تجزيه و تحليل Malware (قسمت اول)

اين مقاله شما را با نحوه آناليز Malware آشنا مي نمايد. ما شما را در مسير آشنايي و درک آنچه که Malware بر روي سيستم تان انجام مي دهد. همراهي خواهيم کرد. Malware نرم افزاري است که طراحي شده تا به يک سيستم کامپيوتري نفوذ کرده و يا به آن آسيب برساند، بدون آنکه رضايت آگاهانه صاحب سيستم کامپيوتري را در اختيار داشته باشد. اين عبارت يک اصطلاح کلي به حساب مي آيد که مفهوم آن قالب هاي گوناگوني از کد برنامه و يا نرم افزارهاي خصومت آميز، نفوذ گرانه و يا آزار دهنده را در بر مي گيرد.
شنبه، 19 آذر 1390
تخمین زمان مطالعه:
موارد بیشتر برای شما
تجزيه و تحليل Malware (قسمت اول)

تجزيه و تحليل Malware (قسمت اول)
تجزيه و تحليل Malware (قسمت اول)


 





 
اين مقاله شما را با نحوه آناليز Malware آشنا مي نمايد. ما شما را در مسير آشنايي و درک آنچه که Malware بر روي سيستم تان انجام مي دهد. همراهي خواهيم کرد.
Malware نرم افزاري است که طراحي شده تا به يک سيستم کامپيوتري نفوذ کرده و يا به آن آسيب برساند، بدون آنکه رضايت آگاهانه صاحب سيستم کامپيوتري را در اختيار داشته باشد. اين عبارت يک اصطلاح کلي به حساب مي آيد که مفهوم آن قالب هاي گوناگوني از کد برنامه و يا نرم افزارهاي خصومت آميز، نفوذ گرانه و يا آزار دهنده را در بر مي گيرد.
به زبان ساده، Malware نرم افزاري است که طراحي شده تا يک کامپيوتر را وادار به انجام کاري نمايد که مهاجم مي خواهد انجام شود. اين نرم افزار هميشه براي نابود کردن يک کامپيوتر طراحي نشده است. براي مثال، ممکن است اين نرم افزار صرفاً بر روي يک کامپيوتر قرار گرفته و از سيکل هاي پردازنده براي شکستن کد رمز يک فايل معين استفاده نمايد.
اين روزها، Malwareها به حدي در سيستم هاي کامپيوتري ما رايج شده اند که اکثر مردم ديگر آنها را جدي نمي گيرند. Malware حداقل يکبار سيستم هاي کاربران متوسط را آلوده مي کند، با اين حال ما به استفاده از ماشيني که به تازگي آلوده شده است. براي انجام معاملات محرمانه شخصي نظير خريد و يا بانکداري آنلاين ادامه مي دهيم.
Malware يک تهديد جدي را براي يک Enterprise ايجاد مي کند و مي تواند هر کاري که مهاجم قادر به تصور آن باشد را انجام دهد. اين نرم افزار مي تواند از منابع سيستم نظير پهناي باند يا سيکل هاي پردازنده بهره برداري نموده و با داده هاي رسمي و محرمانه شرکت را براي مهاجم که در محلي خارج از محدوده شرکت قرار گرفته است، ارسال نمايد. اکثر شرکت ها به سيستم هاي آنتي ويروس مجهز هستند و بعضي از آنها حتي از قابليت هاي Antispyware برخوردارند.
با اين حال، شرکت ها در اکثر مواقع، از اين سيستم ها براي پيشگيري يا پاکسازي آلودگي ها پس از آنکه کامپيوترهايشان در برابر مهاجمين تسليم شدند، استفاده مي کنند. بسياري از شرکتها، پيش از تلاش براي از بين بردن يک Malware، وقت خود را صرف تشخيص و يا درک اين واقعيت که چنين نرم افزاري در چه گستره اي مي تواند به سيستم هاي آنها ضربه بزند، نمي کنند. متأسفانه، آلوده شدن با Malware معمولاً بسيار آسانتر از خلاص شدن از شر آن است و پس از آنکه يک Malware به کامپيوتر شما راه پيدا کند، تمايل دارد که خود را به سرعت تکثير نمايد.
تعيين ترکيب ساختار و نحوه عملکرد يک Malware به منظور مطالعه استعداد آن براي تحميل خسارات، آناليز Malware ناميده مي شود.
آناليز Malwareها براي يک Enterprise داراي فوايد بسياري خواهد بود. اکثر سيستم هاي تشخيص Malware نظير يک سيستم محافظتي آنتي ويروس، به فايل هاي امضاي منطبق با Malwareها نياز دارند تا بتوانند Malware ها را تشخيص داده و از نفوذ آنها به ماشين هاي شما جلوگيري نمايند. هنگامي که يک Malware جديد وارد شبکه مي شود، شما تقريباً در برابر دفاع آن بي دفاع هستيد زيرا نرم افزار آنتي ويروس و يا Antispyware شما امضاي شناسائي Malware جديد را در اختيار ندارد.
شناسايي يک Malware جديد غالباً با يک تأخير زماني تا وقتي که امضاي جديد توزيع شود، همراه است زيرا شرکت هاي ارائه کننده محصولات Anti- Malware بايستي اين مزاحم جديد را شناسايي نموده، آن را آناليز کرده، يک امضاي مشخص را يافته، امضاي بدست آمده را آزمايش نموده و نهايتاً آن را در به روز رساني هاي جديد خود پياده سازي کنند.
اگر قبلاً به Malware جديد آلوده شده باشيد، زمان لازم براي انجام فرآيند مذکور کاملاً غيرقابل خواهد بود، خصوصاً اگر هيچ تصوري از اينکه آلوده شده ايد و يا گسترده خسارات احتمالي آن در اختيار نداشته باشيد
يک سايت خريد آنلاين مي تواند مثال بسيار خوبي در اين زمينه باشد. اگر يک Malware جديد وارد شبکه شود و فروشنده آنتي ويروس شما براي پياده سازي يک فايل امضا به دو هفته زمان نياز داشته باشد، سايت شما کاملاً در معرض ريسک آلودگي جديد قرار داشته و مستعد پذيرش آن است.
يک مثال ديگر از فوايد آناليز و مهندسي معکوس Malware ها، زماني است که سيستم Anti- Malware شما در تشخيص يک Malware بعنوان يک آلودگي موفق بوده است، اما در واقع تنها توانسته يک همزاد Clone Malware را تشخيص دهد.
اين همزاد مي تواند در ظاهر کاملاً به همان نمونه Malware شباهت داشته باشد که مجموعه Anti- Malware شما تصور مي کند، اما بخشي از آن براي انجام يک کار متفاوت و جديد برنامه ريزي شده است. براي مثال، شما بدون آناليز کردن يک Malware هيچ ايده اي از اين واقعيت نخواهيد داشت که کد مورد نظر علاوه بر توزيع و انتشار از طريق File Sharing، از طريق پيام هاي eMail نيز منتشر خواهد شد.

