Προγραμματισμός

Η εκμετάλλευση BadUSB είναι θανατηφόρα, αλλά λίγοι μπορεί να χτυπηθούν

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

Δούλεψε σε ψηφιακές φωτογραφικές μηχανές και κινητά τηλέφωνα. Κατάφερα να αποκτήσω οποιαδήποτε συσκευή USB - στην πραγματικότητα, οποιαδήποτε αφαιρούμενη συσκευή πολυμέσων - για να τρέξω το αρχείο worm μου. Είχα ένα διασκεδαστικό παιχνίδι με αυτό.

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

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

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

Το BadUSB είναι μια σοβαρή απειλή τώρα στην άγρια ​​φύση

Αυτό με φέρνει στο σήμερα. Τώρα δημοσιεύτηκε στο GitHub ο πηγαίος κώδικας για το BadUSB (να μην συγχέεται με το πρόγραμμα κακόβουλου λογισμικού που ονομάζεται BadBIOS), το οποίο κάνει το πείραμά μου πριν από εννέα χρόνια να μοιάζει με παιχνίδι παιδιού. Το BadUSB είναι μια πραγματική απειλή που έχει σοβαρές συνέπειες για συσκευές εισόδου υλικού υπολογιστή.

Το BadUSB γράφει - ή αντικαθιστά - έναν κωδικό υλικολογισμικού μιας συσκευής USB για την εκτέλεση κακόβουλων ενεργειών. Ανακοινώθηκε για πρώτη φορά τον Ιούλιο του 2014, το BadUSB ανακαλύφθηκε από ένα ζευγάρι ερευνητών υπολογιστών στο Security Research Labs στο Βερολίνο, ο οποίος στη συνέχεια παρουσίασε την ανακάλυψή τους στο Black Hat Conference.

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

Ο κακόβουλος κώδικας υλικολογισμικού θα μπορούσε να εγκαταστήσει άλλα κακόβουλα προγράμματα, να κλέψει πληροφορίες, να εκτρέψει την κίνηση στο Διαδίκτυο και πολλά άλλα - παρακάμπτοντας ταυτόχρονα τις εντολές προστασίας από ιούς. Η επίθεση θεωρήθηκε τόσο βιώσιμη και επικίνδυνη που οι ερευνητές επίδειξαν μόνο την εκμετάλλευση. Με μεγάλη προσοχή, δεν κυκλοφόρησαν τον κωδικό απόδειξης της έννοιας ή τις μολυσμένες συσκευές. Όμως, δύο άλλοι ερευνητές τροποποίησαν εκ νέου την εκμετάλλευση, δημιούργησαν κώδικα επίδειξης και το έδωσαν στον κόσμο στο GitHub.

Βάλτε το δράμα που έχει ήδη εμφανιστεί σε ειδήσεις και ιστότοπους τεχνολογίας καταναλωτών όπως το CNN, το Atlanta Journal-Constitution, το Register και το PC Magazine, αναφωνώντας: «Ο κόσμος θα είναι γεμάτος κακόβουλες συσκευές USB!»

Γιατί η εκμετάλλευση BadUSB ξεπερνά πολύ το USB

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

Δεύτερον, το πρόβλημα δεν περιορίζεται σε συσκευές USB. Στην πραγματικότητα, οι συσκευές USB είναι η κορυφή του παγόβουνου. Οποιαδήποτε συσκευή υλικού που είναι συνδεδεμένη στον υπολογιστή σας με ένα στοιχείο υλικολογισμικού μπορεί πιθανώς να γίνει κακόβουλη. Μιλώ για συσκευές FireWire, συσκευές SCSI, σκληρούς δίσκους, συσκευές DMA και άλλα.

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

