• IT-Karriere:
  • Services:

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. Bechtle Onsite Services, München
  2. ING-DiBa AG, Frankfurt

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.

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. Spellforce Complete Pack für 9,99€, 1943 Deadly Desert für 2,15€, Prison Architect...
  2. ab 1€
  3. 34,99€ (Vergleichspreis 79€)
  4. 573,08€ (mit Rabattgutschein - Vergleichspreis 604€)

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
       


Baldurs Gate 3 - Spieleszenen

Endlich: Es geht weiter! In Baldur's Gate 3 sind Spieler erneut im Rollenspieluniversum von Dungeons & Dragons unterwegs, um gemeinsam mit Begleitern spannende Abenteuer in einer wunderschönen Fantasywelt zu erleben.

Baldurs Gate 3 - Spieleszenen Video aufrufen
    •  /