Manuell kodgranskning finner 35 sårbarheter i 8 enklav Sdk

0
132
intel cpu sgx motherboard

Ett team av Brittiska och Belgien akademiker tittade på åtta open-source enklav Sdk och hittade 35 sårbarheter som kan utnyttjas för att köra skadlig kod i en dator mest säkra området.

En trusted execution environment (TEE), även känd som en enklav, är ett säkert område av en CPU som kan isoleras på hårdvara eller mjukvara nivå från resten av datorn.

Moderna datorsystem, och särskilt cloud computing-servrar, ofta förlitar sig på enklaver. Bärbara datorer eller stationära datorer använder enklaver för att säkert lagra en app lösenord eller krypteringsnycklar, medan servrar använder enklaver att isolera data av olika cloud server hyresgäster. Medan desktop apps kan inte använda enklaver för att skydda sin data hela dagen, dagens cloud computing skulle inte vara möjligt utan dem. CPU enclave ligger i hjärtat av alla större cloud hosting service, och är vad som gör hypervisor teknik som möjligt.

För närvarande enklaver stöds av olika underliggande hårdvara-baserade tekniker som Intel Software Guard Extensions (SGX), ARM TrustZone, RISC-V Keystone, Qualcomm Säkra Execution Environment (QSEE), eller KU Leuven är Sancus.

Utvecklare som vill bygga programvara som tar fördel av en enklav och använda sin isolerad miljö för att lagra känslig information måste använda ett software development kit (SDK).

Dessa Sdk-paket tillhandahåller ett gränssnitt så att en app kan interagera med underliggande enklav teknik. Men förutom samverkan, vilken roll dessa Sdk är att också skydda enklav på en programvara nivå från skadlig kod som kan köras på OS-nivå. Till exempel, ett SDK måste kunna upptäcka skadlig instruktioner som kan användas i försök att exfiltrate data från enklaven.

Det är dessa enklav SDK avskärmning funktioner som forskargrupp tittat på i sina senaste verk. Mer specifikt, akademiker tittade på åtta Sdk:

Intel SGX-SDK (på Intel SGX)Microsoft OpenEnclave (på Intel SGX)Grafen (på Intel SGX)SGX-LKL (på Intel SGX)Rost-EDP (på Intel SGX)
Google Asylo (på Intel SGX)Keystone (på RISC-V)Sancus (på Sancus)

En lång pågående forskningsprojekt

Den forskning som team arbete med revision av alla åtta projekt genom att utföra manuell kod recensioner av eventuellt sårbara SDK funktioner som skulle kunna utnyttjas för attacker.

“Det var faktiskt ganska länge pågående projekt,” Jo Van Bulck, en akademiker från KU Leuven, som är inblandade i den forskning som berättade ZDNet i ett e-postmeddelande.

“Några av fynden kan dateras tillbaka ända till 2015, när jag studerade säkerhet Sancus forskning plattform. Efter det, någonstans i 2016, jag hittade en mycket liknande problem i Grafen och rapporterade den, och den fick fast,” Van Bulck läggas till.

“Vi hade en intuition om att det kan vara mer men det var upptagna med andra saker och något glömde denna attack yta. Då 2018, jag hittade CVE-2018-3626 när du granskar Intel-programvara för Spectre sårbarheter. Sedan i November 2018, jag träffade David Oswald och andra personer från Birmingham University vid en forskarkonferens i London, och vi började prata om hur alla dessa resultat passar in i en större bild, och vi sätter igång med att undersöka denna attack ytan mer systematiskt tillsammans.

“Som en del av vår forskning har vi utvecklat en sorts intuitiv metod för att göra dessa recensioner kod mer genomförbart. I grund och botten, vi fokusera på följande koden väg in och ut av offret enklav programvara med en “angripare hatt” på att tänka på vad som kan gå fel varje steg på vägen,” Van Bulck berättade ZDNet.

