Mastodon
Connect with us

Hacking

Το Android.MagicAd: πώς ένα έξυπνο trojan κρύβει διαφημίσεις στο παρασκήνιο

Μια νέα οικογένεια Android trojan, το Android.MagicAd, παρακάμπτει τα permissions και χρησιμοποιεί αποκρυπτογραφημένες native βιβλιοθήκες, Intents και media-button events για να προβάλλει διαφημίσεις και να διατηρεί persistence. Η αντιμετώπιση απαιτεί αφαίρεση, σαρώσεις και βελτιώσεις στην πολιτική καταστημάτων.

Published

on

Το Android.MagicAd: πώς ένα έξυπνο trojan κρύβει διαφημίσεις στο παρασκήνιο

Μια νέα, τεχνικά προηγμένη οικογένεια trojan που ονομάζεται Android.MagicAd έδειξε πώς οι επιτήδειοι μπορούν να παρακάμψουν τα συνηθισμένα μέτρα ασφαλείας του Android και να γεμίσουν τις συσκευές με ενοχλητικές διαφημίσεις χωρίς να ζητήσουν τις προφανείς άδειες. Η αναφορά της Doctor Web αποκαλύπτει έναν συνδυασμό υπαρκτών αδυναμιών και “κόλπων” σε επίπεδο OEM, καθώς και μια οικουμενική μέθοδο που αξιοποιεί τον media player για να εμφανίζει overlays χωρίς την άδεια SYSTEM_ALERT_WINDOW.

Πώς διανέμεται και γιατί τα apps εξαφανίζονται από τα καταστήματα

Τα μολυσμένα apps εμφανίζονταν κυρίως σε κατά τόπους καταστήματα εφαρμογών, όπως το Xiaomi GetApps, και εντοπίστηκαν επίσης στο Samsung Galaxy Store. Αν και οι τίτλοι ήταν σύντομης διάρκειας —δημιουργούνταν, ανεβαίνανε για λίγες εβδομάδες και αφαιρούνταν— οι εγκατεστημένες εκδόσεις παρέμεναν ενεργές στις συσκευές των χρηστών. Η στρατηγική αυτή μειώνει την έκθεση του επιτιθέμενου στους ελέγχους αλλά διατηρεί το κακόβουλο λογισμικό σε λειτουργία για πολύ καιρό.

Στην πράξη, οι φορείς πίσω από το Android.MagicAd εναλλάσσουν τίτλους και λογαριασμούς δημοσίευσης ώστε να δυσχεραίνουν την παρακολούθηση και την αφαίρεση όλων των μολύνσεων από τα καταστήματα. Από την πλευρά της πλατφόρμας, αυτή η τακτική εκμεταλλεύεται τα κενά στο review και την αδυναμία παρακολούθησης μικρών, εποχιακών κυκλοφοριών.

Πώς κρύβει τον κακόβουλο κώδικα

Τεχνικά, ένα από τα πιο ενδιαφέροντα στοιχεία του Android.MagicAd είναι ότι δεν αφήνει τον καίριο κώδικα σε κανονικά dex αρχεία μέσα στο APK. Αντίθετα, κρύβει κρυπτογραφημένες native βιβλιοθήκες (.so) στον φάκελο resources. Σε χρόνο εκτέλεσης το trojan αποκρυπτογραφεί αυτές τις βιβλιοθήκες, εξάγει components dex και τις φορτώνει δυναμικά στη μνήμη, όπου και εκτελούνται.

Αυτή η προσέγγιση δυσκολεύει την ανάλυση στα νεότερα συστήματα ελέγχου και στους αυτοματισμούς ανίχνευσης: τα signatures σε στατικά αρχεία γίνονται άχρηστα και η συμπεριφορά εμφανίζεται μόνο αφού ενεργοποιηθούν οι μηχανισμοί αποκρυπτογράφησης στο runtime.

Έξυπνοι προ-έλεγχοι για να αποφύγουν την ανίχνευση

