
مراقب أمان وأداة صيد تهديدات لنظام Linux يعتمد على eBPF، يوفر أحداثًا مرتبة زمنيًا وواعية بالحاويات مع ارتباط على المضيف لتحليل الاستجابة للحوادث والطب الشرعي.
Kunai هي أداة قوية مصممة لتوفير رؤى قابلة للتنفيذ لمهام مثل مراقبة الأمان وصيد التهديدات على أنظمة Linux. يمكن اعتبارها النظير لينكس لأداة Sysmon على ويندوز، وهي مصممة خصيصًا لمراقبة أحداث شاملة ودقيقة.
تستفيد Kunai من تقنية eBPF (مرشح الحزم الموسع من بيركلي)، مع مجسات على مستوى النواة تلتقط الأحداث الهامة. ترسل هذه المجسات البيانات إلى برنامج في مساحة المستخدم (userland) مسؤول عن مهام مثل إعادة الترتيب والإثراء وربط الأحداث المجمعة.
على جانب التنفيذ، كُتبت Kunai بشكل أساسي بلغة Rust، باستخدام مكتبة Aya القوية. يضمن هذا التصميم ملفًا ثنائيًا قائمًا بذاته، يضم كلًا من مجسات eBPF ومنطق المعالجة في مساحة المستخدم لسهولة النشر.
قبل المتابعة، يرجى ملاحظة أن نسخة Kunai مُجمَّعة مسبقًا ومستقلة عن التوزيعة متوفرة في صفحة الإصدارات. إذا كنت تريد ببساطة تجربة Kunai، فربما لا تحتاج إلى بناء المشروع بنفسك.
يمكنك استخدام صورة Docker تحتوي على كل ما تحتاجه لبناء المشروع بسهولة: صورة Docker لبناء Kunai.
هذا الحل الشامل يجب أن يعمل على أي توزيعة لينكس.
قبل أن تتمكن من بناء كل شيء، تحتاج إلى تثبيت بعض الأدوات.
rustupclang وlibbpf-dev وbpf-linkerأمثلة لأوامر تثبيت المتطلبات على Ubuntu/Debian:
sudo apt update
sudo apt install -y clang libbpf-dev lld musl-tools
# بافتراض أن لديك rustup و cargo مثبتين
cargo install bpf-linker
بمجرد تثبيت المتطلبات، يصبح كل شيء جاهزًا.
cargo build
# ستجد الملف التنفيذي في: ./target/debug/kunai
للنشر في الإنتاج، نوصي ببناء ملف ثنائي ثابت باستخدام MUSL:
# بناء ملف ثنائي ثابت للإصدار
cargo build --release --target x86_64-unknown-linux-musl
# سيكون الملف الثنائي الثابت متاحًا في:
./target/x86_64-unknown-linux-musl/release/kunai
لماذا MUSL؟ ينتج MUSL ملفات ثنائية ثابتة أكثر قابلية للنقل عبر توزيعات لينكس المختلفة، مما يتجنب مشاكل الاعتماد على إصدارات glibc. هذا مهم بشكل خاص لنشر الإنتاج حيث قد لا تتحكم في البيئة المستهدفة.
لتجميع kunai بشكل متقاطع لـ aarch64:
أضف هدف aarch64 musl:
rustup target add aarch64-unknown-linux-musl
ثبّت سلسلة أدوات التجميع المتقاطع (مثال Ubuntu/Debian):
sudo dpkg --add-architecture arm64
sudo apt update
sudo apt install -y git clang libbpf-dev lld musl-tools
sudo apt install -y crossbuild-essential-arm64 musl-tools:arm64
قم بالبناء لـ aarch64:
cargo build --release --target aarch64-unknown-linux-musl
سيكون الملف الثنائي المُجمَّع بشكل متقاطع متاحًا في:
./target/aarch64-unknown-linux-musl/release/kunai
إذا اعتقد أحد أن Kunai بها مشكلة في الذاكرة، إليك طريقة لتحليلها.
# ترجمة kunai مع معلومات التصحيح لجميع الحزم
RUSTFLAGS="-g" cargo build
# استخدام heaptrack
sudo heaptrack kunai
Sysmon For Linux: https://github.com/Sysinternals/SysmonForLinux
مشروع NGSOTI مخصص لتدريب الجيل القادم من مشغلي مراكز العمليات الأمنية (SOC)، مع التركيز على الجانب البشري في الأمن السيبراني. يؤكد المشروع على أهمية تزويد مشغلي SOC بالمهارات اللازمة والأدوات مفتوحة المصدر لمواجهة تحديات مثل هندسة الكشف، الاستجابة للحوادث، وتحليل استخبارات التهديدات. يشمل المشروع شركاء رئيسيين مثل CIRCL وRestena وTenzir وجامعة لوكسمبورغ، ويهدف إلى إنشاء بنية تحتية تشغيلية حقيقية للتدريب العملي. تدمج هذه المبادرة المناهج الأكاديمية مع رؤى الصناعة، وتقدم خبرة عملية في ميادين السيبرانية.
NGSOTI ممول جزئيًا بموجب برنامج أوروبا الرقمية (DEP) عبر المركز الأوروبي للكفاءة في الأمن السيبراني (ECCC).