Οι συσκευές της Qualcomm διαθέτουν λειτουργία EDL, η οποία όπως αποδεικνύεται φαίνεται να είναι εκμεταλλεύσιμη εάν διαθέτετε τα κατάλληλα εργαλεία που έχουν κυκλοφορήσει από τους OEM.
Οι συσκευές με chipset Qualcomm έχουν α Ππρωτογενής σιootμεγάλοoader (PBL) που συνήθως εκκινεί το σύστημα Android, αλλά φιλοξενεί επίσης μια εναλλακτική λειτουργία εκκίνησης γνωστή ως λειτουργία EDL. Η λειτουργία EDL είναι της Qualcomm μιέκτακτης ανάγκης ρεδικό φορτίο Μωδή και επιτρέπει μια Οπρωτότυπο μιεξοπλισμός Μκατασκευαστή (OEM) για να εξαναγκάσει το λογισμικό flash σε μια συσκευή. Δεν μπορεί να τροποποιηθεί (λειτουργία μόνο για ανάγνωση) και έχει πλήρη έλεγχο του χώρου αποθήκευσης της συσκευής. Πολλοί OEM, συμπεριλαμβανομένων των OnePlus και Xiaomi, έχουν κυκλοφορήσει εργαλεία (γνωστά ως προγραμματιστές) που χρησιμοποιούν τη λειτουργία EDL και ένα πρωτόκολλο γνωστό ως Firehose για να ξεμπουκώσει μια συσκευή, ενώ άλλα εργαλεία από εταιρείες όπως η Nokia έχουν διαρρεύσει. Το Firehose μπορεί να χρησιμοποιήσει έναν αριθμό εντολών για να αναβοσβήνει συσκευές, μαζί με τη δυνατότητα εξέτασης των δεδομένων στη μνήμη μιας συσκευής. Ερευνητές ασφαλείας
Ρόι Χέι (@roeehay) και Νόαμ Χαντάντ από Έρευνα Άλεφ έχουν ανακαλύψει κρίσιμα τρωτά σημεία συσκευής χρησιμοποιώντας αυτήν τη λειτουργία, η οποία ουσιαστικά εκχωρεί σε έναν εισβολέα πλήρη πρόσβαση στη συσκευή.Είναι σημαντικό να σημειωθεί ότι αυτό το exploit απαιτεί φυσική πρόσβαση στη συσκευή, αλλά εξακολουθεί να είναι απίστευτα επικίνδυνο και πιθανόν να μην μπορεί να διορθωθεί. Οι εισβολείς χρησιμοποίησαν το επίπεδο πρόσβασης που παραχωρήθηκε στη λειτουργία EDL για να παρακάμψουν την ασφαλή εκκίνηση σε ένα Nokia 6, νικώντας το αλυσίδα εμπιστοσύνης και απόκτηση πλήρους εκτέλεσης κώδικα σε κάθε μέρος της ακολουθίας εκκίνησης, συμπεριλαμβανομένου του λειτουργικού συστήματος Android εαυτό. Θεωρείται ότι λειτουργεί με τον ίδιο τρόπο σε άλλες συσκευές και οι ερευνητές κατάφεραν επίσης να ξεκλειδώσουν και να ξεριζώσουν πολλές συσκευές Xiaomi χωρίς απώλεια δεδομένων.
Ποιες συσκευές επηρεάζονται από αυτό το exploit;
Πρώτον, οι συσκευές που επηρεάζονται.
Λίστα συσκευών που επηρεάζονται.
- LG G4
- Nokia 6 (d1c)
- Nokia 5
- Nexus 6 (shamu)
- Nexus 6P (ψάρεμα)
- Moto G4 Plus
- OnePlus 5 (cheeseburger)
- OnePlus 3T
- OnePlus 3
- OnePlus 2
- OnePlus X
- Ενα συν ένα
- ZTE Axon 7
- ZUK Z1
- ZUK Z2
- Xiaomi Note 5A (uglite)
- Xiaomi Note 5 Prime (ugg)
- Xiaomi Note 4 (mido)
- Xiaomi Note 3 (jason)
- Xiaomi Note 2 (σκορπιός)
- Xiaomi Mix (λίθιο)
- Xiaomi Mix 2 (chiron)
- Xiaomi Mi 6 (sagit)
- Xiaomi Mi 5s (αιγόκερως)
- Xiaomi Mi 5s Plus (νάτριο)
- Xiaomi Mi 5x (tiffany)
- Xiaomi Mi 5 (gemini)
- Xiaomi Mi 3 (cancro)
- Xiaomi Mi A1 (tissot)
- Xiaomi Mi Max2 (οξυγόνο)
- Xiaomi Redmi Note 3 (kenzo)
- Xiaomi Redmi 5A (riva)
- Xiaomi Redmi 4A (ροζ)
Διαβάστε περισσότερα
Εκμετάλλευση ενός τηλεφώνου Android
Η ακολουθία εκκίνησης ενός τυπικού τηλεφώνου Android Qualcomm
Είναι σημαντικό να κατανοήσετε πρώτα την ακολουθία εκκίνησης μιας τυπικής συσκευής Android πριν εξηγήσετε πώς μπορεί να εκμεταλλευτεί. ο μικρόλογισμικού σιootμεγάλοΤο oader (SBL) είναι ένας ψηφιακά υπογεγραμμένος bootloader που ελέγχεται για αυθεντικότητα πριν φορτωθεί στο imem. Το imem είναι μια γρήγορη μνήμη στο τσιπ που χρησιμοποιείται για εντοπισμό σφαλμάτων και DMA (ρεευθύς Μemory έναccess) συναλλαγές και είναι αποκλειστικό των chipset της Qualcomm.
Ορισμένες συσκευές διαθέτουν eΧέντατος σιootμεγάλοoader (XBL) αντί για SBL, αλλά η διαδικασία εκκίνησης είναι σχεδόν η ίδια. Στη συνέχεια, το SBL ή το XBL εκκινεί το ABOOT, το οποίο υλοποιεί το fastboot. Μετά από αυτό, φορτώνεται επίσης η TrustZone (ασφάλεια βασισμένη σε υλικό). Το TrustZone ελέγχει την αυθεντικότητα του ABOOT μέσω ενός πιστοποιητικού ρίζας που βασίζεται σε υλικό. Το SBL (ή XBL, σε ορισμένες περιπτώσεις) έχει σχεδιαστεί για να απορρίπτει ένα εσφαλμένα υπογεγραμμένο (ή ανυπόγραφο) ABOOT.
Μόλις γίνει έλεγχος ταυτότητας, το ABOOT ελέγχει τα /boot και /recovery για αυθεντικότητα πριν από την εκκίνηση του πυρήνα Linux. Κάποιες προετοιμασίες συστήματος γίνονται και στη συνέχεια η εκτέλεση κώδικα μεταφέρεται στον πυρήνα. Το ABOOT είναι κοινώς γνωστό ως "Android Bootloader" και όταν ξεκλειδώνουμε το bootloader μιας συσκευής, απενεργοποιούμε αυτόν τον έλεγχο γνησιότητας στο ABOOT.
Πρόσβαση στη λειτουργία EDL
Ενώ ορισμένες συσκευές έχουν έναν απλό συνδυασμό υλικού (ή χειρότερα, μια απλή ιδιόκτητη εντολή fastboot που υπάρχει σε πολλές συσκευές Xiaomi), άλλες, όπως οι συσκευές Nokia, χρειάζονται σύντομες ακίδες γνωστές ως "σημεία δοκιμής" που υπάρχουν στην κύρια συσκευή της συσκευής σανίδα. Επίσης, πριν από την ενημερωμένη έκδοση κώδικα ασφαλείας του Δεκεμβρίου 2017, ήταν δυνατή η απλή εκτέλεση του "adb reboot edl" σε πολλές συσκευές (συμπεριλαμβανομένων των Nexus 6 και 6P) και η είσοδος στη λειτουργία EDL. Αυτό έχει διορθωθεί από τότε.
Άλλες συσκευές μπορούν επίσης να χρησιμοποιήσουν αυτό που είναι γνωστό ως καλώδιο "βαθιάς φλας", το οποίο είναι ένα ειδικό καλώδιο με ορισμένες ακίδες βραχυκυκλωμένες για να υποδείξουν στο σύστημα να εκκινήσει αντ' αυτού σε λειτουργία EDL. Οι παλιές συσκευές Xiaomi μπορούν να χρησιμοποιήσουν αυτήν τη μέθοδο, μαζί με το Nokia 5 και το Nokia 6. Άλλες συσκευές θα εκκινήσουν επίσης σε λειτουργία EDL όταν αποτυγχάνουν να επαληθεύσουν το SBL.
Χρησιμοποιώντας τη λειτουργία EDL για να αποκτήσετε πλήρη πρόσβαση σε ένα OnePlus 3/3T
Η λειτουργία EDL μπορεί να χρησιμοποιηθεί με διάφορους τρόπους σε μια συσκευή, κυρίως για την απομάκρυνση του τούβλου συσκευών με το αναβοσβήσιμο τους. Όπως εξηγήθηκε παραπάνω, θεωρητικά θα πρέπει να είναι ασφαλές για οποιονδήποτε να έχει πρόσβαση σε αυτήν τη λειτουργία, καθώς το χειρότερο σενάριο είναι ότι το ABOOT θα απορρίψει λογισμικό που δεν είναι επίσημα υπογεγραμμένο από τον κατασκευαστή. Αν και αυτό είναι αλήθεια, είναι πραγματικά δυνατό να αποκτήσετε τον πλήρη έλεγχο ενός OnePlus 3 ή 3T και των αρχείων του σε μια απόδειξη της ιδέας εκμετάλλευσης που έδειξαν οι ερευνητές.
Αυτό θα γίνει μέσω δύο πολύ επικίνδυνων εντολών που η OnePlus άφησε προσβάσιμη σε μια παλαιότερη έκδοση του ABOOT (το Android bootloader), για να ξεκλειδώσετε το bootloader της συσκευής (χωρίς να εμφανίζεται προειδοποίηση στον χρήστη κατά την εκκίνηση) και να απενεργοποιήσετε dm_verity. Το dm_verity είναι επίσης γνωστό ως επαληθευμένη εκκίνηση και αποτελεί μέρος μιας ακολουθίας ασφαλούς εκκίνησης σε μια συσκευή Android. Οι δύο εντολές είναι οι εξής.
fastboot oem disable_dm_verity
fastboot oem 4F500301/2
Παρατηρήστε την απλή διαδικασία 4 βημάτων παρακάτω, η οποία χρησιμοποιεί το πρωτόκολλο Firehose.
- Αρχικά, εκκινήστε τη συσκευή σε λειτουργία EDL. Αυτό μπορεί να γίνει είτε μέσω adb στο OxygenOS 5.0 ή χαμηλότερο ή χρησιμοποιώντας έναν απλό συνδυασμό πλήκτρων υλικού.
- Κατεβάστε μια παλιά εικόνα συστήματος του παρακάτω OxygenOS 4.0.2.
- Flash aboot.bin μέσω firehose (θυμηθείτε ότι το aboot.bin υλοποιεί το fastboot, όπως αναφέραμε προηγουμένως)
- Τώρα θα μπορείτε να απενεργοποιήσετε την ασφαλή εκκίνηση και να ξεκλειδώσετε το bootloader χωρίς να σκουπίσετε τη συσκευή απλά χρησιμοποιώντας τις δύο εντολές fastboot παραπάνω.
Αν θυμάστε, στο παρελθόν είχε διαπιστωθεί ότι το OnePlus είχε αφήσει δύο επικίνδυνες εντολές fastboot πριν από σχεδόν ένα χρόνο, μία που ξεκλείδωσε το bootloader και μία που απενεργοποίησε την ασφαλή εκκίνηση. Ενώ είναι αλήθεια ότι ένας επιθετικός δεν μπορεί να εγκαταστήσει κακόβουλο λογισμικό στη συσκευή, αυτοί μπορούν υποβαθμίσετε τη συσκευή να έχω παλαιότερο, ευάλωτο σε λογισμικό επίθεσης. Απλώς εκτελώντας τις παραπάνω εντολές fastboot, ένας εισβολέας μπορεί να έχει πλήρης πρόσβαση στη συσκευή.
Και αυτό είναι όλο, ο bootloader είναι ξεκλειδωμένος, η ασφαλής εκκίνηση είναι απενεργοποιημένη και δεν υπάρχει καμία απολύτως απώλεια δεδομένων. Εάν ένας εισβολέας ήθελε να το κάνει ένα βήμα παραπέρα, θα μπορούσε να αναβοσβήνει έναν κακόβουλο προσαρμοσμένο πυρήνα που επιτρέπει την πρόσβαση root στη συσκευή για την οποία ο χρήστης δεν θα γνώριζε ποτέ.
Το Firehose λειτουργεί μέσω του πρωτοκόλλου Qualcomm Sahara, το οποίο δέχεται προγραμματιστή με υπογραφή OEM και είναι ο τρόπος με τον οποίο θα εκτελούνταν η παραπάνω επίθεση. Όταν συνδέεται σε μια συσκευή, λειτουργεί ως SBL μέσω USB. Οι περισσότεροι προγραμματιστές χρησιμοποιούν Πυροσβεστική μάνικα να επικοινωνήσει με ένα τηλέφωνο σε λειτουργία EDL, κάτι που εκμεταλλεύτηκαν οι ερευνητές για να αποκτήσουν τον πλήρη έλεγχο της συσκευής. Οι ερευνητές το χρησιμοποίησαν επίσης για να ξεκλειδώστε μια συσκευή Xiaomi απλά αναβοσβήνοντας μια τροποποιημένη εικόνα που ξεκλείδωσε το bootloader. Στη συνέχεια αναβοσβήνουν έναν προσαρμοσμένο πυρήνα που έδωσε πρόσβαση root και εκκίνησαν το SELinux σε επιτρεπτή και εξήγαγαν επίσης την κρυπτογραφημένη εικόνα δεδομένων χρήστη από τη συσκευή.
συμπέρασμα
Είναι άγνωστο γιατί οι OEM απελευθερώνουν αυτούς τους προγραμματιστές από την Qualcomm. Οι προγραμματιστές της Nokia, της LG, της Motorola και της Google διέρρευσαν αντί να κυκλοφορήσουν, ωστόσο οι ερευνητές το κατάφεραν σπάστε ολόκληρη την αλυσίδα εμπιστοσύνης στο Nokia 6 και αποκτήστε πλήρη πρόσβαση στη συσκευή μέσω παρόμοιων μεθόδων εκμετάλλευση. Είναι βέβαιοι ότι η επίθεση μπορεί να μεταφερθεί σε οποιαδήποτε συσκευή που υποστηρίζει αυτούς τους προγραμματιστές. Εάν είναι δυνατόν, οι OEM θα πρέπει να χρησιμοποιούν qFuses υλικού που αποτρέπουν την επαναφορά του λογισμικού, φυσώντας όταν το υλικό της συσκευής αναδιπλώνεται και μπορούν να προειδοποιήσουν έναν χρήστη ότι έχει πραγματοποιηθεί. Όσοι ενδιαφέρονται μπορούν να ρίξουν μια ματιά στην πλήρη ερευνητική εργασία παρακάτω και να διαβάσουν επίσης την πλήρη εκμετάλλευση της Nokia.
Πηγή: Aleph Research