211service.com
Mjuka fläckar i härdad programvara
Under det senaste decenniet har Microsoft, målet för många onlineangripare, hårdnat sitt operativsystem och anammat teknologier utformade för att göra det svårare för angripare att hitta och utnyttja sårbarheter. Apple och många andra mjukvarutillverkare har följt efter och infört liknande ytterligare säkerhetsåtgärder för sina operativsystem.
Men förra veckan, under Pwn2Own-tävlingen kl CanSecWest , en säkerhetskonferens i Vancouver, Kanada, visade säkerhetsforskare att mjukvarutillverkare måste göra mer för att skydda sina program. Med hjälp av tidigare okända sårbarheter kunde forskarna äventyra Apples Safari, Microsofts Internet Explorer 8 och Mozillas Firefox webbläsare genom att kringgå den senaste säkerhetstekniken på plats i operativsystemet under.
Dessa saker gör det svårt – det gör de verkligen, säger Charles Miller, huvudanalytiker på Oberoende säkerhetsutvärderare och forskaren som kringgick säkerheten för Apples webbläsare Safari och operativsystemet Mac OS X Snow Leopard under. Men oavsett vad kan en målmedveten angripare hitta en väg in.
Resultaten av Pwn2Own-tävlingen understryker en truism i säkerhet: Försvarare måste ha rätt hela tiden, men angripare behöver bara ha rätt en gång. Bedrifterna är verkligen kreativa; det är därför de är knepiga, Aaron Portnoy, säkerhetsforskningsteamet ledare för Brytpunkten , säkerhetsföretaget som sponsrar Pwn2Own-tävlingen.
Från och med sitt Trustworthy Computing Initiative 2002 började Microsoft implementera en serie säkerhetstekniker i Windows. Först skyddade företaget stacken – det logiska minnesutrymme som används av program för att tillfälligt lagra data. En teknik som kallas /GS-flaggan (efter mjukvaruväxeln som används i företagets kompilator) hindrade angripare från att trycka sin egen kod till stacken. Men 2003 visade David Litchfield, en oberoende forskare, en väg runt skyddet. Microsoft reagerade med att lansera ytterligare två tekniker: SafeSEH för att ta itu med attacken med hjälp av strukturerade undantagshanterare (SEH), och adressrymdlayoutrandomisering (ASLR), för att göra liknande sårbarheter svårare att utnyttja i framtiden. Forskare har dock hittat vägar kring båda dessa skydd.
Senast tog Microsoft ut en annan teknik, dataexekveringsskydd (DEP), som förhindrar attacker som skriver över minnet med kod och sedan försöker exekvera den koden. Men tidigare i år visade en oberoende forskare, Dion Blazakis, upp en attack, känd som JIT-sprayning, som använder sårbarheter i andra program – framför allt Adobe Flash och Suns Java – för att kringgå dessa skydd.
Dessa exploateringstekniker är en het handelsvara just nu, säger Portnoy. Om du har ett sätt att kringgå (operativsystemets) säkerhet, är du ett steg över de flesta här.
Apple har inte heller varit immun. Företaget har fortsatt att släppa fler säkerhetsteknologier i sitt eget operativsystem, och Snow Leopard inkluderar både ASLR och DEP, enligt Miller.
Microsoft erkänner att programvarubuggar alltid kommer att finnas, och säger att målet är att göra utnyttjandet av sådana sårbarheter mindre skadligt. Idag gör andra åtgärder, inklusive ytterligare stackskydd, ASLR och DEP det svårare att hitta och utnyttja sårbarheter.
Om dessa tekniker inte fanns, skulle du se mycket fler bedrifter än vad vi ser nu, säger HD Moore, säkerhetschef på Snabb7 och direktören för Metasploit-projektet , som paketerar exploateringstekniker i ett lättanvänt ramverk för säkerhetsforskare.
Forskning om ytterligare skydd pågår, och en ledande kandidat är sandboxing – en teknik där opålitlig kod körs i skyddade områden av minne och bearbetningsutrymme och inte tillåts påverka andra delar av datorn eller enheten. Java-programmeringsspråket och runtime-miljön gjorde sandlådor populära, men först nyligen har program använt sandlådor mer omfattande. Webbläsartillverkare tittar på att köra sin kod i en sandlåda, och Googles Chrome, som överlevde Pwn2Own-tävlingen utan att bli hackad, kör kod i en sandlåda.
Moore säger att sandlådor har sina begränsningar. Sandlådor är riktigt bra på att skydda mot att en sårbarhet i en applikation blir en exploatering av operativsystemet, säger han, men det är bara användbart om den data som du försöker skydda inte är tillgänglig. I många fall kan programmet behöva tillgång till känsliga data eller systemdata, och då hjälper inte sandboxning längre, säger han.
Till slut har mjukvarutillverkare gjort sina program svårare att utnyttja, säger Miller. Medan han hittade nästan 20 sårbarheter i populär programvara, som program skapade av Adobe, Apple och Microsoft, kunde mindre än en handfull utnyttjas på ett uppdaterat system, säger han. Det är en avvägning, medger Miller. Varje gång du lägger till något av dessa (skydd), saktar det ner systemet eller gör utvecklingen svårare. Målet är att göra programvara svår att exploatera, och det har de gjort.