WPF-Sicherheitsstrategie – Plattformsicherheit

 

Veröffentlicht: Juni 2016

Windows Presentation Foundation (WPF) stellt nicht nur eine Vielzahl von Sicherheitsdiensten bereit, sondern nutzt auch die Sicherheitsfeatures der zugrundeliegenden Plattform, die das Betriebssystem, die CLR und Internet Explorer enthält. Im Zusammenspiel stellen diese Ebenen für WPF ein leistungsfähiges Modell für tiefgreifende, vorbeugende Sicherheitsmaßnahmen (Defense-in-Depth-Modell) bereit, das eine einzelne Fehlerquelle zu vermeiden sucht, wie aus der folgenden Abbildung hervorgeht:

WPF-Sicherheitsdarstellung

Im weiteren Verlauf dieses Themas werden die Features auf den einzelnen Ebenen erläutert, die besonders WPF betreffen.

Entity with relative path '../Token/autoOutline_md.md' can not be found, for source topic '{"project_id":"3fedad16-eaf1-41a6-8f96-0c1949c68f32","entity_id":"2a39a054-3e2a-4659-bcb7-8bcea490ba31","entity_type":"Article","locale":"de-DE"}'.

Für WPF ist als Betriebssystem mindestens Entity with relative path '../Token/TLA2%23tla_winxpsp2_md.md' can not be found, for source topic '{"project_id":"3fedad16-eaf1-41a6-8f96-0c1949c68f32","entity_id":"2a39a054-3e2a-4659-bcb7-8bcea490ba31","entity_type":"Article","locale":"de-DE"}'. erforderlich. Der Kern von Entity with relative path '../Token/TLA2%23tla_winxpsp2_md.md' can not be found, for source topic '{"project_id":"3fedad16-eaf1-41a6-8f96-0c1949c68f32","entity_id":"2a39a054-3e2a-4659-bcb7-8bcea490ba31","entity_type":"Article","locale":"de-DE"}'. enthält verschiedene Sicherheitsfeatures, die die Sicherheitsgrundlage für alle Windows-Anwendungen, auch für die mit WPF erstellten Anwendungen, bilden. Windows Vista enthält die Sicherheitsfeatures von WPF in erweiterter Form. In diesem Thema wird der Umfang dieser Sicherheitsfeatures behandelt, die für WPF wichtig sind. Erläutert wird auch die Integration mit WPF, um weitere tiefgreifende Vorbeugungsmaßnahmen bereitzustellen.

Microsoft Windows XP Service Pack 2 (SP2)

Neben der allgemeinen Nachbearbeitung und Stärkung von Windows enthält das Entity with relative path '../Token/TLA2%23tla_winxpsp2_md.md' can not be found, for source topic '{"project_id":"3fedad16-eaf1-41a6-8f96-0c1949c68f32","entity_id":"2a39a054-3e2a-4659-bcb7-8bcea490ba31","entity_type":"Article","locale":"de-DE"}'. drei wichtige Features, die in diesem Thema behandelt werden:

  • /GS-Kompilierung

  • Microsoft Windows Update.

/GS-Kompilierung

Entity with relative path '../Token/TLA2%23tla_winxpsp2_md.md' can not be found, for source topic '{"project_id":"3fedad16-eaf1-41a6-8f96-0c1949c68f32","entity_id":"2a39a054-3e2a-4659-bcb7-8bcea490ba31","entity_type":"Article","locale":"de-DE"}'. bietet Schutz durch das erneute Kompilieren vieler zentraler Systembibliotheken, einschließlich aller WPF-Abhängigkeiten wie die CLR, um das Risiko von Pufferüberläufen zu verringern. Dies wird mit dem /GS-Parameter und dem C/C++-Befehlszeilencompiler erreicht. Obwohl Pufferüberläufe ausdrücklich vermieden werden sollten, ist die Kompilierung mit /GS ein Beispiel für eine tiefgreifende Verteidigungsmaßnahme gegen potenzielle Sicherheitslücken, die versehentlich oder böswillig durch Pufferüberläufe erzeugt werden.

