مشاركة عبر


التحقيق في مسارات هجوم تطبيق OAuth في Defender for Cloud Apps (معاينة)

يساعدك إدارة التعرض للأمان في Microsoft على إدارة سطح هجوم شركتك وخطر التعرض له بفعالية. من خلال الجمع بين الأصول والتقنيات، توضح مسارات الهجوم المسارات الشاملة التي يمكن للمهاجمين استخدامها للانتقال من نقطة دخول داخل مؤسستك إلى أصولك الهامة. Microsoft Defender for Cloud Apps لاحظت زيادة في المهاجمين الذين يستخدمون تطبيقات OAuth للوصول إلى البيانات الحساسة في التطبيقات المهمة للأعمال مثل Microsoft Teams وSharePoint وOutlook والمزيد. لدعم التحقيق والتخفيف، يتم دمج هذه التطبيقات في مسار الهجوم وطرق عرض خريطة سطح الهجوم في إدارة التعرض للأمان في Microsoft.

المتطلبات الأساسية

لبدء استخدام ميزات مسار هجوم تطبيق OAuth في إدارة التعرض، تأكد من تلبية المتطلبات التالية.

الأدوار والأذونات المطلوبة

للوصول إلى جميع تجارب إدارة التعرض، تحتاج إما إلى دور موحد للتحكم في الوصول استنادا إلى الدور (RBAC) أو دور معرف Entra. مطلوب واحد فقط.

  • إدارة التعرض (قراءة) (التحكم في الوصول استنادا إلى الدور الموحد)

بدلا من ذلك، يمكنك استخدام أحد أدوار معرف Entra التالية:

إذن الاجراءات
مسؤول العمومية (أذونات القراءة والكتابة)
مسؤول الأمان (أذونات القراءة والكتابة)
عامل تشغيل الأمان (أذونات القراءة والكتابة المحدودة)
القارئ العام (أذونات القراءة)
قارئ الأمان (أذونات القراءة)

ملاحظة

متوفر حاليا في بيئات السحابة التجارية فقط. إدارة التعرض للأمان في Microsoft البيانات والقدرات غير متوفرة حاليا في السحب الحكومية الأمريكية - GCC و GCC High و DoD و China Gov.

إدارة الأصول الهامة - كيانات الخدمة

يحدد Microsoft Defender for Cloud Apps مجموعة من أذونات OAuth للامتيازات الهامة. تعتبر تطبيقات OAuth التي لها هذه الأذونات أصولا عالية القيمة. إذا تم اختراقه، يمكن للمهاجم الحصول على امتيازات عالية لتطبيقات SaaS. لتعكس هذه المخاطر، تعامل مسارات الهجوم كيانات الخدمة بهذه الأذونات كأهداف مستهدفة.

عرض أذونات الأصول الهامة

لعرض القائمة الكاملة للأذونات، انتقل إلى مدخل Microsoft Defender وانتقل إلى Settings > Microsoft Defender XDR > Rules > Critical asset management.

لقطة شاشة لصفحة إدارة الأصول الهامة في مدخل Microsoft Defender.

تدفق مستخدم التحقيق: عرض مسارات الهجوم التي تتضمن تطبيقات OAuth

بمجرد فهم الأذونات التي تمثل أهدافا عالية القيمة، استخدم الخطوات التالية للتحقيق في كيفية ظهور هذه التطبيقات في مسارات هجوم البيئة الخاصة بك. بالنسبة للمؤسسات الأصغر التي لها عدد قابل للإدارة من مسارات الهجوم، نوصي باتباع هذا النهج المنظم للتحقيق في كل مسار هجوم:

ملاحظة

تظهر تطبيقات OAuth في مخطط سطح مسار الهجوم فقط عند اكتشاف حالات محددة.
على سبيل المثال، قد يظهر تطبيق OAuth في مسار الهجوم إذا تم الكشف عن مكون عرضة للخطر مع نقطة دخول يمكن استغلالها بسهولة. تسمح نقطة الإدخال هذه بالحركة الجانبية إلى كيانات الخدمة ذات الامتيازات العالية.

  1. انتقل إلى مسارات الهجوم surface > Attack لإدارة > التعرض.

  2. التصفية حسب "Target type: AAD Service principal"

    لقطة شاشة لخدمة مسارات الهجوم تضيف نوع الهدف الأولي

  3. حدد مسار الهجوم بعنوان: "الجهاز ذو الثغرات الأمنية عالية الخطورة يسمح بالحركة الجانبية إلى كيان الخدمة بأذونات حساسة"

    لقطة شاشة لاسم مسار الهجوم

  4. انقر فوق الزر عرض في الخريطة لمشاهدة مسار الهجوم.

    لقطة شاشة لزر العرض في الخريطة

  5. حدد علامة + لتوسيع العقد وعرض الاتصالات التفصيلية.

    لقطة شاشة لخريطة سطح الهجوم

  6. مرر مؤشر الماوس أو حدد العقد والحواف لاستكشاف بيانات إضافية مثل الأذونات التي يمتلكها تطبيق OAuth هذا.

    لقطة شاشة تعرض الأذونات المعينة لتطبيق OAuth كما هو موضح في مخطط سطح الهجوم

  7. انسخ اسم تطبيق OAuth والصقه في شريط البحث في صفحة التطبيقات.

    لقطة شاشة تعرض علامة التبويب تطبيقات OAuth

  8. حدد اسم التطبيق لمراجعة الأذونات المعينة ونتائج تحليلات الاستخدام، بما في ذلك ما إذا كانت الأذونات عالية الامتيازات تستخدم بنشاط.

    لقطة شاشة تعرض الأذونات المعينة لتطبيق Oauth

  9. اختياري: إذا حددت أن تطبيق OAuth يجب تعطيله، يمكنك تعطيله من صفحة التطبيقات.

