جمعه, ۱۴ اردیبهشت, ۱۴۰۳ / 3 May, 2024
مجله ویستا

آشنایی با یک ویروس ایرانی


آشنایی با یک ویروس ایرانی
● ویروس Mortezania.۲۶۷۶
این ویروس ایرانی، فایل‌‌های com و Partition Table دیسك سخت را آلوده می‌‌كند. اندازهٔ آن در فایل‌‌های com ، ۲۶۷۶ بایت است. ضمنا" برای این كه كنترل وقفه‌‌ی ۲۱H در هنگام بوت شدن سیستم را در اختیار بگیرد، یك روتین۹۰ بایتی را به انتهای فایل Command.com (یا هر Command Interperter دیگری كه توسط دستور SHELL در فایل Config.sys مشخص شده باشد) اضافه می‌‌نماید.
هنگامی كه فایل com آلوده به این ویروس اجرا می‌‌گردد، ویروس ابتدا به دنبال عبارت “COMSPEC =“ در Environment Block گشته و روتین ۹۰ بایتی مورد نظر خود را در انتهای فایلی كه نامش در جلوی عبارت “COMSPEC =“ است(معمولا" فایل C:command,com) را می‌‌نویسد. بعد از آن، سكتور شمارهٔ ۱ ساید شمارهٔ صفر از سیلندر صفر(سكتور (Partition Table دیسك‌سخت اول را خوانده و در صورتی كه قبلا" آلوده نشده باشد، یك كپی از آن را در سكتور ۲ ساید صفر از سیلندر صفر همان دیسك سخت قرار داده و سپس Partition Table را آلوده می‌‌كند. مابقی ویروس را نیز در سكتور ۳ به بعد می‌‌نویسد. بعد از آلوده كردن Partition Table، تاریخ سیستم را برابر با روز پنجم از ماه دهم (پنج اكتبر ) سال ۱۹۹۸ میلادی قرار می‌‌دهد و سپس فایل com اصلی اجرا می‌‌شود.
ویروس Mortezania ، توسط Partition Table آلوده، در حافظه مقیم می‌‌گردد. به این صورت كه وقتی سیستم با Partition Tabl آلوده راه‌‌اندازی می‌‌شود، ویروس ابتدا اندازهٔ حافظه‌‌ی Conventional را كه BIOS گزارش می‌‌كند، برابر با ۶۳۷ كیلوبایت قرار داده و سپس خود را از سكتور ۳ ساید صفر سیلندر صفر دیسك‌سخت، در آدرس ۹F۴۰:۰۱۰۰ حافظه كپی می‌‌كند. سگمنت ۹F۴۰ در فضای آدرس‌‌دهی بالاتر از ۶۳۷ كیلوبایت قرار دارد و چون اندازهٔ حافظه‌‌ی Conventional برابر با ۶۳۷ كیلوبایت قرار داده شده است، بنابراین سیستم عامل و برنامه‌‌های دیگری كه بعد از ویروس اجرا می‌‌‌‌شوند، از حافظه‌‌ی اختصاص داده شده به ویروس استفاده نخواهند كرد.
اكثر ویروس‌‌هایی كه در Partition Table یا Boot Sector را آلوده می‌‌كنند، برای در اختیار گرفتن حافظه‌‌ی مورد نیاز خود از چنین تكنیك‌‌هایی استفاده می‌‌نمایند.
بعد از مقیم شدن ویروس در حافظه، آدرس وقفه‌‌ی ۱۳H به آدرس ۹F۴۰:۰۸۳۹ تغییر یافته و ویروس، كنترل وقفه‌‌ی ۱۳H را در اختیار می‌‌گیرد. برای كنترل وقفه‌‌ی ۲۱H نیز از روتینی كه درCommand.com آلوده قرار داده شده و هنگام بوت شدن سیستم اجرا می‌‌شود، استفاده می‌‌گردد. این روتین، آدرس وقفه‌‌ی ۲۱H را به آدرس ۹F۴۰:۰۱۷D تغییر می‌‌دهد.
البته چنانچه سیستم با Partition Table آلوده راه‌‌اندازی نشود و ویروس در حافظه مقیم نباشد، اجرای Command.com آلوده و تغییر آدرس وقفه‌ی ۲۱H باعث Hang كردن سیستم خواهد شد.
بعد از آن كه ویروس در حافظه مقیم و فعال شد، كنترل توابع ۲ (خواندن سكتور) و ۳ (نوشتن بر روی سكتور) از وقفه‌‌ی ۱۳H و نیز توابع ۳D (باز كردن فایل) و ۴B (اجرای برنامه) از وقفه‌‌ی ۲۱H را در اختیار می‌‌گیرد.
به این ترتیب، اجازهٔ نوشتن بر روی سكتور ۱، ساید صفر، سیلندر صفر از دیسك‌سخت اول(Partition Table آلوده) با استفاده از تابع ۳ وقفه‌‌ی ۱۳H را نمی‌‌دهد. ضمنا" هنگام خواندن سكتور فوق با استفاده از تابع ۲ وقفه‌‌ی ۱۳H ، چنانچه تاریخ سیستم روز پنجم به بعد از ماه‌‌های ۱۱ و ۱۲ (نوامبر و دسامبر) سال‌‌های ۱۹۹۸ به بعد باشد، بر روی سكتور مذكور نوشته شده و اطلاعات آن را كلا" تخریب كرده و سیستم را Reset می‌‌كند. با از بین رفتن اطلاعات تقسیم‌‌بندی دیسك سخت، دیگر درایوهای منطقی قابل دسترسی نخواهند بود.
این ویروس در دقایق فرد، اجازهٔ باز شدن فایل‌‌های باپسوند BMP,PCX,GIF و JPG با استفاده از تابع ۳D وقفه‌‌ی ۲۱H را نمی‌‌دهد. همچنین هنگام اجرای فایل‌‌هایی با نام SCAN یا FINDVIRU با استفاده از تابع ۴B وقفه‌‌ی ۲۱H، پیغام زیر را نمایش داده و فایل‌‌های مذكور را اجرا نمی‌‌كند:
This Program Is Too Big To Fit In Memory.
این ویروس هنگام اجرای فایل‌‌های با پسوند com توسط تابع ۴B وقفه‌‌ی ۲۱H، آنها را آلوده می‌‌كند. درون فایل‌‌های آلوده به این ویروس، پیغام زیر را می‌‌توان مشاهده كرد:
A.Mortezania
این ویروس گونه‌‌های دیگری نیز دارد كه توسط نرم‌‌افزار ایمن قابل شناسایی و پاكسازی می‌‌باشد.