Všechny články

8 říjen 2026 / 3 minuty čtení

Penetrační testování mobilních aplikací: rizika na straně klienta neustále rostou

Aplikace, kterou si vaši zákazníci nainstalují do telefonu, je součástí vaší útočné plochy, na kterou nevidíte. Ukážeme tři způsoby, jak se přes ni lze dostat k účtu, přičemž ani jeden nevyžaduje prolomení vašeho backendu.


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.

Co z toho vyplývá pro CISO?

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í.

logo

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í.

© 2024 citadelo AG. Všechna práva vyhrazena.

facebooklinkedinxyoutube