1 पॉइंट द्वारा GN⁺ 2024-12-29 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 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 टिप्पणियां

 
GN⁺ 2024-12-29
Hacker News की रायें
  • संबंधित लेख: https://zeus.ugent.be/blog/23-24/open-source-esp32-wifi-mac/

    • अगर open source version closed API के साथ compatible हो जाए तो इसका फायदा काफी बड़ा होगा
      compatible होने पर internet पर पहले से मौजूद help और examples वैसे ही इस्तेमाल किए जा सकेंगे, और entry cost भी कम होगी। जो लोग MAC layer में बहुत थोड़ा बदलाव करना चाहते हैं, वे भी नया API सीखने का बोझ उठाए बिना पुराने तरीके से ही अंदर जाकर सिर्फ मनचाही जगहों को बदल सकेंगे
    • मैं ही लेखक हूं। पूरी article series भी https://esp32-open-mac.be/ पर है
  • यह अब भी काफी अजीब लगता है कि सिर्फ Espressif ही WiFi modem को काफी अच्छे microcontroller में डालने में सफल हुआ है
    ST इस मामले में अब भी काफी पीछे है

    • दूसरे उदाहरणों में BK72xx series (BK7231T, BK7231N), RTL87xx series (RTL8710BN, RTL8710BX), और RP2040 हैं
      हालांकि RP2040 W board का WiFi किसी external module जैसा दिखता है। स्रोत: https://esphome.io
    • Espressif ने सस्ता होना, आसान availability, आसान hardware, आसान software, और अजीब licensing restrictions न होना—इन सबका सही combination बना दिया
      इसे कहीं भी 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 चाहिए होता है
    • Nordic Semiconductor के पास भी Bluetooth और WiFi वाला microcontroller है। हालांकि वह Espressif solution की तुलना में बहुत कम common है
    • AliExpress पर TuYa-based modules में से अधिकतर Beken हैं
    • TI के पास लगभग 10 साल पहले से WiFi+Bluetooth microcontroller था, और वह Cortex-M4 भी देता है
  • मैंने अभी video नहीं देखा है, इसलिए अगर यह पहले ही cover हो चुका हो तो माफ करें, लेकिन मुझे जिज्ञासा है कि ESP32 wireless certification official black-box firmware से बंधी है या नहीं
    क्या same hardware पर open firmware इस्तेमाल करने पर FCC जैसी certification agencies को फिर से भेजकर conformity testing करानी पड़ेगी?

    • अगर आप उसे ऐसे distribute करते हैं तो हां, लेकिन अगर end user खुद modify करता है तो नहीं
      CFR section मुझे अभी याद नहीं है, लेकिन FCC साफ तौर पर किसी को भी कम मात्रा में uncertified devices इस्तेमाल करने की अनुमति देता है। अगर वह device दूसरे नियम तोड़ता है तो वह फिर भी violation है, लेकिन hardware या software modify करने की बात अपने-आप में banned नहीं है
    • मुझे यह gray area लगता है। अगर मैं बहुत गलत नहीं हूं, तो certification में सिर्फ worst-case wireless performance को test और document किया जाता है, और बाकी technical documents PCB manufacturing files या firmware build scripts जैसे modern design documents के बजाय high-level block diagrams और theory of operation वाली काफी detailed brochure के ज्यादा करीब होते हैं
      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 देता हो

    • TI का SmartConfig length field का इस्तेमाल करके ऐसे ही काम करता है। इसलिए इसे implement करने वाला IoT chip इस्तेमाल किया जा सकता है, और TI ऐसे काफी chips देता है
    • https://www.keacher.com/xmas24/ data communication के लिए OOK इस्तेमाल करता है, और WiFi signal से energy harvest करके battery की जरूरत न होने का फायदा है
    • last resort के तौर पर reverse engineering कर सकते हैं, या क्या यह असंभव है?
    • आजकल होता तो मैं बस WPA3 इस्तेमाल करता
  • थोड़ा side question है, presenters में से एक ने अपना DECT number public किया था। क्या इसका मतलब है कि technical conferences में इस्तेमाल के लिए लोग अब भी पुराने phones साथ लेकर चलते हैं?

    • event के दौरान voice communication के लिए कई networks चलाए जाते हैं। खोजने पर पता चला कि आम तौर पर DECT, SIP, GSM साथ में इस्तेमाल होते हैं
      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=...
    • सही है। hacker camps में यह काफी convenient होता है, और मेरे पास भी अब भी एक है
      खासकर 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 की तुलना में कहीं ज़्यादा मजबूत है

    • इसे CCC की परंपरा मानता हूँ
    • सही है। हालांकि GSM या SIP भी इस्तेमाल किए जा सकते हैं, और असल में भले ही आधुनिक नेटवर्क इस्तेमाल हो रहा हो, नंबर स्पेस वही होने की वजह से इसे अक्सर DECT नंबर कहा जाता है
      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 के एक कदम और करीब पहुँच गए

    • क्यों? वह तो ESP SDK में पहले से support करता है
  • डाउनलोड किए बिना देखें: https://media.ccc.de/v/38c3-liberating-wi-fi-on-the-esp32/pl...