تدفق مستخدم صانع القرار: تحديد أولويات مسار الهجوم باستخدام نقاط الاختناق

بالنسبة للمؤسسات الأكبر حجما التي لها العديد من مسارات الهجوم التي لا يمكن التحقيق فيها يدويا، نوصي باستخدام بيانات مسار الهجوم واستخدام تجربة نقاط الاختناق كأداة لتحديد الأولويات. يسمح لك هذا النهج ب:

  • تحديد الأصول المتصلة بمسارات الهجوم الأكثر.
  • اتخاذ قرارات مستنيرة بشأن الأصول التي يجب تحديد أولوياتها للتحقيق.
  • قم بالتصفية حسب Microsoft Entra تطبيق OAuth لمعرفة تطبيقات OAuth التي تشارك في معظم مسارات الهجوم.
  • حدد تطبيقات OAuth التي يجب تطبيق أذونات الامتياز الأقل عليها.

لبدء الاستخدام:

  1. انتقل إلى صفحة Attack Paths > Choke Points.

    لقطة شاشة تعرض صفحة نقاط الاختناق

  2. حدد اسم نقطة الاختناق للاطلاع على مزيد من التفاصيل حول مسارات الهجوم العلوية مثل الاسم ونقطة الإدخال والهدف.

  3. انقر فوق عرض نصف قطر الانفجار لمزيد من التحقيق في نقطة الاختناق في خريطة سطح الهجوم. لقطة شاشة تعرض زر عرض نصف قطر الانفجار

إذا كانت نقطة الاختناق عبارة عن تطبيق OAuth، فتابع التحقيق في صفحة التطبيقات، كما هو موضح في الخطوات من 7 إلى 9 أعلاه.

تحليل خريطة سطح الهجوم والبحث باستخدام الاستعلامات

في خريطة سطح الهجوم، يمكنك مشاهدة الاتصالات من التطبيقات المملوكة للمستخدم وتطبيقات OAuth وكيانات الخدمة. تتوفر بيانات العلاقة هذه في:

  • جدول ExposureGraphEdges (يظهر الاتصالات)

  • جدول ExposureGraphNodes (يتضمن خصائص العقدة مثل الأذونات)

استخدم استعلام التتبع المتقدم التالي لتحديد جميع تطبيقات OAuth ذات الأذونات الهامة:

let RelevantNodes = ExposureGraphNodes
| where NodeLabel == "Microsoft Entra OAuth App" or NodeLabel == "serviceprincipal"
| project NodeId, NodeLabel, NodeName, NodeProperties;
ExposureGraphEdges
| where EdgeLabel == "has permissions to" or EdgeLabel == "can authenticate as"
| make-graph SourceNodeId --> TargetNodeId with RelevantNodes on NodeId
| graph-match (AppRegistration)-[canAuthAs]->(SPN)-[hasPermissionTo]->(Target)
        where AppRegistration.NodeLabel == "Microsoft Entra OAuth App" and
        canAuthAs.EdgeLabel == "can authenticate as" and
        SPN.NodeLabel == "serviceprincipal" and
        SPN.NodeProperties["rawData"]["criticalityLevel"]["criticalityLevel"] == 0 and
        hasPermissionTo.EdgeLabel == @"has permissions to" and
        Target.NodeLabel == "Microsoft Entra OAuth App" and
        Target.NodeName == "Microsoft Graph"
        project AppReg=AppRegistration.NodeLabel,
         canAuthAs=canAuthAs.EdgeLabel, SPN.NodeLabel, DisplayName=SPN.NodeProperties["rawData"]["accountDisplayName"],
         Enabled=SPN.NodeProperties["rawData"]["accountEnabled"], AppTenantID=SPN.NodeProperties["rawData"]["appOwnerOrganizationId"],
         hasPermissionTo=hasPermissionTo.EdgeLabel, Target=Target.NodeName,
         AppPerm=hasPermissionTo.EdgeProperties["rawData"]["applicationPermissions"]["permissions"]
| mv-apply AppPerm on (summarize AppPerm = make_list(AppPerm.permissionValue))
| project AppReg, canAuthAs, DisplayName, Enabled, AppTenantID, hasPermissionTo, Target, AppPerm

الخطوات التالية

لمزيد من المعلومات، اطلع على: