Abo
  • IT-Karriere:

Google: Android-Kernel verhindern Manipulation des Programmablaufs

Eine bekannte Methode für Angriffe ist die Manipulation des Ablaufes eines Programms mit Hilfe eines Bugs, um anderen Code auszuführen. Aktuelle Android-Kernel und vor allem der des Pixel 3 sollen dies aber dank Control-Flow-Integrity (CFI) verhindern.

Artikel veröffentlicht am ,
Das Pixel 3, hier die XL-Version, nutzt CFI im Kernel gegen Angriffe.
Das Pixel 3, hier die XL-Version, nutzt CFI im Kernel gegen Angriffe. (Bild: Martin Wolf/Golem.de)

"Googles Pixel 3 wird das erste Android-Gerät sein, das mit der Control-Flow-Integrity-Technik (CFI) von LLVM im Kernel ausgeliefert wird, und wir haben die CFI-Unterstützung in den Android-Kernel-Versionen 4.9 und 4.14 verfügbar gemacht", schreibt der Android-Sicherheitsentwickler Sami Tolvanen im Entwicklerblog für das mobile Betriebssystem von Google.

Stellenmarkt
  1. CPA Software Consult GmbH, Langenfeld
  2. Allianz Deutschland AG, Stuttgart

Die CFI-Technik soll eine ganz bestimmte Art und Weise von Angriffen verhindern. Dabei werden Fehler im Code ausgenutzt, um den Programmablauf zu manipulieren, etwa indem Funktionszeiger überschrieben werden. Angreifer können so beliebigen anderen Code eines Programms ausführen, um ihren Angriff zum Erfolg zu führen, auch wenn kein eigener Code eingeschleust werden kann. Wegen der besonders großen Zahl an Funktionszeigern im Linux-Kernel und dem dort sonst üblichen Schutz des Speichers ist diese Art Angriff eine beliebte Angriffsmethode, um Code mit den Rechten des Kernels auszuführen.

Mit Hilfe der CFI soll nun verhindert werden, dass Angreifer durch Ausnutzen eines Fehlers zu beliebigen Stellen im Code springen können. Erlaubt sind stattdessen nur noch jene Aufrufe, die im normalen Programmablauf erlaubt wären. Überprüft wird dies mithilfe eines Kontrollflussgraph (Control Flow Graph, CFG). Das verhindert zwar die Vorgehensweise des Angriffs nicht völlig, schränkt die Möglichkeiten eines Angreifers jedoch teilweise massiv ein. Die CFI wird dabei über den Compiler umgesetzt, der dazu bestenfalls den gesamte Code auf einmal analysieren kann. Letzteres wiederum wird über die sogenannte Link-Time-Optimization (LTO) umgesetzt.

Die LTO sorgt darüber hinaus für schnelleren Code, da Optimierungen wie erwähnt für den gesamten Code umgesetzt werden können. Daraus ergeben sich aber auch größere Binärdateien, sodass Android-Gerätehersteller einige LTO-spezifische Optimierungen aber auch deaktivieren können. Unabhängig davon empfiehlt Google allen Herstellern, die Geräte mit dem aktuellen Android 9 alias Pie vertreiben, den CFI-Schutz zu verwenden. Dazu hat das Kernel-Team von Android die sogenannten Common-Kernel, die aktuellen Linux-Versionen 4.9 und 4.14 so angepasst, dass diese mit CFI eingesetzt werden können.



Anzeige
Top-Angebote
  1. (u. a. Hunt Showdown für 29,99€, Forza Motorsport 7 für 28,49€ und Hitman 2 für 14,49€)
  2. (heute u. a. Xbox One Bundles mit FIFA 20)
  3. 179€ (Bestpreis!)
  4. (z. B. Core i5 9600K + Gigabyte Z390 Aorus Master für 468,00€, Core i7 900K + MSI MPG Z390...

bastie 12. Okt 2018

Die meisten Leute benutzen schon ab zwei Stück den Plural, von daher geht das in Ordnung...

Robert.Mas 12. Okt 2018

Weil Xposed und Magisk zwei völlig unterschiedliche Dinge sind?


Folgen Sie uns
       


World of Warcraft Classic angespielt

Spielen wie zur Anfangszeit von World of Warcraft: Golem.de ist in WoW Classic durch die Fantasywelt Azeroth gezogen und hat sich mit Kobolden und Bergpumas angelegt.

World of Warcraft Classic angespielt Video aufrufen
Geothermie: Wer auf dem Vulkan wohnt, muss nicht so tief bohren
Geothermie
Wer auf dem Vulkan wohnt, muss nicht so tief bohren

Die hohen Erwartungen haben Geothermie-Kraftwerke bisher nicht erfüllt. Weltweit setzen trotzdem immer mehr Länder auf die Wärme aus der Tiefe - nicht alle haben es dabei leicht.
Ein Bericht von Jan Oliver Löfken

  1. Nachhaltigkeit Jute im Plastik
  2. Nachhaltigkeit Bauen fürs Klima
  3. Autos Elektro, Brennstoffzelle oder Diesel?

Dick Pics: Penis oder kein Penis?
Dick Pics
Penis oder kein Penis?

Eine Studentin arbeitet an einer Software, die automatisch Bilder von Penissen aus Direktnachrichten filtert. Wer mithelfen will, kann ihr Testobjekte schicken.
Ein Bericht von Fabian A. Scherschel

  1. Medienbericht US-Regierung will soziale Netzwerke stärker überwachen
  2. Soziales Netzwerk Openbook heißt jetzt Okuna
  3. EU-Wahl Spitzenkandidat Manfred Weber für Klarnamenpflicht im Netz

Programmiersprache: Java 13 bringt mehrzeilige Strings mit Textblöcken
Programmiersprache
Java 13 bringt mehrzeilige Strings mit Textblöcken

Die Sprache Java steht im Ruf, eher umständlich zu sein. Die Entwickler versuchen aber, viel daran zu ändern. Mit der nun verfügbaren Version Java 13 gibt es etwa Textblöcke, mit denen sich endlich angenehm und ohne unnötige Umstände mehrzeilige Strings definieren lassen.
Von Nicolai Parlog

  1. Java Offenes Enterprise-Java Jakarta EE 8 erschienen
  2. Microsoft SQL-Server 2019 bringt kostenlosen Java-Support
  3. Paketmanagement Java-Dependencies über unsichere HTTP-Downloads

    •  /