
IotShark - Monitoreo y Análisis de Tráfico IoT
Este es nuestro proyecto final para CS 219 del trimestre de otoño de 2019.
IoTShark es un servicio de monitoreo de IoT que permite a los usuarios monitorear sus dispositivos IoT para detectar tendencias en los datos enviados/recibidos. Normalmente, configurar un ataque de intermediario (man-in-the-middle) con las configuraciones adecuadas puede llevar bastante tiempo y puede parecer abrumadoramente imposible para aquellos con poca o ninguna experiencia en seguridad informática o incluso en ciencias de la computación.
IoTShark tiene como objetivo proporcionar una solución [casi] totalmente automatizada para que un usuario monitoree sus dispositivos IoT simplemente ejecutando un solo script. El usuario solo tiene que seleccionar qué dispositivo desea monitorear, y este programa se encarga del resto del trabajo pesado iniciando el envenenamiento ARP, configurando el reenvío de paquetes y el sniffer de paquetes de intermediario. También tiene una interfaz web interactiva y fácil de entender donde un usuario puede filtrar los paquetes según los puertos, tipos y marcas de tiempo para obtener una comprensión más amplia de cuánto y cuándo se transmiten las cosas.
También tenemos como objetivo clasificar ciertos tipos de datos, como mensajes de latido (heartbeat), transferencias de datos y anomalías, aunque el último probablemente se demostrará en la prueba RPi no cifrada, ya que es difícil hacer detección de anomalías sin grandes cantidades de datos (y necesitaríamos muchos dispositivos e individuos para recopilar esa cantidad de datos).
🚨🚨🚨 Tenga en cuenta que las siguientes instrucciones solo se han verificado en MacOS. Si usa Linux o Windows + WSL, los resultados pueden variar y es posible que no funcione. 🚨🚨🚨
pip3 install -r requirements.txtsudo sysctl net.inet.ip.forwarding=1sudo python3 iotshark.pyCree un entorno virtual de Python e instale los paquetes de dependencias.
virtualenv --python=`which python3` venv
source venv/bin/activate
pip install -r requirements.txt
Asegúrese de que el reenvío de paquetes esté habilitado en su máquina local. Esto es necesario para que funcione el ataque de intermediario. En macOS se puede hacer con:
sudo sysctl net.inet.ip.forwarding=1
Ejecute el programa principal iotshark.py. Consulte ese script para ver las opciones aceptadas.
Actualmente, este programa realiza las siguientes 4 acciones:
-s o en un conjunto de subredes residenciales comunes-f seguida de la ruta relativa al archivo csvUna vez que el envenenamiento ARP está en ejecución, puede examinar el tráfico del dispositivo objetivo con Wireshark usando un filtro de visualización como:
(ip.src==192.168.0.215 or ip.dst==192.168.0.215) and tcp.port != 443
Los datos capturados se almacenan en un archivo csv con el siguiente formato:
{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
Por ejemplo, aquí hay una cadena larga que podemos decirle a Alexa Echo Dot/Google Home mientras sniffeamos su tráfico. Preste atención si el dispositivo está transmitiendo datos antes de la palabra de activación.
It is a dark and stormy night. My friends and I just came back from the Yosemite National Park, where the quick brown fox jumps over the lazy dog. Next week is Thanksgiving. Black Friday in 2019 is coming as well. It's a good time to do something exciting, such as taking a Computer Security class or a Programming Language class at UCLA. By the way, the first Airbus A380 jumbo jet is retiring. We like flying in that plane.
WAKE_WORD, what is the weather like in Los Angeles on Thanksgiving?
Anyways, we have Boeing 787 Dreamliners for cross-continental flights. The Web and Mobile System class with Ravi is amazing. We should upgrade the commercial laundry machine during the Black Friday sale. The bright and sunny weather is coming back and a trip to Joshua Tree National Park awaits. Well, I just saw a slow cat crashed into a new Android robot. There are some other robots made by Apple and Amazon too.