世界を動かす技術を、日本語で。

私が所有するすべて、所有していたもの

2026年8月24日原文(schlarp.com)

概要

  • 周辺機器のファームウェア逆アセンブル体験談のまとめ
  • 各デバイスのセキュリティ上の弱点と改造事例を紹介
  • Claude Opus 5を活用したエージェント駆動型リバースエンジニアリングの手法
  • セキュリティの観点から見たリスクと今後の課題を指摘
  • 具体的なデバイスごとの発見内容とGitHubリポジトリへのリンク

エージェント駆動型リバースエンジニアリング体験記

  • 周辺機器は 小型コンピュータ であり、ファームウェア更新機構と ホストとのデータ接続 を持つため、リバースエンジニアリングに最適
  • 解析プロセス
    • メーカーから ファームウェアとアップデートツール を入手
    • 逆アセンブル環境に投入し、 Claude Opus 5 に目標を指示
    • 目標例
      • ファームウェアアップデートの フォーマットとプロトコル逆解析
      • 独自アップデートツールの実装
      • アップデートプロトコルの セキュリティ特性 (チェックサム、署名検証、Secure Boot等)の調査
      • 静的・動的解析による 全プロトコル面と機能の列挙
      • 隠し機能やデバッグ機能の発見とアクセス方法の特定
  • 解析結果はGitHubリポジトリで公開、 約13時間のClaude作業 で5台を調査

Insta360 Link Webcam

  • RTOS(ThreadX) 上で動作、顔認識やジェスチャー検出などの ビジョンモデル を搭載
  • USB Video Class経由で mass storageモード へ切り替え可能、ファームウェア更新が容易
  • もう一つのコマンドチャネルで ファイルの読み書き・再起動 が可能、 改ざん防止はMD5ハッシュのみ
  • LEDインジケータ の点灯パターンをファームウェアで管理、テーブル書き換えで 録画中でもLED非点灯 を実現
  • ジンバルの動きで録画状態を判別可能だが、 ステルス性のリスク を指摘

ASUS ROG Swift PG42UQ モニター

  • A/B二重スロット方式 と簡単なチェックサムのみ、 書き換え制限なし
  • ファームウェア更新はI2Cバス 経由で実施
  • ピクセルクリーニング警告 の無効化パッチを作成、ただし未適用
  • DDC/CIインターフェース の活用で、シェルスクリプトによる入力切替やオーバーレイ制御が可能
  • Linux環境での利便性向上

Shure MV7 マイクロフォン

  • USB HIDベンダークラス プロトコル経由で プレーンテキストコマンドシェル を実装
  • 48種類のコマンド、WebHID経由でChromeから操作可能なWeb UIを作成
  • DSPノブ設定、メモリ読み書き、LED制御、4段階のユーザ権限 (認証は単純な文字列比較)
  • touch panelの無効化やLED独立制御 などの隠し機能を発見
  • ファームウェア更新や脆弱性確認も実施

Elgato Cam Link 4K ビデオキャプチャ

  • HDMIキャプチャデバイス、MCUイメージとFPGAビットストリームを搭載
  • ファームウェア更新経路に保護なし
  • EDID情報抽出 で対応解像度やリフレッシュレート等を完全把握
  • ベンダーHIDプロトコル で内部I2Cバスへのアクセスも可能

Elgato Key Light Mini

  • WiFi接続型デバイスEd25519署名+SHA-512ハッシュ によるファームウェア検証
  • アップデート時のみ署名検証、ブート時やSecure Bootは未実装
  • HTTP POST経由のUARTメモリポークコマンド で署名検証をバイパス可能
  • 任意ファームウェアの書き換え が現実的、 ネットワークセキュリティの脆弱性 を指摘

セキュリティと今後の課題

  • 周辺機器のファームウェア改ざん が容易になりつつあり、 標的型攻撃の敷居が低下
  • OSレベルで デバイスの本来機能保証 が困難、 WebUSB/WebHID/WebBluetooth による永続的バックドアリスク
  • ネットワーク接続型デバイスのセキュリティ は依然として深刻な課題
  • ハードウェアのオープン性セキュリティリスク のバランスが今後の課題

Hackerたちの意見

将来的には、サポートが終了するアプリが必要なデバイスの計画的陳腐化を終わらせられることを願ってるよ。リバースエンジニアリングで代替品を作るのがいい感じだね。

