זיהום ARP או ARP poisoning הוא שם של ניצול חולשה במנגנון הפעולה של פרוטוקול arp.
למי שלא מכיר:
Arp הוא פרוטוקול שמבצע קישור בין כתובת הIP (הכתובת הלוגית) של המכונה לכתובת ה-MAC (הכתובת הפיזית).
המנגנון מתבסס על 4 שלבים פשוטים:
1. ARP Request שבעצם שואל למי שייכת כתובת IP כזאת וכזאת?
2. ARP Reply שבעצם אומר "לי יש אותה והכתובת MAC שלי היא כזאת"
3. Reverse ARP Request (RARP) בה שואלים הפעם למי יש MAC כזה?
4. RARP Reply שבו עונה המחשב: "לי יש את הMAC וה-IP שלי הוא כזה"
המנגנון פשוט לחלוטין ומפורט בRFC 826 שניתן לקרוא כאן:
http://www.faqs.org/rfcs/rfc826.html
המנגנון תוכנן להיות מאוד פשוט ויעיל אבל יש בו בעיה אחת רצינית: אין בו אוטנטיקציה.
הרעיון הוא שכשרכיב רשת כלשהוא שולח בקשת ARP הוא פשוט סומך על כך שהתשובה שתינתן לו היא נכונה.
עוד חולשה היא שבמימוש הפרוטוקול במערכות הפעלה מסויימות, ישנו מנגנון ששומר בCache שלהן את כל פניות הARP גם אם הן לא זקוקות לו כרגע.
ז"א שגם אם המערכת לא זקוקה לדעת כרגע מי הMAC שמחזיק IP מסויים, אם בוצע ARP Reply מתאים, מערכת ההפעלה תאגור אותו אצלה למקרה שתצטרך אותו בעתיד.
תחשבו על סיטואציה כזאת:
אתם מתחברים לרשת ושולחים ARP Reply מסויים.
המחשבים ברשת אוגרים אותו במנגנון ה-Cache שלהם למקרה שיצטרכו אותו בעתיד.
כרגע בעצם זייפתם את השייוך בין כתובת IP מסויימת לMAC מסויים.
אם תרצו – תוכלו לנווט כך תעבורה אל המחשב שלכם וליזום התקפת MITM (Man in the middle) או סתם לבצע התקפת Denial Of Service ועוד הרבה אפשרויות אחרות.
קרדיט לאתר guym.co.il



ציטוט ההודעה




