روش‌های پنهان کردن امضای ویروس

پَکِرها، ابزاری در دست ویروس‌نویسان

امروزه برنامه نویسان و شرکت‌های برنامه نویسی علی‌الخصوص ویروس¬نویسان برای اینکه افراد به راحتی نتوانند به کد‌های نوشته شده توسط آنها نفوذ کنند، فایل اجرایی برنامه را قبل از انتشار با استفاده از ابزارهایی به نام پَکر (Packer)، پَک (Pack) می‌نمایند.
کد خبر: ۷۴۷۶۴۳
پَکِرها، ابزاری در دست ویروس‌نویسان

به گزارش جام جم کلیک: یک فایل اجرایی (exe) دنباله ای است از اعداد باینری که شامل بخش های کد و داده می­باشد. فایل‌های اجرایی استاندارد که توسط کامپایلر ایجاد می‌شوند را به راحتی می‌توان تحلیل کرد. یعنی می­توان با استفاده از ابزارهای موجود همانند دیباگرها، کدهای موجود در فایل را مورد بررسی قرار داده و به رفتار و شیوه عملکرد آنها پی­برد.

امروزه برنامه نویسان و شرکت‌های برنامه نویسی علی­الخصوص ویروس­نویسان برای اینکه افراد به راحتی نتوانند به کد­های نوشته شده توسط آنها نفوذ کنند و برای محافظت از برنامه های خود، فایل اجرایی برنامه را قبل از انتشار با استفاده از ابزارهایی به نام پَکر (Packer)، پَک (Pack) می­نمایند.

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

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

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

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

پکرها از نگاهی دیگر به دو دسته چندریختی (polymorphism) و غیر چندریختی تقسیم می­شوند. در پکرهای چندریختی، در هر دفعه پک کردن فایل با استفاده از این پکرها، فایل‌های متفاوتی تولید می­شود، اما در پکرهای غیر چندریختی، در هر دفعه پک کردن یک فایل با استفاده از این پکرها، فایل خروجی یکسانی تولید خواهد شد.

بر اساس آمار بیان شده در shadow server، در حال حاضر پکر upx متداول ترین پکر بین ویروس­نویسان می‌باشد. از دلایل این امر می‌توان به رایگان بودن این پکر اشاره کرد. یکی از دلایل دیگر برای متداول بودن پکر upx این است که این پکر به راحتی می‌تواند هر نوع فایلی را بدون ایجاد مشکل در رفتار آن پک نماید. برخی دیگر از متداول‌ترین پکرها عبارتند از:

  1. Aspack
  2. Pecompact
  3. Fsg
  4. Themida
  5. Packman

در مقابل پکرها، ابزارهایی به نام آنپکر (Unpacker) نیز وجود دارند که کار آنپک کردن را انجام می­دهند. این ابزارها با دریافت فایل‌های پک شده، فایل اصلی را از داخل آن استخراج می­کنند. یکی از روش­هایی که آنتی­ویروس‌ها از طریق آن ویروس­های پک شده را شناسایی می­کنند، استفاده از آنپکر می­باشد.

احمد پریجایی مقدم
پادویش

newsQrCode
ارسال نظرات در انتظار بررسی: ۰ انتشار یافته: ۲
محمد
Iran, Islamic Republic of
۱۳:۲۹ - ۱۳۹۳/۰۹/۱۹
۰
۰
از مطلب مفید شما سپاسگزارم
محمد
Iran, Islamic Republic of
۱۳:۳۶ - ۱۳۹۳/۰۹/۱۹
۰
۰
مقاله بسیار جالبی بود.

نیازمندی ها