
Gera listas de bloqueio IPv4 eficientes a partir de fluxos de rede Zeek usando múltiplos modelos de priorização (novo, consistente, floresta aleatória) para identificar atacantes emergentes e persistentes, otimizado para ambientes IoT.
A Priorização de IP de Atacantes (AIP) é uma ferramenta para gerar listas de bloqueio de IP eficientes e econômicas com base no tráfego de rede capturado de redes de honeypot.
Com o advento do 5G, os dispositivos IoT estão diretamente conectados, muitas vezes sem proteção de firewall. Portanto, precisamos de listas de bloqueio que sejam pequenas, eficientes e econômicas. A estrutura do AIP é mostrada abaixo.

Cada modelo do AIP gera sua própria lista de bloqueio com base em um critério específico. Os principais modelos são:
O AIP pode ser executado com Docker (recomendado) ou diretamente com Python. De qualquer forma, ele precisa de duas coisas:
Logs do Zeek em data/raw/, uma pasta por dia (por exemplo data/raw/2024-10-22/conn.*). Com o Docker, você pode apontar o AIP para sua pasta de logs do Zeek em vez de copiá-los.
Seus IPs de honeypot em data/external/. Copie os arquivos de exemplo e edite-os:
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 (obrigatório): os IPs públicos dos seus honeypots. O AIP considera apenas o tráfego enviado para esses IPs.do_not_block_these_ips.csv (opcional): IPs que nunca devem aparecer em uma lista de bloqueio.A partir da pasta do AIP, assumindo que seus logs do Zeek estão em /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
Isso executa todos os modelos para hoje. Para usar qualquer um dos comandos abaixo, escreva-os após bin/aip. Por exemplo, para executar todos os modelos para um dia:
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 a imagem você mesmo, consulte o guia do 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
Execute source aip-venv/bin/activate e a linha export PYTHONPATH novamente cada vez que abrir um novo terminal.
| O que você quer | Comando |
|---|---|
| Executar todos os modelos para hoje | bin/aip |
| Executar todos os modelos para um dia | bin/aip run-models --start-date 2026-10-02 --end-date 2026-10-02 |
| Executar todos os modelos para vários dias | bin/aip run-models --start-date 2026-10-01 --end-date 2026-10-12 |
| Executar apenas um modelo | Adicione --model com Alpha, Alpha7, Prioritize_New, Prioritize_Consistent ou Random_Forest |
| Reconstruir o histórico de atacantes de uma data até ontem | bin/aip rebuild-kb --start-date 2026-10-01 |
Coisas a saber:
--end-date, será hoje. Portanto, apenas --start-date executa todos os dias a partir dessa data até hoje.data/output/<model name>/.-v (progresso) ou -d (detalhes completos) logo após bin/aip, por exemplo bin/aip -v run-models.bin/aip --help.A ferramenta Stratosphere AIP é licenciada sob a GNU General Public License v3.0.
Esta ferramenta foi desenvolvida no Laboratório Stratosphere da Universidade Técnica Tcheca em Praga. Isso faz parte do projeto de geração de listas de bloqueio do Stratosphere.
Esta ferramenta nasceu originalmente da tese de bacharelado de Thomas O'Hara, The Attacker IP Prioritizer: An IoT Optimized Blacklisting Algorithm (2021).