όπου Α και Β οι νόμιμοι χρήστες και Ε ο επιτιθέμενος
**Η επίθεση man-in-the-middle** (Man-in-the-middle attack) είναι μια κοινή παραβίαση ασφάλειας. Ο επιτιθέμενος παρεμποδίζει τη νόμιμη επικοινωνία μεταξύ δύο μερών, τα οποία είναι φιλικά μεταξύ τους. Στη συνέχεια, ο κακόβουλος host ελέγχει τη ροή επικοινωνίας και μπορεί να αποσπάσει ή να αλλάξει πληροφορίες που στέλνονται από έναν από τους αρχικούς συμμετέχοντες. Οι επιθέσεις man-in-the-middle εφαρμόζονται ιδιαίτερα στο πρωτόκολλο Diffie-Hellman, όταν η συμφωνία ανταλλαγής κλειδιών γίνεται χωρίς επικύρωση (authentication).

Μορφές
------

Οι επιθέσεις man-in-the-middle έχουν δύο κοινές μορφές: ο επιτιθέμενος είτε υποκλέπτει (κρυφακούει) (eavesdropping), είτε και αλλοιώνει κατάλληλα το μήνυμα.

Με υποκλοπή (eavesdropping) ένας επιτιθέμενος (ωτακουστής - eavesdropper) ακούει απλά ένα σύνολο μεταδόσεων σε και από διαφορετικούς hosts ακόμα κι αν ο υπολογιστής του επιτιθέμενου δεν είναι συμβαλλόμενο μέρος στη συνδιάλεξη. Πολλοί σχετίζουν αυτόν τον τύπο επίθεσης με διαρροή, κατά την οποία ευαίσθητες πληροφορίες μπορούν να αποκαλυφθούν σε έναν τρίτο, χωρίς αυτό να είναι σε γνώση των νόμιμων χρηστών.

Οι επιθέσεις κατά τις οποίες προκαλείται αλλοίωση του μηνύματος βασίζονται στην ικανότητα του επιτιθέμενου να κρυφακούει. Ο επιτιθέμενος παίρνει αυτή την μη εξουσιοδοτημένη απόκριση, ένα ρεύμα δεδομένων (data stream), αλλάζοντας τα περιεχόμενα ώστε να ικανοποιούν έναν ορισμένο σκοπό - πιθανόν χρησιμοποιώντας ψευδή διεύθυνση IP, αλλάζοντας την διεύθυνση MAC για να μιμηθεί κάποιο άλλο host ή κάνοντας κάποια άλλη τροποποίηση.

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

Διάγραμμα επίθεσης "Man in the middle".
Έστω ότι η Alice θέλει να επικοινωνήσει με τον Bob. Ανάμεσα από την Alice και τον Bob βρίσκεται η Mallory η οποία θέλει να παρακολουθήσει την συζήτηση αλλά και ενδεχομένως και να την παραποιήσει (χωρίς να το καταλάβει η Alice και ο Bob).

Στην αρχή της επικοινωνίας η Alice ζητά από τον Bob να στείλει το δημόσιο κλειδί του. Εάν ο Bob στείλει το δημόσιο κλειδί του στην Alice, η Mallory μπορεί να το υποκλέψει, έτσι ξεκινά η επίθεση "Man in the middle". Η Mallory στέλνει ένα πλαστό μήνυμα στην Alice όπου στη θέση του δημόσιου κλειδιού του Bob στέλνει το δικό της δημόσιο κλειδί.

Η Alice λαμβάνει το πλαστό κλειδί της Mallory το οποίο θεωρεί ότι ανήκει στον Bob. Κρυπτογραφεί το μήνυμα με το πλαστό κλειδί της Mallory και στέλνει το μήνυμα στον Bob. Η Mallory υποκλέπτει το μήνυμα αυτό (το αποκρυπτογραφεί με το ιδιωτικό κλειδί της), αν θέλει το παραποιεί, και το στέλνει κρυπτογραφημένο με το δημόσιο κλειδί του Bob, στον Bob. Όταν ο Bob λαμβάνει το πλαστογραφημένο μήνυμα από την Mallory, το αποκρυπτογραφεί χρησιμοποιώντας το ιδιωτικό του κλειδί, και θεωρεί ότι το μήνυμα έχει σταλθεί από την Alice (αγνοώντας ότι η Mallory έχει υποκλέψει την επικοινωνία και ίσως έχει πλαστογραφήσει το μήνυμα της Alice).

