PatchGuard = Ende von Rootkits?
-
Hey Leute,
die 64 bit Versionen von Windows haben ja einen PatchGuard. Ist das jetzt das Ende von allen Rootkits, kernel based anti cheat und anti viren systemen?
Ich weiß natürlich, das nicht alles gesperrt wurde, aber doch das wichtigste.
Was meint ihr wie sich das entwickelt? Ist es noch sinnvoll kernel Programmierung unter Windows anzufangen mit so einer Einschränkung (wenn man nicht gerade Driver programmieren will...)?
Meint ihr, in Zukunft werden viele Programme mit einer "patchdestroy.exe" ausgeliefert, welche mit bestätigung den PatchGuard killen? Soll ja nicht so schwer sein, aber ist eben doch eine große Einschränkung, wenn man ein kernel Programm schreibt, welches auf anderen pcs auch laufen soll (x64).
Was meint ihr dazu? Bin gespannt was ihr schreibt!
-
welche mit bestätigung den PatchGuard killen?
Jeder öffentliche Bypass wird verflixt schnell gefixt.
-
apiredirector schrieb:
wenn man ein kernel Programm schreibt, welches auf anderen pcs auch laufen soll (x64).
Was meint ihr dazu?Dass es keinen vernünftigen Grund gibt "Kernel Programme" zu schreiben.
-
Egal ob mit oder ohne PatchGuard... ab x64 muss jeder Treiber signiert sein... somit musst Du schon erheblich geld investieren, wenn Du dafür Treiber schreiben willst...
-
Jochen Kalmbach schrieb:
Egal ob mit oder ohne PatchGuard... ab x64 muss jeder Treiber signiert sein... somit musst Du schon erheblich geld investieren, wenn Du dafür Treiber schreiben willst...
Geht da nicht etwas mit im Testmode installieren?
-
Jochen Kalmbach schrieb:
ab x64 muss jeder Treiber signiert sein... somit musst Du schon erheblich geld investieren, wenn Du dafür Treiber schreiben willst
Mann kann die Treibersignierung abstellen oder sich selbst ein Zertifikat erstellen.
-
> somit musst Du schon erheblich geld investieren, wenn Du dafür Treiber schreiben willst
In welcher Größenordnung?
-
Die beiden vorgestellten Lösungen gehen nur, wenn man selber die 100%ig Kontrolle über den Rechner schon hat... sowohl der "TestMode" wird kein normaler Benutzer aktivieren, als auch ein Zertifikat in den Root zu installieren macht auch niemand.
Und die Treiber Signierung abstellen geht schon gar nicht (außer für ein "Einmal-Boot", was ja auch kein Benutzer macht).Fazit: Es gibt keine Treiber ohne Signierung in x64 (Punkt). Da hilft es auch nicht, dass man dies zu *Entwicklungszwecke* mehr schlecht als recht umgehen kann. Auf einem Fremden Rechner bekommst Du das nie zum laufen...
-
unreg schrieb:
In welcher Größenordnung?
Soweit ich gesehen habe braucht man zumindest schonmal ein offizielles Zertifikat das von VeriSign ausgestellt wurde. Das kostet um die 500 Dollar pro Jahr.
-
Es um diesen Betrag (499 $) plus einer Zertifizierung durch MS, da nur signierte *und* zertifizierte Treiber ohne Fehler installieren... was die kostet hab ich aber keine Ahnung...
-
Zumindest beim Win7-RC (64bit) konnte man mittels bcdedit und "/DISABLE_INTEGRITY_CHECKS" das laden von nicht-signierten Treibern dauerhaft erlauben.
...aber sowas tut keiner - Erst Recht kein Endkunde der von der üblen Warnmeldung bei der Treiberinstallation bereits das Setup abbrechen wird

