Word gematcht

Cookie

Technologie

Een klein bestand dat door een website op de harde schijf van een computer van een bezoeker wordt gezet. In een cookie staat informatie over het bezoek aan de website, zoals de naam, datum en tijd. De website bewaart de informatie om die later te kunnen gebruiken voor andere doeleinden zoals analyses en marketing.

Een cookie is een klein tekstbestand dat een webserver plaatst op het apparaat van een bezoeker via de webbrowser. Cookies onthouden informatie over jouw sessie, voorkeuren en gedrag op een website. In cybersecurity zijn cookies zowel een essentieel onderdeel van webapplicatiebeveiliging als een potentieel beveiligingsrisico. Sessiecookies beheren jouw authenticatie, maar als ze worden onderschept of gestolen, kan een aanvaller jouw identiteit overnemen en toegang krijgen tot jouw accounts.

Hoe werkt een cookie?

Wanneer je een website bezoekt, stuurt de server een Set-Cookie header mee in het HTTP-antwoord. Jouw browser slaat dit cookie op en stuurt het bij elk volgend verzoek naar dezelfde website automatisch mee via de Cookie header. Dit mechanisme maakt het mogelijk om stateful interacties te hebben over het inherent stateless HTTP-protocol. Zonder cookies zou je bij elke paginawissel opnieuw moeten inloggen.

Er bestaan verschillende soorten cookies met elk een eigen functie. Sessiecookies zijn tijdelijk en worden verwijderd wanneer je de browser sluit. Ze bevatten doorgaans een sessie-ID die verwijst naar jouw authenticatiegegevens op de server. Persistente cookies blijven bewaard op jouw apparaat tot ze verlopen of handmatig worden verwijderd. Ze worden gebruikt voor het onthouden van inloggegevens, taalinstellingen en andere voorkeuren die je niet elke keer opnieuw wilt instellen.

First-party cookies worden geplaatst door de website die je bezoekt en zijn noodzakelijk voor de basisfunctionaliteit van de meeste webapplicaties. Third-party cookies worden geplaatst door externe domeinen, zoals advertentienetwerken en analyticsdiensten, en worden voornamelijk gebruikt voor het tracken van gebruikersgedrag over meerdere websites heen. Browsers beperken third-party cookies steeds meer vanwege privacyzorgen.

De technische structuur van een cookie bestaat uit een naam-waardepaar en optionele attributen die het gedrag en de beveiliging bepalen. De Domain en Path attributen bepalen naar welke URLs het cookie wordt gestuurd. Het Expires of Max-Age attribuut bepaalt wanneer het cookie verloopt. De beveiligingsattributen Secure, HttpOnly en SameSite zijn cruciaal voor het beschermen van cookies tegen onderschepping en misbruik door aanvallers.

De hoeveelheid data die een cookie kan bevatten is beperkt tot ongeveer 4 kilobyte. Moderne webapplicaties slaan daarom slechts een sessie-identifier op in het cookie en bewaren de bijbehorende gegevens aan de serverzijde. Dit beperkt de impact als een cookie wordt onderschept, omdat het cookie zelf geen gevoelige informatie bevat maar alleen een verwijzing naar de serverdata.

Wanneer zijn cookies een beveiligingsrisico?

Cookies vormen een beveiligingsrisico wanneer ze niet correct zijn geconfigureerd of wanneer ze worden onderschept door aanvallers. Het grootste risico is session hijacking, waarbij een aanvaller een geldig sessiecookie onderschept en gebruikt om zich voor te doen als de legitieme gebruiker. Dit kan gebeuren via man-in-the-middle aanvallen op onversleutelde HTTP-verbindingen, via cross-site scripting (XSS) kwetsbaarheden die cookies uitlezen via JavaScript, of via malware op het apparaat van het slachtoffer.

Session fixation is een verwante aanval waarbij de aanvaller een sessie-ID afdwingt bij het slachtoffer voordat deze inlogt. Na het inloggen kent de aanvaller de sessie-ID en kan hij de sessie overnemen. Dit risico wordt gemitigeerd door na succesvolle authenticatie altijd een nieuw sessiecookie te genereren met een verse, onvoorspelbare sessie-ID.

Cookies die via onversleuteld HTTP-verkeer worden verstuurd, zijn kwetsbaar voor onderschepping door aanvallers die het netwerkverkeer afluisteren. Op openbare wifi-netwerken in cafes, hotels en luchthavens is dit risico bijzonder groot. Zonder het Secure-attribuut wordt een cookie ook over HTTP verstuurd, waardoor een aanvaller op hetzelfde netwerk het cookie kan onderscheppen en de sessie kan overnemen.

