Doppelte Absicherung

Iterative Software-Entwicklung weiter stärken

| Autor / Redakteur: Mark Warren* / Stephan Augsten

Neue Entwicklungsprozesse erfordern ein Umdenken

Die vielen prominenten Sicherheitsvorfälle im vergangenen Jahr machen deutlich, dass dieses Problem noch weit von seiner Lösung entfernt ist. Wenn iterative Entwicklung die Methode der Zukunft ist, wie können wir dann verhindern, dass solche Probleme auftreten?

Natürlich wird jedes vorausschauende Unternehmen ein ganzes Arsenal an speziellen Tools für Informationssicherheit im Einsatz haben. Doch gerade traditionelle Ansätze passen nicht unbedingt am besten zu den modernen Entwicklungsmethoden von heute: Zu dem Zeitpunkt, an dem ein vollständiger System-Scan abgeschlossen ist, richtet der Bug unter Umständen bereits im Produktivbetrieb Schaden an.

Konventionelle Sicherheitsstrategien, die darauf abzielen, Mauern zu errichten, werden den Continuous-Delivery-Prozess behindern und die Entwickler frustrieren. Aus diesem Grund bedarf es eines eher holistischen Ansatzes, der das große Ganze im Blick hat und einen sorgfältigeren, strengeren Umgang mit internen Prozessen erforderlich macht.

Denn selbstverständlich gilt: Je früher eine potentielle Schwachstelle entdeckt wird, desto besser stehen die Chancen, dass ihre Auswirkungen minimiert und die daraus entstehenden Kosten so gering wie möglich gehalten werden können. Mit folgenden fünf „Best Practices“ lässt sich dieser Prozess optimieren:

1. Für eine lückenlose Beweiskette sorgen

Sollte ein Problem auftreten, muss nachvollziehbar sein, was genau im Release beinhaltet war – nicht nur in Bezug auf den Quellcode, sondern auch auf ausführbare Dateien und Images der virtualisierten Maschinen („Infrastructure as Code“). Denn nur so können die möglichen Auswirkungen eingeschätzt werden.

Es gilt deshalb, einen einzigen, zentralen Referenzbestand („Single Source of Truth“) durch die Verwendung eines Versionsmanagement-Tools sicherzustellen. Dies erlaubt es Entwicklern, jederzeit auf einen Blick zu sehen, was aktuell im Entwicklungsprozess geschieht und in der Vergangenheit geschehen ist (Wer hat was, wann und wo geändert?). Zudem ist es damit möglich, im Notfall ein Rollback auf eine frühere Version durchzuführen.

2. So viel wie möglich automatisieren

Durch Automatisierung von Prozessen, die für kontinuierliche Integration, Tests und Bereitstellung notwendig sind, kann die Dauer bis zur Marktreife des Produkts verkürzt werden, die Fertigstellung wird planbarer. Zudem reduzieren automatisierte Prozesse die Wahrscheinlichkeit menschlicher Fehler, und damit die Entstehung von Sicherheitslücken.

Die Automatisierung komplexer Build- und Testsysteme – etwa Applikationen mit vielen unterschiedlichen Content-Arten oder Projekte, an denen mehrere weltweit verteilte Teams mitarbeiten – macht ein gemeinsames Repository unerlässlich, um Duplizierungen oder Lücken im Validierungsprozess zu vermeiden. Natürlich lässt sich nicht jeder Prozess automatisieren – erstaunlich viele allerdings sehr wohl.

Inhalt des Artikels:

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 43377549 / Softwareentwicklung)