Necro Trojan
Το 2019, ερευνητές κυβερνοασφάλειας αποκάλυψαν ένα ανησυχητικό ζήτημα: μια νόμιμη εφαρμογή Android στο Google Play Store είχε παραβιαστεί από μια βιβλιοθήκη τρίτου μέρους που χρησιμοποιούνταν από προγραμματιστές για τη δημιουργία εσόδων από διαφημίσεις. Αυτή η τροποποίηση είχε ως αποτέλεσμα 100 εκατομμύρια συσκευές να συνδεθούν με διακομιστές που ελέγχονται από εισβολείς, οι οποίοι στη συνέχεια ανέπτυξαν κρυφά ωφέλιμα φορτία.
Μια παρόμοια κατάσταση έχει επανέλθει τώρα. Οι ειδικοί της Infosec εντόπισαν δύο νέες εφαρμογές, που έχουν ληφθεί 11 εκατομμύρια φορές από το Google Play, οι οποίες έχουν μολυνθεί από την ίδια οικογένεια κακόβουλου λογισμικού. Φαίνεται ότι για άλλη μια φορά ευθύνεται ένα μη ασφαλές κιτ ανάπτυξης λογισμικού που χρησιμοποιείται για την ενσωμάτωση διαφημιστικών λειτουργιών.
Πίνακας περιεχομένων
Τι είναι το SDK;
Τα κιτ ανάπτυξης λογισμικού ή SDK προσφέρουν στους προγραμματιστές προκατασκευασμένα πλαίσια που απλοποιούν και επιταχύνουν τη διαδικασία δημιουργίας εφαρμογών με το χειρισμό εργασιών ρουτίνας. Σε αυτήν την περίπτωση, μια μη επαληθευμένη μονάδα SDK, που φαινομενικά σχεδιάστηκε για να υποστηρίζει την προβολή διαφημίσεων, ενσωματώθηκε στις εφαρμογές. Ωστόσο, κάτω από την επιφάνεια, επέτρεψε προηγμένες μεθόδους για κρυφή επικοινωνία με παραβιασμένους διακομιστές. Αυτό επέτρεψε στις εφαρμογές να ανεβάσουν δεδομένα χρήστη και να κατεβάσουν επιβλαβή κώδικα, ο οποίος θα μπορούσε να εκτελεστεί ή να ενημερωθεί ανά πάσα στιγμή.
Πώς οι Necro Trojans μολύνουν τις συσκευές;
Η οικογένεια κακόβουλου λογισμικού πίσω από τις δύο καμπάνιες ονομάζεται Necro και σε αυτήν την περίπτωση, ορισμένες παραλλαγές χρησιμοποιούν προηγμένες τεχνικές όπως η στεγανογραφία - μια σπάνια μέθοδος συσκότισης σε απειλές για κινητές συσκευές. Ορισμένες παραλλαγές χρησιμοποιούν επίσης εξελιγμένες μεθόδους για την παράδοση δόλιου κώδικα που μπορεί να λειτουργεί με αυξημένα προνόμια συστήματος. Μόλις μολυνθεί μια συσκευή, επικοινωνεί με έναν διακομιστή Command-and-Control που ελέγχεται από τον εισβολέα. Στέλνει κρυπτογραφημένα δεδομένα JSON που αναφέρουν λεπτομέρειες σχετικά με την παραβιασμένη συσκευή και την εφαρμογή που φιλοξενεί τη δόλια λειτουργική μονάδα.
Στη συνέχεια, ο διακομιστής απαντά με ένα μήνυμα JSON που περιλαμβάνει έναν σύνδεσμο προς μια εικόνα PNG και μεταδεδομένα που περιέχουν τον κατακερματισμό της εικόνας. Εάν η μονάδα στη μολυσμένη συσκευή επαληθεύσει τον κατακερματισμό, προχωρά στη λήψη της εικόνας.
Οι ερευνητές εξήγησαν ότι η μονάδα SDK χρησιμοποιεί έναν απλό στεγανογραφικό αλγόριθμο. Αφού περάσει τον έλεγχο MD5, εξάγει τα περιεχόμενα του αρχείου PNG, συγκεκριμένα τις τιμές των pixel από τα κανάλια ARGB, χρησιμοποιώντας τυπικά εργαλεία Android. Η μέθοδος getPixel ανακτά μια τιμή όπου το λιγότερο σημαντικό byte περιέχει το μπλε κανάλι της εικόνας και το κακόβουλο λογισμικό ξεκινά την επεξεργασία του από εκεί.
Το Necro Trojan θα μπορούσε να οδηγήσει σε σοβαρές συνέπειες
Τα επακόλουθα ωφέλιμα φορτία που έχουν εγκατασταθεί από το κακόβουλο λογισμικό κατεβάζουν δόλιες προσθήκες που μπορούν να προσαρμοστούν για κάθε μολυσμένη συσκευή για την εκτέλεση διαφόρων ενεργειών. Ένα τέτοιο πρόσθετο επιτρέπει την εκτέλεση κώδικα με αυξημένα δικαιώματα συστήματος. Κανονικά, το Android περιορίζει τις προνομιακές διεργασίες από τη χρήση του WebView—ένα στοιχείο για την εμφάνιση ιστοσελίδων εντός εφαρμογών. Για να ξεπεράσει αυτόν τον περιορισμό, το Necro χρησιμοποιεί μια τεχνική γνωστή ως επίθεση ανάκλασης για να δημιουργήσει μια ξεχωριστή εμφάνιση του εργοστασίου WebView.
Επιπλέον, αυτό το πρόσθετο μπορεί να κατεβάσει και να εκτελέσει άλλα αρχεία που τροποποιούν συνδέσμους που εμφανίζονται μέσω του WebView. Με αυξημένα δικαιώματα συστήματος, αυτά τα εκτελέσιμα αρχεία μπορούν να αλλάξουν τις διευθύνσεις URL για να εισάγουν κωδικούς επιβεβαίωσης για συνδρομές επί πληρωμή και να κάνουν λήψη και εκτέλεση κώδικα από συνδέσμους που ελέγχονται από τους εισβολείς. Οι ερευνητές εντόπισαν πέντε διαφορετικά ωφέλιμα φορτία κατά την ανάλυση του Necro. Επιπλέον, η αρθρωτή δομή του Necro παρέχει πολλούς τρόπους για τη λειτουργία του κακόβουλου λογισμικού.
Το Necro Trojan βρέθηκε σε δύο εφαρμογές
Οι ερευνητές εντόπισαν το Necro σε δύο εφαρμογές στο Google Play. Ένα από αυτά, το Wuta Camera, έχει συγκεντρώσει 10 εκατομμύρια λήψεις. Οι εκδόσεις 6.3.2.148 έως 6.3.6.148 του Wuta Camera περιείχαν το κακόβουλο SDK που ευθύνεται για τις μολύνσεις, αλλά η εφαρμογή έχει ενημερωθεί από τότε για να εξαλείψει το επιβλαβές στοιχείο. Μια άλλη εφαρμογή, το Max Browser, με περίπου 1 εκατομμύριο λήψεις, παραβιάστηκε επίσης. Ωστόσο, δεν είναι πλέον διαθέσιμο στο Google Play.
Επιπλέον, οι ερευνητές ανακάλυψαν το Necro να μολύνει μια σειρά από εφαρμογές Android που προσφέρονται σε εναλλακτικές αγορές. Αυτές οι εφαρμογές παρουσιάζονται συνήθως ως τροποποιημένες εκδόσεις νόμιμων εφαρμογών, συμπεριλαμβανομένων των Spotify, Minecraft, WhatsApp, Stumble Guys, Car Parking Multiplayer και Melon Sandbox.