• IT-Karriere:
  • Services:

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. über duerenhoff GmbH, Hamburg
  2. Lidl Digital, Neckarsulm

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

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


Anzeige
Top-Angebote
  1. (u. a. Galaxy Tab S7+ ab 681,38€, Galaxy Note 20 Ultra 5G 256GB für 1.266€, Galaxy Watch3 LTE...
  2. (u. a. Anno History Collection für 26,29€, Monster Hunter World - Iceborne (Master Edition) für...
  3. 46,19€ (Standard Edition)/59,39€ (Digital Deluxe Edition)
  4. (u. a. Crucial Ballistix 16GB DDR4-3200 RGB für 78,78€, Crucial Ballistix 32GB DDR4-2666 für...

M.P. 01. Jul 2020 / Themenstart

Das meinte ich damit, dass es eh keinen Speicherschutz zwischen Threads gibt ...

Thargon 01. Jul 2020 / Themenstart

Schlechter Code ist und bleibt schlechter Code. Man muss natürlich abwägen, ob es...

Kommentieren


Folgen Sie uns
       


Huawei Mate Xs im Test

Das Mate Xs von Huawei ist ein Smartphone mit faltbarem Display - und für uns das erste, das vom Design her alltagstauglich ist. Das dürfte allerdings zu Lasten der Widerstandsfähigkeit gehen.

Huawei Mate Xs im Test Video aufrufen
Oneplus Nord im Test: Oneplus' starker Vorstoß in mittlere Preisregionen
Oneplus Nord im Test
Oneplus' starker Vorstoß in mittlere Preisregionen

Das Oneplus Nord ist kein Mittelklasse-Smartphone - dafür ist es zu gut. Für 400 Euro gibt es aktuell kaum ein Gerät mit vergleichbar gutem Ausstattungsmix.
Ein Test von Tobias Költzsch

  1. Smartphone Oneplus Nord kostet ab 400 Euro
  2. Smartphone Oneplus bestätigt Details zum neuen Nord

Workflow: Arbeite lieber asynchron!
Workflow
Arbeite lieber asynchron!

Die Arbeit im Homeoffice ist geprägt von Ablenkung und Terminen. Dabei geht es auch anders: mit asynchroner Kommunikation.
Von Eike Kühl

  1. Homeoffice "Die Steuerersparnis ist geringer als die meisten meinen"
  2. Anzeige Top ausgestattet im Homeoffice
  3. Schule daheim Wie uns ein wenig Technik zu besseren Ersatzlehrern macht

Funkverschmutzung: Wer stört hier?
Funkverschmutzung
Wer stört hier?

Ob WLAN, Bluetooth, IoT oder Radioteleskope - vor allem in den unlizenzierten Frequenzbändern funken immer mehr elektronische Geräte. Die Folge können Störungen und eine schlechtere Performance der Geräte sein.
Ein Bericht von Jan Rähm

  1. 450 MHz Bundesnetzagentur legt sich bei neuer Frequenzvergabe fest
  2. Aus Kostengründen Tschechien schafft alle Telefonzellen ab
  3. Telekom Bis Jahresende verschwinden ISDN und analoges Festnetz

    •  /