📆 29. 5. 2017 📂 Newsletter

Třetí číslo newsletteru převážně o bezpečnosti, bezpečném vývoji převážně webových aplikací a bezpečnosti uživatelů.

Tady je přehled toho, co mě minulý týden zaujalo.

Pokud chcete newsletter dostávat pravidelně, tak využijte export všech článků nebo jenom newsletterů ve formátu Atom.

TLS, SSL, HTTPS

Stack Overflow, známý web, na kterém můžete položit otázku ohledně programování a při troše štěstí dostanete i odpověď, přešel na šifrované spojení HTTPS. Šéf architekt a vývojář Nick Craver při té příležitosti vydal pěkně dlouhý dokument, ve kterém přechod popisuje. Ve Stack Overflow začali o zavedení HTTPS přemýšlet v roce 2013, samotné „zapnutí“ jim trvalo 2 měsíce. Zajímavě se vypořádali s Mixed Contentem, tedy s obsahem načteným po nezabezpečeném HTTP do stránky načtené pomocí HTTPS. Prohlížeče totiž takový obsah nespustí (pokud se jedná o „aktivní“ mixed content, tedy JavaScript), nebo hlásí varování (pro „pasivní“ obrázky). Do otázek i odpovědí na Stack Overflow lze obrázky vkládat, ale teď už jen když jejich adresa začíná na https://. Primárním důvodem pro přechod prý byla rychlost, kterou HTTPS (a HTTP/2) přineslo. Samotné zabezpečení přenosů dat by prý za tolik práce nestálo. „Prodávejte“ rychlost v podání HTTP/2, ne bezpečnost v podobě HTTPS, o tu nikdo vlastně moc nestojí.

Na šifrovaný protokol HTTPS přešelNárodní úřad pro letectví a kosmonautiku, zkráceně NASA. Americkým vládním agenturám v podobných věcech pomáhá „servisní kancelář“ 18F, která na svém blogu zveřejnila článek o přechodu. NASA má přes 3000 veřejně přístupných webů a služeb, na přechodu makalo přes sto lidí a že to nebylo jednoduché dokazuje i v době psaní článku neplatný certifikát na https://nasa.gov (bez www), který vypršel ‎28. ‎května ‎ve 2 ráno našeho času. Mimochodem, 77 % z celkem 1045 amerických federálních agentur podporuje HTTPS. Ukazuje to dashboard, který provozuje jednotka 18F.

Prohlížeče

Electrolysis („e10s“, e-deset-písmenek-s) je projekt Mozilly, jak z Firefoxu udělat Chrome. A taky Internet Explorer. Tyto prohlížeče totiž vykreslují stránky pomocí více procesů, což přináší větší stabilitu (nepadá celý prohlížeč, ale jen jeden tab) a bezpečnost (jednotlivé procesy si nemohou lézt do zelí), ale Firefox nic takového neměl. Od verze 54 (aktuální je 53) by Electrolysis, tedy Firefox s více procesy mělo používat 80 % uživatelů, kteří splní podmínky žádné rozšíření a prohlížeč bez speciálních nástrojů pro nevidomé apod. „Víceprocesový“ Firefox naštěstí zabírá jen o 10–20 % více paměti než „jednoprocesový“ Firefox, takže časem by Electrolysis měli používat všichni uživatelé a kromě větší stability by to neměli ani postřehnout.

Content Security Policy (CSP) spočívá v tom, že server pomocí HTTP hlavičky Content-Security-Policy řekne prohlížeči, které zdroje (např. JavaScript, obrázky a další) a odkud může do aktuálně zobrazované stránky načítat. Když prohlížeč do stránky bude chtít načíst například nepovolený JavaScript, tak na vývojářem uvedenou adresu může poslat report a vývojář tak může nějak reagovat. Adresa pro zasílání reportů se uvádí v direktivě report-uri. Když se na jedná stránce poruší politika několikrát, tak prohlížeč pošle tolik reportů, kolikrát k porušení došlo, což není moc šetrné. Řeší to nová direktiva report-to, její hodnotou je název skupiny, na níž se mají všechna hlášení posílat dohromady. Podporovány budou obě direktivy report-uri i report-to, alespoň po nějakou přechodnou dobu. „Nová“ hlavička CSP pak může vypadat například takto:

