Best Practices für die CI/CD-Sicherheit [Spickzettel]

In diesem 13-seitigen Spickzettel behandeln wir Best Practices in den folgenden Bereichen der CI/CD-Pipeline: Infrastruktursicherheit, Codesicherheit, Geheimnisverwaltung, Zugriff und Authentifizierung, Überwachung und Reaktion.

Was ist Interactive Application Security Testing (IAST)?

IAST (Interactive Application Security Testing) ist eine Sicherheitstestmethode, die Anwendungen während der Laufzeit in Echtzeit überwacht, um Schwachstellen zu erkennen, indem das Codeverhalten und der Datenfluss in Live-Umgebungen analysiert werden.

Wiz Expertenteam
5 Minuten Lesezeit

IAST (Interactive Application Security Testing) ist eine Sicherheitstestmethodik zur Identifizierung von Schwachstellen in Webanwendungen. Es funktioniert, indem es eine Anwendung in Echtzeit überwacht, während sie ausgeführt und aktiv getestet wird, oft während der Qualitätssicherung oder automatisierter Testprozesse. IAST-Tools integrieren sich in die Anwendung und analysieren deren Verhalten und Datenfluss um Sicherheitsprobleme zu erkennen und Einblicke in potenzielle Schwachstellen, insbesondere in der Codebasis, zu erhalten.

Wenn Probleme auftreten, benachrichtigt IAST das Entwicklungsteam mit Informationen über den fehlgeschlagenen Testfall, den Kontext des Codespeicherorts und die Anwendung's Zustand während des Tests.

Warum IAST wichtig ist

Die Entwicklungsgeschwindigkeit ist von größter Bedeutung. Das schnelle Herausbringen neuer Funktionen und das schnelle Beheben von Fehlern kann über Erfolg oder Misserfolg eines Projekts entscheiden's Erfolg. Aber die Sicherheit im Namen der Entwicklungsgeschwindigkeit zu opfern, kann den Entwicklungsprozess auf lange Sicht verfolgen. Der Aufbau sicherer Systeme kann zusätzliche Arbeit verursachen, entweder durch lange Testläufe oder durch die Belastung der Entwickler mit Fehlalarmen, die nicht wirklich zu Sicherheitsproblemen in der Produktion führen. Glücklicherweise gibt es mit interaktiven Anwendungssicherheitstests (IAST) eine Möglichkeit, Schwachstellen zu identifizieren, ohne die Bereitstellung zu verlangsamen. 

Werfen wir einen genaueren Blick auf IAST, wie es funktioniert und warum Sie es in Betracht ziehen sollten, um Ihre Systeme zu schützen.

Wie funktioniert IAST?

IAST verwendet Sensorbibliotheken, die verfolgen, wie sich die App verhält, während sie getestet wird. Der Prozess verlagert Sicherheitstests von den Sicherheitsteams auf die Entwicklungsteams, indem Entwickler diese Bibliotheken in den Code der Anwendung integrieren müssen. Die Verwendung von IAST mit einer unveränderten Anwendung funktioniert nicht.

Die Sensoren geben IAST Zugriff auf den Anwendungscode, den Datenfluss, die Systemkonfiguration, die Komponenten und die Netzwerkverbindungen und ermöglichen so die Verfolgung der Software'während des Tests das vollständige Verhalten von s und sendet Warnungen, wenn gefährdetes Verhalten erkannt wird.

IAST kann im Entwicklung von SecOps Pipeline nach dem Kompilierungsschritt, da die Anwendung ausgeführt werden muss, damit die Tests funktionieren.

Wie unterscheidet sich IAST von anderen Sicherheitstestmethoden?

Statische Tests der Anwendungssicherheit (SAST) und dynamische Anwendungssicherheitstests (DAST) und Analyse der Softwarezusammensetzung (SCA) sind beliebte Tools zum Testen der Anwendungssicherheit mit unterschiedlichen Stärken und Schwächen. Vergleichen wir IAST mit ihnen, um zu sehen, wie es in das Gesamtbild von Sicherheitstests passt.

SAST gegen IAST

DefinitionComparison with IAST
SAST scans source code for suspicious patterns. It’s very fast and can run without compiling or executing an application, enabling it to run inside an IDE, as seen in figure 2.Still, it can’t catch all security vulnerabilities; some are too complex or manifest only in specific security contexts.IAST is slower than SAST because it requires execution for its sensors to work. However, this also gives IAST the context that SAST is missing and allows IAST to report fewer false positives, a major pain point with SAST scanning.
Figure 2: Security scan inside an IDE

IAST gegen DAST

