
Генерирует эффективные IPv4 блок-листы из сетевых потоков Zeek, используя несколько моделей приоритизации (new, consistent, random forest) для выявления новых и постоянных атакующих, оптимизирован для сред IoT.
Attacker IP Prioritization (AIP) — это инструмент для создания эффективных и экономичных списков блокировки IP-адресов на основе сетевого трафика, захваченного в сетях-приманках (honeypot).
С приходом 5G устройства IoT часто подключаются напрямую, зачастую без защиты межсетевого экрана. Поэтому нам нужны списки блокировки, которые являются компактными, эффективными и экономичными. Структура AIP показана ниже.

Каждая модель AIP создаёт собственный список блокировки на основе определённого критерия. Основные модели:
AIP может работать с Docker (рекомендуется) или напрямую с Python. В любом случае ему нужны две вещи:
Журналы Zeek в data/raw/, по одной папке на день (например, data/raw/2024-10-22/conn.*). С Docker вы можете указать AIP на вашу папку с журналами Zeek вместо их копирования.
IP-адреса ваших honeypot в data/external/. Скопируйте примеры файлов и отредактируйте их:
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 (обязательно): публичные IP-адреса ваших honeypot. AIP рассматривает только трафик, отправленный на эти IP-адреса.do_not_block_these_ips.csv (необязательно): IP-адреса, которые никогда не должны появляться в списке блокировки.Из папки AIP, предполагая, что ваши журналы Zeek находятся в /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
Это запускает все модели на сегодня. Чтобы использовать любую из команд ниже, напишите их после bin/aip. Например, чтобы запустить все модели на один день:
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
Чтобы собрать образ самостоятельно, см. руководство по 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
Запускайте source aip-venv/bin/activate и строку export PYTHONPATH снова каждый раз, когда открываете новый терминал.
| Что вы хотите | Команда |
|---|---|
| Запустить все модели на сегодня | bin/aip |
| Запустить все модели на один день | bin/aip run-models --start-date 2026-10-02 --end-date 2026-10-02 |
| Запустить все модели на несколько дней | bin/aip run-models --start-date 2026-10-01 --end-date 2026-10-12 |
| Запустить только одну модель | Добавьте --model с Alpha, Alpha7, Prioritize_New, Prioritize_Consistent или Random_Forest |
| Перестроить историю атакующих с даты до вчерашнего дня | bin/aip rebuild-kb --start-date 2026-10-01 |
Что нужно знать:
--end-date, то это сегодня. Таким образом, только --start-date запускает каждый день с этой даты до сегодня.data/output/<model name>/.-v (прогресс) или -d (полная детализация) сразу после bin/aip, например bin/aip -v run-models.bin/aip --help.Инструмент Stratosphere AIP лицензирован под GNU General Public License v3.0.
Этот инструмент был разработан в лаборатории Stratosphere Чешского технического университета в Праге. Это часть проекта Stratosphere по генерации списков блокировки.
Этот инструмент изначально возник из бакалаврской диссертации Томаса О'Хары, The Attacker IP Prioritizer: An IoT Optimized Blacklisting Algorithm (2021).