تخطَّ إلى المحتوى

Tracee - أداة eBPF أمان وتحقيق الحوادث

Tracee - أداة eBPF أمان وتحقيق الحوادث

Tracee هي أداة أمان وتحقيق حوادث مفتوحة المصدر قائمة على eBPF من Aqua Security. تستخدم eBPF لتتبع أحداث نظام التشغيل — استدعاءات النظام، نشاط العملية والشبكة، عمليات الملفات — على مستوى النواة بدون حمل إضافي، ثم تطبق مكتبة من السلوكيات التوقيعات للكشف عن النشاط المريب أو الضار في وقت التشغيل. تم بناؤها لأجهزة Linux والحاويات و Kubernetes، وهي ملحق قوي لـ Falco و Tetragon في مساحة أمان وقت التشغيل المستندة إلى eBPF.

المتطلبات

  • Linux kernel ≥ 5.4 (دعم BTF / CO-RE موصى به؛ معظم التوزيعات الحديثة)
  • Root / حاوية مميزة (eBPF يحتاج إلى قدرات مرفوعة)

التثبيت

الطريقةالأمر
Docker (الأسرع)docker run --name tracee -it --rm --pid=host --cgroupns=host --privileged -v /etc/os-release:/etc/os-release-host:ro aquasec/tracee:latest
Kubernetes (Helm)helm repo add aqua https://aquasecurity.github.io/helm-charts/ && helm install tracee aqua/tracee -n tracee --create-namespace
Binarydownload from GitHub Releases, run sudo ./tracee
التحققtracee version

الاستخدام الأساسي

الأمرالوصف
sudo traceeابدأ التتبع مع توقيعات الكشف الافتراضية
sudo tracee --output jsonإصدار الأحداث كـ JSON
sudo tracee --scope comm=nginxتتبع عملية معينة فقط
sudo tracee --events execve,openتتبع أحداث معينة
tracee --helpقائمة الخيارات الكاملة

اختيار الحدث (--events)

المحددالمطابقة
--events execveتنفيذات العملية
--events open,openatملف يفتح
--events net_packet_dnsحركة المرور DNS
--events security_file_openLSM file-open hook
--events 'fs'مجموعة حدث كاملة (نظام الملفات)
--events 'signatures'كشف التوقيع فقط
--events execve.args.pathname=/usr/bin/*تصفية حسب قيمة الحجة

تصفية النطاق (--scope)

المحددالمطابقة
--scope comm=bashحسب اسم الأمر
--scope pid=1234حسب PID
--scope containerأحداث الحاوية فقط
--scope container=newحاويات جديدة فقط
--scope uid=0نشاط Root
--scope pid=newالعمليات المنشأة حديثاً
--scope not-containerأحداث المضيف فقط

توقيعات الكشف

Tracee يأتي مع التوقيعات السلوكية (Go و Rego) التي تعلم تقنيات الهجوم المعروفة.

مثال الكشفالتقنية
Anti-debuggingتجنب عبر ptrace
Dynamic code loadingتحميل حمولة مقيمة في الذاكرة
LD_PRELOADحقن المكتبة
Privilege escalationتصعيد امتيازات setuid/capability
Container escapeوصول Namespace/host
Kernel module loadingتثبيت Rootkit
الأمرالوصف
sudo tracee --events signaturesتشغيل توقيعات الكشف فقط
--rego- flagsتحميل توقيعات Rego المخصصة
--signatures-dir DIRتحميل التوقيعات من دليل

الإخراج والالتقاط

الخيارالوصف
--output jsonأحداث JSON (توجيه إلى SIEM)
--output tableجدول يمكن للإنسان قراءته
--output gotemplate=FILE.tmplإخراج مخصص بقالب
--capture execالتقط الملفات الثنائية المنفذة إلى القرص
--capture memالتقط مناطق الذاكرة (التحقيق)
--capture netالتقط حركة المرور على الشبكة لكل حدث
--output forward:tcp://host:portإعادة توجيه الأحداث إلى مجمع

سير العمل المشتركة

# شاهد نشاط الحاوية فقط، JSON لـ SIEM
sudo tracee --scope container --output json | tee tracee-events.json

# اكتشف التهديدات فقط (التوقيعات)، جدول الإخراج
sudo tracee --events signatures --output table

# فحص عملية معينة والتقط الملفات الثنائية المنفذة
sudo tracee --scope comm=suspicious --capture exec

# الخروج DNS الذي تقوم به الحاويات الجديدة (صيد التسرب)
sudo tracee --scope container=new --events net_packet_dns

Tracee مقابل Falco مقابل Tetragon

الجانبTraceeFalcoTetragon
محركeBPF (Aqua)eBPF (CNCF)eBPF (Cilium)
التركيزالتحقيق والكشف والالتقاطالتنبيه/الكشفملاحظة + إنفاذ في النواة
الإنفاذالتركيز على الكشفالكشفنعم (قتل/تجاوز)
التقاط الحوادثقوي (exec/mem/net)محدودتركيز الحدث
الأفضل لـالتحقيق من التهديدات والالتقاطمكتبة قواعد ناضجةالوقاية + الرؤية العميقة

الموارد