ESP32 पर Wi‑Fi को आज़ाद करना [वीडियो]
(media.ccc.de)- ESP32 इतना आम है कि शायद सिर्फ CCH में ही इसकी हज़ारों यूनिट इस्तेमाल हो रही हों, लेकिन इसका मुख्य Wi‑Fi स्टैक क्लोज़्ड-सोर्स है, इसलिए उसमें बदलाव और ऑडिट करना मुश्किल है
- 38c3 सत्र Wi‑Fi peripheral reverse engineering से शुरू होकर open source Wi‑Fi स्टैक बनाने की प्रक्रिया को कवर करता है
- लक्ष्य सिर्फ एक वैकल्पिक implementation बनाना नहीं, बल्कि संवेदनशील डेटा संभालने वाले software को खुद verify और fix कर सकना है
- अगर नया स्टैक स्थापित हो जाता है, तो ESP32 सामान्य IoT SoC से आगे बढ़कर रिसर्च और प्रयोगों के लिए एक सस्ता wireless platform बन सकता है
- अगर पर्याप्त फीचर खुल जाएँ, तो pentesting tools, B.A.T.M.A.N. mesh router, और AirDrop client जैसे उपयोग संभव हो जाते हैं
क्लोज़्ड Wi‑Fi स्टैक को खोलने की वजह
- ESP32 का मौजूदा Wi‑Fi स्टैक काम तो करता है, लेकिन यह क्लोज़्ड implementation है, इसलिए उसके अंदरूनी व्यवहार को समझना या ज़रूरत के मुताबिक बदलना मुश्किल है
- open source Wi‑Fi स्टैक का मुख्य लक्ष्य उस हिस्से को modify और audit करने योग्य बनाना है जो संभावित रूप से संवेदनशील डेटा संभालता है
- CCH में शायद हज़ारों ESP32 हैं, और सभी ऐसे क्लोज़्ड Wi‑Fi स्टैक चला रहे हैं — यही बात समस्या के प्रति जागरूकता बढ़ाती है
reverse engineering से नए स्टैक तक
- प्रोजेक्ट की शुरुआत ESP32 के proprietary Wi‑Fi स्टैक की reverse engineering से हुई
- इसके बाद यह ESP32 के Wi‑Fi peripheral को सीधे संभालने वाले open source Wi‑Fi स्टैक के implementation तक पहुँचा
- इस प्रक्रिया में Wi‑Fi, ESP32, सामान्य reverse engineering, और ऐसे प्रोजेक्ट्स तक पहुँचने के तरीकों पर भी चर्चा की गई है
ESP32 खुलने पर उसके उपयोग
- अगर ESP32 की क्षमताएँ पूरी तरह खुल जाएँ, तो यह रिसर्च टूल और IoT SoC के रूप में और अधिक विविध भूमिकाएँ निभा सकता है
- संभावित उपयोग के उदाहरण:
- pentesting tools
- B.A.T.M.A.N. mesh router
- AirDrop client
सत्र की जानकारी और प्रकाशन शर्तें
- वक्ता Frostie314159 और Jasper Devreker हैं
- यह 38c3 के Hardware & Making ट्रैक के Saal 1 में आयोजित 38 मिनट का सत्र है, और तारीख 2024-12-27 है
- वीडियो और ऑडियो MP4, WebM, MP3, Opus फ़ॉर्मैट में उपलब्ध हैं
- सामग्री
http://creativecommons.org/licenses/by/4.0शर्तों के तहत प्रकाशित है
1 टिप्पणियां
Hacker News की रायें
संबंधित लेख: https://zeus.ugent.be/blog/23-24/open-source-esp32-wifi-mac/
compatible होने पर internet पर पहले से मौजूद help और examples वैसे ही इस्तेमाल किए जा सकेंगे, और entry cost भी कम होगी। जो लोग MAC layer में बहुत थोड़ा बदलाव करना चाहते हैं, वे भी नया API सीखने का बोझ उठाए बिना पुराने तरीके से ही अंदर जाकर सिर्फ मनचाही जगहों को बदल सकेंगे
यह अब भी काफी अजीब लगता है कि सिर्फ Espressif ही WiFi modem को काफी अच्छे microcontroller में डालने में सफल हुआ है
ST इस मामले में अब भी काफी पीछे है
हालांकि RP2040 W board का WiFi किसी external module जैसा दिखता है। स्रोत: https://esphome.io
इसे कहीं भी single unit में खरीदा जा सकता है, USB power·programming port और labeled pins वाले कई breakout boards के रूप में बिकता है, और documentation·examples·Arduino IDE·NodeMCU भी अच्छी तरह उपलब्ध हैं। Arduino भी शुरुआत में कुछ ऐसा ही था, लेकिन वह कम-परफॉर्मेंस AVR chips पर बहुत लंबे समय तक टिका रहा, non-Chinese boards महंगे थे, और WiFi भी नहीं था। Raspberry Pi Pico के features अच्छे हैं, लेकिन शुरुआत में supply मुश्किल थी, और बाकी चीजें DigiKey जैसी जगहों से खरीदे जाने वाले “single-chip” के ज्यादा करीब हैं, जहां shipping cost महंगी होती है, documentation 600 pages से ज्यादा का होता है, एक पहला ping भेजने के लिए 300 से ज्यादा pages चाहिए होते हैं, board पर soldering करनी पड़ती है, और programming के लिए भी आम तौर पर महंगा equipment चाहिए होता है
मैंने अभी video नहीं देखा है, इसलिए अगर यह पहले ही cover हो चुका हो तो माफ करें, लेकिन मुझे जिज्ञासा है कि ESP32 wireless certification official black-box firmware से बंधी है या नहीं
क्या same hardware पर open firmware इस्तेमाल करने पर FCC जैसी certification agencies को फिर से भेजकर conformity testing करानी पड़ेगी?
CFR section मुझे अभी याद नहीं है, लेकिन FCC साफ तौर पर किसी को भी कम मात्रा में uncertified devices इस्तेमाल करने की अनुमति देता है। अगर वह device दूसरे नियम तोड़ता है तो वह फिर भी violation है, लेकिन hardware या software modify करने की बात अपने-आप में banned नहीं है
firmware के existence को लगभग मान्यता ही नहीं दी जाती। इसकी एक वजह भी है। WiFi जैसे certified unlicensed wireless equipment से public interest में tamper-resistant होने की उम्मीद की जाती है। इसलिए जब FCC ने WiFi router certification requirements पर चर्चा की, तो कमजोर और बेकार WiFi routers में secure boot को mandatory करने जैसे software तक इसे बढ़ाने का विचार किया गया था, लेकिन वह भयानक idea था और छोड़ दिया गया। फिलहाल, जब तक resulting firmware साफ तौर पर spec से बाहर emissions पैदा नहीं करता, इसे आधा legal या आधा illegal जैसा मानूंगा। मैं lawyer नहीं हूं
https://github.com/esp32-open-mac
पहले WiFi password provisioning का एक idea था। packet length को modulate करके SSID और password भेजे जा सकते हैं
नया IoT device जाहिर है packet को decrypt नहीं कर सकता, लेकिन length observe कर सकता है। मैंने Linux के लिए sample implementation भी बनाया था, लेकिन ऐसा कोई IoT chip नहीं मिला जो यह करने के लिए पर्याप्त low-level PHY access देता हो
थोड़ा side question है, presenters में से एक ने अपना DECT number public किया था। क्या इसका मतलब है कि technical conferences में इस्तेमाल के लिए लोग अब भी पुराने phones साथ लेकर चलते हैं?
event के दौरान metrics दिखाने वाला status dashboard भी है
[1] https://events.ccc.de/2024/12/22/38c3-poc-isdn-version/
[2] https://dashboard.eventphone.de/d/de7sgxz63vzeoe/38c3?orgId=...
खासकर camping area में WiFi coverage uneven हो सकती है, इसलिए toilet building या parking lot तक चलकर जाने पर भी call receive कर सकते हैं। यह अपनी frequencies इस्तेमाल करता है, इसलिए WiFi, Bluetooth, Zigbee द्वारा इस्तेमाल किए जाने वाले bands को और congested नहीं करता। apps जैसी चीजें भी इस्तेमाल की जा सकती हैं, लेकिन DECT बहुत stable है और WiFi से कहीं बेहतर range देता है। मेरे पास Nokia 8210 के आकार का एक अच्छा Siemens device है, इसलिए ईंट जैसी चीज लेकर घूमने की जरूरत भी नहीं। अब तक इसकी battery शायद लगभग dead हो चुकी होगी, लेकिन उस जमाने की batteries की तरह replaceable है
जर्मनी के निजी घरों में DECT अब भी काफ़ी लोकप्रिय है
WiFi पर VoIP की तुलना में कहीं ज़्यादा मजबूत है
DECT पहले से मौजूद था, इसलिए यह अंदरूनी टेलीफोन नेटवर्क के लिए एक सामान्य नाम की तरह जम गया
जानना चाहता हूँ कि हैकिंग कितनी गहराई तक की गई है। फ्रेम भेजना बस कुछ रजिस्टर सेट करने और इंटरप्ट का इंतज़ार करने जैसा दिखता है, इसलिए लगता है कि शायद यह वास्तविक काम करने वाली किसी दूसरी firmware layer से बात कर रहा हो
Raspberry Pi Pico बोर्ड याद आता है। मुख्य RP2040 SoC है, लेकिन WiFi एक अलग WiFi/BT मॉड्यूल (CYW43xx) है, जिसके पास अपना Arm core है। WiFi मॉड्यूल का बाहरी register interface भी सार्वजनिक रूप से documented नहीं है, लेकिन open source driver (https://github.com/georgerobotics/cyw43-driver/tree/cf924bb0...) मौजूद है, जिससे spec का अनुमान लगाया जा सकता है। लेकिन यह driver भी आखिरकार मॉड्यूल के अंदर Arm core पर चलने वाले software से communicate करता है, और वह code निर्माता एक बड़े firmware binary blob के रूप में देता है। वह blob linked repository की firmware directory के header file में वास्तव में मौजूद है। जिज्ञासा है कि यह ESP32 hack इस structure से कैसे मेल खाता है
speakers वाकई बहुत कम उम्र के दिखे, यह प्रभावशाली लगा। इतनी छोटी उम्र में उस स्तर का technical knowledge बनाते देखना दिलचस्प है
chess इसका बेहतरीन उदाहरण है। पहले बहुत-सा ज्ञान किताबों में था, और अक्सर विदेशी भाषा की किताबों में। अब सब कुछ सार्वजनिक है, और एक स्तर पर पहुँचने के बाद top 100 में आने वाले opponents के साथ भी आसानी से खेल सकते हैं, इसलिए growth speed और तेज़ हो जाती है
promiscuous mode को support करने वाली MicroPython library के एक कदम और करीब पहुँच गए
डाउनलोड किए बिना देखें: https://media.ccc.de/v/38c3-liberating-wi-fi-on-the-esp32/pl...