Το μυστικό δεύτερο λειτουργικό σύστημα που θα μπορούσε να κάνει κάθε κινητό τηλέφωνο ανασφαλές

Qualcomm

Όταν μιλάμε για υπολογιστές - υπολογιστές, smartphone, αυτοκίνητα - γενικά υποθέτουμε ότι υπάρχει μόνο ένα λειτουργικό σύστημα: Ένα ενιαίο, μονολιθικό λογισμικό που διαχειρίζεται κάθε μεμονωμένο κομμάτι υλικού, από την CPU έως τον ελεγκτή USB έως την ασύρματη συνδεσιμότητα. Εάν το σύστημά σας καταρρεύσει, κατηγορούμε σχεδόν πάντα το λειτουργικό σύστημα ή ίσως ένα πρόγραμμα οδήγησης λογισμικού που συνδέεται με το λειτουργικό σύστημα. Σε σχεδόν κάθε εγχειρίδιο επιστήμης υπολογιστών, ένας υπολογιστής αποτελείται από τρία μόνο μπλοκ: το υλικό, το λειτουργικό σύστημα και, στη συνέχεια, όλο το λογισμικό (user-land) που λειτουργεί στο λειτουργικό σύστημα. Στην πραγματικότητα, χωρίς να το γνωρίζει ο χρήστης, σχεδόν κάθε υπολογιστής διαθέτει πολλαπλά λειτουργικά συστήματα που λειτουργούν ταυτόχρονα, διαχειρίζοντας διάφορα διαφορετικά μέρη του υπολογιστή - και ανησυχητικά, αυτά τα λειτουργικά συστήματα είναι συνήθως αποκλειστικά, κλειστού κώδικα, σφαλμάτων και έχουν εκτεταμένα , χαμηλού επιπέδου πρόσβαση στα δεδομένα σας.

Πάρτε το smartphone σας, για παράδειγμα. Υπάρχει σίγουρα ένα πρωτεύον λειτουργικό σύστημα - Android, iOS, Windows Phone - αλλά υπάρχουν επίσης τουλάχιστον δύο άλλα λειτουργικά συστήματα: Το βασικό σύστημα και το λειτουργικό σύστημα κάρτας SIM, και τα δύο λειτουργούν στον δικό τους επεξεργαστή που είναι ξεχωριστός από το SoC. Όποτε το τηλέφωνό σας είναι ενεργοποιημένο, αυτά τα λειτουργικά συστήματα λειτουργούν, διαχειρίζονται τους αντίστοιχους τομείς τους. Όταν στέλνετε ένα κείμενο ή λαμβάνετε μια κλήση (ή κάνετε Οτιδήποτε ασύρματο), στην πραγματικότητα μεταβιβάστηκε στο βασικό σύστημα, το οποίο χειρίζεται όλες τις ακατάστατες λεπτομέρειες σχετικά με το GSM, UMTS, HSPDA, LTE, κ.λπ. Όταν χρειάζεστε ασφαλή δεδομένα από την κάρτα SIM του τηλεφώνου σας, η κάρτα Java - η οποία έχει αποκλειστική πρόσβαση σε κρυπτογραφημένα δεδομένα στη SIM - αναλαμβάνει.

Κάρτα SIM, αντίστροφης μηχανικής, αποκαλύπτοντας το τσιπ

Μια κάρτα SIM αντίστροφης μηχανικής. Είτε το πιστεύετε είτε όχι, υπάρχει ένας μικρός επεξεργαστής εκεί που τρέχει ένα μικρό λειτουργικό σύστημα.



