Nejedná se o nic jiného než o klasický Session hijacking. Tedy krádež session id uložený v cookies nebo ve formě URL.
Útočníkovi stačí se jen k tomuto session id nějak dostat. Zde použito odposlouchávání veřejné wifi.
Zabezpečení pomoci SSL je jedno z řešení. Ale není stoprocentní. Zamezuje pouze odposlech. Útok pomoci session hijacking stále existuje. Útočník stále může mít prostředky, jak SID získat - nabouráním do počítače oběti, jiná technika podvržení apod.
Jediné správné řešení je správně nakonfigurovat server a hlavně aplikaci.
Odposlechnutí nijak. Jenže finta je v tom, že při každém požadavku se vygeneruje nové unikátní ID. Případně se připojí nějaký token.
Takže zatímco skutečný uživatel mezitím načte další stránku, při kterém se vygeneruje nové ID, tak útočník pro svůj útok použije původní ID. No a aplikace, která provede kontrolu, zjistí, že ID nesouhlasí, tudíž předpokládá, že došlo ke zneužití sezení, tak provede preventivní odhlášení a dál uživatele, ať už jim je kdokoli, nepustí dál. A to platí i pro opak. Útočníkovi se podaří ID použít a stránku zobrazit. Tím pádem skutečný uživatel provede další načtení s již neplatným ID, tak u něho dojde k preventivnímu odhlášení. A jelikož došlo k odhlášení, zneplatnění sezení, tak i útočník se dále nikam nedostane.
Takže zde není potřeba mít nějaké HTTPS, když případné zneužití řeší aplikace. HTTPS provede pouze to, že zamezí získání ID po cestě odposlechnutím. Ale neřeší problém jako celek - použití útoku, byť jinými prostředky.
Spolehlivě to řeší statistika a vzorce chování, chování útočníka je totiž jiné, než vlastníka účtu, takže z historie prohlížení stránek se dá určit, kdo je útočník. Například útočník je ten, kdo se chce podívat na nacionále majitele účtu. Proč by se někdo díval na to, jak se jmenuje.
> Například útočník je ten, kdo se chce podívat na nacionále majitele účtu. Proč by se někdo díval na to, jak se jmenuje.
Proč by se někdo díval, jaký tam tenkrát vlastně uvedl e-mail. A koho by zajímala nějaká fakturační/dodací adresa, že? Vždyť i to jméno se může během života měnit... Právě jste označil za útočníky nezanedbatelnou část uživatelů a připravil se tak o objednávky.
No já se v každém e-shopu registruju vždy znovu, protože heslo obvykle do dalšího nákupu ztratím, a nebo se mi ho nechce hledat, takže nemám potřebu se tam dívat :-)) Jinak ale proč byste přišel o objednávky, jen takového zákazníka převedete do přísnějšího režimu kontroly identity při předání zboží. Zákazník si ničeho nevšimne.
Ja používam podobnú filozofiu pri odosielaní formulárov. Ak nie je registrovaný užívateľ, použijem navyše captchu, ale u všetkých hidden pole s náhodným kódom (alias captcha), ktoré sa po každom načítaní stránky zmení.
Ak je odoslaný formulár s inou hodnotou v hidden poli, akcia nebude vykonaná.
Zabráni to tomu, aby niekto odosielal dáta z formulára, ktoré nebolo na mojom webe. Zabezpečí sa integrita môjho formulára s mojim webom.
Hidden pole neni "alias captcha". Captcha nebývá hidden. :-)
Hidden pole neni ochrana proti session hijackingu.
Hidden pole je ochrana proti CSRF - Cross Site Request Forgery. Ochrana proti CSRF by na slušném webu samozřejmě měla být taky.
Ale nechrání to proti napadení session cookie.
To, že existuje ještě jiná slabina (možnost, jak se dostat k session cookie), neznamená, že se nemá řešit slabina, o níž se jedná.
Ano, autor některé věci zjednodušil. Však to také neni článek pro úplné experty a cílem nebylo napsat zde vědeckou práci. Ilustrace pro někoho, kdo úvahy o ochraně session cookie považuje za nějaké bláboly teoretiků, protože u nás se přeci ve skutečnosti nikdy nic nestalo ( =nevíme o tom), to je.
No pokud náklady na zabezpečení překračují výši reálné škody, je docela logické, že ochrana je zbytečná. Reagovat je potřeba, až se ten poměr změní. V poušti taky není rozumné vodu vypít předem, aby nedošlo k dehydrataci organizmu, naopak, vodu pijete teprve až ta dehydratace je na hraně devastace. To by nemohly fungovat samoobsluhy, kde oproti pultovému prodeji je část zboží ukradena a počítá se s tím při kalkulaci ceny zboží. Přesto samoobsluhy zcela vytlačily pultový prodej.