
يولّد قوائم حظر IPv4 فعّالة من تدفقات شبكة Zeek باستخدام نماذج متعددة لتحديد الأولويات (جديد، ثابت، غابة عشوائية) لتحديد المهاجمين الناشئين والمستمرين، مُحسَّن لبيئات إنترنت الأشياء.
أداة تحديد أولويات عناوين IP للمهاجمين (AIP) هي أداة لإنشاء قوائم حظر عناوين IP فعّالة واقتصادية بناءً على حركة مرور الشبكة الملتقطة من شبكات المصائد (honeypot networks).
مع ظهور شبكات الجيل الخامس (5G)، أصبحت أجهزة إنترنت الأشياء (IoT) متصلة مباشرةً وغالبًا دون حماية بجدار ناري. لذلك نحتاج إلى قوائم حظر صغيرة وفعّالة واقتصادية. يظهر هيكل AIP أدناه.

يولّد كل نموذج من نماذج AIP قائمة حظر خاصة به بناءً على معيار محدد. النماذج الرئيسية هي:
يمكن تشغيل AIP باستخدام Docker (موصى به) أو مباشرةً باستخدام Python. في كلتا الحالتين، يحتاج إلى شيئين:
سجلات Zeek في data/raw/، مجلد واحد لكل يوم (على سبيل المثال data/raw/2024-10-22/conn.*). مع Docker يمكنك توجيه AIP إلى مجلد سجلات Zeek الخاص بك بدلًا من نسخها.
عناوين IP الخاصة بمصائدك (honeypots) في 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 فقط إلى حركة المرور المرسلة إلى هذه العناوين.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).