Kredit:Pixabay/CC0 Public Domain
Flera program som körs samtidigt på en enhet förlitar sig på data som lagras i enhetens minneshårdvara, men känslig information kanske inte delas mellan alla program, vilket utsätter enheten för en "memory timing side-channel attack".
När man försöker komma åt minneshårdvara noteras svarsfördröjningar och utnyttjas för att hämta känslig information som lösenord eller kryptografiska nycklar. Den nuvarande lösningen att begränsa minneshårdvaran till ett enda program saktar ner beräkningen.
U.S. National Science Foundation-stipendiatforskare baserade vid Massachusetts Institute of Technology utvecklade ett tillvägagångssätt som gör det möjligt att dela minneshårdvara utan att kompromissa med säkerheten från minnestiming av sidokanalsattacker, och ökar beräkningshastigheten med 12 % jämfört med toppmoderna lösningar. Forskningen publiceras i Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems .
"Nuförtiden är det väldigt vanligt att dela en dator med andra, speciellt om du gör beräkningar i molnet eller till och med på din egen mobila enhet", säger seniorförfattaren Mengjia Yan. "Genom dessa delade resurser kan en angripare söka till och med mycket finkornig information."
Det finns flera sätt som ett skadligt program kan rikta in sig på delat minne för att komma åt känslig information. Teamet fokuserade på en lösning för att förhindra konfliktattacker – när det skadliga programmet försöker komma åt minneshårdvara samtidigt som ett annat program.
"Angriparen petar på minneskontrollern, biblioteksdörren, för att säga "är det upptaget nu?", sa medförfattaren Joel Emer. "Om de blockeras för att biblioteksdörren redan öppnas - eftersom offerprogrammet redan använder minneskontrollern - kommer de att bli försenade."
Forskarna utvecklade ett schema som använder en grafstruktur, känd som en riktad acyklisk graf, eller DAG, för att behandla förfrågningar och skicka förfrågningarna till minneskontrollern enligt ett fast schema. Strukturen gör att minneshårdvara kan delas mellan program på ett säkert sätt. Teamet döpte säkerhetssystemet till DAGguise.
DAGguise skulle kunna modifieras för att försvara sig mot olika sidokanalattacker som riktar sig mot delade datorresurser som on-chip-nätverk.