Noch nie so wichtig wie heute: Sicherheit als Code

Cristina De Luca -

August 30, 2021

Bestehende Cybersicherheitsarchitekturen und Betriebsmodelle lösen sich auf, wenn Unternehmen öffentliche Cloud-Plattformen übernehmen. Warum? Weil nahezu alle Sicherheitsverletzungen in der Cloud auf eine falsche Konfiguration zurückzuführen sind – mehr noch als auf Angriffe, die die Infrastruktur gefährden.

Die Cloud erfordert eine sichere Konfiguration von Anwendungen und Systemen. Herkömmliche Cybersicherheitsmechanismen sind jedoch nicht dafür ausgelegt, eine sichere Konfiguration zu gewährleisten. Auch sind sie nicht dafür gemacht, so schnell zu arbeiten, dass die Vorteile der Agilität und Geschwindigkeit, die Unternehmensleiter erwarten, genutzt werden können.

„Security as Code” (SaC) ist der effektivste Ansatz, um Cloud-Workloads schnell und flexibel zu sichern. Zum jetzigen Zeitpunkt sind sich die meisten Cloud-Führungskräfte einig, dass „Infrastructure as Code“ (IaC) es ihnen ermöglicht, den Aufbau von Systemen in der Cloud ohne fehleranfällige manuelle Konfiguration zu automatisieren, versichert McKinsey.

Es ist jedoch erwähnenswert, dass die Implementierung von SaC nicht bedeutet, dass die Sicherheitsüberwachung, der Schutz in der Produktion, Penetrationstests oder ethische Hacking-Teams abgeschafft werden. Security as Code wird eine weitere Sicherheitsebene schaffen, mit Input von anderen Teams und mehr sicherheitsorientierten Tools. Es ist damit eine der drei wichtigsten Möglichkeiten, Sicherheit in den DevOps-Prozess zu integrieren.

Virtuelle Umgebungen, Hybrid-Clouds und kundenspezifische Systeme schaffen komplexe IT-Welten. Viele IT-Probleme erfordern umfangreiche manuelle Reparaturmaßnahmen und die Zusammenarbeit von klassischen IT-Administratoren und DevOps. Probleme, die im IT-Betrieb auftreten, werden durch weitgehende Automatisierung verschiedener IT-Prozesse sofort gelöst.

Durch die Einführung von Security as Code wird die Anwendungsentwicklung eng mit dem Sicherheitsmanagement verzahnt. So können sich Ihre Entwickler auf die Kernfunktionen konzentrieren und das Konfigurations- und Berechtigungsmanagement für Sicherheitsteams wird vereinfacht. Dies verbessert die Zusammenarbeit zwischen Entwicklungs- und Sicherheitsteams und trägt zur Förderung einer Sicherheitskultur im gesamten Unternehmen bei.

Marktanalysten sagen oft, SaC gehe noch einen Schritt weiter, indem es Cybersicherheitsrichtlinien und -standards programmatisch definiert. So kann in den Konfigurationsskripten, die für die Bereitstellung von Cloud-Systemen verwendet werden, automatisch auf sie verwiesen werden und Systeme, die in der Cloud laufen, können mit Sicherheitsrichtlinien abgeglichen werden, um ein „Abdriften” zu verhindern.

Legt das Unternehmen beispielsweise eine Richtlinie fest, dass alle personenbezogenen Daten bei der Speicherung verschlüsselt werden müssen, wird diese Richtlinie in einen Prozess übersetzt. Dieser wird automatisch eingeleitet, sobald Entwickler einen Code einfügen. Code, der gegen die PII-Richtlinie verstößt, wird automatisch abgelehnt.

Wie umsetzen?

Sicherheit als Code gibt es im Allgemeinen in drei verschiedenen Formen: Sicherheitstests, Schwachstellen-Scans und Zugriffsrichtlinien. Jedes dieser Elemente ermöglicht es Entwicklerteams, Sicherheitsprobleme schon früh in der Entwicklung zu erkennen. So können sie direkt behoben werden. Es muss also nicht gewartet werden, bis das Projekt fertig ist und aufgrund von Sicherheitsproblemen nicht mehr verwendet werden kann. Wenn Sie die Denkweise „Sicherheit als Code” übernehmen, kodifizieren Sie die Zusammenarbeit genau dort, wo Ihre Entwicklerteams arbeiten. Sicherheit als Code bringt die Entwickler- und Sicherheitsteams zusammen, damit sich jedes auf seine Kernkompetenzen konzentrieren kann.

