
Jasmine - stock.adobe.com
Sichere Webanwendungen: Wie unterscheiden sich WAF und RASP?
Web Applications Firewalls verwenden ein negatives Sicherheitsmodell, RASP einen positiven Ansatz, um Webanwendungen abzusichern. Wo liegen die Vorzüge der jeweiligen Methoden?
Da Unternehmen immer mehr Webanwendungen einsetzen, wird deren Schutz vor einer Vielzahl von Bedrohungen immer wichtiger. Zwei wichtige Sicherheitstechnologien sind entstanden, um dabei zu helfen: Web Application Firewalls und RASP (Runtime Application Self-Protection).
Kurz gesagt sind WAFs eine Art Firewall, die verdächtigen Datenverkehr zu und von Webanwendungen überwachen, filtern und stoppen, während RASP-Tools intern in jeder Anwendung angesiedelt sind, um das Verhalten zu überwachen und Bedrohungen in Echtzeit zu stoppen.
Der beste Weg, um WAF und RASP zu bewerten und zu vergleichen, ist die Betrachtung von drei Schlüsselfaktoren: Komplexität der Implementierung, laufende Kosten und Wirksamkeit der Sicherheit.
Sehen wir uns genauer an, wie diese Technologien Webanwendungen schützen, wie sie sich im Vergleich zueinander schlagen und ob man eine oder beide einsetzen sollte.
Was ist eine Web Application Firewall?
Eine Web Application Firewall (WAF) ist eine Art Firewall, die als Sicherheitsbarriere zwischen Webanwendungen und dem Internet fungiert, indem sie den HTTP-Datenverkehr überwacht und filtert. WAFs überprüfen eingehende Anfragen und ausgehende Antworten und wenden vordefinierte Sicherheitsregeln an, um bösartige Datenverkehrsmuster zu identifizieren und zu blockieren. Sie zeichnen sich durch einen hervorragenden Schutz vor gängigen Webangriffen wie SQL Injection, Cross-Site Scripting (XSS) und anderen Schwachstellen aus.
WAFs gibt es als netzwerkbasierte, hostbasierte oder Cloud-basierte Lösungen. Sie fungieren als externer Anwendungsschutz und analysieren Verkehrsmuster und -parameter, ohne dass Änderungen am Anwendungscode erforderlich sind. Dadurch lassen sie sich relativ einfach in mehreren Anwendungen implementieren.
Nehmen wir beispielsweise einen typischen SQL-Injection-Angriff wie „1‚ OR ‘1‚=‘1“. WAFs verfügen über eine spezielle Regel, um dieses Textmuster zu erkennen – in der Regel mithilfe eines Parsers für reguläre Ausdrücke –, es als Merkmal eines SQL-Injection-Angriffs zu identifizieren und die Eingabe zu blockieren.

Was ist Runtime Application Self-Protection (RASP)?
RASP-Tools bieten einen moderneren Ansatz für die Anwendungssicherheit. Im Gegensatz zu WAFs lässt sich die RASP-Technologie über Software-Instrumentierung direkt in die Anwendung integrieren – beispielsweise über einen Debugger, der Code mit Breakpoints versieht –, sodass sie die Anwendung von innen heraus überwachen und schützen kann. Durch diese Integration kann RASP das Verhalten, den Kontext und die Logik der Anwendung in Echtzeit verstehen.

