Tháng 6/2023, các nhà nghiên cứu của Kaspersky đã phát hiện một chiến dịch tấn công APT nhắm mục tiêu vào các thiết bị iOS. Với tên gọi là Operation Triangulation, chiến dịch này sử dụng một phương pháp tinh vi để thực hiện các hoạt động khai thác zero-click thông qua ứng dụng iMessage, từ đó phân phối tệp đính kèm độc hại có thể giành quyền kiểm soát hoàn toàn đối với dữ liệu người dùng và thiết bị, với mục tiêu nhắm vào các nhà ngoại giao và các quan chức chính phủ.
Để có góc nhìn tổng quan về chiến dịch tấn công Operation Triangulation, dưới đây là nội dung khái quát về cuộc tấn công iMessage zero-click. Cuộc tấn công này sử dụng bốn lỗ hổng zero-day, bao gồm CVE-2023-32434, CVE-2023-32435, CVE-2023-38606, CVE-2023-41990 và được thiết kế để hoạt động trên các phiên bản iOS lên đến phiên bản 16.2.
Hình 1. Chuỗi tấn công trong chiến dịch Operation Triangulation
Các mẫu iPhone gần đây có tính năng bảo mật dựa trên phần cứng bổ sung cho các vùng nhạy cảm của bộ nhớ kernel. Tính năng này ngăn chặn kẻ tấn công có được toàn quyền kiểm soát thiết bị nếu chúng có thể đọc và ghi bộ nhớ kernel, như đã đạt được trong cuộc tấn công này bằng cách khai thác lỗ hổng CVE-2023-32434. Kaspersky phát hiện rằng để vượt qua biện pháp bảo mật dựa trên phần cứng này, những kẻ tấn công đã sử dụng một tính năng phần cứng khác của SoC do Apple thiết kế.
Nếu cố gắng mô tả tính năng này và cách những kẻ tấn công lợi dụng nó, thì có thể mô tả như sau: Tin tặc có thể ghi dữ liệu vào một địa chỉ vật lý nhất định trong khi vượt qua cơ chế bảo vệ bộ nhớ dựa trên phần cứng bằng cách ghi dữ liệu, địa chỉ đích và băm dữ liệu vào các thanh ghi phần cứng không xác định của chip mà firmware không sử dụng.
Các nhà nghiên cứu nhận định rằng tính năng phần cứng không xác định này rất có thể được các kỹ sư hoặc nhà máy của Apple sử dụng cho mục đích gỡ lỗi, thử nghiệm hoặc tính năng này được đưa vào do sự nhầm lẫn.
Các thiết bị ngoại vi khác nhau có sẵn trong SoC có thể cung cấp các thanh ghi phần cứng đặc biệt mà CPU có thể sử dụng để vận hành các thiết bị này. Để điều này hoạt động, các thanh ghi phần cứng được ánh xạ tới bộ nhớ mà CPU có thể truy cập được và được gọi là “memory-mapped I/O (MMIO)”.
Phạm vi địa chỉ cho MMIO của thiết bị ngoại vi trong các sản phẩm của Apple (iPhone, Mac và các thiết bị khác) được lưu trữ ở định dạng tệp đặc biệt: Device Tree - DT (đây là một tệp mô tả phần cứng, có kiểu định dạng giống JSON và mô tả một cấu trúc cây). Các tệp DT có thể được trích xuất từ firmware và có thể xem nội dung của chúng.
Hình 2. Ví dụ về cách lưu trữ phạm vi MMIO trên thiết bị
Khi phân tích cách khai thác được sử dụng trong cuộc tấn công Operation Triangulation, các nhà nghiên cứu phát hiện ra rằng hầu hết các MMIO được kẻ tấn công sử dụng để vượt qua tính năng bảo vệ bộ nhớ kernel dựa trên phần cứng không thuộc bất kỳ phạm vi MMIO nào được xác định trong DT. Việc khai thác nhắm vào các SoC Bionic Apple A12-A16, nhắm mục tiêu các khối đăng ký MMIO không xác định được đặt tại các địa chỉ sau: 0x206040000, 0x206140000 và 0x206150000.
Các nhà nghiên cứu nhận ra rằng nên kiểm tra xem những MMIO nào đã biết khác nằm ở khu vực gần các khối MMIO chưa biết này. Cách tiếp cận đó đã thành công. Hình 3 thể hiện kết quả kết xuất (dump) DT cho gfx-asc, đó là GPU coprocessor.
Hình 3. Kết xuất (dump) DT cho gfx-asc
Nó có hai phạm vi MMIO: 0x206400000-0x20646C000 và 0x206050000-0x206050008.
Hình 4. Mối tương quan giữa phạm vi MMIO gfx-asc và các địa chỉ được sử dụng bởi kẻ tấn công
Nói chính xác hơn, việc khai thác sử dụng các địa chỉ không xác định sau: 0x206040000, 0x206140008, 0x206140108, 0x206150020, 0x206150040 và 0x206150048. Điều này cho thấy, hầu hết chúng nằm ở khu vực giữa hai vùng gfx-asc và vùng còn lại nằm gần điểm bắt đầu của vùng gfx-asc đầu tiên, dẫn đến việc tất cả các thanh ghi MMIO này rất có thể thuộc về GPU coprocessor.
Sau đó, các nhà nghiên cứu xem xét kỹ hơn cách khai thác và phát hiện một số vấn đề sau. Điều đầu tiên mà việc khai thác thực hiện trong quá trình khởi tạo là ghi vào một số thanh ghi MMIO khác, thanh ghi này nằm ở một địa chỉ khác cho mỗi SoC. Với sự trợ giúp của DT và tiện ích của Siguza, pmgr, các nhà nghiên cứu có thể phát hiện ra rằng tất cả các địa chỉ này đều tương ứng với thanh ghi GFX trong phạm vi MMIO của trình quản lý nguồn.
Hình 5. Mã giả (Pseudocode) cho mã kiểm soát trình quản lý nguồn GFX từ việc khai thác
Cuối cùng, các nhà nghiên cứu đã quyết định thử truy cập vào các thanh ghi nằm ở những vùng không xác định này. Gần như ngay lập tức, GPU coprocessor đưa ra thông báo “GFX SERROR Exception class=0x2f (SError interrupt), IL=1, iss=0 – power(1)”. Bằng cách này, các nhà nghiên cứu có thể xác nhận rằng tất cả các thanh ghi MMIO không xác định được sử dụng để khai thác đều thuộc về GPU coprocessor.
Các nhà nghiên cứu của Kaspersky quyết định xem xét kỹ hơn cách khai thác vận hành các thanh ghi MMIO không xác định này. Thanh ghi 0x206040000 nổi bật so với tất cả các thanh ghi còn lại vì nó nằm trong một khối MMIO riêng biệt với tất cả các thanh ghi khác. Nó chỉ được chạm vào trong giai đoạn khởi tạo và hoàn thiện quá trình khai thác, đây là thanh ghi đầu tiên được thiết lập trong quá trình khởi tạo và là thanh ghi cuối cùng trong quá trình hoàn thiện.
Sau đó, các nhà nghiên cứu đã có thể nhận ra thanh ghi không xác định này là 0x206040000, đồng thời phát hiện ra chính xác những gì được ánh xạ tới dải địa chỉ 0x206000000–0x206050000.
Hình 6. Mã giả để sử dụng thanh ghi 0x206040000 bằng cách khai thác
Các nhà nghiên cứu đã có thể so khớp hàm ml_dbgwrap_halt_cpu từ mã giả ở trên với một hàm có cùng tên trong tệp dbgwrap.c của mã nguồn XNU. Tệp này chứa mã để làm việc với các thanh ghi gỡ lỗi ARM CoreSight MMIO của CPU chính. Mã nguồn cho biết có bốn vùng MMIO liên quan đến CoreSight, được đặt tên là ED, CTI, PMU và UTT. Mỗi vùng chiếm 0x10000 byte và tất cả chúng đều nằm cạnh nhau.
Hàm ml_dbgwrap_halt_cpu sử dụng vùng UTT và mã nguồn cho biết, không giống như ba hàm còn lại, nó không đến từ ARM mà là một tính năng độc quyền của Apple được thêm vào chỉ để thuận tiện.
Các nhà nghiên cứu có thể xác nhận rằng 0x206000000–0x206050000 thực sự là một khối thanh ghi gỡ lỗi CoreSight MMIO cho GPU coprocessor bằng cách ghi ARM_DBG_LOCK_ACCESS_KEY vào vị trí tương ứng. Mỗi core của CPU chính có khối thanh ghi gỡ lỗi CoreSight MMIO riêng, nhưng không giống như GPU coprocessor, địa chỉ của chúng có thể được tìm thấy trong DT.
Tiến hành xem xét các thanh ghi chưa biết còn lại được sử dụng bởi kẻ tấn công, các thanh ghi 0x206140008 và 0x206140108 kiểm soát việc bật/tắt và chạy tính năng phần cứng được kẻ tấn công sử dụng.
Hình 7. Mã giả để sử dụng các thanh ghi 0x206140008 và 0x206140108 bằng cách khai thác
Thanh ghi 0x206150020 chỉ được sử dụng cho SoC Apple A15/A16 Bionic. Nó được đặt thành 1 trong giai đoạn khởi tạo khai thác và thành giá trị ban đầu trong giai đoạn hoàn thiện. Trong khi đó, thanh ghi 0x206150040 được sử dụng để lưu trữ một số cờ (flag) và phần sau của địa chỉ vật lý đích. Thanh ghi cuối cùng là 0x206150048, được sử dụng để lưu trữ dữ liệu cần ghi và phần trên của địa chỉ vật lý đích, được nhóm cùng với hàm băm dữ liệu và một giá trị khác (có thể là một lệnh). Tính năng phần cứng này ghi dữ liệu theo các khối 0x40 byte và mọi thứ được ghi vào thanh ghi 0x206150048 trong chín lần ghi liên tiếp.
Hình 8. Mã giả để sử dụng các thanh ghi 0x206150040 và 0x206150048 bằng cách khai thác
Điều kiện là mọi thứ được thực hiện chính xác, phần cứng sẽ thực hiện truy cập trực tiếp bộ nhớ trực tiếp (DMA - Đây là một ᴄơ ᴄhế truуền dữ liệu với tốᴄ độ ᴄao từ ngoại ᴠi tới bộ nhớ và từ bộ nhớ tới bộ nhớ) và ghi dữ liệu vào vị trí được yêu cầu. Như vậy, tất cả công việc với tất cả các thanh ghi MMIO đã được thực hiện, tiến hành xem xét một điều cuối cùng, đó là cách tính băm. Thuật toán được hiển thị qua Hình 9 dưới đây.
Hình 9. Mã giả cho hàm băm được sử dụng bởi tính năng phần cứng không xác định này
Như Hình 9, đây là một thuật toán tùy chỉnh và hàm băm được tính bằng cách sử dụng bảng sbox được xác định trước. Có thể nhận thấy rằng hàm băm này trông không an toàn vì nó chỉ chiếm 20 bit (10+10, vì được tính hai lần), nhưng nó vẫn thực hiện công việc của mình miễn là không ai biết cách tính toán và sử dụng nó.
Qua quá trình phân tích, Kaspersky cho biết còn nhiều vấn đề chưa được giải đáp, không rõ làm thế nào những kẻ tấn công học được cách sử dụng tính năng phần cứng không xác định hoặc mục đích ban đầu của nó là gì. Các nhà nghiên cứu cũng không biết liệu nó được phát triển bởi Apple hay là thành phần của bên thứ ba như ARM CoreSight.
Kaspersky đánh giá các biện pháp bảo vệ dựa trên phần cứng nâng cao sẽ không có tác dụng trước những kẻ tấn công tinh vi, miễn là có các tính năng phần cứng có thể vượt qua các biện pháp bảo vệ đó, qua đó khẳng định sự phức tạp trong chiến dịch Operation Triangulation.
TÀI LIỆU THAM KHẢO [1]. https://securelist.com/operation-triangulation-the-last-hardware-mystery/111669/ |
Hồng Đạt
(Tổng hợp)
13:00 | 13/11/2023
14:00 | 01/11/2023
09:00 | 07/06/2023
10:00 | 22/04/2024
Những ngày gần đây, liên tục các kênh YouTube với lượng người theo dõi lớn như Mixigaming với 7,32 triệu người theo dõi của streamer nổi tiếng Phùng Thanh Độ (Độ Mixi) hay Quang Linh Vlogs - Cuộc sống ở Châu Phi với 3,83 triệu người theo dõi của YouTuber Quang Linh đã bị tin tặc tấn công và chiếm quyền kiểm soát.
10:00 | 20/09/2023
ChatGPT và các mô hình ngôn ngữ lớn (LLM) tương tự đã làm tăng thêm độ phức tạp trong bối cảnh mối đe dọa trực tuyến ngày càng gia tăng. Tội phạm mạng không còn cần các kỹ năng mã hóa nâng cao để thực hiện gian lận và các cuộc tấn công gây thiệt hại khác chống lại các doanh nghiệp và khách hàng trực tuyến nhờ vào bot dưới dạng dịch vụ, residential proxy, CAPTCHA và các công cụ dễ tiếp cận khác. Giờ đây, ChatGPT, OpenAI và các LLM khác không chỉ đặt ra các vấn đề đạo đức bằng cách đào tạo các mô hình của họ về dữ liệu thu thập trên Internet mà LLM còn đang tác động tiêu cực đến lưu lượng truy cập web của doanh nghiệp, điều này có thể gây tổn hại lớn đến doanh nghiệp đó.
15:00 | 04/08/2023
Trong bối cảnh sự phát triển mạnh mẽ của các công nghệ ngày càng được ứng dụng trong hoạt động sản xuất, cùng với ngành công nghiệp dần được chuyển sang tự động hóa, công nghệ thông tin (Information Technology - IT) và công nghệ vận hành (Operational Technology - OT) đang có những bước chuyển mình tích cực. Tuy nhiên, dường như các doanh nghiệp mới chỉ tập trung phát triển một trong hai nền tảng trên, mà chưa chú trọng đến kết hợp, hội tụ cùng một môi trường sản xuất công nghiệp hiện đại. Bài báo sẽ đưa ra các lợi ích của sự hội tụ của hai hệ thống IT và OT.
14:00 | 14/07/2023
Tại hội thảo kỹ thuật trong Triển lãm Truyền thông Không dây Quốc tế (IWCE) 2023, Qualcom giải thích cách 5G có thể làm cho các thành phố an toàn hơn, thông minh hơn và hiệu quả hơn, đồng thời giới thiệu giải pháp 5G sidelink. Bài viết tóm tắt một số tính năng nổi trội của giải pháp này.
Lược đồ chữ ký số dựa trên hàm băm là một trong những lược đồ chữ ký số kháng lượng tử đã được Viện Tiêu chuẩn và Công nghệ Quốc gia Mỹ (NIST) chuẩn hóa trong tiêu chuẩn đề cử FIPS 205 (Stateless Hash Based Digital Signature Standard) vào tháng 8/2023. Bài báo này sẽ trình bày tổng quan về sự phát triển của của lược đồ chữ ký số dựa trên hàm băm thông qua việc phân tích đặc trưng của các phiên bản điển hình của dòng lược đồ chữ ký số này.
09:00 | 01/04/2024
Mới đây, Cơ quan An ninh mạng và Cơ sở hạ tầng Hoa Kỳ (CISA) đã phát hành phiên bản mới của hệ thống Malware Next-Gen có khả năng tự động phân tích các tệp độc hại tiềm ẩn, địa chỉ URL đáng ngờ và truy tìm mối đe dọa an ninh mạng. Phiên bản mới này cho phép người dùng gửi các mẫu phần mềm độc hại để CISA phân tích.
13:00 | 17/04/2024