Ve svém předchozím, dnešním příspěvku jsem položil řečnickou otázku "Kolikpak takových aplikací tam ještě je?" Položil jsem ji proto, že vím o řadě dalších. Je to stále dokola: "Fakta jsou lepší než ideologie." Tak kupříkladu zde máme aplikaci https://razr.egon.gov.cz/. Zatímco předchozí aplikace, o které jsem psal, byla určena k tomu, aby si "spotřebitel egovernmentu" mohl bezpečně (rozumějte, bez rizika phishingu, tedy podvrhu) stáhnout pravou kolaborační aplikaci z https://digitym.gov.cz/ a jak jsme ukázali, stáhl by si falešnou (BTW, tamtéž je /login dialog, doporučuji vyzkoušet si jeho vlastnosti), ta aplikace, o které se zmiňuji nyní, o sobě říká: "Aplikace je určená pouze pro oprávněné osoby. Pokud nejste oprávněnou osobou, nepokoušejte se prosím o přihlášení do aplikace. Oprávněné osoby jsou ty, které mají povolený přístup v JIP (Jednotný identitní prostor). Aplikace zaznamenává pokusy o přihlášení a činnost uživatelů." To zní bezpečnostně zajímavě. JIP je odsud volán správně (https://kaas.czechpoint.cz/as/login?atsId=AIS70f122417f6e4973b1176429d03e406b), ale to platí za předpokladu, že jste na pravé, a ne na podvržené, cizí stránce. Jakpak by byl JIP volán z cizí stránky...? Správně asi ne. Tak pokračujme v seriálu na téma "v gov.cz už phishing nehrozí (pozn. jak pravil pan Bartoš), protože si každý snadno doménu zapamatuje, aby nenaletěl". Zavoláme http://razr.egon.gov.cz/ (po portu 80). Z prohlížeče odejde:
GET / HTTP/1.1 Host: razr.egon.g0v.cz Accept: text/html Accept-Encoding: gzip, deflate Accept-Language: cs-CZ,cs;q=0.9 Connection: close
Je-li po cestě někdo v man-in-the-middle, může injektovat (jsme v plaintextu) hlavičku Host (tak, jak je ukázáno výše, změnit ji třeba na ".g0v.cz"; protože jak víme, tuto "napodobeninu" si DIA prozřetelně předem nezajistila, viz http://www.g0v.cz). Server ani v tomto případě nevaliduje [CWE-20] vstupní hlavičku, o které autoři aplikace věděli, resp. měli vědět, že je vždy pod cizí kontrolou, ale přepisuje ji do vlastní hlavičky Location, kterou vrací do prohlížeče:
HTTP/1.0 302 Moved Temporarily Location: https://razr.egon.g0v.cz/ Server: BigIP Connection: close Content-Length: 0
Z odezvy se dozvídáme také to, že tuto chybu zde v sobě má něčí F5-ka. Takový prohlížeč by skončil na cizí stránce, s cizím voláním do JIP. Pak už by záleželo jen na tom, jakou autentizační metodou by se návštěvník přihlašoval. Toho jsou si ti, kdo se starají o bezpečnost https://kaas.czechpoint.cz/as/login viditelně vědomi. Asi také moc nevěří na apriorní antiphishingovou odolnost aplikací v doméně gov.cz. Slouží jim to ke cti! Proto trvají na OTP nebo certifikátu.
Takže, čeho to byla ukázka? Je to ukázka (už třetí v pořadí; asi je to všechno jen náhoda...) toho, že v doméně gov.cz je už nyní vícero aplikací zranitelných v různých formách phishingem a že dobře dělají ti (jako v tomto případě bezpečáci u JIP/KASS), kdo se řídí vlastním rozumem, starají se sami o APLIKAČNÍ bezpečnost a nevěří na antiphishingové projevy aktérů všeobecného doménového stěhování do gov.cz. Kolikpak dalších takových aplikací tam ještě najdeme?
Takže, čeho to byla ukázka? Je to ukázka (už třetí v pořadí; asi je to všechno jen náhoda...) toho, že v doméně gov.cz je už nyní vícero aplikací zranitelných v různých formách phishingem
Je to ukázka toho, že vůbec netušíte, co je to phishing. Phishing není zranitelnost aplikace, je to zranitelnost uživatele.
starají se sami o APLIKAČNÍ bezpečnost
Zjevně o počítačové bezpečnosti netušíte vůbec nic. Aplikační bezpečnost je vám absolutně k ničemu, když útočník zaútočí na uživatele. A jeden z častých útoků na uživatele je právě phishing.
Bezpečnost vyžaduje bezpečnost aplikace i bezpečnost uživatele. Když je díra v jednom, to druhé to nezachrání. Přestavte si to na jednoduchých příkladech s hesly - když aplikace pustí uživatele bez hesla, je úplně jedno, že uživatel má skvělé složité heslo, nikomu ho neprozradil a vždy ho zadává bezpečně. A naopak, aplikace může být bez jediné bezpečnostní chyby, mnohokrát auditovaná - ale když uživatel prozradí heslo, útočník se do aplikace dostane.
Jinak když už vás napadlo, že u nešifrovaného protokolu může útočník změnit požadavek, škoda, že vám nedošlo, že nejspíš bude moci změnit i odpověď. Měl byste to mnohem jednodušší, nemusel byste hledat nedostatky webovou aplikací. Místo toho byste učinil kolosální objev, že HTTP protokol nezajišťuje integritu dat, tudíž ho uživatelé nemají používat. A je chyba prohlížečů, že před použitím protokolu HTTP už dávno důrazně nevarují.
Hledám lepší možnosti, ne samozřejmosti. Zatím nejinteresantněji se mně jeví ta chyba v chatbotovi na mpsv.cz. Už aby byl v gov.cz... Při sdílené cachi by z toho mohl XSS plošně. Jsem ale rád, že už vaše poznámky vypadají, jako bychom se začali shodovat v tom, že když má někdo rozházeny hromady nepořádku kolem dokola a shrne je na jednu hromadu, tak si tím moc nepomůže. Nejlépe ukáže až praxe, jak a čím se bude doména gov.cz dál plnit a co se bude dít s tím, co už tam nyní je (jako jsou ty testovací a vývojové sity apod.).