Hlavní navigace

Hlasovací systémy na Internetu

6. 6. 2000
Doba čtení: 6 minut

Sdílet

Hlasovací systémy na Internetu vídáme na každém kroku a přestože jde většinou o nevinné ankety, jejich autoři se obvykle snaží do nich zabudovat určitou míru ochrany před zmanipulováním v podobě vícenásobného hlasování. Různé možnosti a postupy prolamování i kontroly proti němu podrobně popisuje Jiří Lahvička.

Co se stane, když narazí všeprobíjející střela na neprůstřelný pancíř? Logik odpoví, že otázka nemá smysl, protože zadání obsahuje dvě navzájem neslučitelné části. Na Internetu zní tato klasická otázka trošku jinak – co se stane, když narazí všeho schopný podvodník s dobrými znalostmi Internetu na neprůstřelný hlasovací systém (ať už je řeč o anketách na iDnes, hodnocení stránek ve Zlaté zmiji nebo veřejném hlasování pro soutěžící Miss Internet)? Na tuto otázku se bude snažit odpovědět následující článek, který je psán jak z pohledu těch, kdo hlasovací systémy vytvářejí, tak z pohledu těch, kdo se je více či méně úspěšně snaží nabourat.

Základním problémem při tvorbě každého hlasovacího systému je anonymita Internetu – je velmi obtížné od sebe rozlišit jeho jednotlivé uživatele. Přesto má autor hlasovacího systému o hlasujícím k dispozici řadu údajů, které ho více či méně jednoznačně identifikují. K těmto údajům patří především cookies, IP adresa, obsah HTTP hlavičky user-agent a u některých systémů i e-mailová adresa.

Cookies jsou jednoznačně nejspolehlivější nástroj identifikace – v okamžiku, kdy si hlasující stáhne ze serveru první stránku např. s hlasovacím formulářem nebo anketou, server současně s touto stránkou odešle uživateli cookie – kousek informace (např. dlouhé náhodné číslo), které prohlížeč odesílá spolu s jakýmkoliv dalším požadavkem stejnému serveru a které hlasujícího celkem jednoznačně identifikuje (malé problémy mohou být pouze s anonymními uživateli v internetových kavárnách, kde má více návštěvníků stejné cookies apod.). Velkou nevýhodou cookies je však to, že cca 10% uživatelů je má vypnuté (a mezi těmi, kdo se snaží podvádět, je tento podíl výrazně vyšší :-), takže identifikace selhává. Částečným řešením je povolit hlasování pouze těm, kdo mají cookies zapnuté (současně s hlasovacím formulářem se odešle kontrolní cookie a kontroluje se, zda je odeslána současně s požadavkem na skript, který hlasovací formulář zpracovává). Toto zabezpečení se dá obejít tak, že se cookies v prohlížeči nevypínají, ale po každém hlasování smažou (cookies jsou fyzicky uloženy na disku jako textový soubor) a restartuje se prohlížeč.

Další možností, jak identifikovat uživatele, je jeho IP adresa. Problém je ovšem v tom, že na jednu stranu může mít velké množství uživatelů přistupujících přes proxy server společnou IP adresu, na druhou stranu uživatelé připojení z domova dostanou při každém připojení dynamicky přidělenou IP adresu novou. Přes jednoduchost obejití cookies a nejednoznačnost IP adresy je většina hlasovacích systémů v českém Internetu založena právě na těchto dvou kritériích – typický algoritmus vypadá tak, že nepovolí vícenásobné hlasování uživateli se stejným cookie a nepovolí více hlasů z jedné IP adresy v daném časovém intervalu (řekněme 15–60 minut). Jinak řečeno, většinu hlasovacích systémů (včetně např. Zlaté zmije) může i relativní laik nabourat systematickým mazáním cookies a buď vždy čekáním, až uplyne časový interval, ve kterém není povoleno více hlasů z jedné IP adresy, nebo změnou IP adresy v případě připojení z domova.

Dalším rozlišujícím znakem může být obsah HTTP hlavičky user-agent, která udává verzi použitého operačního systému a prohlížeče (např. Mozilla/3.01 (Win16; I)). Spolu s upraveným doménovým jménem (viz předcházející odstavec) už může sloužit k relativně přesné identifikaci. Těžko lze předpokládat, že si někdo bude instalovat velké množství navzájem různých prohlížečů, falšování této hlavičky přitom vyžaduje znalosti, kterými rozhodně nedisponuje běžný uživatel Internetu.