“Framför allt, eftersom vi bara fokusera på entry/exit kod, antal rader kod för att smälta är mycket mer hanterbart än att behöva se all kod (vilket skulle vara helt omöjligt). Också i hög grad bidragit till att utveckla ett vetenskapligt klassificeringssystem för dessa vulns så att vi såg samma misstag upprepas över fristående projekt, och vi ofta hittat en vulnerbility och granskas sedan av andra projekt och fann samma förbiseenden det.”

Sårbarheter är fullt användbar, inte bara teoretisk

Totalt, forskarna sade att deras manual kod granskningen konstaterades 35 sårbarheter i alla de åtta Sdk, varav fem fick ett CVE-identifierare.

“Vi praktiskt taget utnyttja dessa sårbarheter i flera angrepp scenarier för att läcka hemliga nycklar från enklaven eller möjliggöra fjärrkörning av kod återanvänds,” forskning laget sa, som beskriver svårighetsgraden av de sårbarheter som finns.

“De fem CVEs tilldelas av Intel och Microsoft för att de sårbarheter som vi hittat i deras produktion kvalitet verkliga utnyttjas programvara. Och vi visar också hur dessa är verkligen utnyttjas med ganska oroande konsekvenser (t ex leder till minne korruption och full AES-nyckel återhämtning),” Van Bulck berättade ZDNet.

“För det andra sårbarheter, dessa hittades i open-source projekt där det är mindre klart hur spridda de är. För vissa som Sancus och Keystone, det är klart att detta bara är forskning prototyper och inga verkliga konsekvenser. Men, för andra som Grafen och LKL det är mindre tydlig,” Van Bulck berättade för oss, när vi frågade varför de andra sårbarheter inte får en CVE.

“Det är också en sårbarhet i en SGX backend för den officiella Rost-kompilator, som är en mer subtil att utnyttja, men ändå anses vara ganska farligt.”

tee-sdk-attacks.png

Bild: Van Bulck et al.

Alla problem har rapporterats till sina respektive SDK leverantörer tidigare i år, och forskargruppen sade att de arbetade med projektet ansvariga för att lösa alla säkerhetsproblem.

“I varje fall, de frågor som har kontrollerats och bekräftats av utvecklare. I fall av Intel, detta kan spåras via CVE-2018-3626 och CVE-2019-14565, och för Microsoft via CVE-2019-0876, CVE-2019-1369, och CVE-2019-1370,” forskarna säger.

“Den svaghet som finns i Fortanix-EDP ledde till en säkerhetskorrigering i Rost-kompilator. För andra open-source-projekt, våra rapporter har erkänts i respektive begår eller frågor på GitHub,” tillade också.

Forskargruppen kommer att presentera sina slutsatser på torsdag, November 14, på ACM CCS-2019-konferensen, som hölls i London.

Efter deras presentation, proof-of-concept kod för att reproducera de sårbarheter som kommer att släppas på GitHub, tillsammans med en vitbok med titeln “En Berättelse om Två Världar: att Bedöma Sårbarhet Enklav Avskärmning-Runtimes.”

Forskare från University of Birmingham i STORBRITANNIEN, och det Katolska Universitetet i Leuven (KU Leuven), Belgien, har bidragit till detta forskningsprojekt.

Tidigare i år, i augusti, några av världens största teknikföretag, som Alibaba, Arm, Baidu, Google, IBM, Intel, Microsoft, Red Hat, Swisscom, och Tencent, grundade Konfidentiell Computing Consortium, en bransch som ägnar sig åt att förbättra och påskynda införandet och bred användning av säkra enklaver.

Säkerhet

BlueKeep utnyttja för att få en fix för sin BSOD problem

Stora ASP.NET webbhotellet smittad av ransomware

Apple Post på macOS lämnar delar av krypterad e-post i klartext

Fastställande av data läckor i Jira (ZDNet YouTube)

Bästa home security av 2019: Professionell övervakning och DIY (CNET)

Hur man styr plats spårning på din iPhone på iOS 13 (TechRepublic)

Relaterade Ämnen:

Hårdvara

Säkerhet-TV

Hantering Av Data

CXO

Datacenter