2 điểm bởi GN⁺ 2025-01-21 | 1 bình luận | Chia sẻ qua WhatsApp
  • Đảo ngược Bambu Connect

  • Tổng quan về Bambu Connect

    • Bambu Connect là một ứng dụng Electron, được triển khai theo cách thiếu minh bạch về bảo mật nên về bản chất là không an toàn.
    • Hướng dẫn này nhằm giúp người dùng có nhiều quyền hơn đối với sản phẩm mà họ đã mua.
  • Quy trình trích xuất khóa bảo mật

    • Mô tả một quy trình đơn giản để trích xuất "khóa riêng tư" dùng cho việc giao tiếp với thiết bị Bambu.
    • Dùng tệp MacOS .dmg để trích xuất các tệp của Bambu Connect sẽ dễ hơn.
    • Ứng dụng dùng asarmor để bảo vệ nhằm không thể dễ dàng đọc được, và khóa được lưu ở một đường dẫn cụ thể.
    • Có thể tải main.node bằng Ghidra, chạy Auto-Analyze, sau đó tìm hàm GetKey để trích xuất khóa.
  • Trích xuất khóa riêng tư và chứng chỉ

    • Khóa riêng tư và chứng chỉ còn bị làm rối thêm, và cần nhiều bước giải mã để làm rõ chúng.
    • Có cung cấp mã ví dụ dùng Python để trích xuất thông tin bí mật.
  • Tài liệu tham khảo

    • Có cung cấp liên kết đến tệp .dmg của một phiên bản cụ thể của Bambu Connect.

