Morello: Microsoft und ARM bauen Chip mit Speichersicherheit

Eine CPU-Architektur mit Capabilitys soll typische Speicherfehler aus C oder C++ in der Hardware verhindern. Die CPU wird nun erstmals getestet.

Artikel veröffentlicht am ,
Der ARM-Morello-Chip
Der ARM-Morello-Chip (Bild: ARM)

Ein Konsortium um den CPU-Hersteller ARM und mehrere Universitäten stellen nun als Teil des Forschungsprogramms Morello erstmals eine experimentelle CPU bereit, deren Architektur bestimmte typische Speicherfehler aus C oder C++ bereits in der Hardware verhindern soll.

Stellenmarkt
  1. Identity and Access Management (IAM) Experte (m/w/d)
    Vorwerk Services GmbH, Düsseldorf, Wuppertal
  2. Softwareentwickler*in Abbrandvorgänge und Antriebssysteme
    Fraunhofer-Institut für Kurzzeitdynamik, Ernst-Mach-Institut, EMI, Kandern, Freiburg im Breisgau
Detailsuche

Eine begrenzte Stückzahl der CPU auf Grundlage des Server-Chips ARM Neoverse N1 wird nun mit Board unter anderem Microsoft und Google zum Testen bereitgestellt. Bei dem Chip handele es sich demnach um eine Quad-Core-CPU mit 2,5-GHz-Takt und einer GPU. Bisher stand zum Testen von Cheri nur eine FPGA-Implementierung mit einem Dual-Core bei 50 MHz bereit, wie Microsoft schreibt. Weitere Details zum Aufbau von Board und Chip liefert ARM in einem gesonderten Blogpost, ebenso wie Details zum genutzten Betriebssystem und Firmware.

Cheri für Speicherschutz in der Hardware

Im Blog des Microsoft Security Response Center (MSRC) beschreibt das Unternehmen die Idee der Technik näher. Mit Morello würden demnach die unter anderem von der University of Cambridge umgesetzten Cheri-Befehlssatzerweiterungen erstmals praktisch umgesetzt. Cheri steht dabei für Capability Hardware Enhanced RISC Instructions.

Zu Cheri heißt es: "Die Speicherschutzfunktionen von Cheri ermöglichen die Anpassung historisch speicherunsicherer Programmiersprachen wie C und C++, um einen starken, kompatiblen und effizienten Schutz gegen viele derzeit weit verbreitete Schwachstellen zu bieten". Ziel ist es also, eine der wichtigste Klassen von Sicherheitslücken bereits in der Hardware zu verhindern.

Golem Karrierewelt
  1. Java EE 8 Komplettkurs: virtueller Fünf-Tage-Workshop
    20.-24.06.2022, virtuell
  2. DP-203 Data Engineering on Microsoft Azure virtueller Vier-Tage-Workshop
    12.-15.09.2022, virtuell
Weitere IT-Trainings

Grundsätzlich neu sind derartige Ansätze über eine Absicherung in Hardware nicht, sie reichen zurück bis zu den Anfängen der MMU. Inzwischen werden in aktuellen CPU-Architekturen dafür Funktionen wie etwa das Memory Tagging von ARM genutzt, das bereits in Android oder Linux genutzt wird. Das Cheri-Projekt setzt nun auf die sogenannten Capabilitys, mit denen seit Jahrzehnten experimentiert wird, die in aktuellen CPU-Architekturen aber nicht genutzt werden.

CPU-Capabilitys von Cheri

Mit Cheri und dem Morello-Projekt gehen die Beteiligten aber deutlich darüber hinaus. Microsoft beschreibt das Problem bisheriger Architekturen so: "Jeder Code, der in einem Prozess ausgeführt wird, kann einen ganzzahligen Wert konstruieren, und wenn diese Ganzzahl einer gültigen Stelle im Adressraum des Prozesses entspricht, kann er an dieser Stelle auf den Speicher zugreifen". Davon machten Angreifer "jeden Tag" Gebrauch.

Zu Cheri schreibt Microsoft im Gegensatz dazu: "Jeder Lade- oder Speicherbefehl und jeder Befehlsabruf muss durch eine Architektur-Capability autorisiert werden. Lade- und Speicherbefehle nehmen anstelle einer ganzzahligen Adresse eine Capability als Basis. Die Funktion identifiziert eine Adresse und gewährt Zugriff auf einen Speicherbereich (einschließlich Berechtigungen wie Lesen, Schreiben oder Ausführen)".

