不正コードや未知の脅威が毎年増加傾向を示し、脅威が複雑・多様化するに伴って、対応するセキュリティコストの負担も大きくなっています。こうした中、より高度の安全性と信頼性を効率的に実現するため、情報セキュリティに対するイノベーションが求められています。その一つとしてホワイトリスト方式により完全性を保証する手法が最近注目され始めていますので本コラムでは、ホワイトリストによるセキュア性向上の動向を概観します。
ホワイトリストにもとづくプロアクティブ手法が、従来からのブラックリスト手法に替えて注目され始めています。2008年の情報セキュリティEXPOの基調講演でシグナサート社CEOワイアット スターンズ氏(政府のセキュリティアドバイザとしても活躍)は、米国が目指す次世代の情報セキュリティとして、ポジティブ・セキュリティ・モデル(ホワイトリスト)と既存ソリューションとを統合させた次世代のセキュリティ対策が必要であると語っています。又、米国RSAコンファランス2008ではSymantecのCEO(トムプソン氏)は、将来についての予測を示した中に、悪意あるソフトウェアや違法ソフトウェアを回避するために、いわゆるホワイトリストの必要性が高まるとしています。
ホワイトリスト方式とは、許可される事項や正当な状態を予め定義しておくプロアクティブなセキュリティ方式です。禁止事項や不当な状態を定義する従来のブラックリスト方式では、未知の不正や脅威には対応できない盲点があり、それをカバーすることが期待できる方式です。システムの健全性を効果的に検証することは、セキュリティの確保だけではなく、変更監視、構成管理等ITの様々な場面で要求されています。
ホワイトリスト方式では、特に未知の脅威に対して素早く検知する可能性があり、セキュリティに関する既存のツール(ウイルスやマルウェアの検知、侵入検知・防止、脆弱性スキャン等)の機能を強化する手段となることが期待されます。従来のブラックリスト方式であるパターンマッチング方式では、ウイルスコードの特徴的な部分を「パターン」として取り出してしておき、それを検査対象のファイル内容と照合し、ウイルスを特定します。新種ウイルスが発見されるたびに、ウイルスを解析し、パターンを抽出することが必要になり、ユーザ側もパターンファイルに新規ウイルス用パッチをかける等大きな負担が強いられます。また、従来のパターンマッチング方式では、未知の脅威への対応は困難です。そこで、最近ではホワイトリスト方式をはじめとして、ルールベースのファイルスキャン(動作監視方式)やレピュテーション(評価)等の新たな方式をウイルス対策製品に実装し始めています。ルールベース方式は、コンピュータ内のウイルスによる異常動作(システム領域の書き換え、実行型のプログラムファイルへの書き込み等)を監視して、ウイルス感染を防止する方法です。レピュテーション(評価)は、スパムメールやウイルスが送信元に特定の共通点を持っていることが多いため、これらの特徴を事前に判断・評価して、スパムメールの受信やウイルスの感染を未然に防ぐ方法です。
ホワイトリストによるアプリケーションコントロールとは、使用しても良いソフトウェアをホワイトリストとして登録し、リストに登録されたアプリケーションしか実行を許可しないようにするアプリケーションの規制方法です。登録されていないソフトウェアは決して実行されることがないため、未知のウイルスやスパイウェア等が動作して、コンピュータに害を与えることを防止したり、情報漏洩を回避することができます。 但し、ホワイトリスト方式では、予め登録されたプログラム以外のコードについては、検知することができますが、脆弱性のあるなしの検知はできません。また、プログラム全体の実行については、判定し規制できますが、該当プログラムの特定機能のみを実行させたいと言う場合は、きめ細かなコントロールが必要ですので、なかなか難しいでしょう。
コンピュータシステムが複雑・多様化する中で変更監視や構成管理は、運用の重要な課題になってきています。米国でもSOX法でのITに関わる重要な欠陥は、変更管理上の問題が多いと指摘されています。そこで、サーバーやネットワーク等、システムや機器で発生する変更を監視・検出することが重要になってきます。この機能をホワイトリスト(トラステッド・リファレンス)と照合することで、システム内のファイルの変更を検知しようとするものです。これにより既知のファイルの変更の有無や新しいファイルの保証の有無、未知のファイルの検知が可能になります。企業内の多数の機器の構成管理負担も増えていることから、保証された正当なファイルのみでインストールイメージのディスクを作成できるホワイトリスト方式が、システム管理上も注目されているところです。
これまでのユーザー・アプリケーションを狙った攻撃から、最近ではドライバーや 仮想マシン・モニターといった、よりハードウェアに近い部分への攻撃に注意する必要があるとして、インテルではチップレベルから上位まで、効率的に信頼できるアーキテクチャを構築する方式を提案しています。事前に許可を受けたコードだけを実行するなど、より厳密なセキュリティ対策を可能にするもので、コンピュータ実行環境の安全性を管理する技術です。許可されたコンピュータだけを接続する、許可されたコードだけを実行するといった「ホワイトリスト」の考え方を採用し、チップセットに搭載していくとしております。
プログラムベンダがシステムを反映したシグネチャ(ホワイトリスト)により評価するホワイトリスト方式が広がりを見せておりますが、米国SignaCertでは、複数のベンダと協力して、プログラムのシグネチャを作成し、データベース化を推進しているようです。ユーザ側では、このデータベースを参照することで、正しい正当なプログラムかどうかを確認・評価できるようになるものです。このしくみは、Trusted Computing Group(TCG)(*1)の業界標準に沿って構築されたものということです(図1参照)。

東京大学
情報セキュリティコミュニティ
副代表 林 誠一郎