GWP-ASan và KFENCE

GWP-ASan và KFENCE là các công cụ phát hiện bộ nhớ mang tính xác suất tương ứng cho không gian người dùng và hạt nhân. Khi được bật, một số ít lượt 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 tình trạng tràn bộ đệm và sử dụng sau khi giải phóng với mức hao tổn hiệu suất không đáng kể. Ngay cả với tốc độ lấy mẫu nhỏ cho các lượt phân bổ được bảo vệ, khi được triển khai trên quy mô lớn, các lượt phân bổ này có thể phát hiện hiệu quả các lỗi về độ an toàn của bộ nhớ. Kể từ khi ra mắt, các công cụ này đã giúp xác định nhiều lỗi nền tảng và đã chứng minh là một công cụ có giá trị để cải thiện độ ổn định và bảo mật. Các nhà cung cấp nên bật các tính năng này và theo dõi 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.

Nhà phát triển nên kiểm tra sự cố bằng cách kiểm tra /data/tombstones, logcat hoặc theo dõi quy trình DropboxManager của nhà cung cấp để tìm lỗi 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 về an toàn bộ nhớ trong không gian người dùng

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

GWP-ASan được bật ngẫu nhiên, khi khởi động, cho 1% số 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.

GWP-ASan

KFENCE để phát hiện các lỗi an toàn cho bộ nhớ nhân hệ điều hành

Android 12 đã ra mắt KFENCE cho các lượt phân bổ vùng nhớ khối xếp hạt nhân. Khi phát hiện lỗi, KFENCE sẽ ghi lại báo cáo sự cố bắt đầu bằng việc BUG: KFENCE, tắt các trang bảo vệ và tiếp tục thực thi. Điều này tạo ra một cơ chế phát hiện lỗi nhân hệ điều hành, tác động rất ít đế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ó tại https://www.kernel.org