Was wir unter DevSecOps verstehen

post-thumb

Was wir darunter verstehen? Richtig gelesen. Denn obwohl der Begriff in aller Munde ist, so ist dieser weder geschützt noch eindeutig definiert. Jeder hat ähnliche Vorstellungen, was sich hinter dem Konzept verbirgt, lebt und beschreibt DevSecOps allerdings dann doch teilweise recht unterschiedlich. Das möchte ich heute auch tun - euch beschreiben, was DevSecOps für uns bei Objektkultur bedeutet.

Bei durchschnittlich ca. 70 neu veröffentlichten Sicherheitslücken pro Tag1 sind wir der festen Überzeugung, dass es nicht ausreicht, sich dem Thema Sicherheit einmalig zu widmen und dann davon auszugehen, man hätte seine Schäfchen im Trockenen. Die Resilienz respektive Vulnerabilität von Geschäftsanwendungen muss kontinuierlich hinterfragt und geprüft werden, damit diese nicht nur heute, sondern auch morgen Angriffen von Bad Actors Stand halten. Nicht nur, aber vor allem, wenn die Anwendungen aktiv weiterentwickelt und mit neuen Features angereichert werden. Das muss in die Köpfe der Menschen. Dieses Verständnis ist für uns ein essenzieller Bestandteil des DevSecOps-Gedankens.

Sicherheit ist kein Feature, sondern ein Prozess.

Wir betrachten im Rahmen von DevOps bereits den kompletten Lebenszyklus unserer Software von der Entwicklung (Development) über die Bereitstellung bis hin zum Betrieb (Operations). Dabei streben wir neben einem hohen Automatisierungsgrad auch die Ganzheitlichkeit und die reibungslose Verzahnung aller Aspekte an. Vor allem befassen wir uns aber mit dem immer mehr in den Vordergrund rückenden Aspekt der Sicherheit (Security) unserer Software. Mehr noch, wir machen diesen zu einem integralen Bestandteil unseres Entwicklungsprozesses: aus DevOps wird DevSecOps.

Denn jedes digitalisierte und somit wettbewerbsfähige Unternehmen ist mittlerweile einer ständigen Bedrohungslage durch Cyber-Kriminelle ausgesetzt. Die größte Schwachstelle ist oft der Mensch, der Social-Engineering-Angriffen wie Phishing zum Opfer fällt. Umso wichtiger ist es dann, sich auf die technische Sicherheit seiner Geschäftsanwendungen verlassen zu können. Ein auf Sicherheit ausgelegter Entwicklungsprozess zahlt genau hierauf ein - kontinuierlich und von der Pike auf.

Mit der nachfolgenden Abbildung möchte ich veranschaulichen, wie der Aspekt der Sicherheit den gesamten Prozess umspannt und sich damit auf jede der Phasen auswirkt.

Aus DevOps wird DevSecOps: der Sicherheitsaspekt als integraler Bestandteil.
Abb.: Sicherheit als zentraler Bestandteil des Entwicklungsprozesses.


Wie wir DevSecOps leben

Unternehmenskultur

Wie bereits erwähnt, erfordert die Einführung von DevSecOps zunächst ein Umdenken im gesamten (Entwicklungs-) Team und eine Sensibilisierung für Sicherheitsrisiken. Das Bewusstsein für Sicherheit wird bei uns unter anderem dadurch geschaffen, dass jedem Mitarbeitenden Kontrollreports, z.B. für die Gerätesicherheit, zur Verfügung gestellt werden. Zudem werden unternehmensweite Sicherheitszertifizierungen, wie die ISMS-Zertifizierung nach ISO-27001, abgelegt und regelmäßige interne Phishing-Kampagnen zu Schulungszwecken ausgespielt. Außerdem nehmen wir gemeinsam an Hacking-Wettbewerben teil, sogenannte Capture the Flag (CTF) Events, um uns spielerisch zu verbessern und den Blick für Schwachstellen zu schulen.

Security by Design

Bestandteil der Planung ist immer die Anfertigung eines begleitenden Sicherheitskonzeptes für die Anwendung, um für Transparenz und Konsens zu sorgen. Dabei handelt es sich um ein lebendiges Dokument, das iterativ mit jedem Feature erweitert und regelmäßig ge-challenged wird. Denn Sicherheitsaspekte müssen nicht nur von Anfang an, sondern vor allem durchgehend berücksichtigt werden, um potenziellen Schwachstellen vorzubeugen - gerade bei wichtigen Architekturentscheidungen.

