- Tesla bug bounty में भाग लेने के लिए eBay से Model 3 का MCU और Autopilot कंप्यूटर खरीदकर उन्हें डेस्कटॉप माहौल में चलाने की कोशिश की गई
- 12V पावर सप्लाई और touchscreen मॉड्यूल जोड़कर बूट सफल हुआ, और Ethernet port के जरिए आंतरिक नेटवर्क तक पहुंच संभव हुई
- MCU के भीतर SSH server और ODIN REST API (port 8080) खुले मिले, हालांकि SSH एक्सेस के लिए Tesla-signed key चाहिए
- शुरुआत में cable compatibility समस्या और PCB damage के कारण power controller chip बदलनी पड़ी, लेकिन मरम्मत के बाद सिस्टम रिकवर हो गया
- आखिर में Dashboard Wiring Harness जोड़कर touchscreen और vehicle OS का पूरा boot कराया गया, जिससे UI ऑपरेशन और firmware analysis संभव हो गया
Tesla Model 3 कंप्यूटर को डेस्क पर चलाना
- Tesla bug bounty program में भाग लेने के लिए असली वाहन हार्डवेयर की जरूरत थी, इसलिए eBay से Model 3 के MCU (media control unit) और Autopilot (AP) कंप्यूटर के पार्ट्स खरीदे गए
- यह वाहन कंप्यूटर दो बोर्डों की stacked संरचना में होता है, passenger-side glovebox के पीछे लगा रहता है, और liquid-cooled metal case से ढका होता है
- eBay से 200–300 डॉलर रेंज के पार्ट्स लिए गए, जिनमें से ज्यादातर crashed vehicle dismantlers द्वारा बेचे जा रहे थे
- सिस्टम बूट करने के लिए 12V DC पावर सप्लाई, touchscreen मॉड्यूल, और display cable की अतिरिक्त जरूरत पड़ी
- पावर सप्लाई के लिए 0–30V adjustable 10A मॉडल इस्तेमाल किया गया, और स्क्रीन 175 डॉलर में खरीदी गई
केबल समस्या और electrical wiring जानकारी
- MCU और स्क्रीन को जोड़ने वाली केबलें अधिकतर connector के तुरंत बाद कटी हुई हालत में बेची जा रही थीं, इसलिए अलग से केबल बनानी पड़ी
- Tesla सभी वाहनों के Electrical Reference दस्तावेज़ सार्वजनिक करती है, इसलिए हर connector की pin layout और wiring जानकारी देखी जा सकी
- डिस्प्ले के लिए Rosenberger 99K10D-1D5A5-D connector वाला 6-pin cable चाहिए था (12V/ground के 2 pin, data के 4 pin)
- यह connector आम ग्राहक के लिए अलग से उपलब्ध नहीं था, इसलिए विकल्प के तौर पर BMW LVDS cable मंगाई गई
पावर कनेक्शन और network access
- Tesla schematics और ऑनलाइन जानकारी की मदद से 12V और ground pin पहचानकर पावर जोड़ी गई, तो लाल LED जल उठी और बूट शुरू हुआ
- स्क्रीन न होने के कारण इंटरैक्शन सीमित था, लेकिन Ethernet port के जरिए लैपटॉप से कनेक्ट करना संभव था
- नेटवर्क में DHCP नहीं था, इसलिए manual IP configuration करनी पड़ी और
192.168.90.X/24 रेंज इस्तेमाल करनी थी
- Reddit पर साझा की गई
/etc/hosts फ़ाइल से MCU, gateway, Autopilot आदि आंतरिक hosts के IP पता चले
- MCU (
192.168.90.100) पर SSH (port 22) और web server (port 8080) खुले थे
MCU के अंदर की services और संरचना
- SSH server “SSH allowed: vehicle parked” संदेश दिखाता था और एक्सेस के लिए Tesla-signed key जरूरी थी
- Tesla bug bounty में root vulnerability खोजने वाले researchers को permanent SSH certificate दिया जाता है
- 8080 port पर ODIN (On-Board Diagnostic Interface Network) नाम का REST-style API खुला था, जिसका उपयोग Toolbox diagnostic tool में होता है
- metal shielding हटाने पर MCU और Autopilot बोर्ड की stacked internal structure देखी जा सकी
केबल विफलता और circuit damage
- BMW LVDS cable भौतिक रूप से compatible नहीं निकली, इसलिए सीधे wiring connection की कोशिश की गई
- पतली तार टूट गई और PCB short हो गया, जिससे power controller chip खराब हो गई
- खराब chip की पहचान मुश्किल थी, लेकिन सहयोगी Yasser ने इसे MAX16932CATIS/V+T step-down controller के रूप में पहचाना
- नई chip मंगाकर PCB repair shop में बदलवाई गई, और MCU को फिर से चालू किया गया
- इसके बाद backup के लिए दूसरा कंप्यूटर भी लिया गया
अंतिम समाधान और पूरा boot
- Rosenberger cable न मिलने पर आखिरकार पूरा Dashboard Wiring Harness (80 डॉलर) खरीदा गया
- असली वाहन में अलग-अलग केबल नहीं बल्कि बड़ा wiring harness (loom) इस्तेमाल होता है
- harness जोड़ते ही touchscreen सामान्य रूप से काम करने लगी और vehicle operating system पूरी तरह बूट हो गया
- इसके बाद UI ऑपरेशन, network interface exploration, CAN bus analysis, और firmware extraction की कोशिशें संभव हो गईं
2 टिप्पणियां
सबसे दिलचस्प चीज़ तो यही है
"Tesla का Root access प्रोग्राम"
अगर कोई एक भी वैध rooting vulnerability खोज ले, तो उसे अपनी गाड़ी के लिए "स्थायी SSH certificate" मिल जाता है और वह root के रूप में लॉग इन कर सकता है।
आह, मुझे भी यह चाहिए!!
Hacker News की राय
Tesla का Root access program दिलचस्प है
अगर कोई researcher एक भी valid rooting vulnerability ढूंढ ले, तो उसे अपनी गाड़ी के लिए स्थायी SSH certificate मिल सकता है और वह root के रूप में login कर सकता है
यह Apple के Security Research Device Program जैसा है, और इसकी eligibility requirements स्पष्ट हैं
सबको root access दे दिया जाए तो malicious actors के लिए vulnerabilities खोजना आसान हो जाएगा, इसलिए Tesla का यह approach समझ में आता है
मैं पहले third-party scan tool बनाने वाली एक कंपनी में काम करता था
हम असली गाड़ी की जगह rack में जुड़े ECU के साथ testing करते थे, और BMW के non-standard byte offset वाले issue को पकड़ा था. Competitor tools यह issue नहीं पकड़ पाए, लेकिन official BMW tool ने DTC दिखाया
अगर model अलग सेट कर दूँ, तो ECU DTC clear कर सकता हूँ, इसलिए फिलहाल उसी तरह इस्तेमाल कर रहा हूँ. इस क्षेत्र में open hardware/software approach की बहुत ज़रूरत है
महंगे commercial software से बनाए गए नतीजों को public करूँ या नहीं, इस पर सोच रहा हूँ, और मेरा मानना है कि vehicle communication protocol definitions जैसी जानकारी सबके लिए खुली होनी चाहिए
यह मजेदार है कि LVDS को automotive cable कहा जा रहा है. मैंने इसे पहले ज़्यादातर laptop display और motherboard को जोड़ने में देखा था
Low-voltage differential signaling लेख देखें
Tesla का UI app QtCar QEMU में चलाया जा सकता है
सिर्फ firmware हो तो यह संभव है, और अगर किसी की दिलचस्पी हो तो DM करने को कहा गया है
डेमो वीडियो
किसी ने Tesla Model Y में खुद trailer brake controller लगाया था
14.4V voltage के हिसाब से controller ढूंढा, cable बनाई, और eBay से connector खरीदकर install किया
पिछले साल कई बार camping trailer बिना किसी समस्या के खींचा, और इस तरह की DIY hacking spirit को शानदार बताया
यह दिलचस्प है कि समस्या का केंद्र सिर्फ एक साधारण 6-pin connector था
drawings और dimensions होने के बावजूद, 3D printing से connector खुद बनाने का विचार न आना थोड़ा हैरान करता है
यह project वाकई शानदार है
जिज्ञासा है कि क्या यह plug-and-play है, और mileage information कहाँ store होती है
अगर संभव हो, तो adaptive suspension को पुराने model में transplant करना चाहूँगा. Raspberry Pi से अलग control system बनाने का भी एक विचार है
यह चौंकाने वाला है कि गाड़ी अपेक्षित peripherals के बिना भी operating system पूरी तरह boot कर लेती है
Tesla के बारे में कुछ भी कहें, hacking के नज़रिए से यह सचमुच शानदार project है
कहा गया था कि पूरी wiring के लिए 80 डॉलर देने पड़े, लेकिन अमेरिका में इसे wiring harness कहा जाता है. loom का मतलब insulating material से है
AliExpress लिंक