In der Vergangenheit waren Pufferüberläufe die Ursache für viele Sicherheitslücken mit gravierenden Folgen. Ein Pufferüberlauf tritt auf, wenn ein Angreifer die Sicherheitsanfälligkeit eines Codes nutzt, die das Einfügen von schädlichem Code ermöglicht, der über die Begrenzungen eines Puffers schreibt. Ein Angreifer kann dann durch Überschreiben der Rückgabeadresse einer Funktion den Prozess, in dem der Code ausgeführt wird, hacken und die Ausführung des Angreifercodes auslösen. Daraus entsteht bösartiger Code, der beliebigen Code mit den gleichen Berechtigungen wie der gehackte Prozess ausführt.

Auf hoher Ebene schützt das /GS-Compilerflag vor einigen möglichen Pufferüberläufen, indem es zum Schutz der Rückgabeadresse einer Funktion, die über lokale Zeichenfolgepuffer verfügt, ein spezielles Sicherheitscookie einschleust. Nach der Rückgabe einer Funktion wird das Sicherheitscookie mit seinem vorherigen Wert verglichen. Hat sich der Wert geändert, ist möglicherweise ein Pufferüberlauf aufgetreten, und der Prozess wird mit einer Fehlerbedingung beendet. Das Beenden des Prozesses verhindert die Ausführung von potenziell bösartigem Code. Weitere Einzelheiten hierzu finden Sie unter /GS (Puffersicherheitsprüfung).

WPF wird mit dem /GS-Flag kompiliert, um eine weitere Schutzebene für WPF-Anwendungen bereitzustellen.

Verbesserungen von Microsoft Windows Update

Auch Microsoft Windows Update wurde in Entity with relative path '../Token/TLA2%23tla_winxpsp2_md.md' can not be found, for source topic '{"project_id":"3fedad16-eaf1-41a6-8f96-0c1949c68f32","entity_id":"2a39a054-3e2a-4659-bcb7-8bcea490ba31","entity_type":"Article","locale":"de-DE"}'. verbessert, um den Prozess des Herunterladens und Installierens von Updates zu vereinfachen. Durch diese Änderungen wird die Sicherheit für WPF-Kunden erheblich erhöht, da sie dafür sorgen, dass die Systeme der Kunden (besonders in Hinblick auf die Sicherheitsupdates) auf dem neuesten Stand sind.

Windows Vista

WPF-Benutzer mit Windows Vista profitieren von zusätzlichen Verbesserungen des Betriebssystems in puncto Sicherheit, z. B. Benutzerkontensteuerung, Integritätsprüfungen für Code und Rechteisolierung.

Benutzerkontensteuerung (User Account Control, UAC)

Derzeit neigen Windows-Benutzer dazu, mit mit Administratorrechten zu arbeiten, da diese für viele Anwendungen (entweder für die Installation und/oder die Ausführung) erforderlich sind. Das Schreiben von Standardanwendungseinstellungen in die Registrierung ist nur ein Beispiel.

Das Arbeiten mit Administratorrechten bedeutet im Grunde, dass Anwendungen von Prozessen ausgeführt werden, denen Administratorrechte gewährt werden. Das hat Auswirkungen auf die Sicherheit, denn bösartiger Code, der zum Hacken eines mit Administratorrechten ausgeführten Prozesses verwendet wird, übernimmt automatisch dessen Berechtigungen, einschließlich des Zugriffs auf kritische Systemressourcen.

Anwendungen nur mit den unbedingt erforderlichen Berechtigungen auszuführen, ist eine Möglichkeit, sich vor dieser Sicherheitsbedrohung zu schützen. Dieses sogenannte "Prinzip der geringsten Rechte" ist ein zentrales Feature des Betriebssystems Windows Vista. Diese als Benutzerkontensteuerung bezeichnete Funktion wird von Windows Vista auf zweierlei Weise verwendet:

  • Die meisten Anwendungen werden standardmäßig mit den Rechten der Benutzerkontensteuerung ausgeführt, selbst wenn der Benutzer ein Administrator ist; nur Anwendungen, die Administratorrechte benötigen, werden mit Administratorrechten ausgeführt. Um mit Administratorrechten ausgeführt zu werden, müssen Anwendungen entweder in ihrem Anwendungsmanifest oder als Eintrag in der Sicherheitsrichtlinie besonders gekennzeichnet werden.

  • Bereitstellen von Kompatibilitätslösungen wie die Virtualisierung. Viele Anwendungen versuchen beipielsweise, in eingeschränkte Speicherorte wie "C:\Programme" zu schreiben. Für Anwendungen, die über die Benutzerkontensteuerung ausgeführt werden, steht ein alternativer benutzerbezogener Speicherort zur Verfügung, der für Schreibvorgänge keine Administratorrechte erfordert. Für Anwendungen, die über die Benutzerkontensteuerung ausgeführt werden, wird "C:\Programme" virtualisiert. Dadurch wird der Anschein erweckt, dass die Anwendungen in dieses Verzeichnis schreiben, obwohl sie stattdessen in den alternativen, benutzerbezogenen Speicherort schreiben. Dank dieser Art von Kompatibilität kann das Betriebssystem viele Anwendungen ausführen, die zuvor nicht mit der Benutzerkontensteuerung ausgeführt werden konnten.

