4 điểm bởi GN⁺ 2025-09-11 | 1 bình luận | Chia sẻ qua WhatsApp
  • Apple đã giới thiệu Memory Integrity Enforcement (MIE), hoàn thiện một cơ chế an toàn bộ nhớ mang tính đột phá bằng cách kết hợp phần cứng silicon tự thiết kế với bảo mật hệ điều hành tiên tiến
  • MIE luôn được bật để bảo vệ các bề mặt tấn công cốt lõi, và được áp dụng cho toàn bộ thiết bị iPhone 17 và iPhone Air mà không làm giảm hiệu năng
  • Bằng cách kết hợp Enhanced Memory Tagging Extension (EMTE), trình cấp phát bộ nhớ an toàn và chính sách bảo mật thẻ, hệ thống này làm tăng đáng kể khả năng chống chịu trước các cuộc tấn công độc hại
  • Nhờ kiểm tra thẻ đồng bộ và sự tích hợp tinh vi giữa hệ điều hành với phần cứng, khả năng chặn lỗ hổng tràn bộ đệm và use-after-free được tối đa hóa
  • Thông qua nhiều năm nghiên cứu tấn công chủ động và đánh giá nội bộ, Apple đã hạn chế không gian hành động của kẻ tấn công và đạt được mức an toàn bộ nhớ mạnh nhất ở thời điểm hiện tại

Giới thiệu

  • Memory Integrity Enforcement (MIE) của Apple là công nghệ bảo vệ an toàn bộ nhớ luôn hoạt động, tích hợp phần cứng Apple Silicon với bảo mật hệ điều hành nâng cao
  • Công nghệ này được phát triển với mục tiêu cung cấp một cơ chế an toàn bộ nhớ diện rộng đầu tiên trong ngành trên nhiều thiết bị Apple mà không có thêm suy giảm hiệu năng
  • Apple đánh giá đây là bước tiến quan trọng nhất trong lịch sử an toàn bộ nhớ của hệ điều hành tiêu dùng

Bối cảnh đe dọa bảo mật và sự tiến hóa của an toàn bộ nhớ

  • Lý do iPhone chưa có trường hợp thành công nào về tấn công malware quy mô lớn là vì các mối đe dọa thực tế được quan sát chủ yếu là những chuỗi tấn công phức tạp xoay quanh mercenary spyware (phần mềm gián điệp đánh thuê)
  • Những cuộc tấn công tinh vi này (nhắm vào số ít mục tiêu với chi phí lên tới hàng triệu USD) có điểm chung là khai thác lỗ hổng an toàn bộ nhớ
  • Apple đã liên tục cải thiện an toàn bộ nhớ thông qua việc phát triển ngôn ngữ an toàn như Swift, đưa vào trình cấp phát bộ nhớ an toàn và triển khai các biện pháp giảm thiểu trên quy mô toàn hệ thống
  • Apple là hãng đầu tiên trên thế giới đưa Pointer Authentication Code (PAC) vào A12 Bionic, qua đó xác lập xu hướng bảo mật kết hợp phần cứng-phần mềm

Công nghệ gắn thẻ bộ nhớ dựa trên phần cứng (MTE/EMTE) và việc vượt qua các giới hạn

  • Memory Tagging Extension (MTE) do Arm đề xuất hoạt động bằng cách gán một thẻ bí mật cho mỗi lần cấp phát bộ nhớ, và chỉ cho phép truy cập khi thẻ phù hợp
  • Apple phát hiện các nhược điểm trong thiết kế gốc của MTE (chẳng hạn hoạt động bất đồng bộ) và đã hợp tác với Arm để cải tiến thành Enhanced Memory Tagging Extension (EMTE)
  • Điểm cốt lõi là hệ thống được thiết kế để kiểm tra thẻ theo cơ chế luôn đồng bộ, nhằm cung cấp khả năng bảo vệ liên tục

Cấu trúc nhiều lớp của MIE và các cơ chế bảo vệ chính

  • MIE gồm ba thành phần: trình cấp phát an toàn có nhận biết kiểu dữ liệu như kalloc_type, xzone malloc, libpas của WebKit; EMTE; và chính sách Tag Confidentiality Enforcement (bảo vệ tính bí mật của thẻ)
  • Trình cấp phát cung cấp bảo vệ ở cấp trang bộ nhớ giữa các kiểu dữ liệu khác nhau, còn EMTE xử lý cả những lỗ hổng trong các cấp phát bộ nhớ nhỏ nằm trong cùng một bucket kiểu dữ liệu
  • Với các dạng tấn công hỏng bộ nhớ phổ biến như tràn bộ đệm và use-after-free, phần cứng và hệ điều hành sẽ dùng cơ chế gắn thẻ và gắn thẻ lại để phát hiện và chặn ngay lập tức

