16. April 2009

Eindrücke von der BlackHat Europe 2009

Ich habe das Vergnügen dieses Jahr an der Black Hat Europe in Amsterdam teilzunehmen. In Folgenden werden einige Eindrücke der besuchten Vorträge und der ganzen Konferenz wiedergegeben. Allerdings natürlich nicht der ganze Inhalt der Vorträge, die meisten Folien sind auf der BlackHat Seite abrufbar.

Vorabend:
Tja, an sich wurde eine Art Einführung an der Bar erwartet, allerdings war das wirklich nur als „geh hin und schau ob jemand anders da ist“ vom Veranstalter gedacht. Dank einem nicht näher zu benennende Sales Guy war es mit rund zwölf Leuten ein recht launiger Abend in der Stadt.

Tag 1:
09:00 Privacy Protecting People or People Protecting Privacy

Der erste Vortrag war einer der wenigen nicht technischen und mehr auf gesellschaftliche abziehlende – und das Ganze präsentiert von Lord Errol (Merlin), Mitglied des House of Lords in England. Ein interessanter Vortrag, recht launig
präsentiert und in den Ansichten durchaus radikal. Einige Thesen:

  • Man kann komplexe Systeme nicht mit Regeln eingrenzen. Begründung: Komplexe Systeme sind zu verteilt und die
    Dateneingabe wird von vielen Menschen über unterschiedliche Wege vorgenommen, so dass die Datenbestände falsch sein werden
    und nicht jede Prüfung in Regeln abgebildet werden kann.
  • „echte künstliche Intelligenz ist mit binären Systemen nicht möglich“ Begründung: Der Mensch denkt nicht binär, nicht
    jede Entscheidung ist mit TRUE oder FALSE lösbar. Das Salz in der Suppe ist der „graue Schleier“ menschlicher Entscheidungen.

10:15 Pause
Kein Kaffe 🙁

10:30 A Cloud Security Ghost Story
Cloud Computing ist definitiv ein spannender Ansatz. Es ist skalierbar, effizient, günstig und, tadaaa: green 🙂
Craig hat die Security Aspekte von Cloud Computing als gut vergleichbar mit denen von Web Services bezeichnet. Ich denke er hat recht: Bei Webservices muss man in seinen Applikationen sehr darauf achten, die Daten von den Web Services auf Korrektheit zu prüfen. Er teilte „Cloud“ in drei Kategorien:

  • Infrastrcuture as a Service
  • Software as a Service
  • Application as a Service

Er führte diverse Beispiele an, warum Cloud viele Sicherheitsprobleme mit sich bringt. Beispielsweise erhält man wenn man Daten von Amazon CS2 berechnen lässt pro Account nur einen Key über den man sich bzw. die Anwendungen authentisieren kann. Also braucht jeder Entwickler den Key. Wie separiert nun man die Daten für die einzelen internen Entwickler? Wenn der Key kompromitiert wird, sind die Daten abrufbar. Man kann den Key auch nicht weiter einschränken, z. B. auf Source-IPs.
Aber für Keymanagenent gibt es Trust Brokers, die die fehlende Granularität der Keys wiederherstellt. Nochmal jemand, mit dem man die Daten teilen muss.

Alle Probleme die man in den vergangenen Jahren vermehrt intern bearbeitet hat (z. B. Daten alter Platten schreddern, Zutrittssicherheit, etc) muss der Provider übernehmen. Es ist jedoch nicht ekannt wie er es macht. Darüber hinaus ist derzeit keine Lösung in Sicht, wie man z. B. Compliance etwa zur PCI-DSS erreichen kann, wenn man die Daten bei Dritten speichert oder verarbeitet.

Weitere Aspekte zu den drei Grundwerten der IT-Sicherheit in aller Kürze:

Verfügbarkeit:

  • Internet-Verbindung
  • Cloud-Uptime (Downtime von MS)

Integrität:

  • kann jemand die Daten in der Cloud verändern? Oder auf dem Weg dahin?:

Vertraulichkeit

  • Daten können nicht unverschlüsselt bearbeitet werden