Integritätsprüfungen für Code

Windows Vista enthält strengere Integritätsprüfungen für Code, um zu verhindern, dass bösartiger Code zur Lade-/Laufzeit in Systemdateien oder den Kernel eingeschleust wird. Dies geht über den Schutz der Systemdateien hinaus.

Prozess mit eingeschränkten Rechten für im Browser gehostete Anwendungen

Im Browser gehostete WPF-Anwendungen werden im Sicherheitssandkasten der Internetzone ausgeführt. Die Integration von WPF mit Microsoft Internet Explorer erweitert diesen Schutz und stellt zusätzliche Unterstützung bereit.

Internet Explorer 6 Service Pack 2 und Internet Explorer 7 für XP

WPF nutzt die Sicherheit des Betriebssystems für weiteren Schutz, indem es die Prozessberechtigungen für XAML-Browseranwendungen (XAML browser applications; XBAPs) begrenzt. Bevor eine im Browser gehostete WPF-Anwendung gestartet wird, erstellt das Betriebssystem einen Hostprozess, der unnötige Berechtigungen aus dem Prozesstoken entfernt. Zu den Berechtigungen, die entfernt werden, gehören beispielsweise das Herunterfahren des Computers des Benutzers, das Laden von Treibern und der Lesezugriff auf alle Dateien auf dem Computer.

Internet Explorer 7 für Vista

In Windows Internet Explorer 7 werden WPF-Anwendungen im geschützten Modus ausgeführt. Besonders XAML-Browseranwendungen (XAML browser applications; XBAPs) werden mit mittlerer Integrität ausgeführt.

Defense-In-Depth-Ebene

Da XAML-Browseranwendungen (XAML browser applications; XBAPs) durch den Berechtigungssatz der Internetzone generell in einem Sicherheitssandkasten ausgeführt werden, wirkt sich das Entfernen dieser Berechtigungen unter Kompatibilitätsgesichtspunkten auf XAML-Browseranwendungen (XAML browser applications; XBAPs) nicht negativ aus. Stattdessen wird eine zusätzliche Defense-in-Depth-Ebene geschaffen. Wenn eine in einem Sicherheitssandkasten ausgeführte Anwendung in der Lage ist, andere Ebenen anzugreifen und den Prozess zu hacken, verfügt auch der Prozess nur über eingeschränkte Berechtigungen.

Weitere Informationen finden Sie unter Verwenden der Benutzerkontensteuerung.

Die Common Language Runtime (CLR) bietet eine Reihe wichtiger Vorteile in puncto Sicherheit. Dazu zählen Validierung und Überprüfung, Codezugriffssicherheit (Code Access Security, CAS) sowie die sicherheitsrelevante Methode.

Validierung und Prüfung

Assemblyisolation und Integrität wird von der CLR über einen Validierungsprozess bereitgestellt. Mit der CLR-Validierung wird sichergestellt, dass Assemblys isoliert werden. Dazu wird deren PE (Portable Executable)-Dateiformat für Adressen validiert, die auf eine Stelle außerhalb der Assembly verweisen. Anhand der CLR-Validierung wird auch die Integrität der in einer Assembly eingebetteten Metadaten validiert.

Um die Typsicherheit zu gewährleisten, häufige Sicherheitsprobleme (z. B. Pufferüberläufe) zu vermeiden und durch die Isolation von Unterprozessen die Ausführung in einem Sicherheitssandkasten zu ermöglichen, setzt die CLR-Sicherheit das Prüfprinzip ein.

