(57)【要約】【課題】プログラムの脆弱性に対する対応が必要な端末装置に対して、適切な対処を迅速かつ柔軟に行う。【解決手段】端末制御装置１００は、脆弱性情報蓄積部１１０と、端末情報蓄積部１２０と、ポリシー決定部１３０と、端末特定部１４０と、ポリシー通知部１５０と、脆弱性検出部１６０と、端末情報登録部１７０とを備える。【選択図】図１
2006127422.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの脆弱性に関する脆弱性情報を検出する脆弱性検出部と、
前記脆弱性情報に基づいて、端末装置の動作の制御内容を決定する制御内容決定部と、
前記脆弱性情報と前記端末装置に関する端末情報に基づいて、前記プログラムの脆弱性の影響を受ける端末装置を特定する端末特定部と、
該端末特定部により特定された端末装置に対して前記制御内容を通知する制御内容通知部と
を備えることを特徴とする端末制御装置。
【請求項２】
前記脆弱性検出部は、検出した前記脆弱性情報の正当性の検証を行い、
前記制御内容決定部は、前記検証により正当性があると判断された前記脆弱性情報に基づいて前記制御内容を決定することを特徴とする請求項１に記載の端末制御装置。
【請求項３】
前記端末特定部は、前記プログラムが更新された端末装置を特定し、
前記制御内容決定部は、前記プログラムの更新に応じて前記制御内容を決定することを特徴とする請求項１又は２に記載の端末制御装置。
【請求項４】
前記制御内容決定部は、システムコールに関する前記制御内容、ハードウェアに関する前記制御内容、又は、ミドルウェアに関する前記制御内容の少なくとも１つを決定することを特徴とする請求項１乃至３のいずれか１項に記載の端末制御装置。
【請求項５】
前記脆弱性情報は、前記脆弱性の内容、前記脆弱性が発生する状況、前記脆弱性の影響を受けるオペレーティングシステム、前記脆弱性の影響を受けるハードウェア、前記脆弱性の影響を受けるミドルウェア、又は、前記脆弱性の深刻度の少なくとも１つであることを特徴とする請求項１乃至４のいずれか１項に記載の端末制御装置。
【請求項６】
前記端末情報は、前記端末装置が備えるオペレーティングシステム、前記端末装置が備えるハードウェア、前記端末装置が備えるミドルウェア、前記端末装置が有するプログラム、前記端末装置におけるプログラムの更新時期、前記端末装置に対する前記制御内容の通知時期、又は、通知した前記制御内容の少なくとも１つであることを特徴とする請求項１乃至５のいずれか１項に記載の端末制御装置。
【請求項７】
プログラムの脆弱性に関する脆弱性情報を検出し、
前記脆弱性情報に基づいて、端末装置の動作の制御内容を決定し、
前記脆弱性情報と前記端末装置に関する端末情報に基づいて、前記プログラムの脆弱性の影響を受ける端末装置を特定し、
該特定された端末装置に対して前記制御内容を通知することを特徴とする端末制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置を制御する端末制御装置及び端末制御方法に関する。
【背景技術】
【０００２】
プログラムの脆弱性は、端末装置のシステム全体に障害を及ぼす。そのため、従来から、脆弱性に対する様々な対策が提案されている。例えば、端末装置のオペレーティングシステムが、脆弱性を有するおそれのあるプログラムに対して、ファイル等の価値ある情報や、ネットワークインタフェース等のハードウェアリソースへのアクセス権を強制的に制限する技術がある。
【０００３】
又、プログラムのベンダーや専門家、ユーザ団体がプログラムの脆弱性を発見し、公開することも行われている。しかし、プログラムの脆弱性が公開されてから、ベンダーが対象のプログラムを修正する修正プログラムを開発するまでに時間を要する場合がある。
【０００４】
そのため、発見された脆弱性と共に、その脆弱性に対応するための緊急手段が公開される場合が多い。しかし、多くのユーザは、プログラムの脆弱性について情報が公開されたとしても、それら全てを常に確認することは難しい。又、ユーザは、情報を得たとしても専門的知識に欠け、適切な対処ができない場合や、自身の端末装置にその情報が影響するか否か、どの程度危険なのか等を判断することもできない場合がある。更に、修正プログラムが開発された後であっても、端末装置のユーザが、端末装置にその修正プログラムを導入せずに、脆弱性を放置してしまう場合がある。
【０００５】
よって、ユーザが意識せずに、自動的にプログラムの動作を制限し、脆弱性に起因する被害を低減する技術が提案されている。例えば、プログラムＡの動作状態を監視し、プログラムＡの異常動作を検出すると、異常動作中のプログラムＡを強制的に終了すると共に、プログラムＡと連動して動作していたプログラムＢも正常に終了し、オペレーティングシステムの再起動を行う端末装置が提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００１−２２９０３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、プログラムの動作状態を監視し、異常動作を検出したときに強制的に終了させる端末装置では、異常動作検出時に既にプログラムの脆弱性に起因した被害が拡大している場合があった。そのため、異常動作検出後にプログラムを強制終了したとしても、脆弱性に対する有効な対策とはならなかった。
【０００７】
又、端末装置は、既知の異常動作パターンと一致するか否かを判断することや、正常動作から逸脱しているか否かを判断することにより、異常動作を検出するため、未知の異常動作に対して有効な手段とならない場合があった。更に、端末装置は、異常動作を検出するとプログラムを強制終了することしかできず、柔軟に制御することもできなかった。
【０００８】
そこで、本発明は、プログラムの脆弱性に対する対応が必要な端末装置に対して、適切な対処を迅速かつ柔軟に行うことを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る端末制御装置は、プログラムの脆弱性に関する脆弱性情報を検出する脆弱性検出部と、脆弱性情報に基づいて、端末装置の動作の制御内容を決定する制御内容決定部と、脆弱性情報と端末装置に関する端末情報に基づいて、プログラムの脆弱性の影響を受ける端末装置を特定する端末特定部と、端末特定部により特定された端末装置に対して制御内容を通知する制御内容通知部とを備えることを特徴とする。
【００１０】
このような端末制御装置によれば、プログラムの脆弱性情報を検出でき、検出された脆弱性情報に応じて端末装置の動作の制御内容を決定できる。よって、端末制御装置は、脆弱性に対する対処として、柔軟に端末装置の動作を制御できる。しかも、端末制御装置は、プログラムの脆弱性情報が検出されると、その脆弱性の影響を受ける端末装置を特定し、制御内容を通知することができる。よって、端末制御装置は、プログラムの脆弱性に対する対応が必要な端末装置に対して、適切な対処を迅速かつ柔軟に行うことができる。
【００１１】
脆弱性検出部は、検出した脆弱性情報の正当性の検証を行うことが好ましい。そして、制御内容決定部は、検証により正当性があると判断された脆弱性情報に基づいて制御内容を決定することが好ましい。これによれば、端末制御装置は、正当性があると判断された脆弱性情報だけを用いて端末装置を制御することができ、端末装置に対して適切な制御を確実に行うことができる。
【００１２】
端末特定部は、プログラムが更新された端末装置を特定し、制御内容決定部は、プログラムの更新に応じて制御内容を決定することが好ましい。これによれば、端末制御装置は、プログラムの更新に応じて柔軟に端末装置を制御できる。
【００１３】
制御内容決定部は、システムコールに関する制御内容、ハードウェアに関する制御内容、又は、ミドルウェアに関する制御内容の少なくとも１つを決定することが好ましい。これによれば、端末制御装置は、システムコールやハードウェア、ミドルウェアに関する端末装置の動作を柔軟に制御することができる。
【００１４】
脆弱性情報は、脆弱性の内容、脆弱性が発生する状況、脆弱性の影響を受けるオペレーティングシステム、脆弱性の影響を受けるハードウェア、脆弱性の影響を受けるミドルウェア、又は、脆弱性の深刻度の少なくとも１つであることが好ましい。これによれば、端末制御装置は、脆弱性の内容、脆弱性が発生する状況、脆弱性の影響を受けるオペレーティングシステムやハードウェア、ミドルウェア、脆弱性の深刻度に応じて、制御内容を適切に決定し、影響を受ける端末装置を適切に特定できる。
【００１５】
端末情報は、端末装置が備えるオペレーティングシステム、端末装置が備えるハードウェア、端末装置が備えるミドルウェア、端末装置が有するプログラム、端末装置におけるプログラムの更新時期、端末装置に対する制御内容の通知時期、又は、通知した制御内容の少なくとも１つであることが好ましい。これによれば、端末制御装置は、端末装置が備えるオペレーティングシステムやハードウェア、ミドルウェア、端末装置が有するプログラム、端末装置におけるプログラムの更新時期、端末装置に対する制御内容の通知時期等に応じて、脆弱性の影響を受ける端末装置を適切に特定できる。
【００１６】
本発明に係る端末制御方法は、プログラムの脆弱性に関する脆弱性情報を検出し、脆弱性情報に基づいて、端末装置の動作の制御内容を決定し、脆弱性情報と端末装置に関する端末情報に基づいて、プログラムの脆弱性の影響を受ける端末装置を特定し、特定された端末装置に対して制御内容を通知することを特徴とする。
【発明の効果】
【００１７】
以上説明したように、本発明によれば、プログラムの脆弱性に対する対応が必要な端末装置に対して、適切な対処を迅速かつ柔軟に行うことができる。
【発明を実施するための最良の形態】
【００１８】
図１に示すように、端末制御装置１００は、脆弱性情報蓄積部１１０と、端末情報蓄積部１２０と、ポリシー決定部１３０と、端末特定部１４０と、ポリシー通知部１５０と、脆弱性検出部１６０と、端末情報登録部１７０とを備える。端末制御装置１００は、端末装置２００の動作を、端末装置の動作をどのように制御するかという端末装置の動作の制御内容（以下「制御ポリシー」という）を用いて制御する。端末制御装置１００と端末装置２００は、例えば、ネットワーク４００を介して接続する。
【００１９】
脆弱性情報蓄積部１１０には、脆弱性情報が蓄積される。脆弱性情報とは、プログラムの脆弱性に関する情報である。プログラムの脆弱性とは、プログラムに存在する、適切な実行を阻害する要因をいう。例えば、脆弱性には、意図しないプロセスや装置、手段へのデータ転送、オペレーティングシステム（ＯＳ）やアプリケーション等に関する様々なプログラムに多く存在するバッファオーバーフロー、セキュリティ上問題となる外部装置からのプログラムコードの実行等がある。脆弱性は、例えば、コーディングのバグ等に起因する。
【００２０】
図２に脆弱性情報蓄積部１１０の一例を示す。脆弱性情報蓄積部１１０には、脆弱性情報の更新日と、脆弱性を有するプログラムのプログラム識別情報と、脆弱性情報等とが対応付けて蓄積される。
【００２１】
プログラム識別情報は、プログラムを識別する情報である。プログラム識別情報には、例えば、プログラム名、プログラムバージョン等がある。プログラムには、例えば、図２に示すように、ブラウザに関する処理や、電子メールに関する処理、スケジューラーに関する処理、ゲームに関する処理等を実行するためのプログラム等がある。
【００２２】
脆弱性情報には、例えば、脆弱性の内容、脆弱性が発生する状況（以下「発生状況」という）、脆弱性の影響を受けるオペレーティングシステム（以下「対象システム」という）、脆弱性の影響を受けるハードウェア（以下「対象ハードウェア」という）、脆弱性の影響を受けるミドルウェア（以下「対象ミドルウェア」という）、脆弱性の深刻度等がある。
【００２３】
脆弱性の内容には、端末装置２００のハードウェアリソース（以下「端末リソース」という）を消費してしまう、ファイル等のデータを意図しないプロセスや装置、手段に転送してしまう、端末装置２００が任意のプログラムコードを実行してしまう、ネットワーク４００経由で外部の装置によって、端末装置２００の任意のプログラムコードが実行されてしまう等がある。
【００２４】
発生状況には、プロセス間通信におけるデータ受信時やデータ送信時、ファイル等のデータ書き込み時や読み込み時、処理実行時、ネットワーク使用時、特定プログラムの実行時等がある。特定プログラムの実行時とは、脆弱性が特定プログラムと連動した場合に発現する場合をいう。
【００２５】
対象システムは、オペレーティングシステム（ＯＳ）のシステム名やそのバージョン等、オペレーティングシステムを識別可能なシステム識別情報を用いて表すことができる。又、対象ハードウェアや対象ミドルウェアも、ハードウェア名やミドルウェア名等を用いて表すことができる。
【００２６】
脆弱性の深刻度は、その脆弱性が端末装置２００に与える影響の程度を示す。例えば、脆弱性の深刻度は、セキュリティ上の深刻度であってもよく、稼働継続上の深刻度であってもよい。
【００２７】
例えば、脆弱性情報蓄積部１１０には、更新日「２００４／０８／２６」と、プログラム名「Ｂｒｏｗｓｅｒ＿１」と、バージョン「２．４」と、発生状況「Ｍａｉｌｅｒ＿１に対するソケット（Ｓｏｃｋｅｔ）を用いたプロセス間通信におけるデータ送信時」と、脆弱性の内容「送信データが特定のウェブサイトに送信されるおそれがある」と、対象システム「Ａ（ver.１）」及び「Ｂ（ver.２）」と、深刻度「４」とが対応付けて蓄積されている。図２では、深刻度は５段階で設定されており、「１」が深刻度が最も低く、「５」が深刻度が最も高いことを示す。
【００２８】
脆弱性検出部１６０は、脆弱性情報を検出する。脆弱性検出部１６０は、例えば、ネットワーク４００を介して、端末装置２００やサーバ３００から、プログラム識別情報と、その脆弱性情報を受信することにより、脆弱性情報を検出できる。サーバ３００は、脆弱性情報を提供する。サーバ３００は、例えば、セキュリティの専門家や、実際にプログラムを使用するユーザによる団体、プログラムを開発、提供したベンダー等により設けられる。
【００２９】
又、脆弱性検出部１６０は、例えば、ネットワーク４００を介して、端末装置２００から、プログラム識別情報とそのプログラムの動作状況等を受信する。そして、脆弱性検出部１６０は、受信した動作状況等から脆弱性について判断し、脆弱性情報を検出できる。
【００３０】
更に、脆弱性検出部１６０は、受信した脆弱性情報に基づいて、その他の脆弱性情報を判断し、脆弱性情報を検出できる。例えば、脆弱性検出部１６０は、脆弱性の内容や、その脆弱性に対する攻撃の実現可能性等に基づいて、深刻度を検出できる。
【００３１】
例えば、脆弱性検出部１６０は、図３に示すような深刻度と、脆弱性の内容と、攻撃の実現可能性とを対応付けた深刻度判断情報を設定しておくことができる。脆弱性検出部１６０は、脆弱性の内容や発生状況、対象システム、対象ハードウェアや対象ミドルウェア等に基づいて、攻撃の実現可能性を判断できる。
【００３２】
脆弱性検出部１６０は、脆弱性の内容と、攻撃の実現可能性と、深刻度判断情報とを比較し、深刻度を判断できる。例えば、脆弱性検出部１６０は、同じ脆弱性の内容「端末リソースの消費」であっても、実現可能性が低い場合には深刻度は「１」と判断し、実現可能性が高い場合には深刻度は「３」と判断する。このように、深刻度は実現可能性に比例して高く設定できる。
【００３３】
又、脆弱性検出部１６０は、同じ実現可能性「高」であっても、脆弱性の内容が「端末リソースの消費」の場合には深刻度は「３」と判断し、脆弱性の内容が「特定ファイルの送信」の場合には深刻度は「４」と判断する。このように、深刻度は、例えば、セキュリティ上の問題や誤動作の影響が大きい内容の方を高く設定できる。
【００３４】
更に、脆弱性検出部１６０は、脆弱性の内容が「ネットワーク経由での任意のプログラムコードの実行」のように、セキュリティ上の問題が非常に大きい内容等の場合には、実現可能性を判断することなく、深刻度は最高値「５」と判断してもよい。
【００３５】
脆弱性検出部１６０は、検出した脆弱性情報を脆弱性情報蓄積部１１０に格納する。脆弱性検出部１６０は、脆弱性情報の更新日と、プログラム識別情報と、脆弱性情報とを対応付けて脆弱性情報蓄積部１１０に格納する。
【００３６】
尚、脆弱性検出部１６０は、検出した脆弱性情報の正当性の検証を行うことが好ましい。例えば、脆弱性情報やプログラムの動作状況の送信元の端末装置２００やサーバ３００そのものが信頼できないおそれや、脆弱性情報やプログラムの動作状況の端末制御装置１００までの送信経路において情報が改竄されてしまうおそれ等がある。そのため、脆弱性検出部１６０は、脆弱性情報の正当性を検証し、正当性があると判断できた脆弱性情報のみを脆弱性情報蓄積部１１０に格納することができる。
【００３７】
例えば、脆弱性検出部１６０は、受信したプログラム識別情報と、脆弱性情報に含まれる対象システム、対象ハードウェア、又は、対象ミドルウェアと、発生状況等に基づいて、発生しうる脆弱性の内容を生成する。そして、脆弱性検出部１６０は、受信した脆弱性の内容が、生成した脆弱性の内容と一致し、実際に発生しうる否かを判断して、その正当性を検証できる。
【００３８】
又、脆弱性検出部１６０は、プログラムの動作状況を受信した場合には、その正当性を検証することで、動作状況から検出される脆弱性情報の正当性を検証できる。この場合も同様に、脆弱性検出部１６０は、受信したプログラム識別情報と、動作状況に基づいて、受信した動作状況が起こりうるか否かを判断することで、その正当性を検証できる。
【００３９】
端末情報蓄積部１２０は、端末装置に関する端末情報が蓄積される。端末情報には、端末装置を特定するための情報（以下「端末識別情報」という）、端末装置が備えるオペレーティングシステム、端末装置が備えるハードウェア、端末装置が備えるミドルウェア、端末装置が有するプログラム、端末装置におけるプログラムの更新時期、端末装置に対する制御内容（制御ポリシー）の通知時期、通知した制御内容（制御ポリシー）等がある。端末識別情報には、端末装置番号、端末装置名等がある。
【００４０】
図４に端末情報蓄積部１２０の一例を示す。端末情報蓄積部１２０には、端末情報の更新日と、端末装置名と、プログラム更新日と、端末装置が備えるオペレーティングシステムのシステム識別情報と、端末装置が有するプログラムのプログラム名及びプログラムバージョンと、ポリシー通知日と、通知した制御ポリシーとが対応付けて蓄積されている。
【００４１】
例えば、図４に示すように、端末情報蓄積部１２０には、端末情報の更新日「２００４／８／２８」と、端末装置名「Ｍａｃｈｉｎｅ＿１」と、プログラム更新日「２００４／８／２６」、オペレーティングシステム「Ａ（ver.１）」と、プログラム名「Ｂｒｏｗｓｅｒ＿１」とそのプログラムバージョン「２．４」、プログラム名「Ｍａｉｌｅｒ＿１」とそのプログラムバージョン「１．０」、プログラム名「Ｇａｍｅ＿１」とそのプログラムバージョン「１．０」と、ポリシー通知日「２００４／８／２８」と、制御ポリシー「ＡＡＡ」とが対応付けて蓄積されている。
【００４２】
端末情報登録部１７０は、端末情報を取得し、端末情報蓄積部１２０に格納する。端末情報登録部１７０は、例えば、ネットワーク４００を介して、端末装置２００から端末情報を受信することにより、端末情報を取得できる。端末装置２００では、導入されているプログラムの更新（バージョンアップ）や、新規プログラムの導入が行われる。そのため、端末情報登録部１７０は、端末装置２００から、プログラムの更新や新規導入の度に、あるいは、定期的に、端末情報を取得する。端末情報登録部１７０は、取得した端末情報を端末情報蓄積部１２０に格納して端末情報を更新し、端末情報蓄積部１２０に最新の端末情報が蓄積されるようにする。
【００４３】
端末情報登録部１７０は、取得した端末情報の正当性を検証し、正当性があると判断できた端末情報のみを端末情報蓄積部１２０に格納するようにしてもよい。例えば、端末情報登録部１７０は、ハッシュ値等、暗号化技術を用いて正当性を検証できる。例えば、端末情報登録部１７０は、端末装置２００から端末情報と、端末情報を用いて計算したハッシュ値を受信し、受信した端末情報からハッシュ値を計算する。端末情報登録部１７０は、受信したハッシュ値と計算したハッシュ値とを比較し、一致する場合には端末情報に改竄はなく、正当性があると判断できる。
【００４４】
ポリシー決定部１３０は、脆弱性情報に基づいて、端末装置の動作を制御する制御内容、即ち、制御ポリシーを決定する制御内容決定部である。ポリシー決定部１３０は、脆弱性情報から、その脆弱性に対処するために、その脆弱性を有するプログラムが導入された端末装置に対して施すべき動作制御の内容を、制御ポリシーとして決定する。
【００４５】
ポリシー決定部１３０は、例えば、システムコールに関する制御ポリシー、ハードウェアに関する制御ポリシー、ミドルウェアに関する制御ポリシーを決定することができる。これによれば、端末制御装置１００は、システムコールやハードウェアやミドルウェアに対するアクセスに関する端末装置の動作を柔軟に制御することができる。
【００４６】
例えば、ポリシー決定部１３０は、制御ポリシーとして、制御の対象となるシステムコールや、ハードウェアやミドルウェア等の種類（以下「制御対象」という）と、制御対象に対して行う処理や制限の内容（以下「処理・制限内容」という）を設定することができる。
【００４７】
ポリシー決定部１３０は、制限対象と、処理・制限内容と、脆弱性情報とを対応付けたポリシー決定情報を設定することができる。例えば、図５に示すように、ポリシー決定部１３０は、発生状況と制御対象とを対応付け、深刻度と処理・制限内容とを対応付けたポリシー決定情報を設定することができる。ポリシー決定部１３０は、脆弱性情報蓄積部１１０から脆弱性情報を取得する。ポリシー決定部１３０は、取得した脆弱性情報と、ポリシー決定情報に基づいて、制御ポリシーを決定できる。
【００４８】
例えば、ポリシー決定部１３０は、脆弱性情報蓄積部１１０から、図２に示したプログラム「Ｂｒｏｗｓｅｒ＿１」の脆弱性情報として、発生状況「Ｍａｉｌｅｒ＿１に対するソケット（Ｓｏｃｋｅｔ）を用いたプロセス間通信におけるデータ送信時」と、深刻度「４」を取得する。ポリシー決定部１３０は、取得した脆弱性情報に基づいて図５に示すポリシー決定情報を参照し、制御対象を「特定相手Ｘからソケット（Ｓｏｃｋｅｔ）を用いたデータ送信時」に対応付けられている「送信先アドレスが特定相手Ｘである送信用ソケットに対する書き込みシステムコール（Ｗｒｉｔｅシステムコール）」に決定する。
【００４９】
更に、ポリシー決定部１３０は、処理・制限内容を、深刻度「４」に対応付けられている「脆弱性に関わる処理を許可しない」に決定する。そして、ポリシー決定部１３０は、制御対象と、処理・制限内容を総合して、「送信先アドレスがＭａｉｌｅｒ＿１である送信用ソケットに対する書き込みシステムコール（Ｗｒｉｔｅシステムコール）を完全に禁止する」という制御ポリシーを決定する。このように端末制御装置１００は、プログラムに許可するシステムコールを制限できる。以上のようにして、ポリシー決定部１３０は、複数の制御ポリシーの候補の中から、脆弱性情報に応じて適切な制御ポリシーを選択し、適用する制御ポリシーを決定できる。
【００５０】
図５では、制御ポリシーの一例として、システムコールに関する制御ポリシーを示しているが、ハードウェアやミドルウェアに関する制御ポリシーの場合、ポリシー決定部１３０は、例えば、制御対象として「メモリへのアクセス」等を設定できる。そして、ポリシー決定部１３０は、例えば、深刻度が「３」の場合、「メモリにアクセスしようとした際に、警告を発する」という制御ポリシーを決定できる。又、ポリシー決定部１３０は、ハードウェアに関する制御ポリシーとして、ハードウェアのリソースを管理するリソースマネージャの動作を制御する制御ポリシーを決定してもよい。
【００５１】
又、特定プログラムと連動した場合に脆弱性が発生するプログラムがある。そのため、ポリシー決定部１３０は、特定プログラム実行時には、連動することにより脆弱性が発生するプログラムの実行を禁止するような制御ポリシーを決定できる。
【００５２】
更に、ポリシー決定部１３０は、プログラムの更新に応じて制御ポリシーを決定することが好ましい。この場合、ポリシー決定部１３０は、端末特定部１４０からプログラムが更新された端末装置の端末識別情報を取得する。ポリシー決定部１３０は、取得した端末識別情報に基づいて端末情報蓄積部１２０から、プログラム識別情報と、既にその端末装置に通知した制御ポリシーを取得する。
【００５３】
ポリシー決定部１３０は、脆弱性情報と、プログラム識別情報と、通知済みの制御ポリシーとに基づいて、プログラムの更新により、脆弱性が除去されたプログラムや、脆弱性情報が変更されたプログラムが存在するか否かを判断する。
【００５４】
ポリシー決定部１３０は、脆弱性が除去されたプログラムや脆弱性情報が変更されたプログラムが存在する場合には、制御ポリシーを新たに決定する。例えば、プログラムの脆弱性が除去され、端末装置が動作制御の対象のプログラムを有しなくなった場合には、ポリシー決定部１３０は、脆弱性に対処するために行っていた処理や制限を解除する制御ポリシーを決定できる。又、脆弱性情報が変更された場合には、ポリシー決定部１３０は、新たな脆弱性情報に基づいて制御ポリシーを決定できる。
【００５５】
これによれば、端末制御装置１００は、プログラムの更新に応じて柔軟に端末装置を制御できる。よって、例えば、修正プログラムの導入等により、プログラムの脆弱性が除去され動作制御が不要となった端末装置に対して、いつまでも不必要な制御を実行させることを防止できる。
【００５６】
ポリシー決定部１３０は、決定した制御ポリシーとプログラム識別情報とを対応付けて、ポリシー通知部１５０に入力する。尚、ポリシー決定部１３０は、ポリシー決定情報を自ら設定してもよく、例えば、端末装置２００やサーバ３００等の他の装置によって設定され、ネットワーク４００を介して提供されたポリシー決定情報を用いてもよい。
【００５７】
又、ポリシー決定部１３０は、耐タンパ性を有するハードウェアにより実現されることが好ましい。これによれば、ポリシー決定部１３０そのものが攻撃を受けることを防止できる。よって、例えば、ポリシー決定情報等が改竄されることにより、ポリシー決定部１３０が、誤った制御ポリシーや悪意のある制御ポリシーを生成してしまうことを防止できる。
【００５８】
尚、脆弱性検出部１６０が検出した脆弱性情報の正当性の検証を行い、正当性があると判断できた脆弱性情報のみを脆弱性情報蓄積部１１０に格納する場合、ポリシー決定部１３０は、脆弱性情報蓄積部１１０に蓄積された脆弱性情報を用いて制御ポリシーを決定することにより、検証により正当性があると判断された脆弱性情報に基づいて制御ポリシーを決定できる。よって、端末制御装置１００は、正当性があると判断された脆弱性情報だけを用いて端末装置を制御することができ、端末装置に対して適切な制御を確実に行うことができる。即ち、端末制御装置１００は、信頼性が保証された脆弱性情報を用いて誤った制御を行うことを回避できる。
【００５９】
端末特定部１４０は、脆弱性情報と端末情報に基づいて、プログラムの脆弱性の影響を受ける端末装置を特定する。端末特定部１４０は、脆弱性情報蓄積部１１０から脆弱性情報を取得し、端末情報蓄積部１２０から端末情報を取得する。
【００６０】
端末特定部１４０は、例えば、脆弱性情報に含まれるプログラム識別情報と対象システムのシステム識別情報と、端末情報に含まれるプログラム識別情報とシステム識別情報とを比較する。端末特定部１４０は、端末情報に脆弱性情報に含まれるプログラム識別情報とシステム識別情報が存在する端末装置を、脆弱性の影響を受ける端末装置に特定する。
【００６１】
例えば、端末特定部１４０は、図２に示す脆弱性情報と図４に示す端末情報とを比較した場合、オペレーティングシステム「Ａ（Ver.１）」を備え、プログラム「Ｂｒｏｗｓｅｒ＿１」と「Ｍａｉｌｅｒ＿１」をセットで有し、更に「Ｇａｍｅ＿１」を有する端末装置名「Ｍａｃｈｉｎｅ＿１」の端末装置を、プログラム「Ｂｒｏｗｓｅｒ＿１」と「Ｇａｍｅ＿１」の脆弱性の影響を受ける端末装置として特定する。
【００６２】
端末特定部１４０は、対象ハードウェアや対象ミドルウェアに基づいて端末装置を特定する場合も、対象システムに基づく場合と同様にして端末装置を特定できる。このようにして、端末特定部１４０は、端末装置が備えるオペレーティングシステムやハードウェア、ミドルウェアに基づいて、これらに依存して発生する脆弱性を考慮して、脆弱性の影響を受ける端末装置を特定することができる。
【００６３】
又、端末特定部１４０は、プログラムが更新された端末装置を特定し、ポリシー決定部１３０に通知することが好ましい。端末特定部１４０は、端末情報蓄積部１２０から、プログラムの更新日とポリシー通知日を取得し、両者を比較する。端末特定部１４０は、プログラムの更新日がポリシー通知日よりも新しい端末装置を、プログラムが更新された端末装置として特定する。端末特定部１４０は、特定した端末装置の端末識別情報をポリシー決定部１３０に入力する。
【００６４】
又、特定プログラムが連動した場合に脆弱性が発生する場合がある。そのため、端末特定部１４０は、特定プログラムとその特定プログラムと連動すると脆弱性が発生するプログラムを全て含む端末装置を、影響を受ける端末装置として特定することができる。
【００６５】
端末特定部１４０は、特定した端末装置の端末識別情報と、影響を受けるプログラムのプログラム識別情報とを対応付けて、ポリシー通知部１５０に入力する。
【００６６】
ポリシー通知部１５０は、端末特定部１４０により特定された端末装置に対して制御ポリシー（制御内容）を通知する制御内容通知部である。ポリシー通知部１５０は、ポリシー決定部１３０からプログラム識別情報と対応付けられた制御ポリシーを取得する。ポリシー通知部１５０は、端末特定部１４０からプログラム識別情報と対応付けられた端末識別情報を取得する。
【００６７】
ポリシー通知部１５０は、制御ポリシーに対応付けられているプログラム識別情報と端末識別情報に対応付けられているプログラム識別情報とのマッチングを行って、端末識別情報により識別される端末装置２００に、プログラム識別情報が一致する制御ポリシーをネットワーク４００を介して通知する。
【００６８】
ポリシー通知部１５０は、制御ポリシーを通知した後、端末情報蓄積部１２０にポリシー通知日（制御内容の通知時期）及び通知した制御ポリシーを格納する。
【００６９】
（端末制御方法）
図６に、端末制御方法の手順を示す。まず、端末制御装置１００は、プログラムの脆弱性情報を検出し、脆弱性情報蓄積部１１０に格納する（Ｓ１０１）。次に、端末制御装置１００は、脆弱性情報等に基づいて、端末装置２００の動作の制御ポリシーを決定する（Ｓ１０２）。更に、端末制御装置１００は、脆弱性情報と端末情報に基づいて、プログラムの脆弱性の影響を受ける端末装置を特定する（Ｓ１０３）。そして、端末制御装置１００は、ステップ（Ｓ１０３）において特定された端末装置２００に対して制御ポリシーを通知する（Ｓ１０４）。尚、ステップ（Ｓ１０２）、（Ｓ１０３）の順番は逆であってもよい。
【００７０】
（効果）
このような端末制御装置１００及び端末制御方法によれば、プログラムの脆弱性情報を検出でき、検出された脆弱性情報に応じて端末装置２００の動作の制御ポリシーを決定できる。よって、端末制御装置１００は、脆弱性に対する対処として、柔軟に端末装置２００の動作を制御できる。しかも、端末制御装置１００は、プログラムの脆弱性情報が検出されると、その脆弱性の影響を受ける端末装置２００を特定し、制御ポリシーを通知することができる。よって、端末制御装置１００は、プログラムの脆弱性に対する対応が必要な端末装置２００に対して、適切な対処を迅速かつ柔軟に行うことができる。
【００７１】
即ち、プログラムの動作状態を監視し、異常動作を検出したときに強制的に終了させる端末装置では、異常動作検出時に既にプログラムの脆弱性に起因した被害が拡大している場合があったが、端末制御装置１００によれば、脆弱性情報が検出できた時点で迅速に対処が可能である。しかも、端末制御装置１００は、異常動作ではなく、その原因となる脆弱性を検出するため、未知の異常動作に対しても有効な手段となる。更に、脆弱性情報に応じて様々な制御ポリシーを決定できるため、プログラムの強制終了することしかできなかった従来方法に比べ、非常に柔軟な制御が可能となる。
【００７２】
又、プログラムに対してアクセス権を強制的に制限する方法のように、正常動作時からもプログラムの動作を制限してしまうこともない。即ち、脆弱性が検出され、取り除かれるまでの間に限って制限することができる。又、端末装置２００のユーザの意識、無意識に関わらず適切な制御ができる。以上のことから、例えば、脆弱性を有するプログラムが動作することにより、そのプログラムに対する悪意のある攻撃により、攻撃者に対して端末装置２００の管理者権限まで与えてしまうことや、端末装置２００内の重要な情報の流出、端末装置２００を踏み台にした他の端末装置への攻撃等を防止できる。バグ自体を根絶することは困難であるため非常に有効な技術である。
【００７３】
しかも、端末制御装置１００は、脆弱性の内容、脆弱性が発生する状況、脆弱性の影響を受けるオペレーティングシステム、脆弱性の影響を受けるハードウェア、脆弱性の影響を受けるミドルウェア、脆弱性の深刻度に応じて、適切な制御内容を決定したり、影響を受ける端末装置を適切に特定したりできる。
【００７４】
又、端末制御装置１００は、端末装置が備えるオペレーティングシステム、端末装置が備えるハードウェア、端末装置が備えるミドルウェア、端末装置が有するプログラム、端末装置におけるプログラムの更新時期、端末装置に対する制御ポリシーの通知時期等に応じて、脆弱性の影響を受ける端末装置を適切に特定できる。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施形態に係る端末制御装置の構成を示すブロック図である。
【図２】本発明の実施形態に係る脆弱性情報蓄積部を示す図である。
【図３】本発明の実施形態に係る深刻度判断情報示す図である。
【図４】本発明の実施形態に係る端末情報蓄積部を示す図である。
【図５】本発明の実施形態に係るポリシー決定情報を示す図である。
【図６】本発明の実施形態に係る端末制御方法の手順を示すフロー図である。
【符号の説明】
【００７６】
１００…端末制御装置
１１０…脆弱性情報蓄積部
１２０…端末情報蓄積部
１３０…ポリシー決定部
１４０…端末特定部
１５０…ポリシー通知部
１６０…脆弱性検出部
１７０…端末情報登録部
２００…端末装置
３００…サーバ
４００…ネットワーク
【図１】
2006127422.tif 000003
【図２】
2006127422.tif 000004
【図３】
2006127422.tif 000005
【図４】
2006127422.tif 000006
【図５】
2006127422.tif 000007
【図６】
2006127422.tif 000008