ARM64: Memory-Tagging gegen Speicherlücken in Linux eingepflegt

Kommende ARM-CPUs bieten Befehle, die Speicherlücken erkennen sollen. Google will dies in Android nutzen, die Grundlage dafür ist gelegt.

Artikel veröffentlicht am ,
Noch heißt es warten, bis die CPUs mit MTE verfügbar sind.
Noch heißt es warten, bis die CPUs mit MTE verfügbar sind. (Bild: Kimberley Collins, flickr.com/CC-BY 2.0)

Die kommende Version 5.10 des Linux-Kernels, die sich derzeit in Entwicklung befindet, wird die Befehlssatzerweiterung Memory Tagging Extension (MTE) von ARMv8.5 unterstützen. Ziel der MTE ist es, das Ausnutzen der vielen verschiedenen und vor allem häufigen Speicherfehler in C- und C++-Code deutlich zu erschweren oder gar ganz zu verhindern, indem derartige Fehler eben mithilfe der CPU erkannt werden.

Stellenmarkt
  1. Außendienst-Techniker*in / Regionale*r Betreuer*in
    VITRONIC Dr.-Ing. Stein Bildverarbeitungssysteme GmbH, Baden-Württemberg
  2. Ingenieur für industrielle und automatische Datenverarbeitung (m/w/d)
    ISL Deutsch Französisches Forschungsinstitut, Saint-Louis (Frankreich)
Detailsuche

Den Code dafür hat der Linux-Chefentwickler Linus Torvalds in den Hauptentwicklungszweig eingepflegt. Der zuständige Betreuer Will Deacon beschreibt die Funktion als "aufregend". Er hoffe, dass es damit möglich werde, die Erkennung von Use-After-Free-Lücken (UAF) im laufenden Betrieb für Userspace-Anwendungen zu nutzen, sofern die CPU die Befehlssatzerweiterung unterstützt. Die Funktion soll demnach außerdem möglichst schon mit der folgenden Linux-Kernel-Version 5.11 mit KASan (Kernel Address Sanitizer) und damit für den Kernel selbst genutzt werden können.

Die Idee des Memory Tagging ist, bestimmte Speicherbereiche mit einem Tag zu markieren, dazugehörige Zeiger erhalten den gleichen Tag. Soll über einen Zeiger auf den Speicher zugegriffen werden, überprüft die CPU die beiden Tags. Stimmen diese nicht überein, liefert die CPU eine Exception. Mithilfe der Befehlssatzerweiterung lassen sich die Tags direkt manipulieren.

Android wohl erstes Projekt mit MTE

Details zur konkreten Implementierung in Linux liefert das Magazin LWN.net in einer ausführliche Analyse. Demnach können Überläufe einfach dadurch erkannt werden, dass benachbarte Speicherbereiche unterschiedliche Tags verwenden. UAF-Lücken lassen sich erkennen, indem unmittelbar nach der Speicherfreigabe der Tag für den Speicherbereich geändert wird. Derzeit ist Nutzung dieser Möglichkeiten nicht standardmäßig im Linux-Kernel aktiviert. Vielmehr müssen Anwendungen die Nutzung explizit für bestimmte Speicherbereiche aktivieren.

Golem Akademie
  1. Jira für Systemadministratoren: virtueller Zwei-Tage-Workshop
    02./03.06.2022, virtuell
  2. AZ-104 Microsoft Azure Administrator: virtueller Vier-Tage-Workshop
    28.06.-01.07.2022, virtuell
Weitere IT-Trainings

Als eines der ersten großen Open-Source-Projekte wird wohl künftig Android auf die Nutzung der MTE setzen. Das zumindest hat das Sicherheitsteam von Google bereits im vergangenen Jahr angekündigt. Die MTE sollen demnach unter anderem beim Fuzzing eingesetzt werden. Google setzt aber auch darauf, dass App-Entwicklungsteams und Smartphone-Hersteller die Technik im Produktiveinsatz verwenden. Bis es so weit ist, muss es aber auch erst noch Hardware geben, die die MTE unterstützt, denn diese CPUs sind zurzeit noch nicht verfügbar.

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


Aktuell auf der Startseite von Golem.de
Forschung
Blaualge versorgt Computer sechs Monate mit Strom

Ein Forschungsteam hat einen Mikroprozessor sechs Monate ununterbrochen mit Strom versorgt. Die Algen lieferten sogar bei Dunkelheit.

Forschung: Blaualge versorgt Computer sechs Monate mit Strom
Artikel
  1. EC-Karte: Trotz Kartensperre können Diebe stundenlang Geld abheben
    EC-Karte
    Trotz Kartensperre können Diebe stundenlang Geld abheben

    Eine Sperre der Girocard wird nicht immer sofort aktiv. Verbraucher können sich bereits im Vorfeld schützen.

  2. Swisscom-Chef: Vermasselt habe ich nichts
    Swisscom-Chef
    "Vermasselt habe ich nichts"

    Urs Schaeppi gibt den Chefposten bei Swisscom auf. Sein Rückblick auf neun Jahre Konzernführung fällt ungewöhnlich offen aus.

  3. Raspberry Pi: Besser gießen mit Raspi und Xiaomi-Pflanzensensor
    Raspberry Pi
    Besser gießen mit Raspi und Xiaomi-Pflanzensensor

    Wer keinen grünen Daumen hat, kann sich von Sensoren helfen lassen. Komfortabel sind sie aber erst, wenn die Daten automatisch ausgelesen werden.
    Eine Anleitung von Thomas Hahn

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 • LG OLED TV (2021) 77" günstig wie nie: 1.771,60€ statt 4.699€ • Grakas günstig wie nie (u. a. RTX 3080Ti 1.285€) • Samsung SSD 1TB (PS5-komp.) + Heatsink günstig wie nie: 143,99€ • Microsoft Surface günstig wie nie • Jubiläumsdeals MediaMarkt • Bosch Prof. bis 53% günstiger[Werbung]
    •  /