8. května 2017

Začal jsem sbírat odkazy a témata na newsletter. Tady je jeho nulté číslo.

Před týdnem mě napadlo začít psát newsletter. Začal jsem si poznamenávat odkazy a čekal co z toho vyleze s tím, že zbytek vymyslím potom, však to znáte. Zatím tedy nevím, jestli to vydávat měsíčně nebo každý týden, ale podle odpovědí na dotaz na Twitteru to vypadá spíš na každý týden. Do týdenních zpráv se dají zařadit i celkem aktuální věci, třeba pozvánky na nějaké konference, na druhou stranu, pokud byste se o nějakém problému dozvěděli za měsíc, tak už může být třeba pozdě. Z týdenních se ale dá vždy zkompletovat archív po měsících, takže možná přijde i kouzelník. A když už tu bude, tak by mi mohl pomoci s RSS i posíláním e-mailem, chci rozhodně nabídnout obojí.

Takže tady je nulté číslo newsletteru o tom, co mě zajímá. Převážně o bezpečnosti, bezpečném vývoji nejen webových aplikací a bezpečnosti uživatelů. Pracovně tomu říkám čtu Twitter, aby vy už jste nemuseli.

Dejte mi prosím vědět, jestli byste to četli a jestli je týdenní frekvence snesitelná. Jo, tenhle týden se toho urodilo dost, uvidíme kolik toho bude v dalším nultém číslu.

Tak jdem na to, zprávy z týdne začínajícího Svátkem práce právě začínají…

TLS, SSL, HTTPS

Mozilla zveřejnila svůj návrh na řešení situace s certifikační autoritou Symantec. Ta ztrácí důvěru výrobců prohlížečů, během minulých let se jí totiž podařilo vydat minimálně 30 tisíc falešných certifikátů. Dokument má 10 stran, ve zkratce: Mozilla navrhuje, aby CA provozoval někdo jiný, pokud Symantec nebude souhlasit, tak chce snížit maximální platnost nových i existujících certifikátů na 13 měsíců. Ale nevidí důvod k zobrazování EV certifikátů jakožto „normálních“ certifikátů. Jen pro úplnost, návrh Googlu z března je o něco tvrdší.

LinkedIn shrnul zrychlování načítání webu pomocí kompresního algoritmu Brotli, ten je dostupný pouze pro HTTPS.

Zero Round Trip Time Resumption (0-RTT)TLS 1.3 zrychluje načítání stránek skoro na úroveň nešifrovaného webu, ale umožňuje provádět „Replay Attack“. Existuje workaround, viz Security review of TLS 1.3 0-RTT, kde se také píše, že TLS1.3 0-RTT is insecure by default. Cloudflare experimentálně povolil TLS 1.3 0-RTT v březnu, ale kvůli tomuto jen pro GET požadavky bez parametrů v URL.

TLS 1.3 se objeví v OpenSSL ve verzi 1.1.1, v Using TLS1.3 With OpenSSL se dozvíte další detaily o implementaci.

Lupa.cz konečně přešla na HTTPS. Ještě by mohli vypnout podporu již ne zcela bezpečné šifry RC4. Aktualizace 10.5.: už ji vypli.

Prohlížeče

Chrome bude od verze 62 zobrazovat HTTP weby jako Not Secure, pokud si je načtete v Incognito režimu nebo pokud do stránky na HTTP začnete vyplňovat nějaké údaje. Verze 62 by měla vyjít v říjnu 2017.

Chrome Canary je od verze 60.0.3088 zpátky zkratka pro zobrazení informací o certifikátu, navíc s šikovným tooltipem, který rovnou prozradí certifikační autoritu. Snad to bude brzy i ve stable verzi, do té doby najdete informace v Developer tools v záložce „Security“.

Pokud používáte 32-bitový Chrome a máte 64-bitový operační systém a víc jak 4 GB operační paměti, tak se vám při automatické aktualizaci prohlížeče nainstaluje 64-bitová verze.

Chrome je od verze 59 možnost blokovat požadavkyDeveloper tools. To se hodí třeba pro testování webu v prohlížečích s blokováním reklam apod.

Hotmail má na doméně https://hotmail.com špatný certifikát. Chrome takovou situaci vyřeší automagickým přidáním www, ale zkuste si https://hotmail.com načíst ve Firefoxu. Více o podobné funkčnosti se dozvíte od Erica Lawrence v jeho blog postu o magii, v části „End-User Magic“.

Web Crypto API dovoluje JavaScriptu používat kryptografické operace, jeho podporu v prohlížečích zmapoval Ryan Hurst.

Aktualizace 9.5.: v Chrome 59 se TeletexString bude brát jako Latin-1 a certifikáty budou dále fungovat i na macOS. Pokud máte v serverovém nebo klientském certifikátu diakritiku (obecně jakékoliv „ne-ASCII“ znaky) v políčku TeletexString, tak vám Chrome 59 na macOS přestane fungovat a místo toho uvidíte chybu ERR_SSL_SERVER_CERT_BAD_FORMAT nebo ERR_BAD_SSL_CLIENT_AUTH_CERT. Jestli takový certifikát máte zjistíte např. pomocí tohoto ASN.1 dekodéru, hledejte řetězec TeletexString.

