Einzelnen Beitrag anzeigen

Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Systemprozess von nicht Systemprozess unterscheiden

  Alt 9. Mai 2010, 18:17
Hi!

Zitat von Delphi-Laie:
Zitat von rollstuhlfahrer:
An diesen kommt man über die Kommandozeile inkl. Parameter
Es geht doch hier um ein Programm und nicht um die (manuelle!) Bedienung einer Textkonsole!
Er meint damit die Kommandozeile, die verwendet wurde, um das Programm zu starten. Diese wird für jeden Prozess von Windows mitgespeichert und kann z.B. auch im Taskmanager angezeigt werden (passende Spalte hinzufügen).

Zitat von Delphi-Laie:
Zitat von rollstuhlfahrer:
Wodurch sich Systemprozesse noch von anderen Prozessen unterscheiden ist, dass der Firmenname auf "Microsoft Coporation" steht. Ich glaube auch, dass die Systemprozesse alle digital signiert sind und die meisten der frei rumlaufenden Viren/Trojaner/Bots nun eben mal nicht.

Also: Ein wirklich gutes Alleinstellungsmerkmal ist das Prüfen auf ein digitales Zertifikat und die Prüfung dieses Zertifikats. Wie man das allerdings anstellt, weiß ich nicht.
Ein wirklich gutes? Was ist mit den Diensten? Die müssen keinesfalls alle von Mikroweich stammen (kann man schließlich auch selbst programmieren), doch nach meinem Wissen laufen die regelmäßig im Kernelmodus! Müssenn die wirklich digital signiert sein?
Ein weiteres mögliches Merkmal ist die SID des Prozessbesitzers. Systemprozesse laufen meist im Kontext des Benutzers "SYSTEM" (SID: "S-1-5-18" siehe hier). Dies mag zwar nicht auf alle Prozesse zutreffen, aber auf den hier erfragten smss.exe trifft dies zu.

Zitat:
Ein nach meiner Beobachtung eindeutiges Unterscheidungsmermal ist z.B., daß die Kernelmodusprozesse - im Gegensatz zu den Usermodusprozessen - den Modulschnappschuß nicht a priori erlauben, sondern erst nach explizter Privileganforderung. Allerdings weiß ich nicht, wie man Modulanzahl 0 (eigentlich gar nicht möglich, die Exe muß als 1 Modul eigentlich immer zurückgeliefert werden) von einem abgewiesenen Modulschnappschuß unterscheiden kann.
Moment. Es gibt nur einen Prozess, der im Kernelmodus läuft und das ist der, der durch den Code von ntoskrnl.exe und den Treibern gespeist wird (und das ist nichteinmal ein richtiger Prozess...). Die anderen Prozesse laufen ALLE im Usermodus. Die Systemprozesse laufen "nur" unter einem authorisierten Benutzerkonto (z.B. oben genanntes "SYSTEM"-Konto).

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat