Da sich die digitale Landschaft mit den neuen Technologien weiterentwickelt, ist sie auch neuen Bedrohungen ausgesetzt, die sich diese Fortschritte, z. B. künstliche Intelligenz (KI), zunutze machen, um Unternehmen und Softwareentwicklungen auszunutzen. Zudem besteht zwischen Entwicklern und Sicherheitsexperten ein Kompetenzgefälle, das zu einer Kluft zwischen der Softwareentwicklung und der Umsetzung von Sicherheitsverfahren führt.
In der Softwareentwicklungsbranche findet jedoch derzeit eine Linksverschiebung der Bedeutung der Sicherheit innerhalb der DevOps-Pipeline statt. Das hat einen kulturellen Wandel eingeleitet und zeigt, dass die Entwickler ihre Einstellung zur Sicherheit durch die zunehmende Einführung von DevSecOps-Praktiken ändern. Mit dem Linksverschiebungsansatz werden Sicherheitspraktiken neu priorisiert und viel früher in der DevOps-Pipeline platziert. Sicherheitspraktiken wie Tests, Schwachstellen-Scans und Abhilfemaßnahmen erfolgen sonst üblicherweise erst gegen Ende.
Der Linksverschiebungsansatz hat erhebliche Auswirkungen auf die Cybersicherheit und DevSecOps, da er die präventive Behebung von Sicherheitsproblemen sowie die Notwendigkeit von Geschwindigkeit und Effizienz bei der Entwicklung und Bereitstellung berücksichtigt.
In diesem Blog untersuchen wir den Linksverschiebungsansatz und seine Auswirkungen auf DevOps und DevSecOps:
- Warum findet die Linksverschiebung jetzt statt?
- Erläuterung der Praktiken der Linksverschiebung
- Umsetzung der Praktiken der Linksverschiebung
Warum findet die Linksverschiebung jetzt statt?
Der Linksverschiebungsansatz in Sachen Sicherheit existiert bereits seit etwas mehr als 20 Jahren und bezog sich ursprünglich auf die buchstäbliche Verlagerung der Sicherheitspraktiken auf die linke Seite der DevOps-Pipeline, also weit vor die Bereitstellungsphase und damit in die Anfangsplanung. Vor der Linksverschiebung und der Einführung von DevSecOps-Praktiken war es üblich, Sicherheitstests und Patching-Prozesse am Ende der DevOps-Pipeline anzusiedeln. Dadurch wurden Schwachstellen jedoch erst viel später entdeckt und es bestand ein größeres Risiko, ausgenutzt zu werden. Das betraf insbesondere bei Zero-Day-Schwachstellen, die von Cyberkriminellen schnell und einfach ausgenutzt werden können. Das gefährdete auch die Termine für die Softwareveröffentlichung und führte so zu unnötigen Kosten.
Der Linksverschiebungsansatz hat in den letzten Jahren unter anderem aus folgenden Gründen an Bedeutung gewonnen:
- Sich entwickelnde Technologien in Kombination mit wachsenden Cyberbedrohungen und sich ändernden Branchenanforderungen setzen DevOps-Umgebungen zunehmend unter Druck, effizientere Sicherheitslösungen zu finden, um Vermögenswerte und Geheimnisse zu schützen und den Endanwendern mehr Sicherheit zu bieten.
- Die zunehmende Nutzung der Cloud für containerisierte Umgebungen und virtuelle Maschinen ermöglicht zwar eine effizientere Umgebung, bietet aber auch mehr Schwachstellen. Daher muss dies bereits in der Entwicklungs- und Planungsphase abgesichert werden.
- Die sich abzeichnende Lücke in der Sicherheitskompetenz von Entwicklern ist ein weiteres Problem, das durch Schulungen und Sicherheitsberatungsprogramme gelöst werden muss. Denn ein Linksverschiebungsansatz verlangt von den Entwicklern, proaktiv zu handeln und Sicherheitspraktiken effizient in ihre Abläufe einzubinden.
Mit den richtigen Schulungen und Praktiken, die in die DevSecOps-Pipeline implementiert werden, bietet die Linksverschiebung Entwicklern, IT-Teams und DevOps-Umgebungen eine Lösung für ihre ständigen Herausforderungen.
Erläuterung der Praktiken der Linksverschiebung
Der Linksverschiebungsansatz stellt einen Wandel in den Entwicklungskulturen, -prozessen und -einstellungen darüber dar, wie eine Pipeline funktionieren und gesichert werden sollte. Eine kurze Erläuterung kann daher schwierig sein. Dennoch gibt es einige gängige Praktiken:
Static Application Security Testing (SAST): Bei dieser statischen Testmethode der Anwendungssicherheit werden die Sicherheitslücken im Quellcode einer Anwendung oder Software untersucht. SAST-Tools scannen den Softwarecode, um nach bekannten oder häufigen Problemen innerhalb des Codes zu suchen, damit diese vom Entwickler behoben werden können. Diese Tests werden in den frühen Phasen der Entwicklung durchgeführt, um Schwachstellen schneller zu erkennen und den Entwicklern die Möglichkeit zu geben, ähnliche Probleme künftig zu vermeiden und sie auf ihre Programmierung anzuwenden.
Dynamic Application Security Testing (DAST): DAST testet die Anwendungssicherheit auf dynamische Weise in den frühen Stadien der Bereitstellung, um Schwachstellen in Servern, Datenbanken und Webanwendungen aufzuspüren. Dafür ist eine funktionierende Version der Anwendung oder Software erforderlich, da der Quellcode nicht berührt wird. DAST kann Einblicke in echte, aktuelle Schwachstellen geben und Systemendpunkte testen, um zu gewährleisten, dass eine Software sicher ist, bevor sie den Benutzer erreicht.
Containerisierung: Bei der Containerisierung werden Docker-Container verwendet, um den Quellcode mithilfe der Funktionen der Umgebungsinfrastruktur, einschließlich der erforderlichen Dateien und Betriebssystembibliotheken, zu verpacken. Das ermöglicht Entwicklern die sichere Bereitstellung von Software auf verschiedenen Betriebssystemen, ohne den Quellcode neu schreiben zu müssen. Zudem werden Schwachstellen isoliert, die während der Migration auftreten könnten.
Scannen der Containersicherheit: Bei dieser Methode wird mithilfe automatisierter Tools nach bekannten Schwachstellen in einer Datenbank gesucht. Das verhindert, dass Bedrohungsakteure bösartigen Code in einem Container einsetzen, denn Entwickler werden auf Schwachstellen aufmerksam gemacht, bevor diese ausgenutzt werden können.
Schulung von Entwicklern: Die Schulung von Entwicklern ist für die Implementierung sicherer Praktiken in der gesamten DevSecOps-Pipeline unerlässlich. In Sicherheitsberatungsprogrammen werden sicherheitsinteressierte Entwickler darin geschult, andere Mitglieder ihres Teams bei der Erkennung, Sicherung und Vermeidung von Schwachstellen zu unterstützen, die während der Entwicklung auftreten können. Das verringert auch den Druck auf die Sicherheitsexperten, eventuell auftretende Schwachstellen zu sichern. Denn es überbrückt die Kluft zwischen ihnen und den Entwicklern, indem Sicherheitspraktiken direkt in den Quellcode aufgenommen, wodurch Sicherheitsexperten und IT-Teams seltener eingreifen müssen. Mehr Sicherheitsbewusstsein bedeutet auch weniger Probleme am Ende der Pipeline, da die Sicherheitspraktiken bereits vorher berücksichtigt und angewendet wurden.
Sichere Codierung: Sichere Codierung ist die Praxis des Entwerfens und Schreibens von Code, wobei stets die besten Sicherheitspraktiken berücksichtigt werden. Durch die Schulung von Softwareentwicklern und die Überbrückung der Kompetenzlücke im Sicherheitsbereich lässt sich der Quellcode einer Anwendung so gestalten, dass Schwachstellen nicht durch böswillige Akteure ausgenutzt werden können. Das hilft, den Quellcode vor Schwachstellen wie verlorenen Geheimnissen oder kompromittierten Schlüsseln und Containern zu schützen.
Umsetzung der Praktiken der Linksverschiebung
Wie bereits gezeigt, erfordert die Umsetzung eines Linksverschiebungsansatzes eine erfolgreiche Schulung der Entwickler, damit Sicherheitspraktiken bereits in einem frühen Stadium der Entwicklung genutzt werden können. Durch die Schulung von Entwicklern lassen sich die Qualifikationslücken schließen, die es derzeit in der Softwareentwicklungsbranche gibt. Diese Lücken lassen sich mit einem wirksamen Sicherheitsschulungsprogramm erfolgreich schließen. Durch die Rekrutierung von interessierten Personen als Sicherheitsbotschafter kann ein breiterer Kreis von Entwicklern mehr Kenntnisse über die Implementierung von entsprechenden Praktiken in ihre Programmierung erlangen. Und Berater können sicherstellen, dass hilfreiche Sicherheitspraktiken in den frühen Phasen der Entwicklung implementiert werden. Dadurch wird das Risiko verringert, dass viele Schwachstellen erst viel später in der DevOps-Pipeline gefunden und behoben werden.
Während die Praxis der kontinuierlichen Überwachung/kontinuierlichen Integration (Continuous Monitoring/Continuous Integration, CI/CD) ein grundlegendes Merkmal der DevOps-Praktiken ist, werden Sicherheitspraktiken in traditionellen DevOps-Umgebungen oft nicht in diesen Prozess einbezogen. CI/CD-Pipelines ermöglichen eine End-to-End-Pipeline, die eine schnelle und effiziente Bereitstellung von Software und Software-Updates ermöglicht. Die Integration von Sicherheitspraktiken, einschließlich ständiger SAST- und DAST-Praktiken und Sicherheitsprüfungen, in diese Pipeline bedeutet, dass Schwachstellen effizienter aufgespürt, gesichert und entschärft werden können. So werden sie aufgespürt und ohne das Eingreifen von Sicherheitsexperten behoben, bevor sie ausgenutzt werden können.
Automatisierung und Sicherheitstools
DevOps-Umgebungen können ihre Pipeline besser absichern und mithilfe automatisierter Tools Linksverschiebungspraktiken besser umsetzen, um effizientere und reibungslosere Sicherheitsprozesse zu ermöglichen.. Beispielsweise ermöglicht das ACME-Protokoll (Automatic Certificate Management Environment) den DevSecOps-Umgebungen die Verwaltung zahlreicher SSL-/TLS-Zertifikate, um ihre Container und Umgebungen mit wenig Aufwand zu sichern. Mindestens 80% der Datenschutzverletzungen sind auf menschliches Versagen zurückzuführen. Und wenn die Zertifikatsverwaltung manuell erfolgt, ist sie aufgrund der wachsenden Zahl der zu verarbeitenden Zertifikate besonders anfällig. Automatisierte Zertifikatsverwaltung Tools und Protokolle wie ACME ermöglichen die automatisierte Bereitstellung, Erneuerung und den Widerruf von SSL-/TLS-Zertifikaten und verhindern deren Verlust oder Ablauf, wodurch sich das Risiko von Sicherheitsverstößen verringert.
Hiermit wird die Sicherung der Kommunikation zwischen Docker-Containern und ihren Hosts ermöglicht, damit in containerisierten Umgebungen mit automatisch bereitgestellten SSL-/TLS-Zertifikaten keine Schwachstellen ausgenutzt werden können.
Dadurch wird die Software auch in der Bereitstellungsphase besser gesichert, da die von den Kubernetes Ingress Controllern übertragenen Daten geschützt werden. Das spielt eine entscheidende Rolle für die Sicherung der Integrität und die Validierung der Authentizität der Daten während der Übertragung.
Bewertung des Linksverschiebungsansatzes
Die Softwareentwicklungsbranche sieht sich mit ständigen Herausforderungen konfrontiert, bei denen die Sicherheit im Mittelpunkt steht. Da Cyberkriminelle neue Taktiken anwenden und dabei aufkommende Technologien wie KI nutzen, müssen Sicherheitsexperten einen neuen Ansatz für das Zertifikatsmanagement und die PKI-Sicherheit finden. Linksverschiebungspraktiken wie Sicherheitsberatung und Entwicklerschulung, kontinuierliche statische und dynamische Testmethoden, Sicherheitsscans und sichere Kodierungspraktiken sowie automatisierte Sicherheitstools können helfen, diese Herausforderungen zu bewältigen und gleichzeitig eine effizientere und sicherere Softwarebereitstellung zu ermöglichen. Angesichts dieser Herausforderungen wird es für DevOps-Umgebungen immer wichtiger, diese Praktiken als eine Voraussetzung zu sehen und zu einer DevSecOps-Umgebung überzugehen, die Sicherheitspraktiken in die gesamte Pipeline einbindet.
GlobalSign kann Ihnen helfen, einen Linksverschiebungsansatz zu verfolgen und Ihr Umfeld zu sichern
Die Experten von GlobalSign können Ihnen helfen, einen Linksverschiebungsansatz in die Praxis umzusetzen. Denn sie finden mit Ihnen die richtigen Automatisierungswerkzeuge für Ihre Umgebung, damit Sie die Sicherheit Ihrer Container, Geheimnisse und Vermögenswerte gewährleisten können – ohne Kompromisse bei Geschwindigkeit und Effizienz.
Automatisierung zur Unterstützung einer sicheren Pipeline
Gartner, 3 Essential Steps to Enable Security in DevOps 1. März 2023, Daniel Betts Et Al.GARTNER ist eine eingetragene Marke und Dienstleistungsmarke von Gartner, Inc. und/oder seinen Tochtergesellschaften in den USA und international und wird hierin mit Genehmigung verwendet. Alle Rechte vorbehalten.