Was ist Anwendungssicherheit (AppSec)?

AppSec ist der Prozess des Findens, Behebens und Verhinderns von Sicherheitsschwachstellen auf Anwendungsebene als Teil des Softwareentwicklungsprozesses. Dazu gehört das Hinzufügen von Anwendungsmaßnahmen während des gesamten Entwicklungslebenszyklus, von der Anwendungsplanung bis zum Produktionseinsatz. In der Vergangenheit geschah die Sicherheit, nachdem Anwendungen entworfen und entwickelt wurden. Heutzutage verschiebt sich die Sicherheit „nach links“ und Sicherheit wird zu einem integralen Prozess des Entwicklungs- und Testprozesses. Durch das Hinzufügen von AppSec von Anfang an können Unternehmen die Wahrscheinlichkeit von Sicherheitslücken in ihrem eigenen Code oder in Komponenten von Drittanbietern, die innerhalb der Anwendung verwendet werden, erheblich reduzieren.

Kostenlose AppSec-Demo Cloud AppSec E-Book

Anwendungssicherheit (AppSec): Bedrohungen, Tools und Techniken

Sicherheitsbedrohungen für Anwendungen: Die OWASP Top 10

Es gibt unzählige Sicherheitsbedrohungen, die sich auf die Softwareanwendung auswirken. Die Top-10-Liste des Open Webanwendung Security Project (OWASP) stellt jedoch die Anwendungsbedrohungen zusammen, die am weitesten verbreitet und schwerwiegend sind und die Anwendung in der Produktion am wahrscheinlichsten beeinträchtigen.

 

AppSec-Initiativen müssen sich mindestens auf diese hochkarätigen Bedrohungen für die moderne Anwendung konzentrieren:

 

  1. Injektion– Bei der Code-Injektion handelt es sich um eine Anfrage oder einen Befehl, der an eine Softwareanwendung gesendet wird und schädliche oder nicht vertrauenswürdige Daten enthält. Am häufigsten kommt die SQL-Injection vor, sie kann sich jedoch auch auf NoSQL, Betriebssysteme und LDAP-Server auswirken.
  2. Defekte Authentifizierung– Viele Anwendungen verfügen über unzureichende oder fehlerhafte Authentifizierungs- und Autorisierungsfunktionen. Dies kann es einem Angreifer ermöglichen, Benutzeranmeldeinformationen zu stehlen oder sich ohne entsprechende Anmeldeinformationen problemlos Zugriff zu verschaffen.
  3. Die Anwendung undzur Offenlegung sensibler Daten kann vertrauliche Daten des Unternehmens oder seiner Kunden offenlegen, einschließlich Finanz- oder Zahlungsdetails und persönlich identifizierbarer Informationen (PII). API
  4. XML External Entities (XXE)– Angreifer können aufgrund der Schwachstelle in alten XML-Parsern externe Entitätsreferenzen in XML-Dokumenten böswillig ausnutzen. Diese können verwendet werden, um Zugriff auf interne Dateien zu erhalten, Ports zu scannen und Code aus der Ferne auszuführen.
  5. Defekte Zugriffskontrolle– Einschränkungen für authentifizierte Benutzer werden nicht korrekt implementiert. Ein Angreifer könnte dies nutzen, um Zugriff auf nicht autorisierte Funktionen oder Daten zu erhalten, auf das Konto eines anderen Benutzers zuzugreifen, vertrauliche Dateien anzuzeigen oder Berechtigungen für andere Benutzer zu ändern.
  6. Fehlkonfiguration der Sicherheit– selbst wenn eine Anwendung über Sicherheitsfunktionen verfügt, können diese falsch konfiguriert sein. Dies geschieht häufig, weil niemand die Standardkonfiguration der Anwendung geändert hat. Dazu gehört auch das Versäumnis, Betriebssysteme und Frameworks zu patchen.
  7. Cross-Site Scripting (XSS)– ermöglicht es einem Angreifer, ein bösartiges Skript im Browser eines Benutzers auszuführen. Dies kann verwendet werden, um ihre Sitzung zu stehlen, Benutzer auf bösartige Websites umzuleiten oder Websites zu verunstalten.
  8. Unsichere Deserialisierung– Fehler in der Art und Weise, wie Code aus einer Datei entnommen und in ein Objekt umgewandelt wird. Dies kann die Ausführung von Schadcode, die Eskalation von Berechtigungen und die Wiedergabe von Aktivitäten durch autorisierte Benutzer ermöglichen.
  9. Verwendung von Komponenten mit bekannten Schwachstellen– Mehrere Schwachstellen-Datenbanken melden bekannte Schwachstellen in Softwarekomponenten. Software, die eine anfällige Komponente verwendet (auch nur als Abhängigkeit von einer ihrer Komponenten), ist Angriffen ausgesetzt.
  10. Unzureichende Protokollierung und Überwachung– viele Anwendungen verfügen möglicherweise nicht über die Möglichkeit, versuchte Sicherheitsverletzungen zu identifizieren oder aufzuzeichnen. Dies kann dazu führen, dass Verstöße unentdeckt bleiben und Angreifer seitliche Bewegungen ausführen können, um weitere Systeme zu gefährden.

 

