Silicon Secured Memory: Oracle fĂĽhrt neuen Speicherschutz ein
Oracle will mit der Silicon-Secured-Memory-Funktion seines Sparc-M7-Prozessors verschiedene Speicherfehler erkennen und so etwa einen PufferĂĽberlauf verhindern. Das Ganze soll in Echtzeit geschehen und nur wenig Leistung einfordern.
Oracle-Chef Larry Ellison stellt den Echtzeit-Sicherheitsmechanismus Silicon Secured Memory des Sparc-M7-Prozessors vor.
(Bild: Screenshot)
Der Sparc-M7-Prozessor von Oracle setzt auf einen Sicherheitsmechanismus namens Silicon Secured Memory (SSM). Dabei handelt es sich um eine neue Bezeichnung fĂĽr Oracles Application-Data-Integrity-Technologie (ADI). SSM soll Speicherfehler in Echtzeit erkennen. So kann der Sicherheitsmechanismus Oracle zufolge etwa einen PufferĂĽberlauf verhindern.
SSM soll mit maschinennahen Programmiersprachen wie etwa C++ funktionieren und setzt eine 64-Bit-Umgebung voraus. Da SSM Hardware-unterstĂĽtzt arbeitet, soll der Ansatz die Systemleistung nur geringfĂĽgig negativ beeinflussen.
Arbeitsweise: Speicher und Zeiger markieren
Um Speicherfehler zu erkennen und Exploits zu verhindern, versieht SSM die Zeiger von Anwendungen auf Speicherbereiche und die jeweiligen Bereiche mit Ausführungsnummern (4 Bit). Entspricht die Ausführungsnummer des Zeigers nicht der Ausführungsnummer des Speicherinhalts, verbietet SSM den Zugriff. Orcale zufolge hätte diese Technik zum Beispiel den SSL-Gau Heartbleed in Echtzeit verhindern können. Aber auch vielen Flash-Exploits entziehe SSM die Funktionsgrundlage.
(Bild:Â Oracle)
Da sich eine Ausführungsnummer lediglich aus 4 Bit zusammensetzt, ist der Ansatz nicht ganz wasserdicht. Denn ein Angreifer müsste bei einer Attacke lediglich 16 verschiedene Möglichkeiten durchspielen, um SSM überlisten zu können.
SSM in der Praxis
Oracle Solaris Studio soll bereits den SSM-Ansatz nutzen und schon beim Entwickeln und Testen von Anwendungen helfen, mögliche Angriffspunkte für Speicherfehler aufzudecken. Oracle Database soll SSM ab Version 12c unterstützen.
Der Softwarehersteller erläutert, dass Programmierer ihre Anwendungen vergleichsweise einfach mit der SSM-Unterstützung ausstatten können. Dafür müssen sie lediglich die von Oracle zur Verfügung gestellte Bibliothek libdiscoverADI.so in ihre Anwendungen einbauen. Anschließend versieht die malloc()-Funktion Speicherbereiche und Zeiger mit Ausführungsnummern.
Speicherbereiche zu markieren, ist nicht gänzlich neu und das Open-Source-Projekt lowRISC arbeitet an einem System-on-a-Chip mit entsprechender Funktionalität. (des)