أفضل 9 أدوات هندسية عكسية لمحترفي الأمن
نشرت: 2022-12-13الهندسة العكسية هي عملية تحليل منتج أو نظام لفهم تصميمه وعمله الداخلي ووظائفه.
غالبًا ما تُستخدم الهندسة العكسية لاكتساب فهم أفضل لمنتج أو نظام من أجل تحسينه ، أو لإنشاء منتجات أو أنظمة منافسة ، أو لتحديد العيوب أو نقاط الضعف وإصلاحها.
يستخدم بشكل شائع في مجالات مثل تطوير البرمجيات والتصنيع والأمن. ومع ذلك ، يمكن أيضًا استخدام الهندسة العكسية لأغراض ضارة ، مثل سرقة الأسرار التجارية أو إنشاء منتجات مقلدة. لهذا السبب ، غالبًا ما يتم تنظيم الهندسة العكسية بواسطة القوانين التي تحكم الملكية الفكرية والأسرار التجارية.
لكي تصبح ماهرًا في الهندسة العكسية ، يجب أن يكون لدى متخصص الأمن فهم قوي لعلوم الكمبيوتر والبرمجة ، بالإضافة إلى خبرة في الأدوات والتقنيات المستخدمة بشكل شائع في الهندسة العكسية ، مثل أدوات التفكيك والمصححات.
كيف تعمل الهندسة العكسية؟

الهندسة العكسية هي عملية تحليل نظام لفهم مكوناته ووظائفه وعملياته من أجل فهم كيفية عمله أو إنشاء نسخة منه أو تقليده.
تُستخدم الهندسة العكسية لتحديد نقاط الضعف أو نقاط الضعف في النظام ، وإنشاء إصدارات متوافقة أو بديلة من النظام ، وتحسين التصميم الأصلي.
تتضمن عملية الهندسة العكسية عادةً تفكيك نظام أو جهاز لفهم مكوناته وكيفية ملاءمتهما معًا. يمكن أن يتضمن ذلك تفكيك الأجهزة المادية أو تحليل رمز وهيكل أنظمة البرامج.
بمجرد تفكيك النظام ، تتم دراسة المكونات الفردية وتحليلها من أجل فهم وظيفتها وكيفية عملها معًا لتمكين النظام بأكمله من العمل.
ومع ذلك ، من المهم احترام حقوق الملكية الفكرية للآخرين عند استخدام الهندسة العكسية واستخدامها فقط للأغراض القانونية والأخلاقية.
الغرض من الهندسة العكسية في الأمن
الغرض من الهندسة العكسية في الأمن هو تحديد وتخفيف نقاط الضعف المحتملة في منتج أو نظام. يتم ذلك عادةً عن طريق فحص تصميم المنتج أو النظام أو الكود أو المكونات لفهم كيفية عمله وتحديد أي نقاط ضعف محتملة.
على سبيل المثال ، قد يستخدم الباحث الأمني الهندسة العكسية لدراسة تصميم تطبيق برمجي من أجل تحديد أي ثغرات أمنية محتملة يمكن أن يستغلها المهاجمون. قد يتضمن ذلك فحص كود التطبيق ، أو تحليل اتصالات الشبكة ، أو دراسة تفاعلاته مع الأنظمة أو المكونات الأخرى.
بمجرد تحديد الثغرات الأمنية المحتملة ، يمكن للباحث الأمني بعد ذلك العمل على تطوير حلول للتخفيف من هذه الثغرات الأمنية ، مثل تصحيح رمز التطبيق أو تنفيذ تدابير أمنية إضافية. يمكن أن يساعد ذلك في تحسين الأمان العام للمنتج أو النظام وحمايته من الهجمات المحتملة.
خطوات الهندسة العكسية

