Hacking
Κεντρική μονάδα πλοήγησης Renault δέχεται root από κακόβουλη SD
Η ανακάλυψη δείχνει πώς μια αλυσίδα λογικών αδυναμιών σε παλαιό kernel και σε parser scripts επιτρέπει πλήρη παραβίαση της μονάδας πλοήγησης. Οι χρήστες πρέπει να προφυλάσσονται από άγνωστες SD και οι κατασκευαστές να εφαρμόσουν secure-by-design μέτρα.
Ένας ασφαλιστικός ερευνητής ανακάλυψε μια σοβαρή ευπάθεια στην ενότητα πλοήγησης που χρησιμοποιεί η Renault, η οποία επιτρέπει την εκτέλεση κώδικα με δικαιώματα root μέσω μιας τροποποιημένης SD κάρτας. Η ανακάλυψη επιβεβαιώνει μια βασική αδυναμία στο σχεδιασμό των embedded συστημάτων αυτοκινήτου: ακόμα και όταν ένα σύστημα φαίνεται «κλειδωμένο» από βασικές ρυθμίσεις ασφαλείας, μικρές λογικές αδυναμίες σε συνδυασμό με παρωχημένα λογισμικά μπορούν να οδηγήσουν σε πλήρη παραβίαση της συσκευής.
Η μελέτη δημοσιεύθηκε από τον ερευνητή Rasmus Moorats στις 2 Νοεμβρίου 2026 για μια μονάδα TomTom Carminat LIVE που έχει κωδική ονομασία «beaumont», και τρέχει ένα προσαρμοσμένο λειτουργικό σύστημα βασισμένο σε Linux 2.6.28.10. Η τεχνική λεπτομέρεια της επίθεσης είναι ενδιαφέρουσα επειδή καταφέρνει να παρακάμψει επιφανειακές άμυνες, όπως read-only σύστημα αρχείων και mount flags noexec, και να φτάσει στην εκτέλεση root εντολών.
Η βασική ευπάθεια: path traversal στον parser των scripts
Η μονάδα πλοήγησης αναζητά σε κάθε εκκίνηση ένα αρχείο με όνομα master.script στην κάρτα SD και ρωτά τον χρήστη αν θέλει να το εκτελέσει. Το αρχείο αυτό χρησιμοποιεί μια προσαρμοσμένη γλώσσα αυτοματισμών, η οποία ερμηνεύεται από το πρόγραμμα ttn που τρέχει με δικαιώματα root. Αυτό αποτυπώνει ένα κλασικό πρότυπο ασφάλειας: όταν ο parser τρέχει ως root, οποιοδήποτε σφάλμα στη λογική του μπορεί να σημαίνει πλήρη παραβίαση της συσκευής.
Ο Moorats βρήκε δύο αδυναμίες στον interpreter των scripts, και κρίσιμος ήταν ο τρόπος με τον οποίο η εντολή LOG χειρίζεται μονοπάτια αρχείων. Η LOG υποτίθεται ότι γράφει μία γραμμή κειμένου σε αρχείο μέσα σε έναν προκαθορισμένο φάκελο logs, αλλά δεν καθαρίζει (sanitize) την τιμή που παίρνει για το όνομα του αρχείου. Αυτό επιτρέπει την χρήση της ακολουθίας “../” για έξοδο από τον φάκελο και εγγραφή σε οποιαδήποτε άλλη θέση του συστήματος — ένα κλασικό path traversal.
Το δεύτερο σκέλος: περιορισμένη, αλλά κρίσιμη λειτουργία της εντολής SHEX
Η άλλη εντολή που αξιοποιήθηκε, SHEX, προορίζεται να εκτελέσει ένα εκτελέσιμο που ήδη υπάρχει στη συσκευή, αλλά δεν επιτρέπει την παράδοση παραμέτρων. Μόνο με αυτές τις δύο αστοχίες, αρχικά φαινόταν ότι ο ερευνητής δεν μπορεί να εισάγει νέο εκτελέσιμο στη συσκευή λόγω του read-only root και της σήμανσης noexec σε σχεδόν όλα τα άλλα partitions, συμπεριλαμβανομένης της κάρτας SD.
Παρόλα αυτά, ο Moorats αξιοποίησε σύντομα μια ιδέα γνωστή από exploitation του Linux kernel: το αρχείο /proc/sys/kernel/core_pattern μπορεί να προκαλέσει τον πυρήνα να εκτελέσει μια εντολή κάθε φορά που μία διεργασία καταρρέει, εάν η τιμή αρχίζει με χαρακτήρα pipe (|). Εκμεταλλευόμενος το path traversal, έγραψε σε αυτό το κρίσιμο αρχείο ώστε ο πυρήνας να τρέχει ένα shell με την ανάγνωση του payload από την SD ως δεδομένα. Με άλλα λόγια, πέτυχε να κάνει τον kernel να τρέχει το payload ως root κάθε φορά που προέκυπτε ένα crash.
Η εκτέλεση χωρίς άμεση εκτέλεση αρχείων στην SD
Η επίθεση παρακάμπτει το noexec με ένα έξυπνο σκεπτικό: το /bin/sh που καλείται υπάρχει σε partition όπου η εκτέλεση είναι επιτρεπτή, και το payload στην κάρτα SD απλώς διαβάζεται από το shell ως δεδομένα. Έτσι, παρά το γεγονός ότι δεν μπορούσε να εκτελέσει απευθείας ένα δυαδικό από την SD, μπόρεσε να οδηγήσει την πλατφόρμα στην εκτέλεση του επιθυμητού κώδικα με root δικαιώματα.
Το επόμενο βήμα ήταν να προκαλέσει κατάρρευση μιας διεργασίας ώστε ο πυρήνας να ενεργοποιήσει την εντολή στο core_pattern. Ο Moorats χρησιμοποίησε το /bin/dbus-monitor, το οποίο κρασάρει όταν δεν μπορεί να βρει το system bus, και έτσι ενεργοποιήθηκε ο μηχανισμός που έτρεξε το επιβλαβές script με πλήρη δικαιώματα. Στο proof-of-concept, η πρώτη απόδειξη ήταν ένα απλό reboot της μονάδας, που επιβεβαίωσε ότι υπήρχε root εκτέλεση.
Τεχνικό πλαίσιο: παρωχημένος kernel και πρακτικά εμπόδια
Η ενότητα τρέχει σε ένα SoC Samsung S5P6440 και σε kernel Linux 2.6.28.10, έκδοση αρκετά παλιά σε σχέση με τα σημερινά πρότυπα ασφαλείας. Οι μεγαλύτερες εκδόσεις του Linux μετά από αυτήν εισήγαγαν πολλές βελτιώσεις και νέες μετρήσεις hardening, όπως πιο ισχυρή υλοποίηση του ASLR, βελτιώσεις στον τρόπο διαχείρισης core dumps και πρόσθετα μηχανιστικά μέτρα για την αποτροπή arbitrary code execution. Τα embedded προϊόντα αυτοκινήτου όμως συχνά μένουν πίσω στις ενημερώσεις, επειδή η διαδικασία πιστοποίησης και οι εγγυήσεις οχημάτων επιβραδύνουν το deployment ενημερώσεων.
Επιπλέον, η σχεδίαση όπου ένα πρόγραμμα parser τρέχει ως root και δέχεται εξωτερικά scripts από αφαιρούμενα μέσα είναι ενδογενώς επικίνδυνη. Η ύπαρξη προτροπής «Execute master.script?» δίνει μια αίσθηση ελέγχου, αλλά δεν αντισταθμίζει την πραγματική δυνατότητα χειραγώγησης: ένας μη ενημερωμένος ή παραπλανημένος χρήστης μπορεί εύκολα να πατήσει «Yes». Το αποτέλεσμα είναι ότι τυπικές πρακτικές όπως read-only root ή noexec δεν επαρκούν όταν υπάρχει λογική παραβίαση σε επίπεδο εφαρμογής.
Ρεαλιστικά σενάρια επίθεσης και επιπτώσεις
Η επίθεση απαιτεί φυσική πρόσβαση στην κάρτα SD και την αποδοχή του prompt από τον χρήστη, επομένως μαζική, απομακρυσμένη εκμετάλλευση είναι απίθανη. Υπάρχουν όμως ρεαλιστικά και δυσάρεστα σενάρια: μια τροποποιημένη SD που δίνεται σε υπάλληλο στάθμευσης (valet) ή σε συνεργείο, μια κάρτα που ανταλλάσσεται ως «βοηθητικό» μέσο ή ακόμα και περιστατικά κοινωνικής μηχανικής όπου ο οδηγός πείθεται να εκτελέσει το script.
Με root πρόσβαση στη μονάδα πλοήγησης ο επιτιθέμενος μπορεί να διαβάσει και να εξάγει ευαίσθητα δεδομένα, όπως ιστορικό πλοήγησης, αγαπημένα σημεία, διευθύνσεις και πιθανά αποθηκευμένα credentials. Επιπλέον, μπορεί να κάνει μόνιμες αλλαγές στη συσκευή — να τροποποιήσει firmware, να εγκαταστήσει backdoors ή να αλλάξει ρυθμίσεις που θα παραμείνουν μετά από reboot. Αυτό μπορεί να αυξήσει τον κίνδυνο μελλοντικής απομακρυσμένης πρόσβασης εάν η μονάδα διαθέτει συνδεσιμότητα με άλλα συστήματα του οχήματος.
Παραδείγματα και ιστορικό: τα αυτοκίνητα ως στόχοι επίθεσης
Η έννοια ότι τα αυτοκίνητα είναι ευάλωτα σε ηλεκτρονικές επιθέσεις δεν είναι νέα. Το παράδειγμα της επίθεσης στους Jeep Cherokee το 2015 από τους Miller και Valasek έδειξε ότι η απομακρυσμένη πρόσβαση μπορεί να έχει φυσικές συνέπειες. Αν και το παράδειγμα της Renault εδώ δεν αφορά αρχικά απομακρυσμένη πρόσβαση, αναδεικνύει ότι ακόμα και τοπικές επιθέσεις μπορούν να προσφέρουν μεγάλο εύρος πρόσβασης και αντοχής στον επιτιθέμενο.
Παράλληλα, εταιρείες όπως η TomTom και πολλοί OEMs επανειλημμένα αποδεικνύονται ότι έχουν legacy στοιχεία σε λογισμικό που χρειάζονται συνεχή επιθεώρηση. Η σύνδεση των συστημάτων infotainment με κινητά, cloud υπηρεσίες και δικτυακές διεπαφές πολλαπλασιάζει τις πιθανές επιφάνειες επίθεσης εάν ένα τοπικό διεισδυτικό σημείο παραμείνει απενεργοποιημένο.
Τι μπορούν να κάνουν οι κατασκευαστές και οι χρήστες;
Οι κατασκευαστές πρέπει να υιοθετήσουν μια πιο επιθετική στρατηγική ασφαλείας για embedded συστήματα: εφαρμογή secure-by-design αρχών, χρήση signed scripts και ψηφιακής υπογραφής για ό,τι εκτελείται από αφαιρούμενα μέσα, αποφυγή εκτέλεσης parser με πλήρη root δικαιώματα, και περιορισμός των δικαιωμάτων μέσω sandboxing και seccomp. Επιπλέον, η αναβάθμιση των kernels και των βιβλιοθηκών σε εκδόσεις που περιλαμβάνουν σύγχρονες mitigations πρέπει να γίνει προτεραιότητα, έστω και αν αυτό απαιτεί επένδυση σε διαδικασίες πιστοποίησης.
Σε πρακτικό επίπεδο, η απενεργοποίηση της αυτόματης εκτέλεσης αρχείων από αφαιρούμενα μέσα, η παρουσίαση σαφούς και μη παραπλανητικής πληροφορίας στον χρήστη, και η χρήση cryptographic whitelisting για επιτρεπόμενα scripts θα μειώσουν σημαντικά τους κινδύνους. Τέλος, η παροχή εύκολης και ασφαλούς οδού για ενημερώσεις λογισμικού (OTA ή μέσω εξουσιοδοτημένων συνεργείων) είναι κρίσιμη για να κλείνουν τέτοια κενά όταν ανακαλύπτονται.
Τι σημαίνει για τους χρήστες
Για τον μέσο χρήστη, το πιο σημαντικό μήνυμα είναι η προσοχή στο τι μπαίνει στη θύρα της συσκευής. Μην δέχεστε άγνωστες SD κάρτες, και αποφύγετε την εκτέλεση scripts αν δεν είστε απολύτως βέβαιοι για την προέλευσή τους. Εάν το αυτοκίνητό σας διαθέτει ενημερώσεις λογισμικού για την πλοήγηση ή το infotainment, φροντίστε να τις εγκαθιστάτε μέσω των επίσημων καναλιών ή στο συνεργείο της αντιπροσωπείας.
Σε ευρύτερο επίπεδο, η ανακάλυψη του Moorats αποτελεί υπενθύμιση ότι οι συσκευές εντός οχημάτων ζουν για πολλά χρόνια και συχνά τρέχουν παλαιότερο λογισμικό. Οι ιδιοκτήτες οχημάτων και οι αρμόδιες αρχές οφείλουν να πιέσουν για διαφάνεια στην ασφάλεια, δυνατότητες ενημερώσεων και για πρακτικές που μειώνουν τον κίνδυνο κακόβουλων χειρισμών.