Home

Warsurfer - Security

image

Contents

1. test kismet test done run dhcp 192 168 0 x done Juse kismet ip settings 192 168 1 x done _ 192 168 0 x test essid done 192 168 1 x 0 test ESSID test 4MAC Config connect to net Pa return 38 Abbildung 7 3 Verbidungsalgorithmus N Netz AVT Average Availability Time Durchschnittliche Zeit die ein Netz bisher verf gbar war Order Treffen mehrere Netze zu wird nach diesen Werten sortiert Beim Start des Warsurfers wird die Verbindende Karte auf Grundwerte Mana ged Modus kein Wepkey etc eingestellt Jetzt beginnt der Programmablauf Alle Verf gbaren Netze werden aufgelis tet die nicht schon von vornherein ausgeschlossen werden k nnen verschl sselt Geb hrenpflichtig etc Enth lt diese Liste ein vom Benutzer konfiguriertes Netz werden keine weiteren Tests durchgef hrt es wird direkt verbunden Gibt es f r ein oder mehrere Netze ein bekannte funktionierende Konfigurati on wird dieses Netz ausgew hlt bei mehreren M glichkeiten das Netz mit der gr ssten AVT Falls nicht wird gepr ft ob Netze noch nicht alle M glichen Tests durchlaufen haben hier wird das Netz mit den meisten fehlenden Tests gew hlt Haben alle verf gbaren Netze alle Tests durchlaufen wird das Netz ausgew hlt bei dem irgend ein Test am weitesten zur ck liegt in der Hoffnung das dieser mittlerweile funktioniert Wir sind nun am Punkt net choosen d h wir h
2. Abbildung 14 1 Risikoanalyse 96 Kapitel 15 Projektmanagementplan 15 1 Einf hrung 15 1 1 Projekt bersicht Wardriving ist ein unter Geeks beliebtes Hobby Dabei wird versucht mit einem Wirelessf higen Ger t meist einem Laptop ber ein fremdes Drahtlosnetzwerk eine Verbindung ins Internet aufzunehmen Dieser Ansatz ist sehr statisch Ge lingt es einem n mlich einmal eine Verbindung aufzubauen ist man geographisch an einen Ort gebunden um sicherzustellen dass man die Verbindung nicht wie der verliert Genau hier setzt der Warsurfer an Mit diesem Programm wird es m glich meh rere offene Drahtlosnetzwerke die einem beispielsweise w hrend einer Busfahrt durch Z rich begegnen auszunutzen um quasi eine stetige Verbindung ins In ternet zu erhalten 15 1 2 Projekt Lieferumfang Nachfolgend sind die Projektanforderungen laut Aufgabenstellung aufgelistet Diese sind in vollem Umfang zu erf llen Als Produkt der Arbeit soll eine funkti onsf hige Software vorliegen die zu demonstrieren ist Die Software muss direkt auf der entsprechenden Hardware ausf hrbar sein sowie bei Verwendung der dokumentierten Entwicklungs Tools auch generiert werden k nnen F r die ein gesetzte Plattform ist eine vollst ndige Installationsbeschreibung bereitzustel len Des weiteren wird eine Bedienungsanleitung erwartet Form frei w hlbar Erg nzend soll ein nach den unten stehenden Anforderungen aufgebauter Be richt entste
3. addr 4 Die neuen Werte wieder auf die Karte zuriickschreiben intf set dict e Wireless Interface rebooten Um sicher zu gehen dass nicht alte Einstellungen bernommen werden oder allenfalls Assoziationen zu nicht konfigurierten Accesspoints zu falschen Resultaten fiihren wird das Wireless Interface jeweils neu gestartet bevor eine neue Konfiguration darauf geschrieben wird Um eine Konfiguration auf das Interface zu schreiben werden die Linux Tools iwconfig und ifcon fig verwendet 41 iwconfig lt Karte gt essid off mode managed key off ifconfig lt Karte gt down ifconfig lt Karte gt up iwconfig lt Karte gt essid off mode managed key off Um ganz sicher zu gehen dass die Einstellungen auf der Karte wirklich gel scht werden wird das iwconfig Kommando zweifach aufgerufen Es k nnte n mlich sein dass sich die Karte sobald das Interface wieder auf geschaltet wird automatisch mit einem in der N he befindlichen Access point verbindet e DHCP Request absetzen Wenn Keine passenden Einstellungen f r ein Netz gefunden werden wird versucht per DHCP g ltige Einstellungen zu erhalten Die meisten DHCP Clients unter Linux Bsp dhclient werden nach einem Request nicht ter miniert sondern laufen im Hintergrund weiter Hier kommt scapy zum Einsatz Scapy bietet die M glichkeit DHCP Requests zu verschicken und dabei einen Timeout festzulegen nachdem der Versuch abgebrochen wer den soll ans scapy dhcp_reque
4. Gesch tzter Aufwand in Stunden 340 Tats chlicher Aufwand in Stunden 372 Die Differenz der beiden Stundenzahlen hat vor allem den Grund dass Anfangs grosse Probleme mit den Treibern herrschten welche erst bew ltigt werden mussten Dies bedeutete einen erheblichen Mehraufwand welcher aber durch den Einsatz von OpenVPN anstatt einer Implementation eigener Software wie der wett gemacht werden konnte Tats chlich war geplant nach der ersten Iteration einen Prototypen zur Verfiigung zu haben welcher sich bereits automatisch mit Netzen verbinden kann Dies war aufgrund des erw hnten Problems mit den Treibern nicht m glich Der Connec tor war nach der ersten Iteration nicht f hig sich zuverl ssig mit verschiedenen Netzen zu verbinden So konnten lediglich die Werte welcher der Detector gelie fert hat als Referenz f r die zweite Iteration in der es darum ging das Roaming zu implementieren genommen werden Anfangs der zweiten Iteration wurde das Treiberproblem durch den Einsatz neuer Hardware gel st und der getroffe ne Entscheid OpenVPN einzusetzen konnte unter realen Bedingungen getestet werden Die Resultate bertrafen die Erwartungen Deshalb wurde beschlossen auf die aufw ndige Variante das Roaming selbst zu programmieren zu Gunsten weiterer Verfeinerungen im Connector fallen gelassen Gegen Ende des Projektes ging es darum die Dokumentation termingerecht fer tigzustellen was ebenfalls ein paar berstunden mit sich brachte 8
5. 4 python downloaddaemon py nur wenn Sie den Mailfetcher einsetzen oder gr ssere Downloads planen 5 python mailfetcher py nur wenn Sie den integrierte Mailfetcher ver wenden m chten Die Ausgaben der einzelnen Fenster seien hier kurz erkl rt Kismet Das Kismetfenster zeigt die vom Sniffer entdeckten Netzwerke Diese k nnen Sie hier sortieren genauer untersuchen etc F r mehr Informationen lese Sie bitte die Kismet Dokumentation 68 R1 build 200508 amp Shell Abbildung 8 7 Kismet Screenshot Detector Im Detectorfenster k nnen Sie zusehen wie die Daten von Kismet in die Da tenbank bertragen werden Jede Zeile zeigt dabei die ESSID die BSSID sowie allf llig von Kismet erkannte IP Range Informationen Zeilen welche mit NEW beginnen bedeuten dass ein Netzwerk zum ersten mal gesehen wurde UPD bedeutet dass die Daten f r ein Netzwerk aktualisiert wurden As a Shell Abbildung 8 8 Detector Screenshot Connector Der Connector ist sicherlich die spannendste Applikation des Warsurfers Er zeigt mit welchen Netzen der Warsurfer die Verbindung versucht und v a wann 69 es funktioniert Diverser Output erfreut hier das Herz des Geeks e DB Suggested Net Ein m glicher Kandidat wurde ausgew hlt mit dem nun die Verbindung versucht wird e Test type Die Art des Verbindungstest die versucht wird DHCP Fixe IP Bekannte Her
6. 19 informieren Um die Sicherheit ein wenig zu erh hen bieten verschiedene Anbieter von Accesspoints aber an den SSID Broadcast zu unterbinden e Supported Rates Durch dieses Feld teilt der Accesspoint seinen Clients mit mit welcher Geschwindigkeit Daten bermittelt werden k nnen Sollte ein Accesspoint nur 1 2 und 5 5mbps unterst tzen k nnte ein Client nicht mit 11mbps Datenrate bertragen und deshalb eventuell einen anderen Accesspoint bevorzugen e Parameter Sets In diesem Feld werden dem Client weitere Informationen ber die Signa lisierung gegeben Beispielsweise Hopping Schema Frequency Spreading etc e Capability Information In diesem Feld wird mitgeteilt ob der Accesspoint WEP verwendet oder ob es sich um ein offenes Netz handelt e Traffic Indication Map Ein Accesspoint benutzt dieses Feld um einem Client welcher sich im PowerSave Modus befindet mitzuteilen dass sich Traffic f r diesen Client im Puffer des Accesspoint befindet Die meisten in einem Beacon bermittelten Daten muss sich der Anwender keine Gedanken machen weil sie vom Treiber der Karte verarbeitet werden Die Informationen die verarbeitet werden m ssen sind ESSID BSSID sowie ob WEP Verschl sselung aktiviert ist oder nicht 6 3 Assoziation Bevor Daten ber eine Drahtlose Netzwerkverbindung verschickt werden k nnen muss sich eine Wireless Station erst mit einem Accesspoint verbinden Die Ver bindung geschieht anhand eines Zustandsa
7. 802 11a 802 11b 802 11g 802 11n http www javvin com protocolWLAN html 2005 Prof Ursula Sury Rechtliche aspekte von offenen accesspoints http www sgrp ch pages download Recht_Wireless pdf 2005 James D Solomon MOBILE IP The Internet Unplugged PRENTICE HALL 1998 Oliver Ertl u a Openwrtdocs http wiki openwrt org OpenWrtDocs 2005 et al R Fielding Hypertext transfer protocol http 1 1 rfc 2616 http www w3 org Protocols rfc2616 rfc2616 sec14 html sec14 35 1999 OpenVPN Solutions LLC Openvpn 2 0 howto http openvpn net howto html 2005 Tony Gentilcore Fasterfox performance and network tweaks for firefox http fasterfox mozdev org 2005 Jouni Malinen Host ap driver for intersil prism2 2 5 3 hostapd and wpa supplicant http hostap epitest fi 2005 106 Glossar A Address Resolution Protocol ARP Netzwerkprotokoll das die Zuordnung von Internetadressen zu Hardwareadressen m glich macht Ob wohl es nicht auf Ethernet und IP Protokolle beschr nkt ist wird es fast ausschlie lich im Zusammenhang mit IP Adressierung auf Ethernet Netzen verwendet ARP geh rt zur Internetschicht der TCP IP Protokollfamilie Wikipedia Application Programming Interface API Schnittstelle die von einem Be triebssystem oder von einem anderen Softwaresystem weiteren Pro grammen zur Verf gung gestellt wird Wikipedia B Basic Service Set Identifier BSSID TODO Macadresse eines
8. strength int wepkey string fixip string netmask string lasttime int wep int nameserver string linkquality int fileconfig string db dbhandler getConfigValue key string string getdbhandler dbhandler netfromdbibssid string WSNet connectionC heckerThread download url string appendfile string offset int main Abbildung 7 2 Klassendiagramm 35 libwireless iwconfig string ifconfig string gw string connectiF string route strinc getDefaultGW string shellcommand command string string setMode mode string defaultC ommand args string string assignIPlip string netmask string setD efaultG ateway gw string setNameServer ns string removeDefaultG ateway rebootIF connectAP bssid string connectESSID essid string setWEPKey key string refresh getStrength int getAP string performDHCP net WSNet to int WSNet getSSID string getLinkQuality double libwireless st sharedstufi face string libwireless libwireless db dbhandler connected boo defaultdns string connectmode string stdout object scapylog file autoassoc string bestNet fixnetS ettings net WSNet arp_h4x iplist string mac string labmode bool currentnetFromLibwireless netchecker ass
9. 13 1 Tabellen s har u sn dod oe ole en 1 32 Sichten 2 2 12 BOE Bon ann meine a 7 3 3 Funktionen s 24 ac aa wa e ee III Systemanwendung 8 Warsurfer HOW TO 8 1 ber die Warsurfer Installation o 2222222 8 2 Abh ngigkeiten 2 2 Comm 82 1 Python gee ea 4 ile a dibs na Ran 8 21 diet ad baad 290 bod ee 8 2 3 SCAPY una Ya SRS a ee A x 8 2 4 Posteresql iu vi eee i 8 22 PSYCOPE aan 4 AS 2 RE a eee ed a ie 2 6 Kismet 44 64 42444 wee ee GG Gay Bee ee a 8 3 Installation ar Boy yang ice Re ES 8 3 1 Datenbank automatisch o o 8 3 2 Datenbank Manuell o o 8 3 3 rStartsktipt aaa aa nike 8 4 Konfiguration gt 2 a wanna nn e A a e ne 8 4 1 Kismet rien damen sen edhe 84 2 War rfer un 22 Krane 3 0 Anwendung us 25 a a ak 8 5 1 Zusammengefasster Start 2 2 o o 815 2 Einzelst rt is ss 8 ee we we aaa wx 8 6 Download gr sserer Dateien 2 2 2 2m nn 87 Mailempfane a ne aaa de le e 8 8 Surfen mit Openvpn 2 2 on nn 82821 Installation 4y 4 4 2 ee ann aan nee 8 8 2 Konfiguration 2 2 Connor 89 Tweaks ah train A II HE 8 93 Firefox 3 0 a ala AS ORS ee A fy a A ot a eS TR ee data 89354 A ts 2 Sara ee ae arte hasan en aa a 9 Tests 9 17 Netzerkerinung sas aa Ss whe By Beate a 9 2 Verbindung pta lal fe BS ee Ben 1 t a 9 3 Maildownload 2 2 2 0 0 0 eee eee 9 4 Beldtest
10. decreasing the tx power generateRandomESSID generates a random string that can be used as ESSID generateRandomMac Creates a Random Mac addresss getProtectedPage url username password top_level_url 32 retreives a password protected basic auth web site 7 1 4 Simulation Um eine Busfahrt m glichst realit tsgetreu zu simulieren werden ESSID BSSID und MAC auf dem Accesspoint periodisch ver ndert Dabei wird bei der ESSID eine Namenskonvention eingehalten Dadurch werden eventuell w hrend den Rides erstellte Statistiken nicht verf lscht weil die simulierten Netzwerke durch ihren Namen identifizierbar sind Die Simulation kennt zwei verschiedene Modi Beim einen wird eine Fahrt durch ein unbekanntes Gebiet simuliert und zuf llig immer neue Netze generiert Beim zweiten Modus wird die Lernf higkeit des Warsurfers getestet Dabei wird eine bestimmte Anzahl zuf lliger Netze generiert die in einer Schleife immer wieder aktiviert werden Sollte es dem Warsurfer nun gelingen einmal eine Verbindung mit einem Netz aufzubauen sollte er beim n chsten mal bei dem dieses Netz entdeckt wird als erstes die funktionierende Konfiguration austesten 7 1 5 Feldtest Trotz allen raffinierten Methoden die Welt m glichst realit tsgetreu zu simulie ren sind echte Feldtests unabdingbar Der Warsurfer muss unter anderem auch in einem realen Umfeld in Bus und Tram getestet werden Als Einsatzgebiet ist die Limmatstadt am besten geeig
11. der Dokumentation ist der betreuende Dozent Prof Dr A Steffen zust ndig Die Qualit t des Pro duktes wird durch regelm ssige Meetings in denen die f r den Projektverlauf relevanten Entscheidungen sowie die n chsten Schritte besprochen werden si chergestellt und durch Reviewsitzungen am Ende einer Projektphase verst rkt 15 2 3 Projektverantwortlichkeiten Prof Dr A Steffen Verantwortlicher Dozent Oliv Schacher Analyse Design Implementation Dokumentation Cedric Wider Analyse Design Implementation Dokumentation 15 3 Projektmanagement 15 3 1 Management Ziele und Priorit ten Fiir dieses Projekt wird ausschliesslich OpenSource Software eingesetzt Geleistete Arbeitsstunden sowie T tigkeiten die w hrend dieser Zeit ausgef hrt worden sind werden textuell erfasst Die Projektdauer betr gt 7 Wochen wobei der Wochenaufwand bei mindestens 40 Stunden liegt Zu Beginn des Projektes wird ein Prototyp erstellt welcher es erm glicht Mes sungen der Umgebung durchzuf hren Die Entscheide die aufgrund dieser Re sultate gef llt werden fliessen direkt in die Konstruktion ein 15 3 2 Voraussetzungen Abh ngigkeiten und Randbedin gungen Das Projekt soll auf Sourceforge gehostet werden Der Code wird in Python geschrieben Die Studenten eignen sich die Kenntnisse dieser Skriptsprache selbst ndig an da dies nicht im Lehrplan enthalten ist Das Projekt wird im Rahmen einer Diplomarbeit durchgef hrt 15 3 3 Risi
12. er beim letzten Versuch abgebrochen ist Der Verlauf des Downloads wird in der Datenbankta belle aktualisiert Dem Benutzer steht ein simples Interface wsdownload py zur Verf gung mit dem er gr ssere Dateien herunterladen kann python wsdownload py lt url gt Mail fetcher Die Aufgabe des Warsurfers besteht ja haupts chlich daraus w hrend einer Bus fahrt laufend die Emails herunterzuladen Hier sind vor allem gr ssere Emails mit Anh ngen ein Problem da auch hier abgebrochene Downloads wieder fort gesetzt werden m ssen was von den g ngigen Mailprotokollen nicht unterst tzt wird Deshalb haben wir entschieden die Mails ber HTTP zu tunneln Dazu ist eine Installation auf einem Webserver notwendig Home Agent Auf dem Home Agent werden die Emails empfangen kom primiert und in einem Webverzeichnis abgelegt Der Dateiname wird dabei so gew hlt das er der MD5 Summe des Mailinhalts entspricht Dies erm glicht 43 Warsurfer Mailserver HTTP IMAP POP EA Home Agent Abbildung 7 5 Mailtransfer ber HTTP dem Client zu berpr fen ob das Mail vollst ndig und korrekt heruntergela den wurde Die Liste der Emails wird zus tzlich in einer Indexdatei abgelegt So kann der Client einfach erfahren welche Mails noch heruntergeladen werden m ssen Der Aufbau der Indexdatei wurde dabei so gew hlt dass er eine einfache Er weiterung auf andere Job Typen z b Instant Messages zul sst Jede Zeile im Index hat f
13. lange Daten transferiert bis das Netz nicht mehr verf gbar ist Es gibt unter schiedliche Indikatoren daf r ob ein Netz noch aktiv ist oder nicht e Link level e Noise e Signalst rke Es hat sich durch berwachen der einzelnen Werte w hrend dem wardriving her ausgestellt dass der verl sslichste dieser Werte der Link level ist Er berechnet sich aus der Signalst rke Noise Obwohl dies der zuverl ssigste Wert ist kann es Schwankungen zwischen verschiedenen Drivern geben welche diese Werte je weils unterschiedlich angeben 26 F llt die Signalqualit t eines Netzes unter einen bestimmten Schwellwert so wird das Netz nicht mehr verwendet und ein neues gesucht Obwohl durch die st ndige Suche nach neuen Netzen die physische Verbindung dauernd unterbrochen wird muss ein Weg gefunden werden wie man Daten m glichst effizient vom Internet auf den mobilen Client bertragen kann 6 8 Kenngr ssen eines Verbindungsalgorithmus In der Theorie k nnen verschiedene Szenarien auftreten auf die man w hrend einem Ride stossen kann da die Software lernf hig sein soll muss ein Algorith mus implementiert werden welcher auf unterschiedliche Situationen angemessen reagieren kann Ausschlaggebend sind f r einen solchen Algorithmus folgende Kenngr ssen e Uptime eines Netzes Wie lange ist das Netz sichtbar Und wie lange befindet sich die Linkqua lit t eines Netzes in einem gen gend guten Bereich e Linkqualit t eines Netze
14. non fatal network errors 3 medium output good for normal operation 9 verbose good for troubleshooting verb 3 Damit nach erfolgreicher Verbindung die korrekte Route zum Warsurfer ge setzt wird muss noch folgendes Skript mit Namen warsurfer_server up im selben Verzeichnis erstellt werden bin sh route add net 10 0 1 0 netmask 255 255 255 0 gw 5 Befindet sich der Home Agent hinter einem NAT Ger t muss dort der Port 1337 weitergeleitet werden Der OpenVPN Server wird folgendermassen gestar tet openvpn config warsurfer_server conf Der HTTP Proxy muss evtl noch konfiguriert werden dass er Verbindungen von 10 0 1 2 Warsurfer zul sst Auf dem Warsurfer sieht die Konfiguration warsurfer_client conf folgender massen aus dev tun Our OpenVPN peer is the office gateway remote myhomeagent com 10 1 0 2 is our local VPN endpoint home 10 1 0 1 is our remote VPN endpoint office ifconfig 10 1 0 2 10 1 0 1 Dur up script will establish routes once the VPN is alive up warsurfer_client up Dur pre shared static key secret warsurfer key port 1337 comp 1zo Uncomment this section for a more reliable detection when a system loses its connection For example dial ups or laptops that travel to other locations 75 ping 15 ping restart 45 ping timer rem persist tun persist key Verbosity level 0 quiet except for fatal errors 1 mostly quiet but display n
15. sich an einem Accesspoint vorbei bewegt oder wie weit dieser entfernt ist ist dieser l nger oder weniger lang f r den Betrachter sichtbar Simulierte Netze sollen in zeitlich variabler L nge 101 sichtbar sein Ausserdem bietet eine zeitliche Varianz beim Entwickeln den Vorteil dass das Debugging vereinfacht werden kann indem Netze ber l ngere Zeit sichtbar gehalten werden und somit der Wechsel auf ein neues Netz verz gert wird Dies erm glicht es einem Entwickler die automatisch gemachten Einstellungen von Hand zu verifizieren 15 5 2 2 Iteration In der zweiten Iteration wird sichergestellt dass eine bestehende Verbindung ins Internet w hrend einem Wechsel von einem Accesspoint zu einem anderen nicht abbricht Es soll also eine mehr oder weniger stetige Verbindung ins Internet simuliert werden Analyse In der Analyse sollen M glichkeiten aufgezeigt werden welche die Erreichung des oben beschriebenen Ziels m glich machen Dabei muss darauf geachtet werden dass der Zeitaufwand f r die Implementation dieser M glichkeiten im Rahmen der Diplomarbeit bleibt Die Aufgabenstellung besagt dass es m glich sein muss Emails w hrend eines Rides zu lesen Es muss also ein Mechanismus gefunden werden wie dies zu bewerkstelligen sei Design Der Design verl uft analog zu demjenigen der Iteration 1 Coding Das Coding verl uft analog zu demjenigen der Iteration 1 Testing Um die getroffenen Massnahmen zu testen is
16. size os path getsize basepath filename indexline s t s t s t s md5sum mail size baseurl filename indexfile write indexline n indexfile close M close M logout Dieses Skript k nnen Sie nun per Cronjob periodisch ausf hren lassen z b alle 20 Minuten Das Webverzeichnis sollten Sie nun zus tzlich mittels htac cess htpasswd sch tzen ausser Sie m chten der Welt ihre privaten Emails zur Verf gung stellen Konfigurieren sie nun die Einstellungen in der Warsurferdatenbank mailindex file mailhttpuser mailhttppassword mailfile sowie evtl ihre Emailapplikation dass diese ihr lokales Mailfile anzeigen kann 8 8 Surfen mit Openvpn Um das Surfen mit dem warsurfer einigermassen ertr glich zu gestalten empfeh len wir dringend die Installation der Software OpenVPN Daf r ist wie f r den Mailfetcher ein Home Agent n tig Mittels OpenVPN wird sobald der Warsur fer w hrend der Fahrt eine Verbindung ins Internet herstellen kann eine VPN Verbindung zum Home Agent erstellt welche es erm glicht TCP Verbindungen ber mehrere Accesspoints hinweg am Leben zu erhalten Der Browser kann so z b Websites laden ohne das Sie genau den Moment abpassen m ssen in dem 73 Sie mit dem Internet verbunden sind Auch SSH Sitzungen Chats etc k nnen so einen Wechsel von Netzwerk zu Netzwerk berleben vorausgesetzt der Un terbruch dauert nicht zu lange 8 8 1 Installation Debian Benu
17. um Parameter bssid fnavt Berechnet die Durchschnittliche Verf gbarkeit eines Netzes mittels der Informa tionen aus availlog Parameter bssid fncountconfigs Z hlt die Anzahl durchgef hrter aktiver Tests f r ein Netz So kann ermittelt werden ob f r ein verf gbares Netz noch nicht alle Konfigurationen getestet wurden fntestmac Generiert eine MAC Testkonfiguration Diese Funktion versucht mittels der In formationen aus macdefaultconfig eine Standardkonfiguration f r die bergebene BSSID zu finden Parameter bssid fntestessid Generiert eine ESSID Testkonfiguration Diese Funktion versucht mittels der In formationen aus essiddefaultconfig eine Standardkonfiguration f r die bergebene BSSID zu finden Parameter bssid 51 fntest19216811 Generiert eine Konfiguration f r ein 192 168 1 x Subnet Parameter bssid fntest19216801 Generiert eine Konfiguration f r ein 192 168 0 x Subnet Parameter bssid fntestkismet Generiert eine Konfiguration aus dem IP Range der von kismet erkannt wurde Parameter bssid fntestdhcp Generiert eine leere DHCP Konfiguration Parameter bssid fngettest Sucht den n chsten fehlenden Test f r das bergebene Netzwerk und gibt die gefundene Konfiguration zur ck Fehlt kein Test wird der lteste Test wieder holt Parameter bssid fnchoosenet Sucht sich aus allen verf gbaren Netzen das tendenziell beste gem ss obigen Algorithmus aus und gibt di
18. un abh ngige Warsurfer Datenbanken benutzen m chten Abb 8 2 Jetzt werden Sie nach einem Datenbankbenutzer gefragt der der Eigent mer der neuen Datenbank werden soll Auch hier ist der Standardwert eine gute Wahl Abb 8 3 F r den neuen Datenbankbenutzer muss jetzt ein Passwort festgelegt werden Achtung verwenden Sie hier kein Passwort welches Sie auch an anderen Orten 58 Seabee ee aga Sitzung Bearbeiten Ansicht Lesezeichen Einstellungen Hilfe A Befehlsfenster 3 Abbildung 8 2 Installer Datenbankname benutzen denn dieses Passwort kann von anderen Benutzern ihres Systems un ter Umst nden gelesen werden Abb 8 4 Jetzt wird die Datenbank automatisch erstellt allf llige Fehlermeldungen k nnen an dieser Stelle ignoriert werden Nun geht es an die Grundkonfigurati on des Warsurfers Sie m ssen als erstes den Interfacenamen der Wirelesskarte angeben welche zum Erkennen der Drahtlosnetzwerke verwendet werden soll Abb 8 5 Danach folgt die Konfiguration der Karte welche die Verbindung zu den ge fundenen Netzwerken aufbauen soll Dies darf nicht dieselbe Karte sein Abb 8 6 59 2 Befehlsfenster3 Abbildung 8 4 Installer Datenbankpasswort 8 3 2 Datenbank Manuell Sollte die automatische Prozedur fehlschlagen oder wenn Sie dem Skript kein Vertrauen schenken kann die Datenbank auch manuell erstellt werden su postgres psql creat
19. von Wirelessger ten erfolgt entweder im Ad Hoc Modus bei welchem alle Ger te direkt miteinander Kommunizieren oder ber den Infrastruktur Modus bei welchem die Kommunikation ber eine Basisstation Accesspoint erfolgt Diese ist meist auch gleich die Bridge uf das restliche Netzwerk Distribution System DS Meistens wird der Infrastruktur Modus eingesetzt Jeder Accesspoint definiert eine Zelle genannt Basic Service Set BSS Mehrere Zellen k nnen zu einem logischen Netzwerk zusammengeschlossen werden In diesem Fall spricht man von einem Extended Service Set ESS Damit eine Wirelesskarte sich mit einem solchen Netzwerk verbinden kann 10 Kanal Frequenz 2 412 2 417 2 422 2 427 2 432 2 437 2 442 2 447 2 452 2 457 2 462 2 467 2 472 2 484 CO CO NI Gd OU BB CO DO m gt N m w gt Abbildung 4 2 802 11 Frequenzen ben tigt sie also verschiedene Informationen Die ESSID Netzwerkname des logischen Netzwerks die BSSID Zell ID Mac Adresse des Accesspoints und den Kanal Mittels sog Beacon Frames werden diese Informationen periodisch gesendet so k nnen sich auch Stationen verbinden die bisher keine Informatio nen ber das betreffende Netzwerk hatten Aus Sicherheitsgr nden kann diese Funktion auch ausgeschaltet werden Medienzugriff Die Art und Weise wie Daten ber eine Wirelessverbindung verschickt
20. wie MAC Adresse ESSID oder gesniffter Pakete Der Transfer der Emails wurde ber HTTP realisiert da dies die Fortsetzung unterbrochener Downloads unterst tzt Zudem wurde eine L sung mit einer VPN Software realisiert welche ein vollst ndiges Roaming auf IP Ebene erlaubt d h es ist m glich bestehende TCP Verbindungen aufrecht zu erhalten Mit OpenWRT Accesspoints und Host Ap Netzwerktreiben konn te eine Testumgebung aufgebaut werden welche die automatisierte Simulation st ndig wechselnder Wireless Netzwerke erlaubt Der Softwaredesign ist stark Datenbankbasiert Alle gefundenen Netze werden kategorisiert um die besten Kandidaten zu erkennen und detaillierte Auswer tungen und Statistiken zu erstellen Kapitel 2 Management Summary Die Verbreitung von Drahtlosnetzwerken nimmt immer weiter zu und so gibt es an dicht besiedelten Orten praktisch keinen Punkt mehr an dem nicht mindes tens ein Netzwerk verf gbar ist Nach wie vor ist ein hoher Prozentsatz dieser Netzwerke unverschl sselt und bietet einen freien Zugriff ins Internet Die Idee war es nun eine Software zu entwickeln welche diese Netzwerke entdeckt und so schnell wie m glich eine Verbindung ins Internet herstellt um es dem Anwen der zu erm glichen sogar w hrend einer Busfahrt seine Email Nachrichten zu lesen ohne das dadurch Kosten anfallen Diverse Schwierigkeiten lange Assozia tionszeit problematische Hardware etc mussten f r die L sung dieses Problem ana
21. 7 Kapitel 11 Pers nliche Eindr cke 11 1 C Wider Die Idee w hrend einer Busfahrt ber vorbeifahrende Drahtlose Netzwerke ei ne quasi stetige Verbindung ins Internet zu erhalten hat mich stark fasziniert Sofort war ich mit grossem Elan dabei als es darum ging erste Codezeilen zu schreiben und damit verbunden auch Tests zu machen deren Resultate die anf ngliche Euphorie eher gesch rt als ged mpft hatten Umso gr sser war die Freude als sich Herr Dr Steffen dazu begeistern liess unsere Arbeit als Dozent zu betreuen Als sich w hrend der Diplomarbeit aber zeigte wie sehr eine erfolgreiche Ver bindung mit einem Accesspoint in n tzlicher Frist von der darunterliegenden Hardware abh ngt machte sich Entt uschung breit Wie k nnen die Wireless Treiber unter Linux so schlecht implementiert sein dass teilweise Befehle die auf die Karte abgesetzt werden einfach ignoriert werden Schliesslich fanden wir aber eine Hardwarekonfiguration die vielversprechend war Und nach eini gen Erkenntnissen und Verbesserungen des Codes war es tats chlich m glich w hrend einer Busfahrt Emails herunterzuladen Ich pers nlich bin mit dem Warsurfer so wie er jetzt ist nur bedingt zufrieden Er erf llt zwar alle Anforderungen der Aufgabenstellung von quasi stetiger Verbindung kann aber bei einer Ausbeutung von 7 aller offenen Netze nicht die Rede sein Bestimmt werde ich nach Abschluss der Diplomarbeit einiges an Freizeit darin inverstier
22. APs C Carrier Sense Multiple Access Collision Avoidance CSMA CA Verfahren f r den Zugriff mehrerer Netzwerkstationen auf dasselbe bertragungsmedium Es wird h ufig u a bei drahtlosen Netzwerken Wireless LANs ein gesetzt findet aber abgewandelt auch bei Technologien wie ISDN Anwendung Wikipedia Channel Hopping Schnelles Wechseln zwischen den verschiedenen Wireless Kan len D Debian GNU Linux Debian Debian ist eine frei erh ltliche Linux Distribu tion welche asuschliesslich unter der GPL GNU Public License Entwickelt worden ist Debian beeindruckt vor allem durch den Einsatz des Paketmanagement Tools apt get Domain Name Server DNS Dienst im Internet welcher Hostnamen in IP Adressen aufl st Dumbnet dnet Netzwerkbibliothek welche die manipulation von IP Paketen Adressen Routingtables etc erlaubt 107 E Extended Service Set Identifier ESSID Name f r ein Wireless netzwerk TODO define F Firmware Software welche sich in einem ROM Read only Memory befindet G Geek Eine Person die sich gerne mit Technologie Computern und neuen Medien besch ftigt Diese Definition von Geek ist nahe verwandt mit der klassischen Definition von Hacker Wikipedia Graphical User Interface GUI Eine Grafische Benutzeroberfl che ist die gra fische Schnittstelle auf Computern die eine Interaktion mit dem Benutzer verlangen H HTTP Pipelining Pipelining Mehrere HTTP Requests ber
23. Ansatz wird ein Home A gent dazu verwendet die Pakete zur aktuellen Adresse des Warsurfers weiterzuleiten Anstatt ber das MobileIP Protokoll geschieht dies aber mit der Software OpenVPN 13 welche ein solches 44 Roaming unterst tzt Mit OpenVPN wird eine VPN Verbindung ber UDP her gestellt Webserver Mailserver Warsurfer vom y E Chat Partner POP 3 IMAP VPN IM de al Home Agent Proxy Abbildung 7 6 Roaming mit Open VPN Die Konfigurationen sind im Benutzerhandbuch ab Seite 74 zu finden Es gibt nun diverse M glichkeiten die verschiedenen Anwendungen ber diesen VPN Tunnel laufen zu lassen Die einfachste ist es bei erfolgreicher Verbindung die Default Route auf den VPN Gateway zu setzen so l uft der gesamte Verkehr ber das VPN Diese Option wird von OpenVPN Konfiguration unterst tzt Alternativ k nnen auch nur einzelne Protokolle ber das VPN getunnelt werden Hier bietet sich SSH Tunneling an Als Beispiel sei hier die Konfiguration f r POP3 Email erkl rt Ein Tunnel kann mit folgendem Kommando aufgebaut werden ssh L lt port gt lt popserver gt lt port gt lt benutzername gt lt vpngateway gt Beispiel WM ssh L 110 pop bluewin ch 110 warsurfer 10 1 0 1 Nun kann entweder der Mailreader direkt so konfiguriert werden dass er dass er annimmt der POP3 Server sei 127 0 0 1 oder die IP Adresse wird mit dem Eintrag 127 0 0 1 pop bluewin ch in die Datei etc hosts fest g
24. Connector 11 T EA Testing 2T Finish Documentation 5T Ausstellung Abgabe Kurzbeschreibung Fototermin 4 Kapitel 16 Projektplan 104 y w az S 5 3 os Njn 8 8 amp w 5 E SE Ss Hilo A A RR A 8 BIN 218 8 amp 5 5 5 3 3 es 2 S mE Ofin ES y Els 8 amp Y 8 n B mn 2 S d y ae S gle a 8 Sn 88 3 5 a 8 w 8 Pr g nz 5 2 oa alS 3 a o 3 og 3 8 S ela Sl N AS S ES lA el a A 5 105 Literaturverzeichnis 10 11 12 13 14 15 The Shmoo Group Airsnort http airsnort shmoo com 2005 Gerald Combs u a Ethereal introduction http www ethereal com introduction html 2005 Ahmad Baitalmal u a What is wifi radar http www bitbuilder com wifi_ radar 2004 Christian Weiske Wlanscanner http www cweiske de phpgtk_apps htm wlanscanner 2005 Dragorn Kismet readme http www kismetwireless net documentation shtml 2005 Radionet Ltd Wlan radio system http www radionet com _FileRoot 318029 pdf 2003 Jim Geier 802 11 mac layer defined http www wi fiplanet com tutorials article php 1216351 2002 Inc Javvin Technologies Wlan Wireless lan by ieee 802 11
25. Frame Nun ist die Station zwar authentisiert aber noch nicht mit dem Accesspoint assoziiert Die Station sendet nun ein Association Request Frame an den Accesspoint welcher dieses Paket mit einem Association Response Frame beantwortet Erst jetzt ist die Station sowohl authentifiziert als auch assoziiert Die Grundvoraussetzung fiir einen erfolgreichen Datenaustausch mit dem Accesspoint und somit dem Internet ist nun gegeben 802 11 Frames Die Frames die zwischen Accesspoint und Wireless Station verschickt werden entsprechen einem bestimmten Format 8 welches hier etwas genauer untersucht und erl utert werden soll Frame Duration Address Address Address Seq Address Data Checksum Control 1 2 3 4 2 2 6 6 6 2 6 0 4 2312 Die Frame Control Struktur im Detail Version Type Subtype To DS From MF Retry Pwr More W O DS 2 2 4 1 1 1 1 1 1 1 1 Abbildung 6 3 802 11 Frames detailliert e Duration Dieser Wert wird benutzt um den Netzwerk Allocation Vector zu berech nen 21 Address 1 4 Ein Frame kann bis zu 4 Source oder Destinationadressen enthalten Gem ss From DS oder To DS Feld Sequence Control Dieses Feld enth lt die Sequenz oder Fragmentnummer welche verwen det werden um Frames in der richtigen Reihenfolge zusammenbauen und duplizierte Frames erkennen zu k nnen Data Daten die mit diesem
26. Frame transportiert werden CRC 32 Bit Cyclic Redundancy Check Version Bezeichnet die Version des 802 11 Standards Type Bezeichnet den Frame Typ M gliche Werte sind Management Control und Data Subtype Bezeichnet den Subtyp M gliche Werte sind Authentication frame Deau thentication frame Association request frame Association response frame Reassociation request frame Reassociation response frame Disassociati on frame Beacon frame Probe frame Probe request frame and Probe response frame To DS Dieser Wert ist auf 1 gesetzt wenn das Paket an ein Disribution System gesendet wird From DS Dieser Wert ist auf 1 gesetzt wenn das Paket von einem Dustribution System empfangen wird MF Das More Fragment Bit ist gesetzt wenn diesem Frame Fragment noch weitere Fragmente folgen werden Retry Das Retry Bit ist dann gesetzt wenn ein Fragment eines Frames erneut angefordert wird Pwr Bezeichnet den Powermanagement Modus in welchen sie die Station nach der Ubermittlung begeben wird More Zeigt an dass sich im Puffer f r diese Station noch mehrere Frames be finden W Zeigt an dass der Body des Frames WEP verschl sselt ist 22 eO Order zeigt an dass das Frame gem ss einer bestimmten Order Class ver schickt worden ist 6 4 Default settings Von Accesspoint zu Accesspoint k nnen Einstellungen wie der Standardgate way oder der Namensserver sowie der IP Range variieren Normalerweise stellt di
27. Funktioniert Funktioniert U S Robotics USR805422 USB ndiswrapper Wird von Kismet Ignoriert Befehle nicht unterst tzt Surecom EP 9001 USB zd1201 Kein Channelhop Funktioniert ping Intel Mini Host AP Funktioniert Funktioniert PCI Linksys WPC11 v3 PCMCIA HostAP Funktioniert Funktioniert Cisco Aironet PCMCIA airo_cs Kein Channelhop Ignoriert Befehle 350 ping Lancom AirLancer PCMCIA madwifi ng Wird von Kismet Ignoriert Befehle MC 54ag nicht unterst tzt Abbildung 6 6 Verwendete Hardware und Treiber 30 Kapitel 7 Design 7 1 Testumgebung Um die Entwicklung des Warsurfers m glichst effizient zu gestalten ist es un umg nglich eine Testumgebung aufzubauen mit welcher verschiedene Szenarien simuliert werden k nnen Dabei muss vor allem sicher gestellt werden dass ver schiedene Netze simuliert werden k nnen 7 1 1 OpenWRT OpenWrt 11 ist ein Projekt welches es erm glicht eine Linux Firmware auf einem Linksys WRT54g Router von Linksys zu installieren Dies bringt den grossen Vorteil mit sich dass man per SSH auf diesen Accesspoint verbinden kann um dort die Netze per Script zu simulieren 7 1 2 HostAP HostAP ist ein Linux Treiber f r Wireless Karten mit dem Prism2 Chipset von Intersil Mit diesem Treiber ist es m glich die Karte in den Master Modus zu versetzen In diesem Modus agiert der Computer an welchem die Karte angeschlossen ist als Accesspoint Mit iwconfig und ifconf
28. Lara a gt o a ar ee le e o IV Bewertung und Ausblick 10 Resultate und Zielerreichung 10 1 Zielerreichung gem ss Aufgabenstellung 10 2 Feldtest ua oot as DR PE a ae de Ee 10 3 Soll Ist Vergleich 2 2 2 2 Emo nennen 11 Pers nliche Eindr cke LIE Wider ete ie ot inde tn a dC Da er reger ee Whe 2 OA ChaCher 2 aan hk EE tavern ar a en ees 12 Ausblick 12 1 Verbleibende Probleme 0 00000048 12 2 Weiterentwicklung oo 13 Dank V Appendix 14 Risikoanalyse 15 Projektmanagementplan 15 1 Einf hrung o 242 0 eb ee ee ee ee 15 1 1 Projekt bersicht 15 1 2 Projekt Lieferumfang 15 1 3 Referenzliste 15 2 Projekt Organisation 15 2 1 Prozess Modell a 2 u m pon ce odo ee da E 15 2 2 Organisation Abgrenzung und Schnittstellen 15 2 3 Projektverantwortlichkeiten 2 2 2 2 15 3 Projektmanagement 15 3 1 Management Ziele und Priorit ten 15 3 2 Voraussetzungen Abh ngigkeiten und Randbedingungen 15 3 3 Risiko Management o 15 3 4 berwachung und Kontrolle 2 2222 22 22 20 15 4 Entwicklungsprozess Comm 15 4 1 Methoden Tools und Techniken 15 4 2 Software Dokumentation 2 22 22 15 5 Entwicklungsplan e 19 9 1 1 eration 2 2 22 mu ea
29. P Einstellungen Es soll sichergestellt werden dass ohne weiteres auf ein bereits funktionie rendes Netz erneut zugegriffen werden kann Somit sind s mtliche Daten wie IP Adresse Route Standardgateway und Nameserver zu speichern Netzverf gbarkeit Es soll gespeichert werden wann ein Netz das erste mal gesichtet worden ist wie lange es w hrend den unterschiedlichen Rides verf gbar war Selbstlernend Die Software soll lernend sein Netzwerke die schon einmal erfasst worden sind sollen wieder erkannt werden Dies soll helfen an einem Netz unter schiedliche Tests sukzessive durchf hren zu k nnen da die Zeit oft nicht ausreicht um alle Tests auf ein Netz w hrend eines Rides durchzuf hren Erweiterbarkeit Es wird Wert auf die Erweiterbarkeit gelegt Es soll m glich sein die Soft ware beispielsweise durch ein GUI oder verschiedene Plugins zu bereichern und deren Funktionsumfang zu erweitern Konfigurierbar Dem Anwender soll die M glichkeit gegeben werden eigene Konfigurationen zu erstellen Eine Konfiguration soll mindestens folgende Daten erfassen IP Adresse ssid WEP MAC Adresse Standard Gateway DNS 15 Die Software wird ausschliesslich mit Open Source Software erstellt Der Quell code wird sobald die erste Version verfiigbar sein wird auf sourceforge gestellt und somit der Welt zug nglich gemacht werden Die Zielplattform ist Debian GNU Linux wobei auch andere Linux Distributio
30. Secure shell oder SSH ist sowohl ein Programm als auch ein Netzwerkprotokoll mit dessen Hilfe man sich z B ber das Internet auf einem entfernten Computer einloggen und dort Pro gramme ausf hren kann Die IANA hat dem Protokoll den Port TCP 22 zugeordnet Wikipedia Service Set Identifier ssid Als Service Set Identifier SSID oder auch Net work Name bezeichnet man die Kennung eines Funknetzwerkes das auf IEEE 802 11 basiert Wikipedia W Wired Eqievalent Privacy WEP Wired Equivalent Privacy WEP ist der ehemalige Standard Verschl sselungsalgorithmus f r WLAN Er soll sowohl den Zugang zum Netz regeln als auch die Integrit t der Daten sicherstellen Bereits 2001 wurde der Schl ssel geknackt weshalb WEP heute auch als Wireless Equivalent Placebo be zeichnet wird Wireless Sniffer Sniffer Ein wireless Sniffer ist ein Programm welches in der Lage ist eine Wireless Karte in einem System auf diese Art zu kon figurieren dass es m glich ist Pakete die ber einen AccessPoint verschickt werden mitzuh ren 109 Abbildungsverzeichnis Warsurfer Theorie Schematisch o 802 11 Standards n s a at 8 aaa AREA Ae el A Vt 802 11 Frequenzen 2 ee ee Wireless Basics u 2 2 2 2 22 2m wm ae RN a ay es Vergleich der Wireless Sniffer 2 2 2 2 2 nun nen Die verschiedenen Assoziationsstati 2 2 2 2 2 2m nennen 802 11 Frames detailliert 2 22 2 22 m 2 nn nn Funktionsweise d
31. Verbindungszeit zu kurz ist m sste auf ein langsameres Fortbewegungsmittel umgestiegen werden Fr he Tests sollen hier Aufschluss ber die tats chlichen Begebenheiten geben sodass die Testumgebung gem ss den durch diese Tests erlangten Daten aufgesetzt werden kann Selbstverst ndlich wurde auch auf den Ausfall von Arbeitsmitteln Notebook oder CVS R cksicht genommen Das Risiko und der damit verbundene Zeit aufwand ist aber relativ klein 95 RisikoBeschreibung Auswirkung nMassnahmen Begrenzung Aufwanli Zeitverlust p Eintritt Gew ID des Schadens bei Ein Scha tritt den RO1 Ein Mitar Eingeschr nktPartner 15 80 0 01 0 8 beiter f llt Produki muss je aus Krankheittiv t derzeit Unfall bernehmen k nnen R02 Klagen we ImageschadenRechtslage Rechtsschutz 1 5 0 05 0 25 gen illega f r MA abkl ren beantragen ler Netzbe und HSR nutzung RO3 Ein Note Eingeschr nkte Fremdnotebook 0 16 0 05 0 8 book f llt Produkti organisieren aus vit t R04 Connection Es entsteht Fr he Tests Auf Tram 4 4 0 20 0 8 time keine Ver umsteigen w hrend bindung ev Aufga der Bus benstellung fahrt ist zu anpassen klein R05 Zu wenig Zu wenige Anderes 4 8 0 20 1 6 offene Verbin Testgebiet Netze dungen suchen RO6 Ausfall Dokumente Backup Alternativen 2 2 0 05 0 1 des CVS m ssen CVS Server Servers von Hand aufsetzen zusam mengefiigt werden
32. Warsurfer C Wider und O Schacher 14 Dezember 2005 Inhaltsverzeichnis I Einf hrung 1 Kurzfassung der Diplomarbeit 2 Management Summary 3 Aufgabenstellung 3 1 Einf hrung erea na 2222228 Wann Are ed 3 22 AUDE ia daa A do ad 3 2 1 Randbedingungen und Infrastruktur 4 Grundlagen 4 1 Wireless Lan 802 11 4 2 Wardriving ss ido ara and II Systementwicklung 5 Leistungsmerkmale 6 Analyse 6 1 Information Gathering 2 2 2 nn nn 6 2 Kenngr ssen der Netzwerkerkennung 6 3 Assoziation 0 2 2 aa oP ERNEUT ta 6 4 gt Default settings o occa 2 225883 aa Wa ed eae le 6 5 Netzverfilgbarkeit o o ee eee 6 6 Rechtliche Einschr nkungen o 6 7 Verbindungsunterbr che 2 2 nn nn 6 8 Kenngr ssen eines Verbindungsalgorithmus 6 9 ROAMING p are o en SE id 6 9 1 Autonomer Client e s eats e o o 6 9 2 Home Proxy s ss rons dtes KEE na 6 9 3 M bilelP i 2 0 2 2 AA A nel 6 10 Hardware nt A A A a Se 7 Design GL Testumeebuns rca a a A tt A 1 1 1 CODE WREDE a A a ee AR A A 7 1 3 Scripting Engine REA Simulation 5 4 aaa aa ee a CA Feldtest s 445 code ne BO Oe 7 2 Applikationsdesign nn nen 7 2 1 Interprozesskommunikation 7 2 2 Klassen Design 22 2 2202 123 Datentransfer serra ara here aa 7 3 Datenbank 2 2 2 222 BDA A ne en nn
33. aShell Shell No 3 Shell No 4 2 Shell No 5 Abbildung 8 12 Download Client Screenshot 8 7 Mailempfang Eine der Hauptanforderungen des Warsurfers war es das Emails w hrend der Fahrt heruntergeladen werden Grunds tzlich kann dies mit dem weiter unten beschriebenen Openvpn sehr einfach gehandhabt werden indem der Home Agent einfach die Rolle des Mailservers bernimmt In diesem Fall sind kei ne weiteren Konfigurationen notwendig Nat rlich hat nicht jeder einen Ser ver zuhause und daher gibt es auch die M glichkeit den Mailtransfer ber den eigenen Webhoster abzuwickeln sofern dieser einen Shell Account mit Py thon bietet wie z B matrixx ch In einer sp teren Version ist geplant ei ne PHP Version des Serverskripts anzubieten denn PHP wird mittlerweile von praktisch allen Hostern unterst tzt Das Serverskript hat die Aufgabe die Mails vom POP3 oder IMAP Server entgegenzunehmen und in ein Webver zeichnis abzulegen wo diese danach vom Warsurfer mittels HTTP geholt wer den k nnen Dabei gelten folgende Konditionen Jede Mailnachricht gibt eine eigene Datei auf dem Server Die Datei wird gzip komprimiert und so benannt wie der MD5 Wert ihres unkomprimierten Inhalts plus die Dateiendung gz Beispiel 03f21b939e022176e87feb7704477bbc gz Damit der Warsurfer weiss welche Nachrichten vorhanden sind wird zus tzlich eine Indexdatei angelegt welche die Namen und Gr ssen aller Nachrichten auflistet Diese wird gem ss folg
34. aben ein Netz ausgew hlt auf das verbunden werden soll Ist f r das Ziel bereits eine funktionierende Konfi guration bekannt wird diese ausgef hrt Ansonsten werden diverse Testkonfi gurationen berpr ft In der Grafik sind diese invers formuliert 1 Herstellersettings anhand der BSSID Mac Adresse ermitteln 2 Herstellersettings anhand der ESSID Netzname erraten z b Wireless linksys USR8054 etc 3 192 168 1 1 als Gateway annehmen dieses Setting ist am weitesten ver breitet 4 192 168 0 1 als Gateway annehmen dieses Setting ist ebenfalls sehr g ngig 5 Allf llig erkannte IP Settings von kismet probieren diese sind aber fters falsch 6 DHCP Request 7 Sind alle Tests fehlgeschlagen wird der Test gew hlt der am weitesten zur ckliegt Die gew hlte Test wird ausgef hrt Es wird gepr ft ob eine Assoziation mit dem Accesspoint funktioniert hat und ob es eine Verbindung ins Internet gibt Die Resultate werden f r den n chsten Durchlauf gespeichert Funktioniert die Internetverbindung wird dieses Netz so lange wie m glich gehalten Pr fe Ver bindunsqualit t auf AP Sobald die Verbindung verloren geht beginnt die Su che von neuem Um die Verbindung ins Internet zu erkennen werden zwei Arten von Ping paketen an diverse Hosts im Internet geschickt Einerseits normale ICMP Echo 39 onnect to net select netconfig set bssid check association set default rout
35. alte rideid T character varying 255 description text character varying 200 timestamp without time zone transport lastrun Indexe gt ride_pkey lt PRIMARY KEY btree rideid availlog In der Availlog Tabelle wird aufgezeichnet welche Netze wann und wie lange verf gbar waren Diese Information wird sp ter verwendet um bei mehreren verf gbaren Netzen das beste auszuw hlen Die Werte werden durch den Trigger travaillog eingetragen Tabelle public availlog lt Spalte Typ Attribute 7 4 T T id availlog_id_seq integer regclass not null default nextval bssid character varying 17 not null default character varying essid character varying 100 not null default character varying firstseen timestamp without time zone lastseen timestamp without time zone rideid character varying 255 Indexe gt availlog_pkey lt PRIMARY KEY btree id Fremdschliissel Constraints gt rideid_fkey lt FOREIGN KEY rideid REFERENCES ride rideid 46 userconfig Hier werden die vom Benutzer konfigurierten Netzkonfigurationen gespeichert Tabelle gt public userconfig lt Spalte Typ Attribute usable integer not null default 1 wepkey character varying 255 fixip character varying 15 gateway character varying 15 nameserver character varying 15 netmask character varying 15 fakemac character varyi
36. cher welche Nachrichten noch nicht heruntergeladen worden sind Er schreibt die URL derjenigen Nachrichten in die Datenbank damit der Downloadmanager diese Filtes herunterladen kann sobald eine Verbindung mit dem Internet be steht Ist eine Nachricht heruntergeladen wird sie je nach Konfiguration an die Datei var spool mail username oder home username mbox oder sonst eine Datei angeh ngt von wo aus sie mit einem Mailclient oder bei entsprechender Konfiguration mit dem mail Kommando gelesen werden kann 7 2 3 Datentransfer Download Daemon Wenn der Detector und der Connector laufen besteht wann immer m glich eine Verbindung ins Internet Diese wird aber bei einem Wechsel des Netzwerkes un terbrochen und f hrt dazu das grosse Downloads neu gestartet werden m ssen Der Download daemon l st dieses Problem in dem er grosse Downloads in Ein zelst cke aufteilt und am Schluss wieder zu einer ganzen Datei zusammensetzt Die Downloadauftr ge erh lt der Daemon downloaddaemon py ber die Da tenbanktabelle downloadjobs Ist ein Job vorhanden pr ft der Daemon pe riodisch ob eine Verbindung ins Internet besteht mittels Sicht vconnections tate und fordert die gew nschte Datei beim Webserver an Wird die Internet Verbindung unterbrochen wartet der Daemon bis diese wieder besteht und fordert die Datei neu an Dabei wird der 12 HTTP Range Request Header verwendet um den Download an der Stelle fortzusetzen an der
37. den e Hersteller MAC BSSID Jeder Accesspoint ist mit einer weltweit eindeutigen MAC Adresse aus gestattet Die ersten 3 Bytes dieser Adresse sind vorgegeben und iden tifizieren den Ger tehersteller Die Einstellungen die nun vorgenommen werden beruhen auf der Annahme dass ein Betreiber eines Accesspoints der die MAC Adresse des Accesspoints nicht ndert und diesen nicht ver schl sselt wohl auch nicht die IP Einstellungen ver ndert Der Betreiber wird wohl die Standard Einstellungen beibehalten und im Sinne der Per sonalisierung seines Netzes nur den Netznamen ver ndern Sollte dies der Fall sein ist es auch m glich mit dem Accesspoint zu verbinden selbst wenn der Betreiber SSID Broadcast ausgeschaltet haben sollte Um sich mit einem Accesspoint zu assoziieren reicht es aus die BSSID anzugeben 23 e Standard IP Adressen Erfahrungsgem ss ist der IP Range der am meisten vorkommt 192 168 1 0 24 Der Standardgateway ist 192 168 1 1 An diesen werden auch alle Anfra gen wie beispielsweise Nameserver Anfragen geschickt und von diesem be arbeitet Sollte dies nicht funktionieren wird alternativ ein 192 168 0 0 24 er Netz eingestellt Die Annahmen betreffend Gateway und Nameserver bleiben sich aber gleich Sollte es nach all diesen Massnahmen nicht klappen eine Verbindung ins In ternet herzustellen wird versucht per DHCP an die richtigen Einstellungen zu gelangen Dies dauert in der Regel l nger als ein Netz verf gbar ist u
38. den werden und dem Benutzer beispielsweise ber einen lokalen Webserver zur Verf gung gestellt werden Das h tte den Vorteil dass die News wie gewohnt ber den Webbrowser angesehen werden k nnen Die News w rden herunter geladen werden sobald eine Verbindung besteht ohne dass der Benutzer diese explizit mit einem Browser zum Zeitpunkt einer stehenden Verbin dung anfordern m sste 92 Kapitel 13 Dank Eigen Personen und Institutionen m chten wir ganz besonders Danken denn sie haben massgeblich zum Erfolg des Warsurfers beigetragen Allen voran nat rlich Herrn Steffen unserem Betreuer Einerseits daf r dass er sich sofort bereit erkl rt hat unser Projekt zu betreuen anderer seits nat rlich f r seine wertvollen Tipps welche uns oft aus technischen Sackgassen herausgef hrt haben Herrn B Stettler und Herrn R Stanger vom ITA daf r dass sie uns diverse Wirelesskarten zu g nstigen Konditionen berlassen haben IBM Schweiz f r die generelle Unterst tzung z B durch Anstellungsbedin gungen welche das Schreiben der Diplomarbeit in dieser Zeit erm glichten Der Hochschule Rappperswil f r die M glichkeit eine derartige Diplomar beit durchzuf hren McDonalds Pizza Dieci welche auch dieses Semester wieder f r unser leib liches Wohl vor den w chentlichen Sitzungen mit Herrn Steffen gesorgt haben Dem Z rcher Verkehrsverbund der uns w hrend kalten Tagen stets ein warmes B nkli in einem seiner unz h
39. der Inhalt des Berichts den Regelungen der Abt Informatik entsprechen Teildokumente sollen derart in den Bericht integriert werden dass ein hier archisches Gesamt Inhaltsverzeichnis mit durchg ngiger Seitennummerierung erm glicht wird Datenbl tter Handb cher und allf llige Kopien anderer Dokumente die nicht selbst erstellt wurden aber f r weitere Arbeiten mit den Systemen n tzlich sind sollen separat zum Gesamtbericht abgegeben werden Abgabeform frei Berichtsinhalte die nicht selbst erarbeitet wurden sind mit ihrer Quelle zu be zeichnen Das Projekt wird in 2 Phasen durchgef hrt In der ersten Phase wird ein Proto typ erstellt mit welchem es m glich sein wird Messungen der Verbindungsdauer und deren Qualit t durchzuf hren Diese Messungen sollen ebenfalls Bestand teil des Schlussberichtes sein 15 1 3 Referenzliste 15 2 Projekt Organisation 15 2 1 Prozess Modell Offizieller Projektstart 24 10 2005 Offizielles Projektende 16 12 2005 Die Grundlage des Projektes bildet der in der ersten Iteration erstellte Pro totyp mit welchem eine eingehende Analyse der Umgebung erm glicht wird Der Prototyp wird nach der ersten Iteration am 08 November 2005 f r Mes sungen zur Verf gung stehen In einer nachfolgenden zweiten Iteration wird anhand der Messungen der Routing Teil des Warsurfers erstellt 98 15 2 2 Organisation Abgrenzung und Schnittstellen F r die berwachung der technischen Fortschritte sowie
40. die selbe TCP Connection abwickeln I ifconfig ifconfig Kommando um Netzwerkinterfaces zu konfigurieren iwconfig iwconfig Kommando um Wirelessinterfaces zu konfigurieren L Link Prefetching Prefetching Herunterladen von Webseiten die der Benut zer vermutlich in naher Zukunft anschauen wird M MAC Adresse MAC Die MAC Adresse Media Access Control auch LAN Adresse genannt ist die Hardware Adresse vieler Netzwerkger te vor allem Netzwerkkarten die zur eindeutigen Identifikation des Ger ts im Netzwerk dient Message Digest 5 MD5 Hashfunktion welche einen Text beliebiger L nge in einen 128 bit Hash umwandelt N Network Address Translation NAT Routerfunktion um mehrerer Rechner an ein IP Netzwerk mit nur einer offiziellen IP Adresse anzubinden 108 P Plugin Plugin Software welche eine andere Software z b Browser um eine weitere Funktion erweitert z b das Anzeigen neuer Medientypen Proxy Allg Zwischenspeicher f r Daten H ufig verwendet werden HTTP Proxies welche Webseiten und Bilder speichern um diese bei einem n chsten Aufruf schneller zu liefern Es gibt aber auch Proxies f r andere Protokolle DNS POP PyDoc PyDoc Standard Dokumentationstool f r Python Code R Ride Ride Eine einzelne Fahrt durch ein bestimmtes Gebiet w hrend der Warsurfer eingeschaltet ist und Daten ber Netze sammelt S scapy scapy Paketgenerator und Decoder f r Python Secure Shell SSH
41. e set nameserver Abbildung 7 4 Verbindung mit dem Internet Requests andererseits sog SYN Pings d h Verbindungsanfragen auf den Port 80 HTTP die mit mit SYN ACK Paketen beantwortet werden Diese Doppel spurigkeit soll sicher stellen dass die Erkennung auch funktioniert wenn ICMP von Firewalls blockiert wird Falls die Datenbank eine Netzwerkkonfiguration liefert die fr her einmal funk tioniert hat beim aktuellen Versuch aber fehlschl gt wird diese Konfiguration gel scht so erh lt sie beim n chsten Mal automatisch eine h here Priorit t libwireless Diese Library dient dazu die Kommunikation zwischen dem Connector und der Hardware sicherzustellen Sie bietet Methoden an um IP Settings auf die Wireless Karte zu schreiben Netzmasken zu setzen sich mit einem Accesspoint ber dessen BSSID oder ESSID zu verbinden Sie stellt Methoden zur Verf gung um die Routing Table an die wechselnden Gegebenheiten anzupassen einen DHCP Request abzusetzen oder den Nameserver festzulegen Selbstverst ndlich k nnen auch alle Werte die ver ndert werden k nnen auch ausgelesen werden Um die gew nschten Einstellungen vorzunehmen werden sowohl die Bibliothe ken dnet und scapy als auch die Linux Tools ifconfig und iwconfig e Mit ESSID verbinden Normalerweise wird nicht direkt ber die MAC Adresse des Accesspoint eine Verbindung hergestellt Obwohl dies m glich ist hat die Praxis ge zeigt dass es weniger fehl
42. e aus dem Bluewin Netz nicht erreichbar sind Es l sst sich w hrend einem Ride nicht vorhersagen ber welchen Anbieter man ins Internet gelangt mailfile Ein Feature des Warsurfers ist es Email Nachrichten herunter zu laden Mit diesem Wert k nnen Sie einstellen in welche Date Sie die neuen Nach richten gerne geschrieben h tten Linux unterst tzt zwei unterschiedliche Ans tze Kommt ein neues Email f r einen Benutzer an wird es nach var mail username geschrieben Sobald der Benutzer die Nachricht gele sen hat wird sie in die Datei home username mbox verschoben Je nach dem wie Sie ihre Nachrichten lesen wollen oder wie Sie ihren Mailclient eingerichtet haben werden hier andere Einstellungen f r Sie optimal sein mailindexfile W hrend einem Ride verbindet sich der Warsurfer mit dem Home Agent um die Emails herunterzuladen Alle Nachrichten sind dort in einer In dexdatei aufgelistet Der Warsurfer l dt diese periodisch herunter und entscheidet welche Emailnachrichten transferiert werden m ssen Dieser Wert beschreibt die URL der besagten Datei mailindexrefreshinterval Dieser Wert in Sekunden beschreibt in welchem Intervall der Warsurfer das Indexfile herunterladen soll mailhttpuser Dieser optionale Parameter legt fest mit welchem Benutzernamen sich der Mailfetcher anmelden soll um die Nachrichten herunterzuladen Wird nur ben tigt wenn die Maildaten auf dem Server mittels htaccess gesch tzt wurden mailhtt
43. e database warsurfer Danach verbinden Sie sich mit der Datenbank und erzeugen die prozedurale Sprache plpgsal 60 Sitzung Bearbeiten Lesezeichen Einstellungen Hilfe Abbildung 8 6 Installer Connectorinterface connect warsurfer create language plpgsql Nun legen Sie den Benutzer warsurfer an und geben ihm ein Passwort sowie die ben tigten Berechtigungen Sobald dies erledigt ist k nnen Sie die Verbin dung zur Datenbank trennen create user warsurfer alter user warsurfer with password p4sswOrd alter database warsurfer owner to warsurfer q Damit der Warsurfer sich mit der Datenbank verbinden kann muss er da zu die Berechtigung erhalten Die Berechtigungen der Datenbank werden ber 61 das File pg _hba conf geregelt ffnen Sie die Datei mit ihrem favorisierten Texteditor vi etc postgresql 8 1 main pg_hba conf F gen Sie nun folgende Zeile in der Local Section ein local warsurfer warsurfer password Um die Tabellen Views und Funktionen der Tabelle f r den Warsurfer zu erzeugen wechseln Sie in das Verzeichnis in welchem die sql Files sind Debian usr share doc warsurfer sql cd path to warsurfer sql Verbinden Sie sich erneut mit der Datenbank Diesmal verwenden wir den neu angelegten Benutzer warsurfer und f hren Sie die SQL Skripts aus psql U warsurfer warsurfer i base sql i connector sql i detector sql 8 3 3 Startskript Dies
44. e gross der zeitliche Abstand in Sekunden zwischen zwei Ping Sequenzen sein soll e searchinterval Es kommt vor dass zu einem gewissen Zeitpunkt kein geeignetes Netz verf gbar ist Der Connector wartet dann bis wieder ein Netz sichtbar auf taucht mit welchem versucht werden kann eine Verbindung aufzubauen Dieser Wert stellt ein in welchem Intervall in Sekunden der Connector berpr fen soll ob schon ein Netz verf gbar ist e connectmode Von Linux werden zwei unterschiedliche Varianten unterst tzt um sich mit einem Accesspoint zu verbinden Eine Verbindung kann entweder ber den Namen des Drahtlosnetzwerkes hergestellt werden oder ber direkt ber die MAC Adresse des Accesspoints Die beiden Werte die hier eingestellt 65 werden k nnen sind also essid oder bssid wobei essid den Namen des Netzwerkes bezeichnet und bssid die MAC Adresse des Accesspoints Den Entwicklern ist kein Treiber bekannt mit welchem es funktionieren w rde sich ber die bssid zu verbinden Es ist also ratsam hier den Standardwert stehen zu lassen defaultdns Hier wird der DNS Server konfiguriert Standardm ssig ist hier der DNS Server von Bluewin eingestellt weil er aus der Schweiz von jedem Netz betreiber her erreichbar ist Achten Sie bei der Konfiguration zwingend darauf dass Sie einen f r alle sichtbaren DNS Server verwenden Die Na meserver von Cablecom 62 2 17 61 und 62 2 17 124 eignen sich beispiels weise nicht da si
45. e n chste Testkonfiguration f r dieses Netz zur ck Parameter keine 52 Teil III Systemanwendung Kapitel 8 Warsurfer HOW TO In diesem Kapitel lernen Sie wie Sie Warsurfer auf ihrem System installieren und anwenden k nnen 8 1 ber die Warsurfer Installation Willkommen bei Warsurfer Vorbei sind die Zeiten in denen Tram oder Bus fahrten eine schier unertr gliche Absenz von Internet und Email bedeuteten Mit dem Warsurfer geh ren diese Sorgen der Vergangenheit an Die Installation ist zwar nicht ganz einfach Dieses How To gibt aber klare An weisungen und f hrt den Leser Schritt f r Schritt durch die Installation und Konfiguration der fiir den Warsurfer ben tigten Komponenten Als erstes werden die Abh ngigkeiten die der Warsurfer hat behandelt Es wird gezeigt welche Programme und Libraries zus tzlich installiert werden m ssen und welche Schritte dazu n tig sind In einem weiteren Schritt wird dann auf die eigentliche Installation des Warsurfers eingegangen Zum Schluss werden die n tigen Konfigurationen geschrieben Nachdem der Warsurfer komplett installiert und richtig konfiguriert worden ist wird gezeigt wie er zu handhaben ist Zum Schluss wird noch auf verschie dene Tuning M glichkeiten hingewiesen die das mobile Surf Erlebnis steigern k nnen 8 2 Abh ngigkeiten User die den Warsurfer auf einem Debian System installieren m chten brau chen nicht alle Pakete einzeln zu installieren Warsurfe
46. eine Vielzahl von Paketen zu erzeugen und diese zu verschicken Die Installation gestaltet sich relativ einfach Laden Sie sich die neueste Version von Scapy herunter und speichern Sie die Da tei im Verzeichnis usr bin Die Datei wird nicht nach usr lib python2 3 site packages kopiert weil das Installationsskript des Autors diese Datei nach us r bin kopiert obwohl dies der Regel entspricht wget http www secdev org projects scapy files scapy py Und als root mv scapy py usr bin chmod 755 usr bin scapy py Scapy bietet die M glichkeit direkt ber die Konsole Pakete zu erstellen und zu verschicken Diese M glichkeit ist vor allem zur Fehlersuche sehr komfortabel M chten Sie davon gebrauch machen erstellen Sie einen Link im Verzeichnis usr bin In s usr bin scapy py usr bin scapy chmod 755 usr bin scapy 56 8 2 4 Postgresql PostgreSQL ist wie MySQL auch eine Datenbank Im Unterschied zu MySQL besticht PostgreSQL aber durch gr ssere Stabilit t mehr M glichkeiten was SQL betrifft und vor allem ein weniger restriktives Lizenzmodell Diese Daten bank bildet das Herzst ck des Warsurfers Der Sourcecode wird mit folgendem Befehl heruntergeladen Achten Sie darauf dass Sie mindestens Version 8 1 von Postgres installieren wget ftp ftp2 ch postgresql org pub postgresql source v8 1 0 postgresql 8 1 0 tar bz2 Sobald Sie den Sourcecode heruntergeladen haben entpacken Sie diesen und wechseln ins neu angelegte Ve
47. ellen Dabei soll in der ersten Iteration die Netzsuche sowie der Verbindungsaufbau mit den verfiigbaren Netzen realisiert werden Die zweite Iteration befasst sich mit dem Roaming ber verschiedene Netze und soll es erm glichen Downloads auszuf hren ohne bei einem Netzwechsel die Verbindung zu verlieren 15 5 1 1 Iteration Die erste Iteration befasst sich wie bereits erw hnt mit dem Verbindungsaufbau und der Netzsuche Um in Erfahrung zu bringen mit welchen Kenngr ssen zu rechnen ist wird zu Beginn eine Analyse durchgef hrt deren Erkenntnisse dann in den Design einfliessen werden Schliesslich wird der Design in ausf hrbaren Code bergef hrt welcher zum Schluss der Iteration getestet wird 100 Analyse Die Analyse soll eine Grundlage liefern welche es erm glicht einen Design nach vorherrschenden Kriterien auszuf hren Dabei soll untersucht werden welche Wireless Sniffer sich am besten f r den Einsatz eignen Ausserdem soll ermittelt werden mit welchen Verbindungszeiten respektive Verf gbarkeitszeit w hrend einer Bus Zug oder Tramfahrt zu rechnen ist Im Design ist ein Algorithmus zu entwickeln welcher sich mit der Suche bzw der Auswahl des richtigen Netzes besch ftigt F r diesen Algorithmus sind die Eckwerte zu analysieren So sollen Situationen aufgezeigt werden die auftreten k nnten Design Der Design wird nicht strikt nach RUP durchgef hrt Es werden jedoch die n tigen Designdokumente wie Klassendia
48. em Internet verbunden ist oder nicht Sicht gt public vconnectionstate lt firstseen timestamp without time zone lastseen timestamp without time zone rideid character varying 255 Sichtdefinition SELECT connectlog id connectlog bssid connectlog essid connectlog firstseen connectlog lastseen connectlog rideid FROM connectlog WHERE age now connectlog lastseen timestamp with time zone lt 00 00 05 interval Spalte Typ Attribute y id integer bssid character varying 17 essid f character varying 100 gt 50 7 3 3 Funktionen fnavaillog Triggerfunktion welche nderungen an kismetdata in die availlogtabelle bertr gt Ist ein Netz zum ersten mal oder nach einiger Zeit wieder verf gbar wird eine neue Zeile eingetragen Bei bereits aktiven Netzen wird die lastseen spalte aktua lisiert Die Ride ID wird ebenfalls eingetragen um sp ter eine Aufschl sselung nach Fahrzeug zu erm glichen fnconnected Diese Funktion wird vom Connector aufgerufen um der Datenbank mitzuteilen dass eine Internetverbindung mit dem bergebenen Netz m glich war Sie er stellt dann einen neuen Eintrag in connectlog oder aktualisiert den bestehenden falls es sich immernoch um das selbe Netz wie beim letzten Aufruf innerhalb der letzten 5 Sekunden handelt Parameter bssid fngetessid Diese Hilfsfunktion wandelt eine bssid mittels der Informationen aus kismetdata in eine ESSID
49. emstellung Entwicklung einer Testumgebung zur Simulation der Problemstellung Entwicklung einer Applikation die sich laufend mit offenen Netzwerken verbindet Eigenentwicklung oder Implementation eines Roaming Protokolls welches zumindest das Lesen von Email Nachrichten erlaubt 3 2 1 Randbedingungen und Infrastruktur e Die Applikation soll unter Linux laufen e Die Applikation soll unter einer Open Source Lizenz auf sourceforge net ver ffentlicht werden A Kapitel 4 Grundlagen 4 1 Wireless Lan 802 11 Der TEEE Standard 802 11 spezifiziert den Mediumzugriff MAC Layer und die physikalische Schicht f r drahtlose Netzwerke Es gibt diverse Erweiterungen f r den 1997 verabschiedeten Standard Diese unterscheiden sich haupts chlich in ihrem verwendeten Frequenzband und in der Daten bertragungsrate Standard Frequenzband Datentransfer Verabschiedet 802 11 2 400 bis 2 485 GHz 2 MBit s 1997 802 11a 5 GHz 54 MBit s 1999 802 11b 2 400 bis 2 485 GHz 11 MBit s 1999 802 11g 2 400 bis 2 485 GHz 54 MBit s 2003 802 11n 5 GHz geplant 540 MBit s Ende 2006 ge plant 802 11p 5 850 5 925 GHz geplant 27 MBit s Ende 2008 ge plant Abbildung 4 1 802 11 Standards Am weitesten verbreitet sind 802 11b 11 MBit s und 802 11g 54 MBit s Die Frequenzen im 2 4GHz band 14 Kan le aufgeteilt von denen in Europa aber nur 13 in den USA nur 11 benutzt werden d rfen Die Verbindung
50. en angepasst werden was das Risiko einer Fehlkonfiguration erh ht Abschliessend l sst sich sagen dass der Aufwand der Installation nicht im Masse mit dem Ertrag bei der Anwendung steht Die Software richtet sich in diesem Status noch eher an Internets chtige Geeks mit hohem Mass an Experimentier freudigkeit 10 2 Feldtest W hrend unseren Testfahrten in und um Z rich haben wir einiges Datenmate rial gesammelt Insgesamt sind wir an 4824 Accesspoints vorbeigefahren Davon waren 551 Kostenpflichtige Public Hotspots tpn ch Mobile Connectionpoint etc Es zeigt sich dass sich das Sicherheitsbewusstsein der Bev lkerung in den letzten Jahren doch etwas gebessert hat Von den 4273 nicht ffentlichen Hots pots waren 2012 48 mit WEP 491 11 mit anderen Verschl sselungsarten wie WPA gesichert Es bleiben noch 1770 41 unverschl sselte Netzwerke Die ESSIDs werden meistens nicht ge ndert wie folgende Hall Of Fame zeigt 1 keine ESSID 374 2 default 235 NETGEAR 113 Wireless 95 linksys 87 USR8054 30 N a A WwW USR5462 17 Werden ESSIDs ge ndert dann meist auf den eigenen Namen die Firma oder die Strasse Aber auch einige kreative ESSIDs konnten wir entdecken e Bea t s ExcessPoint e CiaoFabyClaudiaLuschtUfeGlas Wii e Em Fritz sis WLAN e fingerweg e Haseb r 86 heinis we lan hitchhicker Houston Controll mach Dich vom Acker no access baby 10 3 Soll Ist Vergleich
51. en das Surferlebnis und die Netzausbeute erheblich zu verbessern Mit O Schacher zusammen zu arbeiten war auch in diesem Projekt sehr an genehm W hrend dieser Arbeit trug seine F higkeit zum analytischen Denken genauso wie sein tiefgr ndiges Wissen ber s mtliche Bereiche welche entwe der mit dem Internet oder mit Linux zu tun haben massgeblich zum Erfolg des Projektes bei Vor allem aber ist es seine F higkeit abstrakte Gedanken in ausf hrbaren Code umzusetzen seine Art zu kommunizieren und seine Begeis terungsf higkeit was die Zusammenarbeit mit ihm zum Vergn gen macht Die Arbeit am Warsurfer hat mich einiges im Umgang mit Datenbanken ge lehrt Ebenso wurden meine Python skills verbessert In diesem Projekt war die Testumgebung besonders wichtig Die Arbeit an diesem Projekt hat meine F higkeit das Bild der realen Welt auf das f r eine Applikation wesentliche zu 88 reduzieren und nachzubauen geschult 11 2 O Schacher Bis zu einem gewissen Grad bin ich Internets chtig Wenn ich irgendwo in die Ferien gehe nicht dass dies oft vork me wird als erstes mal das Notebook ausgepackt und Kismet angeworfen um nachzuschauen ob mir ein freundlicher Nachbar vielleicht die M glichkeit bietet ber Instant Messaging die daheimge bliebenen auszulachen Als Cedric mit der Idee auf mich zukam dass man even tuell eine Internetverbindung sogar w hrend einer Busfahrt herstellen k nnte war ich nat rlich sofort davon begeist
52. endem Schema generiert lt md5 summe gt lt tab gt lt jobtyp gt lt tab gt lt Gr sse in Bytes gt lt URL gt Beispiel 07eb51d640b9d9ef345c300eb0101bb8 mail 287 http ut darktech org warsurfer 07eb51d640b9d9ef345c300eb0101bb8 gz d494cb6b59adfbc9fc4eec39dceacc85 mail 295 http ut darktech org warsurfer d494cb6b59adfbc9fc4eec39dceacc85 gz c18a72ab35382761abdcf707fb284075 mail 297 http ut darktech org warsurfer c18a72ab35382761abdcf707fb284075 gz Das Serverskript ist sehr kurz und kann daher einfach auf die Gegebenheiten Ihres Servers angepasst werden Hier ein Beispiel des Pythonskripts f r IMAP SSL Server 72 import imaplib gzip md5 os die URL die der warsurfer benutzen kann um die Dateien herunterzuladen baseurl http meinhost com warsurfer pfad auf dem Webserver in dem die Dateien liegen basepath var www warsurfer adresse des mailservers mailserver 127 0 0 1 mailserver benutzername und passwort username warsurfer password strenggeheim M imaplib IMAP4 SSL host mailserver M login username password M select typ data M search None ALL indexfile gzip GzipFile basepath index gz wb for num in data 0 split typ msgdata M fetch num RFC822 msg msgdata 0 1 md5sum md5 new msg hexdigest filename s gz Yand5sum file gzip GzipFile basepath filename wb file write msg file close
53. er Schritt ist unter Debian nicht n tig Das warsurfer Startskript sucht sei ne Bibliotheken und Programmdateien zuerst in usr share warsurfer danach im aktuellen Verzeichnis Wenn Sie also einen anderen Installationspfad gew hlt haben sollten Sie folgendes Wrapperskript anlegen bin bash DIR lt WARSURFER_VERZEICHNIS gt cd DIR warsurfer Erstellen Sie einen Symlink im Verzeichnis usr bin welcher auf die neu erzeugte Datei zeigt oder verschieben Sie das neue Skript direkt nach usr bin 8 4 Konfiguration Nachdem nun alle Dateien an den richtigen Ort verschoben worden sind ist esan der Zeit alle Anwendungen an ihre Bed rfnisse und Gegebenheiten anzupassen Als erstes werden wir die Konfiguration des Herzst ckes der Datenbank vor nehmen danach werden wir Kismet so anpassen dass bei der Verwendung mit dem Warsurfer keine Komplikationen auftreten Zum Schluss werden wir den Warsurfer konfigurieren Dies geschieht in zwei Schritten Die Grundlegensten Einstellungen werden in einem File Namens warsurfer conf eingestellt w hrend der Grossteil der Einstellungen ber die Datenbank vorgenommen wird 62 8 4 1 Kismet Die Konfiguration von Kismet geschieht ber die Datei etc kismet kismet conf Die meisten Einstellungen stimmen bereits und k nnen einfach bernommen werden Wichtig ist dass Sie Kismet verraten mit welchem Interface Sie gerne sniffen w rden und dass Kismet von demjenigen Interface mit welchem je
54. eranf llig ist wenn man stattdessen die ESSID des Accesspoint verwendet um auf diesen zu verbinden 40 iwconfig lt Karte gt essid lt ESSID gt e Mit BSSID verbinden Obwohl es aus Sicht der Datenhaltung sowie des Programmierers einfa cher w re den Accesspoint direkt ber seine MAC Adresse anzusprechen wurde diese Variante verworfen Es zeigte sich in der Praxis dass alle Wi reless Interfaces die zur Verf gung standen nicht mit einem Accesspoint verbinden wenn direkt ber die BSSID versucht wird eine Assoziation aufzubauen iwconfig lt Karte gt ap lt BSSID gt e Route setzen Jedesmal wenn mit einem neuen Accesspoint verbunden wurde muss dieser als Standardgateway gesetzt werden Um dies zu be werkstelligen wird libdnet eingesetzt Libdnet stellt ein einfaches por tables Interface zu unterschiedlichen low level Netzwerk Routinen Unter anderem kann mit libdnet eben auch die Routingtable ver ndert werden libdnet route add dnet addr 0 0 0 0 0 dnet addr lt GATEWAY gt e IP Adresse setzen Dnet bietet Mechanismen an die IP Adresse und die Subnetzmaske zu setzen Setzen von IP Adresse und Subnetzmaske geschieht in mehreren Schritten 1 Eine Referenz auf das Interface erstellen intf dnet intf lt Karte gt 2 Ein Adress Objekt erstellen addr dnet addr lt IP Adresse gt 3 Die aktuellen Werte der Karte in ein Dictionary Objekt auslesen und dieses ver ndern dict intf get dict addr
55. erfiigbar war Channel Hopper Die Detector Karte muss zwischen den verschiedenen Kan len herumspringen um m glichst viele Netzwerke zu finden Dieses Channel Hopping kann direkt in Kismet konfiguriert werden Bei einigen Karten wird dies von kismet aber nicht unterst tzt In diesem Fall kann versucht werden mit dem Channel Hopper des Warsurfers zu arbeiten Leider gibt es diverse Karten bei denen die Firmware selbst entscheidet welche Kan le sie anspringt in diesem Fall bringt auch dieser Hopper keine besseren Resultate Die Funktionsweise des Channelhoppers ist einfach Die Kanalsequenz und Sprung frequenz wird in der Datenbank konfiguriert Der Hopper benutzt das iwconfig Kommando um den Kanal der Karte zu ndern iwpriv lt karte gt monitor 1 channel lt kanalnummer gt Connector Die Aufgabe des Connectors ist es Verbindungen mit Accesspoints herzustel len und diese so lange wie m glich zu erhalten Das beste Netz wird mittels folgendem Algorithmus ausgew hlt 37 list candidates net with user config No working _ No inet config Yes SS No Yes chosse N with choose most missing working N tests Order ee wees Order AVT AVT g Strength 7 e working _ No inet config Yes Select config choose N with highest user prio choose this config no tests vendor mac test done run oldest
56. ert und konnte es kaum erwarten mit die sem Projekt zu beginnen Das sich daraus sogar eine Diplomarbeit entwickelt hat freut mich besonders Ich hatte die ganze Zeit ber Spass an der Arbeit auch wenn diese einige Nachtschichten erfordert hat um Probleme zu l sen die von meist anderen verursacht wurden Wireless Treiber unter Linux seufz Die Zusammenarbeit hat in meinen Augen wunderbar funktioniert Ein Dozent der HSR meinte einmal Wenn das Problem gross ist ist die L sung nah und genau nach diesem Motto schaffte es Cedi immer wieder bei auf den ersten Augenschein ausweglosen Situationen die richtige Idee zu liefern Auch Herrn Steffen m chte ich ganz herzlich f r seine Tipps danken mit ihm als Betreuer haben wirklich einen Gl cksgriff get tigt Wie Cedric bin auch ich mit dem Resultat noch nicht ganz zufrieden denn In ternet everywhere ist noch nicht m glich Ich freue mich bereits auf die Zeit nach der Diplomarbeit wo wir uns wieder mehr dem Code und weniger der Do kumentation widmen k nnen Der Lernfaktor war bei diesem Projekt riesig Die Arbeit OpenVPN der Bau von Debian Paketen und PL PGSQL Daten bankskripte sind nur einige Beispiele die ich bestimmt in anderen Projekten weiterverwenden kann 89 Kapitel 12 Ausblick 12 1 Verbleibende Probleme Aus zeitlichen Gr nden konnten leider nicht ganz alle Probleme gel st werden Diese seien hier aufgelistet DNS Caching W hrend den Testpha
57. es Home Proxy 2 22 22 MobilelE u 0 a Ok ea nmel Verwendete Hardware und Treiber Interprozesskommunikation ber die Datenbank Kilassetidiagramm 3 44 24 4446 eee 2k dG GS ns eed Verbidungsalgorithmus 2 2 2m nn nn Verbindung mit dem Internet o Mailtransfer ber HTTP Roaming mit OpenVPN 2 nn nn Installer Einf hrung Installer Datenbankname 2 2 2 2 m nn nn nn Installer Datenbankbenutzer 2 2 2 2 2 m 2 nun nn Installer Datenbankpasswort 2 2 22 onen Installer Detectorinterface 2 222 2 002000000008 Installer Connectorinterface 2 2 2 2 2 2 2 2 nun nn nn Kismet Screenshot 222 2 22 Emo nn Detector Screenshot 2 222 22 mo nn nn Connector Screenshot 22222 2 222m nn Download Daemon Screenshot 2 2 2 2 2 2 22m Mailfetcher Screenshot 222222 2 2 mn nn Download Client Screenshot 2 2 2 2 2 2 2 nn nn 110
58. es kein Problem dar weil alle diese Informationen durch einen DHCP Server welcher in den meisten Netzen aktiv ist zur Verf gung gestellt werden W hrend einer Busfahrt reicht die Zeit aber nicht aus um f r jedes Netz einen DHCP Request abzusetzen Der einzig richtige Ansatz an dieser Stelle ist zu versuchen diese Einstellungen zu erraten und auszuprobieren F r den Warsurfer kommen lediglich solche Netze in Frage welche nicht ver schl sselt sind Es sei denn es liegt eine bekannte Netzwerkkonfiguration vor welche durch den Benutzer eingef gt worden ist Um die Netzwerkeinstellungen zu erraten haltet sich der Warsurfer an gewisse Fakten und versucht anhand derer eine funktionierende Verbindung herzustel len e Kismet Daten Es kommt vor dass es Kismet gelingt den IP Adress Range eines Netzes mitzusniffen Ist nun eine IP Adresse aus einem Netz bekannt wird eine 24 Netzmaske angenommen Des weiteren wird angenommen dass der Standardgateway eine IP Adresse mit der Endung 1 hat Anhand dieser Daten ist es nun m glich eine IP Adresse sowie eine Route ins Internet zu setzen e Standard ESSID Wenn ein Accesspoint direkt vom Hersteller kommt ist eine Standard ES SID eingestellt Wird eine solche von Kismet mitgesnifft wird angenom men dass der Betreiber des Accesspoints diesen nicht weiter konfiguriert hat Somit kann von der ESSID ausgehend auf die IP Adresse sowie auf die Standard Route bzw den Standardgateway geschlossen wer
59. esetzt in diesem Fall sind im Mailreader selbst keine weiteren Konfigurationen n tig Der Mailreader wird jetzt fiir den Abruf der Emails eine Verbindung zu 127 0 0 1 localhost aufbauen Diese wird von SSH entgegengenommen via VPN Server zu pop bluewin ch weitergeleitet 7 3 Datenbank Viele Funktionen der verschiedenen Programmteile wurden direkt in die Daten bank ausgelagert Die hat vor allem Geschwindigkeitsvorteile und erm glicht auch ein Eingreifen in die Funktionalit t des Warsurfer ohne das der Python Code ge ndert werden muss 45 7 3 1 Tabellen kismetdata Kismetdata ist das direkte Datenbankabbild der Informationen die der Detector von Kismet erh lt BSSID ESSID Signalst rke Verschl sselung und eventuell den IP Range Gespeichert wird zudem wann dieses Netz zum letzten mal ge sehen wurde Die Informationen werden vom Detector up to date gehalten Tabelle gt public kismetdata lt Spalte Typ Attribute bssid character varying 17 not null default character varying strength integer not null default 0 essid character varying 100 wepencrypted integer not null default 0 fixip character varying 15 lastseen timestamp without time zone not null Indexe gt activenets_pkey lt PRIMARY KEY btree bssid ride Diese Tabelle enth lt einen oder mehrere Rides Sie dient dazu Statistische Auswertungen auf eine Konkrete Fahrt zu beziehen Tabelle gt public ride lt Typ Attribute Sp
60. f hren dass der Warsurfer nicht korrekt funktioniert Deshalb teilen wir Kismet mit dass er Pakete welche vom Connec torinterface her kommen ignorieren soll Dies geschieht ber den Konfigurati onseintrag filter tracker Suchen Sie in der Konfiguration nach der Sektion in welcher der filter_tracker erkl rt wird und f gen Sie unterhalb folgende Zeile ein filter_tracker ANY lt MACADRESSE_CONNECTORINTERFACE gt 8 4 2 Warurfer Der Grossteil aller Einstellungen die im Warsurfer m glich sind werden in der Datenbank in der Tabelle configurations vorgenommen Informationen dir n tig sind um sich aber mit der Datenbank zu verbinden stehen in der Datei warsurfer conf Als erstes behandeln wir die Werte welche in der warsurfer conf Datei stehen und werden uns danach mit den Konfirgurationsm glichkeiten die ber die Tabelle configurations m glich sind zuwenden 63 warsurfer conf Die Datei warsurfer conf befindet sich im Verzeichnis etc Grunds tzlich soll te die Datei vom Installationsskript warsurfer_installer sh bereits korrekt erstellt worden sein Falls nicht ffnen Sie die Datei mit dem Texteditor ihrer Wahl Achten Sie dabei darauf dass Sie ausreichende Berechtigungen haben um in dieses Verzeichnis zu schreiben vi etc warsurfer conf Die Struktur der Datei ist relativ simpel gehalten Sie setzt sich zusammen aus dem Namen des Konfigurationseintrages gefolgt von einem Abstand und dem Konf
61. ft dass dieses Tool ber die M glichkeit verf gt WEP Keys zu entschl sseln F r unsere Anspr che kommt Airsnort nicht in Frage da man die Daten nicht in Echtzeit abfragen kann Airsnort bietet zwar die M glichkeit in ein File zu loggen was aber bei der getesteten Version nicht funktioniert hat 17 Name Homepage GUI Server Feild WEP ESSID BSSID Version Dec Airsnort airsnort shmoo com Y N Y N Y Y 0 2 7 Ethereal www ethereal com Y N N N Y Y 0 10 12 WifiRadar www bitbuilder com Y N N N Y Y 0 1 9 4 WlanScannel www cweiske de Y N N N Y Y 0 2 Kismet www kismetwireless net Y Y Y N Y Y 2004 04 R1 Abbildung 6 1 Vergleich der Wireless Sniffer Ethereal Ethereal 2 ist ein Sniffer der sich weit verbreitet hat Er hat seine St rken vor allem im Netzwerkbereich wenn es darum geht den Verkehr in einem Netzwerk zu berwachen Mit der M glichkeit Filter zu setzen kann der Netzwerkverkehr paketgenau analysiert werden Ethereal kommt mit einem praktischen GUI da her und bietet eine Vielzahl an Konfigurationsm glichkeiten F r einen Einsatz als Wireless Sniffer macht sich Ethereal eher weniger gut Ethereal zeigt jedes einzelne Paket an das er empfangen hat Dies bedeutet einen enormen Aufwand wenn man daraus verwertbare Daten ber verf gbare Draht losnetzwerke ableiten muss Ausserdem biete Ethereal nicht die M glichkeit die Daten in Echtzeit einem anderen Programm zur Verf g
62. g aufzubauen pinghost Um festzustellen ob eine Verbindung ins Internet besteht wird periodisch 67 ein Host angepingt Hier k nnen Sie einstellen welcher Host das ist Es ist m glich und ratsam mehrere durch Komma getrennte IP Adressen anzugeben Bekannte Netzwerke Bekannte Netzwerke k nnen vom Warsurfer besonders behandelt werden z B um kostenpflichtige Hostspots aus dem Verbindungsalgorithmus auszuklammern Dazu m ssen diese in die Tabelle userconfig eingetragen werden mit der usable Spalte auf 0 gesetzt Beispiel INSERT INTO userconfig ESSID usable VALUESC WucherGMBH 0 8 5 Anwendung 8 5 1 Zusammengefasster Start Der Warsurfer besteht aus vielen Applikationen die einzeln oder zusammen ge startet werden k nnen Wenn Sie nur eine einzige Konsole bevorzugen k nnen alle ben tigten Applikationen mit dem Befehl warsurfer starten Alle Prozes se ausser dem Connector werden dann im Hintergrund versteckt In diesem Modus ist es aber schwer allf llige Fehler in den Subprozessen zu erkennen 8 5 2 Einzelstart Wenn Sie ein Fan von vielen offenen Konsolen sind empfehlen wir diese Art den Warsurfer zu starten So kann jeder Prozess beobachtet und berwacht werden dies beeindruckt auch allf llige Zuschauer Um die folgenden Befehle auszuf hren m ssen Sie in der jeweiligen Konsole in das Installationsverzeichnis wechseln 1 kismet 2 python detector py 3 python connector py
63. g ins Internet erm glichen Jedes Netz ist genau 10 Sekunden verf gbar Testskript 1 wstest_random1_hostap_connector py Erzeugt Netze 2 wstest_connector py Liefert die Resultate Ben tigte Infrastruktur e Laptop mit Wirelesskarte Host Ap Treiber e Zwei Wirelesskarten Detector Connector Durchf hrung 1 Warsurfer Datenbank leeren kismetdata userconfig connecttries 2 kismet starten Detector starten Connector starten Testskript 1 laufen lassen u OS Vi oe Resultate mit Testskript 2 pr fen Erfolgsbedingungen 1 8 von 10 Netzen wurden erfolgreich in connectlog eingetragen 2 Die durchschnittliche Onlinezeit betr gt mindestens 3 Sekunden Durchfiihrung Connector Test running at Tue Dec 13 12 15 45 2005 Success condition 1 8 entries in connectlog PASSED 8 Success condition 2 minimum 3 0 seconds average internet connection time PASSED 7 266097 OVERALL TEST RESULT FOR ak ak ak ak ak ak ak PASSED a ak ak ak ak ak ak ak ak ak 80 9 3 Maildownload Testbeschreibung Dieser Test soll feststellen ob der Mailtransfer ber den Warsurfer funktioniert Dazu wird ein Mail mit einem ca 5MB Attachment an die Adresse warsurfer ut darktech org geschickt Dort l uft das Mailserver Skript welches die Daten f r den HTTP Transfer bereitstellt Auf der Clientseite wird wieder das gleiche Setup wie beim letzten Test verwendet 10 Netze 10 Sekunden Der Test gilt als bestanden wenn das Mail
64. gramm oder Domainmodell erstellt Ausserdem wird ein Designdokument erstellt welches den Design erkl rt und die getroffenen Designentscheide begr ndet Coding In dieser Phase wird der ausf hrbare Code erstellt Schwerpunkt dabei ist dass der Code leserlich bleibt und ausreichend dokumentiert ist Es soll einer Dritt person m glich sein den Code zu verstehen und diesen zu erweitern Die Co dedokumentation wird mit dem Tool PyDoc erstellt und dem Schlussbericht beigef gt Testing Um die erstellte Software zu testen muss eine Testumgebung eingerichtet wer den Es muss mit dieser Umgebung m glich sein eine Fahrt entlang diversen Accesspoints zu simulieren um feststellen ob es m glich ist eine Verbindung mit diesen Accesspoints herzustellen Dabei m ssen folgende Punkte beachtet werden e ESSID Die ESSID muss einem bestimmten Namensschema entsprechen Dadurch wird sichergestellt dass Statistiken welche sich auf die in der realen Welt aufgezeichneten Daten beziehen nicht durch simulierte Netze verf lscht werden e Strength Die St rke soll variieren In der realen Welt wird dies von einem bewegten Betrachter aus ebenfall so sein Wird der Accesspoint zum ersten mal ent deckt wird sich dieser in etwas gr sserer Entfernung befinden W hrend der Fahrt kommt dieser Accesspoint n her und somit wird auch die Si gnalst rke zunehmen und beim Entfernen vom Accesspoint wieder ab schw chen e Zeit Je nach dem wie schnell man
65. hen Abzugeben sind zwei CD ROM s welche die Software und den Bericht in elektronischer Form enthalten PDF Dateien und Originaldateien des benutzten Textsystems Der Bericht ist zus tzlich zweimal in gedruckter Form mit Ringbindung kein Ordner bereitzustellen Geforderte Berichtsinhalte 1 Resultatdokumentation Sie beschreibt alle Resultate der Arbeit und soll projektbegleitend gem ss dem f r die Arbeit gew hlten Vorgehensmodell erstellt werden Sie soll alle wichtigen Informationen enthalten die ein Ingenieur ben tigt der die Arbeitsresultate ohne vorg ngige Kenntnis des Projekts weiterverwenden m chte 97 2 Projektdokumentation Sie umfasst jegliche Dokumentation die sich auf die Durchf hrung der Studienarbeit bezieht Dazu geh ren auch ein nach gef hrter Projektplan Arbeitspakete Zeitplan mit Meilensteinen Plan und Ist Aufw nde Kurzprotokolle aller Besprechungen und ein Projekt schlussbericht was wurde erreicht bzw nicht erreicht was ist in der Durchf hrung gut schlecht gelaufen Schlussfolgerungen Im Bericht ist die Aufteilung der Arbeit innerhalb der Gruppe auszuweisen Neben dem oben geforderten Gesamtbericht sollen folgende Berichtsteile zus tzlich in englischer Sprache als separate elektronische Dokumente bereit gestellt wer den e Technischer Bericht e Systemdokumentation e Benutzerdokumentation e Projektdokumentation Software Engineering Dokumente Im weiteren soll die Gliederung und
66. hern d rfte auch hier der Tatbestand nicht erf llt sein 25 Unbefugtes Eindringen in eine Datenverarbeitungsanlage Damit der Tatbestand des Unbefugten Eindringens in eine Datenverarbeitungs anlage erf llt ist m ssen folgende Elemente zutreffen e Eindringen in ein fremdes Datensystem e Daten sind nicht f r Wardriver bestimmt unbefugte Datenverwendung e Daten sind gegen unbefugten Zugriff besonders gesch tzt Dieser Tatbestand ist beim Warsurfer ebenfalls nicht erf llt da standardm ssig nur auf Netze zugegriffen wird die nicht verschl sselt und somit nicht gegen unbefugten Zugriff gesch tzt sind Datenbesch digung Damit der Tatbestand der Datenbesch digung erf llt ist m ssen folgende Ele mente zutreffen e Ver nderung L schung oder Unbrauchbarmachen von gespeicherten oder bermittelten Daten e Daten sind nicht f r Wardriver bestimmt unbefugte Datenverwendung e Vorsatz Fahrl ssigkeit reicht f r diesen Tatbestand nicht aus Beim Warsurfen werden keinerlei Daten ver ndert Somit trifft dieser Tatbe stand ebenfalls nicht zu Fazit Wird der Warsurfer so benutzt wie es von den Entwicklern gedacht ist bestehen keinerlei rechtliche Bedenken Es ist aber durchaus m glich den Warsurfer so zu benutzen dass Rechtsverletzungen auftreten Die Entwickler sprechen sich allerdings ganz klar dagegen aus 6 7 Verbindungsunterbriiche Sobald sich der Warsurfer einmal mit einem Netz verbunden hat werden so
67. ig k nnen wiederum verschiedene Netze simuliert werden 7 1 3 Scripting Engine Damit sich nun diese Netzwerke automatisiert simulieren lassen wurde ein Python Interface definiert welches eine einheitliche API auf alle verf gbaren Accesspoints darstellen soll Das Interface wurde von uns f r OpenWRT und Host AP implementiert Aber auch Accesspoints welche sich nicht ber die Kom mandozeile steuern lassen k nnen mit diesem Interface relativ leicht in die Te stumgebung mit einbezogen werden 31 Um die Engine auf einen neuen Accesspoint zu erweitern muss von der Klas se aphandler abgeleitet werden und es sollten alle der folgenden Funktionen berschrieben werden welche vom jeweiligen Accesspoint unterst tzt werden class aphandler interface for ap handler Methods defined here disable self disables wifi interface enable self enables wifi interface getdhcptable self returns a tuple mac ip hostname login self hostname user password log in to the device logout self log out from the device setbssid self bssid sets bssid setchannel self channel set ap to specified channel setessid self essid sets essid setpower self power 0 sets transmission power full power if 0 setwepkey self key None sets wep key or disables it if None Die Scripting Engine bietet zudem einige Hilfsfunktionen comeAndGo aphandler peek secs tries to simulate a drive by by increasing and
68. ige oder unbefugte Verwendung von Daten e Herbeif hren von Verm gensverschiebung zum Schaden einer Drittperson e Absicht der unrechtm ssigen Bereicherung All die genannten Elemente treffen f r den Warsurfer nicht zu Es werden keiner lei Daten dritter ver ndert oder eingesehen Es wird keine Verm gensverschiebung vorgenommen und die Einzige Bereichung die der Benutzer erf hrt ist ein paar Sekunden lang in den Genuss einer Internetverbindung zu kommen was aber im rechtlichen Sinne kaum als Bereicherung aufgefasst werden kann Urkundenf lschung Damit der Tatbestand der Urkundenf lschung vorliegt m ssen folgende Ele mente zutreffen e F lschung von Urkunden gem ss StGB 110 Ziff 5 e Absicht der Verm genssch digung bei einer Drittperson e Absicht des unrechtm ssigen Vorteils Urkundenf lschung ist beim Warsurfen kein Thema da keinerlei Dokumente des Netzbetreibers eingesehen werden Unbefugte Datenbeschaffung Damit der Tatbestand der Urkundenf lschung erf llt ist m ssen folgende Ele mente zutreffen e Beschaffung von gespeicherten oder bermittelten Daten e Daten sind nicht f r den Wardriver bestimmt unbefugte Datenverwen dung e Daten sind gegen unbefugten Zugriff besonders gesch tzt e Absicht der unrechtm ssigen Bereicherung Da mit dem Warsurfer standardm ssig nur auf Netze zugegriffen wird welche nicht besonders gesch tzt sind und der Benutzer nicht die Absicht hat sich unrechtm ssig zu bereic
69. igurationswert lt Name gt lt Wert gt In dieser Datei haben Sie die M glichkeit folgende Werte zu konfigurieren e host Hier wird eingestellt auf welchem Host sich die Datenbank befindet Der Standardwert ist localhost und es besteht wohl wenig Anlass dazu dies zu ndern host localhost e user Dieser Wert bezeichnet der Benutzernamen des Benutzers mit welchem der Warsurfer sich mit der Datenbank verbindet Sofern die Datenbank durch das Installationsskript oder durch obige Anleitung erzeugt worden ist brauchen Sie den Standardwert auch nicht zu ver ndern user warsurfer e dbname Hier k nnen Sie angeben wie die Datenbank die die Tabellen fir den Warsurfer enth lt heisst Auch hier gilt Sollte die Datenbank mit den mitgelieferten Skripts erzeugt worden sein brauchen Sie hier nichts zu ver ndern dbname warsurfer e password Geben Sie hier das Passwort ein welches f r den Datenbankbenutzer an gelegt worden ist password p4sswOrd Konfigurationstabelle Nun sind alle Einstellungen in der warsurfer conf so eingestellt dass der Warsur fer Verbindung mit der Datenbank herstellen kann Alle weiteren Konfigurati onseinstellungen werden aus der Datenbank gelesen Konkret handelt es sich um die Tabelle configuration Verbinden Sie sich mit der Datenbank und sehen Sie sich die Details dieser Tabelle an 64 psql U warsurfer warsurfer Xd configuration Sie sehen nun die Spalten die in dieser Tabe
70. igure make Schliesslich installieren Sie Kismet mit folgendem Befehl Root Rechten make install So Nun geh ren auch Sie zu den gl cklichen Kismet Benutzern Schliesslich haben Sie nun alles installiert was der Warsurfer zur Funktion ben tigt Fahren Sie nun mit der Installation des Warsurfers fort 8 3 Installation Die Installation des Warsurfers ist einfacher als man denkt Dies trifft vor allem f r Debian User zu Diese k nnen einfach auf der Konsole apt get install warsrufer ausf hren Der Warsurfer wird dann unter usr share warsurfer installiert Be nutzer welche von dieser M glichkeit nicht Gebrauch machen k nnen haben es nicht viel schwerer Einfach den Sourcecode bei der Bezugsquelle ihres Vertrau ens erstehen auf die Festplatte speichern entpacken und in das neu angelegte Verzeichnis wechseln wget http warsurfer wgwh ch download warsurfer version tar gz tar xvzf warsurfer version tar gz cd warsurfer version 8 3 1 Datenbank automatisch Im Installationsverzeichnis befindet sich ein Shell Skript welches die Datenbank aufsetzt Dieses muss auch unter Debian ausgef hrt werden usr bin wasur fer_installer sh sh warsurfer_installer sh Es erscheint eine Nachricht wie in Abb 8 1 Dr cken Sie OK Sie werden als n chstes nach dem Namen gefragt der f r die neue Datenbank verwendet werden soll Der Standardwert ist sicher eine gute Wahl Sie k nnen den Namen aber auch ndern wenn Sie z B mehrere
71. in dieser Zeit transferiert wurde und die MD5 Summe des Attachments bereinstimmt Die Attachment wurde bewusst berdurchschnittlich gross definiert da in unserem Testsetup auch eine berdurchschnittlich schnelle Leitung zum Mailserver besteht Testskript wstest_random1_hostap_connector py Erzeugt Netze Ben tigte Infrastruktur e Laptop mit Wirelesskarte Host Ap Treiber e Zwei Wirelesskarten Detector Connector Durchf hrung 1 Warsurfer Datenbank leeren kismetdata userconfig connecttries 2 Kismet starten 3 Detector starten Connector starten Mailnachricht an warsurfer ut darktech org senden md5 summe pr fen Testskript laufen lassen N DO Ol A nach Ablauf die Inbox berpr fen Erfolgsbedingungen 1 Mail Nachricht wurde in das Lokale Mailfile eingetragen 2 MD5 Summe des Anhangs stimmt Durchf hrung 13 Dez 12 43 Der Mailanhang wurde mit folgendem Kommando generiert dd if dev urandom of 5mdata count 5 bs 1M MD5 Summe des Mailanhangs md5sum 5mdata d5af7eed4d7b950138e1bc5felfc53b5 Da f r diesen Test kein automatisches Skript besteht hier die Ouputs der in volvierten Applikationen Download Daemon 81 WARSURFER DOWNLOAD DAEMON UP AND RUNNING Starting download of http warsurfer stawsa ut darktech org warsurfer index gz Completed download of http warsurfer stawsa ut darktech org warsurfer index gz downloaddaemon py 194 RuntimeWarning tmpnam is a potential security risk t
72. ingt Performancevorteile Ein erster Versuch wurde mit mySQL gemacht es stellte sich aber heraus dass der Python Treiber f r eine hohe Anzahl SQL Statements in kurzer Zeit nicht geeignet ist Daher wird postgreSQL verwendet welches mySQL in praktisch jeder Hinsicht bertrifft Stabilit t Features Lizenzmodell Da es sich hier prim r um ein Projekt f r Geeks handelt k nnen wir dem Benutzer die In stallation von postgreSQL zumuten 7 2 2 Klassen Design 34 kismetSocket socket kismethost string kismetport int callback object startsniffingl connect listnal parseKismetD atal data string sniffer st sharedstufl sniffer kismetIF snifferlF string hopFreq double channelsl int db dbhandler main addNet insertNet updateNet net_exists boo pgtimel string unixtimel string dbtype string Username string password string host string db string connection object connect object disconnect query query string db downloaddaemon st sharedstufl connected boo chunksize int db dbhandler channels string hopperlF string hopFreq double getChannels addChannel channel int delC hannel channel int getHoppingFrequency double channelHop bssid string ssid string gateway string
73. ko Management F r dieses Projekt wird eine detaillierte Risikoanalyse erstellt welche die Verfol gung der auftretenden Risiken sowie die zu treffenden Massnahmen bei Auftritt des entsprechenden Risikos enth lt 15 3 4 berwachung und Kontrolle Nach jeder Phase des Projektes wird eine Review Sitzung stattfinden bei wel cher die ausgef hrten Arbeiten bewertet und ein Ausblick und N tige Schritte 99 besprochen werden Alle Arbeiten werden dokumentiert 15 4 Entwicklungsprozess 15 4 1 Methoden Tools und Techniken e Da RUP sich mit seinen Phasen und enormem Dokumentationsaufwand f r dieses Projekt nur bedingt eignet wird nicht strikt nach RUP vorge gangen Wie bereits erw hnt wird als erstes eine Analyse durchgef hrt deren Ergebnisse starken Einfluss auf den Design haben wird Editoren kate kile gedit vim und andere standard Linux Editoren Entwicklungsplattform Debian GNU Linux Programmiersprache Python plsql SQL Alle Worksproducts Code Dokumentation werden in einem CVS Repo sitory verwaltet Coding Standards Jede Klasse und jede Methode wird kurz dokumentiert Es ist ausserdem auf bersichtlihen Code zu achten 15 4 2 Software Dokumentation Neben der Codedokumentation sind folgende Dokumente zu erstellen e Genaue Installationsanleitung e Benutzerdokumentation in deutscher und englischer Sprache 15 5 Entwicklungsplan Es ist geplant die Entwicklung des Warsurfers in zwei Iterationen zu erst
74. lesskarte Momentan muss der Warsurfer mit zwei Wirelesskarten Detector Connec tor betrieben werden Eventuell liesse sich hier eine M glichkeit finden diese beiden Aufgaben in einer Karte zu vereinen e GPS Mit einem GPS Ger t kann man die Position der Netzwerke ziemlich ge nau bestimmen Der Lernalgorithmus k nnte so erweitert werden dass er bei einer wiederholten Durchfahrt durch ein Gebiet bessere Netze ausw hlt man kann z b ein Verf gbares Netz auslassen weil man weiss das gleich ein viel besseres kommt 91 e Unterst tzung von Instant Messaging Zur Zeit wird nur das Herunterladen von Emails durch den Warsurfer und Browsen ber den OpenVPN Tunnel unterst tzt Eine erw nschte Weiter entwicklung w re es Instant Messaging zu unterst tzen Es w re denkbar das Protokoll analog zum Email Protokoll ber einen Home Proxy zu rea lisieren Zus tzlich zum Home Proxy m sste aber auch auf dem Client eine Proxy Instanz installiert werden welche dem Instant Messenger eine steti ge Verbindung vorgaukelt und diesen mit Nachrichten f ttert sobald diese vorliegen Der Home Proxy seinerseits bern hme die Kommunikation mit dem Accounting Server damit der Benutzer f r seine Freunde nicht als offline dargestellt wird e RSS Newsreader Eine ebensogrosse Nachfrage wie nach seinen Emails besteht bestimmt auch nach News Um den Browsing Verkehr einzuschr nken k nnten die se wie die Emailnachrichten ber den Homeproxy gela
75. lichen Internet Gateway zur Verf gung stellen m chte Ein solcher Access point kann selbst von unerfahrenen Leuten benutzt werden Der Nachteil dabei ist aber dass man geographisch an denjenigen Accesspoint gebunden ist mit dem man sich gerade verbunden hat Bewegt man sich zu weit von diesem Ver bindungspunkt weg verschlechtert sich das Signal zunehmends und s mtliche Verbindungen ins Internet brechen schlussendlich ab Vor allem in dicht besiedelten Gebieten ist die Konzentration von offenen Wireless Netzwerken mittlerweile so hoch dass man versuchen k nnte Daten auch mobil d h z B w hrend einer Busfahrt zu transferieren Das Problem hierbei ist dass die Zeit in der man sich in der N he eines Accesspoints befindet meist nicht reicht um eine manuelle Verbindung herzustellen geschweige denn ganze Email Nachrichten herunterzuladen Die Idee hinter dieser Diplomarbeit ist es nun ein Programm zu entwickeln welches den Prozess der Netzsuche und der Verbindung automatisiert Mit Hilfe eines sinnvollen Algorithmus soll so schnell wie m glich das beste Netz ermit telt werden um sich mit diesem zu verbinden Dadurch ist je nach Umgebung eine mehr oder weniger stetige Verbindung ins Internet gew hrleistet In einem weiteren Schritt soll erreicht werden dass Datenstr me auf ein neues Netzwerk bertragen werden k nnen 3 2 Aufgabe Die Aufgabe soll in folgenden Teilschritten gel st werden Gr ndliche Analyse der Probl
76. ligen Trams zur Verf gung gestellt hat S Roth f r zahlreiche Feinkostmenues welche die Moral w hrend langer Arbeitstage wieder anzuheben vermochten D Schlumpf f r R cksichtnahme und Verst ndnis f r die geleistete Mehr arbeit Miss Handballmannschaft die uns immer wieder ein L cheln aufs Ge sicht gezeichnet und uns nachhaltig gepr gt hat Der gr sste Dank aber gilt allen den anst ndigen Bewohnern der Stadt Z rich die noch an das Gute im Menschen glauben und ihre Wireless Netzwerke deshalb nicht verschl sseln 93 Teil V Appendix Kapitel 14 Risikoanalyse Die untenstehende Tabelle zeigt die Risiken welche fiir diese Arbeit relevant sind und die zu treffenden Massnahmen bei Eintreten des Risikos Der Gewichtete Schaden bezeichnet die Anzahl Tage die f r dieses Risiko als Reserve eingeplant werden Am schwersten wurde der Fall eingesch tzt wenn das definierte Testgebiet die Stadt Z rich zu wenige offene Netze bietet und nach einem neuen Gebiet Aus schau gehalten werden m sste Ein neues Testgebiet zu suchen ist nicht ganz einfach da die Suche mit enormer Sniffer Arbeit verbunden w re Andere Risiken wie der Ausfall eines Mitarbeiters durch Krankheit hat geringe Folgen Der Arbeitspartner m sste in diesem Fall etwas mehr Leisten Trotzdem w rde der von Krankheit geplagte Mitarbeiter wohl zu einem grossen Teil im Bett weiterarbeiten Sollte es vorkommen dass w hrend einer Busfahrt die
77. lle enthalten sind Nachdem Sie den Befehl ausgef hrt haben wird ihnen etwa folgendes angezeigt Spalte Typ Attribute Spee ee ee sp Se e es ag e E id character varying 255 not null configvalue character varying 255 defaultvalue character varying 255 description text Die Namen in der Tabelle sind relativ selbsterkl rend ID bezeichnet den Na men der Konfigurationsm glichkeit configvalue den aktuell konfigurierten Wert defaultvalue den Standardwert und description eine kurze Beschreibung der Ein stellung Nachfolgend sind alle m glichen Konfigurationseinstellungen beschrieben Um eine bersicht ber die aktuellen Einstellungen zu erhalten benutzen Sie die SQL Syntax SELECT FROM configuration Mit der selben Syntax k nnen Sie auch Werte ver ndern UPDATE configuration SET configvalue lt NEUER_WERT gt WHERE id lt ID gt Sehen wir uns die M glichkeiten der Konfiguration im Detail an e dhcptimeout Ist ein Netz sichtbar wird mit unterschiedlichen Methoden versucht dar auf zuzugreifen Eine Methode davon ist einen DHCP Request abzuset zen Dieser Wert bezeichnet wie lange in Sekunden auf eine Antwort von einem DHCP Server gewartet werden soll e pinginterval Ist einmal eine Verbindung mit dem Internet hergestellt wird st ndig berpr ft ob diese Verbindung noch aktiv ist Dazu werden periodisch ICMP Pings verschickt ber den pinginterval kann eingestellt wer den wi
78. lysiert werden Um die Software zu entwickeln musste zudem eine Testum gebung aufgebaut werden welche die Gegebenheiten simulieren kann Ly Abbildung 2 1 Warsurfer Theorie Schematisch Die Anforderungen des Projekts konnten erf llt und teilweise sogar bertroffen werden Es war uns m glich w hrend einer Testfahrt in Z rich Webseiten zu lesen und sogar Email Nachrichten aus dem fahrenden Tram zu verschicken Der Erfolgsfaktor einer Fahrt h ngt aber sehr stark von der gefahrenen Strecke und der verwendeten Hardware ab Die Software ist relativ komplex in der Instal lation und Anwendung und wird daher eher von technisch versierten Personen verwendet werden Die der Software zugrunde liegende Datenbank erm glicht detaillierte Statisti ken und gibt einen Aufschluss ber das aktuelle IT Sicherheitsbewusstein der Bev lkerung Kapitel 3 Aufgabenstellung Personen Studenten Cedric Wider Oli Schacher Betreuer Prof Dr Andreas Steffen Termine Beginn Montag 24 Oktober 2005 Abgabe Freitag 16 Dezember 2005 3 1 Einf hrung Wardriving ist ein unter Geeks beliebtes Hobby Dabei wird versucht von einem Laptop aus ber fremde meist ungesch tzte Funknetzwerke eine Verbindung ins Internet zu erhalten Nach wie vor sind viele Wireless Netzwerke nicht gesichert sei dies weil sich Benutzer des Sicherheitsrisikos nicht bewusst sind das tech nische Know How fehlt oder schlicht weil der Betreiber des Accesspoints einen ffent
79. m glich Beim zweiten Setup wurden weitaus weniger Netzwerke gefunden da hier einerseits die Connectorkarte viel schw cher war andererseits der Ride aus batterietechnischen Gr nden nicht so lange dauerte 83 Teil IV Bewertung und Ausblick Kapitel 10 Resultate und Zielerreichung 10 1 Zielerreichung gem ss Aufgabenstellung Entwicklung einer Testumgebung Dieses Ziel wurde erreicht Mittels den 15 HostAp Treibern auf dem Notebook und mit dem Linksys WRT Access point konnten wir per Skripts beliebig Wireless Netzwerke mit verschiedenen BSSIDs ESSIDs erzeugen um so eine Fahrt zu simulieren Ein standardisiertes Python Interface erlaubt die einfache Erweiterung auf andere Arten von konfi gurierbaren Accesspoints so dass z b auch mehrere Netze gleichzeitig simuliert werden k nnen Entwicklung einer Applikation die sich laufend mit offenen Netzwer ken verbindet Dieses Ziel wurde erreicht Der Warsurfer Connector sucht sich automatisch das beste verf gbare Netzwerk und verbindet sich damit Der Erfolgsfaktor h ngt hier aber sehr stark von der verwendeten Hardware und nat rlich von der gefahrenen Strecke ab Der Feldtest in Z rich zeigte dass von allen erkannten ungesch tzten Netzen nur ca 7 wirklich verwendet werden konnten hier gibt es sicherlich noch Verbesserungspotenzial Eigenentwicklung oder Implementation eines Roaming Protokolls wel ches zumindest das Lesen von Email Nachrichten erlaubt Dieses Ziel w
80. me Agent Roaming mit OpenVPN etc Feldtest 1 1 12 2005 Strecken Tramlinien 2 3 6 7 8 9 10 von Endstation bis Endstation Buslinie 80 Albisrieden bis Orlikon Getestet wurden Client Only Modus direkter Download Mailfetcher und geroamtes Surfen ber OpenVPN 82 Hardware Setup 1 Fujitsu Siemens Amilo A7640 Detector Linksys WPC 11 v3 hostap Connector Surecom EP 9001 zd1201 Setup 2 IBM Thinkpad T30 Detector Linksys WPC 11 v3 hostap Connector Intel Wireless Pro miniPCI hostap Resultate Bei den Folgenden Angaben wurden nur private Netze mit einbezogen also keine Public Hotspots Setup 1 Total entdeckte Netzwerke 1262 Davon ungesch tzt 438 WEP 633 Anderer Schutz WPA etc 191 Erreichte Verbindungen w hrend der Fahrt an Haltestellen 61 Verbin dungen auf 32 verschieden Netzwerken Die durchschnittliche Verbindungsdauer lagen bei 5 3 Sekunden Setup 2 Total entdeckte Netzwerke 437 Davon ungesch tzt 159 WEP 229 Anderer Schutz WPA etc 49 Erreichte Verbindungen w hrend der Fahrt an Haltestellen 11 Verbin dungen auf 8 verschieden Netzwerken Die durchschnittliche Verbindungsdauer lag bei 7 5 Sekunden Diskussion Statistisch gesehen war die Ausbeute eher gering Nur 5 bzw 7 Prozent der offenen Netzwerke konnten wirklich verwertet werden Trotzdem ist der Test er folgreich verlaufen denn Mails konnten gelesen werden Surfen im Tram war mit etwas Geduld ebenfalls
81. mit dem h ufigen Netzwechsel zurecht kommt ohne das spezielle Anpassungen n tig sind Der MobileIP 10 Standard RFC 2002 2006 nimmt sich diesem Problem an Dabei nimmt ein Home Agent ein Host dessen IP Adresse nicht wechselt die Pakete f r den Mobile Node entgegen und leitet sie diesem mittels IP Encapsulation weiter Wechselt der Mobile Node seine IP Adresse teilt er dies dem Home Agent mit damit die ser die Pakete an die neue Adresse senden kann Antwortpakete werden vom Mobile Node direkt an den Ziel Host geschickt aber mit der IP Adresse des Home Agents als Absenderadresse Die Verbreitung von MobileIP ist sehr gering Bis anhin war die Nachfrage Mobile Node Zielhost Home Agent Abbildung 6 5 MobileIP kaum da und jetzt wo Technologien wie Wireless langsam soweit sind dass Mobile Nodes wie der Warsurfer langsam aufkommen k nnten steht IPv6 vor der T r welches dieses Konzept bereits beinhaltet Daher existieren auch keine Implementationen die auf dem aktuellen Kernel 2 6 lauff hig w ren 29 6 10 Hardware W hrend den ersten Tests wurde festgestellt dass sich die verschiedenen Wire lesskarten und Treiber stark bez glich Funktionalit t und Stabilit t unterschei den Diese Tabelle gibt eine kleine bersicht welche Karten f r den Betrieb des Warsurfers geeignet sein k nnten Hersteller Modell Anschluss Treiber Detector Connector U S Robotics USR5410 PCMCIA acx100
82. n die neuen Emailnachrichten zum Download in die Datenbank geschrieben und zugestellt sobald diese vollst ndig heruntergeladen worden sind Ist eine Nachricht zugestellt gibt der Mailfetcher eine entsprechende Nachricht aus ced grog Projects warsurfer src Datei Bearbeiten Ansicht Terminal Reiter Hilfe ced grog Projects warsurfer sre ced grog Projects warsurfer sre grog home ced Projects warsurfer src python mailfetcher py WARNING did not find gnuplot lib Won t be able to plot NG Can t find Crypto python lib Won t be able to decrypt WEP Queued Indexfile for Download Abbildung 8 11 Mailfetcher Screenshot 8 6 Download gr sserer Dateien Wie sie sicher w hrend der Fahrt schnell feststellen werden ist es praktisch unm glich gr ssere Dateien im Client Only Modus herunterzuladen da die Verbindung zu schnell wieder unterbrochen wird Zu diesem Zweck beinhaltet der Warsurfer einen Download Daemon der die Dateien in Einzelst cken her unterladen kann und am Schluss wieder zusammensetzt Die Auftr ge k nnen dem Daemon mit dem Kommandozeilen Tool wsdownload py Debian usr bin wsdownload bergeben werden python wsdownload py lt URL gt cont 71 Wird cont angegeben wird ein allf llig fr her gestarteter Download dieser URL nicht neu gestartet gryphius wgwh home gryphius work warsurfer src Shell No 5 Konsole TEN load http zarb org arsurfer src O l
83. nd wird deshalb als letzte M glichkeit in betracht gezogen Sollte einmal eine Konfiguration funktioniert haben wird diese gespeichert und bei einem neuerlichen Lauf eingestellt 6 5 Netzverf gbarkeit Es ist wichtig seine Umwelt zu kennen Aus diesem Grund muss in etwa ab gesch tzt werden k nnen wie lange ein Netz verf gbar ist Der Warsurfer soll in Tram und Bus zum Einsatz kommen Unz hlige Messungen in diesem Bereich haben ergeben dass ein Netz im Schnitt w hrend 5 Sekunden sichtbar ist 6 6 Rechtliche Einschr nkungen Wardriving bewegt sich in einer rechtlichen Grauzone 9 Wardriving ist das Eindringen in ungesch tzte drahtlose Netzwerke durch private Personen F r die rechtliche Beurteilung sind 3 Aspekte wichtig 1 Aktivit ten der Wardriver 2 Ziele der Wardriver 3 Verwendete Software Auch beim Wardriving gilt der Grundsatz Kein Angeklagter ohne Kl ger Damit der Kl ger seinerseits aber Klagen kann muss eine gesetzliche Grundlage gegeben sein Beim Wardriving sind dies vor allem die folgenden StGB 147 Betr gerischer Missbrauch einer Datenverarbeitungsanlage StGB 251 Urkundenf lschung StGB 143 Unbefugte Datenbeschaffung StGB 143bis Unbefugtes Eindringen in ein Datenverarbeitungssystem StGB 144bis Datenbesch digung 24 Betr gerischer Missbrauch einer Datenverarbeitungsanla ge Damit dieser Tatbestand erf llt ist m ssen folgende Elemente vorliegen e unrichtige unvollst nd
84. ne Verbindung ins Internet besteht Ev k nnte man hier zus tzlich den Verbindungsstatus von OpenVPN ab fragen Dieser scheint ziemlich zuverl ssig zu funktionieren 90 12 2 Weiterentwicklung Zus tzlich zu den Bugfixes gibt es nat rlich noch diverse Weiterentwicklungen die wir nach der Diplomarbeit in Angriff nehmen werden e Verbindungsalgorithmus Momentan k nnen nur ca 7 der gefundenen offenen Netze verwendet werden Neben besserer Hardware k nnte man sicherlich noch einige Tweaks bei der Verbindung suchen Optimierung der Polling und Sleepintervalle direkter Eingriff in den ARP Cache Priori sierung der Accesspoints mit k rzerer Assoziationszeit e GUI Eine Grafische Benutzeroberfl che w rde die Anwendung f r weniger kon solenbegeisterte Anwender erleichtern Neben diversen Statusanzeigen Verf gbare Netze verbundene Netze Fortschritt der Downloads Transferierte Emails w ren sicher ein Konfigurationseditor eine starke Verbesserung in der Benutzungsfreundlichkeit e Remote Protokoll Das Hauptproblem liegt momentan sicher in der verwendeten Hardware Eine Idee f r den Warsurfer V2 ist das man einen WRT Accesspoint auf das Autodach montieren kann um so ein besseres Signal zu erhalten Der Code m sste so erweitert werden dass er die Verbindungskommandos anstatt lokal auf dem ber IP erreichbaren WRT Router absetzen kann z B ber SSH Abbildung 12 1 Der zuk nftige Warsurfer e Nur eine Wire
85. nen unterst tzt werden sollen Zus tzlich zur Software wird eine Benutzerdokumentation in deutscher und in englischer Sprache erstellt 16 Kapitel 6 Analyse 6 1 Information Gathering Um sich mit einem Netz verbinden zu k nnen sind Informationen ber ein Netzwerk unabdingbar Die MAC Adresse des Accesspoints auch bssid genannt oder der Name des Wireless Netzes m ssen zwingend vorhanden sein Wichtig ist auch zu wissen ob das Netz noch aktiv ist oder nicht Oder ob auf dem Netz noch mit Daten zu rechnen sind oder der Empfang bereits so schwach ist dass kaum mehr Datenverkehr zwischen einem Client und dem Accesspoint herrscht Es gibt verschiedene Wireless Network Sniffer mit unterschiedlichem Einsatzgebiet Einige beschr nken sich in der Funktion darauf bloss Drahtlose Netzwerke aufzusp ren w hrend andere versuchen weitere Informationen ber ein Netz zu sammeln oder gar schwache WEP Schl ssel zu knacken Wichtige Kriterien f r die Auswahl eines Sniffers sind e Angabe der ESSID e Angabe der BSSID e Angabe eines m glichen IP Ranges e Angabe ob ein Netz offen oder verschl sselt ist e Komfortable Bereitstellung der Informationen sodass ein Output des Pro gramms gut weiter verwendet werden kann Airsnort Airsnort 1 ist ein in der Wardriver Szene weit verbreitetes Tool zum auffinden von Wireless Netzwerken Es ist sticht vor allem durch seine einfache Bedienung heraus Ebenfalls erw hnenswert ist die Eigenscha
86. net da sie mit einer Vielzahl an Bus und Tramlinien ein grosses Potential an offenen Netzen besitzt 7 2 Applikationsdesign Die Applikation wird in mehrere voneinander unabh ngige Teile getrennt Dies bietet diverse Vorteile e Gr ssere Sicherheit da z b nicht mehr der ganze Warsurfer mit root Rechten laufen muss e Einfachere Entwicklung da an jedem Teil gearbeitet werden kann ohne das die anderen Teile direkt tangiert werden e Flexiblere Anwendung der Benutzer kann z b den Warsurfer bei einer Fahrt nur lernen lassen auch wenn er keine Internetverbindung w nscht 7 2 1 Interprozesskommunikation Die Kommunikation der einzelnen Komponenten geschieht ber eine Datenbank Dieser etwas un bliche Ansatz wird folgendermassen begr ndet e Schnell implementiert es muss kein eigenes Protokoll definiert werden e Die Kommunikation ist automatisch asynchron und somit flexibler e ein allf lliger weiterer Programmteil z b eine grafische Oberfl che muss kein spezielles Interface implementieren eine Verbindung zur Datenbank gen gt 33 Downloaddaemon Abbildung 7 1 Interprozesskommunikation ber die Datenbank e Sehr einfaches Debugging der Entwickler kann jederzeit mit SQL den Zustand der Applikation pr fen ndern speichern wiederherstellen etc e Durch Views und Triggers k nnen diverse Operationen bereits auf der Da tenbank ausgef hrt werden z b die Erkennung m glicher Netzkandidaten Dies br
87. nfig Tabelle als unbrauchbar markiert wurden Zus tzlich gibt sie die durchschnittliche Verfiigbarkeit AVT und die Anzahl Testkonfigurationen die fiir ein Netz bereits durchgefiihrt wurden Sicht gt public vkismetcandidates lt Spalte Typ Attribute bssid character varying 17 strength integer essid character varying 100 wepencrypted integer fixip character varying 15 age interval configs bigint avt interval Sichtdefinition SELECT kismetdata bssid kismetdata strength kismetdata essid kismetdata wepencrypted kismetdata fixip age now kismetdata lastseen timestamp with time zone AS age fncountconfigs kismetdata bssid AS configs fnavt kismetdata bssid AS avt FROM kismetdata WHERE age now kismetdata lastseen timestamp with time zone lt 00 00 05 interval AND NOT kismetdata bssid IN SELECT userconfig bssid FROM userconfig WHERE userconfig usable 0 AND userconfig bssid IS NOT NULL AND NOT kismetdata essid IN SELECT userconfig essid FROM userconfig WHERE userconfig usable 0 AND userconfig essid IS NOT NULL AND NOT kismetdata essid IN SELECT essiddefaultconfig essid FROM essiddefaultconfig gt 49 WHERE essiddefaultconfig usable 0 AND NOT kismetdata bssid IN SELECT connectlog bssid FROM connectlog WHERE age now connectlog lastseen timestamp with time zone lt 00 00 05 interval AND NOT kismetdata wepencrypted lt gt 0 ANDNOT kisme
88. ng permanent berwacht werden und sobald die Verbindunsqualit t unter einen gewissen Schwellwert sinkt eine neue Verbindung gesucht werden e Sicherstellen der Erreichbarkeit Der st ndige Wechsel der Netze mit denen der Warsurfer sich w hrend einer Session verbindet hat stetige Unterbr che der Verbindung ins Inter net zur Folge Es soll eine M glichkeit gefunden werden eine Verbindung virtuell ber verschiedene Netze aufrecht zu halten e berwachen der Verbindung Sobald Einstellungen f r ein gewisses Netz gemacht worden sind sind diese auch zu verifizieren und gegebenenfalls anzupassen oder durch andere zu 14 ersetzen Dabei muss beachtet werden dass die Zeit in welcher sich der Client auf einem aktiven Netz befindet kurz ist sodass ein DHCP Request nur im Falle einer l ngeren Verbindung mit dem Netzwerk erfolgreich ist Sicherheit Da auch vertrauliche Daten wie Emails oder Passw rter ber fremde Netz werke verschickt werden ist ein geeigneter Mechanismus zu implementie ren mit dem die bermittelten Daten gegen fremden Zugriff gesichert sind Statistik Alle Daten die w hrend eines Rides erfasst werden sollen derart zur Verf gung gestellt werden dass es mit geringem Aufwand m glich ist von den gesammelten Daten Statistiken zu erstellen Dabei sollen vor al lem folgende Eigenschaften festgehalten werden ssid Es soll sowohl die ESSID als auch die BSSID eines Netzes zur Verf gung gestellt werden I
89. ng 17 comment text bssid character varying 17 essid character varying 100 priority integer default 100 testconfigs Um die IP Konfiguration eines Accesspoints herauszufinden startet der Connec tor eine Reihe von Tests Diese sind in dieser Tabelle definiert und k nnen hier auch zentral ein und ausgeschaltet werden Tabelle gt public testconfigs lt Spalte Typ Attribute L L 1 testid character varying 40 not null priority integer not null default 100 description text enabled integer not null default 1 Indexe gt testconfigs_pkey lt PRIMARY KEY btree testid macdefaultconfig Diese Tabelle beinhaltet eine Reihe von Standardeinstellungen fiir Accesspoints basierend auf deren MAC Adresse Tabelle gt public macdefaultconfig lt Spalte Typ Attribute y y fixip character varying 15 gateway character varying 15 nameserver character varying 15 netmask character varying 15 comment text priority integer default 100 manufacturer character varying 100 model character varying 200 essid character varying 200 macprefix character varying 24 not null essiddefaultconfig Diese Tabelle beinhaltet eine Reihe von Standardeinstellungen fiir Accesspoints basierend auf deren ESSID Tabelle gt public essiddefaultconfig lt Spalte Typ Attribute essid character varying 100 not null default character varying 47 usable integer fixi
90. niert mit jeder Wirelesskarte welche den Monitor 18 Modus unterst tzt Kismet ist der State of the art in Sachen wardriving Dies ist nicht zuletzt dem Umstand zu verdanken dass der Output und die Logfiles von Kismet ohne Modifikation mit anderen Programmen Bsp Airsnort Ethe real weiterverarbeitet werden k nnen Eine der gr ssten St rken von Kismet ist auch die Client Server Architektur welche einen einfachen Weg darstellt in Echtzeit an die aktuellen Daten von Kismet zu gelangen Kismet bietet eine Telnet Schnittstelle an ber die genau spezifiziert werden kann welche Infor mationen bermittelt werden sollen Da der Funktionsumfang und die Weiterverarbeitbarkeit der Daten alle anderen Programme in den Schatten stellt f llt der Entscheid nicht schwer Kismet wird als Sniffer im Warsurfer eingesetzt 6 2 Kenngr ssen der Netzwerkerkennung Wireless Netzwerke lassen nur erkennen wenn auch Daten versandt werden die von einem Sniffer mitgeh rt werden k nnen Dies ist beispielsweise der Fall wenn ein Client gerade auf diesem Netz surft Dieses Szenario stellt aber einen Idealfall dar von dem nicht ausgegangen werden kann Aber auch wenn nicht gerade ein Client am surfen ist gibt es Pakete die die Pr senz eines Drahtlos netzwerkes anzeigen Beacons sind Frames die ein Accesspoint periodisch aus sendet Sie beinhalten f r Clients wichtige Informationen So steht in einem Bea con die aktuelle Zeit die SSID des Accessp
91. nksys WPC11 Detector Test running at Mon Nov 28 13 56 51 2005 Success condition 1 10 entries in kismetdata PASSED Success condition 2 10 unique entries in availlog PASSED OVERALL TEST RESULT a ak ak ak ak ak ak ak ak ak PASSED a ak ak ak ak ak ak ak ak ak Durchf hrung mit Cisco Aironet 350 Detector Test running at Mon Nov 28 14 07 09 2005 Success condition 1 10 entries in kismetdata FAILED 1 Success condition 2 10 unique entries in availlog FAILED 1 OVERALL TEST RESULT 3X ak ak ak ak ak ak ak ak ak FAILED a ak ak ak ak ak ak ak ak ak Durchf hrung mit USR 5410 Bemerkung Dieser Test wurde mit aktiviertem Warsurfer Channelhopper 6 11 1 7 8 3 2 5 4 9 10 Freq 0 1 sec durchgef hrt Detector Test running at Mon Nov 28 14 22 54 2005 Success condition 1 10 entries in kismetdata PASSED Success condition 2 10 unique entries in availlog PASSED OVERALL TEST RESULT a ak ak ak ak ak ak ak ak ak PASSED FARK Diskussion der Resultate Grunds tzlich funktioniert die Detektion sie h ngt aber von der verwendeten Hardware ab Die Cisco Karte bliebt auf einem Kanal mit einem verschliisselten Netzwerk h ngen und wechselte nicht mehr daher wurde nur ein Netz gefunden 79 9 2 Verbindung Testbeschreibung Ziel Dieses Tests ist es herauszufinden wie gut der Ver bindungsalgorithmus des Warsurfer funktioniert Dazu werden 10 aufeinander folgende Netze generiert die einer Verbindun
92. o your program filelocation os tmpnam Starting download of http warsurfer stawsa ut darktech org warsurfer 07 5d5b23999d67b0279a55b74122aed gz Read 665600 bytes in last run Waiting for connection Continung download of http warsurfer stawsa ut darktech org warsurfer 07 5d5b23999d67b0279a55b74122aed gz from byte 665600 Error while downloading http warsurfer stawsa ut darktech org warsurfer 07 5d5b23999d67b0279a55b74122aed gz DNS error Continung download of http warsurfer stawsa ut darktech org warsurfer 07 5d5b23999d67b0279a55b74122aed gz from byte 665600 Error while downloading http warsurfer stawsa ut darktech org warsurfer 07 5d5b23999d67b0279a55b74122aed gz DNS error Continung download of http warsurfer stawsa ut darktech org warsurfer 07 5d5b23999d67b0279a55b74122aed gz from byte 665600 Completed download of http warsurfer stawsa ut darktech org warsurfer 07 5d5b23999d67b0279a55b74122aed gz Mailfetcher WARSURFER Mailfetcher Your personal postman Queued Indexfile for Download 1 new message s in your inbox Resultat Die Mailnachricht ist erfolgreich angekommen die MD5 Summe des Anhangs stimmte tiberen 9 4 Feldtest Nat rlich muss sich der Warsurfer unter realen Bedingungen unter Beweis stel len Zu diesem Zweck haben wir mehrere Stunden in in Trams Z gen und Bussen in und um Z rich verbracht Dabei wurden s mtliche Features getestet d h Client Only Modus Mailfetcher mit Ho
93. ocAP net WSNet performiP Settings net WSNet verifyIPSettings gateway string icmpPingl gateway string boo synPing rh string boo updateDB net WSNet conresult bool bool stuff sharedstufi listURL string mailfile string checkinterval float mailuser string mailpwd string Usernameset boo emaillobs string callDownload itern string shetE mail obs listlocation string strimgl extractD atalmailFile string deliverMaillmsg email getNondeliveredEmails stringl indexLoop messageLoop deliveryLoop fetchMail Detector Der Detector ist daf r zust ndig Momentan verf gbare Netzwerke zu erken nen Er kommuniziert direkt ber eine Socketverbindung mit Kismet um die ben tigten Informationen zu erhalten Welche er unver ndert allen anderen Komponenten zur Verf gung stellt Kismet Interface Das Netzwerkprotokoll von Kismet ist leider nur sehr sp rlich dokumentiert Grunds tzlich funktioniert es folgendermassen Der Client in unserem Fall der Detector ffnet eine Socketverbindung zum Kismet server auf Port 2501 Kis met schickt dann eine Kurz bersicht ber die Verf gbaren Befehle KISMET 0 0 0 1132307154 Kismet 20050815211952 1 2005 08 R1 PROTOCOLS KISMET ERROR ACK PROTOCOLS CAPABILITY TERMINATE TIME ALERT NETWORK CLIENT GPS Der Client meldet nun ber welche Events er informiert werden m ch
94. oints sowie ob WEP Verschl sselung aktiviert ist oder nicht Fr die Identifikation eines Netzwerkes dient der SSID Service Set IDentifier durch welchen ein Client erf hrt mit welchem Access point er sich verbinden kann Ein herk mmliches Beacon Frame ist ungef hr f nfzig Bytes lang wovon die H lfte f r Header und CRC verbraucht wird Der Header enth lt ausserdem Source und Destination MAC Adressen sowie weitere f r den Kommunika tionsprozess wichtige Informationen Die Destination MAC Adresse in einem Beacon Frame ist immer die Broadcast MAC so dass sichergestellt ist dass alle Clients dieses Frame auch erhalten Des weiteren sind aber folgende Felder in einem Beacon enthalten e Beacon Interval Dieser Wert bestimmt das Zeitintervall zwischen zwei Beacon Frames Dies ist f r eine Station die im Powersave Mode arbeitet wichtig um zu wis sen wann sie wieder aufwachen und auf ankommende Pakete horchen soll e Timestamp Nachdem eine Station ein Beacon Frame erhalten hat verwendet sie den Timestamp um die Systemuhr einzustellen Dies erm glicht die Synchro nisation aller Clients die auf diesen Accesspoint verbunden sind e Service Set IDentifier Der SSID identifiziert ein Wireless Netzwerk eindeutig Normalerweise wird die SSID in jedem Beacon Frame mitgeschickt Dies erm glicht es einem Client ein Drahtloses Netzwerk zu erkennen Windows XP nutzt diese Eigenschaft aus um den User ber verf gbare Drahtlosnetzwerke zu
95. olgendes Schema lt md5 summe gt lt tab gt lt jobtyp gt lt tab gt lt Gr sse in bytes gt lt URL gt Beispiel 07eb51d640b9d9ef345c300eb0101bb8 mail 287 http ut darktech org warsurfer 07eb51d640b9d9ef345c300eb0101bb8 gz d494cb6b59adfbc9fc4eec39dceacc85 mail 295 http ut darktech org warsurfer d494cb6b59adfbc9fc4eec39dceacc85 gz c18a72ab35382761abdcf707fb284075 mail 297 http ut darktech org warsurfer c18a72ab35382761abdcf707fb284075 gz Client Der Mailclient l dt vom Server das Indexfile herunter welches alle emp fangenen Nachrichten enth lt schritt f r Schritt geht der Mailclient diese List durch und pr ft stets ob die in der Liste enthaltene Datei bereits in der Daten bank eingetragen ist Ist dies nicht der Fall wird sie dort eingetragen In der Datenbank steht ebenfalls drin ob eine Nachricht bereits zugestellt wor den ist oder nicht Der Mailclient pr ft ob es in der Datenbank Eintr ge zu Nachrichten gibt die besagen dass eine Nachricht zwar bereits vollst ndig her untergeladen aber nicht nicht zugestellt worden sind Wird ein entsprechender Eintrag gefunden wird berpr ft ob die MD5 Summe der erhaltenen Nachricht mit derjenigen in der Liste vom Server bereinstimmt Wenn dies der Fall ist wird diese lokal zugestellt Roaming Das vollst ndige Roaming d h ohne Abbruch der TCP Verbindungen stellt sich als einfacher heraus als zuerst angenommen hnlich wie im auf Seite 29 be schriebenen MobileIP
96. on fatal network errors 3 medium output good for normal operation 9 verbose good for troubleshooting verb 3 myhomeagent com muss dabei mit dem Hostnamen des Home Agents ersetzt werden Wenn m glich sollte hier sogar die IP Adresse eingesetzt werden da in diesem Fall OpenVPN nicht zuerst einen langsamen DNS Lookup durchf hren muss Auch auf dem Client ist ein Routing Skript n tig warsurfer_client up bin sh route add net 10 0 0 0 netmask 255 255 255 0 gw 5 Der Client kann nun w hrend einem Ride genau gleich gestartet werden openvpn config warsurfer_client conf Im Browser sollte nun als Proxy der VPN Server 10 1 0 1 eingetragen wer den 8 9 Tweaks Diverse Tricks verbessern die Funktionalit t des Warsurfers bez glich einzelner Anwendungen Einige Beispiele sind hier zusammengetragen 8 9 1 Firefox Der Firefoxbrowser kann mit diversen Tricks Link Prefetching HTTP Pipeli ning DNS Cache etc dazu gebracht werden die zur Verf gung stehende Band breite optimal zu nutzen Diese Tricks werden in der 14 Fasterfox Extension zu sammengefasst welche auf folgender Webseite erh ltich ist http fasterfox mozdev org 8 9 2 SSH SSH Sitzungen k nnen sehr lange Unterbr cke berleben wenn in der Kon figuration die Option TCPKeepAlive No gesetzt wird Achtung Kann eine Sitzung nicht wieder hergestellt werden muss diese manuell auf dem Server gestoppt werden 76 8 9 3 DNS Viel Zei
97. p character varying 15 gateway character varying 15 nameserver character varying 15 netmask character varying 15 priority integer comment text connectsettings not null default 1 not null default 100 In dieser Tabelle werden die getesteten Konfigurationen f r jedes Netzwerk ge speichert Sie erm glicht das Lernen von Konfigurationen basierend auf bishe rigen Versuchen Tabelle gt public connectsettings lt Spalte Typ Attribute id integer not null default nextval connectsettings id seq text regcelass bssid character varying 17 not null essid character varying 100 fixip character varying 15 netmask character varying 15 nameserver character varying 15 gateway character varying 15 testtype character varying 30 not null aptest integer default 2 inettest integer default 2 lastperformed timestamp without time zone fakemac character varying 17 wepkey character varying 255 Indexe gt connectsettings_pkey lt PRIMARY KEY btree id Fremdschl ssel Constraints gt testtype_fkey lt FOREIGN KEY testtype REFERENCES testconfigs testid connectlog Diese Tabelle zeichnet auf auf welchen Netzen der Warsurfer effektiv eine Ver bindung ins Internet hatte Die Tabelle wird mittels der funktion fnconnec ted bssid automatisch gefiillt Spalte Attribute N Tabelle gt public Typ connectlog lt id connectlog id seq T in
98. ppassword Dieser optionale Parameter legt fest mit welchem Passwort sich der Mail fetcher anmelden soll um die Nachrichten herunterzuladen Wird nur ben tigt wenn die Maildaten auf dem Server mittels htaccess gesch tzt wurden hopchannels Bei gewissen Treibern kann Kismet das Channelhopping nicht aktivieren 66 Der Warsurfer bietet die M glichkeit die Detektorenkarte selber auf ver schiedene Frequenzen einzustellen Geben Sie hier an auf welchen Kan len die Detektorenkarte lauschen soll hopspeed Dieser Wert in Sekunden besagt wie schnell zwischen den einzelnen Kan len die unter hopchannels eingestellt worden sind gewechselt wer den soll Um das Channelhopping des Warsurfers zu deaktivieren geben Sie hier den Wert 0 ein Diese Einstellung bezieht sich nur auf das Warsurfer eigene Channelhopping und ver ndert das Verhalten von Kismet nicht Achten Sie also darauf dass Sie das Channelhopping des Warsurfers nur dann aktivieren wenn es in Kismet deaktiviert oder nicht m glich ist ignoreassocfail Am Anfang einer erfolgreichen Verbindung ins Internet steht die Asso ziation mit einem Accesspoint Standardm ssig wird erst dann versucht IP Einstellungen vorzunehmen und eine Verbindung mit dem Internet auf zubauen Es kann eingestellt werden ob eine Erfolgreiche Assoziation mit dem Accesspoint abgewartet werden soll oder nicht Belassen Sie die Ein stellungen so dass eine Assoziation abgewartet wird Dieses Verfah
99. r kann mittels apt get installiert werden Alle Abh ngigkeiten werden so automatisch aufgel st und mit installiert Um den Warsurfer mittels apt get installieren zu k nnen muss die Datei sources list um folgende Zeile erweitert werden deb http www wgwh ch debian binary Benutzer auf Red Hat Fedora Systemen halten am besten nach entsprechen den rpm Paketen Ausschau Meist wird auf den Pages auf denen der Source 54 code zum Download angeboten wird auch ein entsprechendes RPM Paket zur Verfiigung gestellt 8 2 1 Python Die gesamte Applikation ist in Python geschrieben worden Um den Warsur fer ausf hren zu k nnen muss deshalb zwingend Python 2 3 installiert sein Mit anderen Python Versionen funktionieren nicht mehr alle Libraries die vom War surfer verwendet werden Installation von Python Python ist weit verbreitet weshalb beinahe jede Distribution die f r Sie g ngigen Paketformate bereitstellt Achten Sie bei der Installation darauf dass Sie die Version 2 3 installieren Installation des Sourcecodes Um Python von Hand zu kompilieren und zu installieren muss als erstes der Sourcecode heruntergeladen werden Der Quellcode wird von den Python Entwicklern unter www python org zur Verf gung gestellt Sobald sich der Sourcecode auf ihrer Festplatte befindet k nnen Sie mit der eigentlichen Installation beginnen Wechseln Sie in das Verzeichnis in welchem sich das komprimierte Archiv befin det cd pfad zu ihrem A
100. rchiv Nun entpacken Sie das Archiv tar xzf Python 2 3 lt Version gt tgz oder tar xjf Python 2 3 lt Version gt tar bz2 Beim Entpacken des Archivs wurde ein Verzeichnis analog zum Dateinamen Python 2 3 jVersion angelegt Wechseln Sie in dieses Verzeichnis und neh men die Konfiguration vor F r fortgeschrittene Optionen lesen Sie bitte die README Datei configure Sobald die Konfiguration abgeschlossen ist kompilieren Sie den Code um eine ausftihrbare Datei zu erhalten und diese mit Root Rechten zu installieren make und als root make install 55 8 2 2 dnet Dnet ist eine Library die eine Lowlevel Schnittstelle zu unterschiedlichen Netzwerk Interfaces zur Verf gung stellt F r die Installation ist zwingend gcc Version 3 3 n tig Die Kompilierung von dnet mit gcc 4 0 schl gt fehl Als erstes laden Sie sich den Quellcode von http prdownloads sourceforge net libdnet libdnet 1 10 tar gz download herunter wget http prdownloads sourceforge net libdnet libdnet 1 10 tar gz download Entpacken Sie die Archivdatei tar xvzf libdnet 1 10 tar gz Wechseln Sie in das neu angelegte Verzeichnis cd libdnet 1 10 F hren Sie die Installation mit den folgenden Schritten durch configure make make install cd python python setup py install Der letzte Schritt ist wichtig um die Python Erweiterungen f r dnet zu instal lieren 8 2 3 scapy Scapy ist eine Library mit welcher es m glich ist
101. ren ist erfolgversprechender G ltige Werte sind 0 f r nicht ignorieren und 1 f r ignorieren assoctimeout Mit diesem Wert in Sekunden wird angegeben wie lange auf eine erfolg reiche Assoziation mit einem Accesspoint gewartet werden soll Die Zeit f r eine erfolgreiche Assoziation h ngt stark vom Treiber von der Karte und vom Accesspoint ab Es gibt also keinen allgemeinen Wert der f r alle Einstellungen gilt Ist dieser Wert zu klein eingestellt kann es pas sieren dass der Verbindungsaufbau fr hzeitig abgebrochen wird Ist der Wert allerdings zu lange eingestellt kann es sein dass w hrend der Zeit in der vergebens versucht wird auf einen Accesspoint zu verbinden ein anderer besserer Accesspoint verpasst wird autoassoc Kann sich die Karte nicht mit einem bestimmten Accesspoint assoziieren kann der Treiber angewiesen werden sich mit irgend einem beliebigen Ac cesspoint in der N he zu verbinden Mit etwas Gl ck ist so trotzdem eine Verbindung m glich der Warsurfer Verbindungsalgorithmus wird damit aber bis zu einem gewissen Grad ausgehebelt Diese Option sollte nur mit Karten benutzt werden die nicht befriedigend auf direkte Assoziationsre quests reagieren detectorinterface Dieser Wert bezeichnet die Karte mit welcher Netze detektiert werden Es ist die Karte die auch in Kismet konfiguriert worden ist connectorinterface Dieser Wert bezeichnet die Karte mit welcher versucht wird eine Verbin dun
102. rnet zu sur fen 12 Teil II Systementwicklung Kapitel 5 Leistungsmerkmale Vor allem in dicht besiedelten Gebieten ist die Konzentration von offenen Wireless Netzwerken mittlerweile so hoch dass man versuchen k nnte Daten auch mobil d h z B w hrend einer Busfahrt zu transferieren Das Problem hierbei ist dass die Zeit in der man sich in der N he eines Accesspoints befindet meist nicht reicht um eine manuelle Verbindung herzustellen geschweige denn ganze Email Nachrichten herunterzuladen Es ist nun eine Software zu entwickeln welche die Suche und den Verbindungs aufbau zu einem Accesspoint automatisiert Dadurch soll es in dichtbesiedelten Gebieten m glich sein eine quasi stetige Verbindung zu simulieren ber welche Daten transferiert werden k nnen auch wenn die physische Verbindung dabei fters auf und abgebaut werden muss Konkret sind die folgende Funktionalit ten zu implementieren e Erkennung Die aktiven Wireless Netzwerke in der n heren Umgebung sollen erkannt und aufgelistet werden Dabei sollen gewisse f r den weiteren Verlauf wichtige Daten erfasst und f r den weitere Verarbeitung zur Verf gung gestellt werden e Verbindungsmanagement Mittels eines geeigneten Algorithmus soll das beste Netz herausgefiltert und versucht werden die Einstellungen derart zu ver ndern dass es m glich ist sich mit diesem Netz zu verbinden Ist eine Verbindung einmal hergestellt soll die Qualit t dieser Verbindu
103. rzeichnis tar xjf postgresql 8 1 0 tar bz2 cd postgresql 8 1 0 Nehmen Sie die Konfiguration und die Installation mit folgenden Kommandos vor configure make Installieren Sie PostgreSQL schliesslich als Root mit folgendem Befehl make install 8 2 5 PSycopg Psycopg ist ein PostgreSQL Datenbank Adapter der mit dem Fokus auf Sta bilit t und Performance geschrieben wurde Die Installation hat verschiedene Abh ngigkeiten Benutzer welche nicht Debian verwenden sei ein Blick auf http initd org tracker psycopg wiki PsycopgOne empfohlen wget http initd org pub software psycopg psycopg 1 1 21 tar gz tar xzf psycopg 1 1 21 tar gz cd psycopg 1 1 21 configure with postgres libraries pg_config libdir with postgres includes pg_config includedir make Und schliesslich als Root make install 8 2 6 Kismet Kismet ist der Sniffer f r Wireless Netzwerke schlechthin H chstwahrscheinlich befindet er sich bereits auf ihrem System und Sie k nnen diesen Schritt getrost berspringen und mit der Installation des Warsurfers fortfahren Alle die nicht in der gl cklichen Lage sind Kismet bereits installiert haben holen dies in den n chsten Schritten nach Als erstes wird der Sourcecode heruntergeladen und entpackt 97 wget http www kismetwireless net code kismet 2005 08 R1 tar gz tar xzf kismet 2005 08 R1 tar gz Als n chstes nehmen Sie die Konfiguration und die Kompilation vor conf
104. s e Bekanntheitsgrad eines Netzes Dabei wird ber cksichtigt ob das Netz bereits einmal gesehen worden ist und ob eventuell gar eine Verbindung ins Internet zu Stande gekommen ist Ausserdem muss abgekl rt werden welche Verbindungskonfiguratio nen ausprobiert worden sind um sich mit dem Netz zu verbinden e Benutzerkonfiguration Dem Benutzer wird die M glichkeit gegeben ihm bekannte Netze in ei ne Konfiguration einzutragen Die Einstellungen die der Benutzer dort vornimmt sind ebenfalls zu ber cksichtigen Aus diesen Daten soll der Algorithmus das am besten geeignete Netz suchen Nat rlich spielt auch eine gewisse Philosophie mit Es stellt sich die Frage wo man den Schwerpunkt setzen will Willman m glichst viele Netze kennenlernen um in einem weiteren Ride die bestm gliche Verbindung zur Verf gung stellen zu k nnen oder soll versucht werden mit den bisher bekannten Netzen eine Verbindung herzustellen und daf r nicht so viele Netze neu kennen zu lernen 6 9 Roaming Dieser Teil befasst sich mit dem Problem dass Daten zwar w hrend einer Sessi on an ein und denselben Ort verschickt werden dass sie aber nicht immer vom selben Ort herkommen So kann es sein dass der Client sich zum Zeitpunkt an dem er einen Request an einen Webserver verschickt die IP 80 218 39 2 hat be findet Der abgesetzte Request wird vom Server bearbeitet und an die Adresse 80 218 39 2 zur ckgeschickt Unterdessen hat sich der Client aber schon in da
105. s n chste Netz bewegt und hat nun die IP 84 73 172 138 Der Client wird also nie mals eine Antwort vom Server erhalten Nun h tte er nat rlich die M glichkeit einen neuerlichen Request abzusetzen und mit etwas Gl ck w rde irgendwann 27 auch einmal lange genug eine Verbindung mit einem Netz bestehen um auch Daten empfangen zu k nnen Dieser Ansatz befriedigt aber nur wenig bis gar nicht Nachfolgend werden L sungsvarianten f r das oben beschriebene Problem vorgestellt 6 9 1 Autonomer Client Der autonome Client stellt die einfachste Variante des Warsurfings dar Der Cli ent verbindet sich dabei direkt mit dem Internet ohne den Traffic ber einen Server zu schicken welcher das Roaming ber verschiedene Netze erm glicht Der Vorteil dieser Variante ist die Einfachheit Der Client verbindet sich direkt mit dem Internet Mittels http continue k nnte ein Download fortgesetzt wer den sobald der Client wieder am Internet ist Der offensichtliche Nachteil dabei ist dass l ngst nicht alle g ngigen Protokolle die Wiederaufnahme abgebroche ner Transfers unterst tzen Der Vorteil liegt in der einfachen Implementation Ein Laptop mit installiertem Warsurfer reicht vollst ndig aus 6 9 2 Home Proxy Wie die Grafik zeigt ist dieses Setup nicht ganz so einfach wie dasjenige des Autonomen Clients Es gibt einen Home Proxy der die eigentliche Kommunika tion mit dem Webserver bernimmt und die Daten an den Client zur ck schickt
106. sen hat sich herausgestellt dass der Flaschenhals oft im DNS Lookup liegt Da wir annehmen dass ein typischer Warsur fer meist die selben Seiten anschaut slashdot org digg com etc w rde ein lokaler DNS Proxy sicher starke Verbesserungen mit sich bringen Die Implementation im Warsurfer liesse sich relativ einfach einbauen Es w re eine neue Konfigurationsoption n tig sowie die Anpassung des Codest cks im Connector welches die Nameserver setzt Zudem m sste ein solches Setup nat rlich dokumentiert werden da ein neuer Daemon weitere Kom plexit t bringt Bessere Installationsskripte Diverse Verbesserungen an der Installation w ren n tig um diese auch f r technisch weniger versierte Benutzer zu erm glichen beispielsweise eine automatische Anpassung der Kismet und Postgreskonfiguration Scapy Fehler Scapy schreibt leider fters ungefragt Warnungen und Fehler auf die Kon sole Gnuplot not installed child died unexpectedly Es w re sch n wenn sich die Fehler beheben und die Warnungen verstecken liessen Public Hotspots Kostenpflichtige Hotspots werden soweit bekannt von der Datenbank herausgefiltert Trifft der Warsurfer aber auf einen bisher unbekannten Hotspot glaubt der Warsurfer er sei mit dem Internet verbunden da die Syn Pings auf Port 80 vom Hotspotprovider beantwortet werden Ping detection Es kann vorkommen dass scapy keine Antwort auf die ICMP und Synpings meldet obwohl ei
107. sobald dieser das n chste mal ins Internet kommt Webserver E N a ESSID netgear cb Extern 62 2 17 63 Intern 192 168 0 1 Home Proxy ESSID linksys Exo bextern 80 218 17 143 Intern 192 168 1 1 An Warsurfer Warsurfer wey 192 168 1 42 MW 192 168 0 42 A ee Abbildung 6 4 Funktionsweise des Home Proxy 1 Der Client schickt dem Home Proxy einen Job 2 Der Home Proxy bearbeitet diesen Job und l dt Daten von einem Server im Web 3 Sobald der Client das n chste mal im Internet ist erh lt er vom Server die verlangten Daten Ein solcher Ansatz hat den Vorteil dass die Jobs die dem Server bermittelt werden priorisiert werden k nnen sodass dem Client erst einmal die wichti geren Daten zugeschickt werden und nicht die Leitung mit weniger wichtigen 28 Informationen verstopft wird Um diesen Ansatz zu verwirklichen miissen alle ben tigten Protokolle verein heitlicht d h z b auf HTTP abgebildet werden Allerdings stellt sich die Frage ob die Implementation eines solchen Protokolls nicht den Rahmen einer Diplom arbeit sprengen w rde 6 9 3 MobileIP Alle bisher erkl rten Ans tze haben den Nachteil das Sie nur bedingt mit dem Wechsel in ein anderes Netz umgehen k nnen Der Wechsel wird auf Protokolle bene gehandhabt und muss so f r jede Anwendung neu Implementiert werden Erw nscht w re eigentlich die Handhabung bereits auf dem IP Layer so dass jedes IP basierte Protokoll automatisch
108. st lt Karte gt to lt Timeout gt e Werte auslesen Libwireless h lt sich stets die Ausgabe des letzten Aufrufs von iwconfig gespeichert Diese kann ber den Aufruf der refresh Methode der Klasse erneuert werden WSNet WSNet ist eine Datenklasse welche die Eigenschaften eines m glichen Netzes hat Diese Klasse dient lediglich dazu Informationen zu halten und hat lediglich eine einzige Funktionalit t n mlich die Berechnung des Alters eines Netzes dbhandler Der DBHandler ist die Schnittstelle zur Datenbank Er baut eine Verbindung zur Datenbank auf kann SQL Queries bermitteln und die erfragten Daten in einem Cursor Objekt zur ckgeben sharedstuff Diese Klasse bietet eine Abstraktionsstufe zum DBHandler In dieser Klasse wird ein DBHandler Objekt erzeugt auf welches von ausserhalb der Klasse zu gegriffen werden kann Die Klasse wurde vor allem auf die Abfrage von Konfi gurationswerten welche sich in der Datenbank befinden optimiert So kann mit dem entsprechenden Schl ssel direkt der entsprechende Wert abgefragt werden ohne die SQL Queries in einer anderen Klasse erneut absetzen zu m ssen 42 mailfetcher Der Mailfetcher kommuniziert mit dem Server welcher die Email Nachrichten von den konfigurierten IMAP oder POP3 Servern herunterl dt und in ein In dexfile parst Der Mailfetcher l dt nun dieses Indexfile periodisch vom Server Anhand der im Indexfile enthaltenen Informationen entscheidet der Mailfet
109. stellersettings etc e Associating Die Assoziation mit dem Netz wird versucht e Modified Settings Gewisse Tests erfordern eine nachtr gliche Anpas sung der von der Datenbank vorgeschlagenen IP Settings Z b wenn ein DHCP Request n tig ist oder wenn der Default Gateway nicht bekannt ist e Setting Netzwerksettings werden dem System bergeben e Waiting for available network Es ist momentan kein Kandidat in Reich weite e Connected to Ready to rumble Die Nachricht die das Herz h her springen l sst Sie sind verbunden gryphius wgwh home gryphius Shell Konsole lt 4 gt Session Edit View Bookmarks Settings Help RR E d Net ciating FAILED Curren ea 4461116791 A Shell Abbildung 8 9 Connector Screenshot Download Daemon Der Download Daemon ist daf r Zust ndig gr ssere Dateien herunterzuladen die evtl nicht an einem St ck transferiert werden k nnen In diesem Fenster k nnen Sie mitverfolgen welche Teilst cke gerade in Arbeit sind 70 aiting for c Waiting for cc Waiting for Waiting for cc Waiting fo A Shell Abbildung 8 10 Download Daemon Screenshot Mailfetcher Der Mailfetcher checkt periodisch ob das Indexfile auf dem Server ge ndert hat er informiert dar ber wann er das Indexfile zum Download in die Datenbank geschrieben hat Hat sich das Indexfile seit dem letzten mal ver ndert wer de
110. t a 19 9 2 2 Iteration 3 2 gt 2 2a dd e bg 15 5 3 Abh ngigkeiten 2 2 Common 15 9 4 Termine scooters Nasa nenne 16 Projektplan Glossar 84 85 85 86 87 88 89 90 90 91 93 Teil I Einf hrung Kapitel 1 Kurzfassung der Diplomarbeit Abteilung Informatik Name der Diplomanden C Wider und O Schacher Diplomjahr 2006 Titel der Diplomarbeit Warsurfer Examinatorin Examinator Prof Dr A Steffen Aufgabe In dicht besiedelten Gebieten gibt es nach wie vor sehr viele unver schl sselte Drahtlosnetzwerke welche den Zugang zum Internet erlauben Die ses Projekt sollte es erm glichen diese Netzwerke zu erkennen und mit einem ausgekl gelten Algorithmus m glichst schnell darauf zu verbinden Mit dieser Grundlage sollte es m glich sein w hrend einer Busfahrt so oft und so lange wie m glich eine Internetverbindung herzustellen In einem weiteren Schritt soll te eine Methode implementiert werden mit den vielen Netzunterbr chen und IP Wechseln umzugehen so dass zumindest das Lesen der Email Nachrichten erm glicht wird Da man Software nur schlecht im Bus entwickeln kann soll te zudem eine Testumgebung aufgebaut werden welche diese oft wechselnden Netze simuliert L sung Der Clou des Verbindungsalgorithmus besteht darin die IP Settings eines Accesspoints zu erraten um den langsamen DHCP Request zu vermeiden Dies geschieht mittels verschiedener Anhaltspunkte
111. t ebenfalls wieder eine Testumge bung n tig Idealerweise kann mit der aus Iteration 1 bestehenden Umgebung gearbeitet werden Dabei wird ein Ride simuliert und Verbindungen aufgebaut welche ber die verschiedenen Netze mit unterschiedlichen IP Einstellungen er halten bleiben muss 15 5 3 Abh ngigkeiten Der Roamer also die Einheit im Warsurfer welche sich um die Aufrechter haltung der Internetverbindung k mmert h ngt stark vom darunterliegenden Connection Management ab weshalb dieser auch in einer zweiten Iteration im plementiert wird 15 5 4 Termine Alle Termine sind im Projektplan ersichtlich 102 103 Name Arbeit Woche 43 2005 Woche 44 2005 Woche 45 2005 Woche 46 2005 Woche 47 2005 Woche 48 20 24 25 26 27 28 29 30 31 Ji 2 3 4 5 6 7 Js o io Jai 2 is 14 J s 16 J 7 18 J s 20 21 22 23 24 25 26 27 28 29 30 Iteration 1 12T Analyse ST Problem description ST Test Environment 5T gt PMP 5T E Risikoanalyse IT 7 Design iT DB IT E Detector 1T B Connector IT Coding 5T Detector 5T Connector 5T Testing pa END ITERATION 1 Iteration 2 227 Analysis from It 8T Design2 LT Update existing design IT 7 Design Proxy iT Code 2 nT Proxy ut Update Detector
112. t geht durch DNS Anfragen verloren Wir empfehlen daher einen lokalen DNS Proxy zu installieren welcher die IP Adressen Ihrer favorisierten Webseiten speichert Es ist geplant in einer sp teren Version des Warsurfers eine direkte Konfigurationsm glichkeit f r DNS Proxies einzubauen 77 Kapitel 9 Tests Mit der in der Analyse beschriebenen Accesspoint API sind hier einige automa tisierte Tests definiert worden die die Funktionalit t des Warsurfers berpr fen sollen 9 1 Netzerkennung Testbeschreibung Dieser simple Test generiert 10 neue Netzwerke mit neu en BSSIDs wobei immer nur ein Netz gleichzeitig aktiv ist Die Netze sind unterschiedlich lang verf gbar und bieten eine Verbindung ins Internet Es soll getestet werden ob der Warsurfer diese Netze korrekt erkennt und in die Da tenbank eintr gt Testskript 1 2 wstest_randoml py Erzeugt Netze wstest_detector py Liefert die Resultate Ben tigte Infrastruktur e Acess Point Linksys WRT54g mit OpenWRT Firmware e Eine Wirelesskarte als Detector Durchf hrung 1 Oe ES Warsurfer Datenbank leeren kismetdata userconfig connectsettings Kismet starten Detector starten Testskript 1 laufen lassen warten bis es beendet ist Resultate mittels Testskript 2 berpr fen 78 Erfolgsbedingungen 1 30 von 30 Netzen wurden in kismetdata eingetragen 2 30 von 30 Netzen wurden in availlog eingetragen Durchf hrungen Durchf hrung mit Li
113. tdata bssid IN SELECT userconfig bssid FROM userconfig WHERE userconfig usable 1 ANDNOT kismetdata essid IN SELECT connectlog essid FROM connectlog WHERE age now connectlog lastseen timestamp with time zone lt 00 00 05 interval vbestnet Diese Sicht ruft eine Reihe von Funktionen auf und gibt eine Testkonfiguration f r das beste momentan verf gbare Netz zur ck gem ss dem zuvor definierten Algorithmus Der Connector nutzt diese View um sich so mit einem Accesspoint zu verbinden Sicht gt public vbestnet lt Spalte Typ Attribute y 4 x T essid character varying 100 bssid character varying 17 fakemac character varying 17 wepkey character varying 255 fixip character varying 15 netmask character varying 15 gateway character varying 15 nameserver character varying 15 netconfigid integer testtype character varying 40 Sichtdefinition SELECT fnchoosenet essid fnchoosenet bssid fnchoosenet fakemac fnchoosenet wepkey fnchoosenet fixip fnchoosenet netmask fnchoosenet gateway fnchoosenet nameserver fnchoosenet netconfigid fnchoosenet testtype FROM fnchoosenet fnchoosenet essid bssid fakemac wepkey fixip netmask gateway nameserver netconfigid testtype WHERE fnchoosenet bssid IS NOT NULL OR fnchoosenet essid IS NOT NULL vconnectionstate Mittels dieser Sicht k nnen sich Komponenten dar ber informieren ob das Sys tem momentan mit d
114. te und welche Informationen in dabei genau interessieren Dies geschieht mittels folgender Syntax lt id gt ENABLE lt protokoll gt lt informationen gt Die id kann dabei vom Client beliebig gew hlt werden Der Detector interessiert sich f r alle verf gbaren Netzwerke Dabei ben tigt er e BSSID e SSID e Kanal Signalst rke Verschl sselung IP Range e Erkennungsart e Zeitpunkt der letzten Sichtung Mit Erkennungstyp ist gemeint auf welche Art Kismet ein Netzwerk gefunden hat Dies kann einerseits durch normale Pakete vom AP passieren andererseits aber auch durch sog Probe Requests d h Clients welche ein Netzwerk suchen Diese Probe Requests m ssen wir herausfiltern da z b auch die Connector Karte solche Pakete sendet und somit unseren Verbindungsalgorithmus st ren w rde Der Detector meldet sich also bei kismet mit folgendem Request an 11234 ENABLE NETWORK lasttime bssid wep signal rangeip type channel ssid 36 Ab sofort sendet Kismet periodisch die gew nschten Informationen zur ck Beispiel NETWORK 1132315313 00 0C F1 0A 9E D3 0 213 0 0 0 0 2 0 Wireless Diese Daten werden vom Detector in SQL Statements umgewandelt und in die Datenbank Tabelle kismetdata eingetragen Bereits bestehende Netzwerke werden aktualisiert Ein Trigger in der Datenbank bertr gt diese Rohinfor mationen in eine weitere Tabelle availlog in der sp ter nachvollzogen werden kann welches Netzwerk wann und wie lange v
115. teger bssid character character varying essid character character varying firstseen timestamp lastseen timestamp rideid character configuration regclass varying 17 varying 100 4 not null not null not null without time zone without time zone varying 255 default nextval default default In dieser Tabelle werden s mtliche Einstellungen als key value pairs gespeichert 48 Tabelle gt public configuration lt Spalte Typ Attribute y y f f id character varying 255 not null configvalue character varying 255 defaultvalue character varying 255 description text Indexe gt configuration pkey lt PRIMARY KEY btree id downloadjobs Hier k nnen Clients Benutzer mail reader ihre gew nschten Downloads plat zieren Der Downloaddaemon h lt diese Downloadinformationen aktuell Tabelle public downloadjobs Spalte Typ Attribute 4 url character varying 500 not null contentlength integer amountdownloaded integer startedat timestamp without time zone finishedat timestamp without time zone filelocation character varying 300 commited integer default 0 error integer lastmod character varying 255 Indexe gt downloadjobs_pkey lt PRIMARY KEY btree url 7 3 2 Sichten vkismetcandidates Diese Sicht zeit alle aktuell verfiigbaren Netze filtert aber diejenigen heraus die vom Benutzer oder aus der essiddefaultco
116. tzer sind hier wieder mit einem simplen apt get install openvpn bedient Ben tzer anderer Distributionen verwenden die mitgelieferten Pakete oder installieren wie gehabt ab aus den Sourcen welche auf folgender Webseite erh ltlich sind http openvpn net download html Zus tzlich zu OpenVPN sollte auf dem Homeagent ein HTTP Proxy installiert werden Ein intelligenter Proxy welcher Link Prefetching unterst tzt ist hier von Vorteil 8 8 2 Konfiguration Als erstes muss ein statischer Schl ssel definiert werden F hren Sie dazu auf dem Home Agent folgendes Kommando aus openvpn genkey secret warsurfer key Kopieren Sie den generierten Schl ssel auf dem Home Agent und auf dem No tebook in das Verzeichnis etc openvpn Erstellen Sie auf dem Server eine Konfiguration warsurfer_server conf mit folgendem Inhalt dev tun 10 1 0 1 is our local VPN endpoint office 10 1 0 2 is our remote VPN endpoint home ifconfig 10 1 0 1 10 1 0 2 Dur up script will establish routes once the VPN is alive up warsurfer_server up Our pre shared static key secret warsurfer key port 1337 comp 1zo Uncomment this section for a more reliable detection when a system loses its connection For example dial ups or laptops that travel to other locations ping 15 ping restart 45 74 ping timer rem persist tun persist key Verbosity level 0 quiet except for fatal errors 1 mostly quiet but display
117. ung zu stellen Somit scheidet er als m glicher Sniffer aus WifiRadar WifiRadar 3 ist ein kleines Tool welches daf r gebaut worden ist einem einzel nen Anwender die Konfiguration seiner Wirelesskarte zu erleichtern Er wurde haupts chlich deshalb untersucht weil er ebenfalls eine Scan Funktionalit t bie tet und durch seine Kompaktheit besticht WifiRadar scannt als erstes nach verf gbaren Netzen Fr jedes Netz kann der User ein Profil eingeben welches die Netzwerkeinstellungen beinhaltet Kommt nun ein bekanntes Netz in Reichweite konfiguriert WifiRadar die Netzwerkkarte entsprechend dem vorhandenen Profil Fr uns scheidet WifiRadar aus weil er die Information ber verf gbare Netze nur ber ein GUI anbietet WlanScanner WlanScanner 4 ist laut Autorangaben das Tool f r Linux was Netstumbler f r Windows ist Er scannt nach Netzen und listet diese in einem User Interface auf Dabei kann angezeigt werden ob ein Netz verschl sselt ist oder nicht F r uns kommt WlanScanner nicht in Frage weil er einerseits die Information ber die gefundenen Netze nur ber sein User Interface zur Verf gung stellt Andererseits ist dieses Tool in PHP geschrieben PHP f r diesen Zweck zu ver gewaltigen entspricht nicht unserer Programmierphilosophie was ebenfalls ein wichtiger Grund f r den Ausschluss von WlanScanner war Kismet Kismet 5 ist ein 802 11 Layer 2 WLAN Sniffer und ein Intrusion Detection Sys tem in einem Kismet funktio
118. urde erreicht Dank dem Warsurfer mailfetcher k nnen auch gr ssere Mail dateien heruntergeladen werden Daf r ist aber ein speziell Konfigurierter Server n tig Mittels der Software OpenVPN ist sogar vollst ndiges Roaming m glich d h Verbindungen werden auch ber mehrere Netzwerkwechsel hinweg nicht abgebrochen Dies erlaubt das Arbeiten mit SSH Sessions etc Aber auch hier muss man sich bewusst sein dass das Surfen auf diese Art viel Geduld erfor dert Oftmals sind Netze nur so kurz Verf gbar dass die Zeit nicht reicht eine Verbindung herzustellen Fazit Gem ss Aufgabenstellung wurden alle Ziele erreicht Es ist tats chlich m glich seine Emails w hrend einer Busfahrt herunter zu laden und zu lesen 85 Ob es wirklich funktioniert h ngt aber einerseits stark von der L nge der Bus fahrt und andererseits vom Gebiet in dem man sich bewegt ab Im Internet zu surfen erfordert ein grosses Mass an Geduld und der Erfolg ist eng mit der Reaktionsf higkeit des Anwenders verbunden weil dieser ein Auge auf den Connector haben muss und seinen Request mit Vorteil erst dann ab setzt sobald die Verbindung aufgebaut ist um so das Risiko eines Timeouts des Browsers m glichst gering zu halten Die Installation des Warsurfers ist relativ umst ndlich und somit f r Anf nger ungeeignet Ein Teil der Software befindet sich im Status unstable Nach der erfolgreichen Installation m ssen an verschiedenen Orten Konfigurationsdatei
119. utomaten welcher die Art der Pakete die von einer Wireless Station aus verschickt werden d rfen regelt Wie auf Abb 6 2 zu erkennen ist befindet sich eine Wireless Station nach dem Aufstarten in einem Zustand in welchem sie weder authentifiziert noch assoziiert ist 6 Die Karte wechselt in einen Scanmodus um zu erfahren ob ein Access point in der N he ist Dies kann auf zwei unterschiedliche Arten geschehen Im passiven oder im aktiven Modus Befindet sich die Karte im passiven Modus horcht sie lediglich auf Beacon Fra mes um einen Accesspoint zu identifizieren Im aktiven Modus verschickt die Station sogenannte Probe Frames welche von einem Accesspoint beantwortet werden Befinden sich mehrere Accesspoints im Empfangsradius der Station werden diese anhand ihrer Signalst rke und der Fehlerrate sortiert und die Sta tion versucht sich mit dem besten Accesspoint zu verbinden 20 STATE 1 Unauthenticated Unassociated Successful Authenticatio Class 1 and 2 Class 1 Frames insuccessful Authentication STATE 2 Authenticated Unassociated nsuccessful Association STATE 3 Authenticated Associated Successful Associatio Class 1 2 and 3 Frames Abbildung 6 2 Die verschiedenen Assoziationsstati Um sich bei einem Accesspoint zu authentisieren schickt die Station ein Authentication Request Frame 7 and den Accesspoint Dieser Antwortet darauf mit einem Au thentication Response
120. weils eine Verbindung zu den verschiedenen Netzen aufgebaut wird alle Pakete igno rieren soll Als erstes teilen wir Kismet mit mit welcher Karte wir sniffen wollen ffnen Sie die Konfiguration mit ihrem Lieblings Texteditor und suchen Sie nach der Stelle wo Sie die sourcen definieren k nnen Sources are defined as source sourcetype interface namel initialchannel source lt Treibername gt lt Interface gt lt Name gt Der Name kann frei gew hlt werden Er ist vor allem dann wichtig wenn Sie mehrere Interfaces haben die Sie mit Kismet verwenden wollen In diesem Falle k nnen Sie mehrere sourcen definieren die sich jeweils durch den Namen unter scheiden lassen Wenn Sie mehrere Sourcen definiert haben m ssen Sie Kismet noch mitteilen welche dieser Sourcen Sie jetzt auch wirklich aktiviert haben wollen Dies geschieht ber den Konfigurationseintrag enablesource Dies ist nicht n tig wenn Sie nur eine Source definiert haben oder mit allen definierten Sources sniffen wollen Comma separated list of sources to enable This is only needed if you defined multiple sources and only want to enable some of them By default all defined sources are enabled For example enablesources ciscosource HOH OH enablesources lt Name gt W hrend dem Betrieb des Warsurfers wird diejenige Karte welche sich mit den Accesspoints verbindet Connectorinterface Pakete aussenden die Kismet entdeckt Diese Pakete k nnen dazu
121. werden ist klar geregelt Standardm ssig sind auf einem Wirelessnetz mehrere Clients Es muss sichergestellt werden dass alle Stationen mit dem Accesspoint kommu nizieren k nnen ohne sich gegenseitig zu beeinflussen Standardm ssig geschieht dies ber CSMA CA Dabei pr ft eine Station erst ob das Medium frei ist in dem sie es abh rt Ist das Medium f r die Dauer eines sogenannten Interframes frei wird dieses gesendet Sollte das Medium belegt sein wartet die Station eine zuf llige Zeit lang und versucht danach erneut das Frame zu senden Bei jedem Frame das ber das Medium bermittelt wird beschreibt das Time Feld wie lange es dauern wird dieses Frame zu bermitteln Sendewillige Stationen wel che das Medium abh ren k nnen somit absch tzen wann das Medium wieder frei sein wird Damit sichergestellt wird dass alle Daten richtig bertragen werden wird jedes von einer Station erhaltene Frame mit einem ACK quittiert Broadcast Pakete werden nicht quittiert Tritt w hrend der bermittlung ein Fehler auf wird das Paket automatisch erneut bermittelt 11 ESS Abbildung 4 3 Wireless Basics 4 2 Wardriving Unter Wardriving versteht man das systematische Suchen von Wireless Netzwerken mithilfe eines Fahrzeugs Auto Bus etc Ausger stet mit einem Notebook oder PDA einem Sniffer und evtl einem GPS Ger t sp rt der Wardriver so m glichst viele offene unverschl sselte Netze auf um ber diese gratis im Inte

Download Pdf Manuals

image

Related Search

Related Contents

RT107e 取扱説明書  Samsung B2330HD Käyttöopas  SOHORAID Series - RAIDON Technology Inc.  PSB Speakers 6919217 DJ Equipment User Manual  Samsung 732N Инструкция по использованию  ファイアーエムブレム 覚醒  

Copyright © All rights reserved.
Failed to retrieve file