Udokumentert Windows-kode beskytter Chrome

Google har gått langt for å sikre Chrome-nettleseren i Windows XP. Det forteller Microsoft.

Googles kommende nettleser, Chrome, som nå er tilgjengelig i en betaversjon, tar i bruk visse programmeringsgrensesnitt i Windows XP som Microsoft verken støtter eller har dokumentert. Det skriver Arun Kishan, utvikler i Microsofts Windows Kernel Team, i et debattinnlegg.

Det dreier seg om NtSetInformationProcess i klassen ProcessAccessToken.

Ifølge Kishan er dette grensesnittet reservert for systemkomponenter og kan dermed endres mellom ulike utgivelser av Windows, noe som også har skjedd mellom XP og Vista.

I et blogginnlegg skrevet av Scott Hanselman, en senior program manager i Microsoft, som først og fremst dreier seg om at Chrome også inkluderer et åpen kildekode-basert bibliotek fra Microsoft, Windows Template Library, skriver Hanselmann at Google benytter det udokumenterte grensesnittet for å kunne kjøre Chrome på en sikrere måte på maskiner med bare Windows XP SP2 eller Windows 2003 Server SP1. Det dreier seg om teknikken DEP (Data Execution Prevention), som skal sikre at applikasjoner eller tjenester ikke kan kjøre kode fra en ikke-kjørbar minneregion.

Hanselman synes dette er interessant og mener at Google må ha gjort om deler av maskinkoden til Windows Kernel til assembler for å kunne oppnå dette. Han kritiserer likevel ikke Google for dette. I stedet mener at det går klart fram at Google har gjort dette for å sikre brukere som kjører Chrome på ikke helt oppdaterte Windows-installasjoner.

Hanselman mener at Google på denne måten kan sikre at enkelte plugins til Chrome, laget med verktøy eldre enn Visual C++ 2005, kan fungere også på maskiner med DEP-støtte.

Vista SP1, Windows XP SP3 og Windows 2008 har grensesnitt som sørger å håndtere NX-feil (No Execute) av den aktuelle typen.

Til toppen