تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
دورة الهندسة العكسية من الصفر حتى الاحتراف
#4
الدرس الثالث- أ

7 - ادوات التشفير وفك التشفير.
نتيجة تعرض البرامج الى عملية Reskin و cracking و decompiler و disassembler لجأ اصحابها الى تشفيرها (encryption) لحماتها من الـ cracker والوصول الى source code او التعديل عليه، وكذلك يقوم الـ Hackers بتشفير برامجهم (الضارة) لمنع محللي البرامج من تفكيكها ومعرفة آلية عملها وتعقيد عملية التحليل الاستقصائي لها، ويوضع كود فك التشفير الذاتي وكذلك فك الضغط الذاتي في (PE header)، ويستخدم لتشفير الكود المصدري أو إخفاءه أو تعديله عدة برامج منها: 

وظائف واستخدامات أدوات حماية البرامج:
 Themida و Enigma Protector و Flare و mrip و PC Guard و Armadillo و ASProtect و PECRYPT32 و CodeCrypt و tElock و NFO و PCPEC و PELOCKnt و PE-PROTECT و PE-Encrypter و VGCrypt و PE password protector و PE-Lock و LameCrpyt.

ملاحظة: ادوات التشفير سالفة الذكر جميعها تهدف للحماية من قرصنة البرامج والهندسة العكسية باخفاء الكود المصدر للبرنامج وجعله صعب التحليل او التعديل، وهي تدعم أنظمة تشغيل Windows و Linux و macOS وتستخدم خوارزميات تشفير واحدة او متعددة من خوارزميات: Blowfish او RC4  او AES او Twofish او Serpent او CAST-128 او RSA و MD5.

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

ما الفرق بين التشفير والحزم والضغط ؟
Compression: هي عملية ضغط البيانات لتقليل حجمها وتوفير مساحة التخزين أو تحسين كفاءة النقل عبر تقليل استهلاك النطاق الترددي (Bandwidth) عند عملية ارسال البيانات في شبكة الانترنت.
الضغط يحول البيانات من شكلها الاصلي الى شكل أخر، ويمكن استعادة شكل البيانات الاصلي بسهولة عن طريق وضع دالة function في الـ Header تقوم بعملية فك ضغط البرنامج تلقائيا عند التشغيل (self-decompressing).

خوارزميات ضغط الملفات؟
  • Huffman Coding
  • LZ77
  • Deflate : هي أحدى خوارزميات ضغط البيانات بدون فقدان فيها ويستخدم مزيجاً من ترميز LZ77 و Huffman.
  • Lempel-Ziv-Storer-Szymanski (LZSS).

Packing: عملية حزم البرامج، هي عبارة عن ضغط او دمج الملفات التنفيذية مثل: EXE و DLL و SYS و SCR بما فيهم من اكواد او بيانات او كليهما، حيث يتم حزم الملف بطريقة تجعله أكثر صعوبة في التحليل أو التعديل بالاضافة الى تحسين أداء الملف التنفيذي. هذا قد يتضمن ضغط البيانات، ولكنه قد يتضمن أيضاً خطوات أخرى مثل التشفير أو التعتيم (Obfuscation) حيث توفر بعض ادوات Packers ميزات حماية إضافية مثل التشفير، لكن هذه الميزات ليست مضمونة بشكل كامل

encryption: وتسمى ايضاً Protection وهي عملية تشفير البيانات، بشكل معقد ليصعب قراءتها ويتطلب فك تشفيرها معرفة مفتاح التشفير، ولكن يمكن للخبراء الوصول الى المفتاح، ويمكن فك تشفير البرنامج بشكل تلقائي عن طريق وضع دالة function في الـ Header تقوم بعملية فك تشفير البرنامج تلقائيا عند التشغيل (self-decrypting).

ملاحظة: قد تستخدم تقنيات packing و encryption و compression معًا. فعادتاً ما يتم تشفير الملف المضغوط (packed) او (compressed)، ويمكن القيام بعكس ذلك وهو ضغط الملف المشفر ولكن عادتاً ما يزداد حجم الملف باستثناء اذا استخدمت ASCII armor وفي packing لم تستخدمها فمن المحتمل ان يكون هناك زيادة معتدلة في الحجم وهناك برامج تقوم بالضغط والتشفير معاً مثل:  PGP/GPG.

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

ينقسم التشفير الى:
أ- التشفير المتماثل: اقل تعقيداً واقل اماناً وسريع لاننا نستخدم فيه مفتاح واحد لتشفير البيانات وفك تشفيرها.
ب: التشفير الغير متماثل: اكثر تعقيداً واكثر اماناً لاننا نستخدم فيه مفتاح خاص للتشفير ومفتاح عام لفك التشفير.
ج: التشفير في اتجاة واحد (التجزئة): حيث يتم انشاء شفرة تابثة (Hash key) وبطول معين لكل خوارزمية مهما كان حجم البيانات ولا يمكن اعادة البيانات المشفرة الى اصلها.

خوارزميات التشفير المتماثل:

هو نظام تشفير يستخدم مفتاحاً واحداً فقط لتشفير وفك تشفير البيانات. ويجب أن يتشارك جميع الأطراف الذين يرغبون في التواصل مع بعضهم البعض نفس المفتاح وهذه قائمة ببعض انواعها:
  • DES
هي خوارزمية تشفير متماثلة تم تطويرها من قبل شركة IBM عام 1974 واستخدمت على نطاق واسع في الماضي، لكنها أصبحت ضعيفة نسبياً بسبب قصر طول المفتاح (56 بت) ولذلك لا ينصح باستخدامها في التطبيقات الجديدة. 
  • Blowfish​​
