مشاركة عبر


تكامل واجهة فحص مكافحة البرامج الضارة (AMSI) مع برنامج الحماية من الفيروسات Microsoft Defender

ينطبق على:

  • Microsoft Defender XDR
  • برنامج الحماية من الفيروسات من Microsoft Defender
  • Microsoft Defender لنقطة النهاية P1 & P2
  • Microsoft Defender for Business
  • Microsoft Defender للأفراد

الأنظمة الأساسية:

  • Windows 10 وأحدث
  • Windows Server 2016 وأحدث

يستخدم Microsoft Defender لنقطة النهاية واجهة الفحص المضادة للبرامج الضارة (AMSI) لتحسين الحماية من البرامج الضارة بدون ملفات والهجمات الديناميكية المستندة إلى البرنامج النصي والتهديدات الإلكترونية الأخرى غير العابرة. توضح هذه المقالة فوائد تكامل AMSI وأنواع لغات البرمجة النصية التي يدعمها وكيفية تمكين AMSI لتحسين الأمان.

ما هي البرامج الضارة بدون ملفات؟

تلعب البرامج الضارة بلا ملفات دورا مهما في الهجمات الإلكترونية الحديثة، باستخدام تقنيات التخفي لتجنب الكشف. استخدمت العديد من فاشيات برامج الفدية الضارة الرئيسية أساليب بدون ملفات كجزء من سلاسل القتل الخاصة بها.

تستخدم البرامج الضارة بدون ملفات الأدوات الموجودة الموجودة بالفعل على جهاز مخترق، مثل PowerShell.exe أو wmic.exe. يمكن للبرامج الضارة اختراق عملية، وتنفيذ التعليمات البرمجية داخل مساحة الذاكرة الخاصة بها، واستدعاء هذه الأدوات المضمنة. يقلل المهاجمون بشكل كبير من بصمتهم ويهربون من آليات الكشف التقليدية.

نظرا لأن الذاكرة متقلبة، ولا تضع البرامج الضارة بلا ملفات الملفات على القرص، فقد يكون إنشاء الاستمرار باستخدام البرامج الضارة بدون ملفات أمرا صعبا. أحد الأمثلة على كيفية تحقيق البرامج الضارة بدون ملفات استمرارية هو إنشاء مفتاح تشغيل سجل يقوم بتشغيل PowerShell cmdlet "أحادي الخط". قام هذا الأمر بتشغيل برنامج نصي PowerShell معتيم تم تخزينه في كائن ثنائي كبير الحجم للتسجيل. احتوى البرنامج النصي PowerShell التعتيم على محمل قابل للتنفيذ محمول عاكس (PE) قام بتحميل PE بترميز Base64 من السجل. تضمن البرنامج النصي المخزن في السجل استمرار البرامج الضارة.

