Ich möchte ein "Red Teaming"
Michael Schneider
In diesem Artikel werden wir einen einführenden Blick auf Software Defined Radio (SDR) werfen. In Punkto Funkübertragung, Hardware Hacking und generell dem Zugriff auf Dinge, auf die Sie normalerweise nicht zugreifen können ist das ein hochinteressantes Feld. Am Ende dieser Einführung sollten Sie in der Lage sein, eine SDR-Antenne aufzusetzen und diese zu betreiben, gute Ressourcen für weitere Recherche kennen und Tools zur Verfügung haben, mit denen Sie Flugzeuge verfolgen können.
Radiosignale werden traditionellerweise von Hardware – Antennen, Filter, Demodulatoren, Verstärker und so weiter – versendet und empfangen. Software Defined Radio verarbeitet Daten mit Software und nicht mit Hardware. Die Antenne liefert ein Rohsignal zur Software, welche die Verarbeitung und Demodulation übernimmt. Diese Verarbeitung kann einerseits frei erhältlich sein oder aber auch unabhängig entwickelt worden sein.
Am USENIX Security Symposium 2009 haben zwei Researcher der École Polytechnique de Lausanne (EPFL), Martin Vuagnoux und Sylvain Pasini, ihre Funde in Punkto Compromising Electromagnetic Emanations of Wired and Wireless Keyboards (Deutsch: Kompromittierung elektromagnetischer Signale kabelgebundener und kabelloser Tastaturen). Im Zuge ihrer Forschungen waren die beiden in der Lage, komplett oder teilweise die Anschläge auf alten PS/2-Tastaturen mit einer 95 prozentigen Erfolgsquote auszulesen. Dieselbe Technik konnten die Forscher auch auf USB-Keyboards und kabellose Tastaturen anwenden. Mit derselben Erfolgsquote. Was besonders beeindruckt, nebst der Tatsache, dass so eine Attacke überhaupt möglich ist: Die Distanz. Der Angriff war über eine Distanz von 20 Meter erfolgreich.
Vuagnoux und Pasini haben vier separate Methoden gefunden, wie Signale von Tastaturen gefunden und erkannt werden können. Sie konnten sogar zwischen Tastenanschlägen von mehreren gleichzeitig genutzten Tastaturen unterscheiden.
Compromising Electromagnetic Emanations of Keyboards Experiment 2/2 from Martin Vuagnoux on Vimeo.
Ein anderes Projekt, der vor Kurzem von zwei Forschern der Ben-Gurion-Universität des Negev, Mordechai Guri und Yuval Elovici, vorgestellte AirHopper, nutzt den internen FM-Empfänger eines Android Smartphones mit den Kopfhörern als Antenne um elektromagnetische Signale von Tastenanschlägen der Zielmaschine festzustellen.
Das Szenario ist auf drei Elemente angewiesen:
Bösartiger Code wird auf der Zielmaschine wie auch dem Smartphone installiert, ein C&C-Kanal wird zum Smartphone etabliert und das FM-Radio wird zur Überwachung, Entdeckung und Dekodierung von Informationen des Smartphones genutzt.
Der bösartige Code auf der Zielmaschine erzeugt ein FM-Audio-Signal unter Nutzung des Display-Adapters. Das Signal kann entweder durch Dual Tone Multi-Frequency (DTMF) moduliert werden oder auch durch Audio Frequency-Shift Keying (A-FSK), damit sie auf die Frequenz des Carriers kommt.
Diese Forschung ist interessant weil Computerumgebungen oft abgeschirmt sind. Die Qualität des Schirms kann je nach Hardware stärker oder schwächer sein. Stellen wir uns ein Szenario vor, in dem wir mit der Methode der École Polytechnique Fédérale de Lausanne die Tastenanschläge auf einem Point-of-Sales Terminal identifizieren. Das Terminal wird unter anderem dazu genutzt, PINs von Bank- und Kreditkarten einzugeben. Oder in einem anderen Szenario könnten Skimmer das Risiko der Entdeckung drastisch reduzieren und weiterhin Kreditkartendaten und PINs auslesen. In beiden Szenarien muss der Magnetstreifen der Karte kopiert werden, aber die Aufzeichnung der PIN kann über eine Distanz hinweg geschehen.
Tastenanschläge ausspionieren ist sicherlich ein interessantes Thema zur weiteren Forschung und Recherche. Allerdings ist das etwas weiter fortgeschritten. Zu Beginn benötigen Neulinge vielleicht etwas Motivation, um eine Antenne zu kaufen und das System aufzusetzen. Für off-the-shelf Projekte gibt es Websites wie rtl-sdr.com, OsmoSDR, radio.linux.org.au oder rtl-sdr on OsmoSDR. Auf diesen Sites finden Sie unter anderem folgende Projekte:
Achtung: Bitte beachten Sie die rechtlichen Aspekte Ihres Projekts. Unter Umständen sind einige der Projekte, auch wenn sie noch so interessant klingen, in Ihrem Land illegal. Das betrifft vor allem Projekte, die Signale übermitteln.
Das grundlegende Setup benötigt Hardware, die Rohsignale zur verarbeitenden Software weiterleiten kann. Diese Hardware muss einen unterstützten Chipsatz haben. Die OSmocom website ist eine gute Ressource für den Anfang und erwähnt sogar einige Hardware-Modelle. Der Realtex RTL2832U ist ein günstiger DVB-T-Modulator, der rohe I/O Signale an den Host übertragen kann. Nebst der Antenne ist der Tuner das Wichtigste. Ein Tuner mit einer grossen Frequenzbreite bietet die Möglichkeit, das Setup für eine Vielzahl Projekte einzusetzen. Beim Tuner, der für diesen Artikel verwendet wurde, handelt es sich um einen Rafael Micro R820T, der mit einem Frequenzspektrum von 24 – 1766 MHz arbeitet.
Die Software für Projekte mit Software Defined Radio muss nicht erst geschrieben werden. Allerdings können, je nach Projekt, Software-Packages notwendig sein. Das Hostsystem in diesem Artikel ist ein 32bit Fedora Linux. Mit diesem Setup ist es nun an der Zeit für ein erstes Projekt: das Abfangen von Automatic Dependent Surveillance Broadcast Data, die von Flugzeugen gesendet werden.
ADS-B steht für Automatic Dependent Surveillance-Broadcast, zu deutsch etwa Automatische bordabhängige Überwachung. Dabei handelt es sich um ein System, das die Position von Flugzeugen übermittelt. Wenn ein Flugzeug sein ADS-B-System aktiviert hat, sendet es in regelmässigen Abständen folgende Daten aus:
Diese Daten werden über Rundfunk ausgesendet und können daher von jedem empfangen werden. Websites wie FlightRadar24 bieten mit dieser Informationsflut einen Webservice zur Flugüberwachung an.
Wir werden im Zuge unseres Flugüberwachungsprojekts Dump1090 verwenden, einen Mode S Dekoder für RTLSDR-Geräte, damit wir ADS-B Signale empfangen und dekodieren können. Dump1090 kann einfach im Command Line Interface genutzt werden und bietet kartenbasierte Visualisation.
Die folgenden Befehle installieren rtl-sdr
und andere Libraries, mit denen Dump1090 funktioniert.
yum install rtl-sdr-devel.i686 rtl-sdr.i686 libusbx-devel.i686
Die Installation über die offiziellen Fedora Repositories ist die einfachste Methode. Weiter kann aber auch git checkout via Repository verwendet werden.
Als nächstes muss Dump1090s Source beschafft werden. Das geht entweder mit wget oder mit git checkout:
wget https://github.com/antirez/dump1090/archive/master.zip
Die Kompilierung ist einfach:
Nach der Installation muss die Software auf ihre Funktionalität geprüft werden.
[root@localhost]# rtl_test -t Found 1 device(s): 0: ezcap USB 2.0 DVB-T/DAB/FM dongleUsing device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle Detached kernel driver Found Rafael Micro R820T tuner Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 No E4000 tuner found, aborting. Reattached kernel driver
Der Output zeigt an, dass der DVB-T-Dongle gefunden wurde und dass ein Rafel Micro R8200T Tuner angeschlossen ist. Als nächsten Schritt wird Dump1090 ausgeführt, damit wir sehen können, was Flugzeuge aussenden:
Starten sie Dump1090 mit dem folgenden Befehl und browsen sie auf http://127.0.0.1:8080
um die Flugzeuge auf einer Karte zu sehen.
./dump1090 --interactive --net
Software Defined Radio hat eine Vielzahl an Anwendungsmöglichkeiten. Projekte mit ADS-B sind gut um in den Bereich einzusteigen, da ausreichen Informationen und Software vorhanden sind. Andere Projekte wie GSM Sniffing können gut zu Demonstrationszwecken genutzt werden. Mit dem richtigen Equipment, dem HackRF One zum Beispiel, können unbekannte Rohdaten analysiert und reverse engineered werden. Autoschlüssel, Garagenöffner zum Beispiel.
Wir führen gerne für Sie ein Monitoring des Digitalen Untergrunds durch!
Michael Schneider
Marisa Tschopp
Michèle Trebo
Andrea Covello
Unsere Spezialisten kontaktieren Sie gern!