Ein neuer Aspekt: Konsistenz der Daten. Die Daten in einer Cloud replizieren sich auf die weltweiten Systeme des Anbieters. Auf der einen Seite lädt z. B. in Amerika ein „Sales Guy“ neue Daten in die Cloud, der andere Sales Guy erstellt die neue EMEA-Preisliste, hat aber noch die alten Daten, weil die Replikation der Daten noch nicht erfolgt.

Ein Lesetipp des Referenten ist das Dynamo Whitepaper.

Ein weiteres Problem ist die Behandlung von Sicherheitsvorfällen:

  • in der Cloud ist nicht bekannt, in welchem Kontext sich meine Daten befinden und wann ich bitte informiert werden möchte.
  • die Cloud skaliert, aber skaliert auch der Support bei einem Ausfall oder Datenverlust?

Einige Beispiele toller, neuer Applikationen, die hoffentlich nicht viel Anklang finden werden. Eine Zusatzanwendung für Salesforce speichert die Attachments bei Amazon. Diese App wird mit „High Security“ beworben, speichert die Daten aber im Klartext in Amazons Storagecloud. Begründung: Amazon wird schon sicher sein. Allerdings weist Amazon daraufhin, dass die Daten bitte verschlüsselt abgelegt werden sollen.

Ein sehr interessantes Feld, ein sehr interessanter Vortrag mit einigen neuen Aspekten.

12:00 All your packets are belong to us
Enno Rey und Daniel Mende zeigten einige Tools, die bereits bekannte Design-Flaws in Backbone-Protokollen wie BGP und MPLS technisch umsetzten. So z. B. ein bgp Software Emulator und ein bgp MD5 Cracker, der mit Hilfe eines Wörterbuch 4 Millionen Versuche in 7 Sekunden durchführte das Passwort hinter dem MD5 Hash zu brechen.

Voraussetzung (und sehr oft betont) bei allen Angriffen: Zugriff auf das Backbone-Netz.

MPLS:
mpls_redirect modifiziert VPN-Labels (MPLS ist basierend auf Labels, sehr nahe an VLAN vom Prinzip her)
mpls_tun bastelt ein virtuelles Interface auf Basis Linux mit dem man Daten in den Tunnel senden und empfangen kann.

Insgesamt recht anschaulich und nett, wenn auch inhaltlich keine neuen Erkenntnisse bei rumkamen – aber die Tools sind schick 🙂

