RASP – Security anders gedacht

RASP – Selbstverteidigung auf Anwendungsebene
Kommentare

Die Sicherheit von Anwendungen spielt in der Entwicklung eine große Rolle; jeder hat da so seine Tricks und Kniffe. Aber wie wäre es, wenn man seine Anwendung in der Live-Umgebung etwas anders absichert?

RASP – die Runtime Application Self-Protection von Veracode – verfolgt genau diesen Ansatz. Veracode stellt eine cloud-basierte Plattform zur Verfügung, um Web- und Mobilanwendungen sowie Applikationen von Drittanbietern zu schützen. Mit RASP werden Bedrohungen auf Anwendungsebene identifiziert, bevor Cyberkriminelle Schwachstellen finden und ausnutzen können.

Ein Ansatz, über den wir etwas mehr erfahren wollten. Deshalb sprachen wir mit Julian Totzek-Hallhuber, seines Zeichens Solution Architect, über das Tool, das einiges anders angeht als bestehende Lösungen.

RASP – Runtime Application Self-Protection

Herr Totzek-Hallhuber, um was genau handelt es sich bei der „Runtime Application Self-Protection“?

Julian Totzek-Hallhuber: Runtime Application Self-Protection, kurz auch RASP genannt, ist ein neues Konzept in der Anwendungssicherheit. Die Sicherheit wird dabei auf Anwendungsebene verlagert – und rückt somit näher an die Applikation.

Mit dem neuen Konzept sind zwei wesentliche Vorteile verbunden: Erstens greift RASP auch dort, wo die herkömmliche Perimetersicherheit versagt. Zweitens betrachtet RASP Anwendungen nicht aus der Außen-, sondern aus der Innenperspektive. Es kann gewissermaßen mitverfolgen, was in einer Anwendung vor sich geht – und Angriffe somit nicht nur wesentlich genauer protokollieren, sondern eben auch zuverlässiger erkennen und abwehren.

Nicht zuletzt ist auch die Implementierung von RASP denkbar unkompliziert: Eine Einzeilen-Änderung in den Servereinstellungen reicht aus; anschließend stellt es innerhalb der Runtime-Umgebung sämtliche Features zur Verfügung, die für die eben beschriebenen Funktionen benötigt werden.

RASP schaltet sich also zwischen den Server und die Applikation?

Totzek-Hallhuber: Nein, RASP läuft als Teil der Applikation. Das bedeutet, dass es nicht nur die Requests und Responses sieht, sondern auch die interne Programmlogik. Konkret funktioniert das so, dass etwa bei Java-Applikationen eine JAR-Datei in der Tomcat-Konfiguration angegeben und gleichzeitig mit der Applikation ausgeführt wird.

Sie erwähnten, dass RASP die „interne Sicht auf die Applikation“ gestattet. Wie genau sieht das aus?

Totzek-Hallhuber: Interne Sicht bedeutet, dass RASP – anders als klassische Sicherheitssoftware – mehr sehen kann als nur Requests und Responses. Es beruht nicht nur auf reinem Patternmatching, sondern kennt wie gesagt die interne Programmlogik. Bei Datenbankabfragen untersucht es zum Beispiel die interne SQL-Query und kann somit verifizieren, ob die eingehenden Daten die Query korrumpieren würden.

Julian Totzek-Hallhuber

Julian Totzek-Hallhuber im RASP-InterviewJulian 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 www.webappsec.org (wie zum Beispiel WAFEC) mitgewirkt.

Wie genau werden die SQL-Querys untersucht?

Totzek-Hallhuber: Nehmen wir eine SQL-Injection als Beispiel: Ein einziges Funktionszeichen an der richtigen Stelle kann ausreichen, um Anwendungen zu überlisten und beliebige SQL-Befehle einzuschleusen. Angriffe sind deshalb nicht leicht zu erkennen – besonders dann nicht, wenn lediglich der vom Nutzer übermittelte String untersucht wird. Reines Patternmatching ist hier für False Positives sehr anfällig.

RASP hingegen hat Zugang zu allen benötigten Informationen: Es kennt die Query, die aus den Eingaben resultiert, und kann das Ergebnis abschätzen, das die Datenbank zurückliefern würde. Auch eine auf den ersten Blick harmlose Nutzereingabe, die unter Ausnutzung von Schwachstellen in der Anwendungslogik zur Herausgabe kritischer Daten führen würde, kann auf diese Weise zuverlässig als Angriff erkannt werden.

… und was passiert damit, wenn möglicher Schadcode entdeckt wird?

Totzek-Hallhuber: RASP verfügt über ein reiches Arsenal an möglichen Maßnahmen – welche jeweils umgesetzt wird, kann im Vorfeld konfiguriert werden. Zum Beispiel kann RASP die Anfrage blockieren, indem es entweder die User-Session oder die Anwendung selbst beendet. Es ist aber auch möglich, die SQL-Query einfach leerlaufen zu lassen, wodurch ein leerer String zurückgegeben wird. In einem zweiten Schritt kann RASP dann den Nutzer vor der Durchführung weiterer Angriffsversuche warnen oder die IT-Sicherheit alarmieren.

Welche Arten von schadhaften Querys können entdeckt werden?

Totzek-Hallhuber: RASP ist auf SQL-Injections und Cross-Site-Scripting (XSS) spezialisiert. Und das mit gutem Grund: Das Open Web Application Security Project (OWASP) führt SQLi in seiner Top-10 der größten Sicherheitsrisiken für Web-Anwendungen auf Platz 1, XSS folgt auf Platz 3. Wir haben es hier also mit Risiken zu tun, die kein Unternehmen vernachlässigen darf.

Welchen Schutz, oder welche Möglichkeiten, bieten Sie darüber hinaus?

Totzek-Hallhuber: RASP bietet die Möglichkeit, eigene Prüfungen einzubinden. Über sogenannte Point Cuts können zusätzliche Logiken in das System integriert werden. So ist es zum Beispiel möglich, an jedes Cookie ein „Secure“-Flag anzuhängen.

Aktuell existiert RASP für die Java-Plattform – sind weitere Implementierungen geplant?

Totzek-Hallhuber: Aktuell steht RASP nur für die Java-Plattform zur Verfügung, aber eine Version für .NET ist bereits in Planung.

Gibt es darüber hinaus weitere Pläne für die Zukunft?

Totzek-Hallhuber: In Zukunft werden wir zusätzliche Überprüfungsmechanismen in RASP integrieren. Das Ausweichen auf Point Cuts wird dann immer seltener notwendig sein. Welche Neuerungen genau kommen, muss ich an dieser Stelle aber leider noch für mich behalten.

Java-8-Nachlese – Wie hat Java 8 die Java-Welt verändert?

mit Klaus Kreft (Angelika Langer Training/Consulting)

Java Enterprise Summit 2017

Java EE 8 – What’s New and Noteworthy

mit Thilo Frotscher (Freiberufler)

Microservices mit Java EE. Das geht? Und wie!

mit Lars Röwekamp (OPEN KNOWLEDGE)

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -