Việc áp dụng Rust khiến lỗi bảo mật bộ nhớ Android giảm xuống dưới 20% lần đầu

Tác giả Starlink, T.M.Một 21, 2025, 09:00:05 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Google tiết lộ rằng việc công ty tiếp tục áp dụng ngôn ngữ lập trình Rust trong Android đã giúp số lượng lỗ hổng bảo mật bộ nhớ giảm xuống dưới 20% tổng số lỗ hổng lần đầu tiên.

"Chúng tôi đã áp dụng Rust vì tính bảo mật của nó và thấy mật độ lỗ hổng bảo mật bộ nhớ giảm 1000 lần so với mã C và C++ của Android. Nhưng điều bất ngờ lớn nhất là tác động của Rust đến việc phân phối phần mềm", Jeff Vander Stoep của Google cho biết. "Với việc các thay đổi của Rust có tỷ lệ khôi phục thấp hơn 4 lần và thời gian kiểm tra mã giảm 25%, con đường an toàn hơn giờ đây cũng đồng thời nhanh hơn."


Sự phát triển này diễn ra hơn một năm sau khi gã khổng lồ công nghệ tiết lộ rằng quá trình chuyển đổi sang Rust đã dẫn đến sự suy giảm các lỗ hổng bảo mật bộ nhớ từ 223 vào năm 2019 xuống dưới 50 vào năm 2024.

Công ty chỉ ra rằng mã Rust cần ít bản sửa đổi hơn, chỉ cần ít hơn khoảng 20% bản sửa đổi so với mã C++ tương ứng và đã góp phần làm giảm tỷ lệ khôi phục, do đó cải thiện thông lượng phát triển tổng thể.

Google cũng cho biết họ đang có kế hoạch mở rộng "lợi thế về bảo mật và năng suất" của Rust sang các phần khác của hệ sinh thái Android, bao gồm hạt nhân, chương trình cơ sở và các ứng dụng độc quyền quan trọng như Nearby Presence, Message Layer Security ( MLS ) và Chromium, có trình phân tích cú pháp cho PNG, JSON và phông chữ web được thay thế bằng các triển khai an toàn cho bộ nhớ trong Rust.

Hơn nữa, báo cáo nhấn mạnh đến nhu cầu về phương pháp phòng thủ chuyên sâu, nêu rằng các tính năng an toàn bộ nhớ tích hợp của ngôn ngữ lập trình chỉ là một phần của chiến lược an toàn bộ nhớ toàn diện.

Ví dụ, Google đã nhấn mạnh việc phát hiện ra lỗ hổng bảo mật bộ nhớ ( CVE-2025-48530, điểm CVSS: 8.1) trong CrabbyAVIF, một trình phân tích cú pháp/giải mã AVIF (Tệp hình ảnh AV1) trong Rust không an toàn, có thể dẫn đến việc thực thi mã từ xa. Mặc dù lỗ hổng tràn bộ đệm tuyến tính chưa bao giờ được phát hành công khai, nhưng Google đã vá nó như một phần của bản cập nhật bảo mật Android cho tháng 8 năm 2025.

Phân tích sâu hơn về lỗ hổng "suýt xảy ra" cho thấy lỗ hổng này không thể khai thác được bằng Scudo, một bộ phân bổ bộ nhớ chế độ người dùng động trong Android được thiết kế để chống lại các lỗ hổng liên quan đến heap, chẳng hạn như tràn bộ đệm, sử dụng sau khi giải phóng và giải phóng kép, mà không ảnh hưởng đến hiệu suất.

Nhấn mạnh rằng Rust không an toàn "thực ra đã khá an toàn", Google cho biết mật độ lỗ hổng thấp hơn đáng kể so với C và C++, đồng thời nói thêm rằng việc đưa khối mã "không an toàn" vào Rust không tự động vô hiệu hóa các kiểm tra an toàn của ngôn ngữ lập trình này.

Báo cáo cho biết: "Mặc dù C và C++ vẫn tồn tại và cả cơ chế bảo mật phần mềm và phần cứng vẫn rất quan trọng đối với phòng thủ nhiều lớp, nhưng quá trình chuyển đổi sang Rust là một cách tiếp cận khác, trong đó con đường an toàn hơn cũng rõ ràng là hiệu quả hơn".