المجتمع الأكبر للعرب في مجال التك

تحميل من Google Playتحميل من App Store

مراحل الMalware Analysis

Amer Ahmed منذ 5 أشهر

ازاي كا Malware Analyst تتعامل مع اي malware sample ايا كانت هي بلغة ايه (فالأغلب Compiled Language).

عندنا اربع مراحل:

1-Basic Static Analysis

2- Basic Dynamic Analysis

3- Advanced Static Analysis

4- Advanced Dynamic Analysis


مبدئيا اي حاجة Static بتتضمن انك بتفحص الsample من غير ما تشغله عالجهاز, أما الDynamic معناها انك بتشغل الsample فالVM او فالبيئة الآمنة بتاعتك


اول مرحلة: Basic Static:

هنا انتا بتشوف الhash بتاعت الفايل هل هي في اي blacklists للmalwares المعروفة ولا لا, وتقدر مثلا تشوف تلميحات بسيطة جدا عن الconnections اللي هيعملها لما يشتغل.

مميزاته: مش محتاج تفهم اي لغة برمجة والعملية سريعة وسهلة جدا.

عيوبه: مش كافي انه يحددلك ان الsample تمام او خطر زائد انه مش بيوريك كل اللي هيعمله الsample ودي حاجة انت لازم تعرفها. كمان الmalwares المعقدة بتبقا واخدة بالها من الموضوع دا وبتعدي اول مرحلة بكل سهولة, و دا اللي هعلمهولك في كورس الMalware Development For Ethical Hackers .

اعتبر الbasic static انه بيديك شوية تلميحات بسيطة جدا عن الsample اللي بتحللها.


تاني مرحلة: Basic Dynamic:

هنا انتا بتشغل الMalware عالجهاز طبعا في VM عشان جهازك ميبوظش وتشوف تصرف الmalware هيعمل ايه فالجهاز بظبط.

مميزاته: بعدها تقدر تعكس التأثير اللي عمله الmalware فالجهاز وتعمله تطهير. تقدر بعدها تطلع IOCs(Indication of Compromise) زي مثلا انه بيكلم مواقع معينة او بينزل فايلات عالجهاز.

عيوبه: فيه malwares معقدة اكتر بتعمل حاجات فالجهاز بتخفي وانتا متقدرش تلاحظها او بتبقى time bomb فا بتشيك على وقت معين هي تشتغل فيه وغير كدا بتبقى شغالة فالميموري ومش بتعمل حاجة او ساعات حتى بتبقى على platforms مختلفة زي الAndroid وهنا الbasic dynamic analysis مش هيفيدك اوي.


تالت مرحلة: Advanced Static:

هنا انتا بتحط الmalware في disassembler وخلي بالك انا بقول disassembler مش debugger.

هنا الdisassembler بيخليك تشوف الinstructions او الاوامر بتاعت الmalware وهي on disk والمفروض الاوامر دي هتشتغل عالcpu 

مميزاته: بيخليك تشوف الinstructions بظبط بتاعت الsample قبل ما تشغلها عالجهاز.

عيوبه: لازم تكون فاهم Assembly وحبة windows internals ودا بياخد وقت طويل اوي عشان تحلل الmalware واحدة واحدة. غير كدا تخيل لو الexecutable معملوها packed او مضغوط زي الUPX packer, ساعتها انتا هتلاقي بتاع سطرين بس فالdisassembler وهتفتكرها مفهاش اي حاجة غلط. اما بالعكس الpacker دا بيشتغل فالruntime بحيث انه بيفك ضغط الexecutable وبيدي الInstruction pointer للexecution flow الاصلي بتاع الmalware.


رابع مرحلة: Advanced Dynamic:

هنا انتا بتشغل الmalware في debugger و بتشوف حالة الmalware نفسه وهو شغال. خلي بالك فالbasic dynamic انتا بتراقب الجهاز نفسه او الOperating System بيحصل فيه ايه. 

مميزاته: تقدر تعدل فالexecution flow بتاع الmalware وتخليه مثلا يطنش اي conditionals ويخش على الmain action بتاعه فا بيديك التحكم الكامل في انك تشوف الmalware شغال ازاي instruction by instruction.

عيوبه: لازم تكون فاهم Assembly و System Architecture زي تفاصيل الWindows Internals اللي شارحها فالكورس زي الPEB والWin32 API و هتاخد شوية وقت لحد ما تتعود وتتأقلم عالdebuggers الموجودة.



كلمة اخيرة, بالرغم اني مهتم اكتر بالMalware Development لازم غصب عني ابقى عارف و فاهم Malware Analysis وخلي بالك انا بدايتي اصلا كانت Malware Analysis ولما وصلت فيها للفل حلو ابتديت اشتغل malware development مع نفسي من resources تكاد تكون معدومة, عشان تخيل تبقى عامل malware sample متخرش المياة وتقع تحت malware analyst شاطر. ساعتها لازم تبقى عارف حبة techniques حلوة ومعقدة زي الAnti-Debugging و الAnti-VM وغيرها من تقنيات انا شارحها فالكورس اللي يعتبر اول كورس متكامل في Malware Development في مجتمع الأمن السيبراني العربي بفضل الله.

0 ردود