Process Doppelgänging

یک تیم از محققان امنیتی یک روش جدید فرارِ بدافزارها را کشف کردند که به نویسندگان بدافزارها  اجازه می‌دهد که بیشتر ابزارهای فارنسیک و راه‌حل‌های ضدویروس مدرن را شکست دهند.

این روش تزریق کدِ بدونِ فایلِ جدید Process Doppelgänging نام‌گذاری شده است و از یک تابع بر پایه ویندوز و از یک پیاده‌سازی مستند نشده loader فرآیند ویندوز(۱) استفاده می‌کند.

محققان امنیتی شرکت Ensilo به نام‌های Tal Liberman و Eugene Kogan که حمله Process Doppelgänging را کشف کردند، یافته‌های خود را در تاریخ ۷ دسامبر ۲۰۱۷ و در کنفرانس امنیتی Black Hat در لندن ارائه کردند[۱].

Process Doppelgänging بر روی تمامی نسخه‌های ویندوز کار می‌کند.

ظاهراً حمله Process Doppelgänging در تمام نسخه‌های مدرن سیستم‌عامل مایکروسافت ویندوز کار می‌کند که شامل ویندوز ویستا تا آخرین نسخه ویندوز از ۱۰ می‌شوند.

Tal Liberman، رئیس تیم تحقیقاتی Ensilo، گفته است که این روش فرار بدافزارها شبیه به Process Hollowing است، یک روش که سال‌ها پیش توسط مهاجمان معرفی شد تا قابلیت‌های mitigation در محصولات امنیتی را شکست دهد.

در حمله Process Hollowing، مهاجمان حافظه یک فرایند قانونی را با یک کد مخرب جایگزین می‌کنند طوری که کد دوم به‌جای کد اصلی اجرا می‌شود و ابزارهای مانیتورینگ و آنتی‌ویروس‌ها را فریب می‌دهد به‌طوری‌که آن‌ها گمان کنند که فرآیند اصلی در حال اجراست.

ازآنجایی‌که همه محصولات ضدویروس و امنیتی مدرن به‌منظور تشخیص حملات Process Hollowing ارتقا یافته‌اند، استفاده از این روش دیگر یک روش مناسب برای مهاجمان نخواهد بود.

از سوی دیگر، Process Doppelgänging یک رویکرد کاملاً متفاوت برای رسیدن به همان هدف است. این حمله ‌بر اساس یک سوءاستفاده از Windows NTFS Transactions و یک پیاده‌سازی قدیمی از loader فرآیند ویندوز است که در ابتدا برای ویندوز XP طراحی شده بود، اما در تمام نسخه‌های بعدی ویندوز نیز قابل اجراست.

نحوه عملکرد حمله Process Doppelgänging

قبل از توضیح اینکه حمله تزریق کد جدید چگونه کار می‌کند، باید بدانید که Windows NTFS Transaction چیست و چگونه یک مهاجم می‌تواند از آن برای پنهان کردن اقدامات مخرب خود استفاده کند.

NTFS Transaction یکی از ویژگی‌های ویندوز است که مفهوم معاملات atomic را به سیستم فایل NTFS می‌دهد، به‌این‌ترتیب می‌توان فایل‌ها و دایرکتوری‌ها را به‌طور خودکار ایجاد، اصلاح و یا حذف کرد[۲].

NTFS Transaction یک فضای جداگانه است که به توسعه‌دهندگان برنامه‌های کاربردی ویندوز اجازه می‌دهد تا دستورات خروجی فایل‌هایی که به‌طور کامل موفقیت‌آمیز بوده‌اند یا به‌طور کامل شکست‌خورده‌اند را بنویسند.

به گفته این محقق، Process Doppelgänging یک حمله بدون فایل است و در چهار مرحله اصلی که در زیر به آن‌ها اشاره شده است، کار می‌کند:

  1. Transact: یک فایل قابل‌اجرای قانونی را در تراکنش NTFS پردازش کنید و سپس آن را با یک فایل مخرب بازنویسی کنید.
  2. Load: بخش حافظه را از فایل اصلاح‌شده (مخرب) ایجاد کنید.
  3. Rollback: تراکنش را به عقب برگردانید (از روی قصد تراکنش را ناموفق کنید)، نتیجه این کار حذف تمام تغییرات اجرایی قانونی به شیوه‌ای که هرگز وجود نداشته‌اند، خواهد بود.
  4. Animate: doppelganger را مجدداً احیا کنید. از پیاده‌سازی قدیمی loader فرآیند ویندوز برای ایجاد یک فرآیند حاوی بخش ساخته‌شده حافظه قبلی (در مرحله ۲) استفاده کنید، که درواقع مخرب است و هرگز بر روی دیسک ذخیره نمی‌شود و آن را برای اکثر ابزارهای ذخیره‌سازی مانند FDRهای مدرن غیرقابل تشخیص می‌کند.