-
Und im Release geht dach nicht mehr... es gilt dann nur für *ein* Bootvorgang... dann ist es wieder aktiviert...
-
Was ich eigentlich lästig finde.
Ich bin der Administrator, also will ich mit dem System machen, was ich möchte.
-
Ein *vernünftiger* Administrator will nur, das signierte, zertifizierte und vertrauenswürde Software auf seinem Server läuft. Das ist nun mal das oberste Gebot!
Aus diesem Grunde finde ich die Strategie von MS auch sehr gut, obwohl ich mich am Anfang auch sehr unwohl gefühlt habe... aber dass es den Server2008R2 nur noch als x64 gibt, finde ich einen guten Schritt. Damit ist sichergestellt, dass sich zumindest jeder Treiber-Programmierer anstrengt.... und MS auch sofort sieht wer für welche Abstürze veranstwortlich ist. Das ist zwar aus Programmierer-Sicht "schlecht", aber aus Admin-Sicht sehr gut
-
Jochen Kalmbach schrieb:
Und im Release geht dach nicht mehr... es gilt dann nur für *ein* Bootvorgang... dann ist es wieder aktiviert...
Heisst das dass der Treiber beim nächsten mal booten dann nichtmehr startet, oder bloss dass er sich dann nicht installieren lässt?
Aus diesem Grunde finde ich die Strategie von MS auch sehr gut, obwohl ich mich am Anfang auch sehr unwohl gefühlt habe...
Ich finde die Strategie von MS immer noch Kacke. Dass es Default so ist, ist gut, dagegen sag' ich ja nix.
Dass es aber überhauptgarnichtmehr (sinnvoll) geht, finde ich Kacke^3.Ganz einfach deswegen, weil es dadurch nicht nur bösen Rootkit Programmierern schwer gemacht wird einen Treiber zu installieren, sondern auch genauso diverse Open-Source/Freeware Projekte darunter leiden.
-
ich finde IceMatrix hat recht. Wenn man ein *vernünftiger* Administrator ist, wird man auch wissen, welche Treiber man installieren sollte und welche nicht. Anstatt den Usern mal mehr Freiheit zu geben, wird man immer mehr eingeschränkt.
Und zum Schutz vor Rootkits naja kann man sehen wie man will, wenn man wirklich ne fremde Datei aufmacht oder sonst was, ist man auch durch ein gut geschriebenes Programm im User Mode platt. Windows entwickelt sich wirklich nur noch zu nem OS wo man noch paar klicki bunti Fenster erstellen kann und kaum noch Zugriff auf innereien hat. Wenn das so weitergeht bin auch ich als Windows User bald bei Ubuntu
-
@hustbaer: Die Treiber lassen sich natürlich nicht starten, wenn sie nicht signiert sind und normal gebootet wird...
@GhostRider: Wenn Du mal eine große Server-Farm administrieren musstest und Verfügbarekietn von > 99.9 Prozent garantieren musst, wirst Du nicht mehr so denken... ein Admin installiert nicht, was er für "gut" empfindet (wie soll man sowas entscheiden), sondern was zertifiziert ist; und wenn es Probleme gibt genau gesagt werden kann, wer schuld ist... und das geht nun mal mit der Zertifizierung sehr gut

Das Problem mit OpenSource-Projekte sehe ich auch... wobei jedem freigestellt ist, der so einen Treiber einsetzen will, dieses natürlich selber zertifizieren/signieren kann... aber vermutlich wird das niemand machen... und die Anzahl der OpenSource-Projekte wird hier natürlich schrumpfen...
-
@GhostRider: Wenn Du mal eine große Server-Farm administrieren musstest und Verfügbarekietn von > 99.9 Prozent garantieren musst, wirst Du nicht mehr so denken... ein Admin installiert nicht, was er für "gut" empfindet (wie soll man sowas entscheiden), sondern was zertifiziert ist; und wenn es Probleme gibt genau gesagt werden kann, wer schuld ist... und das geht nun mal mit der Zertifizierung sehr gut
Der Admin kann wohl entscheiden, was in seinem Kernel laufen soll.
Ein Admin, der große Server-Farmen administriert, darf sich auf zertifizierte Treiber beschränken.Ein Hobby-Gamehacker wie ich, der per Kernelmodul Funktionen diverser Anticheat-Engines umgehen möchte sollte aber auch das Recht zum basteln haben. Ich bin mir doch vollkommen im Klaren, dass Instabilitäten etc auf meine Kappe gehen.
Es sollte halt einen Switch geben, den man von mir aus beim Booten aktivieren kann, der das Verhalten steuert...
-
Jochen Kalmbach schrieb:
... wobei jedem freigestellt ist, der so einen Treiber einsetzen will, dieses natürlich selber zertifizieren/signieren kann...
Wie kann man dies eigentlich machen? Gibt es da irgendwo Anleitungen dazu? Gerade als Entwickler wäre dies doch um einiges einfacher als über den Testmode.
Jochen Kalmbach schrieb:
... aber vermutlich wird das niemand machen...
Wieso nicht?
Grüssli
-
@Jochen: ich verstehe deine Argumentation auch nicht ganz. Für einen Admin reicht es doch wenn er...
Sein System so einstellen kann, dass nur zertifizierte Treiber installiert werden können (natürlich nur so lange diese Policy nicht wieder umgestellt wird)
Vor dem Installieren eines unsignierten Treibers eine Warnung bekommt - als "Fallback", falls ein Kollege die oben erwähnte Option umgestellt hat
Er über eine Group-Policy für Mitglieder der Domäne die oben erwähnte Einstellung erzwingen kann, d.h. den "kleinen lokalen" Admins diese Möglichkeit wegnehmen kann
Die Signatur bestehender Treiber anzeigen lassen kann - idealerweise auch als Report über alle Treiber die installiert sind.Alles was darüber hinaus geht, ist Bevormundung seitens Microsoft.