写真●フォーティーンフォティ技術研究所の鵜飼裕司代表取締役社長
写真●フォーティーンフォティ技術研究所の鵜飼裕司代表取締役社長
[画像のクリックで拡大表示]

 「組み込み機器は、アンダーグラウンドの攻撃者にとって攻撃の宝の山となっている」。そう警鐘を鳴らすのは、フォーティーンフォティ技術研究所(FFR)代表取締役社長の鵜飼裕司氏。2010年10月18日に東京ビッグサイトで開幕した「ITpro EXPO 2010」のオープニング・セッション「テクノロジー・ブレークスルー」における講演のひとコマである。非パソコン機器が数多くインターネットに接続されるようになって、これらが非常に大きなセキュリティ・リスクを持っているというのだ。

 セッションは、「スマートフォンなどモバイル機器やネット家電のぜい弱性をみつけるファジングによる組み込み機器セキュリティ検査手法に関する研究開発」と題して行われた。講演ではまず、インターネットに接続している機器が、パソコンだけでなく非パソコンに拡大していることを紹介。「Wi-Fiの普及などで、多くの機器がインターネットに接続するようになってきている。IPv6への移行が進むと家電などもネットワーク化することになり、ネットワーク接続する機器がさらに増える」と鵜飼氏。非パソコン端末のセキュリティの重要度が高まっていると指摘した。

 実際に、「ルーター、モバイルデバイス、IP電話、iPhoneなどが、狙われることが多くなっている。特に組み込みシステムのぜい弱性に注意が必要だ」(鵜飼氏)。その理由として、組み込みシステムを利用した機器は数多く影響が広範囲に広がること、パソコンではすでに対策が採られている古典的なぜい弱性が依然として残っていることを挙げる。さらに、ベンダーの取り組みや対策のソリューションが不十分なことがあり、対策を講じることが難しいという現状もある。鵜飼氏は「組み込みシステムに対しても、パソコンと同様にセキュリティ・テストが必要になってきた。その手法は多く研究されているが、効率的な手法がなかなか見つかっていない」と言う。

ファジングで未知の脅威を効率的に見付ける

 そこで鵜飼氏は、組み込みシステムでも利用できるぜい弱性の検査方法を紹介。最もポピュラーなのは、ソフトの構造からぜい弱性を探すホワイトボックス検索。ソースコードがある場合は容易だが、組み込みシステムではソースコードがなくてバイナリからリバースエンジニアリングしなければならないことも多いと言う。次に、システムの入出力結果から検証するブラックボックス検索。内部構造が不明でも検証できるため、組み込みシステムにも有効だ。ただし、安全性の高いシステムでぜい弱性を見付けるのは難しい。次に既知のパターンを探すパターン検索があり、これは効率的に見つかる半面、未知のパターンには対応できない弱点がある。

 続いて、鵜飼氏はファジング(Fuzzing)の手法を紹介した。「ファジングは、大量のデータを自動的に生成して検査する。アルゴリズムでデータを生成していくので、事前にぜい弱性を想定する必要がない。未知の未知のぜい弱性を検出する可能性が高い」と説明があった。ただし、ファジングは「致命的なぜい弱性を攻撃してしまうこともあるので、システムが落ちる危険性もある。実際に稼働しているネットワークに対して検査するのは不向き。製品の出荷前検査に適用するのに有効な手段」(鵜飼氏)と、その適用範囲を示した。

 その上で鵜飼氏は、ファジングの難しさにも言及した。それは時間と検査性能のトレードオフで、網羅的にやろうと思うと時間がかかることだと言う。「ファジングでは、2バイトのデータでも6万5536通りの処理をしなければならない。4バイトになると40億パターン、約50日もかかってしまう。ファジングの手法としては、網羅性を求めるのではなく、リスクの高い部分に絞り込むことが重要」と言う。

 ここで鵜飼氏は、フォーティーンフォティ技術研究所がファジングの手法で組み込み機器を検査した結果を紹介した。「250万パターンを2.5時間で検査した。20種類を超えるの組み込み機器を検査したところ、90%以上の機器になんらかのぜい弱性が見つかった。非パソコンの端末にもセキュリティの脅威が確実に存在している。ファジングは、手法を開発するのは大変だが、ツールを使うのは簡単。未然にぜい弱性を検出する手法として有効なので、ぜひ出荷前のテストに活用してほしい」と、講演を締めくくった。