Google đã tích hợp ngôn ngữ Rust vào modem của Pixel 10 để làm cho mã nguồn cũ an toàn hơn.

Tác giả dinhtri 20/04/2026 10 phút đọc

Modem di động là những hộp đen phức tạp chứa đầy mã nguồn cũ, nhưng Google đang làm cho chúng an toàn hơn bằng ngôn ngữ lập trình Rust.

Pixel 10 trong tay

Dòng Pixel 10 được trang bị mã modem an toàn hơn của Google.

Các hệ điều hành điện thoại thông minh hiện đại có vô số cơ chế để cải thiện bảo mật, nhưng tất cả đều vô dụng khi kẻ tấn công nhắm mục tiêu vào modem. Nhóm Project Zero của Google đã chứng minh rằng có thể thực thi mã từ xa trên modem điện thoại Pixel thông qua Internet, điều này đã khiến Google phải đánh giá lại cách bảo mật hệ thống cấp thấp quan trọng này. Giải pháp không phải là viết lại phần mềm modem mà là tích hợp một thành phần dựa trên Rust an toàn hơn vào modem của Pixel 10  .

Modem di động có thể được coi như một hộp đen. Bộ xử lý băng tần cơ sở của điện thoại là một hệ điều hành riêng chạy mã C và C++ cũ, điều này khiến nó trở thành một bề mặt tấn công ngày càng hấp dẫn. Vấn đề cốt lõi là việc quản lý bộ nhớ trong các hệ thống này rất khó khăn và thường dẫn đến mã phần mềm không an toàn về bộ nhớ trên các thiết bị đang hoạt động. Điều đó có thể cho phép kẻ tấn công khai thác các lỗ hổng nghiêm trọng như tràn bộ đệm và rò rỉ bộ nhớ để xâm nhập thiết bị.

Vậy thì điều đó không tốt lắm — tại sao chúng ta vẫn sử dụng những thứ này? Một phần vấn đề nằm ở quán tính của các hệ thống nhúng. Các công ty đã phát triển phần mềm modem dựa trên các thông số kỹ thuật 3GPP trong nhiều thập kỷ, vì vậy hiện tại có rất nhiều nợ kỹ thuật. Modem cũng phải hoạt động trong thời gian thực để gửi và nhận dữ liệu hiệu quả, và mã C/C++ thì nhanh.

Vụ tấn công thử nghiệm modem dựa trên chip Exynos của Google không phải là trường hợp duy nhất. Các nhà nghiên cứu của Project Zero đã xác định được hơn hai chục lỗ hổng bảo mật trong modem Exynos trong những năm gần đây, trong đó 18 lỗ hổng được xếp loại là "nghiêm trọng". Tất nhiên, các vấn đề này đã được vá sau khi phát hiện, nhưng sự phức tạp của mã modem hầu như đảm bảo rằng vẫn còn nhiều lỗ hổng khác tiềm ẩn bên trong, sẵn sàng bị kẻ xấu khai thác.

Đang bị rỉ sét

Để làm cho modem an toàn hơn, cần phải giải quyết những lỗ hổng bộ nhớ này, và Rust là một ứng cử viên tuyệt vời cho việc đó. Tất nhiên, Rust không phải là ngôn ngữ lập trình an toàn bộ nhớ đầu tiên tồn tại. Python, C# và các ngôn ngữ khác cũng có hệ thống quản lý bộ nhớ an toàn hơn, nhưng chúng dựa vào cơ chế thu gom rác để thực hiện điều đó. Cơ chế thu gom rác có thể quét bộ nhớ đang hoạt động trong khi chương trình chạy để tìm và giải phóng bộ nhớ không sử dụng. Điều này an toàn hơn, nhưng nó cũng chậm, và đó là một trở ngại đối với phần mềm firmware modem thời gian thực.

