Sichere und robuste Bluetooth-Kommunikation

4. Dezember 2009, 8:42 Uhr |
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Sichere und robuste Bluetooth-Kommunikation

Über ein Netzwerk verbundene Geräte sind häufig Angriffen ausgesetzt. Das gilt insbesondere für drahtlose Systeme, bei denen der Angreifer versucht, sich Zugang zu Daten zu verschaffen oder aber die Kontrolle über das jeweilige Gerät zu erhalten. Häufig macht sich der Angreifer Sicherheitslücken zu Nutze oder nutzt Schwachstellen bzw. Fehler im Code (Buffer Overflow u.a.) für die Angriff aus. Solche Angriffe betreffen direkt die Sicherheit eines Systems. Zusätzlich können Probleme auf der Applikationsebene dazu führen, dass die jeweiligen Geräte in einen instabilen Zustand kommen bzw. gar nicht mehr antworten. Hier handelt es sich in vielen Fällen um Probleme der Anwendung.

Die genannten Probleme treten auch bei beliebigen Bluetooth-Systemen wie Mobiltelefonen auf und sind für den Anwender viel lästiger, unangenehmer und im Einzelfall gefährlicher als viele der bei Bluetooth beschriebenen Sicherheitslücken. Diese Probleme betreffen direkt die Stabilität bzw. Robustheit eines Systems, beeinträchtigen dessen Einsatz und können zu einer negativen Beurteilung des jeweiligen Gerätes bzw. Geräteherstellers durch den Anwender führen. Mit Hilfe eines Robustheits-Testwerkzeuges lassen sich solche Schwachstellen inklusive der Probleme mit dem Funktionsumfang der Sicherheitswerkzeuge bei der Entwicklung eines Bluetooth-Systems finden.

Testen der Sicherheit und Robustheit eines Bluetooth-Systems

Die Arbeitsweise eines solchen Testwerkzeuges wird hier am Beispiel der Defensics Suite von Codenomicon (www.codenomicon.com) dargestellt. Die Software von Codenomicon für den Bluetooth-Robustheitstest ist ein Black-Box-Tester mit über 130 000 Testfällen, die sich automatisch abarbeiten lassen. Diese Tests verifizieren, wie stabil eine Bluetooth-Implementierung inklusive der Anwendungen (Telefonbuchverwaltung, Synchronisation, Datentransfer etc.) arbeitet, wenn die übertragenen Daten im Kontext der Bluetooth-Übertragung ungültig oder aber einfach nur schlecht formatiert sind. Durch die Verwendung einer solchen Robustheitstest-Software lassen sich Fehler aufspüren, die sonst sehr schwierig oder nie gefunden werden können. Der Defensics-Bluetooth-Tester beinhaltet für jede Protokollschicht (L2CAP, SDP, RFCOMM, OBEX), jedes Profil (OPP, FTP, IrMC Sync, BIP, BPP, BNEP, HFP, HSP, DUN, PBAP, FAX, AVRCP, A2DP, HCRP, HID, SAP) und jede Bauteil-Funktion (Client/Server, Unit/Gateway etc.) einen umfangreichen Satz von Testfällen.

Diese Testfälle beinhalten Tests wie Datenüberlauf, Bereichsunterschreitung, Integer-Anomalien, „unerwartete Elemente“, Sequenzabweichung und Wiederholungen. Sie unterstützen einen vollständigen Test aller Bluetooth-Protokollelemente und aller in den Bluetooth-Profilen definierten Datenfelder (vorgeschrieben und optional). Damit lassen sich viele Schwachstellen (Systemabstürze, Sicherheitslücken, Abweisen eines Dienstes, fehlerhaftes Verhalten usw.) ausfindig machen.

Jeder Testfall entspricht immer einer Anomalie (Bild), wobei es sich bei einer Anomalie unter anderen um eine Protokollverletzung, fehlerhafte Daten oder eine falsche Sequenz handeln kann. Manche Testfälle beinhalten auch mehrere Anomalien. Nach der Ausführung eines Testfalles – der immer mindestens eine Anomalie beinhaltet – wird ein korrektes (zulässiges) Kommando geschickt. Damit lässt sich die Reaktion eines „System under Test“ (SUT) testen.

e911an05_af_02.jpg
Jeder Testfall entspricht bei der Defensics Suite von Codenomicon immer einer Anomalie.

Das Robustheits-Testwerkzeug lässt sich auf einem PC installieren und verwendet einen Bluetooth-USB-Adapter für das Senden der Testpakete, die als Stimulation für das Bluetooth-SUT arbeiten. Die Tester-Software ist komplett in Java geschrieben, verfügt über eine Befehlzeilen-Schnittstelle und eine grafische Benutzer-Schnittstelle (GUI) zur Auswahl der Testfälle. Zusätzlich besteht die Möglichkeit der Instrumentierung, d.h., bei Auftreten eines bestimmten Fehlers (z.B. fehlende Antwort/Reaktion vom System innerhalb von zehn Sekunden) wird das SUT neu gestartet bzw. „Testlogs“ der Basis-Software im SUT – unabhängig von den Testberichten des Robustheits-Testwerkzeuges – abgespeichert. Umfangreiche „Testlogs“ und Berichterstattungs-Funktionen protokollieren aufgetretene Protokollfehler, Fehler der Anwendung, aber auch Sicherheitsprobleme, die z.B. für Dienstabweisungs-Attacken verwendet werden können. Diese Tests können mehrere Stunden in Anspruch nehmen, wobei sich einzelne oder auch alle Tests mehrfach ausführen lassen. Denn jeder kennt die Situation, dass Probleme nur nach mehrmaliger Ausführung einer Funktion auftreten. Somit ermöglicht nur eine mehrfache Wiederholung bestimmter oder auch aller Testfälle die Erkennung solcher Fehler.

Systemabstürze lassen sich – wenn einmal bekannt – von fast jedem PC ausführen. Dabei handelt es sich um Sicherheitsprobleme, die wesentlich größer sind als die vermeintlichen Bluetooth-Sicherheitsprobleme, über die so häufig geschrieben wird. Mit dem Einsatz von Bluetooth in immer mehr neue Anwendungen verbreitet sich Bluetooth auch in sehr sensitive oder sicherheitskritische Bereiche. Daher ist es wichtig, dass die Anwendungen und Bluetooth in diesen Geräten robust und sicher arbeiten. Grundsätzlich sollten alle Geräte gegen fehlerhafte Dateneingaben geschützt werden. Syntaxanalysatoren (Parser) zum Robustheitstest für Bluetooth-Geräte verbessern die Stabilität und Sicherheit von Bluetooth-Produkten, was wiederum die Anwenderzufriedenheit mit dem jeweiligen Produkt erhöht.

Rudi Latuske, ARS Software GmbH/bg


  1. Sichere und robuste Bluetooth-Kommunikation
  2. Sichere und robuste Bluetooth-Kommunikation

Jetzt kostenfreie Newsletter bestellen!