Ein zeitgemäßer Ansatz für mehr Anwendungssicherheit

Sichere Entwicklung, Testing und Analysen kombinieren

| Autor / Redakteur: Julian Totzek-Hallhuber * / Stephan Augsten

Application Security lässt sich am besten durch eine Kombination aus Secure Development und verschiedenen Testing-Methoden erreichen.
Application Security lässt sich am besten durch eine Kombination aus Secure Development und verschiedenen Testing-Methoden erreichen. (Bild: Riyadh H - flickr.com / CC0)

Das Aufspüren von Sicherheitslücken ist oft kein Problem, das zeitnahe Patching hingegen schon. Sichere Softwareentwicklung von Anfang an ist deshalb ebenso wichtig, wie die Developer in die reaktiven Sicherheitsprozesse mit einzubinden.

Viele Unternehmen betreiben eine Menge Aufwand, um Sicherheitslücken zu erkennen. Doch wenn sie gefunden sind, dauert es oft sehr lange, bis etwas gegen sie unternommen wird. Dadurch bleibt der Code für lange Zeit genauso unsicher, als hätte man die Schwachstelle gar nicht erst gefunden.

Der Report State of Software Security von Veracode zeigt, dass über zwei Drittel der identifizierten Sicherheitslücken mindestens einen Monat unbearbeitet bleiben. Nach drei Monaten sind es noch über die Hälfte und nach 472 Tagen ein Viertel. Bei vermeintlich geringfügigen Fehlern dauert es im Schnitt 604 Tage, bis jemand sich um sie kümmert.

Diese Zeiträume sind erschreckend, wenn man bedenkt, dass Hacker in vielen Fällen gerade einmal Stunden oder Tage benötigen, um Sicherheitslücken zu finden, die es ihnen ermöglichen, enormen Schaden anzurichten.

Finden ist gut, beheben ist besser

Die Anzahl an Sicherheitslücken, die bei Scans zum Vorschein kommt, kann überwältigend sein.

Es ist unmöglich, sämtliche Schwachstellen in überschaubarer Zeit zu beheben, daher spielt Priorisierung hier eine entscheidende Rolle.

Der erste Schritt, um den Prozess effizienter zu gestalten, besteht darin, eine Richtlinie zu definieren, anhand der die Scan-Ergebnisse im Hinblick auf ihr Risikopotenzial bewertet werden. Auch folgende Fragen sind für die Richtlinie von Bedeutung: Wie oft soll gescannt werden? Wie lange es dauern darf, bis die Schwachstellen gefixt sind? Welche Scan-Techniken sollen zum Einsatz kommen?

In vielen Fällen werden Sicherheitslücken anhand ihrer Schwere priorisiert, was grundsätzlich vernünftig ist. Doch man sollte auch andere Faktoren in Erwägung ziehen. Dazu zählen zum Beispiel die Ausnutzbarkeit eines Fehlers oder auch die Kritikalität, die darauf hindeutet, welcher Anwendung man die meiste Aufmerksamkeit widmen sollte. Sobald dieser Schritt erledigt ist, müssen Entwickler zum einen wissen, wie bei der Behebung der Sicherheitslücke vorzugehen ist und zum anderen, wie sich vergleichbare Fehler im weiteren Entwicklungsprozess vermeiden lassen.

Der Prozess darf nicht beim Auffinden der Fehler enden oder ins Stocken kommen. Ebenso wichtig, wie die Ressourcen zur Identifizierung von Sicherheitslücken ist die Fähigkeit, sie zu schließen. Daher bringt es nichts, jeden Tag etliche Scans durchzuführen, wenn keine Möglichkeit besteht, die gefundenen Fehler zeitnah zu beheben. Effektiver wäre es beispielsweise, nur einmal am Tag zu Scannen und Entwicklern die Zeit zu geben, die sie zur Fehlerbeseitigung benötigen.

Expertenhilfe und Security Champions

Zwar ist es wichtig, mittels Training ein Bewusstsein für Best Practices im Bereich App Security zu schaffen, doch es ist unwahrscheinlich, dass dadurch alle Entwickler zu Sicherheitsexperten werden. Um diesem Fachkräftemangel entgegenzuwirken, kann es sinnvoll sein, externe AppSec-Experten für die Konzeption eines Sicherheitsprogramms hinzuzuziehen.

Eine weitere Möglichkeit besteht darin, Security Champions innerhalb der Entwicklerteams auszubilden. Es geht dabei nicht darum, dass Entwickler sich vollständig auf Sicherheitsthemen spezialisieren, doch sie schaffen im Team ein Bewusstsein für das Thema und fungieren als Ansprechpartner in Sicherheitsfragen.

Gleichzeitig sorgen sie dafür, dass Schwachstellen entweder schon im Entwicklungsprozess beseitigt werden oder gegebenenfalls externe Hilfe hinzugezogen wird. Der große Vorteil von unternehmenseigenen Security Champions besteht darin, dass sie die Sprache der Entwickler sprechen und mit dem Projekt vertraut sind.

