GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Gibt ein kompromittierter Kernel vollständige Kontrolle über ein Gerät?

Das Ausführen von Code im "Kernel-Space" bedeutet, dass es im Ring-0-Space ausgeführt wird. Mit anderen Worten, es ist die strikte Definition von „totaler Kontrolle“.

Die einzige Ausnahme wäre, wenn Sie einen Hypervisor ausführen. In einem solchen Fall würde Ihnen das Ausführen von Code in Ring 0 des virtualisierten Betriebssystems "nur" die volle Kontrolle über das virtualisierte Gerät geben, nicht den Hypervisor (der angeblich in Ring -1 läuft), auf dem es läuft. Sie würden einen separaten Escape-Exploit benötigen, um dorthin zu gelangen.


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

Das ist möglich. Da alle Berechtigungsprüfungen (d. h. Dateizugriff, Zugriff auf die Tastatur ...) innerhalb des Kernels durchgeführt werden, könnte Code, der innerhalb des Kernels ausgeführt wird, die erforderlichen Aktionen einfach direkt aufrufen, ohne diese Prüfungen auszuführen.

Würde es einem kompromittierten Gerät ermöglichen, auf die gleiche Weise einen OTA-Angriff auf andere Geräte durchzuführen (und zu einem Wurm zu werden)?

Es ist möglich, dass einige Aktionen Kernel-Zugriff benötigen, wie die Fähigkeit, manipulierte Netzwerkpakete zu erstellen, die verwendet werden können, um ein anderes Gerät zu kompromittieren. Das bedeutet aber nicht, dass Sie für solche Angriffe immer Kernel-Zugriff benötigen, d.h. Root-Zugriff reicht normalerweise aus und manchmal kann dies sogar ein normaler Benutzerprozess tun, je nach genauem Angriff.

Werden diese Bedenken durch andere Sicherheitsfunktionen wie SELinux, dm-verity usw. gemildert?

Sobald der Angreifer Zugriff auf den Kernel hat, helfen diese Techniken nicht weiter. Aber sie könnten helfen, damit der Angreifer keinen Kernel-Zugriff bekommt. Aber ob sie helfen oder nicht, hängt vom genauen Angriffsvektor ab. Sie helfen beispielsweise nicht im Fall der kürzlich aufgetretenen Schwachstelle im Broadcom-Netzwerktreiber, die durch bestimmte Netzwerkpakete ausgelöst werden könnte.


Linux
  1. Linux – Woher kennt der Linux-Kernel Geräte-Major- und Minor-Nummern?

  2. Ermitteln Sie, welcher Gast auf XEN ausgeführt wird:HVM- oder PV-Gast

  3. Wie unterscheidet sich der Linux-Kernel von Mikrokernel-Architekturen?

  4. Wie behält Linux die Kontrolle über die CPU auf einem Single-Core-Rechner?

  5. Warum muss ein RAID 10-Gerät initialisiert werden?

Vollständiges Handbuch zur Linux-Protokollierung

Benutzer- und Kernelzeit eines laufenden Prozesses abrufen?

Wie kann man nach dem Alt + Sysrq + R-Trick die Kontrolle über die Tastatur an den X-Server zurückgeben?

Ausführen von Adb-Geräten, die ein nicht autorisiertes Gerät anzeigen?

Verwenden Sie ein Gerät über SSH?

Warum gibt mir rsync über SSH den 10-fachen Durchsatz von SCP?