1. روش مبتنی بر كد (امضا)
در این روش با استفاده از یك دیكشنری ویروس كه حاوی امضای ویروسهای شناخته شده است، احتمال وجود ویروسهای شناخته شده در فایلها مورد بررسی و آزمایش قرار ميگیرند. در حال حاضر اغلب برنامههاي آنتی ویروس از این تكنیك استفاده ميكنند. به بیان کلیتر در این شیوه، رایانه میزبان، درایوهای حافظه و یا فایلها با هدف پیدا كردن الگویی كه نشاندهنده یك بدافزار باشد، مورد جستوجو قرار ميگیرند.
این الگوها معمولا در فایلهایی به نام فایلهای امضا ذخیره ميشوند. فایلهای مذكور توسط فروشندگان نرمافزارهای آنتی ویروس طبق یك برنامه منظم بهروزرسانی ميشوند تا قادر باشند بیشترین تعداد ممكن حملههاي بدافزاری را شناسایی كنند.
مشكل اصلی تكنیك بررسی امضا این است كه نرمافزار آنتی ویروس باید قبلا به روزرسانی شده باشد تا بتواند به مقابله و خنثیسازی بدافزارها بپردازد و لذا بدافزارهای جدیدی كه هنوز شناسایی نشده و به فایلهای امضا اضافه نشدهاند تشخیص داده نميشوند.
2. روش مبتنی بر رفتار
روش مبتنی بر رفتار بر خلاف روش پیشین تنها در تلاش برای شناسایی ویروسهای شناختهشده نیست و به جای آن رفتار همه برنامهها را نظارت ميكند. این تكنیك سعی در تشخیص انواع شناختهشده و همچنین انواع جدید بدافزار دارد و این كار را از طریق جستوجوی ویژگیهای عمومی و مشترك بدافزارها انجام ميدهد.
برای مثال اگر یك برنامه سعی در نوشتن داده بر روی یك برنامه اجرایی دیگر را داشته باشد، این رفتار به عنوان یك رفتار مشكوك شناسایی شده و به كاربر هشدار لازم داده ميشود. سپس از او در مورد اینكه چه كاری باید انجام شود، سوال ميشود.
آنتی ویروسهاي مبتنی بر رفتار بر خلاف آنتی ویروسهاي مبتنی بر امضا از رایانه در برابر ویروسهای جدید نیز كه امضای آنها در هیچ دیكشنری موجود نیست، محافظت به عمل ميآورند. البته مشكل این آنتیویروسها تعداد زیاد تشخیصهای مثبت اشتباه و هشدارهای به كاربر است كه موجب خستگی و سر رفتن حوصله كاربران ميشود.
در صورتی كه كاربران به همه هشدارها پاسخ Accept را بدهند عملا آنتی ویروس بلااستفاده شده و كارایی خود را از دست خواهد داد، به همین دلیل آنتی ویروسها استفاده از این روش را روز به روز محدودتر ميكنند. اغلب آنتی ویروسهای تجاری از هر دو روش فوق ولی با تاكید بر روی امضای ویروس، استفاده ميكنند.
3.روشهای دیگر:استفاده از Sandbox
یك روش دیگر برای تشخیص ویروسها استفاده از sandbox است. یك sandbox سیستمعامل را شبیهسازی كرده و فایلهای اجرایی را در این شبیهسازی اجرا ميكند. بعد از پایان اجرای برنامهها sandbox در مورد تغییراتی كه ممكن است نشاندهنده ویروس باشد مورد ارزیابی قرار ميگیرد. به علت سرعت پایین این روش تشخیص، از آن فقط در صورت تقاضای كاربر استفاده ميشود.