2 पॉइंट द्वारा GN⁺ 2025-01-21 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Bambu Connect का रिवर्स इंजीनियरिंग

  • Bambu Connect का अवलोकन

    • Bambu Connect एक Electron ऐप है, जिसे सुरक्षा की दृष्टि से अपारदर्शी तरीके से लागू किया गया है, इसलिए यह मूल रूप से सुरक्षित नहीं है.
    • यह गाइड उपयोगकर्ताओं को उनके खरीदे गए उत्पाद पर अधिक अधिकार रखने में मदद करने के लिए है.
  • सुरक्षा कुंजी निकालने की प्रक्रिया

    • Bambu डिवाइस के साथ संचार में उपयोग होने वाली "private key" निकालने की एक सरल प्रक्रिया समझाई गई है.
    • Bambu Connect की फ़ाइलें निकालने के लिए MacOS .dmg फ़ाइल का उपयोग करना अधिक आसान है.
    • ऐप asarmor का उपयोग करके सामग्री को आसानी से पढ़े जाने से बचाता है, और key एक विशेष path में संग्रहीत है.
    • Ghidra का उपयोग करके main.node लोड करें, Auto-Analyze चलाएँ, फिर GetKey function खोजकर key निकाली जा सकती है.
  • private key और certificate निकालना

    • private key और certificate को अतिरिक्त रूप से obfuscate किया गया है, और इसे स्पष्ट करने के लिए कई चरणों वाली decryption की आवश्यकता होती है.
    • Python का उपयोग करके secret जानकारी निकालने वाला example code दिया गया है.
  • संदर्भ सामग्री

    • Bambu Connect के एक विशेष version की .dmg फ़ाइल का link दिया गया है.

