• Wunschliste
  • Hashwert von Programmen um Missbrauch vorzubeugen | Unterprogramme nicht als Admin starten

1. Hashwert von Programmen um Missbrauch vorzubeugen

Mir ist folgendes aufgefallen:

Wenn ich ein Programm immer ohne zu fragen als Admin starte, kann man die Datei einfach durch eine gleichnamige ersetzen und dann diese als Administrator ausführen.

So wäre folgendes Szenario denkbar:
User hat im Autostart-Ordner eine Verknüpfung mit dem Ziel "Surun.exe Irgendeinprogramm.exe", da das Programm Admin-Rechte zum laufen braucht. Damit nicht bei jedem Start Surun aufpoppt ist für das Programm eingestellt, dass ohne nachzufragen als Admin gestartet wird.
Die Schadsoftware scannt den Autostart-Ordner, sieht diese Verknüpfung und ändert den Pfad für das Programm auf sich selbst. Bei jedem Neustart wird jetzt dieses Programm als Admin ausgeführt. Um kein Misstrauen zu erregen ruft es das eigentliche Programm noch auf.

2. Parameter um Unterprogramme nicht als Admin zu starten

Dies ist vor allem für das Szenario denkbar, in dem ein SuRunner nur bestimmte Programme als Admin ausführen darf. Wenn dieses Programm Standard-Windows-Dialoge benutzt, wie "Datei öffnen" oder "Datei speichern", so kann man in diesen Dialogen mit einem Rechtsklick auf EXE-Dateien o.ä. diese starten. Das gestartete Programm erbt alle Rechte des Elternprogramms und hat damit vollen Admin-Zugriff.
Kann man dies verhindern?
1. Hashwert von Programmen um Missbrauch vorzubeugen
Gute und sinnvolle Idee.
Als Nachteile sehe ich Performance-Einbrüche und, dass der Nutzer bei Programmupdates jedes Mal wieder abnicken muss, dass das Programm immer starten darf.
Aber das kann man ja konfigurierbar gestalten.
2. Parameter um Unterprogramme nicht als Admin zu starten
Das geht leider nicht.
Unterprogramme werden immer mit dem Token des Hauptprogramms gestartet.
Will man das ändern, muss man sich tief im System eingraben und ZwCreateSection abfangen.
Das ist mir zu heiß! ;)
Gute und sinnvolle Idee.
Als Nachteile sehe ich Performance-Einbrüche und, dass der Nutzer bei Programmupdates jedes Mal wieder abnicken muss, dass das Programm immer starten darf.
Aber das kann man ja konfigurierbar gestalten.
Könnte man ja so machen, dass man in den Einstellungen dann auswählen kann, welche Programme geprüft werden sollen und stadardmäßig wird halt nicht geprüft.

Zu 2.
Kann ich verstehen, ich dachte nur, da der Privilege-Manager das auch ermöglicht.
Ich bin gerade dabei, den Rest der Wunschliste in SuRun-Optionen zu packen.

Als Hash-Wert werde ich MD5 nehmen und die Prüfung als Option generell aus/einschaltbar machen. :-)

Auch die Wünsche von Mik.c.OS versuche ich unterzubringen...

In einigen Tagen wird das in die Beta integriert und wenn es damit keine Probleme gibt, ist es langsam Zeit für SuRun 1.1. :-)
ein Jahr später
  • [gelöscht]

  • Bearbeitet
Ist der besagte Hashtest bereits implementiert?
Ich habe das eben mal mit einer EXE und einer geringfügig modifizierten Kopie ausprobiert und beide ließen sich mit Adminrechten starten ohne dass ich ein Kennwort eingeben musste oder eine Warnung bekam.

Problematisch sind bei den Hashtests vor allem transitive Abhängigkeiten.
Beispiel: Ich richte SuRun so ein, dass eine Batchdatei automatisch als Administrator gestartet wird. Die Batch selber würde demnach zwar ggf. über ihren hinterlegten Hash kontrolliert und für gut befunden - für die durch die Batch aufgerufenen Anwendungen gilt der Test aber leider nicht.