Bảo mật thẻ và chiến lược đối phó tấn công kênh kề (side-channel)

  • Để ngăn kẻ tấn công nhắm vào vùng lưu trữ của trình cấp phát và làm lộ thẻ, Apple đã đưa vào các cơ chế bảo vệ mạnh như Secure Page Table Monitor
  • Để phòng vệ trước các tấn công kênh kề lợi dụng speculative execution, Apple Silicon được thiết kế để ngăn chặn từ gốc ảnh hưởng của speculative execution phát sinh từ thông tin thẻ
  • Lỗ hổng Spectre V1 cũng được chặn theo cách hiệu quả, giúp cắt đứt mắt xích khai thác thực tế trong phần lớn trường hợp

Ứng phó tích hợp phần mềm-phần cứng và khả năng áp dụng rộng rãi

  • Khi thiết kế chip A19/A19 Pro mới, Apple đã bổ sung một lượng lớn tài nguyên phần cứng để lưu trữ và xác thực thẻ
  • MIE ưu tiên sử dụng trình cấp phát an toàn để bao bọc bằng phần mềm những khu vực có thể bảo vệ theo cách này, trong khi EMTE được áp dụng có chọn lọc, chính xác vào những vùng mà phần mềm không thể phòng vệ
  • Phương án triển khai cũng được tinh chỉnh để các mẫu iPhone cũ có thể nhận được nhiều cải thiện về an toàn bộ nhớ nhất có thể

Đánh giá bảo mật thực chiến và phân tích hiệu quả

  • Nhóm nghiên cứu tấn công của Apple trong giai đoạn 2020~2025 đã xây dựng nhiều kịch bản tấn công khác nhau ngay từ lúc lập kế hoạch MIE, và lặp lại các nỗ lực xâm nhập thực tế cả trên nguyên mẫu phần cứng
  • Trên cả chuỗi khai thác cũ lẫn mới, Apple xác nhận rằng khi áp dụng MIE thì phần lớn các bước tấn công đều bị phong tỏa từ gốc
  • Ngay cả số ít lỗ hổng còn tồn tại cũng không thể bị khai thác ổn định, làm giảm mạnh khả năng gây hại thực tế

Kết luận

  • Mức độ bảo mật hàng đầu ngành của iPhone giúp hạn chế ngay từ đầu việc người dùng bị phơi nhiễm trước các cuộc tấn công cấp hệ thống
  • MIE vô hiệu hóa những chiến lược tấn công phức tạp và tốn kém nhất của phần mềm gián điệp đánh thuê, đồng thời luôn bảo vệ hơn 70 tiến trình không gian người dùng quan trọng, bao gồm cả kernel
  • Kết quả đánh giá cho thấy MIE làm tăng mạnh chi phí và độ khó khi khai thác lỗ hổng hỏng bộ nhớ, qua đó ngăn chặn vững chắc kỹ thuật tấn công chủ đạo trong 25 năm qua
  • MIE trở thành thay đổi lớn nhất trong lịch sử an toàn bộ nhớ của hệ điều hành tiêu dùng trên iOS và các thiết bị Apple

