Ang OWASP Mobile Top 10 ay isang listahan ng sampung pinaka-kritikal na kahinaan ng mga mobile application na inilathala ng non-profit na organisasyon na Open Web Application Security Project. Ang dokumentong ito ay ina-update bawat ilang taon batay sa datos ng komunidad ng seguridad at mga tunay na insidente. Ayon sa OWASP Foundation (2024), higit sa 75% ng mga komersyal na mobile app ay naglalaman ng kahit isa sa mga kahinaan mula sa listahang ito. Ang pag-aaral ng Mobile Top 10 ay tumutulong sa mga developer at tester na bumuo ng proteksyon sa yugto ng pagdidisenyo ng arkitektura. OWASP, 2024
Mga pangunahing punto
OWASP Mobile Top 10 ay isang na-standardize na listahan ng mga pinaka-kritikal na panganib sa seguridad na partikular sa mga mobile application. Hindi tulad ng pangkalahatang OWASP Top 10 para sa mga web application, isinasaalang-alang ng bersyong mobile ang mga partikular na katangian ng mga platform: lokal na imbakan sa device, pakikipag-ugnayan sa mga sensor, offline mode, at mga tampok ng app store. Ang dokumento ay inilalathala mula noong 2010 at nire-review tuwing 2–4 na taon: ang kasalukuyang bersyon para sa 2024 ay may kasamang mga kategorya tulad ng M1 — Improper Credential Usage at M8 — Security Misconfiguration. Ang proyekto ay sinusuportahan ng isang komunidad ng higit sa 500 boluntaryo sa buong mundo.
Orihinal na OWASP Top 10 ay sumasaklaw lamang sa mga web application, ngunit ang paglago ng mobile development noong 2010s ay nangangailangan ng isang hiwalay na dokumento. Ang unang bersyon ng Mobile Top 10 ay lumabas noong 2011 at naglalaman lamang ng 7 puntos. Pagsapit ng 2024, ang listahan ay lumawak sa 10 kategorya, bawat isa ay may kasamang ilang partikular na senaryo ng pag-atake. Ang pangunahing layunin ng dokumento ay bigyan ang mga developer at security team ng isang karaniwang wika para talakayin ang mga panganib at prayoritahin ang mga pag-aayos. Ang regular na pag-update ng listahan ay sumasalamin sa mga pagbabago sa landscape ng pagbabanta: ang paglitaw ng mga bagong API, ang ebolusyon ng mga operating system (Android, iOS), at mga bagong diskarte sa pag-atake na inilarawan sa mga ulat ng Positive Technologies at iba pang research center.
Ang metodolohiya ng pagbuo ng Mobile Top 10 ay batay sa datos mula sa mga tunay na proyekto: sinusuri ang mga resulta ng penetration test ng mobile app, mga ulat ng insidente, at pananaliksik sa kahinaan. Ang bawat kategorya ay sinusuri batay sa dalawang parameter: dalas ng paglitaw (Incidence Rate) at potensyal na teknikal na epekto (Technical Impact). Ang kumbinasyon ng mga metric na ito ay bumubuo ng panghuling ranggo. Hindi tulad ng mga subjective na listahan, gumagamit ang OWASP ng bukas na datos: sinumang miyembro ng komunidad ay maaaring magsumite ng kahilingan na magdagdag ng bagong kategorya sa pamamagitan ng GitHub repository ng proyekto. Para sa kasalukuyang bersyon ng 2024, mahigit 300 libong security test mula sa 25 bansa ang naproseso, na ginagawang representatibo ang estadistika para sa pandaigdigang ecosystem ng mobile development. Bukod pa rito, inilalathala ng OWASP ang MASVS (Mobile Application Security Verification Standard) — isang set ng mga detalyadong kinakailangan sa seguridad na may kasamang higit sa 80 partikular na pagsusuri, na ipinamahagi sa 8 kategorya. Ang MASVS ay ginagamit bilang batayan para sa sertipikasyon ng app at bilang checklist para sa penetration test: bawat kinakailangan ay may sanggunian sa kategorya mula sa Mobile Top 10, na tinitiyak ang kumpletong traceability sa pagitan ng pamantayan at ng listahan ng panganib.
Tingnan natin ang tatlong pinaka-kritikal na kategorya mula sa OWASP Mobile Top 10 2024 na sumasaklaw sa higit sa 70% ng lahat ng security incident sa mga mobile project. Ang bawat kategorya ay may kasamang mga partikular na senaryo ng pagsasamantala at mga rekomendasyon sa proteksyon.
Sinasaklaw ng kategoryang ito (M1) ang mga sitwasyon kung saan ginagamit ng mga developer ang mga API at mekanismo ng platform hindi ayon sa layunin. Mga tipikal na halimbawa: Intent Injection sa Android, bukas na Deep Link handler sa iOS, maling pagtatrabaho sa Keychain at SharedPreferences. Maaaring magpadala ang isang attacker ng espesyal na ginawang Intent at makakuha ng access sa datos ng ibang app o component. Ayon sa ulat ng NowSecure (2023), 22% ng mga nasubukang Android app ay naglalaman ng Intent Redirection na mga kahinaan. Kasama sa proteksyon ang: mahigpit na pag-validate ng input data, pagsusuri ng pinagmulan ng Intent, at paggamit ng mga pahintulot para sa mga na-export na component.
Hindi ligtas na pag-iimbak ng datos (M2) ay ang pinakakaraniwang problema sa mga mobile app. Ito ay nangyayari kapag ang kumpidensyal na datos (access token, password, personal na impormasyon) ay iniimbak sa bukas na anyo o may hindi sapat na proteksyon. Mga tipikal na pinagmumulan ng kahinaan: SQLite database na walang encryption, SharedPreferences na walang EncryptedSharedPreferences, pag-log ng datos sa debug mode. Ayon sa OWASP Foundation (2024), higit sa 60% ng mga libreng app sa Google Play ay nag-iimbak ng kahit isang uri ng kumpidensyal na datos sa hindi naka-encrypt na anyo. Solusyon — paggamit ng Android EncryptedSharedPreferences, iOS Keychain, at pag-encrypt ng datos bago isulat sa lokal na imbakan.
Kategorya M3 — hindi ligtas na komunikasyon — ay may kasamang mga kahinaan sa mga channel ng paghahatid ng datos sa pagitan ng app at server. Ang kawalan ng HTTPS, maling pag-validate ng SSL certificate, paggamit ng lumang TLS 1.0/1.1 protocol — lahat ng problemang ito ay nagpapahintulot sa attacker na humarang ng trapiko sa pamamagitan ng Man-in-the-Middle attacks. Ang sitwasyon ay lalong mapanganib kapag ang app ay gumagana sa sensitibong datos (mga transaksyon sa bangko, medikal na impormasyon) sa pamamagitan ng hindi secure na channel. Noong 2023, natuklasan ng mga mananaliksik mula sa NCC Group na 12% ng mga sikat na financial app ay gumagamit ng maling TLS configuration. Rekomendasyon: mandatoryong paggamit ng HTTPS na may Certificate Pinning at pagtigil sa HTTP sa production build.
Ang pagsubok sa seguridad ng mobile app ayon sa metodolohiya ng OWASP ay may kasamang ilang yugto: static code analysis (SAST), dynamic analysis (DAST), at manual testing (pentest). Ang bawat yugto ay naglalayong tukuyin ang mga partikular na kategorya ng kahinaan mula sa Mobile Top 10.
Para sa automated analysis, OWASP ay nagrerekomenda ng paggamit ng MobSF (Mobile Security Framework) — isang open-source na tool. Ang MobSF ay nagsasagawa ng static analysis ng source code at binary file, sinusuri ang configuration ng manifest, sinusuri ang mga pahintulot, at tinutukoy ang mga kahinaan mula sa Mobile Top 10. Para sa dynamic analysis, ginagamit ang Burp Suite (proxy para sa pagharang ng trapiko) at Frida (tool para sa runtime analysis). Ang kumbinasyon ng mga tool na ito ay sumasaklaw sa higit sa 80% ng mga kategorya sa listahan. Ang regular na pagsubok sa CI/CD pipeline gamit ang MobSF ay nagpapahintulot sa pagtukoy ng mga kahinaan sa mga unang yugto ng development at nagbabawas ng gastos sa pag-aayos ng mga ito ng 60–70%. Ang pagsasama ng SAST at DAST tool sa pipeline ay dapat awtomatiko sa pamamagitan ng Gradle/Maven plugin o Fastlane steps sa iOS build.
Pagkatapos patakbuhin ang MobSF, ang developer ay makakatanggap ng ulat na may mga color indicator: pula — kritikal na kahinaan, orange — katamtamang panganib, dilaw — mababa. Ang bawat babala ay may sanggunian sa kaukulang kategorya ng OWASP Mobile Top 10, paglalarawan ng problema, at rekomendasyon sa pag-aayos. Mahalaga hindi lamang alisin ang mga pulang babala, kundi pati na rin suriin ang mga orange: marami sa mga ito (hal., na-export na Activity na walang proteksyon) sa kombinasyon ay maaaring magbigay sa attacker ng vector ng pag-atake. Inirerekomenda na makamit ang zero na bilang ng mga pulang babala at hindi hihigit sa 2–3 orange na babala bago ang bawat release. Ang ulat ng MobSF ay may kasama ring pagsusuri ng mga pahintulot ng app: anumang labis na pahintulot (hal., access sa camera sa isang calculator) ay itinatala bilang paglabag sa prinsipyo ng minimum na pribilehiyo at dapat alisin mula sa manifest. Para sa iOS app, ang MobSF ay nagsasagawa ng katulad na pagsusuri ng .ipa file, kabilang ang pagsusuri ng Info.plist para sa ATS exceptions at pagsusuri ng Mach-O binary file para sa paggamit ng hindi ligtas na API tulad ng NSAllowsArbitraryLoads.
Tingnan natin ang isang halimbawa ng static analysis ng Android app gamit ang MobSF upang tukuyin ang mga kahinaan mula sa OWASP Mobile Top 10. Ipinapakita ng code ang isang tipikal na error — hindi ligtas na pag-iimbak ng token sa 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)
}
}
Ang MobSF sa pagsusuri ng naturang code ay maglalabas ng babala tungkol sa hindi ligtas na pag-iimbak ng datos (kategorya M2 — Insecure Data Storage). Ang naitama na bersyon ay gumagamit ng EncryptedSharedPreferences mula sa AndroidX Security library. Ang tamang pagpapatupad ng data encryption sa antas ng imbakan ay sumusunod sa mga rekomendasyon ng OWASP at pumipigil sa pagtagas ng token sa pisikal na pag-access sa device. Pagkatapos ng pagpapatupad ng EncryptedSharedPreferences, ang kahinaan ay naaalis, na pinatutunayan ng kawalan ng kaukulang babala sa ulat ng 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()
}
}
Mga madalas itanong
OWASP Mobile Top 10 ay isang listahan ng sampung pinaka-mapanganib na kahinaan na pinakamadalas matagpuan sa mga mobile app. Ang dokumento ay tumutulong sa mga developer na maunawaan kung ano ang dapat bigyang-pansin kapag gumagawa ng mga secure na application.
Ang listahan ay ina-update humigit-kumulang bawat 2–4 na taon. Ang pinakabagong bersyon ay inilabas noong 2024. Isinasaalang-alang ng mga update ang mga pagbabago sa mobile platform, paglitaw ng mga bagong API, at ebolusyon ng mga paraan ng pag-atake.
Isinasaalang-alang ng Mobile Top 10 ang mga partikular na katangian ng mobile platform: lokal na pag-iimbak ng datos, pagtatrabaho sa mga sensor, Android Intent system, offline mode, at mga tampok ng pag-publish sa app store na wala sa web version.
Ayon sa estadistika ng OWASP Foundation, ang pinakakaraniwan ay M2 — Insecure Data Storage (hindi ligtas na pag-iimbak ng datos). Ito ay matatagpuan sa higit sa 60% ng mga nasubukang mobile app sa lahat ng kategorya.
Magsimula sa pag-install ng MobSF — isang libreng tool para sa static analysis. I-upload ang APK o source code ng app, at awtomatikong ipapakita ng MobSF kung aling mga kategorya ng Mobile Top 10 ang naroroon sa proyekto.
Buod
Gagawa kami ng mobile application na turnkey
Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.
Basahin din