PowerScan
AR

تسرّب WebRTC: لماذا قد يظهر عنوانك الحقيقي حتى خلف بروكسي

بصمات المتصفح · القراءة: 5 دقيقة · بقلم PowerScan

الصورة: Unsplash

وُجد WebRTC ليتحدث المتصفحان مباشرة أحدهما إلى الآخر في المكالمات ومشاركة الشاشة. ولفعل ذلك يحتاجان إلى اكتشاف العناوين التي يمكن الوصول إليهما عليها، وعملية الاكتشاف هذه هي ما يشير إليه «تسرّب WebRTC».

مرشحات ICE في فقرة واحدة

عندما تنشئ صفحة RTCPeerConnection وتبدأ عرضًا، يجمع المتصفح مرشحات: طرقًا يستطيع بها نظير آخر الوصول إليه. المرشح المضيف (host) هو عنوان واجهة محلية. والمرشح المنعكس عن الخادم (srflx) هو العنوان العام الذي رأى خادم STUN الطلب قادمًا منه. أما مرشح الترحيل (relay) فهو عنوان خادم TURN. يُسلَّم كل مرشح إلى الصفحة في سطر نصي يحتوي العنوان، وبهذا يستطيع نص برمجي قراءته، دون إجراء أي مكالمة.

أين يقع التسرّب

مرشح srflx هو المهم. وللحصول عليه يرسل المتصفح حزمة UDP صغيرة إلى خادم STUN، فيرد بالعنوان الذي رآه. إذا مرّت حركة HTTP عبر بروكسي ولم تمر حركة UDP، فإن خادم STUN يرى اتصالك الحقيقي، وتصبح لدى الصفحة الآن عنوان يتعارض مع العنوان الذي رآه خادم الويب. هذا التعارض هو التسرّب الكلاسيكي. يمكن لصفحة تشخيص أن تُظهره بالمقارنة بين الاثنين.

لاحظ ما يحدث وما لا يحدث. لا تُلتقط أي وسائط. ولا يتدخل إذن ميكروفون أو كاميرا. تذهب الحزمة إلى أي خادم STUN سمّته الصفحة، فيرى ذلك الخادم عنوانك، كأي خادم تتصل به.

ما الذي غيّرته المتصفحات

كانت المرشحات المضيفة تكشف عناوين الشبكة المحلية الخاصة مثل 192.168.1.23، وكانت مفيدة في أخذ بصمة شبكة منزلية. تستبدلها المتصفحات الحديثة بأسماء mDNS عشوائية تنتهي بـ.local، فترى الصفحة اسمًا مبهمًا لا عنوانًا. وعندما يذكر تشخيص «مخفي بواسطة المتصفح» فهو يصف هذه. كما يوفّر Firefox وBrave إعدادات تمنع جمع المرشحات خارج البروكسي، وبعض الإضافات تحجب WebRTC كليًا.

إعدادات آمنة مع البروكسي

ثلاثة مناهج تعمل، بتكاليف مختلفة. تعطيل WebRTC يمنع التسرّب ويكسر كل موقع يحتاجه. إجبار WebRTC على استخدام مسار البروكسي فقط (وضع «الآمن مع البروكسي» في بعض المتصفحات) يُبقي المكالمات تعمل عندما يدعم البروكسي UDP أو TURN، وإلا لا ينتج أي مرشح عام. أما ترك WebRTC يتصرف بشكل طبيعي فلا يصح إلا عندما يحمل البروكسي كل الحركة، كما يفعل VPN على مستوى النظام عادةً.

أيها الصحيح يعتمد على المهمة. بالنسبة لملف تعريف متصفح معزول يجب أن يظهر في مكان واحد، القاعدة بسيطة: العنوان الذي يكشفه WebRTC يجب أن يكون هو العنوان الذي يراه خادم الويب، أو لا عنوان إطلاقًا. أي شيء آخر تناقض يستطيع الموقع ملاحظته دون أي أدوات خاصة.

قراءة النتيجة

يعرض التشخيص المرشحات التي رصدها خلال بضع ثوانٍ، ويقارن أي مرشح عام بالعنوان الذي وُصل منه إلى الصفحة. «لا شيء مكشوف» مع بعض المرشحات المخفية نتيجة طبيعية وسليمة لمتصفح يُبقي WebRTC داخل البروكسي. أما العنوان العام المختلف عن عنوان الصفحة فهو ما يجب إصلاحه.

جميع المقالات · شغّل الفحص