14:15 Advanced SQL Injection exploitation to Operating System Full Control
Den ersten Applaus des Tages räumte Bernardo Damele Assumpcao Guimaraes ab. Der Hauptentwickler von SQLmap untersuchte diverse Umgebungen (Windows SQL-Server 2003, 2005, MySQL und PostgreSQL. Mit Hilfe von Funktionen wie LOAD_FILE und Support-Tables zum Speichern von Payload zeigt er sehr eindrucksvoll mit Hilfe der neuen Version von SQLmap automatisierte (!) Angriffe mit Payloads, die es in sich haben: Systembefehle ausführen, Meterpreter nutzen, etc.
Es gibt zwar einige Voraussetzungen, wie genau die jeweilige Applikation gegenüber SQL-Injection verwundbar ist, aber die automatisierte Ausführung war schlicht beeindruckend. Auch wenn ich im Gegensatz zum Referent der Meinung bin bzw. in den vergangenen Jahren die Erfahrung gemacht habe, dass die wenigsten verwundbaren Web-Anwendungen die Voraussetzungen erfüllen.

15:45 Taming the Beast : Assess Kerberos-Protected Networks
Der Vortrag über Kerberos zeigte Emmanuel Bouillon zunächst – nach dem Demoeffekt Systemabsturz – Replay Attacken it KDCspoof. Voraussetzung: Ein schlecht konfigurierter Client und ein lokles Netzwerk in dem MitM-Angriffe möglich sind. Ebenso gezeigt wurde eine Replay Attacke, die aber ebenfalls eine bekannte Attacke ist. Leider gelang es dem Referent nicht immer allen Zuhörern klarzumachen, was passiert und die Demos gingen zum Teil in die Hose. Ohne Vorkenntnisse wäre es sehr schwer gewesen dem Vortrag zu folgen, was in zu vielen Rückfragen führte.
Wirklich neue Aspekte wurden leider nicht gezeigt.

17:15 Alice in User-Land: Hijacking the Linux Kernel via /dev/mem
Wow, das war ein lustig technischer Vortrag. Anthony Lineberry (der jeden Jesus-Look-A-Like Contest spielend gewinnen würde) hat in seiner sehr eigenen Art eine derzeit möglich Attacke auf Linux Systeme gezeigt, die sich nicht Kernelmodulen bedient, sondern über die physikalische Adressierung von Arbeitsspeicher funktioniert. Dieser neuartige Rootkit erfordert viel Berechnungen im physikalischen Speicher, die er mit dem noch nicht erhältlichen Tool libmemrk automatisiert hat. Leider hatte er nur Slides dabei und keine Demo, spannend wars dennoch.

Abend
Der gesponsorte Umtrunk war recht schnell zu Ende, so dass viele Teilnehmer erstmal an die Bar gegangen sind, Ich bin dann mit einigen Referenten noch in die Stadt. Eine sehr nette runde mit interessanten Ideen.

Tag 2
09:00 Hijacking Mobile Data Connections
Das Wireless Application Protocol, das z. B. zum Versenden und Empfangen von MMS genutzt wird und per Pull und Push von den Servern die Informationen empfängt. Provisioning wird mit Hilfe von Binary XML Dokumenten vorgenommen die per Wireless Session Protocol http://www.javvin.com/wireless/WSP.html übertragen werden, gesichert durch ein Shared Secret, dass mit Hilfe HMAC gesichert wird. Mit Hilfe eines selbst gestrickten Tools haben die Refernten eine SMS mit Provisoning Informationen an ein Telefon gesendet. Man benötigt aber die PIN, die beim Provisioning vergeben wurde. Das kennt man bereits von validen Services wie dem Nokia Online Configurator http://www.nokia.de/service-und-software/konfiguration/online-konfiguration
Es gibt aber auch ein an der SIM Karte hängendes Auto-Provisioning, über das zunächst die PIN an den User gesendet wird und dann die Konfigurations-SMS. Wenn der User den Nachrichten vertraut, kann man natürliche böse Konfigurationen laden, um z. B. den DNS-Server umzubiegen. Das wurde recht nett gezeigt, wie leicht es eigentlich geht. Allerdings ist der Angriff an sich sehr schnell erzählt, es beruht alles auf dem Benutzer, der die Konfigurationsdaten annimmt. Der Rest ist bekannt.

10:15 Passports Reloaded Goes Mobile
Neue Ausweise enthalten RFID-Chips, mit denen sich drahtlos Informationen des Ausweises auslesen lassen. Der Vortrag zeigte auf, welche Möglichkeiten derzeit zum Kopieren der Chips existieren. Gegen 1:1-Kopien der RFID Chips hilft ein Mechanismus namens Active Authentication, allerdings ist durch einen Design-Flaw (ungeschützte Index-Datei) das Kopieren dennoch möglich. Ein netter Angriff ist eine Kopie zu nehmen und das Foto zu ändern (im Beispiel Osama Bin Laden).

Das Problem hierbei ist, dass die Daten digital signiert sind. Daher werden Änderungen zunächst erkannt (falsche Hashes, keine Active Authentication, falsche Signatur). Problem bei den Signaturen: Jedes Land ein einen eigenen Signing-Key, es existiert keine zentrale CA. Das ganze Zertifikatsmanagement der derzeit über 60 Länder muss also manuell ablaufen. Also gründet man sein eigenes virtuelles Land und signiert die Daten mit eigenem Zertifikat. Das hat in der Demo sehr gut funktioniert. Die Prüfungen in den Demos erfolgten alle mit einem Referenz-Tool, dass auch von den staatlichen Einrichtungen genutzt wird.
Das Ganze hat der Referent auch an Flughafen versucht und ein Video des Versuches präsentiert. Es hat auch an diesem Terminal funktioniert, obwohl völlig idotische Daten eingetragen waren (z. B. war der Pass älter als sein Besitzer).
In einem nächsten Schritt hat er mit Hilfe seines Tools eCL0WN und einem Nokia-Telefon einen RFID Chip ausgelesen und kopiert – das Volk applaudierte 🙂

12:00 Yes It Is Too WiFi, and No It’s Not Inherently Secure
Rob Havelt steckten wohl noch die Vorabende in den Knochen. Sein Vortrag über 802.11 FHSS Sicherheit, ein WLAN-System aus „den alten Tagen“, welches immer noch hohe Verbreitung in Logistikzentren hat. Aufgrund des massiven Channel-Hopping (alle 400 Millisekunden) und der Tatsache, dass es keine Sniffer-Software dafür gibt, wird meist nur die SSID als „secret“ verwendet. Es ist also erforderlich, irgendwie an die SSID zu kommen, außer mit extrem spezieller Hardware der Hersteller. Aber es gibt ja GNUradio. Man lauscht also auf eine oder mehreren Channels bis man die SSID erhält weil ein Paket vorbeikommt. Leider gab es keine Demo, nichts konkretes, keine Tools und nix. Schade.

14:15 Tactical Fingerprinting Using Metadata, Hidden Info and Lost Data
Im Vortrag von Chema Alonso und Enrique Rando geht es um Informationen, die sich in Dokumenten verstecken. Tony Blair ist dem bereits zum Opfer gefallen http://www.computerbytesman.com/privacy/blair.htm
Die beiden zeigten in einem sehr launigen Vortrag wie einfach es ist, öffentlich verfügbare Dokumente zu analysieren. Ein Tool hierbei ist Bintext. Darüber haben sie z. B. IP-Adressen, Serveradressen, Benutzernamen etc z. B. vom FBI oder der europäischen Kommission analysiert.
Sie führten aus, dass nicht nur Word, sondern quasi jedes Dokumentformat Informationen preisgibt. Für MS Word gibt es bereits seit längerem ein entsprechendes Tool (das wir übrigens quasi seit Erscheinen im Einsatz haben).
Die Beiden haben ein Tool namens FOCA geschrieben, das anhand einer URL die Dokumente herunterlädt, analyisert, die Informationen extrahiert und zusammenfasst. Brilliant gemacht.

15:45 Detecting „Certified Pre-owned“ Software and Devices
Software, die bereits mit Malware oder Backdoors ausgeliefert wird zu analysieren war Thema das Vortrags. Letztlich drehte sich alle um Anaomalie-Erkennung von Binaries, unterlegt mit vielen Beispielen. Mit Hilfe statischer Analyse mit Debuggern wie OllyDBG oder IDApro können mit Hilfe von Plugins entsprechende Verhalten analysiert werden. Ein interessanter Vortrag in einem Feld, das mich persönlich nicht so umreißt.

17:15 Masibty: A Web Application Firewall Based on Anomaly Detection
Zur Abwechslung gabs am Ende einen Vortrag mit universitärem Background über Web Application Firewalls. Am Anfang wurden WAFs als ein besseres grep bezeichnet. Lustiger Vergleich. Eine WAF ist letztlich ein IDS, das die Probleme klassischer IDS wie intensive Pflege, eigene Regeln, hoher Monitoring-Aufwand, etc mit sich bringt.
Vorgestellt wurd Masibty, ein IDS, das in der „echten Welt“ bestehen können soll. In Java geschrieben ist es derzeit für PHP-Anwendungen geschrieben, ist aber modular aufgebaut, so dass auch neue Plugins geschrieben und veröffentlicht werden.
Die Idee hinter der Anomalie-Erkennung ist recht simpel. Wenn ein Parameter meist eine Zahl ist, kann dies statistisch erfasst werden. Wenn also plötzlich eine String statt einer Zahl vorbeikommt, haben wir die Anomalie. Die Demos waren recht nett, wenn auch der Ansatz bereits in diversen kommerziellen Systemen enthalten ist.

Fazit
Es waren wahnsinnig viele Dienstleister und Hersteller vertreten. Insofern fand weniger ein Dialog mit Kunden, sondern mit Dienstleistern statt. Die Vorträge waren sagen wir mal durchwachsen. Manche waren wirklich bleeding edge, mit sehr ausgefeilten Angriffen. Andere haben theoretisch bekannte Probleme technisch mit Hilfe von Tools bewiesen oder basierten auf starker Benutzereinbeziehung. Aber nichts desto ohne eine spannende Veranstaltung mit einigen neuen Impulsen und interessanten Gesprächen – leidder jede zweite Pause ohne Kaffe.
Ich hock mich jetzt ins Auto und fahr nach Hause 🙂

/gt