Ein grundlegender AppSec-Prozess umfasst die folgenden Phasen:

 

  1. Unternehmensvermögen definieren
  2. Bestimmen, wie sich jede Anwendung auf diese Assets auswirkt
  3. Erstellen eines Sicherheitsprofils für jede Anwendung
  4. Potenzielle Bedrohungen identifizieren und priorisieren
  5. Aufzeichnung von Sicherheitsvorfällen und Eindämmungsversuchen

Tools für Anwendungssicherheitstests

Es gibt drei Hauptkategorien von Tools im AppSec-Toolset: SAST, DAST und IAST.

Statische Anwendungssicherheitstests (SAST)

SAST-Tools ermöglichen White-Box-Tests. Sie bewerten den Anwendungscode und scannen ihn, um Fehler, Schwachstellen oder andere Schwachstellen zu identifizieren, die ein Sicherheitsproblem darstellen können. SAST kann mit kompiliertem Code, nicht kompiliertem Code oder beidem ausgeführt werden.

Die SAST-Analyse kann Probleme identifizieren wie:

  • Rennbedingungen
  • Pfaddurchquerungen
  • Fehlende Eingabevalidierung
  • Numerische oder Datentypfehler
  • Unsichere Referenzen oder Zeiger

Dynamische Anwendungssicherheitstests (DAST)

DAST-Tools verwenden Black-Box-Testmethoden, um die laufende Anwendung auf Sicherheitsprobleme zu testen. Sie führen eine dynamische Analyse des Quellcodes durch, während dieser ausgeführt wird. DAST verwendet häufig Fuzz-Tests, bei denen die Anwendung mit einer großen Anzahl zufälliger, unerwarteter Anforderungen konfrontiert wird.

DAST kann Bedingungen erkennen, die auf Sicherheitsschwachstellen hinweisen, wie zum Beispiel:

  • Ungesicherte oder anfällige Schnittstellen
  • Ungewöhnliche Anfragen und Antworten
  • Skriptprobleme in Sprachen wie JavaScript und Python
  • Daten- oder Codeinjektion
  • Sitzungsanomalien
  • Authentifizierungsprobleme

Interaktives Anwendungssicherheitstesten (IAST)

IAST ist ein Hybridansatz, der SAST und DAST kombiniert. Der interaktive Ansatz des Sicherheitstests kombiniert statische und dynamische Analyse – so ist es möglich, bekannte Schwachstellen zu identifizieren und auch zu sehen, ob diese tatsächlich in der laufenden Anwendung verwendet werden und ausgenutzt werden können.

IAST-Tools sammeln detaillierte Informationen über den Anwendungsausführungsfluss und die Datenflüsse und können komplexe Angriffsmuster simulieren. Während es einen dynamischen Scan einer laufenden Anwendung durchführt, kann es prüfen, wie die Anwendung reagiert, und seine Tests entsprechend anpassen. Dies kann verwendet werden, um automatisch neue Testfälle usw. zu erstellen (ähnlich wie bei einem menschlichen Penetrationstester).

Aufgrund dieses Ansatzes können IAST-Tools mutmaßliche Sicherheitsprobleme gründlich untersuchen, wodurch die Anzahl falsch positiver Ergebnisse verringert wird. Sie fügen sich auch viel natürlicher in einen agilen Entwicklungsprozess mit schnellen Releases ein.

Regelbasierte Web Application Firewall (WAF)

Eine WAF ist eine am Netzwerkrand bereitgestellte Lösung, die den in das Netzwerk ein- und ausgehenden Datenverkehr überprüft und versucht, bösartigen Datenverkehr zu identifizieren und zu blockieren.

Herkömmliche, regelbasierte WAFs sind ein wartungsintensives Tool, bei dem Unternehmen sorgfältig einen Regelsatz definieren müssen, der ihren spezifischen Verkehrs- und Anwendungsmustern entspricht. Darüber hinaus decken regelbasierte WAFs sich ständig ändernde Angriffsvektoren nur begrenzt ab.

 

Darüber hinaus können herkömmliche WAFs neue Mikroservices nicht automatisch schützen, da jeder neu bereitgestellte Mikroservice einen erheblichen Aufwand für die Definition neuer Regeln und Richtlinien erfordert. In der Praxis bedeutet dies, dass neue, von der Organisation bereitgestellte Systeme in vielen Fällen nicht geschützt sind.

Best Practices für die Anwendungssicherheit

Hier finden Sie einige Best Practices, mit denen Sie AppSec effektiv in Ihrem Unternehmen implementieren können.

Beginnen Sie mit einer Bedrohungsbewertung

