หมวดหมู่ OWASP: MASVS-NETWORK: การสื่อสารผ่านเครือข่าย
ภาพรวม
การกำหนดค่า DNS ที่ไม่ปลอดภัยอาจเกิดขึ้นเมื่อนักพัฒนาซอฟต์แวร์ปรับแต่งลักษณะการทำงานของการรับส่ง DNS ของแอปพลิเคชัน ข้ามค่าเริ่มต้นของอุปกรณ์ หรือเมื่อผู้ใช้ระบุ เซิร์ฟเวอร์ DNS ส่วนตัวใน Android 9 ขึ้นไป การเบี่ยงเบนจากการกำหนดค่า DNS ที่ดีที่ทราบ อาจทำให้ผู้ใช้เสี่ยงต่อการโจมตี เช่น การปลอมแปลง DNS หรือการทำลายแคช DNS ซึ่งจะทำให้นักโจมตีเปลี่ยนเส้นทางการเข้าชมของผู้ใช้ไปยังเว็บไซต์ที่เป็นอันตรายได้
ผลกระทบ
หากผู้โจมตีในเครือข่ายที่เป็นอันตรายสามารถปลอมแปลง DNS ได้ ผู้โจมตีจะเปลี่ยนเส้นทางผู้ใช้ไปยังเว็บไซต์ที่ตนควบคุมได้อย่างแนบเนียน โดยไม่ทำให้ผู้ใช้เกิดความสงสัย ตัวอย่างเช่น เว็บไซต์ที่เป็นอันตรายนี้อาจฟิชชิงผู้ใช้เพื่อขอ ข้อมูลส่วนบุคคลที่ระบุตัวบุคคลนั้นได้ ทำให้เกิดการปฏิเสธการให้บริการสำหรับผู้ใช้ หรือ เปลี่ยนเส้นทางผู้ใช้ไปยังเว็บไซต์โดยไม่มีการแจ้งเตือน
ความเสี่ยง: ความปลอดภัยในการรับส่งข้อมูล DNS ที่มีช่องโหว่
การกำหนดค่า DNS ที่กำหนดเองอาจอนุญาตให้แอปข้ามการรักษาความปลอดภัยในการรับส่งในตัวของ Android สำหรับ DNS ใน Android 9 ขึ้นไป
การลดปัญหา
ใช้ระบบปฏิบัติการ Android เพื่อจัดการการรับส่งข้อมูล DNS
อนุญาตให้ระบบปฏิบัติการ Android จัดการ DNS ตั้งแต่ SDK ระดับ 28 เป็นต้นมา Android ได้เพิ่ม ความปลอดภัยในการรับส่ง DNS ผ่าน DNS over TLS และ DNS over HTTP/3 ใน SDK ระดับ 30
ใช้ SDK ระดับ >=28
อัปเดตระดับ SDK เป็นอย่างน้อย 28 โปรดทราบว่าการลดผลกระทบนี้ ต้องมีการสื่อสารกับเซิร์ฟเวอร์ DNS สาธารณะที่ปลอดภัยและเป็นที่รู้จักกันดี เช่น ที่ระบุไว้ที่นี่
แหล่งข้อมูล
- แก้ไขการค้นหา DNS
- การอ้างอิง Java สำหรับคลาส DnsResolver
- โพสต์ในบล็อกความปลอดภัยของ Android เกี่ยวกับ DNS-over-HTTP/3
- ภาพรวมของการส่งที่ปลอดภัยสำหรับ DNS
- โพสต์ในบล็อกของนักพัฒนาแอป Android เกี่ยวกับ DNS ผ่าน TLS