Cloud-basierte Entwicklerteams: Sicherheit nach links verschieben, um nicht das nächste SolarWinds zu sein

Cyber Security News

Eine Frau, die mit einem Mobiltelefon spricht, geht an einer Cloud-Computing-Präsentation vor der Technologiemesse CeBIT im Jahr 2012 vorbei. Cloud-basierte Managed Services werden bei Anwendungsentwicklern immer beliebter, können aber böswillig ausgenutzt werden, wenn sie nicht richtig gesichert sind.(Sean Gallup/Getty Images)

Cloud-basierte Managed Services sowie Infrastructure-as-Code (IaC)-Praktiken sind bei Anwendungsentwicklern wegen der damit verbundenen Effizienzgewinne immer beliebter. Doch wenn Entwicklerteams nicht aufpassen, warnen Experten, könnten sie böswillig ausgenutzt werden, um Watering-Hole- und Supply-Chain-Angriffe wie den von SolarWinds zu begehen.

Diese Warnungen unterstreichen die wachsende Bedeutung einer Verlagerung der Sicherheit nach links – eine DevSecOps-Philosophie, die das Testen auf Fehler und Schwachstellen zu einem früheren Zeitpunkt im Entwicklungszyklus einer App fördert. Selbst dann sollten Entwickler Sicherheitsrichtlinien und Fehlerbehebungen in ihre Pipeline einbauen und Tools nutzen, die den gesamten Entwicklungsprozess transparent machen.

“Die gesamte Art und Weise, wie wir Sicherheit in einer Entwicklungsumgebung durchführen, muss neu überdacht werden. Sicherheit in diesem neuen Paradigma erfordert ein Verständnis des gesamten Entwicklungsprozesses, vom Design über den Code bis hin zur Cloud”, sagt Idan Plotnik, Mitgründer und CEO von Apiiro.

Nach einer Analyse von Hunderten von Cloud-nativen Infrastruktur-Implementierungen haben Forscher von Accurics letzte Woche ihren Cloud Cyber Resilience Report veröffentlicht, der einen wachsenden Trend bei Entwicklern feststellt, die ihre Produktivität durch in der Cloud gehostete verwaltete Infrastrukturen wie gehostete Continuous-Integration- und Delivery-Services (CI/CD), Messaging-Services und Serverless Computing (auch bekannt als Function-as-a-Service oder FaaS) steigern.

Das Delegieren von Teilen Ihrer Entwicklungspipeline an diese Cloud-Services birgt jedoch auch Risiken für Dritte, insbesondere wenn der Cloud-Service-Provider (CSP) unsichere Praktiken wie Fehlkonfigurationen begeht. Tatsächlich fand Accurics heraus, dass 22,5 Prozent der Verstöße gegen die Best Practices der Sicherheitsrichtlinien unsichere Konfigurationen von Managed Services betrafen.

“Wir sehen eine Abhängigkeit von der Verwendung von Standard-Sicherheitsprofilen und -konfigurationen, zusammen mit übermäßigen Berechtigungen”, sagte Om Moolchandani, Accurics-Mitbegründer, Chief Technology Officer und Chief Information Security Officer in einer veröffentlichten Erklärung. “Messaging-Dienste und FaaS treten ebenfalls in eine gefährliche Phase der Akzeptanz ein, so wie es Storage-Buckets vor ein paar Jahren erlebt haben. Wenn die Geschichte ein Anhaltspunkt ist, werden wir mehr Sicherheitsverletzungen durch unsichere Konfigurationen rund um diese Dienste sehen.”

Wenn Angreifer beispielsweise in der Lage wären, einen FaaS-Dienst zu kompromittieren, könnten sie die Funktionsweise der App direkt einsehen – oder sogar modifizieren, heißt es in dem Bericht. Und wenn diese Dienste verwendet werden, um Ihre App zu erstellen, werden diese Risiken vervielfacht.

Die Studie fand auch heraus, dass die mittlere Zeit bis zur Behebung (MTTR) von Sicherheitsrichtlinienverletzungen, die während der Produktion stattfanden, in nur fünf Tagen behoben wurden, aber Verletzungen, die in der Vorproduktionsphase auftraten, mehr als 51 Tage zur Behebung benötigten.

Das ist alarmierend, stellt der Bericht fest, wenn man bedenkt, dass Dienste wie CI/CD-Pipelines und oft auch Serverless Computing integrale Bestandteile des Entwicklungsprozesses sind und per Definition in der Vorproduktionsphase existieren. Dies deutet darauf hin, dass Unternehmen das Risiko, das verwaltete Dienste in der Vorproduktion darstellen, möglicherweise nicht erkennen.

Accurics stellte außerdem fest, dass Entwickler das Risiko weiter erhöhen, wenn sie IaC nutzen, um Pipeline-Ressourcen automatisiert bereitzustellen und auszuführen. Wenn ein bösartiger Akteur in der Lage ist, die Pipeline über IaC zu kompromittieren, werden alle bösartigen Änderungen, die der Angreifer am Quellcode vornimmt, automatisch in die Produktionsumgebung übertragen. Dies bietet die Möglichkeit, einen Angriff ähnlich dem Vorfall bei SolarWinds durchzuführen, bei dem Angreifer in der Lage waren, die Orion-Software des Unternehmens heimlich zu modifizieren und Malware-Code so einzufügen, als ob er von einem tatsächlichen Entwickler vorgenommen worden wäre, bevor er von Tausenden von Benutzerorganisationen als Teil eines regulären Software-Updates installiert wurde.