DefinitionComparison with IAST
DAST is a black-box testing method and therefore doesn’t see the code. DAST only executes the application and checks its outputs for vulnerabilities. It’s much slower than SAST but catches different application vulnerabilities.In contrast to IAST, DAST doesn’t require changes to the code, considering it doesn’t use sensor libraries. However, because of the missing sensors, it has less context than IAST and requires many more test cases, which gives IAST a speed advantage over DAST.

IAST gegen SCA

DefinitionComparison with IAST

SCA detects potential security vulnerabilities in your application's third-party source components. It scans the packages you use, checks which have entries in the list of known vulnerabilities, and reports these issues. SCA is a very fast process because it doesn’t evaluate or scan your application code.

In short, SCA only checks if you use dependencies with vulnerabilities. Nonetheless, SCA usually has a high rate of false positives, as it doesn’t check if you use a dependency's vulnerable parts.

SCA is much faster than IAST but only reports vulnerabilities in third-party code. It also tends to have a high rate of false positives.While IAST is slower, it covers your own code and that of third parties. Its sensors ensure that only vulnerabilities in executed code lead to an alert, minimizing false positives.

Was sind die Vorteile und Grenzen von IAST?

IAST mag zwar nach einer besseren Alternative zu SAST und DAST klingen, ist aber nicht die perfekte Lösung für alle Sicherheitsprobleme. Lassen Sie uns seine Vorteile und Grenzen untersuchen, um seine Anwendbarkeit besser zu verstehen.

Die Vorteile von IAST

  • Automatisierung: Wie bei anderen Sicherheitstestmethoden können Sie den IAST-Prozess automatisieren und in eine CI/CD-Pipeline integrieren, um sicherzustellen, dass er immer ausgeführt wird, bevor neuer Code in der Produktion bereitgestellt wird. 

  • Vollständige Abdeckung zur Laufzeit: IAST-Sensoren behalten zur Laufzeit den Überblick über die gesamte Anwendung. Das bedeutet, dass sie das Verhalten Ihres eigenen Codes und des Codes in Bibliotheken von Drittanbietern abdecken. IAST meldet, wenn etwas eine Netzwerkanforderung stellt oder auf einen bestimmten Standort zugreift.

  • Transparenz: Die Sensoren geben IAST Zugriff auf den Ausführungskontext, wie ein Debugger. Auf diese Weise kann IAST Schwachstellen mit bestimmten Abschnitten im Quellcode verknüpfen, was es Entwicklern erleichtert, sie zu lokalisieren und zu beheben.

  • Rückmeldung in Echtzeit: Angenommen, ein Test wird von einem Menschen und nicht automatisch in einem CI/CD-Pipeline. In diesem Fall kann IAST Echtzeit-Feedback geben, indem es den Tester über potenzielle Schwachstellen informiert, wenn ein Sensor diese erkennt.

  • Anwendungsfälle in der Produktion: Die Ausführungsanforderung von IAST kann ebenfalls von Vorteil sein, da sie es Entwicklern ermöglicht, in Fehlerberichten erwähnte Probleme zu reproduzieren und mit Laufzeitsensoren zu testen. 

Die Grenzen des IAST

  • Fehlende universelle Unterstützung für Programmiersprachen: Die größte Einschränkung von IAST-Tools besteht darin, dass sie von der Programmiersprache abhängig sind. Da Sie die Sensorbibliotheken installieren müssen, um IAST den erforderlichen Kontext zu geben, haben Sie Pech, wenn die Programmiersprache Ihrer Wahl nicht von einem IAST-Tool unterstützt wird. Wenn Sie keine beliebte Programmiersprache verwenden, ist IAST einfach'Es ist keine Option.

  • Feedback am Ende des SDLC: IAST erfordert, dass die Anwendung kompiliert und ausgeführt wird, um sie später in Der Lebenszyklus der Softwareentwicklung, wodurch die Rückmeldung viel langsamer ist als bei Sicherheitsscannern, die direkt mit dem Quellcode arbeiten. IAST kann einem Entwickler während der Implementierung einer Funktion kein Feedback innerhalb einer IDE geben.

  • Hoher Aufwand bei der Umsetzung: Der Integrationsaufwand für IAST ist deutlich höher als der von SAST oder DAST, da die Sensorbibliotheken installiert und eingestellt werden müssen. SAST oder DAST können die Anwendung unverändert testen.

  • Falsch negative Ergebnisse: Da IAST-Sensoren nur Code nachverfolgen, der ausgeführt wird, fangen sie keine Probleme mit Code ab, der nicht in den Tests ausgeführt wird. Dies erhöht das Risiko von False Negatives in großen Codebasen, die schwieriger zu testen sind.

  • Hohe Kosten: Das Kompilieren und Ausführen von Code zu Testzwecken ist viel teurer als das einfache Ausführen von SAST, bei dem der Code einfach so gescannt wird, wie er ist. Auch die Echtzeitinformationen von IAST-Sensoren sind nicht kostenlos.

