Um vertrauliche Daten zu schützen, das Vertrauen Ihrer Kunden zu wahren und gesetzliche Vorschriften einzuhalten, müssen Sie dafür sorgen, dass Ihre Softwareanwendungen ausreichend geschützt sind. Allzu oft werden Sicherheitslücken jedoch erst nach einem kostspieligen Cyberangriff oder Incident entdeckt. Tools für die Anwendungssicherheit wie Interactive Application Security Testing (IAST) können solche Angriffe von vornherein verhindern.

IAST kombiniert statische und dynamische Analysemethoden, um Schwachstellen in Echtzeit zu erkennen und eine angemessene Reaktion zu ermöglichen. Mit IAST lassen sich statische und dynamische Bewertungstechniken vereinen, um Sicherheitsprobleme frühzeitig in der Entwicklung zu erkennen und realistische Angriffsszenarien zu simulieren.

Dieser Blogpost befasst sich mit folgenden Aspekten:

  • Was IAST ist und worin sich statische und dynamische Methoden zur Sicherheitsanalyse unterscheiden
  • Vorteile von IAST
  • Einsatzmöglichkeiten für IAST
  • Best Practices für IAST
  • Erste Schritte mit New Relic Vulnerability Management und IAST

Was ist IAST?

IAST steht für Interactive Application Security Testing. Es handelt sich dabei also um eine Methode zum Testen der Anwendungssicherheit. Doch inwiefern ist das Ganze „interaktiv“? 

IAST ist interaktiv, da es statische und dynamische Testmethoden kombiniert und es Ihnen ermöglicht, Ihre Sicherheitstests in einer Laufzeitumgebung mit voller Transparenz über den Code, alle Webkomponenten und die Konfigurationsdaten durchzuführen. IAST verwendet dabei Sensormodule und Agents, um immer dann, wenn manuelle und automatisierte Tests mit Ihrer Anwendung interagieren, Sicherheitstest durchzuführen. Diese Tests sind mit sehr geringem Aufwand verbunden und Sie müssen keine zusätzlichen Tests entwickeln, damit IAST wirksam funktioniert. Stattdessen läuft IAST einfach parallel zu Ihrer vorhandenen Testlösung.

Mit IAST können Sie Ihre Anwendung während des gesamten Softwareentwicklungszyklus (SDLC) laufend analysieren. IAST kann dabei vom Quellcode bis zum Laufzeitverhalten alles untersuchen. Dazu gehört auch die Analyse der von Ihnen verwendeten Bibliotheken und Frameworks, was Ihnen einen Einblick in potenzielle Sicherheitsprobleme mit Tools von Drittanbietern gibt. 

IAST unterscheidet sich sowohl von statischen Anwendungstests (SAST) als auch von dynamischen Anwendungstests (DAST), die jeweils eigene Stärken und Schwächen haben:

  • SAST ist statisch, weil es Code nur in Nicht-Laufzeitumgebungen untersucht. SAST-Tests sind zwar einfach zu implementieren und bieten vollen Einblick in Ihren Code, geben aber keinen Aufschluss über Sicherheitsprobleme, die während der Laufzeit auftreten können. SAST wird häufig in der Entwicklungsphase eingesetzt, bevor der Code in die Produktion geht.
  • DAST ist dynamisch, da es den Code in einer Laufzeitumgebung untersucht – dies hat jedoch einen Nachteil: Weil DAST-Tests Ihre Laufzeitumgebung untersuchen, haben sie keinen Zugriff auf den Quellcode. Diese Tests dauern sehr lange und sind schwer zu automatisieren.

Vorteile von IAST

Da IAST sowohl statische als auch dynamische Analysen einsetzt, bietet es umfangreichere Bewertungsmöglichkeiten als SAST und DAST. In diesem Abschnitt lernen Sie einige der Vorteile kennen, die der Einsatz von IAST zum Testen Ihres Anwendungsstacks mit sich bringt.

Höchste Präzision

Da IAST Ihre Anwendung während der Laufzeit analysiert, liefert es genaue und zuverlässige Ergebnisse. Die statische Analyse allein kann zu falsch-positiven Ergebnissen führen, da sie keinen Zugriff auf Ihre Laufzeitumgebung hat, wodurch ihr der Kontext fehlt. Mit statischer Analyse können Sie zum Beispiel keine anderen Sicherheitstools erkennen, die Sie in Ihrer Laufzeitumgebung einsetzen. Dynamische Analysen hingegen können nur Ihre Laufzeitumgebung, nicht aber Ihre Codebasis einsehen, was zu einer unzureichenden Testabdeckung führen kann.

Schnelle Echtzeittests

IAST-Tests laufen automatisch parallel zu anderen Tests, ob manuell oder automatisiert, und ermöglichen Ihnen so kontinuierliche Sicherheitstests während des gesamten Dev-Lifecycles. Im Gegensatz zu DAST-Tests, die manuell ausgeführt werden müssen und viel Zeit in Anspruch nehmen (manchmal mehrere Tage), gehen IAST-Tests schnell und bedeuten nur minimalen Mehraufwand.

