در مقاله هفته قبل به معرفی سبکترین آنتیویروس ها پرداختیم. در مقاله پیش رو وارد مباحث پیشرفته تری در مبارزه با بدافزارها میشویم. در ادامه افزون بر تشریح نحوه کارکرد آنتی ویروسها، به معرفی روشهای پیشرفته و هوشمند شناسایی بدافزارهای جدید و ناشناخته میپردازیم که امنیت سیستم شما را یک گام فراتر از بدافزارها و تهدیدهای روز افزون میبرند. با شهرسخت افزار همراه شوید.
راهکارهای امنیتی، به منظور شناسایی بدافزارها از تکنیکها و روشهای مختلفی بهره میگیرند که رایجترین و آشناترین آنها، مبتنی بر فایلهای بروزرسانی است. در این روش پیش از آنکه بدافزارها از سوی راهکارهای امنیتی شناسایی شوند، میبایست به روشهایی به دست سازنده راهکارهای امنیتی برسند، به عبارتی باید نمونهای از آن بدافزار به دست سازنده برسد تا جزئیات لازم به منظور شناسایی، حذف و پاکسازی را از طریق فایلهای بروزرسانی به دست کاربر نهایی برساند. آنچه که این رویه را تا حدود زیادی ناکارآمد میکند، وقفه میان تهیه نمونه و شناسایی آن است. گاهی ممکن است بدافزارها برای مدت طولانی منتشر شده و سیستمهای زیادی را آلوده کرده باشند اما هنوز به دست شرکتهای سازنده نرم افزارهای امنیتی نرسیده باشند. همین عامل باعث ناکارآمدی روشهای کلاسیک شده و ظهور تکنیکهای جدید را اجتناب ناپذیر کرده است.
به منظور درک بهتر این مشکل تصور کنید که بدافزاری از سوی شخص یا اشخاصی در یکی از شهرهای کشور ما منتشر شود و سیستمهای مختلفی را آلوده کند و ما نسبت به وجود آن بر روی سیستمهایمان هیچ اطلاعی نداشته باشیم، این مشکل باعث میشود که شاید تا سالها بدافزار در حال نشر خود باشد و به دست هیچ شرکت امنیتی نرسد، نمونه مشهود آن بدافزار استاکس نت بود که تا مدتها از دید همگان پنهان مانده بود. در چنین سناریوی که هر روز و بارها رخ میدهد، ما به راهکاری نیاز داریم که بدون وابسته بودن به شرکت سازنده و فایلهای بروزرسانی، قادر به شناسایی بدافزارها باشد، احتمالاً تصور میکنید که این کار ناممکن است، اما باید بگوییم که به لطف ریاضیات، هوش مصنوعی و ابتکارهای برنامه نویسی، شاهد تکنیکهای نوینی در شناسایی بدافزارها هستیم که شاید درک آنها کمی دشوار باشد. پیش از آنکه به معرفی این تکنیکهای پیشرفته بپردازیم، نخست نگاهی داشته باشیم بر شیوهها و تکنیکهای شناسایی بدافزارها.
تشخیص مبتنی بر Signature (فایلهای به روزرسانی)
اولین روش تشخیص بدافزارها، مبتنی بر شناسه یا Signature است. این روش بسیار کلاسیک و در عین حال رایجترین است تقریباً تمامی راهکارهای معمولی مبتنی بر روش تشخیص با Signature هستند و در خط مقدم از مبارزه با بدافزارها قرار میگیرد. برای درک بهتر این روش، به نمونه عینی میپردازیم، راهکارهای امنیتی را پلیس یک شهر و بدافزارها را مجرمان در نظر بگیرید، برای شناسایی و توقف مجرمان از سوی پلیس، میبایست پلیس از پیش نبست به آنها آگاهی و جزئیاتی داشته باشد والی قادر به شناسایی آنها نیست، فایلهای Signature همانند اثر انگشت مجرمین عمل میکنند. این همان روش مبتنی بر شناسههای یکتا یا Signature است. در روش مبتنی بر Signature، پیش از آنکه بدافزاری شناسایی شود، به روشهای مختلفی میبایست فایلهای مشکوک از سوی سازندگان محصولات امنیتی جمع آوری شوند، پس از جمع آوری، آنها فایلهای مشکوک را بررسی میکنند و اگر مطمئن شوند یک فایل مخرب است، مشخصات و الگوهای یکتایی را از آن تهیه میکنند که از طریق آنها بتوان بدافزار را شناسایی کرد. این الگوهای یکتا از کدهای منبع بدافزار استخراج میشوند.
در این کار میتواند مشکلات و موانعی وجود داشته باشد، نخست امری زمان بر و هزینه بردار است، دوم این احتمال وجود داره که فایلهای مشکوک به درستی شناسایی نشوند. اما سومین و مهمترین مشکل این روش، عدم امکان تهیه نمونه تمامی بدافزارها از همان لحظه انتشار است. بنابراین ممکن است که بدافزاری تا ماهها و سالها و حتی هیچگاه به دست شرکتهای سازنده نرسد. پس موفقیت این روش هیچگاه نمیتواند 100% باشد. پس از آنکه نمونهای از بدافزارها به دست سازندگان برسد و آنها را شناسایی کنند، جزئیات شناسایی، حذف و پاک سازی از طریق همان فایلهای بروزرسانی به موتور آنتی ویروس کاربر ارائه میشود. بنابراین آنچه که به عنوان فایل بروزرسانی ارائه میشود، حاوی شناسه یکتای بدافزارها، نحوه پاک سازی و تعمیرات احتمالی است.
همانطور که پیشتر اشاره شد، مشکل آنجاست که بدافزاها در مدت کوتاهی به دست شرکتهای امنیتی نمیرسند و در همین خلاء به فعالیتهای مخرب و آلوده کردن سیستمهای بیشتر و بیشتری ادامه میدهند. در حالی که شناسایی بدافزارهای جدید خود یک مشکل است، مشکل جدی تری نیز وجود دارد، باید بپذریم آنهایی که بدافزارها را خلق میکنند، همیشه یک گام از ما جلوتر هستند. در روش مبتنی بر Signature، شناسه یکتای فایلها معیار شناسایی قرار میگیرد، اما اگر یک بدافزار شناسه ثابتی نداشته باشد چه طور؟
سازندگان بدافزارها به منظور جلوگیری از شناسایی بدافزارها توسط راهکارهای امنیتی، دست به ابتکارهای هوشمندانهای زدهاند و روشهایی را یافتهاند که بدافزارها به طور خودکار در کدهای خود تغییراتی را اعمال میکنند که مانع از استخراج شناسه یکتا میشود. در این تکنیک خالق بدافزار طوری آن را برنامه ریزی میکند، که با رمزنگاریها و تغییرات پیاپی و مکرر در خود، مانع از استخراج شناسه یکتا شود. برای نمونه یک بدافزار توسط شناسه یکتا شناسایی میشود اما پس از مدتی شناسه نمونههای زنده دیگر آن تغییر میکند و با همان شناسه قبلی قابل شناسایی نیست. جهشهای بدافزارها در دنیای واقعی به ویروسهای بیولوژیکی شباهت دارد که پس از مدتی یک واکسن علیه آنها ناکارآمد میشود و به گونه جدیدی جهش مییابند. به این نوع بدافزارها که قادر به جهش هستند، Polymorphic گفته میشود. این دست از بدافزارهای تغییر پذیر، با توجه به تکنیکهای بکار گرفته شده، به نوعهای مختلفی تقیسم میشوند.
و بازهم یکی دیگر از مشکلات روش تشخیص مبتنی بر Signature آنجاست که پس از آنکه بدافزار از سوی نرم افزارهای امنیتی شناسایی میشود، خالق آن دست به تغییراتی در کد منبع بدافزار میزند و گونه جدیدی را خلق میکند که شناسه دیگری داشته باشد. به گونههای مختلف از یک بدافزار واحد Variant میگویند که گاهی تنها شناسه یکتای آن تغییر یافته و گاهی گونه متفاوتی است.
هنگامی که شما فایلی را اسکن میکنید و با به طور خودکار از سوی راهکار امنیتی بررسی میشود، شناسه یکتای آن استخراج و با پایگاه داده بدافزارها یا همان فایلهای بروزرسانی مقایسه میشود، اگر تطابقی یافت شود، آن فایل بدافزار و اگر هیچ شناسهای در پایگاه داده وجود نداشته باشد، آن فایل غیر مخرب تشخیص داده میشود، به همین سادگی! احتمالاً نسبت به روش تشخیص مبتنی بر Signature ناامید و یا بد بین شدهاید، اما باید بگوییم که هنوز هم رایجترین و اصلیترین روش مبارزه با بدافزارها است. اغلب نرم افزارهای امنیتی از این روش در کنار تکنیکهای دیگری به صورت توام بهره میگیرند.
شرکتهای سازنده محصولات امنیتی به طور پیوسته در حال جمع آوری بدافزارهای جدیدی و استخراج شناسه یکتای آنها هستند و این شناسهها، همان فایلهای بروزرسانی هستند که روزانه چندین مرتبه ارائه میشود. با ارائه هر بروزرسانی جدیدی، تعداد شناسه بدافزارها بیشتر میشود.
اکنون که به معایب روش مبتنی بر Signature آشنا شدید، احتمالاً به خوبی میدانید که به تنهایی نمیتواند شما را در برابر تهدیدها و بدافزارها محافظت کند. شرکتهای امنیتی برتر، روشها و تکنیکهای منحصربفردی را توسعه دادهاند که شناسایی بدافزارهای که توسط روش مبتنی بر Signature قابل تشخیص نبودهاند را ممکن میکند. اما متاسفانه توسعه این تکنیکهای پیشرفته با هزینهها و دانش بسیار بالای همراه است و از این رو در تمامی محصولات یافت نمیشود. همچنین کارآمدی آنها در محصولات مختلف متفاوت است، برخی تنها مشکلات را بیشتر میکنند و برخی قادر به شناسایی بدافزارها بدون نیاز به فایلهای بروزسانی هستند. در ادامه به معرفی و شرح تکنیکهای پیشرفته شناسایی بدافزارها میپردازیم. در نظر داشته باشد که همه این تکنیکها در تمامی محصولات یافت نمیشود و بسیاری از راهکارهای غیرحرفهای، تنها به تشخیص مبتنی بر Signature بسنده میکنند.
تشخیص مبتنی بر هوش مصنوعی-Heuristic
شرکتهای امنیتی بزرگ و با سابقه، با در دست داشتن سرمایه و دانش زیاد، به ابداع روشهای جدیدی برای شناسایی و تشخیص بدافزارها زدهاند که بیشتر مبتنی بر هوش مصنوعی و منطق هستند. در این روشها سعی میشود بدافزارهایی که توسط روش مبتنی بر Signature شناسایی نشدهاند، شناسایی شوند. بنابراین این روش قادر به شناسایی بدافزارهای جدید و ناشناخته بدون وابستگی مستقیم به فایلهای بروزرسانی است. البته موفقیت این روش حکایت خود را دارد و همیشه با موفقیت همراه نیست.
یکی از این روشهای نوین در تشخیص بدافزارها، مبتنی بر Heuristic یا تکنیکهای اکتشافی است. یکی از رایجترین و اصلیترین تکنیکهای Heuristic، یافتن شباهتها میان فایلها با بدافزارهای پیش تر شناسایی شده است. به همین منظور فایل مشکوک دیگر نه از نظر شناسه یکتا بلکه از نظر یافتن شناسههای مشابه بررسی میشوند. اساس روش Heuristic مبتنی بر این واقعیت است که میان بدافزارها و به طور خاص گونههای جدیدی از بدافزارهای شناخته شده، الگوها و قطعه کدهای مشترکی وجود دارد. تحلیل Heuristic به این صورت است که کد اجرایی فایلها با الگوهای پیشتر شناخته شده بدافزارها تا جایی مقایسه میشوند که یک الگوی مشابه یافت شود. گاهی طی یک بررسی چندین الگوی مشابه یافت میشود که موتور راهکار امنیتی را به سمت تشخیص درست هدایت میکند. فرایند بررسی Heuristic وقت گیرتر از روش مبتنی بر Signature است و با مصرف منابع سیستمی نیز همراه است. از این رو هنگامی که یک فایل مورد تحلیل قرار میگیرد، معمولاً با افت کارایی سیستم و یا وقفه در اجرای فایل مورد بررسی مواجه میشویم.
موفقیت روشهای Heuristic در راهکارهای امنیتی شرکتهای مختلف کاملاً متفاوت است و در برخی محصولات بسیار کارآمد و در برخی دیگر دردسری بیش نیست. یکی از معایب روشهای Heuristic در کنار مصرف منابع سیستمی و افت کارایی، احتمال تشخیص اشتباه است. همواره این احتمال وجود دارد که یک فایل غیر مخرب به عنوان بدافزار شناسایی شود. میزان اشتباه روش Heuristic بازهم در محصولات مختلف متفاوت است. بنابراین با اینکه روشهای Heuristic در شناسایی بدافزارها مفید هستند، اما دقیق نبوده و مشکلاتی نیز دارند.
تشخیص مبتنی بر تحلیل رفتاری-Behavioural
دومین تکنیک پیشرفته شناسایی بدافزارها، مبتنی بر تحلیل رفتاری یا Behavioural است. در این روش رفتار فایلهای اجرای از نظر مخرب بودن و یا احتمال مخاطره آمیز بودن بررسی میشود. به همین منظور رفتار فایلها پس از اجرا بررسی میشود و اگر الگوی مخربی تشخیص داده شود، آن فایل ممکن است که مهر بدافزار بخورد. اما روش Behavioural چه گونه کار میکند؟ پیش از اجرای یک فایل اجرایی و حتی پس از اجرای آن، کدها و رفتارهای آن فایل بررسی و تحلیل میشوند، معمولاً بدافزارها رفتارهای بسیار مشابهای نظیر دسترسی به منابع مختل، ارتباط با اینترنت، تغییرات در سطح سیستم عامل، دستکاری تنظمیات و.. از خود بروز میدهند. از این رو یافتن رفتارهای مشکوک از بدافزارها میتواند بسیار مفید باشد. یکی از معایب روش تحلیل رفتاری، مصرف منابع سیستم و همان افت کارایی است.
اما مشکل اصلی در تشخیص اشتباه فایلهای غیرمخرب به عنوان بدافزار است. تشخص اشتباهی فایلهای غیر مخرب به عنوان بدافزار که از آن به عنوان False Positive نام برده میشود، مشکلی جدی در روشهای پیشرفته شناسایی بدافزارها است. بازهم میزان False Positive در میان محصولات مختلف کاملاً متفاوت است. با اینکه دو روش Heuristic و Behavioural شباهتهایی دارند، اما عملکرد آنها متفاوت است. در روش Heuristic کدهای اجرایی فایلها به منظور یافتن الگویی مشابه با بدافزارها و یا کدهای مخرب بررسی میشود اما در روش Behavioural، رفتارهای فایلهای اجرایی پس از اجرا بررسی میگردد. در تحلیل رفتاری یا Behavioural، معمولاً فایل اجرایی ابتدا در یک محیط مجازی و قرنطینه (Sandbox) اجرا میشوند، سپس تمامی رفتارهای آن ثبت و تحلیل میشود، اگر رفتار مخرب و یا مخاطره آمیزی شناسایی نشود، فایل فرصت اجرا در محیط واقعی سیستم عامل را مییابد اما کماکان رفتارها تحت نظر گرفته میشوند.
الگوریتمهای این دو روش بسیار پیچیدهتر آن چیزی هستند که ما به سادگی آن را شرح دادیم. در پشت تکنیک Heuristic، الگوریتمهای بسیار پیچیده ریاضیاتی و منطقی قرار گرفتهاند و نیز از هوش مصنوعی به منظور شناسایی بدافزارهای جدید بهره گرفته میشود. اما روش تحلیل رفتاری مقداری سادهتر است.
هر دو این روشها توانایی شناسایی بدافزارها را به طرز کاملاً چشمیگری افزایش میدهند و وجود آنها به وضوح بهتر از نبودشان است. متاسفانه این تکنیکها در محصولات شرکتهای نوپا به چشم نمیخورند و در برخی محصولات نیز بسیار غیر دقیق و دردسر آفرین هستند. در همین حال خوشبختانه محصولاتی نیز وجود دارند که به طرز حیرت انگیزی از این تکنیکهای پیشرفته بهره میگیرند و قادر به شناسایی بدافزارها حتی بدون نیاز به بروزرسانی هستند. البته باید در نظر داشت که گاهی بروزرسانیها با بهبودهایی برای روشهای Heuristic و Behavioural همراه هستند و هرچه که محصول به روزتر باشد، کارآمدتر میشوند. همچنین در قالب بروزرسانیها، گاهی موتورهای Heuristic و Behavioural به روز میشوند. از این رو توصیه میشود که همواره از آخرین نگارش نرم افزارهای امنیتی استفاده کنید.
معرفی نهاد مستقل اعتبار بخشی به راهکارهای امنیتی AV-Comparatives
در دنیای امنیت هیچگاه نمیتوان صرفاً به ادعای سازندگان راهکارهای امنیتی بسنده کرد و بررسی عملی همه جانبه تمامی راهکارهای موجود نیز تقریباً برای کاربران ممکن نیست. از این رو نهادهای مستقلی به طور حرفهای و بر اساس رویههای استانداردی به مقایسه و بررسی راهکارهای امنیتی از جنبههای مختلفی میپردازند. یکی از این نهادهای مشهور AV-Comparatives نام داد که مستقل بوده و بررسیهای آن از اعتبار بسیار بالایی برخوردار هستند. جوایز کسب شده از سوی نهاد AV-Comparatives برای سازندگان محصولات امنیتی یک افتخار محسوب می شود.
AV-Comparatives تستها و بررسیهای مختلفی را از جنبههای مختلفی بر روی راهکارهای امنیتی انجام میدهد که همگی بر اساس رویههای استاندارد، مشخص و شناخته شدهای صورت میگیرند. یکی از این آزمونها Heuristic / Behaviour یا توانایی تشخیص بدافزارهای جدید بدون وابستگی به بروزرسانی نام دارد. در این آزمون محصولات مختلف با بدافزارهای جدید و ناشناخته ای بررسی می شوند. به این منظور مدتی آنها را بروزرسانی نمی کنند و سپس به بررسی تشخیص بدافزارهای جدید می پردازند. قاعدتاً هرچه بدافزارهای بیشتری شناسایی شوند، مطلوب تر است. همانطور که پیش تر اشاره شد، یکی از مشکلات روش های Heuristic و Behavioural، تشخیص اشتباهی فایل های سالم به عنوان مخرب است. این زور هرچه تعداد تشخیص های اشتباه کمتر و یا نزدیک به صفر باشد، مطلوب تر است. بنابراین در آزمون Heuristic / Behaviour توانایی محصولات امنیتی در شناسایی بدافزارهای جدید و ناشناخته بدون وابستگی به فایل های Signature مورد بررسی قرار می گیرد.
در این آزمون توانایی تشخیص بدافزارهای جدید بدون وابستگی به فایلهای بروزرسانی مورد بررسی قرار میگیرد. خط آبی نشانگر توانایی راهکار امنیتی پیش فرض مایکروسافت در ویندوز 7 است که 52.8% بدافزارهای جدید را در این آزمون شناسایی کرده است.
میله سبز بیانگر درصد بدافزارهای شناسایی شده، میله زرد بیانگر بدافزارهای به طور قطعی تشخیص داده نشده (تصمیم نهایی با کاربر) و میله قرمز بیانگر بدافزارهای تشخیص داده نشده است. بنابراین مطلوبترین حالت ممکن تشخیص تمامی بدافزارها است.
در آخرین بررسی صورت گرفته؛ BitDefender قادر به شناسایی 99% بدافزارها به روشهایی غیر از Signature بوده است. اما همانطور که پیشتر گفته شد، عامل دیگری بر کارآمدی تکنیکهای Heuristic و Behavioural تاثیرگذار است و آن تعداد تشخیصهای اشتباه یا False Positive است. در جدول زیر تعداد False Positive ها آمده است.
با در نظر گرفتن توانایی شناسایی بدافزارهای جدید و تعداد تشخیص های اشتباه، AV-Comparatives محصولات امنیتی مورد بررسی قرار گرفته را به صورت زیر رتبه بندی کرده است:
هدف از این مقاله، معرفی تکنیکهای پیشرفته شناسایی بدافزارها و مقایسهای اجمالی میان محصولاتی بود که از این فناوری ها بهره می گیرند و هیچ گونه قضاوتی صورت نگرفته است، چراکه بر این باور هستیم کاربران خود باید آگاهانه انتخاب کنند و از این رو تنها به اطلاع رسانی بسنده می کنیم. در مقالات آتی به مباحث بیشتری از جمله مبارزه با تهدیدهای اینترنتی، صفحات جعلی و بیشتر از آن خواهیم پرداخت.
در پایان فراموش نکنید که تجربیات، نظرات و توصیههای ارزشمند خود را با ما و دیگر دوستانتان به اشتراک بگذارید.
تهیه شده در لابراتوارهای تخصصی شهرسخت افزار
نظر خود را اضافه کنید.
برای ارسال نظر وارد شوید
ارسال نظر بدون عضویت در سایت