Unsichere Programmierung ist eine der häufigsten Ursachen für Sicherheitslücken in Anwendungen und Systemen. Fehlerhafte Eingabevalidierung, unsaubere Fehlerbehandlung oder der unsichere Umgang mit Daten können von Angreifern ausgenutzt werden und zu Datenverlust, Systemkompromittierungen oder Betriebsunterbrechungen führen. Dieses Control stellt sicher, dass Software nach anerkannten Prinzipien sicherer Kodierung entwickelt wird.
Zweck des Controls
A 8.28 soll gewährleisten, dass Software und Skripte so entwickelt werden, dass typische Sicherheitslücken vermieden werden. Ziel ist es, Schwachstellen bereits während der Implementierung zu reduzieren und die Vertraulichkeit, Integrität und Verfügbarkeit von Informationen durch sichere Programmierung zu schützen.
Anforderungen und Maßnahmen
1. Festlegung von Richtlinien für sichere Kodierung
Organisationen müssen verbindliche Richtlinien für sichere Kodierung definieren, insbesondere:
grundlegende Prinzipien sicherer Programmierung
Anforderungen an Eingabevalidierung und Fehlerbehandlung
Vorgaben zum Umgang mit sensiblen Daten
Nutzung sicherer Bibliotheken und Frameworks
Die Richtlinien müssen dokumentiert und bekannt sein.
2. Anwendung anerkannter Kodierungsstandards
Bei der Entwicklung müssen anerkannte Standards berücksichtigt werden, zum Beispiel:
branchenübliche Secure-Coding-Guidelines
Best Practices für die jeweilige Programmiersprache
Vermeidung bekannter unsicherer Funktionen
Orientierung an bekannten Schwachstellenklassen
Dies reduziert typische Programmierfehler.
3. Schutz vor häufigen Angriffsmustern
Sichere Kodierung muss typische Angriffsmuster adressieren, insbesondere:
Entwickler müssen für sichere Kodierung qualifiziert sein:
regelmäßige Schulungen zu Secure Coding
Sensibilisierung für aktuelle Bedrohungen
Vermittlung sicherer Entwicklungspraktiken
Erfahrungsaustausch und Best Practices
Kompetente Entwickler reduzieren Risiken.
7. Überprüfung des Quellcodes
Quellcode muss regelmäßig überprüft werden:
Code-Reviews mit Sicherheitsfokus
Vier-Augen-Prinzip
Überprüfung sicherheitskritischer Komponenten
Dokumentation der Ergebnisse
Reviews helfen, Fehler frühzeitig zu erkennen.
8. Dokumentation und kontinuierliche Verbesserung
Maßnahmen zur sicheren Kodierung müssen dokumentiert und weiterentwickelt werden:
Richtlinien und Standards
Schulungs- und Prüfungsnachweise
Erkenntnisse aus Sicherheitsvorfällen
Anpassung an neue Bedrohungen
So bleibt sichere Kodierung wirksam.
Zusammenfassung
A 8.28 fordert, dass Organisationen sichere Kodierung systematisch umsetzen. Durch verbindliche Richtlinien, Anwendung anerkannter Standards, Schutz vor typischen Angriffsmustern, Schulung der Entwickler sowie regelmäßige Überprüfung des Quellcodes wird sichergestellt, dass Software nicht durch vermeidbare Programmierfehler zur Schwachstelle der Informationssicherheit wird. Das Control ist ein zentraler Bestandteil sicherer Softwareentwicklung im Informationssicherheitsmanagementsystem.