Ideas para proyecto PiWIDS

Kuko Armas <kuko@canarytek.com>
|

Este post es simplemente para plantear algunas ideas sobre un proyecto de seguridad que tengo, a ver si “engaño” a alguien para que se embarque conmigo a desarrollarlo

El proyecto consiste en desarrollar un sistema de deteccion de intrusiones Wifi (WIFI Intrusion Detection System - WIDS) basado en sondas de bajo coste (RaspberryPi)

Estructura del sistema PiWIDS

El proyecto tiene los siguientes componentes

  • Consola de centralizacion de logs y alertas: Los logs se enviaran a Elasticsearch, preprocesados por Logstash. La consola sera un dashboard Kibana
  • Sondas: Los dispositivos de captura y envio de datos. Deben ser de bajo coste. La opcion inicial es basarlas en RaspberryPi
  • Herramientas de despliegue y gestion: La gestion de las sondas debe estar automatizada

La Sonda

  • Basada en RaspberryPi
  • La WIFI de la Pi no soporta el modo monitor. Habria que conectarles un dispositivo USB externo. Esta opcion es recomendable de todas formas para poder usar dispositivos de mayor potencia, como las Alpha. Puesto que los PiWIDS son dispositivos pasivos la gananacia de la antena solo es relevante en recepcion
  • Como software de captura planteamos usar Kismet, ya que dispone de deteccion de ataques tipicos y de “Rogue AP” (AP no autorizados)
  • Kismet genera informacion de:
    • Alertas
    • Volcado de informacion de redes
    • Capturas de paquetes en formato pcap
  • Como minimo se enviarian a la consola ELKS las alertas. Posiblemente tambien la informacion de estaciones y AP
  • Los volcados pcap podria ser interesante centralizarlos para analizarlos con Bro IDS
  • En Kismet podemos definir una lista de ESSID asociadas a las MAC de los AP que pueden anunciarlos. Si detectan algun AP anunciando una de esas ESSID y la mac del AP no esta en la lista de “autorizados”, genera una alerta. Esta funcionalidad es muy util para detectar ataques con AP falsos tipo “Evil Twin”
    • Esta lista de ESSID a monitorizar, con los AP autorizados, habra que gestionarlos de forma centralizada (ver seccion de herramientas)

La consola de monitorizacion

  • Las alertas que envian desde las sondas se recibiran en un logstash que preprocesara las alertas y las enviara a un cluster elasticserach
  • La consola de visualizacion sera un dashboard kibana
  • Otra opcion seria que los logs lleguen a un servidor Wazhu y asi tendriamos las alertas del WIDS integradas con el resto de alertas de Wazuh
  • Una ultima opcion seria enviar los eventos a OSSIM
  • La pila Wazuh+ELKS estara dockerizada (esta parte ya la tengo)

Herramientas de despliegue y gestion

  • Como herramienta de despliegue y gestion de sondas usaremos SaltStack

Tareas

  • Configurar agentes de envio de alertas y logs
  • Desarrollar las recetas de despliegue y configuracion de kismet y agentes de envio de logs en las RaspberryPi
  • Desarrollar los filtros de LogStash
  • Desarrollar las busquedas, visualizaciones y dashboard en Kibana

¿Te apuntas?