ΑρχικήrapidalertNoReboot bug: iPhone Backdoor που δεν ανιχνεύεται και θυμίζει Predator

NoReboot bug: iPhone Backdoor που δεν ανιχνεύεται και θυμίζει Predator

Ερευνητές ανακάλυψαν ένα νέο iPhone Backdoor (ή όπως το ονομάζουν iOS Persistence Bug) το οποίο ονομάζεται NoReboot. Το συγκεκριμένο backdoor δεν μπορεί να ανιχνευθεί και μας θυμίζει το predator spyware. Για την ιστορία, το predator spyware που έχει μολύνει κινητά τηλέφωνα σημαντικών προσώπων την ελληνικής πολιτικής σκηνής – και όχι μόνο- ενώ παράλληλα έχει σοκάρει την παγκόσμια κοινή γνώμη η αποκάλυψη της σκοτεινής χρήσης του στην χώρα που γεννήθηκε η Δημοκρατία, είναι είδος spyware που παρακολουθεί ό,τι κάνουμε στο κινητό μας (κλήσεις, μηνύματα, emails και άλλα) χωρίς εμείς να το αντιληφθούμε. Την ανακάλυψη του NoReboot bug έκανε η εταιρεία ZecOps.

NoReboot
NoReboot bug: iPhone Backdoor που δεν ανιχνεύεται και θυμίζει Predator

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

Τα iOS Persistence bugs είναι από τα πιο δύσκολα στον εντοπισμό καθώς το attack surface είναι κάπως περιορισμένο και αναλύεται συνεχώς από τις ομάδες ασφαλείας της Apple. Για όσους δεν το γνωρίζουν, το persistence είναι η μέθοδος επίθεσης που χρησιμοποιούν οι χάκερ όταν θέλουν να μπουν στο περιβάλλον σας όποτε θέλουν.

Παρουσιάζοντας το “NoReboot”: Το Persistence Bug

Η εταιρεία ZecOps ερεύνησε το σύστημα iOS για να δείξει πώς γίνεται να τροποιηθεί η διαδικασία τερματισμού και να εξαπατηθεί ένας μολυσμένος χρήστης ώστε να πιστέψει ότι το τηλέφωνό του έχει απενεργοποιηθεί, ενώ στην πραγματικότητα εξακολουθεί να λειτουργεί. Το “NoReboot” μιμείται την κανονική διαδικασία του shutdown. Το άτομο δεν θα είναι σε θέση να διακρίνει μεταξύ μιας πραγματικής απενεργοποίησης και της “ψεύτικης” – δεν θα υπάρχει κανένα user-interface ή feedback κουμπί μέχρι ο χρήστης να ενεργοποιήσει ξανά τη συσκευή.

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

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

Δείτε επίσης: Η Uber έπεσε για άλλη μια φορά θύμα παραβίασης δεδομένων

Αυτό το άρθρο του Dan Goodin, μιλά για ένα κακόβουλο λογισμικό iOS που ανακαλύφθηκε ότι χρησιμοποιείται από τους χάκερ. Μία από τις προτάσεις του άρθρου λέει: «Το εγκατεστημένο κακόβουλο λογισμικό… δεν μπορεί να παραμείνει στη συσκευή μετά την επανεκκίνηση της συσκευής, … τα τηλέφωνα απολυμαίνονται αμέσως μόλις επανεκκινηθούν».

iOS Persistence Bug

Κάτι τέτοιο δεν ανταποκρίνεται στην πραγματικότητα. Σε αντίθεση με τη δημοφιλή πεποίθηση, δεν μπορεί κανείς να βασιστεί σε μια τυπική επανεκκίνηση. Όπως θα δείξουμε σε αυτό το άρθρο, η επανεκκίνηση δεν είναι αρκετή – πρέπει να ληφθούν και άλλα προληπτικά μέτρα για πραγματική ασφάλεια και προστασία.

Ποια είναι η πιο αποτελεσματική διαδικασία reboot του iPhone

Για να κάνετε επανεκκίνηση του τηλεφώνου Apple, πατήστε ταυτόχρονα τα πλήκτρα Volume Down και Power μέχρι να εμφανιστεί ένα ρυθμιστικό. Σύρετε το ρυθμιστικό από αριστερά προς τα δεξιά και περιμένετε να γίνει επανεκκίνηση.

NoReboot

Το iPhone δεν διαθέτει εσωτερικό ανεμιστήρα, οπότε μπορεί να είναι δύσκολο να καταλάβετε αν το τηλέφωνο λειτουργεί ή όχι. Ο πιο αξιόπιστος τρόπος για τους end-users είναι να αγγίξουν την οθόνη ή/και να πατήσουν το πλαϊνό κουμπί, τα οποία θα ξυπνήσουν την οθόνη, παρέχοντας στους χρήστες feedback ότι το τηλέφωνό τους λειτουργεί σωστά.

