
مايكروسوفت أدوات الأمن الاستخباراتية للتهديدات
أدوات أمن استخبارات التهديدات من مايكروسوفت لـ Python.
msticpy هي مكتبة للتحقيق في مجال أمن المعلومات والصيد في دفاتر Jupyter. تتضمن وظائف لـ:
كما يتضمن أدوات دفاتر موفرة للوقت مثل عناصر واجهة لتحديد حدود وقت الاستعلام، واختيار وعرض العناصر من القوائم، وتكوين بيئة الدفتر.

تم تطوير حزمة 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 باستخدام إما:

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

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

الجدول الزمني و دفتر الجدول الزمني
وظيفة شجرة العمليات لها مكونان رئيسيان:
هناك مجموعة من الوظائف المساعدة لاستخراج الأشجار الفردية والجزئية من مجموعة البيانات المعالجة.

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

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


أمثلة على الدفاتر:
اعرض مباشرة على GitHub أو انسخ والصق الرابط في nbviewer.org
انظر الدفاتر التالية لمزيد من الأمثلة على استخدام هذه الحزمة عمليًا:
للحصول على إرشادات المطورين (المختصرة)، راجع مقالة الويكي هذه إرشادات المساهمين
يرحب هذا المشروع بالمساهمات والاقتراحات. تتطلب معظم المساهمات موافقتك على اتفاقية ترخيص المساهم (CLA) التي تعلن أن لديك الحق في، وأنك بالفعل تمنحنا، الحقوق لاستخدام مساهمتك. للتفاصيل، قم بزيارة https://cla.microsoft.com.
عند تقديم طلب سحب، سيقوم روبوت CLA تلقائيًا بتحديد ما إذا كنت بحاجة إلى تقديم CLA وتزيين PR بشكل مناسب (على سبيل المثال، تسمية، تعليق). ما عليك سوى اتباع التعليمات المقدمة من الروبوت. ستحتاج فقط إلى القيام بذلك مرة واحدة عبر جميع المستودعات التي تستخدم CLA الخاص بنا.
اعتمد هذا المشروع مدونة قواعد السلوك مفتوحة المصدر من Microsoft. لمزيد من المعلومات، راجع الأسئلة الشائعة حول مدونة قواعد السلوك أو اتصل بـ [email protected] مع أي أسئلة أو تعليقات إضافية.