Schwachstellen-Scans konzentrieren sich im Gegensatz zu Sicherheitstests eher auf Sicherheitsschwachstellen, die ein Angreifer ausnutzen kann. Angreifer suchen in einer Anwendung regelmäßig nach Schwachstellen wie SQL Injection oder Cross-Site Scripting. Schwachstellen-Scans helfen dabei, bekannte Sicherheitsrisiken in Ihrer Anwendung zu identifizieren, die behoben werden können. Zu Beginn können Sie Schwachstellen-Scanner zwar noch einsetzen, aber ab einem gewissen Punkt sind diese wenig hilfreich. Nach regelmäßigen Patches und Updates werden die Scans fast keine Schwachstellen mehr aufzeigen. Sie sollten dann Pentesting oder Bug Bounty-Programme in Betracht ziehen.

Bei Sicherheitstests wird der Code auf ein Problem geprüft, das eine Bedrohung für die Vertraulichkeit, Integrität und Verfügbarkeit (CIA-Dreiklang) der Anwendung darstellen könnte. Ein häufiges Missverständnis besteht darin, dass Sicherheitstests durchgeführt werden, um Angriffe zu verhindern. Denn Sicherheit ist mehr als nur das Verhindern von Angriffen. Sie umfasst auch versehentliche Fehlfunktionen, Datenverletzungen und vieles mehr, das nicht von einem Angreifer stammt. So ist beispielsweise ein Server- oder Firewall-Ausfall oder eine Fehlfunktion ein Sicherheitsproblem – auch wenn kein Angreifer beteiligt ist. Bei Sicherheitstests wird überprüft, ob die Anwendung sicher und vor Sicherheitsrisiken geschützt ist. Dazu legen Sie Sicherheitsstandards fest und testen, ob Ihre Anwendung diese Standards erfüllt.

Zugriffskontrolle und Richtlinienverwaltung werden verwendet, um Grenzen innerhalb der Logik und des Ablaufs der Anwendung zu definieren. So sollte beispielsweise ein Benutzer, der auf einer E-Commerce-Website etwas kaufen möchte, nicht in der Lage sein, den Preis eines Produkts zu ändern. Die Möglichkeit, den Preis zu ändern, sollte nur Administratoren oder Eigentümern gestattet sein. Diese Logik wird durch Zugriffskontrolle und Richtlinienverwaltung kontrolliert.

Vorteile

Der erste Vorteil von SaC ist die Geschwindigkeit. Um die geschäftlichen Vorteile der Cloud in vollem Umfang nutzen zu können, müssen die Sicherheitsteams in einem Tempo arbeiten, an das sie in lokalen Umgebungen nicht gewöhnt sind. Manuelle Eingriffe führen zu Reibungsverlusten, die die Entwicklung verlangsamen und den Wertbeitrag der Cloud für das Unternehmen insgesamt schmälern.

Der zweite Vorteil ist die Risikominderung. Die Sicherheitskontrollen vor Ort berücksichtigen selten die Feinheiten der Cloud. Cloud-Sicherheit erfordert, dass die Kontrollen während des gesamten Lebenszyklus eines Workloads durchgeführt werden. Die einzige Möglichkeit, dieses Niveau an integrierter Sicherheit zu erreichen, ist SaC.

Und schließlich ist SaC ein Business Enabler: Sicherheits- und Compliance-Anforderungen werden immer wichtiger für die Kernprodukte und -dienste von Unternehmen. In diesem Sinne beschleunigt SaC nicht nur die Zeit bis zur Marktreife, sondern erweitert auch die Möglichkeiten für Produktinnovation und Kreativität, ohne dabei die Sicherheit zu beeinträchtigen.