
مع تزايد استخدام HTTPS ، تزداد رغبة الأشخاص غير المصرح لهم بالتسلل إلى حركة المرور المحمية. وجدت دراسة 2017 التي أجرتها
The Security Impact of HTTPS Interception أن هذه ممارسة شائعة بشكل متزايد. أظهر تحليل حركة المرور على خوادم تحديث Firefox أن النسبة المئوية لإدخال وكلاء الجهات الخارجية في HTTPS تصل إلى 15٪ في بعض البلدان.
منذ الدراسة ، من غير المرجح أن يتحسن الوضع. الآن ،
يتطلب أحدث طراز سماعة رأس لاسلكية من Sennheiser
تثبيت شهادة الجذر (مع معلمات غير آمنة)
في النظام .
في أغلب الأحيان ، تؤدي الحماية من الفيروسات أو صندوق الشركات الوسيطة إلى الحماية من الحماية (انظر القائمة أدناه) ، ولكن قد يكون الأمر أسوأ. في أي حال ، من الأفضل أن تعرف على وجه اليقين عندما تكون قناة HTTPS غير آمنة من طرف إلى طرف. حتى عندما يقوم نظام تابع لجهة خارجية باعتراض حركة مرور حسنة النية ، فإنه غالبًا ما لا يدعم الأصفار الحديثة أو لا يتحقق من صحة الشهادات ، مما يقلل من الحماية الكلية للاتصال. لكن يمكنهم اعتراض حركة مرور طبقة المقابس الآمنة ليس فقط لأغراض جيدة ، ولكن أيضًا لأغراض ضارة: على سبيل المثال ، للرقابة على مستوى الولاية.
تعمل برامج مراقبة HTTPS كوكلاء شفافين يقطعون جلسة TLS ، ويفحصون المحتوى ، ثم يقومون بإنشاء جلسة جديدة مع الخادم الوجهة. يستخدمون إصدارات مختلفة من مكتبات TLS غير المستعرضات الشائعة ، مما يسمح باكتشافها على جانب الخادم عن طريق عدم التوافق بين وكيل مستخدم HTTP و TLS Client Hello للمستعرض الحقيقي والوكيل.
للبدء ، إليك بعض الأفكار العملية من دراسة أجريت عام 2017 شملت Mozilla و Google و GlobalSign ، بالإضافة إلى باحثين أكاديميين من جامعة ميشيغان وجامعة إلينوي في إربان شامبين وجامعة كاليفورنيا في بيركلي.
الضرر العملي من اعتراض HTTPS هو تدهور التشفير ونقاط الضعف الوكيل شفافة إضافية. قام مؤلفو الدراسة بتقييم عدد من صناديق الوسيطة الشائعة من خلال هذه المعلمات. كما ترون ، في عام 2017 ، ما يقرب من نصفهم لم يدعموا مجموعات التشفير الحديثة ، وخمس نقاط ضعف خطيرة مسجلة. تمكن واحد فقط من أصل 12 من نسخ جميع أجنحة التشفير المخصصة تمامًا.

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

الحماية من بعض التهديدات ، تعمل مضادات الفيروسات على تقليل التشفير وإضافة نقاط الضعف الخاصة بها. بشكل عام ، غالبًا ما يؤدي تثبيت برنامج مكافحة فيروسات تابع لجهة خارجية إلى تقليل الأمان الكلي للنظام بشكل ملحوظ. ينصح بعض الخبراء المستخدمين
بإزالة مضادات الفيروسات من الجهات الخارجية دائمًا من النظام ، لأن التعليمات البرمجية الغازية والمكتوبة بشكل سيء تجعل من الصعب على المتصفحات والبرامج الأخرى توفير الأمان الخاص بهم.
على الطريق بين العميل والخادم ، يمكن أن تعمل البروكسيات الشفافة الأخرى أيضًا. لاكتشاف هذه العوامل بشكل أفضل ، أصدرت Cloudflare مؤخرًا أداتين جديدتين:
- MITMEngine ، مكتبة مجانية للكشف عن اعتراض HTTPS.
- MALCOLM ، لوحة معلومات لعرض المقاييس حول اعتراض HTTPS على شبكة Cloudflare.
الاهتمام الرئيسي هو مكتبة MITMEngine.
يكتب المطورون أنهم أخذوا أداة
Caddy Server MITM Detection الشائعة كعينة. يدعم مجموعة من المتصفحات الشائعة ويتعرف على اعتراض HTTPS من خلال بصمات محددة لرسالة TLS Client Hello و User Agent ، كما هو موضح أعلاه.
حاول المطورون توفير القابلية للتوسعة من خلال تبسيط الإضافة المستقبلية للإصدارات الجديدة من المتصفحات إلى الكاشف ، بالإضافة إلى تحسين الأداء وتوسيع وظائف الكاشف مقارنةً بـ Caddy Server MITM Detection. يقوم بتحليل معلمات TLS Client Hello التالية ، ومقارنة البيانات الحقيقية ببصمات المستعرضات المعروفة:
- نسخة TLS
- أجنحة التشفير ؛
- التمديدات ومعانيها ؛
- مجموعات مدعومة من المنحنيات الإهليلجية.
- صيغ نقاط منحنى إهليلجي.
في الواقع ، تقوم MITMEngine بإجراء البصمة الجزئية لأحد المستخدمين دون إعادة تعريفها ، ولكن مع تحديد موثوق أن الاتصال تم إنشاؤه بواسطة مستعرض حقيقي ، وليس وسيطًا.
مثال العمل
افترض أن MITMEngine ترى وكيل المستخدم التالي من مستخدم:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/47.0.2526.111 Safari/537.36
يتوافق عميل المستخدم هذا مع Chrome 47 ضمن نظام التشغيل Windows 7. ويرافقه رسالة TLS Client Hello ، والتي تشير إلى مجموعات التشفير التالية ، في ست عشري:
0000 c0 2b c0 2f 00 9e c0 0a c0 14 00 39 c0 09 c0 13 .+./.... ...9....
0010 00 33 00 9c 00 35 00 2f 00 0a .3...5./ ..
تتطابق هذه الرسالة مع مجموعات التشفير التالية:
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f)
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x009e)
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c)
TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
أجنحة التشفير الافتراضية لـ Chrome 47 هي كما يلي:
0000 c0 2b c0 2f 00 9e cc 14 cc 13 c0 0a c0 14 00 39 .+./.... .......9
0010 c0 09 c0 13 00 33 00 9c 00 35 00 2f 00 0a .....3.. .5./..
إذا نظرت بعناية ، يمكنك أن ترى: في حركة المرور الحقيقية ، قائمة الأصفار أقصر قليلاً مما ينبغي أن تكون عليه في متصفح حقيقي. على الرغم من أن الباقي مرتب بنفس الترتيب ، إلا أن مجموعتين مفقودتان:
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcc14)
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcc13)
يمكن افتراض أن حركة المرور من متصفح المستخدم تمر عبر وكيل شفاف لا يدعم الأصفار ChaCha. هذا يقلل من حماية المستخدم لأن مجموعات التشفير AES-CBC بجانب ChaCha
عرضة لهجمات الحشو أوراكل.
في بعض الحالات ، يتيح لك MITMEngine تحديد البرنامج المحدد الذي يؤدي إلى تدهور اتصال HTTPS (في المثال أعلاه ، يكون Sophos antivirus). يمكن للخادم تنبيه المستخدم حول هذا التهديد.