Το υλικολογισμικό είναι εγγενώς τίποτα περισσότερο από οδηγίες λογισμικού που είναι αποθηκευμένες στο πυρίτιο. Στο βασικό του επίπεδο, δεν είναι παρά προγραμματισμός λογισμικού. Και το υλικολογισμικό είναι απαραίτητο για να επιτρέψει στη συσκευή υλικού να μιλήσει με τον κεντρικό υπολογιστή. Η προδιαγραφή API της συσκευής ενημερώνει τους προγραμματιστές της συσκευής πώς να γράφουν κώδικα που κάνει τη συσκευή να λειτουργεί σωστά, αλλά αυτές οι προδιαγραφές και οι οδηγίες δεν συγκεντρώνονται ποτέ με γνώμονα την ασφάλεια. Όχι, γράφτηκαν για να πάρουν αντικείμενα για να μιλήσουν μεταξύ τους (όπως το Διαδίκτυο).

Δεν απαιτούνται πολλές οδηγίες προγραμματισμού για την ενεργοποίηση κακόβουλης δραστηριότητας. Μπορείτε να μορφοποιήσετε τις περισσότερες συσκευές αποθήκευσης ή να "δημιουργήσετε τούβλα" σε έναν υπολογιστή με μερικές οδηγίες. Ο μικρότερος ιός του υπολογιστή που γράφτηκε ποτέ είχε μέγεθος μόλις 35 byte. Το ωφέλιμο φορτίο στο παράδειγμα απόδειξης GitHub είναι μόνο 14Κ και περιλαμβάνει πολλούς ελέγχους σφαλμάτων και κωδικοποίηση φινέτσας. Πιστέψτε με, το 14K είναι μικρό στον σημερινό κόσμο του κακόβουλου λογισμικού. Είναι εύκολο να ενσωματώσετε και να αποκρύψετε κακόβουλο λογισμικό σε σχεδόν οποιοδήποτε ελεγκτή υλικολογισμικού.

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

Η τρομακτική αλήθεια είναι ότι οι χάκερ έχουν παραβιάσει συσκευές υλικολογισμικού και τις αναγκάζουν σε μη εξουσιοδοτημένες ενέργειες για όσο διάστημα υπάρχει υλικολογισμικό.

Το BadUSB είναι η μεγαλύτερη απειλή που μπορείτε να αφαιρέσετε από τη λίστα πανικού σας

Η πραγματικότητα είναι ότι θα έπρεπε τουλάχιστον να είστε νευρικοί για οποιαδήποτε συσκευή υλικολογισμικού που είναι συνδεδεμένη στον υπολογιστή σας - USB ή άλλως - για μεγάλο χρονικό διάστημα. Είμαι έτσι για σχεδόν μια δεκαετία.

Η μόνη υπεράσπισή σας είναι ότι συνδέετε συσκευές υλικολογισμικού από προμηθευτές που εμπιστεύεστε και τις κρατάτε υπό τον έλεγχό σας. Αλλά πώς γνωρίζετε ότι οι συσκευές στις οποίες συνδέσατε δεν έχουν παραβιαστεί μαζικά ή δεν έχουν παραβιαστεί μεταξύ του πωλητή και των υπολογιστών σας; Οι διαρροές από τον Έντουαρντ Σνόουντεν υποδηλώνουν ότι η NSA έχει αναχαιτίσει υπολογιστές σε διέλευση για να εγκαταστήσει συσκευές ακρόασης. Σίγουρα άλλοι κατάσκοποι και χάκερ έχουν δοκιμάσει την ίδια τακτική για να μολύνουν εξαρτήματα κατά μήκος της αλυσίδας εφοδιασμού.

Ωστόσο, μπορείτε να χαλαρώσετε.

Είναι πιθανό κακόβουλο υλικό και μπορεί να χρησιμοποιηθεί σε ορισμένα περιορισμένα σενάρια. Αλλά είναι απίθανο να είναι ευρέως διαδεδομένο. Η παραβίαση υλικού δεν είναι εύκολη. Είναι πλούσιο σε πόρους. Διαφορετικά σύνολα οδηγιών χρησιμοποιούνται για διαφορετικά σετ τσιπ. Στη συνέχεια, υπάρχει το ενοχλητικό πρόβλημα να υποχρεώσουμε τα θύματα να αποδεχτούν τις κακόβουλες συσκευές και να τις εισαγάγουν στους υπολογιστές τους. Για στόχους πολύ υψηλής αξίας, τέτοιες επιθέσεις τύπου "Mission Impossible" είναι εύλογες, αλλά όχι τόσο για τον μέσο Joe.

