GWP-ASan và KFENCE

GWP-ASan và KFENCE lần lượt là các công cụ phát hiện bộ nhớ xác suất cho không gian người dùng và kernel. Khi được bật, một số lượng nhỏ phân bổ sẽ được bảo vệ bằng các trang bộ nhớ bổ sung bao quanh bộ nhớ được phân bổ. Điều này cho phép phát hiện lỗi tràn bộ đệm và sử dụng sau khi giải phóng với chi phí hiệu năng không đáng kể. Ngay cả với tốc độ mẫu nhỏ cho phân bổ được bảo vệ, khi được triển khai trên quy mô lớn, chúng có thể phát hiện các lỗi an toàn bộ nhớ một cách hiệu quả. Kể từ khi được giới thiệu, những công cụ này đã giúp xác định nhiều lỗi nền tảng và được chứng minh là một công cụ có giá trị để cải thiện tính ổn định và bảo mật. Chúng tôi khuyến khích các nhà cung cấp kích hoạt chúng và giám sát chặt chẽ các lỗi được phát hiện trên thiết bị của người dùng cuối.

Các nhà phát triển nên kiểm tra sự hiện diện của sự cố bằng cách kiểm tra /data/tombstones , logcat hoặc bằng cách giám sát đường dẫn DropboxManager của nhà cung cấp để phát hiện lỗi của người dùng cuối.

Để biết thêm thông tin, hãy xem tài liệu của chúng tôi về cách gỡ lỗi mã gốc Android.

Gỡ lỗi mã nền tảng Android gốc

GWP-ASan để phát hiện lỗi an toàn bộ nhớ không gian người dùng

GWP-ASan đã được giới thiệu trong Android 11 để phân bổ vùng nhớ heap vùng người dùng. Khi GWP-ASan phát hiện lỗi, nó sẽ ghi lại báo cáo sự cố với Cause: [GWP-ASan]: và chấm dứt quá trình. Các báo cáo lỗi chứa thông tin phân bổ và phân bổ bổ sung giúp xác định nguyên nhân gốc rễ dễ dàng hơn.

GWP-ASan được bật ngẫu nhiên khi khởi động cho 1% quy trình hoặc ứng dụng hệ thống và cho các ứng dụng đặt android:gwpAsanMode trong tệp AndroidManifest.xml của chúng.

GWP-ASan

KFENCE để phát hiện lỗi an toàn bộ nhớ kernel

Android 12 đã giới thiệu KFENCE để phân bổ vùng nhớ heap hạt nhân. Khi KFENCE phát hiện lỗi, nó sẽ ghi lại báo cáo sự cố bắt đầu bằng BUG: KFENCE, vô hiệu hóa các trang bảo vệ và tiếp tục thực thi. Điều này cho phép cơ chế phát hiện lỗi kernel có tác động tối thiểu đến trải nghiệm người dùng.

Để tìm hiểu thêm về KFENCE, hãy xem tài liệu có sẵn tại https://www.kernel.org