Untersuchen Sie, welche Haupteinstiegspunkte Angreifer nutzen können, um in Ihre Anwendung einzudringen, welche Sicherheitsmaßnahmen vorhanden sind und ob diese angemessen sind. Legen Sie im Laufe der Zeit angemessene Ziele und Meilensteine für das Sicherheitsniveau fest, das Sie gegen jede Art von Bedrohung erreichen möchten.

Sicherheit nach links verschieben

Sicherheitstests müssen vollständig in den Softwareentwicklungslebenszyklus (SDLC) integriert sein, von der Planungsphase über die Entwicklung, Tests und Bereitstellung bis hin zur Produktion.

Verwenden Sie automatisierte Tools, um sicherzustellen, dass Anwendungen so früh wie möglich im Prozess und an mehreren Prüfpunkten in der gesamten CI/CD-Pipeline getestet werden. Wenn ein Entwickler beispielsweise Code festschreibt und einen Build auslöst, sollte dieser Code automatisch einer Art Sicherheitstest unterzogen werden, damit der Entwickler Sicherheitsprobleme in seinem Code sofort beheben kann.

Derselbe Code sollte noch einmal umfassender getestet werden, wenn er in eine Test- und Produktionsumgebung übertragen wird.

Priorisieren Sie die Sanierung

Anwendungssicherheit führt dazu, dass Schwachstellen in Ihrer Anwendung entdeckt werden – und Sie werden nicht in der Lage sein, alle davon zu beheben. Die Priorisierung ist sehr wichtig, um sicherzustellen, dass kritische Schwachstellen schnell behoben werden, ohne die Entwicklerproduktivität zu beeinträchtigen.

Ihr Sicherheitstestprozess sollte automatisierte Metriken umfassen, die den Schweregrad und die Ausnutzbarkeit der Schwachstelle zeigen, sowie bei Bedarf eine manuelle Bewertung, die anzeigt, ob die Schwachstelle tatsächlich ein Geschäftsrisiko darstellt. Anfällige Komponenten, die nicht in der Produktion ausgeführt werden, haben keine Priorität.

Stellen Sie sicher, dass Entwickler wissen, dass sie an echten, hochkarätigen Schwachstellen arbeiten, und dass sie die Zeit haben, diese zu beheben, wo auch immer sie im SDLC auftreten.

Verfolgen Sie AppSec-Ergebnisse

Ein AppSec-Programm erfordert einen hohen Zeit- und Ressourcenaufwand sowie kulturelle und organisatorische Veränderungen. Es ist wichtig, die Auswirkungen des Programms auf die Sicherheit zu verstehen, um das Programm zu rechtfertigen und sicherzustellen, dass es vom Management unterstützt wird.

Wichtige Kennzahlen, die Sie verfolgen und teilen können, um den Erfolg von AppSec zu demonstrieren – ein wöchentlicher oder monatlicher Trend kann die Auswirkungen der Einführung von Anwendungs-Sicherheitsmaßnahmen zeigen:

 

  • Anzahl der Verstöße gegen interne AppSec-Richtlinien
  • Anzahl der Compliance-Verstöße
  • Anzahl der in der Testumgebung gefundenen Sicherheitsmängel
  • Anzahl der in der Produktion festgestellten Sicherheitsmängel
  • Anzahl der Sicherheitsvorfälle

Berechtigungen verwalten

Alles, was mit einem Anwendungssicherheitsprogramm zu tun hat, sind sensible Daten, die für einen Angreifer äußerst nützlich sein können. Stellen Sie sicher, dass Sie Folgendes sorgfältig verwalten:

  • Dokumentation von Richtlinien und Prozessen
  • Zugriff auf Sicherheitstools
  • Zugriff auf CI/CD und Entwicklungstools

Nutzen Sie das Prinzip der geringsten Rechte und stellen Sie sicher, dass jeder Benutzer nur Zugriff auf Daten und Systeme hat, die er für seine Arbeit unbedingt benötigt. Nutzen Sie Zero-Trust-Prinzipien zwischen integrierten Systemen und stellen Sie sicher, dass jedes System nur über die minimalen Berechtigungen verfügt, die es zum Funktionieren benötigt.

AppSec mit Check Point

CloudGuard von Check Point umfasst eine konfigurationsfreie Anwendungssicherheitslösung, die Folgendes bietet:

  • Präzise Prävention – Schutz vor raffinierten Angriffen wie den OWASP Top 10, ohne Fehlalarme zu erzeugen
  • Keine Richtlinienverwaltung – automatische Anpassung an Anwendungsänderungen und -aktualisierungen
  • Flexible, schnelle Bereitstellung – Bereitstellung zum Schutz in bis zu 48 Stunden

 

Basierend auf einer zum Patent angemeldeten kontextbezogenen KI-Engine ist CloudGuard Anwendung Security vollständig automatisiert und kann in jeder Umgebung eingesetzt werden.

 

×
  Feedback
This website uses cookies for its functionality and for analytics and marketing purposes. By continuing to use this website, you agree to the use of cookies. For more information, please read our Cookies Notice.
OK