Kredit:CC0 Public Domain
Datavetare vid University of California, Riverside har för första gången avslöjat hur lätt angripare kan använda en dators grafikprocessor, eller GPU, att spionera på webbaktivitet, stjäla lösenord, och bryta in i molnbaserade applikationer.
Marlan och Rosemary Bourns College of Engineering datavetenskap doktorand Hoda Naghibijouybari och postdoktor Ajaya Neupane, tillsammans med docent Zhiyun Qian och professor Nael Abu-Ghazaleh, reverse engineering en Nvidia GPU för att demonstrera tre attacker på både grafik och datorstackar, såväl som över dem. Gruppen tror att detta är de första rapporterade allmänna sidokanalattackerna på GPU:er.
Alla tre attackerna kräver att offret först skaffar ett skadligt program inbäddat i en nedladdad app. Programmet är utformat för att spionera på offrets dator.
Webbläsare använder GPU:er för att återge grafik på stationära datorer, bärbara datorer, och smarta telefoner. GPU:er används också för att accelerera applikationer i molnet och datacenter. Webbgrafik kan avslöja användarinformation och aktivitet. Beräkningsbelastningar som förbättras av GPU:n inkluderar applikationer med känslig data eller algoritmer som kan exponeras av de nya attackerna.
GPU:er är vanligtvis programmerade med applikationsprogrammeringsgränssnitt, eller API:er, som OpenGL. OpenGL är tillgänglig för alla applikationer på ett skrivbord med behörigheter på användarnivå, gör alla attacker praktiska på ett skrivbord. Eftersom stationära eller bärbara datorer som standard levereras med grafikbibliotek och drivrutiner installerade, attacken kan enkelt implementeras med hjälp av grafiska API:er.
Den första attacken spårar användaraktivitet på webben. När offret öppnar den skadliga appen, den använder OpenGL för att skapa en spion för att härleda webbläsarens beteende när den använder GPU. Varje webbplats har ett unikt spår när det gäller användning av GPU -minne på grund av det olika antalet objekt och olika storlekar på objekt som återges. Denna signal är konsekvent när samma webbplats laddas flera gånger och påverkas inte av cachelagring.
Forskarna övervakade antingen GPU-minnestilldelningar över tid eller GPU-prestandaräknare och matade dessa funktioner till en maskininlärningsbaserad klassificerare, uppnå webbplatsens fingeravtryck med hög noggrannhet. Spionen kan på ett tillförlitligt sätt få alla allokeringshändelser för att se vad användaren har gjort på webben.
I den andra attacken, författarna extraherade användarlösenord. Varje gång användaren skriver ett tecken, hela textrutan för lösenord laddas upp till GPU som en textur som ska renderas. Övervakning av intervalltiden för på varandra följande minnesallokeringshändelser läckte antalet lösenordstecken och timing mellan tangenttryckningar, väletablerade tekniker för att lära sig lösenord.
Den tredje attacken riktar sig mot en beräkningsprogram i molnet. Angriparen startar en skadlig beräkningsbelastning på GPU:n som fungerar tillsammans med offrets applikation. Beroende på neurala nätverksparametrar, intensiteten och stridsmönstret på cachen, minne och funktionsenheter skiljer sig över tiden, skapa mätbart läckage. Angriparen använder maskininlärningsbaserad klassificering på prestandamotspår för att extrahera offrets hemliga neurala nätverksstruktur, till exempel antalet neuroner i ett specifikt lager av ett djupt neuralt nätverk.
Forskarna rapporterade sina fynd till Nvidia, som svarade att de har för avsikt att publicera en patch som ger systemadministratörer möjlighet att inaktivera åtkomst till prestandaräknare från processer på användarnivå. De delade också ett utkast till dokumentet med AMD och Intels säkerhetsteam för att göra det möjligt för dem att utvärdera sina GPU:er med avseende på sådana sårbarheter.
I framtiden planerar gruppen att testa genomförbarheten av GPU-sidokanalattacker på Android-telefoner.
Pappret, "Gjorde osäker:GPU-sidokanalattacker är praktiska, " presenterades vid ACM SIGSAC-konferensen om dator- och kommunikationssäkerhet 15-19 oktober, 2018, i Toronto, Kanada.