The Source Sicherheit und Compliance
Artikel

So hilft dir GitLab, dich auf deine SOC-2-Prüfung vorzubereiten

Erfahre mehr über die Funktionen der DevSecOps-Plattform, die dich bei der Vorbereitung auf eine Prüfung nach dem SOC-2-Framework unterstützen.

July 18, 2024 Lesezeit: 5 Min.

Kund(inn)en von GitLab haben festgestellt, dass die Verwendung von GitLab als DevSecOps-Plattform den SOC-2-Prüfungsprozess vereinfacht hat. In diesem Blog werden das SOC-2-Framework und die GitLab-Funktionen vorgestellt, die Kund(inn)en bei ihrer Vorbereitung auf die SOC-2-Prüfung helfen.

Einführung in SOC 2

Die System and Organization Controls 2, auch als SOC 2 bekannt, ist ein freiwilliger Compliance-Standard, der festlegt, wie Unternehmen Kundendaten verwalten sollten. Mit dem SOC-2-Prüfungsbericht können Unternehmen die Vertrauenswürdigkeit ihrer angebotenen Software für Geschäftskunden bescheinigen.

SOC 2 wurde von der Association of International Certified Professional Accountants (AICPA) entwickelt und setzt auf fünf sogenannte TSCs, die Trust Services Criteria, mit der vertrauenswürdige Dienste ausgezeichnet werden sollen:

  • Sicherheit: Schutz von Kundendaten vor Sicherheitslücken und unbefugtem Zugriff
  • Verfügbarkeit: Dieser Aspekt soll sicherstellen, dass Systeme auch unter hohen Lasten fehlertolerant und leistungsfähig sind, um Verfügbarkeits-Service-Level-Vereinbarungen zu erfüllen
  • Verarbeitungsintegrität: Systeme funktionieren wie geplant ohne Sicherheitslücken, Fehler oder Bugs
  • Vertraulichkeit: Schutz vertraulicher Informationen wie Anwendungsquellcode, Benutzernamen und Passwörter, Kreditkarteninformationen usw., sodass nur Personen Zugriff erhalten, die diese für ihre Arbeit wirklich benötigen
  • Datenschutz: Schutz sensibler personenbezogener Daten vor unautorisierten Benutzer(inne)n

Sicherheit ist das einzige erforderliche Kriterium für jede SOC-2-Prüfung. Die anderen Kriterien können der Prüfung hinzugefügt werden, wenn sie als kritisch für die erbrachten Dienstleistungen erachtet werden.

TSC-Kriterium „Sicherheit“

Das Sicherheitskriterium bezieht sich nicht nur auf die Sicherheit von Servern und physischen Systemen, sondern auch auf die Anwendungssicherheit. Software-Sicherheitslücken können Anwendungen für Angreifer(innen) öffnen und die Daten der Kund(inn)en gefährden – doch dies ist ein Bereich, in dem GitLab helfen kann.

GitLab bietet Sicherheitsscans, um potenzielle Sicherheitslücken in den Anwendungen, die ein Unternehmen entwickelt, unter anderem durch folgende Angebote aufzudecken (Artikel sind nur in englischer Sprache verfügbar):

  • Statische Anwendungssicherheitstests (SAST), bei denen der Quellcode auf potenzielle Bugs und Sicherheitslücken wie unsicheren Code, der zu unerwünschter Ausführung dieses Codes führt, überprüft wird
  • Abhängigkeitssuche, bei der Sicherheitslücken in den Software-Abhängigkeiten einer Anwendung gesucht werden
  • Container-Scanning, bei dem Sicherheitslücken in den Betriebssystemabhängigkeiten einer containerisierten Anwendung gesucht werden
  • Dynamische Anwendungssicherheitstests (DAST), bei der Sicherheitslücken in laufenden Webanwendungen gesucht werden, durch die das System anfällig für Angriffe ist
  • IaC-Scanning (Infrastructure as Code), bei dem Konfigurationsdateien für Infrastructure as Code, unter anderem von Terraform, Ansible, AWS, CloudFormation und Kubernetes, auf Sicherheitslücken überprüft werden

GitLab bietet außerdem Sicherheitslückenberichte, in denen alle bekannten Sicherheitslücken, die mit den genannten Tests in der aktuellen Anwendung gefunden wurden, aufgelistet werden. Zudem bietet GitLab eine Software-Stückliste (SBOM, Artikel nur in englischer Sprache verfügbar) im Standard-JSON-Format von CycloneDX an, in der alle Abhängigkeiten auf Software- und Betriebssystemebene sowie bekannte Sicherheitslücken angezeigt werden.

