MIT-forskare har visat att en komponent i moderna datorprocessorer som gör att olika delar av chippet kan kommunicera med varandra är mottaglig för en sidokanalattack. Kredit:Jose-Luis Olivares, MIT
En komponent av datorprocessorer som kopplar ihop olika delar av chippet kan utnyttjas av illvilliga agenter som försöker stjäla hemlig information från program som körs på datorn, har MIT-forskare funnit.
Moderna datorprocessorer innehåller många datorenheter, så kallade kärnor, som delar samma hårdvaruresurser. Den on-chip interconnect är den komponent som gör att dessa kärnor kan kommunicera med varandra. Men när program på flera kärnor körs samtidigt finns det en chans att de kan försena varandra när de använder sammankopplingen för att skicka data över chippet samtidigt.
Genom att övervaka och mäta dessa förseningar kan en skadlig agent utföra vad som kallas en "sidokanalsattack" och rekonstruera hemlig information som lagras i ett program, såsom en kryptografisk nyckel eller lösenord.
MIT-forskare omvänd konstruerade sammankopplingen på chipet för att studera hur denna typ av attack skulle vara möjlig. Utifrån sina upptäckter byggde de en analytisk modell av hur trafiken flyter mellan kärnorna på en processor, som de använde för att designa och lansera överraskande effektiva sidokanalsattacker. Sedan utvecklade de två begränsningsstrategier som gör det möjligt för en användare att förbättra säkerheten utan att göra några fysiska ändringar på datorkretsen.
"Många nuvarande sidokanalförsvar är ad hoc - vi ser lite läckage här och vi korrigerar det. Vi hoppas att vårt tillvägagångssätt med denna analytiska modell driver mer systematiska och robusta försvar som eliminerar hela klasser av attacker samtidigt ", säger medförfattaren Miles Dai, MEng '21.
Dai skrev uppsatsen med huvudförfattaren Riccardo Paccagnella, en doktorand vid University of Illinois i Urbana-Champaign; Miguel Gomez-Garcia '22; John McCalpin, en forskare vid Texas Advanced Computing Center; och senior författare Mengjia Yan, Homer A. Burnell Karriärutveckling biträdande professor i elektroteknik och datavetenskap (EECS) och en medlem av Computer Science and Artificial Intelligence Laboratory (CSAIL). Forskningen presenteras på USENIX Security Conference.
Proberingsprocessorer
En modern processor är som ett tvådimensionellt rutnät, med flera kärnor utlagda i rader och kolumner. Varje kärna har sin egen cache där data lagras, och det finns även en större cache som delas över hela processorn. När ett program som finns på en kärna behöver komma åt data i en cache som finns på en annan kärna eller i den delade cachen, måste det använda chip-interconnecten för att skicka denna begäran och hämta data.
Även om det är en stor komponent i processorn, förblir kretsanslutningen understuderad eftersom den är svår att attackera, förklarar Dai. En hackare måste starta attacken när trafik från två kärnor faktiskt stör varandra, men eftersom trafiken spenderar så lite tid i sammankopplingen är det svårt att tajma attacken rätt. Sammankopplingen är också komplex och det finns flera vägar som trafik kan ta mellan kärnor.
För att studera hur trafiken flyter på sammankopplingen skapade MIT-forskarna program som avsiktligt skulle komma åt minnescacher som finns utanför deras lokala kärnor.
"Genom att testa olika situationer, prova olika placeringar och byta ut platser för dessa program på processorn kan vi förstå vilka regler som ligger bakom trafikflöden på sammankopplingen", säger Dai.
De upptäckte att sammankopplingen är som en motorväg, med flera körfält i alla riktningar. När två trafikflöden kolliderar använder sammankopplingen en prioriterad skiljedomspolicy för att avgöra vilket trafikflöde som ska gå först. Mer "viktiga" förfrågningar har företräde, som de från program som är avgörande för en dators verksamhet.
Med hjälp av denna information byggde forskarna en analytisk modell av processorn som sammanfattar hur trafik kan flöda på sammankopplingen. Modellen visar vilka kärnor som skulle vara mest sårbara för en sidokanalattack. En kärna skulle vara mer sårbar om den kan nås via många olika körfält. En angripare kan använda denna information för att välja den bästa kärnan att övervaka för att stjäla information från ett offerprogram.
"Om angriparen förstår hur sammankopplingen fungerar, kan de ställa in sig så att exekveringen av någon känslig kod skulle kunna observeras genom sammankopplingsstrid. Sedan kan de extrahera, bit för bit, lite hemlig information, som en kryptografisk nyckel," förklarar Paccagnella .
Effektiva attacker
När forskarna använde denna modell för att starta sidokanalsattacker blev de förvånade över hur snabbt attackerna fungerade. De kunde återställa fullständiga kryptografiska nycklar från två olika offerprogram.
Efter att ha studerat dessa attacker använde de sin analytiska modell för att designa två begränsningsmekanismer.
I den första strategin skulle systemadministratören använda modellen för att identifiera vilka kärnor som är mest sårbara för attacker och sedan schemalägga känslig programvara för att köras på mindre sårbara kärnor. För den andra begränsningsstrategin kunde administratören reservera kärnor som finns runt ett känsligt program och endast köra betrodd programvara på dessa kärnor.
Forskarna fann att båda begränsningsstrategierna kunde reducera noggrannheten av sidokanalsattacker avsevärt. Ingen av dem kräver att användaren gör några ändringar i den fysiska hårdvaran, så begränsningarna skulle vara relativt lätta att implementera, säger Dai.
I slutändan hoppas de att deras arbete inspirerar fler forskare att studera säkerheten för kretsanslutningar, säger Paccagnella.
"Vi hoppas att detta arbete belyser hur sammankopplingen på chipet, som är en så stor komponent av datorprocessorer, förblir en förbisedd attackyta. I framtiden, när vi bygger system som har starkare isoleringsegenskaper, bör vi inte ignorera sammankopplingen, " han lägger till. + Utforska vidare
Denna berättelse är återpublicerad med tillstånd av MIT News (web.mit.edu/newsoffice/), en populär webbplats som täcker nyheter om MIT-forskning, innovation och undervisning.