- ESP32-आधारित स्मार्ट होम डिवाइस को reverse engineering करके Home Assistant के साथ integrate किया गया
- मोबाइल ऐप का विश्लेषण करके cloud server के साथ इसके connection की पुष्टि की गई
- network traffic intercept करके डिवाइस control करने की कोशिश की गई
- ESP32 flash को dump और analyze करके firmware modification की कोशिश की गई
- packet structure का विश्लेषण करके encryption और checksum को समझा गया
परिचय
- हाल में Home Assistant से सभी डिवाइस जोड़ने की कोशिश की जा रही है
- एक खास air purifier केवल अपने ऐप से ही connect होता है, इसलिए उसे hack करके integrate करने की कोशिश की गई
- internet connection और cloud account पर निर्भर प्रोडक्ट्स की समस्याओं की ओर इशारा किया गया
योजना
- यह पुष्टि की गई कि मोबाइल ऐप cloud server से connect होता है और remote control संभव बनाता है
- network traffic intercept करके डिवाइस को control करने के तरीके तलाशे गए
मोबाइल ऐप विश्लेषण
- Android ऐप का विश्लेषण करके पुष्टि की गई कि यह React Native में विकसित किया गया है
- यह पाया गया कि यह WebSocket के जरिए cloud server से connect होता है
नेटवर्क जांच
- Pi-hole का उपयोग करके DNS queries की जांच की गई और Wireshark से traffic analyze किया गया
- UDP packets के जरिए डिवाइस और server के बीच communication की पुष्टि की गई
पैकेट विश्लेषण
- UDP proxy का उपयोग करके डिवाइस और cloud server के बीच traffic relay किया गया
- Wireshark से packet structure का विश्लेषण किया गया और encryption की संभावना की पुष्टि की गई
भौतिक डिसअसेंबली
- ESP32-आधारित डिवाइस को खोलकर flash chip से firmware dump किया गया
- esptool का उपयोग करके serial connection के जरिए डेटा पढ़ा गया
फ्लैश विश्लेषण
- esp32knife का उपयोग करके flash डेटा analyze किया गया और partition table की पुष्टि की गई
- FAT file system में महत्वपूर्ण files पाई गईं
प्रारंभिक static analysis
- Ghidra का उपयोग करके firmware strings का विश्लेषण किया गया और encryption library के उपयोग की पुष्टि की गई
- mbedtls library का उपयोग करके ECDH और HKDF algorithm implement किए गए
फर्मवेयर संशोधन
- Ghidra के जरिए CapSense feature को disable किया गया और firmware modify करके डिवाइस को boot कराया गया
- checksum समस्या को हल करके modified firmware को सफलतापूर्वक flash किया गया
पैकेट हेडर
- packet header की संरचना का विश्लेषण करके serial number और message identifier की पुष्टि की गई
- client request और server response के pattern को समझा गया
पैकेट checksum
- CRC checksum की पुष्टि करके packet data की integrity verify की गई
1 टिप्पणियां
Hacker News राय
दीर्घकालिक समाधान यह है कि ऐसे घरेलू उत्पाद न खरीदे जाएँ जो local control को नज़रअंदाज़ करते हों
air purifier का indoor air quality गिरने पर अपना operation बढ़ाना किसी IoT device, app, wireless communication, hub की माँग नहीं करता
ESP32-आधारित IoT device विक्रेताओं के लिए:
ESP32-आधारित IoT device मालिकों के लिए:
यह जानने की जिज्ञासा है कि device के board पर कौन-से pins जुड़े हैं, और क्या इसे ESPHome के साथ पूरी तरह flash करके custom yaml configuration लिखा जा सकता है
जब भी मैं IoT device design team में रहा, security-केंद्रित engineer boot protection संभालता था
लेख पर feedback:
यह जानने की जिज्ञासा है कि standardized solution का उपयोग क्यों नहीं किया गया
ESP32 IoT devices में firmware encryption का उपयोग कम ही देखा है
service engineers द्वारा DTLS जैसे standard protocol को implement न करने के फ़ैसले पर राय
smart devices इस्तेमाल करने वालों को DD-WRT, OpenWrt, Tomato, Asuswrt-Merlin का उपयोग करके devices को personal network से अलग VLAN में isolate करना चाहिए
खरीदे गए product का इस्तेमाल करने के लिए hacking की ज़रूरत नहीं होनी चाहिए