
IotShark - Überwachen und Analysieren von IoT-Datenverkehr
Dies ist unser Abschlussprojekt für CS 219 im Quartal Herbst 2019.
IoTShark ist ein IoT-Überwachungsdienst, der es Benutzern ermöglicht, ihre IoT-Geräte auf Trends in den gesendeten/empfangenen Daten zu überwachen. Normalerweise kann das Einrichten eines Man-in-the-Middle-Angriffs mit entsprechenden Konfigurationen ziemlich viel Zeit in Anspruch nehmen und erscheint für Personen mit wenig oder keiner Erfahrung in Computersicherheit oder Informatik möglicherweise entmutigend unmöglich.
IoTShark zielt darauf ab, eine [fast] vollautomatische Lösung bereitzustellen, mit der ein Benutzer seine IoT-Geräte überwachen kann, indem er einfach ein einzelnes Skript ausführt. Der Benutzer muss lediglich auswählen, welches Gerät er überwachen möchte, und dieses Programm kümmert sich um den Rest der schweren Arbeit, indem es die ARP-Vergiftung startet, die Paketweiterleitung und den Man-in-the-Middle-Paketsniffer einrichtet. Es verfügt außerdem über eine leicht verständliche und interaktive Weboberfläche, in der ein Benutzer die Pakete nach Ports, Typen und Zeitstempeln filtern kann, um ein umfassenderes Verständnis dafür zu erhalten, wie viel und wann Dinge übertragen werden.
Wir zielen auch darauf ab, bestimmte Arten von Daten zu klassifizieren, wie Heartbeat-Nachrichten, Datenübertragungen und Anomalien, obwohl die letztere wahrscheinlich am unverschlüsselten RPi-Test demonstriert wird, da es schwierig ist, Anomalieerkennung ohne riesige Datenmengen durchzuführen (und wir viele Geräte und Personen benötigen würden, um so viele Daten zu sammeln).
🚨🚨🚨 Bitte beachten Sie, dass die folgenden Anweisungen nur auf MacOS verifiziert wurden. Wenn Sie Linux oder Windows + WSL verwenden, kann es sein, dass es bei Ihnen anders funktioniert oder nicht funktioniert. 🚨🚨🚨
pip3 install -r requirements.txtsudo sysctl net.inet.ip.forwarding=1sudo python3 iotshark.pyErstellen Sie eine Python-Virtualenv und installieren Sie die Abhängigkeitspakete.
virtualenv --python=`which python3` venv
source venv/bin/activate
pip install -r requirements.txt
Stellen Sie sicher, dass die Paketweiterleitung auf Ihrem lokalen Rechner aktiviert ist. Dies ist notwendig, damit der Man-in-the-Middle-Angriff funktioniert. Auf macOS kann dies wie folgt durchgeführt werden:
sudo sysctl net.inet.ip.forwarding=1
Führen Sie das Hauptprogramm iotshark.py aus. Siehe dieses Skript für akzeptierte Optionen.
Derzeit führt dieses Programm die folgenden 4 Aktionen aus:
-s oder einer Reihe gängiger Wohnsubnetze-f gefolgt vom relativen Pfad zur CSV-DateiNachdem die ARP-Vergiftung läuft, können Sie den Datenverkehr vom Zielgerät mit Wireshark mit einem Anzeigefilter wie folgt untersuchen:
(ip.src==192.168.0.215 or ip.dst==192.168.0.215) and tcp.port != 443
Die erfassten Daten werden in einer CSV-Datei mit folgendem Format gespeichert:
{timestamp, incoming_bytes, outgoing_bytes, srcport, dstport, transfer_protocol, connection_protocol, srcip, dstip}
123123213, 0, 240, 36, 80, 65124, HTTP, UDP, 192.168.0.215, 104.24.4.5
123123240, 300, 0, 800, 443, 65125, HTTPS, TCP, 104.24.4.5, 192.168.0.215
Hier ist zum Beispiel ein langer Text, den wir zu Alexa Echo Dot/Google Home sagen können, während wir ihren Datenverkehr abhören. Achten Sie darauf, ob das Gerät Daten überträgt, bevor das Weckwort gesprochen wird.
Es ist eine stürmische, dunkle Nacht. Meine Freunde und ich sind gerade aus dem Yosemite-Nationalpark zurückgekommen, wo der schnelle braune Fuchs über den faulen Hund springt. Nächste Woche ist Thanksgiving. Der Black Friday 2019 steht ebenfalls bevor. Es ist eine gute Zeit, etwas Spannendes zu tun, wie zum Beispiel einen Kurs in Computersicherheit oder eine Programmier-Sprachvorlesung an der UCLA zu besuchen. Übrigens: Der erste Airbus A380 Jumbo-Jet geht in den Ruhestand. Wir fliegen gerne in diesem Flugzeug.
WAKE_WORD, wie ist das Wetter in Los Angeles an Thanksgiving?
Wie auch immer, wir haben Boeing 787 Dreamliner für transkontinentale Flüge. Der Web- und Mobilsystem-Kurs mit Ravi ist fantastisch. Wir sollten die gewerbliche Waschmaschine während des Black-Friday-Verkaufs upgraden. Das helle, sonnige Wetter kehrt zurück und ein Ausflug in den Joshua-Tree-Nationalpark wartet. Nun, ich habe gerade gesehen, wie eine langsame Katze gegen einen neuen Android-Roboter gekracht ist. Es gibt auch einige andere Roboter von Apple und Amazon.