نرم افزارهای آنتی ویروس اختصاصاً بخاطر دفاع از سیستمها در این برابر تهدیدهای ویروسها طراحی و نوشته میشوند. متخصصان امنیتی قویاً توصیه به استفاده از آنتی ویروس میکنند زیرا آنتی ویروس از رایانه شما نه تنها در این برابر ویروسها بلکه در این برابر انواع بدافزارها نیز محافظت میکند. ایرانی عکس در این این مقاله در این مورد آنتی ویروس و کاربرد آن بیشتر توضیح می دهد.
آنتی ویروس یک برنامه کامپیوتری است که بخاطر مرور فایلها و تشخیص و حذف ویروسها و دیگر بدافزارها از آن استفاده میشود.
در این حالت کلی آنتی ویروسها از دو تکنیک اصلی بخاطر رسیدن به اهدافشان استفاده میکنند:
- روش مبتنی بر کد (امضا): در این این روش با استفاده از یک دیکشنری ویروس که حاوی امضای ویروسهای شناخته شده است، احتمال وجود ویروسهای شناخته شده در این فایلها مورد بررسی و آزمایش قرار میگیرند.
- روش مبتنی بر رفتار: در این این روش هدف شناسایی رفتارهای مشکوک هر برنامه کامپیوتری است، زیرا احتمال دارد رفتار مذکور نشان دهنده یک آلودگی ویروسی باشد. اغلب آنتی ویروسهای تجاری از هر دو روش فوق ولی با تأکید بر روی امضای ویروس، استفاده میکنند. در این زیر روشهای مذکور را با تفصیل بیشتری توضیح میدهیم.
روش مبتنی بر کد (امضا)
اغلب برنامههای آنتی ویروس در این حال حاضر از تکنیک استفاده میکنند. در این این شیوه، رایانه میزبان، درایوهای حافظه و یا فایلها با هدف پیدا کردن الگویی که نشان دهنده یک بدافزار باشد، مورد جستجو قرار میگیرند. این الگوها معمولاً در این فایلهایی به نام فایلهای امضا ذخیره میشوند. فایلهای مذکور توسط فروشندگان نرم افزارهای آنتی ویروس طبق یک برنامه منظم به روز رسانی میشوند تا قادر باشند بیشترین تعداد ممکن حملههای بدافزاری را شناسایی کنند. مشکل اصلی تکنیک بررسی امضا این است که نرم افزار آنتی ویروس باید قبلاً به روز رسانی شده باشد تا بتواند به مقابله و خنثی سازی بدافزارها بپردازد و لذا بدافزارهای جدیدی که هنوز شناسایی نشده و به فایلهای امضا اضافه نشده اند تشخیص داده نمیشوند.
در این این شیوه زمانی که نرم افزار آنتی ویروس یک فایل را مورد آزمایش قرار میدهد، به یک دیکشنری ویروس که حاوی امضای ویروسهای شناخته شده است مراجعه میکند. در این صورتی که هر تکه از کد فایل با یک ویروس شناخته شده مطابقت داشته باشد، فایل مذکور به عنوان یک فایل آلوده شناسایی شده و آنتی ویروس یا آن را پاک میکند و یا آن را قرنطینه مینماید تا برنامههای دیگر به آن دسترسی نداشته و همچنین از انتشار آن جلوگیری به عمل آید. در این برخی موارد نیز امکان بازسازی فایل آلوده از طریق حذف ویروس از فایل اصلی وجود دارد که در این صورت امکان آنتی ویروس این کار را انجام میدهد.
همان طور که در این بالا نیز گفتیم، آنتی ویروسهای مبتنی بر امضا بخاطر موفق بودن در این درازمدت، نیاز دارند که مرتباً دیکشنری حاوی امضاهای ویروس را به صورت آنلاین به روز رسانی نمایند. زمانی که یک ویروس جدید در این دنیای رایانه پدیدار میشود، کاربران با تجربهتر فایلهای آلوده را بخاطر نویسندگان آنتی ویروسها ارسال میکنند تا آنها بتوانند ویروس مزبور را شناسایی کرده و مشخصات آن را به دیکشنری اضافه کنند.
آنتی ویروسهای مبتنی بر امضا غالباً فایلها را در این زمان اجرا، باز و بسته شدن و همچنین زمانی که ایمیل میشوند، مورد آزمایش قرار میدهند. به این وسیله یک ویروس شناخته شده به محض وارد شدن به رایانه تشخیص داده میشود. همچنین میتوان برنامههای آنتی ویروس را طوری برنامه ریزی کرد که در این زمانهای معینی به بررسی کل فایلهای موجود بر روی دیسک سخت بپردازند. با وجودی که روش مبتنی بر امضا مؤثر شناخته شده است ولی ویروس نویسان همواره تلاش میکنند تا یک قدم جلوتر از آنتی ویروسها حرکت کنند و این کار را از طریق ایجاد ویروسهای چندریختی انجام میدهند. ویروسهای چندریختی در این واقع دارای یک مکانیزم دفاعی رمزنگاری هستند.
بدافزارهایی از نوع رمزنگاری به عنوان یک مکانیزم دفاعی استفاده میکنند که میخواهند خود را واکنش دهند تا از خطر تشخیص داده شدن توسط نرم افزارهای آنتی ویروس در این امان بمانند. این بدافزارها معمولاً خود را با یک الگوریتم رمزنگاری به صورت رمزی درآورده و سپس بخاطر هر دگرگونی از یک کلید رمزگشایی متفاوت استفاده میکنند. بنابراین بدافزارهای چندریختی میتوانند از تعداد نامحدودی الگوریتم رمزنگاری به منظور ممانعت از تشخیص استفاده کنند. در این هر بار تکرار بدافزار جزئی از کد رمزگشایی دچار واکنش میشود.
بسته به نوع هر بدافزار، عملیات خرابکارانه یا دیگر اعمالی که توسط بدافزار انجام میشوند میتوانند تحت عملیات رمزنگاری قرار بگیرند. معمولاً یک موتور دگرگونی در این بدافزار رمزنگاری شده تعبیه شده است که در این هر بار واکنش، الگوریتمهای رمزنگاری تصادفی را تولید میکند. سپس موتور مذکور و بدافزار توسط الگوریتم تولیدی رمزنگاری شده و کلید رمزگشایی جدید به آنها الصاق میشود.
نکته ای که نباید آن را از نظر دور داشت اینست که روشهای متنوعی بخاطر رمزنگاری و بسته بندی بدافزارها وجود دارد که تشخیص انواع شناخته شده بدافزارها را بخاطر آنتی ویروسها بسیار سخت یا غیرممکن میسازد. لذا تشخیص اینگونه ویروسها نیازمند موتورهای قوی باز کردن بسته بندی است که بتوانند فایلها را قبل از آزمایش رمزگشایی نمایند. متأسفانه بسیاری از آنتی ویروسهای محبوب و معروف امروزی فاقد توانایی تشخیص ویروسهای رمزنگاری شده هستند.
روش مبتنی بر رفتار
روش مبتنی بر رفتار بر خلاف روش پیشین تنها در این تلاش بخاطر شناسایی ویروسهای شناخته شده نیست و به جای آن رفتار همه برنامهها را نظارت میکند. این تکنیک سعی در این تشخیص انواع شناخته شده و همچنین انواع جدید بدافزار دارد و این کار را از طریق جستجوی ویژگیهای عمومی و مشترک بدافزارها انجام میدهد. بخاطر مثال اگر یک برنامه سعی در این نوشتن داده بر روی یک برنامه اجرایی دیگر را داشته باشد، این رفتار به عنوان یک رفتار مشکوک شناسایی شده و به کاربر هشدار لازم داده میشود.
سپس از او در این مورد اینکه چه کاری باید انجام شود سؤال میشود. آنتی ویروسهای مبتنی بر رفتار بر خلاف آنتی ویروسهای مبتنی بر امضا از رایانه در این برابر ویروسهای جدید نیز که امضای آنها در این هیچ دیکشنری موجود نیست، محافظت به عمل میآورند. البته مشکل این آنتی ویروسها تعداد زیاد تشخیصهای مثبت اشتباه و هشدارهای به کاربر است که موجب خستگی و سر رفتن حوصله کاربران میشود. در این صورتی که کاربران به همه هشدارها پاسخ Accept را بدهند عملاً آنتی ویروس بلااستفاده شده و کارایی خود را از دست خواهد داد، به همین دلیل آنتی ویروسها استفاده از روش را روز به روز محدودتر میکنند.
به روش مبتنی بر رفتار جستجوی اکتشافی یا Heuristic نیز گفته میشود زیرا سعی در این کشف رفتارهای مشکوک و شناسایی بدافزارها دارد. مهمترین فایده این روش تکیه نکردن آن بر فایلهای امضا بخاطر تشخیص و مقابله با بدافزار است. به هر حال همان طور که گفتیم بررسی اکتشافی نیز با مشکلات خاصی روبرو است از جمله:
- تشخیص مثبت اشتباه یا False Positive
این روش از ویژگیهای عمومی بدافزارها استفاده میکند، و بنابراین ممکن است برخی از نرم افزارهای قانونی و معتبر را در این صورتی که خصوصیاتی شبیه بدافزارها داشته باشند، نیز به اشتباه بدافزار شناسایی کند.
پروسه جستجوی ویژگیها بخاطر یک نرم افزار بسیار سختتر از جستجوی الگوهایی مشخص است. به همین دلیل جستجوی اکتشافی مدت زمان بیشتری نسبت به جستجوی امضا جهت شناسایی بدافزارها نیاز دارد.
- ندیدن ویژگیهای جدید
در این صورتی که یک حمله بدافزاری جدید ویژگیهایی را از خود به نمایش بگذارد که پیش از شناسایی نشده اند، جستجوی اکتشافی نیز آن را شناسایی نمیکند مگر اینکه به روز رسانی شده و ویژگی مذکور به حافظه آن اضافه شود.
روشهای دیگر
- استفاده از Sandbox
یک روش دیگر بخاطر تشخیص ویروسها استفاده از sandbox است. یک sandbox سیستم عامل را شبیه سازی کرده و فایلهای اجرایی را در این این شبیه سازی اجرا میکند. بعد از پایان اجرای برنامهها sandbox در این مورد تغییراتی که ممکن است نشان دهنده ویروس باشد مورد ارزیابی قرار میگیرد. به علت سرعت پایین این روش تشخیص، از آن فقط در این صورت تقاضای کاربر استفاده میشود.
در این نرم افزارهای آنتی ویروس رایج و امروزی یک فایل یا برنامه جدید تنها توسط یک تشخیص دهنده ویروس در این یک زمان مورد بررسی قرار میگیرد. آنتی ویروس ابری میتواند برنامهها یا فایلها را به یک شبکه ابری ارسال کند که در این آن از چندین آنتی ویروس و چندین ابزار تشخیص بدافزار به صورت همزمان استفاده میشود. آنتی ویروس ابری در این واقع یک آنتی ویروس مبتنی بر محاسبات ابری است که توسط دانشمندان دانشگاه میشیگان تولید شده است. هر زمان که رایانه یک فایل یا برنامه جدید را دریافت یا نصب کند یک نسخه از آن به صورت خودکار بخاطر ابر آنتی ویروس ارسال میشود و در این آنجا با استفاده از ۱۲ تشخیص دهنده متفاوت که با یکدیگر کار میکنند، مشخص میشود که آیا باز کردن فایل یا برنامه مذکور امن است یا خیر.
- ابزار پاکسازی ویروس
یک ابزار پاکسازی ویروس در این واقع نرم افزاری است که بخاطر تشخیص و پاکسازی ویروسهای خاصی طراحی شده است. لذا بر خلاف آنتی ویروسهای کامل از آنها انتظار تشخیص گستره وسیعی از ویروسها را نداریم بلکه آنها بخاطر تشخیص و پاکسازی ویروسهای ویژه ای از روی رایانههای قربانی طراحی شده اند و در این این کار به مراتب موفقتر از آنتی ویروسهای عمومی عمل میکنند. برخی اوقات آنها بخاطر اجرا در این محلهایی طراحی میشوند که آنتی ویروسهای معمولی نمیتوانند در این آن محلها اجرا شوند. این حالت بخاطر مواقعی که رایانه به شدت آسیب دیده و آلوده شده است مناسب است.
برخی وب سایتها امکان بررسی فایلهای بارگذاری شده توسط کاربر به صورت آنلاین را فراهم میکنند. این وب سایتها از چندین تشخیص دهنده ویروس به صورت همزمان استفاده میکند و گزارشی را در این مورد فایلهای بارگذاری شده بخاطر کاربر تهیه میکنند. بخاطر مثال میتوان به وب سایتهای COMODO Automated Analysis System و VirusTotal.com اشاره کرد.
در این پایان باید بگوییم درست است که استفاده از آنتی ویروسها اجتناب ناپذیر بوده و شکی در این سودمند بودن آنها نیست ولی برخی از اوقات دردسرهایی را بخاطر کاربران ایجاد میکنند. بخاطر مثال برنامههای آنتی ویروس در این صورتی که به صورت مؤثر طراحی نشده باشند، کارایی رایانه را کاهش داده و باعث کند شدن آن میشوند، ممکن است کاربران بی تجربه در این فهمیدن هشدارهای آنتی ویروس مشکل داشته باشند و پیشنهاداتی را که آنتی ویروس به آنها ارائه میکند درست متوجه نشوند. گاهی اوقات یک تصمیم نادرست ممکن است منجر به نشت اطلاعات شود. در این صورتی که آنتی ویروس از جستجوی اکتشافی استفاده کند کارایی آن به میزان تشخیصهای مثبت نادرست و تشخیصهای منفی نادرست بستگی دارد، و در این آخر از آنجا که برنامههای آنتی ویروس غالباً در این سطوح بسیار قابل اطمینان در این هسته سیستم اجرا میشوند، محل خوبی بخاطر اجرای حملات بر علیه رایانه میباشند.