كُشف في يناير 2019 عن ثغرة خطيرة في ميزة مكالمات الفيديو الجماعية عبر FaceTime من آبل، كانت تتيح للمهاجم بدء مكالمة جماعية والتنصت على الطرف المستهدف، وذلك بمجرد إضافة رقم هاتفه كطرف ثالث في المحادثة، حتى قبل أن يجيب على المكالمة الواردة.
اعتُبرت هذه الثغرة بالغة الخطورة، ما دفع شركة آبل إلى تعطيل ميزة مكالمات الفيديو الجماعية في FaceTime مؤقتًا، قبل أن تُعالج المشكلة في تحديث لاحق لنظام iOS.
منذ ذلك الحين، جرى اكتشاف عدد من الثغرات المماثلة في تطبيقات دردشة الفيديو المختلفة، بما في ذلك Signal وJioChat وMocha وGoogle Duo وFacebook Messenger، وذلك بفضل جهود الباحثة الأمنية في فريق Google Project Zero، ناتالي سيلفانوفيتش.
وأوضحت سيلفانوفيتش في تقريرها المنشور يوم الثلاثاء، والذي استعرض نتائج تحقيق استمر لمدة عام:
> “رغم أن ثغرة FaceTime جرى إصلاحها بسرعة، فإن حقيقة أن خللًا منطقيًا في آلية إدارة حالة الاتصال تسبب في ظهور ضعف خطير وسهل الاستغلال، وهو سيناريو لم أصادفه من قبل على أي منصة، دفعني للتساؤل عما إذا كانت آليات الاتصال الأخرى تعاني من نقاط ضعف مشابهة.”
كيف تعمل الإشارة في WEBRTC؟
على الرغم من أن غالبية تطبيقات المراسلة اليوم تعتمد على WEBRTC للتواصل ، إلا أن الاتصالات نفسها يتم إنشاؤها عن طريق تبادل معلومات إعداد المكالمات باستخدام بروتوكول الوصف للجلسة (SDP) بين أقرانهم في ما يسمى الإشارة ، والتي تعمل عادةً عن طريق إرسال عرض SDP من نهاية المتصل ، والذي يستجيب إليه Callee بإجابة SDP.
بعبارة أخرى ، عندما يبدأ المستخدم مكالمة WEBRTC إلى مستخدم آخر ، يتم إنشاء وصف للجلسة يسمى “عرض” يحتوي على جميع المعلومات اللازمة لإعداد اتصال – نوع الوسائط التي يتم إرسالها ، تنسيقه ، بروتوكول النقل المستخدم ، وعنوان IP الخاص بنقطة النهاية ، من بين أمور أخرى. يستجيب المستلم بعد ذلك بـ “إجابة” ، بما في ذلك وصف لنقطة النهاية.
العملية برمتها آلة الدولةمما يشير إلى “حيث في عملية الإشارة إلى تبادل العرض والإجابة على الاتصال حاليًا”.
كما يتم تضمين اختياري كجزء من تبادل العرض/الإجابة هو قدرة الزائدين على التجارة المرشحين SDP لبعضها البعض من أجل التفاوض على العلاقة الفعلية بينهما. إنه يشرح التفاصيل بين الطرق التي يمكن استخدامها للتواصل ، بغض النظر عن طوبولوجيا الشبكة – إطار عمل WEBRTC يسمى إنشاء التوصيل التفاعلي (الجليد).
بمجرد أن يتفق الأقران على مرشح متوافق معاً للطرفين ، يتم استخدام SDP للمرشح من قبل كل نظير لبناء وفتح اتصال ، ثم تبدأ الوسائط في التدفق.
وبهذه الطريقة ، يشارك كلا الجهازين مع بعضهما البعض المعلومات اللازمة لتبادل الصوت أو الفيديو عبر اتصال نظير إلى نظير. ولكن قبل أن يحدث هذا التتابع ، يجب إرفاق بيانات الوسائط التي تم التقاطها بالاتصال باستخدام ميزة تسمى المسارات.
على الرغم من أنه من المتوقع ضمان موافقة Callee قبل نقل الصوت أو الفيديو وأنه لا يتم مشاركة أي بيانات حتى يتفاعل المتلقي مع التطبيق للرد على المكالمة (أي قبل إضافة أي مسارات إلى الاتصال) ، لاحظ Silvanovich السلوك على عكس ذلك.
تتأثر تطبيقات المراسلة المتعددة
لم تسمح العيوب الموجودة في التطبيقات بتوصيل المكالمات دون تفاعل من Callee ، ولكن من المحتمل أيضًا أن تسمح للمتصل بإجبار جهاز Callee على نقل بيانات الصوت أو الفيديو.
السبب الجذري الشائع؟ الأخطاء المنطقية في آلات حالة الإشارة ، والتي قال سيلفانوفيتش “هي سطح هجوم مقلق ومثابر لتطبيقات مؤتمرات الفيديو.”
- إشارة (تم إصلاحه في سبتمبر 2019) – مكّن عيب مكالمة صوتية في تطبيق Android في Signal من المتصل من سماع محيط Callee نظرًا لحقيقة أن التطبيق لم يتحقق مما إذا كان الجهاز الذي يتلقى رسالة الاتصال من Callee كان جهاز المتصل.
- Jiochat (ثابت في يوليو 2020) و موكا (تم إصلاحه في أغسطس 2020) – إضافة مرشحين إلى العروض التي أنشأتها تطبيقات Reliance Jiochat و Viettel Mocha Android التي سمحت للمتصل بإجبار الجهاز المستهدف على إرسال الصوت (والفيديو) دون موافقة المستخدم. نشأت العيوب من حقيقة أن اتصال نظير إلى نظير قد تم إعداده حتى قبل أن يجيب Callee على المكالمة ، وبالتالي زيادة “سطح الهجوم البعيد لـ WEBRTC”.
- رسول الفيسبوك (تم إصلاحه في نوفمبر 2020) – الضعف الذي كان يمكن أن يمنح مهاجمًا تم تسجيل الدخول إلى التطبيق لبدء مكالمة في وقت واحد ويرسل رسالة مصنوعة خصيصًا إلى هدف تم تسجيل الدخول إلى كل من التطبيق وكذلك عميل رسول آخر مثل متصفح الويب ، والبدء في تلقي الصوت من جهاز Callee.
- جوجل الثنائي (تم إصلاحه في ديسمبر 2020) – شرط سباق بين تعطيل الفيديو وإعداد الاتصال الذي قد يتسبب في تسرب Callee في بعض المكالمات التي لم تتم الإجابة عليها في بعض الحالات.
تم العثور على تطبيقات المراسلة الأخرى مثل Telegram و Viber ليس لها أي من العيوب المذكورة أعلاه ، على الرغم من أن Silvanovich أشار إلى أن التحديات الهندسية العكسية الكبيرة عند تحليل Viber جعل التحقيق “أقل صرامة” من الآخرين.
وخلص سيلفانوفيتش إلى أن “غالبية أجهزة الاتصال التي قمت بالتحقيق فيها كانت لها نقاط ضعف منطقية سمحت بنقل محتوى الصوت أو الفيديو من Callee إلى المتصل دون موافقة Callee”. “من الواضح أن هذا مجال يتم تجاهله غالبًا عند تأمين تطبيقات WEBRTC.”
وأضافت: “لا يبدو أن غالبية الأخطاء بسبب سوء فهم مطورات ميزات WEBRTC. وبدلاً من ذلك ، كانت بسبب أخطاء في كيفية تنفيذ آلات الدولة. ومع ذلك ، كان من المحتمل أن يكون الوعي بالوعي بهذه الأنواع من القضايا عاملاً”.
“من المفترض أيضًا أن نلاحظ أنني لم أنظر إلى أي ميزات تدعو إلى هذه التطبيقات ، وقد تم العثور على جميع نقاط الضعف المبلغ عنها في مكالمات الأقران.