چهارشنبه, ۱۸ مهر, ۱۴۰۳ / 9 October, 2024
مجله ویستا
آشنایی با عملکرد ویروسهای مقیم در حافظه
ویروسهای مقیم در حافظه همان طور که از اسم آنها بر می آید با قرار گرفتن در حافظه سیستم شروع به تکثیر و آلوده سازی می کنند. به این ویروسها ویروسهای با عملکرد غیر مستقیم نیز می گویند .
چرا که مستقیما دنبال فایلی برای آلوده سازی نمی گردند بلکه پس از مقیم شدن در حافظه فایلهایی را که متعاقبا در دسترس قرار گیرند آلوده می کنند همچنین بعضی از ویروسهای مقیم در حافظه با عنوان آلوده کننده های سریع نیز شناخته می شوند که علت این مطلب در همین مقاله ذکر خواهد شد.
● مقایسه عملکرد ویروسهای مقیم و غیر مقیم :
ویروسهای مقیم در حافظه در مقایسه با ویروسهای غیر مقیم دارای سرعت تکثیر بیشتری هستند ولی در مدت زمانی طولانی ممکن است تعداد کمتری از فایلها را آلوده کنند. به این ترتیب که ویروسهای غیر مقیم تنها در صورتی که اجرا شوند شروع به آلوده سازی سیستم می کنند و تا وقتی که فایل آلوده به این گونه ویروسها اجرا نشود شروع به تکثیر نمی کنند ، بنا براین دارای سرعت تکثیر پایینی هستند . اما از آنجا که بعد از اجرا شدن بر اساس جستجوی فایل عمل آلوده سازی را انجام می دهند در مدت زمان طولانی ممکن است کل فایلهای کامپیوتر را آلوده کنند.
در عوض ویروسهای مقیم در حافظه پس از مقیم شدن به محض اینکه فایلی در دسترس قرار گیرد آن را آلوده می کنند ، بنا بر این دارای سرعت تکثیر بالایی هستند اما از آنجا که تنها بعضی از فایلهای اجرایی آن هم بیشتر به هنگام اجرا شدن در دسترس ویروس قرار می گیرند ، لذا از این نظر در طولانی مدت ممکن است تعداد کمتری فایل را آلوده کنند.
● مزایای ویروسهای مقیم در حافظه بر ویروسهای غیر مقیم
ویروسهای مقیم در حافظه چون عملیات جستجوی فایل ندارند و به محض اجرا در حافظه مقیم می شوند معمولا احتمال اینکه به واسطه اجرا توسط کاربر کشف شوند بسیار کم است . در مورد ویروسهای غیر مقیم به علت عملیات جستجو که انجام می گیرد گاه فایل اصلی با کمی تاخیر اجرا می شود یا در مورد بعضی از آنها به خاطر اینکه سطح وسیعی از دیسک س خت را جستجو و آلوده می کنند ، کاربر متوجه کار کردن بی دلیل دیسک سخت می شود در حالی که از قبل این گونه نبوده است و همین مطلب احتمال کشف ویروس توسط را زیاد می کند . اما در مورد ویروسهای مقیم در حافظه چون عملیات جستجو وجود ندارد این احتمال بسیار کمتر است .
همچنین بعضی از ویروسهای مقیم در حافظه هنگامی که خودشان در حافظه مقیم باشند با در اختیار گرفتن توابع خاصی از وقفه های DOS مقادیر اولیه اندازه تاریخ و زمان فایل های آلوده به همان ویروس را نشان می دهند و به این ترتیب نمی گذارند که کاربر به واسطه تغییر اندازه فایل یا احتمالا تغییر تاریخ و زمان فایل متوجه آلوده بودن آن شود لذا باز هم احتمال کشف شدن ویروس توسط کاربر کاهش می یابد.
▪ نکته : بعضی از ویروسهای مقیم در حافظه قبل از اینکه در حافظه قرار بگیرند مانند ویروسهای فایلی با عملکرد مستقیم به جستجوی فایل می پردازد و تعدادی از فایلها (معمولا فایلهای سیستمی) را آلوده می کنند و سپس در حافظه مقیم می شوند.
● ساختار کلی ویروسهای مقیم در حافظه :
ویروسهای مقیم در حافظه دارای دو بخش هستند یک بخش غیر مقیم که قبل از اینکه ویروس در حافظه مقیم شود اجرا می شود و بخش دیگر پس از مقیم شدن ویروس در حافظه. بخش اول هنگامی اجرا می شود که فایلی آلوده به ویروس توسط کاربر اجرا شود و وظیفه تخصیص حافظه و قرار دادن ویروس در حافظه و انتقال بردار وقفه مورد نظر را به ویروس بر عهده دارد . اما بخش دوم زمانی اجرا می شود که برنامه ای با فراخوانی وقفه ای که در اختیار ویروس است بخواهد کار خاصی را انجام دهد . در این حالت ویروس که سر راه دسترسی به وقفه مزبور نشسته است فعال می شود و عملیات تکثیر تخریب یا مخفی کاری (برای جلوگیری از کشف ویروس توسط کاربر) را انجام می دهد . در اینجا به توضیح مراحل بخش اول ( غیر مقیم ) می پردازیم :
▪ تست مقیم بودن ویروس در حافظه:
در این قسمت ویروس معمولا با استفاده از یکی از توابع استفاده نشده از وقفه ای که توسط ویروس در اختیار گرفته شده است و فرستادن پارامترهای خاص و فراخوانی وقفه مزبور مقیم بودن خود را در حافظه چک می کند . در صورتی که ویروس در حافظه مقیم نباشد پارامترهای برگشتی از طرف سیستم عامل خواهد بود و چون ویروس این پارامتر ها را انتظار ندارد متوجه می شود که در حال حاضر ویروس در حافظه مقیم نیست اما در صورتی که خود ویروس از قبل در حافظه مقیم شده باشد به واسطه ارسال پارامترهایی خاص به برنامه فراخوان ویروس متوجه می شود که از قبل در حافظه مقیم شده است لذا بدون اینکه مجددا در حافظه مقیم شود کنترل را به برنامه اصلی می دهد تا اجرا شود.
▪ تخصیص حافظه :
ویروسها به دو روش کلی در حافظه مقیم می شوند :
۱) با استفاده از وقفه ۲۷h یا تابع ۳۱h از وقفه ۲۱h
۲) با استفاده از دستکاری زنجیره MCB(Memory Control Black) در حافظه .
در روش اول پس از اینکه قسمت غیر مقیم اجرا شد ویروس با استفاده از فراخوانی وقفه ۲۷h و یا تابع ۳۱h از وقفه ۲۱h اجرای خود را خاتمه می دهد و به صورت مقیم در حافظه قرار می گیرد ویروسهایی که از این روش استفاده می کنند بخش تخصیص حافظه را خودشان انجام نمی دهند و این بخش را سیستم عامل با توجه به پارامترهای ورودی انجام می دهد . پس بخش تخصیص حافظه فقط مربوط به ویروسهایی است که از روش دوم برای مقیم شدن استفاده می کنند.
در روش دوم ویروسها ابتدا یک قسمت خالی از حافظه را برای اینکه کدشان را در آن قرار دهند پیدا می کنند (پیدا کردن فضای خالی در حافظه نیز دارای روشهای متنوعی است) سپس به صورت دستی در ابتدای بلاک تخصیص یافته DTA را تشکیل می دهند و بعد با دستکاری زنجیره MCB خود را در وسط یا انتهای این زنجیره قرار می دهند این عملیات باعث می شود که این قسمت از حافظه به ویروس اختصاص داده شده و توسط برنامه های دیگر اشغال نشود.
۳) کپی ویروس در حافظه :
این بخش مخصوص آن دسته از ویروس های مقیم در حافظه است که از روش دستکاری زنجیره MCB برای تخصیص حافظه استفاده می کنند . در این قسمت ویروس از ابتدا تا انتهای خود را در بلاک اختصاص داده شده در حافظه کپی می کند.
۴) تغییر بردار وقفه مورد نظر و اشاره آن به ویروس :
در این قسمت ویروس با دستکاری آدرس وقفه مورد نظر در جدول بردار وقفه ها که از آدرس ۰۰۰۰:۰۰۰۰ شروع می شود آخرین مرحله مقیم شدن را انجام می دهد . معمولا ویروسها وقفه های ۲۱h و ۹h , ۱۳h را در اختیار می گیرند . ویروسها با در اختیار گرفتن وقفه ۲۱h برای عملیات تکثیر و مخفی کاری وقفه ۹h برای عملیات تخریبی دیسک ها یا جلوگیری از دسترسی کاربر به اطلاعات دیسک ها استفاده می کنند در این بخش ویروس آدرس وقفه های مورد نظر خود را از جدول بردار وقفه ها برداشته و درون قسمتی از ویروس کپی شده در حافظه ذخیره می کند و به جای آن آدرس بخش مقیم خود را قرار می دهد در نتیجه هر بار که برنامه ای این وقفه ها را فراخوانی کند ابتدا بخش مقیم ویروس اجرا شده و پس ار آن وقفه اصلی (که آدرس آن درون بخش مقیم ویروس توسط بخش غیر مقیم ذخیره شده است)اجرا می شود.
۵) خاتمه اجرای بخش غیر مقیم ویروس و اجرای برنامه اصلی فایل آلوده :
در این مر حله دیگر ویروس در حافظه مقیم شده است لذا ویروس کنترل را به برنامه اصلی می دهد تا برنامه اصلی اجرا شود و کاربر متوجه اجرای ویروس نشود.
http://yosafy.blogsky.com/
وایرال شده در شبکههای اجتماعی
ایران مسعود پزشکیان دولت چهاردهم پزشکیان مجلس شورای اسلامی محمدرضا عارف دولت مجلس کابینه دولت چهاردهم اسماعیل هنیه کابینه پزشکیان محمدجواد ظریف
پیاده روی اربعین تهران عراق پلیس تصادف هواشناسی شهرداری تهران سرقت بازنشستگان قتل آموزش و پرورش دستگیری
ایران خودرو خودرو وام قیمت طلا قیمت دلار قیمت خودرو بانک مرکزی برق بازار خودرو بورس بازار سرمایه قیمت سکه
میراث فرهنگی میدان آزادی سینما رهبر انقلاب بیتا فرهی وزارت فرهنگ و ارشاد اسلامی سینمای ایران تلویزیون کتاب تئاتر موسیقی
وزارت علوم تحقیقات و فناوری آزمون
رژیم صهیونیستی غزه روسیه حماس آمریکا فلسطین جنگ غزه اوکراین حزب الله لبنان دونالد ترامپ طوفان الاقصی ترکیه
پرسپولیس فوتبال ذوب آهن لیگ برتر استقلال لیگ برتر ایران المپیک المپیک 2024 پاریس رئال مادرید لیگ برتر فوتبال ایران مهدی تاج باشگاه پرسپولیس
هوش مصنوعی فناوری سامسونگ ایلان ماسک گوگل تلگرام گوشی ستار هاشمی مریخ روزنامه
فشار خون آلزایمر رژیم غذایی مغز دیابت چاقی افسردگی سلامت پوست