Το Janus Exploit επιτρέπει στους εισβολείς να τροποποιούν εφαρμογές χωρίς να επηρεάζουν τις υπογραφές

Η ευπάθεια Janus επιτρέπει στους εισβολείς να τροποποιούν εφαρμογές χωρίς να επηρεάζουν τις υπογραφές τους. Ανακαλύφθηκε από το GuardSquare και έχει επιδιορθωθεί από την Google.

Το Android είναι εγκατεστημένο σε έναν τεράστιο μεγάλο αριθμό συσκευών και αυτό το καθιστά στόχο για κακόβουλους εισβολείς. Τα τρωτά σημεία στο λειτουργικό σύστημα της Google για κινητά συνεχίζουν να ανακαλύπτονται κάθε μήνα, αλλά τα καλά νέα είναι ότι η Google είναι συνήθως επιμελής για τη διόρθωσή τους σε κανονικές ενημερώσεις κώδικα ασφαλείας, οι οποίες στη συνέχεια προσφέρονται στους OEM, οι οποίοι στη συνέχεια τις αποστέλλουν σε συσκευές.

Πρόσφατα, ερευνητές ασφάλειας αποκάλυψαν μια ευπάθεια που εξαπάτησε τους χρήστες να επιτρέψουν στους εισβολείς να καταγράφουν την οθόνη της συσκευής τους. Το συγκεκριμένο exploit διορθώθηκε στο Android Oreo, αλλά οι αναλυτές στο Πλατεία Φρουράς ανέφερε πρόσφατα μια άλλη σοβαρή ευπάθεια που επηρεάζει εφαρμογές Android που έχουν υπογραφεί από παλαιότερα συστήματα υπογραφής.

Πλατεία Φρουράς

η αναφορά του αναφέρει ότι το Ιάνοςτρωτό (CVE-2017-13156) στο Android επιτρέπει στους εισβολείς να τροποποιούν τον κώδικα σε εφαρμογές χωρίς να επηρεάζουν τις υπογραφές τους. Η αναφορά συνεχίζει να λέει ότι η ρίζα της ευπάθειας είναι ότι ένα αρχείο μπορεί να είναι ένα έγκυρο αρχείο APK και ένα έγκυρο αρχείο DEX ταυτόχρονα.

Ο Janus εκμεταλλεύεται το γεγονός ότι τα επιπλέον byte περνούν απαρατήρητα σε αρχεία APK και αρχεία DEX. ο Πλατεία Φρουράς Η αναφορά εξηγεί ότι ένα αρχείο APK είναι ένα αρχείο ZIP που μπορεί να περιέχει αυθαίρετα byte στην αρχή, πριν και μεταξύ των καταχωρίσεων ZIP. Το σχήμα υπογραφών JAR λαμβάνει υπόψη μόνο τις καταχωρήσεις ZIP, αγνοώντας τυχόν επιπλέον byte κατά τον υπολογισμό ή την επαλήθευση της υπογραφής της εφαρμογής.

Συνεχίζει εξηγώντας ότι ένα αρχείο DEX, από την άλλη πλευρά, μπορεί να περιέχει αυθαίρετα byte στο τέλος - μετά τις κανονικές ενότητες συμβολοσειρών, κλάσεων, ορισμούς μεθόδων κ.λπ. Επομένως, ένα αρχείο μπορεί να είναι ταυτόχρονα έγκυρο αρχείο APK και έγκυρο αρχείο DEX.

Πλατεία Φρουράς αναφέρει επίσης ότι ένα βασικό στοιχείο της ευπάθειας είναι ένα "ακίνδυνο" χαρακτηριστικό της εικονικής μηχανής Dalvik/ART. Η αναφορά αναφέρει ότι θεωρητικά, ο χρόνος εκτέλεσης Android φορτώνει το αρχείο APK, εξάγει το αρχείο DEX και στη συνέχεια εκτελεί τον κώδικά του. Ωστόσο, στην πράξη, η εικονική μηχανή (VM) μπορεί να φορτώσει και να εκτελέσει τόσο αρχεία APK όσο και αρχεία DEX. Το ζήτημα είναι ότι όταν το VM λαμβάνει ένα αρχείο APK, εξακολουθεί να κοιτάζει τα μαγικά byte στην κεφαλίδα για να αποφασίσει ποιος τύπος αρχείου είναι: DEX ή APK. Όταν βρίσκει μια κεφαλίδα DEX, φορτώνει το αρχείο ως αρχείο DEX. Εάν δεν βρει κεφαλίδα, φορτώνει το αρχείο ως αρχείο APK που περιέχει μια καταχώρηση zip με ένα αρχείο DEX. Έτσι, μπορεί να παρερμηνεύσει δύο αρχεία DEX/APK.

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

