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
14:00 | 04/03/2024
Ngày nay, tất cả các lĩnh vực trong đời sống xã hội đều có xu hướng tích hợp và tự động hóa, trong đó các giao dịch số là yêu cầu bắt buộc. Do vậy, các tấn công lên thiết bị phần cứng, đặc biệt là các thiết bị bảo mật có thể kéo theo những tổn thất to lớn như: lộ thông tin cá nhân, bị truy cập trái phép hoặc đánh cắp tài khoản ngân hàng,… So với các loại tấn công khác, tấn công kênh kề hiện đang có nhiều khả năng vượt trội. Trong bài báo này, nhóm tác giả sẽ trình bày sơ lược về kết quả thực hành tấn công kênh kề lên mã khối Kalyna trên hệ thống Analyzr của Viện Khoa học - Công nghệ mật mã. Nhóm tác giả đã tấn công thành công và khôi phục đúng 15 byte khóa trên tổng số 16 byte khóa của thuật toán Kalyna cài đặt trên bo mạch Nucleo 64.
10:00 | 05/02/2024
Trong thời đại công nghệ số hiện nay, thiết bị bảo mật đóng vai trò rất quan trọng trong việc bảo vệ các thông tin và dữ liệu nhạy cảm. Tuy nhiên, sự tiến bộ của công nghệ cũng đặt ra các thách thức về an toàn thông tin, trong đó tấn công can thiệp vật lý trái phép thiết bị bảo mật là một trong những mối đe dọa tiềm tàng và gây rủi ro cao. Bài báo này sẽ giới thiệu về các phương pháp tấn công vật lý và một số giải pháp phòng chống tấn công phần cứng cho thiết bị bảo mật.
17:00 | 18/12/2023
Ngày nay, Trí tuệ nhân tạo (AI) hiện diện trong mọi lĩnh vực của đời sống con người, từ kinh tế, giáo dục, y khoa cho đến những công việc nhà, giải trí hay thậm chí là trong quân sự. Học máy là một ứng dụng của trí tuệ nhân tạo cung cấp cho các hệ thống khả năng tự động học hỏi và cải thiện từ kinh nghiệm mà không cần lập trình rõ ràng. Học máy tập trung vào việc phát triển các chương trình máy tính có thể truy cập dữ liệu và sử dụng nó để tự học. Do đó, vấn đề đảm bảo tính riêng tư trong ứng dụng phương pháp học sâu đang là một vấn đề được quan tâm hiện nay.
13:00 | 18/09/2023
Một trong những tham luận thu hút sự quan tâm lớn của giới bảo mật tại Hội nghị bảo mật hàng đầu thế giới Black Hat USA 2023 là tấn công TSSHOCK của nhóm nghiên cứu mật mã đến từ công ty Verichains (Việt Nam). Đáng lưu ý, tấn công này cho phép một node ác ý có thể đánh cắp on-chain tài sản mã hoá giá trị hàng triệu đến hàng tỉ USD trên các dịch vụ này.
Có một số phương pháp để xác định mức độ an toàn của các hệ mật sử dụng độ dài khóa mã (key length) tham chiếu làm thông số để đo độ mật trong cả hệ mật đối xứng và bất đối xứng. Trong bài báo này, nhóm tác giả tổng hợp một số phương pháp xác định độ an toàn của hệ mật khóa công khai RSA, dựa trên cơ sở các thuật toán thực thi phân tích thừa số của số nguyên modulo N liên quan đến sức mạnh tính toán (mật độ tích hợp Transistor theo luật Moore và năng lực tính toán lượng tử) cần thiết để phá vỡ một bản mã (các số nguyên lớn) được mã hóa bởi khóa riêng có độ dài bit cho trước. Mối quan hệ này giúp ước lượng độ an toàn của hệ mật RSA theo độ dài khóa mã trước các viễn cảnh tấn công khác nhau.
08:00 | 04/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