مستخدم:ReemDababseh/ملعب

الهندسة العكسية الهندسة العكسية، كما تدعا وراء الهندسة، هي عملية استخراج المعرفة أو معلومات تصميم من أي شيء، و إعادة إنتاج أي شيء على أساس المعلومات المستخرجة من صنع الإنسان [1]، هذه العملية غالبا ما ينطوي على تفكيك شيء ( جهاز ميكانيكي، مكونات إلكترونية، برنامج كمبيوتر، أو البيولوجية أو الكيميائية أو المواد العضوية ) وتحليل مكوناته والعمل في التفاصيل .
الأسباب والأهداف للحصول على هذه المعلومات تختلف من الأعمال اليومية لإجراءات جنائية ، وهذا يعتمد على الوضع ، غالبا ما يتم خرق حقوق الملكية الفكرية ، مثل عندما يكون الشخص لا يتذكر كيف انتهى ذلك الشيء ، أو ما هو هذا الشي ، ويحتاج إلى إجراء هندسة عكسية. الهندسة العكسية هي أيضا مفيدة في الوقاية من الجريمة، حيث يشتبه البرمجيات الخبيثة عكس هندستها لفهم ما تقوم به ، وكيفية اكتشافه وإزالته ، وتسمح لأجهزة الكمبيوتر والأجهزة للعمل معا ("التعامل") تسمح للملفات المحفوظة على أنظمة عفا عليها الزمن لاستخدامها . الهندسة العكسية يمكن استخدامها للقضاء على البرمجيات و وسائل الاعلام لإزالة الحماية ضد النسخ الخاصة بهم [1] ، أو لإنشاء نسخة محسنة ربما أو حتى توقف العمل . هذا عادة ما يكون هدف المنافس . [1]
الهندسة العكسية لديها أصول في تحليل الأجهزة للحصول على ميزة تجارية أو عسكرية [2] . ومع ذلك ، فإن عملية الهندسة العكسية في حد ذاتها ليست المعنية مع إنشاء نسخة أو تغيير قطعة أثرية بطريقة ما ؛ أنها ليست سوى تحليلا من أجل استخلاص ميزات التصميم من المنتجات مع معارف إضافية قليلة أو معدومة حول الإجراءات اللازمة في إنتاجها الأصلي . [2] في بعض الحالات ، يمكن أن الهدف من عملية الهندسة العكسية تكون مجرد إعآدة الوثائق من النظم القديمة .[2]:15[3] حتى عندما يكون انتاج الهندسة العكسية ، هو وجود منافس قد لا يكون الهدف هو نسخة منها ، ولكن لإجراء تحليل منافس. [4] ويمكن أيضا أن تستخدم الهندسة العكسية لخلق منتجات قابلة للتشغيل المتبادل ؛ على الرغم من بعض التدقيق في تفصيل و تشريعات الولايات المتحدة و الاتحاد الأوروبي ، شرعية استخدام تقنيات الهندسة العكسية محددة لهذا الغرض وقد تشهد تنافسا شديدا في المحاكم في جميع أنحاء العالم لأكثر من عقدين من الزمن . [5]

أسباب الهندسة العكسية

عدل
  • التواصل . ويمكن استخدام الهندسة العكسية عندما يكون النظام مطلوبا واجهة لنظام آخر و كيف كلا النظامين يتفاوضان ليعمل بهما، وجود هذه الشروط عادة للتشغيل المتبادل.
  • تجسس عسكري أو تجاري . التعلم عن أحدث أبحاث عدو أو منافس عن طريق سرقة أو التقاط النموذج وتفكيكه ، فإنه قد يؤدي إلى تطوير منتج مماثل، أو مضادة أفضل لذلك .
  • تحسين أوجه قصور الوثائق . الهندسة العكسية يمكن القيام بها عندما تكون و ثائق النظام لتصميمها والإنتاج والتشغيل أو الصيانة لها أوجه القصور والمصممين الأصليين غير متوفرين لتحسينه . الهندسة العكسية للبرمجيات يمكن أن توفر وثائق أحدث و ضرورية لفهم معظم الوضع الحالي لنظام (e.g. abandonware).
  • إنشاء غير مرخص. التكرارات غير موافق عليها، وتسمى هذه التكرارات استنساخ بعض الأحيان في مجال الحوسبة.
  • أغراض الأكاديمية / التعليمية. الهندسة العكسية تستخدم لأغراض التعلم قد يكون فهم القضايا الرئيسية لتصميم ناجح وبالتالي تحسين التصميم.
  • معلومات فنية تنافسية . فهم واحد منافس يقوم به فعلا ، في مقابل ما يقولون يفعلون .
  • توفير المال. عندما يجد المرء قطعة من الالكترونيات قادر عليها ، فإنه يمكن أن يتجنب المستخدم شراء منتج منفصل .
  • تطويعها لأغراض أخرى . والتي هي فرصة لإعادة توظيفها في الاشياء التي عفا عليها الزمن و يمكن إدراجها إلى هيئة أكبر من المنفعة.