Κανονικά, κάθε φορά που ένας χρήστης εγκαθιστά μια ενημερωμένη έκδοση μιας εφαρμογής, η υπογραφή της εφαρμογής επαληθεύεται από το χρόνο εκτέλεσης Android για να διασφαλιστεί ότι ταιριάζει με την παλαιότερη έκδοση. Όταν η επαλήθευση είναι θετική, η ενημερωμένη εφαρμογή λαμβάνει τα δικαιώματα που είχαν χορηγηθεί στην αρχική εφαρμογή. Με αυτόν τον τρόπο, οι εισβολείς μπορούν να χρησιμοποιήσουν την ευπάθεια Janus για να παρακάμψουν τη διαδικασία επαλήθευσης υπογραφής και να εγκαταστήσουν μη επαληθευμένο κώδικα στις συσκευές ανυποψίαστων χρηστών.

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

"Ένας εισβολέας μπορεί να αντικαταστήσει μια αξιόπιστη εφαρμογή με υψηλά προνόμια (μια εφαρμογή συστήματος, για παράδειγμα) με μια τροποποιημένη ενημέρωση για κατάχρηση των αδειών της. Ανάλογα με τη στοχευμένη εφαρμογή, αυτό θα μπορούσε να επιτρέψει στον χάκερ να αποκτήσει πρόσβαση σε ευαίσθητες πληροφορίες που είναι αποθηκευμένες στη συσκευή ή ακόμη και να αναλάβει πλήρως τη συσκευή. Εναλλακτικά, ένας εισβολέας μπορεί να περάσει έναν τροποποιημένο κλώνο μιας ευαίσθητης εφαρμογής ως νόμιμη ενημέρωση [η οποία] μπορεί να μοιάζει και να συμπεριφέρεται όπως η αρχική εφαρμογή, αλλά να προκαλεί κακόβουλη συμπεριφορά."

Η εταιρεία πρόσθεσε ότι μέχρι τώρα, δεν είχαν δει καμία εφαρμογή που να εκμεταλλεύεται τον Janus στη φύση. Το άλλο καλό νέο είναι ότι η ευπάθεια απαιτεί από έναν χρήστη να εγκαταστήσει μια κακόβουλη ενημέρωση από μια πηγή εκτός του Google Play Store. Επομένως, οι χρήστες που περιορίζουν τις εγκαταστάσεις εφαρμογών στο Play Store προστατεύονται.

Η ευπάθεια Janus επηρεάζει συσκευές με Android 5.0+. Οι εφαρμογές που έχουν υπογραφεί με το σύστημα υπογραφής APK v1 επηρεάζονται. Τα APK που έχουν υπογραφεί με το σχήμα υπογραφών v2 προστατεύονται από την ευπάθεια. Αυτό απαιτεί τα APK να εκτελούνται σε συσκευές που υποστηρίζουν τον πιο πρόσφατο συνδυασμό υπογραφών (Android 7.0 και νεότερη έκδοση). Το σχήμα v2 προστατεύεται επειδή σε αντίθεση με το σχήμα v1, λαμβάνει υπόψη όλα τα byte στο αρχείο APK.

«Οι παλαιότερες εκδόσεις εφαρμογών και οι νεότερες εφαρμογές που εκτελούνται σε παλαιότερες συσκευές παραμένουν ευαίσθητες. Οι προγραμματιστές θα πρέπει τουλάχιστον να εφαρμόζουν πάντα το σχέδιο υπογραφών v2." Πλατεία Φρουράς πολιτείες.

Πλατεία Φρουράς ανέφερε αυτό το ζήτημα στην Google στις 31 Ιουλίου 2017 και έλαβε επιβεβαίωση την ίδια ημέρα. Η αναφορά της εταιρείας αναφέρει ότι η Google κυκλοφόρησε μια ενημέρωση κώδικα στους συνεργάτες της τον Νοέμβριο και δημοσίευσε το σφάλμα (CVE-2017-13156) στο Δελτίο ασφαλείας Android στις 4 Δεκεμβρίου 2017. Η ευπάθεια έχει διορθώθηκε στην ενημερωμένη έκδοση κώδικα ασφαλείας Android του Δεκεμβρίου 2017. Ξεχωριστά, οι εφαρμογές F-Droid από το επίσημο αποθετήριο τους έχουν επιβεβαιωθεί ότι είναι ασφαλείς. Τέλος, επιβεβαιώθηκε ότι η ευπάθεια έχει διορθωθεί APKMirror.


Πηγή: GuardSquare