Sichere ClientanwendungenSecure Client Applications

Anwendungen bestehen in der Regel aus vielen Teilen, die alle so geschützt werden müssen, dass keine Daten verloren gehen oder das System nicht anderweitig gefährdet wird.Applications typically consist of many parts that must all be protected from vulnerabilities that could result in data loss or otherwise compromise the system. Durch das Erstellen sicherer Benutzeroberflächen lassen sich viele Probleme vermeiden, weil Angreifer damit bereits blockiert werden, bevor sie überhaupt auf Daten oder Systemressourcen zugreifen können.Creating secure user interfaces can prevent many problems by blocking attackers before they can access data or system resources.

Validieren von BenutzereingabenValidate User Input

Beim Erstellen einer Anwendung mit Datenzugriff müssen Sie davon ausgehen, dass jede Benutzereingabe an sich schädlich sein kann, solange nichts Gegenteiliges bewiesen ist.When constructing an application that accesses data, you should assume that all user input is malicious until proven otherwise. Andernfalls gefährden Sie Ihre Anwendung.Failure to do so can leave your application vulnerable to attack. In .NET Framework gibt es Klassen, mit deren Hilfe Sie für Eingabesteuerelemente festlegen können, wie gültige Werte aussehen müssen. So können Sie z. B. festlegen, wie viele Buchstaben maximal eingegeben werden dürfen.The .NET Framework contains classes to help you enforce a domain of values for input controls, such as limiting the number of characters that can be entered. Ereignishooks ermöglichen es Ihnen, Prozeduren zum Prüfen der Gültigkeit von Werten zu schreiben.Event hooks allow you to write procedures to check the validity of values. Benutzereingabedaten können validiert und stark typisiert werden, sodass die Anwendung weniger anfällig für Skriptexploits und SQL Injection-Angriffe ist.User input data can be validated and strongly typed, limiting an application's exposure to script and SQL injection exploits.

Wichtig

Zusätzlich muss die Benutzereingabe sowohl an der Datenquelle als auch in der Clientanwendung validiert werden,You must also validate user input at the data source as well as in the client application. da Angreifer ansonsten Ihre Anwendung umgehen und die Datenquelle direkt angreifen könnten.An attacker may choose to circumvent your application and attack the data source directly.

Sicherheit und BenutzereingabenSecurity and User Input
Beschreibt die Vorgehensweise bei kleinen und potenziell gefährlichen Fehlern im Zusammenhang mit der Benutzereingabe.Describes how to handle subtle and potentially dangerous bugs involving user input.

Validieren von Benutzereingaben in ASP.net Web PagesValidating User Input in ASP.NET Web Pages
Enthält eine Übersicht über das Validieren der Benutzereingabe mit ASP.NET-Validierungssteuerelementen.Overview of validating user input using ASP.NET validation controls.

Benutzereingaben in Windows FormsUser Input in Windows Forms
Enthält Links und Informationen zum Validieren von Eingaben mit Maus und Tastatur in einer Windows Forms-Anwendung.Provides links and information for validating mouse and keyboard input in a Windows Forms application.

Reguläre Ausdrücke von .NET Framework.NET Framework Regular Expressions
Beschreibt die Verwendung der Regex-Klasse, mit der die Gültigkeit der Benutzereingabe geprüft werden kann.Describes how to use the Regex class to check the validity of user input.

Windows-AnwendungenWindows Applications

In der Vergangenheit wurden Windows-Anwendungen i. d. R. mit vollständigen Berechtigungen ausgeführt.In the past, Windows applications generally ran with full permissions. .NET Framework stellt mit der Codezugriffssicherheit (Code Access Security, CAS) die Infrastruktur bereit, die erforderlich ist, um die Ausführung von Code in Windows-Anwendungen zu beschränken.The .NET Framework provides the infrastructure to restrict code executing in a Windows application by using code access security (CAS). CAS allein reicht aber zum Schutz Ihrer Anwendung nicht aus.However, CAS alone is not enough to protect your application.

Sicherheit in Windows FormsWindows Forms Security
Erläutert das Sichern von Windows Forms-Anwendungen und stellt Links zu verwandten Themen bereit.Discusses how to secure Windows Forms applications and provides links to related topics.

