*************** mapWOC benutzen *************** Die Benutzeroberfläche ====================== mapWOC ist über eine Web-Oberfläche steuerbar, die sich in ein Drei-Spalten-Layout gliedert (siehe Screenshot): 1. Hauptmenü 2. Inhaltsbereich 3. Login- und Mitteilungsbereich .. raw:: latex ~\\ .. only:: latex .. image:: _static/screen-state_big_de.png :width: 80% .. only:: html |screen-state_de|_ .. |screen-state_de| image:: _static/screen-state_de.png :alt: Die Benutzeroberfläche von mapWOC .. _screen-state_de: _static/screen-state_big_de.png Aus Sicherheitsgründen verzichtet mapWOC vollständig auf JavaScript und andere aktive Inhalte. In den nachfolgenden Abschnitten wird anhand der einzelnen Hauptmenüpunkte die Bedienung von mapWOC erläutert. .. raw:: latex \newpage URL-Listen ========== Bei mapWOC konzentriert sich alles auf einzelne Webseiten (URLs). Ein Scan basiert auf einer vorher angelegten URL-Liste. URL-Listen bestehen aus beliebig vielen URLs. Es gibt in mapWOC zwei Möglichkeiten URL-Listen zu **erstellen**: 1. **URLs manuell eingeben** Vergeben Sie einen frei wählbaren Namen für die Liste. Der optionale Kommentar hilft beim späteren Zuordnen der Liste. Wichtig beim Eintragen der URLs ist die richtige Schreibweise, in der Form: ``http://www.example.com``. mapWOC überprüft die Validität aller URLs beim Erstellen. Sollte bei einer URL z.B. ein ``http://`` fehlen, wird diese URL aus der Liste entfernt. Der Nutzer bekommt eine Fehlermeldung. Die Liste wird angelegt - jedoch ohne diese fehlerhafte Adresse. 2. **URL-Liste hochladen** URL-Listen lassen Sie auch aus vorliegenden Textdateien erstellen. Dazu die Datei auswählen und hochladen. .. attention:: Beachten Sie, dass beim Anlegen von sehr großen Listen das Hochladen, die Überprüfung und die Übertragung in die Datenbank einige Minuten dauern kann. Unterbrechen Sie diesen Prozess bitte nicht. Im unteren Abschnitt der URL-Listen-Seite sind alle verfügbaren URL-Listen mit Anzahl der enthaltenen URLs aufgelistet. Ein Klick auf eine Liste zeigt weitere Details (Erstellungsdatum, URLs, Verknüpfung zu den Ergebnissen). .. only:: latex .. image:: _static/screen-urllists_big_de.png :width: 80% .. only:: html |screen-urllists_de|_ .. |screen-urllists_de| image:: _static/screen-urllists_de.png :alt: URL-Listen-Seite .. _screen-urllists_de: _static/screen-urllists_big_de.png .. raw:: latex \newpage Scans ===== Ein Scan wird verwendet, um URLs in ausgewählten Browsern anzusurfen und den Netzwerkverkehr zu analysieren. Neuen Scan anlegen ------------------ mapWOC bietet drei Arten von Scans: 1. **Standard-Scan** 2. **Kurz-Scan** 3. **Manueller Scan** 4. **Zeit-Scan** .. raw:: latex ~\\ .. only:: latex .. image:: _static/screen-scans_big_de.png :width: 80% .. only:: html |screen-scans_de|_ .. |screen-scans_de| image:: _static/screen-scans_de.png :alt: Scan-Übersichtsseite .. _screen-scans_de: _static/screen-scans_big_de.png .. raw:: latex ~\\ zu 1. **Standard-Scan** Ein Standard-Scan wird beendet, wenn die ausgewählten URL-Listen abgearbeitet sind. Zum Anlegen eines Standard-Scans sind folgende Angaben möglich (siehe Screenshot): - Name vergeben - Kommentar vergeben (optional) - URL-Liste(n) auswählen - Honey-Clients auswählen (Die Anzahl der parallel laufenden HCs ist hier erforderlich. Der Wert ist abhängig von den verfügbaren Hardwareressourcen und Softwarelizenzen.) - Mehrere Optionen sind auswählbar: - *Aktives Zeitfenster:* Das ist die Zeit vom Starten bis zum Abbruch des Honey-Clients. Voreingestellt: 40 Sekunden. - *Schnell-Modus:* Dabei werden gleich mehrere URLs pro Honey-Client aufgerufen (ohne *Schnell-Modus* wird nur eine URL pro HC verwendet). Der Browser holt sich vom Redirector mehrere URLs und öffnet diese parallel in ebenso vielen Browserfenstern. Auswählbar sind 2 bis 5 URLs pro Honey-Client. Dieser Modus ist voreingestellt deaktiviert. - *VNC:* Die laufende Scansitzung kann mit einem (externen) VNC-Viewer betrachtet werden. Der zugehörige VNC-Port wird für jeden HC auf der Statusseite während des Scans bereitgestellt. Die VNC-Hostadresse ist die Adresse des entsprechenden mapWOC-Knotens (Node), wo der HC läuft. Bei einem Nicht-Cluster-Betrieb ist diese identisch mit der Adresse von mapwoc-GUI. Dieser VNC-Modus ist voreingestellt deaktiviert. - *Tasten-Ereignisse:* Nach einer bestimmten Zeit nach Start des virtuellen HCs kann das Ereignis *'Enter drücken'* (e) oder *'Gehe zur Startseite/Homepage'* (h) aufgerufen werden. Ein Beispiel: Die Eingabe von ``10e15h`` drückt automatisch nach 10 Sekunden Enter und nach weiteren 5 Sekunden (15 Sekunden nach Start) den Kurzbefehl für die Startseite (i.d.R. ALT+POS1). Nach dem Anlegen eines Standard-Scans wird die Konfiguration auf einer Seite zusammengefasst. Zum Starten des Scans klicken Sie unter dem Abschnitt *Aktionen* auf *[Starten]*. .. raw:: latex ~\\\\ .. only:: latex .. image:: _static/screen-scans-standard_big_de.png :width: 80% .. only:: html |screen-scans-standard_de|_ .. |screen-scans-standard_de| image:: _static/screen-scans-standard_de.png :alt: Standard-Scan anlegen .. _screen-scans-standard_de: _static/screen-scans-standard_big_de.png zu 2. **Kurz-Scan** Ein Kurz-Scan wird beendet, nachdem die angegebene (Einzel-)URL angesurft wurde. Zum Anlegen eines Kurz-Scans sind folgende Angaben erforderlich (siehe Screenshot): - URL eingeben (in der Form ``http://example.com``) - Honey-Client auswählen - Option *VNC*: Der Kurz-Scan kann mit einem (externen) VNC-Viewer betrachtet werden. Der zugehörige VNC-Port wird für den gewählten HC auf der Statusseite während des Scans bereitgestellt. Die VNC-Hostadresse ist die Adresse des entsprechenden mapWOC-Knotens (Node), wo der HC läuft. Bei einem Nicht-Cluster-Betrieb ist diese identisch mit der Adresse von mapwoc-GUI. Dieser VNC-Modus ist voreingesetllt deaktiviert. Zum Starten des Scans klicken Sie auf *[Kurz-Scan starten]*. .. only:: latex .. image:: _static/screen-scans-quick_big_de.png :width: 80% .. only:: html |screen-scans-quick_de|_ .. |screen-scans-quick_de| image:: _static/screen-scans-quick_de.png :alt: Kurz-Scan starten .. _screen-scans-quick_de: _static/screen-scans-quick_big_de.png .. raw:: latex \newpage zu 3. **Manueller Scan** Ein Manueller Scan wird beendet, wenn das ausgewählte Zeitfenster abgelaufen ist. Ein Manueller Scan dient nur zur manuellen Steuerung von **virtuellen** Honey-Clients. Native Honey-Clients können mit Manuellen Scans nicht betrieben werden; stattdessen können Zeit-Scan verwendet werden. Zum Anlegen eines Manuellen Scans sind folgende Angaben erforderlich (siehe Screenshot): - optional: URL eingeben *oder* URL-Listen auswählen - Zeitfenster festlegen (voreingestellt: 3 Minuten) - virtuellen Honey-Client auswählen Zum Starten des Scans klicken Sie auf *[Manuellen Scan starten]*. .. only:: latex .. image:: _static/screen-scans-manual_big_de.png :width: 80% .. only:: html |screen-scans-manual_de|_ .. |screen-scans-manual_de| image:: _static/screen-scans-manual_de.png :alt: Manuellen Scan starten .. _screen-scans-manual_de: _static/screen-scans-manual_big_de.png zu 4. **Zeit-Scan** Ein Zeit-Scan wird beendet, wenn das ausgewählte Zeitfenster abgelaufen ist. Ein Zeit-Scan dient nur zur manuellen Steuerung von **nativen** Honey-Clients. Virtuelle Honey-Clients können mit Zeit-Scans nicht betrieben werden. Zum Anlegen eines Zeit-Scans sind folgende Angaben erforderlich (siehe Screenshot): - optional: URL-Listen auswählen - nativen Honey-Client auswählen - Zeitfenster festlegen (voreingestellt: 3 Minuten) Zum Starten des Scans auf *[Scan starten]* klicken. .. only:: latex .. image:: _static/screen-scans-time_big_de.png :width: 80% .. only:: html |screen-scans-time_de|_ .. |screen-scans-time_de| image:: _static/screen-scans-time_de.png :alt: Zeit-Scan anlegen .. _screen-scans-time_de: _static/screen-scans-time_big_de.png Scan-Liste ---------- Im unteren Abschnitt der Scan-Übersichtsseite sind alle bisher angelegten Scans gelistet. Dabei werden zu jedem Scan die verwendeten URL-Listen (mit Gesamtsumme aller URLs) sowie die verwendeten Honey-Clients (mit Gesamtsumme aller HCs) angezeigt. Der Kurz-Scan ist voreingestellt und enthält immer genau eine URL. Ein Klick auf einen Scan zeigt alle Konfigurationsdetails an. Hier kann ein Scan gestartet, gestoppt oder gelöscht werden. .. important:: Das Bearbeiten eines Scans ist nicht möglich. Der Grund dafür ist, dass ein angelegter Scan mehrmals (hintereinander) durchgeführt werden kann. Um die Ergebnisse vergleichbar zu halten und eine eindeutige Referenzierung auf die Scankonfiguration zum Zeitpunkt des Scans zu gewährleisten, darf ein Scan nicht verändert werden. Möglich ist aber einen neuen Scan mit geänderter/ähnlicher Konfiguration anzulegen. .. raw:: latex \newpage Honey-Clients ============= Ein Honey-Client (HC) ist ein Browsersystem, das zum Ansurfen von URLs in einem Scan genutzt wird. Jedes beliebige Betriebssystem wird unterstützt, einzige Voraussetzung ist ein installierter Internetbrowser. mapWOC unterscheidet **virtuelle** und **native** Honey-Clients. Der folgende Screenshot zeigt, wie so eine Liste mit Honey-Clients in mapWOC aussehen kann. .. only:: latex .. image:: _static/screen-hcs_big_de.png :width: 80% .. only:: html |screen-hcs_de|_ .. |screen-hcs_de| image:: _static/screen-hcs_de.png :alt: Honey-Clients-Übersicht .. _screen-hcs_de: _static/screen-hcs_big_de.png .. _add-virtual-honey-clients: Virtuelle Honey-Clients ----------------------- Virtuelle Honey-Clients sind Virtuelle Maschinen (VMn), die mit der Freien Virtualisierungslösung `KVM `_ erzeugt werden. Die Virtuellen Maschinen werden installiert, konfiguriert und mit einem gestarteten Browser abgespeichert (Snapshot) oder wahlweise in den Ruhezustand (suspend-to-disk) versetzt. Details zum Anlegen von KVM-Images für den Einsatz in mapWOC finden Sie im nächsten Abschnitt. Weiterführende Informationen zu QEMU/KVM bietet z.B. das deutschsprachige `QEMU-Buch `_. Der Snapshot/Ruhezustand eines virtuellen Honey-Clients wird von mapWOC geladen. Der Browser surft per Kurzbefehl die Redirector-Startseite an und holt sich eine URL ab. Nach Ablauf des aktiven Zeitfensters beendet mapWOC die VM wieder. Das KVM-Image ist anschließend wieder im Ausgangszustand (Snapshot/Ruhezustand). Änderungen werden nicht gespeichert. Diese automatische Zurücksetzbarkeit ist der entscheidende Vorteil gegenüber nativen Systemen. Honey-Clients sind über die Honey-Client-System-ID (hcsid) eindeutig bestimmt. **Virtuellen Honey-Client anlegen** Die folgende Anleitung (am Beispiel von Windows XP) hilft beim Anlegen eines KVM-Images, um es später in mapWOC als neuen virtuellen Honey-Client hinzuzufügen: 1. KVM-Master-Image erstellen (im qcow2-Format, mit einer 8 GB Festplatte):: kvm-img create -f qcow2 winxp-master.img 8G 2. Installation des Betriebssystems durchführen:: kvm -cdrom windows-xp.iso -hda winxp-master.img -m 128M -vnc :1 Dabei auf einer anderen Konsole einen VNC-Viewer starten, z.B.:: vncviewer localhost:1 3. Konfigurieren Sie das Netzwerk der VM wie folgt: * IP: 10.0.0.4 * Netmask: 255.255.255.0 * Gateway: 10.0.0.1 * DNS server: 10.0.0.3 Starten Sie den Browser (hier IE6) und setzen Sie die Homepage auf folgende Adresse (muss mit der Angabe in der hc-Datei übereinstimmen; siehe Schirtt 8):: http://10.0.0.1/winxp_ie6_demo Aktivieren Sie einen HTTP/HTTPS-Proxy für die Adresse:: 10.0.0.2:80 Das vorbereitetes SSL-Zertifikat (mitmproxy) von mapWOC `herunterladen `_ und als vertrauenswürdige Stammzertifizierungsstelle im SSL-Zertifiaktsmanager importieren. (mapWOC integriert den mitmproxy als HTTP/HTTPS-Proxy.) Installieren Sie bei Bedarf weitere erforderliche Software. Wichtig: Deaktivieren Sie alle automatischen Updateprüfungen von Betriebssystem und installierter Software. Anschließend fahren Sie das Betriebssystem herunter. 4. KVM-Overlay-Image erstellen:: kvm-img create -b winxp-master.img -f qcow2 winxp_ie6_demo.ovl 5. KVM-Overlay-Image starten:: kvm -hda winxp_ie6_demo.ovl -m 128M -vnc :1 6. Browser starten (hier IE6). 7. Betriebssystem in den Ruhezustand versetzten. Bei Windows XP: *Start > Beenden > Herunterfahren > Ruhezustand* (Umschalttaste drücken) Das Betriebssystem speichert den Zustand in das Overlay-Image. Damit existiert nun ein Master- und ein Overlay-Image. 8. Damit mapWOC den neuen Honey-Client kennt, muss noch eine neue Konfigurationsdatei (hc-Datei) im ``hcsdir``-Verzeichnis der Node angelegt werden. Hier ein Beispiel für eine hc-Datei ``winxp_ie6_demo.hc``: .. code-block:: bash [hc] name=WindowsXP Demo Image IE6 description=Lots of other software on it hcsid=winxp_ie6_demo max_parallel=-1 controllable=true active_browser=cpe://a:microsoft:ie6 installed_software=cpe:o:microsoft:etc [control] type=kvm boots=true image_master=/usr/share/mapwoc/images/winxp-master.img image_file=/usr/share/mapwoc/images/winxp_ie6_demo.ovl image_memory=128 [network] own_ip=10.0.0.4 dns_ip=10.0.0.3 proxy_ip=10.0.0.2 gateway_ip=10.0.0.1 homepage=http://10.0.0.1/winxp_ie6_demo 9. Zuletzt muss nur noch die Node und der Master von mapWOC neu gestartet werden:: mapwoc-node mapwoc-master Der neue virtuelle Honey-Client *winxp_ie6_demo* erscheint nun in der Liste der Honey-Clients. Beim Klick auf diesen Eintrag lassen sich die Details anschauen (siehe Screenshot): .. only:: latex .. image:: _static/screen-hcs-details_big_de.png :width: 80% .. only:: html |screen-hcs-details_de|_ .. |screen-hcs-details_de| image:: _static/screen-hcs-details_de.png :alt: Details eines Honey-Clients .. _screen-hcs-details_de: _static/screen-hcs-details_big_de.png Native Honey-Clients -------------------- Native Honey-Clients sind Geräte, die nicht automatisiert von mapWOC gesteuert werden können (z.B. Mobilgeräte, Laptop). Automatisiert steuern kann mapWOC nur Virtuelle Maschinen (s.o.). Native Honey-Clients bauen per WLAN eine Verbindung zu einem Access-Point auf, welcher am mapWOC-Server angeschlossen und eingerichtet ist. **Nativen Honey-Client hinzufügen** Um nun einen neuen nativen Honey-Client in mapWOC hinzuzufügen, befolgen Sie folgende Schritte: 1. MAC-Adresse des nativen Geräts über das Administrationsinterface des WLAN-Access-Points hinzufügen. 2. Eine neue hc-Konfigurationsdatei im ``hcsdir``-Verzeichnis der Node anlegen. Hier ein Beispiel für ein Nokia N900 mit Maemo und MicroB-Browser in der hc-Datei ``maemo_microb_n900.hc``: .. code-block:: bash [hc] name=N900, MicroB description=Maemo hcsid=maemo_microb_n900 max_parallel=1 controllable=false active_browser=mapwoc-cpe:/a:nokia:microb os=mapwoc-cpe:/o:nokia:maemo installed_software=mapwoc-cpe:/o:nokia:maemo [control] type=native interface=vlan103 image_memory=10 [network] client_mac=c0:38:f9:ee:f0:ec wlan_ssid=mw-103 proxy_ip=10.1.103.1:1066 3. Abschließend die Node und den Master von mapWOC neu starten:: mapwoc-node mapwoc-master Der neue native Honey-Client *maemo_microb_n900* erscheint danach in der Liste der Honey-Clients. Ergebnisse ========== Die Ergebnisse aller Scans werden unter dem Menüpunkt *Ergebnisse* dargestellt. Sie können diese Ergebnisse filtern: - nach einer Zeichenkette in einer URL (z.B. die Domain ``example.com``), - nach einem oder mehreren Ergebnis-Typen, - nach einem vorhandenen Scan (aus den letzten 500 Scans). Alle Filter können auch kombiniert werden. Der folgende Screenshot zeigt eine Ergebnis-Übersichtsseite mit allen Filtermöglichkeiten: .. only:: latex .. image:: _static/screen-results_big_de.png :width: 80% .. only:: html |screen-results_de|_ .. |screen-results_de| image:: _static/screen-results_de.png :alt: Ergebnissübersicht .. _screen-results_de: _static/screen-results_big_de.png Bei Auswahl eines "Besuchs" (d.h. ein Einzelergebnis, bei dem ein oder mehrere URLs analysiert worden sind) wird neben Scaninformationen des HC auch ein Bildschirmfoto der besuchten URL dargestellt. Anhand des Bildschirmfotos lässt sich so einfach erkennen ob oberflächlich an der Webseite etwas ungewöhnlich erscheint. Mögliche Funde auf der besuchten URL werden auf dieser Resultatseite in Tabellenform dargestellt -- mit Angabe des gefundenen Typs und des jeweiligen Schweregrads. Der höchste Schweregrad dieser URL wird im oberen Bereich zusammengefasst. .. only:: latex .. image:: _static/screen-result-detail_big_de.png :width: 80% .. only:: html |screen-result-detail_de|_ .. |screen-result-detail_de| image:: _static/screen-result-detail_de.png :alt: Einzelergebnis mit Screenshot .. _screen-result-detail_de: _static/screen-result-detail_big_de.png Ergebnis-Typen -------------- mapWOC analysiert den Netzwerkverkehr beim Besuch jeder URL. Dabei werden relevante, in einem Analyseskript festgelegte Dateien aus dem sogenannten *pcap*-Strom extrahiert und mit einem integrierten Virenscanner (voreingestellt ist *ClamAV*) untersucht. Jede extrahierte Datei wird als Fund bezeichnet. Jeder Fund wird bewertet, wie sicherheitskritisch diese Datei sein könnte, und in einen Schweregrad von 0 bis 999 eingeteilt: 0 ist ungefährlich, 999 bedeutet sehr kritisch. Die nachfolgende Auflistung zeigt die verfügbaren Ergebnis-Typen mit ihrem jeweiligen (vorbelegten) Schweregrad - sortiert in absteigender Reihenfolge: - unknown (999) - VirusFound (900) - MissingTraffic (600) - WindowsExecutable (500) - GoogleAnalyticsParser (500) - MACExecutable (211) - MSOfficeDocument (210) - Flash (200) - PDF (199) - 404 (100) - JSAnalyser (100) - 204 (99) - 302 (60) - GraphicsFound (50) - UnknownProtocol (001) - RegularTraffic (000) Ändern lassen sich die Schweregrad-Werte in der Konfigurationsdatei **/etc/mapwoc/severities.conf**. Anschließend muss mapwoc-master neu gestartet werden. Die neue Belegung gilt dann nur für alle zukünftigen Scans; nicht rückwirkend für vergangene Scan. Redirector ========== Der Redirector ist zuständig für die Verteilung der URLs. In jedem Browsersystem muss die URL des Redirectors als Startseite eingestellt werden:: http://10.0.0.1/ Also z.B.: `http://10.0.0.1/winxp_ie6_demo` Durch Aufrufen dieser URL bekommt das Browsersystem vom Redirector die nächste URL aus der Liste geliefert. Wird der *Schnell-Modus* verwendet, werden vom Redirector gleich *n* URLs zurückgeliefert, die in *n* Browserfenstern geöffnet werden. (*n* ist die Anzahl der Seiten pro Honey-Client). Die Redirector-Seite bietet während eines Scans eine Übersicht über den Fortschritt der verwendeten URL-Listen. Bei den letzten abgerufenen URLs wird zusätzlich der Honey-Client und der Zeitpunkt angegeben. Die nächsten URLs geben einen Ausblick, welche URLs als nächstes vom Redirector verteilt werden. .. only:: latex .. image:: _static/screen-redirector_big_de.png :width: 80% .. only:: html |screen-redirector_de|_ .. |screen-redirector_de| image:: _static/screen-redirector_de.png :alt: Redirectorübersichtsseite .. _screen-redirector_de: _static/screen-redirector_big_de.png .. raw:: latex \newpage Benutzer ======== mapWOC unterteilt Benutzer entsprechend ihres Aufgabenprofils in drei Rollen: 1. **Gast** Ein Gast darf *keine* Änderungen vornehmen. Lediglich Informationen ansehen: - Systemstatus, Ergebnisse, URL-Listen, Scankonfigurationen, Honey-Clients, Knoten, Redirector und Meldungen ansehen - eigene Benutzereinstellungen ändern 2. **Normaler Nutzer** Im Vergleich zum Gast darf der normale Nutzer zusätzlich: - URL-Listen verwalten - Scans anlegen/starten/stoppen 3. **Administrator** Im Vergleich zum normalen Nutzer darf der Administrator zusätzlich: - Benutzern verwalten - neue Knoten hinzufügen/entfernen - Systemeinstellungen ändern Für jeden Benutzer lassen sich unterschiedliche E-Mail-Benachrichtigungen konfigurieren: - Benachrichtigungen bei Problemen mit einem mapWOC-Knoten (z.B. Ausfall) - Benachrichtigung bei Abschluss eines Scans - Benachrichtigung, wenn ein schwerwiegender Fund aufgetreten ist. (Der niedrigste Schweregrad für die Benachrichtigung ist über ein Auswahlfeld einstellbar.) .. only:: latex .. image:: _static/screen-users-details_big_de.png :width: 80% .. only:: html |screen-users-details_de|_ .. |screen-users-details_de| image:: _static/screen-users-details_de.png :alt: Benutzer bearbeiten .. _screen-users-details_de: _static/screen-users-details_big_de.png