Der bessere Weg zu sicherer Software „Vereinfachen, vereinfachen“ als AppSec-Leitmotto

Ein Gastbeitrag von Gunnar Braun * 7 min Lesedauer

Anbieter zum Thema

Je mehr Software wir brauchen, desto komplexer wird es für diejenigen, die sie entwickeln. Umso wichtiger scheint es, Henry David Thoreaus‘ ikonische Lebensmaxime „Vereinfachen, vereinfachen“ auf die technologische Entwicklung zu übertragen.

Die Integration von Sicherheitsprozessen in den Software Development Lifecycle sollte möglichst transparent erfolgen.
Die Integration von Sicherheitsprozessen in den Software Development Lifecycle sollte möglichst transparent erfolgen.
(© ipopba-stock.adobe.com)

Mit einer rasch wachsenden Softwarebasis steigen naturgemäß die Risiken. Es verwundert also kaum, dass Firmen versuchen, die Komplexität zu senken und gleichzeitig nach geeigneten Testlösungen suchen – respektive nach Methoden zum Triagieren und für ein umfassendes Risikomanagement.

Laut den Analysten von Gartner „werden Anwendungen immer komplexer, und angesichts von Sicherheitstools und Verantwortlichkeiten, die sich über verschiedene Gruppen erstrecken, wird es immer schwieriger, einen Einblick über die Sicherheitslage von Anwendungen insgesamt zu gewinnen […] Dies erschwert die Bemühungen, Anwendungsrisiken einzuschätzen, zu messen, zu priorisieren und darauf zu reagieren.“

Dies ist kein neues Problem. Experten weisen seit Jahren gebetsmühlenartig darauf hin, die Zeit von Entwicklern nicht mit Details zu vergeuden, sondern zu vereinfachen. Dabei stoßen Unternehmen aus einer Reihe von Gründen schnell an ihre Grenzen.

Viele setzen beispielsweise eine breite Palette von Tools ein, um ihre Anwendungen abzusichern. In einer kürzlich durchgeführten Umfrage stellte ESG fest, dass 70 Prozent der befragten Unternehmen elf oder mehr AST-Tools (Application Security Testing) verwenden. Dazu kommen Plattformen für das Schwachstellen-Management, benutzerdefinierte BI-Dashboards, manuelle Tests und so weiter. Alles geeignet neben der Komplexität auch die Kosten in die Höhe zu treiben.

Dieser Flickenteppich von Technologien und Datenquellen wirkt sich direkt auf die Entwicklung aus. Es fließen weit mehr Ressourcen in Schulungen, aber auch in die Wartung. Entwicklerteams haben Schwierigkeiten, die Technologien zu übernehmen, Probleme bleiben in punktuell arbeitenden Tools hängen, und Entwickler müssen ihre Arbeit häufiger unterbrechen, um Fehler im Nachhinein zu beheben.

Das ist nicht nur ineffizient, sondern lässt kaum eine realistische Einschätzung des Risikos und möglicher Compliance-Lücken zu. Geschweige, dass sich auf dieser Grundlage eine einheitliche AppSec-Methode implementieren ließe. Laut einer weiteren ESG-Studie sehen 42 Prozent der Befragten die mangelnde Transparenz der Testergebnisse als problematisch an. Dazu kommt, dass die Tests nicht unbedingt regelmäßig durchgeführt werden. Die Folge: Selbst ambitionierte AppSec-Programme scheitern.

Was leistet Application Security Posture Management?

Abhilfe verspricht das sogenannte Application Security Posture Management (ASPM), ein Ansatz, der von Beginn an darauf ausgerichtet ist, Prozesse in den Bereichen Sicherheit, Entwicklung und Risiko zu rationalisieren. Dazu braucht man zwingend eine Single Source of Truth, die Testergebnisse, Ressourcen der Software-Entwicklung und Richtlinien umfasst. Effektive ASPM-Lösungen sollen bis zu 80 Prozent des erforderlichen Testbedarfs abdecken. Verglichen mit traditionellen AppSec-Programmen verspricht das eine enorme Veränderung zum Positiven und aus Kundensicht sehr viel sicherere Anwendungen.

Gartner prognostiziert in seinen „Innovation Insights“ zu ASPM, dass „bis 2026 über 40 Prozent der Unternehmen, die proprietäre Anwendungen entwickeln, ASPM einsetzen werden, um Sicherheitsprobleme bei Anwendungen schneller zu erkennen und zu lösen“.

ASPM ist eher Evolution als Revolution und baut auf automatisierten Tools wie Intelligent Orchestration und Application Security Orchestration and Correlation (ASOC) auf. Diese sind schon daraufhin ausgelegt, den richtigen Test zur richtigen Zeit im Softwareentwicklungszyklus (SDLC) durchzuführen. ASPM-Tools korrelieren die Ergebnisse von manuellen und automatisierten Testtools. So können Firmen ihre eigenen Prioritäten dabei setzen, was genau sie als signifikante oder als eher triviale Fehler betrachten.

