Δευτέρα 21 Οκτωβρίου 2013

Κλέβοντας το ασύρματο του γείτονα

Κυριακή μεσημέρι και η σύνδεση μου αρχίζει να παρουσιάζει προβλήματα. Τηλεφωνώ στον πάροχο και με ενημερώνουν πως έχει πρόβλημα η γραμμή μου: η επισκευή χρειάζεται 1-2 εργάσιμες μέρες. Με τις δουλειές να τρέχουν δεν είχα επιλογή από το να "δανειστώ" για λίγο την σύνδεση ενός γείτονα. Ευτυχώς ακόμη και σήμερα υπάρχουν ασύρματες συνδέσεις που "προστατεύονται" με την χρήση του WEP. Τι το κακό έχει λοιπόν το WEP;

Οι συνδέσεις που χρησιμοποιούν WEP προστατεύονται με την χρήση ενός μυστικού ("κλειδί") το οποίο γνωρίζουν μόνο η συσκευή του χρήστη και το access point. Για όσους βαριούνται να διαβάσουν το υπόλοιπο άρθρο να πούμε εδώ πως αυτό το κλειδί μπορεί να μαθευτεί πολύ γρήγορα από κάποιον τρίτο, παρατηρώντας απλά την κυκλοφορία στο δίκτυο. Γιατί συμβαίνει αυτό;

Το WEP χρησιμοποιεί έναν αλγόριθμο κρυπτογράφησης γνωστό ως RC4. Ο RC4 ανακαλύφθηκε το 1987 από τον Ronald Rivest αλλά παρέμεινε εταιρικό μυστικό μέχρι και το 1994, όταν και διερεύνησε σε μια λίστα αλληλογραφίας ο κώδικας του. O RC4 έγινε αμέσως γνωστός, κυρίως για την απλότητα του, μιας και μπορεί να υλοποιηθεί σε ελάχιστες γραμμές κώδικα.
R.Rivest, ο πατέρας του RC4
 Ο RC4 ανήκει στην οικογένεια των stream ciphers. Οι αλγόριθμοι κρυπτογραφίας αυτής της οικογένειας προσθέτουν στα bits μιας ροής δεδομένων τα bits μιας μεγάλης (τόσο μεγάλη όσο η ροή δεδομένων) τυχαίας αλληλουχίας από bit με την πράξη XOR  Για να παραχθεί η αλληλουχία αυτή από bit χρησιμοποιείται ένας αλγόριθμος ο οποίος δέχεται ως είσοδο ένα κλειδί και παράγει μια τυχαία αλληλουχία από bit άπειρου μήκους. Οι stream ciphers απαιτούν για κάθε ροή δεδομένων να χρησιμοποιείται ξεχωριστό κλειδί.

Η τελευταία αυτή απαίτηση ασφαλείας κάνει δύσκολη την εφαρμογή του RC4 σε ένα περιβάλλον με πολλούς χρήστες, όπως ένα ασύρματο δίκτυο, καθώς πρέπει να χρησιμοποιείται ξεχωριστό κλειδί για κάθε χρήστη. Τι συμβαίνει σε αυτές τις περιπτώσεις λοιπόν; Το κλειδί που χρησιμοποιεί ο αλγόριθμος παραγωγής της τυχαίας αλληλουχίας από bit δημιουργείται με την χρήση 2 στοιχείων: του μυστικού κλειδιού το οποίο ξέρουν όλοι οι χρήστες του δικτύου (είναι αυτό που πληκτρολογούμε όταν συνδεόμαστε σε ένα ασύρματο δίκτυο) και μιας σειράς από bytes που ονομάζεται initialization vector (IV). O IV είναι ξεχωριστός για κάθε ροή δεδομένων, δημιουργείται από το access point και μεταδίδεται μαζί με τα δεδομένα. Κάθε μετάδοση δεδομένων δηλαδή σε ένα ασύρματο δίκτυο που προστατεύεται από το WEP περιέχει τον IV καθώς και τα δεδομένα κρυπτογραφημένα.

Το 2001 οι Scott Fluhrer, Itsik Mantin, και Adi Shamir, ανακάλυψαν πως για κάποιους IV αν είναι γνωστός ένας αριθμός byte από τα δεδομένα. μπορεί να μαθευτούν ο αντίστοιχος αριθμός +1 bytes από το μυστικό κλειδί. Αυτή επίθεση ονομάστηκε FMS από τα αρχικά των ερευνητών που την ανακάλυψαν. Πως όμως μπορεί να εφαρμοστεί αυτή η επίθεση στο WEP αφού τα δεδομένα είναι κρυπτογραφημένα; Σύντομα λοιπόν ανακαλύφθηκε πως το WEP πριν μεταδώσει μια σειρά δεδομένων βάζει στην αρχή της ένα byte με μια γνωστή τιμή. Αυτό το byte αρκεί για να εφαρμοστεί η επίθεση FMS.

Σήμερα λοιπόν υπάρχουν εργαλεία, όπως το aircrack-ng, που μπορούν πολύ γρήγορα να μας αποκαλύψουν το κλειδί ενός WEP δικτύου. 

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου