يتيح هجوم MarioNET للمتسللين التحكم في متصفحك ، حتى بعد مغادرة صفحة الهجوم

لقد أدى ظهور تقنيات الويب إلى فتح إمكانيات جديدة على الإنترنت. أصبحت المتصفحات أكثر قوة مع هبوط واجهات برمجة التطبيقات الجديدة وتقديم دعم لبعض الميزات.

يبرز الهجوم الجديد ، الذي يطلق عليه MarioNET من قبل الباحثين الذين اكتشفوه ، أن واجهات برمجة التطبيقات قد يتم إساءة استخدامها أيضًا في حالة عدم وجود ضمانات مناسبة (كما هو الحال الآن).

يعتمد الهجوم على واجهات برمجة التطبيقات HTML5 الموجودة التي تدعمها جميع متصفحات الويب الحديثة. لا يتطلب تثبيت البرنامج أو تفاعل المستخدم ، ويستمر حتى بعد أن يترك المستخدم صفحة الويب التي نشأ فيها الهجوم.

قد يهاجم المهاجم موارد الكمبيوتر لجميع أنواع الأنشطة بما في ذلك هجمات DDOS أو عمليات استخراج التشفير أو تكسير كلمة المرور.

تحديث : تجد صوتًا حرجًا يناقض السيناريو الموضح في ورقة البحث هنا. تتمثل نقطة النقد الرئيسية في أن طريقة الهجوم تعتمد على ميزة تسمى PeriodicSync وأنها ليست جزءًا من أي مواصفات في هذه المرحلة. النهاية

يستخدم MarioNET عمال الخدمة ، والبرامج النصية التي تعمل منفصلة عن صفحات الويب التي تمت زيارتها وفي الخلفية ، في الهجوم. تتمثل الفكرة الرئيسية وراء "عمال الخدمة" في نقل بعض العمليات الحسابية إلى سلسلة رسائل منفصلة بحيث لا يقوم بحظر أو إبطاء التطبيق أو صفحة الويب التي يتفاعل معها المستخدم.

دورة حياة عمال الخدمة مستقلة تمامًا عن الصفحة التي تم إنشاؤها عليها. لا يمكن لعمال الخدمة الوصول إلى DOM (نموذج كائن المستند) لصفحة الويب ومتغيرات ووظائف الصفحة الرئيسية.

يؤدي استخدام "عمال الخدمة" إلى عزل النظام عن موقع الويب الأصلي ، ويمنح التحكم المستمر للمهاجم ، ويجعل من الصعب على المستخدمين اكتشاف ما يجري.

على وجه الخصوص ، يحقق نظامنا ثلاثة أهداف مهمة:

(1) العزلة عن الموقع الإلكتروني الذي تمت زيارته ، مما يتيح التحكم الدقيق في الموارد المستخدمة ؛ (ii) المثابرة ، من خلال مواصلة عملها دون انقطاع على الخلفية حتى بعد إغلاق علامة التبويب الأصل ؛ و (iii) التهرب ، وتجنب الكشف بواسطة ملحقات المستعرض التي تحاول مراقبة نشاط صفحة الويب أو الاتصالات الصادرة.

تقوم MarioNET بتسجيل أحد موظفي الخدمة عندما يزور المستخدم هجمات صفحة ويب يمكن أن تنشأ. تتضمن إمكانيات نشر الهجوم إنشاء مواقع ضارة أو اختراق مواقع أو استخدام إعلانات.

توفر المتصفحات معلومات قليلة للمستخدمين حول عمال الخدمة ؛ في الواقع ، لا تبرز المتصفحات إنشاء عمال خدمة جدد على مواقع للمستخدمين. لا يوجد تنبيه ولا موجه ولا حتى خيار لعرض مطالبة لطلب إذن المستخدم عند إنشاء العاملين في الخدمة.

الطلب الوحيد الذي يكشف عن وجود عامل خدمة هو طلب GET الأولي في وقت زيارة المستخدم الأولى للموقع ، عندما يتم تسجيل عامل الخدمة في البداية. على الرغم من أن GET أثناء طلب GET يمكنه مراقبة محتويات عامل الخدمة ، إلا أنه لن يلاحظ أي رمز مشبوه - يتم تسليم الرمز الذي سينفذ المهام الخبيثة إلى الخادم فقط بعد اتصاله الأول مع Puppeteer ، و هذا الاتصال مخفي عن ملحقات المتصفح

ما يجعل MarioNET مقلقًا بشكل خاص هو أنه يستمر في العمل في الخلفية بعد إغلاق المستخدم لموقع الويب الذي نشأ فيه الهجوم. ينتهي عنصر التحكم عند إغلاق مستعرض الويب ؛ وجد الباحثون طريقة للتغلب على هذا أيضًا ، ولكنه يتطلب تفاعل المستخدم لأنه يستخدم واجهة برمجة تطبيقات Web Push للقيام بذلك.

حماية

تتضمن معظم المتصفحات الحديثة خيارات لعرض "عمال الخدمة" الحاليين. قد يقوم مستخدمو Firefox بالتحميل حول: عمال الخدمة أو حول: تصحيح الأخطاء # ويمكن لمستخدمي Chrome تحميل chrome: // serviceworker-internals / للقيام بذلك.

يمكنك إلغاء تسجيل أي عامل صيانة باستخدام الوظيفة المتوفرة في هذه الصفحات. قد يقوم مستخدمو Firefox بتعطيل "عمال الخدمة" كليًا.

لاحظ أن هذا قد يؤثر على الوظائف على المواقع التي تستخدمها لأغراض مشروعة. تحتاج إلى تعيين تفضيل dom.serviceWorkers.enabled على false على: config.

تقوم بعض ملحقات المستعرض ، مثل Service Worker Detector for Chrome و Firefox ، بإشعار المستخدمين عندما تسجل صفحة الويب عامل خدمة.

أنت الآن : هل يجب على مطوري المتصفح تطبيق إجراءات وقائية إضافية؟ (عبر ZDNet)