
بيانات من تمرين محاكاة الخصم الآلي لـ BRAWL
من المشكلات الصعبة التي تواجه باحثي الأمن السيبراني عند تطوير قدرات الكشف والاستجابة، إيجاد بيئة واقعية لاختبار فرضياتهم وقدراتهم.
أرخص طريقة هي اختبار القدرات على شبكة مختبر صغيرة. لكن هذه البيئة تفتقر إلى حجم شبكة المؤسسات الحقيقية والضوضاء البيئية الحقيقية التي تجعل الكشف أصعب بكثير. من نواحٍ عديدة، أفضل بيئة هي الاختبار على شبكات متعددة على نطاق مؤسسي مع مهاجم مسيطر عليه ولكن واقعي وضوضاء حقيقية من المستخدمين، ومسؤولي النظام، والبرامج/الأجهزة التابعة لجهات خارجية. التحدي في الاختبار في هذه البيئة هو أنها مكلفة وفي بعض السيناريوهات عالية المخاطر.
يسعى BRAWL إلى إنشاء حل وسط من خلال إنشاء نظام يقوم تلقائياً بإنشاء شبكة مؤسسية داخل بيئة سحابية. OpenStack هي البيئة الوحيدة المدعومة حالياً، ولكنها تُصمم بطريقة تتيح دعم بيئات سحابية أخرى بسهولة في المستقبل. يقوم BRAWL أيضاً ببناء شبكة تحليل تحتوي على خط أنابيب استيعاب ومعالجة بيانات باستخدام LogStash و Kafka. وكجزء من شبكة التحليل، يقوم بإنشاء نظام تخزين وبحث للأحداث باستخدام Elasticsearch و Kibana. يقوم BRAWL بتشغيل شبكة مؤسسية "Game Board" تحتوي على صور Windows. هذه الصور تحتوي على Microsoft Sysmon وأجهزة استشعار أخرى مثبتة ومكونة مسبقاً لإعادة توجيه السجلات إلى إطار استيعاب البيانات.
لدى BRAWL أيضاً مفهوم الروبوتات (bots)، والتي يمكن أن تكون حمراء أو زرقاء أو رمادية. الروبوتات الحمراء هجومية، والروبوتات الزرقاء دفاعية، والروبوتات الرمادية تحاكي سلوك المستخدم الشرعي لتوفير ضوضاء تجعل الكشف أكثر صعوبة. عندما يريد المستخدم اختبار فرضيات بحثية، يقوم بتنفيذ روبوت BRAWL. يقوم روبوت BRAWL بتسجيل نفسه مع وحدة التحكم BRAWL Controller، والتي تقوم بعد ذلك بتنسيق ألعاب بين روبوتات BRAWL على Game Board.
ملاحظة: نظراً لمشاكل في أحجام الملفات وحصص GitHub، نقوم بوضع جميع الملفات في ملف zip بدلاً من تركها كنص عادي في مستودع git. جميع البيانات موجودة في الملف
يتكون هذا الإصدار من بعض البيانات من نموذج BRAWL الأولي. قمنا بإنشاء شبكة مؤسسية صغيرة، موصوفة أدناه. ثم قمنا بتشغيل لعبة واحدة باستخدام مشروع أبحاث MITRE CALDERA كروبوت أحمر.
CALDERA هو مشروع أبحاث تابع لـ MITRE يقوم بأتمتة نشاط محاكاة الخصم بناءً على المعلومات الواردة في نموذج التكتيكات الخصمية والتقنيات والمعرفة المشتركة (ATT&CK). يقوم بتنفيذ مجموعة من تكتيكات وتقنيات ATT&CK ويستخدم نظام تخطيط (https://dl.acm.org/citation.cfm?id=2991111) لأتمتة تفعيل هذه التقنيات وتوليد سلوك خصم بعد الاختراق داخل شبكة مؤسسية.
تم إصدار هذه البيانات بموجب ترخيص Creative Commons BY
شبكتنا المؤسسية الصغيرة هي شبكة مسطحة تتكون من وحدة تحكم بالمجال (dc.brawlco.com) و 16 محطة عمل. كل جهاز كمبيوتر يحمل اسم المستخدم الأساسي في اسم الجهاز (مثل المستخدم beane عادة ما يسجل الدخول إلى beane-pc). هذا المستخدم لديه صلاحيات مسؤول محلي على الكمبيوتر.
جميع أجهزة الكمبيوتر تعمل بنظام Windows 8.1. وحدة تحكم المجال تعمل بنظام Windows Server 2012 R2.
على أجهزة Windows 8، قمنا بإجراء تغييرات لتفعيل WDigest للاحتفاظ بكلمات المرور النصية العادية في ذاكرة LSASS باستخدام الأمر التالي في السجل: reg ADD HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest\ /v UseLogonCredential /t REG_DWORD /d 1 /F
لهذا التمرين، كان CALDERA هو روبوت BRAWL الوحيد المشارك. بينما من الناحية المفاهيمية يمكن استخدام BRAWL لاختبار مجموعة متنوعة من سلوكيات المهاجم والكشف، فإن العديد من جهود MITR البحثية تتبع فلسفة "افتراض الاختراق". لذلك نعطي CALDERA نقطة بداية كمسؤول محلي على جهاز على الشبكة في بداية التمرين.
أيضاً، بدون وجود روبوت رمادي يقوم بتسجيل الدخول عبر مضيفين مختلفين، فإن Game Board الخاصة بـ BRAWL تكون عقيمة من منظور بيانات الاعتماد التي يمكن سرقتها واستخدامها من قبل الروبوتات الحمراء. لتمكين الحركة الجانبية، تستخدم وحدة التحكم BRAWL Controller psexec لإنشاء أحداث تسجيل دخول على المضيفين باستخدام بيانات اعتماد مستخدمين آخرين من الشبكة.
قام CALDERA بأداء تقنيات ATT&CK التالية أثناء التمرين:
هناك خمسة أنواع من البيانات في هذا المستودع. كل نوع موجود في ملفه الخاص داخل مجلد data/.
| نوع البيانات | الوصف |
|---|---|
| game_metadata | بيانات تصف سيناريو BRAWL |
| sysmon | بيانات تم جمعها من Sysmon الذي يعمل على كل محطة عمل |
| win_event | سجلات أحداث Windows |
| computer_properties | بيانات تم جمعها من نصوص برمجية مخصصة توفر بعض المعلومات عن أجهزة الكمبيوتر في الشبكة |
| bsf | إجراءات الروبوت الأحمر بتنسيق BRAWL المشترك (BSF) |
يتم تشجيع الروبوتات الحمراء والزرقاء على تسجيل معلومات حول أنشطتهم أو اكتشافاتهم بتنسيق BRAWL المشترك (BSF). الهدف من ذلك هو تسهيل مقارنة اكتشافات/إجراءات الروبوت الأزرق مع إجراءات الروبوت الأحمر.
التنسيق قيد التطوير حالياً وقد يتغير في مجموعات البيانات المستقبلية.
يتم وصف حقول BSF أدناه في قسم تفاصيل مصادر البيانات.
مصادر الأحداث المختلفة في BRAWL تتعامل مع الوقت بشكل مختلف. الوقت إما هو الوقت الذي وصل فيه الحدث إلى إطار استيعاب السجلات لدينا، أو الوقت الذي تم إنشاء الحدث فيه على المضيف/نقطة النهاية، أو الوقت المسجل بواسطة روبوت على الشبكة. بشكل عام، يجب أن تكون هذه الأوقات ضمن بضعة أجزاء من الألف من الثانية عن بعضها البعض. عندما يكون ذلك ممكناً، يستخدم إطار استيعاب السجلات وقت الحدث المخزن في الحدث بدلاً من وقت وصول الحدث إلى عقد الاستيعاب. يوضح الجدول أدناه الطريقة المستخدمة لكل نوع بيانات.
| مصدر البيانات | ملاحظات الوقت |
|---|---|
| computer_properties | من حقل time |
| game_metadata | وقت وصوله إلى إطار الاستيعاب |
| sysmon | من حقل utc_time |
| win_event | مسحوب من وقت حدث Windows |
| bsf | حقل @timestamp هو وقت وصوله إلى إطار الاستيعاب. لكن حقول BSF المتعلقة بالوقت (مثل happened_after، happened_before، إلخ) هي أوقات بداية أو نهاية الأحداث بناءً على الوقت على خادم التحكم والقيادة الخاص بـ CALDERA. |
| اسم الحقل | الوصف |
|---|---|
| @timestamp | الوقت المتعلق بالحدث. راجع الملاحظة أعلاه حول الوقت. |
| @uuid | معرف الحدث الفريد |
| game_id | معرف اللعبة الفريد لهذا التمرين. |
| type | نوع الحدث. دائماً game_metadata لهذه السجلات |
| hosts | قائمة بالمضيفين الذين كانوا جزءاً من التمرين و"داخل الحدود" للروبوت الأحمر |
| randomization_seed | بذرة يمكن استخدامها من قبل المشاركين في روبوت BRAWL لتنفيذ سلوك "عشوائي" يكون هو نفسه عبر عمليات تنفيذ BRAWL المختلفة |
| starting_host | المضيف الذي يبدأ منه الروبوت الأحمر. |