Whitepaper. Java IDS- Intrusion Detection für die Java-Laufzeitumgebung



Ähnliche Dokumente
JavaIDS Intrusion Detection für die Java Laufzeitumgebung

Java Enterprise Architekturen Willkommen in der Realität

Skript Pilotphase für Arbeitsgelegenheiten

ELitE Bestell- und Lieferplattform für Informationen & Literatur

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Intranet/Extranet: Zentrales CMS oder Portal-Lösung

Content Management System mit INTREXX 2002.

white sheep GmbH Unternehmensberatung Schnittstellen Framework

Intrusion Detection & Intrusion Prevention. Tobias Marx Gastvorlesung Sicherheit in Netzen 14. April 2005

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Der Datenschutzbeauftragte. Eine Information von ds² 05/2010

Application Lifecycle Management als strategischer Innovationsmotor für den CIO

Frühwarnsysteme im Unternehmen

Professionelle Seminare im Bereich MS-Office

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen.

Beschreibung des MAP-Tools

FAQ 04/2015. Auswirkung der ISO auf 3SE53/3SF13 Positionsschalter.

MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS

Outlook 2000 Thema - Archivierung

IT-Governance und Social, Mobile und Cloud Computing: Ein Management Framework... Bachelorarbeit

ANYWHERE Zugriff von externen Arbeitsplätzen

Outsourcing und Offshoring. Comelio und Offshoring/Outsourcing

Insiderwissen Hintergrund

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

Microsoft SharePoint 2013 Designer

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

D i e n s t e D r i t t e r a u f We b s i t e s

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Worum geht es in diesem Projekt?

Einsatzbearbeitung im Sanitätsdienst

Die Lernumgebung des Projekts Informationskompetenz

Maintenance & Re-Zertifizierung

Fachtagung Safety in Transportation Leitfaden für die IT Sicherheit auf Grundlage IEC 62443

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

BSI Technische Richtlinie

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen

Übung: Verwendung von Java-Threads

ELitE Bestell- und Lieferplattform für Informationen & Literatur

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

EIDAMO Webshop-Lösung - White Paper

ICS-Addin. Benutzerhandbuch. Version: 1.0

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

GPP Projekte gemeinsam zum Erfolg führen

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihr vorhandenes PMS-System mit der IAC-BOX verbinden und konfigurieren.

Was ist Sozial-Raum-Orientierung?

Kurzfassung der Studienarbeit

ACL-Skript: GDPdU-Datenübernahme

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Entwicklung des Dentalmarktes in 2010 und Papier versus Plastik.

Fragen und Antworten

Kurzanleitung. Zuordnung eines Moodle-Kurses in TUMonline

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

SEPA Lastschriften. Ergänzung zur Dokumentation vom Workshop Software GmbH Siemensstr Kleve / /

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

Was Sie schon immer über IPS wissen wollten, aber Ihren Hersteller nicht zu fragen wagten

Anbindung Borland CaliberRM

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

GRS SIGNUM Product-Lifecycle-Management

Patch-Management. Leibniz-Akademie Hannover Wirtschaftsinformatik B. Sc. Praxisreflexion im Bereich Management im SS 2011

Workflow Systeme mit der Windows Workflow Foundation

Kursdemo zum Kurs Vertragsgestaltung und Vertragsmanagement. Prof. Dr. Inge Scherer

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Robot Karol für Delphi

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Übungen zur Softwaretechnik

Virtueller Campus. Virtueller Campus Horw mit interaktiver Steuerung. HowTo: Externe Bibliotheken

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN. Nr. 374

Erstellen einer in OWA (Outlook Web App)

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Anlegen eines DLRG Accounts

BSI Technische Richtlinie

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Das Projekt wird durchgeführt von den Bezirksregierungen in Nordrhein- Westfalen in ihrer Funktion als Fachstelle für die öffentlichen Bibliotheken

esearch one-single-point-of-information Federated Search Modul

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

BSI Technische Richtlinie

Urlaubsregel in David

(1) Mit dem Administrator Modul werden die Datenbank, Gruppen, Benutzer, Projekte und sonstige Aufgaben verwaltet.

