น้ำยาฆ่าเชื้อ

โปรแกรมตรวจสอบความปลอดภัยเป็นกลุ่มเครื่องมือวิเคราะห์แบบไดนามิกที่ค้นหาข้อผิดพลาดในโปรแกรมขณะรันไทม์ผ่านเครื่องมือเพิ่มเติมที่คอมไพเลอร์แทรกไว้ ซึ่งรวมถึงการตรวจหาปัญหาความปลอดภัยของหน่วยความจำ Android รองรับและขอแนะนําอย่างยิ่งให้ใช้โปรแกรมฆ่าเชื้อต่อไปนี้

AddressSanitizer ที่ทำงานด้วยความช่วยเหลือของฮาร์ดแวร์ (HWASan)

HWASan เป็นโปรแกรมตรวจสอบหลักที่จะตรวจหาปัญหาด้านความปลอดภัยของหน่วยความจำ โดยต้องใช้ ARM64 และสามารถตรวจจับสิ่งต่อไปนี้

  • บัฟเฟอร์สแต็กและฮีปที่ล้นหรือต่ำกว่าเกณฑ์
  • การใช้งานฮีปหลังจากมีการปลดปล่อย
  • การใช้สแต็กหลังขอบเขต
  • การใช้กองหลังจากการคืนค่า
  • ฟรีแบบคู่หรือฟรีแบบอิสระ

ตัวตรวจสอบที่อยู่ (ASan)

ASan เป็นเครื่องมือที่คล้ายกับ HWASan ฟีเจอร์นี้ใช้งานได้ในแพลตฟอร์มอื่นๆ เพิ่มเติม แต่ไม่รองรับใน Android

KernelAddress sanitizer (KASan)

KASan เป็นเครื่องมือเคอร์เนลที่เทียบเท่าเครื่องมือสเปซผู้ใช้ข้างต้น โดยใช้คอมไพเลอร์เดียวกัน KASan และ ASan/HWASan ใช้ร่วมกันได้เนื่องจากเครื่องมือหนึ่งใช้กับเคอร์เนลและอีกเครื่องมือหนึ่งใช้กับพื้นที่ผู้ใช้ เราขอแนะนำให้เปิดใช้ทั้ง 2 อย่างพร้อมกันเพื่อลดจำนวนการกำหนดค่าบิลด์และลดเมทริกซ์การทดสอบ

โปรแกรมตรวจสอบลักษณะการทำงานที่ไม่รู้จัก (UBSan)

UBSan จะทำการวัดผลเมื่อคอมไพล์เพื่อตรวจสอบลักษณะการทำงานที่ไม่ระบุ (ไม่ปลอดภัยด้านหน่วยความจำ) ประเภทต่างๆ ซึ่งรวมถึงการตรวจสอบจำนวนเต็มที่มีและไม่มีเครื่องหมายที่ล้น (IntSan), การตรวจสอบขอบเขตสำหรับอาร์เรย์ที่มีขนาดคงที่ (BoundsSan) และลักษณะการทำงานที่ไม่ระบุประเภทอื่นๆ อีกมากมาย IntSan และ BoundsSan ยังเหมาะสำหรับการเปิดใช้ในเวอร์ชันที่ใช้งานจริงเพื่อลดความเสี่ยงด้านความปลอดภัยด้วย