Lösungsmöglichkeiten:
A) Warnung über besagtes Risiko, sonst normal fortfahren
-absolutes Minimum-
B) "irgendwie" Hashwerte der aufgerufenen Anwendungen ebenfalls sichern - ich schreibe hier "irgendwie" weil mir dazu momentan zumindest keine zuverlässige und sichere Lösung einfällt
-wahrscheinlich unpraktikabel-
C) Hashtests komplett verwerfen
-macht nur Sinn wenn die passwortlose Administratorfunktion ebenfalls entfernt wird, sonst lieber A)-
zu B)
man könnte doch versuchen die Batch zu scannen
und alle verlinkten anwendungen mit zu haschen

so das wenn die batch datei aufgerufen wird zusätzlich
zum batch hach zusätzlich immer die verlinkten anwendungen geprüft wird

2 haken hätte es haber:

1#
wenn zu viele programme mit der batch aufgerufen wird
dann könnte das hashen ziehmlich lange dauern
lösung?: die verlinkten anwendungen erst zur laufzeit prüfen
d.h. wenn sie gestartet werden
und wenn der hash dann nicht mehr stimmt
den batsh abschießen, bzw. warnen & hash updaten...

2#
wenn das script jetzt zusätliche scripte aufruft (call z.B.)
müssten diese auch beachtet werden
und wenn *.vbs bzw. andere scripte aud dem batsh gestartet werden...
das zieht eine ganze kette prüfungen & überwachungen hinterher...

welches langsam so komplex werden würde wie eine firewall
echtzeitüberwachung alle programme/laufender prozesse & dessen abhänigkeiten, verlinkungen u.s.w. ...

so ich habe meine mögliche wunschlösung genug schwarz gemalt :D
Zum Thema Batch:

Ich bezweifle die wirkliche Relevanz. SuRun dient dazu, gezielt erforderliche Programme administrativ starten zu können; das mag auch mal über ein Batch oder Script erfolgen, aber daß das massenhaft auftritt, sehe ich nicht als realistisch an. Folge: Gibt es nur eine überschaubare Menge an administrativ zu startenden Programmen, so tritt folglich die Notwendigkeit MD5-Summen zu korrigieren, bestenfalls vereinzelt auf. Es ist ja auch nicht so, als ob ständig alle diese Programme ständig upgedatet würden. Es mag einzelne Fälle geben, wo ein administrative gestartetes Programm über ienen Batch gestartet wird, mir ist ein solcher Fall bislang nicht ienmal begegnet.

Zum Thema Unterprogramme (aus Post #1): SuRun ist IMHO kein Pogramm, um den Benutzer zu überwachen, sondern um aus einer nicht privilegierten Shell Programme falls erfordrelich priviligiert starten zu können. Was der Benutzer / SuRunner damit macht, ist seine Sache. Richtlinien, was der Benutzer mit einem Programm alles tun kann, sind eine andere Sache. - Übrigens: Wenn man einen Rechner zum Beispiel für die Familie einrichtet und einzelne Programme über SuRun startet (zum Beispiel Spiele) und SuRun für diese Benutzer verborgen wird, so sind Risiken außerordentlich gering, daß der Benutzer das ausnutzen. Welcher ONU weiß überhaupt, daß er über Speichern/Öffnen-Dialoge Programme starten kann?
Ich selber bin auch Cosmos Meinung, dass man sich genau überlegen sollte, was man ohne Nachzufragen administrativ startet. Mit SuRuns "/WAIT"-Option kann (und sollte) man so in den Batchdateien nur gezielte Programme administrativ starten.

Das mit den Prüfsummen ist, wie mit meinem Vorhaben in SuRun "Immer als folgender Benutzer starten" und "Standard-Optionen/Programme" für alle Nicht-SuRunner einzubauen... ich schieb' es vor mir her. :blush:

Ich habe (wie von Artemis vor 1,5 Jahren vorgeschlagen) vor, eine Liste von zu prüfenden Dateien pro Programm in der Liste angebbar zu machen. Stimmt eine der Prüfummen nicht, fragt SuRun nach dem ok... aber einbauen muss ich das noch. All das würde mit den og. Optionen zusammenfallen, denn ich muss mir eine Möglichkeit einfallen lassen, wie ich die bisherigen Strukturen behalte und die neuen dazu baue.

Da SuRun aber gerade so schön funktioniert, schiebe ich das schon so lange vor mir her... muss ich wohl mal angehen.
Eine Antwort schreiben…
Impressum, Datenschutz