Frage:
Gibt ein kompromittierter Kernel die vollständige Kontrolle über ein Gerät?
z0r
2017-04-13 19:21:09 UTC
view on stackexchange narkive permalink

Es scheint, dass eine kürzlich aufgetretene Sicherheitslücke in der WiFi-Firmware es einem Angreifer ermöglicht, Code im Kernelraum auszuführen, z. Ersetzen Sie eine Kernelfunktion durch bösartigen Code. In Android / Linux:

  • Würde dies einem Angreifer die vollständige Kontrolle über das Telefon geben? Könnten sie beispielsweise einen Keylogger oder andere Malware installieren?
  • Würde es einem kompromittierten Gerät ermöglichen, einen OTA-Angriff auf andere Geräte auf die gleiche Weise auszuführen (ein Wurm zu werden)?
  • Werden diese Bedenken durch andere Sicherheitsfunktionen wie SELinux, dm-verity usw. gemildert?

Grundsätzlich frage ich mich, wie wichtig diese OTA-Sicherheitsanfälligkeit ist ungepatchte Telefone.

Zwei antworten:
Stephane
2017-04-13 19:36:16 UTC
view on stackexchange narkive permalink

Das Ausführen von Code im "Kernel Space" bedeutet, dass er im Ring 0 Space ausgeführt wird. Mit anderen Worten, es ist die strikte Definition von "vollständige Kontrolle".

Die einzige Ausnahme wäre, wenn Sie einen Hypervisor ausführen. In einem solchen Fall würde das Ausführen von Code in Ring 0 des virtualisierten Betriebssystems "nur" die vollständige Kontrolle über das virtualisierte Gerät geben, nicht über den Hypervisor (der angeblich in Ring -1 ausgeführt wird), auf dem es ausgeführt wird. Dazu benötigen Sie einen separaten Escape-Exploit.

Eine Ausnahme wäre jedes System mit einem [Sicherheits-Co-Prozessor] (https://en.wikipedia.org/wiki/Secure_cryptoprocessor), beispielsweise die "sichere Enklave" in Apple-Begriffen.
Steffen Ullrich
2017-04-13 19:41:46 UTC
view on stackexchange narkive permalink

Würde dies einem Angreifer die vollständige Kontrolle über das Telefon geben? Könnten sie beispielsweise einen Keylogger oder andere Malware installieren?

Dies ist möglich. Da alle Berechtigungsprüfungen (dh Dateizugriff, Zugriff auf die Tastatur ...) im Kernel durchgeführt werden, kann Code, der im Kernel ausgeführt wird, die erforderlichen Aktionen einfach direkt aufrufen, ohne diese Prüfungen auszuführen.

Würde Es ermöglicht einem kompromittierten Gerät, einen OTA-Angriff auf andere Geräte auf die gleiche Weise auszuführen (ein Wurm zu werden).

Es ist möglich, dass einige Aktionen Kernelzugriff benötigen, z. B. die Fähigkeit zum Erstellen manipulierte Netzwerkpakete, mit denen ein anderes Gerät kompromittiert werden kann. Dies bedeutet jedoch nicht, dass Sie für solche Angriffe immer einen Kernelzugriff benötigen, dh der Root-Zugriff ist normalerweise ausreichend und manchmal kann dies sogar ein normaler Benutzerprozess tun, abhängig vom genauen Angriff.

Sind dies Bedenken, die durch andere Sicherheitsfunktionen wie SELinux, dm-verity usw. gemildert werden?

Sobald der Angreifer über den Kernelzugriff verfügt, helfen diese Techniken nicht mehr. Sie können jedoch hilfreich sein, damit der Angreifer keinen Kernelzugriff erhält. Aber ob sie helfen oder nicht, hängt vom genauen Angriffsvektor ab. Zum Beispiel helfen sie nicht bei der jüngsten Sicherheitsanfälligkeit im Broadcom-Netzwerktreiber, die durch bestimmte Netzwerkpakete ausgelöst werden könnte.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...