تتضمن الهندسة العكسية عادةً الخطوات التالية:
- تحديد المنتج أو النظام المراد هندسته العكسية : يتضمن هذا عادةً تحديد منتج أو نظام برمجي معين يحتاج إلى دراسته بشكل أفضل لفهم تصميمه وأعماله الداخلية ووظائفه.
- جمع معلومات حول المنتج أو النظام : يتضمن جمع معلومات حول المنتج أو النظام من مصادر مختلفة ، مثل وثائق التصميم أو الكود أو أدلة المستخدم الخاصة به.
- تحليل المنتج أو النظام : يتضمن هذا عادةً تحليل المعلومات التي تم جمعها لفهم تصميم النظام ووظائفه. قد يشمل ذلك تفكيك المنتج أو النظام أو دراسة مكوناته وتفاعلاته أو فحص وثائق التصميم أو التعليمات البرمجية الخاصة به.
- إنشاء نموذج للمنتج أو النظام : تتضمن هذه الخطوة عادةً إنشاء نموذج يمثل بدقة تصميمه وأعماله الداخلية ووظائفه. يمكن بعد ذلك استخدام هذا النموذج لدراسة المنتج أو النظام بمزيد من التفصيل أو إجراء تغييرات أو تحسينات.
- استخدم المعرفة المكتسبة من الهندسة العكسية : بمجرد إنشاء النموذج ، يمكن استخدام المعرفة المكتسبة من الهندسة العكسية لتحسين المنتج أو النظام ، أو إنشاء منتجات أو أنظمة منافسة ، أو تحديد العيوب أو نقاط الضعف وإصلاحها. قد يشمل ذلك تغيير تصميم أو رمز أو مكونات المنتج أو النظام أو تطوير منتجات أو أنظمة جديدة بناءً على المعرفة المكتسبة.
لنبدأ بأفضل أدوات الهندسة العكسية .
غيدرا
Ghidra هي مجموعة من الأدوات المجانية والمفتوحة المصدر للهندسة العكسية للبرامج (SRE) التي طورتها وكالة الأمن القومي (NSA). يتم استخدامه لتفكيك الرموز الثنائية وتفكيكها وتحليلها.
تم تصميم Ghidra ليكون أداة SRE قوية وقابلة للتطوير ، ويتم استخدامها من قبل كل من الوكالات الحكومية ومجتمع SRE الأوسع. تم توفير هذه الأداة للجمهور في عام 2019 ، ويمكن تنزيلها واستخدامها مجانًا.

يحتوي على واجهة سهلة الاستخدام وتصميم معياري ، مما يسمح للمستخدمين بتخصيص الأداة لتلبية احتياجاتهم الخاصة.
بالإضافة إلى ذلك ، يشتمل Ghidra على برنامج فك تشفير يمكنه تحويل كود التجميع إلى لغة ذات مستوى أعلى ، مثل C أو Java ، مما يسهل فهم وظائف الملف الثنائي.
أندروغارد
Androguard عبارة عن مجموعة أدوات مفتوحة المصدر لعكس وتحليل تطبيقات Android. تمت كتابته بلغة Python ويمكن استخدامه لتحليل بنية وسلوك تطبيقات Android.
يتضمن Androguard مجموعة متنوعة من الأدوات لإجراء أنواع مختلفة من التحليل ، بما في ذلك تفكيك تطبيقات Android وتفكيكها وترجمتها. يمكن استخدامه لتحليل رمز التطبيق واستخراج موارده وتحديد نقاط الضعف المحتملة.

يستخدم الباحثون والمتخصصون في مجال الأمن Androguard على نطاق واسع لتحليل أمان تطبيقات Android.
يوفر مجموعة متنوعة من الميزات للهندسة العكسية ، بما في ذلك دعم تنسيقات ملفات متعددة ، والقدرة على إجراء تحليل ثابت وديناميكي ، والتكامل مع أدوات أخرى مثل IDA Pro و radare2.
إيمهيكس
ImHex هو محرر سداسي عشري ، وهو نوع من البرامج التي تتيح للمستخدمين عرض وتحرير البيانات الثنائية الأولية لملف ما. غالبًا ما يستخدم المبرمجون والباحثون الأمنيون والمستخدمون الفنيون الآخرون محررات Hex لفحص محتويات ملف بمستوى منخفض. إنها مفيدة بشكل خاص لتحليل الملفات ذات التنسيق الثنائي ، مثل الملفات التنفيذية أو الأنواع الأخرى من التعليمات البرمجية المجمعة.

ImHex هو محرر سداسي عشري مجاني ومفتوح المصدر متاح لنظامي التشغيل Windows و Linux. يحتوي على واجهة سهلة الاستخدام ومجموعة متنوعة من الميزات التي تجعله سهل الاستخدام.

