-
Bambu Connect का रिवर्स इंजीनियरिंग
-
Bambu Connect का अवलोकन
- Bambu Connect एक Electron ऐप है, जिसे सुरक्षा की दृष्टि से अपारदर्शी तरीके से लागू किया गया है, इसलिए यह मूल रूप से सुरक्षित नहीं है.
- यह गाइड उपयोगकर्ताओं को उनके खरीदे गए उत्पाद पर अधिक अधिकार रखने में मदद करने के लिए है.
-
सुरक्षा कुंजी निकालने की प्रक्रिया
- Bambu डिवाइस के साथ संचार में उपयोग होने वाली "private key" निकालने की एक सरल प्रक्रिया समझाई गई है.
- Bambu Connect की फ़ाइलें निकालने के लिए MacOS .dmg फ़ाइल का उपयोग करना अधिक आसान है.
- ऐप asarmor का उपयोग करके सामग्री को आसानी से पढ़े जाने से बचाता है, और key एक विशेष path में संग्रहीत है.
- Ghidra का उपयोग करके
main.nodeलोड करें, Auto-Analyze चलाएँ, फिरGetKeyfunction खोजकर key निकाली जा सकती है.
-
private key और certificate निकालना
- private key और certificate को अतिरिक्त रूप से obfuscate किया गया है, और इसे स्पष्ट करने के लिए कई चरणों वाली decryption की आवश्यकता होती है.
- Python का उपयोग करके secret जानकारी निकालने वाला example code दिया गया है.
-
संदर्भ सामग्री
- Bambu Connect के एक विशेष version की .dmg फ़ाइल का link दिया गया है.
1 टिप्पणियां
Hacker News की राय
Bambu की bait-and-switch रणनीति से गुस्सा है। Black Friday sale में “कुछ हद तक hackable और open है” समझकर प्रिंटर खरीदा था, लेकिन अब वे इसे इस तरह लॉक करने की कोशिश कर रहे हैं कि approved software और DRM chain के बिना अपने ही प्रिंटर से print न कर सकूं
hacking से जुड़ी और जानकारी यहां: https://hackaday.com/2025/01/19/bambu-connects-authenticatio...
सच में जानना चाहूंगा कि आपको किस तरह का bait-and-switch लगता है, पहले officially क्या संभव था जो अब नहीं है
शुरुआत से ही RFID filament spool का अन्य vendors के लिए पर्याप्त रूप से open न होना मुझे थोड़ा खटका था
जो बात समझ नहीं आती वह यह है कि BambuSlicer open source है। ऊपर से यह PrusaSlicer का fork है, इसलिए Bambu मनमाने ढंग से इसका license बदल भी नहीं सकता
license derivative works पर बहुत सख्त Affero GPL है, और अगर Bambu अपने जोड़े गए सारे code, logic, keys आदि binary distribution में डालता है, तो source भी शामिल करना होगा। ऐसा न करने पर यह Prusa और कई contributors के copyright का उल्लंघन होगा
अंत में Bambu को यह सब open source में जारी करना पड़ेगा, जिससे उनका उद्देश्य ही खत्म हो जाएगा; और चूंकि यह पहले ही leak हो चुका है, तो वैसे भी ऐसा होने की संभावना ज्यादा है, या फिर उन्हें अपने slicer में भी इसे किसी अलग program से गुजारना होगा
अभी implement किया गया Bambu network plugin भी BambuStudio का हिस्सा नहीं है; BambuStudio खोलते समय client इसे download करता है
शुरुआत में मैं Bambu का बहुत विरोधी था, क्योंकि इसमें ठीक-ठाक network, यानी cloud नहीं बल्कि LAN support, नहीं था। बाद में उन्होंने LAN mode जोड़ा तो सच में खरीदने पर विचार किया, लेकिन अच्छा हुआ कि आलस की वजह से नहीं खरीदा
Bambu, आखिर कर क्या रहे हो? Security का बहाना? HP तक ऐसा बहाना नहीं बनाता
https://store.bambulab.com/products/x1e
लेकिन यह सभी third-party integrations को तोड़े बिना भी आसानी से किया जा सकता है। settings में पूरी तरह local तरीके से काम करने वाला एक toggle काफी है
अगर Prusa ने ध्यान न भटकाया होता, तो मैं Core One खरीदता। यहां मेरा मतलब BambuLab जैसी quality और बड़े print volume वाले एक काल्पनिक model से है
इसके बजाय मैंने P1S खरीदा, और technically यह वाकई शानदार machine है
Prusa खुद 600 printers चलाता है। यह commercial-grade है, और अगर commercial design या prototyping में इस्तेमाल करना हो, तो मैं Prusa चुनूंगा। एक वजह यह भी है कि मैं नहीं चाहता कि हमेशा cloud से जुड़ा printer मेरे designs विदेश भेजे
Louis Rossmann की संबंधित commentary: https://www.youtube.com/watch?v=aIyaDD8onIE
करीब एक महीने पहले Bambu printer खरीदने के बाद से मैं इस issue को लगातार follow कर रहा हूँ। मिलते ही इसकी security स्थिति मुझे पसंद नहीं आई, और इसे IoT VLAN में isolate करते हुए भी main computer से इस्तेमाल करने लायक बनाने में काफी मेहनत लगी
इसलिए सिर्फ first impression के आधार पर security improvements का स्वागत है, लेकिन असल में वे क्या लेकर आएंगे, इसे लेकर थोड़ी चिंता भी है
यह भी जानना चाहता हूँ कि key किस काम आती है। “key मिल गई” जैसी बातें बहुत देखीं, लेकिन वह key किसलिए इस्तेमाल होती है, कैसे उपयोगी है, या सच में उपयोगी भी है या नहीं—इसकी कोई explanation नहीं देखी
उम्मीद है जल्द ही और दिलचस्प खबरें और मजबूत technical जानकारी आएगी
मेरे use case में यह चलेगा ही नहीं। मेरे printers China region में locked हैं, और मैं अभी China में नहीं हूँ, इसलिए उस server से connect नहीं कर सकता। यानी firmware update किया तो शायद अपने local network पर LAN printing भी नहीं कर पाऊँगा, और यह बहुत असहज लगता है
printer खुद बहुत अच्छा है, लेकिन यह सब करने की जरूरत नहीं है
अभी जो दिख रहा है, वह users को Bambu Lab software से बांधे रखने वाली structure है। अगर कोई कहे कि bank account को Bambu Lab के “security fix” जैसे तरीके से protect करो, तो मैं इसे कभी allow नहीं करूंगा
firmware इन operations को verify करता है, ताकि बिना signature या गलत signature वाले third-party software के MQTT messages को reject कर सके
इस approach की बड़ी कमजोरी यह है कि key extract कर ली जाए तो third-party software फिर से full access पा लेता है
कोई security improvement नहीं है। अगर printer या cloud vulnerable था, तो ऐसी obfuscation layer कुछ भी नहीं रोक पाएगी
authentication method पहले जैसा ही है: https://git.devminer.xyz/archive/bambu-connect/src/commit/47...
Bambu का जवाब: https://blog.bambulab.com/updates-and-third-party-integratio...
truth about the updateके पहले item में कहा गया है कि “हम third-party software को restrict करने की कोशिश नहीं कर रहे; security मजबूत करते हुए integration बनाए रखने के लिए Bambu Connect बनाया है, और Orca Slicer जैसे developers के साथ सक्रिय रूप से collaborate कर रहे हैं”लेकिन OrcaSlicer developer पहले ही [0] में बता चुके हैं कि “Bambu ने इस change की सूचना announcement से दो दिन पहले दी”
Bambu जिस “collaboration” की बात कर रहा है, वह Orca से real print start करने वाले अपने software पर redirect करने की implementation में मदद जैसा दिखता है, और यह third-party software restriction लगता है
“यह forced update नहीं, beta test है और choice आपकी है” वाली बात भी अजीब है। beta firmware आखिर कभी न कभी release firmware बनने के लिए ही होता है, नहीं? उल्टा, community backlash इस बात का सबूत है कि beta track intended तरीके से काम कर रहा था
Panda Touch के बारे में भी Bambu कहता है कि उसने BTT से contact करके MQTT protocol के misuse की warning दी थी, लेकिन BQ ने [1] में इसे पहले ही cover किया है। summary यह है कि उन्होंने Bambu के साथ collaborate करने की कोशिश की, लेकिन खास response नहीं मिला, और सिर्फ यह warning मिली कि future updates में MQTT बंद हो सकता है। technically contact किया गया था, लेकिन practically यह “हमारे product को improve मत करो” कहने जैसा था, और आखिर में Bambu, BQ से ज्यादा अपने customers को मुश्किल में डाल रहा है
आगे नीचे भी वे कहते हैं कि Orca Slicer जैसे third-party slicer के experience में ज्यादा फर्क नहीं है, और दिखाते हैं कि Orca आसानी से नया app खोल सकता है और वह app print शुरू कर सकता है। लेकिन यही तो वह हिस्सा है जिस पर community शिकायत कर रही है, और Linux support missing जैसे issues भी इससे solve नहीं होते
आखिर में वे नया flow diagram देते हैं, लेकिन यह नहीं बताते कि नया software करता क्या है। नया software cloud से कैसे, कब और क्यों communicate करता है, यह दिखता नहीं
security की थोड़ी भी समझ रखने वाले व्यक्ति के लिए यह change ज्यादा sense नहीं बनाता, और Bambu अपने implement किए जाने वाले security protocol को explain करने में भी कम पड़ता है। मुझे लगता है कि उन्होंने शायद Bambu Connect app में कहीं private certificate embed कर दिया है और printer requests sign करना शुरू किया है, लेकिन अगर private key पहले ही public हो चुकी है तो security में कोई सुधार नहीं है
[0] https://github.com/SoftFever/OrcaSlicer/issues/8063#issuecom...
[1] https://old.reddit.com/r/BIGTREETECH/comments/1i5lzzf/latest...
“app.asar को पहले modify किए बिना unpack करने पर encrypted main.js file और 100GB की decoy file बनती है, इसलिए कोशिश न करें” वाला हिस्सा exact zip bomb न भी हो, तो भी काफी करीब लगता है, और वाकई बेहद irritating तरीका है
Bambu को ऐसी चीज़ों से ज़्यादा consumables की supply और customer support को scale करने पर ध्यान देना चाहिए। एक ticket हल करने में कई हफ्ते लग जाते हैं, और पहली response आने में 8 दिन लगना आम बात थी
3D printers का 2D printers जितना user-hostile होते जाना चौंकाने वाला नहीं है। आजकल की तरह, “security” बहाना है
हैरानी है कि महंगी ink monopoly पर इस तरह हमला नहीं हुआ, और मुझे साफ़ याद है कि बचपन में grocery store kiosk रंगीन pencils से blank cards पर messages और images “print” करके देता था। यह बिल्कुल नई चीज़ नहीं है
जिन लोगों ने देखा है, उनके मुताबिक macOS और Linux का CUPS भी security का आदर्श होने की संभावना कम है, और 3 महीने पहले remote code execution controversy भी हुई थी
अगर operating system का print stack ही mess है, तो network-connected printer firmware में कौन-सी डरावनी चीज़ें छिपी होंगी, पता नहीं। कहते हैं कि security के नाम पर third-party ink cartridges को block करते हैं, लेकिन ink cartridge आखिर कर ही क्या सकता है? printer को भेजे गए data से buffer overflow करा सकता है? या फिर printer सचमुच इतना बेवकूफ है कि हम ज़्यादा सोच रहे थे, और मामला first impression से भी ज़्यादा indefensible है