آنتی ویروس شبکه

anti-virus-1

همان‌طور که در قسمت نخست نوشتار پیش رو گفتیم، امروزه آنتی‌ویروس‌ها برای شناسایی و شکار بدافزارهای مختلف از روش‌ها و راهکارهای متفاوتی استفاده می‌کنند که «Heuristics Detection» یکی از این روش‌هاست. در این روش، با قرار دادن تعدادی از بدافزارهای مشابه در یک خانواده و اختصاص یک امضای دیجیتالی عمومی به آن و پیاده‌سازی یک الگوریتم شناسایی کارآمد در آنتی‌ویروس، امکان شناسایی و حذف سریع‌تر نمونه‌های مختلف هم‌خانواده و هم‌نژاد با آن امضای دیجیتال عمومی فراهم می‌شود.
اما فراموش نکنیم، یک ویروس‌نویس حرفه‌ای و کاربلد، جدیدترین ابزارها و روش‌های شناسایی به‌کار گرفته شده در آنتی‌ویروس‌ها را به دقت بررسی و رصد کرده و در نهایت، دیر یا زود راه فرار از تله‌های پیش‌بینی‌شده را پیدا می‌کند. این بدان معنی است که ویروس‌نویسان همواره یک گام جلوتر از جدیدترین نسخه آنتی‌ویروس‌ها هستند. ارتباط خودکار مکرر آنتی‌ویروس‌ها (نسخه‌های رجیسترشده) با بانک اطلاعاتی آنلاین و به‌روزشدن‌های گاهی چندباره در طول روز به تنهایی دلیل بسیار محکمی بر این ادعا و اهمیت واکسینه شدن آنتی‌ویروس در برابر تهدیدات جدید است. روش فوق با وجود مزایای فراوانی که در صورت انتخاب درست امضای عمومی برای یک خانواده و پیاده‌سازی الگوریتم تشخیصی پیشرفته در آنتی ویروس به همراه دارد، هرگز فارغ از عیب و نقص نیست و گاهی دچار خطا و اشتباه می‌شود. به خطاهایی که در آن آنتی‌ویروس فایل سالمی را ویروس تشخیص می‌دهد، در اصطلاح «False positive» می‌گویند. میزان این خطا یکی از فاکتورهای مهم در عملکرد آنتی‌ویروس‌های امروزی به شمار می‌آید.
برای مثال، ویروس‌نویسان برای نوشتن یک ویروس از روش‌های خاص و پیشرفته‌ای استفاده می‌کنند که از آن جمله می‌توان به «Oligomorphic»، «Polymorphic» و «Metamorphic» اشاره کرد. این روش‌ها گاهی رفتارها و کنش‌های ویروسی از یک خانواده شناخته‌شده را آن‌چنان متحول و دگرگون می‌کنند که برخی آنتی‌ویروس‌ها در تطبیق ویروس مذکور با امضای عمومی و الگوریتم شناسایی که تیم توسعه‌دهنده بر مبنای تجزیه و تحلیل‌های آماری مبتنی بر رفتارهای یک ویروس خاص یا یک خانواده ویروس طراحی و پیاده‌سازی کرده‌اند، دچار خطا و اشتباه شود.
شایان ذکر است، میزان این دسته خطاها در آنتی‌ویروس‌های مختلف بسته به توانایی و دانش فنی تیم توسعه‌دهنده آن در طراحی و پیاده‌سازی الگوریتم‌های شناسایی متفاوت است.
از طرف دیگر، از آنجا که توسعه و به‌روزرسانی و تغییرات در موتور راه‌انداز «Oligomorphic»، «Polymorphic» و «Metamorphic» کاری بسیار دشوار و پیچیده است و با توجه به اشراف آنتی‌ویروس‌ها به نوع فناوری به‌کار رفته در نوشتن ویروس‌ها، امروزه شاهد هستیم، الگوریتم‌های طراحی‌شده برای حذف این قبیل ویروس‌ها دارای درصد قابل قبولی در شناسایی هستند.
با توجه به مطالبی که مطرح شد، یکی از ملاک‌های موفقیت آنتی‌ویروس‌هایی که از فناوری Heuristic Analysis استفاده می‌کنند، کم بودن تعداد تشخیص اشتباه یا همان False positive است.

