ASLR

Grunnleggende sikkerhetsmekanisme kan omgås med JavaScript

Trenger gjennom ASLR fra via nettleseren.

Denne JavaScript-koden er nok temmelig ufarlig, men det er nå utviklet JavaScript-kode som kan gi angripere tilgang til å lese eller manipulere minnet til nettlesere.
Denne JavaScript-koden er nok temmelig ufarlig, men det er nå utviklet JavaScript-kode som kan gi angripere tilgang til å lese eller manipulere minnet til nettlesere.
Harald BrombachHarald BrombachNyhetsleder
16. feb. 2017 - 06:00

ASLR (Address Space Layout Randomization) er en sentral sikkerhetsmekanisme i moderne datamaskiner som gjør det vanskeligere for angripere å utnytte sårbarheter i programvare, fordi minneposisjonene som brukes av både kjørbar kode og data, er vilkårlig valgt og dermed varierer fra gang til gang. 

Men nå har forskere ved VUSec i Nederland avdekket en grunnleggende svakhet i mange prosessorer som ikke bare gjør det mulig å omgå ASLR-beskyttelsen ved hjelp av lokalt installert programvare, men også ved hjelp av JavaScript på websider som vises i en nettleser. 

I et angrep som forskerne har kalt for ASLR⊕Cache (forkortet AnC), utnyttes måten MMU-er (Memory Management Unit) bruker cache-hierarkiet til prosessoren, til raskt å redusere entropien til datapekere – det vil si antallet vilkårlige bits i adressene – slik at stort sett bare kjente entropibits gjenstår. 

Les også: Intel-prosessorer har alvorlig feil i helt sentral sikkerhetsmekanisme

Berører trolig de fleste prosessorer

Angrepene har fungert med alle de 22 ulike prosessorene forskerne har testet det med. Dette inkluderer både x86-64, ARMv7-A and ARMv8-A-baserte prosessorer, de nyeste fra 2015 eller 2016.

Dette betyr at dersom angripere greier å trenge gjennom både nettlesersikkerheten og operativsystemsikkerheten, kan de få full tilgang til å kompromittere systemet, bare ved å få brukeren til åpne en ondsinnet eller infisert webside i nettleseren. 

Forskerne har lagd to utgaver av angrepskode. Den ene er C-basert og beregnet for kjøring lokalt på systemet. Det andre er som nevnt JavaScript-basert. 

Kildekoden til den C-baserte utgaven er tilgjengelig her. Forskerne har ingen planer om å utgi den JavaScript-basert utgaven, men regner med at forskningsartikkelen de har utgitt vil gjøre det mulig for tilstrekkelig avanserte motstandere å replikere resultatene i løpet av noen uker. 

Les også: Utviklere mener antivirus gjør PC-en mer usikker

Varslet i høst

Forskerne varslet allerede i oktober en rekke leverandører av både CPU-er, operativsystemer og nettlesere om funnene, for å gi dem mulighet til å gjøre det vanskeligere å utnytte sårbarhetene. 

For CPU-leverandørene er det ingen løsning på kort sikt. Men for nettleser- og operativsystemleverandørene er det mulig å innføre endringer som gjør angrepene langt mindre gjennomførbare. Dette inkluderer å øke antallet entropi-bits. 

I alle fall Apple skal nylig ha forsterket WebKit-motoren til Safari-nettleseren mot AnC-angrep. Det er uklart hva de andre leverandørene eventuelt har gjort. Inntil dette er klart, er det sikreste alternativet å deaktivere JavaScript i nettleseren. Men slik deaktivering vil ofte innebære store konsekvenser for brukeropplevelsen, siden mange nettsteder avhenger av JavaScript for å fungere. Derfor kan det være fornuftig å benytte en løsning hvor man kan opprette en hviteliste med «trygge» nettsteder.

En grundigere innføring i hvordan ASLR kan omgås gjennom ASLR⊕Cache-angrepet, finnes på denne siden

Tidligere oppdaget av VUSec: Ondsinnede kan få root-aksess i Android ved hjelp av «bit-flipping»

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