Hallo Community,
ich habe nun viel gelesen, nichts gefunden und möchte trotzdem einen Versuch starten:
Ich arbeite bei einem IT Sicherheitsunternehmen im Bereich Support und Consulting. Hauptsächlich supporte ich Produkte der KasperskyLab Business Security Suite, für welche ich Zusatztools entwickle um den tagtäglichen Umgang mit den Produkten für meine Kunden ein Stück zu optimieren.
Dazu habe ich ein "Scantool" entwickelt, zugegeben, die Idee stammte nicht von mir.
Jenes Scantool startet mit jedem Start des Betriebssystems und kommt 15 Minuten nach Start mit einer GUI hervor.
Darüber kann der Benutzer bequem wählen, wann er einen Fullscan machen möchte ( Zusätzlich sind Dinge wie ein Zwangsscan ( wenn zu lange nicht gescannt wurde ) etc eingebaut.
Der Sinn dahinter ist, dem Benutzer die Wahl eines Scanzeitpunktes so flexibel wie möglich zu gestalten und ungewünschte Performanceverluste während der Arbeitszeit weitestgehend zu verhindern.
Nun zur Frage:
Zwar habe ich die GUI mit all ihren Buttons so gebaut, dass sie nicht beendet werden kann. Allerdings ist mein Skript über einen Task Manager recht einfach zu beenden. Also dachte ich daran, einen Watchdog Prozess zu bauen und beide Skripte aufeinander aufpassen zu lassen. Da liegt aber das Problem, dass wenn Skript A Skript B startet, Skript B natürlich ein Subprozess von Skript A ist. Mit Process Explorer oder ein wenig Affinität zur IT also recht einfach zu beenden.
Besser wäre es, wenn Skript A mit dem Start von Skript B einen eigenen Prozess startet, welcher eben nichts mit Skript A zu tun hat. So könnte einer der Prozesse weniger "Auffällig" benannt werden, um den Nutzer nicht auf sich aufmerksam zu machen. Ist so etwas möglich?
Alternativ dachte ich daran, einen Kennwortschutz auf das Beenden des Prozesses zu setzen. Allerdings muss ich gestehen, dass meine Programmierkenntnisse so weit nicht reichen, denn ich sehe ein Problem darin, meinen Prozess bzw. das Ereignis "Kill Process" abzufragen im Verbund mit der PID für mein Skript.
Da ich in vielen Foren zu solchen Fragen wie ich Sie nun stelle viele kritische Kommentare in Richtung "Willst du Malware programmieren?" gelesen habe, möchte ich klarstellen, dass mein Vorhaben keinen schadhaften Zweck hat! Ich möchte somit dem Kunden einfach nur eine "Garantie" geben können, dass regelmäßige Scans auf seinen Endpoints stattfinden und die Benutzer nicht einfach mir nichts dir nichts das Tool beenden können.
Daher fallen für mich Dinge wie "Prozess verstecken" oder sonstige malwareähnliche Lösungsanätze definitiv raus! ( Okay, zugegeben, mit einem Watchdogprozess wäre ich ja schon nahe an letzterem dran... )
Ich bin auf euer Feedback gespannt und sage im Voraus: Vielen Dank!
Viele Grüße aus Trier!
landy