
FORGE Lab phát hiện lỗ hổng bộ nhớ trong Rust
"Microsoft's FORGE Lab identified memory safety issues within Rust's standard library (std and core) using an AI-powered vulnerability scanner named Hyenas. The bugs stem from misplaced trust in unsafe code, despite Rust's safety guarantees, and could impact software relying on these libraries. The findings highlight challenges in writing correct unsafe Rust and the importance of continued vulnerability research."
Các lỗ hổng an toàn bộ nhớ trong thư viện chuẩn Rust có thể dẫn đến lỗ hổng bảo mật trong các ứng dụng sử dụng thư viện này. Việc khai thác các lỗ hổng này có thể cho phép kẻ tấn công thực thi mã tùy ý.
Các lỗi trong thư viện chuẩn Rust có thể gây ra gián đoạn dịch vụ và mất dữ liệu cho các doanh nghiệp sử dụng Rust. Việc khắc phục các lỗi này có thể tốn kém và mất thời gian. Các doanh nghiệp cần đánh giá rủi ro và cập nhật thư viện kịp thời.
Microsoft FORGE Lab phát hiện một số lỗ hổng an toàn bộ nhớ trong thư viện chuẩn (std và core) của Rust, ngay cả khi code được viết hoàn toàn bằng Rust an toàn. Nghiên cứu này sử dụng Hyenas, một hệ thống quét lỗ hổng dựa trên AI của FORGE. Các lỗi này xuất phát từ việc tin tưởng nhầm vào code không an toàn, dù Rust đảm bảo an toàn bộ nhớ.
Điều này quan trọng với các kỹ sư Việt Nam đang sử dụng Rust, vì các thư viện này là nền tảng cho nhiều dự án. Lỗ hổng trong thư viện chuẩn có thể ảnh hưởng đến các ứng dụng phụ thuộc vào chúng.
FORGE Lab xác định ba mẫu lỗi phổ biến: tin tưởng code không gây ra panic, tin tưởng các triển khai do người dùng cung cấp, và tin tưởng hệ thống bên dưới. Rust sử dụng hệ thống kiểu và mô hình sở hữu để ngăn chặn nhiều lỗi bộ nhớ, nhưng thư viện chuẩn vẫn sử dụng code không an toàn. Khi code này không đáp ứng các yêu cầu an toàn, ngay cả Rust an toàn cũng có thể gặp lỗi.
Rust ngày càng phổ biến, được sử dụng trong các dự án lớn như GitHub Copilot, Bun, Android, Linux kernel và Cloudflare. Microsoft cũng sử dụng Rust cho các dự án nội bộ. Do đó, việc đảm bảo an toàn cho thư viện chuẩn là rất quan trọng. FORGE Lab đã báo cáo các lỗi này cho Rust maintainers và đang hợp tác để khắc phục. [OW1] [YB2]
FORGE Lab sử dụng cả kinh nghiệm nghiên cứu lỗ hổng và công cụ hỗ trợ AI như Hyenas để tìm kiếm các lỗi khó phát hiện. Họ đã xác minh các lỗi, đánh giá tác động và làm việc với Rust maintainers để báo cáo và sửa lỗi.
Câu hỏi thường gặp
Hyenas là gì?
Hyenas là hệ thống quét lỗ hổng dựa trên AI do Microsoft FORGE Lab phát triển. Nó được sử dụng để tìm kiếm các lỗi trong code, đặc biệt là trong các thư viện phức tạp như thư viện chuẩn của Rust.
FORGE Lab đã tìm thấy bao nhiêu lỗi?
FORGE Lab đã tìm thấy một số lỗi an toàn bộ nhớ trong thư viện chuẩn của Rust (std và core). Họ đã báo cáo các lỗi này cho Rust maintainers.
Tại sao các lỗi này lại quan trọng?
Các lỗi này quan trọng vì thư viện chuẩn của Rust là nền tảng cho nhiều dự án. Lỗ hổng trong thư viện này có thể ảnh hưởng đến các ứng dụng phụ thuộc vào nó.
Góc nhìn của Orange Cloud
Theo chúng tôi, việc phát hiện các lỗ hổng này cho thấy tầm quan trọng của việc kiểm tra kỹ lưỡng cả code an toàn và không an toàn trong Rust. Các doanh nghiệp Việt Nam sử dụng Rust nên xem xét việc tích hợp các công cụ quét lỗ hổng tự động vào quy trình phát triển của họ. Điều đáng chú ý là, mặc dù Rust cung cấp các đảm bảo an toàn bộ nhớ mạnh mẽ, nhưng vẫn cần cẩn trọng khi sử dụng code không an toàn.