مخاطر خفض مستوى HTTP والمحتوى المختلط
افهم كيف يستغل المهاجمون الرجوع إلى HTTP، ولماذا يؤدي المحتوى المختلط إلى تقويض ضمانات الأمان
مخاطر خفض مستوى HTTP والمحتوى المختلط درس مجاني في Cryptology Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cryptology Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cryptology Academy 4 دروس في المجموع.
أمان النقل الصارم عبر HTTP
توجّه ترويسة HTTP Strict Transport Security (HSTS) المتصفحات إلى الاتصال بموقع ما عبر HTTPS فقط خلال فترة محددة. بعد استلامها، يرفض المتصفح اتصالات HTTP ويحوّل عناوين URL التي تبدأ بـ http:// تلقائيًا إلى https://.
ترويسة HSTS نموذجية: "Strict-Transport-Security: max-age=31536000; includeSubDomains; preload". وتُقاس قيمة max-age بالثواني (31536000 = سنة واحدة). بعد تخزينها مؤقتًا، يفرض المتصفح استخدام HTTPS لمدة سنة من دون أي تدخل من الخادم.
max-age وincludeSubDomains في HSTS
تحدد معلمة max-age المدة التي ينبغي للمتصفح خلالها فرض الاتصالات عبر HTTPS فقط، وتُقاس هذه المدة بالثواني. والقيم الموصى بها لمواقع الإنتاج هي سنة واحدة على الأقل (31536000).
يوسّع التوجيه includeSubDomains نطاق فرض HSTS ليشمل جميع النطاقات الفرعية. ويمنع ذلك الهجمات التي يخفض فيها المهاجم اتصال نطاق فرعي إلى HTTP، ثم يستخدمه لسرقة ملفات تعريف الارتباط التي ضُبطت من دون العلامة Secure في النطاق الرئيسي.
قائمة التحميل المسبق لـ HSTS
تأتي المتصفحات مزودة بقائمة مضمّنة ثابتًا من النطاقات التي لا تسمح إلا باستخدام HTTPS، حتى في الزيارة الأولى على الإطلاق. وتضم هذه القائمة، التي تُدار في hstspreload.org، آلاف المواقع الكبرى.
يلغي التحميل المسبق ثغرة الزيارة الأولى: فمن دونه، يمكن اعتراض الزائر الذي يدخل الموقع للمرة الأولى قبل استلام ترويسة HSTS. وتكون المواقع المحمّلة مسبقًا مقتصرة على HTTPS منذ الطلب الأول، بصرف النظر عن حالة ذاكرة HSTS المؤقتة.
هجوم تجريد SSL
تجريد SSL، الذي نشره Moxie Marlinspike في Black Hat 2009، هو هجوم MITM يخفض اتصالات HTTPS إلى HTTP. يعترض المهاجم طلب HTTP الأولي للمستخدم، ويرسل طلبات HTTPS إلى الخادم الحقيقي نيابةً عن المستخدم، ثم يعيد المحتوى إلى المستخدم عبر HTTP.
يرى الضحية المحتوى بشكل طبيعي، لكنه يصل إليه عبر HTTP. وتصل أي بيانات اعتماد يُدخلها إلى المهاجم. وقبل ظهور HSTS، كان هذا الهجوم فعالًا للغاية لأن المستخدمين لم يلاحظوا غياب رمز القفل.
يقضي HSTS على تجريد SSL
يقضي HSTS على تجريد SSL لأن المتصفح يرفض متابعة اتصالات HTTP مع النطاقات المسجّلة في HSTS. وحتى إذا حاول مهاجم تقديم صفحة عبر HTTP، يرفض المتصفح الاتصال ببساطة ويعرض خطأً.
يحدث فرض HSTS في المتصفح قبل إجراء أي طلب شبكي، ولذلك لا يستطيع المهاجم التدخل. وتبقى الثغرة الوحيدة هي الزيارة الأولى قبل استلام HSTS، وهو ما يلغيها التحميل المسبق.
المحتوى المختلط النشط في مقابل السلبي
يحدث المحتوى المختلط عندما تحمّل صفحة HTTPS موارد عبر HTTP. ويشمل المحتوى المختلط السلبي الصور والصوت والفيديو المحمّلة عبر HTTP. ولا يمكن لهذه الموارد تعديل الصفحة مباشرة، لكنها قد تكشف معلومات عن المستخدم عبر ترويسات HTTP وتتيح التتبع.
يشمل المحتوى المختلط النشط البرامج النصية وأوراق الأنماط وإطارات iframe وطلبات XMLHttpRequests المحمّلة عبر HTTP. ويمكن لبرنامج نصي عبر HTTP أن يعرّض أمان صفحة HTTPS للخطر بالكامل، لأنه يملك وصولًا كاملًا إلى DOM ويمكنه قراءة ملفات تعريف الارتباط وبيانات النماذج.
حظر المتصفحات لبرامج نصية ذات محتوى مختلط
تحظر المتصفحات الحديثة المحتوى المختلط النشط (البرامج النصية وأوراق الأنماط وإطارات iframe عبر HTTP) افتراضيًا عندما تكون الصفحة الحاوية عبر HTTPS. ويظهر خطأ في وحدة التحكم، ولا يُحمّل المورد.
بدءًا من Chrome 81 (2020)، بدأت المتصفحات بترقية المحتوى المختلط السلبي تلقائيًا إلى HTTPS. فإذا وُجد إصدار HTTPS، يُحمّل. وإذا لم يوجد، يُحظر المورد.
المحتوى المختلط في أدوات مطوري المتصفح
تعرض وحدة تحكم المطوّر في المتصفح تحذيرات وأخطاء المحتوى المختلط. في Chrome، افتحوا DevTools، وانتقلوا إلى علامة تبويب Console، ثم صفّوا النتائج باستخدام "Mixed Content". ويعرض كل مورد محظور عنوان URL غير الآمن الذي يلزم تحديثه.
تعرض لوحة Security في DevTools نظرة شاملة على الأمان: تفاصيل الشهادة، ومعلومات الاتصال، وقائمة بجميع الموارد غير الآمنة في الصفحة.
توجيه CSP upgrade-insecure-requests
يوجّه توجيه Content Security Policy (CSP) "upgrade-insecure-requests" المتصفحات إلى ترقية جميع طلبات HTTP الصادرة من الصفحة تلقائيًا إلى HTTPS. ويتولى ذلك معالجة المحتوى القديم الذي يحتوي على عناوين HTTP مضمنة بشكل ثابت.
بخلاف حظر المحتوى المختلط، يحاول upgrade-insecure-requests جلب إصدار HTTPS أولًا. ويكون مفيدًا أثناء الانتقال من HTTP إلى HTTPS عندما يكون تحديث جميع عناوين URL المضمّنة في المحتوى القديم أمرًا غير عملي.
حقن الإعلانات من مزود خدمة الإنترنت عبر HTTP
من دون HTTPS، يستطيع مزودو خدمة الإنترنت حقن محتوى في استجابات HTTP. وقد ضُبط عدة مزودي خدمة إنترنت وهم يحقنون إعلانات في صفحات ويب لم تكن تحتوي على إعلانات، أو يضيفون بكسلات للتتبع، أو يحقنون صفحات تحذير عندما يقترب المستخدمون من بلوغ حد البيانات لديهم.
يستحيل هذا النوع من حقن المحتوى في صفحات HTTPS لأن الاستجابة موثّقة ومشفّرة. فأي تعديل سيؤدي إلى فشل التحقق من TLS MAC، وينتج عنه خطأ في الاتصال بدلًا من عرض محتوى معدّل.
لماذا تظل الزيارة الأولى عبر HTTP محفوفة بالمخاطر
قبل أن يرى المتصفح ترويسة HSTS لنطاق ما، تكون الزيارة الأولى عبر HTTP عرضة للخطر. إذ يستطيع المهاجم اعتراض هذا الطلب الأولي وتنفيذ تجريد SSL من دون ظهور أي تحذيرات من المتصفح.
تُفسّر ثغرة "الثقة عند أول استخدام" سبب وجود قائمة التحميل المسبق لـ HSTS. ويضمن إرسال الموقع إلى قائمة التحميل المسبق أن تفرض المتصفحات استخدام HTTPS لهذا النطاق منذ الطلب الأول، مما يغلق نافذة الزيارة الأولى بالكامل.
اختبار HSTS
اختبروا مدى فهمكم لأمان النقل الصارم عبر HTTP.
أهم النقاط: HSTS والمحتوى المختلط
يوجّه HSTS المتصفحات إلى فرض اتصالات عبر HTTPS فقط لنطاق ما خلال مدة محددة. وتمتد الحماية إلى الزيارات الأولى على الإطلاق بفضل قائمة التحميل المسبق، التي تضع سياسات HSTS بشكل ثابت في المتصفحات.
يخفض تجريد SSL (Moxie Marlinspike، 2009) اتصالات HTTPS إلى HTTP، ويقضي HSTS عليه. وتحظر المتصفحات المحتوى المختلط النشط (البرامج النصية عبر HTTP في صفحات HTTPS). ويؤتمت توجيه CSP upgrade-insecure-requests الانتقال من HTTP إلى HTTPS للمحتوى القديم.
الأسئلة الشائعة
هل درس «مخاطر خفض مستوى HTTP والمحتوى المختلط» مجاني؟
نعم — نص درس «مخاطر خفض مستوى HTTP والمحتوى المختلط» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cryptology Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cryptology Academy 4 دروس في المجموع.
ماذا ستتعلم في «مخاطر خفض مستوى HTTP والمحتوى المختلط»؟
افهم كيف يستغل المهاجمون الرجوع إلى HTTP، ولماذا يؤدي المحتوى المختلط إلى تقويض ضمانات الأمان تتمرن على Cryptology Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Cryptology Academy؟
لا تُشترط خبرة سابقة. Cryptology Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «مخاطر خفض مستوى HTTP والمحتوى المختلط»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Cryptology Academy هذا؟
نعم. كل درس في Cryptology Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- أيقونة القفل: ما معناها الحقيقي؟
- كيف تحصل مواقع الويب على شهادات SSL؟
- تحذيرات شهادات TLS وما ينبغي فعله
- مخاطر خفض مستوى HTTP والمحتوى المختلط