mik-c-os
hoi kay,
ich hab eine merkwürdigen bug gefunden
eigendlich sollte ein eingeschränkter benutzer kein recht haben
einen prozess zu beenden der mit gehobenen rechten läuft
ich habe testeshalber ein programm (internet explorer 7) mit adminrechten gestartet
und mit dem eingeschrenkten taskmanager abgeschossen
und merkwürdigerweise hat es auch noch geklappt...
und das witzigste kommt erst noch
wenn ich das mit windows ausführen als mache (administrator accound)
klappt das auch o.O?
also wenn ich das eingeschenkt machen kann kann das ein vierus auch...
[edit:] getestet mit surun 1.2.0.6 b11
trekkie22
Daß das mit einem Prozess geht, der per SuRun gestartet wurde, wundert mich nicht. Der Prozess läuft ja im Kontext des angemeldeten Benutzers, Admin-Rechte hin- oder her. Deine eigenen Prozesse kannst Du immer abschießen. Da ist nur der Benutzerkontext interessant, nicht welche Rechte der zu beendende Prozess hat.
Warum das bei einem per "runas" gestarteten Prozess geht, dazu muß Kay was sagen, so tief stecke ich dann nicht in Windows drin. Ich hab' aber eben mal mit dem ProcessExplorer einen Prozess angeschaut, den ich mit "runas" gestartet habe, da haben die eingeschränkten Benutzer Rechte drauf. Ich vermute mal, daß sich hier die Rechte vom angemeldeten Benutzer einfach auf den neuen Prozess vererben. Auch wenn er mit "runas" gestartet wurde, hat ihn ja der angemeldete Benutzer gestartet.
Einen Virus kann man nicht abhalten, Prozesse zu beenden, die im Kontext des angemeldeten Benutzers laufen. Deshalb laufen Virenscanner ja auch als Dienst... ;)
Kay
Unter XP kannst Du einen mit SuRun gestarteten Prozess als DAUser nicht beenden (Siehe Bild), weil die ACL das verhindert.
Unter Vista mit UAC-Administratoren benutzt SuRun den Vista-Eigenen "Split Token", um einen Prozess mit gehobenen Rechten zu starten. Dort kannst Du diese Prozesse als DAUser killen.
Wenn Du allerdings einen wirklich eingeschränkten Benutzer unter Vista hast, sollte das genau, wie in XP funktionieren, also kein Kill möglich sein.
mik-c-os
ich weis nicht ob das windows zulässt,
aber es währe schön wenn surun-pozesse nur noch administrativ beendet werden könnten
cosmo
Vielleicht sollten wir erst einmal sortieren, bevor wie eventuell aneinander vorbeireden.
Ein erhöht gestartetes Programm kann auf der Seite Anwendungen im Taskmanager beendet werden, ein Prozess (wie auch im Screenshot von Kay zu sehen) dagegen nicht, selbst wenn man im Kontextmenü des Programms mit "zu Prozeß wechseln" direkt und zweifelsfrei zu dem gleichen Prozeß geht.
Mik, wenn du tatsächlich Prozesse meinst (und nicht Anwendungen), so kommt mir das merkwürdig vor, daß du das kannst. Hier geht es nicht, wie bei Kay - unter XP.
Kay
Zu "Prozess beenden":
Der Task-Manager versucht auf den Prozess zuzugreifen, um ihn evtl. mit TerminateProcess zu beenden.
Das kann SuRun verhindern, indem es dem Benutzerkonto nur SYNCHRONIZE-Zugriff gibt.
Das bedeutet: Der Benutzer kann warten, bis ein Admin-Prozess beendet ist, mehr nicht.
Unter Vista ging das Terminieren von SuRun Prozessen, weil der Logon-SID automatisch TERMINATE-Zugriff auf den Prozess-Token bekommt. Ich habe das jetzt so verändert, dass man SuRun Prozesse nicht mehr terminieren kann, genau so, wie in XP/2k. Der Logon-SID bekommt nur SYNCHRONIZE-Zugriff.
Zu "Task beenden":
Task-Manager sendet an das Hauptfenster der Anwendung eine Windows-Nachricht (WM_CLOSE).
SuRun kann das leider nicht verhindern.
Ich müsste einen Filter für Windows-Nachrichten installieren (Das ist kein Problem), der Nachrichten von nicht-administrativen Prozessen sperrt (Das ist ein Problem!). Leider gibt es keine mir bekannte Funktion, um herauszufinden, woher eine Nachricht kommt.
cosmo
Wo sollen eigentlich Bedarf und Nutzen liegen?
Erhöht werden Programme gestartet, weil sie eingeschränkt nicht oder nicht richtig funktionieren; mehr sehe ich nicht als Grund und deswegen auch kein "Schutzbedürfnis". Wenn das für einzelne Programme wichtig ist, startet man sie halt als Dienst (gegebenenfalls mit einem dafür geeigneten Tool).
Kay
Ein solches Programm zu killen sehe ich auch nicht als Risiko. Aber die Fernsteuerungsmöglichkeit mit Windows-Nachrichten schon. Ein Virus kann versuchen, Admin-Programme zu finden und diese dann fernzusteuern, um sich selbst zu Berechtigen.
Vielleicht finde ich da ja noch was, um Nachrichten zu blocken.
trekkie22
Aha, OK. Wenn das mit Vista bisher ging, dann ist mir klar, warums auch bei mir funktioniert hat. Ich hab's nämlich nicht auf dem XP-Rechner probiert, sondern in der Vista-VM, weil ich mit der sowieso gerade rumgespielt hatte.