Verwaltete Anwendungen werden in Microsoft Intermediate Language (MSIL) kompiliert. Wenn Methoden in einer verwalteten Anwendung ausgeführt werden, wird die MSIL über Just-in-Time (JIT)-Kompilierung in systemeigenen Code kompiliert. Die JIT-Kompilierung enthält einen Prüfprozess mit vielen Sicherheits- und Stabilitätsregeln, die sicherstellen, dass der Code keine der folgenden Eigenschaften aufweist:

  • Verletzen von Typverträgen

  • Verursachen von Pufferüberläufen

  • Unkontrollierter Zugriff auf den Arbeitsspeicher

Verwalteter Code, der den Prüfregeln nicht entspricht, darf nur dann ausgeführt werden, wenn er als vertrauenswürdiger Code gilt.

Der Vorteil des prüfbaren Codes ist einer der wichtigsten Gründe, warum WPF auf .NET Framework aufbaut. Mit zunehmender Verwendung prüfbaren Codes sinkt die Wahrscheinlichkeit, dass potenzielle Schwachstellen ausgenutzt werden, ganz erheblich.

Codezugriffssicherheit

Ein Clientcomputer stellt eine Vielzahl von Ressourcen bereit, auf die eine verwaltete Anwendung zugreifen kann. Dazu zählen u. a. Dateisystem, Registrierung, Druckdienste, Benutzeroberfläche, Reflektion und Umgebungsvariablen. Bevor eine verwaltete Anwendung auf eine Ressource auf einem Clientcomputer zugreifen kann, benötigt sie dafür die .NET Framework Codezugriffssicherheit (Code Access Security, CAS)-Berechtigung. Eine Berechtigung in CAS ist eine Unterklasse von CodeAccessPermission; CAS implementiert eine Unterklasse für jede Ressource, auf die verwaltete Anwendungen zugreifen können.

Der Satz von Rechten, den CAS einer verwalteten Anwendung beim Starten gewährt, wird als Berechtigungssatz bezeichnet. Er richtet sich nach den von der Anwendung bereitgestellten Nachweisen. Bei WPF-Anwendungen wird als Nachweis der Speicherort oder die Zone bereitgestellt, von dem bzw. der die Anwendungen gestartet werden. CAS identifiziert die folgenden Zonen:

  • Arbeitsplatz. Anwendungen, die auf dem Clientcomputer gestartet werden (voll vertrauenswürdig).

  • Lokales Intranet. Anwendungen, die aus dem Intranet gestartet werden (in gewisser Weise vertrauenswürdig).

  • Internet. Anwendungen, die aus dem Internet gestartet werden (wenig vertrauenswürdig).

  • Vertrauenswürdige Sites. Anwendungen, die von einem Benutzer als vertrauenswürdig identifiziert wurden (wenig vertrauenswürdig).

  • Nicht vertrauenswürdige Sites. Anwendungen, die von einem Benutzer als nicht vertrauenswürdig identifiziert wurden (nicht vertrauenswürdig).

Für jede dieser Zonen stellt CAS einen vordefinierten Berechtigungssatz bereit, der die Berechtigungen enthält, die der jeweils zugeordneten Vertrauensebene entsprechen. Dazu gehören:

  • FullTrust. Für Anwendungen, die aus der Zone Arbeitsplatz gestartet werden. Alle möglichen Berechtigungen werden gewährt.

  • LocalIntranet. Für Anwendungen, die aus der Zone Lokales Intranet gestartet werden. Für einen moderaten Zugriff auf die Ressourcen des Clientcomputers wird eine Teilmenge von Berechtigungen gewährt. Dazu zählen isolierter Speicher, uneingeschränkter Zugriff auf die Benutzeroberfläche und Dateidialogfelder, eingeschränkte Reflektion sowie eingeschränkter Zugriff auf Umgebungsvariablen. Berechtigungen für kritische Ressourcen wie die Registrierung werden nicht bereitgestellt.

  • Internet. Für Anwendungen, die aus dem Internet oder der Zone Vertrauenswürdige Sites gestartet werden. Für einen eingeschränkten Zugriff auf die Ressourcen des Clientcomputers wird eine Teilmenge von Berechtigungen gewährt. Dazu zählen isolierter Speicher, Öffnen von Dateien sowie eingeschränkter Zugriff auf die Benutzeroberfläche. Im Grunde isolieren diese Berechtigungssätze die Anwendungen vom Clientcomputer.

Anwendungen, die aus der Zone Nicht vertrauenswürdige Sites stammen, gewährt CAS überhaupt keine Berechtigungen. Daher gibt es für diese Anwendungen keinen vordefinierten Berechtigungssatz.

Die folgende Abbildung veranschaulicht die Beziehung zwischen Zonen, Berechtigungssätzen, Berechtigungen und Ressourcen.

CAS-Berechtigungssätze

Die Einschränkungen des Sicherheitssandkastens der Internetzone gelten in gleicher Weise für jeden Code, den eine XBAP aus einer Systembibliothek importiert (einschließlich WPF). Dadurch wird sichergestellt, dass jedes Bit des Codes (selbst WPF) gesperrt wird. Unglücklicherweise muss eine XBAP jedoch, um ausgeführt zu werden, Funktionalität ausführen, die mehr Berechtigungen erfordert, als im Rahmen des Sicherheitssandkastens der Internetzone gewährt werden.

Nehmen Sie beispielsweise eine XBAP-Anwendung, die die folgende Seite enthält:

            FileIOPermission fp = new FileIOPermission(PermissionState.Unrestricted);
            fp.Assert();

            // Perform operation that uses the assert

            // Revert the assert when operation is completed
            CodeAccessPermission.RevertAssert();

Zum Ausführen dieser XBAP muss der zugrunde liegende WPF-Code mehr Funktionalität ausführen, als der aufrufenden XBAP zur Verfügung steht. Dazu zählen:

  • Erstellen eines Fensterhandles (hWnd) für das Rendering

  • Verteilen von Nachrichten

  • Laden der Schriftart Tahoma

Unter dem Gesichtspunkt der Sicherheit wäre die Gewährung des direkten Zugriffs auf diese Vorgänge für die im Sicherheitssandkasten ausgeführte Anwendung eine Katastrophe.

Zum Glück bietet WPF einen Ausweg aus dieser Lage, indem es diesen Vorgängen die Ausführung mit erhöhten Rechten im Namen der im Sicherheitssandkasten ausgeführten Anwendung erlaubt. Während alle WPF-Vorgänge anhand der eingeschränkten Sicherheitsberechtigungen der Internetzone der XBAP-Anwendungsdomäne überprüft werden, wird WPF (wie anderen Systembibliotheken) ein Berechtigungssatz gewährt, der alle möglichen Berechtigungen enthält.

Dies setzt voraus, dass WPF erhöhte Rechte eingeräumt werden und gleichzeitig verhindert wird, dass diese Berechtigungen vom Berechtigungssatz der Internetzone der Hostanwendungsdomäne gesteuert werden.

WPF verwendet dazu für eine Berechtigung die Assert-Methode. Der folgende Code beschreibt die Vorgehensweise.

            FileIOPermission fp = new FileIOPermission(PermissionState.Unrestricted);
            fp.Assert();

            // Perform operation that uses the assert

            // Revert the assert when operation is completed
            CodeAccessPermission.RevertAssert();

Mit Assert wird im Grunde verhindert, dass die für WPF erforderlichen uneingeschränkten Berechtigungen durch die Berechtigungen der Internetzone der XBAP eingeschränkt werden.

Aus Plattformsicht ist WPF für die korrekte Anwendung von Assert verantwortlich; eine falsche Verwendung von Assert könnte schädlichem Code die Möglichkeit geben, die Rechte zu erhöhen. Daher ist es wichtig, Assert nur bei Bedarf aufzurufen und dabei sicherzustellen, dass die Einschränkungen des Sicherheitssandkastens unverändert erhalten bleiben. Beispielsweise darf im Sicherheitssandkasten ausgeführter Code zwar keine beliebigen Dateien öffnen, aber Schriftarten verwenden. WPF bietet durch den Aufruf von Assert den im Sicherheitssandkasten ausgeführten Anwendungen die Möglichkeit, die Schriftartfunktion zu verwenden, und WPF liest dann im Namen dieser Anwendung die Dateien, die bekanntermaßen diese Schriftarten enthalten

ClickOnce-Bereitstellung