Πριν ενεργοποιήσει τις κακόβουλες λειτουργίες, το trojan τρέχει πολλαπλούς ελέγχους περιβάλλοντος. Ελέγχει για artifacts εικονικών μηχανών και emulator, επαληθεύει αν η εγκατάσταση φαίνεται “οργανική” και φιλτράρει διευθύνσεις IP βάσει μιας μαύρης λίστας. Τέτοιες επιβεβαιώσεις μειώνουν την πιθανότητα ανίχνευσης από ερευνητές και αυτοματοποιημένα συστήματα ανάλυσης που τρέχουν σε sandbox περιβάλλοντα.

Εφόσον οι συνθήκες κριθούν “ασφαλείς”, το trojan προχωρά σε ενέργειες που ενισχύουν την επίμονη παρουσία του: αφαιρεί το εικονίδιο του launcher για να γίνει λιγότερο ορατό, δημιουργεί notification channel και ξεκινά πολλαπλές background υπηρεσίες.

Τεχνικές επίμονης λειτουργίας και watchdog μηχανισμοί

Οι εκδόσεις του Android.MagicAd προγραμματίζουν επίσης watchdog tasks που επανεκκινούν περιοδικά τις υπηρεσίες. Σε παλιότερες εκδόσεις Android το malware χρησιμοποίησε “virtual screen” για να κρατήσει μια διεργασία παρασκηνίου ενεργή και να αποτρέψει το σύστημα από το να τη σταματήσει. Αυτές οι τακτικές αυξάνουν τον χρόνο ζωής της κακόβουλης συμπεριφοράς και απαιτούν συντονισμένη αφαίρεση από τη συσκευή.

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

Πώς εμφανίζουν διαφημίσεις χωρίς την άδεια overlay

Ένα από τα βασικά ερωτήματα είναι πώς το Android.MagicAd εμφανίζει παράθυρα πάνω από άλλες εφαρμογές χωρίς να ζητήσει την άδεια SYSTEM_ALERT_WINDOW. Η απάντηση βρίσκεται σε δύο τύπους τεχνικών: εξαρτήσεις από vendor-specific εφαρμογές και μια οικουμενική εκμετάλλευση του media player.

Σε συσκευές Xiaomi, το trojan στοχεύει σε εφαρμογές όπως το Mi Browser και το MIUI SystemUI. Ακολουθώντας ένα μοτίβο inter-app communication, το κακόβουλο λογισμικό στέλνει crafted Intents ή παραδίδει αρμοδιότητες σε ένα αποκρυπτογραφημένο dex module ώστε άλλες εφαρμογές με συστημικά προνόμια να “ανεβάσουν” την επιφάνεια διαφήμισης. Σε Amazon συσκευές, αντίστοιχα, αξιοποιήθηκε το Fire TV Home Screen launcher.

Vendor-specific κανάλια και το Android Binder

Η προσέγγιση προσαρμόζεται στο κάθε OEM: σε μερικές συσκευές το trojan χρησιμοποιεί το Android Binder για να επικοινωνήσει με system services. Σε συσκευές Vivo έστειλε επισυναπτόμενα Intents ως Parcel objects σε υπηρεσίες όπως iManager, Phonebook, Vivo Browser και ένα προσαρμοσμένο Baidu IME. Αυτές οι υπηρεσίες ενεργοποιούν το dex module του trojan, το οποίο στη συνέχεια εμφανίζει τις διαφημίσεις μέσω ενός Translucent Activity —ένα παραθυρικό στοιχείο με ημιδιαφανές φόντο— πάνω από άλλες εφαρμογές.

Η χρήση εξουσιοδοτημένων, συστημικών υπηρεσιών ως “μεσολαβητών” επιτρέπει στο malware να παρακάμπτει απλές πολιτικές permissions και να παραμένει δύσκολα ανιχνεύσιμο από τον μέσο χρήστη.

Η οικουμενική μέθοδος: media player και media button events

Εκτός από τις OEM-προσαρμοσμένες τεχνικές, το Android.MagicAd υιοθετεί μια κομψή, γενική λύση που λειτουργεί ανεξαρτήτως κατασκευαστή. Το trojan αποκρυπτογραφεί ένα ενσωματωμένο αρχείο ήχου, το αποθηκεύει και ξεκινά τον media player με σχεδόν μηδενική ένταση. Εγγράφει στη συνέχεια έναν broadcast receiver για media button events και προσομοιώνει την πίεση του κουμπιού εγγραφής μέσω μιας εντολής που μιμείται adb συμπεριφορά. Όταν κλείσει η UI του player, το σύστημα επεξεργάζεται το media-button event και το malware εκμεταλλεύεται αυτό το σημείο εισόδου για να ξεκινήσει την translucent ad activity.

