Instructies voor geheugenbescherming beschermen tegen hackers

Update: 9 december 2023

“De veiligheid van het geheugen is al bijna 40 jaar een probleem en er zijn talloze oplossingen voorgesteld, volgens de computerwetenschapper Simha Sethumadhavan van Columbia. "Wij zijn van mening dat geheugenveiligheid een probleem blijft, omdat het de last niet op een eerlijke manier verdeelt over software-engineers en eindgebruikers."

De Sethumadhavan-groep merkte op dat de meeste beveiligingsproblemen zich voordoen in het geheugen van een computer - met name pointers en opzettelijk beschadigde pointers kunnen worden gebruikt om een ​​programma te kapen.

De huidige technieken om geheugenaanvallen te verzachten, verbruiken volgens de universiteit veel energie-niveau, beïnvloeden de systeemprestaties en kunnen software kapot maken.

Het team wilde het geheugen beschermen zonder de prestaties van een systeem onnodig te beïnvloeden.

Hun eerste oplossing is 'ZeRØ' genoemd (zero-overhead veerkrachtige operatie onder aanwijzerintegriteitsaanvallen).

ZeRO beschikt over een set geheugeninstructies die aan de instructieset zijn toegevoegd en een metadatacoderingsschema dat de code en datapointers van een systeem beschermt.

Het vereist kleine, gemakkelijk toe te voegen veranderingen in de architectuur van een systeem, zei de universiteit, vertraagt ​​de processor weinig of helemaal niet, en kan voorkomen dat het systeem crasht, zelfs als het wordt aangevallen.

Voor een iets meer invasieve verdediging - 8% overhead op de prestaties van de computer - stelt het team een ​​systeem voor om geheugenfouten te detecteren.

Dit is ook genoemd: 'No-FAT, beschreven als 'architecturale ondersteuning voor low overhead memory safety checks'.

No-FAT versnelt fuzz-testen en is "zeer eenvoudig voor ontwikkelaars om het toe te voegen bij het bouwen van een systeem", aldus Columbia.

Het bouwt voort op een trend in software naar binning-geheugentoewijzers, die buckets van verschillende groottes gebruiken om geheugen op te slaan totdat de software het nodig heeft. De onderzoekers ontdekten dat wanneer binning-geheugentoewijzing door de software wordt gebruikt, het mogelijk is om geheugenbeveiliging te bereiken met weinig invloed op de prestaties en compatibel is met bestaande software.

Beide projecten werden gepresenteerd op het recente International Symposium on Computer Architecture (ISCA).

"Met deze twee documenten geloven we dat we de juiste balans tussen de lasten hebben gevonden", zei Sethumadhavan.

Pre-prints van de ISCA-papieren zijn beschikbaar:

ZeRØ: veerkrachtige werking zonder overhead bij aanwijzerintegriteitsaanvallen

No-FAT: architecturale ondersteuning voor veiligheidscontroles met weinig overhead low