Empfohlene Vorgehensweisen für die Sicherheit bei der Automatisierung

Visual Studio-Automatisierungsentwickler müssen sich der Verantwortung bewusst sein, die sie bei der Entwicklung sicherer Anwendungen tragen. Dazu benötigen sie Informationen zu gängigen Sicherheitsschwachstellen. Eine sichere Anwendung schützt die Informationen der Kunden und gewährleistet deren Vertraulichkeit, Integrität und Verfügbarkeit. Zudem werden durch eine sichere Anwendung die Integrität und Verfügbarkeit von Verarbeitungsressourcen gewahrt, für deren Steuerung der Systembesitzer oder Administrator zuständig ist.

In dieser Erläuterung wird als Sicherheitsrisiko eine Lücke in einem Produkt bezeichnet, durch die ein Angreifer auch bei ordnungsgemäßer Anwendung des Produkts folgende Möglichkeiten hat:

  • Unbefugtes Aneignen von Rechten auf dem System des Benutzers

  • Steuern, Ändern oder Umleiten des Systembetriebs

  • Manipulieren der Daten

    - oder -

  • Aneignen nicht erteilter Vertrauenswürdigkeit

Wichtig

Gehen Sie niemals davon aus, dass Ihre Anwendung nur in wenigen bestimmten Umgebungen ausgeführt wird, insbesondere dann nicht, wenn die Anwendung oft eingesetzt wird. Es ist sogar recht wahrscheinlich, dass sie in einer anderen, unvorhergesehenen Umgebung ausgeführt wird. Gehen Sie daher von Anfang an davon aus, dass der Code in den denkbar feindlichsten Umgebungen ausgeführt wird. Entwerfen, schreiben und testen Sie den Code dementsprechend.

Es gibt viele Gründe, die dafür sprechen, sichere Anwendungen zu erstellen. Code, der von vornherein unter Berücksichtigung von Sicherheitsaspekten entworfen und erstellt wurde, ist robuster als Code, dem erst im Nachhinein Sicherheit hinzugefügt wurde. Sicher entwickelte Anwendungen sind zudem weniger kritikanfällig, attraktiver für Benutzer und weniger kostenintensiv in Bezug auf Korrekturen und Support.

Risikoreiche APIs

Manche API-Funktionen sind unter dem Sicherheitsaspekt als risikoreicher als andere einzustufen. Einige bergen möglicherweise aufgrund ihrer Funktionsweise grundsätzlich Risiken, während andere erst problematisch werden, wenn sie nicht ordnungsgemäß aufgerufen oder gehandhabt werden. Um es auf den Punkt zu bringen: Sie sollten auf jeden Fall mit den Fehlerquellen und Eigenheiten der verschiedenen aufgerufenen API-Funktionen vertraut sein. Und sollten diese ein Sicherheitsrisiko bergen, so müssen Sie sicherstellen, dass sie ordnungsgemäß verwendet werden.

Gehen Sie auch nicht davon aus, dass die Anwendung automatisch sicher ist, nur weil im Code ausschließlich API-Funktionen verwendet werden, die als "sicher" gelten. Durch nachlässiges Programmieren setzen Sie Ihre Anwendung ebenso vielen oder gar noch mehr Risiken aus durch die Verwendung angeblich "gefährlicher" Funktionen. Dazu zählen u. a. folgende Vorgehensweisen beim Programmieren:

  • Unsachgemäßes Behandeln von Ausnahmen

  • Verwenden hart codierter Pfade

  • Verwenden hart codierter Verbindungszeichenfolgen

    - oder -

  • Fehlende Überprüfung auf richtige Anmeldeinformationen oder Berechtigungen

Zum Schutz Ihrer Anwendungen sollten Sie sich genauestens über Sicherheitsprobleme bei Code informieren. In dem Buch Writing Secure Code von Microsoft Press und den Richtlinien für das Schreiben von sicherem Code auf der Security Coding Guidelines-Website unter https://msdn2.microsoft.com/en-us/library/d55zzx87.aspx finden Sie hilfreiche Informationen (auf Englisch).

Zudem sollten Sie sich darüber im Klaren sein, dass viele Sicherheitsprobleme darauf zurückzuführen sind, dass in Anwendungen einfach Daten eingegeben werden können, die dann als vertrauenswürdig betrachtet werden. Es ist äußerst wichtig, dass die von Ihnen erstellten Anwendungen Daten bei der Eingabe sorgfältig prüfen und bewerten, um vor der Verwendung sicherzustellen, dass die Daten wohlgeformt und vertrauenswürdig sind.

Sicherheitsfeatures in Bezug auf die Automatisierung

Neben der Befolgung dieser Richtlinien bietet die Automatisierung von Visual Studio einige einfache, spezielle Methoden, die Ihnen dabei helfen, das System vor der Ausnutzung von Sicherheitsproblemen in der Automatisierung zu schützen. Denken Sie jedoch immer daran, dass diese Methoden kein Allheilmittel für alle Sicherheitsprobleme sind. Sie stellen eher einen guten Einstieg dar. Weitere Informationen finden Sie unter Add-In-Sicherheit.

Lesen Sie vor der Erstellung von Automatisierungsanwendungen sorgfältig die .NET-Sicherheitsrichtlinien, und befolgen Sie diese.

Siehe auch

Konzepte

Ressourcen für das Erstellen von sicheren Anwendungen

Weitere Ressourcen

Schlüsselbegriffe der Sicherheit