Google: “Việc thay thế C/C++ bằng Rust trong firmware là dễ dàng”
(theregister.com)- Google gần đây đã viết lại firmware cho máy ảo được bảo vệ của Android Virtualization Framework bằng ngôn ngữ Rust, và khuyến nghị rằng nếu bạn làm việc với firmware thì cũng nên làm điều tương tự
- Trong bài viết "Deploying Rust in Existing Firmware Codebases" được đăng trên Google Security Blog, các kỹ sư Android đi sâu vào những chi tiết kỹ thuật của việc thay thế mã C và C++ kế thừa bằng Rust
- "Bạn sẽ thấy việc tăng cường bảo mật bằng một bản thay thế Rust dạng drop-in dễ đến mức nào, đồng thời chúng tôi cũng sẽ trình diễn cách bộ công cụ Rust có thể xử lý các mục tiêu bare-metal đặc thù"
- Từ "dễ" không phải là cách diễn đạt thường thấy đối với một ngôn ngữ lập trình vốn được nói là có "đường cong học tập dốc"
- Việc khiến các nhà phát triển C và C++ nhìn thế giới qua lăng kính Rust cũng không hề dễ
- Một trong các maintainer của dự án Rust for Linux gần đây đã từ chức, với lý do là sự phản kháng từ các nhà phát triển nhân Linux
- Một cộng tác viên của nhân Linux thậm chí đã nói trong một phiên thảo luận trực tiếp tại hội nghị hồi đầu năm nay rằng "không thể ép tất cả chúng tôi phải học Rust"
- Dù vậy, Google vẫn đang thúc đẩy việc sử dụng Rust
- Firmware thiếu các cơ chế bảo mật cấp cao, phần vì chúng thường được viết bằng các ngôn ngữ không an toàn bộ nhớ như C hoặc C++
- Rust cung cấp cách để tránh các lỗi an toàn bộ nhớ như tràn bộ đệm và use-after-free, vốn chiếm phần lớn các lỗ hổng nghiêm trọng trong những codebase lớn
- "Rust cung cấp một lựa chọn thay thế an toàn bộ nhớ cho C và C++, với hiệu năng và kích thước mã tương đương"
- "Ngoài ra, nó còn hỗ trợ khả năng tương tác với C mà không có overhead"
- Sự hậu thuẫn từ chính phủ và các công ty công nghệ
- Gần đây, chính phủ Mỹ với sự hỗ trợ của các công ty công nghệ lớn và sáng kiến phi lợi nhuận (memorysafety.org) đã nhấn mạnh việc viết lại các dự án và thành phần mã nguồn mở quan trọng bằng Rust
- Cơ quan An ninh mạng và Hạ tầng Mỹ (CISA) năm ngoái đã khuyến nghị các nhà cung cấp phần mềm rằng họ nên "coi việc giảm và cuối cùng là loại bỏ các lỗ hổng an toàn bộ nhớ trong dòng sản phẩm là mục tiêu ưu tiên hàng đầu của công ty"
- Google đã sớm bị thuyết phục bởi ý tưởng này và kết luận rằng các nhà phát triển Rust năng suất gấp đôi so với kỹ sư C++
- Việc sử dụng Rust tại Google tiếp tục gia tăng
"Tại Google, chúng tôi đang mở rộng việc sử dụng Rust trong Android, Chromium và các dự án khác để giảm các lỗ hổng an toàn bộ nhớ.
Chúng tôi cam kết hợp tác với hệ sinh thái Rust để thúc đẩy việc áp dụng Rust và cung cấp cho các nhà phát triển tài nguyên và đào tạo mà họ cần,
và công việc đưa Rust vào mảng embedded và firmware này giải quyết thêm một phần quan trọng khác của toàn bộ stack"
1 bình luận
Đã đọc rất kỹ.