روش شناسایی روت‌کیت‌ها (Rootkit Detection)

یکی از روش‌های جدیدی که چند سالی است به نرم‌افزارهای آنتی‌ویروس اضافه شده، روش تشخیص بدافزارهای مرکب و پیچیده موسوم به Rootkit است، روت‌کیت‌ها بدافزارهایی هستند که امکان دسترسی در سطح Administrator را در سیستم‌های آلوده فراهم کرده و گاهی حتی در فرآیند سیستم‌عامل هم دخالت کرده و تغییراتی را به وجود می‌آورند. بعضی  اوقات روت‌کیت‌ها حتی نرم‌افزارهای آنتی‌ویروس را نیز از کار می‌اندازند. با این اوصاف، می‌توان چنین نتیجه گرفت، حذف روت‌کیت‌ها از سیستم آلوده بسیار سخت‌تر و پیچیده‌تر از دیگر بدافزارهاست. به‌طوری که گاهی شما را مجبور به نصب دوباره سیستم‌عامل می‌کنند.
روت‌کیت‌ها به‌گونه‌ای طراحی شده‌اند که پس از ورود به سیستم‌های کامپیوتری، آنتی‌ویروس‌ها را به خود مشغول کرده و گاهی اوقات آن‌ها را کاملاً از کار می‌اندازند تا بدافزارهای دیگری که قسمتی از فرآیند آلوده‌سازی توسط آن روت‌کیت خاص هستند، بتوانند با خیال آسوده و بدون احساس خطر از جانب نرم‌افزار آنتی‌ویروس به اجرای عملیات خرابکارانه خود بپردازند.
بدون شک، یکی از بارزترین و جنجالی‌ترین و جدیدترین نمونه از روت‌کیت‌های پیشرفته و قدرتمند، بدافزار جاسوسی استاکس‌نت است که اولین بار توسط آنتی‌ویروس VBA32 شناسایی و به دنیا معرفی شد. روت‌کیتی که در پروژه آلوده‌سازی خود دارای بیشتر از چهارده مهاجم بود.
از موارد مطرح‌شده، این معنی برداشت می‌شود که یکی از ملاک‌های انتخاب یک آنتی‌ویروس قدرتمند، داشتن فناوری مقابله با روت‌کیت‌هاست، موردی که تا دو سال پیش حتی روی بعضی از آنتی‌ویروس‌های معروف همچون Avast به‌کار گرفته نشده‌بود.

فرصت مرگ یا زندگی…!

یکی از تست‌هایی که به تازگی روی آنتی‌ویروس‌های مبتنی بر Heuristic Analysis انجام می‌گیرد، تست False positive است. تشخیص اشتباه یا همان False positive زمانی اتفاق می‌افتد که یک نرم‌افزار آنتی‌ویروس به اشتباه یک فایل سالم را به‌عنوان یک بدافزار شناسایی و حذف می‌کند. حذف یک فایل سالم از روی سیستم می‌تواند مشکلات جبران ناپذیری برای سیستم‌های کامپیوتری در حال اجرا به وجود بیاورد.
برای مثال، اگر یک نرم‌افزار آنتی‌ویروس به‌گونه‌ای طراحی شده‌باشد که فایل‌های آلوده را به سرعت حذف کند، حذف اشتباه یک فایل موردنیاز و حساس سیستم‌عامل یا یک برنامه کاربردی، باعث خواهدشد، آن برنامه غیرقابل استفاده شود. از این رو، یکی از ملاک‌های انتخاب یک آنتی‌ویروس خوب و مناسب، تعداد اشتباهات کم در آزمون False Positive است. هرچه این تعداد کمتر باشد، رتبه آنتی‌ویروس بالاتر خواهدبود.
برای روشن‌تر شدن اهمیت فاکتور False Positive در انتخاب آنتی‌ویروس، دانستن چند نمونه مستند کافی است:
در می سال 2007 میلادی، اضافه شدن یک امضای دیجیتالی معیوب به آنتی‌ویروس Symantec باعث شد، بعضی از فایل‌های ضروری سیستم‌عامل ویندوز به اشتباه حذف شود و این امر باعث از کار افتادن سیستم‌عامل تعداد بسیار زیادی کامپیوتر شد.
در آوریل 2010، شناسایی فایل svchost.exe ویندوز XP سرویس‌پک سه به‌عنوان یک بدافزار توسط آنتی‌ویروس McAfee باعث شد، تمامی دسترسی‌های شبکه روی آن سیستم‌ها غیرفعال شود.
در دسامبر 2010، ارائه یک به‌روزرسانی معیوب توسط آنتی‌ویروس AVG باعث تخریب تمامی سیستم‌عامل‌های ویندوز هفت 64 بیتی شد، به‌طوری که برای رفع مشکل باید سیستم‌عامل دوباره نصب و راه‌اندازی می‌شد.
و در نهایت در اکتبر 2011، آنتی‌ویروس Microsoft Security Essentials به اشتباه فایل‌های اجرای مرورگر Google Chrome را از روی سیستم‌ها حذف کرد.
همان‌طور که از مطالب مطرح‌شده برداشت می‌شود، تأثیرات گزینه False Positive می‌تواند هزینه‌های سنگینی را به همراه داشته‌باشد که یک انتخاب مطمئن می‌تواند این هزینه‌ها را به حداقل برساند.

