Αυτοματοποιημένος έλεγχος ασφαλείας του Android API μέσω fuzzing
Automated security testing of Android API using fuzzing
Προβολή/ Άνοιγμα
Λέξεις κλειδιά
Android ; Security ; Fuzzing ; Reflection ; Automated testing ; MalwareΠερίληψη
Η ανάπτυξη της τεχνολογίας των έξυπνων κινητών τηλεφώνων, καθώς και η αλματώδης εξέλιξη των λειτουργικών συστημάτων τους, δημιουργούν τεράστιες δυνατότητες στους προγραμματιστές για ανάπτυξη εφαρμογών. Ταυτόχρονα όμως τα λειτουργικά αυτά συστήματα εκτίθενται σε κινδύνους έναντι κακόβουλων λογισμικών. Η διεπαφή που παρέχει το λειτουργικό σύστημα Android της Google στους προγραμματιστές για ανάπτυξη εφαρμογών ανανεώνεται συνεχώς, παρέχοντας ποικίλες δυνατότητες αξιοποίησης των λειτουργικοτήτων της συσκευής. Το γεγονός αυτό σε συνδυασμό με την οικονομική προσιτότητα των κινητών συσκευών Android έχει εκτοξεύσει την αγορά της ανάπτυξης εφαρμογών που υλοποιούνται για το συγκεκριμένο λειτουργικό σύστημα, αλλά ταυτόχρονα έχει ανοίξει διόδους εκμετάλευσης αυτών με κακόβουλο σκοπό. Το σύστημα παροχής αδειών του Android στις εφαρμογές τρίτων προκειμένου αυτές να αποκτήσουν πρόσβαση στα πιο ευαίσθητα δεδομένα του κινητού ή σε σημαντικούς πόρους του υλισμικού, αποτελεί ένα από τα βασικά μέτρα ασφαλείας του συστήματος. Το εν λόγω σύστημα αναβαθμίστηκε τον Οκτώβριο του 2015, έτσι ώστε ο χρήστης να αποκτήσει μεγαλύτερη επίβλεψη της πρόσβασης αυτής, με την έγκριση της να γίνεται σε πραγματικό χρόνο κατά τη χρήση της εφαρμογής και όχι μόνο στην αρχική εγκατάσταση. Παρά τη βελτίωση αυτή, δεν επιλύθηκαν όλα τα θέματα ασφαλείας της συσκευής και προστασίας της ιδωτικότητας των χρηστών. Συγκεριμένα, η χρήση της διεπαφής του Android API που θα γίνει έπειτα από τους προγραμματιστές εφαρμογών ενέχει νέους κινδύνους και θα πρέπει να έχουν προβλεφτεί μέτρα περιορισμού της. Για το λόγο αυτό η Google που εξελίσσει το Android προβαίνει σε καθημερινό αυτοματοποιημένο έλεγχο εκατοντάδων χιλιάδων εφαρμογών ως προς τη δυνατότητά τους να βλάψουν τις παραπάνω συσκευές για να προστατεύσει τους χρήστες. Στο πλαίσιο της παρούσας εργασίας αναπτύχθηκε με χρήση του Android SDK και της τεχνικής fuzzing η Android εφαρμογή XenonAutomated, η οποία χρησιμοποιήθηκε για τον έλεγχο ασφαλείας - κατά πόσο δηλαδή μπορεί μια εξωτερική εφαρμογή να κάνει ‘κακή’ ή ακραία χρήση - των διεπαφών προγραμματιστή Android από το API Level 21 έως το API Level 28. Τα αποτελέσματα που προέκυψαν παρατίθονται για να βρεθούν πιθανά συμπεράσματα.