Content-Security-Policy: script-src 'self'; report-to default

Skupina default se definuje pomocí nové HTTP hlavičky Report-To a může být použita i pro další vlastnosti prohlížeče, které umí posílat reporty.

Ve Chrome by se měla objevit implementace Content Security Policy: Embedded Enforcement. Ta rozšiřuje CSP o možnost povolit zdroje i stránce vkládané do iframe. Takové stránky často vývojář nemá pod kontrolou, jedná se například o reklamní systémy nebo různé trackovací skripty, ale i jim by bylo vhodné zdroje omezit. To půjde pomocí nového atributu csp, například takto:

<iframe src="..." csp="default-src povolena.cdn.com; object-src 'none'">

Stránka natažená do ajfrejmu tak bude moci z povolena.cdn.com načítat obrázky, JavaScript, CSS a další (default-src povolena.cdn.com), až na plug-iny (Java, Flash) – ty prohlížeč do stránky ve frejmu nenačte vůbec (object-src 'none'). Stránky se nejdřív musí „domluvit“: prohlížeč obsah atributu csp odešle v hlavičce Sec-Required-CSP a stránka ve frejmu tu hlavičku zpracuje a pokud bude v pořádku, tak server musí odpovědět hlavičkou Allow-CSP-From, jejíž hodnotou bude origin (protokol://do­ména:port) stránky, do které se ajfrejm vkládá, jako jakési vyjádření souhlasu. Když prohlížeči hlavička Allow-CSP-From nedorazí, tak iframe nezobrazí. Existuje ještě druhá, podstatně komplikovanější možnost: iframe pošle prohlížeči hlavičku Content-Security-Policy jako obvykle a prohlížeč porovná, jestli takto nastavená politika je „silnější“ než ta v atributu csp, pokud ano, tak se iframe načte. CSP: Embedded Enforcement pro Chrome je zatím ve vývoji.

Hesla

Správce hesel 1Password (jeho online verze) má novou vlastnost nazvanou Travel Mode. Ta funguje následovně: před cestou do zahraničí se přihlásíte na webu, označíte některá hesla jako bezpečná pro cestování, zapnete Travel Mode a 1Password všechna neoznačená hesla odstraní z vašich zařízení. Jakmile jste bezpečně v cílové destinaci, tak se zase přihlásíte na webu, Travel Mode vypnete a hned zas máte k dispozici všechna hesla. Travel Mode se hodí třeba pro cesty s firemními zařízeními, dá se tak minimalizovat riziko úniku přihlašovacích údajů. Během přestupů na letištích většinou nemusíte mít přístup k důležitým firemní serverům a riziko, že vám někdo na letišti prohledá počítač nebo telefon je poměrně vysoké. Společnost Basecamp má hezkou příručku pro zaměstnance, ve které je cestování s daty věnována celá kapitola. Tedy vlastně cestování bez dat, že.

Pokud vás baví vymýšlet hesla (s vědomím, že taková hesla nejsou nejvíc nejbezpečnější), tak přesně pro vás Per Thorsheim, organizátor konference Passwords, připravil soutěž, ve které máte vymyslet co nejkratší heslo, resp. větu (passphrase). Ta má mít minimálně 4 slova, musí obsahovat všechna písmena ze zvolené abecedy a má dávat smysl. Pangram „Příliš žluťoučký kůň úpěl ďábelské ódy“ by sice smysl dával, ale neobsahuje všechna písmena.

Každou chvíli přijde nějaká jakože převratná technologie, která se hesla snaží zabít. Zatím se to nepovedlo nikomu a ničemu, ale aspoň je sranda. Telefon Samsung Galaxy S8 má dokonce skener duhovky. Ten jde obejít nasměrováním telefonu na obrázek duhovky, který byl vytištěn na tiskárně od stejného výrobce. Trik spočívá v použití kontaktní čočky, která obrázek správně „zakřiví“. Otisky prstů a podobné ověřování bude vždy méně bezpečné než hesla, ale zase je to pohodlnější a tak to někteří lidé budou spíš používat.

Chyby a zranitelnosti

Změnou parametrů owner_id a user_id v rozhraní pro správu reklam na Twitteru šlo tweetovat jako jakýkoliv jiný uživatel. Bylo předtím nutné uživateli tweetnout obrázek, aby se „stal“ jeho majitelem.

Přehrávače VLC, Kodi, Popcorn Time a Stremio obsahovaly chyby při zpracování titulků, jejichž zneužitím mohl útočník na počítači oběti spustit vlastní zákeřný kód. Problémy byly odhaleny ručním procházením zdrojových kódů nebo využitím automatizovaných „zkoušečů všeho možnýho“, jako např. AFL (American Fuzzy Lop), a jen ve VLC byly nahlášeny a opraveny 4 chyby (CVE-2017–8310, CVE-2017–8311, CVE-2017–8312, CVE-2017–8313). Detaily by mohly být známé již tento týden, nálezci budou o chybách přednášet na konferenci SyScan360. Prý existuje přes 25 různých formátů titulků, některé dokonce používají HTML formátování a obrázky, takže na problém je zaděláno.

Víte, co má taky spoustu divných formátů? Správně, obrázky. Na změnu velikosti a vytváření náhledů se často používá knihovna ImageMagick, což je taky povedenej kousek software. Minulý rok v ní bylo nalezeno několik chyb, jedna z nich umožňovala útočníkovi spustit zákeřný kód třeba jen nahráním správného obrázku do služby, která dělá náhled. Tento rok legrace pokračuje. Chris Evans nalezl chybu, která umožňovala číst paměť serverů Yahoo, stačilo si poslat e-mail s 18 bajtovou přílohou. Obrázek v doručeném e-mailu obsahoval kousky cizích fotek. Yahoo zapomnělo aktualizovat ImageMagick a tak šlo zneužít i další, již dva roky opravenou chybu, která dovolovala z paměti získávat textové řetězce. Yahoo problém vyřešilo úplně skvěle: přestali ImageMagick používat úplně.

Nové verze a vlastnosti

WPXF, WordPress Exploit Framework, slouží k testování webů, které používají redakční systém WordPress. WPXF obsahuje zhruba stovku modulů, které umí zneužít známých chybděravých pluginech, ale můžete si dopsat vlastní podle potřeby. Framework je podobně jako nástroj WPScan napsán v jazyce Ruby, ale WPScan jen očmuchává web a zjišťuje použité verze WordPressu i doplňků a výsledky poté porovnává s databází známých chyb.

Akce

20. a 21. června se koná další ročník konference Internet a Technologie, kterou pořádá sdružení CZ.NIC, správce české národní domény, ve spolupráci s Fakultou elektrotechnickou ČVUT. Velká část konference se věnuje bezpečnosti, namátkou vybírám několik zajímavých přednášek: Tomáš Hála z Active24 bude vyprávět o závislostech provozovatelů webů (na certifikačních autoritách), Michal Špaček poradí, jak vytunit HTTPS servery podle hodnocení SSL Labs a já přidám přednášku o hackování účtů a lidí jen podle fotek na Facebooku. Vstupné je 300 Kč, pro studenty 90% sleva.

Legislativa

Za rok začne platit Obecné nařízení o ochraně osobních údajů (GDPR), které nahradí zákon č. 101/2000 Sb., o ochraně osobních údajů. Pro snazší pochopení a orientaci v nařízení vydal Úřad pro ochranu osobních údajů Soubor otázek a odpovědí a Desatero omylů o GDPR. Věděli jste například, že GDPR, podobně jako HTTPS, nezabezpečí váš web?

Obecnému nařízení o ochraně osobních údajů, česky GDPR, se věnuje i Australan Troy Hunt. O GDPR natočil hodinu a čtvrt dlouhé video, které je po registraci dostupné zdarma. Australan a evropské nařízení? Jo, tohle GDPR se totiž netýká jen evropských firem.

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:

Úvod do PHP
(11. 12. 2017 Praha)

Třídy a objekty v PHP
(12. 12. 2017 Praha)

Bezpečnost PHP aplikací
(13. 12. 2017 Praha)

Výkonnost webových aplikací
(14. 12. 2017 Praha)

HTTPS pro vývojáře a správce
(prosinec 2017 Praha)

English