Penetrationstest-Toolkits beginnen, Erkundungsfunktionen zu enthalten, die den Testern helfen, Schwachstellen und Sicherheitslücken in diesen verwalteten Diensten aufzuspüren, heißt es in dem Bericht. Das deutet darauf hin, dass Angreifer diese Schwachstellen entweder bereits nutzen oder bald nutzen werden.

“Watering Hole- und Supply-Chain-Angriffe sind sehr lukrative Ziele für Cyberkriminelle”, sagt Maty Siman, Gründer und CTO von Checkmarx. “Zum einen wird der kompilierten Software in der Regel sowohl von den Kunden als auch von den Anwendern vertraut. Die Kunden geben dann hohe Berechtigungen heraus, da sie vom Hersteller signiert/freigegeben ist, und die Benutzer geben der Software alle ihre sensiblen Informationen.”

“In der Vergangenheit erforderte die Durchführung dieser Art von Angriffen ausgefeilte Fähigkeiten”, fuhr Siman fort, “oft bis hin zu einer nationalstaatlichen Raffinesse, wie im Fall von NotPetya im Jahr 2017, wo nationalstaatliche Hacker den Code einer beliebten ukrainischen Buchhaltungssoftware modifizierten”, um ein als Ransomware getarntes Disk-Wiper-Programm zu verbreiten.

Die Autoren des Berichts und externe Experten hatten Empfehlungen, wie einige dieser Risiken der Cloud-basierten App-Entwicklung angegangen werden können.

Idealerweise sollte die Sicherheit so früh wie möglich in den Entwicklungszyklus integriert werden, einschließlich der Vorproduktion. Das bedeutet: “Da Unternehmen immer mehr Entwicklungsaufgaben in der Cloud durchführen, wird es entscheidend, die Sicherheit nach links zu verlagern und die Sicherheit in den Entwicklungsprozess selbst einzubetten”, heißt es im Accurics-Bericht.

Ein Großteil der Verantwortung für das Einbinden von Sicherheit in die App-Entwicklung liegt nun bei den Entwicklern selbst. “Es liegt nicht mehr in der Verantwortung von jemand anderem”, so Siman. “Die Verantwortung hat sich allmählich verlagert… von der IT, zu DevOps, zu den Entwicklern. Die Absicherung der Entwicklungspipeline … ist eine neue Fähigkeit, die Entwickler erlernen müssen.”

Zu den wichtigsten Lektionen, die die Entwickler von heute lernen müssen: “Moderne Best Practices für sichere Entwicklung, wie Code-Scanning und AppSec-Schulungen in Echtzeit, sollten nicht nur auf die ausgelieferte Software angewendet werden, sondern auch auf den Code, der die Pipeline definiert”, so Siman. Mit anderen Worten: Es geht darum, die Sicherheit der Infrastruktur zu gewährleisten, einschließlich Infrastructure-as-Code.

Um die Entwicklungsteams zu entlasten, können DevSecOps-Verantwortliche dabei helfen, die Sicherheit von IaC durch “Policy as Code” zu automatisieren – die Praxis der Kodierung von Sicherheitsrichtlinienprüfungen in den frühen Phasen des Entwicklungszyklus. Sie können auch nach Lösungen suchen, die die Behebung dieser Richtlinienverletzungen automatisieren und riskante oder verdächtige neue Änderungen an der Infrastruktur erkennen können.

Laut dem Accurics-Bericht können solche Lösungen “Leitplanken bieten, die Ihnen dabei helfen, grundlegende Sicherheitsrichtlinien zum Zeitpunkt der Erstellung und zur Laufzeit durchzusetzen” sowie “die MTTR sowohl in der Produktion als auch in der Vorproduktion zu reduzieren und das Zeitfenster für Angreifer zu minimieren.”

“Wenn alles Code ist, können wir die Sichtbarkeit, das Verständnis und die Prävention von Fehlkonfigurationen und bösartigen Änderungen besser automatisieren”, so Plotnik. Das gilt für Cloud-Storage-Buckets und wird für FaaS genauso gelten.”

Doch mit der Absicherung von IaC ist es noch nicht getan: “Man muss einen neuen Ansatz wählen”, so Plotnik weiter. “Nur wenn man über den Anwendungscode hinweg schaut, kann man Infrastructure-as-Code [and] Open-Source-Code-Risiken – zusammen mit der Erfahrung der Entwickler, den Sicherheitskontrollen in der Produktion und den geschäftlichen Auswirkungen – können Sie sich gegen fortschrittliche Angriffe wie den, der auf SolarWinds abzielte, verteidigen.”

Einige Teile dieses Artikels stammen aus:
www.scmagazine.com