Τετάρτη 16 Δεκεμβρίου 2015

Ασφάλεια και κάρτες SIM

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

asfaleia_sim_kartes_01

Το όνομα SIM είναι από τα αρχικά των Αγγλικών λέξεων Subscriber Identification Module (Στοιχείο Αναγνώρισης Συνδρομητή) και όσο περίεργο και αν ακούγεται είναι ένας ολόκληρος μικρός υπολογιστής. Ως ηλεκτρονικό υπολογιστή στην επιστήμη της πληροφορικής ορίζεται μία συσκευή που μπορεί να δεχθεί κάποια δεδομένα, να τα επεξεργαστεί και να αποθηκεύσει ή να προσφέρει ένα ή περισσότερους τρόπους εξόδου του αποτελέσματος. Όλα τα παραπάνω τα κάνει οποιαδήποτε κάρτα SIM αλλά με πολύ περιορισμένες δυνατότητες. Ενδεικτικά, ένας συνηθισμένος επεξεργαστής σε μία κάρτα SIM είναι κάποιος μικροεπεξεργαστής της εταιρίας Atmel που λειτουργεί στα 8-bit με συχνότητα λειτουργίας 20-30MHz, περίπου 6KB μνήμης RAM και 72KB αποθηκευτικού χώρου περιορισμένων εγγραφών σε μνήμη τύπου EEPROM (εκεί αποθηκεύονται και οι επαφές όταν τις αποθηκεύουμε στη κάρτα SIM και γι’αυτό έχει τόσο περιορισμένο αριθμό αποθήκευσης).

asfaleia_sim_kartes_02

Η κάρτα είναι κατά κανόνα κατασκευασμένη από PVC και όλο το υπολογιστικό σύστημα της κάρτας SIM βρίσκεται μέσα σε ένα UICC (Universal Intergrated Circuit Card, δηλαδή, Γενικό Ολοκληρωμένο Κύκλωμα Κάρτας). Εδώ βλέπετε από το πλάι πως είναι δομημένο το UICC σε μία κάρτα SIM.

asfaleia_sim_kartes_03

Σήμερα υπάρχουν τρεις κλάσεις (ορίζονται από το πρότυπο ISO/IEC 7816-3 ως A, B και C) που αφορούν το σχεδιασμό του UICC και η κύρια διαφορά τους είναι η τάση λειτουργίας τους όπου είναι 5V, 3V και 1.8V αντίστοιχα. Με άλλα πρότυπα υπάρχουν κάρτες SIM που κατασκευάζονται σε διαφορετικές διαστάσεις. Μέχρι σήμερα υπάρχουν πέντε γνωστές δομές παραγωγής που ορίζονται από τα ακόλουθα πρότυπα

Full-size (1FF) ISO/IEC 7810:2003, ID-1
Mini-SIM (2FF) ISO/IEC 7810:2003, ID-000
Micro-SIM (3FF) ETSI TS 102 221 V9.0.0, Mini-UICC
Nano-SIM (4FF) ETSI TS 102 221 V11.0.0
Embedded-SIM JEDEC Design Guide 4.8, SON-8
Δεν θα μπούμε σε μεγαλύτερο βάθος στο κατασκευαστικό κομμάτι των καρτών SIM διότι ο στόχος μας είναι μία γενική κατανόηση της λειτουργίας τους και όχι η σε βάθος τεχνική ανάλυση τους. Κατά τη κατασκευή τους, στις κάρτες SIM τυπώνονται κάποιοι αριθμοί που δε μπορούν να αλλάξουν και χρησιμεύουν στην αναγνώριση και στην ασφαλή επικοινωνία της με τα δίκτυα GSM (Global System for Mobile Communications, δηλαδή, Διεθνές Σύστημα για Φορητές Επικοινωνίες). Αυτούς τους αριθμούς θα δούμε στη συνέχεια.

asfaleia_sim_kartes_04

Το πρώτο από αυτά είναι το ICCID (Integrated Circuit Card Identifier, ή στα Ελληνικά, Αναγνωριστικό Ολοκληρωμένου Κυκλώματος Κάρτας) και βασίζεται στο πρότυπο ISO/IEC 7812. Αποτελείται από 20 ψηφία που δείχνουν το αναγνωριστικό του κατασκευαστή, γνωστό ως IIN (Issuer Identification Number), το αναγνωριστικό λογαριασμού και ένα ψηφίο ελέγχου. Πέρα από το ICCID η κάρτα διαθέτει και κάποιους άλλους αριθμούς που είναι αρκετά πιο σημαντικοί από πλευράς ασφάλειας. Αυτοί είναι:

