The Source Sicherheit und Compliance
Artikel

Verwaltung von Sicherheits- und Compliance-Richtlinien auf Unternehmensebene im Zeitalter der künstlichen Intelligenz

Ein Überblick darüber, wie die Verwaltung von Sicherheitsrichtlinien von GitLab dazu beitragen kann, dass deine Sicherheit und Compliance mit der Softwareentwicklung Schritt halten können.

October 17, 2023 Lesezeit: 8 Min.

Sicherheitsteams stehen vor der Herausforderung, mit der Softwareentwicklung Schritt zu halten. Und sie sehen sich weiterhin mit Hindernissen konfrontiert, z. B. mit Führungskräften, die irrtümlicherweise die Bedeutung der Sicherheit im Entwicklungsprozess verkennen, oder mit dem Ungleichgewicht zwischen Entwickler(inne)n und Sicherheitspersonal. Jetzt, da die KI dazukommt, nimmt das Tempo noch mehr zu. Die Entwicklungsgeschwindigkeit wird nur zunehmen, wenn die Unternehmen auf Enterprise-Niveau skalieren. Daher müssen auch die Sicherheitstools, die zur Steuerung der Entwicklungsprozesse eingesetzt werden, mit diesem Wachstum Schritt halten können.

Anwendungssicherheitsteams müssen Sicherheitslücken effektiv verwalten und priorisieren. Mit den Sicherheitsrichtlinien von GitLab (nur in englischer Sprache verfügbar) und unseren Sicherheitstools können Unternehmen die Zusammenarbeit zwischen AppSec- und Entwicklungsteams fördern, um Sicherheitslücken effizient zu erkennen, einzugrenzen und zu beheben. Mit Sicherheitsrichtlinien lässt sich auch die Einhaltung von Sicherheitsvorschriften automatisieren und auf Unternehmensebene verwalten.

Das Scannen einer größeren Anzahl potenzieller Sicherheitslücken bietet zwar bessere Möglichkeiten zur frühzeitigen Erkennung und Behebung von Problemen, aber die schiere Menge der Ergebnisse kann AppSec-Teams überfordern. Je mehr Einblicke wir durch zusätzliche Scans in Sicherheitslücken gewinnen, desto schwieriger wird es, herauszufinden, welche Maßnahmen sinnvoll sind.

Prozesse für die Verwaltung von Sicherheitslücken (Triage)

Gegenwärtig gibt es einige gängige Ansätze für die Triage von Sicherheitslücken:

  • Common Vulnerability Scoring System: CVSS bietet eine standardisierte Methode zur Bewertung des Schweregrads von Sicherheitslücken. Mithilfe der CVSS-Scores können Unternehmen Sicherheitslücken auf der Grundlage ihrer potenziellen Auswirkungen priorisieren und ihre Ressourcen entsprechend zuweisen.

  • Risikobasiertes Scoring: Mit dem risikobasierten Scoring können Unternehmen Sicherheitslücken auf der Grundlage der Wahrscheinlichkeit ihrer Ausnutzung und der potenziellen Auswirkungen auf das Geschäft bewerten. Durch die Berücksichtigung von Kontextfaktoren wie dem Wert der Ressourcen, den Fähigkeiten der Bedrohungsakteure und der Verbreitung von Sicherheitslücken können Unternehmen diese effektiv priorisieren.

  • Bedrohungsmodellierung: Bei der Bedrohungsmodellierung geht es darum, potenzielle Bedrohungen für eine Anwendung oder ein System zu identifizieren und zu bewerten. Durch eine umfassende Analyse der Systemarchitektur, des Datenflusses und der potenziellen Angriffsvektoren können Unternehmen Sicherheitslücken auf der Grundlage ihrer Relevanz für wahrscheinliche Bedrohungen priorisieren. Dieser Ansatz hilft dabei, Ressourcen effektiv zu verteilen, indem er sich auf Sicherheitslücken konzentriert, die mit größerer Wahrscheinlichkeit ausgenutzt werden.

  • Business Impact Analysis (BIA): Mit dieser Technik werden die potenziellen Auswirkungen von Sicherheitslücken auf die Geschäftsvorgänge und -ziele bewertet. Dabei werden kritische Ressourcen identifiziert, ihre Bedeutung für das Unternehmen bewertet und die möglichen Folgen eines erfolgreichen Angriffs abgeschätzt. Durch die Berücksichtigung der potenziellen finanziellen, rufschädigenden und betrieblichen Auswirkungen können Unternehmen die Sicherheitslücken priorisieren, die das größte Risiko für ihre Kerngeschäftsfunktionen darstellen.

