کمیته رکن چهارم – مهاجمان سایبری همواره در حال ابداع روشهای جدید و پیشرفته جهت عبور از ابزارهای شناسایی و تشخیص بدافزار و همچنین فرار از این راهکارهای حفاظتی هستند. توصیه کارشناسان امنیتی برای حفظ امنیت در چنین شرایطی که تمام دستگاههای متصل به اینترنت در معرض حملات سایبری قرار دارند؛ اجرا و پیادهسازی رویکرد «تحلیل بدافزار» است.
فرایند تحلیل بدافزار با هدف شناسایی دقیق و بررسی پیامدهای بالقوه بدافزارها انجام میشود. این فرایند به تیمهای امنیتی کمک میکند تا بتوانند ماهیت و عملکرد بدافزارها، محدوده آلودگی بدافزاری و عواقب ناشی از حملات بدافزاری را به خوبی درک کرده و از راهکارهای مناسب برای از بین بردن و مقابله با آنها استفاده کنند.
روشهای فعلی که برای تحلیل بدافزارها وجود دارد، عبارتند از:
- تشخیص ایستا
- تشخیص پویا
در ادامه این مطلب، هر کدام از این روشها را مورد بررسی قرار میدهیم.
تحلیل بدافزار به روش ایستا
تحلیل ایستا، کدهای بدافزاری مدنظر را صرفنظر از اجرای آنها مورد تحلیل و بررسی قرار میدهد. این روش شامل تجزیهوتحلیل نرمافزارهای مخرب، بدافزارها و تحقیق درباره آنها است و از روش مهندسی معکوس استفاده میکند. این روش تحلیلی با استفاده از ابزارهای مختلف مثل BinText، OllyDbg و غیره کدهای بدافزاری را به زبانی که برای انسان قابل فهم و درک باشد، ترجمه میکند. برای مثال ابزار BinText کدها و دادههای درون یک فایل بدافزاری را ترجمه و اطلاعات لازم را در اختیار شما قرار میدهد.
تحلیل بدافزار به روش پویا
این روش شامل اجرای بدافزار بر روی یک سیستم در محیطی مجازی و ایزوله به منظور مشاهده رفتار آن است. به این ترتیب تحلیلگران امنیتی میتوانند رفتار بدافزارها را بررسی نموده و مانع از پیشروی آنها در سیستمها شوند. همچنین امکان حذف آلودگیهای ناشی از انتشار بدافزارها در سایر سیستمها نیز فراهم میشود.
در تحلیل پویای پیشرفته میتوان برای تشخیص عملکرد فایل اجرایی یک بدافزار که از طریق روشهای فعلی امکان انجام آن وجود ندارد، از یک ابزار دیباگر (یا اشکالزدا) استفاده کرد. همچنین از آنجا که تحلیل پویا برخلاف تحلیل ایستا مبتنی بر رفتار است، در نتیجه در این روش نباید رفتارهای مهم را نادیده گرفت.
چه تفاوتی بین تحلیلهای ایستا و پویا وجود دارد؟
مفهوم تحلیل ایستا و پویا
کدهای بدافزاری بر اساس اهداف گوناگونی نوشته میشوند. از این رو رفتار و عملکرد بدافزارها نیز کاملاً با یکدیگر متفاوت است. فناوریهای تحلیل ایستا و پویا از جمله روشهای قابل استفاده برای تجزیهوتحلیل و بررسی رفتار انواع بدافزارها هستند. تحلیل ایستا فرایند شناسایی منشاء فایلهای مخرب برای درک رفتار آنها بدون اجرای بدافزار است اما تحلیل پویا یک فرایند جامع و کامل برای تشخیص و تحلیل بدافزار است که در محیطی کنترل شده انجام میشود. البته کل این فرایند نیز تحت نظارت و کنترل قرار دارد.
در تحلیل ایستا لازم نیست که تحلیلگر تمام گامها را طی کند بلکه صرفاً رفتار بدافزارها را مشاهده نموده تا بتواند تواناییهای آنها را تشخیص دهد ولی تحلیل پویا شامل بررسی و تحلیل کامل و دقیق رفتار و عملکرد بدافزار در طول اجرای آن است. این کار در یک محیط بسته و ایزوله انجام میشود تا امکان نظارت مناسب و کنترل شده بر روی بدافزارها فراهم شود.
راهکارهای مورد استفاده در تحلیل پویا و ایستا
تحلیل ایستا شامل تحلیل فایل باینری بدافزار است که یک شناسه منحصربهفرد برای فایل بدافزار محسوب میشود. جهت خوانا و قابل درک بودن فایل باینری برای انسان میتوان با استفاده از یک دیساسمبلر مثل IDA مهندسی معکوس را بر روی این فایل انجام داد. از جمله راهکارهای مورد استفاده برای تحلیل ایستا میتوان به انگشتنگاری فایل (یعنی تعیین مشخصات آن)، تجزیهوتحلیل بدافزار، تخلیه حافظه، تشخیص Packer و اشکالزدایی اشاره کرد. تحلیل پویا شامل بررسی رفتار بدافزار در یک محیط تفکیک شده به منظور جلوگیری از سرایت آلودگی بدافزاری به سایر سیستمها است. همچنین ابزارهای تجاری خاصی وجود دارد که تحلیل خودکار را جایگزین تحلیل دستی کردهاند.
در تحلیل ایستا برای تشخیص و تحلیل بدافزار از روش مبتنی بر امضا استفاده میشود. امضای بدافزار حکم یک شناسه یکتا را برای بدافزار داشته و از یک دنباله بایت تشکیل شده است. برای اسکن امضاها از الگوهای مختلفی استفاده میشود. ابزارهای ضدبدافزاری که بر اساس امضا کار میکنند معمولاً در برابر بدافزارهای متداول کارایی دارند ولی در برابر بدافزارهای پیشرفته، جدید و پیچیده چندان کاربردی نیستند. در چنین شرایطی توصیه میشود از روش تحلیل پویا استفاده کنید زیرا در این روش به جای امضا از راهکار مبتنی بر رفتار جهت تشخیص عملکرد بدافزار استفاده میشود.
خلاصه مطلب
تشخیص، شناسایی و تحلیل مقدماتی کدهای بدافزاری و همچنین تحلیل دقیق سیستم جهت مقابله با انتشار بدافزار و آلودگی سیستمها از اهمیت بسیار زیادی برخوردار است. روشهای تحلیل ایستا و پویا از جمله راهکارهای بسیار کاربردی برای تحلیل و بررسی بدافزارها هستند. روش تحلیل ایستا بدون اجرای بدافزار مدنظر، کدهای آن را از فایل متنی استخراج کرده و به یک زبان قابل فهم برای انسان تبدیل میکند.
تحلیل ایستا یک روش مبتنی بر امضا بوده ولی روش تحلیل پویا مبتنی بر تشخیص رفتار میباشد و عملکرد بدافزار را پس از اجرای آن در یک محیط ایزوله و به صورت کاملاً دقیق بررسی میکند. هر دو روش ایستا و پویا به کارشناسان امنیت کمک میکنند تا بتوانند آلودگیهای ناشی از بدافزارها را برطرف نموده و مانع از پیشروی آنها در شبکه و سیستمها شوند.
منبع: فراست