קטגוריה ב-OWASP: MASVS-NETWORK: Network Communication
סקירה כללית
הגדרות DNS לא מאובטחות יכולות להתרחש כשמפתחים מבצעים התאמה אישית של התנהגות התעבורה של DNS באפליקציה, עוקפים את ברירות המחדל של המכשיר או כשמשתמש מציין שרת DNS פרטי ב-Android 9 ואילך. חריגה מתצורות DNS טובות ומוכרות עלולה להפוך את המשתמשים לפגיעים להתקפות כמו זיוף DNS או הרעלת מטמון DNS, ולאפשר לתוקפים להפנות את תעבורת המשתמשים לאתרים זדוניים.
השפעה
אם תוקף ברשת זדונית מצליח לזייף DNS, הוא יכול להפנות את המשתמש לאתר שהוא שולט בו, בלי לעורר את חשדו של המשתמש. לדוגמה, אתר זדוני כזה יכול לבצע פישינג על המשתמש כדי לגנוב פרטים אישיים מזהים, לגרום למניעת שירות (DoS) עבור המשתמש או להפנות את המשתמש לאתרים אחרים ללא הודעה.
סיכון: אבטחת תעבורה פגיעה של 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 over TLS