Analisis reverse engineering Bambu Connect
(wiki.rossmanngroup.com)-
Reverse engineering Bambu Connect
-
Ikhtisar Bambu Connect
- Bambu Connect adalah aplikasi Electron yang pada dasarnya tidak aman karena diimplementasikan dengan cara yang transparansi keamanannya tidak jelas.
- Panduan ini bertujuan membantu pengguna memiliki lebih banyak hak atas produk yang mereka beli.
-
Proses ekstraksi kunci keamanan
- Menjelaskan proses sederhana untuk mengekstrak "private key" yang digunakan untuk komunikasi dengan perangkat Bambu.
- Lebih mudah mengekstrak file Bambu Connect dengan menggunakan file MacOS .dmg.
- Aplikasi menggunakan asarmor untuk melindungi agar tidak mudah dibaca, dan kunci disimpan di jalur tertentu.
- Dengan memuat
main.nodedi Ghidra lalu menjalankan Auto-Analyze, Anda dapat mencari fungsiGetKeyuntuk mengekstrak kunci.
-
Ekstraksi private key dan sertifikat
- Private key dan sertifikat juga diobfuskasi lebih lanjut, sehingga diperlukan beberapa tahap dekripsi untuk memperjelasnya.
- Disediakan contoh kode Python untuk mengekstrak informasi rahasia.
-
Referensi
- Tersedia tautan ke file .dmg untuk versi tertentu Bambu Connect.
1 komentar
Opini di Hacker News
Saya marah dengan taktik umpan lalu ganti Bambu. Saat diskon Black Friday, saya membeli printer karena melihatnya “cukup bisa di-hack dan terbuka”, tetapi sekarang mereka mencoba menguncinya agar saya tidak bisa mencetak dengan printer saya sendiri tanpa software yang disetujui dan rantai DRM
Informasi tambahan terkait hacking ada di sini: https://hackaday.com/2025/01/19/bambu-connects-authenticatio...
Saya benar-benar penasaran, taktik umpan lalu ganti apa yang dimaksud, dan apa yang dulu secara resmi bisa dilakukan tetapi sekarang tidak bisa
Sejak awal saya agak tidak puas karena spool filamen RFID tidak cukup terbuka bagi vendor lain
Hal yang tidak saya pahami adalah BambuSlicer bersifat open source. Selain itu, karena merupakan fork dari PrusaSlicer, Bambu juga tidak bisa me-relicense sesukanya
Lisensinya adalah Affero GPL yang sangat ketat terhadap karya turunan, dan jika semua kode, logika, kunci, dan sebagainya yang ditambahkan Bambu dimasukkan ke distribusi biner, maka source code-nya juga harus disertakan. Kalau tidak, itu berarti melanggar hak cipta Prusa dan banyak kontributor
Pada akhirnya Bambu harus membuka semuanya sebagai open source sehingga tujuannya runtuh; dan karena sudah bocor, kemungkinan besar memang akan begitu, atau mereka harus membuat slicer mereka sendiri tetap melewati program terpisah
Plugin jaringan Bambu yang saat ini diimplementasikan juga bukan bagian dari BambuStudio; klien mengunduhnya saat membuka BambuStudio
Awalnya saya sangat menentang Bambu karena tidak ada dukungan jaringan yang layak, yakni dukungan LAN alih-alih cloud. Belakangan mereka menambahkan mode LAN sehingga saya sempat mempertimbangkan untuk benar-benar membelinya, dan untungnya saya terlalu malas sehingga tidak jadi beli
Bambu, sebenarnya kalian sedang apa? Keamanan? Bahkan HP pun tidak memakai alasan seperti itu
https://store.bambulab.com/products/x1e
Namun itu bisa dilakukan dengan mudah tanpa merusak semua integrasi pihak ketiga. Cukup satu toggle di pengaturan untuk beroperasi sepenuhnya secara lokal
Kalau Prusa tidak terdistraksi, saya akan membeli Core One. Yang saya maksud di sini adalah model hipotetis dengan kualitas seperti BambuLab dan volume cetak besar
Sebagai gantinya saya membeli P1S, dan secara teknis mesin itu benar-benar hebat
Prusa mengoperasikan 600 printer miliknya sendiri. Itu kelas komersial, dan jika saya menggunakannya untuk desain komersial atau pembuatan prototipe, saya akan memilih Prusa. Salah satu alasannya adalah saya tidak ingin printer yang selalu terhubung ke cloud mengirim desain saya ke luar negeri
Ulasan terkait dari Louis Rossmann: https://www.youtube.com/watch?v=aIyaDD8onIE
Saya membeli printer Bambu sekitar sebulan lalu dan terus mengikuti isu ini. Begitu menerimanya, saya tidak suka dengan kondisi keamanannya, dan butuh cukup banyak usaha untuk mengisolasinya di IoT VLAN sambil tetap bisa dipakai dari komputer utama
Jadi kalau hanya dari kesan pertama, perbaikan keamanan tentu saya sambut, tetapi saya juga cemas soal apa yang sebenarnya akan mereka keluarkan
Saya juga penasaran kunci itu dipakai untuk apa. Saya sering melihat cerita bahwa “kuncinya berhasil didapat”, tetapi belum melihat penjelasan tentang kunci itu dipakai untuk apa dan bagaimana kegunaannya, atau apakah memang berguna sama sekali
Semoga segera ada kabar yang lebih menarik dan informasi teknis yang solid
Dalam kasus penggunaan saya, ini bahkan tidak akan berfungsi. Printer saya terkunci ke wilayah Tiongkok, sementara saya saat ini tidak berada di Tiongkok, jadi saya tidak bisa mengakses server tersebut. Artinya kalau saya memperbarui firmware, sepertinya saya bahkan tidak akan bisa mencetak lewat LAN di jaringan lokal saya sendiri, dan ini sangat membuat tidak nyaman
Printernya sendiri bagus, tetapi tidak perlu sampai seperti ini
Yang terlihat sekarang adalah struktur yang mengikat pengguna ke perangkat lunak Bambu Lab. Kalau diminta melindungi rekening bank dengan cara seperti “perbaikan keamanan” ala Bambu Lab, saya pasti tidak akan mengizinkannya
Firmware dapat memverifikasi operasi ini dan menolak pesan MQTT dari perangkat lunak pihak ketiga yang tidak memiliki tanda tangan atau tanda tangannya salah
Kekurangan besar pendekatan ini adalah jika kuncinya diekstrak, perangkat lunak pihak ketiga kembali mendapatkan akses penuh
Tidak ada peningkatan keamanan. Jika printer atau cloud rentan, lapisan obfuscation seperti ini tidak akan mencegah apa pun
Metode autentikasinya sama seperti sebelumnya: https://git.devminer.xyz/archive/bambu-connect/src/commit/47...
Jawaban Bambu: https://blog.bambulab.com/updates-and-third-party-integratio...
Pada poin pertama
truth about the update, mereka mengatakan “kami tidak bermaksud membatasi perangkat lunak pihak ketiga; kami membuat Bambu Connect untuk memperkuat keamanan sambil mempertahankan integrasi, dan sedang aktif bekerja sama dengan pengembang seperti Orca Slicer”Namun pengembang OrcaSlicer sudah menyatakan di [0] bahwa “Bambu memberi tahu perubahan ini dua hari sebelum pengumuman”
“Kerja sama” yang dimaksud Bambu tampaknya adalah membantu implementasi pengalihan dari Orca ke perangkat lunak mereka sendiri yang benar-benar memulai pencetakan, dan ini terlihat seperti pembatasan perangkat lunak pihak ketiga
Pernyataan “ini bukan pembaruan paksa, melainkan uji beta dan pilihan ada di tangan kalian” juga aneh. Bukankah firmware beta ada untuk suatu hari menjadi firmware rilis? Justru penolakan komunitas adalah bukti bahwa jalur beta bekerja sebagaimana mestinya
Soal Panda Touch juga, Bambu mengatakan mereka menghubungi BTT untuk memperingatkan penyalahgunaan protokol MQTT, tetapi BQ sudah membahasnya di [1]. Ringkasnya, mereka mencoba bekerja sama dengan Bambu tetapi tidak mendapat banyak respons, hanya peringatan bahwa MQTT bisa berhenti berfungsi pada pembaruan mendatang. Secara teknis memang benar mereka menghubungi, tetapi pada praktiknya itu sama saja dengan mengatakan “jangan tingkatkan produk kami”, dan akhirnya Bambu membuat pelanggannya sendiri lebih kesulitan daripada BQ
Lebih jauh di bawah, mereka juga mengatakan pengalaman menggunakan slicer pihak ketiga seperti Orca Slicer tidak jauh berbeda, dan menunjukkan bahwa Orca bisa dengan mudah membuka aplikasi baru dan aplikasi itu memulai pencetakan. Namun justru itulah bagian yang dikeluhkan komunitas, dan itu juga tidak menyelesaikan masalah seperti tidak adanya dukungan Linux
Terakhir, mereka menyajikan diagram alur baru, tetapi tidak menjelaskan apa yang dilakukan perangkat lunak baru itu. Tidak terlihat bagaimana, kapan, dan mengapa perangkat lunak baru itu berkomunikasi dengan cloud
Bagi siapa pun yang sedikit saja memahami keamanan, perubahan ini tidak terlalu masuk akal, dan Bambu juga kurang menjelaskan protokol keamanan yang ingin mereka implementasikan. Menurut saya, bisa jadi mereka menanamkan sertifikat privat di suatu tempat dalam aplikasi Bambu Connect dan mulai menandatangani permintaan ke printer; tetapi jika kunci privatnya sudah dipublikasikan, keamanannya sama sekali tidak meningkat
[0] https://github.com/SoftFever/OrcaSlicer/issues/8063#issuecom...
[1] https://old.reddit.com/r/BIGTREETECH/comments/1i5lzzf/latest...
Bagian yang mengatakan “jangan coba mengekstraknya tanpa terlebih dahulu memodifikasi app.asar, karena itu akan menghasilkan file main.js terenkripsi dan file umpan 100GB” tampaknya memang bukan zip bomb secara persis, tetapi cukup mendekati, dan benar-benar cara yang menjengkelkan
Bambu seharusnya lebih memperhatikan pasokan consumable dan perluasan dukungan pelanggan daripada hal-hal seperti ini. Menyelesaikan satu tiket bisa memakan waktu berminggu-minggu, dan biasanya butuh 8 hari sampai mendapat balasan pertama
Tidak mengherankan kalau printer 3D makin berubah menjadi sama tidak bersahabatnya bagi pengguna seperti printer 2D. Seperti biasa belakangan ini, “keamanan” dijadikan alasan
Mengejutkan bahwa monopoli tinta mahal belum diserang dengan cara seperti ini, dan saya jelas ingat saat kecil ada kios di toko kelontong yang “mencetak” pesan dan gambar pada kartu kosong dengan pensil warna. Ini sama sekali bukan hal baru
Menurut orang-orang yang pernah menelitinya, CUPS di macOS dan Linux kemungkinan juga bukan teladan keamanan, dan 3 bulan lalu sempat ada kontroversi eksekusi kode jarak jauh
Kalau stack pencetakan di sistem operasi saja berantakan, entah horor apa yang tersembunyi di firmware printer yang terhubung jaringan. Katanya mereka memblokir kartrid tinta pihak ketiga atas nama keamanan, tapi memangnya apa yang bisa dilakukan kartrid tinta? Menyebabkan buffer overflow lewat data yang dikirim ke printer? Atau mungkin printernya memang sebodoh itu sehingga kitalah yang terlalu rumit memikirkannya, dan kondisinya bahkan lebih tidak bisa dimaafkan daripada kesan pertama