Sandbox



  • Ich habe ein Programm, welches ich aus einem anderen Programm heraus ausführen muss. Es kommt jedoch nicht aus einer vertrauenswürdiger Quelle. Mehr als über stdin/stdout und stderr braucht es jedoch nicht mit der Außenwelt zu kommunizieren. Wenn es was anderes versucht dann soll es direkt abgeschossen werden. Insbesondere soll es keine Kindprozesse erstellen oder irgendwie auf Dateien zugreifen.

    Wenn möglich, dann soll das ganze auch ohne administrativen Eingriff in das System ablaufen, also ohne einen eigenen User anzulegen.

    Ich hab schon viel in der MSDN gesucht aber kaum etwas gefunden. Windows scheint mit den Security Deskriptoren eine Möglichkeit zu haben das Programm vor der Außenwelt zu schützen aber nicht anders rum. Kindprozesse könnte ich unterbinden indem ich das Elternprogram zum Debugger mache und den Prozess bei Eintreten des entsprechenden Events abschieße.



  • Hallo,

    Du könntest per CreateToolhelp32Snapshot und den zugehörigen Funktionen die Processs-Liste intervallweise iterieren und beim Feststellen eines Prozesses mit der Parent-PID deines Eltern-Programmes, den jeweiligen abschiessen.
    Zwar wird dabei nicht verhindert dass neue Kind-Prozesse gestartet werden, aber dass sie weiterlaufen, falls dir das ausreicht.

    Für die Sache mit dem Dateizugriff wüsste ich im Moment allerdings nichts.

    MfG

    Wolf



  • Nimm doch VirtualPC oder sowas.



  • Hroudtwolf schrieb:

    Du könntest per CreateToolhelp32Snapshot und den zugehörigen Funktionen die Processs-Liste intervallweise iterieren und beim Feststellen eines Prozesses mit der Parent-PID deines Eltern-Programmes, den jeweiligen abschiessen.
    Zwar wird dabei nicht verhindert dass neue Kind-Prozesse gestartet werden, aber dass sie weiterlaufen, falls dir das ausreicht.

    Da ist der Debuggeransatz besser, da man da abschießen kann ehe der Hauptthread der Anwendung läuft.

    Hroudtwolf schrieb:

    Für die Sache mit dem Dateizugriff wüsste ich im Moment allerdings nichts.

    Schade 😞

    Elektronix schrieb:

    Nimm doch VirtualPC oder sowas.

    Das ist keine Option.

    Sieht ganz so als wenn es nur unsichere Frickellösungen gibt, wie zum Bespiel einen Breakpoint in CreateFile setzten oder ähnliches.


Anmelden zum Antworten