Grundlegendes zu DevSecOps

Abgeschlossen

Die Cloudakzeptanz beschleunigt sich weiterhin, da Organisationen die Geschäftliche Produktivität unterstützen, Remotearbeit ermöglichen und Vorgänge effizient skalieren möchten. Diese schnelle Einführung ohne angemessene Sicherheitsinfrastruktur kann jedoch versehentlich Daten kompromittieren und Organisationen erhebliche Risiken offenlegen.

Die Sicherheitslücke in Cloudanwendungen

Sicherheitslücken bleiben auch dann bestehen, wenn die Cloudakzeptanz wächst. Organisationen, die auf Cloudplattformen umsteigen, implementieren nicht immer geeignete Sicherheitskontrollen:

Verschlüsselungslücken: Viele Cloudanwendungen schützen daten nicht ordnungsgemäß:

  • Ruhende Daten: Unverschlüsselte Datenbanken, Speicherkonten und Dateisysteme lassen Daten anfällig, wenn auf Speichermedien zugegriffen, gestohlen oder unsachgemäß entsorgt wird.
  • Daten während der Übertragung: Anwendungen, die Daten über unverschlüsselte Verbindungen übertragen, machen Informationen zum Abfangen verfügbar. Auch interner Netzwerkdatenverkehr sollte verschlüsselt werden.
  • Häufige Lücken: Erhebliche Prozentsätze von SaaS-Anwendungen verschlüsseln keine Daten angemessen. Speicheranwendungen fehlen häufig an Verschlüsselung sowohl im Ruhezustand als auch während der Übertragung. Anwendungen für die Zusammenarbeit übertragen häufig vertrauliche Informationen ohne ordnungsgemäßen Schutz.

Sitzungsschutzmängel: Schwache Sitzungsverwaltung schafft Sicherheitsrisiken:

  • Fehlende HTTP-Sicherheitsheader: Anwendungen, die keine Sicherheitsheader wie HSTS (HTTP Strict Transport Security), CSP (Content Security Policy) und sichere Cookieattribute implementieren, lassen Sitzungen anfällig für Entführer.
  • Tokenexposition: Sitzungstoken, die unsicher übertragen werden, können von Angreifern abgefangen und wiederverwendet werden, um legitime Benutzer zu imitieren.
  • Eingeschränkte Einführung: Sehr wenige SaaS-Anwendungen implementieren umfassenden Sitzungsschutz für HTTP-Headers, sodass Benutzer anfällig für sitzungsbasierte Angriffe sind.

Was ist Secure DevOps (DevSecOps)

Die Spannung zwischen Geschwindigkeit und Sicherheit: DevOps betont die schnellere Arbeit durch Automatisierung, kontinuierliche Integration und schnelle Bereitstellung. Sicherheit betont traditionell Gründlichkeit, sorgfältige Überprüfung und umfassende Tests. Diese Ziele können widersprüchlich erscheinen.

Herkömmliche Sicherheitsansatzprobleme: Wenn Sicherheitsbedenken nur am Ende des Entwicklungszyklus behandelt werden, treten mehrere Probleme auf:

  • Ungeplante Arbeit tritt unmittelbar vor dem Deployment auf, wenn Teams unter Druck stehen, eine Veröffentlichung vorzunehmen.
  • Sicherheitsprobleme, die zu spät entdeckt wurden, erfordern teure Überarbeitungen abgeschlossener Features.
  • Sicherheit wird zu einem Engpass, der Die Veröffentlichungen verlangsamt oder blockiert.
  • Teams sehen die Sicherheit als Hindernis anstelle eines Enablers an.
  • Kritische Sicherheitsrisiken können aufgrund von Veröffentlichungsdruck entprioritiert werden.

Die Secure DevOps-Lösung: Secure DevOps integriert Sicherheit in DevOps-Praktiken in eine zusammenhängende Gruppe von Aktivitäten, die entwickelt wurden, um die Ziele sowohl der DevOps-Geschwindigkeit als auch der Sicherheitseffizienz zu erfüllen. Sicherheit ist von Anfang an Bestandteil des Entwicklungsprozesses, anstatt ein Tor am Ende zu sein.

Venn-Diagramm, das den sich überlappenden DevOps-Kreis und Sicherheitskreis zeigt, wobei die Schnittmenge mit

Vorteile der Integration: Eine Secure DevOps-Pipeline ermöglicht Es Entwicklungsteams, schnell zu arbeiten, ohne ihr Projekt zu unterbrechen, indem unerwünschte Sicherheitsrisiken eingeführt werden. Sicherheit und Geschwindigkeit werden komplementarisch und nicht gegensätzliche Ziele.

Anmerkung

Secure DevOps wird manchmal auch als DevSecOps-bezeichnet. Sie können auf beide Begriffe stoßen, aber jeder bezieht sich auf dasselbe Konzept. Der Terminologieunterschied ist rein stilistisch. Die Praktiken und Prinzipien bleiben identisch.

So ändern sich Sicherheitsänderungen in Secure DevOps

