Bezpečnostní nedostatky na webech

15.03.2002 18:06 | blackhole

Týmu serveru Krypta.cz se podařilo objevit chyby bezpečnostního rázu v redakčních systémech, které používají některé prestižní české zpravodajské weby. Nalezené slabiny jsou přitom v principu popsány už několik let. Zatímco v redakčních systémech je možným výsledkem zneužití například \"jednom\" absolutní ztráta anonymity čtenářů, kteří přispívají do diskusí, hrůzu by měly budit tisíce drobných internetových obchodů, kde jde o skutečné peníze.

Především byl objeven nedostatek, který spočívá v možnosti vložení \"inteligentního\" kódu do cizí stránky (cross-site scripting). Internetové prohlížeče, jako například Internet Explorer, používají přitom k zabezpečení koncepci \"stejné adresy serveru\". Stránky z jedné adresy mají stejná bezpečnostní oprávnění. Vložením kódu do jedné stránky dojde k \"ukořistění\" celé používané domény, a k přečtení cookies. Poté je možné získané informace odeslat na útočníkův server, popřípadě, je-li k tomu důvod, se dá obsah takto uložených proměnných i přepsat. Pro vkládání \"útočného\" kódu se nejčastěji využívá modifikace některého parametru skriptu, který stránku generuje.

Hlavním nalezeným problémem, vedoucím k ohrožení uživatelů, je ale ukládání rozličných informací do cookies. V případě, že čtenář využije diskusních fór pod články, si servery často pro zvýšení pohodlí čtenáře ukládají jména, e-mailovou adresu, webovou adresu a další údaje. Bohužel ani jeden testovaný redakční systém nenabízí uživateli možnost údaje neukládat. Některé servery místo nich ukládají jen unikátní identifikační řetězec, nicméně stejného výsledku lze pak dosáhnout použitím DHTML. Všechny zmíněné údaje pak může přečíst kdokoli. Čtenář, který alespoň jedou okomentoval nějaký článek, se tak pohybuje po internetu s jednoznačnou visačkou, obsahující většinou jméno.

Pro ilustraci je snad vhodnější příklad - čtenář využije možnosti, přispět do diskuse pod článkem na serveru, řekněme, nebezpecnezpravy.cz. Svůj příspěvek podepíše svým jménem, například \"Jan Novák, novak@email.cz\". Od toho okamžiku má majitel každé webové stránky, kterou pan Novák navštíví, možnost získat jeho a e-mailovou adresu. Pan Novák může navštěvovat nějakou stránku s nelegálním obsahem, například detskeporno.com, v domnění, že je anonymní. To ale není pravda - majitel pornografické stránky může snadným způsobem zjistit, že \"anonymní návštěvník\" je právě pan Novák, který psal na nebezpecnezpravy.cz, a mohl by jej například vydírat. Pan Novák je ale ohrožen, i pokud žádné \"problematické\" stránky
nenavštěvuje - když má každý možnost zjistit jeho e-mailovou adresu, může ve schránce očekávat záplavu nevyžádané reklamní pošty.

Samo ukládání osobních údajů u uživatele je věc přinejmenším sporná, neboť špatně ošetřené zacházení s cookies je jednou z častých bezpečnostních chyb internetových prohlížečů. Vlastnosti uložených cookies jsou v systémech zvoleny velmi nevhodně, jejich kupříkladu doména je mimo serveru Root.cz vždy nastavena zcela zbytečně na celý server. Nejhůře jsou na tom servery něco.idnes.cz. Jednak sdílí personifikační údaje vždy mezi sebou, jednak mají nastavenou dobu platnosti na 20 let, takže jednou \"označkovaný\" vystavuje své osobní údaje natrvalo.

Testované servery navíc, jak se zdá, zatím ignorují internetový standard na ochranu soukromí P3P, který by měl případné zneužívání těchto technik omezit. Jak již bylo řečeno, nastavení úrovně ochrany identifikačních údajů v prohlížeči na hodnotu \"Vyšší\" je zatím jediná možnost, jak tato data ochránit (díky absenci P3P pravidel budou ignorována).

Příkladem budiž server Interval.cz, který si údaje o čtenářích ukládá také, ovšem na rozumnou dobu jednoho měsíce. Přitom také nebyla zjištěna chyba WWW aplikace, která by mohla být zneužita.

Do dnešního dne byla popisovaná chyba objevena na následujících webech

www.root.cz
www.lupa.cz
www.idnes.cz (jakákoliv subdoména, včetně býv. www.fincentrum.cz, chyba
naopak nebyla zjištěna u serverů www.mobil.cz a www.technet.cz)
www.zive.cz , www.zive.sk
www.mobilmania.cz

Provozovatelům webů byl dán dostatečný čas na opravu a například root.cz velmi rychle a profesionálně chybu opravil.

Za tým serveru Krypta.cz
Michal Till < Michal.Till@krypta.cz >, šéfredaktor Krypta.czMichal Till