{"id":223,"date":"2007-08-13T17:47:16","date_gmt":"2007-08-13T15:47:16","guid":{"rendered":"http:\/\/www.mitternachtshacking.de\/blog\/223-vista-treiber-teil-1"},"modified":"2018-05-31T17:46:03","modified_gmt":"2018-05-31T16:46:03","slug":"vista-treiber-teil-1","status":"publish","type":"post","link":"https:\/\/www.mitternachtshacking.de\/blog\/223-vista-treiber-teil-1","title":{"rendered":"Vista Treiber Teil 1"},"content":{"rendered":"<p>Microsoft hat mit Vista im 64-Bit Modus strenge Richtlinien eingef\u00fchrt, welche Treiber von Vista in den Kernel geladen werden und welche nicht. Die wichtigste Anforderung von Kernel-Mode Treibern ist, dass alle Treiber von Microsoft digital signiert werden m\u00fcssen (KMCS &#8211; Kernel Mode Code Signing). Die vollst\u00e4ndigen Anforderungen beschreibt Microsoft in den <a href=\"http:\/\/www.microsoft.com\/whdc\/winlogo\/drvsign\/drvsign.mspx\">Driver Signing Requirements for Windows<\/a>.<\/p>\n<p>Microsoft begr\u00fcndet diese Anforderung damit, ihre Kunden vor b\u00f6sartigem Programmcode sch\u00fctzen zu wollen. Kernel-Mode Rootkits, die nicht \u00fcber eine digitale Signatur verf\u00fcgen, werden nicht mehr in den Vista Kernel geladen und k\u00f6nnen daher auch ihre Schadwirkung nicht mehr entfalten. Im Grunde eine sinnvolle Funktion. Aber mit einem Haken. Microsoft l\u00e4sst den Kunden keine Wahl mehr, ob sie andere Treiber vielleicht doch laden wollen. Gut, es gibt eine spezielle Boot-Option mit der man diese Anforderung deaktivieren kann, aber diese Option muss bei jedem Neustart mit angegeben werden. Au\u00dferdem funktioniert eine Reihe anderer Software (haupts\u00e4chlich Mediensoftware) nicht, wenn Vista ohne KMCS gestartet wurde. Praktisch ist daher nicht wirklich nutzbar. Bei Windows XP m\u00f6chte das Betriebssystem ebenfalls einen signierten Treiber und wenn die Signatur fehlt, bekommt der Anwender einen Hinweis, kann sich aber entscheiden den Treiber doch noch zu installieren. Bei Vista geht nichts mehr.<\/p>\n<p>Die Firma <a href=\"http:\/\/www.linchpinlabs.com\/\">Linchpin Labs<\/a> hat nun am 20.07.2007 einen signierten Treiber namens <a href=\"http:\/\/www.linchpinlabs.com\/resources\/atsiv\/usage-design.htm\">Atsiv <\/a>ver\u00f6ffentlicht, der mit einem eigenen PE-Loader ausgestattet ist und damit beliebige, auch unsignierte Treiber und Bibliotheken in den Vista-Kernel nachladen kann. Aus der Beschreibung von Linchpin Labs:<\/p>\n<p>Atsiv is a command line tool that allows the user to load and unload signed or unsigned drivers on 32 bit (x86) and 64 bit (x64) versions of Windows XP, Windows 2K3 and Windows Vista. Atsiv is designed to provide compatibility for legacy drivers and to allow the hobbyist community to run unsigned drivers without rebooting with special boot options or denial of service under Vista.<\/p>\n<p>Als Anwender oder Entwickler ist das eine praktische Sache. Man kann so Treiber f\u00fcr eigene Hardware entwickeln oder andere Erweiterungen programmieren, ohne auf die Signatur von Microsoft angewiesen zu sein. Das hilft, weil es eine Reihe von Treibern auch f\u00fcr aktuelle Hardware gibt, die nicht digital signiert ist. Diese Hardware kann vom Anwender mit Hilfe des Atsiv-Moduls genutzt werden. Das hilft auch, weil es die geschlossene Vista-Plattform f\u00fcr Funktionen \u00f6ffnet, die Microsoft vielleicht nicht vorgesehen hat, die ich als Anwender vielleicht aber machen m\u00f6chte.<\/p>\n<p>Bereits am 03.08.2007 hat Microsoft reagiert. Scott Field, der Windows Security Architect<a href=\"http:\/\/blogs.msdn.com\/windowsvistasecurity\/archive\/2007\/08\/03\/x64-driver-signing-update.aspx\"> schreibt in seinem Blog<\/a>, welche Ma\u00dfnahmen Microsoft dagegen ergriffen hat: Das an Linchpin Labs ausgestellte Zertifikat wurde am 02.08.2007 zur\u00fcckgezogen. Auf Dr\u00e4ngen von Microsoft hat Verisign das Zertifikat auf die Revocation List gepackt, das Zertifikat wird folglich nicht mehr anerkannt. Das Microsoft Sicherheitsteam hat das gesperrte Zertifikat zus\u00e4tzlich in die Kernel-interne Sperrliste aufgenommen, die mit dem n\u00e4chsten Update aktualisiert wird. Das Update der internen Sperrliste erfordert allerdings einen Systemreboot. Und damit nicht genug, der Atsiv-Treiber wird von Microsoft Defender als Schadprogramm eingestuft und vom System des Benutzers entfernt.<\/p>\n<p>Sp\u00e4testens jetzt bekomme ich Bauchschmerzen. Es ist eine Sache, wenn z.B. mein Virenscanner ein Programm wie <a href=\"http:\/\/www.oxid.it\/cain.html\">Cain &#038; Abel<\/a>, das sich auf meinem Rechner befindet, als Schadprogramm charakterisiert und mir anbietet es zu entfernen. Die Wahl dar\u00fcber bleibt schlie\u00dflich weiterhin bei mir und ich kann meinem Virenscanner beibringen dieses (und andere Hackingtools) auf meinem Rechner zu ignorieren. Vista gibt mir diese M\u00f6glichkeit nicht mehr. Das Zertifikat wurde gesperrt und der Treiber ist damit nicht mehr funktionsf\u00e4hig. Nur um das klarzustellen, eigene Treiber im Betriebssystem sind eine vollkommen legale und legitime Angelegenheit. Dabei handelt es sich weder um einen Urheberrechtsversto\u00df (solange die verwendete Vista-Version legal erworben wurde), noch um einen Lizenzversto\u00df (da 3rd-Party Treiber ja generell erlaubt sind). Trotzdem verbietet Microsoft es mit \u00fcber technische Ma\u00dfnahmen, das Betriebssystem so zu nutzen wie ich m\u00f6chte. Ohne, dass ich gefragt wurde, werde ich als Anwender bevormundet.<\/p>\n<p>Oder mit den Worten von Peter Gutmann: <a href=\"http:\/\/www.cs.auckland.ac.nz\/~pgut001\/pubs\/vista_cost.html\">the longest suicide note in history<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft hat mit Vista im 64-Bit Modus strenge Richtlinien eingef\u00fchrt, welche Treiber von Vista in den Kernel geladen werden und welche nicht. Die wichtigste Anforderung von Kernel-Mode Treibern ist, dass alle Treiber von Microsoft digital signiert werden m\u00fcssen (KMCS &#8211; Kernel Mode Code Signing). Die vollst\u00e4ndigen Anforderungen beschreibt Microsoft in den Driver Signing Requirements for [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[8,5],"tags":[],"_links":{"self":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/223"}],"collection":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/comments?post=223"}],"version-history":[{"count":0,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/223\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/media?parent=223"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/categories?post=223"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/tags?post=223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}