Στην αρχή, αυτό φαίνεται σαν ένας πολύ λογικός τρόπος για να κάνουμε πράγματα - τελικά, υπάρχουν τόσες πολλές διαφορετικές συσκευές υλικού σε έναν σύγχρονο υπολογιστή που θα ήταν πολύ δύσκολο για κάποιον όπως η Google ή η Apple να δημιουργήσει βέλτιστες λύσεις για όλες τις παραλλαγές . Είναι επίσης λογικό από την άποψη της απόδοσης, να έχουμε πολλούς υπολογιστές που λειτουργούν παράλληλα - είναι καλό το λειτουργικό σύστημα βάσης δεδομένων και ο επεξεργαστής να μπορούν να διαχειρίζονται την αποστολή και τη λήψη δεδομένων κινητής τηλεφωνίας, αφήνοντας το SoC ελεύθερο να εργάζεται σε πιο υπολογιστικά ακριβές εργασίες, όπως ως απόδοση μικρών ξωτικών καραμελών και παίζοντας αποτρόπαια δυνατή μουσική στο μετρό. Θεωρητικά, αυτό το είδος ενθυλάκωσης μπορεί επίσης να είναι πιο ασφαλές - δεν υπάρχει κανένας λόγος ότι οι χρήστες θα πρέπει να έχουν άμεση πρόσβαση στη βασική ζώνη ή στην κάρτα SIM και τέτοια ενθυλάκωση θα πρέπει να εμποδίσει τους εισβολείς / κακόβουλα προγράμματα να αποκτήσουν πρόσβαση και σε αυτές τις ασφαλείς περιοχές.

Στην πράξη, ωστόσο, αυτά τα λειτουργικά συστήματα εφαρμόζονται συχνά με πολύ ακατάστατο και ανασφαλή τρόπο. Για αρχή, είναι σημαντικό να σημειωθεί ότι σχεδόν όλα αυτά τα δευτερεύοντα λειτουργικά συστήματα είναι ιδιόκτητο λογισμικό κλειστού κώδικα, που αναπτύχθηκε εσωτερικά από τον κατασκευαστή υλικού (Qualcomm, Broadcom, Realtek κ.λπ.) Επειδή οι προγραμματιστές δεν έχουν πραγματικά νόμιμο λόγο Για άμεση πρόσβαση σε αυτές τις συσκευές, υπάρχει συνήθως πολύ λίγη δημόσια τεκμηρίωση σχετικά με τον τρόπο λειτουργίας αυτών των λειτουργικών συστημάτων. Επιπλέον, σύμφωνα με Thom Holwerda στο OS News, αυτά τα λειτουργικά συστήματα είναι συχνά ξεπερασμένα και γεμάτα ανασφαλείς λειτουργίες παλαιού τύπου. Όλοι αυτοί οι παράγοντες συνδυάζονται για να κάνουν αυτά τα δευτερεύοντα λειτουργικά συστήματα πολύ, πολύ ανασφαλή.

Θα θέλαμε να σας δώσουμε ένα παράδειγμα δευτερεύοντος λειτουργικού συστήματος, αλλά το γεγονός ότι δεν υπάρχει σχεδόν καμία δημόσια τεκμηρίωση το καθιστά πολύ δύσκολο. Το καλύτερο παράδειγμα που μπορούμε να βρούμε είναι το REX OS της Qualcomm, το οποίο τροφοδότησε τους επεξεργαστές βασικής ζώνης της εταιρείας από το 1999. Υπάρχουν ενδείξεις ότι η Qualcomm σταμάτησε τελικά να χρησιμοποιεί το REX OS το 2012, αλλά είναι δύσκολο να προκύψουν από οριστικά δεδομένα. Το REX OS είναι ένα λειτουργικό σύστημα σε πραγματικό χρόνο (RTOS) που λειτουργεί με τον επεξεργαστή βασικής ζώνης Qualcomm (σε αυτήν την περίπτωση έναν πυρήνα ARMv5). Ο επεξεργαστής βασικής ζώνης (και επομένως το REX OS) έχει άμεση πρόσβαση στο υλικό του τηλεφώνου (ηχεία, μικρόφωνα), καθώς και φαινομενικά την ικανότητα εγγραφής στην ίδια μνήμη με το SoC (ή τον επεξεργαστή εφαρμογών). Το REX OS βασίζεται σε μια πολύ παλιά και μεγάλη βάση κώδικα από τη δεκαετία του '90 και εφαρμόζει πολλά πρότυπα από τη δεκαετία του '80 (συμπεριλαμβανομένου του συνόλου εντολών Hayes dial-up modem). Γνωρίζουμε μόνο αυτές τις πληροφορίες, παρεμπιπτόντως, επειδή ένα χάκερ αντίστροφης μηχανικής REX OS(PDF).