Process Doppelgänging توسط بیشتر آنتی‌ویروس‌ها تشخیص داده نمی‌شود.

آنتی‌ویروس‌ها

Liberman گفته است که در تحقیقات انجام‌شده، این حمله ‌بر روی محصولات امنیتی متفاوتی ازجمله Wndows Defender ،Kaspersky Labs ،ESET NOD32 ،Symantec ،Trend Micro ،Avast ،McAfee ،AVG ،Panda و حتی ابزارهای فارنسیک مدرن پیاده‌سازی شده است.

به‌منظور نشان دادن این فرایند، محققان از Mimikatz، که یک ابزار بهره‌برداری است استفاده کرده‌اند که به استخراج گواهی‌ از سیستم‌های آسیب‌دیده، با Process Doppelgänging برای دور زدن تشخیص داده شدن توسط آنتی‌ویروس، کمک می‌کند.

هنگامی‌که محققان Mimikatz را بر روی سیستم‌عامل ویندوز اجرا کردند، آنتی‌ویروس Symantec بلافاصله این ابزار را تشخیص داد، همان‌طور که در زیر نشان داده شده است:

Symantec

بااین‌حال، Mimikatz به‌طور محرمانه اجرا می‌شود، بدون اینکه آنتی‌ویروس هیچ هشداری را در هنگام اجرا با استفاده از Process Doppelgänging نمایش دهد، همان‌طور که در تصویر بالای این مقاله نشان داده شده است.

Liberman همچنین گفته است که Process Doppelgänging حتی در آخرین نسخه ویندوز ۱۰، به‌جز ویندوز ۱۰ Redstone و Fall Creators Update که در اوایل امسال منتشر شدند، کار می‌کند.

اما با توجه به یک اشکال متفاوت در Windows 10 Redstone و Fall Creators Update، استفاده از Process Doppelgänging باعث BSOD (صفحه‌نمایش آبی مرگ) می‎شد که کامپیوترهای کاربران را دچار crash می‌کرد.

این نقصِ دچار crash شدن توسط مایکروسافت و در به‌روزرسانی‌های بعدی وصله شد که اجازه می‌دهد Process Doppelgänging در آخرین نسخه‌های ویندوز ۱۰ نیز اجرا شود.

ما انتظار نداریم که مایکروسافت یک وصله اضطراری بدین منظور ارائه دهد که امکان دارد بعضی از نرم‌افزارهای بر پایه پیاده‌سازی‌های قدیمی‌تر نیز ناپایدار شوند، اما شرکت‌های آنتی‌ویروس می‌توانند محصولات خود را برای تشخیص برنامه‌های مخرب با استفاده از Process Doppelgänging یا حملات مشابه ارتقا دهند.

این اولین بار نیست که محققان enSilo یک روش فرارِ بدافزاری را کشف کرده‌اند. قبلاً آن‌ها روش AtomBombing را کشف و اثبات کرده بودند که از ضعف طراحی در سیستم‌عامل ویندوز سوءاستفاده می‌کرد [۳].

در ماه سپتامبر ۲۰۱۷، محققان enSilo همچنین یک خطای برنامه‌نویسی ۱۷ ساله را در هسته مایکروسافت ویندوز افشا کردند که مانع از تشخیص داده شدن بدافزارها در زمان اجرا در هنگام بارگیری در سیستم حافظه، توسط نرم‌افزارهای امنیتی می‌شد[۴].

منابع

[۱] https://www.blackhat.com/eu-17/briefings/schedule/index.html#lost-in-transaction-process-doppelgnging-8811

[۲] https://msdn.microsoft.com/en-us/library/windows/desktop/aa363764(v=vs.85).aspx

[۳] https://thehackernews.com/2017/03/dridex-atombombing-malware.html

[۴] https://apa.aut.ac.ir/?p=3026

[۵] https://thehackernews.com/2017/12/malware-process-doppelganging.html


(۱) undocumented implementation of Windows process loader