Mange nettsteder henter innhold fra én eller flere eksterne kilder. Dette kan være integrert innhold som bilder, videoer eller annonser, eller tilleggsfunksjonalitet som tilbys via eksterne JavaScript-biblioteker. I utgangspunktet har ikke webutviklere noen kontroll over den eksterne koden som er integrert. Den kan når som helst bli endret. Nettstedutviklere må bare stole på at de eksterne skriptene ikke inneholder kode som enten lekker sensitiv informasjon fra nettstedet de brukes av, til ikke-autoriserte parter.
Fleksibiliteten som gjør det mulig å integrere ekstern kode på websider, utgjør samtidig en sikkerhetsrisiko fordi det ikke finnes noen tilstrekkelig mekanisme for å avgrense hva ikke-tiltrodd kode kan gjøre med sensitive data.
Dette er utgangspunktet for et arbeid som har blitt gjort mellom forskere ved en rekke organisasjoner, inkludert Stanford University, Chalmers tekniska högskola, University College London, Mozilla Research og Google.
Forskerne har utviklet et system som kalles for COWL (Confinement with Origin Web Labels), som skal kunne bidra til å redusere risikoen datalekkasjer på nettsteder som inneholder ikke-tiltrodd kode. COWL introduserer en etikett-basert fullmakt- og aksesskontroll («mandatory access control») for ulike kontekster, som faner, sider og iframes. Med systemet kan webutviklere ikke bare begrense hvem dataene blir delt med, men også hvordan dataene blir spredd dersom de deles. Så snart ikke-tiltrodd kode leser sensitive data, vil COWL kunne nekte koden å kommunisere med ikke-autoriserte parter.
– Ved å blokkere byggingen av webapplikasjoner som setter sammen innhold fra flere nettsteder, tvinger Same Origin Policy (SOP) webutviklere til å gjøre designvalg som utsetter brukernes personvern for risiko. Dette er et problem vi har løst med COWN, sier Brad Karp, informatikkprofessor ved University College London, i en pressemelding.
– Det vi har oppnådd med COWL er et system som lar webutviklere bygge funksjonsrike applikasjoner som kombinerer data fra ulike nettsteder, uten å kreve at brukerne deler innloggingsdetaljene sine direkte med tredjeparts webapplikasjoner, og samtidig som at det sikres at brukerens sensitive data som blir sett av en slik applikasjon, ikke forlater nettleseren. Både webutviklere og brukere tjener på dette, sier Deian Stefan, PhD-student ved Stanford og hovedforfatter av forskningsartikkelen.
I eksempelet som er tilgjengelig fra toppmenyen på denne siden, forklares det hvordan COWL kan brukes til å sikre at en ekstern passordsjekker ikke gir lekker passordet, med hensikt eller ikke, til andre nettsteder enn det nettstedet hvor brukeren skriver inn passordet. Det brukes et Web Workers-lignende konsept for å etablere konteksten hvor den ikke-tiltrodde koden kan kjøres.
Bruk av COWL krever et nytt programmeringsgrensesnitt (API) på DOM-nivå (Document Object Model). Ingen nettleserleverandører har så langt kunngjort støtte for dette, men forskerne bak prosjektet har implementert API-et i kode for åpen kildekode-nettleserne Firefox og Chromium. Denne koden og nettlesere som tar denne i bruk, skal gjøres tilgjengelige på COWL-nettstedet den 15. oktober.
Leave a Reply