DMA-attack

En DMA-attack är en typ av sidokanalattack inom datorsäkerhet , där en angripare kan penetrera en dator eller annan enhet genom att utnyttja närvaron av höghastighetsexpansionsportar som tillåter direkt minnesåtkomst (DMA).

DMA ingår i ett antal anslutningar, eftersom det låter en ansluten enhet (som en videokamera , nätverkskort , lagringsenhet eller annat användbart tillbehör eller internt PC-kort ) överföra data mellan sig själv och datorn med högsta möjliga hastighet, genom att använda direkt hårdvaruåtkomst för att läsa eller skriva direkt till huvudminnet utan någon övervakning eller interaktion av operativsystemet . Den legitima användningen av sådana enheter har lett till en bred användning av DMA-tillbehör och anslutningar, men en angripare kan likaväl använda samma möjlighet för att skapa ett tillbehör som ansluter med samma port, och kan sedan potentiellt få direkt tillgång till delar av eller hela det fysiska minnesadressutrymmet på datorn, förbigående av alla OS-säkerhetsmekanismer och alla låsskärmar , för att läsa allt som datorn gör, stjäla data eller kryptografiska nycklar , installera eller köra spionprogram och andra exploateringar , eller modifiera systemet för att tillåta bakdörrar eller annan skadlig programvara.

Att förhindra fysiska anslutningar till sådana portar kommer att förhindra DMA-attacker. På många datorer kan anslutningarna som implementerar DMA också inaktiveras i BIOS eller UEFI om de inte används, vilket beroende på enheten kan omintetgöra eller minska potentialen för denna typ av exploatering.

Exempel på anslutningar som kan tillåta DMA i någon form som kan utnyttjas är FireWire , CardBus , ExpressCard , Thunderbolt , USB 4.0 , PCI , PCI-X och PCI Express .

Beskrivning

I moderna operativsystem förhindras icke-systemtillämpningar (dvs. användarläge ) från att komma åt minnesplatser som inte uttryckligen auktoriserats av den virtuella minneskontrollern (kallad minneshanteringsenhet (MMU)). Förutom att innehålla skador som kan orsakas av mjukvarufel och möjliggöra effektivare användning av fysiskt minne, utgör denna arkitektur en integrerad del av säkerheten för operativsystemet. Emellertid tillåter kärnlägesdrivrutiner, många hårdvaruenheter och användarlägessårbarheter direkt, obehindrad åtkomst till det fysiska minnesadressutrymmet. Det fysiska adressutrymmet inkluderar allt huvudsystemminne, såväl som minnesmappade bussar och hårdvaruenheter (som styrs av operativsystemet genom läsning och skrivning som om de vore vanligt RAM).

OHCI 1394 -specifikationen tillåter enheter, av prestandaskäl , att kringgå operativsystemet och komma åt fysiskt minne direkt utan några säkerhetsbegränsningar. Men SBP2- enheter kan lätt förfalskas , vilket gör det möjligt att lura ett operativsystem att tillåta en angripare att både läsa och skriva fysiskt minne och därigenom få obehörig åtkomst till känsligt kryptografiskt material i minnet.

System kan fortfarande vara sårbara för en DMA-attack från en extern enhet om de har en FireWire , ExpressCard , Thunderbolt eller annan expansionsport som, som PCI och PCI Express i allmänhet, ansluter anslutna enheter direkt till det fysiska i stället för virtuella minnesadressutrymmet. Därför kan system som inte har en FireWire-port fortfarande vara sårbara om de har ett PCMCIA / CardBus / PC-kort eller ExpressCard-port som tillåter att ett expansionskort med en FireWire installeras.

Används

En angripare kan till exempel använda en social ingenjörsattack och skicka en "lycklig vinnare" en oseriös Thunderbolt-enhet. Vid anslutning till en dator skulle enheten, genom sin direkta och obehindrade åtkomst till det fysiska adressutrymmet, kunna kringgå nästan alla säkerhetsåtgärder i operativsystemet och ha förmågan att läsa krypteringsnycklar, installera skadlig programvara eller kontrollera andra systemenheter . Attacken kan också enkelt utföras där angriparen har fysisk tillgång till måldatorn.

Utöver de ovan nämnda smutsiga användningarna finns det också några fördelaktiga användningsområden eftersom DMA-funktionerna kan användas för kärnfelsökningsändamål .

Det finns ett verktyg som heter Inception för denna attack, som bara kräver en maskin med en expansionsport som är känslig för denna attack. Ett annat program som är känt för att utnyttja denna sårbarhet för att få obehörig åtkomst till körda Windows-, Mac OS- och Linux-datorer är spionprogrammet FinFireWire .

Begränsningar

DMA-attacker kan förhindras genom fysisk säkerhet mot potentiellt skadliga enheter.

Drivrutiner i kärnläge har många befogenheter att äventyra säkerheten i ett system, och försiktighet måste iakttas för att ladda pålitliga, buggfria drivrutiner. Till exempel kräver de senaste 64-bitarsversionerna av Microsoft Windows att drivrutiner testas och signeras digitalt av Microsoft och förhindrar att icke-signerade drivrutiner installeras.

En IOMMU är en teknik som tillämpar konceptet virtuellt minne på sådana systembussar, och som kan användas för att stänga denna säkerhetssårbarhet (samt öka systemstabiliteten). Intel märker sin IOMMU som VT-d. AMD märker sin IOMMU som AMD-Vi. Linux och Windows 10 stöder dessa IOMMU och kan använda dem för att blockera I/O-transaktioner som inte har tillåtits.

Nyare operativsystem kan vidta åtgärder för att förhindra DMA-attacker. Senaste Linux- kärnor inkluderar möjligheten att inaktivera DMA av FireWire-enheter samtidigt som andra funktioner tillåts. Windows 8.1 kan förhindra åtkomst till DMA-portar på en obevakad maskin om konsolen är låst. Men från och med 2019 hade de stora OS-leverantörerna inte tagit hänsyn till de många olika sätt som en skadlig enhet kunde dra fördel av komplexa interaktioner mellan flera emulerade kringutrustning, vilket avslöjade subtila buggar och sårbarheter.

Att aldrig tillåta att känslig data lagras i okrypterat RAM är en annan begränsningsplats mot DMA-attacker. Det räcker dock inte med skydd mot att läsa RAM:s innehåll, eftersom skrivning till RAM via DMA kan äventyra till synes säker lagring utanför RAM genom kodinjektion . Ett exempel på den senare typen av attack är TRESOR-HUNT, som avslöjar kryptografiska nycklar som aldrig lagras i RAM (men bara i vissa CPU-register); TRESOR-HUNT uppnår detta genom att skriva över delar av operativsystemet.

Microsoft rekommenderar ändringar av standard Windows-konfigurationen för att förhindra detta om det är ett problem.

Se även

externa länkar