Bearbeiter | (nur für Mitarbeiter:innen einsehbar) |
Betreuer | Prof. Dr. Ulf Kulau |
Professor | Prof. Dr.-Ing. Lars Wolf |
Projekt | REAP |
IBR Gruppe | CM (Prof. Wolf) |
Art | Masterarbeit |
Status | abgeschlossen |
Beginn | 2016-12-14 |
EinleitungEin Wireless Sensor Network (WSN) ist ein Verbund von mehreren Sensorknoten, welche gemeinsam in diesem Netzwerk Informationen sammeln, gegebenenfalls auswerten und zur weiteren Verwendung bereitstellen. Heute gibt es für WSNs unzählige Einsatzgebiete, die sich drastisch in Funktion, nötiger Zuverlässigkeit und Umweltbedingungen unterscheiden. Eine Gemeinsamkeit teilen sich jedoch die meisten WSNs: Sie sollen so lange wie möglich wartungsfrei funktionieren. Ein bestimmender Faktor für eine lange Lebenszeit der Sensorknoten ist ihre Energieversorgung, denn im Regelfall werden die Sensorknoten mit Akkus oder Batterien betrieben, welche nur eine begrenzte Menge an Energie zur Verfügung stellen. Das Ziel einiger aktueller Arbeiten ist es ein WSN so energieeffizient wie möglich zu gestalten, um die Energieversorgung so lange wie möglich aufrecht zu erhalten. Das de-facto Routingprotokoll für solche WSNs ist das Routing Protocol for Low power and Lossy Networks (RPL). Es wurde bereits eingehend auf Funktionalität, Energieeffizienz und mögliche Angriffsvektoren hin überprüft. Alle diese Arbeiten haben jedoch gemeinsam, dass sie nicht auf kurz zeitig ausfallende Knoten als Angriffs- bzw. Fehlerquelle eingehen. Diese kurzzeitigen Aus fälle bzw. Neustarts sind in realen WSNs kein unbekanntes Problem, da sie unter Anderem durch extreme Umweltbedingungen wie Hitze oder Kälte, schlechte bzw. fehlerhafte Hardware oder Undervolting ausgelöst werden können. In einer vorherigen Arbeit konnte jedoch gezeigt werden, dass kurzzeitig ausfallende knoten den Energieverbrauch des gesamten Netzes messbar beeinflussen. Im Falle eines solchen fehlerhaften Knotens konnte RPL durch seine Mechanismen diesen Effekt eingrenzen, indem der betroffene Knoten bei Routingentscheidungen ignoriert wurde. So hatte jeder weitere Neustart des gleichen Knotens eine geringere Auswirkung auf das Netz. Ein möglicher Angreifer allerdings könnte sich diesen Effekt auf eine leicht abgewandelte Art und Weise zu nutze machen: Ein Knoten, der regelmäßig in kurzen Intervallen mit einer neuen, vorgetäuschten IP startet würde den Reparaturmechanismus von RPL aushebeln und hätte somit eine signifikant größere Auswirkung auf die Energieeffizienz des Netzwerkes. Dieses Verhalten destabilisiert das Netz lokal und führt zu einem frühzeitigen Ausfallen der benachbarten Knoten. Solch ein Angriff könnte mittels RPL-eigener Sicherheitsmechanismen verhindert werden. Diese sind allerdings weder in Contiki, noch in TinyOS implementiert (Stand 11.2016). Alternativ kann das Netzwerk mittels Link Layer Verschlüsselung und Authentifizierung und eines globalen pre-shared Key gegen solche Angriffe geschützt werden. Jedoch wird beim Einrichten eines Sensornetzwerkes oft auf solche Mechanismen verzichtet, da sie meistens nur schwer mit den begrenzten Ressourcen der Knotenhardware vereinbar sind oder einen erhöhten Einrichtungs- bzw. Wartungsaufwand zur Folge haben. Diese beiden Maßnahmen schützen jedoch lediglich vor einem Angreifer, der versucht das WSN zu kompromittieren. Ein valider Knoten, welcher aus verschiedenen möglichen Gründen regelmäßig abstürzt oder neu startet wird durch sie nicht daran gehindert die Verfügbarkeit des Netzes zu gefährden. Das Thema dieser Arbeit soll es sein ein auf RPL basiertes Sensornetzwerk gegen solche fehlerhaften und ausfallenden Knoten abzuhärten. Das Absichern des Netzes gegen böswillige Eingriffe von außen ist Fokus einer ganzen Reihe anderer Arbeiten und stellt auch weiterhin einen wichtigen Schwerpunkt in der Forschung und Entwicklung von Sensornetzen dar, soll jedoch im Rahmen dieser Arbeit nicht näher betrachtet werden. AufgabenstellungZunächst sollen die in der vorherigen Arbeit vorgestellten Simulationsergebnisse in einem realen Testbed, bestehend aus Zolertia Z1 Sensorknoten, validiert werden. Dazu müssen im Testbed Situationen geschaffen werden, die mit den Simulationen aus vergleichbar sind. Das bedeutet, dass zum einen überprüft werden soll, welchen Effekt der Neustart eines Knotens auf seine Nachbarn hat und zum anderen welchen Effekt er auf das Subnetz des Knotens hat. Für diese Tests wird es erforderlich sein ein Testframework zu implementieren, welches die Experimente im Testbed automatisiert. Dazu gehört das Neustarten eines zufälligen Knotens pro Testdurchlauf und das Formatieren der Testergebnisse. Der Schwerpunkt dieser Arbeit soll es sein RPL gegen kurzzeitig ausfallende Sensorknoten abzuhärten. Die Grundidee sieht dabei wie folgt aus: Die Sensorknoten halten ihren RPL-Zustand persistent vor. Nach einem Neustart soll dieser Zustand, falls noch aktuell, wieder hergestellt und damit weitergearbeitet werden können. Dabei lässt sich die Umsetzung dieser Idee in drei wesentliche Arbeitsschritte unterteilen:
Außerdem sollen die Modifikationen auf ihre Funktionalität und Effizienz hin ständig durch Evaluationen überprüft werden. Links |