Đóng quảng cáo

Gần đây, bảo mật bộ nhớ là ưu tiên hàng đầu của Google vì lỗi bộ nhớ có xu hướng trở thành một trong những lỗi nghiêm trọng nhất trong quá trình phát triển phần mềm. Trên thực tế, các lỗ hổng trong lĩnh vực này là nguyên nhân gây ra phần lớn các lỗ hổng nghiêm trọng Androidbạn cho đến năm ngoái khi Google tạo ra một đoạn mã gốc mới đáng kể Androidbằng ngôn ngữ lập trình Rust thay vì C/C++. Gã khổng lồ phần mềm đang nỗ lực hỗ trợ các phương pháp khác nhằm giảm thiểu lỗ hổng bộ nhớ trong hệ thống của mình, một trong số đó được gọi là đánh dấu bộ nhớ. Trên các thiết bị được hỗ trợ cùng hệ thống Android 14, có thể có một cài đặt mới tên là Bảo vệ bộ nhớ nâng cao có thể chuyển đổi tính năng này.

Tiện ích gắn thẻ bộ nhớ (MTE) là một tính năng phần cứng bắt buộc của bộ xử lý dựa trên kiến ​​trúc Arm v9 cung cấp chi tiết informace về hỏng bộ nhớ và bảo vệ khỏi các lỗi an toàn bộ nhớ. Như Google giải thích: “Ở cấp độ cao, MTE gắn thẻ mỗi phân bổ/giải phóng bộ nhớ với siêu dữ liệu bổ sung. Gán điểm đánh dấu cho một vị trí bộ nhớ, sau đó có thể được liên kết với các con trỏ tham chiếu đến vị trí bộ nhớ đó. Trong thời gian chạy, bộ xử lý sẽ kiểm tra xem con trỏ và thẻ siêu dữ liệu có khớp với nhau hay không mỗi khi nó được tải và lưu."

Google đang nỗ lực hỗ trợ MTE trên toàn bộ bộ phần mềm Android trong một khoảng thời gian dài. ĐẾN Androidu 12 đã thêm bộ cấp phát bộ nhớ Scudo và hỗ trợ ba chế độ hoạt động MTE trên các thiết bị tương thích: chế độ đồng bộ, chế độ không đồng bộ và chế độ bất đối xứng. Công ty cũng có thể kích hoạt MTE cho các quy trình hệ thống thông qua các thuộc tính hệ thống và/hoặc các biến môi trường. Các ứng dụng có thể thêm hỗ trợ MTE thông qua một thuộc tính android:memtagMode. Khi MTE được kích hoạt cho các tiến trình trong Androidu, toàn bộ các loại lỗi an toàn bộ nhớ như Use-After-Free và tràn bộ đệm sẽ gây ra sự cố thay vì hỏng bộ nhớ im lặng.

Do Androidu 13 Google đã thêm Giao diện nhị phân ứng dụng không gian người dùng (ABI) để truyền đạt chế độ vận hành MTE mong muốn tới bộ tải khởi động. Điều này có thể được sử dụng để bật MTE trên các thiết bị tương thích không được bật MTE theo mặc định hoặc có thể được sử dụng để tắt nó trên các thiết bị tương thích đã bật MTE theo mặc định. Đặt thuộc tính hệ thống ro.arm64.memtag.bootctl_supported thành "true" trên hệ thống Android 13 nói với hệ thống rằng bộ nạp khởi động hỗ trợ ABI và cũng kích hoạt một nút trong menu tùy chọn dành cho nhà phát triển cho phép người dùng bật MTE trong lần khởi động lại tiếp theo.

V Androidhoặc 14 tuy nhiên, việc bật MTE trên các thiết bị tương thích có thể yêu cầu phải đi sâu vào menu tùy chọn của nhà phát triển. Nếu thiết bị sử dụng bộ xử lý Arm v8.5+ có hỗ trợ MTE thì việc triển khai thiết bị sẽ hỗ trợ ABI để truyền đạt chế độ vận hành MTE mong muốn tới bộ nạp khởi động và thuộc tính hệ thống ro.arm64.memtag.bootctl_settings_toggle mới được đặt thành "true" , sau đó là một trang mới Bảo vệ bộ nhớ nâng cao v Cài đặt→Bảo mật và quyền riêng tư→Cài đặt bảo mật bổ sung. Trang này cũng có thể được khởi chạy thông qua hành động ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS mới.

Điều thú vị là chipset Tensor G2 cung cấp năng lượng cho dòng Google Pixel 7 sử dụng lõi xử lý Arm v8.2, nghĩa là nó không hỗ trợ MTE. Nếu dòng Google Pixel 8 sắp ra mắt sẽ sử dụng lõi Arm v9 mới giống như các dòng Flagship khác androidđiện thoại thì phần cứng của chúng sẽ có thể hỗ trợ MTE. Tuy nhiên, câu hỏi vẫn là liệu tính năng "bảo vệ bộ nhớ nâng cao" có được đưa lên phiên bản ổn định hay không? Androidvào năm 14

Đọc nhiều nhất hiện nay

.