Technologie HTML5 se propagovala jako přirozený a na standardech založený nástupce proprietárních modulů plug-in, jako jsou například přehrávače Adobe Flash Player, pro poskytování bohatých multimediálních služeb na webu. Pokud však jde o bezpečnost, která je jednou z hlavních slabin technologie Flash, ani HTML5 není všelékem.
Ve skutečnosti má HTML5 své vlastní bezpečnostní problémy. Julien Bellanger, výkonný ředitel společnosti Prevoty, která se zabývá monitorováním zabezpečení aplikací, prohlašuje že HTML5 složitost zabezpečení nesnižuje, ale naopak zvyšuje. Upozorňuje, že nad bezpečností HTML5 visel mnoho let otazník a za tu dobu se situace nijak nezlepšila.
Bellanger uvádí následující rizika přinášená technologií HTML5:
- Exploity vykreslování obrazu pozadí (canvas image), které mohou způsobit přetečení zásobníku využitelné hackerem k injektáži kódu do relace.
- Skriptování mezi weby (XSS), při němž mohou narušitelé ukrást informace z relace v prohlížeči.
- SQL injection – záškodnický dotaz se v prohlížeči použije k získání informací z databáze.
- CSRF nebo také XSRF (Cross-Site Request Forgeries) s převzetím tokenu uživatele a jeho následným použitím k vydávání se za dotyčného uživatele na webu.
Použití HTML5 také odhaluje více toho, co je k dispozici v počítači či mobilním zařízení, jako jsou například místní úložiště a poloha zařízení. „Aplikace HTML5 mohou přistupovat k těmto platformám, existuje zde možnost zneužití,“ upozorňuje Dan Cornell, technologický ředitel společnosti Denim Group, která poskytuje poradenství v oblasti kybernetické bezpečnosti.
Nezabezpečené prohlížeče
„Problém spočívá v tom, že prohlížeče jsou ve své podstatě nezabezpečené,“ vysvětluje Kevin Johnson, výkonný ředitel konzultační firmy Secure Ideas. Poznamenává, že HTML5 například neposkytuje žádnou ochranu prostřednictvím tzv. sandboxu, jako může poskytnout Flash v prohlížeči Chrome.
„Dalším problémem je, že do HTML5 přidáváme významnou složitost, aniž přidáváme stejnou úroveň kontroly pro uživatele,“ upozorňuje Johnson. Flash si alespoň mohou uživatelé vypnout. HTML5 ale vypnout nelze.
Stále slibující
Navzdory chmurným vyhlídkám nabízí HTML5 naději pro lepší bezpečnost, pokud tvůrci prohlížečů udělají správnou věc, tvrdí Cornell z Denim Group. „Dodavatelé browserů musejí přemýšlet o svých plánech podpory HTML5 a integrovat zabezpečení do svých implementací již od začátku,“ vysvětluje Cornell.
Podle něj mnoho nových funkcí představených v jazyce HTML5 aplikacím poskytuje přístup k citlivému vybavení, takže je potřebné to odpovídajícím způsobem ošetřit.“
A Johnson dodává, že dodavatelé prohlížečů by měli poskytnout uživatelům možnost vypínat funkce, které nechtějí nebo jim nevěří.
Počet používaných prohlížečů také přináší určitou bezpečnost, protože zranitelnosti přítomné v jednom prohlížeči nemusejí existovat v ostatních browserech, uvádí Cornell. To snižuje riziko univerzálně zneužitelné chyby, jaké existuje v případě technologie Flash.
Vývojáři prohlížečů rovněž pracují na celkovém zlepšení zabezpečení, tvrdí Richard Barnes, vedoucí zabezpečení Firefoxu v Mozille. Konkurence mezi Googlem, Microsoftem, Mozillou a Applem znamená ohrožení jejich pověsti v případě problémů se zabezpečením. Všichni hlavní tvůrci prohlížečů proto mají silné bezpečnostní týmy, poznamenává Barnes.
Existuje také celooborové úsilí s cílem zlepšit zabezpečení pro všechny, zmiňuje Barnes. Například ve vývoji je univerzální metoda šifrování a tvůrci prohlížečů se snaží poskytovat uživatelům více informací a kontroly nad tím, co o nich web ví.
Na cestě je také pomoc standardizačního orgánu. Konsorcium W3C (World Wide Web Consortium), které dohlíželo na vývoj HTML5, má svůj návrh specifikace CSP (Content Security Policy, zásady zabezpečení obsahu).
Wendy Seltzerová z W3C uvádí, že nabízí jazyk zásad pro autory webů k omezení aktivního obsahu na jejich webech a ochranu proti injektáži skriptů. Existuje také snaha o vytvoření specifikace bezpečného obsahu (Secure Content), která by měla zajistit, aby výkonné webové funkce pracovaly jen v zabezpečených a ověřených kontextech.
Bezpečnost však nakonec musejí zajistit zejména aplikace, ať už běží v prohlížeči nebo v operačním systému. Bellanger ze společnosti Prevoty doporučuje, aby vývojáři používali návod vytvořený Microsoftem pro životní cyklus bezpečného vývoje, který je určený k zesílení odolnosti aplikací vůči narušením.
„Vývoj aplikace, tak aby byla co nejbezpečnější, je stále odpovědností samotných vývojářů,“ uzavírá Bellanger.
Tento příspěvek vyšel v Security Worldu 4/2015. Časopis (starší čísla i předplatné těch nadcházejících) si můžete objednat na adrese našeho vydavatelství.