
msticpy v3.0.2
مايكروسوفت أدوات الأمن الاستخباراتية للتهديدات
أدوات أمن MSTIC لـ Jupyter و Python
أدوات أمن استخبارات التهديدات من مايكروسوفت لـ Python.
msticpy هي مكتبة للتحقيق في مجال أمن المعلومات والصيد في دفاتر Jupyter. تتضمن وظائف لـ:
- الاستعلام عن بيانات السجلات من مصادر متعددة
- إثراء البيانات باستخبارات التهديدات والمواقع الجغرافية وبيانات موارد Azure
- استخراج مؤشرات النشاط (IoA) من السجلات وفك تشفير البيانات المشفرة
- إجراء تحليلات متطورة مثل اكتشاف الجلسات الشاذة وتحليل السلاسل الزمنية
- تصور البيانات باستخدام الجداول الزمنية التفاعلية وأشجار العمليات ومخططات Morph متعددة الأبعاد
كما يتضمن أدوات دفاتر موفرة للوقت مثل عناصر واجهة لتحديد حدود وقت الاستعلام، واختيار وعرض العناصر من القوائم، وتكوين بيئة الدفتر.

تم تطوير حزمة msticpy في البداية لدعم إنشاء دفاتر Jupyter لـ Microsoft Sentinel. على الرغم من أن Azure Sentinel لا يزال محورًا كبيرًا لعملنا، إلا أننا نقوم بتوسيع مكونات الاستعلام/الحصول على البيانات لسحب بيانات السجلات من مصادر أخرى (حاليًا يتم دعم Splunk و Microsoft Defender for Endpoint و Microsoft Graph، ولكننا نعمل بنشاط على دعم البيانات من منصات SIEM أخرى). يمكن استخدام معظم المكونات أيضًا مع بيانات من أي مصدر. تُستخدم إطارات بيانات Pandas كتنسيق إدخال وإخراج عالمي لجميع المكونات تقريبًا. يوجد أيضًا موفر بيانات لتسهيل معالجة البيانات من ملفات CSV المحلية وإطارات بيانات المخللات (pickled).
تتناول الحزمة ثلاثة احتياجات مركزية للمحققين والصيادين في مجال الأمن:
- الحصول على البيانات وإثرائها
- تحليل البيانات
- تصور البيانات
نرحب بالملاحظات وتقارير الأخطاء والاقتراحات للميزات الجديدة والمساهمات.
التثبيت
للتثبيت الأساسي:
pip install msticpy
أو لأحدث إصدار تطويري:
pip install git+https://github.com/microsoft/msticpy
الترقية
لترقية msticpy إلى أحدث إصدار عام غير تجريبي، قم بتشغيل:
pip install --upgrade msticpy
ملاحظة: من الجيد نسخ ملف msticpyconfig.yaml وتخزينه على القرص الخاص بك ولكن خارج مجلد msticpy، مع الإشارة إليه في متغير بيئة. هذا يمنع فقدان إعداداتك في كل مرة تقوم فيها بتحديث تثبيت msticpy.
التوثيق
التوثيق الكامل على ReadTheDocs
دفاتر العينات للعديد من الوحدات موجودة في مجلد docs/notebooks والدفاتر المصاحبة.
يمكنك أيضًا تصفح دفاتر العينات المشار إليها في نهاية هذا المستند لرؤية بعض الوظائف المستخدمة في السياق. يمكنك تجربة بعض وظائف الحزمة في هذا العرض التفاعلي على mybinder.org.
الحصول على بيانات السجلات
QueryProvider هي مكتبة استعلامات قابلة للتوسع تستهدف Microsoft Sentinel/Log Analytics، Microsoft XDR، Splunk، OData ومصادر بيانات السجلات الأخرى. كما أنها تدعم بشكل خاص مجموعات بيانات Mordor واستخدام البيانات المحلية.
تتيح الاستعلامات المضمنة ذات المعلمات تشغيل استعلامات معقدة من استدعاء دالة واحدة. أضف استعلاماتك الخاصة باستخدام مخطط YAML بسيط.
إثراء البيانات
موفرو استخبارات التهديدات
يمكن لفئة TILookup البحث عن مؤشرات الاختراق (IoCs) عبر عدة موفري TI. يشمل الموفّرون المدمجون AlienVault OTX و IBM XForce و VirusTotal و Azure Sentinel.
يمكن أن يكون الإدخال مؤشر اختراق واحد (IoC observable) أو إطار بيانات pandas يحتوي على عدة مؤشرات. اعتمادًا على الموفّر، قد تحتاج إلى حساب ومفتاح API. يفرض بعض الموفّرين أيضًا تقييدًا (خاصة للطبقات المجانية)، مما قد يؤثر على أداء عمليات البحث الجماعية.
موفرو TI و دفتر استخدام TILookup
بيانات الموقع الجغرافي
تتيح لك فئات البحث GeoIP مطابقة المواقع الجغرافية لعناوين IP باستخدام إما:
- GeoLiteLookup - Maxmind Geolite (انظر https://www.maxmind.com)
- IPStackLookup - IPStack (انظر https://ipstack.com)

بيانات موارد Azure والتخزين وواجهة برمجة تطبيقات Azure Sentinel
يحتوي وحدة AzureData على وظائف لإثراء البيانات المتعلقة بتفاصيل مضيف Azure بتفاصيل مضيف إضافية مكشوفة عبر واجهة برمجة تطبيقات Azure. تتيح لك وحدة AzureSentinel الاستعلام عن الحوادث واسترداد استعلامات الكشف والصيد. يتيح لك AzureBlogStorage قراءة وكتابة البيانات من تخزين الكائنات الثنائية (blob storage).
واجهات برمجة تطبيقات موارد Azure، واجهات برمجة تطبيقات Azure Sentinel، تخزين Azure
تحليل الأمن
تحتوي هذه الحزمة الفرعية على عدة وحدات مفيدة للعمل في التحقيقات الأمنية والصيد:
اكتشاف التسلسل الشاذ
اكتشف التسلسلات غير العادية للأحداث في بيانات Office أو Active Directory أو أي بيانات سجلات أخرى. يمكنك استخراج الجلسات (مثل النشاط الذي بدأه نفس الحساب) وتحديد وتصور التسلسلات غير العادية للنشاط. على سبيل المثال، اكتشاف مهاجم يقوم بتعيين قاعدة إعادة توجيه البريد على صندوق بريد شخص ما.
الجلسات الشاذة و دفتر التسلسل الشاذ
تحليل السلاسل الزمنية
يتيح لك تحليل السلاسل الزمنية تحديد الأنماط غير العادية في بيانات السجلات الخاصة بك مع مراعاة التغيرات الموسمية العادية (مثل المد والجزر المنتظم للأحداث على مدار ساعات اليوم، أيام الأسبوع، إلخ). باستخدام كل من التحليل والتصور، يتم إبراز تدفقات حركة المرور غير العادية أو نشاط الأحداث لأي مجموعة بيانات.

التصور
الجداول الزمنية للأحداث
اعرض أي أحداث سجلات على جدول زمني تفاعلي. باستخدام مكتبة تصور Bokeh يتيح لك عنصر التحكم في الجدول الزمني تصور تيار واحد أو أكثر من الأحداث، والتكبير/التصغير بشكل تفاعلي في فترات زمنية محددة وعرض تفاصيل الأحداث للأحداث المرسومة.

الجدول الزمني و دفتر الجدول الزمني
أشجار العمليات
وظيفة شجرة العمليات لها مكونان رئيسيان:
- إنشاء شجرة العمليات - أخذ سجل إنشاء عملية من مضيف وبناء علاقات الأب والابن بين العمليات في مجموعة البيانات.
- تصور شجرة العمليات - يأخذ هذا المخرجات المعالجة ويعرض شجرة عمليات تفاعلية باستخدام رسومات Bokeh.
هناك مجموعة من الوظائف المساعدة لاستخراج الأشجار الفردية والجزئية من مجموعة البيانات المعالجة.

شجرة العمليات و دفتر شجرة العمليات
معالجة البيانات والوظائف المساعدة
وظائف المحور
يتيح لك استخدام وظائف MSTICPy بطريقة 'مرتكزة على الكيان'. يتم جمع جميع الوظائف والاستعلامات وعمليات البحث المتعلقة بنوع كيان معين (مثل المضيف وعنوان IP وعنوان URL) كطرق لفئة الكيان تلك. لذلك، إذا كنت تريد القيام بأشياء باستخدام عنوان IP، فقط قم بتحميل كيان IpAddress وتصفح طرقها.
وظائف المحور و دفتر وظائف المحور
فك تشفير base64
مستخرج base64 والأرشيف (gz, zip, tar). سيحاول التعرف على أي سلاسل مشفرة بـ base64 ومحاولة فك تشفيرها. إذا كانت النتيجة تبدو كأحد أنواع الأرشيف المدعومة، فسوف يقوم بفك محتوياتها. يتم إعادة فحص نتائج كل فك تشفير/فك ضغط لمزيد من محتوى base64 وحتى عمق محدد.
فك تشفير Base64 و دفتر فك تشفير Base64
استخراج مؤشرات الاختراق
يستخدم التعبيرات المنتظمة للبحث عن أنماط مؤشرات الاختراق (IoC) - عناوين IP، عناوين URL، نطاقات DNS، التجزئات (hashes)، مسارات الملفات. يمكن أن يكون الإدخال سلسلة واحدة أو إطار بيانات pandas.
استخراج مؤشرات الاختراق و دفتر استخراج مؤشرات الاختراق
تجميع الأحداث (تجريبي)
تهدف هذه الوحدة إلى تلخيص أعداد كبيرة من الأحداث في مجموعات من أنماط مختلفة. غالبًا ما تجعل الأحداث المتكررة عالية الحجم من الصعب رؤية العناصر الفريدة والمثيرة للاهتمام.

هذه وحدة تعلم غير خاضعة للإشراف تم تنفيذها باستخدام SciKit Learn DBScan.
تجميع الأحداث و دفتر تجميع الأحداث
استخراج سجلات التدقيق
وحدة لتحميل وفك تشفير سجلات تدقيق Linux. تقوم بدمج الرسائل التي تشارك نفس معرف الرسالة في أحداث فردية، وتفك تشفير حقول البيانات المشفرة بالنظام الست عشري وتقوم ببعض التنسيق والتطبيع الخاص بالأحداث (على سبيل المثال، لأحداث بدء العملية ستعيد تجميع وسائط سطر أوامر العملية في سلسلة واحدة).
أدوات syslog
وحدة لدعم التحقيق في مضيف Linux مع تمكين تسجيل syslog فقط. يتضمن ذلك وظائف لجمع بيانات المضيف، وتجميع أحداث تسجيل الدخول، واكتشاف جلسات المستخدم التي تحتوي على نشاط مشبوه.
سطر الأوامر
وحدة لدعم اكتشاف نشاط سطر أوامر ضار معروف أو أنماط مشبوهة من نشاط سطر الأوامر.
أدوات النطاق
وحدة لدعم التحقيق في أسماء النطاقات وعناوين URL مع وظائف للتحقق من صحة اسم النطاق والتقاط لقطة شاشة لعنوان URL.
عناصر واجهة الدفتر
تم بناؤها من مجموعة Jupyter ipywidgets وتجمع الوظائف الشائعة المفيدة في مهام أمن المعلومات مثل منتقي القوائم وإعدادات حدود وقت الاستعلام وعرض الأحداث في تنسيق سهل الاستخدام.


أمثلة على دفاتر MSTICPy
المزيد من الدفاتر على GitHub لدواتر Azure Sentinel
أمثلة على الدفاتر:
- جولة في ميزات MSTICPy
- مستكشف الحسابات
- مستكشف النطاقات وعناوين URL
- مستكشف IP
- مستكشف مضيف Linux
- مستكشف مضيف Windows
- بدء استخدام دفاتر Azure Sentinel
اعرض مباشرة على GitHub أو انسخ والصق الرابط في nbviewer.org
أمثلة على دفاتر مع بيانات محفوظة
انظر الدفاتر التالية لمزيد من الأمثلة على استخدام هذه الحزمة عمليًا:
المنصات والحزم المدعومة
- msticpy مستقلة عن نظام التشغيل
- تتطلب Python 3.10 أو أحدث
- انظر requirements.txt لمزيد من التفاصيل ومتطلبات الإصدار.
المساهمة
للحصول على إرشادات المطورين (المختصرة)، راجع مقالة الويكي هذه إرشادات المساهمين
يرحب هذا المشروع بالمساهمات والاقتراحات. تتطلب معظم المساهمات موافقتك على اتفاقية ترخيص المساهم (CLA) التي تعلن أن لديك الحق في، وأنك بالفعل تمنحنا، الحقوق لاستخدام مساهمتك. للتفاصيل، قم بزيارة https://cla.microsoft.com.
عند تقديم طلب سحب، سيقوم روبوت CLA تلقائيًا بتحديد ما إذا كنت بحاجة إلى تقديم CLA وتزيين PR بشكل مناسب (على سبيل المثال، تسمية، تعليق). ما عليك سوى اتباع التعليمات المقدمة من الروبوت. ستحتاج فقط إلى القيام بذلك مرة واحدة عبر جميع المستودعات التي تستخدم CLA الخاص بنا.
اعتمد هذا المشروع مدونة قواعد السلوك مفتوحة المصدر من Microsoft. لمزيد من المعلومات، راجع الأسئلة الشائعة حول مدونة قواعد السلوك أو اتصل بـ [email protected] مع أي أسئلة أو تعليقات إضافية.