RASP-Tools analysieren die Laufzeitumgebung der Anwendung, beispielsweise eine Java VM oder .NET Common Language Runtime, um einen detaillierten Einblick in die Ausführung der Anwendung zu erhalten.
Zurück zum Beispiel der SQL Injection: Eine RASP-Engine verhält sich anders als eine WAF. Basierend auf dem Code modelliert die Engine einen abstrakten Syntaxbaum, der eine Select-Operation mit einer Abfrage enthält, und überprüft, ob die Syntax, die gegen die Datenbank ausgeführt werden soll, damit übereinstimmt. Ist dies der Fall, hat keine Injection stattgefunden und die Abfrage ist sicher. Bei einem SQL-Injection-Angriff wie „1‚ OR ‘1‚=‘1“ wurde die Syntax jedoch so geändert, dass sie eine logische ODER-Operation enthält. RASP erkennt dies sofort als Injection und blockiert die Anfrage. Die RASP-Engine hat nicht das Format oder die Werte der Abfrage selbst berücksichtigt, sondern die Tatsache, dass die Syntax erweitert wurde, als Hinweis auf einen Injection-Angriff gewertet.
Wie unterscheiden sich WAF und RASP?
Ein grundlegender Unterschied zwischen WAF und RASP liegt in ihren Sicherheitsmodellen. WAFs verwenden in der Regel ein negatives Sicherheitsmodell, das heißt, sie identifizieren und blockieren bekannte bösartige Muster und Verhaltensweisen. Sie verfügen über umfangreiche Listen mit Angriffssignaturen und verdächtigen Mustern und blockieren alles, was diesen bekannten bösartigen Verhaltensweisen entspricht.
Dieser Ansatz ist zwar gegen bekannte Angriffsmuster wirksam, kann jedoch zu Fehlalarmen führen, wenn legitime Anfragen mit verdächtigen Mustern übereinstimmen. WAF-Regeln können auch neue Angriffsvektoren übersehen, darunter Zero-Day-Schwachstellen oder sorgfältig ausgearbeitete Payloads. Zur Veranschaulichung betrachten Sie das WAF-Beispiel mit einer anderen Payload: 1' OR 2>1–. Die WAF benötigt eine weitere Regel für logische Operatoren mit Vergleichen, um dies zu erkennen, was schnell zu einem Wettrüsten zwischen Angreifern und Verteidigern eskaliert.
Die RASP-Technologie hingegen implementiert in der Regel ein positives Sicherheitsmodell. Sie lernt und versteht, wie sich die Anwendung im Normalbetrieb verhalten sollte, und markiert oder blockiert dann alle Abweichungen von diesem erwarteten Verhalten. Durch die Ausführung innerhalb des Anwendungskontexts kann RASP präzisere Sicherheitsentscheidungen auf der Grundlage des Anwendungsverhaltens, des Datenflusses und des Ausführungskontexts treffen. Dieser Ansatz führt in der Regel zu weniger Fehlalarmen, wie das Beispiel der SQL Injection zeigt, bei dem die Injektionserkennung unabhängig von der Eingabe-Payload präzise ist. Mit RASP-Tools können Unternehmen außerdem Zero-Day-Bedrohungen für Webanwendungen besser erkennen und verhindern.
Weitere wichtige Unterschiede sind die Kosten und die Verwaltung. Die Einführung von RASP hat erhebliche Auswirkungen auf den Betrieb und die Kosten. Zunächst müssen die Teams die RASP-Engine in die Hauptanwendung integrieren, was in der Regel während des Entwicklungszyklus geschieht. Dies führt zu einer gewissen Leistungsbeeinträchtigung bei der Ausführung der Anwendung und verkompliziert die Entwicklungs- und Betriebszyklen, da die Teams eine zusätzliche Softwarekomponente verwalten müssen. DevOps-Teams stehen RASP daher oft skeptisch gegenüber.
Web Application Firewalls bieten die Vorteile der Allgegenwärtigkeit und vergleichsweise geringen Kosten. Die meisten Firewalls, Gateways und Proxys bieten kostenlose oder Open-Source-Implementierungen als Teil des Standardprodukts an. Das beliebte Tool ModSecurity ist beispielsweise für Apache, Nginx und andere Webserver verfügbar. RASP wird überwiegend von spezialisierten Anbietern kommerziell angeboten und ist nicht auf allen Plattformen verfügbar. Beispielsweise werden C/C++ und native oder nicht verwaltete Sprachen nur unzureichend unterstützt.