(57)【要約】【課題】  従来から使用されている定義ファイルに依存せずに不正プログラムの検知を可能にする技術を提供すること。【解決手段】  情報処理装置内で実行されるプロセスの動作を監視するための第一の監視手段と、該情報処理装置に対するユーザからの指示を監視するための第二の監視手段と、を有する該情報処理装置である。第二の監視手段が該指示を検知していない期間中にプロセスによって規定の動作が実行されていることを第一の監視手段が検知した場合には、該情報処理装置に対して制御を行う。【選択図】  図１
2015082191.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置内で実行されるプロセスの動作を監視するための第一の監視手段と、該情報処理装置に対するユーザからの指示を監視するための第二の監視手段と、を有する該情報処理装置であって、
前記第二の監視手段が前記指示を検知していない期間中に前記プロセスによって規定の動作が実行されていることを前記第一の監視手段が検知した場合には、該情報処理装置に対して制御を行う制御手段を備えることを特徴とする情報処理装置。
【請求項２】
前記制御手段は、
非不正プロセスを登録したリストに登録されていないプロセスを停止させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記期間中に前記プロセスによって規定の動作が実行されていることを前記第一の監視手段が検知した場合には、前記プロセスが不正プログラムとして検知された旨を記した電子メールを送信することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記制御手段は、前記期間中に前記プロセスによって規定の動作が実行されていることを前記第一の監視手段が検知した場合には、前記情報処理装置における全てのインターフェースを停止させることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記制御手段は、前記期間中に前記プロセスによって規定の動作が実行されていることを前記第一の監視手段が検知した場合には、前記情報処理装置を、該情報処理装置の安全を復旧させるためのネットワークに接続させることを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記制御手段は、前記期間中に前記プロセスによって規定の動作が実行されていることを前記第一の監視手段が検知した場合には、前記情報処理装置とネットワークとの間を接続するゲートウェイ機器に対し、該ネットワークへの接続を遮断するように指示することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記第一の監視手段はプロセスモニタであり、前記第二の監視手段はシステムモニタであることを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記規定の動作は、ファイルアクセス、ネットワークアクセス、所定の回数以上の再起動、を含むことを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項９】
前記第一の監視手段は、監視対象から外されたプロセスが登録されているリストを参照し、該リストに登録されていないプロセスの動作を監視することを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
前記制御手段は、前記第一の監視手段が監視対象のプロセスによって規定の動作が実行されていることを検知した場合には、前記情報処理装置に対して制御を行うことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
情報処理装置内で実行されるプロセスの動作を監視するための第一の監視手段と、該情報処理装置に対するユーザからの指示を監視するための第二の監視手段と、を有する該情報処理装置が行う情報処理方法であって、
前記情報処理装置の制御手段が、前記第二の監視手段が前記指示を検知していない期間中に前記プロセスによって規定の動作が実行されていることを前記第一の監視手段が検知した場合には、該情報処理装置に対して制御を行うことを特徴とする情報処理方法。
【請求項１２】
コンピュータを、請求項１乃至１０の何れか１項に記載の情報処理装置の制御手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウィルス等の不正プログラムに対するセキュリティ技術に関するものである。
【背景技術】
【０００２】
従来より、コンピュータシステムの脆弱性などのセキュリティホールを攻撃して侵入する不正プログラム（ウィルス、ワームなどのマルウェア）が、個人・企業を問わず社会的に重要な問題となっている。
【０００３】
この不正プログラムは、コンピュータの制御を奪い、コンピュータに格納されているデータの破壊や外部への不正なデータ送信、侵入したコンピュータを利用して新たに第三者に対する攻撃活動を行う。例えば、コンピュータシステムで実行されるプロセスの内部では、複数のモジュールが動作しており、このモジュールに脆弱性が存在する場合に該当のモジュールを狙った攻撃と侵入が行われる。このような不正プログラムに対しては、現在も定義ファイルに依る検知方式が主流である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１５７５２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術（特許文献１）では、既知の不正プログラムしか検知することができず、ゼロデイ攻撃等の未知の不正プログラムを検知することができないという課題があった。さらに、このような不正プログラムは、新種が１日あたりに数万種以上も出現しており、もはや定義ファイルによる検知方式は崩壊している。
【０００６】
本発明はこのような問題に鑑みてなされたものであり、従来から使用されている定義ファイルに依存せずに不正プログラムの検知を可能にする技術を提供する。
【課題を解決するための手段】
【０００７】
本発明の一様態は、情報処理装置内で実行されるプロセスの動作を監視するための第一の監視手段と、該情報処理装置に対するユーザからの指示を監視するための第二の監視手段と、を有する該情報処理装置であって、前記第二の監視手段が前記指示を検知していない期間中に前記プロセスによって規定の動作が実行されていることを前記第一の監視手段が検知した場合には、該情報処理装置に対して制御を行う制御手段を備えることを特徴とする。
【発明の効果】
【０００８】
本発明の構成によれば、従来から使用されている定義ファイルに依存せずに不正プログラムを検知することができる。
【図面の簡単な説明】
【０００９】
【図１】プロセス、プロセスモニタ、システムモニタ、関連する周辺ユニットを示す図。
【図２】システムモニタの構成例を示す図。
【図３】プロセスモニタの構成例を示す図。
【図４】リストの構成例を示す図。
【図５】ネットワークシステムの構成例を示す図。
【図６】情報処理装置とゲートウェイ機器との連携を例示した図。
【図７】情報処理装置が行う処理のフローチャート。
【図８】情報処理システムの動作を説明するフローチャート。
【図９】情報処理装置のハードウェア構成例を示すブロック図。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１１】
［第１の実施形態］
インターネットの普及により見知らぬ第三者装置との情報のやり取りを行う機会が非常に増えた結果、悪意のある第三者装置との情報のやり取りを行う機会も増えた。このような悪意のある第三者装置により不正なプログラムが実行された情報処理装置は、該情報処理装置が不正な処理を実行するだけではない。すなわち、該情報処理装置が接続されるＬＡＮ（例えば、社内ＬＡＮや家庭内ＬＡＮなど）に接続されている他の装置や該情報処理装置を踏み台にした新たな不正行為が実行されるなど、様々な問題が発生する。このような問題は、単に個人的な問題に留まらず、社会的に大きな問題（犯罪）へと繋がっており、非常に大きな問題となっている。このようなことから、各種サーバなどの情報処理装置を抱える企業などでは、不正な攻撃や侵入を実行する不正プログラムを素早く正確に検知する手法が切望されている。
【００１２】
なお、「不正な攻撃」とは、コンピュータシステムに対して、本来それが実行しようとする処理とは異なる、意図しない動作を実行させようとすることを示す。また、「侵入」とは、攻撃によって本来意図しない動作をさせることによってシステムの一部もしくは全部の制御を奪うことを示す。
【００１３】
本実施形態に係る情報処理装置は、プログラムに従って演算処理を実行するコンピュータシステムである。例えば、Webサーバ、コンテンツサーバ、DNSサーバ等のユーザにサービスを提供するサーバ装置をはじめ、個人的に使用されるパーソナルコンピュータシステム、ルーターやL3スイッチ等のネットワーク機器等の装置である。そして本実施形態に係る情報処理装置は、システムの内部まで詳細に監視することを可能とし、さらには、不正な攻撃や侵入を実行する不正プログラムを素早く正確に検知することを可能にする。
【００１４】
先ず、本実施形態に係る情報処理装置のハードウェア構成例について、図９のブロック図を用いて説明する。なお、本実施形態に適用可能な情報処理装置のハードウェア構成は、図９に示した構成に限るものではなく、以下に情報処理装置が行うものとして説明する各処理を実行可能な構成であれば、如何なる構成を採用しても構わない。
【００１５】
ＣＰＵ９１は、ＲＯＭ９２やＲＡＭ９３に格納されているコンピュータプログラムやデータを用いて各種の処理を実行することで、本装置全体の動作制御を行うと共に、本装置が行うものとして後述する各処理を実行する。また、ＣＰＵ９１は、計時するためのタイマ機能も有している。
【００１６】
ＲＯＭ９２には、本装置の設定データやブートプログラムなどが格納されている。
【００１７】
ＲＡＭ９３は、ＨＤＤ（ハードディスクドライブ）９４からロードされたコンピュータプログラムやデータを一時的に記憶するためのエリアや、インターフェース９７を介して外部から受信したデータを一時的に記憶するためのエリアを有する。また、ＲＡＭ９３は、ＣＰＵ９１が各種の処理を実行する際に用いるワークエリアも有する。すなわち、ＲＡＭ９３は、各種のエリアを適宜提供することができる。
【００１８】
ＨＤＤ９４には、ＯＳ（オペレーティングシステム）や、本装置が行うものとして後述する各処理をＣＰＵ９１に実行させるためのコンピュータプログラムやデータが保存されている。このコンピュータプログラムには、後述するプロセスモニタ（第一の監視手段）やシステムモニタ（第二の監視手段）、が含まれている。また、このデータには、後述するリストのデータが含まれている。ＨＤＤ９４に保存されているコンピュータプログラムやデータは、ＣＰＵ９１による制御に従って適宜ＲＡＭ９３にロードされ、ＣＰＵ９１による処理対象となる。
【００１９】
入力装置９５は、キーボードやマウスなどの操作入力インターフェースであり、本装置のユーザが操作することで、各種の指示をＣＰＵ９１に対して入力することができる。
【００２０】
表示装置９６は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ９１による処理結果を画像や文字などでもって表示することができる。
【００２１】
インターフェース９７は、本装置をＬＡＮやインターネットなどのネットワークに接続するインターフェースや、本装置にＵＳＢメモリなどの外部メモリを接続するためのインターフェースなどにより構成されている。
【００２２】
上記の各部は何れも、バス９８に接続されている。
【００２３】
次に、ＨＤＤ９４内で管理されているプロセス、プロセスモニタ、システムモニタ、そして、それらに関連する周辺ユニットについて、図１を用いて説明する。
【００２４】
ＯＳ１１０は、様々なプロセスを管理しており、それぞれのプロセスには、該プロセスの動作を監視するプロセスモニタが設定されている。より具体的には、プロセスモニタは、プロセスに注入（コードインジェクション）されている。そしてプロセスモニタは、プロセスの動作を監視し、他プロセスの起動や、該プロセスによるファイルアクセス、該プロセスによるネットワークアクセス、該プロセスによるＡＰＩ１１４の呼び出し等の動作があったか否かを検知する。
【００２５】
図１では例として、ＯＳ１１０はプロセスＡ及びプロセスＢを管理しており、プロセスＡにはプロセスモニタＡが設定されており、プロセスＢにはプロセスモニタＢが設定されている。
【００２６】
なお、プロセスモニタは実際には、プロセスの内部のモジュール毎に設定され、モジュール毎にその動作を監視するのであるが、以下では説明を簡単にするために、プロセスモニタはプロセスに対して設定されるものとして説明する。
【００２７】
また、ＯＳ１１０は、システムモニタ１１１も管理している。システムモニタ１１１は、プロセスによらない本装置の挙動を監視するものである。例えば、ユーザが入力装置９５（図１では入力デバイス１１２）を操作したことで発生する本装置への指示入力イベント、ウィンドウメッセージ、インターフェース９７（図１では通信Ｉ／Ｆ１１３）を介した印刷出力などの出力イベント、を監視する。
【００２８】
このように、システムモニタ及びプロセスモニタを注入することで、ユーザによる入力イベントからシステムの動作に関する詳細な情報をあまねく取得することができる。したがって、コンピュータシステムで発生した各種情報を収集することにより、システムの内部まで詳細に監視することを可能とし、さらには、不正な攻撃や侵入を実行する不正プログラムを素早く正確に検知することができる。なお、プロセスモニタは、APIフック、フィルタドライバ等のプロセスを監視できるものなら何でもよい。
【００２９】
次に、プロセスモニタについて説明する。プロセスモニタは、何れのプロセスに対するものでも共通の構成を有するため、以下では、プロセスＡに対するプロセスモニタを例にとり説明する。
【００３０】
プロセスモニタＡは、図３に例示するように、制御部３０１と、監視部３０２と、を有する。制御部３０１は、監視部３０２による監視結果に応じて、プロセスＡの動作制御を行うためのものである。監視部３０２は、プロセスＡの動作を監視し、他プロセスの起動や、プロセスＡによるファイルアクセス、プロセスＡによるネットワークアクセス、プロセスＡによるＡＰＩ１１４の呼び出し等の動作があったか否かを検知する。より具体的には、監視部３０２は、プロセスＡにより発生した情報として、プロセスＡによるＡＰＩ呼び出しやシステムコール呼び出し等の情報を収集する。より具体的には、プロセスモニタの監視部３０２は、プロセスＡにより発生した情報として、例えば、モジュールの種類、呼び出された関数の種類、引数の値、読み出し元アドレス、タイムスタンプなどを取得する。そして監視部３０２は、収集した情報から、不正な攻撃や侵入を示す挙動、すなわち、ファイルアクセス、ネットワークアクセス、他プロセスの起動、などの動作があったか否かを検知する。
【００３１】
システムモニタは、図２に例示するように、監視部２０１を有する。監視部２０１は、プロセスによらない本装置の動作に関する情報を収集する。そして監視部２０１は、この収集した情報に基づいて、本装置の動作に関するイベントを検知する。例えば、ユーザが入力装置９５（図１では入力デバイス１１２）を操作したことで発生する本装置への指示入力イベント、ウィンドウメッセージ、インターフェース９７（図１では通信Ｉ／Ｆ１１３）を介した印刷出力等の出力イベントがあったか否かを検知する。
【００３２】
監視部２０１が、入力装置９５に対するユーザ操作に応じた指示入力イベントを検知していない期間中に、プロセスモニタＡの監視部３０２が、ファイルアクセス、ネットワークアクセス、他プロセスの起動、などの動作を検知したとする。このとき、プロセスモニタＡの制御部３０１は、プロセスＡを不正プログラムとみなし、該プロセスＡの動作を強制停止させる。なお、このプロセスモニタＡの制御部３０１は、この強制停止に代えて、若しくは加えて、不正プログラムとしてプロセスＡが検知された旨を記した電子メールを規定の送信先（例えばシステム管理者）に送信するようにしても良い。また、SNMPマネージャに対して、SNMPトラップで通知するようにしても構わない。
【００３３】
また、不正プログラムを検知すると、すぐに情報処理装置をネットワークから切り離して、被害の拡大を防ぐ必要がある。そこで、制御部３０１は、不正プログラムの動作の強制停止を行うと、不正プログラムによる被害の拡大を防ぐために、情報処理装置が有する全てのインターフェースを停止させる。すなわち、自動的にネットワーク接続を切り離し、USBデバイスなどの外部記憶装置からのデータ入力をすべて停止させ、さらなる不正プログラムの実行を防止するためプロセス実行も禁止する。このように、不正プログラムを検知した場合に実行する処理には、様々な処理が考えられる。
【００３４】
なお、情報処理装置には明らかに不正ではないプロセスも常駐しており、この不正ではないプロセスが、ユーザによる操作を検出できない期間中にファイルアクセス、ネットワークアクセス等の動作を行っている可能性がある。このような場合、この不正ではないプロセスが、システムモニタ及びプロセスモニタにより不正プログラムとして検知されてしまう。
【００３５】
そこで、このような問題に対処するために、不正ではないプロセス（非不正プロセス）を特定するための情報（例えばプロセス名）を予めリスト（ホワイトリスト）に登録しておく。このリストの構成例を図４に示す。図４では、不正ではないと予め分かっているプロセスのプロセス名が、リストに登録されている。
【００３６】
例えば、監視部２０１が上記指示入力イベントを検知していない期間中に、プロセスモニタＡの監視部３０２が、ファイルアクセス、ネットワークアクセス、他プロセスの起動、などの動作を検知したとする。このとき、プロセスモニタＡの制御部３０１は、プロセスＡを不正プログラムとみなす前に、上記のリストを参照する。そしてプロセスモニタＡの制御部３０１は、上記のリストにプロセスＡの情報が登録されているか否かを判断し、登録されていれば、プロセスＡは不正プログラムではないと判断する。一方、登録されていなければ、プロセスＡを不正プログラムと判断する。なお、上記のリストの使用方法には様々な使用方法が考えられ、特定の使用方法に限るものではない。例えば、リストに登録されているプロセスのプロセス名をプロセスモニタの監視部３０２が監視するプロセスの監視対象から予め外しておくことも可能である。このようにしておくことによって、明らかに不正でないプロセスを不正プログラムとして誤って検知してしまうことを防ぐことができる。また、ステップＳ７０１では、該プロセスのうち図４のリストに登録されているプロセスを予め監視対象から外しておくこともできる。
【００３７】
次に、情報処理装置が行う処理について、同処理のフローチャートを示す図７を用いて説明する。なお、以下では、システムモニタの監視部２０１、プロセスモニタの制御部３０１、プロセスモニタの監視部３０２、を処理の主体として説明するが、実際には、これらの機能部をＣＰＵ９１が実行することで、対応する処理が実行される。
【００３８】
ステップＳ７０１では、ＯＳ１１０が管理するそれぞれのプロセスに対するプロセスモニタの監視部３０２は、該プロセスの動作の監視を開始する。
【００３９】
ステップＳ７０２では、システムモニタの監視部２０１は、ユーザが入力装置９５を操作したことで発生する本装置への指示入力イベントや、ウィンドウメッセージ、インターフェース９７を介した印刷出力などの出力イベント、があったか否かを判断する。この判断の結果、なかったと判断した場合には、処理はステップＳ７０３に進み、あったと判断した場合には、図７のフローチャートに従った処理を終了する。
【００４０】
ステップＳ７０３では、それぞれのプロセスに対するプロセスモニタの監視部３０２は、該プロセスがネットワークにアクセスしようとしているのか否かを、該プロセスにより発生した情報から判断する。この判断の結果、１つ以上のプロセスがネットワークにアクセスしようとしている場合には、処理はステップＳ７０６に進み、ネットワークにアクセスしようとしているプロセスがない場合には、処理はステップＳ７０４に進む。
【００４１】
ステップＳ７０４では、それぞれのプロセスに対するプロセスモニタの監視部３０２は、該プロセスがファイルにアクセスしようとしているのか否かを、該プロセスにより発生した情報から判断する。この判断の結果、１つ以上のプロセスがファイルにアクセスしようとしている場合には、処理はステップＳ７０６に進み、ファイルにアクセスしようとしているプロセスがない場合には、処理はステップＳ７０５に進む。
【００４２】
ステップＳ７０５では、それぞれのプロセスに対するプロセスモニタの監視部３０２は、該プロセスが再起動しようとしているのか否かを、該プロセスにより発生した情報から判断する。この判断の結果、１つ以上のプロセスが所定の期間内に所定の回数以上再起動をしようとしている場合（例えば１７時から翌日の９時の間に再起動２回以上の場合）、処理はステップＳ７０６に進む。一方、再起動しようとしているプロセスがない場合には、図７のフローチャートに従った処理を終了する。なお、ステップＳ７０３、Ｓ７０４、Ｓ７０５を実行する順序は、任意であり、どのような順序で実行してもかまわない。
【００４３】
ステップＳ７０６では、ネットワークにアクセスしようとしている、若しくはファイルにアクセスしようとしている、若しくは再起動しようとしているプロセス（以下、対象プロセス）に対するプロセスモニタの制御部３０１は、上記のリストを参照する。そして対象プロセスに対するプロセスモニタの制御部３０１は、該リストに、対象プロセスの情報が登録されているか否かを判断する。この判断の結果、登録されていれば、対象プロセスは不正プログラムではないと判断し、図７のフローチャートに従った処理を終了する。一方、登録されていなければ、対象プロセスを不正プログラムと判断し、ステップＳ７０７に進む。
【００４４】
そしてステップＳ７０７では、対象プロセスに対するプロセスモニタの制御部３０１は、該対象プロセスを停止させたりウィルスを駆除するように予め設定がなされている、若しくはユーザが入力装置９５を用いて指示しているか否かを判断する。この判断の結果、対象プロセスを停止させたりウィルスを駆除するように予め設定がなされている、若しくはユーザが入力装置９５を用いて指示している場合には、処理はステップＳ７０８に進む。一方、このような指示も設定もなされていない場合には、図７のフローチャートに従った処理を終了する。
【００４５】
ステップＳ７０８では、対象プロセスに対するプロセスモニタの制御部３０１は、該対象プロセスを停止させる。なお、上述したように、本ステップでは、これに代えて、若しくは加えて、不正プログラムとして対象プロセスが検知された旨を記した電子メールを規定の送信先に送信しても良い。また、上述したように、本ステップでは、情報処理装置が有する全てのインターフェースを停止させるようにしても良い。
【００４６】
また、上記の通り、リストに登録されているプロセスを予め監視対象から外す処理を行うことも可能である。その場合、ステップＳ７０１では、リストに登録されているプロセスを予め監視対象から外し、監視対象とするプロセス（リストに登録されていないプロセス）を監視する。そしてこの場合、ステップＳ７０６では、監視対象のプロセスによって規定の動作が実行されていることを検知すると、上記のリストを参照することなく、このプロセスが不正プログラムであると判断する。
【００４７】
このように、本実施形態によれば、ユーザによる情報処理操作およびプロセスの振る舞いにより不正プログラムの検知を行うため、定義ファイルに依らない不正プログラムの検知が可能となる。
【００４８】
また、ホワイトリストに明らかに不正プログラムではないプロセスを登録しておくことで、不正プログラムとして誤検知する確率を下げることができ、より的確に不正プログラムの検知を行うことができる。
【００４９】
また、不正プログラムを検知すると、情報処理装置に備え付けられている各種インターフェースを自動的に遮断するため、未検知の不正プログラムを含めた不正プログラムによる被害を拡散させることなく最小限に抑えることができる。
【００５０】
［第２の実施形態］
本実施形態では、システムモニタは監視部２０１に加えて制御部を有し、該制御部は、不正プログラムが検知されると、ネットワークの接続先を強制的に変更する。本実施形態では、システムモニタの制御部は、不正プログラムが検知されると、ネットワークの接続先を検疫ネットワークに切り替える。
【００５１】
検疫ネットワークとは、ＬＡＮ等のネットワークに接続しようとしている機器を、該ネットワークとは隔離されたネットワークに接続させ、その機器の安全性の確認を行う仕組みに利用されるネットワークである。もし安全性が確認できなければ、修正プログラムや最新のウィルス定義ファイル等を適用してからネットワークに接続させることもできる。このような仕組みにより、ネットワークには安全とみなされた機器のみが接続できるようになり、ネットワークをセキュアに保つことができる。また、検疫ネットワークへの隔離方式には、DHCP認証方式、認証VLAN方式、パーソナルファイヤーウォール方式、認証ゲートウェイ方式等があり、それぞれの特性により適材適所で用いられる。
【００５２】
第１の実施形態で説明した情報処理装置が複数台接続されているネットワークシステムの構成例について、図５を用いて説明する。図５において、情報処理装置５０１〜５０３は何れも、第１の実施形態で説明した情報処理装置である。それぞれの情報処理装置５０１〜５０３は何れも、ネットワーク５０５に接続されているスイッチ５０４に接続されている。ネットワーク５０５には、検疫ネットワーク５０７が接続されている。この検疫ネットワーク５０７には、隔離部５０８、検査部５０９、治療部５１０が含まれている。
【００５３】
情報処理装置５０１〜５０３内のシステムモニタの制御部は、不正プログラムが検知されると、ネットワークの接続先を検疫ネットワーク５０７に変更する。ＣＰＵ９１は、スイッチ５０４及び隔離部５０８と連携し、本装置を検疫ネットワーク５０７に接続する。
【００５４】
検査部５０９は、検疫ネットワーク５０７に接続されている情報処理装置内のＯＳ１１０や各種ソフトウェアに適用されている修正プログラムやバージョン、ウィルスソフトの定義ファイル情報等、セキュリティに関わる情報を、該情報処理装置から収集する。そして検査部５０９は、これら収集した情報から、該情報処理装置が安全か否かを判断し、安全と判断すれば、該情報処理装置に対してネットワーク５０５上の他の機器への接続を許可する。一方、検査部５０９は、安全ではないと判断すれば、その旨を治療部５１０に通知する。このような安全か否かの判断は、一般のウィルスチェックで行うようにしても構わないし、特定の方法に限るものではない。例えば、ＯＳ１１０やソフトウェア等に最新の修正プログラムが適用されているか、最新の不正プログラムの定義ファイルが適用されているかなどを検査し、もし適用されていなければ、安全ではないと判断する。
【００５５】
治療部５１０は、検疫ネットワーク５０７に接続されている情報処理装置内のＯＳ１１０やソフトウェアの最新の修正プログラムやウィルスソフトの定義ファイルなど、該情報処理装置を安全に保つために必要な処置を、該情報処理装置に対して行う。そして検査部５０９は、これらを適用した結果、該情報処理装置が安全であると判断した場合には、該情報処理装置に対してネットワーク５０５上の他の機器への接続を許可する。
【００５６】
情報処理装置のＣＰＵ９１は、検疫ネットワーク５０７からネットワーク５０５上の他の機器への接続許可を受けると、スイッチ５０４を制御し、ネットワーク５０５上の他の機器に対してアクセス可能に設定する。
【００５７】
このように、本実施形態によれば、不正プログラムを検知すると、自動的に検疫ネットワークに隔離され、検査及び治療により最新の修正プログラムやウィルス定義ファイルを適用し、安全な状態に復旧させることができる。ＯＳ１１０やソフトウェアに対する既知の脆弱性への攻撃の多くは、最新の修正プログラムが適用されていれば防ぐことができるため、その効果は高い。
【００５８】
［第３の実施形態］
第１の実施形態や第２の実施形態で説明した情報処理装置は、ネットワーク上の機器と連携し、よりセキュアな環境を構築することが可能である。例えば、ゲートウェイ機器であるファイヤーウォールなどと連携することで、不正プログラムとC&Cサーバ（コマンド＆コントロールサーバ）との通信やボットと成り代った不正プログラムによる外部への通信を遮断することができる。
【００５９】
既にサポートが切れたＯＳをやむを得ず使用し続けなければならないことは企業であれば多々ある。この場合には、当然ながらＯＳの修正プログラムが提供されないため、修正プログラムを適用することができない。修正プログラムを適用できなければ、セキュリティ上の脆弱性を抱えたままシステムを運用することになる。また、基幹系システム等を運用している場合、ＯＳに対して修正プログラムを適用すると、修正プログラムの不具合等の原因により基幹系システム等が動作しなくなる恐れがあるため、簡単には修正プログラムを適用することができないことも多い。このような場合は、情報処理装置は、不正プログラムによる脆弱性への攻撃を受けやすく、リスクを保有しながらシステムを運用し続けなければならない。
【００６０】
情報処理装置内のＯＳやソフトウェアに対して修正プログラムが適用されていない場合、情報処理装置が抱えているバッファオーバーフロー等の脆弱性に対する攻撃を受けると、不正にプログラムが実行され、情報処理装置に不正プログラムが設置される。
【００６１】
ネットワーク上のある情報処理装置で不正プログラムが検出されると、その不正プログラムの特性上、該情報処理装置と同様の脆弱性を抱えている別の情報処理装置に不正プログラムが感染している疑いがある。この不正プログラムは、インターネット上のC&Cサーバ（コマンドアンドコントロールサーバ）と通信したり、ボットになりインターネット上のサーバに対してDoS(Denial of Services)攻撃を行う恐れがある。またはスパイウェアとして情報処理装置に保存されているデータをインターネットに漏洩させる恐れもある。
【００６２】
図６は、情報処理装置とゲートウェイ機器との連携を例示した図である。上述したような危機的状況を最小限に食い止めるために、情報処理装置は、不正プログラムを検知すると、ルータを介してゲートウェイ機器に通信遮断命令を出す。ゲートウェイ機器はこの命令を受信すると、自らインターネットとの通信を遮断する。このゲートウェイ機器は、DMZ（非武装地帯）で稼動してインターネットと直接通信する機器あるいはLAN内のルータなどでもよい。
【００６３】
このように、本実施形態によれば、やむを得ず最新の修正プログラムを適用することができなくても、情報処理装置がゲートウェイ機器と連携し、通信を遮断することで、不正プログラムによる被害を最小限に抑えることができる。
【００６４】
［第４の実施形態］
第１〜３の実施形態を利用すると、次のような動作を行う情報処理システムを構築することができる。このような情報処理システムの動作について、図８のフローチャートを用いて説明する。なお、この情報処理システムは、図６の構成におけるインターネット上に検疫ネットワーク５０７を接続した構成となる。
【００６５】
ステップＳ８０１では、上記のステップＳ７０１〜Ｓ７０６の処理が行われ、不正プログラムの検知を行う。
【００６６】
ステップＳ８０２では、第１〜３の実施形態で説明したように、プロセスの停止やインターネットへの通信の遮断、外部機器との間のデータ通信の遮断、などを行う。
【００６７】
ステップＳ８０３では、システムモニタの監視部２０１は、ゲートウェイ機器にネットワーク遮断命令を通知する。ステップＳ８０４では、システムモニタの監視部２０１は、複数の情報処理装置を管理している不図示の管理サーバに接続されている全ての情報処理装置に対して、ウィルススキャン命令を行うよう通知する。
【００６８】
ステップＳ８０５では、情報処理装置は検疫ネットワーク５０７に接続し、ステップＳ８０６では、検疫ネットワーク５０７により、情報処理装置に対して最新のパッチを当てたり、ウィルススキャンを実行したりする。
【００６９】
このように、ある情報処理装置で不正プログラムが検出されると、管理サーバによって管理されている別の情報処理装置に不正プログラムが感染している疑いがある。本実施形態によれば、不正プログラムの被害を最小限に抑えつつ、不正プログラムが検出された情報処理装置とは別の情報処理装置についても安全な状態に復旧させることができる。
【図１】
2015082191.tif 000003
【図２】
2015082191.tif 000004
【図３】
2015082191.tif 000005
【図４】
2015082191.tif 000006
【図５】
2015082191.tif 000007
【図６】
2015082191.tif 000008
【図７】
2015082191.tif 000009
【図８】
2015082191.tif 000010
【図９】
2015082191.tif 000011