Durchgängige Überwachung

IAST kombiniert die Vorteile von DAST (Tests in der Laufzeitumgebung) und SAST (Einblick in den Quellcode). Da es sowohl statische als auch dynamische Analysetechniken beinhaltet, erzielen Sie mehr Transparenz als mit DAST oder SAST. Da IAST parallel zu anderen automatisierten und manuellen Tests läuft, ist eine durchgängige Sicherheitsüberwachung möglich.

Geringer Aufwand

Da IAST Sensoren und Agents einsetzt, um zu erkennen, wann andere Tests laufen, lässt es sich problemlos in bestehende Prozesse integrieren. Es müssen keine zusätzlichen Tests eingerichtet und keine IAST-Tests manuell ausgeführt werden. 

Einsatzmöglichkeiten für IAST

Nachdem wir uns nun einige der Vorteile von IAST angesehen haben, wollen wir einen Blick auf typische Anwendungsfälle werfen, in denen IAST Ihnen bei der Verbesserung der Sicherheit Ihrer Anwendung helfen kann.

Erkennung von Schwachstellen in der Anwendung

IAST erkennt gängige Schwachstellen wie SQL und Code Injection, Cross-Site-Scripting(XSS)-Angriffe und Probleme mit der Authentifizierung. Da IAST die Anwendung während der Laufzeit analysiert, gibt es Ihnen einen echten Einblick in Ihre Sicherheitslage. So können Sie Schwachstellen finden und beheben, bevor sie zu kostspieligen Verstößen führen.

Unterstützung von Sicherheitssimulationen in Echtzeit

Da die IAST-Tests auf der Grundlage bestehender manueller und automatisierter Tests ausgelöst werden, können Sie sie problemlos bei Red-Team-Übungen zur Erkennung realistischer Sicherheitsszenarien sowie anderen Simulationen wie Penetrationstests einsetzen.

Optimierung bestehender Schutzmechanismen

Während simulierter Angriffe kann IAST beobachten, wie Ihre Schutzmechanismen und Abwehrmaßnahmen reagieren. So können Sie überprüfen, ob sie korrekt funktionieren, und mögliche Schwachstellen identifizieren. Anhand dieser Informationen können Sie dann Ihre Sicherheitsvorkehrungen anpassen und verbessern, so dass Sie auf reale Angriffe besser vorbereitet sind.

Einhaltung von Sicherheitsvorgaben

Mit IAST können Sie die Einhaltung bestehender Standards, Vorschriften und bewährter Verfahren überwachen. IAST kann zum Beispiel ein wichtiger Bestandteil Ihrer Compliance-Audits sein und dazu beitragen, das Bemühen Ihres Unternehmens um die Einhaltung von HIPAA-, DSGVO- und anderen Vorschriften zu belegen.

Unterstützung und Aufbau einer Risikomanagementstrategie

Risikomanagement ist ein kontinuierlicher Prozess, der von der Ermittlung und Bewertung von Risiken bis hin zur Risikominderung, Überwachung und Berichterstattung alles umfasst. IAST kann Sie bei diesem Prozess unterstützen, insbesondere bei der Identifizierung, Bewertung, Analyse, Abschwächung und Überwachung von Risiken in Ihrem Anwendungsstack.

Erweiterung von CI/CD-Pipelines

IAST kann in Pipelines für den CI/CD-Prozess (Continuous Integration / Continuous Deployment) integriert werden, um automatische Sicherheitstests während des gesamten SDLC durchzuführen. Dadurch erhalten Sie laufend Rückmeldungen über Schwachstellen, die bei Änderungen an Ihrem Code auftreten können, und können diese schnell beheben.

Verbesserung der DevSecOps-Verfahren

Bei DevSecOps geht es darum, DevOps mit Sicherheitspraktiken zu kombinieren. Wenn Sie Ihren DevOps-Workflow mit IAST automatisieren, verbessern Sie die DevSecOps-Praktiken Ihres Unternehmens. Und da IAST durchgängig arbeitet und zu einer schnellen Lösung beiträgt, eignet es sich gut für agile DevOps-Umgebungen.

Erkennung von Risiken durch Drittanbieter- und Open-Source-Software

Wenn Sie externe Bibliotheken und Software in Ihr System einbringen, schaffen Sie auch zusätzliche Bedrohungsvektoren – potenzielle Bereiche, in denen Verletzungen und Angriffe Ihre Anwendung lahmlegen können. Wenn Ihre Anwendung potenziell auf Hunderte oder gar Tausende von Bibliotheken zurückgreift, ist es besonders wichtig, potenzielle Sicherheitsrisiken zu bewerten. Da IAST Ihre Laufzeitumgebung analysiert, können Sie damit Schwachstellen in diesen Tools identifizieren und entschärfen.

Best Practices für IAST

IAST ist nur bei richtiger Anwendung wirksam. Wenn Sie sich an die folgenden Best Practices halten, wird Ihnen IAST am meisten bringen.

Bestimmen Sie den Umfang Ihrer IAST-Implementierung.

