====== ...alte, bereits bearbeitete Aufgabenstellungen ====== ===== Aufbau eines DNSSEC gesicherten DNS Servers ===== Die Namensauflösung über das DNS ist eine wichtige Funktion für den Betrieb des Internets. In der Arbeit soll ein eigener DNSSEC Server konfiguriert werden und die derzeitigen Empfehlungen zum sicheren Betrieb einer DNS Infrastruktur umgesetzt werden. Die Ergebnisse der Arbeit sind in einem Wiki zu dokumentieren. **Links:** * https://www.denic.de/wissen/dnssec/ * https://www.heise.de/ct/artikel/DNSpionage-Massive-Angriffe-auf-Mail-und-VPN-User-4333644.html ===== Untersuchungen zum Aufbau eines Mesh-Netzwerks mit dem ESP32/ESP8266 ===== In der Arbeit soll praktisch untersucht werden, ob es mit dem ESP8266/ESP32 möglich ist eine WLAN-Mesh Vernetzung aufzubauen. Mittels der Mesh-Vernetzung sollen Nachrichten von Mikrocontroller zu Mikrocontroller weitergeleitet werden, ohne dass dazu ein WLAN-Access-Punkt (WLAN-Router) benötigt wird. **Links:** * https://wiki.ipv6lab.f1.htw-berlin.de/iot/expressiv#mesh_networking ===== Aufbau und Untersuchungen eines WiFi Defense Systems ===== Anhand eines existierenden Projekts zur Angriffserkennung auf WiFi Netze soll untersucht werden wie ein solches System aufgebaut und betrieben werden kann. Es ist zu untersuchen, welche Arten von Angriffen erkannt werden und welche Strategien zur Abwehr von Angriffen auf Drahtlosnetze im lizenzfreien Spektrum zur Verfügung stehen. **Links:** * https://www.nzyme.org/ \\ ---- ===== Umsetzung eines Referenzdesigns für das Energy-Harvesting eines Sensormoduls ===== Sensorknoten sollen über Jahre hinweg ohne weitere Installations- und Wartungsarbeiten einsatzfähig sein. Die momentan verfügbaren Batterietechnologien stellt das vor Herausforderungen. Durch den Einsatz energiesparender Mikrocontroller gepaart mit einer Lösung zur Gewinnung von Energie aus der direkten Umgebung können neue Einsatzfelder erschlossen werden. Im Rahmen der Arbeit soll ein Referenzdesign von Texas Instruments umgesetzt und bewertet werden. Links: * [[https://e2e.ti.com/blogs_/b/msp430blog/archive/2015/08/31/design-a-battery-powered-building-automation-system-to-last-for-decades?DCMP=ep-mcu-msp-buildautomation-en&HQS=ep-mcu-msp-buildautomation-em-blog-automation-en&sp_rid_pod4=MTE1NzI4NjM2OTY4S0&sp_mid_pod4=49438255&detailID=19721111|Link zur TI-Publikation]] * [[http://www.ti.com/tool/tida-00246?DCMP=tida00246&HQS=sys-ind-fa-tida00246-em-rd-tida00246-wwe&sp_rid_pod4=MTE1NzI4NjM2OTY4S0&sp_mid_pod4=49249183&detailID=19721111&spMailingID=49249183&spUserID=MTE1NzI4NjM2OTY4S0&spJobID=740683884&spReportId=NzQwNjgzODg0S0|Referenzdesign (Texas Instruments)]] \\ ===== Untersuchungen zur Interoperabilität zwischen verschiedenen IoT Betriebssystemen ===== An der FU Berlin wird derzeit mit **RIOT-OS** ein neues Betriebssystem für das IoT entwickelt. In der Arbeit soll untersucht werden wie gut **RIOT** mit dem bisher eingesetzten **Contiki OS** kompatibel ist und welche Dinge beim gleichzeitigen Einsatz von RIOT und Contiki zu beachten sind. Die Arbeiten sollen auf einem CC2538DK-Board von Texas Instruments durchgeführt werden. **Links:** * [[https://riot-os.org]] * [[https://github.com/RIOT-OS/RIOT/issues/4220]] * [[contiki:start|Contiki OS]] * [[iot:riot-os|RIOT OS auf dem CC2538DK-Board]] \\ ===== Machine Learning Packet Classification ===== Machine Learning wurde in der Vergangenheit erfolgreich eingesetzt um verschlüsselten Datenverkehr, der für eine direkte Analyse nicht zur Verfügung steht, zu klassifizieren. In der Arbeit sollen die bisher erreichten Ergebnisse verifiziert werden sowie neuartige Ansätze recherchiert und ggf. implementiert werden. **Links:** * http://caia.swin.edu.au/reports/131120A/CAIA-TR-131120A.pdf * https://opensourceforu.com/2016/09/deep-learning-network-packet-forensics-using-tensorflow/ * https://github.com/tensorflow/io/issues/264 * https://www.tensorflow.org/io/api_docs/python/tfio/pcap/PcapDataset * https://towardsdatascience.com/how-to-build-a-custom-dataset-for-tensorflow-1fe3967544d8 * https://medium.com/@scet.amit/network-traffic-classification-using-deep-learning-641eb550d5d0 * https://pypi.org/project/network-pipeline/ * https://www.blackhat.com/docs/us-15/materials/us-15-Wang-The-Applications-Of-Deep-Learning-On-Traffic-Identification-wp.pdf * https://www.datacamp.com/community/tutorials/tensorflow-tutorial \\ ===== Untersuchung zur Anwendung einer Wireguard-VPN Lösung ===== In der Arbeit sind verschiedene Wireguard-VPN Szenarien zu implementieren und zu testen. So soll es möglich sein, vom Mobiltelefon auf ein privates Heim-IP-Netzwerk hinter einem NAT-Router zuzugreifen. Weiterhin ist zu testen, ob sich sichere VPN-Verbindungen zwischen 2 oder mehreren Heimnetzen aufbauen lassen und welche Datenübertragungsraten erreichbar sind. Wireguard is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. **Links:** * https://www.thomas-krenn.com/de/wiki/WireGuard_Grundlagen * https://www.heise.de/ct/artikel/FAQ-VPNs-mit-WireGuard-4494994.html \\ ===== Erweiterung eines bestehenden 6LoWPAN Routers - Modulare Funkinterfaces ===== Im IPv6 Labor der Beuth-Hochschule wurde im letzten Jahr ein eigener Router für die Kopplung eines 6LoWPAN-Funknetzes mit einem Ethernet-Netzwerk entwickelt. \\ Dieser Router soll um die Fähigkeit erweitert werden separate Funkmodule für unterschiedliche Frequenzbereiche aufzunehmen. Dabei sind folgende Punkte zu untersuchen: * Recherche verfügbarer Funkmodule * Entwicklung eines Konzepts zur Anbindung der Funkmodule (Transceiver/komplettes Mikrocontroller-Board) * Anpassung des bestehenden Bord-Layouts in Eagle * Erstellung der Platine * Anpassung des Contiki-Betriebssystems (Gerätetreiber) Links: * [[http://www.researchgate.net/publication/269319668_Development_of_a_Contiki_border_router_for_the_interconnection_of_6LoWPAN_and_Ethernet|Link zur Publikation der Router-Entwicklung]] * [[http://shop.in-circuit.de/index.php?cPath=22_27|mögliche Funkmodule]] \\ ===== Erweiterung eines bestehenden 6LoWPAN Routers - Power over Ethernet ===== Im IPv6 Labor der Beuth-Hochschule wurde im letzten Jahr ein eigener Router für die Kopplung eines 6LoWPAN-Funknetzes mit einem Ethernet-Netzwerk entwickelt. \\ Dieser Router soll um eine Energieversorgung per Power-over-Ethernet (PoE) erweitert werden. Dabei sind folgende Punkte zu untersuchen: * Recherche verfügbarer PoE Lösungen * Anpassung des bestehenden Bord-Layouts in Eagle * Erstellung der Platine Links: * [[http://www.researchgate.net/publication/269319668_Development_of_a_Contiki_border_router_for_the_interconnection_of_6LoWPAN_and_Ethernet|Link zur Publikation der Router-Entwicklung]] * [[https://de.wikipedia.org/wiki/Power_over_Ethernet]] \\ ===== Aufbau eines verteilten Kommunikationsszenarios im Internet der Dinge (IoT) ===== Im Internet der Dinge (IoT) bieten eine Vielzahl von Sensoren Daten an, die wiederum von sehr unterschiedlichen Diensten, Applikationen und anderen Geräten genutzt werden können:\\ **Beispiel:** Rauchmelder schaltet Warnton und Beleuchtung ein, es wird eine SMS und Email als Benachrichtigung an den Hauseigentümer verschickt. Geräte die Daten bereitstellen kann man als //Publisher// bezeichnen. Geräte und Dienste die Daten empfangen sind so genannte //Subsciber//. Über //Nachrichtenbroker// können unterschiedliche Publisher mit einer Vielzahl von Subscribern sicher kommunizieren, und dynamische Kommunikationsszenarien aufgebaut werden. Dafür kann zum Beispiel das MQTT Protokoll zum Einsatz kommen, welches verteiltes //Message Queuing// möglich macht. Dabei sind folgende Punkte genauer zu untersuchen: * Analyse des MQTT Protokolls * Implementierung eines MQTT Publishers auf einem Microcontroller (Contiki) * Implementierung eines MQTT Subscribers mit der Mosquitto-Library (Programmiersprache C) * Analyse der Sicherheit des MQTT Protokolls (TLS, Client-Authentifizierung) * [[public_v6:iot|IoT - The Internet of Things]] * [[public_v6:mqtt|MQTT - Message Queue Telemetry Transport]] \\ ===== Recherche zu offenen Systemen zur Heimautomatisierung ===== Durchführung einer vergleichenden Betrachtung: * Recherche zu möglichen Systemen * Vergleich und Bewertung von vorhandenen Features * Analyse der Programmierung der Systeme an einem selbstgewählten Beispiel * Einbindung von eigenen Sensoren (Contiki, MQTT, etc.) * Umsetzung eines Prototypen auf Raspberry, o.ä. **Links:** * https://www.openhab.org * http://fhem.de/fhem.html * ... \\ ===== Erstellung eines Parsers für das Netzwerkmanagementprotokoll SNMP ===== Mit Hilfe von **binpac** und **libpcap** soll ein Protokollparser erstellt werden, der es möglich macht einzelne SNMP Nachrichten in ihre Felder zu zerlegen und für nachfolgende Analysen aufzubereiten.\\ Im Rahmen eines Testaufbaus soll die Performance des Parsers evaluiert werden. **Links:** * Libpcap-Filter: http://www.tcpdump.org/pcap.html * Binpac-Paper: http://www.icir.org/vern/papers/binpac.IMC06.pdf \\ ===== Entwicklung eines graphischen SNMP-Tools ===== Das Simple Network Management Protokoll (SNMP) wird in vielen Netzen zum Überwachen und Verwaltung einzelner Netzkomponenten (Router, Switches, Server) genutzt. Für die Auswertung von Netztests wird ein graphisches Abfrage-Werkzeug benötigt, mit dem sich beliebige Parameterwerte per SNMP abfragen und in einem Zeitinterval graphisch darstellen lassen. * Erstellung eines plattformunabhängigen Tools für die Abfrage von SNMP-Daten (Prozessorlast, Speicherverbrauch, Interface-Durchsatz) von Routern, Switches & Firewalls * flexible Einstellung des Polling-Intervalls * flexible Ausgabe der graphischen Darstellung (Bildschirmfenster, PDF-Datei,...) * Umsetzung in Python (GTK: www.gtk.org, mathplotlib: matplotlib.sourceforge.net) Voraussetzung: Gute Programmierkenntnisse erforderlich, Kenntnisse im Bereich Netzwerkmanagment und Linux-Kenntnisse erwünscht. \\ ===== Scripting auf Cisco Routern ===== Cisco Router verfügen seit einigen Jahren über die Möglichkeit eigene Programme in der Script-Sprache //TCL// auszuführen: http://de.wikipedia.org/wiki/Tcl Im Rahmen der Arbeit sollen die Scripting-Fähigkeiten eines Cisco Routers untersucht werden. Dabei soll insbesondere ein Statusmonitor implementiert werden, der aktuelle Informationen über den Router sammelt und per Email verschickt. **Links:** * http://cciepursuit.wordpress.com/2007/04/21/simple-tcl-script-ping-test/ \\ * http://www.netcraftsmen.net/resources/archived-articles/374-tcling-your-cisco-router.html \\ * http://www.cisco.com/en/US/docs/ios-xml/ios/ios_tcl/configuration/12-4t/nm-script-tcl.html \\ \\ ===== Low-Cost Snort Sensor ===== ARM-basierte Netzwerk- und Serverboards, wie z.B. das Beagleboard, werden immer leistungsfähiger und erlauben es preiswerte Netzkomponenten auf Linux-basis zu implementieren, die einen geringen Energiebedarf aufweisen. Im Rahmen der Arbeit soll ein IPv6 Intrusion Detection System (IDS) getestet erstellt werden. * Installation auf 32-bit Microcontroller-Board (ARM) * Härten der Linux-Installation gegen Angriffe * Erstellung von Auswertungungen über erkannte Angriffe im Netz **Voraussetzung:** Linux-Kenntnisse, Bereitschaft zur Einarbeitung in Snort \\ ===== Application Level Gateway für SNMP-Nachrichten ===== Im Rahmen der Arbeit soll ein Filter für SNMP Nachrichten, ein so genanntes **Application Level Gateway** entwickelt werden. Dieser Filter soll dazu benutzt werden können SNMP Nachrichten nach ihren Inhalten (Absender, Ziel, Nutzer, Verschlüsselung, Protokollversion, etc.) filtern zu können. Darüber hinaus ist eine Filterung nach Häufigkeit der Nachrichten zu implementieren um Denial-of-Service Angriffe abwehren zu können. **Links:** * Libpcap-Filter: http://www.tcpdump.org/pcap.html * Linux-iptables: Modul http://linuxfocus.berlios.de/English/February2005/article367.shtml \\ ===== Stand-alone 6LoWPAN Border-Router ===== Für die internetfähige Steuerung von SmartObjects wird derzeit eine Microcontroller-Plattform entwickelt, welche die Vernetzung über das IPv6 Protokoll ermöglicht. Dabei kommt mit [[http://tools.ietf.org/html/rfc6550|RPL]] ein //Routing Protocol for Low-Power and Lossy Networks// zum Einsatz. In der Arbeit soll untersucht werden in welche Möglichkeiten der Realisierung eines Borderrouters existieren. Es wird eine Umsetzung von Ethernet auf eine funkbasierte Lösung auf Basis des 6LoWPAN Protokolls angestrebt. * Auswahl eines geeigneten Mikrocontroller-Plattform für die Realisierung eines 6LoWPAN Borderrouters unter dem Betriebsystem Contiki. * Analyse einer Linux-basierten Implementierung http://www.signal11.us/oss/elce2012/ **Voraussetzung:** * Gute Kenntnisse der Programmiersprache C * Kenntnisse IPv6, Ethernet, Routing (RPL) * Bereitschaft zur Einarbeitung in die Netzwerkprogrammierung \\ ===== Installation einer alternativen Firmware auf einem Fritzbox Home-Router ===== In der Arbeit soll auf einer Fritzbox eine alternative Firmware installiert und auf ihre Funktionsfähigkeit getestet werden. Insbesondere soll untersucht werden, ob sich mit der Firmware IPv6 auf älteren Fritzbox-Routern unterstützt wird und ob sich mit Hilfe des Privacy-Proxies //Privoxy// der Schutz interner Rechner verbessern lässt. Die Ergebnisse der Arbeit sind zusätzlich umfassend im Wiki des IPv6-Labors zu dokumentieren. **Voraussetzung:** * Gute Kenntnisse des Linux Betriebssystems * Netzwerkkenntnisse (IPv4/IPv6) **Links:** * [[http://freetz.org|Freetz]] * [[http://freetz.org/wiki/packages/privoxy|Privoxy]] * [[http://www.asconix.com/howtos/miscellaneous/freetz-fritzbox-howto|Freetz Howto]] \\ ===== Einrichten eines Servers zur Software-Versionsverwaltung ===== Untersuchung zur Einrichtung und zum Betrieb eine Servers zur Software-Versionsverwaltung im IPv6 Labor der Beuth-Hochschule. Dabei sind folgende Punkte zu untersuchen: * Eignung verschiedener Verfahren (GIT/SVN) * Einfache Administration des Servers * Möglichkeit der Nutzung in Lehrveranstaltungen * Graphische Clients für verschiedene Betriebssysteme * Erstellung eines Betriebskonzepts (incl. Backup) Links: * [[http://gofedora.com/how-to-install-configure-gitweb/]] * [[http://gofedora.com/insanely-awesome-web-interface-git-repos/]] * Gitweb unter Ubuntu:http://ubuntuforums.org/showthread.php?t=2244960 * https://kallithea-scm.org * SVN... \\ ===== Analyse und Bewertung von IPv6-Intrusion Detection Systemen ===== Im Rahmen der Arbeit soll ein Vergleich zwischen IPv6-fähigen Intrusion Detection Systemen durchgeführt werden (kommerzielle/Open Source). * Dazu soll eine Systematik der Bewertung solcher Systeme erstellt werden. * Anhand von verfügbaren IDS-Installationen (Snort 2.8.5 / Cisco ASA5500) sollen Features, Erkennungsleistungen und Bedienbarkeit der Systeme geprüft werden. \\