代替アプリはベンダー署名のイメージを送信して、署名チェックをデバイスに任せることができるよ。公式アプリが消えた後はかなり便利だね。

数週間前にエージェントを使ってSupernoteのノートファイルフォーマットをリバースエンジニアリングしたんだ。コミュニティは何年もこのフォーマットに関するドキュメントを求めてたけど、数時間でエージェントが20個以上のファイルフォーマットの例と30個以上のプロンプトを使ってフォーマットを逆算できたよ。ニッチなデバイスのために手作業でやる価値は全然なかったけど、今は数時間の努力で動くコードとドキュメントができたんだ。 https://github.com/philips/supernote-typescript/blob/main/pl... https://philips.github.io/supernote-typescript/

私はSupernoteを持ってるけど、あまりヘビーユーザーじゃないんだ。ちょっと気になったんだけど、Supernoteのノートファイルフォーマットをリバースエンジニアリングすることでどんなメリットがあるの?他のデバイスにノートを移動できるようになるのは超クールだと思うんだけど、それが一番のメリットかな。

LLMの成果は素晴らしいし、TSの実装も新しいけど、既存のPythonのリバースエンジニアリングがいくつかあるよ。例えば、https://github.com/jya-dev/supernote-tool :)

LLMを使ったリバースエンジニアリングやバグハンティングはすごく楽しいよ。今日はGoogleのVRPにすごいバグを報告したんだ。その脆弱性はソースがないHTTP APIエンドポイントにあって、クライアントロジックだけをリバースエンジニアリングしたんだ。バグのアイデアは自分のもので、「まさか彼らがxyzを忘れるなんてことはないだろう」って感じのやつ。脆弱性を探るためのコードを手作業で書くのは数時間かかる作業だったけど、過去は成功の可能性が低すぎてやる気にならなかった。でも、今回は一文のプロンプトだったから、やってみたらうまくいったよ!

重要なポイント: > WebUSB、WebHID、WebBluetoothの存在は、特定のクラスが使われるデバイスにおいて、ユーザーが権限のプロンプトを受け入れた瞬間に、接続されているデバイスの一つが永久にバックドア化される可能性があることを意味する。

だからほとんどのブラウザがこの仕様を拒否したんだよね。めっちゃ便利なんだけど、セキュリティリスクが半端ない。ほとんどのUSBデバイスは、インターネットにさらされることを想定して作られてないからね。

俺にとっての重要なポイントは、彼が300ドルのマイクを買って、自分のハードウェアにコマンドシェル経由でアクセスできることに驚いてるってこと。今はハードウェアがロックされてることを期待、いや、要求する時代なのか?全てのUSBマイクはおもちゃみたいなもんだし、アナログインターフェースは消えちゃった。今はデバイスに詰め込まれてるし、マイクは全部アナログだよ。

前の文も同じくらい先見の明があるね。> 「オペレーティングシステムは、マイクがマイクのままでいることをユーザーと一緒に確保するために本当に装備されていない。静かな部屋で、見ていないと仮定できるときに、勝手にキーボードに変わってWin+Rを押してデータを盗むペイロードを落とすことがある。」 USB-Cがすべてになった世界では、物理的に電力供給に縛られた電源や、制約のあるデータチャンネルを持つHDMIやDPのディスプレイ接続、アナログマイク、ヘッドフォン、スピーカーがなくなった。どんなデバイスでも、感知するもの、行うこと、発するものを動的に変えることができる。

実際に改造ファームウェアを書こうと思うほど勇気が出てないんだ - かなり高価なモニターだからね - でもそのうちやるつもり。正直、動くパッチがないなら、本当に所有してるとは言えないよ。安全に段階的にファームウェアをパッチする方法をもっと理解したいな。先週、TFTPブートパスをブートパーティションに追加しようとしてルーターをブリックしちゃったんだ。リスクが高すぎるのが本当に辛い。関連して、安いデバイスのファームウェアでも暗号化されてないものがないから、良いグリッチングツールが必要だね。フラッシュリードも無効になってるし... まだそこには至ってないけど、早くそこにたどり着けるといいな。

はんだごてやチップクリップを使う準備ができてるなら、通常はファームウェアを保存しているICをバックアップしたり復元したりできるから、リカバリーパスがあるよ。> 「いいグリッチツールも必要だね」 もうたくさんあるけど、何が足りないと思う?

Hacker Newsで議論の続きを見る