Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie ein Treiberpaket erstellen, müssen Sie sicherstellen, dass die Installation Ihres Geräts immer sicher ausgeführt wird. Eine sichere Geräteinstallation ist eine, die Folgendes tut:
schränkt den Zugriff auf das Gerät und die zugehörigen Geräteschnittstellenklassen ein
beschränkt den Zugriff auf die Treiberdienste, die für das Gerät erstellt wurden
schützt Treiberdateien vor Änderung oder Löschung
schränkt den Zugriff auf die Registrierungseinträge des Geräts ein
beschränkt den Zugriff auf die WMI-Klassen des Geräts.
Verwendet SetupAPI-Funktionen ordnungsgemäß
Die Geräteinstallationssicherheit wird durch Sicherheitsdeskriptoren gesteuert. Das primäre Medium zum Angeben von Sicherheitsdeskriptoren ist die INF-Datei. Das System stellt standardmäßige Sicherheitsdeskriptoren bereit, und unter den meisten Umständen müssen Sie diese Deskriptoren nicht außer Kraft setzen.
Sicherheitseinstellungen für Geräte und Schnittstellen
Das System stellt standardsicherheitsdeskriptoren für alle vom System bereitgestellten Gerätesetupklassen bereit. Im Allgemeinen ermöglichen diese Deskriptoren den vollzugriff für Systemadministratoren und Lese-/Schreib-/Ausführungszugriff für Benutzer. (Die Sicherheitsdeskriptoren, die den Zugriff auf ein Gerät steuern, steuern auch den Zugriff auf die Geräteschnittstellenklassen des Geräts, falls vorhanden.)
INF-Dateien für WDM-Treiber können Sicherheitseinstellungen angeben, entweder pro Klasse oder pro Gerät, die die Standardeinstellungen des Systems überschreiben. Anbieter, die eine neue Geräteeinrichtungsklasse erstellen, sollten einen Sicherheitsdeskriptor für die Klasse angeben. Im Allgemeinen ist die Angabe eines gerätespezifischen Sicherheitsdeskriptors nicht erforderlich. Es kann hilfreich sein, einen gerätespezifischen Sicherheitsdeskriptor zu liefern, wenn verschiedene Gerätetypen, die derselben Klasse angehören, erheblich unterschiedliche Benutzertypen aufweisen.
Um einen Sicherheitsdeskriptor für alle Geräte anzugeben, die zu einer WDM-Gerätesetupklasse gehören, verwenden Sie eine INF-AddReg-Direktive in einem INF ClassInstall32-Abschnitt der INF-Datei des Klasseninstallationsprogramms. Die AddReg-Direktive muss auf einen add-registry-section verweisen, der Werte für die Registrierungseinträge DeviceType und Security festlegt. Diese Registrierungswerte geben einen Sicherheitsdeskriptor für alle Geräte des angegebenen Gerätetyps an.
Um einen Sicherheitsdeskriptor für ein einzelnes Gerät anzugeben, das zu einer WDM-Geräteeinrichtungsklasse gehört, verwenden Sie eine INF-AddReg-Direktive in einem INF DDInstall.HW-Abschnitt der INF-Datei des Geräts. Die AddReg-Direktive muss auf einen add-registry-section verweisen, der Werte für die Registrierungseinträge DeviceType und Security festlegt. Diese Registrierungswerte geben einen Sicherheitsdeskriptor für alle Geräte an, die mit der Hardware-ID oder kompatiblen IDs übereinstimmen, die durch einen zugeordneten INF-Modelle-Abschnitt angegeben werden.
Standardmäßig wendet das System den Satz von Sicherheitsdeskriptoren für ein Gerät auf eine Anforderung an, das Geräteobjekt zu öffnen, das das Gerät darstellt (z. B. eine Anforderung zum Öffnen des Geräts, dessen NT-Gerätename \Device\DeviceName lautet).
Das System wendet jedoch nicht standardmäßig den Sicherheitsdeskriptor für ein Gerät auf eine Anforderung zum Öffnen eines Objekts im Namespace des Geräts an, wobei der Gerätenamespace alle Objekte enthält, deren Namen das Format \Device\DeviceName\ObjectName aufweisen. Um sicherzustellen, dass dieselben Sicherheitseinstellungen auf Öffnungsanforderungen für Objekte im Namespace eines Geräts angewendet werden, legen Sie für ein Gerät das Kennzeichen der Geräteeigenschaften FILE_DEVICE_SECURE_OPEN fest. Weitere Informationen zum sicheren Gerätezugriff finden Sie unter Steuern des Gerätenamespacezugriffs (Windows Drivers). Informationen zum Festlegen des kennzeichens für FILE_DEVICE_SECURE_OPEN Geräteeigenschaften finden Sie unter Angeben von Gerätemerkmalen (Windows Drivers).
Der PnP-Manager legt Sicherheitswerte für Geräteobjekte fest, nachdem er die AddDevice-Routine eines Treibers aufgerufen hat. Einige WDM-Treiber können einen gerätespezifischen Sicherheitsdeskriptor angeben, wenn ein physisches Geräteobjekt (PDO) durch Aufrufen von IoCreateDeviceSecure erstellt wird. Weitere Informationen finden Sie unter Sichern von Geräteobjekten.
Sicherheitseinstellungen für Treiberdateien
Beim Kopieren von Dateien mithilfe der INF CopyFiles-Direktive ist es möglich, einen Dateilistenabschnitt.security-Abschnitt anzugeben. Dieser Abschnitt legt einen Sicherheitsdeskriptor für alle Dateien fest, die von der CopyFiles-Direktive kopiert werden. Anbieter müssen jedoch nie einen Sicherheitsdeskriptor für Treiberdateien angeben, wenn das Installationsziel eines der Systemunterverzeichnisse von %SystemRoot%ist. (Weitere Informationen zu diesen Unterverzeichnissen finden Sie unter Verwenden von Dirids.) Das System stellt standardsicherheitsdeskriptoren für diese Unterverzeichnisse bereit, und die Standardsicherheitsdeskriptoren sollten nicht außer Kraft gesetzt werden.
Sicherheitseinstellungen für Treiberdienste
Innerhalb des Dienstinstallationsabschnitts einer INF-Treiberdatei (siehe INF-AddService-Direktive) können Sie einen Sicherheitseintrag einschließen. Dieser Eintrag gibt die Berechtigungen an, die zum Ausführen von Vorgängen erforderlich sind, z. B. Starten, Beenden und Konfigurieren der Treiberdienste, die Ihrem Gerät zugeordnet sind. Das System stellt jedoch einen Standardsicherheitsdeskriptor für Treiberdienste bereit, und dieser Standarddeskriptor muss im Allgemeinen nicht überschrieben werden.
Sicherheitseinstellungen für Registrierungseinträge für Geräte und Treiber
Wenn Sie Registrierungseinträge in INF-Dateien mithilfe von INF-AddReg-Direktiven angeben, können Sie für jeden Add-Registry-Abschnitt einen Add-Registry-Abschnitt.Security-Abschnitt einschließen. Der Abschnitt add-registry-section.Security gibt Zugriffsberechtigungen für die erstellten Registrierungseinträge an, die vom zugehörigen Abschnitt add-registry-section erstellt werden. Das System stellt einen Standardsicherheitsdeskriptor für alle Registrierungseinträge bereit, die unter dem relativen Stamm HKR erstellt wurden. Daher müssen Sie beim Erstellen von Registrierungseinträgen unter dem relativen Stamm keinen Sicherheitsdeskriptor angeben.
Sicherheitseinstellungen für WMI-Klassen
Das System weist den GUIDs, die WMI-Klassen identifizieren, Standardsicherheitsbeschreibungen zu. Bei Windows XP und früheren Betriebssystemversionen gewährt der Standardsicherheitsdeskriptor für WMI-GUIDs allen Benutzern Vollzugriff. Ab Windows Server 2003 gewährt der Standardsicherheitsdeskriptor nur Administratoren Zugriff.
Wenn Ihr Treiber WMI-Klassen definiert und Sie die Standardsicherheitsbeschreibungen des Systems für diese Klassen nicht verwenden möchten, können Sie Sicherheitsdeskriptoren mithilfe eines INF DDInstall.WMI-Abschnitts innerhalb der INF-Datei des Geräts bereitstellen.
Ordnungsgemäße Verwendung von SetupAPI-Funktionen
Wenn Ihr Treiberpaket Installationsprogramme, Co-Installer oder andere Installationsanwendungen enthält, die SetupAPI-Funktionen aufrufen, müssen Sie die Richtlinien für die Verwendung von SetupAPI befolgen.
Installationssicherheitseinstellungen testen
Verwenden Sie die SetupAPI-Protokollierung , um zu überprüfen, ob Sicherheitseinstellungen, die der Installation Ihres Geräts zugeordnet sind, ordnungsgemäß angegeben wurden. Legen Sie die Protokollierungsebene auf ausführlich (0x0000FFFF) fest, und versuchen Sie dann verschiedene Installationsszenarien.
Solche Szenarien sollten sowohl anfängliche Installationen als auch Neuinstallationen aus Benutzerkonten und Systemadministratorkonten umfassen. Versuchen Sie, Ihr Gerät vor der Installation von Software zu anschließen und umgekehrt.
Wenn eine Installation erfolgreich ist, zeigen Sie das Protokoll an, um zu bestätigen, dass keine Fehler aufgetreten sind. Wenn eine Installation fehlschlägt, zeigen Sie das Protokoll an, um die Ursache des Fehlers zu ermitteln.
Darüber hinaus können Sie nach Abschluss einer Installation folgende Aktionen ausführen:
Verwenden Sie den Registrierungs-Editor, um die Sicherheitseinstellungen anzuzeigen, die einem Registrierungseintrag zugewiesen sind.
Verwenden Sie Mein Computer, um die Sicherheitseinstellungen anzuzeigen, die einer Datei zugewiesen sind.