به گزارش جام جم کلیک: یک فایل اجرایی (exe) دنباله ای است از اعداد باینری که شامل بخش های کد و داده میباشد. فایلهای اجرایی استاندارد که توسط کامپایلر ایجاد میشوند را به راحتی میتوان تحلیل کرد. یعنی میتوان با استفاده از ابزارهای موجود همانند دیباگرها، کدهای موجود در فایل را مورد بررسی قرار داده و به رفتار و شیوه عملکرد آنها پیبرد.
امروزه برنامه نویسان و شرکتهای برنامه نویسی علیالخصوص ویروسنویسان برای اینکه افراد به راحتی نتوانند به کدهای نوشته شده توسط آنها نفوذ کنند و برای محافظت از برنامه های خود، فایل اجرایی برنامه را قبل از انتشار با استفاده از ابزارهایی به نام پَکر (Packer)، پَک (Pack) مینمایند.
پَک کردن اصطلاحی است که به صورت کلی برای تغییر شکل دادن فایلهای اجرایی به کار برده میشود. پکرها نیز ابزارهایی هستند که با دریافت یک فایل اجرایی به عنوان ورودی، تغییراتی را در دنباله باینری اعم از کد و دیتای آن ایجاد میکنند تا شکل ظاهری آن با فایل اصلی متفاوت باشد، اما رفتار آن بدون تغییر باقی بماند.
تغییر شکل ظاهری فایل اجرایی، علاوه بر اینکه تحلیل و نفوذ به کد این فایلها را دشوار میسازد، دارای مزیت مهم دیگری نیز برای ویروس نویسان میباشد. آنتی ویروسها در مرحله اول برای تشخیص ویرسها از امضای باینری استفاده میکنند، حال با تغییر شکل ظاهری ویروس با استفاده از پکر، به دلیل اینکه امضای موجود در ویروس نیز تغییر مییابد، آنتی ویروسها از طریق امضای باینری قادر به شناسایی ویروس نیستند و باید از روشهای دیگری بهره بگیرند.
پکرهای مختلف دارای مکانیزم و اهداف متفاوتی میباشند. بعضی از پکرها همانند upx برای فشردهسازی و کاهش حجم فایل مورد استفاده قرار میگیرند. در این نوع پکرها هدف اصلی فشردهسازی فایل میباشد و معمولا مکانیزمی برای جلوگیری از تحلیل وجود ندارد. برنامه نویسان نیز برای اهداف مختلف همانند آسان بودن انتقال فایل، از این نوع پکرها استفاده میکنند. برخی دیگر از پکرها، بیشتر برای محافظت و جلوگیری از نفوذ به کد برنامه مورد استفاده قرار میگیرند. این نوع پکرها در واقع بخشهایی به فایل اجرایی اضافه میکنند که معمولا حجم فایل نهایی را افزایش میدهند و همچنین افراد به راحتی قادر نخواهند بود این فایلهای را با استفاده از ابزارهای موجود تحلیل کنند و به کد اصلی دست پیدا کنند.
اخیرا استفاده از این نوع پکرها در بین ویروسنویسان حرفهای متداول شدهاست، بدین دلیل که آنتی ویروسها به راحتی قادر به درک رفتار اصلی فایل و همچنین تهیه امضا از این فایلها نیستند.
پکرها از نگاهی دیگر به دو دسته چندریختی (polymorphism) و غیر چندریختی تقسیم میشوند. در پکرهای چندریختی، در هر دفعه پک کردن فایل با استفاده از این پکرها، فایلهای متفاوتی تولید میشود، اما در پکرهای غیر چندریختی، در هر دفعه پک کردن یک فایل با استفاده از این پکرها، فایل خروجی یکسانی تولید خواهد شد.
بر اساس آمار بیان شده در shadow server، در حال حاضر پکر upx متداول ترین پکر بین ویروسنویسان میباشد. از دلایل این امر میتوان به رایگان بودن این پکر اشاره کرد. یکی از دلایل دیگر برای متداول بودن پکر upx این است که این پکر به راحتی میتواند هر نوع فایلی را بدون ایجاد مشکل در رفتار آن پک نماید. برخی دیگر از متداولترین پکرها عبارتند از:
در مقابل پکرها، ابزارهایی به نام آنپکر (Unpacker) نیز وجود دارند که کار آنپک کردن را انجام میدهند. این ابزارها با دریافت فایلهای پک شده، فایل اصلی را از داخل آن استخراج میکنند. یکی از روشهایی که آنتیویروسها از طریق آن ویروسهای پک شده را شناسایی میکنند، استفاده از آنپکر میباشد.
احمد پریجایی مقدم
پادویش
در یادداشتی اختصاصی برای جام جم آنلاین مطرح شد
یک کارشناس روابط بینالملل در گفتگو با جامجمآنلاین مطرح کرد
در گفتگو با جام جم آنلاین مطرح شد
در گفتگو با جام جم آنلاین مطرح شد