Πίνακας περιεχομένων:
- Μια νέα συστροφή σε μια παλιά προσέγγιση
- Ανίχνευση ανωμαλιών
- Καταστροφή κακόβουλων προγραμμάτων
- Αποτελέσματα δοκιμών
- Οφέλη από την PREC
- Η πρόκληση
Οι αγορές εφαρμογών Android είναι ένας βολικός τρόπος για τους χρήστες να αποκτούν εφαρμογές. Οι αγορές είναι επίσης ένας βολικός τρόπος για τους κακούς να παραδίδουν κακόβουλα προγράμματα. Οι ιδιοκτήτες της αγοράς, για την πίστη τους, προσπαθούν να απομακρύνουν τις κακές εφαρμογές χρησιμοποιώντας μέτρα ασφαλείας όπως το Google Bouncer. Δυστυχώς, οι περισσότεροι - συμπεριλαμβανομένου του Bouncer - δεν είναι ικανοποιημένοι με το καθήκον. Οι κακοί τύποι σχεδόν αμέσως κατάλαβαν πώς να το πούμε όταν ο Bouncer, ένα περιβάλλον εξομοίωσης, δοκιμάζει τον κώδικα τους. Σε προηγούμενη συνέντευξή του, ο Jon Oberheide, συνιδρυτής της Duo Security και ο υπεύθυνος της Google για το πρόβλημα, εξήγησε:
"Για να καταστεί ο Bouncer αποτελεσματικός, θα πρέπει να είναι αδιαίρετος από την κινητή συσκευή ενός πραγματικού χρήστη. Διαφορετικά, μια κακόβουλη εφαρμογή θα μπορεί να καθορίσει ότι εκτελείται με το Bouncer και δεν εκτελεί το κακόβουλο φορτίο του."
Ένας άλλος τρόπος για τους κακούς που ξεγελάσουν τον Bouncer είναι η χρήση λογικής βόμβας. Σε όλη την ιστορία τους, λογικές βόμβες έχουν προκαλέσει τον όλεθρο στις υπολογιστικές συσκευές. Σε αυτήν την περίπτωση, ο κώδικας λογικής βόμβας αμαυρώνει τα πούλια κακόβουλου λογισμικού, όπως η αποτυχία του Bouncer να ενεργοποιήσει το ωφέλιμο φορτίο μέχρι να εγκατασταθεί η κακόβουλη εφαρμογή σε μια πραγματική κινητή συσκευή.
Το κατώτατο σημείο είναι ότι οι αγορές εφαρμογών Android, αν δεν καταστούν αποτελεσματικές στον εντοπισμό των κακόβουλων προγραμμάτων κακόβουλων προγραμμάτων σε εφαρμογές, αποτελούν στην πραγματικότητα ένα σημαντικό σύστημα διανομής για κακόβουλα προγράμματα.
Μια νέα συστροφή σε μια παλιά προσέγγιση
Η ερευνητική ομάδα της κρατικής πανεπιστημιακής κοινότητας της Βόρειας Καρολίνας Tsung-Hsuan Ho, Daniel Dean, Xiaohui Gu και William Enck μπορεί να βρει λύση. Στο ερευνητικό τους έντυπο PREC: Πρακτική εξάπλωση της εξάπλωσης Root για Android Devices, η ερευνητική ομάδα εισήγαγε την έκδοσή της για ένα σύστημα ανίχνευσης ανωμαλιών. Το PREC αποτελείται από δύο συνιστώσες: ένα που λειτουργεί με τον ανιχνευτή κακόβουλου λογισμικού του καταστήματος εφαρμογών και ένα που μεταφορτώνεται μαζί με την εφαρμογή στην κινητή συσκευή.
Η συνιστώσα του καταστήματος εφαρμογών είναι μοναδική, καθώς χρησιμοποιεί αυτό που οι ερευνητές ονομάζουν "ταξινομημένη παρακολούθηση κλήσεων συστήματος". Αυτή η προσέγγιση μπορεί να εντοπίσει δυναμικά κλήσεις συστήματος από συστατικά υψηλού κινδύνου, όπως οι βιβλιοθήκες τρίτου μέρους (αυτές που δεν περιλαμβάνονται στο σύστημα Android, αλλά που συνοδεύονται από τη λήψη της εφαρμογής). Η λογική εδώ είναι ότι πολλές κακόβουλες εφαρμογές χρησιμοποιούν τις δικές τους βιβλιοθήκες.
Οι κλήσεις συστήματος από τον κωδικό τρίτου μέρους υψηλού κινδύνου που προέκυψε από αυτήν την παρακολούθηση, καθώς και τα δεδομένα που προέκυψαν από τη διαδικασία ανίχνευσης κατάστημα εφαρμογών, επιτρέπουν στο PREC να δημιουργήσει ένα κανονικό μοντέλο συμπεριφοράς. Το μοντέλο μεταφορτώνεται στην υπηρεσία PREC, σε σύγκριση με τα υπάρχοντα μοντέλα για ακρίβεια, επιβάρυνση και ευρωστία για επιθέσεις μιμητοποίησης.
Το ενημερωμένο μοντέλο είναι στη συνέχεια έτοιμο για λήψη με την εφαρμογή οποιαδήποτε στιγμή ζητείται η εφαρμογή από κάποιον που επισκέπτεται το κατάστημα εφαρμογών.
Αυτό θεωρείται η φάση παρακολούθησης. Μόλις το μοντέλο και η εφαρμογή PREC μεταφορτωθούν στη συσκευή Android, η PREC εισέρχεται στο στάδιο εκτέλεσης - με άλλα λόγια, ανίχνευση ανωμαλιών και περιορισμό κακόβουλου λογισμικού.
Ανίχνευση ανωμαλιών
Μόλις το app και το μοντέλο PREC εγκατασταθούν στη συσκευή Android, η PREC παρακολουθεί τον κώδικα άλλου κατασκευαστή, συγκεκριμένα τις κλήσεις συστήματος. Εάν η ακολουθία κλήσης συστήματος είναι διαφορετική από εκείνη που παρακολουθείται στο κατάστημα εφαρμογών, η PREC καθορίζει την πιθανότητα εκμετάλλευσης της μη φυσιολογικής συμπεριφοράς. Μόλις η PREC καθορίσει ότι η δραστηριότητα είναι κακόβουλη, μετακινείται σε λειτουργία περιορισμού malware.Καταστροφή κακόβουλων προγραμμάτων
Αν γίνει σωστά κατανοητή, το περιορισμό των κακόβουλων προγραμμάτων καθιστά το PREC μοναδικό όταν πρόκειται για το Android anti-malware. Λόγω της φύσης του λειτουργικού συστήματος Android, οι εφαρμογές αντιμετώπισης κακόβουλων προγραμμάτων Android δεν μπορούν να καταργήσουν το κακόβουλο λογισμικό ή να το τοποθετήσουν σε καραντίνα, επειδή κάθε εφαρμογή βρίσκεται σε ένα sandbox. Αυτό σημαίνει ότι ο χρήστης πρέπει να καταργήσει με μη αυτόματο τρόπο την κακόβουλη εφαρμογή εντοπίζοντας πρώτα το κακόβουλο λογισμικό στην ενότητα "Εφαρμογές" του διαχειριστή συστήματος της συσκευής, ανοίγοντας στη συνέχεια τη σελίδα στατιστικών στοιχείων της εφαρμογής κακόβουλης λειτουργίας και πατώντας "Κατάργηση εγκατάστασης".
Αυτό που κάνει το PREC μοναδικό είναι αυτό που οι ερευνητές ονομάζουν "μηχανισμό περιορισμού με λεπτόκοκκο περιορισμό". Η γενική ιδέα είναι να επιβραδύνει τις ύποπτες κλήσεις συστήματος χρησιμοποιώντας μια ομάδα ξεχωριστών νημάτων. Αυτό αναγκάζει το exploit να χάσει χρόνο, με αποτέλεσμα την κατάσταση "Εφαρμογής Δεν ανταποκρίνεται", όπου η εφαρμογή τερματίζεται τελικά από το λειτουργικό σύστημα Android.
Το PREC θα μπορούσε να προγραμματιστεί για να σκοτώσει τα νήματα κλήσης συστήματος, αλλά μπορεί να σπάσει τις κανονικές λειτουργίες εφαρμογής αν ο ανιχνευτής ανωμαλίας κάνει λάθος. Αντί να κινδυνεύει αυτό, οι ερευνητές εισάγουν καθυστέρηση κατά την εκτέλεση του νήματος.
"Τα πειράματά μας δείχνουν ότι τα περισσότερα ριζοσπαστικά εκμεταλλεύματα καθίστανται αναποτελεσματικά μετά την επιβράδυνση του κακόβουλου νευρικού νήματος σε ένα συγκεκριμένο σημείο.Η προσέγγιση που βασίζεται σε καθυστέρηση μπορεί να χειριστεί τους ψεύτικους συναγερμούς πιο χαριτωμένα αφού η καλοήθης εφαρμογή δεν θα υποφέρει από συντριβή ή τερματισμό λόγω παροδικών ψευδών συναγερμούς ", εξηγεί το έγγραφο.
Αποτελέσματα δοκιμών
Για να αξιολογήσουν την PREC, οι ερευνητές δημιούργησαν ένα πρωτότυπο και το έλεγξαν από 140 εφαρμογές (80 με εγγενές κώδικα και 60 χωρίς εγγενή κώδικα) - συν 10 εφαρμογές (τέσσερις γνωστές εφαρμογές εκμετάλλευσης ρίζας από το πρόγραμμα Genome Malware και έξι ανασυσταθείσες εφαρμογές root exploit) που περιείχε κακόβουλο λογισμικό. Το malware περιελάμβανε εκδόσεις των DroidDream, DroidKungFu, GingerMaster, RATC, ZimperLich και GingerBreak.
Τα αποτελέσματα:
- Το PREC ανίχνευσε επιτυχώς και σταμάτησε όλα τα δοκιμασμένα ριζώματα.
- Αυτός έθεσε μηδενικούς ψευδείς συναγερμούς στις καλοήθεις εφαρμογές χωρίς εγγενή κώδικα. (Τα παραδοσιακά προγράμματα αυξάνουν τους ψευδείς συναγερμούς κατά 67-92% ανά εφαρμογή).
- Η PREC μείωσε το ποσοστό ψευδούς συναγερμού στις καλοήθεις εφαρμογές με εγγενή κώδικα κατά περισσότερο από μία τάξη μεγέθους σε σύγκριση με τους παραδοσιακούς αλγόριθμους ανίχνευσης ανωμαλιών
Οφέλη από την PREC
Εκτός από την καλή απόδοση στις δοκιμές και τη διαβίβαση μιας εφαρμόσιμης μεθόδου για τη συγκράτηση του κακόβουλου λογισμικού Android, η PREC είχε αποφασιστικά καλύτερους αριθμούς όταν έφτασε σε ψευδώς θετικά και απώλεια απόδοσης. Όσον αφορά την απόδοση, το χαρτί δήλωσε ότι το «σύστημα διαβαθμισμένης παρακολούθησης PREC επιβάλλει επιβάρυνση μικρότερη του 1% και ο αλγόριθμος ανίχνευσης ανωμαλιών SOM επιβάλλει έως και 2% γενικά έξοδα.» Γενικά, το PREC είναι ελαφρύ και το καθιστά πρακτικό για συσκευές smartphone ».
Τα τρέχοντα συστήματα ανίχνευσης κακόβουλου λογισμικού που χρησιμοποιούνται από τα καταστήματα εφαρμογών είναι αναποτελεσματικά. Το PREC παρέχει υψηλό βαθμό ακρίβειας ανίχνευσης, χαμηλό ποσοστό ψευδών συναγερμών και περιορισμό κακόβουλων προγραμμάτων - κάτι που δεν υπάρχει σήμερα.
Η πρόκληση
Το κλειδί για να λειτουργήσει το PREC είναι το buy-in από τις αγορές εφαρμογών. Πρόκειται απλώς για τη δημιουργία βάσης δεδομένων που περιγράφει τον τρόπο με τον οποίο μια εφαρμογή εκτελεί κανονικά. Το PREC είναι ένα εργαλείο που μπορεί να χρησιμοποιηθεί για να επιτευχθεί αυτό. Στη συνέχεια, όταν ένας χρήστης κάνει λήψη μιας επιθυμητής εφαρμογής, οι πληροφορίες απόδοσης (προφίλ PREC) μεταφέρονται με την εφαρμογή και θα χρησιμοποιηθούν για τη βασική συμπεριφορά της εφαρμογής ενώ είναι εγκατεστημένη στη συσκευή Android.