يستخدم المهاجمون العديد من التقنيات عديمة الملفات التي يمكن أن تجعل عمليات زرع البرامج الضارة خفية ومراوغة. وتشمل هذه التقنيات ما يلي:

  • حقن DLL العاكس: يتضمن حقن DLL العاكس التحميل اليدوي ل DLLs الضارة في ذاكرة العملية دون الحاجة إلى أن تكون DLLs المذكورة على القرص. يمكن استضافة DLL الضار على جهاز يتحكم فيه المهاجم عن بعد وتسليمه من خلال قناة شبكة مرحلية (على سبيل المثال، بروتوكول أمان طبقة النقل (TLS)، أو تضمينه في نموذج معتم داخل متجهات العدوى، مثل وحدات الماكرو والبرامج النصية. ينتج عن هذا التكوين التهرب من آلية نظام التشغيل التي تراقب وتتعقب تحميل الوحدات القابلة للتنفيذ. مثال على البرامج الضارة التي تستخدم حقن Reflective DLL هو HackTool:Win32/Mikatz!dha.

  • مآثر الذاكرة: يستخدم الخصوم عمليات استغلال الذاكرة بدون ملفات لتشغيل التعليمات البرمجية العشوائية عن بعد على أجهزة الضحايا. على سبيل المثال، يستخدم تهديد UIWIX استغلال EternalBlue، الذي تم استخدامه من قبل كل من Petya وWannaCry، لتثبيت المدخل الخلفي DoublePulsar، ويعيش بالكامل في ذاكرة kernel (جدول إرسال SMB). على عكس Petya وWannacry، لا يسقط UIWIX أي ملفات على القرص.

  • التقنيات المستندة إلى البرنامج النصي: توفر لغات البرمجة النصية وسائل قوية لتقديم حمولات قابلة للتنفيذ للذاكرة فقط. يمكن لملفات البرنامج النصي تضمين رموز shell المشفرة أو الثنائيات التي يمكنها فك تشفيرها بسرعة في وقت التشغيل وتنفيذها عبر كائنات .NET أو مباشرة مع واجهات برمجة التطبيقات دون الحاجة إلى كتابتها على القرص. يمكن إخفاء البرامج النصية نفسها في السجل، أو قراءتها من تدفقات الشبكة، أو تشغيلها يدويا في سطر الأوامر بواسطة مهاجم، دون لمس القرص.

    ملاحظة

    لا تقم بتعطيل PowerShell كوسيلة لحظر البرامج الضارة بدون ملفات. PowerShell هي أداة إدارة قوية وآمنة وهي مهمة للعديد من وظائف النظام و تكنولوجيا المعلومات. يستخدم المهاجمون برامج PowerShell النصية الضارة كتقنية ما بعد الاستغلال التي لا يمكن أن تحدث إلا بعد حدوث حل وسط أولي بالفعل. إساءة استخدامه هو أحد أعراض الهجوم الذي يبدأ بإجراءات ضارة أخرى مثل استغلال البرامج أو الهندسة الاجتماعية أو سرقة بيانات الاعتماد. المفتاح هو منع المهاجم من الوصول إلى الموضع حيث يمكنه إساءة استخدام PowerShell.

    تلميح

    يساعد تقليل عدد البرامج النصية Powershell غير الموقعة في بيئتك على زيادة وضع الأمان الخاص بك. فيما يلي إرشادات حول كيفية إضافة توقيع إلى البرامج النصية Powershell المستخدمة في بيئتك Hey, Scripting Guy! كيف يمكنني توقيع البرامج النصية Windows PowerShell باستخدام Enterprise Windows PKI؟ (الجزء الثاني من 2) | مدونة البرمجة النصية

  • استمرار WMI: يستخدم بعض المهاجمين مستودع Windows Management Instrumentation (WMI) لتخزين البرامج النصية الضارة التي يتم استدعاؤها بعد ذلك بشكل دوري باستخدام روابط WMI. يحظر برنامج الحماية من الفيروسات Microsoft Defender معظم البرامج الضارة باستخدام عمليات الكشف العامة والاستدلالية والمستندة إلى السلوك، بالإضافة إلى نماذج التعلم الآلي المحلية والقائمة على السحابة. يحمي برنامج الحماية من الفيروسات Microsoft Defender من البرامج الضارة بدون ملفات من خلال هذه الإمكانات:

    • الكشف عن التقنيات المستندة إلى البرنامج النصي باستخدام AMSI، والذي يوفر القدرة على فحص PowerShell وأنواع البرامج النصية الأخرى، حتى مع طبقات متعددة من التعتيم
    • الكشف عن تقنيات استمرار WMI ومعالجتها عن طريق مسح مستودع WMI ضوئيا، بشكل دوري وكلما لوحظ سلوك شاذ
    • الكشف عن حقن DLL العاكس من خلال تقنيات فحص الذاكرة المحسنة والمراقبة السلوكية

لماذا AMSI؟

يوفر AMSI مستوى أعمق من الفحص للبرامج الضارة التي تستخدم تقنيات التعتيم والتهرب على مضيفي البرمجة النصية المضمنين في Windows. من خلال دمج AMSI، يوفر Microsoft Defender لنقطة النهاية طبقات إضافية من الحماية ضد التهديدات المتقدمة.

لغات البرمجة النصية المدعومة

  • PowerShell
  • Jscript
  • VBScript
  • مضيف البرنامج النصي ل Windows (wscript.exe cscript.exe)
  • .NET Framework 4.8 أو أحدث (مسح جميع التجميعات)
  • Windows Management Instrumentation (WMI)

إذا كنت تستخدم Microsoft 365 Apps، فإن AMSI يدعم أيضا JavaScript وVBA وXLM.

AMSI لا يدعم حاليا Python أو Perl.

تمكين AMSI

لتمكين AMSI، تحتاج إلى تمكين فحص البرنامج النصي. راجع تكوين خيارات الفحص لبرنامج الحماية من الفيروسات Microsoft Defender.

راجع أيضا نهج Defender CSP - إدارة عملاء Windows.

موارد AMSI

تتوفر واجهات برمجة تطبيقات واجهة فحص مكافحة البرامج الضارة (AMSI) للمطورين وموردي مكافحة الفيروسات لتنفيذها.

تستخدم منتجات Microsoft الأخرى مثل ExchangeوSharepoint أيضا تكامل AMSI.

المزيد من الموارد للحماية من الهجمات بدون ملفات

  • Windows Defender Application Control وAppLocker. يفرض نهج تكامل التعليمات البرمجية القوية والسماح بتشغيل التطبيقات الموثوق بها فقط. في سياق البرامج الضارة بدون ملفات، يقوم WDAC بتأمين PowerShell إلى وضع اللغة المقيدة، والذي يحد من ميزات اللغة الموسعة التي يمكن أن تؤدي إلى تنفيذ التعليمات البرمجية التي لا يمكن التحقق منها، مثل البرمجة النصية .NET المباشرة، واستدعاء واجهات برمجة تطبيقات Win32 عبر Add-Type cmdlet، والتفاعل مع كائنات COM. وهذا يخفف بشكل أساسي من هجمات حقن DLL العاكسة المستندة إلى PowerShell.

  • يساعد تقليل الأجزاء المعرضة للهجوم المسؤولين على الحماية من ناقلات الهجوم الشائعة.

  • تمكين الحماية المستندة إلى الظاهرية لسلامة التعليمات البرمجية. يخفف من عمليات استغلال ذاكرة kernel من خلال تكامل التعليمات البرمجية ل Hypervisor (HVCI)، مما يجعل من الصعب إدخال التعليمات البرمجية الضارة باستخدام الثغرات الأمنية في برنامج وضع kernel.