ابزارها
 

ابزارهاي بسيار مختلفي در دسترس قرار دارند که در زمينه آناليز يا تجزيه و تحليل Malwareها به شما کمک مي کنند. بعضي از اين ابزارها، بطور اختصاصي براي ديباگ و آناليز نرم افزارها طراحي شده اند، اما گروه ديگري از آنها براي شناخت بهتر سيستم خودتان طراحي گرديده اند. تعداد ابزارهاي موجود بسيار فراتر از حدي است که براي يادگيري نحوه استفاده از همه آنها وقت داشته باشيد. ما يک مجموعه متمرکز اصلي از چنين ابزارهايي را در اختيار داريم که هميشه از آنها استفاده مي کنيم. به اين ترتيب، تنها زماني به سراغ ساير ابزارها مي رويم که واقعاً به امکانات و توانايي هاي آنها نياز داشته باشيم.
ما قوياً توصيه مي کنيم که شما هرچه مي توانيد ابزارهاي متفاوت بيشتري را آزمايش کنيد تا نهايتاً ابزارهايي را پيدا کنيد که بيش از سايرين براي شيوه هاي کاري خودتان مناسب باشند.
ما ترجيح مي دهيم که ابزارها را به دو گروه تقسيم کنيم: ابزارهاي آناليز نرم افزار و نرم افزارهاي متمرکز بر سيستم.