Ακολουθεί μια ενέργειες που μας υπενθυμίζουν συνεχώς ότι το τηλέφωνο είναι ενεργοποιημένο:

  • Κουδούνισμα/Ήχος από εισερχόμενες κλήσεις και ειδοποιήσεις
  • Feedback Αφής (3D touch)
  • Δόνηση
  • Οθόνη
  • Ένδειξη κάμερας

“NoReboot”: Hijack της διαδικασίας τερματισμού

Ας δούμε αν μπορούμε να απενεργοποιήσουμε όλες τις παραπάνω ενδείξεις, ενώ το τηλέφωνο με τον trojan εξακολουθεί να λειτουργεί. Ας ξεκινήσουμε με το hijack της διαδικασίας τερματισμού λειτουργίας, το οποίο περιλαμβάνει την εισαγωγή κώδικα σε τρια daemons.

iOS Persistence Bug

Όταν κάνετε slide για να απενεργοποιήσετε τη συσκευή σας, στην πραγματικότητα στέλνετε ένα σήμα τερματισμού λειτουργίας από την εφαρμογή /Applications/InCallService.app στο SpringBoard, το οποίο είναι ένας daemon που ελέγχει μεγάλο μέρος της αλληλεπίδρασης της διεπαφής χρήστη.

Δείτε επίσης: Microsoft: Διορθώνει bug που επιτρέπει εγκατάσταση ransomware

Η ZecOps κατάφερε να υποκλέψει το σήμα εκμεταλλευόμενη τη μέθοδο Objective-C -[FBSSystemService shutdownWithOptions:]. Τώρα, αντί να στείλει μια εντολή τερματισμού λειτουργίας στο SpringBoard, θα ειδοποιήσει τόσο το SpringBoard όσο και το backboardd, το οποίο με τη σειρά του ενεργοποιεί τον κώδικα που είχε εισαχθεί προηγουμένως.

NoReboot

Η εταιρεία αναφέρει την συνέχεια ως εξής: “Στο Backboardd, μπορούμε να αποκρύψουμε το animation του περιστρεφόμενου τροχού που εμφανίζεται αμέσως όταν το SpringBoard παύει να λειτουργεί. Η τεχνική που χρησιμοποιείται είναι η [[BKSDefaults localDefaults]setHideAppleLogoOnLaunch:1]. Στη συνέχεια, προκαλούμε την έξοδο από το SpringBoard και εμποδίζουμε την εκ νέου εκκίνησή του. Δεδομένου ότι το SpringBoard τυχαίνει να είναι υπεύθυνο για το χειρισμό της συμπεριφοράς και της αλληλεπίδρασης του χρήστη, απαγορεύοντας τη λειτουργία του, η συσκευή θα φαίνεται σαν να έχει απενεργοποιηθεί – μια τέλεια στρατηγική για τη μίμηση μιας τεχνητής απενεργοποίησης.”

Persistence Bug
Παράδειγμα ανταπόκρισης του SpringBoard στην αλληλεπίδραση του χρήστη: Ανιχνεύει την ενέργεια παρατεταμένου πατήματος και προκαλεί το Siri

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

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

Predator spyware iOS Persistence Bug  iPhone Backdoor
NoReboot bug: iPhone Backdoor που δεν ανιχνεύεται και θυμίζει Predator

Εκκίνηση συστήματος με μεταμφίεση

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

Ελλείψει ελέγχου από το SpringBoard, το backboardd αναλαμβάνει την ευθύνη. Η έρευνά της εταιρείας στο theiphonewiki παρέχει περισσότερες πληροφορίες σχετικά με τις λειτουργίες του.

Predator spyware  iPhone Backdoor Persistence Bug

Η εταιρεία εξέτασε προσεκτικά την δήλωση “Όλα τα συμβάντα αφής επεξεργάζονται πρώτα από αυτόν τον daemon, στη συνέχεια μεταφράζονται και μεταδίδονται στην εφαρμογή iOS στο προσκήνιο” και ανακάλυψε ότι αναποκρίνεται στην πραγματικότητα. Επιπλέον, το backboardd καταγράφει και αναμεταδίσει μέχρι και τα κλικ που κάνετε σε φυσικά κουμπιά! Είναι σαφές ότι η χρήση του Backboardd επιτρέπει απρόσκοπτες δυνατότητες εμπειρίας χρήστη σε μια εφαρμογή iOS.

Το backboardd καταγράφει την ακριβή στιγμή που πατάτε ένα κουμπί και στη συνέχεια όταν το αφήνετε.

