Όταν μιλάμε για υπολογιστές παίρνουμε ως δεδομένο ότι έχουν ένα λειτουργικό σύστημα, ένα "κομμάτι" λογισμικού που διαχειρίζεται κάθε ξεχωριστό κομμάτι του hardware, από τη CPU μέχρι τους controllers.
Αν το σύστημα κρασάρει, σχεδόν πάντα επιρρίπτουμε τις ευθύνες στο λειτουργικό, ή καμιά φορά στον driver μιας συσκευής που συνδέεται με το λειτουργικό.
Σύμφωνα με όλα σχεδόν τα εγχειρίδια της επιστήμης των υπολογιστών, κάθε υπολογιστής αποτελείται από τρία θεμελιώδη συστατικά: το hardware, το λειτουργικό σύστημα και το software που τρέχει στο OS.
Στην πραγματικότητα, εν αγνοία του χρήστη, σχεδόν κάθε υπολογιστής διαθέτει μια πλειάδα λειτουργικών συστημάτων, τα οποία με τη σειρά τους τρέχουν ταυτόχρονα και διαχειρίζονται διαφορετικά μέρη του υπολογιστή.
Τα συγκεκριμένα OS είναι συνήθως proprietary, κλειστού κώδικα, κυριαρχούνται από bugs κι έχουν εκτεταμένη low-level πρόσβαση στα δεδομένα σας.
Πάρτε για παράδειγμα το smartphone σας. Υπάρχει σίγουρα ένα primary λειτουργικό, όπως το Android, το iOS και το Windows Phone, όμως υπάρχουν επίσης τουλάχιστον δύο ακόμη λειτουργικά συστήματα: αυτό του baseband υποσυστήματος και αυτό της κάρτας SIM, αμφότερα τρέχουν στον δικό τους επεξεργαστή, ο οποίος είναι διαφορετικός από τον κεντρικό επεξεργαστή του κινητού.
Κάθε φορά που η συσκευή τίθεται σε λειτουργία, τα εν λόγω λειτουργικά τρέχουν, διαχειριζόμενα τους τομείς που αναλογούν στο κάθε ένα. Όταν στέλνετε ένα μήνυμα ή δέχεστε μια κλήση (ή κάνετε οτιδήποτε με ασύρματες συνδέσεις στο Internet), η λειτουργία περνάει στο baseband chip και το λειτουργικό του, το οποίο χειρίζεται όλες τις λεπτομέρειες σχετικά με τα GSM, UMTS, HSPDA, LTE κ.λπ.
Όταν χρειάζεστε κάποια ασφαλή δεδομένα από την κάρτα SIM του τηλεφώνου σας, αναλαμβάνει δράση το Java Card –το οποίο έχει αποκλειστική πρόσβαση σε κρυπτογραφημένα δεδομένα της SIM.
Όσον αφορά στην αποτελεσματικότητα, φαίνεται λογικό να υπάρχουν πολλαπλοί επεξεργαστές που εργάζονται παράλληλα. Στην πράξη όμως, τα λειτουργικά που υποστηρίζουν τους παράλληλους επεξεργαστές συχνά ενσωματώνονται με πολύ "άτσαλο" και επισφαλή τρόπο.
Όπως προαναφέραμε, σχεδόν όλα αυτά τα δευτερεύοντα λειτουργικά είναι κλειστού κώδικα, και τα έχει αναπτύξει ο ίδιος ο κατασκευαστής του εκάστοτε hardware, όπως η Qualcomm, η Broadcom, η Realtek κ.λπ. Συνήθως δε, ο κώδικάς τους είναι ξεπερασμένος τεχνολογικά και με πολλά κενά ασφαλείας.
Επίσης, επειδή δεν δικαιολογείται οι developers να έχουν άμεση πρόσβαση στα εν λόγω υποσυστήματα, συνήθως υπάρχει πολύ περιορισμένη πληροφόρηση στον τρόπο με τον οποίο δουλεύουν τα συγκεκριμένα λειτουργικά.
Όλοι οι παραπάνω παράγοντες συνδυάζονται και κάνουν αυτά τα OS εξαιρετικά επισφαλή.
Ως αποτέλεσμα μιας ευπάθειας δευτερεύοντος λειτουργικού, θα αναφέρουμε πως όταν ακούτε ότι ένα iPhone είναι "σπασμένο", ή jailbroken, αν προτιμάτε, λόγω ενός exploit στο baseband του, αυτό σημαίνει ότι χάκερ βρήκαν ένα bug στο baseband υποσύστημα, το οποίο τους έδωσε αυξημένη πρόσβαση στην υπόλοιπη συσκευή.
Εάν, ας πούμε, η NSA ήθελε να αναπτύξει ένα ευρείας κλίμακας "χακάρισμα" που να δίνει πρόσβαση στις τηλεφωνικές κλήσεις όλων, θα το έκανε από τα baseband υποσυστήματα των κινητών...
Όπως αναφέραμε παραπάνω, η κάρτα SIM διαθέτει επίσης έναν μικροεπεξεργαστή που τρέχει το δικό του OS, που μπορεί να εκτελέσει Java software, και πρόσφατα αποκαλύφθηκε πως μερίδα καρτών μπορεί να σπάσει μέσω γραπτών μηνυμάτων!
Η μόνη πραγματική λύση στο συγκεκριμένο πρόβλημα είναι να απομακρυνθούμε από hardware και software κλειστού κώδικα! Υπάρχουν κάποιες ενδείξεις ότι ορισμένοι επεξεργαστές baseband κινούνται προς την κατεύθυνση των ανοιχτών λύσεων, αλλά και πάλι είναι πολύ δύσκολο να βρούμε οποιαδήποτε σαφή πληροφορία, αφού οι κατασκευάστριες εταιρείες δεν συνηθίζουν να δίνουν στη δημοσιότητα τον τρόπο λειτουργίας των chips τους.
Προς το παρόν, λοιπόν, να θυμάστε ότι οι περισσότερες συσκευές σας τρέχουν πολλαπλά λειτουργικά συστήματα, ορισμένα εκ των οποίων, μάλιστα, πιθανότατα είναι εξαιρετικά επισφαλή, και δυστυχώς δεν μπορεί να γίνει κάτι γι’ αυτό.