آشنایی با بدافزارهای فارغ از فایل (پارت اول)

برخی از مردم ترجیح ‌می‌دهند هیچ‌گاه ماشین آن‌ها به اینترنت متصل نشود تا امکان هک کردن آن وجود نداشته باشد. یک چنین دیدگاهی در دنیای امنیت هم حکم‌فرما است. امروزه متخصصان حوزه امنیت با مشکلی به نام بدافزارهای فارغ از فایل (fileless malware) روبرو هستند. بدافزارهایی که شبیه به اشباح وجود دارند، اما قادر به دیدن آن‌ها نیستید.

آلودگی فارغ از فایل چیست؟

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

  • در اولین مرحله آلودگی، فایل‌هایی روی هارددیسک قرار می‌گیرند.
  • ضدویروس فایل‌ها را پویش کرده و فایل‌های مشکوک به آلودگی را تحلیل می‌کند.
  • اگر بدافزاری شناسایی شد، ضدویروس، فایل‌های مخرب را قرطنیه یا پاک می‌کند. 

این مکانیزم شناسایی و انهدام برای بدافزارهای عادی خوب کار می‌کند، اما گونه دیگری از آلودگی‌ها، فارغ از فایل هستند و هیچ‌ فایلی روی سامانه قربانی قرار نمی‌دهند. به همین دلیل سامانه‌های کامپیوتری امروزی به یک مکانیزم حفاظتی مضاعف نیاز دارند، در غیر این صورت، هکرها به راحتی به سامانه‌ها حمله کرده و آسیب‌های مختلفی به سامانه‌ها وارد می‌کنند. 

چرا هکرها از بدافزارهای فارغ از فایل استفاده می‌کنند؟

هکرها خلاق و پویا هستند و همواره به دنبال ابداع روش‌های تازه‌ای برای حمله به سامانه‌های کامپیوتری هستند. بدافزارهای فارغ از فایل خود گویای این مسئله هستند. بدافزارهای فارغ از فایل به دلایل زیر طراحی و پیاده‌سازی می‌شوند:

  • پنهان‌کاری (Stealth): توانایی استتار به یک بدافزار اجازه می‌دهد از دید محصولات امنیتی پنهان شود و مدت زمان طولانی‌تری روی یک سامانه یا حتا یک شبکه باقی بماند.
  • افزایش دسترسی (Privilege escalation): بدافزاری که بتواند با سطح دسترسی مدیر به آسیب‌پذیری‌های یک سامانه دسترسی پیدا کند، به هکرها اجازه می‌دهد هرگونه فعالیت مخربی را به بهترین شکل روی یک سامانه یا شبکه پیاده‌سازی کنند. 
  • جمع‌آوری اطلاعات (Information gathering): جمع‌آوری حداکثری اطلاعات درباره قربانی و کامپیوتر قربانی. (این اطلاعات در آینده برای پیاده‌سازی حملات دیگری استفاده خواهند شد.)
  • ماندگاری (Persistence): توانایی نگه‌داری و پنهان‌سازی بلندمدت یک بدافزار در یک سامانه. 

کاری که هکرها انجام می‌دهند، حفظ طولانی مدت و پنهان نگه‌داشتن بدافزار روی یک سامانه است. در‌ این‌جا پنهان نگه داشتن آلودگی رمز موفقیت بدافزارهای فارغ از فایل است. زمانی‌که کیت اکسپلویت حاوی بدافزار فارغ از فایل به سیستمی وارد می‌شود، در مرحله بعد به هکرها اجازه می‌دهد بدافزار اصلی را به سامانه تزریق و ضربه نهایی را وارد کنند. 

بدافزار فارغ از فایل  یک آلودگی ساده نیست

هکرها می‌توانند بدافزارهای فارغ از فایل را به طریقی کدنویسی کنند که پس از نوشتن، بدافزار به شکل دایمی درون حافظه اصلی کامپیوتر مقیم نشده و در بخشی از سامانه که ضدویروس آن بخش را پویش نمی‌کند قرار دهند. این نوع آلودگی که پنهان و دایمی بودن دو فاکتور اصلی آن به شمار می‌روند، مشکلات فراوانی برای یک سامانه به وجود می‌آورند. از معروف‌ترین بردارهای حمله که بی شباهت به بدافزارهای فارغ از فایل نیستند به موارد زیر می‌توان اشاره کرد:
• بدافزار مقیم در حافظه: بدافزارهای مقیم در حافظه شبیه به بدافزارهای فارغ از فایل می‌توانند از فضای حافظه یک پردازه یا یک فایل سیستمی ویندوز برای انجام فعالیت‌های خود استفاده کنند. شیوه کار بدافزارهای فوق به این شکل است که کد مخرب درون فضای حافظه اصلی قرار گرفته و مادامی که شناسایی نشود در حافظه باقی خواهد ماند. بدافزارهای مقیم در حافظه به‌طور دقیق فارغ از فایل نیستند، اما عملکرد آن‌ها یکسان با بدافزارهای فارغ از فایل است. این بدافزارها بیشتر به زبان‌های سطح پایین شبیه به اسمبلی یا سی نوشته می‌شود. 

  • روت‌کیت‌ها: روت‌کیت‌ها با هدف کنترل یک سامانه کامپیوتری بدون اطلاع کاربر، یک سامانه را آلوده کنند. آن‌ها سعی می‌کنند سطح  دسترسی مدیریتی به یک سیستم را به دست آورند. روت‌کیت‌ها برای آن‌که حضوری ماندگار در یک سیستم داشته باشند و حتا با وجود پویش یک سامانه و راه‌اندازی مجدد یک سیستم بازهم فعال باشند باید به درون هسته سیستم‌عامل نفوذ کنند. روت‌کیت‌هایی که درون هسته یک سیستم‌عامل قرار می‌گیرند، ناپیدا بوده و پاک کردن آن‌ها تقریبا غیرممکن است. روت‌کیت‌ها به شکل دقیق آلودگی فارغ از فایل نیستند، اما عملکردی یکسان با آلودگی فارغ از فایل دارند.
  • بدافزارهای مقیم در رجیستری ویندوز: نسل جدید بدافزارهای فارغ از فایل می‌توانند درون رجیستری ویندوز پنهان شوند. رجیستری قلب تپنده ویندوز است که تنظیمات سیستم‌عامل و برنامه‌های کاربردی درون آن ذخیره شده است. رجیستری ویندوز مکانی است که اگر ناخواسته اطلاعات حساس درون آن‌را تغییر داده یا پاک کنید، احتمال از کار افتادن ویندوز یا سایر برنامه‌های کاربردی وجود دارد. بدافزارهای فارغ از فایل رجیستری ویندوز، قابلیت خودنابودگری دارند. به عبارت دقیق‌تر، زمانی که فعالیت‌شان روی یک سامانه به پایان رسید، خود را نابود می‌کنند. 

