الحدّ من المخاطر المرتبطة بالتعرّض غير المقصود للأجهزة والخوادم على الشبكة الداخلية للعميل للويب بشكل عام
منذ فترة طويلة، تشكّل المواقع الإلكترونية الضارّة التي تقدّم طلبات إلى الأجهزة والخوادم المستضافة على شبكة خاصة تهديدًا. على سبيل المثال، قد يغيّر المهاجمون إعدادات جهاز التوجيه اللاسلكي لتفعيل هجمات Man-in-the-Middle. CORS-RFC1918 هو اقتراح لحظر هذه الطلبات تلقائيًا في المتصفّح ومطالبة الأجهزة الداخلية بالموافقة على الطلبات الواردة من الشبكة العامة.
لفهم مدى تأثير هذا التغيير في المنظومة المتكاملة للويب، يبحث فريق Chrome عن ملاحظات من المطوّرين الذين يبنون خوادم للشبكات الخاصة.
ما هي المشكلة في الوضع الحالي؟
يتم تشغيل العديد من خوادم الويب ضمن شبكة خاصة، وتشمل هذه الشبكة أجهزة التوجيه اللاسلكي والطابعات والمواقع الإلكترونية على الإنترانت وخدمات المؤسسات وأجهزة إنترنت الأشياء (IoT). قد يبدو أنّها في بيئة أكثر أمانًا من تلك المعروضة للجميع، ولكن يمكن للمهاجمين إساءة استخدام هذه الخوادم باستخدام صفحة ويب كخادم وكيل. على سبيل المثال، يمكن للمواقع الإلكترونية الضارّة تضمين عنوان URL يحاول تغيير إعدادات خادم نظام أسماء النطاقات على جهاز التوجيه المنزلي للضحية عندما يعرضه الضحية (على متصفّح مزوّد بخدمة JavaScript) فقط. يُعرف هذا النوع من الهجمات باسم "التضليل عن طريق الصيد التلقائي" وحدث في عام 2014. تم استغلال أكثر من 300,000 جهاز توجيه لاسلكي معرّض للاختراق من خلال تغيير إعدادات نظام أسماء النطاقات (DNS) وعدم السماح للمهاجمين بإعادة توجيه المستخدمين إلى خوادم ضارة.
CORS-RFC1918
للحدّ من تهديد الهجمات المشابهة، يقدّم منتدى الويب CORS-RFC1918، وهو بروتوكول مشاركة الموارد المتعدّدة المصادر (CORS) المخصّص للشبكات الخاصة المحدّدة في RFC1918.
تتحقّق المتصفّحات التي تُنفّذ سياسة مشاركة الموارد المشتركة المنشأ (CORS) من موارد المحتوى المستهدفة وما إذا كان من المقبول تحميلها من مصدر مختلف. ويتمّ تنفيذ ذلك إما باستخدام عناوين إضافية مضمّنة تصف إذن الوصول أو باستخدام آلية تُعرف باسم طلبات التحقّق من الإعدادات، وذلك استنادًا إلى مستوى التعقيد. يمكنك الاطّلاع على مشاركة الموارد المشتركة النطاق لمزيد من المعلومات.
باستخدام CORS-RFC1918، سيحظر المتصفّح loading resources over the private network تلقائيًا باستثناء تلك التي يسمح بها الخادم صراحةً باستخدام CORS ومن خلال HTTPS. على الموقع الإلكتروني الذي يقدّم طلبات إلى هذه الموارد إرسال عناوين CORS وعلى الخادم التأكيد صراحةً على قبول طلب الموارد من مصادر متعددة من خلال الردّ باستخدام عناوين CORS المقابلة. (لا تزال رؤوس CORS الدقيقة قيد التطوير).
سيُطلب من مطوّري هذه الأجهزة أو الخوادم إجراء أمرَين:
- تأكَّد من أنّ الموقع الإلكتروني الذي يُرسل طلبات إلى شبكة خاصة يتم عرضه من خلال بروتوكول بروتوكول HTTPS.
- إعداد دعم الخادم لـ CORS-RFC1918 والاستجابة باستخدام عناوين HTTP المتوقّعة
ما هي أنواع الطلبات المتأثرة؟
تشمل الطلبات المتأثرة ما يلي:
- الطلبات الواردة من الشبكة العامة إلى شبكة خاصة
- الطلبات الواردة من شبكة خاصة إلى شبكة محلية
- الطلبات الواردة من الشبكة العامة إلى شبكة محلية
شبكة خاصة:
وجهة يتمّ حلّها إلى مساحة العناوين الخاصة المحدّدة في القسم 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.
شبكة عامة جميع الشبكات الأخرى

خطط Chrome لتفعيل مشاركة الموارد المتعدّدة المصادر (CORS) وفقًا لمعيار RFC1918
يقدّم Chrome ميزة CORS-RFC1918 على مرحلتَين:
الخطوة 1: لن يُسمح بطلبات الوصول إلى موارد الشبكة الخاصة إلا من صفحات الويب التي تستخدم بروتوكول HTTPS
يضيف الإصدار 87 من Chrome علامة تفرض على المواقع الإلكترونية العامة التي تقدّم طلبات إلى موارد الشبكات الخاصة استخدام بروتوكول HTTPS. يمكنك الانتقال إلى
about://flags#block-insecure-private-network-requests
لتفعيلها. عند تفعيل
هذا الخيار، سيتم حظر أي طلبات متعلّقة بمورد شبكة خاصة من موقع إلكتروني يستخدم بروتوكول HTTP.
اعتبارًا من الإصدار Chrome 88، سيتم الإبلاغ عن أخطاء 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.
الصورة الرئيسية لأحد أعمال ستيفن فيليبس على Unsplash.