ابزارهاي متمرکز بر سيستم
 

اين گروه شامل ابزارهايي است که براي کمک به شما در زمينه شناخت بهتر محيط عملياتي خودتان طراحي شده اند. Malware ها با اضافه کردن کليدهاي رجيستري، فايل ها و ترافيک شبکه، محيط سيستم شما را تغيير مي دهند.
اگر يک خط مبنا را در رابطه با شرايط محيط خودتان در اختيار نداشته باشيد، تشخيص تمام کارهايي که Malware انجام داده است بسيار دشوار خواهد بود. اين ابزارها زماني بالاترين سطح کارايي را فراهم خواهند کرد که قبل و بعد از يک آلودگي از آنها استفاده نمايد.

Microsoft Sysinternals
 

مجموعه Sysinternals مايکروسافت يکي از بهترين ابزارهاي موجود براي شناسايي و درک محيط ويندوز شما به حساب مي آيد. اين مجموعه شامل ابزارهايي نظير Process explorer، TCP View و Autoruns است. اين مجموعه شامل ابزارهايي است که به شما اجازه مي دهند ببينيد چه پردازش هايي در حال اجرا هستند چه درگاه هايي باز هستند، کدام فايل ها براي اجرا در طول راه اندازي ويندوز تنظيم شده اند و بسياري موارد مشابه ديگر.
Sysinternals واقعاً يک مجموعه از ابزارهايي است که هرکسي بايد آنها را امتحان کند ما تصميم نداريم به معرفي تمام اين ابزارها بپردازيم، زيرا بهترين روش براي يادگيري نحوه کار ابزارهاي مذکور اين است که از آنها بر روي سيستم خودتان استفاده نماييد.

Regshot
 

رجيستري، يکي از جنبه هاي چالش انگيزتر ويندوز مايکروسافت به حساب مي آيد. نرم افزارهاي جديد غالباً کليدهايي را در تمام قسمت هاي رجيستري قرار مي دهند، اما براي حذف آنها در طول فرايندUninstall برنامه بسيار تنبل هستند. همين موضوع باعث آشفتگي رجيستري مي گردد.
Regshot براي کمک به حذف تمام کليدهاي اضافه شده در طول نصب هاي نرم افزاري، بسيار مفيد خواهد بود. کافي است که اين ابزار را اجرا کرده، نرم افزار مورد نظر خود نصب نموده و سپس اين ابزار را يکبار ديگر اجرا کنيد تا کليدهاي اضافه شده و يا تغيير يافته را به شما نشان دهد. سپس، هنگامي که نرم افزار مربوطه را حذف مي کنيد، مي توانيد بررسي نماييد که آيا تمام کليدهاي مربوط به خود را پاکسازي کرده است يا خير. Regshot همچنين براي کمک به تعيين اين موضوع که کدام کليدها احتمالاً توسط Malware تغيير کرده اند نيز مفيد خواهد بود.

Snort
 

Snort يک سيستم تشخيص نفوذ Open Source است. در واقع اين يک نرم افزار بسيار مفيد براي هر سازمان به حساب مي آيد. Snort به شما امکان مي دهد تا ترافيک عملي را مشاهده کرده و آن را براي تشخيص وجود يک حمله بر روي شبکه، ترافيک غيرمجاز و يا شخصي که در حال بلعيدن پهناي باند شما است، آناليز نماييد. اين ابزار واقعاً براي بررسي Malware ها بسيار کارآمد خواهد بود زيرا مي تواند گزارش هاي خود را به فايلي بفرستد که با استفاده از grep و بيان هاي معمولي قابل جستجو باشد.