Agilität und Sicherheit im Einklang

Das Gebot der Agilität, mit dem Entwickler sich in der heutigen Zeit konfrontiert sehen, bringt in Sachen Anwendungssicherheit gewisse Herausforderungen mit sich. Althergebrachte Testmethoden zur Identifikation von Sicherheitslücken erfordern in den meisten Fällen enormen Aufwand, bis Fehler letztendlich neutralisiert sind.

Wird beispielsweise nach der Scrum-Methode in „Sprints“ entwickelt, sind derartige Testmethoden nicht geeignet. Daher ist eine neue Form von Testing erforderlich, die das nötige Maß an Agilität bietet. Wenn bereits während der Entwicklung auf die Sicherheitsqualität des Codes geachtet wird, lassen sich Bottlenecks in der Review-Phase vermeiden und es steht mehr Zeit für andere wichtige Aufgaben zur Verfügung.

In einer agilen Umgebung richten Entwickler den Code, den sie schreiben immer am aktuellen Projektstatus aus. Dabei erweist es sich als gewinnbringend, den Code immer wieder anhand einer statischen Analyse zu überprüfen, beispielsweise mithilfe eines cloudbasierten Dienstes. Auf diesem Weg werden Schwachstellen bereits während des Entwicklungsprozesses behoben.

Im Nachhinein spart das eine Menge Arbeit, denn bekanntermaßen ist es sehr aufwendig, bereits „fertig“ geschriebenen Code nachträglich zu bearbeiten. Ein agiler Ansatz zur Fehlerbehebung vermeidet nicht nur Probleme in späteren Projektphasen, sondern trägt auch zu einer signifikanten Zeitersparnis während der gesamten Entwicklung bei.

Kombination verschiedener Analysemethoden

Die Anwendung mehrerer Analysemethoden hilft dabei, möglichst viele Schwachstellen aufzudecken:

  • Statische Binäranalysen erlauben es, Schwachstellen auch ohne Zugriff auf den Quellcode einer Anwendung zu identifizieren.
  • Durch manuelle Penetrationstests lassen Apps sich auf spezifische Schwachstellen untersuchen.
  • Dynamic Testing erkennt Schwachstellen in der Anwendungsarchitektur und in Web-Anwendungen, bevor Hacker sie ausnutzen können.
  • Mithilfe der Software-Composition-Analyse finden Entwickler Schwachstellen nicht nur in ihrem eigenen Code, sondern auch in Open-Source-Komponenten und anderen externen Code-Bausteinen. Das ist im agilen Zeitalter von besonderer Bedeutung, da es sich aufgrund von Geschwindigkeitsvorgaben kaum vermeiden lässt, vorgefertigte Komponenten zu benutzen.
  • Verhaltensbasierte Analysen zeigen in Echtzeit, wie eine Anwendung sich verhält. So kommen suspekte Aktivitäten schnell ans Licht, beispielsweise wenn Daten an verdächtigen Orten gespeichert werden.

Grundsätzlich gilt: Je mehr Analysemethoden genutzt und miteinander kombiniert werden, desto höher ist das Sicherheitsniveau.

So viele neue Anwendungen wie nie

Die Zahl der entwickelten Anwendungen erhöht sich pro Jahr im Schnitt um 12 Prozent. Momentan entspricht das nahezu einer neuen Anwendung pro Tag (362 pro Jahr). Das erforderliche Entwicklungstempo steigt immer weiter an, wodurch auch entsprechende Sicherheitskonzepte nötig werden.

Julian Totzek-Hallhuber
Julian Totzek-Hallhuber (Bild: Veracode)

Eine leistungsfähige Kombination verschiedener Analysetechniken ermöglicht ein hohes Maß an Anwendungssicherheit. Hierzu ist es erforderlich, während der Entwicklung fortlaufend zu testen und die Anwendungen stets im Hinblick auf ihr Sicherheitsniveau im Blick zu behalten. Außerdem sollten sämtliche Prozesse, bei denen es Sinn ergibt, automatisiert werden. Skalierbare SaaS-Lösungen sind hierzu besonders geeignet.

* Julian Totzek-Hallhuber ist Solution Architect beim Spezialisten für Anwendungssicherheit Veracode und bringt mehr als 15 Jahre Erfahrung im IT-Sicherheitsumfeld mit. In seinen verschiedenen Funktionen war er für die Anwendungsentwicklung, für Penetrationstests sowie für die Sicherheit von Webanwendungen zuständig. Zudem ist er Autor zahlreicher Artikel, ist regelmäßig als Sprecher auf Messen anzutreffen und hat bei Projekten von WebAppSec.org (wie zum Beispiel WAFEC) mitgewirkt.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 46017537 / Application Security)