Ασφάλεια Ασύρματων Δικτύων Στην Ελλάδα
Ένας από τους τομείς της πληροφορικής με τον οποίο έχω ασχοληθεί επισταμένα, είναι τα ασύρματα δίκτυα. Συγκεκριμένα στα πλαίσια εργασίας για το μεταπτυχιακό μου στο Πανεπιστήμιο Μακεδονίας, ασχολήθηκα με την ασφάλεια των ασύρματων δικτύων στην Ελλάδα, τις τεχνικές ασφαλείας που χρησιμοποιούνται (αν χρησιμοποιούνται) και τους διαθέσιμους τρόπους διείσδυσης σε αυτά. Παρακάτω παρατίθεται μία περίληψη της εργασίας που καταθέσαμε για το μάθημα της κρυπτογραφίας, με τον συνάδελφο Τρύφωνα Θεοδώρου. Η περίληψη έχει παραλείψει επίτηδες πολλά κομμάτια της εργασίας και λεπτομέρειες. Μπορεί οποιοσδήποτε να την χρησιμοποιήσει για μη εμπορικούς σκοπούς. Επίσης είναι αυτονόητο ότι μπορεί να χρησιμοποιηθεί για οποιονδήποτε ακαδημαϊκό σκοπό. (Προσέχετε τις αντιγραφές…). Σε περίπτωση δε ακαδημαϊκής χρήσης, μπορείτε να μου ζητήσετε με ένα e-mail να σας στείλω όλη την εργασία, με βιβλιογραφία κτλ.
Από αυτή την εργασία, παράχθηκε και ένα paper που παρουσιάσαμε στο Πόρτο της Πορτογαλίας το καλοκαίρι του 2008, στα πλαίσια του συνεδρίου ICETE- WINSYS 2008.
Σε κάθε περίπτωση, μόνη υποχρέωση του αντιγραφέα είναι η αναφορά της πηγής ως εξής:
Βιολέττας Γεώργιος, Θεοδώρου Τρύφων, Στεφανίδης Γεώργιος, «Η χρήση κρυπτογραφικών μεθόδων στα σύγχρονα ασύρματα δίκτυα», Πανεπιστήμιο Μακεδονίας, Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής, 2008.
Στα ασύρματα δίκτυα είτε λόγω της ιδιαιτερότητας τους, είτε λόγω των αυξημένων «επιθέσεων» λόγω του ιδιαίτερου ενδιαφέροντος (αλλά και της πρό(σ)κλησης), κάποια από τα πρωτόκολλα κρυπτογράφησης που χρησιμοποιούμε εμφανίζονται πλέον ως αποτυχημένα, αφού έχει ήδη αποδειχθεί η αδυναμία αποφυγής επιτυχημένων «επιθέσεων». Σε αυτήν την εργασία περιγράφονται οι θεωρητικές υλοποιήσεις των κυριοτέρων κρυπτογραφικών μεθόδων στα ασύρματα δίκτυα (WEP, WPA, WPA2), αναλύονται κάποιες μέθοδοι επίθεσης σε ασύρματα δίκτυα που υλοποιούν τέτοια πρωτόκολλα κρυπτογράφησης,, και παρατίθεται μία σειρά από τέτοιες επιθέσεις και τα αποτελέσματα τους. Επίσης προτείνονται οι βασικές μέθοδοι και τρόποι υλοποίησης κρυπτογραφικών μεθόδων, που στόχο έχουν την ισχυροποίηση ενός τέτοιου δικτύου, απέναντι σε αντίστοιχες επιθέσεις.
Χωρίς να θέλουμε να γίνουμε υπερβολικοί, αυτή την στιγμή η κατάσταση όσον αφορά τα ασύρματα δίκτυα στην χώρα μας είναι μάλλον άσχημη και χαοτική. Τα εμπειρικά στοιχεία δείχνουν ότι υπάρχουν χιλιάδες πλέον εταιρίες αλλά και φορείς του Δημοσίου κάθε μορφής, που έχουν βασικές ελλείψεις ή και παντελή απουσία βασικών παραμέτρων στον τομέα της ασφάλειας των ασύρματων δικτύων. Ως άμεσο αποτέλεσμα έχουμε την διακίνηση μεγάλου όγκου πληροφορίας περιλαμβανομένων και ευαίσθητων δεδομένων, απορρήτων τόσο εθνικών όσο και βιομηχανικών πάνω από δίκτυα τελείως απροστάτευτα ή προστατευμένων με μεθόδους παρωχημένες, που εύκολα μπορούν να παρακαμφθούν.
Η μέθοδος στην αρχική της σκέψη είναι αρκετά απλή (και φτηνή). Ένας οποιοσδήποτε χρήστης που έχει στην κατοχή του έναν συμβατικό φορητό Η/Υ με μία κάρτα Wi-Fi, μπορεί να καταγράψει τα πακέτα των ασύρματων δικτύων που κυκλοφορούν στο αέρα, να τα αναλύσει (με προγράμματα που κυκλοφορούν ελεύθερα στο διαδίκτυο) και με τις κατάλληλες μεθόδους, να ανασύρει ευαίσθητα δεδομένα, ή να εισέλθει σε ένα από αυτά τα δίκτυα.
Σε κάθε περίπτωση, μόνη υποχρέωση του αντιγραφέα είναι η αναφορά της πηγής ως εξής:
Βιολέττας Γεώργιος, Θεοδώρου Τρύφων, Στεφανίδης Γεώργιος, «Η χρήση κρυπτογραφικών μεθόδων στα σύγχρονα ασύρματα δίκτυα», Πανεπιστήμιο Μακεδονίας, Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής, 2008.
Ασφάλεια Ασύρματων Δικτύων στην Ελλάδα (Βιολέττας Γεώργιος, Θεοδώρου Τρύφων, Πανεπιστήμιο Μακεδονίας, Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής, 2008)
Στα ασύρματα δίκτυα είτε λόγω της ιδιαιτερότητας τους, είτε λόγω των αυξημένων «επιθέσεων» λόγω του ιδιαίτερου ενδιαφέροντος (αλλά και της πρό(σ)κλησης), κάποια από τα πρωτόκολλα κρυπτογράφησης που χρησιμοποιούμε εμφανίζονται πλέον ως αποτυχημένα, αφού έχει ήδη αποδειχθεί η αδυναμία αποφυγής επιτυχημένων «επιθέσεων». Σε αυτήν την εργασία περιγράφονται οι θεωρητικές υλοποιήσεις των κυριοτέρων κρυπτογραφικών μεθόδων στα ασύρματα δίκτυα (WEP, WPA, WPA2), αναλύονται κάποιες μέθοδοι επίθεσης σε ασύρματα δίκτυα που υλοποιούν τέτοια πρωτόκολλα κρυπτογράφησης,, και παρατίθεται μία σειρά από τέτοιες επιθέσεις και τα αποτελέσματα τους. Επίσης προτείνονται οι βασικές μέθοδοι και τρόποι υλοποίησης κρυπτογραφικών μεθόδων, που στόχο έχουν την ισχυροποίηση ενός τέτοιου δικτύου, απέναντι σε αντίστοιχες επιθέσεις.
Χωρίς να θέλουμε να γίνουμε υπερβολικοί, αυτή την στιγμή η κατάσταση όσον αφορά τα ασύρματα δίκτυα στην χώρα μας είναι μάλλον άσχημη και χαοτική. Τα εμπειρικά στοιχεία δείχνουν ότι υπάρχουν χιλιάδες πλέον εταιρίες αλλά και φορείς του Δημοσίου κάθε μορφής, που έχουν βασικές ελλείψεις ή και παντελή απουσία βασικών παραμέτρων στον τομέα της ασφάλειας των ασύρματων δικτύων. Ως άμεσο αποτέλεσμα έχουμε την διακίνηση μεγάλου όγκου πληροφορίας περιλαμβανομένων και ευαίσθητων δεδομένων, απορρήτων τόσο εθνικών όσο και βιομηχανικών πάνω από δίκτυα τελείως απροστάτευτα ή προστατευμένων με μεθόδους παρωχημένες, που εύκολα μπορούν να παρακαμφθούν.
Η μέθοδος στην αρχική της σκέψη είναι αρκετά απλή (και φτηνή). Ένας οποιοσδήποτε χρήστης που έχει στην κατοχή του έναν συμβατικό φορητό Η/Υ με μία κάρτα Wi-Fi, μπορεί να καταγράψει τα πακέτα των ασύρματων δικτύων που κυκλοφορούν στο αέρα, να τα αναλύσει (με προγράμματα που κυκλοφορούν ελεύθερα στο διαδίκτυο) και με τις κατάλληλες μεθόδους, να ανασύρει ευαίσθητα δεδομένα, ή να εισέλθει σε ένα από αυτά τα δίκτυα.
Επίθεση στο WEP στην πράξη
Πρακτικά για την ανεύρεση ενός κλειδιού WEP δεν χρειάζονται ιδιαίτερα πράγματα. Υπάρχει διαθέσιμο αρκετό λογισμικό πλέον, το οποίο είναι προσανατολισμένο σε αυτό τον σκοπό. Επίσης είναι μύθος πλέον η άποψη ότι το λογισμικό αυτό υπάρχει μόνο σε Linux και προϋποθέτει γνώσεις προγραμματισμού και πληκτρολόγηση σε γραμμή εντολών κτλ. Όλα αυτά τα προγράμματα υπάρχουν και σε εκδόσεις για Windows και έχουν πλέον ακόμη και παραθυρικό περιβάλλον!Στην Εικόνα 1 φαίνεται μία τυπική διάταξη ενός οικιακού δικτύου που (υποτίθεται ότι) προστατεύεται από ένα κλειδί WEP 128-bit. Όπως θα δούμε στην συνέχεια, με την χρήση πολύ απλών εργαλείων, είναι δυνατή η εξαγωγή του κλειδιού αυτού.
Η λογική της ανεύρεσης ενός τέτοιου κλειδιού έχει βασικά δύο σκέλη. Στο πρώτο σκέλος καταγράφουμε όλα τα πακέτα που μας ενδιαφέρουν από έναν τέτοιο σταθμό. Στο δεύτερο σκέλος το πρόγραμμα αναλαμβάνει να εξάγει το κλειδί από τους πίνακες αρχικοποίησης που έχουν αποθηκευθεί σε ένα αρχείο από το προηγούμενο πρόγραμμα. Ελέγχονται δηλαδή οι ήδη αποθηκευμένοι πίνακες αρχικοποίησης (IV) για το υπό αναζήτηση κλειδί.
Όπως φαίνεται στην Εικόνα 2, ένα πλήθος από 240.921 πίνακες αρχικοποίησης (IVs) ήταν αρκετοί για να βρεθεί το 128-bit WEP κλειδί του δικτύου μέσα σε δευτερόλεπτα. Εδώ να σημειώσουμε ότι το υπό «έρευνα» δίκτυο ήταν ένα δίκτυο της τοπολογίας της Εικόνας 1, δηλαδή ένα δίκτυο ενός μοναδικού πελάτη-υπολογιστή άρα θεωρητικά με πολύ περιορισμένη κίνηση. Παρόλα αυτά, ο χρόνος που χρειάστηκε για να συγκεντρωθεί το αναγκαίο πλήθος δεδομένων (οι αναγκαίοι πίνακες δηλαδή), δεν υπερέβη τα 10 λεπτά της ώρας.
Επίθεση σε δίκτυο WPA
Η μέθοδος που ακολουθείται στο WPA έχει ως εξής:
Οποιοσδήποτε σταθμός «ακούει» την συναλλαγή των δύο μερών, μπορεί να συλλέξει τα απαραίτητηα δεδομένα – πακέτα. Τα πακέτα αυτά μπορούν να χρησιμοποιηθούν για να ελεγχθούν διεξοδικά από υπάρχουσες εφαρμογές που εκτελούν επιθέσεις λεξικού (dictionary attacks). Σχεδόν όλοι οι δυνατοί συνδυασμοί λέξεων 8 χαρακτήρων εμπεριέχονται σε τέτοια λεξικά. Αποδεικνύεται ότι λέξεις μήκους μικρότερου από 20 χαρακτήρες, είναι στατιστικά αδύνατον να αντέξουν σε τέτοιου είδους επίθεση. Αυτού του είδους οι επιθέσεις μάλιστα, θεωρείται πολύ ευκολότερο να υλοποιηθούν από τις επιθέσεις στο WEP.
Χρονικό μίας επίθεσης στο WPA
Επειδή όπως αναφέρθηκε στην προηγούμενη ενότητα, δεν έχουμε την δυνατότητα να επιτεθούμε στο WPA χρησιμοποιώντας brute force μεθόδους, η μέθοδος την οποία επιλέγουμε είναι η επίθεση λεξικού. Μπορούμε λοιπόν να στέλνουμε στον ασύρματο σταθμό (ή ισοδύναμα σε ένα από τα πακέτα που έχει εκπέμψει και ξέρουμε ότι περιέχει το υπό αναζήτηση κλειδί) συνδυασμούς συμβόλων (γραμμάτων, αριθμών κτλ) προσπαθώντας ουσιαστικά να μαντέψουμε το σωστό μυστικό κλειδί με το οποίο ένα τέτοιο σύστημα θα μας δεχόταν ως «νόμιμο» χρήστη αν το γνωρίζαμε. Γίνεται εύκολα αντιληπτό ότι μία «επίθεση» τέτοιας μορφής χρειάζεται μία μηχανή παραγωγής εκατομμυρίων συνδυασμών ή εναλλακτικά ένα είδος λεξικού που να περιέχει όλους (;) αυτούς τους συνδυασμούς.Ένα από τα αρχικά προβλήματα που έχει να λύσει αυτό το είδος της επίθεσης, είναι ότι βασίζεται στην «σύλληψη» ενός πολύ συγκεκριμένου πακέτου (ή πακέτων). Αφού «συλληφθεί» το (κρυπτογραφημένο) πακέτο «χειραψίας» που περιέχει το μυστικό κλειδί WPA, γίνονται εξαντλητικές δοκιμές διάφορων λέξεων-κλειδιών πάνω του, χωρίς να χρειάζεται η υπόλοιπη ακολουθία σύνδεσης σταθμού στο δίκτυο. Για να «συλλάβει» το πακέτο αυτό, ο υποψήφιος εισβολέας έχει δύο επιλογές:
- Είτε να περιμένει πότε κάποιος καινούριος σταθμός θα συνδεθεί επιτυχημένα στο δίκτυο, με την συνεπακόλουθη χρονική αναμονή,
- Είτε να «εξωθήσει» τον ήδη συνδεδεμένο σταθμό-πελάτη σε αποσύνδεση, ώστε αναγκαστικά αυτός να προσπαθήσει να επανασυνδεθεί, οδηγώντας έτσι το εισβολέα, στην «σύλληψη» του πακέτου που τον ενδιαφέρει.
Αντίστοιχα συνδέθηκε ένας υπολογιστής πελάτης στο δίκτυο αυτό, προφανώς με την ίδια λέξη-κλειδί (dimitris).
Αφού ο σταθμός πελάτης συνδέθηκε επιτυχώς, τροφοδοτήσαμε το πρόγραμμα που συγκρίνει το πακέτο αυτό (association packet) με τις λέξεις από ένα ή περισσότερα «λεξικά» με τα οποία το τροφοδοτούμε. Η λειτουργία του προγράμματος αυτού, απεικονίζεται στην Εικόνα 7, την στιγμή που γίνεται έλεγχος της λέξης berNaDiNA. Στο πάνω μέρος της οθόνης βλέπουμε και το μέσο πλήθος λέξεων-κλειδιών που ελέγχονται ανά δευτερόλεπτο. Είναι προφανές ότι ο απαιτούμενος χρόνος εξαρτάται από το πλήθος των λέξεων ενός τέτοιου λεξικού.
Αφού ο σταθμός πελάτης συνδέθηκε επιτυχώς, τροφοδοτήσαμε το πρόγραμμα που συγκρίνει το πακέτο αυτό (association packet) με τις λέξεις από ένα ή περισσότερα «λεξικά» με τα οποία το τροφοδοτούμε. Η λειτουργία του προγράμματος αυτού, απεικονίζεται στην Εικόνα 7, την στιγμή που γίνεται έλεγχος της λέξης berNaDiNA. Στο πάνω μέρος της οθόνης βλέπουμε και το μέσο πλήθος λέξεων-κλειδιών που ελέγχονται ανά δευτερόλεπτο. Είναι προφανές ότι ο απαιτούμενος χρόνος εξαρτάται από το πλήθος των λέξεων ενός τέτοιου λεξικού.
Σε έναν Φορητό Η/Υ η ταχύτητα δοκιμής κλειδιών στο πακέτο handshake, ανέρχεται σε 300 περίπου κλειδιά το δευτερόλεπτο. Φυσικά ο τελικός χρόνος εξαρτάται από το μέγεθος του «λεξικού» που θα χρησιμοποιηθεί, ενώ μπορούν να χρησιμοποιηθούν ακολουθιακά, περισσότερα του ενός λεξικά.
Αν και η λέξη που χρησιμοποιήθηκε δεν υπάρχει στην αγγλική γλώσσα (στο λεξικό της Οξφόρδης βρέθηκε η λέξη “dimitrios” όχι όμως η λέξη “dimitris”), εντούτοις η λέξη αυτή υπήρχε στο «λεξικό» που χρησιμοποιήθηκε από το πρόγραμμα μας.
Η επιτυχής εύρεση του κλειδιού WPA ήρθε μετά από περίπου 15’. Όπως φαίνεται στην εικόνα 6, το κλειδί που χρησιμοποιήθηκε δεν ήταν αγγλική λέξη. Είναι προφανές ότι η επιτυχής έκβαση της συγκεκριμένης τεχνικής εξαρτάται αποκλειστικά από την «ποιότητα» του «λεξικού» που χρησιμοποιείται.
Όπως βλέπουμε η χρήση μίας απλής συνηθισμένης λέξης ως μυστικής λέξης-κλειδιού, σε ένα δίκτυο WPA, το καθιστά τρομακτικά ευάλωτο. Όσο πιο συνηθισμένη είναι αυτή η λέξη, τόσο αυξάνονται τρομακτικά οι πιθανότητες να υπάρχει σε τουλάχιστον ένα, από τα αρκετά ενημερωμένα και εκτενή «λεξικά» που χρειάζονται για αυτήν την δουλειά, και κυκλοφορούν ευρέως στο διαδίκτυο. Αντιθέτως η χρήση ως μίας τέτοιας λέξης-κλειδιού μίας λέξης που δεν υπάρχει σε λεξικό, δυσχεραίνει πάρα πολύ τον επίδοξο εισβολέα. Αν μάλιστα η όποια λέξη συνδυαστεί με κάποια σημεία στίξης και με κάποια από τα γράμματα της κεφαλαία, τότε καθιστά αδύνατη (πρακτικά) την ανεύρεση της.
Χαρτογράφηση & Κατανομή ασύρματων δικτύων
Στην προσπάθεια μας να συμβάλλουμε στην ασφάλεια των ασύρματων δικτύων στην Ελλάδα, και γνωρίζοντας πόσο παραμελημένος είναι αυτός ο τομέας, αποφασίσαμε να χαρτογραφήσουμε μία περιοχή της Θεσσαλονίκης, αποτυπώνοντας στον χάρτη το είδος των ασύρματων δικτύων που είναι «ενεργά» στην περιοχή. Στο Παράρτημα, Πίνακα 5 βλέπουμε την καταγραφή ενεργών δικτύων κατά την στιγμή της έρευνας.Η έρευνα πραγματοποιήθηκε την Κυριακή 24 Φεβρουαρίου 2008 στο κέντρο της Θεσσαλονίκης. Καλύψαμε μία διαδρομή περίπου 4 χιλιομέτρων, κατά μήκος της οποίας «ανακαλύψαμε» περίπου 122 ασύρματα δίκτυα. Τα αποτελέσματα σχετικά με τα κρυπτογραφικά πρωτόκολλα που χρησιμοποιούσαν ήταν απογοητευτικά έως τραγικά. Ελάχιστα δίκτυα χρησιμοποιούσαν κρυπτογράφηση WPA. Το 44% των δικτύων χρησιμοποιεί το τελείως ανασφαλές όπως προαναφέρθηκε πρωτόκολλο WEP, και το υπόλοιπο 48% δεν χρησιμοποιεί κανενός είδους κρυπτογράφηση. Μόνο ένα 8% χρησιμοποιεί το ασφαλές σήμερα WPA.
Μέσα στο 48% των δικτύων χωρίς κρυπτογράφηση, είναι αρκετά δίκτυα που υλοποιούν την πρόσβαση μέσω χρήσης συνθηματικών εισόδου. Σε πολλά από αυτά όμως φαίνεται καθαρά η απειρία του εγκαταστάτη τους. Έχουν σαν SSID το όνομα δικτύου του κατασκευαστή (default) και είναι ρυθμισμένα στην αρχική (default) συχνότητα. Συνήθως τα περισσότερα Access Points έχουν ως συχνότητα προεπιλογής την 6 ή την 11. Στα περισσότερα αντίστοιχα πεδία της εικόνας 8, υπάρχουν αυτές οι συχνότητες.
Τα στοιχεία δείχνουν ότι υπάρχει σοβαρότατο πρόβλημα ασφαλείας. Οι άνθρωποι απλώς παραβλέπουν τον τομέα της ασφάλειας, είτε απλώς δεν είναι ενημερωμένοι. Έτσι εκτίθενται στο μικρότερο κίνδυνο, που είναι να συνδέεται κάποιος ή κάποιοι δωρεάν στο διαδίκτυο μέσω του δικτύου τους, έως τους πολύ σοβαρότερους κινδύνους της απώλειας, καταστροφής, ακόμη και ομηρείας εταιρικών ή προσωπικών ευαίσθητων δεδομένων. Είναι καιρός να ευαισθητοποιηθούν οι φορείς, και να διοργανωθεί μία πανελλήνια καμπάνια ενημέρωσης των χρηστών για τους σοβαρότατους κινδύνους που διατρέχουν.
Συμπεράσματα
Η κρυπτογράφηση των ασύρματων δικτύων έχει φτάσει πλέον σε ικανοποιητικά επίπεδα. Αν χρησιμοποιηθούν οι νέες τεχνικές και τεχνολογίες, τότε ένα τέτοιο δίκτυο είναι πρακτικά απαραβίαστο. Για να συμβεί αυτό θα πρέπει να συντρέχουν μία σειρά από προϋποθέσεις:
- Πρέπει οπωσδήποτε να χρησιμοποιείται ως πρωτόκολλο κρυπτογράφησης του δικτύου, τουλάχιστον το WPA, με προτιμητέο το WPA2.
- Πρέπει να επιλέγεται ως μυστική λέξη-κλειδί του δικτύου μία λέξη που να μην υπάρχει σε λεξικό και να είναι ικανοποιητικού μεγέθους (μπορεί να είναι μήκους 20 χαρακτήρων). Πρέπει επίσης να περιέχονται στην λέξη κάποια γράμματα σε κεφαλαία, και κάποια σύμβολα (8,&,^,% $ κτλ).
- Η μυστική λέξη-κλειδί θα πρέπει να αλλάζει κατά τακτά χρονικά διαστήματα. Έτσι αποφεύγονται και οι επιθέσεις λεξικού, αλλά και οι πολύ πιθανές διαρροές λόγω του ανθρώπινου παράγοντα.
- Σε καμία περίπτωση δεν πρέπει να χρησιμοποιείται πλέον το πρωτόκολλο WEP. Είναι τελείως ανασφαλές και η χρήση του ισοδυναμεί με την μη χρήση κρυπτογραφικής μεθόδου.
Σχόλια
Σε ότι αφορά το ανοιχτό δίκτυο, OpenWIFI έχει γίνει μια τεράστια συζήτηση στο blog του Schneier. Ο ίδιος υποστηρίζει ότι έχει ανοιχτό WiFi στο σπίτι του.
Και στο συνέδριο στο Πόρτο, που παρουσίασα την εργασία, αυτό ήταν το θέμα συζήτησης. (it is more terrifying that those attacks can happen under Windows OS...)
σε περιπτώσεις εταιρειών η χρήση συσκευών όπως Cyberoam ή Fortinet με ενσωματομένη ασύρματη δυνατότητα είναι απαραίτητες.