تتضمن بعض الميزات الرئيسية لـ ImHex دعم الملفات الكبيرة ، ووظيفة البحث والاستبدال المرنة ، والقدرة على مقارنة الملفات جنبًا إلى جنب. يسمح ImHex أيضًا للمستخدمين بتحديد أنواع البيانات الخاصة بهم ، والتي يمكن أن تكون مفيدة لفحص أنواع معينة من البيانات داخل ملف.
رادار 2
Radare2 هو إطار عمل هندسي عكسي مفتوح المصدر يُستخدم لتفكيك الملفات الثنائية وتحليلها وتصحيح أخطائها. تمت كتابته بلغة C وهو متاح لمجموعة واسعة من الأنظمة الأساسية ، بما في ذلك Windows و Linux و macOS.
يستخدم الباحثون الأمنيون هذه الأداة على نطاق واسع لمجموعة متنوعة من الأغراض ، بما في ذلك الهندسة العكسية ، وتحليل نقاط الضعف ، والطب الشرعي. يحتوي على واجهة سطر أوامر ومحرك برمجة نصية قوي يسمح للمستخدمين بأتمتة المهام المعقدة وتوسيع إمكانيات الأداة.

يشتمل Radare2 أيضًا على أداة تفكيك يمكن استخدامها لتحويل التعليمات البرمجية الثنائية إلى تعليمات تجميع يمكن قراءتها بواسطة الإنسان ، مما يسهل فهم الأعمال الداخلية لملف ثنائي.
يوفر ميزات متنوعة للهندسة العكسية ، بما في ذلك دعم العديد من البنى وتنسيقات الملفات ، والقدرة على إجراء تحليل ثابت وديناميكي ، والتكامل مع أدوات أخرى مثل المصححات والمفككات.
IDA Pro
IDA Pro (اختصار لـ Interactive Disassembler Pro) هو أداة تفكيك ومصحح أخطاء تجارية يستخدمها الباحثون الأمنيون بشكل شائع لتحليل التعليمات البرمجية المجمعة. يمكن استخدامه لعكس هندسة الملفات التنفيذية والملفات الثنائية الأخرى.

كما يقدم مجموعة متنوعة من الميزات للتحليل الثابت والديناميكي ، بما في ذلك دعم العديد من البنى وتنسيقات الملفات ، والقدرة على إنشاء وتعديل عمليات التفكيك ، والتكامل مع أدوات أخرى مثل مصحح الأخطاء ومزيلات البرمجة.
يدعم IDA Pro التوافق عبر الأنظمة الأساسية ويوفر أيضًا واجهة مستخدم رسومية بالإضافة إلى لغة برمجة نصية لأتمتة المهام المعقدة. تعتبر واحدة من أقوى أدوات التجميع المتوفرة وأكثرها ثراءً بالمميزات ، ولكنها معروفة أيضًا بمنحنى التعلم الحاد والسعر المرتفع.
هيو
Hiew هو عارض ملف ثنائي ومحرر لنظام Microsoft Windows. إنها أداة شائعة بين مطوري البرامج والباحثين الأمنيين. يسمح Hiew للمستخدمين بمشاهدة وتحرير البيانات الأولية لملف ثنائي ، بالإضافة إلى تفكيك كود الآلة إلى لغة التجميع.

يمكن استخدامه أيضًا للبحث عن أنماط أو سلاسل داخل ملف ثنائي ولمقارنة ملفين للاختلافات. Hiew ليس مفتوح المصدر ولا يتوفر مجانًا ، ولكن يمكن شراؤه من موقع الويب الخاص بمطوره.
أبكتول
Apktool هي أداة مجانية ومفتوحة المصدر للهندسة العكسية لملفات Android apk. إنه مكتوب بلغة Java ويمكن تشغيله على أي نظام أساسي يدعم Java. يسمح Apktool للمستخدمين بفك تشفير الموارد في ملف apk وإعادة إنشاء التطبيق ببعض التعديلات.
يتم استخدامه بشكل شائع من قبل مطوري Android والمودعين لتخصيص التطبيقات ، وكذلك من قبل الباحثين الأمنيين لإجراء تحليل ثابت على تطبيقات Android.