ClickOnce ist eine umfangreiche Bereitstellungstechnologie, die in .NET Framework enthalten ist und mit Microsoft Visual Studio integriert (detaillierte Informationen finden Sie unter Übersicht über die ClickOnce-Bereitstellung). Eigenständige WPF-Anwendungen können mit ClickOnce bereitgestellt werden, während im Browser gehostete Anwendungen mit ClickOnce bereitgestellt werden müssen.

Mit ClickOnce bereitgestellte Anwendungen werden durch die Codezugriffssicherheit (Codezugriffssicherheit (Code Access Security, CAS)) mit einer weiteren Sicherheitsebene ausgestattet; im Grunde fordern mit ClickOnce bereitgestellte Anwendungen nur die von ihnen benötigten Berechtigungen an. Diese Berechtigungen werden nur gewährt, wenn sie nicht höher sind als die Berechtigungen im Berechtigungssatz für die Zone, von der die Anwendung bereitgestellt wird. Durch die Reduzierung des Berechtigungssatzes auf die benötigten Berechtigungen (selbst wenn diese niedriger sind als die Berechtigungen im Berechtigungssatz der Startzone) wird die Anzahl der Ressourcen, auf welche die Anwendung zugreifen kann, auf ein absolutes Minimum reduziert. Dadurch wird der mögliche Schaden für den Clientcomputer reduziert, falls die Anwendung gehackt wird.

Sicherheitsrelevante Methode

Für den WPF-Code, der mithilfe von Berechtigungen den Sicherheitssandkasten der Internetzone für XBAP-Anwendungen aktiviert, muss stets das höchstmögliche Maß an Sicherheitsüberwachung und -kontrolle gelten. Um diese Anforderung zu erleichtern, stellt .NET Framework eine neue Unterstützung für die Verwaltung von Code bereit, der Rechte erhöht. Insbesondere die CLR ermöglicht es Ihnen, Code zu identifizieren, der Rechte erhöht, und diesen mit dem SecurityCriticalAttribute zu kennzeichnen; nicht mit dem SecurityCriticalAttribute gekennzeichneter Code wird mit dieser Methode transparent. Umgekehrt wird verhindert, dass verwalteter Code, der nicht mit dem SecurityCriticalAttribute gekennzeichnet ist, die Rechte erhöht.

Die sicherheitsrelevante Methode ermöglicht die Organisation von WPF-Code, der Rechte bis in den sicherheitskritischen Kernel erhöht, während der Rest transparent dargestellt wird. Durch das Isolieren des sicherheitskritischen Codes kann sich das WPF-Entwicklungsteam auf eine zusätzliche Sicherheitsanalyse und Quellcodekontrolle auf dem sicherheitskritischen Kernel konzentrieren, die weit über die Standardsicherheitsmaßnahmen hinausgehen (siehe WPF-Sicherheitsstrategie – Sicherheitsentwicklung).

Beachten Sie, dass .NET Framework vertrauenswürdigem Code erlaubt, den Sicherheitssandkasten der Internetzone für die XBAP zu erweitern, indem es Entwicklern gestattet wird, verwaltete Assemblys zu schreiben, die mit dem AllowPartiallyTrustedCallersAttribute (APTCA) gekennzeichnet und im globalen Assemblycache (GAC) des Benutzers bereitgestellt werden. Das Kennzeichnen einer Assembly mit dem APTCA-Attribut ist ein extrem kritischer Sicherheitsvorgang, da jeder Code, auch bösartiger Code aus dem Internet, diese Assembly aufrufen kann. Bei diesem Vorgang sind äußerste Vorsicht und die Verwendung bewährter Methoden ein absolutes Muss. Die Benutzer müssen zuerst angeben, dass sie dieser Software vertrauen, bevor sie installiert werden kann.

Neben Funktionen zum Reduzieren von Sicherheitsproblemen und zum Vereinfachen der Sicherheitskonfiguration enthält Microsoft Internet Explorer 6 (SP2) verschiedene Features, die die Sicherheit für die Benutzer von XAML-Browseranwendungen (XAML browser applications; XBAPs) noch weiter erhöhen. Hauptziel dieser Features ist eine bessere Kontrolle des Benutzers über seine Arbeit im Brower.