Zusammenfassung

IAST ist eine leistungsstarke Ergänzung des Ökosystems für Anwendungssicherheitstests. False Positives und lang andauernde Testsuiten sind ein großes Problem für die Entwicklungsgeschwindigkeit, und IAST befasst sich mit diesen Problemen. Im Gegensatz zu SAST und SCA stellen IAST-Sensoren sicher, dass nur die Schwachstellen im ausgeführten Code Alarm auslösen. Dadurch wird die Rate falsch positiver Ergebnisse verringert, da Probleme im toten Code ignoriert werden. Die Sensoren fügen auch den in DAST fehlenden Kontext hinzu und machen es von einer Black-Box- zu einer Grey-Box-Testmethode mit Einblicken in die Laufzeitumgebung. Mehr Kontext ermöglicht es, eine größere Anzahl von Schwachstellen mit weniger Tests als DAST abzudecken.

Wiz-Code + IAST

Wiz Code bietet Funktionen zur Aufnahme und Integration von Ergebnissen aus verschiedenen Tools zum Testen der Anwendungssicherheit, einschließlich IAST. Die Fähigkeit von Wiz Code, IAST-Ergebnisse zu erfassen, wurde entwickelt, um den umfassenden Cloud-nativen Anwendungsschutz zu verbessern. 

Durch die Integration von IAST-Ergebnissen kann Wiz Code Einblicke in Laufzeitschwachstellen direkt in seine Plattform bringen und so einen umfassenderen Überblick über potenzielle Risiken bei Anwendungen erhalten, die in Cloud-Umgebungen ausgeführt werden.

Hier'Hier erfahren Sie, wie Benutzer von der Aufnahme von IAST-Erkenntnissen in Wiz Code profitieren können:

  • Verbesserte Erkennung in Vorproduktionsumgebungen: Die IAST-Ergebnisse konzentrieren sich auf Laufzeitschwachstellen in Anwendungen während der Vorproduktion oder bei QA-Tests – nicht in der Live-Produktion. Durch die Integration von IAST-Ergebnissen in Wiz Code können Benutzer Schwachstellen aufdecken, die sich unter realistischen Laufzeitbedingungen manifestieren, wie z. B. Injektionsfehler oder Fehlkonfigurationen in der Anwendungslogik, bevor sie überhaupt in die Produktion gelangen. Dieser präventive Einblick hilft, Probleme zu vermeiden, die andernfalls zu kostspieligen oder störenden Schwachstellen in Live-Umgebungen führen könnten.

  • Umfassender Überblick über Schwachstellen auf Anwendungsebene hinaus: Während die IAST-Ergebnisse auf Schwachstellen auf Anwendungsebene abzielen, die von der Cloud-Infrastruktur oder den Workloads isoliert sind, vervollständigt Wiz Code das Bild, indem es diese Ergebnisse mit Erkenntnissen aus der Wiz Cloud korreliert. Diese breitere Perspektive hilft Benutzern zu erkennen, wie Anwendungsprobleme mit den zugrunde liegenden Cloud-Komponenten interagieren können, und bietet eine vollständige Stack-Ansicht, die auf eine umfassende Cloud-Sicherheit abgestimmt ist.

  • Präzision durch Aufnahme von Sicherheitsgraphen: IAST-Ergebnisse verbinden Schwachstellen in der Regel mit bestimmten Codezeilen, ähnlich wie bei statischen Anwendungssicherheitstests (SAST). Durch die Abbildung dieser Ergebnisse im Security Graph von Wiz Code erhalten Benutzer eine punktgenaue Identifizierung und Behebung von Schwachstellen direkt in der Codebasis. In der Zwischenzeit bietet Wiz Cloud zusätzliche Sicherheitsinformationen, die Kontext dazu liefern, wie sich diese Probleme auf Anwendungsebene auf die Cloud-Umgebung auswirken oder sich darauf beziehen könnten.

Mit der IAST-Aufnahme in Wiz profitieren Benutzer von gezielten Einblicken in Anwendungsschwachstellen in der Vorproduktion, die durch die End-to-End-Transparenz von Wiz Cloud sowohl in der Anwendungs- als auch in der Cloud-Infrastruktur verbessert werden. Möchten Sie Wiz Code in Aktion sehen? Demo anfordern , um zu erfahren, wie Sie mit Secure in Code in der Cloud sicher bleiben.

Secure your cloud from code to production

Learn why CISOs at the fastest growing companies trust Wiz to accelerate secure cloud development.

Demo anfordern