Gratis værktøj beskytter programmer

Med et gratis værktøj fra Microsoft kan it-folk sikre, at hackere ikke kan udnytte sårbarheder i programmer, skriver Shehzad Ahmad fra DK•CERT i denne klumme fra Computerworld.

Chefkonsulent Shehzad Ahmad, UNI•C, der leder det danske Computer Emergency Response Team (DK•CERT), skriver hver måned på Computerworld Online om aktuelle it-sikkerhedsspørgsmål. Kommentarerne bringes her, efterhånden som de udkommer.

Hvis du har ansvar for sikkerhed i applikationer, er her et værktøj, du skal prøve: Microsofts EMET (Enhanced Mitigation Evaluation Toolkit).

Programmet, som er gratis, gør det muligt at øge sikkerheden på stort set enhver applikation, I anvender.

Alle applikationer har fejl – det kan ikke undgås, da systemudvikling er en kompliceret affære.

Nogle fejl kan udnyttes til at bryde sikkerheden, det er de såkaldte sårbarheder.

Hvis man har et sårbart program, har man to muligheder for at beskytte sig: Man kan omskrive det og rette den fejl, der udgør sårbarheden.

Eller man kan beskytte det, så sårbarheden godt nok stadig findes, men ikke længere kan udnyttes.

Beskyt mod bufferoverløb

Et eksempel på den sidstnævnte metode er DEP (Data Execution Prevention).

Det er en funktion, der udnytter en kombination af software og hardware til at forhindre, at der kan afvikles programmer i dele af hukommelsen, der er reserveret til data.

Dermed kan man i mange tilfælde forhindre, at bufferoverløbssårbarheder kan udnyttes i praksis.

Programmører kan indbygge understøttelse af DEP i deres programmer. Men det hjælper jo ikke meget, hvis man har et program, men ikke har adgang til kildekoden.

Her kommer EMET ind. Værktøjet gør det muligt at tage en exe-fil og aktivere beskyttelser mod en række sårbarhedstyper i den.

Man behøver ikke at vide, om programmet har en bestemt sårbarhed. Hvis det er tilfældet, kan beskyttelsen forhindre, at den bliver udnyttet, ellers sker der ikke noget.

EMET er lavet som et framework, der løbende kan udvides med nye typer beskyttelse.

Fire metoder til at beskytte sig
EMET leveres med fire metoder.

 

  • SEHOP forhindrer, at angribere udnytter Structured Exception Handler (SEH) Overwrites. Det en udbredt angrebsmetode, der har været kendt siden 2003.
  • Dynamic DEP aktiverer DEP (Data Execution Prevention). Det kræver dog, at hardwaren og styresystemet understøtter det.
  • NULL page allocation forhindrer en form for angreb, som endnu kun kendes på teoretisk plan.
  • Heap spray allocation forhindrer til gengæld en metode, der er meget brugt. Det handler om at fylde en proces' heap med særlig kode, der fx kan bruges til at aktivere en shell.

EMET har flere fordele. Den vigtigste er, at det nu er muligt at beskytte gamle programmer, som man ikke har kildekode til.

Beskyttelsen virker også på gamle styresystemer (med undtagelse af DEP). Man behøver altså ikke opgradere til Windows 7 eller Server 2008 for at være beskyttet.

Endvidere kan man slå beskyttelsen til og fra på procesniveau.

Så hvis en bestemt proces ikke kan køre med en bestemt beskyttelse, kan man fjerne den, men stadig beholde den for andre processer.

Test grundigt

Lad mig lige slutte med en advarsel: Når man piller ved applikationer, risikerer man altid utilsigtede konsekvenser.

Så hent EMET og afprøv det i et testmiljø.

Men sæt ikke applikationer i produktion, før I har sikret jer, at de stadig virker, efter at EMET-beskyttelsen er slået til.

 


Oprindelig offentliggjort på Computerworld Online fredag den 30. oktober 2009

LINKS

Announcing the release of the Enhanced Mitigation Evaluation Toolkit, blogindlæg fra Microsoft Security Research & Defense

Download af EMET (Enhanced Mitigation Evaluation Toolkit)

Beskrivelse af SEHOP fra Microsoft Security Research & Defense

Denne klumme på Computerworld Online

Keywords: