ARP spoofing

Το ARP spoofing (πλαστοπροσωπεία ARP) ή ARP poisoning (δηλητηρίαση ARP) είναι ένας τύπος παραβίασης σε δίκτυο υπολογιστών το οποίο βασίζεται στο πρωτόκολλο ARP.

Ο κακόβουλος χρήστης μπορεί, μεταδίδοντας (αγγλ. broadcast) λανθασμένα πακέτα ARP, να μπερδέψει άλλους host ώστε να στείλουν τα πλαίσια δεδομένων (αγγλ. data frames) τους σε άλλον υπολογιστή χωρίς να το αντιληφθούν. Μπορεί τότε να παρακολουθήσει την επικοινωνία μεταξύ (π.χ. ως βάση για μια επίθεση τύπου man-in-the-middle attack):
 δύο host
 ενός host και ενός υποδικτύου
 ενός host και του Διαδικτύου 
 οποιοδήποτε συνδυασμό των παραπάνω παραβιάσεων

Έχει επίσης την δυνατότητα να αποκλείσει έναν host από ένα δίκτυο (βλ. denial-of-service attack).

Περιορισμοί
Για να στηθεί μια τέτοια πλαστοπροσωπία, ο κακόβουλος χρήστης πρέπει να βρίσκεται στο ίδιο υποδίκτυο με τον/τους host που θέλει να εξαπατήσει και αυτό να αποτελείται από μεταγωγείς.

Ένας διαχειριστής συστήματος μπορεί να καταπολεμήσει τέτοιου είδους παραβιάσεις παρακολουθώντας τον κατάλογο ARP (αγγλ. ARP table) για παράξενες αλλαγές/αξίες (π.χ. μπορεί να κρατηθεί ιστορικό των καταχωρήσεων και να συγκριθούν με τις τωρινές εγγραφές). Κυκλοφορούν εργαλεία που αυτοματοποιούν τον έλεγχο αυτόν, και προειδοποιούν τον διαχειριστή σε περίπτωση ανάγκης.

Επιθυμητή καλόβουλη χρήση
Η χρήση της πλαστοπροσωπίας ARP μπορεί να είναι καλόβουλη. Παραδείγματος χάρη, ένας χρήστης μπορεί να επαναπροσανατολιστεί προς έναν host στον οποίο πρέπει να καταχωρηθεί πριν του δοθεί πλήρης ή μερική πρόσβαση στους πόρους του δικτύου. Το Packetfence βασίζεται σ´αυτήν την τεχνική για την λειτουργία του.

Παράδειγμα παραβίασης

Man-in-the-middle attack
Σκοπός του C είναι να "μπει" ανάμεσα από τον Α και το Β. Για να γίνει αυτό, στέλνει πακέτα ARP στον Α με διεύθυνση πρωτοκόλλου 192.168.0.20 και διεύθυνση MAC 30:30:30:30:30:30. Όταν λοιπόν ο Α θέλει να στείλει δεδομένα στον Β, θα χρησιμοποιήσει την διεύθυνση MAC του C. Με τον ίδιο τρόπο, εξαπατεί τον Β, ώστε στον κατάλογο ARP του τελευταίου να βρίσκεται το ζεύγος 192.168.0.10 → 30:30:30:30:30:30 αντί του 192.168.0.10 → 10:10:10:10:10:10.

Σ'αυτό το σημείο, ο Α στέλνει τα πακέτα με αποδέκτη τον Β στον κακόβουλο χρήστη C (και αντιστρόφως). Παρ'όλα αυτά, για να λειτουργήσει σωστά η παραβίαση αυτή, ο C πρέπει επίσης να δρομολογήσει όποιο πακέτο δεν του απευθύνεται (με βάση την διεύθυνση πρωτοκόλλου) ή όποιο πακέτο δεν θα έπρεπε να λαμβάνει στον επιθυμητό τελικό αποδέκτη, έτσι ώστε οι δυο host (εδώ Α και Β) να μην καταλάβουν πως η επικοινωνία τους παρακολουθείται.

Denial-of-service attack
Στην επίθεση άρνησης υπηρεσιών (denial of service attack), ο σκοπός είναι ο αποκλεισμός ενός host ή υποδικτύου από το δίκτυο που βρίσκεται ο C. Η τακτική είναι η ίδια με την παραβίαση τύπου man-in-the-middle. Για να μην φαίνεται ο Α ως μέρος του δικτύου του παραδείγματος και να μην μπορεί να στείλει κανένα πακέτο σε άλλους host, στέλνονται ακριβώς τα ίδια πακέτα με πριν στους άλλους δυο host. Όταν ένα πακέτο του Β με προορισμό τον Α φτάσει στον C, αυτός δεν το δρομολογεί και απαντάει πως ο host αυτός δεν υπάρχει (βλ. ICMP). Όλα τα πακέτα του Α καταφθάνουν στον C και απλώς απορρίπτονται.

Σημειώσεις

Εξωτερικοί σύνδεσμοι
 Εισαγωγή στην εξαπάτηση ARP 
 Ιστοτόπος του Arpwatch, προγράμματος ανοιχτού κώδικα για παρακολούθηση δικτύων με δυνατότητα να αναγνωρίζει ARP εξαπάτηση  
 Ιστοτόπος του Ettercap, προγράμματος ανοιχτού κώδικα παραβίασης τύπου man-in-the-middle που υποστηρίζει ARP εξαπάτηση 

Πρωτόκολλα του ίντερνετ