تخفيف المخاطر المرتبطة بالتعرّض غير المقصود للأجهزة والخوادم على الشبكة الداخلية للعميل على الويب بشكل عام
لطالما شكّلت المواقع الإلكترونية الضارة التي ترسل طلبات إلى الأجهزة والخوادم المستضافة على شبكة خاصة تهديدًا. على سبيل المثال، قد يغيّر المهاجمون إعدادات جهاز توجيه لاسلكي لتفعيل هجمات Man-in-the-Middle. CORS-RFC1918 هو اقتراح لحظر هذه الطلبات تلقائيًا على المتصفّح، ويتطلّب أن توافق الأجهزة الداخلية على الطلبات الواردة من الإنترنت العام.
لفهم تأثير هذا التغيير في المنظومة المتكاملة للويب، يسعى فريق Chrome إلى الحصول على ملاحظات من المطوّرين الذين ينشئون خوادم للشبكات الخاصة.
ما هي المشكلة في الوضع الراهن؟
تعمل العديد من خوادم الويب ضمن شبكة خاصة، ولا تشكّل أجهزة التوجيه اللاسلكية والطابعات ومواقع الويب على شبكة الإنترانت وخدمات المؤسسات وأجهزة إنترنت الأشياء (IoT) سوى جزء منها. قد تبدو هذه الخوادم في بيئة أكثر أمانًا من تلك المعرَّضة للجمهور، ولكن يمكن للمهاجمين إساءة استخدامها من خلال استخدام صفحة ويب كخادم وكيل. على سبيل المثال، يمكن للمواقع الإلكترونية الضارة تضمين عنوان URL يحاول تغيير إعدادات خادم نظام أسماء النطاقات على جهاز توجيه النطاق العريض المنزلي الخاص بالضحية، وذلك عندما تطلع الضحية على العنوان (على متصفح مفعّل فيه JavaScript). يُطلق على هذا النوع من الهجمات اسم "التسميم العابر"، وقد حدث في عام 2014. تم استغلال أكثر من 300,000 جهاز توجيه لاسلكي معرّض للخطر من خلال تغيير إعدادات نظام أسماء النطاقات (DNS) والسماح للمهاجمين بإعادة توجيه المستخدمين إلى خوادم ضارة.
CORS-RFC1918
للحدّ من خطر الهجمات المشابهة، يقدّم منتدى الويب CORS-RFC1918، وهو مشاركة موارد عناوين URL التابعة للنطاق نفسه (CORS) متخصّص للشبكات الخاصة المحدّدة في RFC1918.
تتحقّق المتصفحات التي تنفّذ CORS من الموارد المستهدَفة لمعرفة ما إذا كان مسموحًا بتحميلها من مصدر مختلف. ويتم ذلك إما باستخدام عناوين إضافية مضمّنة تصف عملية الوصول أو باستخدام آلية تُعرف باسم طلبات التحقّق المسبق، وذلك حسب درجة التعقيد. يمكنك الاطّلاع على مقالة مشاركة الموارد المشتركة النطاق لمزيد من المعلومات.
باستخدام CORS-RFC1918، سيحظر المتصفّح تلقائيًا تحميل الموارد عبر الشبكة الخاصة باستثناء الموارد التي يسمح بها الخادم بشكل صريح باستخدام سياسة مشاركة الموارد المتعدّدة المصادر (CORS) وعبر بروتوكول HTTPS. على الموقع الإلكتروني الذي يقدّم طلبات إلى هذه الموارد إرسال عناوين CORS، وعلى الخادم أن يوضّح صراحةً أنّه يقبل الطلب من مصدر خارجي من خلال الردّ باستخدام عناوين CORS المناسبة. (لا تزال عناوين CORS الدقيقة قيد التطوير).
سيُطلب من مطوّري هذه الأجهزة أو الخوادم إجراء ما يلي:
- تأكَّد من أنّ الموقع الإلكتروني الذي يرسل طلبات إلى شبكة خاصة يتم عرضه عبر HTTPS.
- إعداد دعم الخادم لـ CORS-RFC1918 والاستجابة باستخدام عناوين HTTP المتوقّعة
ما هي أنواع الطلبات المتأثرة؟
تشمل الطلبات المتأثرة ما يلي:
- الطلبات من شبكة Wi-Fi عامة إلى شبكة خاصة
- الطلبات من شبكة خاصة إلى شبكة محلية
- الطلبات من الشبكة العامة إلى الشبكة المحلية
شبكة خاصة
هي وجهة يتم تحديدها في مساحة العناوين الخاصة المحدّدة في القسم 3 من
RFC1918 في الإصدار الرابع من بروتوكول الإنترنت (IPv4)، أو عنوان الإصدار السادس من بروتوكول الإنترنت (IPv6) المرتبط بالإصدار الرابع من بروتوكول الإنترنت (IPv4)
يكون فيه عنوان الإصدار الرابع من بروتوكول الإنترنت (IPv4) المرتبط خاصًا، أو عنوان الإصدار السادس من بروتوكول الإنترنت (IPv6)
خارج الشبكات الفرعية ::1/128 و2000::/3 وff00::/8.
شبكة محلية
هي وجهة يتم تحديدها على أنّها مساحة "العنوان الحلقي" (127.0.0.0/8) المحدّدة في القسم 3.2.1.3 من RFC1122 لبروتوكول IPv4، أو مساحة "الرابط المحلي" (169.254.0.0/16) المحدّدة في RFC3927 لبروتوكول IPv4، أو بادئة "عنوان محلي فريد" (fc00::/7) المحدّدة في القسم 3 من RFC4193 لبروتوكول IPv6، أو بادئة "الرابط المحلي" (fe80::/10) المحدّدة في القسم 2.5.6 من RFC4291 لبروتوكول IPv6.
شبكة Wi-Fi عامة جميع الشبكات الأخرى
خطط Chrome لتفعيل CORS-RFC1918
سيتم طرح ميزة CORS-RFC1918 في Chrome على مرحلتَين:
الخطوة 1: لن يُسمح بالطلبات الموجّهة إلى موارد الشبكة الخاصة إلا من صفحات الويب التي تستخدم بروتوكول HTTPS
يضيف الإصدار 87 من Chrome علامة تفرض على المواقع الإلكترونية العامة التي تقدّم طلبات إلى موارد الشبكة الخاصة استخدام بروتوكول HTTPS. يمكنك الانتقال إلى about://flags#block-insecure-private-network-requests لتفعيلها. عند تفعيل هذا الخيار، سيتم حظر أي طلبات يتم إرسالها من موقع إلكتروني HTTP إلى أحد موارد الشبكة الخاصة.
اعتبارًا من الإصدار 88 من Chrome، سيتم تسجيل أخطاء CORS-RFC1918 كأخطاء في سياسة CORS في وحدة التحكّم.
في لوحة الشبكة ضمن "أدوات مطوّري البرامج في Chrome"، يمكنك وضع علامة في المربّع الطلبات المحظورة للتركيز على الطلبات المحظورة:
في الإصدار 87 من Chrome، يتم الإبلاغ عن أخطاء CORS-RFC1918 في "وحدة تحكّم أدوات مطوّري البرامج" فقط على النحو التالي: ERR_INSECURE_PRIVATE_NETWORK_REQUEST.
يمكنك تجربة ذلك بنفسك باستخدام هذا الموقع الإلكتروني التجريبي.
الخطوة 2: إرسال طلبات التحقّق المسبق باستخدام عنوان خاص
في المستقبل، عندما يحاول موقع إلكتروني عام جلب موارد من شبكة خاصة أو محلية، سيرسل Chrome طلبًا مسبقًا قبل الطلب الفعلي.
سيتضمّن الطلب عنوان Access-Control-Request-Private-Network: true بالإضافة إلى عناوين طلبات CORS الأخرى. تحدّد هذه العناوين، من بين أمور أخرى، المصدر الذي يقدّم الطلب، ما يتيح التحكّم الدقيق في إذن الوصول. يمكن أن يستجيب الخادم باستخدام عنوان Access-Control-Allow-Private-Network:
true للإشارة بوضوح إلى أنّه يمنح إذن الوصول إلى المورد.
نريد معرفة رأيك
إذا كنت تستضيف موقعًا إلكترونيًا ضمن شبكة خاصة تتوقّع تلقّي طلبات من شبكات عامة، يهمّ فريق Chrome معرفة ملاحظاتك وحالات الاستخدام. إليك إجراءَين يمكنك اتّخاذهما للمساعدة:
- انتقِل إلى
about://flags#block-insecure-private-network-requests، وفعِّل العلامة، وتحقّق مما إذا كان موقعك الإلكتروني يرسل طلبات إلى مورد الشبكة الخاصة على النحو المتوقّع. - إذا واجهت أي مشاكل أو كانت لديك ملاحظات، يمكنك الإبلاغ عن مشكلة على crbug.com وضبط المكوّن على
Blink>SecurityFeature>CORS>RFC1918.
مثال على الملاحظات
يوفّر جهاز التوجيه اللاسلكي موقعًا إلكترونيًا للمشرف على الشبكة الخاصة نفسها، ولكن من خلال HTTP. إذا كان HTTPS مطلوبًا للمواقع الإلكترونية التي تضمّن الموقع الإلكتروني للمشرف، سيكون المحتوى مختلطًا. هل علينا تفعيل HTTPS على موقع الويب الخاص بالإدارة في شبكة مغلقة؟
هذا هو بالضبط نوع الملاحظات التي يبحث عنها Chrome. يُرجى الإبلاغ عن مشكلة تتضمّن حالة الاستخدام المحدّدة على crbug.com. يسرّ فريق Chrome تلقّي ملاحظاتك.