2016 API

Itten Yannic

WLAN-Analyzer

Durchführung: 18.04.2016 bis 20.05.2016

Umfeld und Zielsetzung
Nebst zahlreichen Modulen bietet die Informatikmittelschule ihren Schülern auch einen Netzwerksicherheitskurs an. Dieser Kurs soll den Schülern einen Einblick in die Welt der Netzwerksicherheit geben und ihnen die Sichtweise eines Angreifers aufzeigen. Da die Kantonsschule täglich von mehreren hundert Personen besucht wird entsteht ordentlich Traffic auf den insgesamt vier WLANs, was ein Hacker ausnutzen könnte um sich Zugang auf das Netzwerk zu verschaffen. Diese Facharbeit hat daher das Ziel ein Programm zu entwickeln, welches die verkehrenden Netzwerkpakete fängt und sinnvoll darstellt. Dadurch soll den Informatikmittelschülern gezeigt werden, was für einen Einblick ein Aussenstehender bereits hat, ohne einen Angriff durchgeführt zu haben.
Der Prüfungskandidat wurde daher während den zwei Wochen IPA in der Reichweite der Accesspoints der Kantonsschule Frauenfeld platziert. Zusätzlich wurden die folgenden Anforderungen an das Endprodukt gestellt. Das Programm soll auf einem Debian Derivat und mit Java entwickelt werden. Ausserdem soll es eine grafische Oberfläche bereitstellen, welche die folgenden Punkte bereitstellen soll:

  • Filterfunktion
  • Paketliste aller gefangenen Pakete
  • Ausgabe Paketdetails in Text- und Hex-Format
  • Speicherfunktion
  • Start und Stopp Funktion


Das gesamte Produkt soll Schlussendich unter der Verwendung von apt-get installiert werden können. Im folgenden Abschnitt wird das Endprodukt unter dem Namen WLAN Analyzer genannt.

Projektablauf und Lösungsansatz
Im Vorfeld der Arbeit wurde bereits klar, dass die Programmiersprache Java nicht für solch tiefgreifende Aufgaben konzipiert wurde. Daher muss eine Java Bibliothek verwendet werden, welche die benötigten Funktionalitäten ergänzt. Dabei handelt es sich hauptsächlich um die Steuerung des Wireless Adapters der Netzwerkkarte, sowie um die Verarbeitung der Pakete. Nach einer Suche im Web wurde die Library JNetPcap gefunden, welche die benötigten Funktionalitäten scheinbar bereit zu stellen scheint. Während der Individuellen Produktivarbeit zeigte sich jedoch, dass die Bibliothek einige Kernfunktionalitäten zur Steuerung der Netzwerkkarte nicht bereitstellte, da die open Source Version der Library veraltet ist und dabei entstand der neue Lösungsansatz welcher im folgenden Abschnitt beschrieben ist.
Um die Netzwerkpakete von allen vier WLANs empfangen zu können, ohne mit einem der vier Netzwerke verbunden zu sein, muss die Netzwerkkarte in den Monitoring Modus versetzt werden. In diesem Modus empfängt und verarbeitet die Netzwerkkarte alle eintreffenden Pakete, also auch jene, welche nicht an die MAC Adresse des Laptops gesendet wurden. Allerdings stellt die letzte open Source Version von JNetPcap diesen Modus nicht zur Verfügung und daher wurde der WLAN Sniffer Kismet verwendet, um die Pakete aus dem Netzwerk zu fischen. Kismet speichert die eintreffenden Pakete automatisch in einem PcapDump File, welches zur Laufzeit durch JNetPcap geöffnet werden kann. Mit der Bibliothek werden die Pakete zuerst in einer Liste aller Pakete gespeichert. Danach werden Daten, wie die MAC Adresse des Wireless Accesspoints (BSSID), Name des WLAN (SSID) und Frequenz, aus den entsprechenden Bytes im Paketheader extrahiert und zur Darstellung der Paketliste in der Benutzeroberfläche verwendet. Nachdem der Capturing Prozess durchgeführt wurde kann man durch Auswahl einer Zeile in der Paketliste, das gesamte Paket in Text- und Hex-Format ausgeben lassen. Die Filter Funktion und das Installieren via apt-get, konnte während der vorgegebenen Zeit nicht realisiert werden.