ممکن است بارها به زمانهای گذشته فکر کنید. شاید با خود بیندیشید که تکنولوژیهایی که وارد زندگی ما شدهاند، زندگی را هم آسانتر و هم پیچیدهتر کردهاند. شاید ترجیح دهید که اتومبیل شما به اینترنت وصل نباشد، بنابراین قابل هک هم نخواهد بود.
حتی متخصصین امنیت نیز با چنین افکاری دستوپنجه نرم کردهاند. خصوصاً هنگامی که با آلودگی بدافزارهای بدون فایل (Fileless Malware) مواجه میشوند.
اگرچه این لغت کاملاً واضح است، اما مطئناً افرادی هستند که با آن آشنایی ندارند. توجه کنید که احتیاجی نیست برای فهمیدن و استفاده از این راهنمایی جامع، متخصص باشید.
سرفصلهایی که در این مقاله به آنها میپردازیم عبارتند از:
1. آلودگی بدون فایل چیست؟
2. چرا مجرمین سایبری از بدافزار بدون فایل استفاده میکنند؟
3. آلودگی بدون فایل چگونه کار میکند؟
4. کیتهای بهرهوری(اکسپلویت کیتها) – وجود این موارد برای آلودگی بدون فایل، الزامی هستند.
5. نحوه حفاظت کامپیوتر از آلودگیهای بدون فایل
6. منابع آنالیز فنی بدافزارهای بدون فایل
آلودگی بدون فایل چیست؟
همانطور که از نام این نوع آلودگی کاملاً مشخص است به آلودگی بدافزار یا ویروسی گفته میشود که از فایل یا پردازشی، استفاده نمیکند.
برای فهمیدن کامل آنها، به خلاصهای از بررسی کارکرد آنتیویروسهای مرسوم میپردازیم:
• آلودگی، فایلها را روی هارد قرار میدهد.
• آنتیویروس، فایلهای آلوده را آنالیز میکند (به عبارت دیگر پی لود (payload))
• اگر شناسایی شد، آنتیویروس، فایلهای مخرب را قرنطینه یا پاک میکند.
اما گونه دیگری از آلودگیها، بدون فایل هستند، زیرا هیچ فایلی روی سیستم ارسال نمیشود. اما نتیجه چیست؟
• یک آنتیویروس قدیمی نمیتواند آلودگی را شناسایی کند.
• بدون اعمال اقدامات حفاظتی اضافی، حملهکننده بهسادگی میتواند انواع خرابیها را در کامپیوتر قربانی ایجاد کند.
در این مقاله به بررسی خرابی آلودگیهای بدون فایل میپردازیم و نحوه حفاظت در برابر آنها را بیان میکنیم.
چرا مجرمین سایبری از بدافزار بدون فایل استفاده میکنند؟
مجرمین سایبری، مجهز و بسیار خلاق هستند و اینگونه آلودگیها اثباتی برای این گفته ما است.
در این حملات، هکرهای مخرب به دنبال موارد زیر هستند:
• مخفیکاری – توانایی برای جلوگیری از کشف شدن در مدتزمان طولانی بهوسیله محصولات امنیتی.
• افزایش دسترسی – توانایی برای بهرهوری از آسیبپذیریای که میتواند دسترسی ادمین را (administrator) به سیستم بدهد، بنابراین مجرمین سایبری میتوانند هر اقدامی را که میخواهند، انجام دهند.
• جمعآوری اطلاعات – جمعآوری هر چه بیشتر اطلاعات درباره قربانی و کامپیوتر او (تا در آینده در حملات دیگر استفاده شود.)
• ماندگاری – توانایی برای نگهداشتن بدافزار در سیستم و دیده نشدن آن برای مدتزمان بسیار زیاد.
کاری که سازندگان بدافزار برای آلودگی بدون فایل انجام میدهند این است که بدافزار را به مدت طولانی در سیستم مخفی نگه میدارند. در اینجا مخفی نگهداشتن آلودگی برای اجرای عملیات خرابکارانه ملاک است.
هنگامی که کیت بهرهوری که آلودگی بدون فایل را حمل میکند وارد سیستم شد، بدافزار میتواند هدفش را نهایی کند.
در حقیقت این یک بدافزار معمولی نیست!
علاوه بر این، مجرمین سایبری میتوانند جوری بدافزارهای بدون فایل را برنامهنویسی کنند که بعد از نوشتن بهصورت مستقیم درون رم (RAM) کاملاً دائمی شود. زیرا از این طریق میتوانند خودشان را در جایی پنهان کنند که آنتیویروسهای مرسوم نتوانند آنها را اسکن کنند یا بیابند. اینگونه آلودگیهای دائمی و مخفی میتوانند مشکل اساسی برای کامپیوتر شما باشند:
1. بدافزار مقیم در حافظه (Memory-resident malware) – اینگونه بدافزارِ شبه بدون فایل، میتواند از فضای مموریِ یک پردازش یا فایل معتبر ویندوز استفاده کند. کد مخربش را داخل فضای مموری بارگذاری میکند و تا زمانی که پیدا شود در آنجا باقی میماند. شاید این مورد کاملاً از نوع بدافزار بدون فایل نباشد اما میتوانیم آن را در این دسته قرار دهیم.
2. روت کیت ها (Rootkits) – اینگونه بدافزار خودش را پشت یک کاربر کامپیوتر مخفی میکند تا بتواند به اکانت ادمین دسترسی پیدا کند. روت کیتها اغلب اوقات در کرنل قرار میگیرند، بنابراین با وجود اسکن شدن و ریست شدن کامپیوتر، کماکان دوام دارند. پنهانکاری آن بسیار عجیب و غیرطبیعی است و پاک کردن آن تقریباً غیرممکن میباشد. اما با اینکه اینگونه بدافزار نیز کاملاً از انواع آلودگی بدون فایل نیست، اما در همین دسته جای میگیرد.
3. بدافزار رجیستری ویندوز (Windows registry) – بدافزارهای جدید بدون فایل میتوانند در رجیستری جای گیرند. رجیستری ویندوز جایی است که تنظیمات سطح پایین سیستمعامل و اپلیکیشنهای مشخص در آن جای میگیرند. به عنوان یک کاربر معمولی، فهمیدن و حرکت در بخشهای مختلف رجیستری، سخت است. اما نویسندگان بدافزار حتی کش سیستمعامل را نیز برای ماندن در سیستم هک کردهاند. درست است که اینگونه بدافزار بدون فایل، کدی در فایل رجیستری اجرا میکند، اما هنگامی که مأموریتش را انجام داد، خودش را نابود میکند.
آیا میدانستید آنتیویروسهای رایج نمیتوانند بدافزارهای بدون فایل را کشف/پاک کنند؟
اما صبر کنید! موضوع حتی از این جالبتر نیز میشود!
آلودگی بدافزار بدون فایل اولین بار در آبان 2014 مشاهده شد، که نام آن Poweliks Trojan بود. این بدافزار برای نخستین بار طوری طراحی شده بود که “نوعی کلاهبرداری مبتنی بر کلیک” (Click-fraud) ایجاد کند اما درگذر زمان بسیار تکامل یافت.
اینگونه آلودگی، چشماندازی جدید برای سازندگان بدافزار ایجاد کرد. آنها اکنون میتوانند:
• بدافزارهای جدیدی بسازند که بتوانند سیستم را بدون اینکه دیده شوند، آلوده سازند.
• از طریق توزیع بدافزارهای موفق بدون فایل، سود ببرند.
• بدافزارِ “دزدی اطلاعات یک بار مصرف” را اجرا کنند تا اطلاعاتی درباره کامپیوتر آلوده، قبل از آلوده کردن آن با بدافزار دیگر به دست آورند.
• پی لود را بعد از بهرهوری به رجیستری انتقال دهند تا بتواند بهصورت دائم در آنجا بماند.
• برای پیدا کردن و در اختیار گرفتن سریعتر آسیبپذیریها از کیتهای بهرهوری ماژولار، انعطافپذیر و مناسب استفاده کنند.
• از آسیبپذیری روز صفر( Zero- Day) استفاده کنند تا بتوانند تعداد بیشتری از کامپیوترها را آلوده سازند.
• پول سریع و راحتی از طریق آلوده کردن ماشین با باج افزار به دست آورند.
شاید شما در این نقطه بپرسید:
آیا هیچگونه ایرادی در استفاده از بدافزار بدون فایل وجود ندارد؟
بله وجود دارد!
به دلیل اینکه بدافزار بدون فایل در رم کامپیوتر اجرا میشود، فقط هنگامی که کامپیوتر شما روشن است میتواند کار کند. یعنی حملهکنندگان، فرصت کمتری برای اجرای حمله و نفوذ به سیستمعامل دارند.
این موضوع صحیح است که اگر ما کامپیوترمان را به مدتزمان بیشتری روشن نگاه داریم، سبب میشود که مجرمین سایبری زمان بیشتری برای آلوده کردن کامپیوترمان داشته باشند.
آلودگی بدون فایل چگونه کار میکند؟
در اینجا یک سناریوی واقعی را درباره نحوه آلوده کردن بدافزار بدون فایل نشان میدهیم.
- شما از گوگل کرومی استفاده میکنید که پلاگین فلش روی آن نصب است. البته میتواند هر مرورگر دیگری که از جاوا اسکریپت پشتیبانی میکند باشد.
- پلاگین فلش شما بروز نیست، چون برای آن آپدیت نصب نکردهاید.
- شما وارد سایتی میشوید که کیت بهرهوری Angler را ارائه میدهد.
- این کیت بهرهوری شروع به اسکن برای آسیبپذری میکند و یک آسیبپذیری در پلاگین فلش شما پیدا میکند. بنابراین بلافاصله شروع به اجرای پی لود در مموری کروم میکند.
- اگر برای مثال پی لودِ (payload) بدافزار، نوعی باج افزار باشد، به “سرور کنترل و فرمانی(Command & Control servers) که تحت کنترل حملهکننده است ” متصل میشود تا کلید رمزنگاری را دریافت کند
- گام آخر، رمزنگاری داده روی کامپیوتر شما است، این باج افزار کامپیوتر شما را قفل میکند و برای باز کردن آن درخواست باج میکند.
همانطور که میبینید، پی لود (بخشی از بدافزار که عمل مخرب را انجام میدهد) بهصورت مستقیم به پردازشی که قصد بهرهوری از آن را داریم، تزریق میشود و در رم کامپیوتر اجرا میگردد.
حملهکنندگان برای اینکه از دیده شدن بهوسیله آنتیویروسهای مرسوم در امان بمانند، برنامه بدافزار را روی دیسک نصب نمیکنند، چون از طریق اسکن امضا (Signature) مشاهده میشود.
راهحلهای آنتیویروسی مرسوم، هنگامی میتوانند پی لودهای مخرب را کشف کنند که روی دیسک قرار گیرند یا روی رم اجرا گردند (البته به ندرت)، اما تنها در زمانی که بهرهوری صورت گرفته است.
اکنون ببینیم چگونه پاولیکس (Poweliks) یکی از اولین بدافزارهای کشف شده، میتواند کامپیوتر را با باج افزار آلوده کند، در حالی که “کلاهبرداری مبتنی بر کلیک” (click-fraud) را نیز اجرا میکند.
پاولیکس شامل لیست کلمات کلیدی پیشفرضی است تا درخواستهایی برای تبلیغات تولید کند. این تهدید جوری وانمود میکند که قربانی بهصورت قانونی این کلمات کلیدی را جستجو کرده است و سپس با یک شبکه تبلیغاتی ارتباط برقرار میکند تا قربانی را به آنجا متصل کند. پاولیکس درخواستی به URLی که از طریق شبکه تبلیغاتی ارائه شده، ارسال میکند و سپس هزینهای برای دانلود تبلیغات (کلیک روی تبلیغات) دریافت میکند….
برخی از درخواستهای تبلیغاتی که پاولیکس دریافت میکند میتواند منجر به نمایش صفحات وب مخرب روی کامپیوتر قربانی شود. این مورد سبب میشود که فرصتی برای ورود بقیه بدافزارها ایجاد شود. برای مثال یکی از سایتهایی که بهوسیله پاولیکس مرور شد، تبدیل به تروجان شد. در حقیقت Cryptowall روی این کامپیوتر نصب شد.
گاهی اوقات کلاهبرداری مبتنی بر کلیک با تبلیغ افزار ترکیب میشود.
در حالی که تبلیغات به قربانیان نشان داده نمیشوند، دانلود و پردازش تبلیغات نیازمند پردازش و مصرف پهنای باند شبکه است، که میتواند منجر به آلودگیهای دیگر قربانیان شود. این مورد میتواند منجر به تعداد بسیار زیادی تهدیدات روی کامپیوتر قربانی شود، یا حتی کامپیوتر قربانی به دلیل ورود باج افزار، کاملاً قفل شود.
من به نحوه کار کردن بدافزارهای بدون فایل پی بردم، شما نیز یاد بگیرید.
کیتهای بهرهوری (اکسپلویت کیتها) – وجود این موارد برای آلودگی بدون فایل الزامی هستند.
در هر آلودگی بدافزار بدون فایل، کیتهای بهرهوری نقش مهمی ایفا میکنند. کیتهای بهرهوری برنامههای نرمافزاری هستند که برای پیدا کردن ضعفها و مشکلات در اپلیکیشن ها جهت نفوذ به کامپیوتر یا هر سیستم دیگری استفاده میشوند.
در حال حاضر کیت بهرهوری Angler را معرفی کردیم و یک دلیلی برای این کار وجود دارد. این کیت بدون فایل میتواند آلودگیهای بدون فایل را ارسال کند، بسیار انعطافپذیر است و نرخ کشف پایینی توسط آنتیویروسها دارد. به این معنی است که میتواند محدوده وسیعی از بدافزارها را بدون دیده شدن گسترش دهد (بدافزارهایی مثل تروجآنهای بانکی تا باج افزارها)
دو فاکتور اساسی برای افزایش آلودگی بدافزار بدون فایل وجود دارد:
1. حقیقت این است که “کیتهای بهرهوری تحت عنوان یک سرویس” بسیار رایج شدهاند و مجرمین سایبری همه تلاش خود را برای استفاده مناسب از آنها میکنند.
2. حقیقت بعدی این است که سازندگان بدافزار روزانه 230.000 بدافزار جدید تولید میکنند. که دست حملهکنندگان را برای استفاده از آنها باز میگذارد.
Angler تنها کیت بهرهوری که مجرمین سایبری از آن استفاده میکنند، نمیباشد. اگرچه یکی از محبوبترین آنها است
در اواخر بهمن 2015، تیم ما کمپینی را که از بدافزار کاوتر (Kovter، تروجانی بدون فایل) استفاده میکرد، و هر دو ویژگی مخفی ماندن و ماندگاری را در خود داشت و در کمپین اسپم IRS علیه قربانیان بی اطلاع مورد استفاده قرار گرفته بود آنالیز کرد
همانطور که اغلب اوقات اتفاق میافتاد، کاوتر فضا را برای ورود بقیه بدافزارها از جمله CoreBOT (بدافزاری که از سرقت اطلاعات به بدافزار مالی رشد کرد.) باز میکرد.
مجرمین سایبری به سرعت در حال پیشرفت هستند، زیرا هدف اصلی آنها به دست آوردن پول است. مقدار زیادی پول با سرعتی زیاد.
به همین دلیل هنگامی که کیتهای بهرهوری تجاری شامل تکنیکهای آلوده سازی بدون فایل، توزیع شدند، حتی بسیاری از متخصصین امنیت سایبری را متعجب کرد. باور آن بسیار سخت بود که مجرمین سایبری دوام را قربانی کنند تا کشف حملاتشان سخت شود. برای دزدیدن مقدار زیادی اطلاعات یا خالی کردن اکانت بانکی، آنها نیازمند زمان زیادی هستند. این افراد از زمان استفاده میکنند تا مکانیزم دفاعی کاربر را با موفقیت رد کنند و دادهها را جمعآوری کنند
اما حقیقت این است که در سالهای اخیر، همهچیز فرق کرده است و در سالهای آتی این نوع بدافزارها بیشتر دیده خواهند شد.
نحوه حفاظت کامپیوتر از آلودگی بدون فایل
در اوایل ارایه این بدافزار بدون فایل، سبب شد که کامپیوترها بهکندی کار کنند، زیرا از رم برای اجرای حمله استفاده میکردند. بنابراین پیدا کردن آنها بهسادگی صورت میگرفت.
اما مجرمین سایبری به سرعت تاکتیکهایشان را بهبود بخشیدند و این بدافزار را جوری برنامهنویسی کردند که آلودگی بدون فایل، قابلشناسایی نباشد.
بنابراین بهترین راه برای حفاظت شما از آلودگی بدافزار بدون فایل این است که قبل از اتفاق افتادن این آلودگی، از بروز آن جلوگیری کنید.
این جمله به نظر صحیح است، اما چگونه این کار را انجام دهیم؟
سطح 1: اپلیکیشن ها و سیستمعامل را بهروزرسانی کنید
بسیاری از افراد بهروزرسانیها را به دلایلی مثل موارد زیر نادیده میگیرند:
“سبب مصرف بیشتر رم کامپیوتر من میشود”
یا
“شاید منجر به کند شدن کامپیوتر من شود”
یا حتی:
“شاید باعث بروز مشکلات عدم سازگاری با سیستمعامل یا بقیه اپلیکیشن ها شود.”
اما به این نکته توجه کنید که ما اکنون در 20 سال پیش زندگی نمیکنیم و آپدیتهای امنیتی برای سیستم ما حیاتی هستند.
بروز نگهداشتن اپلیکیشن ها و سیستمعامل سبب کاهش 85 درصدی حملات “هدفگیری” میشود (حملات سایبری که آسیبپذیری خاصی را روی کامپیوتر شما هدف میگیرند).
اگر از بهروزرسانی دستی نرمافزارها متنفر هستید میتوانید بهوسیله نرمافزاری که این کار را بهصورت اتوماتیک انجام میدهد اقدام کنید.
سطح 2: بستن صفحاتی که کیت بهرهوری دارند.
آلودگی هنگامی شروع میشود که شما وارد سایتی میشوید که کیت بهرهوری را در خود جای داده است. اما اگر از یک محصول امنیتی فعال استفاده کنید، میتواند صفحه را به محض ورود به آن ببندد، بنابراین کیت بهرهوری نمیتواند به اپلیکیشنهای کامپیوتر شما برسد (در این مورد مرورگر شما).
اما چگونه این کار صورت میگیرد؟
از طریق دانستن اینکه این سایت به مجرمین سایبری تعلق دارد. حملهکنندگان، برای زیرساختهایشان سرمایهگذاری زیادی میکنند، بنابراین آن را به ندرت تغییر میدهند (زیرا زمان و پول زیادی برای این کار نیاز است.). بنابراین این روش کشف برای امنیت آنلاین شما بسیار حائز اهمیت است.
سطح 3: بستن پیلود ارسالی
هنگامی که یک کیت بهرهوری آسیبپذیریای را در سیستم شما شناسایی کرد، بهصورت اتوماتیک به سرور تحت اداره هکرها متصل میشود و شروع به دانلود پیلود و قرار دادن آن در رم میکند. اما اگر شما کاملاً حفاظت شده باشید و محصول امنیتی شما متوجه شود که کیت بهرهوری در حال اتصال به سرور مخرب است، این محصول، دانلود پی لود را قطع میکند.
دوباره آلودگی بدون فایل قبل از وقوع متوقف میشود. حتی باجافزار هم نمیتواند کمکی بکند!
سطح 4: قطع ارتباط بین کامپیوتر شما و سرور حملهکننده
فرض کنید پیلود از طریق آسیبپذیری روز صفر (Zero Day، آسیبپذیری در نرمافزار به دلیل اینکه سازندگانش اطلاعی درباره آن آسیبپذیری ندارند) موفق به ورود به سیستم شما شده باشد.
سطح بعدی حفاظت اطمینان میدهد که محصول امنیتی فعال، ارتباط بین کامپیوتر شما و سرور تحت کنترل آنها را بلاک کند.
به این وسیله، حملهکنندگان موفق به دریافت دادههای جمع آوری شده از کامپیوتر شما نخواهند بود، بنابراین تلاش برای جمعآوری داده بیهوده خواهد شد. علاوه بر این مجرمین سایبری موفق به آلوده ساختن کامپیوتر شما با بدافزارهای دیگر نخواهند بود.
این روش دیگری است که برای حفاظت از بدافزار بدون فایل میتوانید استفاده کنید.
محصولات آنتیویروس رایج، قادر به ارایه این نوع حفاظت نخواهند بود، اما راه حل هایی وجود دارند که قادر به این کار هستند. البته رایگان نیستند، اما داشتن امنیت چندلایهای بسیار ارزشمند است. افرادی که قربانی حملات باج افزارها بودند، میتوانند این موضوع را تصدیق کنند.
منابع آنالیز فنی بدافزارهای بدون فایل
اگر از نظر فنی قوی نیستید و میخواهید بیشتر درباره بدافزارهای بدون فایل مطالعه کنید، آنالیزهای دقیقی وجود دارند که میتوانید آنها را بررسی کنید.
در اینجا بهترین آنها را انتخاب کردیم که عبارتند از:
• پیشرفت بدافزارهای کلاهبرداری مبتنی بر کلیک
• اکنون Angler EK قادر به آلودگی بدون فایل است (بدافزار مموری)
• Fesseleak: کمپین باج افزار تبلیغاتی پیشرفته روز صفر
• ریشه کن کردن سیستمی که بهوسیله پاولیکس آلوده شده است
• بررسی دقیق ارایه کننده بهرهوری بدون فایل Angler
نتیجهگیری
از آنجایی که استفاده از کامپیوتر برای زندگی ما بسیار مهم شده است، معتقدیم که امنیت سایبری نیز اهمیت فراوانی پیدا کرده است. نه به دلیل اینکه ما بخشی از این صنعت هستیم، بلکه به این دلیل که تکنولوژی بسیار پیچیده است و آسیبپذیریهای زیادی وجود دارند و غیر قابل اجتناب هستند.
آن دسته از افرادی که امنیت را بهصورت آنلاین فرا میگیرند، از نظر امن کردن دستگاهها و حفاظت دادههایشان نسبت به بقیه افراد جلوتر هستند.
شما نیز میتوانید این کار را انجام دهید! خواندن این مقاله، اثباتی برای این قضیه است.