Bløde pletter i hærdet software

I løbet af det seneste årti har Microsoft, som er det foretrukne mål for mange onlineangribere, hærdet sit operativsystem og vedtaget teknologier designet til at gøre det sværere for angribere at finde og udnytte sårbarheder. Apple og mange andre softwareproducenter har fulgt trop og introduceret lignende yderligere sikkerhedsforanstaltninger til deres operativsystemer.





Alligevel i sidste uge, under Pwn2Own-konkurrencen kl CanSecWest , en sikkerhedskonference i Vancouver, Canada, viste sikkerhedsforskere, at softwareproducenter skal gøre mere for at beskytte deres programmer. Ved at bruge tidligere ukendte sårbarheder var forskerne i stand til at kompromittere Apples Safari, Microsofts Internet Explorer 8 og Mozillas Firefox-webbrowsere ved at omgå de nyeste sikkerhedsteknologier på plads i operativsystemet nedenunder.

Disse ting gør det svært – det gør de virkelig, siger Charles Miller, en hovedanalytiker hos Uafhængige sikkerhedsevaluatorer og forskeren, der omgik sikkerheden i Apples Safari-browser og Mac OS X Snow Leopard-operativsystemet nedenunder. Men uanset hvad, kan en beslutsom angriber finde en vej ind.

Resultaterne af Pwn2Own-konkurrencen understreger en truisme i sikkerhed: Forsvarere skal have ret hele tiden, men angribere behøver kun at have ret én gang. Bedrifterne er virkelig kreative; det er derfor, de er vanskelige, Aaron Portnoy, leder af sikkerhedsforskningsteamet Vendepunkt , sikkerhedsfirmaet, der sponsorerer Pwn2Own-konkurrencen.



Startende med sit Trustworthy Computing Initiative i 2002 begyndte Microsoft at implementere en række sikkerhedsteknologier i Windows. For det første beskyttede virksomheden stakken - den logiske hukommelsesplads, der bruges af programmer til midlertidigt at opbevare data. En teknologi kaldet /GS-flaget (efter softwareswitchen, der blev brugt i virksomhedens compiler), forhindrede angribere i at skubbe deres egen kode til stakken. Men i 2003 demonstrerede David Litchfield, en uafhængig forsker, en vej rundt om beskyttelsen. Microsoft reagerede ved at udrulle yderligere to teknologier: SafeSEH til at adressere angrebet ved hjælp af strukturerede undtagelsesbehandlere (SEH) og adressepladslayoutrandomisering (ASLR), for at gøre lignende sårbarheder sværere at udnytte i fremtiden. Forskere har dog fundet veje uden om begge disse beskyttelser.

Senest bragte Microsoft en anden teknologi, data execution protection (DEP), som forhindrer angreb, der overskriver hukommelsen med kode og derefter forsøger at eksekvere denne kode. Men tidligere i år viste en uafhængig forsker, Dion Blazakis, et angreb, kendt som JIT-spraying, der bruger sårbarheder i andre programmer – især Adobe Flash og Suns Java – til at omgå disse beskyttelser.

Disse udnyttelsesteknikker er en varm vare lige nu, siger Portnoy. Hvis du har en måde at omgå (operativsystemets) sikkerhed på, så er du et skridt over de fleste mennesker her.



Apple har heller ikke været immun. Virksomheden er fortsat med at frigive flere sikkerhedsteknologier i sit eget operativsystem, og Snow Leopard inkluderer både ASLR og DEP, ifølge Miller.

Microsoft anerkender, at softwarefejl altid vil eksistere, og siger, at målet er at gøre udnyttelsen af ​​sådanne sårbarheder mindre skadelig. I dag gør andre tiltag, herunder yderligere stakbeskyttelse, ASLR og DEP det sværere at finde og udnytte sårbarheder.

Hvis de teknikker ikke var til stede, ville du se mange flere bedrifter, end hvad vi ser nu, siger HD Moore, sikkerhedschef i HD. Hurtig 7 og direktøren for Metasploit projekt , som pakker udnyttelsesteknikker i en letanvendelig ramme for sikkerhedsforskere.



Forskning i yderligere beskyttelse er i gang, og en førende kandidat er sandboxing – en teknik, hvor kode, der ikke er tillid til, køres i beskyttede områder af hukommelse og behandlingsplads og ikke får lov til at påvirke andre dele af computeren eller enheden. Java-programmeringssproget og runtime-miljøet gjorde sandkasser populære, men først for nylig har programmer brugt sandkasser mere udbredt. Browserproducenter kigger på at køre deres kode i en sandkasse, og Googles Chrome, som overlevede Pwn2Own-konkurrencen uden at blive hacket, kører kode i en sandkasse.

Moore siger, at sandkasser har deres begrænsninger. Sandkasser er rigtig gode til at beskytte mod, at en sårbarhed i en applikation bliver en udnyttelse af styresystemet, siger han, men det er kun nyttigt, hvis de data, du forsøger at beskytte, ikke er tilgængelige. I mange tilfælde kan programmet have brug for adgang til følsomme data eller systemdata, og så hjælper sandboxing ikke længere, siger han.

I sidste ende har softwareproducenter gjort deres programmer sværere at udnytte, siger Miller. Mens han fandt næsten 20 sårbarheder i populær software, såsom programmer skabt af Adobe, Apple og Microsoft, kunne mindre end en håndfuld udnyttes på et opdateret system, siger han. Det er en afvejning, indrømmer Miller. Hver gang du tilføjer en af ​​disse (beskyttelser), bremser det systemet eller gør udviklingen sværere. Målet er at gøre software svær at udnytte, og det har de gjort.



skjule