Bambu Connectのリバースエンジニアリング分析
(wiki.rossmanngroup.com)-
Bambu Connectのリバースエンジニアリング
-
Bambu Connectの概要
- Bambu ConnectはElectronアプリであり、セキュリティが不透明な形で実装されているため、本質的に安全ではありません。
- このガイドは、ユーザーが購入した製品に対してより多くの権利を持てるよう支援することを目的としています。
-
セキュリティキー抽出プロセス
- Bambuデバイスとの通信に使用される「秘密鍵」を抽出する簡単な手順を説明しています。
- Bambu Connectのファイルを抽出するには、MacOSの.dmgファイルを使うほうが簡単です。
- アプリはasarmorを使って簡単に読めないよう保護されており、鍵は特定のパスに保存されています。
- Ghidraを使ってmain.nodeを読み込み、Auto-Analyzeを実行した後、GetKey関数を検索して鍵を抽出できます。
-
秘密鍵および証明書の抽出
- 秘密鍵と証明書はさらに難読化されており、これを明らかにするには複数段階の復号が必要です。
- Pythonを使って機密情報を抽出するサンプルコードが提供されています。
-
参考資料
- Bambu Connectの特定バージョンの.dmgファイルへのリンクが提供されています。
1件のコメント
Hacker Newsのコメント
Bambuのおとり商法に腹が立つ。Black Fridayセールのときに「ある程度ハック可能でオープンだ」と見てプリンターを買ったのに、今では承認されたソフトウェアとDRMチェーンなしでは自分のプリンターで印刷できないようにロックしようとしている
ハッキング関連の追加情報はこちら: https://hackaday.com/2025/01/19/bambu-connects-authenticatio...
どんなおとり商法があったと見ているのか、以前は公式に可能だったのに今はできなくなったことが何なのか、本当に気になる
最初からRFIDフィラメントスプールが他社に十分開かれていない点には少し不満があった
理解できないのは、BambuSlicerがオープンソースだという点。しかもPrusaSlicerのフォークなので、Bambuが勝手に再ライセンスすることもできない
ライセンスは派生著作物に非常に厳格なAffero GPLで、Bambuが追加したすべてのコードやロジック、キーなどをバイナリ配布に入れるなら、ソースも含めなければならない。そうでなければPrusaや多くの貢献者の著作権を侵害することになる
結局Bambuはこれをすべてオープンソースとして公開しなければならず、目的が崩れる。すでに流出しているので、どのみちそうなる可能性が高いか、あるいは自社スライサーでも別プログラムを経由させる必要がある
現在実装されているBambuネットワークプラグインもBambuStudioの一部ではなく、BambuStudioを開くとクライアントがダウンロードする
当初はまともなネットワーク、つまりクラウドではないLANサポートがなかったので、Bambuにはかなり反対していた。後からLANモードを追加して、実際に買おうか考えたが、怠けて買わなかったのが幸いだった
Bambu、一体何をしているんだ? セキュリティだって? HPでさえそんな言い訳はしない
https://store.bambulab.com/products/x1e
ただし、すべてのサードパーティ連携を壊さずに簡単に実現できる。設定に完全ローカルで動作するトグルを1つ用意すればいい
Prusaが脇道にそれていなければ、Core Oneを買っていただろう。ここで言っているのは、BambuLabと同等の品質で大きな造形ボリュームを持つ架空のモデルのこと
その代わりにP1Sを買ったが、技術的には本当に素晴らしい機械だ
Prusaは自社で600台のプリンターを運用している。商用グレードであり、商業デザインや試作に使うならPrusaを選ぶだろう。常時クラウド接続されたプリンターが自分の設計を海外に送らないようにしたいという理由もある
Louis Rossmannの関連解説: https://www.youtube.com/watch?v=aIyaDD8onIE
1か月ほど前にBambuプリンターを買って以来、この件を追い続けている。受け取ってすぐにセキュリティ状態が気に入らず、IoT VLANに隔離しつつメインPCから使えるようにするのにかなり手間がかかった
なので第一印象だけで言えばセキュリティ改善は歓迎だが、実際に何を持ち出してくるのか不安でもある
キーがどこに使われるのかも気になる。「キーを手に入れた」という話はよく見たが、そのキーが何に使われ、どう役に立つのか、あるいは本当に役に立つのかについての説明は見ていない
近いうちに、もっと興味深い続報としっかりした技術情報が出てくることを願う
私のユースケースではそもそも動作しない。私のプリンターは中国リージョンに固定されているが、今は中国にいないのでそのサーバーに接続できない。つまりファームウェアを上げると、ローカルネットワーク上でLAN印刷すらできなくなりそうで、とても気持ちが悪い
プリンター自体は素晴らしいが、わざわざこうする必要はない
今見えているのは、ユーザーをBambu Labのソフトウェアに縛り付ける構造だ。銀行口座をBambu Labの「セキュリティ修正」のような方式で保護しろと言われたら、絶対に許容しないだろう
ファームウェアはこれらの操作を検証し、署名のない、または不正なサードパーティ製ソフトウェアからのMQTTメッセージを拒否できる
このアプローチの大きな欠陥は、キーを抽出されるとサードパーティ製ソフトウェアが再びフルアクセス権を得ることだ
セキュリティ改善にはなっていない。プリンターやクラウドに脆弱性があったなら、この種の難読化レイヤーでは何も防げない
認証方式は以前と同じだ: https://git.devminer.xyz/archive/bambu-connect/src/commit/47...
Bambuの回答: https://blog.bambulab.com/updates-and-third-party-integratio...
truth about the updateの最初の項目では、「サードパーティ製ソフトウェアを制限しようとしているのではなく、セキュリティを強化しつつ連携を維持するためにBambu Connectを作り、Orca Slicerのような開発者たちと積極的に協力している」としているしかしOrcaSlicerの開発者はすでに[0]で、「Bambuはこの変更を発表の2日前に知らせてきた」と明かしている
Bambuの言う「協力」は、Orcaから実際の印刷開始を行う自社ソフトウェアへリダイレクトする実装を手伝うことのように見え、これはサードパーティ製ソフトウェアの制限に見える
「強制アップデートではなくベータテストであり、選択は皆さん次第だ」という言い方も奇妙だ。ベータファームウェアは、いずれリリース版ファームウェアになるためのものではないのか。むしろコミュニティの反発は、ベータトラックが意図どおり機能した証拠だ
Panda Touchについても、BambuはBTTに連絡してMQTTプロトコルの悪用を警告したとしているが、BQがすでに[1]で触れている。要するに、Bambuと協力しようとしたがほとんど反応がなく、今後のアップデートでMQTTが止まる可能性があるという警告だけを受けた。技術的には連絡したことになるが、実質的には「我々の製品を改善するな」と言ったに等しく、結局BambuはBQよりも自社の顧客を困らせている
さらに下では、Orca Slicerのようなサードパーティ製スライサーの利用体験に大きな違いはないとし、Orcaが新しいアプリを簡単に開き、そのアプリが印刷を開始できることを示している。だが、それこそがコミュニティが不満を述べていた点であり、Linuxサポートの欠如のような問題も解決していない
最後に新しいフローダイアグラムを示しているが、新しいソフトウェアが何をするのかは抜け落ちている。その新しいソフトウェアがクラウドとどのように、いつ、なぜ通信するのかが見えない
セキュリティを少しでも理解している人にとって、この変更はあまり筋が通っておらず、Bambuは実装しようとしているセキュリティプロトコルの説明としても不十分だ。私には、Bambu Connectアプリのどこかに個人証明書を埋め込み、プリンター要求への署名を始めたのではないかと思えるが、秘密鍵がすでに公開されているなら、セキュリティはまったく改善されていない
[0] https://github.com/SoftFever/OrcaSlicer/issues/8063#issuecom...
[1] https://old.reddit.com/r/BIGTREETECH/comments/1i5lzzf/latest...
「app.asarを先に修正せずに展開すると、暗号化されたmain.jsファイルと100GBのデコイファイルが生成されるのでやるな」というくだりは、正確にはzip爆弾ではないにせよ、かなりそれに近く、本当に腹立たしいやり方だ
Bambuはこんなことより、消耗品の供給とカスタマーサポートの拡充に力を入れるべき。チケット1件を解決するのに何週間もかかり、最初の返信まで8日かかるのが普通だった
3Dプリンターが2Dプリンターと同じくらいユーザーに敵対的になっていくのは驚くことではない。最近はいつもそうだが、「セキュリティ」が言い訳になっている
高価なインク独占がこういう形で攻撃されてこなかったのは驚きだし、子どものころ食料品店のキオスクで、色鉛筆で空白のカードにメッセージや画像を「印刷」してくれていたのをはっきり覚えている。まったく新しい話ではない
調べた人たちによれば、macOSやLinuxのCUPSもセキュリティの模範と言える可能性は低く、3か月前にはリモートコード実行をめぐる騒動もあった
OSの印刷スタックがめちゃくちゃなら、ネットワーク接続プリンターのファームウェアにはどんな恐怖が潜んでいるかわからない。セキュリティを名目にサードパーティ製インクカートリッジをブロックするというが、インクカートリッジがいったい何をするというのか? プリンターに送るデータでバッファオーバーフローを起こすのか? それともプリンターが本当にそこまで間抜けで、こちらが考えすぎていただけで、第一印象以上に弁解の余地がないのかもしれない