RMeasy das SAP IS U Add On für Versorgungsunternehmen. Optimieren Sie Ihre Prozesse in Kundengewinnung und Kundenbindung.

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Anforderungen an die HIS

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Pädagogik. Melanie Schewtschenko. Eingewöhnung und Übergang in die Kinderkrippe. Warum ist die Beteiligung der Eltern so wichtig?

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Bundeskanzlei BK Programm GEVER Bund. als Basis für GEVER. 29. November 2012

FastBill Automatic. Dokumentation Versand. FastBill GmbH. Holteyer Straße Essen Telefon Telefax

Use Cases. Use Cases

Test zur Bereitschaft für die Cloud

Internet Explorer Version 6

An integrated total solution for automatic job scheduling without user interaction

Supportkonzept. Datum: Inhaltsverzeichnis: 1. Verwendungszweck Anforderungen 3

Car-Net über WLAN Aufbau einer Internet-Verbindung über WLAN zur Nutzung von Car-Net

CADEMIA: Einrichtung Ihres Computers unter Windows

Transkript:

Whitepaper Java IDS- Intrusion Detection für die Java-Laufzeitumgebung Intrusion-Detection-Systeme (IDS) sind ein verbreitetes und bewährtes Mittel zur Erkennung sicherheitsrelevanter Anomalien in IT-Systemen. Insbesondere im Serverbereich kommen solche Systeme zur Anwendung, um eine bestmögliche Detektion sowie eine anschließende Reaktion auf Sicherheitsvorkommnisse zu gewährleisten. Dieser Beitrag stellt ein Konzept zur Umsetzung eines speziell für Java geeigneten IDS vor, welches sich sowohl zur Absicherung von Client- als auch von Serversystemen eignet. Die Realisierung erfolgt durch die Integration geeigneter IDS-Komponenten in ein bekanntes IDS, welches unter einer freien Lizenz verfügbar ist.

Bundesamt für Sicherheit in der Informationstechnik Postfach 20 03 63 53133 Bonn Tel.: +49 228 99 9582-5599 E-Mail: java@bsi.bund.de Internet: http://www.bsi.bund.de Bundesamt für Sicherheit in der Informationstechnik 2008 Bundesamt für Sicherheit in der Informationstechnik

Inhaltsverzeichnis 1. 2. 3. 3.1 3.2 3.3 4. 5. Sichere Anwendungen auf Basis von Java... Intrusion-Detection-Systeme... Konzept für ein Java-spezifisches IDS... Architektur... Auditsubsystem... Detectionsubsystem... Fazit... Referenzen... 5 5 6 6 7 8 11 12 Bundesamt für Sicherheit in der Informationstechnik 3

Abbildungsverzeichnis Abbildung 1: Architektur des Java IDS... 6 Abbildung 2: Architektur des Java IDS... 7 Abbildung 3: Architektur des Auditsubsystems... 8 Abbildung 4: Architektur des Detectionsubsystems... 9 Abbildung 5: Beispiel für eine Modellierung mit Zuständen und Transitionen mit STAT... 9 Abbilung 6: Schematische Darstellung eines STAT-Sensors... 10 4 Bundesamt für Sicherheit in der Informationstechnik

