
Generiert effiziente IPv4-Blocklisten aus Zeek-Netzwerkflüssen mithilfe mehrerer Priorisierungsmodelle (neu, konsistent, Random Forest), um aufkommende und anhaltende Angreifer zu identifizieren, optimiert für IoT-Umgebungen.
Das Attacker IP Prioritization (AIP) ist ein Tool zur Erstellung effizienter und wirtschaftlicher IP-Blocklisten auf Basis des Netzwerkverkehrs, der in Honeypot-Netzwerken erfasst wurde.
Mit dem Aufkommen von 5G sind IoT-Geräte oft direkt und ohne Firewall-Schutz verbunden. Daher benötigen wir Blocklisten, die klein, effizient und wirtschaftlich sind. Die AIP-Struktur ist unten dargestellt.

Jedes AIP-Modell erstellt seine eigene Blockliste basierend auf einem bestimmten Kriterium. Die Hauptmodelle sind:
AIP kann mit Docker (empfohlen) oder direkt mit Python ausgeführt werden. In beiden Fällen werden zwei Dinge benötigt:
Zeek-Logs in data/raw/, ein Ordner pro Tag (zum Beispiel data/raw/2024-10-22/conn.*). Mit Docker können Sie AIP auf Ihren Zeek-Logs-Ordner verweisen, anstatt sie zu kopieren.
Ihre Honeypot-IPs in data/external/. Kopieren Sie die Beispieldateien und bearbeiten Sie sie:
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 (erforderlich): die öffentlichen IPs Ihrer Honeypots. AIP betrachtet nur den Verkehr, der an diese IPs gesendet wird.do_not_block_these_ips.csv (optional): IPs, die niemals in einer Blockliste erscheinen dürfen.Vom AIP-Ordner aus, vorausgesetzt Ihre Zeek-Logs befinden sich in /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
Dies führt alle Modelle für heute aus. Um einen der Befehle unten zu verwenden, schreiben Sie sie nach bin/aip. Zum Beispiel, um alle Modelle für einen Tag auszuführen:
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
Um das Image selbst zu erstellen, siehe die Docker-Anleitung.
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
Führen Sie source aip-venv/bin/activate und die Zeile export PYTHONPATH jedes Mal erneut aus, wenn Sie ein neues Terminal öffnen.
| Was Sie möchten | Befehl |
|---|---|
| Alle Modelle für heute ausführen | bin/aip |
| Alle Modelle für einen Tag ausführen | bin/aip run-models --start-date 2026-10-02 --end-date 2026-10-02 |
| Alle Modelle für mehrere Tage ausführen | bin/aip run-models --start-date 2026-10-01 --end-date 2026-10-12 |
| Nur ein Modell ausführen | Fügen Sie --model mit Alpha, Alpha7, Prioritize_New, Prioritize_Consistent oder Random_Forest hinzu |
| Die Angreifer-Historie von einem Datum bis gestern neu aufbauen | bin/aip rebuild-kb --start-date 2026-10-01 |
Wissenswertes:
--end-date weglassen, ist es heute. Also führt --start-date allein jeden Tag von diesem Datum bis heute aus.data/output/<model name>/ gespeichert.-v (Fortschritt) oder -d (vollständige Details) direkt nach bin/aip hinzu, zum Beispiel bin/aip -v run-models.bin/aip --help anzeigen.Das Stratosphere AIP-Tool ist unter der GNU General Public License v3.0 lizenziert.
Dieses Tool wurde am Stratosphere Laboratory an der Tschechischen Technischen Universität in Prag entwickelt. Es ist Teil des Stratosphere-Blocklist-Generierungsprojekts.
Dieses Tool entstand ursprünglich aus der Bachelorarbeit von Thomas O'Hara, The Attacker IP Prioritizer: An IoT Optimized Blacklisting Algorithm (2021).