Android chuyển từ C/C++ sang Rust như thế nào, và những con số thật
Từng bước Android chuyển sang Rust: build Soong, interop bindgen/cxx/AIDL, firmware, đào tạo, kèm sơ đồ kiến trúc và số liệu 76% → dưới 20%.
An toàn bộ nhớ: chuyển C/C++ sang Rust, gia cố C++, lỗ hổng bộ nhớ và công cụ bảo mật Rust. · 9 bài
Từng bước Android chuyển sang Rust: build Soong, interop bindgen/cxx/AIDL, firmware, đào tạo, kèm sơ đồ kiến trúc và số liệu 76% → dưới 20%.
Kiến trúc bindings và abstractions, Rust đã chạy ở đâu (Android, Binder) và bài học từ CVE Rust đầu tiên của nhân Linux.
Bật kiểm tra biên trong thư viện chuẩn C++: các chế độ fast/extensive/debug, cách bật, lộ trình triển khai và số liệu thật từ Google.
BackupRefPtr đếm tham chiếu ẩn, cách ly và đầu độc vùng nhớ còn con trỏ treo. Số liệu chi phí thật và bài học khi chưa thể viết lại sang Rust.
Rust an toàn bộ nhớ nhưng crate độc hại vẫn lọt vào. Bộ công cụ RustSec, cargo-deny, cargo-vet và cách đưa vào CI.
Miri phát hiện undefined behavior khi chạy test, cargo-fuzz tự sinh đầu vào gây crash. Cách đưa cả hai vào CI cho code unsafe và FFI.
Số liệu từ Microsoft, Chromium, Android, các kiểu lỗi bộ nhớ (buffer overflow, use-after-free…) và vì sao code cẩn thận hơn hay sandbox không đủ.
Ba quy tắc ownership, borrowing, lifetimes; các lớp bảo vệ khác; số liệu Android (mật độ lỗ hổng giảm ~1000 lần) và giới hạn của unsafe Rust.
Bài học Android: lỗ hổng tập trung ở code mới nên chỉ cần viết code mới bằng Rust; lộ trình 4 bước, khung CISA/NSA, cxx/FFI và dịch tự động bằng AI.
Thử từ khoá khác hoặc bỏ bộ lọc chủ đề.
Theo dõi binhAI qua RSS (Feedly, Inoreader, Slack…) để nhận bài mới ngay khi đăng.