IRCAR200907026
نرم افزارهاي آنتي ويروس اختصاصاً براي دفاع از سيستم ها در برابر تهديدهاي ويروسها طراحي و نوشته مي شوند. متخصصان امنيتي قوياً توصيه به استفاده از آنتي ويروس مي كنند زيرا آنتي ويروس از رايانه شما نه تنها در برابر ويروسها بلكه در برابر انواع بدافزارها نيز محافظت مي كند. در واقع آنتي ويروس يك برنامه كامپيوتري است كه براي مرور فايلها و تشخيص و حذف ويروسها و ديگر بدافزارها از آن استفاده مي شود.
در اين مقاله برخي از تكنيكهاي رايج در بين آنتي ويروسها را كه براي تشخيص بدافزارها به كار برده مي شوند مورد بررسي قرار خواهيم داد. در حالت كلي آنتي ويروس ها از دو تكنيك اصلي براي رسيدن به اهدافشان استفاده مي كنند:
روش مبتني بر كد (امضا): در اين روش با استفاده از يك ديكشنري ويروس كه حاوي امضاي ويروسهاي شناخته شده است، احتمال وجود ويروسهاي شناخته شده در فايلها مورد بررسي و آزمايش قرار مي گيرند.
روش مبتني بر رفتار: در اين روش هدف شناسايي رفتارهاي مشكوك هر برنامه كامپيوتري است، زيرا احتمال دارد رفتار مذكور نشان دهنده يك آلودگي ويروسي باشد.
اغلب آنتي ويروسهاي تجاري از هر دو روش فوق ولي با تأكيد بر روي امضاي ويروس، استفاده مي كنند. در زير روشهاي مذكور را با تفصيل بيشتري توضيح مي دهيم.
روش مبتني بر كد (امضا)
اغلب برنامه هاي آنتي ويروس در حال حاضر از اين تكنيك استفاده مي كنند. در اين شيوه، رايانه ميزبان، درايوهاي حافظه و يا فايلها با هدف پيدا كردن الگويي كه نشان دهنده يك بدافزار باشد، مورد جستجو قرار مي گيرند. اين الگوها معمولاً در فايلهايي به نام فايلهاي امضا ذخيره مي شوند. فايلهاي مذكور توسط فروشندگان نرم افزارهاي آنتي ويروس طبق يك برنامه منظم به روز رساني مي شوند تا قادر باشند بيشترين تعداد ممكن حمله هاي بدافزاري را شناسايي كنند. مشكل اصلي تكنيك بررسي امضا اين است كه نرم افزار آنتي ويروس بايد قبلاً به روز رساني شده باشد تا بتواند به مقابله و خنثي سازي بدافزارها بپردازد و لذا بدافزارهاي جديدي كه هنوز شناسايي نشده و به فايلهاي امضا اضافه نشده اند تشخيص داده نمي شوند.
در اين شيوه زماني كه نرم افزار آنتي ويروس يك فايل را مورد آزمايش قرار مي دهد، به يك ديكشنري ويروس كه حاوي امضاي ويروسهاي شناخته شده است مراجعه مي كند. در صورتي كه هر تكه از كد فايل با يك ويروس شناخته شده مطابقت داشته باشد، فايل مذكور به عنوان يك فايل آلوده شناسايي شده و آنتي ويروس يا آن را پاك مي كند و يا آن را قرنطينه مي نمايد تا برنامه هاي ديگر به آن دسترسي نداشته و همچنين از انتشار آن جلوگيري به عمل آيد. در برخي موارد نيز امكان بازسازي فايل آلوده از طريق حذف ويروس از فايل اصلي وجود دارد كه در صورت امكان آنتي ويروس اين كار را انجام مي دهد.
همان طور كه در بالا نيز گفتيم، آنتي ويروسهاي مبتني بر امضا براي موفق بودن در درازمدت، نياز دارند كه مرتباً ديكشنري حاوي امضاهاي ويروس را به صورت آنلاين به روز رساني نمايند. زماني كه يك ويروس جديد در دنياي رايانه پديدار مي شود، كاربران با تجربه تر فايلهاي آلوده را براي نويسندگان آنتي ويروس ها ارسال مي كنند تا آنها بتوانند ويروس مزبور را شناسايي كرده و مشخصات آن را به ديكشنري اضافه كنند.
آنتي ويروس هاي مبتني بر امضا غالباً فايلها را در زمان اجرا، باز و بسته شدن و همچنين زماني كه ايميل مي شوند، مورد آزمايش قرار مي دهند. به اين وسيله يك ويروس شناخته شده به محض وارد شدن به رايانه تشخيص داده مي شود. همچنين مي توان برنامه هاي آنتي ويروس را طوري برنامه ريزي كرد كه در زمانهاي معيني به بررسي كل فايلهاي موجود بر روي ديسك سخت بپردازند.
با وجودي كه روش مبتني بر امضا مؤثر شناخته شده است ولي ويروس نويسان همواره تلاش مي كنند تا يك قدم جلوتر از آنتي ويروس ها حركت كنند و اين كار را از طريق ايجاد ويروسهاي چندريختي انجام مي دهند. ويروسهاي چندريختي در واقع داراي يك مكانيزم دفاعي رمزنگاري هستند. بدافزارهايي از اين نوع رمزنگاري به عنوان يك مكانيزم دفاعي استفاده مي كنند كه مي خواهند خود را تغيير دهند تا از خطر تشخيص داده شدن توسط نرم افزارهاي آنتي ويروس در امان بمانند. اين بدافزار ها معمولاً خود را با يك الگوريتم رمزنگاري به صورت رمزي درآورده و سپس براي هر دگرگوني از يك كليد رمزگشايي متفاوت استفاده مي كنند. بنابراين بدافزار هاي چندريختي مي توانند از تعداد نامحدودي الگوريتم رمزنگاري به منظور ممانعت از تشخيص استفاده كنند. در هر بار تكرار بدافزار جزئي از كد رمزگشايي دچار تغيير مي شود. بسته به نوع هر بدافزار، عمليات خرابكارانه يا ديگر اعمالي كه توسط بدافزار انجام مي شوند مي توانند تحت عمليات رمزنگاري قرار بگيرند. معمولاً يك موتور دگرگوني در بدافزار رمزنگاري شده تعبيه شده است كه در هر بار تغيير، الگوريتم هاي رمزنگاري تصادفي را توليد مي كند. سپس موتور مذكور و بدافزار توسط الگوريتم توليدي رمزنگاري شده و كليد رمزگشايي جديد به آنها الصاق مي شود.
نكته اي كه نبايد آن را از نظر دور داشت اينست كه روشهاي متنوعي براي رمزنگاري و بسته بندي بدافزارها وجود دارد كه تشخيص انواع شناخته شده بدافزارها را براي آنتي ويروسها بسيار سخت يا غيرممكن مي سازد. لذا تشخيص اينگونه ويروسها نيازمند موتورهاي قوي باز كردن بسته بندي است كه بتوانند فايلها را قبل از آزمايش رمزگشايي نمايند. متأسفانه بسياري از آنتي ويروس هاي محبوب و معروف امروزي فاقد توانايي تشخيص ويروس هاي رمزنگاري شده هستند.
روش مبتني بر رفتار
روش مبتني بر رفتار بر خلاف روش پيشين تنها در تلاش براي شناسايي ويروسهاي شناخته شده نيست و به جاي آن رفتار همه برنامه ها را نظارت مي كند. اين تكنيك سعي در تشخيص انواع شناخته شده و همچنين انواع جديد بدافزار دارد و اين كار را از طريق جستجوي ويژگيهاي عمومي و مشترك بدافزارها انجام مي دهد. براي مثال اگر يك برنامه سعي در نوشتن داده بر روي يك برنامه اجرايي ديگر را داشته باشد، اين رفتار به عنوان يك رفتار مشكوك شناسايي شده و به كاربر هشدار لازم داده مي شود. سپس از او در مورد اينكه چه كاري بايد انجام شود سؤال مي شود.
آنتي ويروس هاي مبتني بر رفتار بر خلاف آنتي ويروس هاي مبتني بر امضا از رايانه در برابر ويروسهاي جديد نيز كه امضاي آنها در هيچ ديكشنري موجود نيست، محافظت به عمل مي آورند. البته مشكل اين آنتي ويروسها تعداد زياد تشخيصهاي مثبت اشتباه و هشدارهاي به كاربر است كه موجب خستگي و سر رفتن حوصله كاربران مي شود. در صورتي كه كاربران به همه هشدارها پاسخ Accept را بدهند عملاً آنتي ويروس بلااستفاده شده و كارايي خود را از دست خواهد داد، به همين دليل آنتي ويروس ها استفاده از اين روش را روز به روز محدودتر مي كنند.
به روش مبتني بر رفتار جستجوي اكتشافي يا Heuristic نيز گفته مي شود زيرا سعي در كشف رفتارهاي مشكوك و شناسايي بدافزارها دارد. مهمترين فايده اين روش تكيه نكردن آن بر فايلهاي امضا براي تشخيص و مقابله با بدافزار است. به هر حال همان طور كه گفتيم بررسي اكتشافي نيز با مشكلات خاصي روبرو است از جمله:
- تشخيص مثبت اشتباه يا False Positive
اين روش از ويژگيهاي عمومي بدافزار ها استفاده مي كند، و بنابراين ممكن است برخي از نرم افزارهاي قانوني و معتبر را در صورتي كه خصوصياتي شبيه بدافزارها داشته باشند، نيز به اشتباه بدافزار شناسايي كند. - بررسي كندتر
پروسه جستجوي ويژگيها براي يك نرم افزار بسيار سخت تر از جستجوي الگوهايي مشخص است. به همين دليل جستجوي اكتشافي مدت زمان بيشتري نسبت به جستجوي امضا جهت شناسايي بدافزارها نياز دارد. - نديدن ويژگيهاي جديد
در صورتي كه يك حمله بدافزاري جديد ويژگيهايي را از خود به نمايش بگذارد كه پيش از اين شناسايي نشده اند، جستجوي اكتشافي نيز آن را شناسايي نمي كند مگر اينكه به روز رساني شده و ويژگي مذكور به حافظه آن اضافه شود.
روشهاي ديگر
استفاده از Sandbox
يك روش ديگر براي تشخيص ويروسها استفاده از sandbox است. يك sandbox سيستم عامل را شبيه سازي كرده و فايلهاي اجرايي را در اين شبيه سازي اجرا مي كند. بعد از پايان اجراي برنامه ها sandbox در مورد تغييراتي كه ممكن است نشان دهنده ويروس باشد مورد ارزيابي قرار مي گيرد. به علت سرعت پايين اين روش تشخيص، از آن فقط در صورت تقاضاي كاربر استفاده مي شود.
ناوري ابر
در نرم افزارهاي آنتي ويروس رايج و امروزي يك فايل يا برنامه جديد تنها توسط يك تشخيص دهنده ويروس در يك زمان مورد بررسي قرار مي گيرد. آنتي ويروس ابري مي تواند برنامه ها يا فايلها را به يك شبكه ابري ارسال كند كه در آن از چندين آنتي ويروس و چندين ابزار تشخيص بدافزار به صورت همزمان استفاده مي شود.
آنتي ويروس ابري در واقع يك آنتي ويروس مبتني بر محاسبات ابري است كه توسط دانشمندان دانشگاه ميشيگان توليد شده است. هر زمان كه رايانه يك فايل يا برنامه جديد را دريافت يا نصب كند يك نسخه از آن به صورت خودكار براي ابر آنتي ويروس ارسال مي شود و در آنجا با استفاده از 12 تشخيص دهنده متفاوت كه با يكديگر كار مي كنند، مشخص مي شود كه آيا باز كردن فايل يا برنامه مذكور امن است يا خير.
ابزار پاكسازي ويروس
يك ابزار پاكسازي ويروس در واقع نرم افزاري است كه براي تشخيص و پاكسازي ويروسهاي خاصي طراحي شده است. لذا بر خلاف آنتي ويروسهاي كامل از آنها انتظار تشخيص گستره وسيعي از ويروسها را نداريم بلكه آنها براي تشخيص و پاكسازي ويروسهاي ويژه اي از روي رايانه هاي قرباني طراحي شده اند و در اين كار به مراتب موفق تر از آنتي ويروس هاي عمومي عمل مي كنند. برخي اوقات آنها براي اجرا در محلهايي طراحي مي شوند كه آنتي ويروس هاي معمولي نمي توانند در آن محلها اجرا شوند. اين حالت براي مواقعي كه رايانه به شدت آسيب ديده و آلوده شده است مناسب است.
تشخيص آنلاين
برخي وب سايتها امكان بررسي فايلهاي بارگذاري شده توسط كاربر به صورت آنلاين را فراهم مي كنند. اين وب سايتها از چندين تشخيص دهنده ويروس به صورت همزمان استفاده مي كند و گزارشي را در مورد فايلهاي بارگذاري شده براي كاربر تهيه مي كنند. براي مثال مي توان به وب سايتهاي COMODO Automated Analysis System و VirusTotal.com اشاره كرد.
در پايان بايد بگوييم درست است كه استفاده از آنتي ويروس ها اجتناب ناپذير بوده و شكي در سودمند بودن آنها نيست ولي برخي از اوقات دردسرهايي را براي كاربران ايجاد مي كنند. براي مثال برنامه هاي آنتي ويروس در صورتي كه به صورت مؤثر طراحي نشده باشند، كارايي رايانه را كاهش داده و باعث كند شدن آن مي شوند، ممكن است كاربران بي تجربه در فهميدن هشدارهاي آنتي ويروس مشكل داشته باشند و پيشنهاداتي را كه آنتي ويروس به آنها ارائه مي كند درست متوجه نشوند. گاهي اوقات يك تصميم نادرست ممكن است منجر به نشت اطلاعات شود. در صورتي كه آنتي ويروس از جستجوي اكتشافي استفاده كند كارايي آن به ميزان تشخيصهاي مثبت نادرست و تشخيصهاي منفي نادرست بستگي دارد، و در آخر از آنجا كه برنامه هاي آنتي ويروس غالباً در سطوح بسيار قابل اطمينان در هسته سيستم اجرا مي شوند، محل خوبي براي اجراي حملات بر عليه رايانه مي باشند.
منابع:
The Antivirus Defense in Depth. PDF
http://www.antivirusworld.com/articles/antivirus.php
http://www.net-security.org/article.php?id=485&p=1
http://en.wikipedia.org/wiki/Antivirus
- 6