NetCat
 

NetCat يک ابزار TCP/IP قدرتمند Open Source است. اين ابزار مي تواند يک سرور را اجرا کرده و يک تونل يا hexdump را راه اندازي نمايد. همانند فرمول grep در يونيکس، آشنايي با تمام کاربردهاي NetCat نيز به مقداري زمان نياز دارد، اما پس آنکه به کار با آن تسلط پيدا کرديد، در هر فرصتي از آن استفاده خواهيد نمود. در مورد Malware ها، اين ابزار بسيار مفيد خواهد بود. زيرا به شما کمک مي کند تا ببيند که وقتي يک Malware يک ارتباط شبکه را برقرار مي کند، چه اتفاقي مي افتد

آناليز نرم افزاري
 

در حاليکه ابزارهاي متمرکز بر سيستم در شناخت محيط و آشنايي با آن به شما کمک مي کنند، ابزارهاي نرم افزاري طراحي شده اند تا به شما در شناخت و درک خود نرم افزارها کمک نمايند. ابزارهاي آناليز نرم افزاري در مقايسه با ابزارهاي متمرکز بر سيستم به درک نسبتاً عميق تري از کد برنامه نياز خواهند داشت.
آنها نياز دارند که شما شيوه هاي برنامه نويسي و همچنين زبان هاي سطح پاييني نظير اسمبلي X86 را بشناسيد. ما در ادامه به منابع بيشتري در زمينه اسمبلي X86 اشاره خواهيم کرد. نو اصلي ابزارهاي آناليز نرم افزاري که شما از آن استفاده خواهيد نمود، يک ديباگر است.

Debuggerها
 

اين ابزارها براي آناليز کدهاي باينري مورد استفاده قرار مي گيرند. ديباگرها که غالباً توسط برنامه نويسان نرم افزاري براي يافتن باگهاي موجود در کدهايشان به کار گرفته مي شوند، ابزار اصلي مورد استفاده براي آناليز Malware به حساب مي آيند. باينري، کد کامپايل شده اي که براي اجرا بر روي يک سيستم طراحي گرديده است. برگرداندن کد باينري به حالت کد برنامه بسيار دشوار است، زيرا هنگامي که کدهاي برنامه کامپايل مي شوند، اطلاعات غير ضروري از آنها حذف شده و براي پردازش بهينه سازي مي گردند.
بنابراين، هنگامي که شما از يک ديباگر استفاده مي کنيد، نرم افزار معمولاً تنها مي تواند دستورالعمل ها را در يک فرمت «سطح پايين» گزارش نمايد.
بعضي از ديباگرها تلاش مي کنند تا برحسب احتمال تخمين بزنند که کد اصلي چه ظاهري داشته است، اما اين تلاش ها غالباً با اشتباهات زيادي همراه خواهند بود. اگر مي خواهيد به آناليز يک Malware بپردازيد. قوياً توصيه مي کنيم که کد را در فرمت سطح پايين آن باقي بگذاريد.

IDA Pro
 

IDA Pro يکي از پرکاربردترين ديباگرهاي جهان به حساب مي آيد. اين ابزار داراي چنان ويژگي هاي متنوع و گسترده اي است که کلاس هاي نرم افزاري و کتابهاي فراواني درباره نحوه استفاده از آن وجود دارند. اگر مي توانيد 515 دلار را براي نسخه استاندارد و يا 985 دلار را براي نسخه پيشرفته IDA Pro بپردازيد ما جداً آن را توصيه مي کنيم. يادگيري کامل نحوه کار اين ابزار به مدتي نياز خواهد داشت.

Olly Dbg
 

