モノのインターネット(IoT)のセキュリティが重要課題になり、既にルータなどを分散型サービス妨害(DDoS)攻撃の踏み台に悪用するといった被害も発生している。IoT機器のセキュリティ対策は、ソフトウェアとハードウェアの両面で必要とされるが、そのことを学ぶべく、ルータを分解してファームウェアの調査を試みるという勉強会に参加した。
勉強会を主催したストーンビートセキュリティは、コンサルティングや教育、調査などの各種セキュリティサービスを手がける。代表取締役の佐々木伸彦氏は、外資系セキュリティ企業で戦略やエバンジェリストなどを歴任した後に同社を設立、現在は行政機関でセキュリティのアドバイザリーなども担当する。
勉強会は2017年夏から毎月1~2回ペースで開催し、今回は初めて、IoTのセキュリティをハードウェアから学ぶことがテーマになった。IoTのセキュリティは、製造やIT、通信、行政などのさまざまな業界が関係し、中でも対策技術などの観点からITに対する期待は大きい。しかし、ハードウェアに詳しいITセキュリティ技術者は意外にも少なく、佐々木氏によれば、実際に機器を分解してみることで、IoTセキュリティの理解を深めてもらう狙いがあるという。
勉強会の様子
ルータの分解に四苦八苦
参加したのは、セキュリティ企業で脆弱性解析やシステムへの侵入テストなどを担当する第一線の技術者から新卒入社したばかりの若手、ユーザー系企業のIT担当者までさまざまだ。講師は、オープンソースのセキュリティに関する講演や技術解説書の執筆なども多数手がけているラピッド・セブン・ジャパン シニアテクニカルストラテジストの中村行宏氏が務めた。
勉強会では、中村氏や佐々木氏らが東京・秋葉原などのショップからかき集めた古いジャンク品のルータを分解し、内部の基板のICチップから専用機器でファームウェアのデータを分析する。普段の業務でソフトウェアやシステムを解析していても、手作業でルータを分解したり、基板をいじったりするのは学生時代に経験しただけという参加者が多い。
大まかな手順は下記の通りだ。
- ルータのケースを開いて基板を取り出す
- 基板からファームウェアが記録されているFlashメモリのチップを探す
- チップのピンにテストクリップを装着し、ROMプログラマと接続
- PCの専用ツールでチップ内のファームウェアデータを読み取る
- 読み取ったファームウェアデータを解析する
参加者は2人1組になって分解するルータを選び、分担しながら作業を進めていく。まずは内部基板を壊さないように、固く閉じられたケースを開けるのが大変な作業だ。ここだけで数十分を費やすチームもあった。
ようやく内部基板を取り出すと、次に難しい作業が、解析対象にするFlashメモリ探しだ。チップの表面に小さく記された文字列を手がかりに、インターネット検索などでメーカーや部品を探していくものの、なかなか見つけられない。うまく部品のデータシートまで見つかれば、これを参考にしてファームウェアデータの読み取り方法を検討していく。
いざチップを特定できても、ファームウェアデータの読み取りで苦戦するチームが相次いだ。基板に固定されたチップのピンにテストクリップを挟めない場合は、ホットエアーと呼ばれる機材で約300度の熱風を吹きつけ、基板からチップを取り外さないといけない。「基板は案外丈夫です」と中村氏がアドバイスするが、慣れない作業に中村氏にサポートを依頼するチームが相次いだ。
ようやくチップにテストクリップを挟み、次にROMプログラマ経由でファームウェアデータを読み取る段階でも各チームの苦戦が続いた。ピンの数は8本や16本といったように異なり、多いもの48本といったケースも。合致するアダプタを探したり、接続する向きが違ったりと苦闘が続く。
さらに、うまくROMプログラマを接続できても、専用ツール側にチップの部品情報が登録されておらず、ファームウェアデータを読み取れないという事態が多発した。こうなると作業は振り出しに戻り、基板に残っている別のチップで再びチャレンジする。最終的に約90分の勉強会でファームウェアデータの読み出しまで成功したチームは1組だけとなり、どのチームも時間切れでファームウェアの解析まではたどり着けなかった。
慣れてしまえば難しくない?
講師の中村氏によれば、今回の勉強会で紹介した手順やツールは基本的なものになるというが、それでもほとんどの参加者がハードウェアの分解作業に苦戦を強いられた。ファームウェアのデータさえを読み出せれば、後のソフトウェア解析作業は“お手の物”という参加者が多かっただけに、「IoT機器の物理的なハッキングはいかに大変かが分かった」と、今回の勉強会が参加者にとって新鮮な体験の場になったようだ。
中村氏も当初は分解作業で苦戦し、10台ほどの機器を壊してしまった経験があるとのこと。しかし作業に慣れれば、2時間程度でファームウェアを解析し、脆弱性の有無やその内容を調査できるという。なお、分解に必要な工具類は1万数千円ほどで入手可能。解析用ツールも多くがウェブ上に無償公開されており、使用方法などを詳しく解説したサイトもある。IoTのセキュリティに取り組む有志のコミュティー活動も盛んだ。
顕在化しているIoTを狙ったサイバー攻撃は、機器の乗っ取りを目的に、初期設定のまま十分な管理がなされていなかったり、ファームウェアの脆弱性を突いたりするものが多いと言われる。IoTのセキュリティでは、こうした稼働中の機器を適切に利用するだけでなく、設計や製造、サービス開発などの段階でも対策を講じることが重要とされるだけに、勉強会参加者の多くが、「IoTのセキュリティに取り組んでいく上で今回の経験を生かしたい」とコメントしていたのが印象的だ。
ストーンビートセキュリティでは、5月にも今回と同様のテーマで勉強会の開催を企画しているという。