
यह रिपॉज़िटरी eWeLink IoT उपकरणों की QR कोड आधारित पेयरिंग प्रक्रिया को प्रभावित करने वाली एक भेद्यता (CVE-2020-12702) का वर्णन करती है।
eWeLink मोबाइल एप्लिकेशन (Android पर 4.9.2 तक और iOS पर 4.9.1 तक) में QR कोड पेयरिंग मोड में डिवाइस के निजी एन्क्रिप्शन कुंजी तक असीमित वेब पहुंच, एक शारीरिक रूप से निकटवर्ती हमलावर को डिवाइस पेयरिंग प्रक्रिया के दौरान Wi-Fi स्पेक्ट्रम की निगरानी करके Wi-Fi क्रेडेंशियल्स और अन्य संवेदनशील जानकारी को सुनने की अनुमति देती है।
उपयोगकर्ता के दृष्टिकोण से, eWeLink एप्लिकेशन के माध्यम से IoT डिवाइस और उपयोगकर्ता के WiFi के बीच QR कोड-आधारित पेयरिंग प्रक्रिया निम्नानुसार कार्य करती है:
एक समर्थित डिवाइस (ITEAD का Sonoff Micro) के साथ आपूर्ति किया गया QR कोड लेबल निम्नलिखित 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 एंडपॉइंट से कनेक्ट होता है, जिससे यह अन्य डिवाइस जानकारी के साथ डिवाइस की गुप्त-कुंजी प्राप्त करता है। ऊपर वर्णित प्रवाह के अनुसार, एप्लिकेशन द्वारा आहूत सेवा एक कुंजी लौटाती है जिसका उपयोग समर्पित softAP WiFi नेटवर्क के माध्यम से IoT डिवाइस को भेजने से पहले उपयोगकर्ता के WiFi क्रेडेंशियल्स को एन्क्रिप्ट करने (AES एल्गोरिथ्म का उपयोग करके) के लिए किया जाता है।
एक एन्क्रिप्टेड JSON संदेश खुले डिवाइस HTTP सर्वर पर एक HTTP POST अनुरोध के माध्यम से भेजा जाता है।
मूल पेलोड नीचे रिपोर्ट की गई संरचना का अनुसरण करता है:
{"ssid" : "Test-Network", "password" : "Test-Password", "serverName" : "eu-disp.coolkit.cc", "port" : 443}
जहां "Test-Network" और "Test-Password" पैरामीटर हमारे टेस्टबेड कॉन्फ़िगरेशन के लिए चुनी गई नेटवर्क क्रेडेंशियल्स हैं, और eu-disp.coolkit.cc यूरोपीय क्षेत्र की सेवा करने वाला क्लाउड प्लेटफॉर्म है।
हमने विभिन्न परीक्षण चलाए, और हमने देखा कि पेयरिंग प्रक्रिया के दौरान WiFi सॉफ्ट AP के पास कोई भी व्यक्ति device_id पैरामीटर प्राप्त कर सकता है, क्योंकि यह डिवाइस के softAP WiFi SSID का हिस्सा है। किसी विशेष डिवाइस की गुप्त-कुंजी प्राप्त करने के लिए आपको केवल आवश्यकता है:
परिणामस्वरूप, केवल एक डिवाइस आईडी जानकर, संबंधित डिवाइस की गुप्त कुंजी आसानी से प्राप्त की जा सकती है। यह पास के दुर्भावनापूर्ण उपयोगकर्ता को उपयोगकर्ता के स्मार्टफोन द्वारा IoT डिवाइस पर प्रेषित कॉन्फ़िगरेशन संदेश को सुनकर उपयोगकर्ता के WiFi क्रेडेंशियल्स को हथियाने में सक्षम बनाता है। ध्यान दें कि डिवाइस का softAP WiFi डिफ़ॉल्ट रूप से खुला और असुरक्षित है, इसलिए सुनना संभव है।
क्लाउड सेवाओं से गुप्त कुंजी प्राप्त करने के बाद (पहले से ज्ञात device_id पैरामीटर के साथ), दुर्भावनापूर्ण उपयोगकर्ता कॉन्फ़िगरेशन संदेश को डिक्रिप्ट कर सकता है और उपयोगकर्ता के WiFi क्रेडेंशियल्स निकाल सकता है। परिणामस्वरूप, ग्राहक का पूरा होम नेटवर्क से समझौता हो जाता है।
यह भेद्यता eWeLink मोबाइल एप्लिकेशन के Android (v4.11.0 और पहले) और iOS (v4.9.1 और पहले) संस्करणों के साथ परीक्षण की गई है।
[1] Daniele Granata, and Massimiliano Rak, and Giovanni Salzillo, and Umberto Barbato. "Security in IoT Pairing & Authentication protocols, a Threat Model and a Case Study Analysis", ITASEC 2021.
MIT