1. Sichere Anwendungen auf Basis von Java Die Java-Virtual-Machine (Java-VM) [JAV] hat als Infrastruktur zur Ausführung von plattformunabhängigen Anwendungen bei Behörden und Unternehmen sowohl für Endanwender als auch im Serverumfeld weite Verbreitung erlangt. Um den sicheren Betrieb von Anwendungen zu gewährleisten, bringt die Java-Plattform durch die Sprachspezifikation und die interne Architektur bereits viele Sicherheitsmerkmale mit. Zu nennen sind hier beispielsweise Typensicherheit, Codeüberprüfung und Zugriffsschutzmechanismen. 2. Intrusion-Detection-Systeme Ein Intrusion-Detection-System (IDS) dient der Erkennung von sicherheitsrelevanten Anomalien in IT-Systemen und Computernetzen. Der Einsatz eines IDS stellt eine sinnvolle Ergänzung zu einem bestehenden Sicherheitskonzept dar. Derzeit existiert jedoch kein IDS, welches interne Informationen aus der Java-VM zur Einbruchserkennung nutzt. Prinzipiell werden IDS nach netzwerkbasierten (NIDS) und hostbasierten Intrusion-Detection-Systemen (HIDS) kategorisiert. NIDS dienen der Angriffserkennung in Netzwerken, in dem z.b. die transportierten Daten auf bekannte Angriffsmuster untersucht werden. HIDS hingegen verwenden unterschiedliche System- und Performanzmessgrößen, um diese auf bekannte Muster hin zu analysieren. Die so genannten hybriden IDS kombinieren den Ansatz von NIDS und HIDS. Die Funktionsweise eines IDS stellt sich als wiederholtes Durchlaufen der folgenden Teilschritte dar: 1. Informationssammlung: Die unterschiedlichen Parameter werden durch sogenannte Sensoren aus Kenngrößen oder Nutzdaten eines IT-Systems gesammelt und an eine zentrale Stelle (IDS-Manager) übermittelt. Die Informationssammlung kann sowohl in Intervallen als auch auf Basis von Ereignissen erfolgen. 2. Datenanalyse: Der IDS-Manager sammelt die Daten aller Sensoren und wertet diese unter Anwendung unterschiedlicher Analysemethoden aus. 3. Alarmierung/Reaktion: In Abhängigkeit der Ergebnisse der Datenanalyse werden zuvor definierte Eskalationsschritte zur Alarmierung bzw. der Reaktion auf (vermeidliche) Sicherheitsvorfälle initiiert. Sofern in Schritt 3 aktive Gegenmaßnahmen ergriffen werden, spricht man statt von IDS oftmals auch von Intrusion-Prevention-Systemen (IPS). Diese können Angriffe abwehren bzw. auf Auffälligkeiten oder auf konkrete Angriffe aktiv reagieren. Eines der bekanntesten IDS ist Prelude [PRE], welches unter Open-Source-Lizenz zur Verfügung steht. Hierbei handelt es sich um ein hybrides IDS, das für eine Vielzahl unterschiedlicher Plattformen verfügbar ist. Darüber hinaus sind eine große Anzahl unterschiedlicher Sensoren verfügbar, die kompatibel zu Prelude sind. Dies wird dadurch gewährleistet, dass Prelude den offenen Standard Intrusion-Detection-Message-Exchange-Format (IDMEF) implementiert und somit eine offene und fest definierte Schnittstelle bereitstellt. Bundesamt für Sicherheit in der Informationstechnik 5

Weitere Informationen zur Sicherheit von IDS finden sich unter anderem in der IDS-Studie des BSI [BSI]. 3. Konzept für ein Java-spezifisches IDS Dieser Abschnitt beschreibt die Architektur sowie geeignete Standards und Technologien zur Umsetzung eines Intrusion-Detection-Systems, welches den Anforderungen an die Einbruchserkennung innerhalb einer Java-Virtual-Machine (JVM) gerecht wird. 3.1 Architektur Das modular aufgebaute Gesamtsystem besteht aus einer Auditkomponente zur Erkennung von Systemereignissen innerhalb der JVM und einer Detection-Komponente. Letztere dient der Analyse dieser Ereignisse und der Erkennung von Angriffen. Die Architektur des Java- IDS dargestellt in Abbildung 1 beinhaltet folgende wesentliche Bestandteile: Auditsubsystem zur Informationsgewinnung über Ereignisse der JVM, Spezifikation einer formalen Beschreibungssprache für Ereignisse, Analyse- und Erkennungssystem (Detectionsubsystem), Spezifikation einer formalen Beschreibungssprache für Bedrohungsszenarien. Abbildung 1: Architektur des Java IDS 6 Bundesamt für Sicherheit in der Informationstechnik

Die Auditkomponente erfasst über Auditmodule die Ereignisse aus der Java-VM und leitet entsprechende Informationen zur Protokollierung an das Audit-Log weiter. Diese Daten dienen dann als Input für die Detection-Komponente. Zusätzlich enthält das Java-IDS ein Responsemodul, über das Reaktionen auf Angriffe an die Java-VM zurückgegeben werden können. Nach außen hin verhält sich das Java-IDS gegenüber einem IDS-Manager wie ein gewöhnlicher IDS-Sensor, der seine Daten in einer IDMEF-konformen XML-Struktur bereitstellt. Eine stärker technisch orientierte Darstellung der Gesamtarchitektur ist in Abbildung 2 zu sehen. Abbildung 2: Architektur des Java IDS 3.2 Auditsubsystem Das Auditsubsystem der Architektur des Java-IDS ist in zwei Teile unterteilt. Die interne Komponente läuft selbst in der JVM und gewinnt dort durch Instrumentierung bestimmter Klassen Informationen zu den laufenden Prozessen. Die externe Komponente greift von außen geeignete Informationen von der JVM ab. Somit entstehen zwei Möglichkeiten, Informationen aus der Java Laufzeitumgebung zu sammeln. Hierdurch können mitunter Redundanzen entstehen, die aber durchaus von Vorteil sein können (vgl. hierzu den Ansatz Cross-Viewbased Detection aus dem Bereich Malware-Detection [CVD]). Aufbau und Funktionsweise des Auditsubsystems sind in Abbildung 3 dargestellt. Sowohl die interne als auch die externe Teilkomponente des Auditsubsystems sammeln Ihre gewonnenen Daten in einem Audit-Log. Dieses bildet die Schnittstelle zwischen den Subsystemen Audit und Detection. Bundesamt für Sicherheit in der Informationstechnik 7