صممها خبير التشفير Bruce Schneier عام 1993 كبديل لخوارزمية DES وتتميز بقدرتها على تشفير وفك تشفير البيانات بسرعة عالية وتعتمد على شبكة Feistel مع 16 دورة وتعتبر آمنة بشكل معقول، لكن تم اكتشاف بعض الثغرات الأمنية فيها، وتستخدم في تطبيقات مثل: برامج ضغط الملفات، والبريد الإلكتروني، وبروتوكولات الشبكة.
  • Twofish
هو تشفير بلوك متماثل بحجم بلوك 128 بت ومفتاح ذو طول متغير يصل إلى 256 بت وتعد خليفة لخوارزمية Blowfish ويتميز بقدرة عالية على مقاومة الهجمات ويستخدم على نطاق واسع في تطبيقات مختلفة مثل: برامج حماية البيانات وتشفير كلمات المرور.
  • RC4
هي خوارزمية تنتمي إلى التشفير التسلسلي (تشفير تيار، المعروف أيضًا باسم تشفير الدفق) حيث تستخدم لتشفير البيانات بشكل متسلسل، بت تلو الآخر. وتتميز بسهولة التنفيذ وسرعتها العالية، وتستخدم في العديد من التطبيقات مثل بروتوكول WPA2 لتشفير اتصالات Wi-Fi ولكن تم اكتشاف بعض الثغرات الأمنية فيها، مما أدى إلى تراجع استخدامها.
  • AES
هو تشفير بلوك متماثل يمكنه تشفير وفك تشفير المعلومات يستخدم خوارزمية Rijndael ويعد من أكثر خوارزميات التشفير أماناً واعتمد من قبل المعهد الوطني للمعايير والتكنولوجيا (NIST) كمعيار لتشفير البيانات عام 2001، ويستخدم على نطاق واسع في تطبيقات مختلفة مثل: تشفير البيانات على الأقراص الصلبة، وتطبيقات الاتصالات، وبرامج مكافحة الفيروسات.

XOR: هي عملية منطقية (Boolean) تستخدم على نطاق واسع في التشفير حيث تقارن بين بتين من البيانات وتنتج 1 إذا كانا مختلفين و 0 إذا كانا متطابقين وتستخدم هذه العملية في العديد من خوارزميات التشفير مثل RC4 و AES.

خوارزميات التشفير الغير متماثل:

هو نظام تشفير يستخدم مفتاحين مختلفين: مفتاح عام ومفتاح خاص. يستخدم المفتاح العام لتشفير البيانات، بينما يُستخدم المفتاح الخاص لفك تشفيرها. يمكن لأي شخص الحصول على المفتاح العام، ولكن لا يمكن لأحد فك تشفير البيانات دون استخدام المفتاح الخاص.
  • Elliptic Curve Digital Signature Algorithm (ECDSA):
 تقدم خوارزمية توقيع المنحنى الإهليجي أمان عالي لانها تعتمد على مشكلة لوغاريتم المنحنى الإهليلجي المنفصل (ECDLP) التي تعد صعبة الحل، وهي تتطلب حجم مفتاح أصغر من RSA، وتوقع وتحقق التوقيعات يتم بسرعة أكبر من RSA مما يجعلها مناسبة للأجهزة ذات الموارد المحدودة، ولكن من عيوبها قابلية التعرض لهجمات القنوات الجانبية إذا تمكن المهاجم من مراقبة عملية التوقيع.
  • Rivest-Shamir-Adleman (RSA) 
تقدم امان عالي لانها تعتمد على مشكلة تحليل العوامل الاولية، وهي مشكلة صعبة الحل. وتمتاز بقابلية التكيف حيث يمكن استخدامها في العديد من التطبيقات، مثل التشفير والتوقيع الرقمي. وتستخدم بشكل واسع من قبل معظم البرامج والتطبيقات. ولكن من عيوبها ان حجم المفتاح أكبر من ECDSA، مما يجعلها أقل كفاءة. كما ان انها أبطأ حيث تتطلب وقت أطول لتوقيع وتحقق التوقيعات من ECDSA.
  • Pretty Good Privacy (PGP)
تتميز بأنها خوارزمية مفتوحة المصدر ويمكن استخدامها لتشفير البريد الإلكتروني والملفات وسهلة الاستخدام نسبياً مقارنة بخوارزميات أخرى، ولكن من عيوبها ان إدارة مفاتيح التشفير معقدة وتتم بشكل يدوي وايضا قد تتعرض لخطر استخدام هجمات القوة الغاشمة لكسر التشفير.

خوارزميات التجزئة (Hashing)؟

تستخدم في عملية البحث وتخزين البيانات مثل كلمات السر وفي المصادقة (التوقيع الرقمي او البصمة الالكترونية) للتأكد من الهوية او التأكد من عدم تغيير الملفات والبيانات والتلاعب بها وتنتج خورازميات التجزئة كود يسمى (Hash key) يكون بحجم تابث من 128 بت  إلى 512 بت حسب نوع الخوارزمية المستخدمة.
  • ASH - ASH-1. ASH-2. ASH-3
  • RIPEMD-160
  • BLAKE2
  • MD5
أعضاء أعجبوا بهذه المشاركة : Cyperior , the9am3 , muhmath2002 , fantazma , PowerUser , samoray , SeGNMeNT , rce3033 , Str0x , mounirsoltan , xdvb_dz , azarol


الردود في هذا الموضوع
RE: دورة الهندسة العكسية من الصفر حتى الاحتراف - بواسطة ehab85 - 15-04-2021, 06:00 AM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 7 ) ضيف كريم