zurück zur Übersicht

Application Security Testing 2017 – Ein aktuelles Lagebild

Benchmarking ist ein wichtiges Mittel, um sich einen Überblick zum aktuellen Stand der Technik zu verschaffen. Wo befinde ich mich im Vergleich zu anderen und was muss ich tun, um aufzuschließen?

Berichte von Herstellern bieten hierzu interessante Statistiken und zeigen auf, wie sich Bedrohungslagen und Maßnahmen, mit denen ihnen begegnet werden kann, verändern. Vor allem Hersteller, die ihre Lösung als Online-Service anbieten, können mit Hilfe anonymisierter Nutzungsstatistiken Trends frühzeitig erkennen und daraus zuverlässige Prognosen ableiten. Im Bereich Application Security Testing versorgen die führenden Anbieter die interessierte Kundschaft in der Regel jährlich mit einem entsprechenden Bericht. Ein Beispiel ist der Application Security Statistics Report von WhiteHat Security, dessen Ergebnisse wir uns in diesem Artikel einmal genauer anschauen wollen.

Die Lage verbessert sich, aber nur marginal

Das erste Finding des Reports besagt, dass Webanwendungen nun im Durchschnitt 3 Schwachstellen aufweisen. 2015 waren es durchschnittlich noch 4 Schwachstellen. Zum einen kann das daran liegen, dass Security-Awareness-Programme beginnen Früchte zu tragen und Entwicklungsteams so nachhaltig sensibilisiert werden. Des Weiteren lassen sich Security Testing Tools immer besser integrieren und automatisieren, so dass sie wie andere Lösungen zum Unit- oder Integrationstest direkt in die Build-Toolchain  eingebunden werden können. Dies ist einer der entscheidenden Schritte bei der Verknüpfung von Security und dem DevOps-Ansatz. Darüber hinaus setzen vor allem viele neue Frameworks wie Angular oder Django das Konzept „Security by Default“ immer besser um und entlasten somit die Entwickler.

Deutliche Unterschiede zwischen einzelnen Branchen

Der Report trifft auch eine Aussage zu Häufigkeit von Schwachstellen in Applikationen gegliedert nach Branchen. Wenig überraschend, dass „Other Services“ mit durchschnittlich 9,4 Schwachstellen pro Site, davon 5,4 kritisch, das untere Ende der Skala markiert. Umso überraschender, dass „Finance & Insurance“ und „Healthcare & Social Assistance“ mit durchschnittlich 5,5 Schwachstellen pro Site (davon 2,2 kritisch) bzw. 4,8 (davon 1,9 kritisch) eher im Mittelfeld zu finden sind. Spitzenreiter ist hier „Manufacturing“ mit durchschnittlich 0,6 (0,3 kritisch) Schwachstellen.

Die häufigsten Schwachstellen im Überblick

Welche Schwachstellen kommen am häufigsten vor? Hier sind die Ergebnisse aber meistens nicht überraschend. Im Bereich DAST (Dynamic Application Security Testing) sind das:

  • Information Leakage
  • Cross-Site-Scripting
  • Content Spoofing

Information Leakage ist vor allem bei mobilen Anwendungen ein häufiges Problem. Interessanterweise ist die Schwachstelle Underprotected APIs, die erst kürzlich in den OWASP Top 10 erschienen ist, hier nicht in den TOP 10 vertreten.

Im Bereich SAST (Static Application Security Testing) sind folgende Schwachstellen die häufigsten:

  • Unpatched Library
  • Application Misconfinguration
  • Cross-Site-Scripting

Zu den TOP 10 gehören leider auch immer eigentlich trivial zu lösende Probleme beim Management von Passwörtern, wie zum Beispiel die Speicherung der Passwörter im Klartext oder fest eincodierte Passwörter. Der Spitzenreiter unter den Schwachstellen ist mit einer Häufigkeit von ca. 13% „Unpatched Library“, also die Einbindung einer verwundbaren Bibliothek. Eine Prüfung auf diese Schwachstellen ist normalerweise Teil der Software Composition Analysis (SCA) und kann damit lange vor der Durchführung eines SAST-Tests erkannt werden. Die Aufwände zur Behebung der Schwachstellen ließen sich um einiges verringern, wenn SCA konsequent umgesetzt werden würde und eine Identifizierung der Schwachstellen bereits bei Einbindung der betreffenden Bibliotheken erkannt werden würde..

Sicherheit bei mobilen Anwendungen

Für Mobile Apps wurden die Daten separat ausgewertet. Die häufigsten Schwachstellen bei Apps für Android-basierte Geräte waren:

  • Berechtigung „allowBackup“, die es ermöglicht den App-Ordner zu sichern und daraus sensitive Daten zu extrahieren
  • keine Quellcode-Obfuscation
  • SecureRandom Schwächen, also Schwachstellen bei der Umsetzung von Zufallsgeneratoren oder deren Initialisierung

Bei Apps für iOS-basierte Geräte kommen folgende Konfigurationsprobleme sehr häufig vor:

  • Cookie ohne Secure Flag
  • Cookies ohne HttpOnly Flag
  • fehlende Verschlüsselung bei der Übertragung sensitiver Daten

Kombination von SAST und DAST bringt Application Security Testing voran

Je mehr Anwendungen getestet werden, desto mehr Schwachstellen werden gefunden. Statische Code Analyse (SAST) und dynamische Analyse (DAST) bzw. Penetrationstests lassen sich sehr gut kombinieren. Werden ihre Ergebnisse korreliert, lassen sich daraus wichtige Erkenntnisse zur Priorisierung der Behebung der einzelnen Lücken ableiten. Werden Schwachstellen durch SAST und DAST Tests gefunden, so sind sie sehr wahrscheinlich ausnutzbar und müssen mit höchster Priorität behoben werden.

Fazit

Der Report legt folgende Schlüsse nahe:

  • Die Häufigkeit der verschiedenen Schwachstellentypen ändert sich ständig, insbesondere bei Mobilanwendungen.
  • Die Security Awareness in Entwicklungsteams verbessert sich zunehmend.
  • Oft wird einer sicheren Implementierung oder der Behebung von gefundenen Schwachstellen nicht die richtige Priorität zugeordnet. Ein Mangel an Zeit bzw. Ressourcen sorgt hier oft für unnötige Verzögerungen.
  • Grundsätzlich gilt: Je früher möglichen Probleme gefunden werden, desto einfacher und kosteneffizienter können sie gelöst werden.

In diesem Sinne: Test early, fail fast!

 

Schreibe einen Kommentar