組み込みデバイスを取り巻くセキュリティ:ホワイトリスト方式

2010/11/29

組み込みデバイスは、旧来、専用のハードウェアと専用のソフトウェアによって構築されており、高いシステム構築、運用費用に加え専任の技術者を必要とする、特殊な位置づけとして扱われてきました。現在、IT基盤に対する標準化の潮流に伴い、コスト削減と先端技術への迅速な対応を実現するため、組み込みデバイスもオープン・スタンダードな環境が要求されています。

この標準化により、普及品化されたハードウェアで標準のオペレーティングシステムを実行するオープンなシステム基盤が実装され、システムの費用対効果およびデバイスの相互操作性が向上すると共に、システム開発期間が短縮される、技術者の可搬性が確保できるなどの恩恵を享受しました。

旧来 現在
専用OS 標準OS(Windows、 Linux、 Android等)
専用に設計されたハードウェア 普及品化したハードウェア
独立のネットワーク オープンなネットワーク
限定的なセキュリティリスク 一般的なセキュリティリスク
独自の専任知識をもつ技術者 オープンな知識を持つ技術者

標準化によって享受したのはメリットだけではありません。
組み込みデバイスにおいても、専用環境では重要視していなかったセキュリティの防御、内部統制、システムのサポート・ポリシーなど、IT基盤としてのリスクへの施策が要求されています。

では、その組み込みデバイスの特性は、どのようなものがあるのでしょうか。組み込みデバイスは、一般のPCやサーバーと比べ以下のシステム特性を持っています。

  1. 限られたシステム資源で高い性能が発揮できるよう高度にチューニングされている
  2. ネットワークに常時接続されない、もしくは、接続されていても低速回線の可能性が高い
  3. システムのライフタイムが長期である
  4. システムがリリースされた後、ハードウェアやソフトウェアの変更は稀にしか発生しない

これらの特性から、ウイルス定義ファイルを日々更新し、週に1回または隔週に1回システムのフルスキャンを実行するブラックリスト方式ではなく、システムのリソース消費を極小化するとともに定義ファイルに依存することなく強固なセキュリティを実現する、新たなアプローチが必要とされています。

この新たなアプローチの一つとして考えられるのが、従来のパターンマッチングによるブラックリスト方式ではなく、事前に正常と認めたもの以外は動作させない“ホワイトリスト方式”の実装です。

ホワイトリスト方式
ホワイトリスト方式のセキュリティ対策は、CPU負荷は数%、メモリー使用は10MB程度とリソースの使用を極小化されており、ブラックリスト方式のウイルス対策ソフトウェアのように、日々の定義ファイルの更新および定期的なフルスキャンを行う必要ありません。

ホワイトリスト方式とは、あらかじめ許可されたexe、dllなどのバイナリやJavaクラス、batファイルといったスクリプトなどを事前にホワイトリスト化することで、リストにないプログラムを動けなくし、マルウェアによる攻撃からシステムを保護するというセキュリティ対策です。


ホワイトリストによるアプリケーション実行制御

特に、ダイナミック・ホワイトリスティングと呼ぶ機能を実装することにより、セキュリティ保護レベルの向上とシステムの運用負荷の低減という、相反する要件を両立することが可能です。

ホワイトリスティングは、システムをホワイトリストによる保護を開始すると宣言すると、すべてのファイルをスキャンしホワイトリストを自動生成します。この自動生成により、必要なファイルは漏らすことなく全てホワイトリストに登録されます。また、本番稼動中に発生する、アプリケーションの追加・変更・更新の場面においても、セキュリティ署名による認証、認定した更新エージェントなど、begin-update/end-updateコマンドによる更新制御などのルールに従って運用することにより自動的にホワイトリストを更新する方法を用意しており、運用負荷の軽減が可能になります。


ホワイトリストへの反映を自動化する更新ルール

また、ホワイトリストに登録されたアプリケーションのみを実行可能とすることにより、マルウェアを含む不正なプログラムの実行を阻止し、強固なセキュリティ保護を実現するとともに、テキストファイルの改ざん防止、実行中のプログラムのメモリー攻撃を防御することもできます。

このようなホワイトリスティングを、コンビニや量販店で使われているPOSレジ端末やカーナビゲーション端末、金融機関などにあるATM端末、場内の制御系PCや工作機械など、多くの組み込みデバイスに導入することにより、我々の重要なIT基盤を守ることが、可能になるのです。

組み込みデバイスにおけるセキュリティ対策は、システムのリソース消費を極小化するとともに、定義ファイルに依存することなく強固なセキュリティを実現する、ホワイトリスト方式が最適解であると考えられます。