Herausforderungen
Mit dem Erfolg von Skyscanner kamen Herausforderungen, die viele Dev-Teams wohl nur allzu gut kennen. Es galt, Website und App auch bei massivem Traffic-Aufkommen stabil zu halten, Releases in kürzeren Zyklen bei höherer Skalierung auszuliefern und bei alldem natürlich auch die Sicherheit zu gewährleisten.
Ein in punkto Sicherheit wichtiger Aspekt galt dabei Open-Source-Abhängigkeiten bzw. potenziellen Schwachstellen in ihnen. Welche Abhängigkeiten – ob direkt oder transitiv – überhaupt innerhalb der diversen Projekte von Skyscanner bestanden, war bis vor der Implementierung von Snyk jedoch mitnichten transparent gewesen. An einer zentralen Übersicht hierzu, über die das Security-Team anfällige Bereiche effizient hätte ausmachen können, hatte es tatsächlich gänzlich gefehlt. Dementsprechend also auch an der für Entwickler so wichtigen Visibility in den Status Quo ihrer jeweiligen Projekte, um Open-Source-Schwachstellen gezielt und effektiv beheben zu können.
Problematisch gewesen war diese mangelnde Transparenz jedoch auch aus rechtlicher Sicht. Denn ohne sie gestaltete es sich enorm schwierig, projektübergreifend die über Abhängigkeiten bestehende Lizenznutzung präzise zu erfassen. Klarheit über diese ist jedoch freilich essenziell für Unternehmen aller Branchen. Dies einmal in punkto Lizenzkonformität, die so für sämtliche Abhängigkeiten leichter gewährleistet bleibt. Außerdem erweitert sie aber auch die Perspektive auf ggf. für eine Software nutzbare „Non-Permissive“-Lizenzen, sofern diese für den jeweiligen Use Case geeignet sind. Dies kann insbesondere auch helfen, wenn allgemein die Richtlinie besteht, auf keinerlei lizenzpflichtige Quellen zurückzugreifen.
„Snyk ist eine der wichtigsten Tragsäulen unserer Security-Strategie. Rückblickend ist es kaum vorstellbar, wie wir vor der Integration des Toolsets überhaupt sicher agieren konnten.“
Einzigartiger Rückhalt durch Snyk
Auf der Suche nach einem Tool, das sich vollständig in die Dev-Umgebung und -Methodiken des Unternehmens einfügen würde, wurde nach Evaluierung diverser Lösungen klar: Der erhoffte Developer-Fokus rund um Security würde sich nur mit Snyk vollumfänglich umsetzen lassen.
„Besonders überzeugend war für uns die Vielschichtigkeit, mit der Snyk sich in unsere Security-Prozesse einpassen ließ. Denn statt ineffizienter, im Nachgang von uns im Security-Team durchgeführter Reviews jeder einzelnen Codezeile können wir die Dev-Seite nun flexibel auf verschiedene Weise einbinden: Integrieren wir Snyk im Source Code Management von GitLab, bringen wir Scans in die Commit-Phase. Über die direkt in die CI-Pipeline eingebetteten Checks können Entwickler Probleme zudem bereits am Build aufdecken, dabei auf Wunsch auch Direktzugriff auf das Portal der Lösung erhalten. Unsere Dev-Teams können Snyk also flexibel nach ihren Anforderungen nutzen, während wir an beliebigen Punkten als zusätzliche Sicherheitsebene fungieren, um ggf. verbliebene Schwachstellen aufzufangen.“
Snyk macht durch Checks gegen seine umfangreiche Datenbank punktgenau aus, welche Abhängigkeiten in welcher Version Schwachstellen aufweisen, und gibt direkt Anleitung für ihre Behebung. Durch die Integration der Lösung mit GitLab lassen sich dabei via Merge-Request direkt Upgrades oder Patches für deren Behebung in die Codebase implementieren. Gestützt auf dieses Feature im Verbund mit den weiteren Fixing-Tools von Snyk konnte das Dev-Team bei Skyscanner die Behebung von Schwachstellen systematisch angehen.
„In punkto Schwachstellenmanagement sollte jedes Security-Team ganz klar auf Scans von Abhängigkeiten als Top-Priorität setzen. Das ganze Ausmaß der eigenen Anfälligkeit in dieser Hinsicht so vor Augen geführt zu bekommen, das ist schon ein Aha-Moment.“
Ergebnis
Skyscanner hat Snyk inzwischen in seine Workflows zur Behebung von Schwachstellen in rund 500 Einzelprojekten implementiert, erhält mit der Lösung außerdem Klarheit über seinen Security-Status einschließlich lizenzbezogener Probleme. Besonders hervorzuheben ist dabei die erfolgreiche Behebung einer höchst schwerwiegenden Schwachstelle bereits kurz nach dem Rollout: Verborgen in einem Abfrage-String innerhalb eines der Standard-Templates des Unternehmens hatte sich diese durch unzählige Projekte gezogen. Aufmerksam geworden war man auf sie jedoch erst durch Snyk, über das man dann auch direkt entsprechende Patches implementieren konnte. So hatte man in einem Zug hunderte Projekte von der Schwachstelle befreit – ein erheblicher Meilenstein für die Verkleinerung der Angriffsfläche des Unternehmens.
Snyk: Für Skyscanner aus 3 Gründen erste Wahl
Vom Fix einer Schwachstelle via Merge-Request zur Sicherheit in der Produktion mit nur zwei Klicks
Top-Resonanz von Seiten der Entwickler ob der nahtlosen Integration in ihr gewohntes Dev-Tooling
Starke Sicherheit dank müheloser Integration in verschiedenste Phasen des SDLC