SAD DNS: התקפה להחלפת נתונים מזויפים במטמון ה- DNS

קבוצה של חוקרים מאוניברסיטת צינגהואה ומאוניברסיטת קליפורניה בריברסייד פיתחו סוג חדש של תקיפה כי מאפשר החלפה של נתונים כוזבים במטמון שרת ה- DNS, באמצעותו ניתן לזייף את כתובת ה- IP של דומיין שרירותי ולהפנות שיחות לדומיין לשרת התוקף.

ההתקפה עוקפת הגנה נוספת לשרתי DNS לחסום את שיטת הרעלת המטמון ה- DNS הקלאסית שהציעה דן קמינסקי בשנת 2008.

שיטת קמינסקי מתפעל את הגודל הזניח של שדה מזהה שאילתת ה- DNS, שהוא רק 16 סיביות. כדי למצוא את המזהה הנכון הדרוש כדי לזייף את שם המארח, פשוט שלח כ -7.000 בקשות והדמה כ -140.000 תגובות מזויפות.

ההתקפה מסתכמת בשליחת מספר רב של חבילות מזויפות הקשורות ל- IP לפותר ה- DNS עם מזהי עסקאות DNS שונים. כדי למנוע את שמירת התגובה הראשונה במטמון, שם דומיין שונה מעט בכל תגובה מזויפת.

כדי להגן מפני התקפות מסוג זה, יצרני שרת DNS יישם הפצה אקראית של מספרי יציאות רשת מקור ממנו נשלחות בקשות ההחלטה, אשר פיצו על גודל המזהה שאינו מספיק מספיק (כדי לשלוח תגובה פיקטיבית, בנוסף לבחירת מזהה של 16 סיביות, היה צורך לבחור באחת מ -64 אלף יציאות, מה שהגדיל את מספר אפשרויות לבחירה ל 2 ^ 32).

ההתקפה SAD DNS מפשט באופן דרמטי את זיהוי הנמלים על ידי ניצול הפעילות המסוננת ביציאות רשת. הבעיה מתבטאת בכל מערכות ההפעלה (Linux, Windows, macOS ו- FreeBSD) ובעת שימוש בשרתי DNS שונים (BIND, Unbound, dnsmasq).

טוענים כי 34% מכלל הפותרים הפתוחים מותקפים, וכן 12 מתוך 14 שירותי ה- DNS הטובים ביותר שנבדקו, כולל שירותי 8.8.8.8 (Google), 9.9.9.9 (Quad9) ו- 1.1.1.1 (CloudFlare), וכן 4 מתוך 6 נתבים שנבדקו מספקים מכובדים.

הבעיה נובעת מהמיוחדות של היווצרות חבילות התגובה ICMP, כי מאפשר לך לקבוע גישה ליציאות רשת פעילות ולא משמש מעל UDP. תכונה זו מאפשרת לך לסרוק מהר מאוד יציאות UDP פתוחות ולעקוף ביעילות את ההגנה על בסיס מבחר אקראי של יציאות רשת המקור, ולהפחית את מספר אפשרויות הכוח הגס ל 2 ^ 16 + 2 ^ 16 במקום 2 ^ 32.

מקור הבעיה הוא המנגנון להגבלת עוצמת המשלוח מספר חבילות ICMP בערמת הרשת, המשתמשת בערך נגד צפוי, שממנו מתחיל חנק קדימה. מונה זה נפוץ לכל התנועה, כולל תנועה מזויפת מהתוקף ותנועה אמיתית. כברירת מחדל, ב- Linux, תגובות ה- ICMP מוגבלות ל -1000 מנות לשנייה. עבור כל בקשה שמגיעה ליציאת רשת סגורה, מחסנית הרשת מגדילה את המונה ב -1 ושולחת חבילת ICMP עם נתונים מהיציאה שאינה נגישה.

אז אם אתה שולח 1000 חבילות ליציאות רשת שונות, שכולם סגורים, השרת יגביל את שליחת תגובות ICMP למשך שנייה והתוקף יכול להיות בטוח שאין יציאות פתוחות בין 1000 היציאות שחיפשו. אם מנות נשלחות לנמל פתוח, השרת לא יחזיר תגובת ICMP וערך הדלפק לא ישתנה, כלומר לאחר שליחת 1000 מנות, מגבלת שיעור התגובה לא תושג.

מכיוון שהחבילות המזויפות מתבצעות מ- IP מזויף, התוקף אינו יכול לקבל תגובות ICMP, אך הודות לדלפק הכולל, לאחר כל 1000 מנות מזויפות, הוא יכול לשלוח בקשה לנמל שאינו קיים מ- IP אמיתי ולהעריך את הגעת התשובה; אם התשובה הגיעה, באחת מ -1000 החבילות. בכל שנייה, תוקף יכול לשלוח 1000 חבילות מזויפות ליציאות שונות ולקבוע במהירות באיזה חסימה נמצא היציאה הפתוחה, ואז לצמצם את הבחירה ולקבוע יציאה ספציפית.

ליבת לינוקס פותרת את הבעיה באמצעות תיקון המקרי את הפרמטרים להגבלת עוצמת שליחת מנות ICMP, שמכניס רעש וממזער דליפת נתונים דרך ערוצים צדדיים.

מקור: https://www.saddns.net/


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.