كيف يمكنني التحقيق في السبب الجذري لحدث ما؟
هناك ثلاث لبنات أساسية للتحليل متاحة لك أثناء التحقيق في تنبيه ما.
من المرجح حاليًا أن يقوم المهاجم بتنفيذ مجموعة متنوعة من الأنشطة على النظام، باستخدام مزيج من تقنيات العمل داخل الذاكرة واختطاف العمليات (الحقن أو التفريغ)، أكثر من تشغيل برنامج "hacker.exe" واضح.
تحليلات الذاكرة
اللبنة الأولى موجودة في صفحة الاستجابة أو الحادث نفسها. تتتبع تحليلات الذاكرة سلوكيات العملية في الذاكرة أثناء الفحص المستمر لسلوكيات الابتزاز المحتملة للبيانات (السرقة أو التشفير).
حالة الذاكرة التي تشير إلى احتمال العبث بها تكون عادةً دليلاً على وجود مشكلة.
ليست دائمًا خبيثة في حد ذاتها، حيث يمكن أن تؤدي ممارسات البرمجة السيئة أو أخطاء البرمجيات أيضًا إلى العبث بحالة الذاكرة لبرنامج قيد التشغيل.
هنا نرى حالة تُظهر فيها عملية Adobe Acrobat سلوكيات محتملة لابتزاز البيانات بعد فتح ملف PDF تم تنزيله، ونرى أن ذاكرة عملية Acrobat قد تم تعديلها. لم يتأثر ملف Acrobat.exe الموجود على القرص بأي شكل من الأشكال.
من المرجح أن يشير التحليل الجنائي للذاكرة المرتبطة بعملية Acrobat.exe المعلقة إلى وجود مشكلة تستدعي القلق - ربما استغلال قيد الاستخدام، إن لم يكن حقن عملية أو تفريغ عملية.
بالنسبة لاستجابات الابتزاز التي تكون فيها قيمة "الذاكرة المعدَّلة" صحيحة (True)، توجد أيقونة تنزيل في عمود تحليل السبب الجذري لتنزيل ملف اختلاف الذاكرة (Memory Diff) الخاص بالاستجابة:
ملف اختلاف الذاكرة (Memory Diff File) هو الشيفرة المصدرية المُجمَّعة لما تم حقنه في البرنامج. من المحتمل أن يحتوي على برمجيات خبيثة و/أو شيفرة استغلال، ليقوم محلل برمجيات خبيثة أو محلل أمني بفحصها. لاحظ أن هذا الملف لا يحتوي على البرنامج بأكمله، بل فقط الجزء الذي تم تعديله من خلال استغلال أو تقنية هجوم مثل حقن العمليات. تعرّف على المزيد حول هذا الملف هنا.
تحليلات حقن العمليات
المؤشر الأول على احتمال وجود حدث حقن عملية ذي صلة باستجابة تلقائية هو عمود "الخيوط البعيدة غير الموثوقة" (Untrusted Remote Threads) الخاص بالحادث/الاستجابة. يشير هذا إلى أن التحليل السلوكي على مستوى النواة (kernel) كشف عن ملاحظة خيط بعيد غير موثوق مع عملية تقوم بسلوك سرقة بيانات أو سلوك شبيه ببرامج الفدية.
يمكن إجراء المزيد من التحقيق في صفحة حقن العمليات. تُعد قراءة "صحيح" (True) في عمود الخيوط البعيدة غير الموثوقة مؤشرًا جيدًا على ما إذا كان ينبغي التوجه إلى هناك.
يحتوي عمود تحليل السبب الجذري أيضًا على أيقونة لإعادة توجيهك تلقائيًا إلى صفحة الحقن لعرض عمليات الحقن ذات الصلة بالاستجابة فقط
بعد النقر على أيقونة الحقن، سيتم نقلك إلى صفحة حقن العمليات حيث سترى فقط عمليات الحقن ذات الصلة بالاستجابة:
هنا في صفحة أحداث حقن العمليات، نرى مسار عملية الحاقن والمعاملات المستخدمة، ومسار العملية المحقونة والمعاملات المستخدمة. عادةً ما تلعب المعاملات دورًا مهمًا جدًا في تحليلات الذاكرة، أو تشير، على سبيل المثال، إلى أوامر PowerShell التي يجب تشغيلها. كما تتوفر معرّفات العمليات (Process IDs) للمساعدة في تتبع عمليات الحقن المتكررة التي تتم أثناء انتقال المهاجم من عملية إلى أخرى، أو للبحث عن تحليل السبب الجذري في صفحة إنشاء العمليات.
كيف عرفنا أن rundll32.exe كان في الحقيقة بائع برنامج مكافحة فيروسات؟ تابع القراءة!
تحليلات إنشاء العمليات
من النادر جدًا أن يستخدم المهاجم عملية واحدة فقط أثناء هجومه. قد لا يعلم حتى أن الأدوات التي يستخدمها تولّد عمليات جديدة، وتستخدم أدوات إدارية متنوعة على النظام المصاب.
تتتبع صفحة إنشاء العمليات جميع العمليات التي تفتح عمليات أخرى (أو نفس العملية)، والمعاملات المستخدمة، ومعرّفات العمليات (Pids) لكل مصدر ووجهة.
يتم تنفيذ ذلك على مستوى النواة (kernel)، مما يعني أنه لا يفوتنا شيء.
ملاحظة: تحتوي بيانات القياس عن بُعد (telemetry) من Microsoft على بعض هذه البيانات، ولكن ليس كلها. اخترنا عدم استخدام مصدر البيانات هذا، لأننا لاحظنا أن مصدر القياس عن بُعد هذا قد فوّت أحداثًا مهمة في بعض الحالات، أو تم إيقافه من قِبل المهاجمين أثناء الهجوم.
ما مدى جودة رؤيتنا؟
تجميع كل ذلك معًا - تحقيق شامل من البداية إلى النهاية
ما مدى جودة رؤيتنا، وما مدى سرعة تنفيذك لتحليل السبب الجذري؟ اطّلع على هذا المثال - حيث لوحظ أن برنامج مكافحة فيروسات، يتمتع بحجة قوية بأنه يمتلك بعضًا من أعلى الصلاحيات على النظام، يحاول حقن شيفرة في برنامج Cyber Crucible الخاص بنا. نأمل أن يكون ذلك بغرض فحص برنامجنا، لكننا مع ذلك ندخل في وضع الحماية الذاتية (وبالتالي، تسبب ذلك في رفض برنامجنا لعبث برنامج مكافحة الفيروسات... لا توجد أبواب خلفية تسمح للأطراف الخارجية بالوصول لتعديل برنامجنا أو استخدامه).
إذن، لنبدأ من هنا، مع استجابة تلقائية:
من الواضح أن Cyber Crucible ليس برنامج فدية. نرى هنا محاولة حقن عملية تتضمن سلوك خيط بعيد مشبوهًا، إلى جانب سلوكيات شبيهة بابتزاز البيانات.
حسنًا - لنلقِ نظرة على ما يجري في أحداث حقن العمليات بالنقر على أيقونة الحقن. بعد 5 ثوانٍ - حصلنا على إجابتنا!
ولكن مهلاً - rundll؟ أليس ذلك مخترقًا؟ بالتأكيد، ليس برنامج hacker.exe. لنقم ببعض التصفية، للحصول على إجابتنا في صفحة إنشاء العمليات. لا تتوفر لدينا لقطة شاشة هنا، لكن معرّفات العمليات متاحة لجميع الاستجابات وعمليات الحقن. لنعد إلى صفحة الاستجابات، وننقر على أيقونة إنشاء العمليات لتنقلنا إلى صفحة إنشاء العمليات وتصفية الشبكة تلقائيًا لعرض عمليات الإنشاء ذات الصلة بهذه الاستجابة.
بسرعة وسهولة، نرى الآن أن "الجذر" (بدون قصد التورية) كان WebRoot، وهو بائع برامج مكافحة فيروسات، قد أطلق عملية rundll32.exe لتحميل إحدى مكتبات WebRoot الديناميكية (DLL)، والتي حاولت بعد ذلك القيام بشيء ما مع برنامج Cyber Crucible، لإجباره على المرور عبر الملفات مثل أداة سرقة البيانات.
لماذا اخترنا عرض هذا المثال؟
لدينا أمثلة وفيرة على أساليب المهاجمين، بمستويات متفاوتة من الكفاءة من جانب المهاجمين. تحصل برامج مكافحة الفيروسات على مستوى من الصلاحيات على النظام يتطلب مستوى عاليًا جدًا من المهارة والتقنية والتحضير من قِبل المهاجمين. إن اكتشاف Cyber Crucible لسلوكيات "شبيهة بالمخترقين" من أداة أمنية سائدة، ثم إيقافها تلقائيًا، يُظهر بعضًا من أعلى مستويات التميز الهندسي والأمني من جانبنا، دون الضياع في تفاصيل عمليات الاستغلال الفردية أو أساليب المهاجمين.