Suchen

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.

Firmen 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: Archiv)

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 Mio. 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 2 Mio. 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.

(ID:43432903)