株式会社セキュアイノベーション

    Menu

    セキュリティコラム

    • IoT機器

    公開:2021.09.27 10:00 | 更新: 2022.08.15 06:25

    binwalkを使用したIoT用ファームウェアの展開

    今回は、binwalkを使用したIoT用ファームウェアの展開についてご案内します。
    なお、対象ファイルの詳細は伏せますが、次のようなファイルを扱います。

    展開に使用するプログラム

    今回はbinwalkを使用していきます。
    ReFirmLabs/binwalk: Firmware Analysis Tool
    インストール方法は省略します。
    リポジトリにインストール方法が記載されているのでそちらを参照してください。

    ファームウェアの取得方法

    ファームウェアを取得するには次のような方法があります。

    • 基板から直接ファームウェアを取得する
    • IoT機器のファームウェアアップデート機能から取得する
    • メーカーのサポートサイトなどから取得する

    今回はメーカーのサポートサイトで公開されていたファームウェアを使用しました。

    構造解析

    binwalkの-Bオプションでファームウェアの構造解析から行っていきます。

    -Bオプションの説明は”Scan target file(s) for common file signatures”なので、対象ファイルをスキャンしてファイルシグネチャを検出してくれます。

    製品の特定に繋がりそうな文字列は伏せていますが、次のような構造になっていることが分かります。

    • Zipアーカイブ。何かPDFが入っている?
    • Zipアーカイブ。.binが入っているのでこれを抽出すればOSファイルが見れそう。
    • Zipアーカイブの終わり。

    自動展開

    とりあえず全部自動で展開してみます。

    出力は全て展開し終わるまで続きます。

    全ての展開が完了しました。

    ここでOSのファイルっぽいファイルがあるディレクトリまで移動してみます。

    ぽいのが見つかりました。

    binwalk-eオプションではファームウェアの自動展開を行い、-Mオプションで再帰的に行うことを指定しています。

    なので、自動展開する → 展開後のファイルを見て圧縮されたファイルが無いか見る → 圧縮されたファイルがあれば自動展開する → 展開後のファイルを見て圧縮されたファイルが無いか見る → … という流れを展開後のファイルを見て圧縮されたファイルが無い場面まで続けていきます。

    このようにファームウェアを展開していきます。

    まとめ

    他には、Zipファイルでなければddでデータの一部だけを抽出し、他のツールでそこだけ展開するという方法もあります。

    ファームウェアの展開は非常に簡単ですが、この後のバイナリ解析や秘匿しなければならないと思われる情報のハードコートが無いか見ていくという作業がかなり時間を消耗する作業になります。 今回はファームウェアの展開作業までを記載しました。

    なお、セキュアイノベーションではIoTセキュリティ診断も対応しております。
    ご興味ありましたらお問い合わせくださいませ。
     サービス:IoTセキュリティ診断

    最新のコラム記事

    LOADING...

    セキュアイノベーション サービス一覧

    ネットワーク・サーバー

    Webサイトを守る

    ヘルプデスク・サポート