Rust không có bộ thu gom rác chậm chạp. Thay vào đó, nó sử dụng một cơ chế gọi là trình kiểm tra mượn (borrow checker) để đảm bảo an toàn bộ nhớ tại thời điểm biên dịch. Tập hợp các quy tắc nghiêm ngặt này đảm bảo rằng bạn không thể "quên" giải phóng bộ nhớ — mã sẽ không biên dịch được nếu các quy tắc về bộ nhớ bị vi phạm. Đây chính là điều làm cho Rust trở thành một ngôn ngữ an toàn về bộ nhớ.

Tuy nhiên, ngay cả Google cũng không thể chỉ cần vẫy tay là có thể thay đổi cách viết phần mềm firmware của modem — chúng ta đang nói đến hàng chục megabyte mã máy thực thi, một con số rất lớn. Việc cập nhật công trình nghiên cứu kéo dài hàng thập kỷ không chỉ là một nhiệm vụ khó khăn mà nhiều công ty liên quan còn coi cơ chế hoạt động bên trong của modem là bí mật thương mại.

Để bảo vệ modem Pixel khỏi các cuộc tấn công zero-day, Google đã tập trung vào trình phân tích DNS. Khi các tính năng di động chuyển sang mạng dữ liệu, DNS đã trở thành một phần cốt lõi trong cách hoạt động của điện thoại . Google giải thích rằng DNS yêu cầu phân tích dữ liệu không đáng tin cậy, và điều đó khiến nó trở thành một mối lo ngại lớn về bảo mật, nhưng đó là vấn đề bạn có thể giải quyết bằng Rust.

Google đã chọn thư viện DNS mã nguồn mở hickory-proto dựa trên Rust, một thư viện không được tối ưu hóa đặc biệt nhưng lại được sử dụng và hỗ trợ rộng rãi. Modem trong điện thoại Pixel không phải là môi trường bị hạn chế bộ nhớ, điều này cho phép nhóm phát triển bổ sung thêm một thành phần Rust để làm cho DNS trong mã hiện có an toàn hơn. Nhóm đã loại bỏ các phụ thuộc thư viện chuẩn, cho phép biên dịch thành mã máy để hoạt động nhanh hơn, sau đó được ghép vào mã modem C/C++ hiện có. Tổng cộng, các thành phần Rust đã thêm 371KB, điều này hoàn toàn có thể chấp nhận được đối với modem của Pixel.

Theo hệ thống này, bất kỳ nỗ lực nào nhằm kích hoạt lỗ hổng bằng cách thao tác bộ nhớ đều vấp phải bức tường Rust — nó không thể bị ảnh hưởng bởi các gói DNS độc hại. Điện thoại Pixel 10 là những thiết bị đầu tiên được trang bị modem an toàn hơn này. Google hy vọng công việc này sẽ cho phép các nền tảng khác thực hiện những cải tiến tương tự, nhưng công ty lưu ý rằng kích thước của thư viện Rust mà họ lựa chọn có thể là một vấn đề đối với các hệ thống nhúng đơn giản hơn. Có thể giải quyết vấn đề đó bằng cách làm cho thư viện trở nên mô-đun hơn trong tương lai. Google cũng coi công việc này là nền tảng để tích hợp thêm các thành phần an toàn bộ nhớ vào băng tần cơ sở di động trong tương lai.

Tác giả dinhtri Admin
Bài viết trước Các mẫu Surface PC hai năm tuổi tăng giá 300 đô la, trong khi các mẫu dưới 1.000 đô la bị ngừng bán.

Các mẫu Surface PC hai năm tuổi tăng giá 300 đô la, trong khi các mẫu dưới 1.000 đô la bị ngừng bán.

Bài viết tiếp theo

Motorola bất ngờ tăng giá điện thoại giá rẻ lên đến 50% — có lẽ là do trí tuệ nhân tạo (AI) gây ra.

Motorola bất ngờ tăng giá điện thoại giá rẻ lên đến 50% — có lẽ là do trí tuệ nhân tạo (AI) gây ra.
Viết bình luận
Thêm bình luận

Bài viết liên quan

Thông báo

0917111899