Privacy is een groeiend aandachtspunt bij cookies. Third-party cookies bouwen uitgebreide profielen op van gebruikersgedrag over websites heen. Deze profielen bevatten informatie over zoekgedrag, interesses, geografische locatie en online gewoonten. Regelgeving zoals de AVG en de ePrivacy-richtlijn stellen strenge eisen aan het gebruik van cookies voor tracking en vereisen expliciete toestemming van de gebruiker voordat niet-essientiele cookies worden geplaatst.

Cookie replay-aanvallen vormen een bijzonder risico bij webapplicaties die geen aanvullende sessievalidatie implementeren. Bij deze aanval onderschept een aanvaller een geldig sessiecookie en speelt het opnieuw af om toegang te krijgen tot de sessie van het slachtoffer. Beschermingsmaatregelen hiertegen zijn het binden van sessies aan specifieke kenmerken zoals het IP-adres of de user-agent van de browser, het regelmatig roteren van sessie-ID's en het instellen van korte vervaltijden op sessiecookies. Daarnaast kunnen token-binding mechanismen ervoor zorgen dat een cookie alleen geldig is in combinatie met het specifieke TLS-kanaal waarbinnen het is aangemaakt.

Malware zoals infostealers is specifiek ontworpen om cookies en andere gevoelige gegevens uit browsers te extraheren. Deze malware kopieert de volledige cookiedatabase van populaire browsers en stuurt deze naar de aanvaller. Met de gestolen cookies kan de aanvaller actieve sessies overnemen zonder het wachtwoord van het slachtoffer te kennen. Dit maakt endpoint-beveiliging en het gebruik van EDR-oplossingen essentieel voor de bescherming van cookie-gebaseerde sessies.

Voordelen en beperkingen van cookies

Het belangrijkste voordeel van cookies is het mogelijk maken van gebruiksvriendelijke webapplicaties. Zonder cookies zou elke interactie met een website stateless zijn. Je zou bij elke pagina opnieuw moeten inloggen, je winkelmandje zou leeg zijn na elke klik en persoonlijke voorkeuren zouden niet worden onthouden. Sessiecookies zijn essentieel voor het functioneren van elke moderne webapplicatie.

Cookies bieden ook voordelen voor beveiliging wanneer ze correct zijn geconfigureerd. Door het HttpOnly-attribuut in te stellen, voorkom je dat JavaScript-code het cookie kan uitlezen. Dit beschermt tegen de meeste XSS-aanvallen die gericht zijn op het stelen van sessiecookies. Het Secure-attribuut zorgt ervoor dat het cookie alleen over HTTPS-verbindingen wordt verstuurd, wat beschermt tegen onderschepping op het netwerk.

Het SameSite-attribuut biedt bescherming tegen cross site request forgery (CSRF) aanvallen door te voorkomen dat cookies worden meegestuurd bij verzoeken die worden geinitieerd vanaf andere websites. De instelling Strict biedt maximale bescherming, terwijl Lax cookies wel meestuurt bij top-level navigatie maar blokkeert bij embedded verzoeken.

Beperkingen van cookies omvatten de beperkte opslagcapaciteit, de afhankelijkheid van correcte configuratie voor beveiliging, en het risico op privacyschendingen bij misbruik van tracking-cookies. Daarnaast worden cookies steeds meer beperkt door browsers die standaard third-party cookies blokkeren, wat impact heeft op legitieme functionaliteit die afhankelijk was van cross-site cookies. Op de vergelijkingspagina vind je aanbieders die je helpen met het beveiligen van jouw webapplicaties en cookie-configuraties.

Veelgestelde vragen over cookies

Zijn cookies gevaarlijk voor de beveiliging?

Cookies zelf zijn niet gevaarlijk. Onjuiste configuratie of het ontbreken van beveiligingsattributen maakt ze kwetsbaar voor misbruik.

Wat doet het HttpOnly-attribuut?

HttpOnly voorkomt dat JavaScript het cookie kan uitlezen. Dit beschermt tegen diefstal van sessiecookies via XSS-aanvallen.

Moet je cookies accepteren op websites?

Functionele cookies zijn nodig voor de werking van de website. Tracking-cookies kun je weigeren zonder functionaliteitsverlies.

Hoe lang blijft een cookie bewaard?

Sessiecookies verdwijnen bij het sluiten van de browser. Persistente cookies blijven bewaard tot de ingestelde vervaldatum of handmatige verwijdering.

Wat is het verschil tussen first-party en third-party cookies?

First-party cookies komen van de bezochte website zelf. Third-party cookies worden geplaatst door externe domeinen voor tracking.

Wil je de cookiebeveiliging van jouw webapplicaties laten testen? Vergelijk beveiligingsspecialisten op IBgidsNL.