آنتیویروس چیست ؟
آنتیویروس ( Anti Virus ) به نرمافزاری گفته میشود که مسئولیت پاکسازی و جلوگیری از ورود ویروس و عوامل مخرب به کامپیوتر را بر عهده دارد. در واقع آنتیویروس یک برنامه کامپیوتری است که برای مرور فایلها و تشخیص و حذف ویروسها و دیگر بدافزارها از آن استفاده میشود.
نحوه عملکرد آنتیویروسها
هسته مرکزی یک آنتیویروس ، موتور جستجوی آن است. این موتور از الگوریتمهای جستجو برای بررسی لایههای مختلف فایل استفاده میکند.
موتور جستجو با الگوریتم مخصوص به خود میلیونها فایل را در مدت زمان کوتاهی بررسی میکند و از شناسهها برای ردیابی فایلهای آلوده و مخرب استفاده میکند. شناسه، بخشی از رشته لایههای مختلف فایلها را در بر دارد و مانند اثر انگشت برای هر ویروس یکتا است.
یکی از مزیتهای استفاده از آنتی ویروسهای معتبر و خرید لایسنس قانونی آنها، این است که شرکت سازنده خود را موظف میداند تا از طریق به روزرسانی بانک شناسهها، شما را در مقابل جدیدترین ویروسها محافظت نماید.
یکی دیگر از قابلیتهایی که بیشتر برنامههای آنتی ویروس در موتور جستجوی خود ایجاد میکنند، توانایی شناسایی رفتارهای مشکوک فایلها و ایجاد سطوح دسترسی برای برنامههای مختلف است.
به این ترتیب حتی اگر شناسه ویروسی در بانک اطلاعاتی آنتیویروس موجود نبود، موتور جستجو به طور خودکار رفتار فایلها را زیر نظر میگیرد و اگر رفتار مشکوکی مشاهده کند به کاربر اخطار میدهد.
این روزها اکثریت شرکتهای سازنده آنتیویروس، برای جامعتر ساختن راه حلهای امنیتی، قابلیتهای Firewall، آنتیاسپم و آنتیفیشینگ را نیز به نرمافزارهای خود اضافه مینمایند.
رفتار آنتیویروس با ویروس معمولا توسط کاربر تعیین میشود. پیشفرض بیشتر آنتیویروسها خنثی سازی فایل آلوده با از بین بردن کد مخرب است. در حالتی که کد، قابل جداسازی نباشد آنتیویروس آن را پاک و یا قرنطینه میکند.
در ادامه با برخی از تکنیکهای رایج که در بین آنتیویروسها ، برای تشخیص بدافزارها به کار برده میشوند، به طور دقیق تر آشنا خواهیم شد.
تشخیص بر اساس شناسه یا امضای ویروس
اغلب برنامههای آنتیویروس در حال حاضر از این تکنیک استفاده میکنند. در این شیوه، درایوهای حافظه و فایلها، با هدف پیدا کردن الگویی که نشاندهنده یک بدافزار باشد، مورد جستجو قرار میگیرند.
این الگوها معمولا در فایلهایی به نام فایلهای امضا ذخیره میشوند. فایلهای مذکور توسط تولیدکنندگان نرم افزارهای آنتیویروس طبق یک برنامه منظم به روز رسانی میشوند تا قادر باشند بیشترین تعداد ممکن حملههای بدافزاری را شناسایی کنند.
در این شیوه زمانی که نرمافزار آنتیویروس یک فایل را مورد آزمایش قرار میدهد، به یک دیکشنری ویروس که حاوی امضای ویروسهای شناخته شده است مراجعه میکند. در صورتی که هر تکه از کد فایل با یک ویروس شناخته شده مطابقت داشته باشد، فایل مذکور به عنوان یک فایل آلوده شناسایی شده و آنتی ویروس یا آن را پاک می کند و یا آن را قرنطینه مینماید تا برنامههای دیگر به آن دسترسی نداشته و همچنین از انتشار آن جلوگیری به عمل آید. در برخی موارد نیز امکان بازسازی فایل آلوده از طریق حذف ویروس از فایل اصلی وجود دارد که در صورت امکان آنتیویروس این کار را انجام میدهد.
مشکل اصلی تکنیک بررسی شناسه این است، که آنتیویروس نسبت به ویروسهای جدید آسیبپذیری بسیار بالایی دارد و تقریبا خنثی عمل خواهد کرد. چون در این روش، بانک اطلاعاتی آنتی ویروس باید قبلا به روز رسانی شده باشد تا بتواند به مقابله و خنثیسازی بدافزارها بپردازد و لذا بدافزارهای جدیدی که هنوز شناسایی نشده و به فایلهای امضا، اضافه نشدهاند تشخیص داده نمیشوند.
مسئله دیگری که باید به آن توجه کرد، این است که ویروسنویسان همواره تلاش میکنند تا یک قدم جلوتر از آنتیویروسها حرکت کنند و این کار را از طریق ایجاد ویروسهای چندریختی انجام میدهند. ویروسهای چندریختی در واقع دارای یک مکانیزم دفاعی رمزنگاری هستند.
روشهای متنوعی برای رمزنگاری و بستهبندی بدافزارها وجود دارد که تشخیص انواع شناخته شده بدافزارها را برای آنتیویروسها بسیار سخت میسازد. متاسفانه بسیاری از آنتیویروسهای معروف امروزی فاقد توانایی تشخیص ویروسهای رمزنگاری شده هستند.
تشخیص بر اساس رفتار ویروس
در این روش بر خلاف روش پیشین، آنتیویروس، تنها در تلاش برای شناسایی ویروسهای شناخته شده نیست، بلکه رفتار همه برنامهها را نظارت میکند. این تکنیک سعی در تشخیص انواع شناخته شده و همچنین انواع جدید بدافزار دارد و این کار را از طریق جستجوی ویژگیهای عمومی و مشترک بدافزارها انجام میدهد.
به عنوان مثال اگر یک برنامه سعی در نوشتن داده بر روی یک برنامه اجرایی دیگر را داشته باشد، این رفتار به عنوان یک رفتار مشکوک شناسایی شده و به کاربر هشدار لازم داده میشود. سپس از او در مورد اینکه چه کاری باید انجام شود سوال میشود.
به روش تشخیص بر اساس رفتار، جستجوی اکتشافی یا Heuristic نیز گفته میشود زیرا سعی در کشف رفتارهای مشکوک و شناسایی بدافزارها دارد. مهمترین فایده این روش، تکیه نکردن آن بر فایلهای امضا برای تشخیص و مقابله با بدافزار است.
البته این روش نیز با مشکلات خاصی روبرو است از جمله، کندتر بودن این روش نسبت به روش تشخیص بر اساس امضا و تعداد زیاد تشخیصهای مثبت اشتباه و هشدارهای بی مورد به کاربر، که موجب خستگی و سر رفتن حوصله کاربران میشود.
همچنین در این روش نیز در صورتی که یک حمله بدافزاری جدید، ویژگیهایی را از خود به نمایش بگذارد که پیش از این شناسایی نشدهاند، جستجوی اکتشافی نیز آن را شناسایی نمیکند مگر اینکه به روزرسانی شده و ویژگی مذکور به حافظه آن اضافه شود.
استفاده از Sandbox
یکی دیگر از روشهای تشخیص ویروس، استفاده از sandbox است. یک sandbox سیستم عامل را شبیهسازی کرده و فایلهای اجرایی را در آن اجرا میکند. بعد از پایان اجرای برنامهها، sandbox در مورد تغییراتی که ممکن است نشاندهنده ویروس باشد مورد ارزیابی قرار میگیرد. به علت سرعت پایین این روش تشخیص، از آن فقط در صورت تقاضای کاربر استفاده میشود.
استفاده از فناوری ابری
در نرمافزارهای آنتیویروس رایج و امروزی، یک فایل یا برنامه جدید، تنها توسط یک تشخیصدهنده ویروس در یک زمان مورد بررسی قرار میگیرد. اما آنتیویروس ابری میتواند برنامهها یا فایلها را به یک شبکه ابری ارسال کند که در آن از چندین آنتیویروس و چندین ابزار تشخیص بدافزار به صورت همزمان استفاده میشود.
آنتیویروس ابری در واقع یک آنتیویروس مبتنی بر محاسبات ابری است که توسط دانشمندان دانشگاه میشیگان تولید شده است. هر زمان که رایانه یک فایل یا برنامه جدید را دریافت یا نصب کند، یک نسخه از آن به صورت خودکار برای ابر آنتیویروس ارسال میشود و در آنجا با استفاده از ۱۲ تشخیص دهنده متفاوت که با یکدیگر کار میکنند، مشخص میشود که آیا باز کردن فایل یا برنامه مذکور امن است یا خیر.
مکانیزم مورد استفاده آنتیویروسهای معتبر امروزی
همانطور که مشاهده کردید، هریک از روشهای فوق دارای مزایا و معایبی میباشد و هیچ یک به تنهایی نمیتواند روشی کامل و ایمن به حساب آید. بنابراین اکثریت آنتیویروسهای معتبر، محبوب و قدرتمند سعی میکنند از مجموعه و ترکیبی از روشهای فوق برای شناسایی و پاکسازی ویروسها و فایلهای مخرب استفاده نمایند تا میزان موفقیت و اثرگذاری خود را افزایش دهند.
ویژگیهای یک آنتی ویروس خوب
در زیر به ویژگیهای یک آنتیویروس خوب، خواهیم پرداخت.
موتور جستجوی قوی و استفاده از موثرترین روشهای تشخیصی
یکی از مهمترین نکات در قدرت یک آنتیویروس و کارایی آن، موتور جستجوی آن میباشد. بنابراین یک آنتیویروس خوب الزاما باید از یک موتور جستجوی قوی و همچنین ترکیبی از موثرترین روشهای تشخیص بدافزارها استفاده نماید.
برخورداری از دیتابیس قوی و به روزرسانیهای منظم
یک آنتیویروس خوب، باید از بانک اطلاعاتی قوی برخوردار باشد و به طور منظم، دیتابیس خود را به روزرسانی نماید تا در برابر بدافزارهای جدید، موثر واقع شود. البته شما به عنوان کاربر، برای تامین امنیت خود موظف هستید، لایسنس قانونی این نرم افزارها را تهیه نمایید تا بتوانید به طور منظم آنتیویروس خود را آپدیت نمایید.
آنتی ایکس باشد
یعنی اینکه با خرید یک آنتیویروس، شما یک آنتیاسپم، آنتیورم، آنتیفیشینگ، آنتیتروجان و یا حتی یک فایروال خوب داشته باشید. البته در حال حاضر اکثر کمپانیهای تولیدکننده آنتیویروس تقریبا کلیه محصولاتشان را در قالب یک محصول آنتیایکس ارائه میدهند.
سرعت اسکن مناسب و فشار کم بر روی سیستم
یک آنتیویروس خوب میبایست سرعت مناسبی برای اسکن کردن سیستم داشته باشد. تصور کنید هر بار که قرار باشد سیستم شما اسکن شود ساعتها طول بکشد، این مسئله طبیعی است که شما پس از چندین بار اسکن، از اسکن مجدد خسته شده و دیگر از اینکار استفاده نخواهید کرد. همچنین میبایست از آنتیویروسی استفاده کنید که بار کاری پردازنده را تا حد معقولی استفاده کرده و آن را بیدلیل بالا نبرد.
توان بالا در پاکسازی بدافزارها
یکی از ویژگیهای بسیار مهم در نرمافزارهای آنتـیویروس، قدرت حذف ویروس و بدافزارهایی است که قبلا سیستم را آلوده کردهاند. بنابراین یک آنتیویروس خوب علاوه بر تشخیص ویروسها باید قادر به حذف و پاکسازی آنها نیز باشد. یکی از نکات مهم در اینباره، داشتن قابلیت اسکن سیستم در وضعیت بوت میباشد.
عدم نمایش هشدارهای غلط
نمایش هشدارهای غلط میتواند برای کاربران دردسر ایجاد کند و کاربران را به آنتیویروس بیاعتماد سازد. بنابراین یک آنتـیویروس خوب باید از نمایش پیغامها و هشدارهای غلط به کاربران خودداری نماید.
برخورداری از امکان آپدیت بصورت آفلاین
یک آنتیویروس مناسب باید این امکان را برای کاربرانش فراهم کند که بتوانند فایل به روزرسانی پایگاه داده خود را بصورت آفلاین دانلود کنند و در هر جایی که آنتیویروس نصب شدهاست و فارغ از اینکه به اینترنت متصل هستند یا خیر، به روز رسانی نمایند.
جمع بندی
در این مقاله ابتدا با مفهوم آنتیویروس و وظایف آن آشنا شدیم. سپس به بررسی عملکرد آنتیویروسها و مکانیزم آنها پرداختیم. در ادامه ویژگیهای یک آنتیویروس خوب را بررسی کردیم در مطالب بعدی ما به تفاوت آنتیویروسهای اورجینال و کرک شده میپردازیم.