➔ Trở về Trang chủ
OrangeCloud Insights
Security••⏱️ 3 phút đọc•Biên tập: OrangeCloud Insights (AI-assisted)•Nguồn: security.googleblog.com – Edward Fernandez

Tăng cường bảo mật GPU trên Android với SELinux

Tóm tắt kỹ thuật (TL;DR)

"Google's Android Security Team partnered with Arm to harden the Mali GPU driver by reducing its attack surface. The approach focuses on restricting access to unnecessary IOCTLs (Input/Output Control calls) through SELinux policies, categorizing them as unprivileged, instrumentation, or restricted. A staged rollout, starting with opt-in and moving to opt-out policies, minimizes disruption to legitimate applications."

🛡️ Tác động Bảo mật7/10

Việc giảm bề mặt tấn công của GPU giúp giảm thiểu rủi ro khai thác lỗ hổng và bảo vệ dữ liệu người dùng. Các cuộc tấn công GPU có thể dẫn đến lỗi bộ nhớ và mất quyền kiểm soát hệ thống.

💼 Tác động Vận hành6/10

Các nhà phát triển ứng dụng Android cần cập nhật ứng dụng của họ để tương thích với các chính sách SELinux mới. Việc không tuân thủ có thể dẫn đến lỗi ứng dụng hoặc mất quyền truy cập vào các tính năng GPU. Các công ty bảo mật có thể cung cấp dịch vụ kiểm tra và đánh giá để đảm bảo tuân thủ.

Google và Arm hợp tác để tăng cường bảo mật GPU Mali trên Android bằng cách giảm diện tích tấn công. Họ sử dụng chính sách SELinux để hạn chế quyền truy cập vào các lệnh IOCTL (Input/Output Control) không cần thiết, phân loại chúng thành không đặc quyền, công cụ giám sát hoặc hạn chế.

Việc này quan trọng vì GPU đang trở thành mục tiêu tấn công chính, chiếm đa số các lỗ hổng kernel driver trên Android kể từ năm 2021. Các cuộc tấn công thường nhắm vào giao diện giữa driver chế độ người dùng (UMD) và driver chế độ kernel (KMD), nơi các lỗi có thể dẫn đến lỗi bộ nhớ.

Cách tiếp cận này tập trung vào việc hạn chế các IOCTL không cần thiết cho hoạt động bình thường. Các IOCTL được phân loại: không đặc quyền (cần thiết), công cụ giám sát (dành cho nhà phát triển) và hạn chế (không dùng trong sản xuất hoặc đã lỗi thời). Mục tiêu là chặn quyền truy cập vào các IOCTL lỗi thời và gỡ lỗi trong môi trường sản xuất.

Google triển khai theo từng giai đoạn: bắt đầu với chính sách "opt-in" (chỉ áp dụng cho một số ứng dụng hệ thống để kiểm tra), sau đó chuyển sang "opt-out" (tất cả ứng dụng được bảo vệ, nhà phát triển có thể tắt bằng cách chạy trên thiết bị root, đặt android:debuggable="true" trong manifest hoặc yêu cầu loại trừ trong chính sách SELinux). Tài liệu chính thức về macro và chính sách SELinux có tại SELinux Hardening Macro: GPU Syscall Filtering và Android Security Change: Android 16 Behavior Changes.

Câu hỏi thường gặp

IOCTL là gì?

IOCTL (Input/Output Control) là các lệnh mà driver kernel GPU sử dụng để giao tiếp với ứng dụng. Chúng đóng vai trò là bề mặt tấn công tiềm năng, vì vậy việc hạn chế quyền truy cập vào chúng có thể tăng cường bảo mật.

Chính sách 'opt-in' và 'opt-out' khác nhau như thế nào?

Chính sách 'opt-in' chỉ áp dụng các hạn chế bảo mật cho một số ứng dụng hệ thống được chọn để kiểm tra. Chính sách 'opt-out' áp dụng các hạn chế cho tất cả ứng dụng, nhưng cho phép nhà phát triển tắt chúng nếu cần.

Làm thế nào nhà phát triển có thể tắt các hạn chế bảo mật?

Nhà phát triển có thể tắt các hạn chế bằng cách chạy ứng dụng trên thiết bị root, đặt thuộc tính android:debuggable="true" trong tệp manifest của ứng dụng hoặc yêu cầu loại trừ trong chính sách SELinux.

Góc nhìn của Orange Cloud

Theo chúng tôi, việc giảm diện tích tấn công GPU là một bước đi quan trọng để tăng cường bảo mật cho các thiết bị Android. Các doanh nghiệp Việt Nam phát triển ứng dụng Android nên xem xét các thay đổi này để đảm bảo ứng dụng của họ tương thích với các chính sách bảo mật mới. Điều đáng chú ý là việc triển khai theo từng giai đoạn giúp giảm thiểu rủi ro gián đoạn cho người dùng cuối.

Xem nguồn tin gốc để kiểm tra kỹ hơn các thông số kỹ thuật:Xem nguồn tin gốc ➔