NoReboot  iPhone Backdoor Persistence Bug

Μέσω της χρήσης της cycript, η εταιρεία ανακάλυψε μια λύση για την αναχαίτιση αυτού του συμβάντος με το Objective-C Method Hooking. Ένα instance _BKButtonEventRecord θα δημιουργηθεί και θα εισαχθεί σε ένα παγκόσμιο dictionary object BKEventSenderUsagePairDictionary. Εδώ εισήχθηκε η μέθοδος εισαγωγής όταν ο χρήστης επιχειρεί να «ανοίξει» το τηλέφωνο.

Το αρχείο θα εκκινήσει το SpringBoard, το οποίο στη συνέχεια επιτρέπει την εισαγωγή ενός ειδικού code block. Αυτό επιτρέπει την πρόσβαση σε δικαιώματα root μέσω τοπικής πρόσβασης SSH, ακολουθούμενη από την εκτέλεση του /bin/launchctl reboot userspace. Καθώς όλες οι διεργασίες τερματίζονται και το σύστημα επανεκκινείται χωρίς τις απαραίτητες αλλαγές στις ρυθμίσεις του πυρήνα, ο κακόβουλος κώδικας μπορεί να συνεχίσει απρόσκοπτα να εκτελείται μετά από αυτόν τον τύπο επανεκκίνησης, καθώς ο πυρήνας παραμένει διορθωμένος.

Δείτε επίσης: HTML smuggling τεχνική χρησιμοποιεί αρχεία SVG και διανέμει το QBot

NoReboot predator spyware

Αμέσως μετά την επανεκκίνηση, ο χρήστης θα δει ένα μαγευτικό εφέ με το λογότυπο της Apple. Αυτό είναι προσεκτικά ενορχηστρωμένο από το backboardd. Όταν έρθει η ώρα να ξεκινήσει το SpringBoard- τότε είναι που το backboardd του επιτρέπει να αναλάβει τον έλεγχο της οθόνης και να εμφανίσει τα εντυπωσιακά του γραφικά!

Predator spyware   iPhone Backdoor

Από εκείνο το σημείο, η διαδραστική διεπαφή χρήστη θα παρουσιαστεί στον χρήστη. Όλα φαίνονται νορμάλ καθώς όλες οι διαδικασίες έχουν πράγματι επανεκκινηθεί. Οι μη persistent απειλές πέτυχαν «persistent» χωρίς persistence exploits.

Hijacking του Force Restart;

Για να επανεκκινήσετε τη συσκευή σας με “force restart”, πατήστε γρήγορα το κουμπί αύξησης της έντασης ήχου, ακολουθούμενο από το κουμπί μείωσης της έντασης ήχου και, στη συνέχεια, κρατήστε πατημένο το κουμπί λειτουργίας μέχρι να δείτε το λογότυπο της Apple.

Η ZecOps δηλώνει ότι δεν ανακάλυψε έναν από τρόπο για το hijack της διαδικασίας force restart αν και η παρακάτω ανάρτηση αναφέρει ότι γίνεται σε επίπεδο hardware.

predator spyware

Παραπλανητικό Force Restart

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

NoReboot  iPhone Backdoor predator spyware

Μπορείτε να βρείτε τον κώδικα του NoReboot Proof of Concept εδώ.

Μην εμπιστεύεστε ποτέ ότι μια συσκευή είναι απενεργοποιημένη

Με την κυκλοφορία του iOS 15, οι χρήστες της Apple έχουν πλέον στη διάθεσή τους μια νέα λειτουργία που τους επιτρέπει να παρακολουθούν τη θέση της συσκευής τους ακόμη και όταν αυτή είναι απενεργοποιημένη. Ο ερευνητής κακόβουλου λογισμικού @naehrdine παρείχε μια εμπεριστατωμένη ανάλυση σχετικά με αυτή την ενημέρωση και τις πιθανές επιπτώσεις της στην ασφάλεια και την προστασία της ιδιωτικής ζωής. Και εμείς συμφωνούμε απόλυτα ότι για να είστε σίγουροι ότι η συσκευή σας είναι απενεργοποιημένη, απλά βγάλτε την μπαταρία!

Έλεγχος εάν το τηλέφωνό σας έχει παραβιαστεί

Μειώστε τους κινδύνους ασφαλείας με το ZecOps for Mobile. Με εκτεταμένες δυνατότητες συλλογής δεδομένων και απόκρισης σε συμβάντα, μπορείτε να είστε σίγουροι ότι το τηλέφωνό σας είναι ασφαλές από κακόβουλες απειλές.

Teo Ehc
Teo Ehchttps://www.secnews.gr
Be the limited edition.

Εγγραφή στο Newsletter

* indicates required

FOLLOW US

LIVE NEWS