OWASP Mobile Top 10 este o listă a celor mai critice zece vulnerabilități ale aplicațiilor mobile, publicată de organizația non-profit Open Web Application Security Project. Acest document este actualizat la fiecare câțiva ani pe baza datelor comunității de securitate și a incidentelor reale. Potrivit OWASP Foundation (2024), peste 75% din aplicațiile mobile comerciale conțin cel puțin una dintre vulnerabilitățile din această listă. Studiul Mobile Top 10 ajută dezvoltatorii și testerii să construiască protecție încă din faza de proiectare a arhitecturii. OWASP, 2024
Principalele concluzii
OWASP Mobile Top 10 este o listă standardizată a celor mai critice riscuri de securitate caracteristice aplicațiilor mobile. Spre deosebire de OWASP Top 10 general pentru aplicații web, versiunea mobilă ține cont de specificul platformelor: stocarea locală pe dispozitiv, interacțiunea cu senzorii, modurile offline și particularitățile magazinelor de aplicații. Documentul se publică din 2010 și se revizuiește la fiecare 2–4 ani: versiunea actuală pentru 2024 include categorii precum M1 — Improper Credential Usage și M8 — Security Misconfiguration. Proiectul este susținut de o comunitate de peste 500 de voluntari din întreaga lume.
Inițial OWASP Top 10 acoperea doar aplicațiile web, dar creșterea dezvoltării mobile în anii 2010 a necesitat un document separat. Prima versiune Mobile Top 10 a apărut în 2011 și conținea doar 7 puncte. Până în 2024, lista s-a extins la 10 categorii, fiecare incluzând mai multe scenarii specifice de atac. Scopul principal al documentului este de a oferi dezvoltatorilor și echipelor de securitate un limbaj comun pentru discutarea riscurilor și prioritizarea remedierilor. Actualizarea regulată a listei reflectă schimbările în peisajul amenințărilor: apariția de noi API-uri, evoluția sistemelor de operare (Android, iOS) și noile tehnici de atac descrise în rapoartele Positive Technologies și ale altor centre de cercetare.
Metodologia de elaborare a Mobile Top 10 se bazează pe date din proiecte reale: se analizează rezultatele testelor de penetrare ale aplicațiilor mobile, rapoartele de incidente și cercetările de vulnerabilități. Fiecare categorie este evaluată după doi parametri: frecvența de apariție (Incidence Rate) și impactul tehnic potențial (Technical Impact). Combinația acestor indicatori formează clasamentul final. Spre deosebire de listele subiective, OWASP utilizează date deschise: orice membru al comunității poate depune o cerere pentru includerea unei noi categorii prin depozitul GitHub al proiectului. Pentru versiunea actuală din 2024, au fost procesate peste 300 de mii de teste de securitate din 25 de țări, ceea ce face statistica reprezentativă pentru ecosistemul global de dezvoltare mobilă. Suplimentar, OWASP publică MASVS (Mobile Application Security Verification Standard) — un set de cerințe detaliate de securitate care include peste 80 de verificări concrete, distribuite în 8 categorii. MASVS este utilizat ca bază pentru certificarea aplicațiilor și ca listă de verificare pentru testele de penetrare: fiecare cerință are o referință la o categorie din Mobile Top 10, asigurând trasabilitatea completă între standard și lista de riscuri.
Să analizăm trei categorii cele mai critice din OWASP Mobile Top 10 2024, care acoperă peste 70% din toate incidentele de securitate din proiectele mobile. Fiecare categorie include scenarii specifice de exploatare și recomandări de protecție.
Această categorie (M1) acoperă situațiile în care dezvoltatorii folosesc API-urile și mecanismele platformei neconform destinației. Exemple tipice: Intent Injection pe Android, gestionarea deschisă a Deep Link-urilor pe iOS, lucrul incorect cu Keychain și SharedPreferences. Un atacator poate trimite un Intent special creat și poate obține acces la datele unei alte aplicații sau componente. Potrivit raportului NowSecure (2023), 22% din aplicațiile Android testate conțineau vulnerabilități de tip Intent Redirection. Protecția include: validarea strictă a datelor de intrare, verificarea sursei Intent și utilizarea permisiunilor pentru componentele exportate.
Stocarea nesigură a datelor (M2) este cea mai frecventă problemă în aplicațiile mobile. Apare atunci când datele confidențiale (token-uri de acces, parole, date personale) sunt stocate în formă deschisă sau cu protecție insuficientă. Surse tipice de vulnerabilitate: baze de date SQLite fără criptare, SharedPreferences fără EncryptedSharedPreferences, înregistrarea datelor în modul debug. Potrivit OWASP Foundation (2024), peste 60% din aplicațiile gratuite din Google Play stochează cel puțin un tip de date confidențiale în formă necriptată. Soluția — utilizarea Android EncryptedSharedPreferences, iOS Keychain și criptarea datelor înainte de scrierea în stocarea locală.
Categoria M3 — comunicarea nesigură — include vulnerabilități în canalele de transmitere a datelor între aplicație și server. Lipsa HTTPS, validarea incorectă a certificatelor SSL, utilizarea protocoalelor învechite TLS 1.0/1.1 — toate aceste probleme permit atacatorului să intercepteze traficul prin atacuri Man-in-the-Middle. Este deosebit de periculoasă situația când aplicația lucrează cu date sensibile (tranzacții bancare, informații medicale) printr-un canal nesecurizat. În 2023, cercetătorii de la NCC Group au descoperit că 12% din aplicațiile financiare populare utilizează o configurație TLS incorectă. Recomandare: utilizarea obligatorie a HTTPS cu Certificate Pinning și renunțarea la HTTP în versiunile de producție.
Testarea securității aplicației mobile conform metodologiei OWASP include mai multe etape: analiza statică a codului (SAST), analiza dinamică (DAST) și testarea manuală (pentest). Fiecare etapă vizează identificarea anumitor categorii de vulnerabilități din Mobile Top 10.
Pentru analiza automatizată OWASP recomandă utilizarea MobSF (Mobile Security Framework) — un instrument cu cod sursă deschis. MobSF efectuează analiza statică a codului sursă și a fișierelor binare, verifică configurația manifestelor, analizează permisiunile și identifică vulnerabilitățile din Mobile Top 10. Pentru analiza dinamică se utilizează Burp Suite (proxy pentru interceptarea traficului) și Frida (instrument pentru analiza runtime). Combinația acestor instrumente acoperă peste 80% din categoriile listei. Testarea regulată în pipeline-ul CI/CD cu MobSF permite identificarea vulnerabilităților în etapele timpurii ale dezvoltării și reduce costul remedierii acestora cu 60–70%. Integrarea instrumentelor SAST și DAST în pipeline trebuie automatizată prin pluginuri Gradle/Maven sau pași Fastlane în versiunile iOS.
După rularea MobSF, dezvoltatorul primește un raport cu indicatori colorați: roșu — vulnerabilitate critică, portocaliu — risc mediu, galben — scăzut. Fiecare avertizare conține o referință la categoria OWASP Mobile Top 10 corespunzătoare, descrierea problemei și recomandarea de remediere. Este important nu doar să eliminați avertismentele roșii, ci și să le analizați pe cele portocalii: multe dintre ele (de exemplu, Activity exportate fără protecție) în combinație pot oferi atacatorului un vector de atac. Se recomandă obținerea unui număr zero de avertismente roșii și nu mai mult de 2–3 portocalii înainte de fiecare lansare. Raportul MobSF include și analiza permisiunilor aplicației: orice permisiuni excesive (de exemplu, accesul la cameră într-un calculator) sunt semnalate ca încălcare a principiului privilegiilor minime și trebuie eliminate din manifest. Pentru aplicațiile iOS, MobSF efectuează o analiză similară a fișierelor .ipa, inclusiv verificarea Info.plist pentru excepții ATS și analiza fișierelor binare Mach-O pentru utilizarea API-urilor nesigure, precum NSAllowsArbitraryLoads.
Să analizăm un exemplu de analiză statică a unei aplicații Android cu ajutorul MobSF pentru identificarea vulnerabilităților din OWASP Mobile Top 10. Codul arată o eroare tipică — stocarea nesigură a token-ului în 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 la analiza unui astfel de cod va emite un avertisment privind stocarea nesigură a datelor (categoria M2 — Insecure Data Storage). Versiunea corectată utilizează EncryptedSharedPreferences din biblioteca AndroidX Security. Implementarea corectă a criptării datelor la nivelul stocării corespunde recomandărilor OWASP și previne scurgerea token-urilor la accesul fizic la dispozitiv. După implementarea EncryptedSharedPreferences, vulnerabilitatea este eliminată, fapt dovedit de absența avertismentului corespunzător în raportul 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()
}
}
Întrebări frecvente
OWASP Mobile Top 10 este o listă a celor mai periculoase zece vulnerabilități care apar cel mai frecvent în aplicațiile mobile. Documentul ajută dezvoltatorii să înțeleagă la ce să acorde atenție atunci când creează aplicații sigure.
Lista se actualizează aproximativ la fiecare 2–4 ani. Ultima versiune a fost publicată în 2024. Actualizările țin cont de schimbările din platformele mobile, apariția de noi API-uri și evoluția metodelor de atac.
Mobile Top 10 ține cont de specificul platformelor mobile: stocarea locală a datelor, lucrul cu senzorii, sistemul Intent din Android, modurile offline și particularitățile publicării în magazinele de aplicații, care lipsesc în versiunea web.
Conform statisticilor OWASP Foundation, cea mai răspândită este M2 — Insecure Data Storage (stocarea nesigură a datelor). Apare în peste 60% din aplicațiile mobile testate din toate categoriile.
Începeți cu instalarea MobSF — un instrument gratuit de analiză statică. Încărcați APK-ul sau codul sursă al aplicației, iar MobSF va arăta automat care dintre categoriile Mobile Top 10 sunt prezente în proiect.
Concluzii
Vom dezvolta o aplicație mobilă la cheie
IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.
Citiți și