Tåler dine applikasjoner oppdateringen til Chrome 80? Eller vil de brekke?

Kom i gang med testingen raskt! Den opprinnelige datoen for oppdatering til Chrome 80 skulle skje den 3 februar 2020. Google har utsatt oppgraderingen til den 17. februar 2020, sannsynligvis fordi dette er en endring som potensielt kan brekke mange webapplikasjoner som benytter seg av tredjeparts- cookies og som ikke har satt SameSite cookie på riktig måte på forhånd.
Google Chrome versjon 80 kommer automatisk til å behandle cookies til SameSite=Lax; dersom SameSite-attributt ikke er satt på forhånd av serveren nettsiden kjører på.
Hvorfor er dette et problem?
Tredjeparts-informasjonskapsler (3rd party cookies) kan gjøre mennesker sårbare for ondsinnet sporing, datalekkasje og kan også gjøre dem mottagelige for det som kalles «cross-site request forgery (CSRF)» på andre steder. En bruker kan klikke på en kobling i en e-post som gir en hacker/svindler muligheten til, f.eks. å logge seg inn på brukerens banknettsted.
Hva har dette å si for deg?
Mange applikasjoner benytter seg av tredjeparts-informasjonskapsler. For at applikasjoner ikke skal brekke er det viktig å teste ut hvordan «SameSite=Lax» fungerer på applikasjonene, både egenutviklede og tredjeparts.
Løsninger som bør testes kan være:
-
Innloggingsløsninger som bruker SAML (SameSite=Lax stopper POST)
-
Egenutviklede applikasjoner og påse at de har riktig SameSite direktiv
-
Iframes innebygget i applikasjonen som er logget inn i et annet domene
-
Om du har et API som benytter cookies bør du teste at andre sider som bruker dataene dine kan laste disse dataene
Det er vanskelig å skaffe seg oversikt over alle steder dette får innvirkning. Det er derfor viktig å komme i gang med testing for å sjekke omfanget.
SameSite-attributtet
Det finnes tre mulige verdier for dette attributtet:
-
SameSite=Lax; Fra februar vil informasjonskapsler standardiseres som "SameSite=Lax" hvis ikke nettstedet har spesifisert manuelt, noe som betyr at cookies bare settes når domenet i nettadressen til nettleseren samsvarer med domenet til cookien - en «1st-party cookie»
-
SameSite=None; Secure; har vært standard fram til nå. Det som er nytt er at enhver cookie med etiketten "SameSite=None" må nå også ha et "secure"-flagg, noe som betyr at den bare vil bli opprettet og sendt gjennom forespørsler laget via HTTPS.
-
Direktivet "SameSite=Strict" hindrer cross-site deling helt, selv mellom forskjellige domener som eies av samme utgiver. Dersom du skal bruke denne er det viktig å virkelig vite at du trenger denne funksjonaliteten.
Hva må utgivere gjøre for å gjøre seg klar til 17 februar?
Start med å teste om nettstedene blir påvirket av dette ved å gå til «chrome://flags» i chrome nettleseren og aktivere #same-site-by-default-cookies og #cookies-without-same-site-must-be-safe for å se om noe brekker.
For å teste ut i Firefox, åpner du «about: config» og sett «network.cookie.sameSite.laxByDefault» til «true». Sett også «network.cookie.sameSite.noneRequiresSecure» til «true».
Et alternativ er å sette SameSite-attributtet manuelt, enten til Lax eller til Strict. Man bør også migrere til HTTPS dersom dette ikke allerede er gjort.
Vær oppmerksom på at dersom du sjekker versjonen du har i Chrome så starter den å oppdatere seg til versjon 80. Dersom du etter dette restarter nettleseren kjører du versjon 80.
Sjekk samtidig at HSTS sikkerhets-headeren er satt slik at en bruker bare møter en eventuell 302-redirect fra HTTP til HTTPS bare en gang på f.eks to år (sett max-age til f.eks 63072000). Dette gjør at det er vesentlig mindre sannsynlighet for «mannen i midten»-angrep.
Se etter varsler i utviklerverktøyene for å sjekke om leverandører, inkludert annonsetekniske og analytiske leverandører setter, eller får tilgang til, 3rd party cookies på nettstedene sine uten riktig merking.
Merk: Chrome vil gjøre et unntak for cookies som er satt uten SameSite-attributt for mindre enn 2 minutter siden. Slike cookies vil også bli sendt med ikke-idempotente (for eksempel POST) toppnivåforespørsler på toppnivå til tross for normale SameSite = Lax-cookies som krever toppnivåforespørsler for å ha en sikker (f.eks. GET) HTTP-metode.
NB: Støtte for dette inngrepet ("Lax + POST") vil bli fjernet i fremtiden!
Mozillas Firefox og Microsofts Edge sier at de også vil ta i bruk «SameSite=Lax»-standard.
Chromium sine egne tips for testing finnes her: https://www.chromium.org/updates/same-site/test-debug.
Referanser:
Forfatter: Asbjørn Reglund Thorsen, CISO, Unit.