Hardware

Cactus WHID, Wi-Fi HID Injector, „fleška“, co vypadá jako „fleška“, ale není to „fleška“. Umí například simulovat klávesnici, má Wi-Fi a vypadá to na dobrou legraci. Mám trochu jednodušší Rubber Ducky, programovatelnou „klávesnici ve flešce“, takže až mě někde potkáte, tak vám to rád ukážu, hehe.

Chyby a zranitelnosti

Ve WordPressu 4.6 jde díky chybě v PHPMaileru vzdáleně spustit kód. Chyba už byla opravena v lednu tohoto roku, takže pokud pravidelně a automaticky aktualizujete, tak se vás netýká.

Všechny verze WordPressu (včetně aktuální 4.7.4) obsahují poměrně těžko zneužitelnou chybu, díky které by šlo získat odkaz na reset hesla. Spočívá ve změně hlavičky Host, jejíž hodnota se promítne do $_SERVER['SERVER_NAME'] a pak i do e-mailové hlavičky From. Mohlo by se stát, že po odmítnutí zprávy cílovým poštovním serverem bude e-mail s odkazem na nastavení nového hesla zaslán zpět na adresu uvedenou ve From, což je hodnota dodaná útočníkem.

Webový interface, který je součástí procesorů od Intelu, resp. Intel AMT má od roku 2011 boží chybu. Pro přihlášení používá metodu HTTP Digest a pro přihlášení uživatele admin stačí poslat prázdný digest. Připomnělo mi to PayPal, kdy k obejití 2FA stačilo z formuláře odebrat políčka pro zadání odpovědí na bezpečnostní otázky. Výrobci hardware již plánují opravy, do té doby AMT vypněte, pokud ho používáte.

Nové verze a vlastnosti

Nová verze knihovny pro hashování hesel v PHP phpass 0.5 podporuje PHP 7. Pokud ji doposud nepoužíváte, tak ani nezačínejte, nativní PHP funkce password_hash() a password_verify() jsou vhodnější. Tyto funkce jsou dostupné až od PHP 5.5, ale některé projekty musí podporovat i starší verze PHP. Pro ně je tato knihovna, používá ji například i WordPress, ačkoliv ne úplně nejlépe.

Šifrovaný komunikátor Signal umožnil posílání jakýchkoliv souborů.

V další velké verzi Androidu (Android O) poběží WebView v sandboxu.

Úniky dat

Troy Hunt nahrál do Have I been pwned? data ze seznamů nazvaných antipublic a Exploit.in. Oba seznamy už vznikly před nějakou dobou a obsahují data z různých služeb i předchozích úniků. Pokud se v nich najdete a chtěli byste znát i heslo, které je v seznamech uvedeno, tak si budete ta data muset stáhnout a podívat se. Hesla jsou v nich uvedená v čitelné podobě.

Útoky

Němečtí mizerové využívají chyby protokolu SS7 k získávání kódů ze SMS a následnému luxování bankovních účtů. SMS pro účely 2FA je nevhodná, o dalších důvodech jsem psal v článku Kam zmizel druhý faktor ze SMS zpráv. Jen tak mezi námi, SMS je nevhodná skoro na všechno, pro posílání zpráv použijte raději třeba výše zmíněný Signal.

Objevil se OAuth phishing, tedy zákeřná aplikace, která požaduje přístup k vašemu Google účtu, ale nechce přímo heslo. Tato se jmenovala „Google Docs“ a chtěla přístup k e-mailu a ke kontaktům. Aplikace, kterým jste dali přístup si zkontrolujte a pročistěte, odkaz na seznam povolených aplikací pro Google, Facebook a Twitter.

Soukromí

234 aplikací pro Android neustále poslouchá a čeká na ultrazvukový signál, aby mohlo uživatele za nějakým účelem sledovat.

Sbohem a šáteček

OpenSSH bude umět už jen SSHv2, podpora zastaralého protokolu SSHv1 byla odstraněna. Mohlo by se to dotknout některých starších síťových zařízení.

Mikroframework Silex 1.3 už není dále vyvíjen, přejděte na verzi 2.

Aktualizace článku

11. května 2017 Nová adresa návrhu Mozilly na řešení situace s CA Symantec

10. května 2017 Lupa.cz již vypla podporu šifry RC4

9. května 2017 V Chrome 59 se pole TeletexString v certifikátech bude brát jako Latin-1

Michal Špaček

Michal Špaček

Vyvíjím webové aplikace, zajímá mě jejich bezpečnost. Nebojím se o tom mluvit veřejně, hledám hranice tak, že je posouvám. Chci naučit webové vývojáře stavět bezpečnější a výkonnější weby a aplikace.

Veřejná školení

Zvu vás na následující školení, která pořádám a vedu: