Empfohlene Vorgehensweisen bezüglich der Sicherheit
Wichtig Dieses Dokument enthält ggf. nicht die bewährten Methoden für die aktuelle Entwicklung. Außerdem sind Links zu Downloads und anderen Ressourcen u. U. nicht mehr gültig. Die aktuell empfohlene Version finden Sie hier. ArchiveDisclaimer

Empfohlene Vorgehensweisen bezüglich der Sicherheit in C++

Dieses Thema enthält Informationen über empfohlene Sicherheitstools und Vorgehensweisen. Die Verwendung dieser Ressourcen und Tools macht eine Anwendung zwar nicht immun gegen Angriffe, aber sie verringert die Wahrscheinlichkeit erfolgreicher Angriffe.

Visual C++-Sicherheitsfeatures

In diesem Abschnitt werden Sicherheitsfeatures erläutert, die in den Visual C++-Compiler und den Visual C++-Linker integriert sind.

/GS (Puffer-Sicherheitsüberprüfung)

Diese Compileroption (standardmäßig aktiviert) weist den Compiler an, Überlauferkennungscode in Funktionen einzufügen, die Angriffen ausgesetzt sein können. Wenn ein Überlauf erkannt wird, wird die Programmausführung angehalten.

/SAFESEH (Abbild verfügt über sichere Ausnahmehandler)

Diese Linkeroption (standardmäßig nicht aktiviert) weist den Linker an, dem Ausgabeabbild eine Tabelle mit den Adressen aller Ausnahmehandler hinzuzufügen. Zur Laufzeit verwendet das Betriebssystem diese Tabelle, um sicherzustellen, dass nur rechtmäßige Ausnahmehandler ausgeführt werden. Dies hilft zu verhindern, dass von einem Laufzeithackerangriff eingeschleuste Ausnahmehandler ausgeführt werden.

/analyze (Codeanalyse in der Enterprise-Version)

Diese Compileroption (standardmäßig nicht aktiviert) aktiviert die Codeanalyse, die über potentielle Sicherheitslücken wie Pufferüberlauf, nicht initialisierten Speicher, Dereferenzierung von NULL-Zeigern und Speicherverlusten Bericht erstattet. Weitere Informationen finden Sie unter Übersicht über die Codeanalyse für C/C++.

CRT mit erweiterter Sicherheit

Für Visual C++ 2005 wurde die CRT (C Runtime Library, C-Laufzeitbibliothek) um sichere Versionen von Funktionen erweitert, die ein Sicherheitsrisiko darstellen. (Z. B. die nicht überprüfte strcpy-Funktion zum Kopieren von Zeichenfolgen) Die älteren, nicht sicheren Versionen dieser Funktionen sind jetzt veraltet, sodass ihre Verwendung zu Compilerwarnungen führt. Programmierern wird dringend empfohlen, die sicheren Versionen dieser CRT-Funktionen zu verwenden statt nur die Compilerwarnungen zu unterdrücken. Weitere Informationen finden Sie unter Security Enhancements in the CRT.

Überprüfte Iteratoren

Durch überprüfte Iteratoren erhalten Benutzer der Standard-C++-Bibliothekscontainerklassen Benachrichtigungen über Zugriffsversuche auf Elemente außerhalb der Containergrenzen. Weitere Informationen finden Sie unter Checked Iterators.

Codeanalyse für verwalteten Code

Codeanalyse für verwalteten Code, auch bekannt als FxCop, ist ein Tool, das Assemblys auf Übereinstimmung mit den Microsoft .NET Framework-Entwurfsrichtlinien überprüft. FxCop analysiert den Code und die Metadaten innerhalb jeder Assembly und prüft in den folgenden Bereichen auf Fehler:

  • Bibliotheksentwurf

  • Lokalisierung

  • Namenskonventionen

  • Leistung

  • Sicherheit

Codeanalyse für verwalteten Code ist in Visual Studio Team System enthalten und kann auch unter http://www.gotdotnet.com/team/fxcop/ gedownloadet werden.

Windows Application Verifier

Verfügbar als Bestandteil des Anwendungskompatibilitäts-Toolkits ist Application Verifier (AppVerifier), ein Tool, das dem Entwickler hilft, potentielle Kompatibilitäts-, Stabilitäts- und Sicherheitsprobleme in der Anwendung aufzudecken.

AppVerifier überwacht während der Ausführung des Programms die Nutzung des Betriebssystems durch die Anwendung einschließlich des Dateisystems, der Registrierung, des Speichers und der APIs. Das Tool stellt dann eine Anweisung zur Beseitigung der aufgedeckten Probleme auf Quellcodeebene bereit.

Sie können mit dem Verifier:

  • Auf potenzielle durch allgemeine Programmierfehler verursachte Anwendungskompatibilitätsfehler prüfen.

  • Eine Anwendung auf speicherbezogene Probleme untersuchen.

  • Die Übereinstimmung einer Anwendung mit den verschiedenen Anforderungen des Designed for Windows XP-Logoprogramms oder des Certified for Windows Server™ 2003-Logoprogramms bestimmen.

  • Potenzielle Sicherheitsprobleme in einer Anwendung aufdecken.

Windows Application Verifier ist unter http://www.microsoft.com/windows/appcompatibility/appverifier.mspx verfügbar.

.NET Framework-Sicherheitsfeatures

Dieser Abschnitt gibt eine Übersicht über zwei verwandte .NET Framework-Sicherheitsfeatures.

Codezugriffssicherheit

Beschreibt das .NET Framework-Sicherheitssystem und wie es mit dem Anwendungscode zusammenarbeitet.

Konfigurieren der Sicherheitsrichtlinien

Beschreibt Richtlinien und Tools zum Anpassen der .NET Framework-Sicherheitsrichtlinien.

Windows-Benutzerkonten

Das Verwenden von Windows-Benutzerkonten, die zur Gruppe der Administratoren gehören, setzt Entwickler und – durch entsprechende Erweiterung – auch Kunden Sicherheitsrisiken aus. Weitere Informationen finden Sie unter Ausführen als Mitglied der Gruppe Benutzer.

Siehe auch

Referenz

System.Security

Weitere Ressourcen

Sichern von Anwendungen

Anzeigen:
© 2016 Microsoft