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
17:00 | 30/08/2024
Xu hướng sử dụng mạng botnet để thực hiện tấn công DDoS của tin tặc ngày càng tăng cao, dẫn đến lưu lượng truy cập vào trang web tăng đột ngột và làm cho server bị quá tải, gây ra những tổn thất nặng nề cho các doanh nghiệp. Trong bài viết này, tác giả sẽ đưa ra những điểm yếu, lỗ hổng tồn tại trên máy tính của các cơ quan, tổ chức tại Việt Nam dễ bị tin tặc tấn công. Qua đó cũng đề xuất một số khuyến nghị nâng cao cảnh giác góp phần cho công tác phòng chống phần mềm độc hại và chia sẻ dữ liệu mã độc.
09:00 | 13/02/2024
Trong bối cảnh an ninh mạng ngày càng phát triển, các tổ chức liên tục phải đấu tranh với một loạt mối đe dọa trên môi trường mạng ngày càng phức tạp. Các phương pháp an toàn, an ninh mạng truyền thống thường sử dụng các biện pháp bảo vệ thống nhất trên các hệ thống đang tỏ ra kém hiệu quả trước các hình thái tấn công ngày càng đa dạng. Điều này đặt ra một bài toán cần có sự thay đổi mô hình bảo vệ theo hướng chiến lược, phù hợp và hiệu quả hơn thông qua việc Quản lý rủi ro bề mặt tấn công (Attack Surface Risk Management - ASRM).
09:00 | 06/12/2023
Các cuộc chiến tranh giành lãnh địa trên không gian mạng trong tương lai sẽ xuất hiện và gia tăng giữa các nhóm tội phạm mạng khi nhiều đối thủ tập trung vào cùng một mục tiêu. Vừa qua Fortinet đã công bố Báo cáo Dự báo về các mối đe dọa an ninh mạng năm 2024 từ đội ngũ nghiên cứu FortiGuard Labs đưa ra những tác động của AI tới mô hình chiến tranh mạng, đồng thời nhấn mạnh xu hướng các mối đe dọa mới nổi có thể định hình bối cảnh chuyển đổi số trong năm tới và những năm sau.
15:00 | 03/09/2023
Để bảo vệ thông tin dữ liệu được an toàn và tránh bị truy cập trái phép, mã hóa là một trong những cách thức hiệu quả nhất đảm bảo dữ liệu không thể đọc/ghi được, ngay cả trong trường hợp bị xâm phạm. Trong số 1 (065) 2022 của Tạp chí An toàn thông tin đã hướng dẫn về cách mã hóa ổ đĩa cứng sử dụng Bitlocker. Tuy nhiên, với người dùng phiên bản Windows 10 Home thì giải pháp này lại không được hỗ trợ. Bài viết sau sẽ giới thiệu đến độc giả VeraCrypt, một công cụ mã hóa miễn phí đa nền tảng với khả năng hỗ trợ nhiều thuật toán mật mã và hàm băm, cho phép người dùng mã hóa các tệp tin, phân vùng hệ thống và tạo ổ đĩa ảo mã hóa với tùy chọn phù hợp.
Với sự phát triển mạnh mẽ của công nghệ số, số lượng các phần mềm chương trình được công bố ngày càng lớn. Song hành với đó là việc tin tặc luôn tìm cách phân tích, dịch ngược các chương trình nhằm lấy cắp ý tưởng, bẻ khóa phần mềm thương mại gây tổn hại tới các tổ chức, cá nhân phát triển phần mềm. Đặc biệt, trong ngành Cơ yếu có những chương trình có tích hợp các thuật toán mật mã ở mức mật và tối mật thì việc chống phân tích, dịch ngược có vai trò hết sức quan trọng. Do đó, việc phát triển một giải pháp bảo vệ các chương trình phần mềm chống lại nguy cơ phân tích, dịch ngược là rất cấp thiết.
16:00 | 04/08/2024
Hiện nay, chuyển đổi số đã và đang làm thay đổi nền kinh tế, bùng nổ các ứng dụng công nghệ thông tin, nổi bật là các ứng dụng di động giúp nâng cao hiệu quả trong hoạt động công tác tại các tổ chức và doanh nghiệp. Tuy nhiên, việc sử dụng các ứng dụng di động, đặc biệt là các ứng dụng sử dụng trong mạng chuyên dùng cũng đi kèm với các thách thức liên quan đến bảo mật an toàn thông tin, an ninh mạng. Bài báo này trình bày những thách thức, yêu cầu đặt ra và một số giải pháp di động hóa ứng dụng sử dụng trong mạng chuyên dùng có yếu tố bảo mật.
11:00 | 03/09/2024