Ich weiß nicht viel über den Linux-Kernel und habe einige Fragen.
Was ist der Hauptzweck der Trennung des Kernel-Speichers vom User-Space-Speicher? Um sicherzustellen, dass eine Benutzeranwendung dem Kernel nichts Böses antun kann?
Wie viele Möglichkeiten gibt es für eine Anwendung auf Benutzerebene, um die Kontrolle auf den Kernel zu übertragen? Was ich mir einfallen lassen kann, ist (1) das Aufrufen eines Systemaufrufs, (2) das Zuordnen des Speichers zum Kernel (aber ich denke, mmap () ist auch ein Systemaufruf) und (3) das Laden eines Kernelmoduls (aber ich denke, lsmod ruft auch einen Systemaufruf auf). Hab ich recht? Gibt es andere Möglichkeiten, die ich verpasst habe?
Wie viele Möglichkeiten, den Kernel anzugreifen? Darf ich einige kurze Details darüber haben?
Wenn ich das Root-Privileg erhalte, bedeutet das, dass ich den Kernel vollständig kontrolliere? Kann ich nämlich mit dem Kernel und der Hardware machen, was ich will? Oder habe ich immer noch begrenzte Leistung im Kernel?
Ich würde es wirklich begrüßen, wenn mir jemand helfen könnte, die Antwort auf diese Fragen herauszufinden.