يمكنه فك شفرة الموارد في ملف apk وإنشاء تمثيل يمكن قراءته من قبل الإنسان لرمز التطبيق ومحتوياته.
يمكن أيضًا استخدام Apktool لإجراء تحليل الأمان على تطبيقات Android ، حيث يتيح للمستخدمين فحص كود التطبيق وموارده. يتيح ذلك للمستخدمين إجراء تعديلات على مظهر التطبيق وسلوكه.
ومع ذلك ، من المهم للمستخدمين احترام حقوق الملكية الفكرية لمطوري التطبيقات واستخدام Apktool للأغراض القانونية والأخلاقية فقط.
edb- مصحح الأخطاء
EDB هو مصحح أخطاء مجاني ومفتوح المصدر لأنظمة Linux و Windows و macOS. إنها أداة قوية يمكن استخدامها لتحليل وتصحيح مجموعة كبيرة من الملفات التنفيذية ، بما في ذلك ملفات فئة ELF و PE و Mach-O و Java.
يتضمن EDB مجموعة متنوعة من الميزات التي تجعله أداة قيمة لتطوير البرامج والهندسة العكسية.

تتمثل إحدى الميزات الرئيسية لـ EDB في واجهته سهلة الاستخدام ، مما يجعله سهل الاستخدام حتى لأولئك الجدد على تصحيح الأخطاء. يتضمن مجموعة متنوعة من طرق العرض ، مثل عرض التفكيك ، وخريطة الذاكرة ، وعرض السجل ، والتي توفر معلومات مفصلة حول حالة البرنامج الجاري تصحيحه.
يسمح EDB أيضًا للمستخدمين بتعيين نقاط التوقف ، وخطوة واحدة من خلال التعليمات البرمجية ، وفحص قيم المتغيرات ، مما يجعل من السهل تحليل البرامج وتصحيحها.
بالإضافة إلى ذلك ، يتضمن EDB دعمًا لمجموعة متنوعة من بنى المعالجات وأنظمة التشغيل ، مما يجعله أداة متعددة الاستخدامات يمكن استخدامها على مجموعة واسعة من الأنظمة الأساسية.
جافا سنوب
JavaSnoop هي أداة تتيح للمستخدمين تعديل سلوك تطبيقات Java في وقت التشغيل. تم تصميمه لاستخدامه في اختبار الأمان والتحليل ، ويمكن استخدامه لتحديد واستغلال الثغرات الأمنية في تطبيقات Java.
يعمل JavaSnoop عن طريق إرفاق عملية Java قيد التشغيل وحقن التعليمات البرمجية فيها ، مما يسمح للمستخدم بتعديل سلوك التطبيق أثناء التنقل. يمكن أن يكون هذا مفيدًا لتحديد واختبار أمان تطبيقات Java.

يتوفر JavaSnoop كأداة قائمة بذاتها وكبرنامج إضافي لمنصة اختبار أمان تطبيق الويب Burp Suite الشهيرة. إنه مكتوب بلغة Java ، ويمكن تشغيله على أي نظام أساسي يدعم Java ، بما في ذلك Windows و Linux و macOS.
تتضمن بعض الميزات الرئيسية لـ JavaSnoop القدرة على اعتراض وتعديل استدعاءات الطريقة ، وعرض قيم المتغيرات وتعديلها ، وتحديد الخطافات المخصصة لأتمتة المهام.
استنتاج
تعد الهندسة العكسية مهارة قيّمة لمحترفي الأمن لأنها تتيح لهم فهم التصميم ، والأعمال الداخلية ، ووظائف منتج أو نظام من أجل تحديد نقاط الضعف أو العيوب المحتملة والتخفيف من حدتها.
يمكن أن يكون هذا مفيدًا بشكل خاص لتحديد وتخفيف ثغرات يوم الصفر ، وهي ثغرات غير معروفة للشركة المصنعة أو المطور ولم يتم تصحيحها بعد.
يمكن أن تكون الهندسة العكسية مهارة صعبة ومعقدة لإتقانها. ومع ذلك ، يمكن أن تكون أداة قيمة لمتخصصي الأمن الذين يتطلعون إلى تحديد وتخفيف نقاط الضعف المحتملة في تطبيقات وأنظمة البرامج.
قد تكون مهتمًا أيضًا بالتعرف على أفضل أدوات تحليل NetFlow وأدوات التجميع لشبكتك.