Automatisierte Sicherheitstests: Code-Reviews

Während der Implementierung setzen wir auf Secure-Code-Reviews , bei denen jede neu entwickelte Zeile auf Herz und Nieren geprüft wird. Über digitale Richtlinien forcieren wir Kontrollmechanismen, wie die Einhaltung des 4-Augen-Prinzips, der Einsatz von Werkzeugen für die statische Code- und Schwachstellenanalyse oder das Static Application Security Testing (SAST), indem wir beispielsweise SonarQube, NexusIQ oder Veracode in unsere automatisierten Build-Pipelines integrieren. Hierbei ist uns wichtig, sich zwar obligatorisch, allerdings nicht blind und ausschließlich auf diese automatisierten Tools und Tests zu stützen. Wir wertschätzen ganz besonders das Know-how unserer Engineers und deren Fähigkeit, die Ergebnisse entsprechend bewerten und in einen Kontext setzen zu können. Bei erhöhtem Bedarf an Sicherheit begeben wir uns auch selbst in die Rolle des Angreifers und nutzen Taktiken aus dem Bereich Offensive-Security, um unsere Anwendungen durch gezielte Simulationen von Angriffen noch sicherer zu gestalten.

Secure Configuration

Beim Deployment einer Secure Infrastructure für unsere Anwendungen implementieren wir eine Zero-Trust-Strategie in der Cloud. Konfigurationen, aufbereitet nach dem Least-Privilege-Prinzip, werden deklarativ via Infrastructure-as-Code (IaC) bereitgestellt. Schützenswerte Informationen wie Passwörter werden konsequent nur unter Verwendung abgesicherter Services (z.B. Azure Key Vault) verschlüsselt abgelegt. Auch hier lassen wir uns früh im Prozess durch Tools wie TruffleHog unterstützen, damit Geheimnisse auch Geheimnisse bleiben.

Security-Monitoring und Logging

Bei aller Vorsicht ist dennoch auch Nachsicht geboten. Denn beim Katz- und Mausspiel zwischen Angreifer und Verteidiger haben erstere immer die Nase vorn2. Sicherheitsvorfälle, sollte es dazu kommen, müssen so früh wie möglich als solche identifiziert werden, um im Ernstfall schnell und effektiv handeln zu können. Daher definieren wir für unsere Anwendungen geeignete operationale Sicherheitsmetriken, wie beispielsweise verdächtig oft fehlgeschlagene Verbindungsversuche, und überwachen diese 24/7 mit entsprechenden Monitoring-Lösungen und Dashboards (z.B. Azure Monitor oder Elastic und Kibana). Hier mehr zu unseren Observability-Lösungen

Ach, da wäre noch eine Sache.

Wir wissen natürlich, dass Sicherheit immer ein Kompromiss bedeutet. Ein Kompromiss zwischen Kosten, Komfort und eben Sicherheit. Deshalb passen wir die Ausprägung des Sec-Anteils in DevSecOps immer individuell auf die Bedürfnisse unserer Kunden an. Hier die perfekte Balance zu finden, ist für uns genauso Teil unserer Beratungsleistung, wie auch von DevSecOps selbst.

Sie haben eine bestehende Software, die auf Performance und Code-Sicherheit überprüft werden soll? Hier geht es zu unserem Code-Review-Service.


  1. Stand 2022, bezogen auf offizielle CVE’s. Quelle: Statista  ↩︎

  2. 80% der CVE-Exploits werden bereits vor Bekanntmachung der entsprechenden Sicherheitslücke veröffentlicht und das durchschnittlich 23 Tage vorher. Quelle: Palo Alto  ↩︎

Lernen Sie uns kennen

Das sind wir

Wir sind ein Software-Unternehmen mit Hauptsitz in Karlsruhe und auf die Umsetzung von Digitalstrategien durch vernetzte Cloud-Anwendungen spezialisiert. Wir sind Microsoft-Partner und erweitern Standard-Anwendungen bei Bedarf – egal ob Modernisierung, Integration, Implementierung von CRM- oder ERP-Systemen, Cloud Security oder Identity- und Access-Management: Wir unterstützen Sie!

Mehr über uns

Der Objektkultur-Newsletter

Mit unserem Newsletter informieren wir Sie stets über die neuesten Blogbeiträge,
Webcasts und weiteren spannenden Themen rund um die Digitalisierung.

Newsletter abonnieren