1 bình luận

 
GN⁺ 2025-01-21
Các ý kiến trên Hacker News
  • Tức giận với chiêu mồi nhử rồi đổi kèo của Bambu. Trong đợt giảm giá Black Friday, tôi mua máy in vì thấy nó “có thể hack ở mức nào đó và khá mở”, nhưng giờ họ đang cố khóa lại để tôi không thể in bằng máy in của mình nếu không có phần mềm được phê duyệt và chuỗi DRM
    Thông tin bổ sung liên quan đến việc hack ở đây: https://hackaday.com/2025/01/19/bambu-connects-authenticatio...

    • Nói là chiêu mồi nhử rồi đổi kèo thì hơi quá; với những người ủng hộ máy in 3D mã nguồn mở, chuyện này đã có thể thấy trước từ xa. Ngay từ đầu Bambu đã rất rõ ràng về kế hoạch này, và chính họ cũng nói là làm theo “mô hình Apple”. Họ đã thể hiện khá minh bạch, vậy mà mọi người vẫn mắc vào
    • Không hiểu vì sao lại nghĩ nó có thể hack hoặc mở. Ngay từ lúc X1 ra mắt, firmware đã đóng, mức kiểm soát cũng chặt, và đó là sự đánh đổi mà những người mua máy in này chấp nhận
      Thật sự tò mò bạn cho rằng đã có kiểu mồi nhử rồi đổi kèo nào, và trước đây có thứ gì chính thức làm được mà bây giờ không làm được
    • Vẫn có thể in bằng thẻ SD mà không cần phần mềm riêng hay dịch vụ online, giống máy in Prusa. Thứ bị khóa là các tính năng phía máy chủ/Internet, và đúng là sẽ tốt nếu phía đó cũng mở, nhưng chức năng in cục bộ vẫn hoạt động hoàn toàn không hạn chế
    • Bambu chưa từng quảng cáo hay hỗ trợ chính thức việc “có thể hack” hoặc “mở”. Quyết định mua dựa trên một tính năng không được hỗ trợ cũng không được quảng cáo là thiếu khôn ngoan; có thể tức giận, nhưng trông cũng hơi lạ
    • Tôi tò mò nhận thức “có thể hack ở mức nào đó và khá mở” đó đến từ đâu. Tôi khá hài lòng với máy in Bambu, nhưng chưa bao giờ hiểu rằng nó có thể hack, càng chưa từng xem nó là mở
      Ngay từ đầu tôi đã hơi không hài lòng vì cuộn filament RFID không đủ mở cho các nhà cung cấp khác
  • Điều tôi không hiểu là BambuSlicer là mã nguồn mở. Hơn nữa, vì nó là fork của PrusaSlicer nên Bambu cũng không thể tùy ý đổi giấy phép
    Giấy phép là Affero GPL, rất nghiêm ngặt với tác phẩm phái sinh; nếu Bambu đưa toàn bộ mã, logic, khóa, v.v. mà họ thêm vào bản phân phối nhị phân, thì họ cũng phải kèm theo mã nguồn. Nếu không, họ sẽ vi phạm bản quyền của Prusa và rất nhiều người đóng góp
    Cuối cùng Bambu sẽ phải công khai tất cả thứ này dưới dạng mã nguồn mở, khiến mục đích ban đầu sụp đổ; và vì nó đã bị rò rỉ rồi nên dù sao khả năng cao cũng sẽ như vậy, hoặc họ phải bắt ngay cả slicer của mình đi qua một chương trình riêng

    • BambuConnect không phải là một phần của BambuStudio. Nó được cố ý tách riêng để BambuLab không phải chia sẻ hay công khai dưới dạng mã nguồn mở
      Plugin mạng Bambu đang được triển khai hiện nay cũng không phải là một phần của BambuStudio; client tải nó xuống khi mở BambuStudio
  • Ban đầu tôi rất phản đối Bambu vì họ không hỗ trợ mạng đúng nghĩa, tức là hỗ trợ LAN thay vì cloud. Sau này họ thêm chế độ LAN nên tôi đã cân nhắc mua thật, nhưng may là vì lười nên đã không mua
    Bambu, rốt cuộc các anh đang làm gì vậy? Bảo mật ư? Ngay cả HP cũng không dùng cái cớ đó

    • Bambu Lab đã khá rõ ràng về điểm này. Máy in dành cho người tiêu dùng phụ thuộc vào dịch vụ cloud, còn với những người cần hoặc muốn in trong LAN riêng, họ cung cấp X1E
      https://store.bambulab.com/products/x1e
    • HP thì nếu không trả tiền hằng tháng sẽ khóa luôn, không cho dùng máy in nữa
    • Nếu xét đến nhóm người dùng không chuyên kỹ thuật mà Bambu rõ ràng đang nhắm tới, về mặt kỹ thuật có thể hiểu vì sao họ muốn cân nhắc xác thực
      Nhưng hoàn toàn có thể làm điều đó mà không phá hỏng mọi tích hợp bên thứ ba. Chỉ cần một nút gạt trong cài đặt để hoạt động hoàn toàn cục bộ là được
  • Nếu Prusa không sao nhãng, tôi đã mua Core One rồi. Ý ở đây là một mẫu máy giả định có chất lượng như BambuLab và khổ in lớn
    Thay vào đó tôi đã mua P1S, và về mặt kỹ thuật thì nó thật sự là một cỗ máy tuyệt vời

    • Prusa không hề sao nhãng. Ngược lại, họ đã phát minh ra bánh xe, tạo ra một slicer mã nguồn mở vốn là fork của slicer ban đầu nhưng được cải tiến rất nhiều; còn Bambu thì gần như lấy thứ đó rồi sản xuất máy in rẻ hơn ở Trung Quốc thay vì EU
      Prusa tự vận hành 600 máy in. Đó là cấp thương mại, và nếu dùng cho thiết kế thương mại hoặc tạo mẫu, tôi sẽ chọn Prusa. Một lý do nữa là tôi muốn máy in luôn kết nối cloud không gửi thiết kế của mình ra nước ngoài
  • Phần bình luận liên quan của Louis Rossmann: https://www.youtube.com/watch?v=aIyaDD8onIE

  • Tôi đã mua một máy in Bambu khoảng một tháng trước và vẫn theo dõi vấn đề này suốt. Ngay khi nhận máy, tôi đã không hài lòng với tình trạng bảo mật, và phải tốn khá nhiều công sức để vừa cô lập nó trong IoT VLAN vừa vẫn dùng được từ máy tính chính
    Vì vậy, nếu chỉ xét ấn tượng ban đầu thì tôi hoan nghênh cải thiện bảo mật, nhưng cũng lo không biết thực tế họ sẽ đưa ra thứ gì
    Tôi cũng tò mò khóa được dùng vào việc gì. Tôi thấy nhiều người nói “đã lấy được khóa”, nhưng chưa thấy ai giải thích khóa đó dùng để làm gì, hữu ích ra sao, hay thậm chí có hữu ích thật không
    Hy vọng sớm có thêm tin thú vị và thông tin kỹ thuật vững chắc hơn

    • Theo tôi hiểu, để in qua LAN thì phải xác thực với máy chủ Internet của Bambu, và đó là điều tôi tuyệt đối không muốn
      Với trường hợp sử dụng của tôi thì nó hoàn toàn không hoạt động. Các máy in của tôi bị khóa theo khu vực Trung Quốc, nhưng hiện tôi không ở Trung Quốc nên không thể kết nối tới máy chủ đó. Nghĩa là nếu nâng firmware, có vẻ tôi sẽ không thể in qua LAN ngay cả trong mạng cục bộ của mình, và điều đó rất khó chịu
      Bản thân máy in thì rất tuyệt, nhưng không cần phải làm như thế này
    • Đây không phải là bảo mật mà là khóa chặt vào nhà cung cấp, hoặc DRM. Nếu là bảo mật, chỉ cần một giao thức dựa trên bí mật riêng cho từng người dùng là đủ, về bản chất không cần khóa vào phần mềm độc quyền của Bambu Lab. Cứ nghĩ đến thứ như tên người dùng/mật khẩu là được
      Những gì đang thấy là một cấu trúc buộc người dùng gắn với phần mềm của Bambu Lab. Nếu bảo vệ tài khoản ngân hàng theo kiểu “bản vá bảo mật” của Bambu Lab, tôi chắc chắn sẽ không bao giờ chấp nhận
    • Khóa được dùng để ký các thao tác quan trọng, đặc biệt là lệnh in và lệnh G-code: https://git.devminer.xyz/archive/bambu-connect/src/commit/47..., danh sách các lệnh MQTT đã biết: https://github.com/Doridian/OpenBambuAPI/blob/main/mqtt.md
      Firmware có thể xác minh các thao tác này và từ chối các thông điệp MQTT từ phần mềm bên thứ ba nếu không có chữ ký hoặc chữ ký sai
      Lỗ hổng lớn của cách tiếp cận này là một khi trích xuất được khóa, phần mềm bên thứ ba lại có toàn quyền truy cập
      Không có cải thiện bảo mật nào cả. Nếu máy in hoặc đám mây có lỗ hổng, lớp làm rối này không ngăn được gì
      Cách xác thực vẫn giống như trước: https://git.devminer.xyz/archive/bambu-connect/src/commit/47...
  • Phản hồi của Bambu: https://blog.bambulab.com/updates-and-third-party-integratio...

    • Thành thật mà nói, phản hồi này không tốt lắm. Ngay từ đầu họ đã mang giọng phòng thủ, liệt kê những cáo buộc sai như “sẽ cần đăng ký thuê bao”, trong khi mối lo không phải là Bambu chắc chắn sẽ làm vậy, mà là họ sẽ có khả năng làm vậy, và bản thân việc chèn hạ tầng của Bambu thành một bước bắt buộc trong đường đi của lệnh in đã là không hay
      Ở mục đầu tiên của truth about the update, họ nói “không nhằm hạn chế phần mềm bên thứ ba, mà đã tạo Bambu Connect để tăng cường bảo mật đồng thời duy trì tích hợp, và đang tích cực hợp tác với các nhà phát triển như Orca Slicer”
      Nhưng nhà phát triển OrcaSlicer đã nói ở [0] rằng “Bambu chỉ thông báo thay đổi này hai ngày trước khi công bố”
      “Hợp tác” mà Bambu nói có vẻ giống việc giúp Orca triển khai chuyển hướng sang phần mềm của chính họ để thực sự bắt đầu lệnh in, và điều này trông như hạn chế phần mềm bên thứ ba
      Câu “đây không phải cập nhật bắt buộc mà là thử nghiệm beta, lựa chọn là của các bạn” cũng kỳ lạ. Firmware beta chẳng phải tồn tại để một ngày nào đó trở thành firmware phát hành chính thức sao? Ngược lại, phản ứng của cộng đồng chính là bằng chứng cho thấy kênh beta đã hoạt động đúng như mục đích
      Về Panda Touch, Bambu cũng nói rằng họ đã liên hệ BTT để cảnh báo việc lạm dụng giao thức MQTT, nhưng BQ đã nói đến chuyện này ở [1]. Tóm lại, họ đã cố hợp tác với Bambu nhưng không nhận được nhiều phản hồi, chỉ nhận cảnh báo rằng MQTT có thể ngừng hoạt động trong các bản cập nhật sau. Về mặt kỹ thuật thì đúng là có liên hệ, nhưng thực chất chẳng khác nào nói “đừng cải tiến sản phẩm của chúng tôi”, và cuối cùng Bambu đang gây khó cho chính khách hàng của mình hơn là cho BQ
      Ở phần dưới nữa, họ cũng nói trải nghiệm dùng slicer bên thứ ba như Orca Slicer không khác biệt nhiều, và cho thấy Orca có thể dễ dàng mở ứng dụng mới rồi ứng dụng đó bắt đầu in. Nhưng đó chính là điểm cộng đồng phàn nàn, và cũng không giải quyết được các vấn đề như thiếu hỗ trợ Linux
      Cuối cùng họ đưa ra sơ đồ luồng mới, nhưng lại thiếu phần mô tả phần mềm mới làm gì. Không thấy phần mềm mới giao tiếp với đám mây như thế nào, khi nào và vì sao
      Với bất kỳ ai biết chút ít về bảo mật, thay đổi này không hợp lý lắm, và Bambu cũng chưa giải thích đủ về giao thức bảo mật mà họ định triển khai. Theo tôi, có thể họ đã nhúng một chứng chỉ riêng đâu đó trong ứng dụng Bambu Connect và bắt đầu ký các yêu cầu gửi tới máy in; nhưng nếu khóa riêng đã bị công khai rồi thì bảo mật chẳng được cải thiện chút nào
      [0] https://github.com/SoftFever/OrcaSlicer/issues/8063#issuecom...
      [1] https://old.reddit.com/r/BIGTREETECH/comments/1i5lzzf/latest...
  • Đoạn “nếu giải nén mà không sửa app.asar trước, nó sẽ tạo ra file main.js đã mã hóa và một file mồi nhử 100GB, nên đừng thử” trông khá gần với zip bomb, dù không hẳn chính xác là vậy, và đúng là một cách làm rất khó chịu

  • Bambu nên tập trung vào cung ứng vật tư tiêu hao và mở rộng hỗ trợ khách hàng hơn là những thứ như thế này. Mất vài tuần để xử lý một ticket, và việc phải chờ 8 ngày mới có phản hồi đầu tiên là chuyện bình thường

    • Không giữ nổi tồn kho filament cơ bản, hỗ trợ cơ bản cũng không làm cho ra hồn, vậy mà nghĩ mình đã sẵn sàng ra mắt gói đăng ký print farm thì hơi buồn cười. Họ đã tăng trưởng quá nhanh
    • Tôi không biết có gì là không thể sửa được. Tất cả vấn đề tôi gặp đều có thể tìm thấy video hướng dẫn cách khắc phục trên YouTube
  • Việc máy in 3D dần trở nên thù địch với người dùng như máy in 2D cũng không có gì đáng ngạc nhiên. Như mọi khi gần đây, “bảo mật” là cái cớ

    • Ở mảng máy in 3D FDM có quá nhiều phần mềm, firmware và phần cứng mã nguồn mở, nên tôi không nghĩ nó sẽ tệ như máy in thông thường. Đây là một hệ sinh thái lấy maker làm trung tâm hơn nhiều so với in 2D
    • Ít nhất thì máy in 3D có thể tự làm ở nhà. Tôi đã tự làm một chiếc vài năm trước (https://lucasoshiro.github.io/hardware-en/2020-06-14-3d_prin...), và ngày nay còn có thể làm được những chiếc tốt hơn
    • Dù in 3D đã xuất hiện khá lâu, tôi thật sự không hiểu vì sao vẫn chưa có bản độ plotter 2D đúng nghĩa nào có thể gắn một hoặc nhiều bút chì hay bút mực
      Thật ngạc nhiên là thế độc quyền mực in đắt đỏ chưa bị tấn công theo cách này, và tôi nhớ rõ hồi nhỏ từng thấy một kiosk ở cửa hàng tạp hóa “in” thông điệp và hình ảnh lên thiệp trắng bằng bút chì màu. Đây hoàn toàn không phải chuyện mới
    • Công bằng mà nói, hệ thống in ấn của máy in 2D đúng là ác mộng. Ví dụ, Windows Secured Core PC vô hiệu hóa mọi driver máy in bên thứ ba và chỉ hỗ trợ các tiêu chuẩn mở không cần driver như Mopria
      Theo những người đã xem xét, CUPS trên macOS và Linux có lẽ cũng khó được xem là hình mẫu về bảo mật, và 3 tháng trước còn có tranh cãi về thực thi mã từ xa
      Nếu stack in ấn của hệ điều hành đã hỗn loạn như vậy, ai biết trong firmware của máy in kết nối mạng còn ẩn chứa nỗi kinh hoàng nào. Họ nói chặn cartridge mực bên thứ ba là vì bảo mật, nhưng cartridge mực thì rốt cuộc làm được gì? Gây tràn bộ đệm bằng dữ liệu gửi tới máy in à? Hay là máy in thật sự ngu ngốc đến mức đó, còn chúng ta đã nghĩ quá nhiều, và chuyện này còn khó bào chữa hơn ấn tượng ban đầu