Security: Android bekommt automatische Speicherinitialisierung

Das soll typische Lücken in C verhindern. Außerdem erhält Android 11 einen neuen Allocator und einen Address Sanitizer für den Kernel.

Artikel veröffentlicht am ,
Android bekommt neue Sicherheitsfunktionen.
Android bekommt neue Sicherheitsfunktionen. (Bild: Justin Sullivan/Getty Images)

Das Android-Team von Google hat in seinem Developers Blog eine Reihe von Sicherheitsverbesserungen für das kommende Android 11 angekündigt. Diese umfassen vor allem Techniken, die die Ausnutzung typischer Fehler der Programmiersprachen C und C++ erschweren oder verhindern sollen. Dazu gehört unter anderem, dass Android künftig eine automatische Speicherinitialisierung nutzen wird.

Stellenmarkt
  1. Embedded Software Developer (m/f/d) Wind Turbines
    ENERCON GmbH, verschiedene Standorte
  2. IT-Mitarbeiter*in (m/w/d) (Systemadministration / Support/IT-Projektmanagement)
    Evangelische Kirche in Deutschland, Hannover
Detailsuche

Das zugrundeliegende Problem ist, dass es die Programmiersprachen C und C++ nicht forcieren, Variablen bei der Deklaration zu initialisieren. Das heißt, ihnen werden unter Umständen keine Werte zugewiesen. Das ist jedoch nicht definiertes Verhalten und kann etwa dazu führen, dass geschützte Inhalte von Speicherbereichen versehentlich offengelegt oder dass die Speicherbereiche direkt genutzt werden. Beides kann zu Sicherheitslücken führen.

Erst vor wenigen Wochen hatte Microsoft angekündigt, die Speicherinitialisierung für Windows umsetzen zu wollen. Nun folgt also auch Google mit Android. Dafür wird eine Funktion des Clang-Compilers verwendet, der Variablen künftig entweder mit Nullen oder bestimmten Mustern initialisiert. Das Google-Team hat dies für den gesamten Android-Userspace umgesetzt.

Auch der von Android genutzte Linux-Kernel bekommt eine automatische Initialisierung für Stack und Heap. Diese Technik ist bereits Teil des Hauptzweigs von Linux und wurde vom Android-Team auf dessen noch gepflegte Versionen 4.14, 4.19 und 5.4 zurückportiert. Für die Heap-Initialisierung setzt Google auf ein Boot-Flag, das dafür sorgt, neue Speicherbereiche bei der Zuweisung mit Nullen zu überschreiben. Der Stack wird über die Kernel-Option CONFIG_INIT_STACK_ALL initialisiert.

Scudo als Allocator

Golem Karrierewelt
  1. Einführung in Unity: virtueller Ein-Tages-Workshop
    13.10.2022, Virtuell
  2. Einführung in das Zero Trust Security Framework (virtueller Ein-Tages-Workshop)
    02.11.2022, virtuell
Weitere IT-Trainings

Android nutzt künftig standardmäßig auch das aus dem LLVM-Projekt stammende Werkzeug Scudo als Allocator zur Speicherzuweisung. Damit sollen typische Fehler wie Double free, Arbitrary free, Heap-based buffer overflow und Use-after-free erkannt und verhindert werden. Zwar sei das Werkzeug nicht perfekt und verhindere die Ausnutzung von Lücken nicht komplett, Tests hätten das Team jedoch vom positiven Nutzen überzeugt.

Als Teil von Scudo arbeitet außerdem GWP-ASan, das eventuelle Heap-Speicherfehler finden soll und darüber informiert. Ebenso weiter ausgebaut hat das Android-Team auch die Nutzung seines Hardware-Assisted Address Sanitizer (HWASAN), was mit Android 10 eingeführt wurde und nun auf den Kernel erweitert wird. Genutzt wird dafür ARMs Memory Tagging Extension (MTE).

Die Nutzung von sogenannten Sanitizern in Android hat Google außerdem weiter ausgebaut, etwa zur Nutzung mit der Bibliothek für Fonts oder jener zum Rendern des UIs. Gehärtet hat das Team damit auch seine NFC-Implementierung. Die ebenfalls schon länger genutzte Control-Flow-Integrity (CFI) hat das Team auf den Netzwerk-Daemon und den DNS-Resolver erweitert.

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
Nach Datenleck
Softwareentwickler durch Privatdetektiv bedroht

Durch Zufall entdeckte ein Entwickler ein Datenleck, meldete es und informierte die Betroffenen. Kurze Zeit später stand ein Privatdetektiv vor seiner Tür.
Eine Recherche von Moritz Tremmel

Nach Datenleck: Softwareentwickler durch Privatdetektiv bedroht
Artikel
  1. Meta: Es ist euer Job, euch in Horizon Worlds zu verlieben!
    Meta
    "Es ist euer Job, euch in Horizon Worlds zu verlieben!"

    Amüsante Auszüge aus Memos von Meta zeigen, dass nicht mal die Entwickler von Horizon Worlds gerne in ihre virtuelle Welt eintauchen.

  2. Iran: Zwei Eutelsat-Satelliten mit Jammern angegriffen
    Iran
    Zwei Eutelsat-Satelliten mit Jammern angegriffen

    Auch Eutelsat-Satelliten werden vom Iran aus gezielt gestört. Die Massenproteste im Iran bekommen immer mehr aufstandsähnliche Züge.

  3. Klage gegen Datenschutzaufsicht: Bundeskriminalamt weigert sich, Funkzellendaten zu löschen
    Klage gegen Datenschutzaufsicht
    Bundeskriminalamt weigert sich, Funkzellendaten zu löschen

    Das BKA will gesammelte Überwachungsdaten nicht löschen müssen. Deswegen klagt die Polizei gegen einen Bescheid des obersten Datenschützers.
    Eine Exklusivmeldung von Lennart Mühlenmeier

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 • iPhone 14 Plus jetzt erhältlich • Günstig wie nie: Gigabyte RTX 3090 Ti 1.099€, Sapphire RX 6900 XT 834,99€, KF DDR5-5600 16GB 99,39€, Logitech Gaming-Maus 69,99€, MSI Curved 27" WQHD 165Hz 289€ • AMD Ryzen 7 5800X3D 429€ • NfS Unbound vorbestellbar • 3 Spiele für 49€ [Werbung]
    •  /