Herkömmliche Sicherheitsmethoden: Historisch operierte die Sicherheit in langsameren Zyklen und fokussierte sich hauptsächlich auf:

  • Zugriffskontrolle: Verwalten, wer über Authentifizierungs- und Autorisierungsmechanismen auf Systeme und Daten zugreifen kann.
  • Umgebungshärtung: Konfigurieren von Systemen zum Entfernen unnötiger Dienste, Anwenden von Sicherheitspatches und Erzwingen sicherer Konfigurationen.
  • Umkreisschutz: Verwenden von Firewalls, Angriffserkennungssystemen und Netzwerksegmentierung zum Schutz der Netzwerkgrenze.

Erweiterter Sicherheitsbereich: Secure DevOps umfasst diese herkömmlichen Sicherheitsmethoden, erweitert jedoch Sicherheitsbedenken während des gesamten Softwareentwicklungslebenszyklus. Mit Secure DevOps geht es darum, die Pipeline selbst und alles, was durch sie fließt, zu sichern.

Fokus auf Pipelinesicherheit: Sichere DevOps umfasst die Entscheidung, wo Schutzmaßnahmen für die Elemente hinzugefügt werden sollen, die in Ihre Build- und Release-Pipelines eingebunden sind:

  • Quellcode-Repositories.
  • Erstellen Sie Server und Agents.
  • Artefaktspeicher und Registrierungen.
  • Bereitstellungstools und -prozesse.
  • Infrastruktur als Codevorlagen.
  • Konfigurationsverwaltungssysteme.
  • Geheime Verwaltungslösungen.

Umfassender Ansatz: Secure DevOps zeigt Ihnen, wie und wo Sie Ihren Automatisierungspraktiken, Produktionsumgebungen und anderen Pipelineelementen Sicherheit hinzufügen und gleichzeitig die Geschwindigkeitsvorteile von DevOps beibehalten. Sicherheitskontrollen sind automatisiert und integriert und nicht manuell und getrennt.

Wichtige Fragen, die Secure DevOps behandelt

Secure DevOps hilft Organisationen bei der Beantwortung kritischer Sicherheitsfragen:

Sicherheit von Drittanbieterkomponenten:

  • Verbraucht meine Pipeline Komponenten von Drittanbietern und sind sie sicher?
  • Stammen diese Komponenten aus vertrauenswürdigen Quellen?
  • Werden Komponentensignaturen überprüft?
  • Sind Lizenzen mit unserer Nutzung kompatibel?

Sicherheitsrisikoverwaltung:

  • Gibt es bekannte Sicherheitsrisiken innerhalb einer der von uns verwendeten Software von Drittanbietern?
  • Wie verfolgen wir Offenlegungen von Sicherheitsrisiken für unsere Abhängigkeiten?
  • Was ist unser Prozess zum Aktualisieren anfälliger Komponenten?
  • Haben wir ein Inventar aller Abhängigkeiten einschließlich transitiver Abhängigkeiten?

Erkennungsgeschwindigkeit (Zeit zum Erkennen):

  • Wie schnell kann ich Sicherheitsrisiken erkennen?
  • Sind Sicherheitsüberprüfungen in der Pipeline automatisiert?
  • Haben wir Laufzeitüberwachung für Sicherheitsprobleme?
  • Wie schnell erreichen Sicherheitswarnungen die richtigen Personen?

Wartungsgeschwindigkeit (Zeit zur Behebung):

  • Wie schnell kann ich identifizierte Sicherheitsrisiken beheben?
  • Können wir Korrekturen über dieselbe automatisierte Pipeline bereitstellen?
  • Was ist unser Prozess für Notfallsicherheitspatches?
  • Wie überprüfen wir, ob die Korrektur wirksam ist?

Sicherheit als Code

Automatisierte Sicherheitspraktiken: Sicherheitspraktiken zum Erkennen potenzieller Sicherheitsanomalien müssen so robust und schnell sein wie andere Teile Ihrer DevOps-Pipeline. Dazu gehören:

Infrastruktursicherheitsautomatisierung:

  • Automatisierte Sicherheitsüberprüfung der Infrastructure-as-Code-Vorlagen.
  • Regeln-als-Code-Durchsetzung für die Konfiguration von Cloudressourcen.
  • Compliance-Überprüfung vor der Infrastrukturbereitstellung.
  • Kontinuierliche Überwachung des Sicherheitsstatus der Infrastruktur.

Anwendungssicherheitsautomatisierung:

  • Statische Anwendungssicherheitstests (SAST) während Builds.
  • Dynamische Anwendungssicherheitstests (DAST) in Stagingumgebungen.
  • Softwarekompositionsanalyse für Abhängigkeitsrisiken.
  • Containerimageüberprüfung vor der Bereitstellung.
  • Laufzeitanwendungsselbstschutz (RASP) in der Produktion.

Kontinuierliche Sicherheit: Sicherheit in Secure DevOps ist kein einzelner Prüfpunkt. Es ist eine kontinuierliche Überprüfung während der gesamten Entwicklung, Bereitstellung und des Betriebs. Jede Phase der Pipeline enthält geeignete Sicherheitskontrollen, die automatisch ausgeführt werden, ohne die Übermittlung zu verlangsamen.