ARP spoofing

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

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

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

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

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

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

## Παράδειγμα παραβίασης
thumb|341px|right|Παράδειγμα παραβίασης ARP.<br>'''A''' και '''B''': θύματα<br><span style="color:red;">'''C'''</span>: κακόβουλος χρήστης

### Επίθεση ''man-in-the-middle''
Σκοπός του **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''
Στην επίθεση άρνησης υπηρεσιών (*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 εξαπάτηση 

Κατηγορία:Πρωτόκολλα του ίντερνετ