Schützen von ADO.NET-Anwendungen

Beim Schreiben von sicheren ADO.NET-Anwendungen gilt es nicht nur, häufige Fallstricke bei der Codierung zu umgehen, wie die Nichtvalidierung von Benutzereingaben. Eine Anwendung, die auf Daten zugreift, weist eine Vielzahl von möglichen Fehlern auf, die Angreifer ausnutzen können, um vertrauliche Daten abzurufen, zu ändern oder zu beschädigen. Es ist daher unerlässlich, alle Sicherheitsaspekte zu verstehen, und zwar beginnend bei der Erstellung von Gefahrenmodellen während des Anwendungsentwurfs bis hin zur eigentlichen Bereitstellung der Anwendung und ihrem laufenden Betrieb.

.NET Framework bietet eine Reihe nützlicher Klassen, Dienste und Tools zum Sichern und Verwalten von Datenbankanwendungen. Die Common Language Runtime (CLR) bietet eine typsichere Umgebung für die Ausführung von Code mit Codezugriffssicherheit (Code Access Security, CAS), um die Berechtigungen für verwalteten Code weiter einzuschränken. Die Beachtung von Codierungspraktiken für einen sicheren Datenzugriff hilft, den Schaden zu begrenzen, den ein potenzieller Angreifer verursachen kann.

Das Schreiben von sicherem Code schützt jedoch nicht vor selbst zu verantwortenden Sicherheitslücken beim Arbeiten mit nicht verwalteten Ressourcen, wie Datenbanken. Die meisten Serverdatenbanken, wie SQL Server, verfügen über eigene Sicherheitssysteme, die bei korrekter Implementierung für mehr Sicherheit sorgen. Aber auch Datenquellen mit einem robusten Sicherheitssystem können zum Angriffsopfer werden, wenn sie nicht ordnungsgemäß konfiguriert werden.

In diesem Abschnitt

Sicherheitsübersicht
Enthält Empfehlungen für das Entwerfen sicherer ADO.NET-Anwendungen.

Sicherer Datenzugriff
Beschreibt das Arbeiten mit Daten aus einer gesicherten Datenquelle.

Sichere Clientanwendungen
Enthält Überlegungen zum Thema Sicherheit für Clientanwendungen.

Codezugriffssicherheit und ADO.NET
Beschreibt, wie CAS zum Schutz von ADO.NET-Code beitragen kann. Erläutert außerdem das Arbeiten mit teilweiser Vertrauenswürdigkeit.

Datenschutz und -sicherheit
Beschreibt Verschlüsselungsmöglichkeiten für ADO.NET-Anwendungen.

DataSet- und DataTable-Sicherheitsleitfaden
Enthält einen Sicherheitsleitfaden für DataSet und DataTable.

SQL Server Security (SQL Server-Sicherheit)
Beschreibt SQL Server-Sicherheitsfunktionen aus Entwicklersicht.

Sicherheitshinweise
Beschreibt Sicherheitsfunktionen für Entity Framework-Anwendungen.

Security
Enthält Links zu Artikeln, in denen alle Sicherheitsaspekte in .NET beschrieben werden.

Sicherheitstools
.NET Framework-Tools zum Sichern und Verwalten von Sicherheitsrichtlinien.

Ressourcen für das Erstellen sicherer Anwendungen
Enthält Links zu Artikeln zum Erstellen sicherer Anwendungen.

Sicherheitsbibliographie
Enthält Links zu externen Ressourcen, die online und in Druckversion verfügbar sind.

Siehe auch