Mit der zunehmenden Verbreitung von KI-generiertem Code steigt auch die Zahl der Sicherheitslücken, die unbeabsichtigt eingeführt werden. Techniken wie diese sind wichtig, um Unternehmen dabei zu helfen, Prioritäten zu setzen und diesen Prozess zu verstehen. Wie können wir also diese konzeptionellen Frameworks in der realen Welt anwenden? Sehen wir uns an, wie wir die Techniken in die Praxis umsetzen können.

Verwaltung von Sicherheitsrichtlinien

Sicherheitsrichtlinien (nur in englischer Sprache verfügbar) sind die Antwort auf die Umsetzung von Unternehmensrichtlinien und Compliance-Anforderungen in konkrete Betriebsanweisungen, die in deine DevSecOps-Praktiken und den Software-Entwicklungsprozess integriert werden. Durch die Festlegung von Regeln in den Sicherheitsrichtlinien von GitLab können Unternehmen granulare Kriterien für die Bewertung von Sicherheitslücken festlegen und so sicherstellen, dass nur umsetzbare Lösungen zur weiteren Bearbeitung markiert werden.

Mit Sicherheitsrichtlinien kannst du deine Sicherheits- und Compliance-Anforderungen und bewährten Methoden umsetzen, indem du sie im Code implementierst. Scan-Ausführungsrichtlinien (nur in englischer Sprache verfügbar) erzwingen die Ausführung von Scans in bestimmten Projekten auf der Grundlage deiner Bedürfnisse und Anforderungen und stellen sicher, dass Sicherheitslücken und Gefährdungen entdeckt werden, bevor der Code in die Produktion überführt wird.

Du kannst auch Merge-Request-Approvalrichtlinien nutzen, um individuelle Workflows zur Behebung von Sicherheitslücken zu erstellen. Die Richtlinien werten die Ergebnisse von Sicherheits- und Compliance-Scannern aus, um die Zusammenführung von Merge Requests zu verhindern oder zu blockieren, wenn sie nicht gründlich geprüft und nach den von dir festgelegten Regeln genehmigt wurden.

Durch die Verwendung von Merge-Request-Approvalrichtlinien und Scan-Ausführungsrichtlinien kannst du eine zusätzliche Kontrollebene in den Entwicklungsprozess einbauen. So kannst du sicherstellen, dass von Menschen geschriebener – oder anderweitig erstellter – Code automatisch gescannt wurde und dass Richtlinienverstöße die Zusammenarbeit zwischen Technik und AppSec fördern, wo sie am sinnvollsten ist.

Granulare Regeln in den Merge-Request-Approvalrichtlinien definieren

