Ich möchte meinen Hypervisor auf Linux für die Erkennung und Überwachung von Zielprozess wie eine Malware machen.
Um dies zu erreichen, muss der Hypervisor Prozesse erkennen, die erstellt oder beendet oder Task-switched sind.Mit Hypervisor, Wie zur Überwachung der Zeit, wenn Zielprozess erstellt oder beendet wird
Auf Intel CPU wusste ich, dass cr3 Register diese Rollen anzeigen.
zum Beispiel, wenn cr3 Registerwert geändert wird, vmexit
verursacht. Und es bedeutet, dass der ausgeführte Prozess geändert wird (Taskwechsel oder Erstellungsprozess).
Um mein Ziel zu erreichen, dachte ich, dass dieser Mechanismus sehr benutzerfreundlich ist.
Um jedoch den erstellten Prozess und den beendeten Prozess zu erkennen, muss task_struct überprüft werden, wenn vmexit
aufgrund des geänderten cr3-Werts vorliegt.
Vergleichen Sie insbesondere task_struct mit Zielprozesslisten, um den beendeten Prozess aus den Zielprozesslisten zu erkennen und zu entfernen.
Können Sie mir die beste Praxis sagen oder mir OSS wie meins beibringen.
Unter Windows ich wäre in der Lage PsSetCreateProcessNotifyRoutine
API verwenden ....