
IoT環境向けに最適化された、複数の優先順位付けモデル(新規、一貫性、ランダムフォレスト)を用いてZeekネットワークフローから効率的なIPv4ブロックリストを生成し、新興および持続的な攻撃者を特定するツール。
Attacker IP Prioritization(AIP)は、ハニーポットネットワークからキャプチャされたネットワークトラフィックに基づいて、効率的かつ経済的なIPブロックリストを生成するツールです。
5Gの登場により、IoTデバイスはファイアウォール保護なしで直接接続されることがよくあります。そのため、小さく、効率的で、経済的なブロックリストが必要です。AIPの構造を以下に示します。

各AIPモデルは、特定の基準に基づいて独自のブロックリストを生成します。主なモデルは以下の通りです:
AIPはDocker(推奨)またはPythonで直接実行できます。いずれの場合も、次の2つが必要です:
Zeekログをdata/raw/に、1日1フォルダ(例:data/raw/2024-10-22/conn.*)で配置します。Dockerを使用する場合は、Zeekログをコピーする代わりに、AIPをZeekログフォルダに向けることができます。
ハニーポットのIPを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。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の後に記述します。たとえば、1日分のすべてのモデルを実行するには:
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 |
| 1日分のすべてのモデルを実行 | 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 |
| 1つのモデルのみを実行 | --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>/に保存されます。bin/aipの直後に-v(進捗)または-d(詳細)を追加します。たとえばbin/aip -v run-modelsのようにします。bin/aip --helpで確認できます。Stratosphere AIPツールは、GNU General Public License v3.0の下でライセンスされています。
このツールは、プラハにあるチェコ工科大学のStratosphere Laboratoryで開発されました。これはStratosphereブロックリスト生成プロジェクトの一部です。
このツールはもともと、Thomas O'Haraの学士論文The Attacker IP Prioritizer: An IoT Optimized Blacklisting Algorithm (2021)から生まれました。