ハードウェアの脆弱性(3)

サイバーレジリエンス
意外なハードウェアが脆弱
 前回はUSB充電器や偽部品を例として、ハードウェア脆弱性の性質について紹介しました。皆さんの隣の机にある USB充電器が日本製かどうか、確認されたでしょうか。プロトコル脆弱性の回でも説明しましたが、「プラグ・アンド・プレイ」に対応した機器は、見知らぬ大人に平気でついていってしまう子供のように危ないので、気をつけたいですね。(前回のコラム
 今回もバックドアをテーマに、セキュリティ専門家でなくても知っておきたいハードウェアの脆弱性の性質について、思いつくままに紹介したいと思います。

 バックドアはどういったところに仕掛けられるのでしょうか。USB充電器であれプリンタであれ、重さをグラム単位で測って、偽部品が入っているのを見つければバックドアは防げるのでしょうか。あるいは、インターネットから手当たり次第にポートスキャンすれば見つかるものでしょうか。
 これまでに見つかった事例から言えることは、ハードウェアの構成を調べれば調べるほど「意外なところに脆弱性があるんだな」と気づかされる、ということです。

 どういうことでしょうか。

 たとえば皆さんがお使いのスマートフォンを考えてみましょう。そのハードウェア構成を即答できる人はどれくらいでしょうか。スマートフォンの中にCPUは一つでしょうか(クアッドコアあるいは、デュアルコアかもしれませんが、それも一つに数えましょう)。スマートフォンが無線通信するために、無線専用の小さなCPUを別に持っている、ということを知りつつスマートフォンを使っている人はどれくらいいるでしょうか。

 2014年に、あるメーカーのスマートフォンの無線通信チップからスマートフォン本体のファイルを読み書きできるかもしれない、という脆弱性が指摘され、大きな話題となりました。このような無線通信チップのセキュリティ問題はじつは根深く、2012年に有名なセキュリティ系の国際会議で指摘されて以来、幾度か話題になっています。経験上、数年にわたって何度か話題になる脆弱性というのは将来にわたっても問題となることが多いため、特に無線を使うことが多いIoTでは今後、問題となることでしょう。

 別の事例を挙げましょう。皆さんが使っているパソコンのハードウェア構成を即答できる人はどれくらいでしょうか。おなじ質問になりますが、そのパソコンにCPUは何個入っていますか。
 最近のサーバやデスクトップパソコンは、CPUのほかに、電源管理や遠隔管理のために小さなCPUを別に持っていることがあります。しかもあろうことか、独自のOSまで動いていて、パソコン本体の電源を落としていても通電していれば機能しています(遠隔から電源をオンオフできるように、という目的もあるので、当たり前といえば当たり前ですね)。この、管理用途の小さなCPUに脆弱性があり、その独自OSの上で任意のプログラムが実行できてしまい、パソコン本体のメモリを読み書きできる可能性がある、というニュースが2017年に世界を駆け巡り、関係者を震撼させました。

 いずれのケースも、スマートフォンやパソコンのOSでしっかり守っているつもりが、無線通信チップや遠隔管理チップが抜け道になってしまうため、バックドアだと言えるでしょう。
ファームウェアの脆弱性
 ここまでに述べてきた問題を一言でまとめるキーワードがあるとすれば「ファームウェアの脆弱性」でしょう。

 では、ファームウェアとは何でしょうか。一般的にソフトウェアと言えば、アプリケーションやOSのことを指しますが、それらの動作を支えるために動いているディスク、上述の無線チップや管理チップなども小さなCPUを持っており、小さなOSや、OSとまでは呼べない小さなプログラムが動いていることがあります。これらの周辺ハードウェアを正常に動作させるためのソフトウェア(利用者からは必ずしもソフトウェアとして認識されていないもの)を総称してファームウェアと呼びます。

 最近、WindowsやMacOS,AndroidやiOSなどのOSでセキュリティ対策が進んできており、OSの脆弱性を狙うことが難しくなってきたので、相対的に、これまでチェックの甘かったファームウェアが狙われているのです。ファームウェアは出荷時にハードウェアにあらかじめセットされているプログラムのようなもので、電源を入れたら動作する独自仕様のプログラムで良いので解析は難しいと思われがちですが、実際には製品化の時間を短縮するため、Linuxなどオープンソースの技術を活用することが多く、一般に思われているより解析は容易です。
 実際、2016年には、Linuxが使われたファームウェア1925件を全自動で解析し、そのうちの185件から重要な脆弱性を発見したという報告もありました。
 またファームウェアは、セキュリティ対策ソフトにとっても検査対象外となりやすい箇所です。OSやアプリケーションなどのソフトウェアが改ざんされたかどうかを検査するものは多くありますが、ファームウェアが改ざんされたかどうかまで検査する製品はあまり多くありません。さらに言えば、IoT機器の多くはハードウェアとファームウェアだけで目的とする機能を提供しているものも多く、セキュリティ対策ソフトを常時動かしておけるOSやCPUを持っていないものも多いため注意が必要です。

 つまりファームウェアには、1) 出荷時から脆弱性が含まれているケースと、2) 改ざんされてバックドアを仕込まれても気づけないケース、二重の意味でバックドアに注意すべきだと言えるでしょう。

 今回はこれくらいにしておきましょう。次回もさまざまなバックドアについてお話ししたいと思います。


■関連ページ
【アクセリアのサービス一覧】
 ・サービスNAVI

<<< 前の記事 | 一覧 | 次の記事 >>>

門林 雄基

アクセリア株式会社 主幹研究員
奈良先端科学技術大学院大学 先端科学技術研究科 教授
日欧国際共同研究「EUNITYプロジェクト」日本側研究代表
WIDEプロジェクトボードメンバー

◆crash.academyで動画講座公開中です。(動画視聴には会員登録が必要です。)
https://crash.academy/lecturer/kadobayashi