Slik skal Internet Explorer 8 bli sikker

Microsoft innfører en rekke nye sikkerhetstiltak i selskapets neste nettleser.

Microsoft kommer i august med den andre betautgaven av Internet Explorer 8. Selskapet har foreløpig ikke gitt ut noen oversikt over hva denne versjonen vil bringe, men har gjennom flere blogginnlegg fortalt om noe av den nye funksjonaliteten, ikke minst på sikkerhetssiden.

    Les også:

Det går klart fram en serie blogginnlegg Microsoft-ansatte har publisert om sikkerhet i IE8 den siste tiden. De tre nyeste ble utgitt denne uken. Samtlige innlegg er listet her.

En del av løsningene er kun basert på forbedringer i selve nettleseren, mens andre krever bruk nye utvidelser av blant annet DOM (Document Object Model), og at webutviklere tar i bruk disse løsningene. Noen av disse utvidelsene skal være inkludert i forslag til nye utgaver av webstandarder, blant annet HTML 5.

Et sikkerhetsproblem Microsoft nå ønsker å gripe fatt i, er angrep av typen «cross-site scripting» (XSS).

Dette handler om at ondsinnede på ulike måter får satt inn skriptkode på websider brukere normalt vil ha tillit til, hvor skriptkoden for eksempel kan brukes til å få tilgang til informasjon en bruker i utgangspunktet ikke er villig til å oppgi til upålitelige nettsteder. Dette kan for eksempel være personnummer, kredittkortnummer og mye annet.

I IE8 beta 2 finnes det en komponent som kalles XSS Filter. Denne skal kunne forhindre XSS-angrep av type 1, det vil si angrep hvor det utnyttes at data som blir sendt av webklienten til en webserver umiddelbart blir brukt til å generere en side basert på disse dataene, uten at dataene kontrolleres. Denne siden blir vist til brukeren og kan da inneholde for eksempel henvisninger til skriptkode som lastes ned fra en server angriperen kontrollerer.

IE8 XSS filter ved skriptkode i URL-en
IE8 XSS filter ved skriptkode i URL-en

Dersom filteret oppdager noe som sannsynligvis er XSS i en spørring på tvers av nettsteder, vil det forsøke å identifisere og nøytralisere angrepet dersom det gjengis i responsen fra serveren. Dette skal kunne skje uten å endre den opprinnelige spørringen til serveren eller å blokkere hele responsen.

Videre ønsker Microsoft å gjøre såkalte mashups hvor data fra flere ulike kilder samles og vises i nettleseren. Ofte gjøres dette ved hjelp av script-elementer. Dette gir tredjeparter full tilgang til DOM og cookies som tilhører tjenesten brukeren besøker.

IE8 beta 2 skal støtte meldinger på tvers av dokumenter, en egenskap som trolig blir innført med HTML 5 og som skal sikre kommunikasjon mellom iframes samtidig som at DOM-isolasjonen opprettholdes. Microsoft introduserer også XDomainRequest-objektet som skal åpne for sikker overføring av «offentlige» data på tvers av domener.

Likevel kan begge metoder motta strenger som inneholder skripts. IE 8 beta 2 tar derfor i bruk en ny metode tilknyttet windows-objektet, toStaticHTML.

Denne sørger for å fjerne potensielt kjørbare skriptkonstruksjoner før strengen returneres. IE 8 implementerer et forslag til ECMAScript 3.1 for integrerte funksjoner for JSON-håndtering (JavaScript Object Notation). JSON brukes blant annet ofte for å sende data mellom komponenter i en mashup.

toStaticHTML-funksjonen kan også brukes for å filtrere vekk skriptkode fra disse dataene, noe som skal gi en ytelsesgevinst i forhold til å bruke eksterne løsninger for å sikre at JSON-objektet ikke inneholder kjørbare skripts.

Enkelte andre løsninger Microsoft innfører i Internet Explorer 8 skyldes derimot problematisk funksjonalitet som finnes der fra før. Selskapet mener man ikke kan fjerne denne funksjonaliteten av kompatibilitetsårsaker med eldre servere.

Det hele dreier seg om håndtering av ulike typer innhold (Content-Type) i filer. Mens de fleste nettlesere tar utgangspunkt i Content-Type-informasjonen som sendes fra webserveren, tar Internet Explorer hensyn til at en del eldre serverer alle filer med innholdstypen text/plain. For å håndtere dette, forsøker IE å finne ut hva slags innhold filen egentlig inneholder, uavhengig av hva som står i Content-Type-informasjonen. Dette kalles MIME-sniffing og lyder i og for seg vel og bra, men er en sikkerhetsrisiko.

Microsoft nevner som eksempel et nettsted hvor brukere kan laste opp og dele bilder. Dersom en person laster opp en spesielt sammensatt bildefil som inneholder skriptkode, vil IE forstå at det egentlig dreier seg om en skriptfil og kjøre denne i konteksten til bildetjenesten. Det er nesten bare fantasien som setter grenser for hva det kan lede til.

Med IE8 innfører Microsoft tre nye ordninger relatert til dette problemet.

Den ene er at filer som leveres med innholdstypene image/* ikke lenger vil kunne tolkes som HTML eller skript. Dette vil trolig gi minimale problemer.

I tillegg vil webutviklere kunne legge til parameteren authoritative=true; til innholdstypen, tilsvarende:

Content-Type: text/plain; authoritative=true;

Dette skrur av hele MIME-sniffingen for den aktuelle filen, noe som vil sikre at brukere av webapplikasjoner ikke vil bli utsatt for denne sikkerhetsrisikoen, selv om de skulle bli utsatt for filer lastet opp av ondsinnede.

Dessuten innføres headeren «X-Download-Options: noopen» som krever at den aktuelle filen først må lagres på brukerens maskin, før den kan åpnes. Når den deretter åpnes av brukeren, vil det være ute av konteksten til den aktuelle webapplikasjonen.

I IE8 skal også støtten for DEP/NX Memory Protection, som kombinert med Address Space Layout Randomization skal gjøre det vanskeligere å utnytte overflytsfeil i minnet, være aktivert som standard. Dette beskytter også mot utnyttelse av overflytsfeil i plugins til IE8.

Microsofts ActiveX-teknologi har av mange blitt ansett som et stort sikkerhetshull i seg selv. Med IE8 lover Microsoft å komme med forbedringer knyttet til ActiveX-sikkerheten, blant annet Per-Site ActiveX, en forsvarsmekanisme som skal hindre ActiveX-kontroller å kjøre på spesifikke nettsteder. Ved slike forsøk vil brukeren bli spurt om kjøring av kontrollen skal tillates på det aktuelle nettstedet.

Problemet er kanskje bare at mange brukere ikke har noen anelse om hva man skal svare og svarer positivt for «sikkerhets skyld». Flere endringer knyttet til håndteringen av ActiveX-sikkerhet er beskrevet her.

Innhold som leveres ved hjelp av protokoller nettlesere ikke støtter direkte, men leder videre til eksterne applikasjoner, kan utnytte sårbarhet i disse applikasjonene. Derfor innfører nå Microsoft et dialogboks i IE8 hvor brukeren bes bekrefte at nettstedet man besøker skal få åpne det tildelte programmet på brukeren maskin.

IE8 skal også inkludere sikkerhetsforbedringer knyttet til opplasting av filer. Blant annet skal nettleseren i de fleste tilfeller ikke lenger åpner for at hele mappestien sendes til webserveren når brukeren laster opp en fil.

I IE8 bygger Microsoft videre på phishingfilteret som ble innført i IE7. Selskapet har nå utviklet noe som kalles SmartScreen Filter. Den viktigste forbedringen er kanskje at filteret nå også skal varsle om nettsteder som er kjente for å distribuere skadevare. Men det loves også et bedre brukergrensesnitt, bedre ytelse og mer «fangst» enn tidligere.

Internet Explorer 8 beta 2 skal altså bli tilgjengelig i løpet av august. Den skal gjøres tilgjengelig på et 20-talls språk, inkludert norsk. Alt tyder på at den vil inkludere en hel del ny funksjonalitet som Microsoft ennå ikke har omtalt.

    Les også:

Til toppen