(0) exportieren Drucken
Alle erweitern

Sicherheit (C#-Programmierhandbuch)

Sicherheit ist ein unverzichtbarer Aspekt jeder C# Anwendung und muss somit in jeder Entwicklungsphase bedacht werden: Nicht erst, wenn Entwurf und Implementierung abgeschlossen sind.

Diese Liste schließt nicht alle potenziellen Sicherheitsprobleme mit ein. Sie macht auf einige allgemeine Probleme aufmerksam, die C#-Entwickler beachten müssen.

  • Verwenden Sie das checked-Schlüsselwort, um den Überlaufprüfungskontext für arithmetische Operationen und Konvertierungen mit ganzzahligen Typen zu steuern.

  • Verwenden Sie für Parameter immer den restriktivsten Datentyp. Wenn beispielsweise ein die Größe der Datenstruktur beschreibender Wert an eine Methode übergeben wird, verwenden Sie unsigned integer anstatt integer.

  • Treffen Sie keine Entscheidungen auf Grundlage von Dateinamen. Dateinamen können auf viele verschiedene Arten ausgedrückt werden, und der Test für eine bestimmte Datei wird unter Umständen umgangen.

  • Kennwörter oder andere vertrauliche Informationen dürfen niemals in die Anwendung hartcodiert werden.

  • Überprüfen Sie immer Eingaben, mit denen SQL-Abfragen generiert werden.

  • Überprüfen Sie alle Eingaben in die Methoden. Anhand der im System.Text.RegularExpressions-Namespace vorhandenen Methoden mit regulären Ausdrücken lässt sich gut überprüfen, ob Eingaben (z. B. eine E-Mail-Adresse) die korrekte Form haben.

  • Zeigen Sie keine Ausnahmeinformationen an: Diese enthalten wertvolle Hinweise für mögliche Angreifer.

  • Stellen Sie sicher, dass die Anwendung mit so wenig Berechtigungen wie möglich ausgeführt werden kann. Nur bei wenigen Anwendungen muss ein Benutzer als Administrator angemeldet sein.

  • Verwenden Sie anstelle von eigenen Verschlüsselungsalgorithmen die System.Security.Cryptography-Klassen.

  • Geben Sie den Assemblys starke Namen.

  • Speichern Sie keine vertraulichen Informationen in XML- oder anderen Konfigurationsdateien.

  • Unterziehen Sie verwalteten Code, der systemeigenen Code einschließt, einer sorgfältigen Prüfung. Bestätigen Sie die Sicherheit des systemeigenen Codes, besonders in Hinsicht auf Pufferüberläufe.

  • Seien Sie vorsichtig beim Verwenden von Delegaten, die von außerhalb der Anwendung übergeben werden.

  • Führen Sie FxCop für die Assemblys aus, um die Kompatibilität mit den Entwurfsrichtlinien von Microsoft .NET Framework sicherzustellen. FxCop kann auch über 200 Codedefekte finden und vor ihnen warnen.

Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft