المطهرات عبارة عن مجموعة من أدوات التحليل الديناميكي التي تكتشف الأخطاء في البرامج في وقت التشغيل من خلال أدوات إضافية تم إدراجها بواسطة المترجم. يتضمن ذلك اكتشاف مشكلات سلامة الذاكرة . يدعم Android ويوصي بشدة باستخدام المطهرات التالية:
HWAddress Sanitizer (HWASan)
HWASan هو المطهر الرئيسي الذي يوفر الكشف عن مشاكل سلامة الذاكرة. يتطلب ARM64 ويمكنه اكتشاف:
- تجاوز سعة المخزن المؤقت للمكدس والكومة أو تجاوز سعة المخزن المؤقت
- استخدام الكومة بعد الحرة
- استخدام المكدس بعد النطاق
- استخدام المكدس بعد العودة
- مزدوج مجاني أو وايلد مجاني
عنوان المطهر (ASan)
Asan هي أداة مشابهة لـ HWASan. إنه يعمل على المزيد من الأنظمة الأساسية، ولكنه غير مدعوم على نظام Android.
معقم KernelAddress
KASan هو النظير الأساسي لأدوات مساحة المستخدم المذكورة أعلاه. وهو يشترك في نفس تنفيذ المترجم. KASAN وASan/HWASan متكاملان حيث تنطبق إحدى الأدوات على النواة والأخرى على مساحة المستخدم. نوصي بتمكين كليهما في نفس الوقت لتقليل عدد تكوينات البناء وتقليل مصفوفة الاختبار.
معقم السلوك غير المحدد (UBSan)
يقوم UBSan بإجراء أدوات وقت الترجمة للتحقق من أنواع مختلفة من السلوك غير المحدد (غير المتعلق بسلامة الذاكرة). يتضمن ذلك التحقق من تجاوز سعة الأعداد الصحيحة الموقعة وغير الموقعة (IntSan)، والتحقق من الحدود للصفائف ذات الحجم الثابت (BoundsSan)، والكثير من الأنواع الأخرى من السلوك غير المحدد. إن IntSan وBoundsSan مناسبان أيضًا للتمكين في الإنتاج كتخفيف أمني.