تجزيه و تحليل 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 انجام داده است بسيار دشوار خواهد بود. اين ابزارها زماني بالاترين سطح کارايي را فراهم خواهند کرد که قبل و بعد از يک آلودگي از آنها استفاده نمايد.
Sysinternals واقعاً يک مجموعه از ابزارهايي است که هرکسي بايد آنها را امتحان کند ما تصميم نداريم به معرفي تمام اين ابزارها بپردازيم، زيرا بهترين روش براي يادگيري نحوه کار ابزارهاي مذکور اين است که از آنها بر روي سيستم خودتان استفاده نماييد.
Regshot براي کمک به حذف تمام کليدهاي اضافه شده در طول نصب هاي نرم افزاري، بسيار مفيد خواهد بود. کافي است که اين ابزار را اجرا کرده، نرم افزار مورد نظر خود نصب نموده و سپس اين ابزار را يکبار ديگر اجرا کنيد تا کليدهاي اضافه شده و يا تغيير يافته را به شما نشان دهد. سپس، هنگامي که نرم افزار مربوطه را حذف مي کنيد، مي توانيد بررسي نماييد که آيا تمام کليدهاي مربوط به خود را پاکسازي کرده است يا خير. Regshot همچنين براي کمک به تعيين اين موضوع که کدام کليدها احتمالاً توسط Malware تغيير کرده اند نيز مفيد خواهد بود.
آنها نياز دارند که شما شيوه هاي برنامه نويسي و همچنين زبان هاي سطح پاييني نظير اسمبلي X86 را بشناسيد. ما در ادامه به منابع بيشتري در زمينه اسمبلي X86 اشاره خواهيم کرد. نو اصلي ابزارهاي آناليز نرم افزاري که شما از آن استفاده خواهيد نمود، يک ديباگر است.
بنابراين، هنگامي که شما از يک ديباگر استفاده مي کنيد، نرم افزار معمولاً تنها مي تواند دستورالعمل ها را در يک فرمت «سطح پايين» گزارش نمايد.
بعضي از ديباگرها تلاش مي کنند تا برحسب احتمال تخمين بزنند که کد اصلي چه ظاهري داشته است، اما اين تلاش ها غالباً با اشتباهات زيادي همراه خواهند بود. اگر مي خواهيد به آناليز يک Malware بپردازيد. قوياً توصيه مي کنيم که کد را در فرمت سطح پايين آن باقي بگذاريد.
ماشين هاي مجازي، توانايي برگرداندن يک ميزبان به يک تصوير لحظه اي از يک زمان قبل را در اختيار ما مي گذارند. اين قابليت به شما امکان مي دهد تا يک ماشين را آلوده کرده، نحوه کار آن را مشاهده نموده و سپس ماشين مورد نظر را به وضعيت ابتدايي خود برگردانيد، بدون آنکه مجبور باشيد آن را بازسازي کنيد.
صرف نظر از تجهيزاتي که براي استفاده انتخاب کرده ايد، بايد مطمئن شويد که محيط آزمايشي شما به هيچ شبکه ديگري متصل نيست. آخرين کاري که مي خواهيد انجام دهيد، اين است که به يک آلودگي اجازه دهيد بر روي شبکه خودتان و يا اينترنت منتشر گردد.
ما متوجه شده ايم که وجود بيش از يک نوع ماشين در يک آزمايشگاه مي تواند بسيار مفيد باشد. ممکن است Malware مورد نظر شما بتواند بيش از يک نوع ماشين را آلوده نمايد و احتمالاً اين کار را با روش هاي متفاوتي انجام بدهد. براي مثال، يک نرم افزار بدخواهانه برحسب سيستم عامل مي تواند يک فايل را در آدرس c:\windows يا c:\winnt قرار دهد.
اين يک مثال بسيار ساده است، اما شما مي توانيد ببينيد که Malware چطور مي تواند برحسب سيستم عامل انطباق پيدا کند. ما همچنين توصيه مي کنيم که سيستم هاي عامل متفاوتي نظير لينوکس را در کنار ويندوز مايکروسافت به آزمايشگاه خود اضافه نماييد، زيرا به شما امکان مي دهد تا آرايه گسترده تر از ابزارها را در زرادخانه خود داشته باشيد. ما مي توانيم يک سايت وب را در Apache يا IIS ايجاد نموده و در عين حال از ابزارهاي Open Source استفاده کنيم که تنها در لينوکس قابل دسترسي هستند.
ما ابتدا کار خود را با آناليز رفتاري شروع مي کنيم. ما اساساً به تماشاي فعاليت Malware مي پردازيم تا ببينيم که چه کاري انجام مي دهد، سپس، ما يک آناليز کد را براي تأييد مشاهدات و يافته هاي خود انجام داده و به جستجوي هر فعاليت ديگري مي پردازيم که ممکن است Malware انجام دهد ولي ما در طول آناليز قبلي متوجه آن نشده ايم.
منبع:بزرگراه رايانه 127
ادامه دارد...
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 انجام داده است بسيار دشوار خواهد بود. اين ابزارها زماني بالاترين سطح کارايي را فراهم خواهند کرد که قبل و بعد از يک آلودگي از آنها استفاده نمايد.
Microsoft Sysinternals
Sysinternals واقعاً يک مجموعه از ابزارهايي است که هرکسي بايد آنها را امتحان کند ما تصميم نداريم به معرفي تمام اين ابزارها بپردازيم، زيرا بهترين روش براي يادگيري نحوه کار ابزارهاي مذکور اين است که از آنها بر روي سيستم خودتان استفاده نماييد.
Regshot
Regshot براي کمک به حذف تمام کليدهاي اضافه شده در طول نصب هاي نرم افزاري، بسيار مفيد خواهد بود. کافي است که اين ابزار را اجرا کرده، نرم افزار مورد نظر خود نصب نموده و سپس اين ابزار را يکبار ديگر اجرا کنيد تا کليدهاي اضافه شده و يا تغيير يافته را به شما نشان دهد. سپس، هنگامي که نرم افزار مربوطه را حذف مي کنيد، مي توانيد بررسي نماييد که آيا تمام کليدهاي مربوط به خود را پاکسازي کرده است يا خير. Regshot همچنين براي کمک به تعيين اين موضوع که کدام کليدها احتمالاً توسط Malware تغيير کرده اند نيز مفيد خواهد بود.
Snort
NetCat
آناليز نرم افزاري
آنها نياز دارند که شما شيوه هاي برنامه نويسي و همچنين زبان هاي سطح پاييني نظير اسمبلي X86 را بشناسيد. ما در ادامه به منابع بيشتري در زمينه اسمبلي X86 اشاره خواهيم کرد. نو اصلي ابزارهاي آناليز نرم افزاري که شما از آن استفاده خواهيد نمود، يک ديباگر است.
Debuggerها
بنابراين، هنگامي که شما از يک ديباگر استفاده مي کنيد، نرم افزار معمولاً تنها مي تواند دستورالعمل ها را در يک فرمت «سطح پايين» گزارش نمايد.
بعضي از ديباگرها تلاش مي کنند تا برحسب احتمال تخمين بزنند که کد اصلي چه ظاهري داشته است، اما اين تلاش ها غالباً با اشتباهات زيادي همراه خواهند بود. اگر مي خواهيد به آناليز يک Malware بپردازيد. قوياً توصيه مي کنيم که کد را در فرمت سطح پايين آن باقي بگذاريد.
IDA Pro
Olly Dbg
راه اندازي محيط
ماشين هاي مجازي، توانايي برگرداندن يک ميزبان به يک تصوير لحظه اي از يک زمان قبل را در اختيار ما مي گذارند. اين قابليت به شما امکان مي دهد تا يک ماشين را آلوده کرده، نحوه کار آن را مشاهده نموده و سپس ماشين مورد نظر را به وضعيت ابتدايي خود برگردانيد، بدون آنکه مجبور باشيد آن را بازسازي کنيد.
صرف نظر از تجهيزاتي که براي استفاده انتخاب کرده ايد، بايد مطمئن شويد که محيط آزمايشي شما به هيچ شبکه ديگري متصل نيست. آخرين کاري که مي خواهيد انجام دهيد، اين است که به يک آلودگي اجازه دهيد بر روي شبکه خودتان و يا اينترنت منتشر گردد.
ما متوجه شده ايم که وجود بيش از يک نوع ماشين در يک آزمايشگاه مي تواند بسيار مفيد باشد. ممکن است Malware مورد نظر شما بتواند بيش از يک نوع ماشين را آلوده نمايد و احتمالاً اين کار را با روش هاي متفاوتي انجام بدهد. براي مثال، يک نرم افزار بدخواهانه برحسب سيستم عامل مي تواند يک فايل را در آدرس c:\windows يا c:\winnt قرار دهد.
اين يک مثال بسيار ساده است، اما شما مي توانيد ببينيد که Malware چطور مي تواند برحسب سيستم عامل انطباق پيدا کند. ما همچنين توصيه مي کنيم که سيستم هاي عامل متفاوتي نظير لينوکس را در کنار ويندوز مايکروسافت به آزمايشگاه خود اضافه نماييد، زيرا به شما امکان مي دهد تا آرايه گسترده تر از ابزارها را در زرادخانه خود داشته باشيد. ما مي توانيم يک سايت وب را در Apache يا IIS ايجاد نموده و در عين حال از ابزارهاي Open Source استفاده کنيم که تنها در لينوکس قابل دسترسي هستند.
مثال مهندسي معکوس Malware
ما ابتدا کار خود را با آناليز رفتاري شروع مي کنيم. ما اساساً به تماشاي فعاليت Malware مي پردازيم تا ببينيم که چه کاري انجام مي دهد، سپس، ما يک آناليز کد را براي تأييد مشاهدات و يافته هاي خود انجام داده و به جستجوي هر فعاليت ديگري مي پردازيم که ممکن است Malware انجام دهد ولي ما در طول آناليز قبلي متوجه آن نشده ايم.
منبع:بزرگراه رايانه 127
ادامه دارد...
/ج