Σάββατο 18 Οκτωβρίου 2014

Μαθήματα κρυπτογραφίας

Σήμερα μπορεί κάποιος πολύ εύκολα και δωρεάν να κάνει online μαθήματα κρυπτογραφίας. Ακολουθούν μερικά από τα αγαπημένα μου link

Stanford, Cryptography I, Coursera

Το coursera είναι ίσως το πιο γνωστό σύστημα online σύστημα διδασκαλίας. Ο Dan Boneh είναι ίσως από τους κορυφαίου κρυπτογράφους. Στο Crypography I, o Dan Boneh μας εισάγει στον κόσμο της κρυπτογραφίας. Ο τρόπος που κάνει το μάθημα είναι απολύτως κατανοητός και ευχάριστος. Μπορείτε και εσείς να παρακολουθήσετε το μάθημα ακολουθώντας τον παρακάτω σύνδεσμο: https://www.coursera.org/course/crypto

Khan Academy, Journey into cryptography

To Khan Academy είναι ακόμη μια online πλατφόρμα εκμάθησης. Ένα από τα μαθήματα που προσφέρει είναι το Journey into cryptography το οποίο είναι ένα εισαγωγικό μάθημα στην κρυπτογραφία. Πολύ ωραία βίντεο και γραφικά, πολύ εύκολα στην κατανόηση. Μπορείτε να παρακολουθήσετε τα μαθήματα εδώ: https://www.khanacademy.org/computing/computer-science/cryptography

Cryptography Textbook

Ο Christof Paar είναι καθηγητής του πανεπιστημίου Ruhr και ένας από τους συγγραφείς του βιβλίου Undestanding Cryptography.  Ως συνοδευτικό του βιβλίου του έχει βιντεοσκοπήσει τις σχετικές διαλέξεις που έχει δώσει στους φοιτητές του και τις προσφέρει σε όλους. Πολύ αναλυτικός και κατανοητός. Ειδικά το κομμάτι για τις ελλειπτικές καμπύλες το εξηγεί καλύτερα από όλους. Τα βίντεο του είναι διαθέσιμα εδώ: http://www.crypto-textbook.com/ στην ενότητα Online course.

3rd BIU Winter School on Cryptography 2013

Το πανεπιστήμιο Bar-Ilan διοργάνωσε το 2013 ένα σχολείο κρυπτογραφίας. Οι διαλέξεις υπάρχουν διαθέσιμες στο Youtube και μπορείτε να τις δείτε ακολουθώντας τον σχετικό σύνδεσμο που υπάρχει στην σελίδα του σχολείου: http://crypto.biu.ac.il/winterschool2013/ Οι διαλέξεις αφορούν νέες μορφές κρυπτογραφίας, οι οποίες βρίσκονται κατά κύριο λόγο σε ερευνητικό επίπεδο. 

Πέμπτη 17 Ιουλίου 2014

TrueCrypt: η άνοδος και το μυστηριώδες τέλος


Το TrueCrypt ήταν ένα από τα πιο διαδεδομένα προγράμματα κρυπτογράφησης αρχείων (και ολόκληρων δίσκων) με φανατικούς χρήστες (συμπεριλαμβανομένου και του Edward Snowden), αλλά και φανατικούς εχθρούς (κυρίως μυστικές υπηρεσίες). Η ανάπτυξη του ξεκίνησε το 2004 από ανώνυμους προγραμματιστές, οι οποίοι το 2014 έθεσαν τέλος στο πρόγραμμα με ένα μυστηριώδες τρόπο.

Το TrueCrypt ξεκίνησε τον Φεβρουάριο του 2004, βασιζόμενο στο E4M (Encryption for Masses), από ανώνυμους προγραμματιστές. Σύντομα όμως η διανομή του σταμάτησε εξαιτίας νομικών αντιδικιών ανάμεσα στον δημιουργό του E4M  Paul Le Roux και της πρώην εταιρεία του SecurStar. Τον Ιούνιο του 2004 κυκλοφόρησε η δεύτερη έκδοση του λογισμικού. Ο ιδιοκτήτης της ψηφιακής υπογραφής που είχε χρησιμοποιηθεί για αυτή την έκδοση, διέφερε από αυτόν της πρώτης, που σήμαινε πως είτε άλλαξαν προγραμματιστές, είτε χρησιμοποιούσαν νέα (κρυπτογραφικά) κλειδιά για την δημιουργία της υπογραφής.