Windows Forms und nicht verwaltete AnwendungenWindows Forms and Unmanaged Applications
Beschreibt die Interaktion mit nicht verwalteten Anwendungen in einer Windows Forms-Anwendung.Describes how to interact with unmanaged applications in a Windows Forms application.

ClickOnce-Bereitstellung für Windows FormsClickOnce Deployment for Windows Forms
Beschreibt die Verwendung einer ClickOnce-Bereitstellung in einer Windows Forms-Anwendung und erläutert die Auswirkungen auf die Sicherheit.Describes how to use ClickOnce deployment in a Windows Forms application and discusses the security implications.

ASP.NET und XML-WebdiensteASP.NET and XML Web Services

ASP.NET-Anwendungen müssen im Allgemeinen den Zugriff auf einige Teile der Website einschränken und stellen andere Mechanismen für Datenschutz und die Sicherheit von Websites bereit.ASP.NET applications generally need to restrict access to some portions of the Web site and provide other mechanisms for data protection and site security. Über diese Links erhalten Sie nützliche Informationen zum Absichern Ihrer ASP.NET-Anwendung.These links provide useful information for securing your ASP.NET application.

XML-Webdienste stellen Daten bereit, die von ASP.NET-Anwendungen, Windows Forms-Anwendungen oder anderen Webdiensten genutzt werden können.An XML Web service provides data that can be consumed by an ASP.NET application, a Windows Forms application, or another Web service. Um die Sicherheit des Webdiensts und die der Clientanwendung müssen Sie sich selbst kümmern.You need to manage security for the Web service itself as well as security for the client application.

Weitere Informationen finden Sie in den folgenden Ressourcen.For more information, see the following resources.

RessourceResource BeschreibungDescription
Sichern von ASP.NET-WebsitesSecuring ASP.NET Web Sites Erläutert das Sichern von ASP.NET-Anwendungen.Discusses how to secure ASP.NET applications.
Sichern von mit ASP.NET erstellten XML-WebdienstenSecuring XML Web Services Created Using ASP.NET Veranschaulicht das Implementieren von Sicherheit für einen ASP.NET-Webdienst.Discusses how to implement security for an ASP.NET Web Service.
Übersicht über Skript ExploitsScript Exploits Overview Erläutert, wie Sie sich vor Angriffen mit Skriptexploits schützen können, bei denen versucht wird, bösartige Zeichen in eine Webseite einzufügen.Discusses how to guard against a script exploit attack, which attempts to insert malicious characters into a Web page.
Grundlegende Sicherheitsmethoden für WebanwendungenBasic Security Practices for Web Applications Enthält allgemeine Sicherheitsinformationen und Links zu weiteren Erläuterungen.General security information and links to further discussion,

RemotingRemoting

Mit .NET-Remoting können Sie auf einfache Weise weit verteilte Anwendungen erstellen, wobei sich die einzelnen Anwendungskomponenten auf demselben Computer oder weltweit an verschiedenen Standorten befinden können..NET remoting enables you to build widely distributed applications easily, whether the application components are all on one computer or spread out across the entire world. Sie können Clientanwendungen erstellen, die Objekte in anderen Prozessen auf demselben Computer oder auf einem beliebigen anderen Computer im Netzwerk verwenden.You can build client applications that use objects in other processes on the same computer or on any other computer that is reachable over its network. Sie können .NET Remoting auch für die Kommunikation mit anderen Anwendungsdomänen im selben Prozess verwenden.You can also use .NET remoting to communicate with other application domains in the same process.

RessourceResource BeschreibungDescription
Konfiguration von Remote AnwendungenConfiguration of Remote Applications Erläutert, wie Sie Remoting-Anwendungen so konfigurieren können, dass allgemeine Probleme vermieden werden.Discusses how to configure remoting applications in order to avoid common problems.
Sicherheit bei RemotingSecurity in Remoting Beschreibt die Authentifizierung und Verschlüsselung und enthält darüber hinaus weitere Sicherheitsthemen im Zusammenhang mit Remoting.Describes authentication and encryption as well as additional security topics relevant to remoting.
Überlegungen zu Sicherheit und RemotingSecurity and Remoting Considerations Beschreibt Sicherheitsprobleme mit geschützten Objekten und dem anwendungsdomänenübergreifenden Arbeiten.Describes security issues with protected objects and application domain crossing.

Siehe auchSee also