
يصف هذا المستودع ثغرة أمنية تؤثر على عملية الاقتران القائمة على رمز الاستجابة السريعة (QR code) في أجهزة eWeLink الخاصة بإنترنت الأشياء (CVE-2020-12702).
يسمح الوصول غير المقيّد عبر الويب إلى مفتاح التشفير الخاص بالجهاز في وضع الاقتران عبر رمز الاستجابة السريعة (QR) في تطبيق eWeLink للهاتف المحمول (حتى الإصدار 4.9.2 على Android وحتى الإصدار 4.9.1 على iOS) لمهاجم قريب فيزيائيًا بالتنصت على بيانات اعتماد Wi-Fi وغيرها من المعلومات الحساسة من خلال مراقبة طيف Wi-Fi أثناء عملية اقتران الجهاز.
من منظور المستخدم، تعمل عملية الاقتران المعتمدة على رمز الاستجابة السريعة (QR) بين جهاز إنترنت الأشياء (IoT) وشبكة WiFi الخاصة بالمستخدم، عبر تطبيق eWeLink، على النحو التالي:
تقوم ملصقات رمز الاستجابة السريعة (QR) المرفقة مع جهاز مدعوم (Sonoff Micro من ITEAD) بترميز عنوان URL التالي https://api.coolkit.cn:8080/add-ap-device?brand=ewelink\&ssid=ITEAD-device_id، حيث:
خلال الخطوة الأولى، يتصل التطبيق بنقطة النهاية eu-api.coolkit.cc:8080/api/user/fdbaseinfo?deviceid=device_id&other_parameters، والتي يسترجع منها المفتاح السري للجهاز إلى جانب معلومات أخرى عن الجهاز. وفقًا للتدفق الموصوف أعلاه، تُرجع الخدمة التي يستدعيها التطبيق مفتاحًا يُستخدم بعد ذلك لتشفير (باستخدام خوارزمية AES) بيانات اعتماد WiFi الخاصة بالمستخدم قبل إرسالها إلى جهاز إنترنت الأشياء عبر شبكة WiFi الخاصة بنقطة الوصول البرمجية المخصصة (softAP).
يتم إرسال رسالة JSON مشفرة عبر طلب HTTP POST إلى خادم HTTP المفتوح للجهاز.
ترد الحمولة الأصلية بالبنية الموضحة أدناه:
{"ssid" : "Test-Network", "password" : "Test-Password", "serverName" : "eu-disp.coolkit.cc", "port" : 443}
حيث إن المعلمتين "Test-Network" و"Test-Password" هما بيانات اعتماد الشبكة التي اخترناها لإعداد بيئة الاختبار الخاصة بنا، وeu-disp.coolkit.cc هي المنصة السحابية التي تخدم المنطقة الأوروبية.
أجرينا اختبارات مختلفة، ولاحظنا أنه أثناء عملية الاقتران يمكن لأي شخص قريب من نقطة الوصول البرمجية (soft AP) استرجاع معلمة device_id، لأنها جزء من SSID الخاص بشبكة WiFi الخاصة بنقطة الوصول البرمجية للجهاز. لاسترجاع المفتاح السري لجهاز معين، تحتاج فقط إلى:
ونتيجة لذلك، بمجرد معرفة معرّف الجهاز، يمكن استرجاع المفتاح السري المقابل للجهاز بسهولة. يمكّن هذا مستخدمًا ضارًا قريبًا من التقاط بيانات اعتماد WiFi الخاصة بالمستخدم عبر التنصت على رسالة التكوين المرسلة من هاتف المستخدم الذكي إلى جهاز إنترنت الأشياء. لاحظ أن شبكة WiFi الخاصة بنقطة الوصول البرمجية (softAP) للجهاز مفتوحة وغير محمية افتراضيًا، لذا فإن التنصت ممكن. بعد استرجاع المفتاح السري من الخدمات السحابية (إلى جانب معلمة device_id المعروفة مسبقًا)، يمكن للمستخدم الضار فك تشفير رسالة التكوين واستخراج بيانات اعتماد WiFi الخاصة بالمستخدم. ونتيجة لذلك، يتم اختراق شبكة المنزل بالكامل للعميل.
تم اختبار هذه الثغرة باستخدام إصدارات Android (v4.11.0 والإصدارات الأقدم) وiOS (v4.9.1 والإصدارات الأقدم) من تطبيق eWeLink للهاتف المحمول.
[1] Daniele Granata، وMassimiliano Rak، وGiovanni Salzillo، وUmberto Barbato. "الأمن في بروتوكولات الاقتران والمصادقة في إنترنت الأشياء، نموذج تهديد وتحليل دراسة حالة"، ITASEC 2021.
MIT