Regelmäßige Sicherheitslückenscans und aussagekräftige Berichte über Sicherheitslücken helfen, die Anforderungen in drei Sicherheitsbereichen zu erfüllen:

  • CC7.1: Um die Ziele dieses Aspekts zu erfüllen, werden Erkennungs- und Überwachungsprozesse eingesetzt, um (1) Änderungen an Konfigurationen zu erkennen, die neue Sicherheitslücken entstehen lassen, und (2) Anfälligkeiten für neu erkannte Sicherheitslücken zu identifizieren.
  • CC4.1 – COSO-Prinzip 16: Das Unternehmen wählt, entwickelt und führt laufende und/oder separate Überprüfungen durch, um festzustellen, ob die Komponenten eines internen Kontrollsystems vorhanden sind und funktionieren.
  • CC4.2 – COSO-Prinzip 17: Das Unternehmen bewertet und kommuniziert Mängel der internen Kontrolle rechtzeitig an die Parteien, die für Korrekturmaßnahmen verantwortlich sind, einschließlich der Geschäftsleitung und des Vorstands.

Ein entscheidendes Element bei Sicherheitsscans sind Governance und Durchsetzung. GitLab stellt mit seinen Funktionen sicher, dass Scans regelmäßig durchgeführt werden und nicht durch die Entwicklungsteams umgangen werden können. Zu diesen Funktionen gehören (die Artikel sind nur in englischer Sprache verfügbar):

  • Rollenbasierte Zugriffskontrollen, um einzuschränken, wer Änderungen an Konfigurationseinstellungen auf Projektebene vornehmen kann
  • Scan-Ausführungsrichtlinien, um sicherzustellen, dass Scans in jedem Code-Repository ausgeführt werden
  • Merge-Request-Approvalrichtlinien, um sicherzustellen, dass die Merge Requests von den entsprechenden Sicherheitsbeteiligten überprüft und genehmigt werden, damit neu entdeckte Sicherheitslücken nicht in die bereitgestellte Software einfließen
  • Compliance-Berichte, um Änderungen an GitLab-Konfigurationen anzuzeigen, die gegen geltende Sicherheitsprozesse verstoßen könnten

Mit diesen Konfigurationen können Unternehmen nachweisen, dass Softwaresicherheit für ihre Anwendungen oberste Priorität hat und Sicherheitspraktiken durchgesetzt werden.

TSC-Kriterien „Verfügbarkeit“ und „Prozessintegrität“

GitLab kann auch bei den TSC-Kriterien für Verfügbarkeit und Prozessintegrität unterstützen. Bei diesen Kriterien geht es um die Qualität und Leistung der Anwendung selbst. Dazu bietet GitLab folgende Funktionen (die Artikel sind nur in englischer Sprache verfügbar):

  • Ergebnisse von Unit-Tests und Änderungen der Testabdeckung in Form von Testabdeckungsberichten, die sicherstellen, dass der Quellcode durch eine Test-Suite validiert wird
  • Codequalität, mit der die Qualität und Komplexität des Quellcodes analysiert werden, damit dieser einfach zu lesen und zu warten ist

Die genannten Softwareentwicklungspraktiken kommen früh im Software-Entwicklungsprozess zum Einsatz, um hochwertigen, getesteten Code zu garantieren. GitLab bietet außerdem Vorlagen für verschiedenste Arten von automatisierten Tests für laufende Anwendungen, um sicherzustellen, dass diese wie erwartet funktionieren. Zu diesen Tests gehören (die Artikel sind nur in englischer Sprache verfügbar):

  • Browser-Performance-Tests, bei denen die Ladezeit von Websites während des Entwicklungslebenszyklus gemessen wird, um die Auswirkungen von Codeänderungen auf die Browser-Performance zu testen
  • Lasttests, die die Systemleistung des Backends einer Anwendung während des Entwicklungslebenszyklus misst, um die Auswirkungen von Codeänderungen auf die Leistung zu testen
  • Abdeckungs-Fuzzing, das unerwartete, fehlerhafte oder zufällige Daten an eine Anwendung sendet und sie dann auf instabile Verhaltensweisen und Abstürze überwacht
  • Web-API-Fuzzing, das unerwartete, fehlerhafte oder zufällige Daten an API-Endpunkte sendet, um nach Fehlern und Sicherheitsproblemen zu suchen

Mit GitLab können Unternehmen auf starke DevSecOps-Praktiken setzen und hochwertige, sichere Anwendungen entwickeln, die dazu beitragen, SOC-2-Prüfungen einfacher zu bestehen und so die Sicherheit von Kundendaten offiziell bestätigen zu lassen.

Mehr erfahren: Stärke deine Cybersicherheitsstrategie mit Secure-by-Design-Prinzipien.

Wichtigste Erkenntnisse
  • Automatisierte Test- und Codeabdeckungsberichte sorgen für eine bessere Verfügbarkeit und Prozessintegrität nach SOC 2.
  • Die Sicherheitsscans und rollenbasierten Kontrollen von GitLab stellen sicher, dass das SOC-2-Framework eingehalten werden kann, wodurch Daten vor Sicherheitslücken und unautorisiertem Zugriff geschützt werden.
  • Mit den GitLab-Vorlagen für Browser- und Lasttest werden SOC-2-Prüfungen erleichtert, da damit die Leistung der Anwendung und ihre Sicherheit in jeder Entwicklungsphase validiert werden können.