Um noch einen Schritt weiter zu gehen, kannst du in den Merge-Request-Approvalrichtlinien granulare Regeln definieren, die auf den unten aufgeführten Filtern und Attributen basieren. Diese Regeln helfen dir dabei, herauszufinden, welche Sicherheitslücken am ehesten zu beheben sind und die Nadel im Heuhaufen zu finden:

  • Status der Sicherheitslücke: Sicherheitsrichtlinien können auf der Grundlage des Status einer Sicherheitslücke gezielt eingesetzt werden, wobei der Schwerpunkt oft auf neu entdeckten Sicherheitslücken liegt, die einer Triage bedürfen. Es ist auch möglich, Regeln zu erstellen, die auf zuvor entdeckten Sicherheitslücken mit einem bestimmten Schweregrad basieren, oder Sicherheitslücken einzuschließen/auszuschließen, wenn sie abgelehnt wurden.

  • Branch: Du kannst die Durchsetzung der Regeln auf bestimmte Branches beschränken, z. B. indem du die Durchsetzung auf den Standard-Branch kritischer Projekte oder auf alle geschützten Branches ausrichtest.

  • Fix verfügbar: Filtere die Ergebnisse von Abhängigkeitssuche und Container-Scanning heraus, für die kein Fix verfügbar ist. Diese hängen oft von Upstream-Änderungen durch Dritte ab und sind noch nicht verwertbar. Aus den Sicherheitslücken können Tickets erstellt und mit einem Fälligkeitsdatum versehen werden, damit sie behoben werden, sobald ein Fix verfügbar ist.

  • Falsch positiv: Wenn unsere GitLab-Scanner einen Fund als falsch positiv einstufen (bei Container-Scanning und Abhängigkeitssuche), markieren wir den Zustand der Sicherheitslücke. Die Sicherheitsrichtlinien können dies dann nutzen, um falsch positive Funde aus der Übersicht der Sicherheitsrichtlinien herauszufiltern, so dass die AppSec- und Entwicklungsteams diese ignorieren und den Code ungehindert zusammenführen können. Die Sicherheitslücken stehen weiterhin im Schwachstellenbericht zur Verfügung und können bei Bedarf genauer analysiert werden.

  • Alter oder Service Level Agreement (SLA): Manchmal können Sicherheitslücken mit geringerem Schweregrad von Unternehmen eine Zeit lang toleriert werden, sollten aber im Rahmen eines angemessenen SLA geplant und behoben werden. Mit Sicherheitsrichtlinien kannst du ein SLA auf der Grundlage des Schweregrads einer entdeckten Sicherheitslücke festlegen, z. B. dass mittelschwere Sicherheitslücken ohne Approvalpflicht für ein SLA von 60 Tagen zusammengeführt werden können (was in einem Follow-up-Ticket mit einem Fälligkeitsdatum behandelt werden kann). Wird jedoch eine Sicherheitslücke entdeckt, die das 60-Tage-SLA überschreitet, werden Merge Requests blockiert, bis die Sicherheitslücke behoben ist.

security-policies-rules-ds-all-filters

Kritische Funde unternehmensweit priorisieren

Ein gängiger Ansatz zur Bewältigung großer Mengen von Sicherheitslücken ist es, klein anzufangen und die kritischsten Funde in deinem Unternehmen nach Prioritäten zu ordnen. Ein SLA für die Triage von Sicherheitslücken kann dir dabei helfen, indem du Regeln definierst, um Sicherheitslücken innerhalb eines bestimmten SLAs auf der Grundlage des Schweregrads der Schwachstelle zu beheben. Hier ein kurzes Beispiel für den Einsatz von Merge-Request-Approvalrichtlinien in GitLab, um für jeden Schweregrad einer Sicherheitslücke ein anderes SLA durchzusetzen. In diesem Fall werden Merge Requests bei einer schwerwiegenden Sicherheitslücke 30 Tage lang nicht blockiert, damit die Entwickler(innen) Zeit haben, das Problem innerhalb des SLA-Fensters zu beheben.

Aufgabentrennung sicherstellen

Sicherheitsrichtlinien können auf verschiedene Weise verwaltet werden. Am besten ist es jedoch, wenn sie in einem isolierten GitLab-Projekt verwaltet werden, das eine Aufgabentrennung zwischen Sicherheitsexpert(inn)en und Entwicklungsteams gewährleistet. Die Richtlinien werden in YAML gespeichert. Dieser Richtlinien-als-Code-Ansatz stärkt dein Sicherheitsteam und bietet viele Vorteile. Dazu gehören ein Git-Verlauf aller Änderungen an den Richtlinien, um die Sichtbarkeit zu erhöhen, Versionskontrolle, um problematische Änderungen leichter rückgängig machen zu können, Kontrolle und die Pflicht, alle Richtlinienänderungen zu genehmigen (falls erforderlich), Überprüfbarkeit durch GitLab Audit Events und konkrete Kontrollen, die den Prüfer(inne)n als Nachweis vorgelegt werden können.