1 bình luận

 
GN⁺ 2025-09-11
Ý kiến trên Hacker News
  • Cả hai cách tiếp cận đều đi đến cùng một kết luận. Memory Integrity Enforcement (MIE) về cơ bản chặn phần lớn các chiến lược khai thác mà kẻ tấn công có thể sử dụng. Các lỗi hỏng bộ nhớ vốn có thể thay thế cho nhau, nhưng MIE chặn quá nhiều đường khai thác ngay từ các bước cơ bản đến mức không thể khôi phục chuỗi khai thác chỉ bằng cách thay bằng lỗi mới. Dù cố gắng đến đâu cũng không thể tái dựng một chuỗi vượt qua được. Một vài hiệu ứng còn sót lại cũng không đủ độ tin cậy để kẻ tấn công khai thác thành công. Đây là tin rất tốt và là điểm quan trọng dù thoạt nhìn có thể dễ bị bỏ qua. Một phần của mô hình kinh tế spyware kiểu lính đánh thuê phụ thuộc vào các chuỗi có thể thay thế cho nhau, nên biện pháp phòng vệ nhắm trực tiếp vào đặc tính đó đặc biệt thú vị
    • Tôi tự hỏi liệu chiến lược của Apple có phải là một bước tiến tới an toàn bộ nhớ hoàn toàn dựa trên capability như CHERI (tham khảo: Capability Hardware Enhanced RISC Instructions), hay nên xem đây là tín hiệu cho thấy Apple cho rằng không cần đến một hệ thống như vậy cũng đã đủ
    • Tôi cũng muốn giới thiệu cách tiếp cận an toàn bộ nhớ của Google như một đối ứng với trường hợp của Apple. Google đã nghiêm túc với an toàn bộ nhớ từ những ngày đầu của Chrome/Android, đồng thời dẫn dắt việc đưa vào ASAN, syzkaller và Hardware MTE. Tôi từng là người chịu trách nhiệm dẫn dắt các nhóm như vậy nên đã trực tiếp trải nghiệm nhiều ưu và nhược điểm. Điều Google muốn làm là cho phép bật và tắt mức kiểm chứng kiểu ASAN khi cần. Việc luôn bật như một biện pháp giảm thiểu bảo mật có nhiều vấn đề ngoài overhead bộ nhớ. Ví dụ, nó dẫn đến rất nhiều crash mà người dùng nhìn thấy, nhưng lại không nhất quán trên mọi thiết bị. Từ góc nhìn của nhà phát triển, họ chỉ có thể kiểm thử đúng cách trên khoảng 1 triệu thiết bị hỗ trợ MTE nên việc bất mãn là điều khó tránh. MTE bắt được cả các khai thác bảo mật lẫn rất nhiều lỗi vô hại. Tuy nhiên, chưa rõ nó có luôn là lựa chọn tốt nhất cho runtime mitigation hay không. Google Security, Project Zero và các nhóm khác đã bỏ rất nhiều công sức để xử lý các CSV, nhưng tôi cảm thấy trụ sở chính lại làm chưa tốt trong việc productize MTE (liên kết)
    • Có thể đây không phải tin tốt cho Vigilant Labs, nhưng chưa chắc họ thực sự bị ảnh hưởng lớn
  • Tôi cho rằng tuyên bố của Apple rằng “các biện pháp bảo vệ an toàn bộ nhớ nhất định phải luôn được bật đồng bộ, theo mặc định và hoạt động liên tục” đến từ kinh nghiệm hơn là sự giáo điều. Điều này khác với các biện pháp bảo vệ kernel ban đầu. Kernel Patch Protection (KPP), được giới thiệu trong iOS 9 năm 2015, kiểm tra kernel có bị sửa đổi hay không theo kiểu bất đồng bộ vài phút một lần, khi thiết bị rảnh. Cách này không thật sự đáng tin cậy về mặt bảo mật, và do lỗi thiết kế nên đã có các bản hack vượt qua hoàn toàn được công bố. KPP không ngăn patch kernel từ đầu mà chỉ gây panic khi bị phát hiện. Nói cách khác, nếu kẻ tấn công hoàn thành công việc đủ nhanh rồi hoàn nguyên lại thì KPP sẽ không phát hiện được (xem writeup)
    • Theo thông tin nội bộ, KPP được làm gấp vào thời điểm KTRR của A11 được đưa vào để cố ý đạt mức bảo mật tương đương phần nào trên các SoC A11. Nó được triển khai theo cách tốt nhất có thể trong khung thời gian ngắn như vậy, và sau đó họ không lặp lại kiểu tiếp cận này nữa
    • Có vẻ không phải là chuẩn bị sẵn theo nguyên tắc ngay từ đầu, mà là họ đi đến kết luận này trong lần hoạch định đầu tiên cho việc đưa MTE vào. Mức độ bảo mật của Apple vẫn đang tăng đều, và phía sau đó là rất nhiều bài học bị ép phải học từ jailbreak và những thứ tương tự
    • Tôi đồng ý rằng rất khó để triển khai hoàn hảo những hệ thống như thế này ngay từ đầu
  • Apple nói rằng “không có các cuộc tấn công malware thành công và trên diện rộng nhằm vào iPhone”, nhưng tôi nghĩ chỉ cần chỉnh sửa nhẹ mã spyware hiện có là có thể dùng ngay cho tấn công quy mô lớn. Trên thực tế, ranh giới này không hề rõ ràng như vậy
    • Trên thực tế, cả Apple lẫn Google đều không thể nắm hoàn toàn quy mô tấn công thực tế. Theo các tài liệu rò rỉ được GrapheneOS công bố, các nhà phát triển exploit giỏi tấn công thiết bị và thích ứng với bản cập nhật hơn nhiều so với mọi người nghĩ. Họ còn có thêm tài liệu chưa công bố, và để tránh lộ đường rò rỉ, họ chỉ chia sẻ một phần trừ khi có thể được xác minh từ nhiều nguồn độc lập. Những công cụ exploit như vậy có thể được sử dụng rộng rãi, và thậm chí còn khó phân biệt đó là trích xuất dữ liệu thông thường hay khai thác từ xa. Trong thực tế, exploit hiếm khi bị phát hiện, và phần lớn có thể được dùng ở quy mô lớn mà không bị phát hiện, nên chỉ một chuỗi duy nhất cũng có giá trị lâu dài. Các cơ quan thực thi pháp luật trên toàn thế giới đang sử dụng những công cụ như Cellebrite Premium để áp dụng cho rất nhiều người tại biên giới, hiện trường biểu tình và các nơi khác. Điều đó đã là sử dụng ở quy mô lớn. Với exploit từ xa, ngay cả khi được dùng rộng rãi thì cũng không nhất thiết phải phân phối rộng rãi
    • XcodeGhost là ví dụ tiêu biểu về một cuộc tấn công malware quy mô lớn trên iPhone. Khi đó WeChat và các ứng dụng khác đã bị nhiễm. Tài liệu tham khảo: Wikipedia về XcodeGhost
    • Dù chưa chắc nó thực sự có thể được dùng cho các cuộc tấn công quy mô lớn, nhưng nếu mức độ phơi bày cao như Windows thì có lẽ đã có nhiều trường hợp hơn
    • Câu chữ đó có thể chủ yếu nhằm nhấn mạnh ưu thế của mô hình kiểm soát riêng của họ khi so với Android
    • Dù mang màu sắc ngôn ngữ kiểu luật sư, việc Apple lần này đưa ra tài liệu rất chi tiết và thông điệp đầy tự tin về các công nghệ mới như MIE vẫn là điều tích cực cho tất cả chúng ta
  • Hệ thống lần này chắc chắn rất ấn tượng. Tuy nhiên, nếu kẻ tấn công có thể thử lại nhiều lần thì phòng vệ có thể chưa đủ. Ví dụ, nếu có thể truy cập vượt ra ngoài tới cả các đối tượng không liền kề, hoặc nếu sau nhiều lần thao túng cấp phát bộ nhớ mà vô tình trùng tag thì vẫn có thể vượt qua. Xác suất trùng tag là 1/16. Tuy vậy, vì bài gốc không giải thích chi tiết nên tôi không chắc dự đoán của mình có đúng hay không. Nếu được áp dụng thành công, các exploit còn lại sẽ phải dựa vào lỗi logic nên sẽ khó hơn rất nhiều cho kẻ tấn công
    • Tương tự trên Android MTE, cũng từng có thể thực hiện các cuộc tấn công xác suất nhắm vào vấn đề kích thước tag nhỏ bằng cách thử đi thử lại. Tuy nhiên, điểm khác biệt quan trọng ở đây là enforcement đồng bộ nhất quán mới là cốt lõi. Tức là trap xuất hiện ngay tại từng lần thao túng ghi bộ nhớ, chứ không phải vào lúc context switch
    • Trong 15/16 lần thử ngoài xác suất 1/16 đó, tất cả đều gây crash. Những lỗi không ổn định như vậy rất dễ bị người dùng hoặc hệ thống chẩn đoán phát hiện, và nếu phải nối nhiều bước đều thành công thì về mặt xác suất gần như không thể khai thác thực tế
    • Với các cuộc tấn công cấp quốc gia xâm nhập trong thời gian dài như tấn công chuỗi cung ứng, những biện pháp phòng vệ như vậy có thể không áp dụng được
  • Mô hình của Apple/ARM chắc chắn tinh vi hơn nhiều, nhưng nó khiến tôi liên tưởng đến kiến trúc memory tagging của Burroughs large system (tham khảo)
  • Ở phần giải thích rằng “kẻ tấn công không được đoán được giá trị tag mà hệ thống chọn. Để làm điều đó, hệ thống thường xuyên reseed PRNG để tạo tag mới”, vấn đề gốc nằm ở entropy thấp của tag (chỉ 4 bit). Nếu kẻ tấn công đoán ngẫu nhiên thì xác suất thành công là 1/16, và việc reseed PRNG không làm thay đổi xác suất đó. Có vẻ cần thêm giải thích
    • Kẻ tấn công chỉ có đúng một cơ hội để đoán. Nếu sai thì tiến trình bị kết thúc hoặc kernel bị panic. Khi thử lại lần sau sẽ là một tag mới, nên phải đoán lại từ đầu và không thể thử liên tiếp
    • 4 bit thì số khả năng là quá ít. Việc cấp phát bộ nhớ xảy ra hàng triệu lần mỗi giây, nên ngay cả khi reseed thường xuyên thì khả năng va chạm cũng tăng rất nhanh
  • Điểm mạnh lớn nhất của dòng thiết bị lần này chính là tính năng mới này
  • Nếu các chính sách như chat control của EU được triển khai thì nhà nước có thể truy cập mọi thứ họ muốn trên thiết bị của tôi, và nếu Google ép buộc WEI thì toàn bộ web có thể bị khóa lại. Khi secure boot và MIE được đưa vào, người dùng có thể sẽ khó giành lại những quyền tự do vốn có hơn
    • Nói cách khác, để giữ được những quyền tự do đó, có lẽ sẽ phải tách hệ thống và dịch vụ ra nhiều hơn nữa theo hướng phân mảnh
    • Tôi tự hỏi liệu ở đây có bao hàm sự bất mãn rằng việc tăng cường MIE sẽ hạn chế tự do của người dùng như jailbreak hay không
    • Tôi cũng tò mò WEI là gì
  • Việc Google cung cấp MTE theo kiểu opt-in vào năm ngoái là một bước đầu tốt, nhưng vì thiếu tích hợp hoàn chỉnh nên khác với MIE dựa trên EMTE mà Apple nhấn mạnh. Việc Apple đưa vào hệ thống an toàn bộ nhớ toàn diện, luôn bật đầu tiên trong ngành cùng với iPhone 17 và Air là điều rất ấn tượng. Dù đáng tiếc là những nỗ lực đi đầu của GrapheneOS (ví dụ bản phát hành, nâng cao nhận thức) chưa được ghi nhận đúng mức, tôi vẫn hy vọng nỗ lực nghiêm túc của Apple sẽ nhanh chóng lan sang Google, Pixel OS và nhiều hệ điều hành bảo mật khác. Điều này một lần nữa khẳng định GrapheneOS là bên dẫn đầu về hệ thống phòng vệ cả trước các mối đe dọa chưa được biết đến
    • Apple đã chuẩn bị cho lĩnh vực này trong thời gian rất dài. Đây không phải là thứ bắt đầu từ thời điểm GrapheneOS kích hoạt nó
  • Có câu rằng “năm 2018, Apple là hãng đầu tiên trong ngành áp dụng Pointer Authentication Codes (PAC) trên chip A12 Bionic để bảo vệ tính toàn vẹn của luồng mã”, nhưng sau khi PAC được đưa vào vẫn đã có nhiều trường hợp tấn công full-chain. PAC không phải là biện pháp răn đe tấn công có ý nghĩa. Kẻ tấn công vẫn liên tục tìm ra cách vượt PAC. Cần tính đến điều này khi đánh giá hiệu quả thực tế của MIE
    • Thực ra Apple không gọi PAC là biện pháp răn đe tấn công, mà nói thành quả là “tăng độ phức tạp của exploit”. Câu chữ tự nó có phần mơ hồ, nhưng cách tôi đọc là Apple thừa nhận chỉ PAC thôi là chưa đủ và cần một cách tiếp cận kết hợp SW/HW. Bản thân PAC cũng là tính năng phần cứng đòi hỏi thay đổi phần mềm, nhưng EMTE là công nghệ có phạm vi và mức độ phối hợp còn rộng hơn nhiều
    • Không phải PAC là vô nghĩa, mà ngược lại nó đóng vai trò như chất xúc tác buộc kẻ tấn công phải tìm ra cách vượt PAC. Các cách vượt PAC không phải là vô hạn
    • Việc PAC đã bị vượt qua nhiều lần không có nghĩa là nó vô hiệu, mà ngược lại cho thấy nó đang hoạt động hiệu quả