Der Fokus einer ASPM-Lösung liegt auf der Konsolidierung von Sicherheitsdaten und der Tool-Orchestrierung hinsichtlich von Tests, Workflows und Risikomanagement in einer Lösung – inklusive der Integration von Drittanbietern. Ziel ist es, die Test-Workflows und die Prozesse zum Beheben von Risiken über Entwicklungs-Pipelines hinweg zu standardisieren. Dies ist eine wesentliche Voraussetzung, um AppSec-Programme effizienter zu gestalten.

Integration mit anderen Security-Technologien

Im Idealfall integriert eine ASPM-Lösung zusätzlich SAST, also statische Tests der Anwendungssicherheit, die Fehler suchen, während der Code geschrieben wird, und SCA-Tools, die Open-Source-Softwarekomponenten in einer Codebasis finden, zusammen mit allen bekannten Schwachstellen oder potenziellen Lizenzkonflikten.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Die meisten Firmen sind sich darüber im Klaren, dass ein Softwarerisiko gleichbedeutend mit einem unternehmerischen Risiko ist. Trotzdem führt der Termindruck in der Entwicklung dazu, dass Sicherheitstests immer noch als Hemmnis betrachtet werden. Mehr Sicherheit, ja. Aber nur, wenn sie die Produktivität der Entwickler nichts ausbremst. Die derzeitige Struktur von Sicherheitstests ist da nicht unbedingt förderlich.

Tests werden in mehreren Phasen des SDLC und oft von verschiedenen Teams durchgeführt. Vielfach verlassen sich Firmen auf Tabellen, Checklisten und verfolgen die Ergebnisse manuell nach, um dann die entsprechenden Richtlinien durchzusetzen. Diese Methoden halten mit der aktuellen Entwicklungsgeschwindigkeit nicht mehr Schritt und bieten keinen ausreichenden Überblick über das Software-Risiko insgesamt.

Der teils enorme Wildwuchs bei den eingesetzten Tools, unklare Prioritäten (welche Fehler sind schwerwiegend und sollten zuerst behoben werden), die Tatsache, dass unterschiedliche Teams AppSec in ihren eigenen, separaten Umgebungen implementieren, mangelnde Konsistenz was wann getan wird und nach welchen Kriterien sowie fragmentierte Technologien und Datenquellen – all das schwächt den Wert von AppSec-Programmen. Das Ziel heißt also: Vereinfachen. Und der Weg zur Vereinfachung führt über die Vereinheitlichung.

Gerade Entwicklerinnen und Entwickler profitieren von einer solchen Vereinheitlichung, insbesondere in der agilen Softwareentwicklung. Eines der Grundprinzipien von agiler Entwicklung ist die Autonomie der einzelnen Entwicklungsteams. Damit übernehmen die Teams aber auch die Verantwortung für die Sicherheit ihrer Software. Gleichzeitig sind sie in der Pflicht, die Konformität zu den jeweiligen Software-Sicherheitsrichtlinien nachzuweisen.

Sicherheitschecks im Hintergrund

Um zu verhindern, dass sich die Developer oder Security Leads in einem Entwicklungsteam in Tool-Oberflächen und Checklisten verlieren, ist eine einheitliche und automatisierte Überprüfung der Software nicht nur wünschenswert, sondern notwendig. Viele Unternehmen sprechen bereits von einer „kognitiven Überlastung“ der Entwickler, da die stetig steigende Menge and Scan- und Testergebnissen nur so auf sie einprasselt.

Das macht eine Priorisierung seitens der Entwickler so gut wie unmöglich, und das hat Folgen. Zum einen wirkt es sich auf die Softwaresicherheit aus, zum anderen ist die Situation für die betreffenden Softwareentwickler wenig befriedigend und Unzufriedenheit macht sich breit.

Größere Unternehmen leisten sich deshalb bereits interne Teams, oft innerhalb der IT-Organisation, die hausinterne Plattformen entwickeln, um Ergebnisse zu konsolidieren und automatisch gegen die Richtlinien zu überprüfen. Ziel ist es, die Tools für das Entwicklungsteam transparent zu machen und eine einzige, priorisierte Liste von klar verständlichen, notwendigen Maßnahmen zur Verfügung zu stellen. Das Ganze idealerweise in Echtzeit und als Teil der verwendeten Entwicklungsumgebung.

