Untersuchen und Überprüfen von Codebasen auf Compliance
Sicherheit ist für Anwendungen von entscheidender Bedeutung. Jeden Tag melden Nachrichtenagenturen weltweit Berichte über Unternehmenssysteme, bei denen Sicherheitsverletzungen aufgetreten sind. Noch wichtiger ist, dass dabei private Unternehmens- und Kundendaten offengelegt werden.
Dies gibt es schon sehr lange. In vielen Fällen wurden solche Vorfälle nur nicht in die Öffentlichkeit getragen. Häufig wurden dabei private Informationen offengelegt, aber die betroffenen Personen wurden noch nicht einmal benachrichtigt.
Regierungen weltweit verabschieden Gesetze, um die Offenlegung von Informationen zu Sicherheitsverletzungen verbindlich zu machen und Benachrichtigungen an die Betroffenen vorzuschreiben.
Was sind also die Probleme?
Es muss verhindert werden, dass Informationen für Personen zugänglich gemacht werden, die keinen Zugriff darauf haben sollten. Noch wichtiger ist aber sicherzustellen, dass die Daten nicht ohne Erlaubnis geändert oder beschädigt werden, und dafür zu sorgen, dass die Daten im Bedarfsfall auch wirklich zerstört werden.
Es muss dafür gesorgt werden, dass die Personen, die auf die Daten zugreifen, ordnungsgemäß authentifiziert werden und dass diese Personen auch über die erforderlichen Berechtigungen für den Zugriff verfügen. Es muss möglich sein, über Verlaufs- oder Archivdaten bzw. entsprechende Protokolle Beweise zu finden, wenn eine Sicherheitsverletzung auftritt.
Beim Erstellen und Bereitstellen sicherer Anwendungen gibt es viele Aspekte zu berücksichtigen.
- Erstens gibt es ein allgemeines Wissensproblem. Viele Entwickler*innen und andere Mitarbeiter*innen gehen davon aus, dass sie über das Thema „Sicherheit“ Bescheid wissen. Oft ist dies jedoch nicht der Fall. Die Cybersicherheit ist ein sich ständig weiterentwickelndes Gebiet. Deshalb ist es wichtig, sich ständig dazu weiterzubilden und Trainings durchzuführen.
- Zweitens müssen sichergestellt werden, dass Code ordnungsgemäß erstellt wird und die erforderlichen Features sicher implementiert werden. Außerdem müssen Sie gewährleisten, dass alle Features von Anfang an unter Berücksichtigung der Sicherheit entworfen werden.
- Drittens müssen Sie sicherstellen, dass die Anwendung den geltenden Regeln und Vorschriften entsprechen. Dies ist bei der Erstellung des Codes zu überprüfen, und selbst nach der Bereitstellung müssen regelmäßig weitere Tests durchgeführt werden.
Es ist mittlerweile allgemein anerkannt, dass Sicherheit nicht etwas ist, das einer Anwendung oder einem System später noch hinzugefügt werden kann.
Die sichere Entwicklung muss Teil des Entwicklungslebenszyklus sein. Noch wichtiger ist dies für kritische Anwendungen und für solche, die vertrauliche oder streng geheime Informationen verarbeiten.
In der Vergangenheit standen Sicherheitskonzepte für Anwendungen bei Entwicklern nicht im Fokus. Abgesehen von den Problemen bei Fortbildungen und Trainings lag das insbesondere daran, dass Organisationen oftmals eine schnelle Featureentwicklung priorisierten.
Seit der Einführung von DevOps-Verfahren können Sicherheitstests viel einfacher integriert werden. Sicherheitstests sollten nicht als die Aufgabe von Sicherheitsexperten angesehen werden, sondern sie sollten als Teil des alltäglichen Lieferprozesses gelten.
Wenn insgesamt auch die Zeit für Nachbesserungen berücksichtigt wird, kann das Implementieren von Sicherheitstests in Ihre DevOps-Vorgehensweisen sogar die Gesamtzeit für das Entwickeln von Qualitätssoftware verkürzen.