Frage Können Anwendungen, die im Root-Modus ausgeführt werden, den Speicherbereich des Betriebssystems oder eines anderen Programms überschreiben?


ich lese Hier dass jede Anwendung, die im Root-Modus läuft, einen Kernel-Aufruf ausgeben und im Kernel-Modus ausführen kann. Es ist möglich, dass jede Anwendung, die im root-Modus läuft, einen Kernel aufrufen, in den Kernel-Modus wechseln und den Speicherbereich anderer Programme manipulieren kann, da fast alle Tutorials sagen, dass der Kernel-Modus COMPLETE ACCESS bietet meine Hardware, und wenn es so wäre, wäre das kein großer Sicherheitsfehler, wenn das Programm direkt nach dem Zugriff auf Root-Ebene Zugriff auf irgendeinen Speicherplatz auf RAM / DISK hätte?

(Ich habe Linux in meinen Gedanken, während ich diese Frage stelle)
BEARBEITEN:
Nun, ich bin wirklich davon überzeugt, dass in Linux der Speicher komplett freigelegt ist, kann jemand erklären, ob es in Windows und Unix genauso ist


3
2017-11-04 17:22


Ursprung


Es sollte in Windows gleich sein. Die Unterscheidung zwischen Kernelmodus und Benutzermodus ist eine x86-Funktion. Programme, die in Ring 0, d. H. Im Kernelmodus, ausgeführt werden, haben volle Rechte gegenüber allem, einschließlich des Speichers und der MMU. - Lie Ryan


Antworten:


Ja, das ist durchaus möglich - viele Linux-Systeme setzen sogar Speicher über die beiden Gerätedateien frei /dev/mem (für das physische Gedächtnis) und /dev/kmem (für virtuellen Speicher). Sie können auf den virtuellen Adressraum des Kernels über zugreifen /proc/kcore. Es ist natürlich nicht empfehlenswert, auf diese Geräte zu schreiben, da Sie Ihr System problemlos in den Papierkorb werfen können.

Ich bin nicht sicher, warum dies als ein Sicherheitsproblem betrachtet werden könnte - obwohl Sie in der Regel root sein müssen, um auf diese Geräte zu schreiben, und wenn Sie Root-Zugriff haben, können Sie bereits alles tun, was Sie wollen.


2
2017-11-04 20:20



Hey danke für die Antwort, kannst du mir mit meinem Schnitt helfen ??? - vikkyhacks
Andere Unix-Systeme können ebenfalls liefern /dev/mem oder /dev/kmem, obwohl Windows früher eine Möglichkeit bot, direkt aus dem physikalischen Speicher zu lesen Device\PhysicalMemoryscheint in den letzten Versionen deaktiviert zu sein. Sie können verwenden ReadProcessMemory aus dem Speicherbereich eines einzelnen Prozesses zu lesen. - user55325


Du scheinst Äpfel und Orangen zu mischen. Um die Antwort auf die Frage zu zitieren, auf die Sie sich beziehen, sind "Kernel-Modus und Root" zwei getrennte Ideen, die nicht wirklich miteinander verwandt sind. Das Konzept, einen Prozess als root auszuführen, ist ein Unix / Linux-Begriff, der bedeutet, dass Sie als Administrator des Systems angemeldet sind. ... Jeder Prozess, den Sie ausführen, ob als root oder normaler Benutzer, läuft im Allgemeinen sowohl im Benutzermodus als auch im Kernelmodus. "Also eine Bewerbung läuft als root im Allgemeinen kann nicht einfach umschalten und starten im Kernel-Modus. Alles, was es tun kann, ist dasselbe, was ein Nicht-Root-Prozess tun kann: eine Systemfunktion aufrufen, die bewirkt, dass der Betriebssystemkernel im Kernel-Modus läuft.

Das heißt, es ist wahr, dass die meisten Unix-basierten Systeme dem Root-Benutzer Privilegien geben, die für Nicht-Root-Benutzer / -Prozesse nicht verfügbar sind. Zum Beispiel, wie Benutzer 55325 darauf hinweist, haben die meisten Unix-basierten Systeme Pseudogeräte wie /dev/mem, /dev/kmem, und /proc/kcore Das gewährt privilegierten Prozessen Zugriff auf Speicher, der ihnen nicht gehört. Auch Root-Prozesse können kill jeder Prozess, und kann Prozess auf verschiedene Arten durch manipulieren /proc. Und natürlich hat root vollen Zugriff auf jede Datei. So ist es sicherlich richtig, dass ein Prozess, der Root-Zugriff erhält, eine Menge Macht hat; aber so läuft es.

Wenn Sie nicht immer von einer optischen Disc (CD / DVD) oder dem Netzwerk booten, wird das Betriebssystem in Dateien gespeichert, und ein Angreifer, der als root Zugang zu Ihrem Computer hat, kann das gesamte Betriebssystem neu schreiben und dann sitzen zurück und warten Sie auf einen Neustart. (Und, oh ja, fast hätte ich es vergessen; ein Root-Prozess kann auch Ihr System neu starten.) Also, ja, das Root-Privileg ist sehr mächtig.


2
2017-11-05 00:27