BLOG

Threat Stack führt zusätzliche Runtime-Angriffserkennung ein

F5 Miniaturansicht
F5
Aktualisiert am 10. August 2020

Threat Stack heißt jetzt F5 Distributed Cloud App Infrastructure Protection (AIP). Beginnen Sie noch heute damit, Distributed Cloud AIP mit Ihrem Team zu verwenden.

Schutz vor weiteren Arten von Anwendungsangriffen

Threat Stack Application Security Monitoring erkennt Schwachstellen im Code und blockiert Live-Angriffe in Echtzeit. Die meisten Lösungen zur Anwendungssicherheit befassen sich mit den gängigsten Laufzeitangriffen – beispielsweise SQL-Injection oder XSS –, doch moderne Web-Anwendungssprachen und Frameworks enthalten auch einige legitime Funktionen, die missbraucht werden können, wodurch Angriffe entstehen können, die ebenso schwerwiegende (oder noch schwerwiegendere) Auswirkungen haben können. Threat Stack Application Security Monitoring schützt vor SQLi und XSS und wir führen jetzt eine zusätzliche Laufzeitangriffserkennung ein, um Ihre Webanwendung, Microservices und API-Workloads noch besser vor Pfad- oder Verzeichnisdurchquerungsangriffen und Remotecodeausführung zu schützen. 

Remotecodeausführung (RCE)

Remote Code Execution (RCE – auch bekannt als Arbitrary Code Execution oder ACE) ermöglicht es einem Angreifer, beliebigen Code auf dem Server auszuführen, auf dem eine Anwendung läuft. Dies ist ein Injektionsangriff – ein Angreifer könnte eine Zeichenfolge an eine Funktion übergeben, die seine eigenen Betriebssystembefehle ausführt. Eine gute Erklärung, wie dies in Javascript funktioniert, finden Sie im Wanago.io-Blog unter https://wanago.io/2018/11/19/how-does-eval-work-and-how-is-it-evil-javascript-eval/ . In diesem Beispiel nimmt die Funktion eval einen String und führt ihn als Code mit denselben Berechtigungen wie der Rest der Anwendung aus. Stellen Sie sich vor, ein Angreifer gibt im Anmeldeformular Ihrer Site Folgendes als Benutzernamen ein:

'John"); exec("rm -rf ./*"); console.log("'

Wenn dieser Benutzername-Wert in einer Eval-Funktion verwendet wird, wird es kein guter Tag!

Threat Stack schützt Sie auf zwei Arten vor RCE: zur Build-Zeit und zur Laufzeit. Zur Build-Zeit identifiziert der AppSec-Mikroagent Funktionsaufrufe, die anfällig für RCE-Angriffe sind – Dinge wie eval() in Node.js oder os.fork in Python. Da es für diese Funktionen legitime und sichere Verwendungsmöglichkeiten geben könnte, kennzeichnen wir sie für Entwickler als „Risiko“. Wir bieten eLearning-Inhalte, die erklären, warum sie riskant sein können, und bieten sicherere Alternativen. Zur Laufzeit erkennen wir allerdings Versuche, die Schwachstellen tatsächlich auszunutzen. Wenn wir beispielsweise feststellen, dass eine dieser riskanten Funktionen mit aus dem Internet stammendem Inhalt aufgerufen wird, der einen Shell-Befehls-Exploit enthält, kennzeichnen wir dies als Angriff und benachrichtigen sofort Ihr Team. Gängige Befehls-Exploits können aus Befehlen wie „kill“, „disable“, „stop“, „fdisk“ usw. bestehen. 

Pfad- oder Verzeichnisdurchquerung 

Ein Pfad- oder Verzeichnisdurchquerungsangriff ermöglicht einem Angreifer, beliebige Dateien auf dem Server, auf dem eine Anwendung ausgeführt wird, zu lesen (oder in einigen Fällen zu schreiben) – Dateien außerhalb der Ordner, in denen sich die Webanwendung befindet. Hierzu können beispielsweise Anwendungsquellcode, Anmeldeinformationen oder wertvolle Betriebssystemdateien gehören. Es funktioniert, indem eine gängige Technik zur Verwendung relativer Dateipfade in Variablen ausgenutzt wird – im Allgemeinen als „Punkt-Punkt-Schrägstrich (../)“-Sequenzen bezeichnet. Beispielsweise bezieht sich die Sequenz ../ auf eine Ebene höher in der Verzeichnisstruktur. Wenn Sie mehrere dieser Sequenzen aneinanderreihen, können Sie auf das Stammverzeichnis des Dateisystems verweisen, von dem aus auf andere Dateien und Verzeichnisse zugegriffen werden kann. 

Es gibt zahlreiche legitime Verwendungsmöglichkeiten für Punkt-Punkt-Schrägstrich-Sequenzen. Es wäre also ärgerlich, wenn jede dieser Verwendungen als Risiko gekennzeichnet würde (wie Sie vielleicht bei einem SAST-Tool sehen würden). Stattdessen analysiert Threat Stack AppSec Monitoring sowohl die Funktion, die es verwendet, als auch die Nutzlast, die zur Laufzeit an die Funktion übergeben wird. Beispielsweise kann in einer Node.js-Anwendung mit Befehlen wie fs.open/read/write/usw. die an die Funktion übergebene Nutzlast auf Verzeichnispfadkodierung oder Verweise auf vertrauliche Betriebssystemdateien überprüft werden. Eine riskante Funktion mit einer bösartigen Nutzlast wird als Angriff gekennzeichnet und Ihr Team wird sofort benachrichtigt.

Teil einer Full-Stack-Lösung zur Sicherheitsbeobachtung

Angreifer denken nicht in Ebenen nach; sie konzentrieren sich nicht nur auf Anwendungen und ignorieren die Container, in denen diese ausgeführt werden, oder den Cloud-Dienst, auf dem sie gehostet werden. Ein RCE-Angriff könnte beispielsweise dazu führen, dass auf einem Host nicht autorisierte Prozesse ausgeführt werden. Oder ein Path-Traversal-Angriff könnte sensible Anmeldeinformationendateien des Cloud-Hosts kompromittieren. Es ist wichtig, diese und andere Angriffe auf Laufzeitanwendungen erkennen zu können. Entscheidend ist jedoch auch, die Sicherheit auf allen Ihren Angriffsflächen beobachten zu können, unabhängig von ihrer Komplexität oder davon, wie sich Ihre Infrastruktur ändert. Das ist die Leistungsfähigkeit von AppSec Monitoring als Teil der vollständigen Threat Stack Cloud Security Platform®.   

Wenn Sie mehr über die Threat Stack Cloud Security Platform, einschließlich ihrer Anwendungssicherheitsfunktionen, erfahren möchten, melden Sie sich gerne für eine Demo an. Unsere Sicherheits- und Compliance-Experten besprechen gerne die Anforderungen Ihrer Organisation.

 

Threat Stack heißt jetzt F5 Distributed Cloud App Infrastructure Protection (AIP). Beginnen Sie noch heute damit, Distributed Cloud AIP mit Ihrem Team zu verwenden.