تست از نوع آنتی‌ویروسی

بد نیست بدانیم، در حال حاضر مراکزی در دنیا وجود دارند که تست‌های مختلفی را روی نرم‌افزارهای آنتی‌ویروس انجام داده و نتایج آن را در وب‌سایت‌های خود منتشر می‌سازند، مراکزی چون AV-Comparatives در اتریش، Anti-Malware در روسیه وVirusbtn  در امریکا که تست‌های بسیار پیشرفته‌ای را به صورت فنی روی آنتی‌ویروس‌ها انجام می‌دهند. البته وب‌سایت‌هایی نیز مانند Top Ten Reviews هستند که بیشتر به صورت آماری، رتبه‌بندی‌هایی را برای آنتی‌ویروس‌ها در نظر می‌گیرند، آماری بر مبنای میزان فروش و… .
نتایج آزمون‌های دوره‌ای لابراتوارهای تخصصی فوق و نشان‌های (Award) کسب‌شده توسط هر آنتی‌ویروس در هر یک از آزمون‌های متنوع این لابراتوارها مرجع و معیار مناسب، جامع و قابل اعتمادی برای مقایسه عملکرد واقعی آنتی‌ویروس‌ها و شناخت نقاط ضعف و قوت آن‌هاست.
البته ما هم کاملاً با شما موافق هستیم که برای انتخاب یک آنتی‌ویروس مناسب، علاوه بر کارآیی و عملکرد فنی قابل‌قبول، پارامتر قیمت نیز بسیار مهم و قابل توجه است. به عبارت دیگر، در خرید آنتی‌ویروس نیز مانند خرید هر وسیله یا گجت سخت‌افزاری (نوت‌بوک،تبلت، موبایل، دوربین و…) تناسب کارآیی و قیمت محصول با نیاز و بودجه هر کاربر است که بهترین گزینه را مشخص می‌کند. البته با این پیش‌فرض که کاربر قرار است بابت آنتی‌ویروس پولی بپردازد و با مجوز (License) اصلی و قانونی از آن استفاده کند! (قبول داریم که هنوز این مسئله برای بعضی (شاید هم بسیاری) از کاربران ایرانی، به خصوص از لحاظ اقتصادی توجیه منطقی ندارد اما…)

برای آشنایی بیشتر شما عزیزان به اختصار به معرفی برخی از این آزمون‌ها و تست‌ها می‌پردازیم:

Detection tests: در این تست که هر سه ماه یک‌بار انجام می‌گیرد، مجموعه‌ای از ویروس‌ها اعم از ویروس‌های قدیمی و ویروس‌های جدیدی که در دنیای مجازی شیوع پیدا کرده‌اند، انتخاب شده و عملکرد آنتی‌ویروس‌ها روی سیستمی آلوده به مجموعه بدافزارهای فوق (در شرایط سخت‌افزاری و نرم‌افزاری کاملاً مشابه) ارزیابی می‌شود. تمرکز این آزمون روی توان آنتی‌ویروس‌ها در شناسایی و پاک‌سازی بدافزارهاست. در پایان این آزمون، جدول رتبه‌بندی آنتی‌ویروس‌ها برحسب درصد شناسایی و پاک‌سازی ویروس‌ها مرتب می‌شود (این تست در حالت On Demand  انجام می‌گیرد).
Performance Tests: میزان تأثیر آنتی‌ویروس‌ها روی کارایی و سرعت سیستم در این قسمت بررسی می‌شود.
Heuristic Tests: در این تست، توان عملی آنتی‌ویروس‌ها در شناسایی ویروس‌های جدید (ویروس‌هایی که امضای آن‌ها هنوز در بانک اطلاعاتی آنتی‌ویروس‌ها افزوده نشده‌است)، با استفاده از فناوری Heuristic ارزیابی می‌شود.
Anti-Rootkit Tests: در این قسمت میزان توانایی آنتی‌ویروس‌ها در کشف روت‌کیت‌های جدید و ناشناخته بررسی و آزمایش می‌شود.
Self-Protection: این تست، میزان توانایی آنتی‌ویروس‌ها را در مقابل حملات ویروسی بررسی می‌کند (این تست در حالت On Access Scanner انجام می‌شود).
لازم است به این نکته اشاره کنم که، تست‌های دیگری نیز توسط این مراکز انجام می‌گیرد که برای اطلاع از آن‌ها می‌توانید به وب‌سایت آن‌ها مراجعه کنید.

آنتی‌ویروس‌های ابری (Cloud Antivirus)

آنتی‌ویروس ابری، یک فناوری است که، با راه‌اندازی مجموعه‌ای از نرم‌افزارهای امنیتی سبک و محافظ روی یک کامپیوتر کاملاً محافظت‌شده (ایزوله)، به اسکن فایل‌های انتقال داده‌شده از یک مبدأ به یک مقصد می‌پردازد. کامپیوتری که نرم‌افزار آنتی‌ویروس ابری روی آن نصب شده‌است، می‌تواند جزئی از یک شبکه کوچک محلی یا شبکه‌ای گسترده‌تر یا شبکه جهانی (اینترنت) باشد.
با ظهور وب 2 و فراهم شدن بستر پردازش‌های آنلاین، سرویس‌هایی موسوم به ویروس‌یاب آنلاین (تحت وب) نیز متولد شدند و همپای دیگر سرویس‌های پردازشی تحت وب در مسیر رشد و تکامل قرار گرفتند.
این آنتی‌ویروس‌ها دارای موتوری چندگانه از آنتی‌ویروس‌های مختلف هستند. به این معنا که، هنگام اسکن یک فایل مشکوک، در واقع چند موتور جست‌وجوگر مربوط به آنتی‌ویروس‌های مختلف به صورت موازی عملیات اسکن را روی آن فایل انجام می‌دهند تا ضریب شناسایی فایل‌های آلوده افزایش یابد.
برای راه‌اندازی چند موتور جست‌وجوگر به صورت همزمان و موازی، از سیستم Virtual Machine استفاده می‌شود که به این موتور در اصطلاح، Cloud Detection Engine گفته‌می‌شود. در این فناوری با ایجاد  تاریخچه‌ای از تمامی موارد مشکوکی که پیش‌تر ثبت شده‌اند، سعی می‌شود هنگام اسکن فایل مشکوک با موتور ابری این نوع آنتی‌ویروس به صورت همزمان تمامی تاریخچه قبلی نیز اسکن شود (به صورت موازی) که این امر باعث بالا رفتن سرعت تشخیص یک فایل آلوده می‌شود.
در حال حاضر، با تکامل بسترهای پردازشی تحت وب و محاسبات ابری (Cloud Computing) شاهد انتشار و عرضه ویرایش جدیدی از برخی آنتی‌ویروس‌ها به نام Cloud هستیم. شرکت امنیتی خوشنام Panda اولین آنتی‌ویروسی است که به راه‌اندازی سرویس Cloud و توسعه آن اقدام کرد.
با توجه به موارد گفته‌شده، یکی از بهترین گزینه‌ها برای بررسی آلودگی یا سلامت فایل‌ها در نقل و انتقال اطلاعات بر بستر اینترنت، استفاده از نسخه‌های ابری آنتی‌ویروس‌هاست.

برای مطالعه بخش اول به اینجا مراجعه کنید

منبع : مجله سخت افزار