Skip to main content

AWS in 30: Zusammenfassung

Artikel von
aws feature

29. März 2023

0 Min. Lesezeit

Im vergangenen Monat präsentierte David Schott, Lead Partner Solutions Architect, eine Demo dazu, wie Snyk gemeinsam mit Amazon Web Services (AWS) Schwachstellen in jeder Entwicklungs- und Infrastrukturebene identifiziert.  

David erklärte, warum agile Entwicklung in der Cloud einen anderen Sicherheitsansatz erfordert, als einfach auf die IT-Sicherheitsmethoden der Vergangenheit zurückzugreifen. Anschließend zeigte er anhand eines Beispiels in Echtzeit, wie die AWS-Cloud-Sicherheitstools von Snyk häufige Schwachstellen erkennen und beheben können. Werfen wir einen Blick auf seine Präsentation und die wichtigsten Erkenntnisse.

Moderne Anwendungen: ein neues Risikoprofil

Die Cloud-Landschaft von heute bietet Unternehmen unzählige Vorteile und Chancen. Dank der Anpassungsfähigkeit von Cloud-Betrieb und Infrastructure as Code (IaC) ist die Entwicklung agiler als je zuvor. Doch mit den neuen Fortschritten bei Cloud-Services geht auch eine neue Risikolandschaft einher. 

Von der IT zu App-Services

Bevor sich Cloud-Entwicklungspraktiken durchsetzten, arbeiteten Entwickler nach der Wasserfallmethode. Es ging darum, „den Code über die Mauer zu werfen“ und Sicherheitsexperten die meisten Risiken überlassen, die später auftraten. Entwickler waren zwar für ihren eigenen App-Code und Open-Source-Bibliotheken verantwortlich, doch einen viel größeren Teil der Sicherheitsaufgaben übernahm das IT-Sicherheitsteam. Es konzentrierte sich darauf, Risiken in Ressourcen wie IT-Apps, Servern, VMs, Netzwerken, vSphere und Hardware zu mindern.

Heute übernehmen Entwickler deutlich mehr Verantwortung für die Cloud-Services, in denen ihr Code gehostet und ausgeführt wird. Dazu gehören Container, IaC und Orchestrierungstools wie Kubernetes. Durch diese Verlagerung der Verantwortung kann die IT-Sicherheit nicht länger allein für die Absicherung der Cloud-Infrastruktur zuständig sein. Stattdessen braucht es einen entwicklerzentrierten Ansatz für die Anwendungssicherheit.

„Heute arbeiten Entwickler mit Cloud, Containern und Kubernetes. Dadurch sind sie schneller unterwegs als je zuvor. Gleichzeitig tragen sie mehr Verantwortung für diese unterschiedlichen Bereiche. Entwickler können aber nicht in allem Experten sein, deshalb schleichen sich definitiv Sicherheitslücken ein.“

Moderne Apps sind wie Eisberge

Wer sich eine moderne Anwendung genauer ansieht, die in einem Cloud-Service wie AWS gehostet wird, erkennt schnell: Sie ist wie ein Eisberg aufgebaut. Eine einzige Codezeile kann ein ganzes Ökosystem aus Open-Source-Bibliotheken, Containern und Infrastructure as Code repräsentieren. Und jede dieser Komponenten kann noch komplexer sein, denn ihre Abhängigkeiten haben oft wiederum eigene Abhängigkeiten! Die Vernetzung moderner Anwendungen macht es schwer, mit der Cloud-Sicherheit Schritt zu halten.

Die Rolle von DevSecOps

Am besten lassen sich Risiken in diesem „Eisberg“ aus Abhängigkeiten erkennen und mindern, indem Sicherheitsmaßnahmen in jede Entwicklungsphase integriert werden – ein DevSecOps-Ansatz. Entscheidend ist, die passenden Tools zur richtigen Zeit in Ihre Prozesse einzubinden. Ein Entwicklungsteam muss beispielsweise so früh wie möglich über statische Code-Schwachstellen informiert werden, damit es diese kurz nach ihrer Entstehung beheben kann. Laufzeitsicherheitskontrollen für Orchestrierungs-Engines wie Kubernetes kommen dagegen erst viel später im Prozess zum Einsatz. Es reicht also nicht, ein Sicherheitstool nur in einer Phase einzubinden. Entwicklungsteams brauchen Sicherheitsabdeckung in jeder Phase und auf jeder Ebene ihrer Anwendungen. 

Wie Snyk in jeder Phase mit AWS zusammenarbeitet

Wie wir gesehen haben, verbirgt sich hinter den meisten modernen Anwendungen eine Menge Komplexität. Deshalb müssen Entwickler wissen, wie sie Schwachstellen in allen Bereichen ihrer Anwendungen erkennen und mindern können – nicht nur im App-Code, sondern auch in den Open-Source-Bibliotheken, Containern und der Cloud-Infrastruktur, die diesen Code unterstützen. 

Snyk hat Tools für alle Teile dieses Puzzles entwickelt, die speziell auf die Zusammenarbeit mit Cloud-Services ausgelegt sind. In seiner Demo erklärte David, wie Snyk AWS-Cloud-Sicherheitstools für jeden „Teil des Eisbergs“ bereitstellt.

AWS CodePipeline (IDE)

Mit Snyk können Entwickler Sicherheitsprüfungen in ihre AWS CodePipeline integrieren. Unsere Lösung dient als „Sicherheitsschranke“ in der Pipeline und verhindert, dass anfälliger Code in die nächste Phase des Entwicklungszyklus gelangt. Außerdem bieten wir Entwicklern und Sicherheitsteams einen Live-Überblick über Schwachstellen in Drittanbieter- und Open-Source-Komponenten. Dank dieser Live-Rückmeldungen müssen Entwickler nicht mehr auf regelmäßige erneute Scans warten.