1. Η Alice στέλνει ένα μήνυμα στον Bob, το οποίο υποκλέπτεται από την Mallory::

```
**Alice** *"Γεια σου Bob, είμαι η Alice. Δώσε μου το δημόσιο κλειδί σου."*-->  **Mallory**      **Bob**
```

2. Η Mallory αναμεταδίδει το μήνυμα στον Bob. Ο Bob δεν γνωρίζει ότι το μήνυμα αυτό δεν έχει έρθει από την Alice:

```
**Alice**      **Mallory** *"Γεια σου Bob, είμαι η Alice. Δώσε μου το δημόσιο κλειδί σου."*-->   **Bob**
```

3. Ο Bob απαντά στέλνοντας το δημόσιο κλειδί του:

```
**Alice**      **Mallory**   <--*[Δημόσιο Κλειδί Bob]* **Bob**
```

4. Η Mallory αντικαθιστά το κλειδί του Bob με τον δικό της δημόσιο κλειδί, και το μεταδίδει στην Alice, υποστηρίζοντας ότι το κλειδί είναι του Bob:

```
**Alice**   <--*[Δημόσιο Κλειδί της Mallory]* **Mallory**      **Bob**
```

5. Η Alice κρυπτογραφεί το μήνυμα με το κλειδί της Mallory το οποίο νομίζει ότι είναι το κλειδί του Bob, θεωρώντας ότι το μήνυμα μπορεί να το αποκρυπτογραφήσει μόνο ο Bob με το ιδιωτικό του κλειδί:

```
**Alice** *"Θα με συναντήσεις στην στάση λεωφορείων!"[κρυπτογρ. με το δημ. κλειδί της Mallory]*-->   **Mallory**      **Bob**
```

6. Επειδή το μήνυμα κρυπτογραφήθηκε με το κλειδί της Mallory, η Mallory το αποκρυπτογραφεί, το διαβάζει, και το πλαστογραφεί (εάν θέλει), και το στέλνει στο Bob αφού πρώτα το κρυπτογραφήσει με το δημόσιο κλειδί του Bob:

```
**Alice**      **Mallory** *"Θα βρεθούμε στο κέντρο της πόλης!"[κρυπτογραφημένο με το δημόσιο κλειδί του Bob]*-->   **Bob**
```

7. Ο Bob θεωρεί το μήνυμα ότι είναι από την Alice αφού η επικοινωνία με την Alice είναι κρυπτογραφημένη και ασφαλής.

Συνακόλουθοι κίνδυνοι
---------------------

Επειδή με αυτό τον τρόπο δεν γίνεται αντιληπτός από τον αρχικό αποστολέα ή τον παραλήπτη, ένας επιτιθέμενος μπορεί ξεγελάσει το θύμα, ώστε να του αποκαλύψει εμπιστευτικές πληροφορίες. Ο επιτιθέμενος υποκρίνεται πως είναι ο αρχικός αποστολέας, τον οποίο πιθανώς εμπιστεύεται ο παραλήπτης.

Σημειώσεις-παραπομπές
---------------------

1. ↑  A. Menezes, P. van Oorschot, and S. Vanstone, *Handbook of Applied Cryptography*, CRC Press, 1996, §12.9.1 Attack strategies and classic protocol flaws
2. ↑  Simson Garfinkel, Gene Spafford, Alan Schwartz, *Practical UNIX and Internet Security*, O'Reilly 2003, σελ. 344, ISBN 9780596003234
3. 1 2  By Jason Garman, *Kerberos: The Definitive Guide*, O'Reilly 2003, σελ. 108, 109, ISBN 9780596004033

Βιβλιογραφία
------------

* A. Menezes, P. van Oorschot, and S. Vanstone, *Handbook of Applied Cryptography*, CRC Press, 1996
* Simson Garfinkel, Gene Spafford, Alan Schwartz, *Practical UNIX and Internet Security*, O'Reilly 2003, ISBN 9780596003234

Δείτε επίσης
------------

* FTP
* ARP
* TCP