Abbildung 3: Architektur des Auditsubsystems Die interne Auditteilkomponente verwendet die sog. Byte-Code-Instrumentation (BCI). Dabei werden bestimmte Java-Klassen mit Aufrufen eines Event-Treibers instrumentiert, sodass entsprechende Aktionen innerhalb der JVM direkt über einen Loggingmechanismus protokolliert werden können. Das Java-Virtual-Machine-Tool-Interface (JVMTI) bildet die technische Grundlage für die externe Auditteilkomponente. JVMTI löst die zuvor in Java verfügbaren Schnittstellen JVMPI und JVMDI ab und stellt eine Schnittstelle für Entwicklungs- und Monitoring-Anwendungen bereit. JVMTI bietet die Möglichkeit zur Überwachung des Zustands sowie des Programmflusses von Anwendungen. Da die Verwendung bestimmter Ereignisse (MethodEntry, MethodExit) auf einigen Plattformen zu signifikanten Performanzverlusten führen kann, ist in Einzelfällen die Informationsgewinnung bestimmter Parameter durch BCI vorzuziehen. 3.3 Detectionsubsystem Das Detectionsubsystem dient der Analyse der Daten, welche das Auditsubsystem im Audit- Log zusammenträgt. Die grundlegende Funktionsweise des Detectionsubsystems umfasst die Analyse von Zuständen der JVM und den Übergängen (Transitionen) zwischen diesen, um Bedrohungen bzw. Systemeinbrüche zu detektieren. Die Detection-Komponente zur Erkennung von Angriffen setzt auf dem generischen STAT- Framework [STA] auf und erweitert es um spezifische Module zur Abbildung der besonderen Eigenheiten von Java. Mögliche Bedrohungsszenarien werden ebenso wie ein speziell an Java angepasster Eventprovider als ausführbare Erweiterungsmodule zum Framework hinzugefügt, 8 Bundesamt für Sicherheit in der Informationstechnik

das dadurch seine spezielle Java-IDS-Funktionalität bekommt. Das Gesamtsystem wird als Sensor in ein IDS-Framework wie z.b. Prelude integriert. Abbildung 4 zeigt den grundlegenden Aufbau des Detectionsubsystems incl. der Entwicklungsumgebung für die Bedrohungsszenarien. Abbildung 4: Architektur des Detectionsubsystems Mit dem STAT-Framework (State-Transition-Analysis-Technique) sowie der zugehörigen STAT-Language (STATL) baut das Java-IDS auf einer systemunabhängigen Plattform für die Analyse und Erkennung von Angriffen auf IT-Systeme auf. Mittels STATL werden Angriffsund Bedrohungsszenarien mit Mitteln der Graphen-Theorie modelliert. Die zentralen Begrifflichkeiten in diesem Zusammenhang sind Szenarien, Zustände und Transitionen (Übergänge). Ein einfaches Beispiel für eine solche Modellierung ist in Abbildung 5 dargestellt. Neben der Beschreibungssprache beinhaltet STAT insbesondere eine Laufzeitumgebung zur Verarbeitung und Analyse gemäß des STAT-Ansatzes. Daneben ist auch eine Architektur zur Erstellung und Übersetzung von Bedrohungsszenarien (Szenario-Plugins) Bestandteil von STAT. Bundesamt für Sicherheit in der Informationstechnik 9