الحآلآت الشآئعة

عدل

الهندسة العكسية للآلآت

عدل

التصميم بمساعدة الكمبيوتر (CAD) أصبحت أكثر شعبية، والهندسة العكسية أصبحت وسيلة فعالة لخلق نموذج 3D الظاهري من الجزء المادي الموجودة لاستخدامها في D CAD3، CAM، CAE أو غيرها من البرامج. [6] عملية الهندسة العكسية ينطوي على قياس الشيء ومن ثم إعادة اليها على انها نموذج 3D. ويمكن قياس الشيء المادي باستخدام تقنيات 3D Scanning مثل CMMs ، الليزر والماسحات الضوئية، محولات الأرقام ، ضوء منظم، أو الصناعية CT الضوئي (التصوير المقطعي). البيانات المقاسة وحدها ، تمثل عادة مثل سحابة نقطة ، يفتقر إلى المعلومات الطوبوغرافية وبالتالي فهي في كثير من الأحيان معالجتها في شكل أكثر صالحة للاستعمال مثل شبكة مثلثة الوجه ، مجموعة من السطوح NURBS، أو نموذج CAD.
يتم استخدام الهندسة العكسية أيضا من قبل الشركات لجلب الهندسة الفيزيائية الموجودة في بيئات تطوير المنتجات الرقمية ، لجعل 3D الرقمية سجل منتجاتها، أو لتقييم منتجات المنافسين . يتم استخدامه للتحليل، على سبيل المثال : كيفية عمل المنتج، ما يقوم به ، وما مكوناته ، و تقدير التكاليف ، وتحديد احتمال انتهاك براءات الاختراع ، الخ ...
الهندسة القيمية هو نشاط ذي صلة يستخدم أيضا من قبل الشركات . ينطوي على بناء وتحليل المنتجات، ولكن الهدف من ذلك هو إيجاد فرص لخفض التكاليف.

الهندسة العكسية للبرمجيات

عدل

الهندسة العكسية هي عملية الفحص فقط: لم يتم تعديل نظام برمجيات قيد النظر (التي من إعادة الهندسة). ويستخدم البرنامج تقنية لمكافحة عبث مثل التشويش لردع كل من الهندسة العكسية وإعادة هندسة البرمجيات الاحتكارية وأنظمة البرمجيات . في الممارسة العملية، نوعان رئيسيان من الهندسة العكسية الظهور:

  • • في الحالة الأولى : شفرة المصدر متاحة بالفعل للبرنامج ، ولكن الجوانب مستوى أعلى من البرنامج ، ربما موثقة توثيقا جيدا أو موثقة ولكن لم تعد صالحة، يتم اكتشافها .
  • • في الحالة الثانية : لا يوجد شفرة المصدر للبرنامج ، وتعتبر أية جهود ترمي إلى اكتشاف رمز واحد للمصدر المحتمل للبرنامج كما الهندسة العكسية .

وتشمل أغراض الهندسة العكسية تدقيق الأمن ، وإزالة حماية النسخ ("تكسير")، التحايل على القيود المفروضة على الوصول غالبا ما تكون موجودة في مجال الالكترونيات الاستهلاكية ، والتخصيص للأنظمة المدمجة (مثل نظم إدارة المحرك) ، في ترميم المنازل أو التعديل التحديثي ، وتمكن من إضافة الميزات على الأجهزة ذات التكلفة المنخفضة .

البرنامج الثنائي

عدل

ويطلق على هذه العملية أحيانا كود الهندسة العكسية، أوRCE ،[7] وكمثال على ذلك، بتفريغ من الثنائيات لمنصة جافا يمكن إنجازه باستخدام (Jad). وكانت حالة واحدة الشهيرة للهندسة العكسية أول تطبيق غير IBM للBIOS PC الذي أطلق عليه الصناعة المتوافقة IBM PC compatible التي كانت منصة أجهزة الكمبيوتر السائدة لسنوات عديدة .
برنامج Samba، والذي يسمح للأنظمة التي لا تشغل أنظمة Microsoft Windows لتبادل الملفات مع النظم الكلاسيكية لبرمجيات الهندسة العكسية، [8] منذ كان مشروع سامبا للهندسة العكسية ، لا ينشر معلومات حول كيفية عمل مشاركة ملفات Windows ، لهذا السبب أجهزة الكمبيوتر غير Windows يمكن تقليدها.

تقنيات البرمجيات الثنائية

عدل

الهندسة العكسية من البرامج يمكن أن تتحقق بطرق مختلفة . المجموعات الرئيسية الثلاث من الهندسة العكسية للبرمجيات هي :

  1. 1. التحليل من خلال مراقبة تبادل المعلومات ، هي الأكثر انتشارا في بروتوكول الهندسة العكسية .
  2. 2. التفكيك باستخدام المجمع ، وهذا يعني أن لغة الآلة الخام من البرنامج قرأت وفهمت بشروطها .
  3. 3. التفريغ باستخدام Decompiler ، وهي عملية المحاولة ، مع نتائج متفاوتة .

