10 Security-Tipps für Anwendungsentwickler

21.08.2009

Auszug aus einem Artikel des regionalen Wirtschaftsmagazins Wirtschaft zwischen Alb und Bodensee, Ausgabe 7-8/2009

1. Greifen Sie auf getestete und bewährte Komponenten zurück
Das können einzelne Bibliotheken oder Frameworks sein. Bei Einsatz von Opensource-Komponenten sollten Sie die jeweiligen Lizenzbedingungen kennen. Beachten Sie auch Rahmenbedingungen seitens Ihres Auftraggebers in Bezug auf die Betriebsumgebung bis hin zu freigegebenen Softwareversionen.

2. Nutzen Sie Standards
Setzen Sie z. B. etablierte Protokolle und Verfahren ein.

3. Nutzen Sie vorhandene Infrastruktur
Prüfen Sie, welche bereits vorhandenen Systeme und Systemkomponenten Sie verwenden können.

4. Etablieren Sie nicht noch ein Benutzermanagement
Ein hohes Risiko liegt darin, dass Benutzer aufgrund unzähliger Accounts und teilweise sehr restriktiver Anforderungen an Passwörter sich Zugangsdaten notieren oder einfach zu erratende Sequenzen verwenden. Machen Sie sich mit dem Begriff „Single Sign On“ (SSO) vertraut und verzichten Sie möglichst ganz auf zusätzliche Zugangsdaten. Sofern Sie ein eigenes Benutzermanagementsystem einsetzen, erlauben Sie Selbstregistrierungen und das Speichern von Passwörtern ausschließlich so, dass diese nicht reproduziert werden können.

5. Denken Sie wie ein Hacker
Informieren Sie sich regelmäßig über neu entdeckte Sicherheitslöcher. Achten Sie auch auf eingebundene Systeme wie z. B. Datenbanken. Machen Sie sich mit Angriffsmethoden wie Buffer Overflow, Cross Site Scripting (CSS), SQL Injection, Man in the Middle und Denial of Service vertraut. Und vergessen Sie nicht: Nicht jeder, der Ihnen etwas Böses will, kommt von außen!

6. Vergessen Sie die Dokumentation nicht
Nicht nur der Nachfolger ihres Nachfolgers wird es Ihnen danken, wenn er auch nach vielen Jahren zuverlässigen Dienstes Ihre Software anpassen muss.

7. Verschlüsseln Sie brisante Daten
Datenverkehr über Netzwerke sollte generell verschlüsselt werden. Bei sehr sensiblen Daten ist auch eine verschlüsselte Vorhaltung von Daten legitim. Ein Administrator müsste dann z. B. bei Start der Anwendung manuell einen nur ihm bekannten Schlüssel eingeben, um der Applikation eine Entschlüsselung und das Speichern weiterer Daten zu ermöglichen. Ein physikalischer Zugriff auf die Datenbank würde damit einem Angreifer nichts nützen.

8. Protokollieren Sie wichtige Vorgänge
Dann können Sie im Falle eines Falles nachvollziehen, warum Ihre Software was gemacht hat und wer gegebenenfalls dafür verantwortlich ist. Dies hilft Ihnen auch bei der Eingrenzung von Fehlern, die im Produktivbetrieb mit Echtdaten häufig nicht reproduziert werden können.

9. Achten Sie auf eine stabile Betriebsumgebung
Auch bei zeitweise sehr starker Beanspruchung sollte das Gesamtsystem noch Reserven haben und definiert reagieren. Integrieren Sie Funktionalitäten zur Erkennung von missbräuchlicher Benutzung, die z. B. ein systematisches Erraten von Passwörtern oder eine Überlastung verhindern. Die Betriebssoftware aller beteiligten Systeme sollte regelmäßig aktualisiert werden.

10. Achten Sie auf Datensicherheit
Stellen Sie durch Verwendung geeigneter Systeme und regelmäßiger Backups sicher, dass Daten auch nach einem Systemausfall oder nach einem „erfolgreichen“ Angriff reproduziert werden können. Dies betrifft auch Logfiles der beteiligten Systeme, um gegebenenfalls längerfristige Angriffsszenarien reproduzieren und rechtlich nachweisen zu können.

Zurück zur Übersicht

4 Kommentare zu “10 Security-Tipps für Anwendungsentwickler

  1. In ebendiesen Artiekl steht auch:

    Cross-Site Scripting wird manchmal auch „CSS“ abgekürzt

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*