Af chefkonsulent Preben Andersen, UNI?C, leder af DK?Cert.
Service Pack 2 til Windows XP understøtter en teknologi, der kan formindske antallet af bufferoverløb. Dermed kan det blive sværere at programmere orme og andre angrebsprogrammer, der udnytter bufferoverløb.
Teknologien skal imidlertid også understøttes af den processor, som styresystemet kører på. Microsoft kalder teknologien Data Execution Prevention (DEP).
To typer informationer
Computerens arbejdslager kan indeholde to typer information: Data og instruktioner. Instruktioner skal afvikles, det skal data ikke. For eksempel består et tekstbehandlingsprogram af instruktioner, mens den tekst, man skriver i programmet, er data.
DEP forhindrer, at informationer, der optræder i et dataområde, kan blive afviklet, som om de er instruktioner.
Bufferoverløb opstår, når en programmør ikke har afsat plads nok til data, som hans program modtager. Derfor flyder data over og lander på uforudsete steder i arbejdslageret.
Hvis en angriber gør sig umage, kan han udforme de data, der flyder over, så de kan blive afviklet som instruktioner.
Det er denne form for sårbarhed, som DEP forhindrer. Hvis et program forsøger at afvikle instruktioner, der ligger i en del af arbejdslageret, som er reserveret til data, opstår der en fejl. Instruktionerne får ikke lov til at blive udført.
Kræver ny processor
Men DEP kan kun fungere optimalt, hvis processoren understøtter muligheden for at markere områderne i arbejdslageret som enten instruktioner eller data. Det kan AMD's Opteron og Athlon 64 og Intels Itanium.
De Pentium- og Celeron-chips, der kommer fra Intel i efteråret, vil også understøtte teknologien. AMD kalder den for No Execute, mens Intel bruger betegnelsen Execute Disable.
På 64-bit-chips virker funktionen altid i 64-bit-mode, mens den i 32-bit-mode kun virker, når pc'en kører i den såkaldte Physical Address Extension mode.
Der er også en begrænset DEP-funktion på softwareniveau i Service Pack 2, men den er kun rettet mod angreb på fejlhåndteringen i Windows. Skal man udnytte teknologien fuldt ud, skal man have en processor, der understøtter den.
Programmer får problemer
Orme som Blaster og Sasser, der udnytter bufferoverløb, vil få sværere ved at sprede sig, hvis teknologien bliver udbredt. Men til gengæld skal programudviklere også kigge deres programmer efter en ekstra gang.
Der findes nemlig også helt legale programmer, der afvikler instruktioner, som befinder sig i dataområder. Det gælder for eksempel Microsofts eget .Net Framework. Microsoft har da også planer om at komme med opdateringer, der gør det muligt at anvende DEP, når man kører .Net-programmer.
Hvis man har en computer, hvis processor understøtter DEP, kan man i Service Pack 2 vælge, hvor meget funktionen skal bruges. Man kan slå den fra, slå den til generelt, eller slå den til for udvalgte applikationer.
Flere andre styresystemer og processorer har i øvrigt allerede lignende teknologier, men med Service Pack 2 kommer den for første gang til 32-bit Windows.
DK-Cert (www.cert.dk) er det danske Computer Emergency Response Team. I samarbejde med tilsvarende Cert'er over hele verden indsamler DK-Cert information om internetsikkerhed. DK-Cert udsender advarsler og tager imod anmeldelser af sikkerhedsrelaterede hændelser på internettet.
Preben Andersen opdaterer den sidste fredag i hver måned Computerworlds læsere med de seneste tendenser inden for it-sikkerhed.
Relevant link
Microsofts beskrivelse af DEP i Service Pack 2