K větší bezpečnosti systému (i když k zdlouhavějšímu hlasování) přispěje i hlasování prostřednictvím e-mailové adresy (příkladem je hlasování v Miss Internet). Funguje zpravidla tak, že hlasující zadá svůj e-mail, na ten mu přijde potvrzující kód, který je poté potřeba zadat do nějakého dalšího formuláře – teprve poté je hlasování potvrzeno. Samozřejmě není možné hlasovat vícekrát z jednoho e-mailu. Obejít toto zabezpečení lze samozřejmě jednoduše – stačí si zakládat nové a nové schránky na některém z mnoha českých a zahraničních freemailů (je to lepší, než když si správce serveru vytvoří řadu schránek pod svou doménou, neboť tato druhá možnost, ač časově méně náročná, neposkytuje zdaleka takovou anonymitu). Část e-mailu za zavináčem se nicméně dá využít tvůrci hlasovacího systému jako další z řady indicií, které hlasujícího identifikují – většina podvodníků povede útok proti systému z maximálně několika freemailů.

Jak by tedy mohl vypadat algoritmus, který by na základě předchozích údajů dokázal s vysokou pravděpodobností určit, zda hlas je podvod či nikoli? Za prvé je dobré používat potvrzení prostřednictvím e-mailu, které podvodníkům značně ztíží práci. O každém hlasu se ukládá cookie hlasujícího, IP adresa, HTTP hlavička user-agent, e-mail, ze kterého hlas přišel a čas hlasování. Vyloučeny jsou pochopitelně hlasy se stejným cookie nebo e-mailem. Nyní je potřeba spočítat, jaké je zastoupení IP adresy, ze které přišel právě zpracovávaný hlas, mezi hlasy pro danou variantu (soutěžící, hodnocenou webovou stránku, anketní odpověď atd.) a mezi hlasy pro všechny ostatní varianty. Čím vyšší je zastoupení dané IP adresy (lze použít i upravené doménové jméno – viz výše) u dané varianty vůči zastoupení u ostatních variant, tím je hlas podezřelejší (předpokládá se, že podvodník bude mít zájem zvýhodnit svým hlasováním jednu variantu vůči ostatním). Podobně lze podezřelost určit i na základě hlavičky user-agent a na základě části e-mailu za zavináčem. Porovnáváme-li právě zpracovávaný hlas se všemi předchozími hlasy pro danou variantu, vždy spočteme celkovou podezřelost tak, že sečteme dříve vypočtené relevantní podezřelosti (tj. shoduje-li se u porovnávaných hlasů IP adresa, přičteme podezřelost na základě IP adresy atd.) a na základě této celkové podezřelosti stanovíme časový rozdíl, který musí mezi hlasy být, aby byl hlas přijat. Hlas je přijat tehdy, když dopadne příznivě porovnávání se všemi předchozími hlasy. Nejsložitější je stanovení vzorce pro časový rozdíl – velmi záleží na tom, kolik je variant, pro které se dá hlasovat, kolik je celkem hlasujících atd.

Spolehlivost zde popsaného systému je podle mých zkušeností (analogický, i když ne zcela totožný, je použit pro Miss Internet) velmi vysoká, samozřejmě ne stoprocentní; pokud má být jakýkoliv větší podvod maximálně ztížen, je dobré algoritmus používat pouze pro vytipování sporných hlasů, které pak projdou manuální kontrolou. Na úvaze tvůrce je pak tvrdost systému, která je ovlivněna způsobem stanovení už akceptovatelného časového rozdílu mezi hlasy.

cif 24 - early cena - média

Podle posledních několika odstavců by to mohlo vypadat, že podvodníci proti dostatečně propracovanému systému nemají šanci, bohužel (nebo bohudík – záleží na úhlu pohledu) opak je pravdou. Proti člověku, který bude obcházet jednotlivé internetové kavárny a své známé připojené díky různým nabídkám Internetu zdarma a hlasovat prostřednictvím e-mailové schránky zřízemé pokaždé na jiném freemailu, nemá sebelepší hlasovací systém šanci. Podvodům nejde nikdy zcela zamezit, je však možné je udělat natolik nákladné (časově, finančně, znalostně), že se nikomu nevyplatí. Odpověď na otázku z úvodu – co se stane, když narazí všeho schopný podvodník s dobrými znalostmi internetu na neprůstřelný hlasovací systém – zní tedy takto: dotyčný podvodník poté, co zjistí, že na oklamání systému by musel vynaložit energii větší než malou, přičemž přínosy z uskutečněného podvodu jsou menší než velké, usoudí, že dokáže svůj volný čas trávit produktivněji a bude se bavit jinak – aspoň v to jako člověk stojící o něco častěji na straně barikády tvůrců takových systémů upřímně doufám :-).

Jiří Lahvička

Byl pro vás článek přínosný?

Autor článku

Autor se věnuje on-line marketingu českého portálu. Atlas a svému soukromému projektu - portálu pro dívky 17.cz.
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).