Programvaran är full av buggar. Detta “spännande” projekt skulle kunna förvisa de flesta av dem

0
146

Liam Tung Skrivet av Liam Tung, bidragsgivare Liam Tung Liam Tung Bidragsgivare

Liam Tung är en heltidsfrilansande teknikjournalist som skriver för flera australiska publikationer.

Fullständig bio den 25 januari 2022 | Ämne: Säkerhet Microsoft Teams: Stora buggar för dem som upptäcker säkerhetsbrister Titta nu

Chipdesigner Arm har släppt en prototyp av sitt Morello-utvecklingskort för forskare på Google, Microsoft och industrin för att testa sitt mål för en CPU-design som tar bort en bit minnesrelaterade säkerhetsbrister i kod.

Morello-kortet är en produkt av ett samarbete mellan Arm, Cambridge University, Microsoft och andra baserat på Capability Hardware Enhanced RISC Instructions (CHERI)-arkitekturen. Microsoft säger att kortet och systemet på chip (SoC) är den första högpresterande implementeringen av CHERI, som ger “finkornig spatial minnessäkerhet på hårdvarunivå”. Om det visar sig vara framgångsrikt efter testning med äldre programvara kan det bana väg för framtida CPU-designer.

CHERI arkitektoniska tillägg är utformade för att mildra sårbarheter i minnessäkerhet. CHERI utökar pekare – variablerna i datorkod som refererar till var data lagras i minnet – med gränser för hur dessa referenser kan användas, adressintervallen som de kan använda för att komma åt och vilken funktionalitet de kan använda. “När de har bakats in i kisel kan de inte smidas i mjukvara,” förklarade Arm. CHERI utvecklades av University of Cambridge och SRI International efter att ha fått finansiering från DARPAs Clean-slate-design av Resilient, Adaptive, Secure Hosts (CRASH)-program.

SE: < stark>IT-kunskapsgapet blir värre. Här är 10 sätt du kan undvika en kris

Morello-arkitekturen är baserad på CHERI. Arm startade arbetet med hårdvara för Morello-programmet 2019 med stöd från den brittiska regeringens program Digital Security by Design (DSbD) och UK Research and Innovation (UKRI).

Morello-demonstrationskortet är en finjusterad Arm Neoverse N1, en 2,5 GHz fyrkärnig serverkärnprocessor med stöd för Armv8.2a 64-bitarsarkitektur som har extra funktioner för att möjliggöra CHERI-baserad “kompartmentalisering” för att motverka utnyttjande mot minnesrelaterade säkerhetsbrister.

“För alla forskningsprojekt är den här fasen både spännande och kritisk. Det har aldrig funnits en kiselimplementering av denna hårdvaruteknik i en högpresterande CPU”, säger Arm.

Morello-brädet är ett betydande framsteg för CHERI, som har varit under utveckling i över ett decennium. Saar Amar, från Microsofts säkerhetsforsknings- och försvarsteam, noterar att den bästa befintliga implementeringen av CHERI toppade var Toooba, som – även om det var en “betydande prestation” – bara kunde köras i en FPGA vid 50 MHz i en dubbelkärnig konfiguration. Det var “ungefär likvärdigt i mikroarkitektur med en processor från mitten av 90-talet” som inte var tillräckligt bra för att testa komplexa mjukvarustackar i skala.

CHERI- och Morello-arkitekturerna kan vara ett sätt att ta itu med minnesrelaterade säkerhetsbrister som härrör från kod skriven i programmeringsspråk som C och C++. Microsoft och Google säger att majoriteten av säkerhetsbuggarna är minnessäkerhetsproblem och att de ofta beror på kodningsproblem skrivna på dessa språk.

Volymen av dessa buggar och korrigeringar som de kräver har fått stora programvaruföretag som Microsoft, Google och Amazon att utforska “typsäkra” språk som Rust för systemprogrammering. Men Rust används vanligtvis för att skriva nya komponenter eftersom stora, befintliga kodbaser skrivna i C eller C++ lämnas på plats, som Google gör för Androids kodbas.

Morello-brädorna delas med forskare för att testa hypotesen om CHERI:s uppdelningsstrategi och om det är en hållbar säkerhetsarkitektur för företag och konsumenter i framtiden.

Som beskrivs i en artikel om CHERI av Googles forskare Ben Laurie och kollegor, kan olika CHERI-lägen vara mer effektiva och effektiva än begränsningar i hårdvara för konventionella minneshanteringsenheter (MMU), som används för att översätta virtuellt minne adresser till fysiska adresser.

CHERI möjliggör programvaruuppdelning på ett liknande sätt som processisolering i mjukvara för dagens operativsystem, konstaterar Laurie. Den innehåller också en minnessäkerhetsmekanism i processen som undviker behovet av att göra stora ändringar i källkoden – en potentiellt stor fördel för befintliga kodbaser.

“Samtida typsäkra språk förhindrar stora klasser genom konstruktion, medan CHERI-minnesskydd förhindrar exploatering av några av dessa felklasser”, skriver Microsofts Armar.

“Det finns miljarder rader med C- och C++-kod i utbredd användning, och CHERI:s starka källnivåkompatibilitet ger en väg till att uppnå målen med högpresterande minnessäkerhet utan att kräva en omskrivning från grunden. “

Säkerhet

Cybersäkerhet: 11 steg att ta när hotnivåerna ökar. Hon litade inte på sina flyttar. En enda Apple AirTag bevisade att hon hade rätt Hur tekniken är ett vapen i modern misshandel i hemmet Log4J: Microsoft upptäcker angripare som riktar sig mot SolarWinds sårbarhet Det bästa antivirusprogrammet och apparna: Håll din dator, telefon och surfplatta säker Säkerhets-TV | Datahantering | CXO | Datacenter