تصنيف البرمجيات

عدل

هو عملية تحديد أوجه التشابه بين ثنائيات البرمجيات المختلفة (على سبيل المثال : إصدارين مختلفين من نفس الثنائي) تستخدم للكشف عن العلاقات بين اكواد عينات البرمجيات . وقد تمت هذه المهمة تقليديا يدويا لأسباب عدة (مثل التحليل الصحيح للكشف عن الضعف والتعدي على حق المؤلف) ولكن في الوقت الحاضر يمكن القيام به تلقائيا إلى حد ما لكميات كبيرة من العينات.

الهندسة العكسية من البروتوكولات

عدل

البروتوكولات هي مجموعات من القواعد التي تصف تنسيقات الرسائل وكيف يتم تبادل الرسائل (أي بروتوكول حالة الآلة). وفقا لذلك ، يمكن تقسيم مشكلة بروتوكول الهندسة العكسية إلى قسمين : المشاكل الثانوية ، تنسيق الرسالة حالة آلة الهندسة العكسية. تنسيق رسالة تقليديا عكسية من خلال عملية يدوية شاقة، الذي ينطوي على التحليل لكيفية معالجة تطبيقات بروتوكول الرسائل ، ولكن اقترحت البحوث التي أجريت مؤخرا عددا من الحلول الأوتوماتيكية .[9][10][11]

الهندسة العكسية المتكاملة (الدوائر / البطاقات الذكية)

عدل

الهندسة العكسية هو شكل اجتياحي ومدمر لتحليل البطاقة الذكية. المهاجم يطحن طبقة بعد طبقة من البطاقة الذكية، ويأخذ صورا مع مجهر الكتروني ، مع هذه التقنية من الممكن أن تكشف كامل الأجهزة والبرمجيات جزءا من البطاقة الذكية، المشكلة الرئيسية للمهاجم هو لمعرفة كيف يعمل كل شيء في النظام .

الهندسة العكسية للتطبيقات العسكرية

عدل

غالبا ما تستخدم الهندسة العكسية من قبل الناس من أجل نسخ تقنيات الدول الأخرى( الأجهزة، أو المعلومات) .


المراجع

عدل
  1. ^ Eilam, Eldad (2005). Reversing: secrets of reverse engineering. John Wiley & Sons. ISBN 978-0-7645-7481-8.
  2. ^ ا ب Chikofsky، E. J.؛ Cross، J. H., II (1990). "Reverse Engineering and Design Recovery: A Taxonomy". IEEE Software. ج. 7 ع. 1: 13–17. DOI:10.1109/52.43044. {{استشهاد بدورية محكمة}}: الوسيط غير المعروف |lastauthoramp= تم تجاهله يقترح استخدام |name-list-style= (مساعدة)صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link)
  3. ^ A Survey of Reverse Engineering and Program Comprehension. Michael L. Nelson, April 19, 1996, ODU CS 551 – Software Engineering Survey.أرشيف خي:cs/0503068v1
  4. ^ Vinesh Raja؛ Kiran J. Fernandes (2007). Reverse Engineering: An Industrial Perspective. Springer Science & Business Media. ص. 3. ISBN:978-1-84628-856-2.
  5. ^ Jonathan Band؛ Masanobu Katoh (2011). Interfaces on Trial 2.0. MIT Press. ص. 136,. ISBN:978-0-262-29446-1.{{استشهاد بكتاب}}: صيانة الاستشهاد: علامات ترقيم زائدة (link)
  6. ^ Varady، T؛ Martin، R؛ Cox، J (1997). "Reverse engineering of geometric models–an introduction" (PDF). Computer-Aided Design. ج. 29 ع. 4: 255–268. DOI:10.1016/S0010-4485(96)00054-1.
  7. ^ Chuvakin، Anton؛ Cyrus Peikari (يناير 2004). Security Warrior (ط. 1st). O'Reilly. {{استشهاد بكتاب}}: الوسيط |accessdate بحاجة لـ |مسار= (مساعدة)
  8. ^ "Samba: An Introduction". 27 نوفمبر 2001. اطلع عليه بتاريخ 2009-05-07.
  9. ^ W. Cui, J. Kannan, and H. J. Wang. Discoverer: Automatic protocol reverse engineering from network traces. In Proceedings of 16th USENIX Security Symposium on USENIX Security Symposium, pp. 1–14.
  10. ^ W. Cui, M. Peinado, K. Chen, H. J. Wang, and L. Irún-Briz. Tupni: Automatic reverse engineering of input formats. In Proceedings of the 15th ACM Conference on Computer and Communications Security, pp. 391–402. ACM, Oct 2008.
  11. ^ P. M. Comparetti, G. Wondracek, C. Kruegel, and E. Kirda. Prospex: Protocol specification extraction. In Proceedings of the 2009 30th IEEE Symposium on Security and Privacy, pp. 110–125, Washington, 2009. IEEE Computer Society.