AppSec: Tonnenweise technische Daten – und wie sie Sinn machen 

Illustration: Absmeier Geralt

Im Durchschnitt verwendet ein Unternehmen für seinen gesamten Softwareentwicklungslebenszyklus (SDLC) 11 verschiedene AppSec-Tools. Dabei sind Penetrationstests, die Überprüfung des Quellcodes, Risk Assessments, Threat Models und vieles weitere noch gar nicht berücksichtigt. Es ist nicht einfach für Firmen in puncto Sicherheit mit Hunderten von CI/CD-Pipelines zu jonglieren. Hinzu kommt ein starke Diskrepanz zwischen den Ergebnissen manueller Penetrationstests und den Schwachstellen, die Tests während der Entwicklung gefunden haben. Als Sicherheitsexperte wird man von der schieren Datenmenge, die AppSec-Tools generieren, nicht selten überrannt und hat das Gefühl, den Überblick zu verlieren.

Die Frage ist, wie lässt sich dieses Problem beheben?

 

Das Problem: Sicherheitsteams vs. Entwickler

Zuerst gilt es, Probleme vollständig zu verstehen. Die offensichtliche Herausforderung liegt in der Produktionsgeschwindigkeit. Jeden Tag wird eine Unmenge an Software geschrieben und für die Produktion bereitgestellt. Hier nur einige Beispiele: Facebook liefert jeden Tag 50.000 bis 60.000 Android-Builds aus, Amazon stellt jede Sekunde eine neue Software für die Produktion bereit und Netflix rund 100-mal pro Tag neue Versionen.

Die Sicherheitscommunity versucht verzweifelt mit diesem Tempo Schritt zu halten, dabei Schwachstellen zu identifizieren und geeignete Gegenmaßnahmen zu finden. Aber wenn man ehrlich ist: Realistisch betrachtet, ist das fast ein Ding der Unmöglichkeit. Entwickler sprinten los, um immer neue Anwendungen zu konzipieren und sie mit einer Geschwindigkeit auf den Markt zu bringen, bei der Sicherheit nicht mithalten kann.

Nach Ergebnissen einer von Synopsys durchgeführten Umfrage setzen die meisten Firmen zwischen 11 und 20 Application Security Testing (AST)-Tools ein. Diese produzieren am Ende Unmengen von Informationen, die Sicherheitsteams analysieren müssen. Sie erhalten Datensätze die, zusätzlich zu den üblichen Ergebnissen aus der Bedrohungsmodellierung, den Penetrationstests und der Risikobewertung, die eine Applikation von allen Seiten und in den unterschiedlichsten Zuständen bewertet. Die Ergebnisse müssen Sicherheitsteams in der Regel manuell durchgehen.

Eine komplexe Aufgabe, die viel Zeit in Anspruch nimmt. Die große Frage: Wie stelle ich sicher, dass mein Entwicklungsteam (trotz der rasanten Entwicklungs- und Produktionsgeschwindigkeit) aussagekräftige Informationen aus den Ergebnissen ziehen kann? Wie lässt sich sicherstellen, dass der veröffentlichte Code frei von Schwachstellen ist, ohne die Entwickler auszubremsen?

Wie lässt sich diese Aufgabe meistern?

 

Speed-to-Market ist das A und O. In einer modernen Umgebung gibt es drei Vorgaben:

  1. Testen Sie Ihre Software, sie ist die Angriffsfläche Nummer eins. Um ein ganzheitliches Bild der Sicherheit Ihrer Software zu bekommen, sollten Sie unbedingt verschiedene Arten von Tests nutzen. Erst das gewährleistet einen umfassenden Überblick über die Sicherheitslage.
  2. Beschleunigen Sie das Entwicklungstempo damit Sie mit dem unternehmerischen Tempo Schritt halten. Dazu ist es nötig, Sicherheit so zu integrieren, dass sie die Produktivität nicht behindert.

Das Testen von Anwendungen darf also Entwicklungsabläufe nicht ausbremsen oder die Effizienz beeinträchtigen.

  1. Schützen Sie die Produktivität der Entwickler. Überhäufen Sie das Team nicht mit einem Berg von Ergebnissen, welche die Entwickler dann beheben müssen. Stattdessen liefern Sie korrelierte und priorisierte Fundstellen, um sicherzustellen, dass Ihre Entwickler effizient arbeiten und die schwerwiegendsten Risiken sofort adressieren.

 

Die Analysten von Gartner haben vor kurzem einen neuen Begriff geprägt, ASOC. Das Akronym steht für Application Security Orchestration and Correlation. Darunter versteht man die moderne Denkweise hinsichtlich Schwachstellenmanagement und Softwaresicherheit in großem Maßstab. Im Wesentlichen geht es darum, eine zentrale Übersicht über alle verwendeten Tools zu bieten. Dies stellt sicher, dass es keine Rolle spielt, welche Tools und Methoden zur Schwachstellenbewertung oder zum Testen eingesetzt werden. Es wird automatisch mit der Priorisierung begonnen und die Behebung der Schwachstellen kann nachvollzogen werden.

ASOC trägt dazu bei, die großen Fragen beantworten, die für Entwickler und Sicherheitsteams gleichermaßen bedeutsam sind:

  • Zentraler Risikoüberblick: Wie erkenne ich das tatsächliche Softwarerisiko und wie kann ich es einschätzen?
  • Tool-unabhängig: Welche Mechanismen werden zum Testen unserer Software verwendet?
  • Ergebnisse korrelieren, Prioritäten setzen: Welche Sicherheits- und Qualitätsprobleme wurden gefunden und wie kritisch sind sie?
  • Behebungen nachverfolgen: Konnten die Probleme gelöst werden?

Illustration: Absmeier Geralt

ASOC-Lösungen wie Synopsys Code Dx führen sämtliche AppSec-Testergebnisse zusammen und automatisieren die zeitintensivsten Aufgaben. Ziel ist es, die laufenden Tests zu beschleunigen und Gegenmaßnahmen möglichst rasch umzusetzen.

Inzwischen sind die Zeiten vorbei, in denen isolierte, monolithische Lösungen die Entwicklungsabläufe zum Erliegen gebracht haben. Vorbei sind auch die Zeiten von Tests, die als »gut genug« betrachtet werden. Sie haben nicht selten zu irrelevanten Ergebnissen geführt, um die Entwickler sich dennoch kümmern mussten und dadurch die Produktivität verringert wurden. Genau das, was man ja mit den Tests eigentlich verhindern wollte.

Stattdessen verfolgt die nächste AppSec-Generation den Ansatz, sich an den Anforderungen der wichtigsten Events im DevOps-Workflow zu orientieren und so mit der Geschwindigkeit Schritt zu halten und DevOps in DevSecOps zu überführen.

Phillip Ivancic, Head of Solutions Strategy, APAC, Synopsys