ازاي اتعلم تحليل الفيروسات ؟ و ايه تطلباتها من اساسيات
What is Malware analysis?
تحليل البرمجيات الخبيثة (Malware analysis) هو مجال نوعا ما متقدم من مجالات أمن المعلومات.
أولاً: ماهي البرمجيات الخبيثة؟
هي برامج حاسوب يمكن برمجتها من قبل أي مبرمج باستخدام أي لغة برمجة متاحة ويكون الهدف منها إضرار أو إتلاف نظام التشغيل أو سرقة البيانات الحساسة من المستخدمين والمنظمات والشركات.
ثانياً: ما هو مجال تحليل البرامج الضارة؟
هو دراسة تلك البرمجيات الخبيثة عن طريق تحليل مكوناتها المختلفة ودراسة سلوكها على نظام التشغيل.
لا يتطلب أن تكون محلل برمجيات خبيثة أن تكون مخترقاً محترفاً، ولكن يجب أن تكون لديك مهارات برمجية قوية، ويجب أن تكون دقيقاً وملماً بالتفاصيل.
هنالك نوعين أساسين من تحليل البرمجيات:
1- Static malware analysis:
هذا النوع من التحليل يتثمل في فهم الكود المصدري ومعرفة طريقة عمله وفك التشفير إذا كان هنالك تشفير، ويمكن عمل ذلك عن طريقة أداة مثل IDA حيث تقوم هذه الأداة بتحويل البرنامج من لغة الآلة إلى لغة التجميع (Assembly) وبذلك يمكن للمحلل معرفة البرنامج وهدفه وبالتالي معرفة طرق التخلص منه.
2- Dynamic malware analysis:
يتم هذا النوع من التحليل عن طريق تشغيل البرنامج ثم مراقبة وتسجيل سلوكه وما يقوم بعمله. عادةً ما يتم هذا التحليل في بيئة معزولة (sandbox environment) مصممة من أجل الاختبار، ويمكن أيضاً اختباره أثناء التشغيل وذلك من خلال برامج مثل GDB و WinDbg ، وتسمى هذه الأدوات ب debugger.
إليك قائمة بأشهر البرامج:
Disassembler :
1- IDA Pro.
2- Radare2.
3- BinaryNinja.
4- Ghidra.
Debuggers :
1- GNU Debugger.
2- WinDbg.
3- OllyDbg.
4- X64Dbg.
قائمة بأشهر Sandboxes المستخدمة:
1- Hybrid Analysis.
2- ANY.RUN.
3- CWSandbox.
4- Joe Sandbox.
5- VMRay.
يمكننا أيضا حصر المراحل التي تتم في الغالب من أجل تحليل هذه البرامج:
1- Manual Code Reversing :
الوصول بشكل يدوي إلى الكود الخاص بالبرنامج.
2- Interactive Behavior Analysis :
تحليل الأنشطة التي يقوم بها البرنامج الضار.
3- Static Properties Analysis :
تحليل خصائص البرنامج بشكل static.
4- Fully-Automated Analysis :
تحليل تلقائي كامل.