IMSI
Θα μπορούσαμε να πούμε ότι το IMSI (International Mobile Subscriber Identiy, δηλαδή, Διεθνής Ταυτότητα Συνδρομητή Κινητής Τηλεφωνίας) είναι αυτό που κάνει τη κάθε SIM κάρτα μοναδική και αναγνωρίσιμη. Περιλαμβάνει μέσα στον αριθμό στοιχεία όπως χώρα, μοναδικός αριθμός, αναγνωριστικό δικτύου κινητής τηλεφωνίας, κ.α.

Ki
Αυτός είναι επίσης ένας αριθμός που είναι τυπωμένος στη κάρτα και δε μπορεί να αλλάξει μετά τη κατασκευή της. Είναι ένα κλειδί κρυπτογράφησης μήκους 128-bit που χρησιμοποιεί η κάρτα SIM για να δημιουργήσει μία ασφαλή σύνδεση με το δίκτυο του παρόχου κινητής τηλεφωνίας ώστε να προσφέρει προστασία από υποκλοπές και άλλου είδους επιθέσεις.



Και προτού μεταβούμε στις μέχρι σήμερα γνωστές αδυναμίες ασφαλείας των καρτών SIM ας δούμε σε μερικά απλά βήματα πως επικοινωνεί η κάρτα SIM με τον πάροχο κινητής τηλεφωνίας.

  1. Όταν το κινητό ανοίξει η κάρτα SIM συνδέεται στη κεραία με το πιο ισχυρό σήμα και στέλνει το IMSI της. Κάποιες κάρτες SIM (ανάλογα με το λογισμικό τους) δεν κάνουν αυτό το βήμα αν δεν έχει βάλει πρώτα ο χρήστης το κωδικό PIN.

  2. Ο κάθε πάροχος ψάχνει στη βάση δεδομένων του να βρει αν έχει κάποια εγγραφή του IMSI που έλαβε καθώς και από το αντίστοιχο κλειδί κρυπτογράφησης του (Ki).

  3. Ο πάροχος παράγει ένα τυχαίο αριθμό RAND και τον κρυπτογραφεί (ψηφιακή υπογραφή για την ακρίβεια) με το κλειδί Ki αυτού του χρήστη/IMSI δημιουργώντας ένα νέο αριθμό που είναι γνωστός ως SRES_1 (Signed Response 1, δηλαδή, Κρυπτογραφημένη Απάντηση 1).

  4. Ο πάροχος στέλνει το SRES_1 στη συσκευή και αυτή με τη σειρά της το περνάει στη κάρτα SIM. Η κάρτα SIM το αποκρυπτογραφεί με το κλειδί Ki που έχει. Στη συνέχεια κρυπτογραφεί μία απάντηση, γνωστή ως SRES_2, που περιέχει ένα νέο κλειδί κρυπτογράφησης (Kc) και το στέλνει στο πάροχο.

  5. Ο πάροχος αποκρυπτογραφεί το SRES_2 και ελέγχει αν ο αριθμός RAND έχει παραμείνει ίδιος. Αν αυτό είναι αλήθεια θεωρεί ότι ο χρήστης είναι πραγματικός συνδρομητής και του δίνει πρόσβαση στο δίκτυο κινητής τηλεφωνίας κρυπτογραφώντας όλες του τις επικοινωνίες από αυτό το σημείο με το κλειδί Kc που ήταν μέσα στο SRES_2.
Βλέπουμε ότι είναι μία σχετικά απλή διαδικασία πιστοποίησης και που βασίζεται εξολοκλήρου στην υπόθεση ότι το Ki της κάθε κάρτας SIM είναι γνωστό μόνο στον πάροχο κινητής τηλεφωνίας και στο κατασκευαστή που φτιάχνει τη κάρτα SIM και το τυπώνει μέσα στο ολοκληρωμένο κύκλωμα της. Τώρα που ο αναγνώστης έχει μία καλύτερη εικόνα του τι κάνει μία κάρτα SIM και πως λειτουργεί, θα δούμε τις αδυναμίες της μία προς μία αλλά αρκετά επιγραμματικά γιατί αλλιώς θα γίνει ένα πολύ τεχνικό άρθρο.

asfaleia_sim_kartes_06

