Application Security Management Risiken in Anwendungssoftware vermeiden

Autor / Redakteur: Jannis Blume * / Stephan Augsten |

Sicherheit kommt in der Anwendungsentwicklung meist zu kurz, dabei sind Software-Fehler oft der Ausgangspunkt für Cyber-Attacken. Für Geschäftsapplikationen ist es daher unerlässlich, einen abteilungsübergreifenden Ansatz für das Management von Risiken und Schwachstellen zu etablieren.

Anbieter zum Thema

Gerade in großen Unternehmen ist Teamwork erforderlich, um Software-Schwachstellen zu identifizieren und zu schließen.
Gerade in großen Unternehmen ist Teamwork erforderlich, um Software-Schwachstellen zu identifizieren und zu schließen.
(Bild: Nick Karvounis - Unsplash.com)

In der Software-Entwicklung ist der Projektplan in der Regel gut durchdacht und terminiert, die einzige Ausnahme bilden oft die Sicherheitstests. Deren Umfang wird allzu gerne nach dem Prinzip festgelegt: Tage bis Datum Go-Live minus benötigte Zeit für Prio-1-Tasks. Wir haben in der Software-Entwicklung also zwei grundlegende Probleme:

  • 1. Schnelligkeit/Pünktlichkeit geht vor Sicherheit.
  • 2. Die Anwendungssicherheit kommt zum Schluss (wenn noch Zeit bleibt).

Das ist bemerkenswert, wenn man bedenkt, dass die meisten Cyber-Angriffe nach wie vor über das Ausnutzen von Schwachstellen auf Anwendungsebene eingeleitet werden. Und davon gibt es genug.

Größere Unternehmen nutzen über 10.000 verschiedene Anwendungen, wovon die größeren nicht selten über 10 Millionen Zeilen Code zählen. Und glaubt man den Experten von der Firma Aspect Security, enthält schon jede "normale" Web-Anwendung durchschnittlich 22,4 schwerwiegende Sicherheitsschwachstellen.

Bei eigens erstellter Software sieht es nicht viel besser aus: Kundeneigene Entwicklungen in SAP-Anwendungen betragen im Schnitt über zwei Millionen Zeilen Code pro SAP-System. Das ermittelt der ABAP Code Benchmark, den die Sicherheitsexperten von Virtual Forge bei der Untersuchung von rund 200 Kundensystemen durchgeführt haben. Das Verhältnis lautet hier 1 zu 1.000: Eine kritische Sicherheitsschwachstelle pro 1.000 Zeilen Code. Bedeutet im Durchschnitt über 2.000 kritische Schwachstellen allein in den SAP-Anwendungen.

Highspeed-Entwicklung

Doch woher kommt diese verhältnismäßig hohe Anzahl an kritischen Schwachstellen in Software? Das ist zum einen auf neue Methodologien wie die agile Software-Entwicklung zurückzuführen. Sie wurde umgesetzt, um kurzfristige Anforderungen oder Änderungen in kürzester Zeit zu implementieren. Agile Software Development führt in aller Regel aber auch dazu, dass manuelle Verfahren zur Prüfung der Anwendungssicherheit kaum nachkommen.

Durch die vermehrte Nutzung von vorgefertigten Software-Komponenten wie Open Source-Bibliotheken kommen neue, unscheinbare Gefahren-Quellen hinzu. Das Beispiel Heartbleed hat nur allzu deutlich gezeigt, dass auch mehrere Augen nicht unbedingt jeden schwerwiegenden Fehler bei öffentlich einsehbarem Quellcode sofort entdecken.

Mit anderen Worten: Wir entwickeln heute schneller als wir in der Lage sind, die Entwicklungen auf Sicherheits- und Qualitätsmerkmale hin zu überprüfen. Eine Automatisierung der Sicherheitsprüfung in Software-Anwendungen ist daher unumgänglich.

Das Problem wird dadurch verschärft, dass Unternehmensanwendungen in verschiedenen Umgebungen und Sprachen entwickelt werden. Das heißt, dass auch unterschiedliche Tools für das Application Testing und Code Scanning sowie für das Defect Tracking genutzt werden, wenn jegliche Software-Entwicklung automatisiert auf Sicherheit und Qualität hin überprüft werden soll.

Den Überblick behalten

Ein übergreifendes Application Security Management ist zwingend erforderlich, um alle Aktivitäten zur Gewährleistung der Sicherheit aller im Unternehmen genutzten Anwendungen zu orchestrieren. Damit wäre der Go-Live-Termin nicht mehr der Maßstab aller Dinge, sondern die Gewährleistung, dass die Anwendung frei von sicherheitskritischen Schwachstellen ist.

Dabei ist es unerheblich, ob eine Kampagnen-Webseite für ein neues Produkt oder ein Workflow in SAP entwickelt wird, durch den die Freigabe von Bestellungen über einen Wert von 100.000 Euro autorisiert wird. Es zählt nicht unbedingt die Kritikalität der Anwendung selbst, sondern die Bewertung von kritischen Schwachstellen im Anwendungskontext.

