War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Sicherheit

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.

Anzeigen:
© 2015 Microsoft