8 október 2026 / 3 minúty čítania
Mobilné aplikácie vykázali v priemere 6,5 zraniteľnosti na projekt. Počas 39 projektov sme identifikovali 254 nálezov, väčšinu stredne závažných a týkajúcich sa samotnej klientskej aplikácie, balíkov APK/AAB v Androide a IPA v iOS. Najčastejšie ide o natvrdo uložené prihlasovacie údaje a API kľúče. K nim sa pridávajú citlivé dáta uložené v zariadení bez šifrovania a slabé bezpečnostné mechanizmy na strane klienta. Práve týmito problémami začína aj aktualizovaný OWASP Mobile Top 10, ktorý bol po prvý raz od roku 2016 kompletne prepracovaný a na prvé miesta zaradil Improper Credential Usage a Inadequate Supply Chain Security.
Predstavme si to na bežnej situácii. Vaša mobilná banková aplikácia si vás chce pamätať, aby ste sa neprihlasovali pri každom otvorení, a preto si po prihlásení uloží prístupový token priamo do zariadenia. Ak ho uloží nešifrovaný, mimo systémového trezoru Keystore v Androide alebo Keychain v iOS, ostáva v čitateľnej podobe. Stačí jediné: stratený telefón, odovzdanie do servisu, malvér na rootnutom zariadení alebo nezašifrovaná záloha. Token je vonku a útočník sa s ním dostane do účtu bez hesla aj bez biometrie. To je Improper Credential Usage: prihlasovací údaj, ktorý mal chrániť systémový trezor, leží voľne v lokálnom úložisku aplikácie.
Druhé riziko nemá pôvod vo vašom kóde vôbec. Tá istá banková aplikácia obsahuje desiatky knižníc tretích strán, od SDK na analytiku až po platobné komponenty. Ak sa čo i len jedna z nich stane terčom útoku na dodávateľský reťazec, napríklad podvrhnutou aktualizáciou, útočník sa dostane dovnútra bez toho, aby musel prekonať jediný váš bezpečnostný mechanizmus. To je Inadequate Supply Chain Security: zdedíte zraniteľnosť každého komponentu, ktorý ste do aplikácie pridali.
Tretie riziko ukážeme na inej funkcii tej istej aplikácie. Pri zdieľanej platbe naskenujete QR kód a aplikácia z neho načíta údaje o príjemcovi a sume. Lenže QR kód je len nosič dát a útočník doň vie vložiť čokoľvek. Ak aplikácia jeho obsah dôsledne neoverí a namiesto obyčajných platobných údajov ho zaradí priamo do svojej internej logiky, napríklad do WebView s prístupom k natívnym funkciám, podvrhnutý QR kód sa zmení z platobného príkazu na spustiteľný kód. Odvtedy nekoná používateľ, ale útočník: vo vašom mene odošle vopred určenú sumu alebo z aplikácie vytiahne prístupový token a prevezme účet. To je Insufficient Input/Output Validation: aplikácia dôverovala vstupu, ktorý mala najprv overiť.
Ak vyvíjate mobilnú aplikáciu, aplikácia nainštalovaná v zariadeniach vašich používateľov je súčasťou vašej útočnej plochy. Netestujte preto len backendové služby, ale aj samotnú aplikáciu, ktorú ľudia reálne používajú.
Všetky články
Prihláste sa k odberu nášho newslettera a získajte všetky dôležité novinky v oblasti kybernetickej bezpečnosti a etického hackovania.