Die „Monitor“-Funktion von Snyk sendet Scan-Ergebnisse auch an die Snyk-Benutzeroberfläche, wo sie weiter analysiert und kontinuierlich überwacht werden können. Außerdem lassen sich dort erneute Scans durchführen. So können Teams neue Schwachstellen in der Snyk-Benutzeroberfläche sehen, ohne die Software in CI/CD neu erstellen zu müssen.

Auch die Snyk-CodePipeline-Integration lässt sich einfach einrichten. Snyk ist in wenigen Minuten mit CodePipeline verbunden – entweder durch Anmeldung mit einem bestehenden Snyk-Konto oder durch die Möglichkeit, ein neues Konto anzulegen. Anschließend können Nutzer mit Snyk eine neue Pipeline erstellen oder unsere Sicherheitsfunktionen als Phase in eine bestehende Pipeline einfügen.

Amazon ECR (Container-Registry) 

Die Snyk-Plattform lässt sich auch in Amazon ECR integrieren. Tatsächlich ist die Snyk Vulnerability Database im Rahmen unserer Partnerschaft mit AWS bereits in Amazon Inspector eingebunden. Dank der Funktionen von Snyk kann das Tool Container-Images, Amazon-EC2-Instances und AMIs auf Anwendungsschwachstellen untersuchen. 

Obwohl Snyk bereits in Amazon Inspector eingebunden ist, liefert Snyk Security zusätzliche Einblicke in Schwachstellen in Ihrer Container-Registry. Die Snyk-Plattform scannt Ihre Amazon-ECR-Instance aktiv auf Schwachstellen in Container-Images und deren Basis-Images. Wir unterstützen Entwickler dabei, diese Risiken zu mindern, indem wir weniger anfällige Alternativen für gefährdete Basis-Images empfehlen. Außerdem können wir einen Pull Request erstellen, der die Änderung im Quellcode vornimmt. 

Amazon EKS (Kubernetes-Umgebung)

Snyk kann auch mit Laufzeitumgebungen zusammenarbeiten. Unsere AWS-Cloud-Sicherheitstools arbeiten mit Amazon EKS zusammen, um Sicherheitsprobleme zu erkennen, die bei laufenden Containern auftreten. Wie bei der ECR-Integration empfehlen wir Upgrades für Basis-Images und liefern zusätzliche Details dazu, wie sicher der Container in Kubernetes ausgeführt wird. 

AWS CloudTrail Lake

An einer Stelle seiner Demo zeigte David, wie Entwickler oder Sicherheitsexperten eine Sicherheitslücke (CVE) ignorieren können. Nutzeraktionen wie das Ignorieren von Problemen, Änderungen an Rollen oder Mitgliedschaften sowie Einstellungsänderungen werden in den Snyk-Audit-Logs erfasst. Snyk bietet Kunden eine API für den Zugriff auf ihre Audit-Logs, allerdings mit Einschränkungen. So werden Audit-Logs beispielsweise 90 Tage lang aufbewahrt und danach gelöscht. Abhilfe schafft die Integration von Snyk in AWS CloudTrail Lake. Damit können Kunden ihre Audit-Logs schnell und einfach von der Snyk-Plattform in ihre AWS-Umgebung übertragen. AWS CloudTrail Lake ermöglicht es, Audit-Logs mithilfe von SQL abzufragen und sie für einen konfigurierbaren Zeitraum von bis zu sieben Jahren aufzubewahren. 

AWS Well-Architected

Mit den Reporting-Funktionen von Snyk können Kunden ihre Daten auf verschiedene Weise filtern und aufschlüsseln. So lassen sich etwa Sicherheitsprobleme auf automatisch behebbare Probleme mit kritischem oder hohem Schweregrad eingrenzen. Das ergibt eine kürzere, konkretere Liste von Problemen, die behoben werden müssen. Die Seite „Issues Summary“ zeigt Trends wie neue und behobene Probleme sowie die mittlere Behebungszeit (MTTR). Diese Trends lassen sich weiter nach einzelnen Projekten oder Teams aufschlüsseln. Im Zusammenhang mit Snyk Cloud zeigte David, wie Cloud-Fehlkonfigurationen Compliance-Standards wie HIPAA, SOC2, PCI-DSS und anderen zugeordnet werden. Snyk unterstützt außerdem das AWS Well-Architected Framework, das sich auf sechs Säulen wie Sicherheit und Zuverlässigkeit konzentriert. Innerhalb weniger Minuten können Snyk-Kunden ihre AWS-Umgebung scannen, um festzustellen, wo sie diese Best Practices noch nicht erfüllen, und anschließend Maßnahmen ergreifen, um Probleme zu beheben und ihre AWS-Architektur zu verbessern.

AWS-Sicherheit mit Snyk

Wenn Sie unsere AWS-Cloud-Sicherheitstools in Aktion sehen möchten, sollten Sie sich die vollständige Präsentation „AWS in 30 Recap“ von David Schott ansehen. Erfahren Sie außerdem, welche häufigen AWS-Fehlkonfigurationen sich möglicherweise unter der Oberfläche Ihrer Anwendungen verbergen.

IaC-Sicherheit für Entwickler

Snyk schützt Ihre Infrastructure as Code vom SDLC bis zur Laufzeit in der Cloud mit einer einheitlichen Policy-as-Code-Engine, damit jedes Team sicher entwickeln, bereitstellen und betreiben kann.