Dezenfektanlar

Temizleyiciler, derleyici tarafından eklenen ek araçlar aracılığıyla çalışma zamanında programlardaki hataları bulan bir grup dinamik analiz aracıdır. Buna bellek güvenliği sorunlarının tespit edilmesi de dahildir. Android aşağıdaki dezenfektanların kullanımını destekler ve şiddetle tavsiye eder:

HWAdres Temizleyici (HWASan)

HWASan, bellek güvenliği sorunlarının tespitini sağlayan ana temizleyicidir. ARM64 gerektirir ve şunları tespit edebilir:

  • Yığın ve yığın arabellek taşması veya yetersiz akışı
  • Bedavadan sonra yığın kullanımı
  • Kapsamdan sonra yığın kullanımı
  • Dönüşten sonra yığın kullanımı
  • Çift ücretsiz veya vahşi ücretsiz

Adres Temizleyici (ASan)

ASan , HWASan'a benzer bir araçtır. Daha fazla platformda çalışır ancak Android'de desteklenmez.

ÇekirdekAdresi Temizleyici

KASan, yukarıdaki kullanıcı alanı araçlarının çekirdek karşılığıdır. Aynı derleyici uygulamasını paylaşır. KASAN ve ASan/HWASan birbirini tamamlayıcı niteliktedir; çünkü bir araç çekirdeğe, diğeri ise kullanıcı alanına uygulanır. Derleme yapılandırmalarının sayısını azaltmak ve test matrisini azaltmak için her ikisini de aynı anda etkinleştirmenizi öneririz.

Tanımsız Davranış Temizleyici (UBSan)

UBSan, çeşitli (bellek güvenliği olmayan) tanımsız davranış türlerini kontrol etmek için derleme zamanı enstrümantasyonu gerçekleştirir. Buna imzalı ve imzasız tamsayı taşması kontrolü (IntSan), statik boyutlu diziler için sınır kontrolleri (BoundsSan) ve diğer birçok tanımsız davranış türü dahildir. IntSan ve BoundsSan aynı zamanda güvenlik azaltımı olarak üretimde etkinleştirmeye de uygundur.