Κρυφή εγκατάσταση εφαρμογών σε κάρτα SIM (2012)
Το 2012 οι προγραμματιστές ηλεκτρονικών υπολογιστών Karl Kosche και Eric Butler είχαν αναλάβει το σχεδιασμό του ασύρματου τηλεφωνικού δικτύου ενός συνεδρίου ασφαλείας ηλεκτρονικών υπολογιστών (Toorcamp 2012). Πάνω στην έρευνα τους για το καλύτερο τρόπο κατασκευής του δικτύου βρήκαν πως οι κάρτες SIM έχουν εφαρμογές, όπως για παράδειγμα η εφαρμογή που μόλις περιγράψαμε για τη πιστοποίηση χρηστών. Έπειτα από μεγάλη έρευνα και αρκετές δοκιμές μπόρεσαν να εγκαταστήσουν τις δικές τους εφαρμογές, τελείως αόρατες και ανεξάρτητες από τη συσκευή. Έτσι όλοι στο συνέδριο αυτό εκείνο το καλοκαίρι είχαν δωρεάν κινητή τηλεφωνία προς όλο τον κόσμο καθώς εγκατέστησαν μία εφαρμογή που έδειχνε στο πάροχο ότι οι συγκεκριμένοι λογαριασμοί είχαν πάντα μονάδες. Αυτή η αδυναμία υπάρχει ακόμα και σήμερα αλλά η εγκατάσταση εφαρμογών είναι πολύ δύσκολη. Ωστόσο, αξίζει να αναφέρουμε ότι και ο πάροχος έχει τη δυνατότητα εγκατάστασης εφαρμογών απομακρυσμένα και αόρατα προς το χρήστη χάρη στα πακέτα επικοινωνίας APDU (Application Protocol Data Unit, δηλαδή, Στοιχείο Δεδομένων Πρωτοκόλλου Εφαρμογής) που χρησιμοποιούν αυτές οι κάρτες. Μπορείτε να μάθετε περισσότερα εδώ.

Αποκρυπτογράφηση του κλειδιού Ki (2013)
Ο ερευνητής ασφαλείας Karsten Nohl ανακάλυψε πως ένας απαρχαιωμένος αλγόριθμος κρυπτογράφησης (DES) χρησιμοποιούνταν από κάποιους παρόχους επιτρέποντας σχετικά εύκολα την αποκρυπτογράφηση του και πλήρη έλεγχο οποιουδήποτε κινητού. Αυτό περιλαμβάνει κλωνοποίηση του, δηλαδή κατασκευή μιας δεύτερης συσκευής με τα ίδια ακριβώς στοιχεία, υποκλοπή δεδομένων, κ.α. Μπορείτε να διαβάσετε περισσότερα εδώ.

Κλοπή κλειδιών κρυπτογράφησης Ki (2015)
Πολύ πρόσφατα, το Φεβρουάριο του 2015, μία από τις μεγαλύτερες κατασκευάστριες εταιρίες καρτών SIM παγκοσμίως, η εταιρία Gemalto που κατασκευάζει πάνω από δύο δισεκατομμύρια κάρτες SIM ετησίως, ανακάλυψε μέσω μίας διαρροής του πρώην συμβασιούχου υπαλλήλου της NSA, Έντουαρντ Σνόουντεν, ότι η Βρετανική υπηρεσία GCHQ σε συνεργασία με την Αμερικανική NSA είχαν κλέψει από εγκαταστάσεις κατασκευής καρτών της εταιρίας τα κλειδιά κρυπτογράφησης (Ki) των καρτών SIM ώστε να μπορούν να παρακολουθούν οποιοδήποτε κινητό τηλέφωνο παγκοσμίως πολύ εύκολα. Μπορείτε να διαβάσετε περισσότερα εδώ.

Όμως, από ακόμα νωρίτερα γνωρίζουμε άλλες τεχνικές υποκλοπών και κλωνοποίησης όπως για παράδειγμα μέσω εικονικού δικτύου GSM ή με φυσική πρόσβαση στη κάρτα SIM. Αν κάποιος έχει φυσική πρόσβαση στη κάρτα μπορεί να τη κλωνοποιήσει με τη μέθοδο CDMA cloning που όμως δεν είναι καθόλου απλή. Αλλά, οποιοσδήποτε μπορεί πολύ εύκολα με οδηγίες που υπάρχουν διαθέσιμες στο διαδίκτυο να κατασκευάσει ένα εικονικό δίκτυο GSM και καθώς τα κινητά προτιμούν το πιο ισχυρό σήμα, θα μπορεί να λειτουργεί ως ενδιάμεσος και να υποκλέψει όλα τα στοιχεία από τα κινητά που συνδέονται σε αυτό. Αυτή η τεχνική είναι εντυπωσιακά αξιόπιστη και μπορεί να γίνει με ελάχιστο κόστος (λιγότερο από 50-100 Ευρώ). Αυτά όμως είναι πέρα του στόχου του άρθρου. Το άρθρο είχε σκοπό να δώσει μία γενική εικόνα της λειτουργίας των καρτών SIM, των αδυναμιών τους και των δυνατοτήτων τους, όχι τα προβλήματα ασφαλείας των δικτύων GSM ή των συσκευών κινητής τηλεφωνίας τα οποία εκμεταλλεύονται οι δύο αυτές τεχνικές.

asfaleia_sim_kartes_07


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

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