Holen Sie sich die neuesten wichtigen Update-Informationen für die Log4j-Sicherheitslücke. Sehen Sie sich an, wie Sie das Problem mithilfe der Parasoft-Anleitung beheben können. Erfahren Sie mehr >>

X
BLOG

So verbessern Sie die Anwendungssicherheit durch Feedback-Schleifen

So verbessern Sie die Anwendungssicherheit durch Feedback-Schleifen Lesezeit: 4 Minuten

Um die Anwendungssicherheit für die meisten Unternehmen zu verbessern, muss ein größerer Teil des Secure Software Development Lifecycle (Secure SDLC) implementiert werden. Was können Sie tun, wenn Sie alles implementiert haben? Oder was können Sie tun, um das zu verbessern, was Sie bereits haben? Eine Möglichkeit wäre, zu messen, wie alles derzeit funktioniert, und dann Änderungen vorzunehmen, zu messen und fortzufahren.

Das Problem bei dieser Methode besteht darin, dass Anwendungssicherheitsmetriken aus einer Reihe von Gründen schwierig sein können. Bei Verwendung der Anzahl der gefundenen und behobenen Sicherheitsanfälligkeiten wird der Schweregrad jeder Sicherheitsanfälligkeit nicht berücksichtigt. Selbst wenn Sie den Schweregrad berücksichtigen, warum nimmt die Anzahl der Sicherheitslücken ab? Werden Sie schlechter darin, sie zu finden, oder können Sie sie besser verhindern? Es ist sehr schwer zu sagen, was los ist, wenn grundlegende Metriken in der Anwendungssicherheit verfolgt werden.

Was sind Rückkopplungsschleifen in AppSec?

Eine Möglichkeit, die Anwendungssicherheit (AppSec) zu verbessern, ohne perfekte Metriken zu haben, besteht darin, eine Rückkopplungsschleife zu erstellen. Feedback-Schleifen sind einfach: Geben Sie den Menschen in Echtzeit Zugriff auf Informationen und geben Sie ihnen die Möglichkeit, Änderungen vorzunehmen. Es gibt viele Studien, die zeigen, wie effektiv Rückkopplungsschleifen sind und wie sie dazu beitragen, das menschliche Verhalten zu ändern. Feedback-Schleifen können in der Anwendungssicherheit verwendet werden, um den Code durch Ändern des Entwicklerverhaltens zu verbessern.

Rückkopplungsschleifen haben vier Stufen:

  1. Beweis: Ein Verhalten wird gemessen und erfasst
  2. Relevanz: Das Verhalten wird der Person in einem Kontext gegeben, der sie in Resonanz bringt
  3. Folgen: Die Person versteht, wie das Verhalten zu negativen Ergebnissen führen kann
  4. Aktion: Die Person muss anhand der Daten eine eindeutige Aktion ausführen

Nach der Aktion werden weitere Daten gesammelt und die Rückkopplungsschleife beginnt erneut.

Wie man Rückkopplungsschleifen effektiv nutzt

Ein Beispiel für eine Rückkopplungsschleife ist das Hinzufügen einer dynamischen Geschwindigkeitsanzeige neben Geschwindigkeitsbegrenzungszeichen. Die Geschwindigkeit eines Autos wird dem Benutzer (Nachweis) direkt neben der gesetzlichen Geschwindigkeitsbegrenzung (Relevanz) mitgeteilt. Die Menschen werden an die Nachteile der Geschwindigkeitsüberschreitung erinnert, wie z. B. Fahrkarten oder Unfälle (Folgen), und die meisten Fahrer werden aus diesem Grund langsamer (Maßnahmen). Nicht nur das, sondern die Fahrer verlangsamen sich durchschnittlich mehrere Kilometer über das Schild hinaus um 10%. Diese Rückkopplungsschleife ist effektiv, um das gewünschte Ergebnis zu erzielen und das Verhalten von Personen zu ändern.