gitlab security-policies policy-yml

Alles miteinander kombinieren

Die Bewältigung der ständig wachsenden Zahl von Sicherheitslücken erfordert einen präzisen Ansatz, der ein ausgewogenes Verhältnis zwischen gründlichem Scannen und effizienter Priorisierung und Behebung herstellt. Die Sicherheitsrichtlinien von GitLab bieten eine leistungsstarke Lösung, die Zusammenarbeit ermöglicht, Flexibilität bei der Definition von benutzerdefinierten Regeln bietet und eine Möglichkeit zur präzisen Umsetzung von Geschäftsanforderungen und des Compliance Frameworks darstellt. Durch die Nutzung der Sicherheitstools von GitLab und die Anwendung von benutzerdefinierten Filtern und Attributen können Unternehmen die Verwaltung von Sicherheitslücken optimieren und ihre Bemühungen auf die kritischsten Risiken konzentrieren, um so ihre allgemeine Sicherheitslage zu verbessern und die Anforderungen externer Stellen zu erfüllen. Und auch wenn die Angst vor KI-generiertem Code wächst, bleiben die drei Säulen der Sicherheit (Menschen, Prozesse und Technologie) bestehen. Durch die Integration von Sicherheitsrichtlinien in deine Geschäftsprozesse kannst du dein Unternehmen vor solchen Risiken schützen.

Die DevSecOps-Plattform von GitLab bietet nicht nur Sicherheitsrichtlinien zur Durchsetzung von Richtlinen als Code im großen Maßstab, sondern auch robuste Sicherheitstools. In unserem kürzlich erschienenen Globalen DevSecOps-Bericht 2023 (nur in englischer Sprache verfügbar) gaben 57 % der Sicherheitsexpert(inn)en an, dass sie sechs oder mehr Tools für die Softwareentwicklung verwenden und 69 % gaben an, dass sie ihre Toolchain konsolidieren wollen. Die Konsolidierung von Tools ist für viele CISOs ein wichtiges Thema, und GitLab hilft dabei, den Toolchain-Wildwuchs zu reduzieren. Wir bieten die wichtigsten Lösungen für Sicherheitsscans an: statische Anwendungssicherheitstests (auch für Infrastructure as Code), Erkennung von Geheimnissen, dynamische Anwendungssicherheitstests (auch für APIs), Abhängigkeitssuche und API-Sicherheit. Außerdem ermöglichen wir AppSec-Teams die Verwaltung von Sicherheitslücken mit dynamischen Sicherheitslückenberichten. Und wir schließen den Kreis der Compliance mit Compliance Frameworks, Compliance-Berichten und Audit-Ereignissen.

Erfahre mehr darüber, wie du die Anwendungssicherheit (nur in englischer Sprache verfügbar) mit GitLab verwalten kannst.

Als Nächstes: Josh Lemos, CISO von GitLab, erklärt, wie du auf einige häufige Frustrationen im Bereich Sicherheit eingehst.

Wichtigste Erkenntnisse
  • Sicherheitsteams haben Mühe, mit der rasanten Softwareentwicklung Schritt zu halten, die durch den Einsatz von KI noch beschleunigt wird. Ein effektives Management von Sicherheitslücken ist entscheidend, um robuste Sicherheit zu gewährleisten.
  • Mit den Sicherheitsrichtlinien von GitLab kannst du die Einhaltung von Richtlinien automatisieren und die Zusammenarbeit zwischen AppSec- und Entwicklungsteams fördern, um Sicherheitslücken effizient zu erkennen und zu beheben.
  • Priorisierungstechniken wie CVSS und das risikobasierte Scoring helfen bei der Bewältigung von Sicherheitslücken und stellen sicher, dass der Fokus auf kritische Probleme gelegt wird, da immer mehr Sicherheitslücken durch KI generiert werden.