Ένας ιστότοπος Sprint στο Σαν Φρανσίσκο: Backhaul (δεξιά), εφεδρική ισχύς (μέση), υλικό σταθμού βάσης (αριστερά)

Ένας ιστότοπος Sprint στο Σαν Φρανσίσκο: Backhaul (δεξιά), εφεδρική ισχύς (μέση), υλικό σταθμού βάσης (αριστερά). Το τηλέφωνό σας αντιμετωπίζει όλα όσα στέλνονται από το σταθμό βάσης ως νόμο. Ο Θεός μας βοηθά αν κάποιος επιλύσει πώς να χαράξει ένα σταθμό βάσης ή να δημιουργήσει το δικό του.

Όπως πιθανότατα μπορείτε να μαντέψετε, μια μεγάλη βάση κώδικα κλειστού κώδικα που εφαρμόζει παλιά πρότυπα είναι Πραγματικά κακή ιδέα. Ο Holwerda λέει ότι το REX OS εκτελεί αυτόματα οποιεσδήποτε εντολές που λαμβάνει μέσω του σταθμού βάσης του μεταφορέα - και ναι, σε περίπτωση που αναρωτιέστε, υπάρχουν εντολές που εκτελούν ποικίλες φρικτές πράξεις, όπως η ενεργοποίηση της αυτόματης απάντησης , εκτέλεση αυθαίρετου κώδικα, ή απλώς τσίμπημα της συσκευής σας. Είναι αυτονόητο ότι, θεωρητικά, θα μπορούσατε να δημιουργήσετε το δικό σας σταθμό βάσης (ας πούμε, με ραδιόφωνο που καθορίζεται από λογισμικό) και προκαλούν μεγάλη καταστροφή. Όταν ακούτε ότι ένα iPhone έχει καταστραφεί λόγω εκμετάλλευσης βασικής ζώνης, αυτό σημαίνει ότι οι χάκερ έχουν βρει ένα σφάλμα στο λειτουργικό σύστημα βάσης ή τον επεξεργαστή που τους δίνει αυξημένη πρόσβαση στην υπόλοιπη συσκευή.

Αυτό είναι μόνο ένα παράδειγμα δευτερεύοντος λειτουργικού συστήματος. Όπως ανέφερα προηγουμένως, η SIM σας διαθέτει επίσης έναν μικρό επεξεργαστή που τρέχει έναν μικρό πυρήνα που μπορεί να εκτελέσει λογισμικό Java. (Ο Η κάρτα SIM και το λειτουργικό της σύστημα παραβιάστηκαν πρόσφατα, κατά λάθος.) Εάν ο υπολογιστής σας διαθέτει κάποιο είδος ασφαλούς χώρου αποθήκευσης, όπως το TrustZone του ARM, υπάρχει πιθανώς και ένα άλλο ξεχωριστό λειτουργικό σύστημα και επεξεργαστής. Το μικρό μέγεθος των πυκνών πυρήνων ARM και η έλλειψη τεκμηρίωσης σημαίνει ότι είναι πολύ δύσκολο να πείτε πόσα διακριτά λειτουργικά συστήματα εκτελούνται ταυτόχρονα στον υπολογιστή σας. Σε κλασικό στυλ προ-Διαδικτύου, ασφάλειας έως αφάνειας, δεν θα ξέρουμε πόσο ασφαλή είναι αυτά τα λειτουργικά συστήματα έως ότου παραβιαστούν (δημόσια). Εάν η NSA ήθελε να αναπτύξει μια ευρείας κλίμακας hack που του δίνει πρόσβαση σε όλες τις τηλεφωνικές κλήσεις, η βάση θα ήταν το κατάλληλο μέρος για να το κάνει.

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

Copyright © Ολα Τα Δικαιώματα Διατηρούνται | 2007es.com