Feedback-Schleifen können in der Anwendungssicherheit genutzt werden, um das gewünschte Ergebnis von sichererem Code und weniger Sicherheitslücken zu erzielen. Eine Möglichkeit, dies zu tun, besteht darin, ein SAST-Tool (Static Application Security Testing) wie Parasoft zu nutzen, das die Schwachstellendaten aus dem Tool entnimmt und dem Entwickler zur Verfügung stellt, der den Code zusammen mit dem Schweregrad und den möglichen Auswirkungen der Schwachstelle geschrieben hat. Entwickler sehen die Sicherheitsfehler, die sie im Kontext gemacht haben, und erkennen die möglichen Auswirkungen der Sicherheitsanfälligkeiten. Als Nächstes beheben Entwickler die relevanten Fehler und nehmen an relevanten Sicherheitscodierungsschulungen teil, die auf den Schwachstellen basieren, die mithilfe einer Plattform wie HackEDU gefunden wurden, um sicherzustellen, dass die Schwachstellen korrekt behoben werden. Entwickler können besser sicheren Code schreiben, weil sie etwas über Fehler lernen, die sie gemacht haben, nachdem sie die Konsequenzen erkannt haben. Die Rückkopplungsschleife setzt sich zusammen mit dem sicheren Lebenszyklus der Softwareentwicklung fort und das Ergebnis ist sicherer Code.

Die dadurch erzeugte Rückkopplungsschleife ist:

  1. Beweis: Entwickler erhalten die von ihnen erstellten Sicherheitsprobleme
  2. Relevanz: Entwickler zeigen den Schweregrad der Sicherheitsanfälligkeiten an, die in dem von ihnen geschriebenen Code enthalten sind
  3. Konsequenzen: Entwickler erkennen die potenziellen Risiken und Auswirkungen basierend auf den Schwachstellen und dem Schweregrad
  4. Aktion: Entwickler beheben die Probleme und nehmen an Schulungen teil, die auf den spezifischen Sicherheitsproblemen basieren, die sie gemacht haben

Diese Rückkopplungsschleife hilft dabei, das Entwicklerverhalten zu ändern und das Risiko von Sicherheitslücken in der Software zu verringern. Entwickler verbessern ihre Fähigkeit, sicheren Code zu schreiben, werden sich potenzieller Probleme im Code bewusster und verstehen die Konsequenzen, wenn sicherer Code nicht geschrieben wird.

Verwenden von Rückkopplungsschleifen mit SCA- und Codierungsstandards

Es gibt andere Bereiche der Anwendungssicherheit, in denen auch Rückkopplungsschleifen verwendet werden können. Alle sollen dazu beitragen, das Verhalten von Softwareentwicklern zu informieren und zu verbessern. Ein Bereich umfasst beispielsweise die Bereitstellung von Informationen zu Sicherheitslücken in Bibliotheken von Drittanbietern für Entwickler mit einem SCA-Tool (Software Composition Analysis) wie OWASP Dependency Check und die Verantwortung der Entwickler für die Aktualisierung der Bibliotheken. Entwickler werden viel bewusster sein, welche Pakete von Drittanbietern sie verwenden, wenn sie sich überhaupt dafür entscheiden, sie überhaupt zu verwenden - der Kostenvorteil wird auf die Entwickler verlagert.

Ein weiterer Bereich, in dem Rückkopplungsschleifen verwendet werden können, ist die Aktualisierung sicherer Codierungsstandards auf der Grundlage von Software-Scans oder Code-Überprüfungen. Ein Entwickler wird mit Schwachstellen sowie dem Schweregrad und den Auswirkungen versehen. Falls zutreffend, ergreift der Entwickler einen Codierungsstandard, der auf dem gefundenen Problem basiert. Wenn für das Problem bereits ein Standard vorhanden ist oder sich das Problem nicht für einen Standard eignet, muss der Entwickler möglicherweise die sichere Codierung in einer Codeüberprüfungsplattform wie HackEDU üben.

Ohne perfekte Metriken kann die Anwendungssicherheit noch verbessert werden. Da die Softwareentwicklung (vorerst) eine auf Menschen basierende Aktivität ist, haben die Änderung des Entwicklerverhaltens und die Nutzung des Feedback-Loop-Scans enorme Auswirkungen auf die Verbesserung der Anwendungssicherheit.

Geschrieben von

Jared Ablon

Jared Ablon ist der CEO von HackEDU, einer interaktiven Schulungsplattform für sicheres Coding-Training, die nachweislich Entwickler schult. Zuvor war er Chief Information Security Officer bei AirMap, wo er vom LA Business Journal als Chief Information Security Officer (CISO) des Jahres ausgezeichnet wurde.

Erhalten Sie die neuesten Nachrichten und Ressourcen zum Testen von Software sofort.