01.12.2012 Aufrufe

die datenschleuder. - Chaosradio - CCC

die datenschleuder. - Chaosradio - CCC

die datenschleuder. - Chaosradio - CCC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

TRY THIS AT HOME KIDS!<br />

Bluetooth for fun and profit<br />

Bluetooth ist eine drahtlose Sprach- und Datenübertragungstechnik, <strong>die</strong> mittlerweile<br />

in den verschiedensten Geräten wie Handy, PDA, USB Stick, PCMCIA Karte,<br />

Tastatur, Maus, Headset, Drucker usw. zu finden ist. Im Gegensatz zu Infrarot ist<br />

Bluetooth nicht auf Sichtkontakt der zu verbindenden Geräte angewiesen und funktioniert<br />

mit guter Hardware auch durch Wände hindurch, ist also mit WLAN zu vergleichen<br />

und funkt ebenfalls im 2,4 GHz Bereich.<br />

von crazydj<br />

Beim Design von Bluetooth wurde speziell auf eine<br />

sichere Implementierung geachtet, so läßt sich <strong>die</strong> Verbindung<br />

verschlüsseln und authentifizieren und <strong>die</strong><br />

Bluetooth Adresse wird von der Firmware des Bluetooth<br />

Geräts und nicht durch den Kernel gesetzt, was<br />

das Spoofen <strong>die</strong>ser Adresse nahezu unmöglich macht.<br />

Dennoch tauchten in der Vergangenheit immer wieder<br />

Meldung über Sicherheitslücken in den verschiedensten<br />

Bluetooth Implementationen von Herstellern<br />

wie Nokia und Siemens auf und man liest ständig über<br />

Bluejacking. Grund genug sich mal eingehend mit <strong>die</strong>ser<br />

Technologie auseinander zu setzen.<br />

Here we are! :) Dieser Artikel beschreibt sowohl den<br />

Bluetooth Protokoll Stack und <strong>die</strong> Einrichtung von<br />

Bluetooth Hardware unter Linux 2.4 / 2.6 als auch<br />

typische Anwendungen wie Datenaustausch, Aufbau<br />

eines Netzwerks, Scannen nach Devices und Diensten<br />

und <strong>die</strong> Programmierung einfacher Anwendungen<br />

unter Verwendung der BlueZ Libraries.<br />

Die Theorie<br />

Ein Überblick über den Bluetooth Protokollstack:<br />

Funk (Bluetooth Radio):<br />

• 2,4 GHz Ism Band (2400 - 2483,5 MHz)<br />

• 79 verfügbare Kanäle<br />

• Sendestärke: 1 mW - 100 mW<br />

12 12<br />

#83 / 2004<br />

• Reichweite: 1 - 100m<br />

• Frequenzwechsel nach jedem Paket<br />

SCO / ACL (Bluetooth Baseband):<br />

• SCO (Synchonous Connection Oriented) baut eine<br />

synchrone verbindungsorientierte Punkt-zu-Punkt<br />

Verbindung auf und <strong>die</strong>nt zur Sprachübertragung.<br />

• ACL (Asynchonous Connection Less) baut<br />

wahlweise eine synchrone oder asynchrone<br />

verbindungslose Punkt-zu-Punkt Verbindung auf<br />

und <strong>die</strong>nt zur Datenübertragung.<br />

• Sowohl SCO als auch ACL werden durch <strong>die</strong><br />

Firmware des Bluetooth Geräts implementiert.<br />

LMP (Link Manager Protocol)<br />

• LMP kann man mit Ethernet vergleichen. Es<br />

implementiert <strong>die</strong> 48 Bit lange Bluetooth Adresse<br />

und ist für den Link Setup, <strong>die</strong> Authentifizierung<br />

sowie <strong>die</strong> Verschlüsselung zuständig. LMP wird<br />

durch <strong>die</strong> Firmware der Bluetooth Hardware<br />

implementiert. Einen guten Einblick in <strong>die</strong><br />

Funktionsweise von LMP gibt es auf Palowireless.<br />

com [1] .<br />

HCI (Host Control Interface)<br />

• HCI bietet eine einheitliche Schnittstelle zur<br />

Bluetooth Firmware und gehört eigentlich nicht<br />

direkt zum Bluetooth Protokoll Stack, aber es<br />

wird unter anderem dazu verwendet L2CAP<br />

Pakete an den Link Manager der Firmware zu<br />

senden und ist somit der unterste Layer, der im<br />

Kernel implementiert ist. HCI <strong>die</strong>nt außerdem<br />

dazu <strong>die</strong> aktuelle Config und Features sowie<br />

den Status des Geräts auszulesen und zu<br />

setzen. Die Kommunikation ist paket- und<br />

verbindungsorientiert.<br />

L2CAP (Logical Link Control and Adaptation Protocol)<br />

• L2CAP kann man mit IP vergleichen. Die<br />

Hauptaufgabe <strong>die</strong>ses Protokolls ist <strong>die</strong><br />

Fragmentierung, das Groupmanagement und<br />

<strong>die</strong> Implementierung höherer Protokolle wie<br />

RFCOMM, SDP oder BNEP. L2CAP baut über ACL<br />

eine Verbindung auf, über <strong>die</strong> dann <strong>die</strong> Pakete<br />

der anderen Protokolle geschleust werden. Auf<br />

Palowireless.com [2] findest du mehr über L2CAP.<br />

RFCOMM / SDP / BNEP<br />

• RFCOMM simuliert eine serielle Schnittstelle und<br />

<strong>die</strong> <strong>datenschleuder</strong>

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!