8 říjen 2026 / 3 minuty čtení
Mobilní aplikace vykázaly v průměru 6,5 zranitelnosti na projekt. Během 39 projektů jsme identifikovali 254 nálezů, většinou středně závažných a souvisejících se samotnou klientskou aplikací, balíčky APK/AAB v systému Android a IPA v systému iOS. Nejčastěji jde o natvrdo uložené přihlašovací údaje a API klíče. K nim se přidávají citlivá data uložená v zařízení bez šifrování a slabé bezpečnostní mechanismy na straně klienta. Právě těmito problémy začíná také aktualizovaný OWASP Mobile Top 10, který byl poprvé od roku 2016 kompletně přepracován a na první místa zařadil Improper Credential Usage a Inadequate Supply Chain Security.
Představme si to na běžné situaci. Vaše mobilní bankovní aplikace si vás chce pamatovat, abyste se nemuseli přihlašovat při každém otevření, a proto si po přihlášení uloží přístupový token přímo do zařízení. Pokud jej uloží nešifrovaný, mimo systémový trezor Keystore v systému Android nebo Keychain v systému iOS, zůstane v čitelné podobě. Stačí jediné: ztracený telefon, předání zařízení do servisu, malware na rootnutém zařízení nebo nešifrovaná záloha. Token se dostane ven a útočník se s jeho pomocí přihlásí k účtu bez hesla i biometrického ověření. To je Improper Credential Usage: přihlašovací údaj, který měl chránit systémový trezor, zůstává volně uložený v lokálním úložišti aplikace.
Druhé riziko vůbec nevzniká ve vašem kódu. Stejná bankovní aplikace obsahuje desítky knihoven třetích stran, od analytických SDK až po platební komponenty. Pokud se byť jen jedna z nich stane cílem útoku na dodavatelský řetězec, například prostřednictvím podvržené aktualizace, útočník se dostane dovnitř, aniž by musel překonat jediný váš bezpečnostní mechanismus. To je Inadequate Supply Chain Security: přebíráte zranitelnost každé komponenty, kterou jste do aplikace přidali.
Třetí riziko si ukážeme na jiné funkci stejné aplikace. Při sdílené platbě naskenujete QR kód a aplikace z něj načte údaje o příjemci a částce. QR kód je však pouze nosičem dat a útočník do něj může vložit prakticky cokoli. Pokud aplikace jeho obsah důsledně neověří a namísto běžných platebních údajů jej předá přímo do své interní logiky, například do WebView s přístupem k nativním funkcím, podvržený QR kód se může změnit z platebního příkazu na spustitelný kód. Od této chvíle už nekoná uživatel, ale útočník: vaším jménem odešle předem určenou částku nebo z aplikace získá přístupový token a převezme účet. To je Insufficient Input/Output Validation: aplikace důvěřovala vstupu, který měla nejprve ověřit.
Pokud vyvíjíte mobilní aplikaci, aplikace nainstalovaná v zařízeních vašich uživatelů je součástí vaší útočné plochy. Netestujte proto pouze backendové služby, ale také samotnou aplikaci, kterou lidé skutečně používají.
Všechny články
Přihlaste se k odběru našeho newsletteru a získejte všechny důležité novinky v oblasti kybernetické bezpečnosti a etického hackování.