
Genera listas de bloqueo IPv4 eficientes a partir de flujos de red de Zeek utilizando múltiples modelos de priorización (nuevo, consistente, bosque aleatorio) para identificar atacantes emergentes y persistentes, optimizado para entornos IoT.
La Priorización de IP de Atacantes (AIP) es una herramienta para generar listas de bloqueo de IP eficientes y económicas basadas en el tráfico de red capturado de redes de honeypots.
Con la llegada del 5G, los dispositivos IoT están conectados directamente, a menudo sin protección de firewall. Por lo tanto, necesitamos listas de bloqueo que sean pequeñas, eficientes y económicas. La estructura de AIP se muestra a continuación.

Cada modelo de AIP genera su propia lista de bloqueo basada en un criterio específico. Los modelos principales son:
AIP puede ejecutarse con Docker (recomendado) o directamente con Python. De cualquier manera, necesita dos cosas:
Registros de Zeek en data/raw/, una carpeta por día (por ejemplo data/raw/2024-10-22/conn.*). Con Docker puedes apuntar AIP a tu carpeta de registros de Zeek en lugar de copiarlos.
Tus IPs de honeypot en data/external/. Copia los archivos de ejemplo y edítalos:
cp data/external/honeypots_public_ips_example.csv data/external/honeypots_public_ips.csv
cp data/external/do_not_block_these_ips_example.csv data/external/do_not_block_these_ips.csv
honeypots_public_ips.csv (obligatorio): las IPs públicas de tus honeypots. AIP solo examina el tráfico enviado a estas IPs.do_not_block_these_ips.csv (opcional): IPs que nunca deben aparecer en una lista de bloqueo.Desde la carpeta de AIP, asumiendo que tus registros de Zeek están en /opt/zeek/logs/:
docker run --rm \
-v /opt/zeek/logs/:/home/aip/AIP/data/raw:ro \
-v ${PWD}/data/:/home/aip/AIP/data/:rw \
--name aip stratosphereips/aip:latest bin/aip
Esto ejecuta todos los modelos para hoy. Para usar cualquiera de los comandos a continuación, escríbelos después de bin/aip. Por ejemplo, para ejecutar todos los modelos para un día:
docker run --rm \
-v /opt/zeek/logs/:/home/aip/AIP/data/raw:ro \
-v ${PWD}/data/:/home/aip/AIP/data/:rw \
--name aip stratosphereips/aip:latest bin/aip run-models --start-date 2026-10-12 --end-date 2026-10-12
Para construir la imagen tú mismo, consulta la guía de Docker.
git clone https://github.com/stratosphereips/AIP.git ~/AIP
cd ~/AIP
python3 -m venv aip-venv
source aip-venv/bin/activate
pip install -r requirements.txt
export PYTHONPATH=$(pwd)/lib
bin/aip --help
Ejecuta source aip-venv/bin/activate y la línea export PYTHONPATH de nuevo cada vez que abras una nueva terminal.
| Lo que quieres | Comando |
|---|---|
| Ejecutar todos los modelos para hoy | bin/aip |
| Ejecutar todos los modelos para un día | bin/aip run-models --start-date 2026-10-02 --end-date 2026-10-02 |
| Ejecutar todos los modelos para varios días | bin/aip run-models --start-date 2026-10-01 --end-date 2026-10-12 |
| Ejecutar solo un modelo | Añade --model con Alpha, Alpha7, Prioritize_New, Prioritize_Consistent o Random_Forest |
| Reconstruir el historial de atacantes desde una fecha hasta ayer | bin/aip rebuild-kb --start-date 2026-10-01 |
Cosas que debes saber:
--end-date, se usa la fecha de hoy. Así que --start-date por sí solo ejecuta cada día desde esa fecha hasta hoy.data/output/<model name>/.-v (progreso) o -d (detalle completo) justo después de bin/aip, por ejemplo bin/aip -v run-models.bin/aip --help.La herramienta Stratosphere AIP está licenciada bajo GNU General Public License v3.0.
Esta herramienta fue desarrollada en el Laboratorio Stratosphere de la Universidad Técnica Checa en Praga. Esto es parte del proyecto de generación de listas de bloqueo de Stratosphere.
Esta herramienta nació originalmente de la tesis de licenciatura de Thomas O'Hara, The Attacker IP Prioritizer: An IoT Optimized Blacklisting Algorithm (2021).