اگر به ابزارهاي Open source و رايگان علاقه داريد، Olly Dbg يکي از بهترين گزينه هاي شما خواهد بود. البته اين ابزار فاقد بعضي از جنبه هاي جذاب IDA Pro است، اما بسيار کارآمد بوده و Plugin هاي فراواني براي گسترش قابليت هاي مفيد آن در دسترس مي باشند.

راه اندازي محيط
 

به منظور «مهندسي معکوس» يک Malware، شما ابتدا بايد يک آزمايشگاه را راه اندازي کنيد. ما معمولاً چنين آزمايشگاهي را با استفاده از ماشين هاي مجازي آماده مي کنيم. با اين حال، Malware هايي وجود دارند که Virtual Machine) VM) را تشخيص داده و از اجرا بر روي آن خودداري مي نمايند. بنابراين، در اختيار داشتن ماشين هاي فيزيکي و يا (بعنوان يک روش جايگزين) يک نرم افزار VM که Malware قادر به تشخيص آن نباشد، بسيار مفيد خواهد بود.
ماشين هاي مجازي، توانايي برگرداندن يک ميزبان به يک تصوير لحظه اي از يک زمان قبل را در اختيار ما مي گذارند. اين قابليت به شما امکان مي دهد تا يک ماشين را آلوده کرده، نحوه کار آن را مشاهده نموده و سپس ماشين مورد نظر را به وضعيت ابتدايي خود برگردانيد، بدون آنکه مجبور باشيد آن را بازسازي کنيد.
صرف نظر از تجهيزاتي که براي استفاده انتخاب کرده ايد، بايد مطمئن شويد که محيط آزمايشي شما به هيچ شبکه ديگري متصل نيست. آخرين کاري که مي خواهيد انجام دهيد، اين است که به يک آلودگي اجازه دهيد بر روي شبکه خودتان و يا اينترنت منتشر گردد.
ما متوجه شده ايم که وجود بيش از يک نوع ماشين در يک آزمايشگاه مي تواند بسيار مفيد باشد. ممکن است Malware مورد نظر شما بتواند بيش از يک نوع ماشين را آلوده نمايد و احتمالاً اين کار را با روش هاي متفاوتي انجام بدهد. براي مثال، يک نرم افزار بدخواهانه برحسب سيستم عامل مي تواند يک فايل را در آدرس c:\windows يا c:\winnt قرار دهد.
اين يک مثال بسيار ساده است، اما شما مي توانيد ببينيد که Malware چطور مي تواند برحسب سيستم عامل انطباق پيدا کند. ما همچنين توصيه مي کنيم که سيستم هاي عامل متفاوتي نظير لينوکس را در کنار ويندوز مايکروسافت به آزمايشگاه خود اضافه نماييد، زيرا به شما امکان مي دهد تا آرايه گسترده تر از ابزارها را در زرادخانه خود داشته باشيد. ما مي توانيم يک سايت وب را در Apache يا IIS ايجاد نموده و در عين حال از ابزارهاي Open Source استفاده کنيم که تنها در لينوکس قابل دسترسي هستند.

مثال مهندسي معکوس Malware
 

دو روش براي آناليز يک Malware وجود دارد. آناليز رفتاري و آناليز کد، دو نمونه از متداول ترين روش هاي مورد استفاده در اين زمينه به حساب مي آيند، ما ترجيح مي دهيم که از هر دو روش استفاده کنيم، زيرا به اين ترتيب نتايج کامل تري را بدست مي آوريم.
ما ابتدا کار خود را با آناليز رفتاري شروع مي کنيم. ما اساساً به تماشاي فعاليت Malware مي پردازيم تا ببينيم که چه کاري انجام مي دهد، سپس، ما يک آناليز کد را براي تأييد مشاهدات و يافته هاي خود انجام داده و به جستجوي هر فعاليت ديگري مي پردازيم که ممکن است Malware انجام دهد ولي ما در طول آناليز قبلي متوجه آن نشده ايم.
منبع:بزرگراه رايانه 127
ادامه دارد...




 



نظرات کاربران
ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
مقالات مرتبط