1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Nicht signierte Kernel-Mode Treiber

Discussion in 'Windows XP / Server 2003/2008 / Vista' started by whitedogcat, Feb 18, 2009.

Thread Status:
Not open for further replies.
  1. Hallo,

    habe folgendes Problem, mein Rechner stürzt plötzlich ab, das System läuft, aber der Bildschirm bleibt schwarz und und eine weile funktuioniert es wieder ganz von alleine, passiert in sehr unregelmäßigen abständen.

    Habe mal in der Ereignisanzeige von vista nachgeschaut und habe unter "Anwendungs und Dienstprotokolle>Microsoft Windows Codeintegrity>Operational" folgende Einträge gefunden.

    Fehler 18.02.2009 11:07:05 Microsoft Windows-CodeIntegrity 3002 (1)

    Warnung 18.02.2009 11:07:03 Microsoft Windows-CodeIntegrity 3001 (1)


    Unter onlinehilfe von Microsoft habe ich folgendes gefunden.
    Nun weiß ich aber immer noch nicht wie und wo ich die nicht signierte Kernel treiber in meinem system finden soll.

    Dabei weiß ich nicht mal ob mein rechner zu der Kategorie X86 oder x64 familie angehört.

    BS: Win Vista Home Premium 32
    CPU: AMD Phenom2 X4 940

    Das BS ist 32 Bit basiert der CPU aber 64 Bit, was zählt nun????


    Event ID 3001 — Kernel-mode Driver Validation
    Updated: November 30, 2007


    Code Integrity checks each kernel-mode driver for a digital signature when an attempt is made to load the driver into memory. If the kernel-mode driver is not signed, the operating system might not load it. Whether an unsigned driver is loaded without a digital signature depends on the platform of the operating system.

    For x64-based computers, all kernel-mode drivers must be digitally signed.
    For x86-based or Itanium-based computers, the following kernel-mode drivers require a digital signature: bootvid.dll, ci.dll, clfs.sys, hal.dll, kdcom.dll, ksecdd.sys, ntoskrnl.exe, pshed.dll, spldr.sys, tpm.sys, and winload.exe.
    Note: If a kernel debugger is attached to the computer, Code Integrity still checks for a digital signature on every kernel-mode driver, but the operating system will load the drivers.

    Event Details
    Product: Windows Operating System
    ID: 3001
    Source: Microsoft-Windows-CodeIntegrity
    Version: 6.0
    Symbolic Name: CiUnsignedDriverLoaded
    Message: Code Integrity determined an unsigned kernel module %2 is loaded into the system. Check with the publisher to see if a signed version of the kernel module is available.

    Resolve
    Update kernel-mode driver status on an x86-based operating system
    When an unsigned driver is detected on x86-based computers, Code Integrity will not prevent the kernel-mode driver from loading. You should consult the manufacturer to see if a digitally-signed version of the kernel-model driver exists and update the current driver.

    To perform this procedure, you must be a member of the local Administrators group, or you must have been delegated the appropriate authority.

    To update a kernel-mode driver:

    Copy the signed kernel-mode driver to a location on the local computer.
    Click Start, and then click Control Panel.
    Double-click Device Manager.
    If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.
    Right-click the hardware device that needs its driver updated, and then click Update Driver Software.
    Click Browse my computer for driver software.
    Click Browse, select the folder where the new driver file exists, and then click Next.
    Click Finish.
    Note: An unsigned kernel-mode driver can affect the ability of media applications to play some media files.

    Verify
    You can verify that a kernel-mode driver was successfully validated and loaded by checking its driver status using the command prompt.

    To perform this procedure, you must be a member of the local Administrators group, or you must have been delegated the appropriate authority.

    To verify a kernel-mode driver was successfully validated and loaded:

    Click Start, point to All Programs, point to Accessories.
    Right-click Command Prompt, and then click Run as administrator.
    If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.
    Type sc query type= driver, and then press ENTER.
    In the list, find the appropriate driver and ensure that 4 RUNNING is displayed in the STATE column.
    Note: If you know the driver name, type sc querydriver, where driver is the name of the driver file without the extension, at the command prompt, and then press ENTER.


    Danke für die Hilfe im voraus
     
  2. Maja07

    Maja07 Guest

    Darüber wird man in dem Moment informiert, in dem man so einen Treiber zu installieren versucht.
    Das ist wurscht, denn du hast:
     
  3. Fettbemme

    Fettbemme Halbes Megabyte

    @TO

    Erst einmal ein paar allgemeine Dinge zu den signierten oder nicht signierten Treibern.

    Du verwendest Vista32, daher kannst Du signierte und nicht signierte Treiber verwenden. Wie schon gesagt gibt Vista32 aber eine Warnmeldung wenn Du einen nicht signierten Treiber installierst. Wenn Du die Installation aber mit "Ja" bestätigst dann läuft dieser nicht signierte Treiber auch problemlos.

    Es ist vom prinzip egal ob Du einen signierten oder unsignierten Treiber verwendest. Auch signierte Treiber haben Fehler. Der Unterschied ist, dass der signierte Treiber mit einem "Ursprungsvermerk" versehen ist, der ein "Class 3 Zertifikat" benötigt für das Codesigning. Dieses Zertifikat bekommt man nur bei Identifikation wie z.B. Postident oder ein Handelsregisterauszug. Die Signierung schützt auch den Treiber vor Änderungen am Treiber. Die Signatur geht bei Änderungen verloren bzw. ist Ungültig.

    Zu Deinem Problem, Du kannst versuchen die Treiber von Grafikkarte, Chipsatz, etc. upzudaten, in der Hoffnung das Problem ist damit behoben. Wenn bei den Treibern dabei steht, dass sie WHQL zertifiziert sind, dann sind sie auch gleich signiert.
     
  4. Maja07

    Maja07 Guest

    Der Unterschied ist, dass zertifizierte Treiber alle von MS vorgegebenen Tests mit dem Betriebssystem erfolgreich durchlaufen haben, für das der Treiber zertifiziert wurde. Treiber für XP sind auch zertifiziert, eben nur für XP, weil sie nur mit XP getestet wurden. Die Warnmeldung zu bestätigen bedeutet noch nicht, dass so ein Treiber unter Vista auch unter allen Umständen so funktioniert wie unter XP.
     
  5. Fettbemme

    Fettbemme Halbes Megabyte

    Das hat aber nichts mit einem "guten" Treiber zu tun, der "annähernd" Fehlerfrei ist. In der WHQL Zertifizierung werden nur bestimmte Mechanismen und Richtlinien geprüft. Das ganze läuft in der Regel online und automatisch ab. Microsoft bekommt nur gewisse Log Files, die dann in welcher Art begutachtet und analysiert werden. Wenn Du ein "Class 3" Zertifikat hast kannst Du das ja mal ausprobieren. Du kannst auch einen Treiber mit Deinem Zertifikat signieren ohne WHQL. So ein Treiber würde auch unter 64bit sich installien lassen.

    XP Treiber laufen auch in dem meissten fällen nicht unter Vista, da die Treiberarchitektur von XP und Vista eine andere ist, gerade bei Grafiktreibern hat sich da einiges geändert.
     
    Last edited: Feb 19, 2009
  6. Maja07

    Maja07 Guest

    Das ist es sehr wohl. Es ist die Bestätigung. Und nicht von Ungefähr ist die Qualität von Treibern für Windows seit Einführung der WHQL allgemein gestiegen.
    Du hast Eins?
    Natürlich. Dann ist es halt kein WHQL-Zertifikat.
    Anders rum. Mit Ausnahme von Kernel-Mode Treibern sollte alles aus XP auch unter Vista seinen Dienst tun.
    Nicht komplett.
    Bei Grafik und bei bei Sound. Ob das Einiges ist, liegt im Auge des Betrachters. Manchmal reicht ein winziges Detail.
     
    Last edited: Feb 19, 2009
  7. Fettbemme

    Fettbemme Halbes Megabyte

    Das ist auch wieder eine sichtweise des Betrachters. Ich hatte mit Windows 2000 niemals auch mit nur einem Treiber Probleme, und auch nicht bei XP, und da waren so einige Treiber nicht signiert. WHQL in Verbindung mit dem "Label Programm" ist auch noch eine Möglichkeit Geld zu machen.

    Ich privat hab kein Class 3 Zertifikat. Ich bezweifel auch dass ich eines bekomme. Was so die Zertifizierungsstellen schreiben denke ich dass Privatleute eh keines bekommen. Ausprobiert habe ich es nicht, weil das Geld kann ich anders besser verjubeln als mit einem Class 3 Zertifikat.

    Nee das ist dann "Code Signing". Damit ist nur der Ursprung sichergestellt, und dass die Datei nach der Signierung nicht geändert wurde...

    Entweder verstehe ich Dich da falsch, oder Du sagst das was ich sage. Die meissten Treiber hängen auf Ring 3 und sind somit "Kernel Mode" Treiber. Inwieweit die Treiber für USB Geräte für Vista da alle auf dem Ring 3 hängen muß ich jetzt sagen weiss ich nicht. Mit Vista gab es da auch Änderungen.... hab ich mich aber nicht rein vertieft....

    Korrekt :)
     
  8. Maja07

    Maja07 Guest

    Manche haben halt Glück oder wählen Hardware nicht nur nach dem Preis aus. Wobei Win2000 allerdings kein Consumer Windows war, sondern primär Unternehmen zur Zielgruppe hatte und dort seine Verbreitung fand. Womit auch die Messlatte für Hardware-Entwickler höher lag. XP hat davon später provitiert, da Treiber für Win2000 auch unter XP funktionierten.
    Hardware mit schlecht programmierten und nachlässig getesteten Treibern zu verkaufen auch.
    Demnach sprichst Du von etwas, dass Du nur vom Hörensagen kennst.
    Richtig. Eine Signatur ist allerdings noch kein Zertifikat. Man kann auch Viren signieren.
    Richtig. Jede Software sollte signiert sein, um den Urheber eindeutig zu identifizieren. Zertifizierung ist aber etwas anderes als eine simple Signatur.
    Die Meisten Autos fahren mit Benzin.
     
  9. Fettbemme

    Fettbemme Halbes Megabyte

    Wer sagt denn dass. Dan nsolltest du es nochmal genau lesen! Ich sagte privat habe ich keines, und dass die deutschsprachigen Anbieter solcher Zertifikate ein Handelsregisterauszug verlangen. Da ich Privatmann bin werde ich kaum im Handelsregister stehen. Und nur weil ich privat kein "Class 3 Zertifikat" habe, heisst es nicht, dass ich auf keines Zugriff habe. Es soll ja Menschen geben die mit Softwareentwicklung ihr Geld verdienen.... Hast Du denn ein Class 3 Zertifikat?

    Korrekt, "Code Signing" erfordert aber auch ein "Class 3 Zertifikat". Wenn ich ein Virus zertifizieren möchte, mache ich das sicher nur mit einem illegal erworbenen (sprich irgendwie gestohlen). Weil an dem Zertifikat hängt die Identität aus dem Zertifikat, wäre bei einem Virus / Wurm nicht gut... zumindest aus der Sicht des Wurmauthors...

    Aus diesem Grund wirst Du unter 64 bit auch keine Treiber installiert bekommen. Ob jede Software signiert sein muß ist die Frage. Aus dem Punkt der Sicherheit ist es gut. Für die Authoren von Freeware ist es schlecht, da Class 3 Zertifikate echt teuer sind (meiner Meinung überteuert). Wenn Class 3 Zertifikate einen Preis haben von nur noch 10-50EUR ist das ok, aber nicht bei den momentanen Preisen für die Zertifikate.

    Nun ich rede hier von den Dingen die ich gemacht habe, und meine Treiber waren alle auf dem Ring 3 unterwegs... Dann nenne mir mal Treiber die keine Kernel Treiber sind ganz konkret.
     
  10. Maja07

    Maja07 Guest

    Man muss keine Class 3 ID haben, um zu wissen, was dahinter steckt..
    Was bestätigt, dass self-signed nicht genügt.
    ... die nicht WHQL-zertifiziert sind. Richtig.
    Die Frage ist bei unsignierter Software immer, aus welcher Quelle sie stammt.
    Das ist der eine, Stabilität der andere Punkt beim Thema.
    Niemand verlangt von Freeware-Autoren, ihre Programme WHQL zu zertifizieren. Ich wüsste auch nicht, wozu Freeware Kernel Mode Treiber benötigen sollte.

    Über das Thema teuer lässt sich streiten. Geiz ist ja bekanntllich geil. Betriebliche Kalkulation besteht aber nicht nur aus Kosten. Den Kosten steht auch ein Nutzen gegenüber. Natürlich ginge das auch ohne Windows Logo Program, doch in der Vergangenheit wurde bei der Treiberprogrammierung leider sehr oft nicht die Sorgfalt an den Tag gelegt, die nötig ist. Sprich, Hardware-Entwickler sparten häufig bewusst Kosten für Tests (Ausrüstung, Personal, Zeit) oder hielten sich sogar bewusst nicht an Standards. Creativs EAX ist das wohl berühmteste Beispiel dafür.

    Das Resultat dieses Verhaltens waren haufenweise Support-Anfragen bei Microsoft (Windows ist immer schuld) und weil alle Aufrufe zu mehr Sorfgfalt nicht fruchteten, wurde WHQL ins Leben gerufen Wer nicht freiwillig tut, was getan werden muss, den muss man halt zwingen. Nun ist der Zerfifizierungszwang wahrlich nichts Neues und die Industrie hatte genug Zeit, sich auf den Tag x vorzubereiten. Es war schon lange vor dem Erscheinen von Vista bekannt, dass 64-Bit Vista keine unzertifizierten Treiber mehr akzeptiert.

    Allerdings muss man nicht zu Microsoft. Eine Class 3 ID bekommt man z. B. auch bei VeriSign. Dazu ein Account bei Microsoft, bei dem man dann noch für den Traffic zahlt.
    Jeder Treiber kann als User Mode oder als Kernel Mode Treiber realisiert werden. Kernel Mode Treiber sind selbstverständlich schneller, wirken allerdings auch wesentlich signifikanter auf die Systemstabilität ein. Stürzt ein Kernel Mode Treiber ab, kann er das ganze OS mitreißen. Deshalb ist vertrauenswürdige Zertifizierung für Kernel Mode so wichtig. Ein abgestürzter User Mode Treiber wird einfach entladen und kann neu gestartet werden.
     
  11. Fettbemme

    Fettbemme Halbes Megabyte

    Um Dich zu zitieren, ach dann redest Du nur vom Hörensagen....?

    Was bestätigt, dass self-signed nicht genügt.
    ... die nicht WHQL-zertifiziert sind. Richtig.[/QUOTE]
    Wenn mit einem Class 3 Zertifikat entsprechend umgegangen wird ist es absolut sicher. Du lässt Deine EC Karte ja auch nicht mit Deiner PIN am Geldautomaten.

    Nun und wie funktionieren dann Programme wie z.B. "CoreTemp", "RMClock", ....? Der erste Schritt ist die "Zwangssignierung" von Treibern. Später folgt dann die Zwangssignierung von Software. Für einem Wurm benötige ich in aller Regel keinen Kernel Treiber....

    Hab auch nie behauptet, dass man bei MS Zertifikate kauft, dort bekommt man sichelrich keines. Übrigens Class 3 Zertifikate benötigen einen Handelsregisterauszug, also bekommen nur Firmen....

    Muß ich mir mal das Vista DDK (weil das gibt es erst ab Vista!) genauer anschauen was man mit den User Mode Treiber machen kann und was nicht. Hört sich zumindest interessant an. Aber ob ich damit auf die Hardware zugreifen kann.... wäre ja was.

    Aber ich denke mal das wird dass Offtopic langsam enden lassen sollten. Hat mit dem eigentlichen Ausgangsthema nix zu tun. Trotz dem fand ich die Ausschweifung interessant und klasse! Danke für die gute Diskussion! :jump:
     
  12. Maja07

    Maja07 Guest

    Ich habe nicht impiziert, ich wüsste darüber etwas aus eigener Erfahrung. Aber ich kann lesen und berufe mich dabei nicht auf Aussagen in diversen Foren. Alle relevaten Daten liegen offen. Das dieses Regelewerk einem Chaos gleichkommt, indem sich kaum jemand außer Microsoft zurecht findet, ist mir bekannt. Mit Win7 solls ja transparenter werden. Schaunmermal....
    Das ist richtig. Ich sprach jedoch von Self-Signing. Das ist etwas anderes. Jeder kann, wenn er will, seine Software signieren. Dazu ist keine autorisierte Class 3 ID notwendig. Und bei Software die kein Kernel Mode Treiber ist bzw. keinen solchen enthält, genügt das auch. Da meldet sich bei fehlender Signatur nur der Defender, um darauf aufmerksam zu machen, dass der Urheber nicht verifiziert werden kann.
    Das ist mir bekannt. Und das ist IMHO auch gut so.

    Noch ein LInk: http://www.microsoft.com/whdc/driver/wdf/UMDF_Intro.mspx
     
Thread Status:
Not open for further replies.

Share This Page