بدافزارهای فارغ از فایل اولین بار در اوت 2014 میلادی شناسایی شدند. Poweliks Trojan اولین مورد از این بدافزارها بود. بدافزار فوق به شکلی مهندسی شده بود که کلاه‌برداری مبتنی بر کلیک (click-fraud) را انجام می‌داد. با این حال، در 5 سال گذشته این مدل بدافزارها به سرعت پیشرفت کردند. Poweliks Trojan سرآغازی بر یک تحول بزرگ در دنیای هکری به شمار می‌رود، زیرا موفق شد چشم‌اندازی جدید پیش روی هکرها قرار دهد. هکرها با اتکا بر شیوه عملکرد بدافزار فوق توانستند عملیات خرابکارانه جدیدی به شرح زیر رقم بزنند:

  • پیاده‌سازی گونه جدیدی از بدافزارها که سامانه‌ها را بدون آن‌که دیده شوند آلوده کنند
  • سودآوری کلان با ساخت و توزیع بدافزارهای فارغ از فایل
  • انتقال دائمی بارداده‌ها به رجیستری سیستم پس از بهره‌برداری از آن‌ها 
  • استقرار کیت‌های مخرب ماژولار و انعطاف‌پذیر با هدف شناسایی سریع‌تر آسیب‌پذیری‌ها 
  • بهره‌برداری از تعداد بیشتری از آسیب‌پذیری‌های روز صفر برای حمله به سامانه‌های کامپیوتری
  • به دست آوردن پول سریع و راحت با هدف آلوده‌سازی کامپیوترها به باج‌افزار

بدافزارهای فارغ از فایل عاری از مشکل هستند؟

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

آلودگی فارغ از فایل چگونه کار می‌کند؟

برای روشن شدن بهتر مطلب به سناریو واقعی آلوده‌سازی با یک بدافزار فارغ از فایل توجه کنید. 
شما روی یک مرورگر مدرن همچون کروم که از جاوااسکریپت پشتیبانی می‌کند، افزونه فلش را نصب می‌کنید. افزونه فلش به دلیل عدم نصب وصله‌های ارائه شده به‌روز نیست. به سایتی مراجعه می‌کنید که کیت بهره‌وری Angler روی آن نصب شده است. کیت فوق سامانه شما را برای شناسایی آسیب‌پذیری‌ها پویش کرده و موفق می‌شود آسیب‌پذیری افزونه فلش را شناسایی کند. در این مرحله بارداده‌ای روی کش مرورگر کروم اجرا می‌شود. اگر بارداده‌ بدافزاری، یک کد مخرب باج‌افزاری باشد، بارداده به سرور کنترل و فرمانی متصل می‌شود تا کلید رمزگذاری را دریافت کند. در آخرین مرحله، رمزگذاری داده‌ها روی سامانه اجرا می‌شود که باج‌افزار کامپیوتر و فایل‌های حساس را قفل کرده و برای دسترسی مجدد به فایل‌ها درخواست باج می‌دهد. 
در سناریو فوق بارداده به شکل مستقیم به پردازه‌ مدنظر هکر تزریق شده و در حافظه اصلی کامپیوتر اجرا می‌شود. در این مکانیزم حمله به دلیل عدم وجود فایل روی هاردیسک کاربر، هیچ‌گونه سرنخ یا امضایی از بدافزار وجود نداشته و در حالت عادی ضدویروس نمی‌تواند از طریق اسکن امضا بدافزار آن‌را شناسایی کند. ضدویروس‌های عادی تنها زمانی قادر به شناسایی بارداده‌های مخرب هستند که بارداده روی هارددیسک ذخیره شده باشد یا به شکل فعال در حافظه اصلی سیستم در حال اجرا باشد. 

پاسخ دهید

آدرس ایمیل شما منتشر نخواهد شد. فیلدهای اجباری مشخص شده اند *
شما می توانید از این تگ های HTML و ویژگی ها استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>