Οι ερευνητές ασφαλείας εξήγαγαν με επιτυχία υλικολογισμικό από ένα οικονομικό έξυπνο ρολόι, επαναφέροντας μια μέθοδο επίθεσης 20 ετών που αρχικά χρησιμοποιήθηκε για την κλοπή δεδομένων από συσκευές δικτύου.
Η τεχνική, γνωστή ως “Blinkenlights”, προσαρμόστηκε για να λειτουργεί με σύγχρονες οθόνες TFT αντί για παραδοσιακές ενδείξεις LED.
Οι αναλυτές του Quarkslab αγόρασαν ένα φτηνό έξυπνο ρολόι για περίπου 12 ευρώ από ένα τοπικό κατάστημα και ανακάλυψαν ότι περιείχε ψεύτικους αισθητήρες υγείας που δεν μπορούσαν να μετρήσουν την αρτηριακή πίεση ή να παρακολουθήσουν τη δραστηριότητα του ύπνου.
Η συσκευή χρησιμοποιούσε σύστημα JieLi AC6958C6-on-chip και επικοινωνούσε μέσω Bluetooth Low Energy, που αρχικά φαινόταν σαν μια πολλά υποσχόμενη οδός για την εξαγωγή υλικολογισμικού.
Αφού ανέλυσαν το έξυπνο ρολόι, οι ερευνητές εντόπισαν μια ευπάθεια ανάλυσης κλήσης που απέτυχε να ελέγξει σωστά τα όρια μετατόπισης.
Αυτό το ελάττωμα ασφαλείας τους επέτρεψε να εκμεταλλευτούν μια κατάσταση ανάγνωσης εκτός ορίων, αναγκάζοντας τη συσκευή να εμφανίζει αυθαίρετο περιεχόμενο μνήμης απευθείας στην οθόνη.
Αναλυτές Quarkslab διάσημος Αυτή η αδυναμία μετά την αντίστροφη μηχανική της διαδικασίας μεταφόρτωσης προσαρμοσμένης κλήσης και την ανακάλυψη ότι ο αναλυτής υλικολογισμικού δεν επικύρωσε τις μετατοπίσεις εικόνας που δείχνουν έξω από τα δυαδικά δεδομένα του καντράν.
.webp)
Οι ερευνητές επιχείρησαν πολλαπλές μεθόδους εξαγωγής προτού καταλήξουν στην προσέγγιση Blinkenlights.
Αρχικά εξερεύνησαν τη δυνατότητα ενημέρωσης over-the-air του JieLi, αλλά βρήκαν ότι υποστηρίζει μόνο μεταφορτώσεις υλικολογισμικού και όχι λήψεις.
Ο μηχανισμός ελέγχου ταυτότητας χρησιμοποίησε τη λειτουργία παλαιού τύπου E1 του Bluetooth με κωδικοποιημένες τιμές, τις οποίες οι ερευνητές αναπαρήγαγαν με επιτυχία. Ωστόσο, αυτή η διαδρομή αποδείχθηκε ανεπιτυχής για την εξαγωγή υλικολογισμικού.
Σύγχρονη Υλοποίηση Blinkenlights
Η ομάδα ανέπτυξε μια προσαρμοσμένη ρύθμιση υλικού χρησιμοποιώντας ένα Raspberry Pi Pico υπερχρονισμένο στα 200 MHz για τη λήψη δεδομένων που αποστέλλονται από το κύριο SoC του smartwatch στον ελεγκτή οθόνης NV3030B.
Η οθόνη χρησιμοποίησε ένα ρολόι 25 MHz για τη μετάδοση δεδομένων pixel σε μορφή RGB565, απαιτώντας δειγματοληψία υψηλής ταχύτητας για την ακριβή λήψη των πληροφοριών.
Οι ερευνητές κόλλησαν καλώδια διαμέτρου 0,1 mm στην υποδοχή της οθόνης και χρησιμοποίησαν τη δυνατότητα προγραμματιζόμενης εισόδου/εξόδου (PIO) του Pico για να δειγματίσουν bits δεδομένων στις ανερχόμενες άκρες του ρολογιού.
.webp)
Το πρόγραμμα PIO σχεδιάστηκε με μόνο δύο οδηγίες για τη διατήρηση της αποτελεσματικότητας στον υψηλό ρυθμό δειγματοληψίας.
Τα δεδομένα που καταγράφηκαν αποθηκεύτηκαν στο buffer 145.000 byte του Pico πριν μεταδοθούν σε έναν κεντρικό υπολογιστή μέσω σειριακής θύρας USB.
Για να ενεργοποιήσουν την απόρριψη υλικολογισμικού, οι ερευνητές δημιούργησαν κακόβουλες προσαρμοσμένες κλήσεις με παραποιημένες τιμές μετατόπισης που έκαναν το smartwatch να διαβάζει και να εμφανίζει περιεχόμενο μνήμης πέρα από την προβλεπόμενη περιοχή δεδομένων του καντράν.
Η διαδικασία εξαγωγής περιλάμβανε τη δημιουργία πολλαπλών προσαρμοσμένων κλήσεων, καθεμία από τις οποίες στόχευε διαφορετικές διευθύνσεις μνήμης.
Μια ειδική κεφαλίδα που περιείχε λέξεις συγχρονισμού (0xa5a5a5a5) και μαγικά byte (0xdeadbeef) ενσωματώθηκε σε κάθε επιλογέα για τον εντοπισμό μπλοκ δεδομένων που έχουν καταγραφεί και την επαλήθευση της ευθυγράμμισης.
Τα σενάρια Python αναπτύχθηκαν για να αυτοματοποιήσουν τη δημιουργία κλήσης, τη συλλογή δεδομένων και την ανακατασκευή υλικολογισμικού από μεμονωμένες φέτες μνήμης.
Αυτή η έρευνα δείχνει πώς οι απαρχαιωμένες τεχνικές επίθεσης παραμένουν αποτελεσματικές έναντι των σύγχρονων ενσωματωμένων συσκευών όταν συνδυάζονται με μεθόδους δημιουργικής εκμετάλλευσης.
Η προσέγγιση φθηνού υλικού, που δεν κοστίζει σχεδόν τίποτα πέρα από ένα Raspberry Pi Pico, αποδείχθηκε πιο πρακτική από τους ακριβούς λογικούς αναλυτές για τη συγκεκριμένη εφαρμογή.