Vor IE6 SP2 mussten Benutzer mit Folgendem rechnen:

  • Zufällige Popupfenster

  • Verwirrende Skriptumleitung

  • Zahlreiche Sicherheitsdialogfelder auf manchen Websites

In einigen Fällen versuchten nicht vertrauenswürdige Websites, Benutzer durch Spoofing der Installationsbenutzeroberfläche oder wiederholtes Anzeigen eines Microsoft ActiveX-Installationsdialogfelds zu täuschen, obwohl der Benutzer den Vorgang bereits abgebrochen hatte. Mit diesen Techniken ist es möglich, eine große Anzahl von Benutzern zu schlechten Entscheidungen zu verleiten, die zur Installation von Spyware-Anwendungen führen.

IE6 SP2 enthält mehrere Features, um diese Art von Problemen rund um das Prinzip der Benutzerinitiierung zu minimieren. IE6 SP2 erkennt, wenn ein Benutzer vor einer Aktion auf einen Link oder ein Seitenelement geklickt hat (als Benutzerinitiierung bezeichnet), und behandelt den Vorgang anders als eine ähnliche Aktion, die von dem Skript auf der Seite ausgeführt wird. Beispielsweise enthält IE6 SP2 einen Popupblocker, der erkennt, wenn ein Benutzer auf eine Schaltfläche klickt, bevor auf der Seite ein Popup erstellt wird. Auf diese Weise kann IE6 SP2 die meisten unschädlichen Popups zulassen und gleichzeitig die Popups verhindern, die Benutzer weder anfordern noch wünschen. Blockierte Popups werden unter der neuen Informationsleiste erfasst. Dadurch kann der Benutzer die Blockierung überschreiben und das Popup anzeigen.

Die Benutzerinitiierungslogik gilt auch für die Sicherheitshinweise beim Öffnen/Speichern. ActiveX-Installationsdialogfelder werden immer unter der Informationsleiste erfasst, sofern es sich nicht um das Upgrade eines bereits installierten Steuerelements handelt. All diese Maßnahmen sorgen für eine Benutzererfahrung mit mehr Sicherheit und Kontrolle und bieten Schutz vor Websites, die den Benutzer belästigen und zur Installation von unerwünschter oder schädlicher Software verleiten wollen.

Diese Funktionen schützen auch die Kunden, die mit IE6 SP2 zu Websites wechseln, auf denen sie WPF-Anwendungen herunterladen und installieren können. Hauptgrund dafür ist die bessere Benutzererfahrung, die IE6 SP2 ermöglicht und die weniger Gelegenheit zum Installieren schädlicher oder undurchsichtiger Anwendungen bietet, und zwar ungeachtet der zum Erstellen verwendeten Technologie (einschließlich WPF). WPF erweitert durch die Verwendung von ClickOnce diese Schutzmaßnahmen noch und vereinfacht damit das Herunterladen der zugehörigen Anwendungen über das Internet. Da XAML-Browseranwendungen (XAML browser applications; XBAPs) innerhalb eines Sicherheitssandkastens der Internetzone ausgeführt werden, können sie nahtlos gestartet werden. Andererseits setzen eigenständige WPF-Anwendungen volle Vertrauenswürdigkeit voraus, um ausgeführt werden zu können. Für diese Anwendungen zeigt ClickOnce beim Startvorgang ein Sicherheitsdialogfeld an, um auf die Verwendung der zusätzlichen Sicherheitsanforderungen der Anwendung hinzuweisen. Da dies vom Benutzer initiiert werden muss, unterliegt der Vorgang außerdem der Benutzerinitiierungslogik und kann kann abgebrochen werden.

Im Rahmen unseres stetigen Engagements für die Sicherheit enthält Internet Explorer 7 die Sicherheitsfunktionen von IE6 SP2 und erweitert diese noch.

Grundlegendes zur Sicherheit in Microsoft Internet Explorer 6 unter Windows XP SP2
Grundlegendes zum und Arbeiten mit dem geschützten Modus von Internet Explorer
Windows XP Service Pack 3
Windows Vista-Sicherheitshandbuch
Codezugriffssicherheit
Sicherheit
WPF-Sicherheit mit teilweiser Vertrauenswürdigkeit
WPF-Sicherheitsstrategie – Sicherheitsentwicklung

Anzeigen: