آنتیویروس (ضدویروس): سد دفاعی نرمافزاری در برابر بدافزارها
ویروس رایانهای چیست و چگونه منتشر میشود؟
ویروس رایانهای برنامکی (برنامهٔ کوچک) مخرب است که خود را به فایلهای اجرایی یا اسناد سالم میچسباند. وقتی کاربر فایل آلوده را اجرا کند، ویروس فعال شده و کد خود را کپی کرده به فایلهای دیگر منتقل میکند. مثال علمی: ویروس «ملیسا» در سال 1999 از طریق اسناد ورد آلوده، خود را از طریق ایمیل به مخاطبان اول شخص میفرستاد و ظرف چند روز هزاران رایانه را آلوده کرد. راههای انتشار عبارتند از:
- ضمیمههای ایمیل آلوده
- دانلود از وبسایتهای غیرمعتبر
- درایوهای فلش آلوده
- شبکههای محلی و اشتراک فایل
روشهای شناسایی بدافزار توسط آنتیویروس
نرمافزار ضدویروس برای یافتن بدافزارها از چند روش اصلی استفاده میکند. درک این روشها به انتخاب بهتر کمک میکند.
| نام روش | توضیح ساده | محدودیت |
|---|---|---|
| تشخیص بر پایه امضا | مقایسه کد فایل با پایگاه داده از اثرانگشت بدافزارهای شناخته شده | ناتوانی در برابر بدافزارهای جدید (روز صفر[2]) |
| تشخیص رفتاری | نظارت بر عملکرد مشکوک برنامهها (مثل تغییر فایلهای سیستمی) | احتمال خطا (بلاک کردن برنامههای مجاز) |
| شناسایی مبتنی بر ابر | ارسال مشخصات فایل به سرور مرکزی برای تحلیل سریع | نیاز به اتصال اینترنت پایدار |
برای درک بهتر روش امضا، فرض کنید هر بدافزار یک «اثر انگشت» منحصربهفرد دارد که به کمک تابع درهمسازی (hash function) محاسبه میشود. اگر $H(F)$ تابع درهمسازی روی فایل $F$ باشد و $S$ مجموعه امضاهای بدافزارهای شناخته شده، آنتیویروس فایل را آلوده میداند اگر $H(F) \in S$.
انواع آنتیویروس: محلی، ابری و ترکیبی
بر اساس نحوهٔ نصب و بهروزرسانی، نرمافزارهای ضدویروس به سه دستهٔ کلی تقسیم میشوند:
- آنتیویروس محلی – نصب کامل روی رایانه، پایگاه داده امضاها بهصورت دورهای بهروز میشود. نیاز به اینترنت فقط برای بهروزرسانی دارد.
- آنتیویروس ابری – برنامهٔ کوچکی روی رایانه نصب میشود و بیشتر تحلیلها روی سرور ابری انجام میشود. بسیار سبک اما وابسته به اینترنت پرسرعت.
- آنتیویروس ترکیبی – هم از پایگاه داده محلی و هم تحلیل ابری بهره میبرد. بهترین تعادل بین سرعت و دقت.
مثال عملی: یک دانشآموز که همیشه به اینترنت متصل است میتواند از نوع ابری استفاده کند، اما رایانهٔ آزمایشگاه مدرسه که گاهی آفلاین است به نوع محلی یا ترکیبی نیاز دارد.
$P_{\text{detect}} = 1 - (1 - P_{\text{local}})(1 - P_{\text{cloud}})$
که در آن $P_{\text{local}}$ احتمال شناسایی محلی و $P_{\text{cloud}}$ احتمال شناسایی ابری است. این فرمول نشان میدهد ترکیب دو روش احتمال موفقیت را افزایش میدهد.
کاربرد عملی: پویش رایانه در شرایط متفاوت
فرض کنید رایانهٔ شما بسیار کند کار میکند و پنجرههای تبلیغاتی ناخواسته باز میشوند. در چنین شرایطی آنتیویروس را باز کرده و یکی از سه نوع پویش را اجرا میکنید:
- پویش سریع – فقط مکانهای حساس مانند حافظهٔ موقت و پوشهٔ سامانه را بررسی میکند (مدت زمان 2-5 دقیقه).
- پویش کامل – همهٔ فایلها و پوشهها را خط به خط میکاود (ممکن است یک ساعت طول بکشد).
- پویش سفارشی – شما پوشه یا درایو خاصی را برای بررسی انتخاب میکنید (مثل درایو فلش مشکوک).
روال علمی: پس از شناسایی ویروس، آنتیویروس گزینهٔ «قرنطینه» را پیشنهاد میدهد. در قرنطینه، فایل آلوده به دایرکتوری امن منتقل و اجرای آن غیرممکن میشود. کاربر میتواند بعداً آن را حذف یا در صورت خطا بودن (مثبت کاذب) بازگرداند.
چالشهای مفهومی
خیر. هیچ نرمافزاری نمیتواند 100% بدافزارها را پیشبینی کند. روزانه هزاران بدافزار جدید ساخته میشوند و فاصلهٔ زمانی بین ساخت بدافزار تا افزودن امضای آن به پایگاه داده را «پنجرهٔ آسیبپذیری» مینامند. برای امنیت بیشتر باید سیستمعامل را بهروز نگه داشت و از نرمافزارهای معتبر دانلود کرد.
این پدیده «مثبت کاذب»[3] نامیده میشود. وقتی آنتیویروس از روش رفتاری استفاده میکند، ممکن است برنامهٔ مجاز که رفتار مشابه بدافزار دارد (مثل تغییر تنظیمات مرورگر) را متوقف کند. مثلاً برخی ابزارهای هک مجاز (برای تست نفوذ) توسط آنتیویروس مسدود میشوند. کاهش مثبت کاذب یک چالش همیشگی در طراحی ضدویروسهاست.
نسخههای رایگان معمولاً حفاظت پایه (تشخیص بر پایه امضا و پویش دستی) را ارائه میدهند. نسخههای پولی امکانات بیشتری مانند فایروال داخلی، محافظت از دوربین وب، والدینافزار و پشتیبانی تلفنی دارند. ولی برای یک کاربر معمولی که از وبسایتهای معتبر بازدید میکند و فایل مشکوک باز نمیکند، یک آنتیویروس رایگان بهروز کافی است.
$P_{\text{infection}} = P_0 \times (1 - E)$
که در آن $P_0$ احتمال آلودگی بدون آنتیویروس و $E$ کارایی آنتیویروس (عدد بین ۰ و ۱) است. هرچه $E$ به ۱ نزدیکتر باشد، خطر کمتر میشود.
پاورقیها
- امضای دیجیتال (Digital signature) در حوزهٔ بدافزارها: دنبالهای یکتا از بایتها که مشخصهٔ یک بدافزار خاص است و معمولاً با درهمسازی (hashing) از فایل بدافزار استخراج میشود.
- روز صفر (Zero-day) به آسیبپذیری یا بدافزاری گفته میشود که تازه کشف شده و هنوز بروزرسانی یا امضایی برای آن منتشر نشده است.
- مثبت کاذب (False positive) وضعیتی که نرمافزار ضدویروس به اشتباه یک فایل سالم را به عنوان بدافزار علامتگذاری میکند.
- دیوار آتش (Firewall) سامانهای امنیتی که ترافیک ورودی و خروجی شبکه را بر اساس قوانین از پیش تعیین شده کنترل میکند و میتواند نرمافزاری یا سختافزاری باشد.
منابع الهام: مستندات فنی مرکز ملی امنیت سایبری (آمریکا - NIST) و مقالههای آموزشی «کاسپرسکی» و «مکآفی» به زبان انگلیسی که معادل فارسی مفاهیم آنها در این متن آورده شده است.