السبت، 21 ديسمبر 2019

ما هما بروتوكولا SSL و TLS؟؟ وها هي عيوبهما الامنية ؟؟

هذه المقال وغيرها من المقالات تحت وسم "مسابقة أفضل تدوينة" تعبر عن أراء أصحابها

نشرح في هذا المقال كلا من بروتوكل الـ SSL و TLS ونتلكم عن استخدامهما وطرق عملهما وعيوبهما الامنية. 

تقريبا كلنا يعرف برتوكول الـ ssl وبعضنا برده عارف الـ TLS، مبدئيا كدة خلينا نعرفهم بشكل اجمالي. (يقوم بروتوكول SSL / TLS بتشفير حركة المرور على الإنترنت بجميع أنواعها ، مما يجعل التواصل الآمن عبر الإنترنت ممكنًا. ده ابسط تعريف ممكن تلاقية ليهم التنين، 

او من هذا التعريف

(SSL و TLS هما بروتوكولا تشفير يوفران مصادقة وتشفير البيانات بين الخوادم والآلات والتطبيقات التي تعمل عبر شبكة (مثل عميل يتصل بخادم ويب). SSL هو سلف TLS. على مر السنين ، تم إصدار إصدارات جديدة من البروتوكولات لمعالجة الثغرات الأمنية ودعم مجموعات وخوارزميات تشفير أقوى وأكثر أمانًا.


تم تطوير SSL في الأصل بواسطة Netscape وأول مرة ظهرت في المشهد عام 1995 باستخدام SSL 2.0 (لم يتم إصدار 1.0 للجمهور مطلقًا). تم استبدال الإصدار 2.0 بسرعة بـ SSL 3.0 في عام 1996 بعد العثور على عدد من الثغرات الأمنية. ملاحظة: يتم كتابة الإصدارين 2.0 و 3.0 أحيانًا كـ SSLv2 و SSLv3.)


بس قبل منكلم عن ثغراتهم لازم نفهم اية هما، اية الفرق مابينهم وازاي بيشتغلو. عشان نقدر نفهم ثغراتهم تمام، بسم اللة وتوكلوا علي اللة لان المقال طويل شوية.

SSL - Secure Sockets Layer : 


 مر الSSL عبر تحديثين رئيسيين . وصل الإصدار 2.0 من البروتوكول في عام 1995 ، في حين وصل SSL 3.0 في عام 1996. أصدر مصممو SSL النسختين الجديدتين مع التوافق مع الإصدارات السابقة لتخفيف عبء التبني. لكن هذا الجهد ، ناهيك عن التصميم العام للبروتوكول ، أعاق قدرة SSL على توفير السرية. وزي مقلنا ان ssl في منة versions كتير ssl2.0 /ssl3.0 بس المستخدم في اغلب المواققع هوssl3 بس ده يعتبر حاليا غير امن بسبب الثغرة الي تم اكتشافةا فيه (POODLE) هنكلم عليها تحت.


TLS - Transport Layer Security :


TLS1.0/TLS2.0

التا بتخاط مابينهم لية لان TLS/SSL3 تقريبا حاجة واحد بس الموضوع ده غلط علي ما قد انة صحيح عشان كدة هنجيب او جة التشابة والاختلاف في كل واحدة وكيفية عملهم علي حدي :


بس قبل من قول ده لزمن نقول حاجة صغيرة "Certificates are not the same as protocols" بمعني ان انا لولقيت ثغرة في بروتوكول ssl مش الحل اني اغير الشهادة لان الشهادة حشاجة والبروتوكل حاجة تانية يعني ببساطة الشهادة الي بيستخدمها SSL هي بردة ممكن تبقي نفس الشهادة الي بيستخدمها TLS

التشابة ببساطة في المضمون :

 حماية خصوصية البيانات من خلال تشفير البيانات في الحركة .

 يقدّم لسيرفر صلاحية المصادقة على دخول العميل ( إختيارياً )

 التحقّق من سلامة الرسائل باستخدام أكواد التشفير .

 

الاختلاف نوعا ما كبير  :

المقارنة هنا هتكون مابين SSL3/TLS1.0 :

اولا - ودة الي هتلاحظة لو في خطء الي هو (No certificate) ssl سعتها بيطلعلك تنبية اما TLS. اما TLS مش بيبعت تنبية وببعت قيم Values


TLS بيستخدم HMAC للمصادقة الرسائل اما SSL بيستخدمMAC[ولي ممكن نقول علية ببساطة رمز توثيق الرسالة والي بيساعد علي ضمان وصحة الرسالة] (هسيب مصدر ليها تحت)

ثالثا : Certificate verify بالنسبة للssl  فالموضوع معقدبالنسبالة اما لل TLS فالموضوع بسيط لانة بيتبعت مع الهاندشيك

 

مش هنكلم اكتر من كدة هسيب مصادر للي عايز يعرف اكتر عشان البست ميطولش. بس قبل ما نبدا في الثغرات الي فيهم احب اقول تعليق قراتة في مقالة اجنبية وهى ان (TLS ما هو الي SSLV4 اي تحديث امن واقوى من ssl)


نبدء بقي نتكلم عن الثغرات الي في البروتوكول ده :

 

اول حاجة والي لازم نتكلم عليها واشهرهم هي:  heartbleed vulnerability ثغرة نزيف القلب.


سبب شهرة الثغرة ده عن بقيت الثغرات مع ان في ثغرات في ssl ممكن تساويها في الخطر هو ان الاستغلال بتاعها كان public لاي حد يقدر يستغلة وعشان تتخيل قد اية كان متاح ان في module علي metasploit لاستغلال الثغرة ده . بس اية هي الثغرة ده ببساطة الثغرة ده تعرفها من موقعها : 

 

هي نقطة ضعف خطيرة في مكتبة برامج التشفير OpenSSL الشائعة. يسمح هذا الضعف بسرقة المعلومات المحمية ، في ظل الظروف العادية ، بواسطة تشفير SSL / TLS المستخدم لتأمين الإنترنت. يسمح Heartbleed bug لأي شخص على الإنترنت بقراءة ذاكرة الأنظمة المحمية بواسطة الإصدارات الضعيفة من برنامج OpenSSL. يؤدي ذلك إلى تعريض المفاتيح السرية المستخدمة لتحديد موفري الخدمات وتشفير حركة المرور وأسماء وكلمات مرور المستخدمين والمحتوى الفعلي. هذا يسمح للمهاجمين بالتنصت على الاتصالات ، وسرقة البيانات مباشرة من الخدمات والمستخدمين وانتحال هوية المستخدمين والمستخدمين.

 

من كشف عن هذه الثغرة؟

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


مدي تأثير الثغرة ؟

أكثر من ثلثي خوادم الشبكة يستخدمون تقنية OpenSSL للتشفير، والثغرة تطال بالتحديد نسخة مطورة عام 2011. وقد أظهرت الدراسات أنّ 81% من المواقع تستخدم برامج خوادم مثل Apache و Nginx وكلاهما معرض للاستهداف من قبل الثغرة. الكثير من المواقع الشهيرة مثل جوجل وياهو وأمازون تستخدم وسائل التشفير المستهدفة، وقامت هذه المواقع بتحديث نفسها وإصلاح الثغرة، ويضاف للمواقع التي تستخدم نظام التشفير المعني فيسبوك وبنترست وإنستجرام. ببساطة الثغرة ده وقتها كانت ثغرة غير مسبوقة تقريبا مشفناش زيها وده كن تعليق مدير كلاوفلير عليها


رابط موقع الثغرة : heartbleed

رابط الفحص: filippo او اقدر تفحصها من موديل الي علي الميتا سبلويت

auxiliary/scanner/ssl/openssl_heartbleed

الثغرة الي بعد كدة والي تكلمنا عليها فوق ( - Padding Oracle On Downgraded Legacy Encryption - POODLE  ) :


السناريوا بتاع الهاك :

يبدأ العميل المصافحة ويرسل قائمة بإصدارات SSL / TLS المدعومة. يعترض المهاجم حركة المرور، ويؤدي هجوم man-in-the-the-middle (MITM)، ويقوم بانتحال شخصية الخادم حتى يوافق العميل على خفض مستوى الاتصال بـ SSL 3.0.


ثالثا : 

DROWN - (Decrypting RSA with Obsolete and Weakened eNcryption)


هو ثغرة خطيرة تصيب بروتكول HTTPS وغيرها من الخدمات التي تعتمد على TLS , SSL  وبعض من بروتوكولات التشفير الاساسية لامن شبكة الانترنيت . وتسمح هذه البروتوكولات الجميع على الشبكة العنكبوتية لتصفح المواقع وارسال الرسائل والتسوق ونقل المعلومات المهمة دون السماح لطرف ثالث بالقدرة على رؤية ما يتم تبادله بين المستخدم والشبكة العنكبوتية . ماذا يحصل عليه المخترق من هذه الثغرة ؟ 


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

 

رابعا - Bar-Mitzvah Attack 


ظهرت ثغرة وهجوم جديدين في اكثر انظمة التشفير المشهورة عالميا والتي تسمح للمخترق ان يقوم بسرقة بيانات بطاقات الإئتمان و الدفع الإلكتروني و كلمات المرور واي بيانات حساسة يتم تراسلها بشكل محمي و مشفر بإستخدام بروتوكولات SSL و TLS. هذه الثغرة موجودة منذ اكثر من 13 عاما في خوارزمية RC4 و التي تعد الأكثر استخداما في حماية ما يقارب 30% من البيانات التي يتم تراسلها بشكل مشفر عبر الإنترنت في ايامنا هذه. الهجوم والذي اطلق عليه اسم Bar-Mitzvah يمكن تنفيذه بدون شن هجوم الرجل في المنتصف (Man in The Middle Attack) على الإتصالات و الطلبات بين كل من جهاز الضحية و جهاز الخادم كغيره من انواع الهجوم و الثغرات الأخرى التي اصابت بروتوكول SSL.


خامسا : Weak cipher suites :

والي بتسمح للمهامج لفك تشفير البيانات بينة وبين السرفر بس ضعف في شهادة ssl الي ممكن للهاكر انة يجبها من public key 

 

الاسم : فاروق نبيل
الدولة: مصر

المصادر والمراجع :


TLS and ssl on wikipedia:
https://en.wikipedia.org/wiki/Transport_Layer_Security
https://wiki.openssl.org/index.php/SSL_and_TLS_Protocols

heartbleed on isecurity and how exploit it :
http://www.isecur1ty.org/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%AB%D8%BA%D8%B1%D8%A9-heartbleed-%D9%88%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%A7%D8%B3%D8%AA%D8%BA%D9%84%D8%A7%D9%84%D9%87%D8%A7/

difference between ssl and tls:
https://techdifferences.com/difference-between-ssl-and-tls.html (EN)
https://www.venafi.com/blog/understanding-difference-between-ssl-and-tls (EN)
https://www.cloudwards.net/ssl-vs-tls/ (EN)
https://www.csoonline.com/article/3246212/what-is-ssl-tls-and-how-this-encryption-protocol-works.html (EN)
https://www.thetechnologynow.com/2016/07/difference-SSL-TLS.html (AR)

Most ssl/tls vuln:
https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/
https://www.manageengine.com/key-manager/help/ssl-vulnerability.html
https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/

ssl onlion scanner:
https://geekflare.com/ssl-test-certificate/

HMAC:
https://en.wikipedia.org/wiki/HMAC

Bar mitzvah:
https://en.wikipedia.org/wiki/Bar_mitzvah_attack
https://www.secpod.com/blog/cve-2015-2808-bar-mitzvah-attack-in-rc4-2/
http://www.imperva.com/docs/HII_Attacking_SSL_when_using_RC4.pdf

Drown attack:
https://www.isecur1ty.org/%D8%AB%D8%BA%D8%B1%D8%A7%D8%AA-tls-ssl-%D8%AB%D8%BA%D8%B1%D8%A9-drown-attack/ (AR)
https://github.com/nimia/public_drown_scanner (EN)
https://drownattack.com/ (EN)
https://drownattack.com/drown-attack-paper.pdf (EN)

هناك تعليق واحد:

  1. مقال رااائع واستفدت منه جداااا

    ردحذف

Ads link

Labels