Zusätzlicher Windows-Ressourcenschutz (Windows Resource Protection) für Registrierungsschlüssel
Plattform
Clients – Windows 7
Server – Windows Server 2008 R2
Auswirkung von Features
Schweregrad – Mittel
Häufigkeit – Gering
Beschreibung
Zusätzliche Systemressourcen haben Windows Resource Protection (WRP)-Einstellungen in Windows 7 hinzugefügt, wodurch sie schreibgeschützt wurden. Die allermeisten Ressourcen, die zusätzlichen Schutz erhalten haben, sind System-COM-Serverschlüssel, obwohl einige Features gezielten Ressourcenschutz hinzugefügt haben. Microsoft hat diese Ressourcen geändert, um das System und andere Anwendungen davor zu schützen, einander zu beeinträchtigen, und um eine konsistente, stabile Plattform bereitzustellen, auf der Anwendungen zuverlässig ausgeführt werden können. Früher konnten Anwendungen benutzerdefinierte Dateien bereitstellen und die nicht geschützte COM-Registrierung verwenden, um das System zu ändern. Bei älteren Anwendungen kann dies System-Runtimes beeinträchtigen oder die Schnittstelle ändern, auf der andere Anwendungen ordnungsgemäß funktionieren müssen. Im schlimmsten Fall könnten solche Installationen zu Systemausfällen oder Leistungsverschlechterungen im Laufe der Zeit führen. Um besseren Komfort und eine stabilere Anwendungsplattform zu bieten, haben wir diese Registrierungen gesperrt, so dass nur Microsoft-Updates Systemkomponenten ändern können.
Da die meisten geänderten Ressourcen COM-Schlüssel sind, die vom System verwendet werden, wirkt sich diese Änderung nicht auf die Mehrzahl der Anwendungen aus. Zwar erwarten wir, dass die meisten Anwendungen aufgrund dieser Änderungen besseren Komfort unter Windows 7 bieten, können einige wenige Anwendungen davon negativ betroffen sein. Die Anwendungskompatibilitätsebenen des Systems lösen automatisch Setup-Probleme, indem sie der Anwendung immer mitteilen, dass sie eine Einstellung erfolgreich geändert hat, selbst wenn dies aufgrund einer geschützten Ressource fehlschlug. Dadurch wird verhindert, dass Anwendungssetups abgebrochen werden, es können jedoch Probleme verursacht werden, wenn die Einstellung geändert werden muss, damit die Anwendung ordnungsgemäß funktioniert.
Manifest
Anwendungen haben diese Einstellungen möglicherweise schon vor Windows 7 geändert. Nach der Installation unter Windows 7 funktionieren in Anwendungen möglicherweise bestimmte Features nicht mehr, da die Einstellungen nicht den Erwartungen der Anwendung entsprechen.
Es gibt zwei Szenarien, in denen Anwendungen Probleme im Zusammenhang mit diesem zusätzlichen Schutz haben können:
- Anwendungen, die möglicherweise die jetzt geschützten Einstellungen als Datenspeicher oder als seltenen oder unbeabsichtigten Erweiterbarkeitspunkt verwenden
- In seltenen Fällen erkennt der Erkennungsmechanismus, der zum Identifizieren von Anwendungssetups verwendet wird, möglicherweise ein bestimmtes Setup nicht, weshalb die Ebene zur Beseitigung von Anwendungskompatibilitätsproblemen nicht angewendet wird
Abmilderung
Die primäre Abhilfemethode ist die Anwendungskompatibilitätsebene des Systems, die bei der Erkennung automatisch auf Anwendungssetups angewendet wird. Sie können sie auch manuell auf jede Anwendung anwenden, indem Sie die Registerkarte „Kompatibilität“ in den „Eigenschaften“ der Anwendung verwenden.
Diese Ebene löst das Problem durch Abfangen von Registrierungsvorgängen. Wenn die Anwendung versucht hat, eine schreibgeschützte Einstellung (WRP) zu ändern, gibt sie immer noch „Erfolg“ zurück, obwohl die Einstellung tatsächlich nicht geändert wurde. Bei den meisten Anwendungen verursacht dies keine Probleme. Es besteht jedoch die Möglichkeit, dass die Anwendung diese Einstellung benötigt hat, um ordnungsgemäß zu funktionieren, was dem ersten oben beschriebenen Szenario entspricht.
Lösung
Für die beiden oben aufgeführten Szenarien:
- Wenn für die Anwendung der Schlüssel schreibbar sein muss, um zu funktionieren oder den Datenspeicher zu verwenden, gibt es keine andere Lösung als die Modifizierung der Anwendung, so dass sie nicht mehr an diesen Speicherort schreibt.
- Wenn die Kompatibilitätsebene auf ein Setup nicht angewendet wurde, sollte der Setupfehler erkannt und angeboten werden, um angewendet und erneut ausgeführt zu werden. Anwendungen können auch im Kompatibilitätsmodus ausgeführt werden; in diesem Fall wird die Mitigation-Ebene immer angewendet.
Kompatibilitätstests
So ermitteln Sie, ob für eine Anwendung WRP Mitigation angewendet wurde:
- Windows Installer erkennt WRP und ignoriert automatisch und im Hintergrund Versuche, eine geschützte Ressource zu schreiben oder zu ändern. Wenn die Anwendung mit Windows Installer installiert und die Protokollierung aktiviert wurde, wird eine Warnung für jeden Registrierungsschlüsselschreibvorgang protokolliert, der aufgrund seines Status einer WRP-geschützten Ressource ignoriert wurde.
- Die Windows Resource Protection-API beinhaltet SfCIsKeyProtected zur Abfrage, ob ein Registrierungsschlüssel im aktuellen System WRP-geschützt ist.