Οι σημερινοί χάκερ (συμπεριλαμβανομένων των υπηρεσιών κατασκοπείας στις Ηνωμένες Πολιτείες, το Ηνωμένο Βασίλειο, το Ισραήλ, την Κίνα, τη Ρωσία, τη Γαλλία, τη Γερμανία και ούτω καθεξής) απολαμβάνουν πολύ μεγαλύτερη επιτυχία χρησιμοποιώντας παραδοσιακές μεθόδους μόλυνσης λογισμικού. Για παράδειγμα, ως χάκερ, μπορείτε να δημιουργήσετε και να χρησιμοποιήσετε ένα υπερσύγχρονο και υπερσύγχρονο εργαλείο επίθεσης υπεύθυνου Blue Pill ή να πάτε με ένα κοινό καθημερινό πρόγραμμα Trojan λογισμικού που λειτούργησε καλά εδώ και δεκαετίες για να χαράξετε έναν πολύ μεγαλύτερο αριθμό ανθρώπων.

Αλλά ας υποθέσουμε ότι κακόβουλο υλικολογισμικό ή συσκευές USB άρχισαν να εμφανίζονται ευρέως; Μπορείτε να στοιχηματίσετε ότι οι πωλητές θα ανταποκρίνονταν και θα λύσουν το πρόβλημα. Το BadUSB δεν έχει άμυνα σήμερα, αλλά θα μπορούσε εύκολα να αμυνθεί στο μέλλον. Σε τελική ανάλυση, είναι απλώς λογισμικό (αποθηκευμένο σε υλικολογισμικό) και το λογισμικό μπορεί να το νικήσει. Οι φορείς τυποποίησης USB πιθανότατα θα ενημερώσουν τις προδιαγραφές για να αποτρέψουν τέτοιες επιθέσεις, οι προμηθευτές μικροελεγκτών θα κάνουν την κακία λιγότερο πιθανό να συμβεί από το υλικολογισμικό και οι προμηθευτές λειτουργικού συστήματος πιθανότατα θα ανταποκρίνονταν ακόμη πιο γρήγορα.

Για παράδειγμα, ορισμένοι προμηθευτές λειτουργικού συστήματος εμποδίζουν πλέον τις συσκευές DMA να έχουν πρόσβαση στη μνήμη πριν από την πλήρη εκκίνηση ενός υπολογιστή ή πριν ο χρήστης συνδεθεί, αποκλειστικά για να αποφευχθούν οι εντοπισμένες επιθέσεις που προέρχονται από συνδεδεμένες συσκευές DMA. Τα Windows 8.1, OS X (μέσω κωδικών πρόσβασης Open Firmware) και Linux έχουν άμυνα κατά των επιθέσεων DMA, αν και συνήθως απαιτούν από τους χρήστες να ενεργοποιήσουν αυτές τις άμυνες. Τα ίδια είδη άμυνας θα εφαρμοστούν εάν το BadUSB εξαπλωθεί.

Μην φοβάστε το BadUSB, ακόμα κι αν ένας φίλος χάκερ αποφασίσει να σας παίξει ένα κόλπο χρησιμοποιώντας την κακόβουλη κωδικοποιημένη μονάδα USB. Μου αρέσει - μην χρησιμοποιείτε συσκευές USB που δεν βρίσκονται υπό τον έλεγχό σας ανά πάσα στιγμή.

Θυμηθείτε: Εάν ανησυχείτε για παραβίαση, ανησυχείτε πολύ για το τι τρέχει στο πρόγραμμα περιήγησής σας από ό, τι τρέχει από το υλικολογισμικό σας.

$config[zx-auto] not found$config[zx-overlay] not found