Hacking & Security: Das umfassende Handbuch. 2. aktualisierte Auflage des IT-Standardwerks (Deutsch) Gebundene Ausgabe

Der nun erstellte und umgesetzte Befehlssatz enthält dabei Befehle zum Steuern der Capabilitys. Die zunächst gegebenen Rechte können dabei nur verringert, jedoch nicht erweitert werden. Dies umfasse auch die Capability selbst, die als nichtadressierbares Tag-Bit im Speicher abgelegt werde. Ein Versuch, dieses zu überschreiben, mache die Capability ungültig. Der damit verbundene Speicher kann also nicht mehr genutzt werden.

Speichersicherheit in der Hardware verhindert Lücken

Mit Hilfe der Capabilitys könnte etwa die Anzahl von Sprüngen im Code begrenzt werden. Darüber hinaus entspreche in der Cheri-ABI jeder Zeiger einer Sprache wie C oder C++ genau einer Capability. Wird neuer Speicherbereich angefordert, etwa über Malloc oder new, werde dafür eine neue Capability bereitgestellt. Der Zeiger habe so nur noch Zugriff auf genau ein Objekt und es gebe keinen Mechanismus, der diesen Zeiger auf ein anderes Objekt verweisen lassen könnte.

Laut einer Sicherheitsanalyse der Architektur konnte Microsoft damit mehr als 40 Prozent der vom MSRC bearbeiteten Sicherheitslücken verhindern. In einem Desktop-System mit freier Software steige die Rate einer weiteren Untersuchung (PDF) zufolge deutlich an, was die Vorteile von Cheri zeigt. Zur Nutzung im aktuellen Code reiche dabei im besten Fall ein Neukompilieren, oft seien aber auch nur kleinere Anpassungen notwendig, so Microsoft.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


ChemoKnabe 25. Jan 2022

Am Ende geht es nur darum, Code Injections jeglicher Art, sowie Manipulationen zu...

Steffo 24. Jan 2022

Nein, es kommt ganz auf das Konzept an. Rust macht diese Überprüfungen alle zur...

Proctrap 24. Jan 2022

Nach Aussage der Experten musst du einfach nur guten C(++) code schreiben, dann ist das...

Das... 24. Jan 2022

Die Erfahrung zeigt eben, dass es selbst nach Jahren der Anstrengung genau das eben nicht...



Aktuell auf der Startseite von Golem.de
Satellitenkommunikation
Bundeswehr soll Starlink testen

Das deutsche Heer soll Produkte für private Satellitenkommunikation testen. Das Verteidigungsministerium nennt in diesem Zusammenhang Starlink von SpaceX.
Eine Exklusivmeldung von Lennart Mühlenmeier

Satellitenkommunikation: Bundeswehr soll Starlink testen
Artikel
  1. City M 2.0: Strøm baut minimalistisches Pendler-E-Bike
    City M 2.0
    Strøm baut minimalistisches Pendler-E-Bike

    Das Strøm City M 2.0 ist ein E-Bike, das wegen seiner schlichten Linienführung auffällt und über Indiegogo für 1.095 Euro angeboten wird.

  2. Macht mich einfach wahnsinnig: Kelber beklagt digitale Inkompetenz von VW
    "Macht mich einfach wahnsinnig"
    Kelber beklagt digitale Inkompetenz von VW

    Der Bundesdatenschutzbeauftragte Ulrich Kelber hat vor einem Jahr ein Elektroauto bei VW bestellt. Und seitdem nichts mehr davon gehört.

  3. Unikate: Deutsche Post verkauft eine Milliarde Matrixcode-Briefmarken
    Unikate
    Deutsche Post verkauft eine Milliarde Matrixcode-Briefmarken

    Die Deutsche Post begann im Februar 2021, Briefmarken mit Matrixcode zu verkaufen. Nun wurden bereits eine Milliarde Stück verkauft.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Xbox Series X bestellbar • Samsung schenkt 19% MwSt. • MindStar (u. a. AMD Ryzen 9 5950X 488€) • Cyber Week: Jetzt alle Deals freigeschaltet • LG OLED TV 77" 62% günstiger: 1.749€ • Bis zu 35% auf MSI • Alternate (u. a. AKRacing Core EX SE Gaming-Stuhl 169€) [Werbung]
    •  /