In der Praxis bedeutet das, dass sämtliche AppSec-Tools und -Aktivitäten (z.B. Penetration-Tests) automatisch „im Hintergrund“ ablaufen, die Ergebnisse ebenso automatisch gesammelt, korreliert und gegen bestehende Richtlinien geprüft werden. Richtlinienverletzungen werden dann, ebenfalls automatisiert, mit empfohlenen Maßnahmen per Jira, Slack, GitHub, usw. an das jeweilige Entwicklungsteam kommuniziert. Damit ist die Richtlinienkonformität jederzeit gewährleistet oder zumindest bekannt, und aufwändige Vorbereitungen auf Audits im Rahmen von Prozess-Gates entfallen.

Genau das ist der Fokus von ASPM-Lösungen. Neben den Entwicklungsteams bedienen diese aber auch weitere Stakeholder, insbesondere die Verantwortlichen für Sicherheit und Risikomanagement in einem Unternehmen. Die Anforderungen an eine ASPM-Lösung, die nebenher auch noch mit dem Unternehmen skalieren sollen, sind entsprechend hoch.

Was eine gute ASPM-Lösung tun sollte

  • Eine ASPM-Lösung sollte zunächst die fragmentierten Sicherheitsrichtlinien zentralisieren: Universelle Sicherheitsrichtlinien spezifizieren kritische Probleme, die sofort behoben werden sollten und definieren Parameter zur Durchführung von Tests und die kontinuierliche Überwachung von Anwendungen. So arbeiten alle Teams auf Basis ein und derselben Richtlinie. Das beseitigt zum einen die bislang bestehenden Silos und etabliert zum anderen eine Single Source of Truth für alle an der Softwareentwicklung beteiligten Teams. Das heißt, es existiert nur eine einzige Informationsquelle, um bestehende und neue Sicherheitstools zu verwalten. Das gilt analog für das Ableiten relevanter Ergebnisse aus manuellen und automatisierten AST-Tests.
  • ASPM verspricht, den Wildwuchs bei Tools einzudämmen, indem es die User Experience der Entwickler vereinheitlicht: Das Ziel besteht in einer flexiblen Migration, Konsolidierung und Umstellung bestehender und neuer Sicherheitstools unterschiedlicher Anbieter auf eine einzige Plattform. So eine Konsolidierung erfolgt naturgemäß nicht von heute auf morgen. Eine ASPM-Lösung muss also in der Lage sein, mit Dutzenden bis hin zu mehr als 100 Tools von Drittanbietern zu arbeiten. Dass ASPM-Lösungen in einer bestehenden Entwicklungsumgebung arbeiten, ist der Schlüssel, um ein AppSec-Programm effektiver zu machen. Dazu müssen sich sowohl manuelle als auch automatisierte AppSec-Test-Tools, Entwickler-Tools und Issue -Tracker integrieren lassen. Integrierte SAST- und SCA-Engines versprechen zusätzlich, das Zeitfenster bis zur Wertschöpfung eines AppSec-Programms zu verkürzen und bestehende Pipelines nur marginal zu unterbrechen.
  • Probleme priorisieren: Dazu dient eine kontextbezogene Risikobewertung von Schwachstellen. Fehler werden direkt an die Entwickler gemeldet, und zwar innerhalb der Tools, mit denen sie arbeiten. Die Fehler lassen sich zudem bidirektional mit Systemen synchronisieren und so nachverfolgen.
  • AppSec-Workflows über sämtliche Tools und Entwicklungsumgebungen hinweg standardisieren: Über eine zentrale Richtlinienverwaltung lässt sich die Einhaltung von Policies definieren, durchsetzen und nachverfolgen sowie Kriterien für das Testen, die Triage und die Problembehebung festlegen.

Auf dieser Basis lässt sich die Software-Risikostruktur einheitlich bewerten. Hilfreich ist ein zusätzliches Compliance Mapping, mit dem man die Ergebnisse bis auf die Ebene der einzelnen Codezeile herunterbrechen und auf gesetzliche Vorgaben hin zurückführen kann. Hier sparen Teams Zeit bis zum nächsten anstehenden Audit.

Eine effektive ASPM-Lösung enthält eine detaillierte Aufschlüsselung der anfälligen Softwarekomponenten und Anwendungen, den Status der Problemlösung und alle Verstöße gegen Richtlinien und Compliance. Nur so sind Security-Spezialisten in der Lage, das Unternehmensrisiko aus Softwareperspektive zu verstehen und Leistungsindikatoren für die Effektivität des AppSec-Programms zu definieren.

Gunnar Braun
Gunnar Braun
(Bild: Synopsys)

Eine Vereinheitlichung von Teams, Projekten und Tools wird schließlich zu dem führen, was Unternehmen bislang verwehrt geblieben ist: ein effektives Risikomanagement des gesamten Software-Footprint im Unternehmen und Sicherheit, die mit der Entwicklungsgeschwindigkeit Schritt halten kann.

* Gunnar Braun ist Technical Account Manager for Application Security Solutions bei Synopsys.

(ID:49662484)