Η ιδιοφυΐα αυτής της προσέγγισης είναι ότι παρουσιάζει την όχληση ως νόμιμη δραστηριότητα ελέγχου πολυμέσων, καθιστώντας σχεδόν αδύνατη τη διάκριση χωρίς τεχνική ανάλυση των logs ή του behavior graph της συσκευής.

Ποιες επιπτώσεις έχει το ad-fraud και γιατί είναι επικίνδυνο

Το τελικό αποτέλεσμα δεν είναι απλώς ενοχλητικό: το ad-fraud επιβαρύνει τη μπαταρία, καταναλώνει δεδομένα, μειώνει την απόδοση της συσκευής και μπορεί να δημιουργήσει οικονομική ζημιά σε διαφημιστές που πληρώνουν για εμφανίσεις ή clicks. Επιπλέον, οι συνεχείς background υπηρεσίες και οι επανεκκινήσεις μπορεί να οδηγήσουν σε αυξημένη φθορά της συσκευής και ανεπιθύμητη δικτυακή δραστηριότητα που εκθέτει τον χρήστη σε πρόσθετους κινδύνους ιδιωτικότητας.

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

Τι μπορούν να κάνουν οι χρήστες και οι οργανισμοί

Η πρακτική αντιμετώπιση ξεκινά από τον χρήστη: αφαιρέστε ύποπτες εφαρμογές, σαρώστε τη συσκευή με αξιόπιστα mobile security εργαλεία και αποφύγετε sideloading από άγνωστες πηγές ή regional app stores με χαλαρά κριτήρια. Παρατηρήστε συμπτώματα όπως απότομη εξάντληση μπαταρίας, συχνές διαφημίσεις που εμφανίζονται εκτός εφαρμογών, απώλεια εικονιδίου εφαρμογής ή παράξενες background υπηρεσίες.

Οι επιχειρήσεις και τα SOCs πρέπει να συλλέγουν telemetry από κινητές συσκευές, να αναζητούν ανωμαλίες σε δικτυακή κίνηση και να χρησιμοποιούν εργαλεία MDM/EMM που μπορούν να εντοπίσουν και να απομονώσουν συσκευές με ύποπτη συμπεριφορά. Επιπλέον, οι ομάδες ασφάλειας θα επωφεληθούν από τεχνικές εντοπισμού που εξετάζουν την παρουσία αποκρυπτογραφημένων native βιβλιοθηκών και δυναμικής φόρτωσης dex modules.

Τι μπορούν να κάνουν οι πλατφόρμες και οι OEMs

Τα app stores και οι κατασκευαστές έχουν ρόλο κρίσιμο: πρέπει να ενισχύσουν το static και dynamic vetting ώστε να ανιχνεύονται encrypted native payloads και να παρακολουθούνται λογαριασμοί που ανεβάζουν εναλλάξ μικρές, σύντομες εφαρμογές. Επιπλέον, θα ήταν ωφέλιμο να εξεταστούν μικρές αλλαγές στις APIs που χειρίζονται Intents, media-control events και inter-process communication ώστε να περιοριστούν οι δυνατότητες για τέτοιου είδους κατάχρηση χωρίς να σπάσει η λειτουργικότητα νόμιμων εφαρμογών.

Τεχνικές βελτιώσεις, όπως πιο λεπτομερής logging για media button events ή πιο αυστηρός χειρισμός Parcel/Intent σε συστημικές υπηρεσίες, μπορούν να μειώσουν την επιφάνεια επίθεσης. Οι OEMs θα έπρεπε επίσης να περιορίσουν τα προνόμια συστημικών apps και να ελέγχουν ποια apps είναι ικανά να δέχονται Intents που εκτελούν κώδικα κατά την επεξεργασία τους.

Τι σημαίνει για τους χρήστες

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

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

Advertisement