GWP-ASan و KFENCE به ترتیب ابزارهای تشخیص حافظه احتمالی برای فضای کاربران و هسته هستند. هنگامی که فعال است، تعداد کمی از تخصیص ها با صفحات حافظه اضافی که حافظه اختصاص داده شده را احاطه کرده اند محافظت می شوند. این اجازه می دهد تا سرریز بافر و استفاده پس از رایگان را با سربار عملکرد ناچیز شناسایی کنید. حتی با یک نرخ نمونه کوچک برای تخصیصهای محافظتشده، وقتی در مقیاس مستقر شوند، میتوانند به طور موثر اشکالات ایمنی حافظه را شناسایی کنند. از زمان معرفی، این ابزارها به شناسایی اشکالات پلتفرم متعدد کمک کرده اند و ثابت کرده اند که ابزار ارزشمندی برای بهبود ثبات و امنیت هستند. ما فروشندگان را تشویق میکنیم تا آنها را فعال کرده و باگهای شناسایی شده در دستگاههای کاربر نهایی را به دقت بررسی کنند.
توسعهدهندگان باید وجود خرابیها را با بررسی /data/tombstones
، logcat
یا نظارت بر خط لوله DropboxManager
فروشنده برای باگهای کاربر نهایی بررسی کنند.
برای اطلاعات بیشتر به اسناد ما در مورد اشکال زدایی کد بومی اندروید مراجعه کنید.
اشکال زدایی کد پلتفرم اندروید بومیGWP-ASan برای تشخیص اشکالات ایمنی حافظه فضای کاربران
GWP-ASan در اندروید 11 برای تخصیص فضای کاربران معرفی شد. هنگامی که GWP-ASan یک اشکال را شناسایی می کند، گزارش خرابی را با Cause: [GWP-ASan]:
ثبت می کند و فرآیند را خاتمه می دهد. گزارشهای اشکال حاوی اطلاعات تخصیص و تخصیص اضافی هستند که شناسایی علت اصلی را آسانتر میکنند.
GWP-ASan در هنگام راهاندازی بهطور تصادفی برای ۱٪ از فرآیندها یا برنامههای سیستم و برای برنامههایی که android:gwpAsanMode
در فایل AndroidManifest.xml
خود تنظیم میکنند، فعال میشود.
KFENCE برای شناسایی اشکالات ایمنی حافظه هسته
اندروید 12 KFENCE را برای تخصیص هسته هسته معرفی کرد. هنگامی که KFENCE یک باگ را شناسایی می کند، گزارش خرابی را ثبت می کند که با BUG: KFENCE,
صفحات محافظ را غیرفعال می کند و به اجرا ادامه می دهد. این یک مکانیسم تشخیص اشکال هسته را فعال می کند که حداقل بر تجربه کاربر تأثیر می گذارد.
برای کسب اطلاعات بیشتر در مورد KFENCE به اسناد موجود در https://www.kernel.org مراجعه کنید