Paper: The Return of Coppersmith s Attack: Practical Factorization of Widely Used RSA Moduli Η έρευνα αναφέρεται στην ανακάλυψη ενός ελαττώματος στην δημιουργία primes, με συγκεκριμένη δομή, του RSA αλγόριθμου. Ο RSA είναι ένας διαδεδομένος αλγόριθμος για ασύμμετρη κρυπτογραφία και χρησιμοποιείται για digital signatures και κρυπτογράφηση μηνυμάτων. Η ασφάλεια βασίζεται στο πρόβλημα της παραγοντοποίησης ακεραίου και θεωρείται υπολογιστικά αδύνατο ή πολύ δύσκολα επιλύσιμο για μεγάλες παραμέτρους όπως το μέγεθος των private primes και το μέγεθος του public modulus N. Το πιο κοινό μέγεθος Ν είναι 2048 bits, το μικρότερο μέγεθος είναι 1024 bits και μεγαλύτερο μέγεθος είναι 4096 bits. 1. Ο RSA χρειάζεται δύο μεγάλους τυχαίους primes (p και q) για την παραγωγή του public modulus N. 2. Υπολογισμός του public modulus Ν = p * q και 3. Υπολογισμός του φ(ν) = (p - 1) * (q - 1) 4. Επιλογή ενός relative prime (e) του φ(ν) όπου e < φ(ν) 5. Υπολογισμός του d ως εξής d * e 1 (mod φ(ν)) Το ζευγάρι {e,n} αποτελεί το public key ενώ το ζευγάρι {d,n} αποτελεί το private key Οι επιτυχείς επιθέσεις στον RSA βασίζονται στην παραγοντοποίηση ακεραίου. Ο attacker βρίσκει τα primes από το public modulus N, υπολογίζει το private key του ιδιοκτήτη και αποκρυπτογραφεί τα μηνύματα. Οι κατασκευασμένοι primes μπορούν να δημιουργήσουν νέα προβλήματα, σύμφωνα με το άρθρο. Στο παρελθόν, επιθέσεις κατά του RSA εκμεταλλεύτηκαν τη χρήση κλειδιών μικρού μήκους (π.χ., 512 bits) που παράχθηκαν από ελαττωματικές ή αδύναμες γεννήτριες τυχαίων αριθμών. Η γνώση ή ανάκτηση όλων των bits ενός private key δεν απαιτείται πάντα για επιτυχημένη επίθεση χάρη στην ισχυρή τεχνική του Coppersmith. Σύμφωνα με την τεχνική αυτή εάν είναι γνωστό το ήμισυ των bits ενός από τα primes, τα υπόλοιπα bits μπορούν να ανακτηθούν υπολογιστικά. Το άρθρο αναφέρεται στην επίθεση κατά των κλειδιών που δημιουργήθηκαν στις κρυπτογραφικές smartcards της Infineon Technologies AG. Συγκεκριμένα, δεν βασίζεται σε οποιαδήποτε αδυναμία μιας γεννήτριας τυχαίων bits ή σε οποιαδήποτε side-channel πληροφορία. Χρησιμοποιεί τη συγκεκριμένη δομή των primes η οποία επιτρέπει την γρήγορη αναγνώριση των κλειδιών χρησιμοποιώντας μόνο το public modulus N και ανεξαρτήτως μεγέθους κλειδιού. Γίνεται παραγοντοποίηση RSA κλειδιών μέχρι 2048 bits και χρησιμοποιείται η γνώση της συγκεκριμένης δομής για να εφαρμοστεί η μέθοδος του Coppersmith.
Μια επίθεση παραγοντοποίησης επιχειρεί να βρει τα primes p και q από τη γνώση του Ν. Είναι μη υπολογιστικά εφικτή για μακρύ Ν. Η παραγοντοποίηση μπορεί να επιταχυνθεί εάν γνωρίζει ο attacker κάποια πρόσθετη πληροφορία για το private d ή τα primes p ή q είναι γνωστά. Η μορφή των εν λόγω primes είναι ως εξής: p = k M + (65537^a mod M), όπου οι ακέραιοι k και a είναι άγνωστοι και ο ακέραιος M είναι γνωστός και είναι ίσος με το πηλίκο των πρώτων n διαδοχικών primes. Οι RSA primes διαφέρουν μόνο στις τιμές των k και a για κλειδιά ίδιου μεγέθους. Η βασική ιδέα είναι: Το μέγεθος του Μ είναι πολύ μεγαλύτερο από το απαιτούμενο για αυτό πρέπει να βρούμε ένα μικρότερο Μ με μικρότερο αντίστοιχο αριθμό προσπαθειών. Τα primes πρέπει να έχουν ακόμα την εν λόγω μορφή. Το Μ να αντικατασταθεί από το Μ και τα a, k να αντικατασταθούν με τα a, k. Αφού τα primes πρέπει να έχουν ακόμα την εν λόγω μορφή τότε και το Ν έχει την εν λόγω μορφή. Ο χρόνος της παραγοντοποίησης πρέπει να είναι ο ελάχιστος. Επαληθεύτηκε η μέθοδος παραγοντοποίησης που προτείνεται στο άρθρο σε πολλαπλά τυχαία επιλεγμένα κλειδιά των 512 και 1024 bits. Έγινε έρευνα σε διάφορους τομείς. Για παράδειγμα, η δημόσια υπηρεσία αναζήτησης της Εσθονίας επέτρεψε την τυχαία δειγματοληψία των public keys των πολιτών και αποκάλυψε ότι περισσότερα από τα μισά από τα eid των κανονικών πολιτών είναι ευάλωτα και ότι όλα τα κλειδιά για τους κατοίκους ηλεκτρονικής κατοικίας (e-residents) είναι ευάλωτα. Μερικοί ακόμη τομείς στους οποίους έγινε έρευνα και βρήκαν αρκετά ευπαθή κλειδιά είναι GitHub, Pretty Good Privacy (PGP), Trusted Platform Modules (TPMs), TLS/HTTPS κ.α. Συμπερασματικά, οι βελτιστοποιήσεις που προωθήθηκαν από την υψηλότερη απόδοση στη διαδικασία δημιουργίας κλειδιών οδήγησαν κατά λάθος σε σημαντικά εξασθενημένη ασφάλεια των παραγόμενων κλειδιών. Οι primes κατασκευάζονται με μια συγκεκριμένη δομή που καθιστά πρακτικά εφικτή την παραγοντοποίηση των RSA κλειδιών διάφορων μεγεθών (συμπεριλαμβανομένων των 1024 και 2048 bits) με μόνο τη γνώση του δημόσιου συντελεστή Ν. Ακόμα χειρότερα, τα κλειδιά φέρουν ένα ισχυρό fingerprint, καθιστώντας τα εύκολα αναγνωρίσιμα στο φυσικό περιβάλλον. Για να ποσοτικοποιήσουν και να μετριάσουν τις επιπτώσεις αυτής της ευπάθειας, ερεύνησαν πολλούς τομείς όπου αναπτύσσεται ο αλγόριθμος RSA. Με βάση τη συγκεκριμένη δομή των primes, επινόησαν έναν πολύ γρήγορο αλγόριθμο για τον εντοπισμό όλων των ευπαθών κλειδιών ακόμη και σε πολύ μεγάλες σειρές δεδομένων όπως το TLS. Όπου λείπουν δημόσια σύνολα δεδομένων (eid, TPM, κλπ.), επιχείρησαν να συλλέξουν μερικά κλειδιά από μόνοι τους. Τα αποτελέσματα επιβεβαίωσαν τη χρήση της RSALib που παράγει ευάλωτα κλειδιά RSA σε πολλούς τομείς. Η έρευνα υπογραμμίζει τους κινδύνους που ενέχει η διατήρηση του μυστικού σχεδιασμού και της εφαρμογής closed-source, ακόμη και αν και οι δύο αναλύονται διεξοδικά και πιστοποιούνται από ειδικούς. Η έλλειψη δημόσιων
πληροφοριών προκαλεί καθυστέρηση στην ανακάλυψη ελαττωμάτων (και παρεμποδίζει τη διαδικασία ελέγχου αυτών), αυξάνοντας έτσι τον αριθμό των ήδη αναπτυγμένων και επηρεαζόμενων συσκευών κατά το χρόνο ανίχνευσης Ενθαρρύνεται η χρήση του εργαλείου που προτείνεται στο άρθρο για την ανίχνευση των ευπαθών κλειδιών και την ειδοποίηση των εμπλεκόμενων φορέων εάν εντοπιστούν! Paper: Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2 Το Wi-Fi Protected Access (WPA) και το Wi-Fi Protected Access II (WPA2) είναι δύο πρωτόκολλα ασφαλείας και προγράμματα πιστοποίησης ασφάλειας που αναπτύχθηκαν από τη Wi-Fi Alliance για την εξασφάλιση ασύρματων δικτύων υπολογιστών. Η Wi-Fi Alliance όρισε αυτά ως απάντηση σε σοβαρές αδυναμίες που οι ερευνητές είχαν βρει στο προηγούμενο σύστημα, το Wired Equivalent Privacy (WEP). Στο άρθρο ανακάλυψαν σοβαρές αδυναμίες στο WPA2, ένα πρωτόκολλο που εξασφαλίζει όλα τα σύγχρονα προστατευμένα δίκτυα Wi-Fi. Ένας εισβολέας που βρίσκεται μέσα στο φάσμα ενός θύματος μπορεί να εκμεταλλευτεί αυτές τις αδυναμίες χρησιμοποιώντας βασικές επιθέσεις επανεγκατάστασης. Συγκεκριμένα, οι επιτιθέμενοι μπορούν να χρησιμοποιήσουν αυτή τη νέα τεχνική επίθεσης για να διαβάσουν πληροφορίες που προηγουμένως υποτίθεται ότι ήταν ασφαλώς κρυπτογραφημένες. Αυτό μπορεί να καταστρατηγηθεί για να κλέψουν ευαίσθητες πληροφορίες όπως αριθμοί πιστωτικών καρτών, κωδικοί πρόσβασης, μηνύματα συνομιλίας, μηνύματα ηλεκτρονικού ταχυδρομείου, φωτογραφίες κ.ο.κ. Η επίθεση λειτουργεί ενάντια σε όλα τα σύγχρονα προστατευμένα δίκτυα Wi-Fi. Ανάλογα με τη διαμόρφωση του δικτύου, είναι επίσης δυνατή η εισχώρηση και ο χειρισμός δεδομένων. Για παράδειγμα, ένας εισβολέας ενδέχεται να είναι σε θέση να εισχωρήσει κακόβουλο λογισμικό σε ιστότοπους. Ως απόδειξη της ιδέας εκτέλεσαν μια επίθεση επανεγκατάστασης κλειδιού ενάντια σε ένα smartphone Android. Συγκεκριμένα, ο εισβολέας είναι σε θέση να αποκρυπτογραφήσει όλα τα δεδομένα που μεταδίδει ο θύμα. Για έναν εισβολέα αυτό είναι εύκολο να επιτευχθεί, επειδή η επίθεσή που παρουσιάζεται στο άρθρο για επανεγκατάσταση κλειδιών είναι εξαιρετικά καταστροφική για το Linux και το Android 6.0. Αυτό οφείλεται στο γεγονός ότι τα Android και Linux μπορούν να εξαπατηθούν για να (επαν) εγκαταστήσουν ένα κλειδί κρυπτογράφησης με μηδενική τιμή. Σημειώστε ότι σήμερα το 50% των συσκευών Android είναι ευάλωτες σε αυτήν την εξαιρετικά καταστροφική παραλλαγή της επίθεσης που παρουσιάζεται. Η επίθεσή δεν περιορίζεται στην ανάκτηση των login credentials. Γενικά, οποιαδήποτε δεδομένα ή πληροφορίες που μεταδίδει το θύμα μπορούν να αποκρυπτογραφηθούν.
Επιπλέον, ανάλογα με τη συσκευή που χρησιμοποιείται και τη ρύθμιση δικτύου, είναι επίσης δυνατή η αποκρυπτογράφηση δεδομένων που αποστέλλονται προς το θύμα. Η κύρια επίθεσή είναι ενάντια στη 4-way handshake του πρωτοκόλλου WPA2. Αυτή η χειραψία εκτελείται όταν ένας χρήστης θέλει να συμμετάσχει σε ένα προστατευμένο δίκτυο Wi-Fi και χρησιμοποιείται για να επιβεβαιώσει ότι τόσο ο χρήστης όσο και το σημείο πρόσβασης έχουν τα σωστά credentials (π.χ. τον pre-shared κωδικό πρόσβασης του δικτύου). Ταυτόχρονα, η 4-way handshake διαπραγματεύεται επίσης ένα νέο κλειδί κρυπτογράφησης που θα χρησιμοποιηθεί για την κρυπτογράφηση όλων των μεταγενέστερων traffic. Επί του παρόντος, όλα τα σύγχρονα προστατευμένα δίκτυα Wi-Fi χρησιμοποιούν την 4-way handshake. Αυτό συνεπάγεται ότι όλα αυτά τα δίκτυα επηρεάζονται (από κάποια παραλλαγή) από την επίθεσή. Για παράδειγμα, η επίθεση λειτουργεί ενάντια σε προσωπικά και επιχειρησιακά δίκτυα Wi-Fi, σε σχέση με το παλαιότερο πρότυπο WPA και το πιο πρόσφατο πρότυπο WPA2, ακόμη και ενάντια σε δίκτυα που χρησιμοποιούν μόνο AES. Σε μια επίθεση επανεγκατάστασης κλειδιού, ο attacker κόβει ένα θύμα να επανεγκαταστήσει ένα κλειδί που ήδη χρησιμοποιείται. Αυτό επιτυγχάνεται με το χειρισμό και την επανάληψη των κρυπτογραφικών μηνυμάτων χειραψίας. Όταν το θύμα επανεγκαταστήσει το κλειδί, οι συνδεδεμένες παράμετροι όπως ο transmit packet number (Nonce) και ο receive packet number (replay counter) επαναφέρονται στην αρχική τους τιμή. Ουσιαστικά, για να διασφαλιστεί η ασφάλεια, ένα κλειδί θα πρέπει να εγκατασταθεί και να χρησιμοποιηθεί μόνο μία φορά. Δυστυχώς, διαπιστώθηκε ότι αυτό δεν είναι εγγυημένο από το πρωτόκολλο WPA2. Με το χειρισμό των κρυπτογραφικών χειραψιών, ο attacker μπορεί να καταχραστεί αυτή την αδυναμία στην πράξη. Η ιδέα πίσω από μια σημαντική επίθεση επανεγκατάστασης μπορεί να συνοψιστεί ως εξής. Όταν ένας χρήστης συνδέεται σε ένα δίκτυο, εκτελεί την 4-way handshake για να διαπραγματευτεί ένα νέο κλειδί κρυπτογράφησης. Θα εγκαταστήσει αυτό το κλειδί αφού λάβει το μήνυμα 3 της 4-way handshake (Βλ. Εικόνα 1). Μόλις εγκατασταθεί το κλειδί, θα χρησιμοποιηθεί για την κρυπτογράφηση κανονικών πλαισίων δεδομένων χρησιμοποιώντας ένα πρωτόκολλο κρυπτογράφησης. Ωστόσο, επειδή τα μηνύματα ενδέχεται να χαθούν ή να αποσυρθούν, το Access Point (AP) θα αναμεταδώσει το μήνυμα 3 εάν δεν λάβει την κατάλληλη απάντηση ως επιβεβαίωση (δηλ. το μήνυμα 4). Ως αποτέλεσμα, ο χρήστης μπορεί να λάβει το μήνυμα 3 πολλές φορές. Κάθε φορά που λαμβάνει αυτό το μήνυμα, θα επανεγκαταστήσει το ίδιο κλειδί κρυπτογράφησης και, με τον τρόπο αυτό, θα επαναφέρει τον transmit packet number (nonce) και τον receive replay counter που χρησιμοποιείται από το πρωτόκολλο κρυπτογράφησης. Στο άρθρο υπογραμμίζουν ότι ένας εισβολέας μπορεί να εξαναγκάσει αυτές τις επαναλήψεις nonce, συλλέγοντας και επαναλαμβάνοντας τις αναμεταδόσεις του μηνύματος 3 της 4-way handshake. Με την εξαναγκασμένη επαναχρησιμοποίηση nonce, μπορεί να επιτεθεί στο πρωτόκολλο κρυπτογράφησης, π.χ., τα πακέτα μπορούν να επαναληφθούν, να
αποκρυπτογραφηθούν ή / και να πλαστοποιηθούν. Η ίδια τεχνική μπορεί επίσης να χρησιμοποιηθεί για να επιτεθεί το group key, PeerKey, TDLS, και fast BSS transition handshake. Η αποκρυπτογράφηση των πακέτων είναι δυνατή επειδή μια επίθεση επανεγκατάστασης κλειδιού προκαλεί την επαναφορά των transmit packet number (nonce) και receive replay counter στην αρχική τους τιμή. Ως αποτέλεσμα, το ίδιο κλειδί κρυπτογράφησης χρησιμοποιείται με τις τιμές nonce που έχουν ήδη χρησιμοποιηθεί στο παρελθόν. Με τη σειρά του, αυτό προκαλεί όλα τα πρωτόκολλα κρυπτογράφησης του WPA2 να επαναχρησιμοποιήσουν το keystream όταν κρυπτογραφούν τα πακέτα. Αυτό το keystream μπορεί στη συνέχεια να χρησιμοποιηθεί για την αποκρυπτογράφηση μηνυμάτων με το ίδιο nonce. Εάν το θύμα χρησιμοποιεί είτε το πρωτόκολλο κρυπτογράφησης WPA-TKIP είτε GCMP, αντί του AES-CCMP, ο αντίκτυπος είναι ιδιαίτερα καταστροφικός. Ενάντια σε αυτά τα πρωτόκολλα κρυπτογράφησης, η nonce επαναχρησιμοποίηση επιτρέπει στον εισβολέα όχι μόνο να αποκρυπτογραφεί, αλλά και να πλαστογραφήσει και να εισάγει πακέτα. Επιπλέον, επειδή το GCMP χρησιμοποιεί το ίδιο κλειδί ελέγχου ταυτότητας και στις δύο κατευθύνσεις επικοινωνίας, όπου αυτό το κλειδί μπορεί να ανακτηθεί εάν τα nonces επαναχρησιμοποιούνται, επηρεάζοντας σημαντικά την επικοινωνία. Τα WPA-TKIP, GCMP και AES-CCMP είναι πρωτόκολλα κρυπτογράφησης. Συγκεκριμένα το WPA-TKIP χρησιμοποιεί RC4 stream cipher και χρησιμοποιείται από το WPA, το AES- CCMP χρησιμοποιεί AES stream cipher και το GCMP χρησιμοποιείται από το WPA2. Τέλος, σημειώστε ότι οι επιθέσεις που παρουσιάζονται στο άρθρο δεν ανακτούν τον κωδικό πρόσβασης του δικτύου Wi-Fi. Επίσης, δεν ανακτούν (κανένα μέρος) του νέου κλειδιού κρυπτογράφησης που είναι αντικείμενο διαπραγμάτευσης κατά τη διάρκεια της 4-way handshake.
Εικόνα 1