Herausforderung: Manuelles Schwachstellen-Management als Effizienzbremse
In ihrer Breite hatte es den Sicherheitsmaßnahmen bei Natera durchaus nicht gefehlt. Methodisch aber mussten die Entwickler seitenweise False Positives manuell durchgehen. Da dies weder zielführend noch agil oder datenfundiert war, wollte man sich in punkto Sicherheit grundlegend neu aufstellen: AppSec- und QA-Prozesse sollten innerhalb des SDLC automatisiert werden, wofür es neues Tooling sowohl für die Erkennung von Schwachstellen als auch für ihr Management brauchte. Dies in Open-Source- und Custom-Code ebenso wie in IaC und Containern und zudem über eine Vielzahl von Projekten eines Teams aus mehr als 200 Entwicklern hinweg. So musste hinter alldem eine umfassende DevSecOps-Methodik stehen, die sich von allen Beteiligten einfach umsetzen ließ.
„Code-Reviews liefen bei uns komplett manuell ab: Die Pull-Requests kamen vom Dev-Team zu uns, dem wir festgestellte Probleme dann wieder einzeln zuweisen mussten. So hatten wir am Security-Ende einen Bremsklotz, der alles andere aufhielt“, erläutert Charlotte Townsley, Director Security Engineering bei Natera, den damaligen Status quo. „Deshalb wollte ich hier ganz grundlegend vorbauen. Sicherheit sollte sich als Designprinzip durch das gesamte SDLC ziehen und umfassend von Entwicklern mitgestaltet werden. Hierzu brauchte es engen Austausch zwischen allen Fachbereichen, Sensibilisierung und Vermittlung von Know-how für Security-Themen – und natürlich passendes Tooling. Davon würden letztlich alle enorm profitieren.“
Lösung: Konsequente App-Security, nahtlos umgesetzt im gesamten Dev-Prozess
Zur Umsetzung der Vorhaben evaluierte man verschiedene Lösungen, darunter neben Snyk etwa auch SonarQube, Black Duck und Veracode. Das Rennen machte schließlich Snyk als cloudnative AppSec-Plattform, die durch eine unkomplizierte, zielführende UX mit echtem Developer-Fokus herausstach. Überzeugend war zudem die schnelle und nahtlose Integration. Denn so wurde es für Entwickler möglich, Sicherheit von Custom- und Open-Source-Code bis hin zu Containern und Cloud-Infrastruktur in sämtlichen Elementen ihrer Anwendungen direkt zu implementieren.
„Für unsere Prozesse und Ziele war Snyk einfach perfekt“, kommentiert Townsley. „Intuitives und für Entwickler extrem benutzerfreundliches UX-Design, dazu Security-Checks für Abhängigkeiten und Custom-Code ebenso wie für Container und Infrastructure as Code. Und das alles vereint in einer Plattform.“
Frühzeitiges Schwachstellen-Fixing mit Snyk Code
Damit die Dev-Teams bei Natera Security-Themen wie vorgesehen adressieren konnten, galt es, ihnen durch Static Application Security Testing (SAST) am frühestmöglichen Punkt in ihren Workflows Klarheit über Schwachstellen in ihrem Code zu vermitteln. Etwas, dem andere SAST-Tools in Sachen Scan-Geschwindigkeit und -Genauigkeit nur unzureichend gerecht werden konnten. Snyk Code dagegen bestach durch höchste Effizienz in allen Belangen. Dies nicht zuletzt auch aufgrund der intuitiven Fixing-Empfehlungen direkt innerhalb von Dev-Workflows. Denn dies bedeutete, dass Entwickler ihren Code noch vor seiner Überführung ins Deployment von Schwachstellen befreien konnten.
„Nach Evaluierung einiger anderer Lösungen war schnell klar: Derart präzise Scans erhalten wir anderswo weder für Code im Live-Deployment noch im Dev-Prozess. Snyk war in dieser Hinsicht einfach konkurrenzlos.“
Sicherheit für Custom- und Open-Source-Code integriert in die IDE
Mit dem IDE-Plug-in von Snyk für JetBrains IntelliJ hatte das Security-Team den passenden Baustein an der Hand, um Schwachstellen-Scans für den Quellcode von Java-Anwendungen ebenso wie für zugehörige Open-Source-Abhängigkeiten nativ in die gewohnte Umgebung der Entwickler zu bringen. Code-Analyse und -Validierung konnten damit direkt am Code erfolgen – frühzeitig im Build und von Entwicklern effizient in Eigenregie umgesetzt.
„Mir ist wichtig, dass wir Sicherheitsthemen als Partner in die Entwicklung tragen“, so Townsley. „Und je früher wir das können, desto besser: Erster Ansatzpunkt ist dabei die Einbindung von Snyk in IDE und Repositories, durch die wir klaren Kontext zu Schwachstellen in unseren Abhängigkeiten erhalten. Vom Dev- bis zum Security-Team treffen wir so stets fundierte Entscheidungen.“
Snyk Container für sofortiges Fixing kritischer Schwachstellen durch Entwickler
Natera setzt stark auf containierisierte Anwendungsumgebungen. Entsprechend zahlreich sind daher die Container-Images in der Produktion. Enthalten diese Schwachstellen, steigt also auch das Risiko für Compliance-Verstöße im Zusammenhang mit den Auflagen des Gesundheitswesens, denen Natera unterliegt. Um dem vorzubeugen, wollte das Security-Team die Nutzung bestimmter Images innerhalb der Registry unterbinden. Mit Snyk Container ließen sich nicht nur die dazu nötigen Security Gates mühelos definieren, sondern auch Schwachstellen in zulässigen Containern nahtlos beheben.
„Container noch vor ihrem Rollout in die Produktion durchchecken zu können, hat die Arbeit unserer Teams komplett verändert“, stellt Townsley heraus. „Denn keiner hatte Schwachstellen dieser Art bis dato auf dem Schirm. Jetzt dagegen sind wir für das Thema sensibilisiert. Dass sich dabei auch die Fixing-Prozesse weitreichend automatisieren lassen, ist ein weiteres Plus, spiegelt sich darin doch der Gedanke einer sukzessiven Qualitätsoptimierung im Stile moderner CI/CD-Methodiken wider.“
Mehr Visibility für Repositories dank Snyk IaC
Um die DevSecOps-Vision von Natera komplett zu machen, fehlte mit Infrastructure as Code noch ein letztes Puzzlestück. Die Anwendungen, anhand derer Natera DNA-Analysen auswertet und in Insights überführt, erfordern starken Datenschutz. Dementsprechend unterhält das Unternehmen diverse Infrastrukturen mit spezifischen Konfigurationen. Ihre Absicherung lässt sich mit Snyk IaC entwicklerseitig direkt innerhalb von Dev-Workflows vornehmen, ebenso wie die Umsetzung zugehöriger Best Practices. Für Natera bedeutete dies einen weiteren Meilenstein auf dem Weg zur Integration von Security-Grundsätzen über das gesamte SDLC hinweg.
„Umfassende Abdeckung war für uns ein Kernthema – auch für die Schwachstellen in der Infrastruktur für unsere Runtime-Umgebung“, betont Townsley. „Denn bislang war dieser Teil in unseren Code-Reviews komplett unter den Tisch gefallen. Umso erfreulicher war es, dass Snyk uns auch Visibility für alle unsere IaC-Repositories lieferte.“
Ergebnis: 360°-Visibility für Schwachstellen
Von Security-Prozessen bis hin zu Sicherheitsrichtlinien gelang es Natera, seine Ziele bei minimalem Zusatzaufwand für Entwickler umzusetzen. Dabei beheben sie Schwachstellen dank Integration sämtlicher Snyk Tools direkt in ihren Build-Prozess nicht nur schneller, sondern auch prioritätsgenau. Im Ergebnis steht für Natera so umfassende Visibility und damit bessere Software-Qualität, ohne die Entwicklung der Innovationen auszubremsen, die seine Kunden erwarten.
„Was Snyk bei uns möglich gemacht hat, ist mit unserem früheren Modus Operandi noch nicht einmal annähernd vergleichbar. Das gesamte Spektrum potenzieller Schwachstellen in Custom-Code und Abhängigkeiten, Containern und IaC mit einer einzigen Plattform abdecken zu können, das war für uns alle hier ein absolutes Novum.“
Nahtlose Code-Compliance in jeder Faser
Auf Grundlage der Insights, die die Snyk Plattform erfasst, kann Natera zudem spezifische Policies einrichten und so verlässlich nachweisen, dass Security-Scans exakt auf potenzielle Verstöße in den definierten Kontexten erfolgen. Dadurch erhält das Unternehmen den so wichtigen Audit Trail, den es zur Erfüllung von Compliance-Anforderungen etwa der US-Arzneimittelbehörde FDA oder auch der Datenschutzvorgaben nach HIPAA und SOC 2 benötigt.
„Besonders beeindruckend ist, wie sich mit Snyk Code die Regelwerke der FDA für das Qualitätsmanagement adressieren lassen“, so Townsley. „Wie unsere Security Champions berichten, geht dies nun deutlich einfacher und schneller von der Hand. Und das ganz ohne ellenlange Listen falsch-positiver Meldungen – Snyk gibt nur Alerts aus, die auch wirklich Probleme beinhalten.“
Automatisierte Beseitigung sämtlicher Schwachstellen in Anwendungen
Ausgerollt hat Natera die Plattform von Snyk im gesamten Dev-Team. Um dem breiter gefassten Team dabei alle Prozesse näherzubringen und Know-how zu vermitteln, sind 40 Security Champions im Einsatz. Gemeinsam mit dem Security-Teams etablieren sie Sicherheit im Dev-Prozess, ohne Entwickler in ihrer Arbeit auszubremsen. Einen entscheidenden Anteil hat daran natürlich auch, dass sie mit Snyk Schwachstellen und Probleme im Code erkennen, bevor sie ihn in den Build überführen. So haben sie stets die Gewissheit, dass ausschließlich validierter Anwendungscode ins Staging oder in die Produktion geht.
„Snyk steht im Mittelpunkt einer Prozessmethodik, die wir sukzessive auf Automatisierung ausrichten“, so Townsley. „In diesem Zuge wollen wir Schwachstellen im DevSecOps-Stil komplett einen Riegel vorschieben. Auf dem besten Weg dorthin sind wir bereits – dank Snyk haben wir den inkonsistenten und manuellen Charakter unseres früheren AppSec-Konzepts vollkommen hinter uns gelassen.“