Ein Beispiel: Eine Sicherheitslücke in einem SAP-Workflow, der Bestellungen über relativ hohe Beträge koordiniert, mag nicht so kritisch sein, wie z. B. die in einer Funktion einer mobilen Anwendung, die für das Auslesen eines Produktkatalogs ein SAP-System anzapft.

Letztere könnte ein Hacker eventuell leicht ausnützen, um sich einen Zugang zur SAP-Infrastruktur des Unternehmens zu verschaffen. Die fehlende Berechtigungsüberprüfung im SAP-Bestellworkflow hingegen ließe sich nicht so einfach durch Außenstehenden ausnutzen, da internes Wissen und ein Zugang zur Anwendung benötigt wird.

Ein effektives Application Security Management muss daher genau dies bewerkstelligen: Unabhängig von der jeweiligen Anwendungsentwicklungsumgebung kritische Schwachstellen bewerten und im Überblick behalten.

Fokus auf die größten Risiken in Geschäftsanwendungen

Benötigt wird dazu ein Ansatz, der den vollen Umfang des Anwendungsportfolios im Unternehmen umfasst und der mit den modernen Methoden der Highspeed-Entwicklung mithalten kann. Das Wesentliche dabei ist, den Fokus auf die größten Risiken in den Geschäftsanwendungen zu richten. Keine Applikation darf live gehen, wenn sie noch schwerwiegende Sicherheitslücken aufweist.

Werden gravierende Schwachstellen in bestehenden produktiven Anwendungen identifiziert, muss das Application Security Team dafür Sorge tragen, dass die Schwachstellen priorisiert und "schnellstmöglich" von den jeweiligen Entwicklungsteams beseitigt werden. Für diesen Prozess sollten im Application Security Management-Programm einheitliche Regeln verankert sein, die für jedes Entwicklungsteam verbindlich sind und deren Einhaltung vom CISO überwacht wird.

Größte Risiken schnellstmöglich angehen

Die durchschnittliche Zeit, die benötigt wird, um identifizierte und priorisierte Software-Schwachstellen zu korrigieren, ist eine wichtige Metrik für ein effektives Application Security Management. Diese Metrik hilft zu verstehen, wie lang das Zeitfenster der Verwundbarkeit in produktiven Anwendungen ist, sagt John Dickson von der Denim Group.

Diese Metrik würde nur leider von vielen Unternehmen nicht übergreifend erhoben oder kommuniziert. Daher sei es schwierig, bei Anwendungs- und Sicherheitsverantwortlichen ein gemeinsames Risikoverständnis durchzusetzen. Die Folge: schwerwiegende Sicherheitslücken würden viel zu lange Zeit in produktiven Anwendungen klaffen, resümiert Dickson.

Dabei hat Dicksons Firma, Denim Group, die Sicherheitsaudits und Beratung für die sichere Anwendungsentwicklung anbietet, für das übergreifende Management von Risiken in Geschäftsanwendungen mit ThreadFix eine spezielle Software entwickelt. Weitere Details über das Security-Tool finden Interessierte im folgenden Kasten.

Ergänzendes zum Thema
Über ThreadFix

ThreadFix ermöglicht es den Application Security Teams und den verschiedenen Anwendungsverantwortlichen, eine gemeinsame Basis für die Priorisierung und Behebung von Softwarerisiken zu finden. So können sie wichtige Sicherheits- und Qualitätsmeilensteine in ihren Projekten leichter erzielen und werden dabei in den gesamten Application Security Management-Prozessen optimal unterstützt.

Die Besonderheit von Threadfix besteht in der umfänglichen Integration führender statischer und dynamischer Code Scanning-Lösungen, aus denen die Scanergebnisse automatisiert übernommen, konsolidiert und einheitlich dargestellt werden. Für die Priorisierung von Schwachstellen in kundeneigenen SAP ABAP-Anwendungen werden die Scan-Ergebnisse aus dem Virtual Forge CodeProfiler integriert. ThreadFix bietet so eine zentrale Sicht auf die Risikosituation in den verschiedenen Geschäftsanwendungen und hilft den Verantwortlichen, informierte Entscheidungen zu treffen.

Die Priorisierung der Risiken von Softwareschwachstellen wird samt Kommentierung anschließend wieder zurück an die gewohnte Arbeitsumgebung der einzelnen Anwendungsteams gespielt. Das ermöglicht den Entwicklern, die Ergebnisse aus ThreadFix in ihren jeweils spezifischen Entwicklungs-, Testing- und Defect Tracking-Frameworks weiter zu nutzen und zu bearbeiten. Eine runde Sache also, bei der alle Beteiligten nur gewinnen können und ein übergreifendes Application Security Management-Programm erfolgreich macht.

* Jannis Blume ist Content Marketing Manager bei Virtual Forge.

(ID:44391495)