• 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. Porsche Digital GmbH, Berlin
  2. PETKUS Holding GmbH, Wutha-Farnroda

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. Seagate BarraCuda Compute 8 TB für 158,90€ + 6,79€ Versand und Edifier Studio 1280T...
  2. 60,99€ (Vergleichspreis 77,81€)
  3. (u. a. MX500 1 TB für 93,10€ mit Gutschein: NBBCRUCIALDAYS)
  4. (u. a. ASUS TUF Gaming VG32VQ1B WQHD/165 Hz für 330,45€ statt 389€ im Vergleich und Tastaturen...

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
       


Disney Plus - Test

Der Streamingdienst Disney Plus wurde am 24. März 2020 endlich auch in Deutschland gestartet. Golem.de hat die Benutzeroberfläche einem Test unterzogen und auch einen Blick auf das Film- und Serienangebot des Netflix-Mitbewerbers geworfen.

Disney Plus - Test Video aufrufen
Indiegames-Rundschau: Stadtbaukasten trifft Tentakelmonster
Indiegames-Rundschau
Stadtbaukasten trifft Tentakelmonster

Traumstädte bauen in Townscaper, Menschen fressen in Carrion und Bilderbuchgrusel in Creaks: Die neuen Indiegames bieten viel Abwechslung.
Von Rainer Sigl

  1. Indiegames-Rundschau Licht aus, Horror an
  2. Indiegames-Neuheiten Der Saturnmond als galaktische Baustelle
  3. Indiegames-Rundschau Dunkle Seelen im Heavy-Metal-Rausch

Golem on Edge: Wo Nachbarn alles teilen - auch das Internet
Golem on Edge
Wo Nachbarn alles teilen - auch das Internet

Mehr schlecht als recht arbeiten zu können und auch nur dann, wenn die Nachbarn nicht telefonieren - das war keine Dauerlösung. Wie ich endlich Internet in meine Datsche bekommen habe.
Eine Kolumne von Sebastian Grüner

  1. Digitalisierung Krankschreibung per Videosprechstunde wird möglich
  2. Golem on Edge Homeoffice im Horrorland
  3. Anzeige Die voll digitalisierte Kaserne der Zukunft

Sysadmin Day 2020: Du kannst doch Computer ...
Sysadmin Day 2020
Du kannst doch Computer ...

Das mit den Computern könne er vergessen, sagte ihm das Arbeitsamt nach dem Schulabschluss. Am Ende wurde Michael Fischer aber doch noch Sysadmin, zur allerbesten Sysadmin-Zeit.
Ein Porträt von Boris Mayer


      •  /