1 टिप्पणियां

 
GN⁺ 2025-01-21
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 कहना शायद ठीक नहीं; open source 3D printers का समर्थन करने वाले लोगों के नजरिए से यह दूर से ही अनुमान लगाया जा सकता था। Bambu की योजना शुरू से ही बहुत साफ थी, और वे खुद भी कहते थे कि वे “Apple model” अपना रहे हैं। उन्होंने काफी transparently दिखाया था, फिर भी लोग उसमें फंस गए
    • समझ नहीं आता कि आपको यह hackable या open क्यों लगा। X1 launch के समय से ही firmware बंद था और control भी सख्त था; यही वह समझौता था जिसे ये प्रिंटर खरीदने वाले लोग स्वीकार कर रहे थे
      सच में जानना चाहूंगा कि आपको किस तरह का bait-and-switch लगता है, पहले officially क्या संभव था जो अब नहीं है
    • SD card से अलग software या online service के बिना print किया जा सकता है, Prusa printers की तरह। लॉक server/internet वाली सुविधाएं हैं, और अच्छा होता अगर वे भी खुली होतीं, लेकिन local printing functionality अभी भी पूरी तरह बिना रोक-टोक काम करती है
    • Bambu ने कभी “hackable” या “open” होने का विज्ञापन या official support नहीं किया। जिस feature को support या advertise नहीं किया गया, उसके आधार पर खरीद का फैसला करना मूर्खता है; गुस्सा हो सकते हैं, लेकिन यह थोड़ा अजीब लगता है
    • “कुछ हद तक hackable और open है” वाली धारणा कहां से आई, यह जानना चाहूंगा। Bambu printer से मैं काफी संतुष्ट हूं, लेकिन मैंने इसे कभी hackable नहीं समझा, open तो बिल्कुल भी नहीं
      शुरुआत से ही 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 से गुजारना होगा

    • BambuConnect, BambuStudio का हिस्सा नहीं है। BambuLab ने इसे जानबूझकर अलग किया है ताकि उन्हें इसे share या open source के रूप में जारी न करना पड़े
      अभी implement किया गया Bambu network plugin भी BambuStudio का हिस्सा नहीं है; BambuStudio खोलते समय client इसे download करता है
  • शुरुआत में मैं Bambu का बहुत विरोधी था, क्योंकि इसमें ठीक-ठाक network, यानी cloud नहीं बल्कि LAN support, नहीं था। बाद में उन्होंने LAN mode जोड़ा तो सच में खरीदने पर विचार किया, लेकिन अच्छा हुआ कि आलस की वजह से नहीं खरीदा
    Bambu, आखिर कर क्या रहे हो? Security का बहाना? HP तक ऐसा बहाना नहीं बनाता

    • Bambu Lab इस बात को काफी स्पष्ट करता आया है। consumer printers cloud services पर निर्भर हैं, और जिन्हें private LAN में print करना हो या जो ऐसा चाहते हों, उनके लिए वे X1E देते हैं
      https://store.bambulab.com/products/x1e
    • HP तो अगर आप हर महीने पैसे न दें, तो printer को ही इस्तेमाल न करने लायक lock कर देता है
    • Bambu जिस non-technical user base को साफ तौर पर target कर रहा है, उसे देखते हुए authentication पर विचार करने की वजह technical रूप से समझ आती है
      लेकिन यह सभी third-party integrations को तोड़े बिना भी आसानी से किया जा सकता है। settings में पूरी तरह local तरीके से काम करने वाला एक toggle काफी है
  • अगर Prusa ने ध्यान न भटकाया होता, तो मैं Core One खरीदता। यहां मेरा मतलब BambuLab जैसी quality और बड़े print volume वाले एक काल्पनिक model से है
    इसके बजाय मैंने P1S खरीदा, और technically यह वाकई शानदार machine है

    • Prusa ने ध्यान नहीं भटकाया। बल्कि उन्होंने पहिया बनाया, original slicer का fork होने के बावजूद उसे काफी बेहतर बनाकर open source slicer तैयार किया, और Bambu ने लगभग वही लिया और EU के बजाय China में सस्ते में printers बनवाए
      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 जानकारी आएगी

    • मेरी समझ के मुताबिक LAN पर print करने के लिए Bambu के internet server से authenticate करना पड़ता है, और मैं यह बिल्कुल नहीं चाहता
      मेरे use case में यह चलेगा ही नहीं। मेरे printers China region में locked हैं, और मैं अभी China में नहीं हूँ, इसलिए उस server से connect नहीं कर सकता। यानी firmware update किया तो शायद अपने local network पर LAN printing भी नहीं कर पाऊँगा, और यह बहुत असहज लगता है
      printer खुद बहुत अच्छा है, लेकिन यह सब करने की जरूरत नहीं है
    • यह security नहीं, बल्कि vendor lock-in, या DRM है। अगर security होती, तो user-specific secret values पर based protocol काफी होता, और मूल रूप से इसे Bambu Lab के proprietary software से lock करने की जरूरत नहीं होती। username/password जैसी चीज़ सोचिए
      अभी जो दिख रहा है, वह users को Bambu Lab software से बांधे रखने वाली structure है। अगर कोई कहे कि bank account को Bambu Lab के “security fix” जैसे तरीके से protect करो, तो मैं इसे कभी allow नहीं करूंगा
    • key का इस्तेमाल महत्वपूर्ण operations, खासकर printing और G-code commands को sign करने में होता है: https://git.devminer.xyz/archive/bambu-connect/src/commit/47..., ज्ञात MQTT commands की list: https://github.com/Doridian/OpenBambuAPI/blob/main/mqtt.md
      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...

    • सच कहूँ तो जवाब अच्छा नहीं है। शुरुआत से ही defensive अंदाज में “subscription जरूरी हो जाएगा” जैसे झूठे दावों की list दी गई है, जबकि चिंता यह नहीं है कि Bambu ऐसा जरूर करेगा, बल्कि यह है कि वह ऐसा कर सकेगा, और printing path में Bambu infrastructure को अनिवार्य step के रूप में डालना अपने-आप में ठीक नहीं है
      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 दिन लगना आम बात थी

    • basic filament stock तक ठीक से manage नहीं कर पाते, basic support भी ढंग से नहीं दे पाते, फिर भी उन्हें लगता है कि वे print farm subscription लॉन्च करने के लिए तैयार हैं—यह थोड़ा मज़ाकिया है। growth बहुत तेज़ हो गई
    • समझ नहीं आता कि ऐसा क्या है जिसे ठीक नहीं किया जा सकता। जिन समस्याओं से मैं गुज़रा, उन सबके समाधान वाले videos YouTube पर मिल गए थे
  • 3D printers का 2D printers जितना user-hostile होते जाना चौंकाने वाला नहीं है। आजकल की तरह, “security” बहाना है

    • FDM 3D printer ecosystem में open source software, firmware और hardware इतने ज़्यादा हैं कि यह सामान्य printers जितना खराब हो जाएगा, ऐसा नहीं लगता। यह 2D printing की तुलना में कहीं ज़्यादा maker-centric ecosystem है
    • कम से कम 3D printer घर पर बनाया जा सकता है। मैंने कुछ साल पहले खुद बनाया था (https://lucasoshiro.github.io/hardware-en/2020-06-14-3d_prin...), और आजकल उससे बेहतर भी बनाया जा सकता है
    • 3D printing को आए काफी समय हो गया है, फिर भी एक या अधिक pencils या pens लगा सकने वाले ठीक-ठाक 2D plotter mods नहीं हैं—यह बात सच में समझ नहीं आती
      हैरानी है कि महंगी ink monopoly पर इस तरह हमला नहीं हुआ, और मुझे साफ़ याद है कि बचपन में grocery store kiosk रंगीन pencils से blank cards पर messages और images “print” करके देता था। यह बिल्कुल नई चीज़ नहीं है
    • मानना पड़ेगा कि 2D printers का printing system एक nightmare है। उदाहरण के लिए, Windows Secured Core PC सभी third-party printer drivers को disable कर देता है और केवल Mopria जैसे driverless open standards को support करता है
      जिन लोगों ने देखा है, उनके मुताबिक 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 है