
Zdroj: GPT
EU spustila 15. dubna svou aplikaci pro ověřování věku s prohlášením, že splňuje nejvyšší standardy ochrany soukromí. Hned druhý den odpoledne však bezpečnostní konzultant během dvou minut obešel celý autentizační systém pouze pomocí textového editoru. Bezpečnostní konzultant Paul Moore demonstroval, že aplikace ukládá kritické ovládací prvky včetně šifrování PINu, počítadla pokusů a příznaků pro biometrické ověření v prostém textovém souboru přímo v zařízení.
Aplikace EU pro ověření věku jako ukázka vývojářského šlendriánu?
Aplikace využívá pro ukládání dat systém SharedPreferences. Ten je v Androidu určen pro běžná nastavení, nikoliv pro citlivé bezpečnostní údaje. Na zařízeních s právy root (nebo při fyzickém přístupu k datům) je tento soubor snadno čitelný a upravitelný.
Zásadní architektonické chyby
- Dekorativní šifrování PINu: Aplikace sice PIN šifruje, ale šifrovací klíče nejsou pevně svázány s identitou uživatele. Pokud útočník smaže hodnoty v konfiguračním souboru a aplikaci restartuje, může si nastavit PIN nový a získat přístup k původním ověřeným údajům.
- Resetování limitů: Počítadlo chybných zadání PINu je prosté celé číslo v editovatelném souboru. Stačí jej přepsat na nulu a systém zapomene, že se uživatel několikrát netrefil
- Vypnutí biometrie jedním znakem: Příznak, zda je vyžadován otisk prstu nebo sken obličeje, je uložen jako hodnota true/false (boolean). Změnou z true na false útočník nejsilnější prvek zabezpečení prostě vypne
Hacking the #EU #AgeVerification app in under 2 minutes.
During setup, the app asks you to create a PIN. After entry, the app *encrypts* it and saves it in the shared_prefs directory.
1. It shouldn’t be encrypted at all – that’s a really poor design.
2. It’s not… https://t.co/z39qBdclC2 pic.twitter.com/FGRvWtWzaZ— Paul Moore – Security Consultant (@Paul_Reviews) April 16, 2026
Správným postupem by přitom bylo využití systému Android Keystore. Ten ukládá klíče v hardwarově izolovaném prostředí (Trusted Execution Environment), ke kterému nemá přístup ani operační systém, natož uživatel s textovým editorem.
Problém důvěry: Vydavatel neví, co potvrzuje
Analýza otevřeného kódu z letošního března odhalila ještě hlubší strukturální nedostatek. Komponenta v aplikaci, která vydává digitální certifikát o věku, nemá jak ověřit, že v zařízení skutečně proběhlo naskenování pasu. Vydává tedy potvrzení na základě tvrzení aplikace, nikoliv na základě nezvratného důkazu o ověření. Pokud by vývojáři chtěli tento problém vyřešit, museli by na server posílat data z pasu, což by ale porušilo slib o stoprocentním soukromí a nulovém přenosu dat. Tento rozpor mezi bezpečností a soukromím nebyl při vývoji zjevně vyřešen.
V komerčním prostředí jsou bezpečnostní rizika přímo spojena s reputací firmy. Pokud by firma pracující na takové zakázce vypustila produkt s takovými bezpečnostními dírami, následovala by okamžitá ztráta důvěry, žaloba a konec podnikání. U vládních zakázek jak se zdá je motivace úplně jiná. Kontrakt pro firmy T-Systems a Scytales byl zaplacen, tisková konference proběhla a politické body z rádoby ochranu dětí byly rozdány. Zpětná vazba je zde pomalá a rozmělněná v těžké byrokracii.
Současná podoba aplikace připomíná spíše narychlo ušitý prototyp než robustní bezpečnostní systém. Nasazení takové aplikace sebou nese poměrně veliká rizika. Odpovědnost za úniky dat nebo chybnou verifikaci ponesou podle směrnice NIS2 i ti, kteří na takovou aplikaci nasadí do svých systémů.
Zdroj: cadchain.com
Komentáře