Welche Komponenten und Systeme in Ihrer Anwendung werden getestet? Und in welchen Umgebungen kommt IAST zum Einsatz? Im Idealfall setzen Sie IAST in Ihrem gesamten Stack und während des gesamten Lebenszyklus der Softwareentwicklung ein, aber bei größeren Anwendungen kann dies sehr zeitaufwendig sein. Sie sollten kritische Bereiche der Anwendung priorisieren und herausfinden, wo noch Lücken beim Testen bestehen.

Integrieren Sie IAST in den gesamten Dev-Lifecycle.

IAST sollte im gesamten Lebenszyklus der Softwareentwicklung eingesetzt werden – von der Entwicklung bis hin zum Staging und zur Produktion. Besonders einfach lässt sich dies erreichen, indem Sie IAST in Ihre CI/CD-Prozesse integrieren. Da sich IAST-Tests leicht automatisieren lassen, erhalten Sie durch die Integration von IAST in CI/CD-Pipelines bereits in einem frühen Stadium des Lifecycle wichtige Erkenntnisse über potenzielle Schwachstellen, sodass Sie genügend Zeit haben, diese zu beseitigen.

Die Sicherheitsfrage stellt sich nicht nur den Sicherheitsteams, sondern allen DevOps-Teams.

Allzu oft werden Teams in bestimmte Verantwortungsbereiche aufgeteilt, was dazu führen kann, dass sich Entwickler:innen und andere technische Fachleute nur auf ihren Bereich konzentrieren, ohne daran zu denken, wie sich ihre Arbeit auf die Sicherheit im Rest des Lebenszyklus auswirkt. Diese Isolierung führt dazu, dass Sicherheitsprobleme nur allzu leicht in die Produktion gelangen und später für Kunden zum Problem werden. Es reicht nicht aus, IAST einfach in die CI/CD-Pipelines zu integrieren. Sie müssen ein unternehmensweites Verantwortungsbewusstsein für die Sicherheit schaffen, damit alle Teams zusammenarbeiten, um Bedrohungsvektoren und Sicherheitsschwachstellen zu reduzieren. Das bedeutet auch, dass diese Teams für IAST und sicheres Programmieren geschult werden müssen.

Ihre DevOps-Teams sollten nicht nur aktiv über Sicherheit nachdenken, sondern auch mit den Sicherheitsteams zusammenarbeiten. Gemeinsam können Sie die Sicherheit Ihres Unternehmens verbessern und Schwachstellen effektiver beheben.

Mit New Relic IAST können Sie allen Ihren Teams auf einfache Weise Einblick in potenzielle Schwachstellen geben.

Analysieren und priorisieren Sie Ihre Sicherheitserkenntnisse.

IAST ist für Ihr Unternehmen nur dann von Nutzen, wenn Sie auf alle Sicherheitsprobleme, die während des Testprozesses aufgedeckt werden, reagieren und diese beheben. Sie müssen Ihre Ergebnisse analysieren und dann Prioritäten anhand von Faktoren wie Schweregrad, potenzielle Auswirkungen und Ausnutzbarkeit der Schwachstellen setzen. New Relic IAST kennzeichnet Schwachstellen automatisch, sodass Sie kritische und relevante Schwachstellen priorisieren können. Darüber hinaus bietet New Relic IAST einen Proof-of-Exploit, um zu überprüfen, ob die Schwachstellen ausnutzbar sind.

Beheben Sie Schwachstellen schnell – am besten vor Erreichen der Produktion.

Sobald Sie Schwachstellen identifiziert und nach Prioritäten eingeordnet haben, müssen Sie sie beheben. Zu diesem Zweck – und damit Sie die Probleme auch beheben, bevor sie in die Produktion gelangen – ist es wichtig, die zuvor besprochenen Best Practices zu befolgen. Dazu zählt auch, IAST in den gesamten Lebenszyklus der Softwareentwicklung einzubeziehen, die Zusammenarbeit zwischen den Teams zu fördern und dafür zu sorgen, dass sich alle Teams über Sicherheit und sicheres Programmieren Gedanken machen. New Relic IAST bietet eine geführte Problembehebung, die Entwickler:innen hilft, sofort Maßnahmen zu ergreifen und Sicherheitsrisiken schnell zu beseitigen.

IAST und Vulnerability Management mit New Relic

IAST ist nur ein Faktor bei der Behebung von Schwachstellen. Mit New Relic Vulnerability Management lassen sich häufig vorkommende Schwachstellen oder CVEs (Common Vulnerabilities and Exposures) schnell erkennen und beheben. Das Vulnerability Management-Dashboard enthält wichtige Metriken, wie die Anzahl an kritischen und relevanten Schwachstellen, Bibliotheken in Ihrem System mit Schwachstellen, beeinträchtigte Entitäten und so weiter.

New Relic IAST ist jetzt im Preview-Release für Java, Node und Go erhältlich. New Relic IAST automatisiert den Prozess der Suche nach Codepfaden, die potenziell ausgenutzt werden können, und dank der New Relic Agents zur Instrumentierung Ihrer Anwendung hält sich der Aufwand bei der Implementierung in Grenzen.