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

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

1. δύο host
2. ενός host και ενός υποδικτύου
3. ενός host και του Διαδικτύου
4. οποιοδήποτε συνδυασμό των παραπάνω παραβιάσεων

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

Περιορισμοί
-----------

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

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

Επιθυμητή καλόβουλη χρήση
-------------------------

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

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

Παράδειγμα παραβίασης ARP.  
**A** και **B**: θύματα  
**C**: κακόβουλος χρήστης
### 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** και απλώς απορρίπτονται.

Σημειώσεις
----------

1. ↑  όπως είπαμε και πριν, κυκλοφορούν εργαλεία που μπορούν να εντοπίσουν και να προειδοποιήσουν τους χρήστες πως κάτι δεν πάει καλά

Εξωτερικοί σύνδεσμοι
--------------------

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