ما تريد معرفته عن Cryptographic Failures

Cyber Attacks
يُعتبر OWASP Cryptographic Failures واحد من أهم عشرة مخاطر أمنية لتطبيقات الويب حسب تقرير OWASP Top 10 للعام 2021، تتعلق هذه المخاطر بالفشل في استخدام التشفير بشكل صحيح أو كافٍ لحماية البيانات الحساسة من التعرض أو التلاعب.
Abdelrahman Nasr
March 24, 2023, 2 p.m.
Abdelrahman
ما تريد معرفته عن Cryptographic Failures

خصوصية البيانات وأمنها لا تقدر بثمن للمحافظة علي ثقة المستخدمين، يحدث فشل التشفير(Cryptographic Failures) أو كما كان يعرف في قائمة OWASP Top 10 للعام 2017 بـ(Sensitive Data Exposure)  عند الحفاظ علي البيانات دون تشفير (Plain Text) أو استخدام خوارزميات تشفير ضعيفة قابلة للكسر أو علي سبيل المثال تكرار استخدام الـ (Salt Value) عند تشفير كلمات المرور.

ما هو التشفير (Cryptography)؟

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

اقرأ أيضاً: Introduction to Cryptography | مقدمة في علم التشفير

هناك نوعان رئيسيان من التشفير:

التشفير المتماثل (Symmetric): يستخدم نفس المفتاح لتشفير وفك تشفير البيانات، مما يجعله سريعًا وفعالًا، لكنه يحتاج إلى طريقة آمنة لإرسال المفتاح إلى المستقبل.

اقرأ أيضاً: التشفير المتماثل (Symmetric Encryption)

التشفير غير المتماثل (Asymmetric): فيستخدم مفتاحان مختلفان، أحدهما عام والآخر خاص، مربوطان رياضيًا، حيث يستخدم المرسل المفتاح العام (Public Key) لتشفير البيانات، ويستخدم المستقبل المفتاح الخاص (Private Key) لفك تشفيرها.

اقرأ أيضاً: جولة في التشفير الغير متماثل (Asymmetric Encryption)

ما هي استخدامات التشفير (Cryptography) في تطبيقات الويب؟

استخدامات التشفير في تطبيقات الويب متعددة ومهمة. بعض الأمثلة هي:

 • حماية خصوصية وسرية المستخدمين والبيانات التي يتم تبادلها بين المتصفح والخادم، مثل كلمات المرور والمعاملات المالية والرسائل الشخصية عند إرسالها عبر الإنترنت باستخدام بروتوكول النقل الآمن للنصوص التشعبية (HTTPS)، والذي يستخدم تشفير غير متماثل لإنشاء جلسة آمنة وتشفير متماثل لتبادل البيانات.

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

 • التحقق من صحة هوية المستخدم أو المصدر باستخدام التوقيعات الرقمية (Digital Signatures)، والتي تستخدم تشفير غير متماثل لإرفاق مفتاح عام مع رسالة أو برنامج أو شهادة.

 • تسهيل بعض الخدمات والأنشطة على الإنترنت، مثل التجارة الإلكترونية وتحويلات الأموال عبر الإنترنت والبريد الإلكتروني

ما هو فشل التشفير (Cryptographic Failures)؟

يُعتبر OWASP Cryptographic Failures واحد من أهم عشرة مخاطر أمنية لتطبيقات الويب حسب تقرير OWASP Top 10 للعام 2021، تتعلق هذه المخاطر بالفشل في استخدام التشفير بشكل صحيح أو كافٍ لحماية البيانات الحساسة من التعرض أو التلاعب. 

ما هي أسباب حدوث فشل التشفير (Cryptographic Failures)؟

 • استخدام خوارزميات تشفير قديمة أو ضعيفة أو غير آمنة، مثل MD5 أو SHA1 أو DES2.

 • استخدام مفاتيح تشفير افتراضية أو ثابتة أو سهلة التخمين.

 • عدم إجراء التحقق من صحة server certificate  و  trust chain عند إنشاء اتصال آمن باستخدام HTTPS.

 • عدم استخدام وضع تشغيل آمن للتشفير، مثل GCM، والذي يضمن سرية وسلامة وصحة البيانات.

 • عدم حفظ كلمات المرور في قواعد البيانات باستخدام Hash مناسب يحتوي علي Salt Value.

إذا كان تطبيقك يستخدم التشفير بأي شكل من الأشكال، فإنه من المهم اتباع المعايير والأفضليات الصناعية لضمان حصولك على مستوى كافٍ من الأمان.

هجمات فشل التشفير (Cryptographic Failures Attacks)

 • استغلال ثغرة SQL injection لاسترجاع أرقام بطاقات الائتمان المشفرة من قاعدة البيانات، والتي يتم فك تشفيرها تلقائيًا عند الاسترجاع.

 • استخدام Password Dictionaries المعروفة لتنفيذ هجوم Credential Stuffing.

 • استخدام خوارزمية MD5 لإثبات سلامة أو صحة البيانات، والتي يُعرف أنها بها ثغرات وضعف في مقاومتها، مما يسمح بإنشاء بيانات مزورة تحتوي على نفس قيمة الـ Hash.

 • استخدام مفتاح تشفير ثابت أو مدمج في الكود المصدري، مما يسهل اكتشافه واستخدامه لفك تشفير البيانات.

 • استخدام HTTPS دون التحقق من صحة server certificate  و  trust chain، مما يتيح للمهاجمين إجراء Man-in-the-Middle أو Certificate Forgery.

 • استخدام ECB mode للتشفير، والذي يكشف عن نمط البيانات المشفرة ويسمح بإعادة استخدام التشفير.

كيفية الحماية من هجمات فشل التشفير (Prevent Cryptographic Failure Attacks)

 • تشفير جميع البيانات الحساسة.

 • استخدام التشفير عند نقل البيانات باستخدام بروتوكولات آمنة ومشفرة.

 • التحقق من صحة server certificate  و  trust chainعند إنشاء اتصال آمن باستخدام HTTPS.

 • استخدام خوارزميات تشفير قوية وآمنة، مثل AES أو SHA256 أو RSA، وتجنب استخدام خوارزميات قديمة أو ضعيفة أو غير آمنة، مثل MD5 أو SHA1 أو DES3.

 • استخدام مفاتيح تشفير عشوائية، وتجنب استخدام مفاتيح افتراضية أو ثابتة أو سهلة التخمين.

 • استخدام دوال برمجية لإنشاء مفاتيح تشفير من كلمات المرور، مثل PBKDF2 أو bcrypt أو scrypt.

وهنا نكون قد وصلنا إلى نهاية مقالتنا عزيزي القارئ ولا تنسى أن تنتظرنا قريباً- إن شاء الله- وإلى لقاء آخر قريب...


Cryptography Symmetric ASymmetric Cryptographic Failures Abdelrahman Nasr