Το OWASP Mobile Top 10 είναι μια λίστα με τις δέκα πιο κρίσιμες ευπάθειες εφαρμογών για κινητά, που δημοσιεύεται από τον μη κερδοσκοπικό οργανισμό Open Web Application Security Project. Αυτό το έγγραφο ενημερώνεται κάθε λίγα χρόνια βάσει δεδομένων από την κοινότητα ασφαλείας και πραγματικών περιστατικών. Σύμφωνα με το OWASP Foundation (2024), πάνω από το 75% των εμπορικών εφαρμογών για κινητά περιέχουν τουλάχιστον μία από τις ευπάθειες αυτής της λίστας. Η μελέτη του Mobile Top 10 βοηθά προγραμματιστές και ελεγκτές να οικοδομήσουν προστασία στο στάδιο σχεδιασμού της αρχιτεκτονικής. OWASP, 2024
Κύρια σημεία
OWASP Mobile Top 10 είναι μια τυποποιημένη λίστα των πιο κρίσιμων κινδύνων ασφαλείας που χαρακτηρίζουν τις εφαρμογές για κινητά. Σε αντίθεση με το γενικό OWASP Top 10 για διαδικτυακές εφαρμογές, η έκδοση για κινητά λαμβάνει υπόψη τις ιδιαιτερότητες των πλατφορμών: τοπική αποθήκευση στη συσκευή, αλληλεπίδραση με αισθητήρες, λειτουργίες εκτός σύνδεσης και χαρακτηριστικά καταστημάτων εφαρμογών. Το έγγραφο δημοσιεύεται από το 2010 και αναθεωρείται κάθε 2–4 χρόνια: η τρέχουσα έκδοση για το 2024 περιλαμβάνει κατηγορίες όπως M1 — Improper Credential Usage και M8 — Security Misconfiguration. Το έργο υποστηρίζεται από μια κοινότητα άνω των 500 εθελοντών παγκοσμίως.
Αρχικά το OWASP Top 10 κάλυπτε μόνο διαδικτυακές εφαρμογές, αλλά η ανάπτυξη των εφαρμογών για κινητά τη δεκαετία του 2010 απαίτησε ξεχωριστό έγγραφο. Η πρώτη έκδοση του Mobile Top 10 κυκλοφόρησε το 2011 και περιείχε μόλις 7 σημεία. Μέχρι το 2024, η λίστα επεκτάθηκε σε 10 κατηγορίες, καθεμία από τις οποίες περιλαμβάνει πολλά συγκεκριμένα σενάρια επίθεσης. Ο κύριος σκοπός του εγγράφου είναι να δώσει στους προγραμματιστές και στις ομάδες ασφαλείας μια κοινή γλώσσα για τη συζήτηση κινδύνων και την ιεράρχηση διορθώσεων. Η τακτική ενημέρωση της λίστας αντικατοπτρίζει αλλαγές στο τοπίο απειλών: την εμφάνιση νέων API, την εξέλιξη λειτουργικών συστημάτων (Android, iOS) και νέες τεχνικές επίθεσης που περιγράφονται σε αναφορές της Positive Technologies και άλλων ερευνητικών κέντρων.
Η μεθοδολογία σύνταξης του Mobile Top 10 βασίζεται σε δεδομένα από πραγματικά έργα: αναλύονται αποτελέσματα δοκιμών διείσδυσης εφαρμογών για κινητά, αναφορές περιστατικών και έρευνες ευπαθειών. Κάθε κατηγορία αξιολογείται βάσει δύο παραμέτρων: συχνότητα εμφάνισης (Incidence Rate) και δυνητική τεχνική επίπτωση (Technical Impact). Ο συνδυασμός αυτών των μετρήσεων διαμορφώνει την τελική κατάταξη. Σε αντίθεση με υποκειμενικές λίστες, το OWASP χρησιμοποιεί ανοιχτά δεδομένα: οποιοδήποτε μέλος της κοινότητας μπορεί να υποβάλει αίτημα για προσθήκη νέας κατηγορίας μέσω του αποθετηρίου GitHub του έργου. Για την τρέχουσα έκδοση του 2024, επεξεργάστηκαν πάνω από 300 χιλιάδες δοκιμές ασφαλείας από 25 χώρες, καθιστώντας τα στατιστικά αντιπροσωπευτικά για το παγκόσμιο οικοσύστημα ανάπτυξης εφαρμογών για κινητά. Επιπλέον, το OWASP δημοσιεύει το MASVS (Mobile Application Security Verification Standard) — ένα σύνολο λεπτομερών απαιτήσεων ασφαλείας που περιλαμβάνει πάνω από 80 συγκεκριμένους ελέγχους, κατανεμημένους σε 8 κατηγορίες. Το MASVS χρησιμοποιείται ως βάση για την πιστοποίηση εφαρμογών και ως λίστα ελέγχου για δοκιμές διείσδυσης: κάθε απαίτηση παραπέμπει σε μια κατηγορία από το Mobile Top 10, διασφαλίζοντας πλήρη ιχνηλασιμότητα μεταξύ του προτύπου και της λίστας κινδύνων.
Ας εξετάσουμε τις τρεις πιο κρίσιμες κατηγορίες από το OWASP Mobile Top 10 2024, που καλύπτουν πάνω από το 70% όλων των περιστατικών ασφαλείας σε έργα για κινητά. Κάθε κατηγορία περιλαμβάνει συγκεκριμένα σενάρια εκμετάλλευσης και συστάσεις προστασίας.
Αυτή η κατηγορία (M1) καλύπτει καταστάσεις όπου οι προγραμματιστές χρησιμοποιούν API και μηχανισμούς πλατφόρμας μη σύμφωνα με τον προορισμό. Τυπικά παραδείγματα: Intent Injection στο Android, ανοιχτοί χειριστές Deep Link στο iOS, εσφαλμένη εργασία με Keychain και SharedPreferences. Ένας εισβολέας μπορεί να στείλει ειδικά διαμορφωμένο Intent και να αποκτήσει πρόσβαση σε δεδομένα άλλης εφαρμογής ή στοιχείου. Σύμφωνα με αναφορά της NowSecure (2023), το 22% των ελεγμένων εφαρμογών Android περιείχαν ευπάθειες τύπου Intent Redirection. Η προστασία περιλαμβάνει: αυστηρή επικύρωση δεδομένων εισόδου, έλεγχο προέλευσης Intent και χρήση δικαιωμάτων για εξαγόμενα στοιχεία.
Μη ασφαλής αποθήκευση δεδομένων (M2) είναι το πιο κοινό πρόβλημα σε εφαρμογές για κινητά. Προκύπτει όταν εμπιστευτικά δεδομένα (διακριτικά πρόσβασης, κωδικοί πρόσβασης, προσωπικά δεδομένα) αποθηκεύονται σε ανοιχτή μορφή ή με ανεπαρκή προστασία. Τυπικές πηγές ευπάθειας: βάσεις δεδομένων SQLite χωρίς κρυπτογράφηση, SharedPreferences χωρίς EncryptedSharedPreferences, καταγραφή δεδομένων σε λειτουργία debug. Σύμφωνα με το OWASP Foundation (2024), πάνω από το 60% των δωρεάν εφαρμογών στο Google Play αποθηκεύουν τουλάχιστον έναν τύπο εμπιστευτικών δεδομένων σε μη κρυπτογραφημένη μορφή. Λύση — χρήση Android EncryptedSharedPreferences, iOS Keychain και κρυπτογράφηση δεδομένων πριν από την εγγραφή στην τοπική αποθήκευση.
Κατηγορία M3 — μη ασφαλής επικοινωνία — περιλαμβάνει ευπάθειες στα κανάλια μετάδοσης δεδομένων μεταξύ εφαρμογής και διακομιστή. Απουσία HTTPS, εσφαλμένη επικύρωση πιστοποιητικών SSL, χρήση παρωχημένων πρωτοκόλλων TLS 1.0/1.1 — όλα αυτά τα προβλήματα επιτρέπουν σε έναν εισβολέα να υποκλέπτει κίνηση μέσω επιθέσεων Man-in-the-Middle. Ιδιαίτερα επικίνδυνη είναι η κατάσταση όταν η εφαρμογή εργάζεται με ευαίσθητα δεδομένα (τραπεζικές συναλλαγές, ιατρικές πληροφορίες) μέσω μη ασφαλούς καναλιού. Το 2023, ερευνητές από την NCC Group ανακάλυψαν ότι το 12% των δημοφιλών χρηματοοικονομικών εφαρμογών χρησιμοποιούν εσφαλμένη διαμόρφωση TLS. Σύσταση: υποχρεωτική χρήση HTTPS με Certificate Pinning και εγκατάλειψη HTTP σε εκδόσεις παραγωγής.
Ο έλεγχος ασφαλείας εφαρμογής για κινητά σύμφωνα με τη μεθοδολογία OWASP περιλαμβάνει διάφορα στάδια: στατική ανάλυση κώδικα (SAST), δυναμική ανάλυση (DAST) και χειροκίνητο έλεγχο (pentest). Κάθε στάδιο στοχεύει στον εντοπισμό συγκεκριμένων κατηγοριών ευπαθειών από το Mobile Top 10.
Για αυτοματοποιημένη ανάλυση, το OWASP συνιστά τη χρήση του MobSF (Mobile Security Framework) — ενός εργαλείου ανοιχτού κώδικα. Το MobSF εκτελεί στατική ανάλυση πηγαίου κώδικα και δυαδικών αρχείων, ελέγχει τη διαμόρφωση manifest, αναλύει δικαιώματα και εντοπίζει ευπάθειες από το Mobile Top 10. Για δυναμική ανάλυση χρησιμοποιούνται τα Burp Suite (διακομιστής μεσολάβησης για υποκλοπή κίνησης) και Frida (εργαλείο ανάλυσης χρόνου εκτέλεσης). Ο συνδυασμός αυτών των εργαλείων καλύπτει πάνω από το 80% των κατηγοριών της λίστας. Ο τακτικός έλεγχος στη γραμμή CI/CD με το MobSF επιτρέπει τον εντοπισμό ευπαθειών σε πρώιμα στάδια ανάπτυξης και μειώνει το κόστος διόρθωσής τους κατά 60–70%. Η ενσωμάτωση εργαλείων SAST και DAST στη γραμμή πρέπει να αυτοματοποιηθεί μέσω προσθηκών Gradle/Maven ή βημάτων Fastlane σε εκδόσεις iOS.
Μετά την εκτέλεση του MobSF, ο προγραμματιστής λαμβάνει μια αναφορά με χρωματικούς δείκτες: κόκκινο — κρίσιμη ευπάθεια, πορτοκαλί — μεσαίος κίνδυνος, κίτρινο — χαμηλός. Κάθε προειδοποίηση περιέχει παραπομπή στην αντίστοιχη κατηγορία OWASP Mobile Top 10, περιγραφή προβλήματος και σύσταση διόρθωσης. Είναι σημαντικό όχι μόνο να αφαιρείτε τις κόκκινες προειδοποιήσεις, αλλά και να αναλύετε τις πορτοκαλί: πολλές από αυτές (π.χ. εξαγόμενο Activity χωρίς προστασία) σε συνδυασμό μπορούν να δώσουν σε έναν εισβολέα διάνυσμα επίθεσης. Συνιστάται η επίτευξη μηδενικού αριθμού κόκκινων προειδοποιήσεων και όχι περισσότερων από 2–3 πορτοκαλί πριν από κάθε έκδοση. Η αναφορά MobSF περιλαμβάνει επίσης ανάλυση δικαιωμάτων εφαρμογής: τυχόν υπερβολικά δικαιώματα (π.χ. πρόσβαση στην κάμερα σε μια αριθμομηχανή) καταγράφονται ως παραβίαση της αρχής των ελάχιστων προνομίων και πρέπει να αφαιρεθούν από το manifest. Για εφαρμογές iOS, το MobSF εκτελεί παρόμοια ανάλυση αρχείων .ipa, συμπεριλαμβανομένου του ελέγχου Info.plist για εξαιρέσεις ATS και ανάλυσης δυαδικών αρχείων Mach-O για χρήση μη ασφαλών API όπως το NSAllowsArbitraryLoads.
Ας εξετάσουμε ένα παράδειγμα στατικής ανάλυσης εφαρμογής Android με χρήση του MobSF για τον εντοπισμό ευπαθειών από το OWASP Mobile Top 10. Ο κώδικας δείχνει ένα τυπικό σφάλμα — μη ασφαλή αποθήκευση διακριτικού σε SharedPreferences.
class InsecureStorage {
private val prefs = context.getSharedPreferences("my_app", Context.MODE_PRIVATE)
fun saveToken(token: String) {
prefs.edit().putString("auth_token", token).apply()
}
fun getToken(): String? {
return prefs.getString("auth_token", null)
}
}
Το MobSF κατά την ανάλυση τέτοιου κώδικα θα εκδώσει προειδοποίηση για μη ασφαλή αποθήκευση δεδομένων (κατηγορία M2 — Insecure Data Storage). Η διορθωμένη έκδοση χρησιμοποιεί EncryptedSharedPreferences από τη βιβλιοθήκη AndroidX Security. Η σωστή υλοποίηση κρυπτογράφησης δεδομένων σε επίπεδο αποθήκευσης αντιστοιχεί στις συστάσεις OWASP και αποτρέπει τη διαρροή διακριτικών κατά τη φυσική πρόσβαση στη συσκευή. Μετά την εφαρμογή του EncryptedSharedPreferences, η ευπάθεια εξαλείφεται, όπως αποδεικνύεται από την απουσία της αντίστοιχης προειδοποίησης στην αναφορά MobSF.
class SecureStorage(context: Context) {
private val masterKey = MasterKey.Builder(context)
.setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
.build()
private val securePrefs = EncryptedSharedPreferences.create(
context,
"secure_prefs",
masterKey,
EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
)
fun saveToken(token: String) {
securePrefs.edit().putString("auth_token", token).apply()
}
}
Συχνές ερωτήσεις
OWASP Mobile Top 10 είναι μια λίστα με τις δέκα πιο επικίνδυνες ευπάθειες που εμφανίζονται συχνότερα σε εφαρμογές για κινητά. Το έγγραφο βοηθά τους προγραμματιστές να κατανοήσουν σε τι πρέπει να δίνουν προσοχή κατά τη δημιουργία ασφαλών εφαρμογών.
Η λίστα ενημερώνεται περίπου κάθε 2–4 χρόνια. Η τελευταία έκδοση κυκλοφόρησε το 2024. Οι ενημερώσεις λαμβάνουν υπόψη αλλαγές σε πλατφόρμες για κινητά, εμφάνιση νέων API και εξέλιξη μεθόδων επίθεσης.
Mobile Top 10 λαμβάνει υπόψη τις ιδιαιτερότητες των πλατφορμών για κινητά: τοπική αποθήκευση δεδομένων, εργασία με αισθητήρες, σύστημα Intent Android, λειτουργίες εκτός σύνδεσης και χαρακτηριστικά δημοσίευσης σε καταστήματα εφαρμογών, που απουσιάζουν από την έκδοση web.
Σύμφωνα με στατιστικά του OWASP Foundation, η πιο διαδεδομένη είναι η M2 — Insecure Data Storage (μη ασφαλής αποθήκευση δεδομένων). Εμφανίζεται σε πάνω από το 60% των ελεγμένων εφαρμογών για κινητά όλων των κατηγοριών.
Ξεκινήστε με την εγκατάσταση του MobSF — ενός δωρεάν εργαλείου στατικής ανάλυσης. Ανεβάστε το APK ή τον πηγαίο κώδικα της εφαρμογής και το MobSF θα δείξει αυτόματα ποιες κατηγορίες του Mobile Top 10 υπάρχουν στο έργο.
Σύνοψη
Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση
Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.
Διαβάστε επίσης