Ένα ιδιαίτερο χαρακτηριστικό του TrueCrypt ήταν η δυνατότητα "εύλογης άρνησης" (plausible deniability): οι χρήστες μπορούσαν κρυπτογραφήσουν αρχεία με δύο κωδικούς, έναν πραγματικό και ένα ψεύτικο. Ο πραγματικός κωδικός ξεκλείδωνε πράγματι τα αρχεία του χρήστη.  Ο ψεύτικος κωδικός "ψευτο-" ξεκλείδωνε τα αρχεία και εμφάνιζε ως αποκρυπτογραφημένη απάντηση, αληθοφανή,  αθώα αρχεία. Η δυνατότητα αυτή ήταν ιδιαίτερα αγαπητή σε ακτιβιστές των οποίων οι υπολογιστές γινόντουσαν συχνά αντικείμενο κατάσχεσης στα αεροδρόμια.

Τον Οκτώβριο του 2013 ξεκίνησε από τους Kenneth White και Matthew Green μια προσπάθεια για ένα ενδελεχή έλεγχο (audit) της ασφάλειας του TrueCrypt. Η πρώτη φάση ολοκληρώθηκε τον Απρίλιο του 2014 και προς μεγάλη χαρά των χρηστών του προγράμματος, σύμφωνα με την σχετική αναφορά [1], δεν βρέθηκε κάποιο σημαντικό σφάλμα

Και τότε το απροσδόκητο συνέβη. Στις 28 Μαΐου 2014, η αρχική σελίδα του επίσημου site του προγράμματος (truecrypt.org) αντικαταστάθηκε από μια λιτή ανακοίνωση που ενημέρωνε του χρήστες πως το TrueCrypt δεν είναι πλέον ασφαλές. Συνιστούσε μάλιστα  την αντικατάσταση του με το πρόγραμμα bitlocker της Microsoft το οποίο έρχεται προ-εγκατεστημένο με τα Windows 8. Στο site υπήρχε επίσης η έκδοση 7.2 του προγράμματος, η οποία υποστήριζε μόνο την διαδικασία αποκρυπτογράφησης.

Οι φήμες άρχισαν να οργιάζουν. Τι πραγματικά έγινε; Ήταν η σελίδα πραγματική; Σύντομα επιβεβαιώθηκε πως η έκδοση 7.2 έφερε την σωστή ψηφιακή υπογραφή. Φαινόταν πως όντως το τέλος για το TrueCrypt είχε φτάσει. Γιατί όμως; Ποιοι ήταν πίσω από την ομάδα; Ίσως είναι κάτι που δεν θα μάθουμε ποτέ

Παραπομπές:
  1. Open Crypto Audit Project TrueCrypt, [Online], τελευταία πρόσβαση 18 Ιουλ. 2014


Πέμπτη 24 Απριλίου 2014

Heartbleed: Η καρδιά της ασφάλειας του διαδικτύου αιμορραγεί!


Αρκετοί είπαν πως είναι το χειρότερο κενό ασφαλείας στην ιστορία του διαδικτύου. Σίγουρα όμως είναι το κενό ασφαλείας που έλαβε την μεγαλύτερη προσοχή από τα μέσα ενημέρωσης τα τελευταία χρόνια. Και όχι άδικα: το κενό αυτό, που όπως φαίνεται υπήρχε εδώ και δύο χρόνια, άφησε ευάλωτα μερικά από τα μεγαλύτερα site, όπως το facebook και το google. Πρόκειται για το heartbleed, ένα κενό ασφαλείας στην πιο διαδεδομένη υλοποίηση του TLS, το openSSL.

