Zpět na seznam článků     Číst komentáře (9)     Verze pro tisk

Zmanipulovatelná Křišťálová Lupa

Autor: Emkei   
21.10.2009

Hlasovali jste letos v anketě Křišťálová Lupa? Ne? A co když ano, aniž byste o tom věděli? Nevěříte? Pokusili jsme se zmanipulovat výsledek nominací této prestižní ankety, abychom dokázali, že podvádět se dá skutečně kdekoliv a vy jste nám k tomu nevědomky pomohli.


Křišťálová LupaPravděpodobně není potřeba blíže představovat nejprestižnější anketu českého Internetu, kterou zcela jistě Křišťálová Lupa je. Když jsem se letos poprvé zúčastnil nominací, překvapil mě hlasovací formulář, který nedisponoval žádným bezpečnostním prvkem. Srdce běžného uživatele pravděpodobně zaplesá, když není obtěžován nepřívětivou captcha ochranou, z pohledu bezpečnosti se ovšem jedná o poměrně zásadní problém, který v konečném důsledku může snižovat důvěryhodnost dosažených hlasů a následně i celkových výsledků.

Útočník totiž může získat hlasy uživatelů bez jejich vědomí, a to s minimálními náklady a takřka nulovou možností kompromitace. Princip je jednoduchý a nevyžaduje žádné zvláštní zkušenosti, stačí např. umístit na internetovou prezentaci jednoduchý kód v iframe, který zajistí přičtení hlasu ve prospěch útočníka, aniž by si to návštěvník oné stránky uvědomil nebo nabyl nějakého podezření.

Tuto možnost jsem se rozhodl potvrdit, nechtěl jsem však nominace nijak ovlivňovat a celou soutěž tak zdiskreditovat, hlasování tudíž neprobíhalo ve prospěch žádného gigantu, nýbrž portálu SOOM.cz, čímž bylo zajištěno, že bude server zcela jistě identifikován jako útočný a ze soutěže vyřazen. Pro vyřazení hovořilo kromě zaměření hned několik faktorů, portál nebyl nikdy v minulosti nominován, přesto letos získal tolik hlasů, co všechny nominované servery dohromady před dvěma lety, poslední článek zveřejněný na titulní straně nese jméno "Internetové soutěže v rukou hackerů" a pan Miklík mojí osobu díky nedávnému působení na Lupě zná. Nikdo tak nemohl tvrdit, že se jednalo o skutečný útok, který měl za cíl se v anketě skutečně prosadit.

Aby získané hlasy vypadaly důvěryhodně, umístil jsem do spodní části titulní strany portálu SOOM.cz skrytý iframe, jehož prostřednictvím bylo automaticky hlasováno, ovšem pouze z unikátních IP adres při první návštěvě serveru, nikdy opakovaně. To s sebou přinášelo hned tři výhody. Nejen, že hlasy přicházely pouze z jedinečných českých IP adres, díky jejich logování jsem měl ale i okamžitý přehled nad počtem odeslaných hlasů a odhalení vloženého iframe bylo v podstatě nemožné, neboť se zobrazil pouze jednou jedinkrát při prvním načtení libovolné stránky na SOOM.cz.

Hlasy přibývaly velmi rychle, něco kolem tisíce denně, a tak jsem po čase omezil hlasování na každou třetí unikátní IP adresu a již po dvou týdnech útočný script ze stránek zcela odstranil. Počet hlasů přesahoval deset tisíc, což muselo být v porovnání s ostatními servery víc než do očí bijící. Ne všechny hlasy však musely být nutně uznány za platné. Pokud stránky SOOMu navštívil někdo, kdo již dříve hlasoval, pak byl odeslaný hlas neplatný, nesmazala-li si daná osoba od té doby patřičné cookie, to jediné totiž bránilo úspěšnému znovuodeslání formuláře.

Po skončení nominací a následném vyhlášení výsledků jsem očekával pasivní postoj ze strany pořadatelů. Předpoklad byl takový, že jednoduše server SOOM.cz ze soutěže vyřadí, a to aniž by mě jakkoli kontaktovali. Takové chování jim pravidla umožňovala, neboť díky utajení konkrétního počtu hlasů vítězných serverů mohli tvrdit, že ani s deseti tisíci hlasy jsme na nominaci nedosáhli. Realita však byla poněkud jiná. Prostřednictvím e-mailu mě kontaktoval pan Miklík a oznámil mi, že byl náš server ze soutěže vyřazen pro podezření z podvodu (přestože konkrétní důkaz nepředložil) a žádal bližší vysvětlení. Situaci jsem mu tedy popsal a v přátelské atmosféře si s ním vyměnil ještě několik e-mailů, v nichž vyjádřil svůj nesouhlas nad podobnými pokusy a názor, že nikdo ze soutěžících by neměl potřebu v anketě podvádět. Pan Miklík samozřejmě reagoval tak, jak musel a věřím, že ve skutečnosti takto naivní postoj nezastává. Anketa Křišťálová Lupa znamená pro Internetové servery tolik, co Oscar pro filmový svět. Je sledována většinou médií, od těch elektronických, přes tištěná, až po televizi. Výhra v takto prestižní anketě za banální útok, který je navíc v podstatě neodhalitelný, rozhodně stojí.

Nikdo samozřejmě netvrdí, že by si např. Seznam.cz umístil do svých stránek iframe a riskoval tak svojí dobrou reputaci, získat rozhodující počet hlasů lze ovšem i pomocí mnohonásobně menšího serveru, což dokázal SOOM.cz. Přestože se jedná v podstatě o neznámý e-zin, podařilo se mu pouze během dvou týdnů získat v nominacích tolik hlasů, co všem serverům před dvěma lety dohromady.

Po krátké době nastal čas ostrého hlasování a já sám byl zvědavý, jak se programátoři s výše popsaným problémem vypořádali. Samotný hlasovací formulář dostál oproti tomu nominačnímu jedné zásadní změny, obsahoval ochranu v podobě captcha obrázku zprostředkovaného službou reCAPTCHA. Přinejmenším první týden však byla na stránkách soutěže pouze na efekt, ať jste totiž do příslušného pole opsali jakýkoliv řetězec, akce skončila hlášením o úspěšném přičtení Vašeho hlasu (možná se přes uvedené oznámení ale hlas nepřičetl a jednalo se pouze o kosmetickou vadu, to už posoudit nemohu). Když jsem podobný kousek zkoušel později, konkrétně týden před ukončením hlasování, libovolný text v captcha poli již serverem akceptován nebyl, na což jsem byl upozorněn chybovým hlášením.

Účelem celého pokusu ani článku není v žádném případě snižovat prestiž ankety Křišťálová Lupa, chtěl jsem pouze poukázat na fakt, že i s minimálními znalostmi a malým serverem lze velmi snadno ovlivnit výsledek celé soutěže, ať už ze strany samotných majitelů portálů nebo jejich přívrženců. Zároveň by bylo možné vyhnat uvedený útok do extrému, stejně, jako tomu bylo u SOOM.cz, a dosáhnout tak diskvalifikace konkurenčního serveru. Počet variací útoku omezuje pouze představivost útočníka, proto by u takto velkých anket mělo být zabezpečení hlasovacích formulářů samozřejmostí, captcha je jen malou daní za pěstované renomé.


Líbil se Vám článek?
Budeme potěšeni, pokud vás zaujme také reklamní nabídka

Social Bookmarking

     





Hodnocení/Hlasovalo: 1.27/103

1  2  3  4  5    
(známkování jako ve škole)