ASLR

Intel-prosessorer har alvorlig svakhet i helt sentral sikkerhetsmekanisme

Åpner sluseportene for en rekke type angrep.

I alle fall Haswell-baserte prosessorer fra Intel har en svakhet som gjør det mulig for angripere å omgå sikkerhetsfunksjonaliteten ASLR.
I alle fall Haswell-baserte prosessorer fra Intel har en svakhet som gjør det mulig for angripere å omgå sikkerhetsfunksjonaliteten ASLR. Bilde: Intel
Harald BrombachHarald BrombachNyhetsleder
20. okt. 2016 - 10:34

Sikkerhetsforskere har oppdaget en alvorlig svakhet i hvordan i alle fall Haswell-generasjonen med prosessorer fra Intel implementerer støtten for ASLR (Address Space Layout Randomization), en av de mest sentrale og mest utbredte teknikkene for å beskytte datamaskiner mot en rekke type angrep. 

Det ASLR gjør, er å randomisere plasseringen av sentral prosesskode og -data i det virtuelle minnet til systemet. Dette gjør det vanskelig for angripere å finne minneadressene til spesifikke kodeobjekter og bruke disse til å injisere angrepskode som så blir kjørt som en normal del av prosessen.

Alle de vanligste operativsystemene har støtte for ASLR. De første fikk det allerede for rundt 15 år siden.

Feilen forskerne nå har oppdaget, gjør det mulig å omgå ASLR. Denne sårbarheten finnes i prosessorens «branch predictor»-system, som prøver å gjette utfallet av et hopp i en «if-then-else»-struktur.

– ASLR er et viktig forsvar som er tatt i bruk av alle kommersielle operativsystemer. Det er ofte den eneste forsvarslinjen som hindrer en angriper i å utnytte et stort spekter av angrep. En svakhet som tillater omgåelse av ASLR, kan åpne døren for mange angrep som stoppes av ASLR. Det understreker også at CPU-designere er nødt til å ta hensyn til sikkerhet ved design av nye prosessorer, sier Nael Abu-Ghazaleh til Ars Technica. Abu-Ghazaleh er professor i blant annet informatikk ved University of California at Riverside og har ledet det omtalte forskningsarbeidet.

Leste du denne? Microsoft lanserer project Springfield: «Fuzzing» skal gjøre det enklere å finne sårbarheter i programvare

Kollisjoner

Forskerne har utviklet angrepskode som kan få en buffermekanisme, branch target buffer (BTB) til å lekke ASLR-adresser. Koden utnytter mulighet til å skape kollisjoner i BTB mellom angrepsprosessens branch-instruksjoner og enten den utvalgte «user-mode»-prosessen eller på selve kjernen. 

Disse kollisjonene kan i sin tur påvirke timingen til angriperens kode, slik at angriperen kan finne plasseringen til kjente branch-instruksjoner i adresserommet til brukerprosessen eller kjernen. 

– Siden BTB-en er delt mellom flere applikasjoner som kjøres i den samme prosessorkjernen, er informasjonslekkasje fra én applikasjon til en annen, gjennom BTB-sidekanalen, mulig, skriver forskerne i en artikkel som ble presentert denne uken.

Et slikt angrep mot kjernen kan ifølge forskerne gjennomføres i løpet av omtrent 60 millisekunder på et Haswell-system med en relativt ny versjon (4.5) av Linux-kjernen.

Les også: Vil flytte grafikkreftene til skyen: Du skal ikke behøve kraftig grafikkort for å produsere VR-innhold

Utilstrekkelig entropi

Ifølge forskerne har uforutsigbarheten (entropien) til dagens implementeringer av ASLR på kjernenivå (KASLR) blitt kritisert for å være både ufullstendig og utilstrekkelig. Trolig er det derfor forskerne har vært i stand til å gjenskape alle de vilkårlige bit-ene til kjerneadresser.

For user mode-prosesser har forskerne «bare» oppnådd å redusere entropien betydelig. Forskerne viser til at det i 64-bits Linux er bit-ene fra 12 til 40 i den virtuelle adressen som blir randomisert av ASLR. Men i BTB-adresseringen brukes ikke bit 30 og høyere. Det vil si at 18 av bit-ene (12 til 29) kan gjenskapes ved å benytte det omtalte BTB-angrepet. Dermed er antallet vilkårlig bits redusert fra 29 til 11, noe forskerne mener vil gjøre et «brute force»-angrep mer gjennomførbart.

Trolig også andre systemer

Selv om ASLR er implementert ulikt, blant annet med hensyn til entropi og hvor ofte minneadressene blir randomisert, mistenker forskerne ifølge URC Today at svakheten også berører andre operativsystemer som Windows og Android. Svakheten skal også berøre virtualiserte systemer.

– Mens de fleste IT-sikkerhetsforskere studerer programvarebaserte sårbarheter og forsvar, fokuserer vårt forskning på den underliggende maskinvaren og datamaskinarkitekturen, som også spiller en viktig rolle innen datamaskinsikkerhet – både når det gjelder introduksjon av nye sårbarheter, og i å støtte sikrere programvare, sier Abu-Ghazaleh til URC Today.

Foreløpig har ikke Intel uttalt seg om funnet. Til Ars Technica opplyser selskapet at det er i ferd med å granske rapporten, som er tilgjengelig her.

Les også: Google-ansatte utfordrer Android-sikkerheten

Del
Kommentarer:
Du kan kommentere under fullt navn eller med kallenavn. Bruk BankID for automatisk oppretting av brukerkonto.