To TLS είναι το πιο διαδεδομένο πρωτόκολλο προστασία των ηλεκτρονικών μας επικοινωνίες. Είναι (μεταξύ άλλων) το γνωστό λουκέτο που βλέπουμε όταν επισκεπτόμαστε μια ασφαλή σελίδα (π.χ. https://www.facebook.com).  Η πιο δημοφιλείς υλοποίηση του TLS είναι το openSSL, μια δωρεάν υλοποίηση, ανοιχτού λογισμικού, που χρησιμοποιείται στα πιο γνωστά site.

To 2012 η IETF δημοσιοποίησε μια επέκταση για το TLS με την ονομασία heartbeat. Η επέκταση αυτή επιτρέπει στο να εντοπίζει κάποιος κόμβος αν μια ασφαλή σύνδεση έχει διακοπεί. Πως επιτυγχάνεται αυτό: εφόσον δύο κόμβοι έχουν δημιουργήσει μια ασφαλή σύνδεση μεταξύ τους, οποιαδήποτε στιγμή, κάποιος από τους δυο μπορεί να στείλει ένα heartbeat μήνυμα, το οποίο ο άλλος πρέπει να το επαναλάβει.

Ας δούμε λοιπόν τις τεχνικές λεπτομέρειες του προβλήματος. Στην παρακάτω εικόνα φαίνεται η δομή ενός heartbeat μηνύματος

Η μεταβλητή payload_length δείχνει το μέγεθος του μηνύματος το οποίο είναι αποθηκευμένο στη μεταβλητή payload. Ας αγνοήσουμε τα υπόλοιπα πεδία. Στην επόμενη εικόνα φαίνεται ένα κομμάτι του κώδικα του openSSL που χειρίζεται αυτά τα μηνύματα


Στην γραμμή 2414 ο κώδικας αναθέτει στην μεταβλητή payload την τιμή του πεδίου payload_length. Στην γραμμή 2431 ο κώδικας δεσμεύει τόση μνήμη όση το payload συν κάποιες μεταβλητές και στην γραμμή 2437 ο κώδικας αντιγράφει στην δεσμευμένη μνήμη το heartbeat μήνυμα. Τέλος στην γραμμή 2439 δημιουργείται η απάντηση προς τον χρήστη. Ποιο είναι το πρόβλημα εδώ λοιπόν; Το πρόβλημα είναι στο ότι ο κώδικας δεν ελέγχει αν η μεταβλητή payload_length ανταποκρίνεται όντως στο μέγεθος του heartbeat μηνύματος: αν η μεταβλητή αυτή είναι μεγαλύτερη από το μήκος του μηνύματος, τότε ο κώδικας ξεκινάει και αντιγράφει στην γραμμή 2431 δεδομένα που υπάρχουν στην μνήμη του server που δημιουργεί την απάντηση! Φαίνεται μάλιστα πως αυτή είναι μια ειδικά προστατευμένη μνήμη όπου αποθηκεύονται ευαίσθητα δεδομένα όπως το ιδιωτικό κλειδί του server και οι κωδικοί των χρηστών.

Το bug αυτό μπορεί να το εκμεταλλευτεί οποιοσδήποτε πολύ εύκολα Φαίνεται μάλιστα πως η NSA το ήξερε από καιρό, αφού σύμφωνα με το Bloomberg1 η NSA χρησιμοποιούσε αυτό το bug τα τελευταία 2 χρόνια για να υποκλέψει ευαίσθητα δεδομένα.

Παραπομπές:
  1. M. Riley, "NSA Said to Exploit Heartbleed Bug for Intelligence for Years," Bloomberg, 12 Απρ. 2014, τελευταία πρόσβαση 24 Απρ. 2014 [online]


Δευτέρα 24 Μαρτίου 2014

Το φίμωμα του twitter στην Τουρκία

Από τις 20 Μαρτίου, όσοι χρήστες από την Τουρκία προσπαθούν να μπουν στην σελίδα του twitter ανακατευθύνονται σε  μια σελίδα που τους ενημερώνει πως με εντολή δικαστηρίου η πρόσβαση στο twitter έχει απαγορευθεί. Αρχικά η τούρκικη αρχή τηλεπικοινωνιών (BTK) απέτρεπε την πρόσβαση στο twitter "πειράζοντας" τους DNS κόμβους των τούρκικων παρόχων. Το DNS είναι ένα ιεραρχικό δίκτυο από υπολογιστές, το οποίο μεταφράζει ονόματα, όπως το www.twitter.com, σε IP διευθύνσεις, όπως  199.16.156.38. Η μετάφραση αυτή είναι αναγκαία αφού οι υπολογιστές επικοινωνούν με IP διευθύνσεις και όχι με ονόματα. Για να μετατραπεί ένα όνομα σε μια διεύθυνση χρειάζονται ένας αριθμός από βήματα, τα οποία εκτελούνται σε διαφορετικούς κόμβους του DNS. Αν ο χρήστης δεν έχει αλλάξει κάποια ρύθμιση στον υπολογιστή του, το πρώτο βήμα εκτελείται σε κάποιον DNS κόμβο του παρόχου του. Η τούρκικη κυβέρνηση επέβαλε στους παρόχους να παρεμβαίνουν σε αυτό το βήμα και να επιστρέφουν μια λάθος διεύθυνση. Όμως ένα τέτοιο μέτρο είναι εύκολο να παρακαμφθεί, αφού οι χρήστες μπορούν εύκολα να αλλάξουν από ποιο κόμβο του DNS θα ξεκινάει η όλη διαδικασία. Σύντομα λοιπόν γκράφιτι σαν και αυτό της εικόνας άρχισαν να εμφανίζονται στους δρόμους.
Google DNS σε γκράφιτι
Τα γκράφιτι αυτά ενημέρωναν τον κόσμο για εναλλακτικούς κόμβους DNS που μπορούν να χρησιμοποιήσουν οι χρήστες. Ο συγκεκριμένος είναι είναι ένας κόμβος της υπηρεσίας Google DNS. Η τούρκικη κυβέρνηση δεν άργησε να αντιδράσει και προχώρησε αφενός στο φιλτράρισμα των εναλλακτικών DNS κόμβων, αφετέρου στο φιλτράρισμα μηνυμάτων που αποστέλλονται σε  IP διευθύνσεις που ανήκουν στο twitter. Ποια είναι λοιπόν πλέον τα "όπλα" των Τούρκων χρηστών;

Tweets μέσω sms
To twitter επιτρέπει την αποστολή tweets μέσω sms. Φαίνεται πως η υπηρεσία αυτή ακόμη λειτουργεί στην Τουρκία.

VPN
Το VPN είναι μια υπηρεσία που επιτρέπει την δημιουργία ενός ασφαλούς διαύλου μεταξύ δυο υπολογιστών και την δρομολόγηση όλων των δεδομένων μέσω αυτού του διαύλου. Για παράδειγμα το προϊόν freedome της f-secure δημιουργεί ένα τέτοιο δίαυλο μεταξύ της συσκευής του χρήστη και ενός server στην Φιλανδία.

Tor
Η αρχή λειτουργίας του δικτύου Τor μοιάζει με αυτή του VPN: όλα τα μηνύματα του χρήστη δρομολογούνται μέσω ειδικών κόμβων (τους Τor relays). Μια μεγάλη κοινότητα διατηρεί λίστα από τέτοιους κόμβους που οποιοσδήποτε μπορεί να χρησιμοποιήσει. Το Tor είναι από τους πιο ανθεκτικούς μηχανισμούς σε τέτοιου είδους λογοκρισία, μιας και καταφέρνει να διαπεράσει ακόμη και το ηλεκτρονικό σινικό τείχος που έχει στήσει η Κίνα. Φαίνεται μάλιστα πως ο αριθμός των χρηστών του Tor στην Τουρκία έχει εκτοξευτεί
Χρήστες του Tor στην Τουρκία πηγή: https://metrics.torproject.org



Κυριακή 2 Μαρτίου 2014

Gotofail, το bug της Apple που θα συζητιέται για καιρό

Ήταν backdoor ή όχι; Ήταν προγραμματιστικό λάθος ή το "χέρι" κάποιας μυστικής υπηρεσίας; Όποια και αν είναι η ιστορία πίσω από το σοβαρό αυτό bug στον κώδικα της Apple, ένα είναι το γεγονός: Θα συζητιέται για πολύ καιρό.

Όλα ξεκίνησαν στις 21 Φεβρουαρίου, όταν η Apple έβγαλε μια ενημέρωση για το iOS (το λειτουργικό σύστημα των iPhone, iPad, iPod). Μία μέρα μετά ο Adam Langley1 αποκάλυπτε τον κώδικα που διόρθωνε αυτή η ενημέρωση. Ο κώδικας ήταν ο παρακάτω:

Τί είναι λοιπόν αυτός ο κώδικας; Όταν ένας υπολογιστής επικοινωνεί μέσω https με μια σελίδα χρησιμοποιεί το πρωτόκολλο TLS. Το πρώτο βήμα που εκτελεί αυτό το πρωτόκολλο είναι η ανταλλαγή ενός κλειδιού κρυπτογραφίας το οποίο χρησιμοποιείται για να κρυπτογραφηθούν όλα τα επόμενα μηνύματα. Χονδρικά, όταν το απομακρυσμένο μηχάνημα στέλνει το κλειδί του, χρησιμοποιεί μια διαδικασία η οποία λέγεται ψηφιακή υπογραφή και στην ουσία πιστοποιεί ότι το κλειδί το έχει στείλει όντως το απομακρυσμένο μηχάνημα και όχι κάποιος τρίτος κακόβουλος χρήστης. Ο παραπάνω κώδικας λοιπόν πιστοποιεί την ψηφιακή υπογραφή.

Ας προσέξουμε λίγο τον κώδικα. Στην γραμμή 4 δημιουργεί μια μεταβλητή με όνομα err. Στις γραμμές 8 και 10 γεμίζει στην ουσία μια στοίβα και τον πραγματικό έλεγχο της υπογραφής τον κάνει στην γραμμή 13. Μέχρι και πριν την γραμμή 13 η μεταβλητή err που δημιουργήθηκε στην γραμμή 4, έχει την τιμή 0 που σημαίνει "όλα καλά". Στην γραμμή 13 λοιπόν αν η υπογραφή δεν επαληθευτεί, η err αποκτάει  μια άλλη τιμή και ο κώδικα "πηδάει" στη γραμμή 19 όπου και επιστρέφει την τιμή της μεταβλητής err. Με μια προσεχτική ματιά όμως θα διαπιστώσετε πως ο κώδικας δεν θα φτάσει ποτέ στην γραμμή 13. Αυτό οφείλετε στην εντολή που υπάρχει στην γραμμή 12. Αυτή η εντολή παρόλο που έχει κενό μπροστά της δεν ανήκει στο if της γραμμής 10 αλλά είναι μια εντολή που εκτελείται πάντα. Η εντολή αυτή κάνει τον κώδικα να πηδήξει στην γραμμή 19 και να επιστρέψει την τιμή της err η οποία όμως είναι 0! Αυτό που συμβαίνει δηλαδή είναι πως ποτέ δεν γίνεται έλεγχος της υπογραφής οπότε οποιοσδήποτε τρίτος μπορεί να "παρέμβει" και να υποκλέψει μια φαινομενικά ασφαλή επικοινωνία, χωρίς ο χρήστης να καταλάβει κάτι!

Το δυσάρεστο ήταν πως το σφάλμα αυτό επηρέαζε και το λειτουργικό σύστημα των υπολογιστών της Apple. Παρόλα αυτά η ενημέρωση για τους υπολογιστές άργησε μερικές μέρες αφήνοντας εκτεθειμένους χιλιάδες χρήστες.

Το bug αυτό, που θα μείνει στην ιστορία ως Gotofail bug, ξεσήκωσε πολλές συζητήσεις από το πώς πρέπει να γράφουμε κώδικα, μέχρι θεωρίες συνωμοσίας για το πώς  βρέθηκε το επιπλέον goto σε εκείνη την γραμμή.

Παραπομπές

  1. A. Langley, "Apple's SSL/TLS bug," Φεβ. 2014, [Online], Τελευταία πρόσβαση 3 Μαρ. 2014

Πέμπτη 30 Ιανουαρίου 2014

Η κλοπή ενός λογαριασμού στο twitter αξίας $50.000


Ο Naoki Hiroshima είναι ένας από τους παλιούς χρήστες του twitter. Τόσο παλιός που είχε καταφέρει και είχε γραφτεί με ένα username το οποίο περιείχε μόνο ένα γράμμα: το γράμμα Ν. Διάφοροι προσπάθησαν να αποκτήσουν τον λογαριασμό του, είτε προσφέροντάς του χρήματα—μέχρι και $50.000—είτε χρησιμοποιώντας κακόβουλες μεθόδους. Πρόσφατα κάποιος από την δεύτερη κατηγορία κατάφερε τελικά να του κλέψει τον λογαριασμό. Πως το κατάφερε όμως αυτό;

Ο Hiroshima χρησιμοποιούσε ως διεύθυνση email ένα domain όνομα το οποίο είχε καταχώρηση μόνος του από την υπηρεσία GoDaddy. Πως λειτουργεί ένα τέτοιο email; Ας υποθέσουμε πως το email του Hiroshima ήταν naoki@example.com (το email αυτό είναι φανταστικό και δεν υπάρχει). Για να φτάσει έναν mail σε αυτή την διεύθυνση, πρέπει πρώτα να μάθουμε που βρίσκεται (δηλ. την IP δεύθυνση) ο mail server που εξυπηρετεί το example.com. Για να το μάθουμε αυτό χρησιμοποιούμε το σύστημα DNS, ένα σύστημα το οποίο μεταφράζει ονόματα domains (όπως το example.com) σε IP διευθύνσεις. Πώς όμως το DNS ξέρει που βρίσκεται αυτό το domain; Αυτό που συμβαίνει είναι πως το GoDaddy έχει ενημερώσει το DNS σύστημα με την διεύθυνση ενός server o οποίος ξέρει να απαντάει στο που είναι αυτό το domain. Αυτός ο server είναι ο domain server για το example.com. Άρα για να μάθουμε την IP διεύθυνση που αντιστοιχεί στο example.com ρωτάμε το DNS σύστημα, αυτό μας επιστρέφει τον domain server και ο τελευταίος μας λέει την IP διεύθυνση που χρειαζόμαστε.

Ο χρήστης λοιπόν που έκλεψε τον λογαριασμό του Hiroshima στο twitter το κατάφερε ως εξής. Αρχικά τηλεφώνησε στο PayPal, και προσποιούμενος πως είναι ένας μηχανικός της εταιρείας κατάφερε και έμαθα τα τελευταία 4 ψηφία της πιστωτικής κάρτας του Hiroshima. Στην συνέχεια τηλεφώνησε στην GoDaddy. Η GoDaddy επιτρέπει στους χρήστες να αλλάξουν τον κωδικό τους μέσω τηλεφώνου, αρκεί να ξέρουν τα 6 τελευταία ψηφία της πιστωτική κάρτας που έχουν χρησιμοποιήσει για την αγορά του domain ονόματος. Ο χρήστης αυτός λοιπόν προσποιήθηκε τον Hirosima, και γνωρίζοντας τα 4 τελευταία ψηφία της πιστωτικής του κάρτας μάντεψε τα άλλα 2. Είχε πλέον λοιπόν τους κωδικούς του Hirosima στο GoDaddy. Στην συνέχεια άλλαξε τις ρυθμίσεις του domain ονόματος του Hiroshima και όρισε ως domain server ένα μηχάνημα το οποίο έλεγχε αυτός. Τα πράγματα ήταν πλέον πανεύκολα, ο κακόβουλος χρήστης μπορούσε να παίρνει όλα τα mails που Hiroshima. Το επόμενο βήμα ήταν απλά να κάνει ένα reset τον κωδικό του Hiroshima στο twitter. Η αλλαγή όμως του domain server δεν εφαρμόζεται αμέσως. Ο Hiroshima στο ενδιάμεσο αντιλήφθηκε πως  κάτι είχε συμβεί με το GoDaddy και πρόλαβε και άλλαξε την email διεύθυνση του στο twitter. Δεν πρόλαβε όμως να κάνει το ίδιο και με το facebook. O κακόβουλος χρήστης πλέον έλεγχε το facebook του Hiroshima και τον λογαριασμό του στο GoDaddy. Επικοινώνησε λοιπόν με τον Hiroshima και του ζήτησε να απελευθερώσει το username N για να πάρει πίσω τους κωδικούς του, και έτσι και έγινε.

Ο Hiroshima δεν θα είχε πέσει θύμα αυτής της επίθεσης αν είχε χρησιμοποιήσει ως email στο twitter κάποιο email που παρέχει μια μεγάλη εταιρεία π.χ. gmail. Ο πραγματικά όμως αδύναμος κρίκος σε αυτή την ιστορία ήταν οι υπάλληλοι του PayPal και της GoDaddy, και αυτό που πρέπει να κρατήσουμε είναι πως δεν πρέπει να υποτιμάμε ποτέ τον ανθρώπινο παράγοντα.

Δευτέρα 20 Ιανουαρίου 2014

Από το έξυπνο σπίτι στο... πονηρό σπίτι

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

Στις 16 Ιανουαρίου, η εταιρεία Proofprint εξέδωσε μια περίεργη ανακοίνωση1. Η ανακοίνωση αποκάλυπτε την ύπαρξη ενός κακόβουλου δικτύου το οποίο την περίοδο 23 Δεκεμβρίου και 6 Ιανουαρίου έστειλε πάνω από 750.000 spam μηνύματα, με στόχο απλούς χρήστες αλλά και επιχειρήσεις. Το περίεργο με αυτό το δίκτυο ήταν πως αποτελούνταν κατά 25% από συσκευές όπως οικιακοί routers, media centers, έξυπνες τηλεοράσεις και τουλάχιστον ένα... ψυγείο.

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

Το καλοκαίρι του 2013 στο συνέδριο Blackhat, δυο ερευνητές ασφαλείας, ο Josh Yavor και ο Aaron Grataffiori έδειξαν πώς μια Samsung Smart TV μπορεί να χρησιμοποιηθεί ως εργαλείο παρακολούθησης2. Η επίθεση τους ήταν πάρα πολύ απλή: η εφαρμογή για το skype (που είχε αναπτύξει η Samsung) δεν διάβαζε σωστά τα μηνύματα που έβαζαν οι χρήστες στο status τους, έτσι κάποιος μπορούσε να βάλει σαν status κώδικα javascript, ο οποίος εκτελούνταν από οποιαδήποτε τηλεόραση τύχαινε να έχει τον εν λόγω χρήστη στις επαφές του skype. Ο κώδικα αυτός javascript κατέβαζε ένα αρχείο, το οποίο άνοιγε την ενσωματωμένη κάμερα και μικρόφωνο της τηλεόρασης και μετέδιδε την εικόνα και τον ήχο σε κάποιον τρίτο.
H παρουσίαση των Yavor και Grataffior στο Blackhat 2013

Φαίνεται λοιπόν πως όσο πιο έξυπνο γίνεται το σπίτι μας, τόσο πιο πολλοί οι κίνδυνοι για την διαδικτυακή μας ασφάλεια.

Παραπομπές

  1. Proofpoint, "Proofpoint Uncovers Internet of Things (IoT) Cyberattack", 16 Ιαν. 2014, [online] Τελευταία πρόσβαση 20 Ιαν. 2014
  2. J. Yavor, A. Grataffior"The Outer Limits: Hacking the Samsung Smart TV", Black Hat 2013

Δευτέρα 6 Ιανουαρίου 2014

Η (όχι και τόσο τυχαία) ιστορία μιας γεννήτριας τυχαίων αριθμών

Σχεδόν κάθε αλγόριθμος κρυπτογράφησης και σχεδόν κάθε πρωτόκολλο ασφαλείας περιλαμβάνει ένα απλό βήμα "επιλέγουμε έναν τυχαίο αριθμό". Αυτό το βήμα όσο απλό και αν ακούγεται έχει αποτελέσει την Αχίλλειο φτέρνα πολλών συστημάτων και ο λόγος είναι απλός: είναι πολύ δύσκολο να παράγουμε πραγματικά τυχαίους αριθμούς.

Το 2005 ο αμερικάνικος οργανισμός πιστοποίησης NIST  δημοσίευσε μια σειρά από αλγόριθμους δημιουργίας τυχαίων αριθμών. Ένας από αυτούς, ο αλγόριθμος με την ονομασία Dual Elliptic Curve Deterministic Random Bit Generator (Dual_EC_DRBG), προξένησε πολλές εντυπώσεις. Ο αλγόριθμος αυτός βασίζεται στις ελλειπτικές καμπύλες και είχε δημιουργηθεί μερικά χρόνια πριν μετά από συνεργασία του NIST και της εθνικής υπηρεσίας ασφαλείας (NSA). Ο Dual_EC_DRBG είναι ιδιαίτερα αργός, η δημοσίευση του δεν συμπεριλάμβανε κάποια απόδειξη για την ασφάλεια του (δηλ. ότι οι αριθμοί που παράγει είναι πραγματικά τυχαίοι) και για την περιγραφή του είχαν χρησιμοποιηθεί κάποια "περίεργα" μαθηματικά.

To 2006 δυο ξεχωριστές εργασίες, η μία1 από τον καθηγητή του τμήματος μαθηματικών του Νορβηγικού πανεπιστημίου NTΝU Kristian Gjøsteen και η άλλη2 των καθηγητών του τμήματος μαθηματικών του Ολλανδικού TU Eindhoven Berry Schoenmakers και Andrey Sidorenko έδειξαν πως οι αριθμοί που παράγει ο Dual_EC_DRBG δεν είναι απολύτως τυχαίοι, για την ακρίβεια δεδομένου ενός αριθμού, κάποιος μπορεί να προβλέψει τον επόμενο με πιθανότητα 0,1%. Μπορεί η πιθανότητα αυτή να φαίνεται πολύ μικρή, δεν είναι όμως μια αποδεκτή τιμή: ακόμη και μια τόσο μικρή πιθανότητα μπορεί να οδηγήσει στην κατάρρευση ενός συστήματος ασφαλείας. Οι δύο αυτές εργασίες δημιούργησαν τις πρώτες υποψίες ότι κάτι δεν πάει καλά με τον Dual_EC_DRBG.

Το 2007 οι ερευνητές της Microsoft Dan Shumow και Niels Ferguso με μια ανεπίσημη παρουσίαση3 τους στο συνέδριο Crypto 2007 τάραξαν για τα καλά τα νερά. Αυτό που έδειξαν ήταν ότι ο Dual_EC_DRBG είχε πιθανώς μια καλά κρυμμένη πίσω πόρτα. Ο Dual_EC_DRBG βασίζεται σε κάποιες μεταβλητές με προκαθορισμένες τιμές. Οι τιμές που έχουν επιλεχθεί για αυτές τις μεταβλητές δεν έχουν (ακόμη και σήμερα) ποτέ δικαιολογηθεί. Οι 2 ερευνητές έδειξαν λοιπόν πως αυτές οι μεταβλητές μπορούν να συσχετισθούν με ένα μικρό σύνολο από μυστικούς αριθμούς (μυστικοί με την έννοια πως είναι υπολογιστικά ανέφικτο να βρεθούν). Αν κάποιος γνωρίζει αυτό το σύνολο των μυστικών αριθμών μπορεί παρατηρώντας ελάχιστα αποτελέσματα του Dual_EC_DRBG να υπολογίσει εύκολα όλα τα επόμενα αποτελέσματα. Το ερώτημα είναι ποιος θα μπορούσε να ξέρει αυτό το σύνολο των μυστικών αριθμών; Η απάντηση είναι αυτοί που επέλεξαν τις προεπιλεγμένες τιμές για τις μεταβλητές που χρησιμοποιεί ο Dual_EC_DRBG, δηλαδή η NSA!

Παρ' όλες αυτές τις ανακαλύψεις, ο Dual_EC_DRBG περιλαμβάνεται—μυστηριωδώς—στους αλγορίθμους που υποστηρίζει η πιο διαδεδομένη βιβλιοθήκη κρυπτογραφίας: το OpenSSL.

Πριν μερικές μέρες,όλες οι υποψίες επιβεβαιώθηκαν όταν το Reuteurs αποκάλυψε4 πως η NSA δωροδόκησε με $10 εκατομμύρια έναν κολοσσό στον χώρο της ασφάλειας, την εταιρεία RSA, για  να χρησιμοποιεί ως προεπιλογή τον αλγόριθμο Dual_EC_DRBG στο δημοφιλές προϊόν της BSAFE. Η αποκάλυψη αυτή έγινε λίγους μήνες πριν από ένα από τα μεγαλύτερα συνέδρια ασφαλείας που διοργανώνεται από την εν λόγω εταιρεία, το RSA Conference, οδηγώντας πολλούς να ακυρώσουν την συμμετοχή τους, ακόμη και τις παρουσιάσεις τους.

Παραπομπές

  1. K. Gjøsteen, "Comments on Dual-EC-DRBG/NIST SP 800-90", 2005, [Online], τελευταία πρόσβαση 7 Ιαν. 2014
  2. B. Schoenmakers, A. Sidorenko, Cryptanalysis of the Dual Elliptic Curve Pseudorandom Generator", 2006, [Online], τελευταία πρόσβαση 7 Ιαν. 2014
  3. D. Shumow, Ν. Ferguson, "On the Possibility of a Back Door in the NIST SP800-90 Dual Ec Prng", Crypto 2007, 2007, [Online], τελευταία πρόσβαση 7 Ιαν. 2014
  4. J. Menn, "Exclusive: Secret contract tied NSA and security industry pioneer", Reuteurs, 20 Δεκ. 2013 [Online], τελευταία πρόσβαση 7 Ιαν. 2014