• 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. Universitätsklinikum Frankfurt, Frankfurt am Main
  2. DMK E-BUSINESS GmbH über Personalwerk Holding GmbH, Chemnitz, Berlin-Potsdam, Köln

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
Mobile-Angebote
  1. (u. a. Apple iPhone 11 Pro Max 256GB 6,5 Zoll Super Retina XDR OLED für 929,98€)
  2. 159,99€ (mit Rabattcode "POWERFRIDAY20" - Bestpreis!)
  3. 699€ (mit Rabattcode "POWERFRIDAY20" - Bestpreis!)

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
       


    •  /