Abbildung 5: Beispiel für eine Modellierung mit Zuständen und Transitionen mit STAT Abbilung 6: Schematische Darstellung eines STAT-Sensors Abbildung 6 zeigt den Aufbau eines typischen STAT-Sensors, wovon folgende Komponenten für ein Java-spezifisches IDS zu entwickeln sind: Systemspezifisches Erweiterungsmodul (zur Definition JVM-spezifischer Typen und Ereignisse), genannt javastat, 1. JVM-spezifischer Event-Typ 2. Methoden zur Verwaltung der Ereignisse 10 Bundesamt für Sicherheit in der Informationstechnik

Event-Provider, Beschreibung zu detektierender Angriffssituationen in Form von Bedrohungsszenarien. Als Sprache für die Java-IDS-interne Beschreibung von Ereignissen erscheint IDMEF etwas zu umfangreich. Daher wird ein alternativer Ansatz gewählt. IDMEF kommt nicht zwischen den IDS-Komponenten, sondern lediglich zur Anbindung an einen (externen) IDS-Manager zum Einsatz. Dies bewirkt eine effizientere Kommunikation zwischen den Komponenten des Java-IDS. Zu den Bestandteilen der intern verwendeten Ereignisbeschreibung gehören unter anderem folgende Aspekte: 1. Timestamp: Wann ist das Ereignis aufgetreten? 2. Source: Welche Anwendung oder welcher Anwendungs-Thread hat das Ereignis ausgelöst? 3. Action: Welche Aktion wurde durchgeführt (bzw. sollte durchgeführt werden)? 4. Target: Was war das Zielobjekt? 5. Result: Welches Ergebnis hatte die Aktion? 6. Type: eine Klassifizierung des Ereignisses. Diese Informationen sind z.b. wie folgt dargestellt in eine entsprechende XML-basierte Beschreibungssprache zu integrieren. <event> <timestamp> <year>2008</year> <month>01</month> <day>30</day> <hour>08</hour> <minute>05</minute> <second>12</> </timestamp> <type>dnssuspect</type> <source> <thread> <id>7925</id> </thread> </source> <action> <type>threadoverflow</type> </action> <target> de.target.sample.classname </target> <result> <status>terminatedbyids</status> <returncode>3</returncode> </result> </event> Bundesamt für Sicherheit in der Informationstechnik 11

Das Response-Modul des Detection-Subsystems wandelt diese Informationen in das Format IDMEF um und leitet sie anschließend an einen IDS-Manager weiter. Darüber hinaus ist eine geeignete Schnittstelle vorgesehen, um neben einem IDS auch ein Frühwarnsystem wie dem Open-Source-Projekt Nagios [NAG] mit Informationen über eine JVM versorgen zu können. Neben rein informativen Aktionen muss das Response-Modul auch in der Lage sein, als Reaktion auf einen Angriff Gegenmaßnahmen zu initiieren. Mögliche Gegenmaßnahmen sind z.b. das Terminieren eines Threads oder die dynamische Anpassung von Sicherheitsrichtlinien. 4. Fazit Das Java-IDS stellt insgesamt einen deutlichen Sicherheitsvorteil für Java-basierte Clientoder Serveranwendungen dar. Dabei können sowohl Angriffe auf bekannte Schwachstellen als auch bislang unveröffentlichte Exploits aufgespürt werden. Neben der reinen Detektion kann auch eine geeignete Reaktion auf eine Auffälligkeit erfolgen, sodass das Java-IDS um eine umfangreiche Funktionalität zur Intrustion Prevention erweitert wird. Auch die Möglichkeit zur Integration in ein Frühwarnsystem macht das Java-IDS zu einer wertvollen Ergänzung für eine domänenweite oder auch domänenübergreifende IT-Sicherheitsarchitektur. 5. Referenzen o [BSI] IDS-Studie, Bundesamt für Sicherheit in der Informationstechnik, http://www.bsi.bund.de/literat/studien/ids02/index.htm o [CVD] Thoughts about Cross-View based Rootkit Detection, Joanna Rutkowska, http://invisiblethings.org/papers/crossview_detection_thoughts.pdf o [JAV] Java, Sun Microsystems, http://java.sun.com o [NAG] Nagios, http://www.nagios.org/ o [PRE] Prelude, http://www.prelude-ids.org/ o [STA] STAT Framework, http://www.cs.ucsb.edu/~seclab/projects/stat/index.html 12 Bundesamt für Sicherheit in der Informationstechnik