Cookies si možno predstaviť ako malé súbory, ktoré sa uložia na váš počítač alebo mobilné zariadenie v prípade, že tak určí webová stránka, ktorú navštívite. Tieto súbory obsahujú informácie o tom, z ktorej webovej stránky pochádzajú, ako dlho majú byť uložené na vašom zariadení a taktiež uchovávajú nejakú hodnotu, napríklad zvolený jazyk stránky. Moderné webové prehliadače majú cookies implementované vo forme SQLite databázy, pričom jeden záznam v tejto databáze predstavuje jednu cookie.
Čo ak nechcem používať cookies?
V prípade, že nechcete používať cookies, môžete si ich jednoducho vypnúť v nastaveniach vášho obľúbeného webového prehliadača. V takomto prípade vám ale viaceré internetové stránky nepôjdu, pretože podporu cookies vyžadujú. Ak nechcete, aby nejaká stránka ukladala na vašom zariadení cookies, odporúčame ju navštíviť v tzv. „inkognito móde“ vášho prehliadača. Prehliadač v tomto móde síce podporuje cookies, ale hneď ako ho zatvoríte, tak sa všetky vytvorené cookies zmažú.
Cookies z pohľadu IT bezpečnosti
Ako sme už spomínali, vďaka cookies sa môžeme identifikovať voči nejakej webovej stránke. Ak by teda útočník dokázal získať vašu relačnú cookie, jednoducho si ju dokáže importovať do svojho prehliadača, navštívi stránku, pre ktorú je táto cookie určená a tým získa prístup do vášho konta na stránke. Samozrejme platí to iba za predpokladu, že ste na tejto stránke zostali prihlásený. V opačnom prípade útočník musí počkať, kým sa na stránku prihlásite a musí dúfať, že vaša relačná cookie sa po prihlásení nezmenila.
Našťastie cookies, ktoré určujú našu identitu na webových stránkach, sú dostatočne dlhé a majú dostatočnú entropiu. Útočník ich len tak ľahko neuhádne. Taktiež sú chránené webovými princípmi bezpečnosti, akým je napríklad „Same Origin Policy“. Tento princíp hovorí, že stránka A dokáže čítať a nastavovať cookies pre stránku B, iba ak sú tieto stránky na rovnakej doméne, pristupujeme k nim na rovnakom porte a s rovnakým protokolom.
V praxi to znamená, že ak máte na vašej stránke iframe z domény facebook.com (napríklad „like button“), tak tento iframe nedokáže čítať cookies, ktoré boli nastavené vašou stránkou (samozrejme, ak vaša stránka sídli na doméne facebook.com, tak to celkom nie je pravda).
Čo znamenajú príznaky Secure a HttpOnly v cookies?
Napriek tomu, že bezpečnostný model cookies je navrhnutý celkom rozumne, existujú útoky, pomocou ktorých je možné cookies ukradnúť. V prípade útoku MITM (Man in the middle) dokáže útočník odchytávať komunikáciu medzi klientom a serverom, čím dokáže ukradnúť aj cookies. V prípade, že je táto komunikácia šifrovaná pomocou protokolu HTTPS, útočník nevie jednoducho získať hodnotu ukradnutých cookies.
Problémom je, keď server síce podporuje komunikáciu cez HTTPS, ale používateľ použije HTTP protokol. Navštívi teda stránku http://stranka.sk a spolu s požiadavkou na server jeho prehliadač odošle aj cookies, ktoré útočník dokáže odchytiť a získať ich obsah. Príznak Secure pri cookie slúži na to, aby prehliadač spolu s požiadavkou na server poslal aj danú cookie iba v prípade, že komunikácia je šifrovaná pomocou protokolu HTTPS.
Cookies je možné ukradnúť aj pomocou útoku XSS (Cross Site Scripting). Tento útok spočíva v tom, že obeť nevedome vykoná podstrčený JavaScriptový kód. Tento kód môže napríklad poslať útočníkovi získané cookies, keďže z JavaScriptu k nim vieme jednoducho pristupovať. Tento scenár však možno jednoducho vyriešiť tým, že relačným a iným dôležitým cookies nastavíme príznak „HttpOnly“. Tento príznak určuje, že danú cookie je možné čítať iba na strane servera.
Prečo som zrazu odhlásený na všetkých portáloch po tom, čo som si zmazal cookies?
Internetové stránky väčšinou používajú cookies na identifikáciu používateľa. Keď prídete na stránku prvýkrát, vytvorí sa cookie s hodnotou X, ktorá je unikátna práve pre vaše zariadenie (samozrejme v praxi sa používa hodnota s viacerými znakmi, aby ju nebolo možné uhádnuť). Táto cookie sa nazýva relačná. Ak túto stránku navštívite znovu, váš prehliadač odošle relačnú cookie s hodnotou X a server s danou stránkou bude vedieť, že ste to práve vy, pretože iba vaša relačná cookie má hodnotu X.
Často nájdete na stránkach s prihlasovacím formulárom možnosť „zostať prihlásený“. Ak potvrdíte túto možnosť, tak stačí, že sa pri ďalšej návšteve tejto stránky preukážete vašou relačnou cookie a server vás prihlási automaticky bez nutnosti opätovného zadania prihlasovacieho mena a hesla. Ak si ale zmažete cookies pre túto stránku, tak pri najbližšej návšteve sa už váš prehliadač nedokáže preukázať relačnou cookie a tak vás server neprihlási automaticky. Musíte teda znovu zadať vaše prihlasovacie meno a heslo.
Zdroj: