
يوثّق منهجية منظمة وقابلة للتكرار لاصطياد التهديدات، تغطي المحفزات، وفرضيات SMART، وبوابات الجدوى، وتحديد النطاق، وخطط الاصطياد، وإعداد تقارير النتائج لفرق الأمن.
بصفتي كبير صيّادي التهديدات، أُوكلت إليّ مهمة بناء برنامج لاصطياد التهديدات من الصفر. تضمّن ذلك الكثير من التفكير في ماهية اصطياد التهديدات فعليًا وكيفية ترجمته إلى نتائج ذات معنى. استُهلكت ساعات عديدة في قراءة منهجيات متنوعة حول اصطياد التهديدات، وهندسة الكشف، واستخبارات التهديدات السيبرانية (CTI)، والتحليل الجنائي، وحتى خبرتي من فترة خدمتي في القوات الجوية الأمريكية. ومع ذلك، ومن خلال بناء البرنامج، أدركت أنني بحاجة إلى عملية واحدة، ألا وهي عملية موحّدة لاصطياد التهديدات. طوّرت هذه العملية لتوفير طريقة منظّمة ومحدّدة للاصطياد، وفي نهاية المطاف لتحقيق نتائج ذات معنى للمؤسسة.
graph LR
Z[Step 0: Environment Context] --> A[Triggering Event]
A --> B[Hypothesis Development]
B --> C[Initial Assessment]
C --> D[Feasibility Assessment]
D --> E[Define Scope & Objectives]
E --> F[Formalize Hunt Plan]
F --> G[Execute Hunt]
G --> H[Document Outcomes]
H --> I[Report & Iterate]
I --> A
البحث عن التهديدات هو البحث الاستباقي عن التهديدات التي تجاوزت ضوابطك. هذا التعريف مستقر؛ لكن كيفية تشغيله كبرنامج ليست كذلك. هذه العملية هي توليفة، والجدول هو المحاسبة الصادقة لها:
| المصدر | ما يساهم به هنا |
|---|---|
| Sqrrl / نموذج نضج البحث (Bianco) | الحلقة الأساسية وسلّم النضج المستخدم في النضج والمقاييس |
| TaHiTI | المُحفِّز كنقطة البداية الحقيقية، والتسليم إلى العمليات المجاورة عند الإغلاق |
| PEAK | تصنيف البحث (فرضية / خط أساس / بمساعدة النموذج) والإغلاق الموجّه نحو النتائج "التصرف بالمعرفة" |
| AIMOD2 | فرضية الاختراق المفترض وفئات النتائج المصنّفة |
| OTHF | التأطير التشغيلي لتشغيل عمليات البحث كوظيفة فريق قابلة للتكرار |
| تضيف هذه العملية | الخطوة 0 سياق البيئة · بوابة جدوى صارمة GO / NO-GO / CONDITIONAL · Jira Epic/Story/Task مع نتائج مصنّفة · فرضية محكومة بمعيار تقييم وتسليم كشف محدد |
العوامل المميزة هي الصف الأخير. كل ما عدا ذلك يستند إلى عمل الآخرين، مُوثَّق في المراجع.
هناك طرق متنوعة موصوفة لإجراء عمليات البحث: منظمة، غير منظمة، مركّزة على TTP، مركّزة على الاستخبارات، مدفوعة بالبيانات، وما إلى ذلك. في حين أن عملية البحث الموحّد عن التهديدات هذه قد تبدو منظمة، فإن ذلك لا يعني أن فرضيتك لا يمكن أن تكون مدفوعة بالبيانات بطريقة غير منظمة. تهدف هذه العملية إلى دمج أنواع مختلفة من البحث عن التهديدات، مما يسمح بنهج معياري. سنستخدم كل هذه التقنيات لضمان اختبار فرضيتنا بدقة.
الهدف هو نهج معياري للبحث عن التهديدات حيث لا يوجد مقاس واحد يناسب الجميع. استخدم كل التقنيات المتاحة لديك.
عمليًا، يعتمد نوع البحث الذي تختاره على نقطة البداية في سلسلة DAIKI (بيانات → معلومات → معرفة → بصيرة):
| نوع البحث | نقطة البداية | الخصائص |
|---|---|---|
| استكشافي (EDA) | بيانات خام | إنشاء خط أساس، فهم شكل البيانات، لا فرضية مسبقة |
| قائم على الفرضية (HBO) | الوعي الظرفي | اختبار سيناريوهات هجوم موثوقة بناءً على معرفة الفريق |
| مُستنير بالتهديدات (TIO) | CTI قابل للتنفيذ | مدفوع بالاستخبارات، تركيز على فاعل معروف أو TTP |
| العمليات البنفسجية (DPO) | بصيرة الفريق الأحمر | تحقق هجومي/دفاعي مشترك |
باتباع مبادئ علم البيانات، بغض النظر عن نوع البحث، يجب أن تهدف إلى استكشاف وفهم مصادر البيانات ذات الصلة ببحثك. يحتوي مجلد /Data_Analysis في هذا المستودع على تقنيات داعمة ودفاتر ملاحظات لمرحلة الاستكشاف تلك.
بالإضافة إلى ذلك، استخبارات التهديدات، سواء كانت نقطة بداية أم لا، متجذّرة في العملية بأكملها للمساعدة في توجيه العمليات.استخبارات التهديدات
ملاحظة: في حين أنك عادةً تريد التركيز على السلوكيات أو TTPs، فإن IoCs لها مزاياها إذا كانت قابلة للتنفيذ حقًا وفي الوقت المناسب. في حين أن البحث عن IoCs عبر بيئة ما ليس حقًا بحثًا عن التهديدات، إلا أنها لا تزال قادرة على تقديم معلومات مفيدة ونقطة بداية أخرى. يمكن أن تكون جزءًا من دورة البحث، ولكن ليس البحث بأكمله.
قبل بدء أي بحث، وثّق البيئة بحيث تكون كل مخرجات لاحقة (الاستعلامات، أسماء الحقول، قرارات تحديد النطاق) مصممة خصيصًا للمكان الذي تعمل فيه فعليًا بدلاً من كتابتها بشكل عام. أضفت هذه كخطوة صريحة لأنني ظللت أرى خطط بحث تشير إلى مصادر بيانات لا يملكها أحد، أو استعلامات مكتوبة بلهجة خاطئة تمامًا. بضع دقائق هنا توفر ساعات لاحقًا.
كحد أدنى، وثّق:
| السياق | لماذا يهم |
|---|---|
| SIEM / منصة البيانات | Splunk SPL وKQL وElastic DSL وChronicle كل منها يشكّل كل استعلام تكتبه |
| منصة EDR | CrowdStrike وSentinelOne وDefender for Endpoint كل منها يستخدم أسماء حقول قياس عن بُعد مختلفة |
| نوع البيئة | محلي، سحابي أصلي (AWS/Azure/GCP)، أو هجين يغيّر السجلات الموجودة أصلاً |
| القطاع الصناعي | يحدد فاعلي التهديدات ذوي الصلة الواقعية |
| نوافذ الاحتفاظ بالسجلات | يحدد النطاقات الزمنية القابلة للاستعلام فعليًا |
| مستوى نضج البحث | الباحثون لأول مرة يحتاجون إلى سقالات؛ الفرق ذات الخبرة تريد هيكلاً |
وثّق هذا ككتلة Environment Profile في أعلى الـ Epic. إذا كنت تتحرك بسرعة، فالحد الأدنى المطلق هو منصة SIEM ونوع البيئة، أي شيء أقل وستكون استعلاماتك عامة.
هل تبحث عبر مؤسسات متعددة؟ (MSSP/MDR، الشركات التابعة الفيدرالية، أو منصة SIEM مشتركة.) احتفظ بملف تعريف واحد لكل مستأجر في سجل
tenants/<id>/profile.yamlواجعل كل Epic يشير إلىtenant: <id>بدلاً من تضمين الملف الشخصي. قبل الجدوى، تحقق من التفويض: مستأجر بدون تغطية RoE/عقد، أو إجراء مخطط خارجallowed_actionsالخاصة به، هو NOT AUTHORIZED ويتوقف هناك. يمكن لفرق المؤسسة الواحدة تخطي هذا. انظر التشغيل متعدد المستأجرين.
باستعارة من إطار عمل TaHiTI، يبدأ البحث عن التهديدات بحدث مُحفِّز. تبرر هذه الأحداث بدء البحث. وفقًا لـ TaHiTI، يمكن أن تشمل المُحفِّزات:
بالنسبة لمؤسستنا، نستخدم هذه إلى جانب بعض المُحفِّزات الإضافية مثل المتطلبات المباشرة من أصحاب المصلحة وإفصاحات الثغرات التي تؤثر على البيئة.
تبدأ بعض الأطر البحث عن التهديدات بـ الفرضية الأولية (الخطوة 2 هنا)، لكنني أسأل: كيف توصلت إلى تلك الفرضية في المقام الأول؟
من المحتمل أن يكون هناك حدث مُحفِّز يؤدي إلى الفرضية الأولية. تمامًا كما شاهد إسحاق نيوتن تفاحة تسقط قبل أن يتساءل ما القوة التي جذبتها للأسفل، كانت تلك التفاحة هي الحدث المُحفِّز الذي أدى إلى فرضية حول الجاذبية. وبالمثل، يجب أن يكون لدينا مُحفِّز قبل أن نصل حتى إلى فرضية.
مُحفِّزات البحث (المصدر: Targeted Hunting Integrating Threat Intelligence (TaHiTI))
التالي، وربما الخطوة الأكثر أهمية، هو بناء فرضية البحث. هذه الخطوة، رغم أنها حاسمة، يمكن أن تكون أيضًا الأكثر غموضًا. يمكن لفرضيتك إما أن تقودك إلى الذهب أو إلى جحر أرنب لا ينتهي.
من مبادئ علم البيانات، فرضيتك تتعلق بإنشاء عبارات قابلة للاختبار لتوجيه تحليلك. ليس ذلك فحسب، بل يجب أن تهدف إلى جعل فرضيتك SMART:
قالب مفيد:
نفترض أن [فاعل التهديد / التقنية / السلوك] قد يكون موجودًا في بيئتنا، بدليل [المؤشرات القابلة للملاحظة] في [مصادر البيانات]، والتي يمكننا التحقق منها بواسطة [منهجية الاختبار] خلال [الإطار الزمني].