JP6253333B2 - 情報処理装置、情報処理システムおよび情報処理方法 - Google Patents

情報処理装置、情報処理システムおよび情報処理方法 Download PDF

Info

Publication number
JP6253333B2
JP6253333B2 JP2013211424A JP2013211424A JP6253333B2 JP 6253333 B2 JP6253333 B2 JP 6253333B2 JP 2013211424 A JP2013211424 A JP 2013211424A JP 2013211424 A JP2013211424 A JP 2013211424A JP 6253333 B2 JP6253333 B2 JP 6253333B2
Authority
JP
Japan
Prior art keywords
program
list
information processing
information
white list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013211424A
Other languages
English (en)
Other versions
JP2014096143A (ja
JP2014096143A5 (ja
Inventor
智 米川
智 米川
和希 高野
和希 高野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Electronics Inc
Original Assignee
Canon Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Electronics Inc filed Critical Canon Electronics Inc
Priority to JP2013211424A priority Critical patent/JP6253333B2/ja
Priority to PCT/JP2013/006022 priority patent/WO2014057668A1/ja
Publication of JP2014096143A publication Critical patent/JP2014096143A/ja
Priority to US14/664,410 priority patent/US9767280B2/en
Publication of JP2014096143A5 publication Critical patent/JP2014096143A5/ja
Application granted granted Critical
Publication of JP6253333B2 publication Critical patent/JP6253333B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、ネットワークアクセス制御を行う情報処理に関する。
近年、企業に対するサイバー攻撃の新しい形態として、企業内の特定の社員が使用または所有するコンピュータを標的にし、そのコンピュータにマルウェアを感染させ、企業内の情報を盗み出す、標的型攻撃という手法が増えている。
従来のアンチウィルスソフトなどは、ブラックリスト方式によるウィルス定義ファイルを用いる。しかし、コンピュータウィルスを含むマルウェアの種類は日に万単位で増加している。そのため、ウィルス定義ソフトの更新は、マルウェアの急増に追いつかない状況にあり、従来のアンチウィルスソフトによる標的型攻撃への対処は難しい状況にある。
一方、既知のプログラムによるネットワークアクセスを許可し、その他のプログラムのプログラムによるネットワークアクセスを制限する、いわゆるホワイトリスト型のネットワークアクセス制御を用いる標的型攻撃への対処が存在する(例えば、特許文献1)。
ホワイトリスト型のネットワークアクセス制御を開始する際、許可対象のプログラムをホワイトリストに登録する。しかし、セキュリティパッチなどのアップデートが行われると、ホワイトリストに登録した許可対象のプログラムが更新され、更新後のプログラムをホワイトリストに再登録する必要がある。さらに、アップデータによって新規にプログラムが生成される場合、新規に生成されるプログラムもホワイトリストに登録する必要がある。
従来、システム管理者などは、アップデートの都度、更新されるプログラムやアップデータが生成するプログラムをホワイトリストに登録する作業を行っていた。この方法によれば、アップデータが信頼できるか否かの判断だけでなく、更新されるプログラムや生成されるプログラムをホワイトリストに登録する負担が大きい作業が必要になる。
特開2009-259160号公報
本発明は、リスト型のネットワークアクセス制御を行う場合の、リストの更新にかかる作業を軽減することを目的とする。
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
本発明にかかる情報処理装置は、プログラムの起動およびプログラムの生成または変更の検知、もしくは、プログラムの検索を行う検知手段と、プログラムを識別する識別手段と、ネットワークアクセスが許可されたプログラムのリストであるホワイトリスト、およびネットワークアクセスが禁止されたプログラムのリストであるブラックリストのうち一方のリストにプログラムを登録する登録手段とを有し、前記識別手段は、前記検知手段によって起動が検知されたプログラムまたは前記検知手段の検索によって検出されたプログラムのプログラム情報に基づき、前記プログラムがプログラム情報に関する所定の基準を満たすか否かを判定し、前記登録手段は、前記所定の基準を満たすと判定されたプログラムを前記一方のリストに登録し、前記登録手段は、前記所定の基準を満たすと判定されたプログラムに昇格権限を付与するために、前記プログラムと前記昇格権限の対応を前記一方のリストに登録し、前記検知手段によって前記昇格権限が付与されたプログラムによる子プログラムの生成または変更が検知された場合、前記登録手段は、前記子プログラムを前記一方のリストに登録することを特徴とする。
本発明によれば、リスト型のネットワークアクセス制御を行う場合の、リストの更新にかかる作業を軽減することができる。
ホワイトリスト制御システムの構成例を示すブロック。 サーバが存在しないホワイトリスト制御システムの構成例を示すブロック図。 ホワイトリストの一例を示す図。 サーバに存在するホワイトリストマスタの一例を示す図。 ホワイトリスト制御処理の一例を説明するフローチャート。 インストーラが起動された場合のホワイトリスト制御処理の一例を説明するフローチャート。 ネットワークアクセス制御を説明するフローチャート。 プログラム起動をトリガとするホワイトリストの更新処理を説明するフローチャート。 プログラム検索をトリガとするホワイトリストの更新処理を説明するフローチャート。 上書アップデートによるホワイトリストの更新処理を説明するフローチャート。 置換アップデートによるホワイトリストの更新処理を説明するフローチャート。 登録プログラムが情報を登録するリストの一例を示す図。 置換アップデートによるホワイトリストの更新処理を説明するフローチャート。
以下、本発明にかかる実施例の情報処理システムの情報処理を図面を参照して詳細に説明する。
[システムの構成]
図1のブロックによりホワイトリスト制御システムの構成例を示す。ホワイトリスト制御システムは、情報処理装置と、情報処理装置を管理するサーバ装置を含む。
図1において、クライアントコンピュータ(以下、クライアント)10は、ホワイトリスト制御システムにおける情報処理装置である。クライアント10は、例えば、企業、学校、行政機関または家庭などに設置されたパーソナルコンピュータ(PC)や、個人が使用または所有するタブレット端末やスマートフォンなどのコンピュータ機器である。
サーバコンピュータ(以下、サーバ)20は、ホワイトリスト制御システムにおける情報処理装置を管理するサーバ装置である。サーバ20は、複数のクライアント10からホワイトリスト120の情報を取得してデータベース化したり、定期的にクライアント10にホワイトリストデータを送信してホワイトリスト120の更新を行う。
ネットワーク300は、インターネットやイントラネットなどのコンピュータネットワークである。クライアント10は、ネットワーク300を介して、サーバ20や、図示しないウェブサーバやFTPサーバなどと接続する。
なお、簡潔化のため図1にはクライアント10とサーバ20を一台ずつ示すが、実際には、ホワイトリスト制御システムに複数のクライアントや複数のサーバが存在することができる。
●クライアント
クライアント10において、演算装置10Cはマイクロプロセッサ(CPU)である。演算装置10Cは、メモリ10EのROMに格納されたBIOSなどのブートプログラムに従い記憶装置10Bに格納されたオペレーティングシステム(OS)を起動し、さらにOSに従い各種の常駐プログラム(例えば制御プログラム113など)を起動する。その際、演算装置10Cは、メモリ10EのRAMをワークエリアとして使用する。また、OSは例えばWindows(登録商標)、Mac OS(登録商標)、Linux(登録商標)、iOS(商標)、Android(商標)などである。
記憶装置10Bは、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)などであり、OSのほかにクライアント10上で稼働する各種のプログラム100やデータ101を格納する。詳細は後述するが、記憶装置10Bが格納する各種プログラム100には識別プログラム110、登録プログラム111、検知プログラム112、制御プログラム113、ファイル検索ツール114などが含まれる。また、詳細は後述するが、記憶装置10Bが格納する各種データ101にはホワイトリスト120、昇格基準ルール130、ブラックリスト140などが含まれる。
なお、プログラム100は、識別プログラム110など各種機能ごとのプログラムを複数備えてもよいし、各種機能を備えた一つのプログラムでもよい。
I/Oデバイス10Aは、ポインティングデバイス(マウスなど)やキーボードに接続するための入出力インタフェース(I/F)、または、タッチパネルを組み込んだディスプレイなどである。なお、キーボードはソフトウェアキーボードでもよい。また、I/Oデバイス10Aは、入力された操作者の音声を音声認識機能によって認識し、認識した音声を演算装置10Cへ伝達する、マイク等を含む音声式入力部でもよい。また、I/Oデバイス10Aは、情報を表示するためのユーザインタフェース(UI)としても機能する。
ネットワークI/F 10Dは、ネットワーク300とのインタフェースであり、他のコンピュータと通信するための通信回路である。演算装置10Cは、ネットワークI/F 10Dを介して、例えばホワイトリスト120の一部データなどの情報をサーバ20から受信し、また、各種情報をサーバ20に送信する。
●サーバ
サーバ20において、演算装置20Cはマイクロプロセッサ(CPU)である。演算装置20Cは、メモリ20EのROMに格納されたBIOSなどのブートプログラムに従い記憶装置20Bに格納されたOSを起動する。さらに、演算装置20Cは、記憶装置20Bから管理コンソール210をメモリ20EのRAMにロードする。そして、複数のクライアント10から情報(例えば、ホワイトリスト120の情報など)を取得してデータベース化したり、逆に、クライアント10に対して情報を送信してホワイトリスト120の更新などを行う。
記憶装置20Bは、HDDやSSDなどであり、OSのほかにサーバ20上で稼働する管理コンソール210を含む各種のプログラム200やデータ201を格納する。詳細は後述するが、記憶装置10Bが格納する各種データ201にはホワイトリストマスタ220、昇格基準ルール230、ブラックリストマスタ240、ホワイトリスト候補250などが含まれる。
I/Oデバイス20Aは、ポインティングデバイス(マウスなど)、キーボード、モニタに接続するためのインタフェース(I/F)であり、モニタは情報を表示するためのUIとして機能する。ネットワークI/F 20Dは、ネットワーク300とのインタフェースであり、クライアント10など他のコンピュータと通信するための通信回路である。
演算装置20Cは、ネットワークI/F 20Dを介して、複数のクライアント10からホワイトリスト120やブラックリスト140に関する情報を受信し、受信した情報に基づき、ホワイトリストマスタ220やブラックリストマスタ250を管理する。
ホワイトリスト制御システムにおいて、サーバ20は必須の構成ではない。図2のブロック図によりサーバ20が存在しないホワイトリスト制御システムの構成例を示す。図2の構成においては、クライアント10とサーバ20の通信は不要になるため、ネットワーク300およびネットワークI/F 10Dもオプションである。
また、ホワイトリスト制御システムはシンクライアント(例えば、ターミナルサービスなど)を利用した構成としてもよい。シンクライアントは、クライアントがサーバにリモート接続し、サーバ上に生成された仮想デスクトップ環境を利用してサーバ上でアプリケーションプログラムを実行できるようにするシステムである。
[プログラムおよびデータ]
識別プログラム110は、演算装置10Cによって実行され、別途起動されるプログラムからファイル名(プログラム名)、ハッシュ値、バージョン情報、ファイルサイズ、ファイルパス、ディジタル署名などの情報(以下、プログラム情報)を取得する。また、プログラム情報には、当該プログラムが格納されているPC名も含まれる。そして、取得したプログラム情報に基づき当該プログラムを識別する識別機能を有する。また、識別プログラム110は、取得したプログラム情報と後述する昇格基準ルール130を照会して、当該プログラムが昇格基準を満たすか否かを判定する。
ホワイトリスト120は、ネットワークアクセスを許可するプログラムに関する情報をリスト化したものである。ホワイトリスト120を構成する情報には、識別プログラム110によって取得されたプログラム情報が用いられる。
図3によりホワイトリスト120の一例を示す。ホワイトリスト120は、各プログラムについて、プログラム名(実行ファイル名)、ハッシュ値、バージョン情報、ファイルサイズ、接続先IPアドレス、接続先ポート番号、後述する昇格権限フラグの七種類の情報を保持する。なお、図3は一例であり、ホワイトリスト120として保持する情報の種類と数は図3に限定されるものではない。
ホワイトリストマスタ220は、複数のホワイトリスト120をリスト化したものである。図4によりサーバ20に存在するホワイトリストマスタ220の一例を示す。ホワイトリストマスタ220は、複数のクライアントのホワイトリスト120に関連する情報をクライアントの名称や符号に対応付けて保持する。図4の例では、PC003に対応するホワイトリスト003として、複数のプログラムのプロセス名、ハッシュ値、接続先IPアドレス、接続先ポート番号、登録日時、最終起動日時が保持された例を示す。なお、図4は一例であり、ホワイトリストマスタ220として保持する情報の種類と数は図4に限定されるものではない。
検知プログラム112は、演算装置10Cによって実行され、プログラムの起動と、起動されたプログラムによる別のプログラムの生成を監視する監視機能と、それらを検知する検知機能を有する。
登録プログラム111は、演算装置10Cによって実行され、検知プログラム112に起動や生成が検知されたプログラムの、識別プログラム110が取得したプログラム情報に基づき、当該プログラムをホワイトリスト120に登録する登録機能を有する。
制御プログラム113は、演算装置10Cによって実行され、ホワイトリスト120に基づき、クライアント10上で起動されたプログラムのネットワークアクセスを許可または禁止する制御機能を有する。また、制御プログラム113は、プログラムがアクセスしようとする接続先のIPアドレスやポート番号を判断基準としてネットワークアクセスを制御する制御機能も有する。
昇格基準ルール130は、プログラムやファイルが、信頼できる発行者によって発行されたものか否かを判断するためのルールである。昇格基準ルール130は、プログラム情報を元に、管理者やユーザなどが定義したルールである。ツールには、例えば、プログラムやファイルに付加されたディジタル署名、ディジタル証明書が正当か否かの検証、ファイルの署名者名が予め記憶された名前か否かの判定、ファイル名が指定条件を満たすか否かの判定などがある。
また、昇格基準ルール130として適用するルールの種類や数は、前記の具体例に限定されるものではない。例えば「ディジタル署名やディジタル証明書が正当であり、かつファイル名に"Setup"または"Update"という文字が含まれている」という複数の組み合わせのルールを適用することもできる。この場合「画像ビューワ(Viewer.exe)の脆弱性を突いてマルウェアを生成させるマルウェア」が動作したとき、画像ビューワのディジタル署名が正当でも、そのファイル名に前記の文字列が含まれない。その結果、画像ビューワの脆弱性を突く攻撃を防ぐ効果が得られる。
ブラックリスト140は、ネットワークアクセスが禁止されたプログラムをリスト化したものである。ブラックリスト140のデータ構造は、図3に示すホワイトリスト120と略同一である。また、ブラックリスト140は必須ではなくクライアント10上に存在しなくてもよいし、ブラックリスト140を使用しない場合はサーバ20のブラックリストマスタ240も必須ではない。
[ホワイトリスト制御処理]
●処理の概要
検知プログラム112は、グローバルフック(APIフック、フィルタドライバ)などを用いて、クライアント10におけるプログラムの起動を検知し、プログラムの起動を検知すると識別プログラム110を呼び出す。識別プログラム110は、起動されるプログラムのプログラム情報を取得して、当該プログラムが昇格基準ルール130を満たすか否かを検証する。
検証の結果、当該プログラムが昇格基準ルール130を満たすと判断された場合、制御プログラム113は、当該プログラムがアップデータであると判断し、登録プログラム111を呼び出す。登録プログラム111は、識別プログラム110から当該プログラムのプログラム情報を受け取り、当該プログラムをホワイトリスト120に登録する。この登録により、当該プログラムのネットワークアクセスが可能になる。
なお、起動されるプログラムが昇格基準ルール130を満たすとしても、当該プログラムがブラックリスト140に登録されている場合、制御プログラム113は登録プログラム111に当該プログラムの登録を実行させない。つまり、当該プログラムのネットワークアクセスの禁止が維持される。なお、ネットワークアクセスの禁止が維持されれば、起動されるプログラムの実行を阻止、もしくは、許可してもよい。
この時点では、プログラムがアクセスする接続先のIPアドレスやポート番号を知ることはできない。そのため、登録プログラム111は、接続先のIPアドレスやポート番号を制限しない設定のレコード(例えば図3の三行目)をホワイトリスト120に登録する。従って、アップデータと判断されたプログラムは、ネットワークアクセスの制限を受けず、正常に動作することが可能である。
次に、登録プログラム111は、ホワイトリスト120に登録したプログラムに「昇格権限」を与える。昇格権限の有無は、例えば、ホワイトリスト120の昇格権限フラグに設定する。あるいは、ホワイトリスト120に対応するテーブルを記憶装置10Bに格納し、当該テーブルの各レコードに昇格権限の有無を登録してもよい。昇格権限は、以下のように定義される権限である。
昇格権限を有するプログラム(親プログラム)が何らかのプログラム(子プログラム)を生成した場合、子プログラムは無条件にホワイトリスト120に登録される。そして、親プログラムが子プログラムを起動した場合、子プログラムにも昇格権限が与えられる。この昇格権限に関する登録処理を、図1に示す構成が行う場合、以下のような処理になる。
検知プログラム112は、親プログラムの挙動をグローバルフックなどを用いて監視する。検知プログラム112は、親プログラムによる子プログラムの生成を検知すると、識別プログラム110に子プログラムのプログラム情報を取得させる。識別プログラム110は、取得したプログラム情報を登録プログラム111に渡す。登録プログラム111は、受け取ったプログラム情報に基づきホワイトリスト120に追加するレコードのデータを作成し、作成したデータをホワイトリスト120に追加する。
このとき、次の方式の採用も可能である。つまり、検知プログラム112は、子プログラムの生成を検知すると、生成されたファイルを解析し、生成されたファイルに関する情報をホワイトリストへ登録する必要の有無を判断する。そして、登録不要と判断した場合、識別プログラム110によるプログラム情報の取得を行わずに以降の処理を打ち切る。登録不要と判断される場合は、例えば、生成されたファイルのバイナリヘッダを解析し、その構成がPE (Portable Executable)形式ではなく、実行ファイルではないと判断することができる場合などである。
次に、検知プログラム112は、親プログラムによる子プログラムの起動を監視する。検知プログラム112は、親プログラムによる子プログラムの起動を検知すると、登録プログラム111を呼び出す。呼び出された登録プログラム111は、子プログラムの昇格権限フラグに「有」を設定する。また、制御プログラム113は、子プログラムのネットワークアクセスを許可する。
昇格権限を利用すれば、例えばソフトウェアのセキュリティパッチなど、子プログラムを生成する挙動を有するプログラムが生成したプログラムを自動的にホワイトリスト120に追加することができる。言い換えれば、更新されるプログラムや生成される子プログラムをホワイトリスト120に登録する、ホワイトリストの更新にかかる作業を軽減することができる。
なお、昇格権限に関する処理は、親プログラムから子プログラムを生成した場合に限らず、親プログラムに対する変更(例えば、リネーム)、または、子プログラムに対する変更の場合でも可能である。
また、昇格基準ルール130に「プログラムに正当なディジタル署名が付加されているかを判定する」を適用する。こうすれば、信頼できる発行元が発行したプログラムであり、マルウェアのような悪意のあるプログラムではないことを操作者の意識を介さずに判断可能である。なお、正当なディジタル署名が付加されているか否かは、例えばWindows(登録商標)アプリケーションプログラミングインタフェース(API)などを用いる方法などがある。
また、昇格基準ルール130を満たさないプログラムと判断された場合、制御プログラム113は一般的なホワイトリスト制御を行う。つまり、識別プログラム110は、当該プログラムが昇格基準ルール130を満たさなと判断すると、当該プログラムがホワイトリスト120に登録されているか否かを判定する。制御プログラム113は、当該プログラムがホワイトリスト120に登録されていると判定されると、昇格権限を有するか否か判定し、当該プログラムのネットワークアクセスを許可する。また、当該プログラムがホワイトリスト120に登録されていないと判定されると、グローバルフックやパケットフィルタリングなどにより当該プログラムのネットワークアクセスを禁止する。
また、識別プログラム110により、起動されるプログラムがブラックリスト140に登録されているか否かを判定する。そして、ブラックリスト140に登録されている場合は当該プログラムのネットワークアクセスを禁止し、ブラックリスト140に登録されていない場合は当該プログラムのネットワークアクセスを許可する方式の採用も可能である。
なお、以下の説明において、プログラムなどがホワイトリスト120またはブラックリスト140に登録されている状態を「リストに存在する」、登録されていない状態を「リストに存在しない」と表現する場合がある。
●処理の詳細
図5のフローチャートによりホワイトリスト制御処理の一例を説明する。
検知プログラム112はプログラムの起動を監視し(S201)、プログラムの起動を検知すると処理をステップS202に進める。
プログラムの起動が検知されると、識別プログラム110は、当該プログラムのプログラム情報を取得し(S202)、当該プログラムがブラックリスト140に存在するか否か判定する(S203)。当該プログラムがブラックリスト140に存在すると判定された場合、制御プログラム113は、当該プログラムのネットワークアクセスを禁止し(S204)、処理をステップS201に戻す。なお、ブラックリスト140が存在しない場合、識別プログラム110は、ステップS203の判定をスルーパスする。
また、当該プログラムがブラックリスト140に存在しない場合、識別プログラム110は、当該プログラムが昇格基準ルール130を満たすか否かを判定する(S205)。当該プログラムが昇格基準ルール130を満たさない場合、識別プログラム110は、当該プログラムがホワイトリスト120に存在するか否かを判定する(S206)。
当該プログラムがホワイトリスト120に存在すると判定された場合、識別プログラム110は、当該プログラムが昇格権限を有するか否かを判定する(S206B)。昇格権限を有すると判定された場合、制御プログラム113は当該プログラムのネットワークアクセスを許可する(S210)。
昇格権限が無いと判定された場合、制御プログラム113は当該プログラムのネットワークアクセスを許可し(S207)、処理をステップS201に戻す。また、当該プログラムがホワイトリスト120に存在しないと判定された場合、制御プログラム113は当該プログラムのネットワークアクセスを禁止し(S204)、処理をステップS201に戻す。
一方、当該プログラムが昇格基準ルール130を満たすと判定された場合、制御プログラム113は、当該プログラムのプログラム情報を登録プログラム111に渡す。これにより、登録プログラム111は、当該プログラム(親プログラム)をホワイトリスト120に登録し(S208)、昇格権限フラグに「有」を設定する(S209)。続いて、制御プログラム113は、親プログラムのネットワークアクセスを許可する(S210)。
次に、検知プログラム112は、昇格権限が付与された親プログラムによる子プログラムの生成を監視する(S211)。検知プログラム112は、親プログラムが子プログラムを生成した場合は処理をステップS212に進め、親プログラムが子プログラムを生成しない場合は処理をステップS201に戻す。
なお、ステップS211において、検知プログラム112は、子プログラムの生成だけでなく、子プログラム、もしくは、親プログラムに対する変更(例えば、リネーム)を監視してもよい。親プログラムの変更が検知された場合、当該プログラム(親プログラム)に対して、子プログラムと同様の処理を行う。
子プログラムの生成が検知されると、識別プログラム110は、子プログラムのプログラム情報を取得し(S212)、取得したプログラム情報を登録プログラム111に渡す。これにより、登録プログラム111は、子プログラムをホワイトリスト120に登録する(S213)。
続いて、検知プログラム112は、昇格権限が付与された親プログラムが子プログラムを起動するか否かを監視する(S214)。検知プログラム112は、親プログラムが子プログラムを起動する場合は処理をステップS215に進め、親プログラムが子プログラムを起動しない場合は処理をステップS201に戻す。
親プログラムによる子プログラムの起動が検知されると、識別プログラム110は、子プログラムがブラックリスト140に存在するか否かを判定する(S215)。子プログラムがブラックリスト140に存在すると判定された場合、制御プログラム113は子プログラムのネットワークアクセスを禁止する(S216)。そして、登録プログラム111は、ホワイトリスト120から子プログラムの登録を削除し(S217)、処理をステップS201に戻す。
他方、子プログラムがブラックリスト140に存在しないと判定された場合、処理はステップS209に戻る。従って、子プログラムの昇格権限フラグに「有」が設定され(S209)、子プログラムのネットワークアクセスが許可され(S210)、昇格権限が付与された子プログラムによる孫プログラムの生成が監視される(S211)。そして、子プログラムが孫プログラムを生成すると、孫プログラムをホワイトリスト120に登録し、昇格権限が付与された子プログラムが孫プログラムを起動すると孫プログラムに昇格権限を与える処理(S209からS215)が再帰的に繰り返される。
なお、ブラックリスト140が存在しない場合、識別プログラム110は、ステップS215の判定をスルーパスする。その場合、親プログラムによって起動された子プログラムや子プログラムによって起動された孫プログラムの昇格権限フラグに「有」が設定され(S209)、子プログラムのネットワークアクセスが許可される(S210)。
なお、親プログラム/子孫プログラムをホワイトリスト120に登録する際に、当該プログラムがホワイトリスト120に登録されているか否かを判定し、未登録と判定した場合に当該プログラムをホワイトリスト120に登録してもよい。また、ホワイトリスト120に既登録の場合は登録を行わずに、次の処理に進む。ホワイトリスト120に登録されているか否かを判定することにより、プログラムの重複登録を防ぐことができる。
以下では、第一の世代の親プログラムが元になって生成される子プログラムや孫プログラムなど、第二の世代以降のプログラムを「子孫プログラム」と呼ぶことにする。
●インストーラへの対応
ステップS201において、検知プログラム112は、リストとの比較により、起動されるプログラムが記憶装置10Bに予め格納されているインストーラプログラム(例えばWindows(登録商標)におけるmsiexec.exe)か否かを判定する。そして、インストーラプログラム(以下、インストーラ)の起動と判定された場合、インストーラの動作が他のプログラムの動作と異なるため、ステップS202以降の処理を切り替える。
操作者がインストーラパッケージファイル(msiファイル、mspファイル、msuファイルなど)の実行を指示するとインストーラが起動され、インストーラは、インストーラパッケージファイル(以下、パッケージ)に格納されたファイルを展開する。従って、昇格基準ルール130に基づく判定は、インストーラではなく、パッケージに対して行う必要があり、図5に示す処理を直接適用することができない。
図6のフローチャートによりインストーラが起動された場合のホワイトリスト制御処理の一例を説明する。
識別プログラム110は、パッケージのファイル情報を取得し(S221)、パッケージがブラックリスト140に存在するか否かを判定する(S222)。当該パッケージがブラックリスト140に存在すると判定された場合、制御プログラム113は、インストーラの起動を禁止し(S223)、処理をステップS201に戻す。なお、ブラックリスト140が存在しない場合、識別プログラム110は、ステップS222の判定をスルーパスする。
また、当該パッケージがブラックリスト140に存在しない場合、識別プログラム110は、当該パッケージが昇格基準ルール130を満たすか否かを判定する(S224)。当該パッケージが昇格基準ルール130を満たさない場合、制御プログラム113はインストーラの起動を禁止し(S223)、処理をステップS201に戻す。つまり、ブラックリスト140に登録されたパッケージや昇格規準ルール130は満たさないパッケージのインストールは中止される。
また、当該パッケージがブラックリスト140に存在しない場合、識別プログラム110は、当該パッケージが昇格基準ルール130を満たすか否かを判定する(S224)。当該パッケージが昇格基準ルール130を満たさない場合、識別プログラム110は、当該パッケージがホワイトリスト120に存在するか否かを判定する(S225)。当該パッケージがホワイトリスト120に存在しないと判定された場合はインストーラの起動を阻止し(S223)、処理をステップS201に戻す。
一方、当該パッケージが昇格基準ルール130を満たす、または、ホワイトリスト120に存在する場合、制御プログラム113はインストーラの起動を許可する(S226)。その後の処理は図5に示すステップS209からS217と同様であり、インストーラの昇格権限フラグに「有」が設定され(S209)、インストーラのネットワークアクセスが許可される(S210)。そして、インストーラによってパッケージから取り出されたプログラムは、親プログラム(この場合はインストーラ)によって生成された子プログラムと同等に扱われる。つまり、パッケージから取り出されたプログラムは子孫プログラムとしてホワイトリスト120に登録され、子孫プログラムが次の世代のプログラムを起動すると、起動されるプログラムに昇格権限を与える処理(S209からS215)が再帰的に繰り返される。
なお、ステップS211において、親プログラムによる子プログラムの生成ではなく、当該プログラム(親プログラム)によるインストーラパッケージが生成された場合は、そのパッケージファイルに対して、図6の処理を適用することも可能である。
[親プログラムが生成した子プログラム以外に昇格権限を継承/付与する場合]
昇格権限を持った親プログラムから生成された子プログラムが親プログラムによって起動された場合、昇格権限を継承するが、以下のような場合も昇格権限を継承または付与してもよい。
●パターン1
図5において、同一の親プログラムから複数の子孫プログラムが生成される場合を考える。このとき、子孫プログラムの中で親プログラムから昇格権限を継承したものがあり、昇格権限を継承した子孫プログラムが、他の子孫プログラムを起動した場合、昇格権限を継承してもよいものとする。
例えば、Windows(登録商標)のアップデート動作の中には上記のような動作がある。パターン1の手法を実施することで、Windows(登録商標)のアップデートをブロックすることなく行うことが可能になる。
パターン1を実施する場合、図5に示すステップS214において「親プログラム、または、同じ親プログラムから生成され、当該親プログラムから昇格権限を継承したプログラムによって、子孫プログラムが起動されるか?」という判定が行われる。
●パターン2
図6において、インストーラが他のプログラムから起動される場合を考える。このとき、昇格権限をもつプログラムがインストーラを起動した場合、インストーラが昇格権限を継承してもよいものとする。
市販のソフトウェアには、インストール時にインストーラを起動するものがある。パターン2の手法を実施することで、そのようなソフトウェアのインストールをブロックすることなく行うことが可能になる。
●パターン3
図5において、昇格権限をもつプログラムから生成された子プログラムを、昇格権限をもたないプログラムが起動する場合を考える。このとき「生成プログラム群」と「起動プログラム群」という二種類のプログラム群を予め定義する。そして、生成プログラム群に属すプログラムから生成され、かつ、起動プログラム群に属すプログラムから起動されたプログラムには昇格権限を付与する処理を行ってもよいものとする。
市販のソフトウェアには、インストール時に上記のような動作を行うものがある。パターン3の手法を実施することで、そのようなソフトウェアのインストールをブロックすることなく行うことが可能になる。
[ネットワークアクセス制御]
図7のフローチャートによりネットワークアクセス制御を説明する。ネットワークアクセス制御はOSを実行する演算装置10Cによって実行される。プログラムごとのネットワークアクセスの許可または禁止を示す情報(例えばアクセス制御リスト(ACL))は、制御プログラム113により、メモリ10EのRAMや記憶装置10Bの所定領域にテーブルとして格納されている。
演算装置10Cは、プログラムによるネットワークアクセスを監視する(S501)。演算装置10Cは、プログラムがネットワークアクセス要求を発行すると、ACLを参照して、当該プログラムのネットワークアクセスの許可または禁止を判定する(S502)。そして、判定結果に従い、当該プログラムのネットワークアクセスを制御する。
演算装置10Cは、当該プログラムのネットワークアクセスが許可されている場合、ネットワークアクセスを許可する(S503)。つまり、当該プログラムが発行したコマンドやデータをネットワークI/F 10Dに転送し、ネットワークI/F 10Dが受信した当該プログラムあてのデータを当該プログラムに転送する。なお、ACLには、プログラムごとに、接続先のIPアドレスやポート番号の制限が設定されている場合がある。その場合、演算装置10Cは、当該制限に従いフィルタリングを行う。
また、演算装置10Cは、当該プログラムのネットワークアクセスが禁止されている場合、ネットワークアクセスを許可しない(S504)。つまり、当該プログラムとネットワークI/F 10Dの間のデータ転送を実行せず、当該プログラムのネットワークアクセス要求に対してエラーメッセージを返す。
[ホワイトリストの作成]
ホワイトリスト制御システムの運用には、運用環境に適したホワイトリスト120を作成する必要がある。
●プログラム起動をトリガとする処理
図5においては、プログラムが昇格基準ルール130を満たさず、かつ、ホワイトリスト120に存在しない場合(S206のNO)、制御プログラム113はプログラムのネットワークアクセスを禁止する(S204)と説明した。また、図6においては、パッケージが昇格基準ルール130を満たさず、かつ、ホワイトリスト120に存在しない場合(S225のNO)、制御プログラム113はインストーラの起動を禁止する(S223)と説明した。しかし、そのようなプログラムやパッケージ(以下、未登録プログラム)が検出された場合、ホワイトリスト120を更新を試みることが可能である。
図8のフローチャートによりプログラム起動をトリガとするホワイトリストの更新処理を説明する。
登録プログラム111は、未登録プログラムが検出されると(S301)、識別プログラム110から渡された未登録プログラムのプログラム情報(以下、未登録情報)をサーバ20に送信する(S302)。そして、処理をステップS301に戻す。
なお、未登録プログラムの検出直後に未登録情報を送信せずに、所定のサイクルで未登録情報をサーバ20に送信するようにしてもよい。例えば、登録プログラム111は、未登録情報を例えば記憶装置10Bやメモリ10Eの所定領域に一時保存する。そして、所定のサイクルで(例えば五分ごとや一時間ごとに)保存された未登録プログラム情報があるか否かを判定し、未登録プログラム情報が保存されている場合は当該情報をサーバ20に送信する。
サーバ20の管理コンソール210は、クライアント10から未登録情報を受信すると(S311)、受信した未登録情報に一致する情報がホワイトリスト候補250に存在するか否かを判定する(S312)。受信した未登録情報に一致する情報がホワイトリスト候補250に存在する場合は処理をステップS311に戻す。
一方、受信した未登録情報に一致する情報がホワイトリスト候補250に存在しない場合、管理コンソール210は、受信した未登録情報をホワイトリスト候補250へ追加する(S313)。そして、例えば電子メールやアラートウィンドウなどにより、ホワイトリスト候補250に追加した未登録情報をサーバ20の操作者に提示する(S314)。
操作者は、提示された情報を参照して、未登録プログラムをホワイトリストに登録するか否かを判断し、判断結果に応じた指示を管理コンソール210に入力する。管理コンソール210は、操作者の指示が当該プログラムの登録を示すか否かを判定する(S315)。操作者の指示が登録を示す場合は、当該プログラムをホワイトリストマスタ220に登録し(S316)、ホワイトリスト候補250の当該プログラムのレコードに「登録済」を記録する(S317)。また、操作者の指示が非登録を示す場合は、当該プログラムをホワイトリストマスタ220に登録せずに、ホワイトリスト候補250の当該プログラムのレコードに「非登録」を記録する(S318)。そして、処理をステップS311に戻す。
ホワイトリスト120の作成や更新については、例えば、図8に示す処理を適切な期間(二週間から一月程度)実施して得られたホワイトリストマスタ220に基づき、ホワイトリスト120のデータを作成または更新し、クライアント10に配布すればよい。ホワイトリスト120の更新期間は任意であり、ホワイトリスト制御システムを運用する企業、学校、行政組織などの規模によって変化する。
●プログラム検索をトリガとする処理
上記では、プログラム起動をトリガとしてホワイトリスト候補250にプログラムを追加する処理を説明した。しかし、例えばOS標準のファイル検索ツールなどを用いてプログラムを検索し、検出したプログラムをホワイトリスト候補250の登録することもできる。このようにすれば、クライアント10の記憶装置10Bに格納されたすべてのプログラムをホワイトリスト候補250に追加することができる。
図9のフローチャートによりプログラム検索をトリガとするホワイトリストの更新処理を説明する。
クライアント10の操作者(またはサーバ20)の指示により、ファイル検索ツール114が起動され、指示された検索条件に基づきファイル検索が実行される(S401)。ホワイトリスト候補250にプログラムを追加する場合、記憶装置10Bに格納されたすべてのプログラムが検索され、識別プログラム110は検索結果を受け取る(S402)。
検索結果を受け取った識別プログラム110は、検出されたプログラムのプログラム情報を取得する(S403)。そして、検出されたプログラムから、プログラムが昇格基準ルール130を満たさず、かつ、ホワイトリスト120に存在しない未登録プログラムを抽出する(S404)。登録プログラム111は、未登録プログラムが抽出されると(S405)、未登録プログラムのプログラム情報をサーバ20に送信する(S406)。
管理コンソール210の処理は、プログラム起動をトリガとする場合の処理(図8のS311からS318)と同様であり、詳細説明を省略する。
また、図2に示すサーバ20が存在しない構成の場合、図8に示す管理コンソール210の処理(S311からS318)もクライアント10上で実行されることは言うまでもない。
[変形例]
上記では、登録プログラム111によってホワイトリスト120に登録されるレコードには、接続先のIPアドレスやポート番号を制限を設定しない例(例えば図3の三行目)を説明した。しかし、例えば、アップデート前とアップデート後のプログラム名が同じ場合でも、アップデートされるプログラムが特定可能な場合、アップデート前のプログラム(関連するプログラム)と、同一/一部同一の設定情報(接続先のIPアドレスやポート番号)に制限することができる。なお、設定情報は、IPアドレスやポート番号に限定されず、例えばMACアドレス等、端末情報を用いて制限することも可能である。
例えば、アップデート前のプログラムをアップデート後のプログラムで上書きする処理やアップデート前のプログラムをアップデート後のプログラムに置き換える処理を検知し、アップデート前後のプログラムを関連付ける。そして、この関連付けに基づき、ホワイトリスト120を更新すればよい。これにより、アップデート前のプログラムと同一設定のレコードをホワイトリスト120に登録することができ、よりセキュリティの高いホワイトリストの更新機能とすることができる。以下に詳細を説明する。
●上書きを検知してホワイトリストをアップデート
例えば、昇格権限を有するプロセスによってホワイトリスト120に登録されたプログラムが上書アップデートされる場合に、プロセスの書込処理を監視することで、ホワイトリスト120を適切に設定する例を説明する。なお、上書アップデートとは、例えば、アップデート前のデータ(ファイル)にアップデート後のデータ(ファイル)を上書きすることである。
図10のフローチャートにより上書アップデートによるホワイトリスト120の更新処理を説明する。
任意のプロセスからファイルの書込要求が発生すると、検知プログラム112は、当該書込要求を検知し(S1001)、当該書込要求を行ったプロセスが昇格権限をもつか否かを判定する(S1002)。当該プロセスが昇格権限をもたない場合、検知プログラム112は、当該書込要求に対する処理を終了し、再び、プロセスからの書込要求を監視する。
一方、書込要求を行ったプロセスが昇格権限をもつ場合、識別プログラム110は、書込要求から書込対象のプログラム(以下、対象プログラム)を特定する。例えば、ファイルパス、ファイル名から対象プログラムを特定すればよい。そして、対象プログラムのハッシュ値を取得し、そのハッシュ値に基づき対象プログラムがホワイトリスト120に登録されているか否かを判定する(S1003)。
ホワイトリスト120に未登録の対象プログラムの場合、処理は図5または図6に示すホワイトリスト制御処理に移行し、対象プログラムがホワイトリスト120に追加され(S1007)、書込要求に対する処理が終了する。
他方、ホワイトリスト120に既登録の対象プログラムの場合、識別プログラム110は、書込前の対象プログラムの情報を取得する(S1004)。取得する情報には、例えば、ハッシュ値、ファイルパス、署名者名、作成者名、作成会社名などが含まれる。
プロセスによる書き込みが終了すると、識別プログラム110は、書込後の対象プログラムの情報を取得する(S1005)。取得する情報には、例えば、ハッシュ値、ファイルパス、署名者名、作成者、作成会社名などが含まれる。そして、書き込み前後の対象プログラムの情報を比較して、上書アップデートが行われたか否かを判定する(S1006)。この判定は、例えば、ファイルパスが同一か、ファイル名が同一か、または、署名者名が同一かなどの条件で行えばよく、判定条件は一つでもよいし、複数でもよい。
上書アップデートではないと判定された場合、処理は前述したステップS1007に移行する。また、上書アップデートと判定した場合、識別プログラム110は、書込前(上書アップデート前)のハッシュ値に基づきホワイトリスト120の許可情報(設定情報)を取得する(S1008)。許可情報は、例えば、昇格権限、通信が許可されている接続先ポート、通信が許可されている接続先IPアドレスなどである(図3参照)。
次に、登録プログラム111は、ステップS1005で取得された書込後(上書アップデート後)のハッシュ値とステップS1008で取得された許可情報を識別プログラム110から受け取る。そして、上書アップデート後のハッシュ値と許可情報を、上書アップデートされた対象プログラムに関連付けてホワイトリスト120に登録し(S1009)、書込要求に対する処理が終了する。
以上の処理により、上書アップデート前のホワイトリスト120の設定を継続するアップデートが可能になる。なお、ステップS1009において、上書アップデート前のハッシュ値や許可情報などは、ホワイトリスト120から削除してもよいし、ホワイトリスト120に残してもよい。上書アップデート前のハッシュ値や許可情報などをホワイトリスト120に残せば、アップデートされたプログラムの不具合等によりアップデート前のプログラムに戻す場合や、他のユーザが当該アップデートを未実施の場合の対応が可能になる。
●置き換えを検知してホワイトリストをアップデート
上記では上書アップデートの例を説明したが、以下では、置換アップデートについて説明する。置換アップデートとは、例えば、ファイルを削除または移動、あるいは、ファイル名を変更した後、アップデート後のファイルを作成または移動、あるいは、ファイル名を変更するなどにより、プログラムをアップデートする処理のことである。
図11のフローチャートにより置換アップデートによるホワイトリスト120の更新処理を説明する。図11は元ファイルの削除要求またはファイル名の変更要求に対する処理例を示す。
任意のプロセスからファイルの削除要求またはファイル名の変更要求が発生すると、検知プログラム112は、当該削除要求または変更要求(以下、要求)を検知し(S1101)、当該要求を行ったプロセスが昇格権限をもつか否かを判定する(S1102)。当該プロセスが昇格権限をもたない場合、検知プログラム112は、当該要求に対する処理を終了し、再び、プロセスからの削除要求または変更要求を監視する。
一方、要求を行ったプロセスが昇格権限をもつ場合、識別プログラム110は、要求から削除またはファイル名を変更するプログラム(以下、対象プログラム)を特定する。例えば、ファイルパス、ファイル名から対象プログラムを特定すればよい。そして、対象プログラムのハッシュ値を取得し、そのハッシュ値に基づき対象プログラムがホワイトリスト120に登録されているか否かを判定する(S1103)。
ホワイトリスト120に未登録の対象プログラムの場合、識別プログラム110は、要求がファイル名の変更要求か否かを判定する(S1106)。ファイル名の変更要求ではない(つまり削除要求)場合、識別プログラム110は当該要求に対する処理を終了し、検知プログラム112は、再び、プロセスからのファイルの削除要求またはファイル名の変更要求を監視する。また、ファイル名の変更要求の場合、処理は図5または図6に示すホワイトリスト制御処理に移行し、対象プログラムがホワイトリスト120に追加され(S1107)、要求に対する処理が終了する。
他方、ホワイトリスト120に既登録の対象プログラムの場合、識別プログラム110は、削除またはファイル名変更前の対象プログラムの情報を取得する(S1104)。取得する情報には、例えば、ハッシュ値、ファイルパス、署名者名、作成者名、作成会社名などが含まれる。
次に、登録プログラム111は、要求を発行したプロセスのプロセス名およびプロセスID、対象プログラムのファイル名、並びに、ステップS1104で取得された情報を識別プログラム110から受け取る。そして、受け取った情報をリストに登録し(S1105)、要求に対する処理が終了する。図12により登録プログラム111が情報を登録するリストの一例を示す。
図13のフローチャートにより置換アップデートによるホワイトリスト120の更新処理を説明する。図13はファイルの作成要求またはファイル名の変更要求に対する処理例を示す。
任意のプロセスからファイルの作成要求またはファイル名の変更要求が発生すると、検知プログラム112は、当該作成要求または変更要求(以下、要求)を検知し(S1201)、当該要求を行ったプロセスが昇格権限をもつか否かを判定する(S1202)。当該プロセスが昇格権限をもたない場合、検知プログラム112は、当該要求に対する処理を終了し、再び、プロセスからの作成要求または変更要求を監視する。
一方、要求を行ったプロセスが昇格権限をもつ場合、識別プログラム110は、ファイルの作成またはファイル名の変更が終了したか否かを判定する(S1203)。そして、ファイルの作成またはファイル名の変更が終了すると、作成されたファイルまたはファイル名が変更されたファイル(以下、対象プログラム)の情報を取得する(S1204)。取得する情報には、例えば、対象プログラムのファイル名、ハッシュ値、ファイルパス、署名者名、作成者名、作成会社名などが含まれる。
次に、識別プログラム110は、要求を発行したプロセスのプロセス名およびプロセスID、並びに、ステップS1204で取得した情報と、図12に示すリストの登録情報を比較する(S1205)。そして、置換アップデートが行われたか否かを判定する(S1206)。この判定は、例えば、プロセスIDが同一か、ファイルパスが同一か、ファイル名が同一か、または、署名者名が同一かなどの条件で行えばよく、判定条件は一つでもよいし、複数でもよい。
置換アップデートではないと判定された場合、処理は図5または図6に示すホワイトリスト制御処理に移行し、対象プログラムがホワイトリスト120に追加され(S1207)、要求に対する処理が終了する。
他方、置換アップデートと判定した場合、識別プログラム110は、リストの対象プログラムに対応するレコードのハッシュ値に基づきホワイトリスト120の許可情報を取得する(S1208)。許可情報は、例えば、昇格権限、通信が許可されている接続先ポート、通信が許可されている接続先IPアドレスなどである(図3参照)。
次に、登録プログラム111は、置換アップデート後の対象プログラムのハッシュ値とステップS1208で取得された許可情報を識別プログラム110から受け取る。そして、置換アップデート後のハッシュ値と許可情報を、置換アップデートされた対象プログラムに関連付けてホワイトリスト120に登録し(S1209)、要求に対する処理が終了する。
以上の処理により、置換アップデート前のホワイトリスト120の設定を継続するアップデートが可能になる。なお、ステップS1208において、置換アップデート前のハッシュ値や許可情報などは、ホワイトリスト120から削除してもよいし、ホワイトリスト120に残してもよい。置換アップデート前のハッシュ値や許可情報などをホワイトリスト120に残せば、アップデートされたプログラムの不具合等によりアップデート前のプログラムに戻す場合や、他のユーザが当該アップデートを未実施の場合の対応が可能になる。
上記では、クライアント10の例としてPC、タブレット端末、スマートフォンを例に挙げた。しかし、ポインティングデバイスを持たない端末(例えばネットワークスキャナ)や、ディスプレイを持たない端末(例えば組込端末)などをクライアントとして、上記処理を適用することができる。
上記では、ホワイトリストを用いたホワイト制御システムについて説明したが、ホワイトリストに限定されず、ブラックリストを用いたブラックリスト制御システムにも上記処理を適用することができる。
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (17)

  1. プログラムの起動およびプログラムの生成または変更の検知、もしくは、プログラムの検索を行う検知手段と、
    プログラムを識別する識別手段と、
    ネットワークアクセスが許可されたプログラムのリストであるホワイトリスト、およびネットワークアクセスが禁止されたプログラムのリストであるブラックリストのうち一方のリストにプログラムを登録する登録手段とを有し、
    前記識別手段は、前記検知手段によって起動が検知されたプログラムまたは前記検知手段の検索によって検出されたプログラムのプログラム情報に基づき、前記プログラムがプログラム情報に関する所定の基準を満たすか否かを判定し、
    前記登録手段は、前記所定の基準を満たすと判定されたプログラムを前記一方のリストに登録し、
    前記登録手段は、前記所定の基準を満たすと判定されたプログラムに昇格権限を付与するために、前記プログラムと前記昇格権限の対応を前記一方のリストに登録し、
    前記検知手段によって前記昇格権限が付与されたプログラムによる子プログラムの生成または変更が検知された場合、前記登録手段は、前記子プログラムを前記一方のリストに登録することを特徴とする情報処理装置。
  2. 前記識別手段は、前記検知または検出されたプログラムが前記ホワイトリストおよび前記ブラックリストのうち他方のリストに登録されているか否かを判定し、
    前記登録手段は、前記他方のリストに登録されていないと判定された前記検知または検出されたプログラムに前記昇格権限を付与する請求項に記載された情報処理装置。
  3. 前記登録手段は、前記検知手段によって前記昇格権限が付与されたプログラムによる次の世代のプログラムの生成または変更が検知されると、前記次の世代のプログラムを前記一方のリストに登録する処理を再帰的に繰り返すことを特徴とする請求項に記載された情報処理装置。
  4. 前記検知手段によって前記昇格権限が付与されたプログラムによる前記次の世代のプログラムの起動が検知された場合、前記登録手段は、前記次の世代のプログラムに前記昇格権限を付与することを特徴とする請求項に記載された情報処理装置。
  5. 前記検知手段によって前記昇格権限が付与された前記次の世代のプログラムによる他の次の世代のプログラムの起動が検知された場合、前記登録手段は、前記他の次の世代のプログラムに前記昇格権限を付与することを特徴とする請求項に記載された情報処理装置。
  6. 前記検知手段によって前記昇格権限を付与されたプログラムによるインストーラの起動が検知された場合、前記登録手段は、前記インストーラに前記昇格権限を付与することを特徴とする請求項に記載された情報処理装置。
  7. 前記登録手段は、予め記憶された生成プログラム群に属するプログラムから生成され、かつ、予め記憶された起動プログラム群に属するプログラムから起動されたプログラムに、前記昇格権限を付与することを特徴とする請求項に記載された情報処理装置。
  8. 前記識別手段は、前記検知手段によって前記昇格権限が付与されたプログラムによる次の世代のプログラムの生成または変更が検知されると、前記次の世代のプログラムのプログラム情報に基づき、前記次の世代のプログラムが前記ホワイトリストおよび前記ブラックリストのうち他方のリストに登録されているか否かを判定し、
    前記登録手段は、前記他方のリストに登録されていないと判定された次の世代のプログラムに前記昇格権限を付与することを特徴とする請求項から請求項の何れか一項に記載された情報処理装置。
  9. 前記登録手段は、前記他方のリストに登録されていると判定された次の世代のプログラムの登録を前記一方のリストから削除することを特徴とする請求項に記載された情報処理装置。
  10. 前記検知手段によって前記昇格権限が付与されたプログラムによる次の世代のプログラムの起動が検知された場合、前記識別手段は、前記起動が検知されたプログラムのプログラム情報に基づき、前記プログラムが、前記ホワイトリストおよび前記ブラックリストのうち他方のリストに登録されているか否かの判定、または、前記一方のリストに登録されているか否かの判定を行い、
    前記登録手段は、前記他方のリストに登録されていないと判定されたプログラム、または、前記一方のリストに登録されていないと判定されたプログラムについて、前記一方のリストに登録するための処理を実行することを特徴とする請求項から請求項の何れか一項に記載された情報処理装置。
  11. 前記識別手段は、前記所定の基準を満たすと判定されたプログラムと関連するプログラムの設定情報を取得し、
    前記登録手段は、前記所定の基準を満たすと判定されたプログラムと、前記識別手段によって取得された設定情報と、を関連付けて登録することを特徴とする請求項10に記載された情報処理装置。
  12. さらに、前記一方のリストに基づいてプログラムのネットワークアクセスを許可する、または前記ホワイトリストおよび前記ブラックリストのうち他方のリストに基づいてプログラムのネットワークアクセスを禁止する制御手段を有することを特徴とする請求項から請求項11の何れか一項に記載された情報処理装置。
  13. 前記プログラム情報にはディジタル署名が含まれることを特徴とする請求項から請求項12の何れか一項に記載された情報処理装置。
  14. プログラムの起動およびプログラムの生成または変更の検知、もしくは、プログラムの検索を行う検知手段、プログラムを識別する識別手段、ネットワークアクセスが許可されたプログラムのリストであるホワイトリスト、およびネットワークアクセスが禁止されたプログラムのリストであるブラックリストのうち一方のリストにプログラムを登録する登録手段を有する情報処理装置の情報処理方法であって、
    前記識別手段が、前記検知手段によって起動が検知されたプログラムまたは前記検知手段の検索によって検出されたプログラムのプログラム情報に基づき、前記プログラムがプログラム情報に関する所定の基準を満たすか否かを判定し、
    前記登録手段が、前記所定の基準を満たすと判定されたプログラムを前記一方のリスト登録し、
    前記登録手段は、前記所定の基準を満たすと判定されたプログラムに昇格権限を付与するために、前記プログラムと前記昇格権限の対応を前記一方のリストに登録し、
    前記検知手段によって前記昇格権限が付与されたプログラムによる子プログラムの生成または変更が検知された場合、前記登録手段は、前記子プログラムを前記一方のリストに登録することを特徴とする情報処理方法。
  15. 請求項から請求項13の何れか一項に記載された情報処理装置と、
    ネットワークを介して、前記情報処理装置に前記一方のリストのデータを送信するサーバ装置とを有することを特徴とする情報処理システム。
  16. 前記サーバ装置は、前記ネットワークを介して、前記情報処理装置から前記一方のリストに登録すべきプログラムに関する情報を受信することを特徴とする請求項15に記載された情報処理システム。
  17. コンピュータを請求項から請求項13の何れか一項に記載された情報処理装置の各手段として機能させるためのプログラム。
JP2013211424A 2012-10-09 2013-10-08 情報処理装置、情報処理システムおよび情報処理方法 Active JP6253333B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013211424A JP6253333B2 (ja) 2012-10-09 2013-10-08 情報処理装置、情報処理システムおよび情報処理方法
PCT/JP2013/006022 WO2014057668A1 (ja) 2012-10-09 2013-10-09 情報処理装置およびその制御方法、情報処理システム、並びに、情報処理方法
US14/664,410 US9767280B2 (en) 2012-10-09 2015-03-20 Information processing apparatus, method of controlling the same, information processing system, and information processing method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012224575 2012-10-09
JP2012224575 2012-10-09
JP2013211424A JP6253333B2 (ja) 2012-10-09 2013-10-08 情報処理装置、情報処理システムおよび情報処理方法

Publications (3)

Publication Number Publication Date
JP2014096143A JP2014096143A (ja) 2014-05-22
JP2014096143A5 JP2014096143A5 (ja) 2016-11-04
JP6253333B2 true JP6253333B2 (ja) 2017-12-27

Family

ID=50939129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013211424A Active JP6253333B2 (ja) 2012-10-09 2013-10-08 情報処理装置、情報処理システムおよび情報処理方法

Country Status (1)

Country Link
JP (1) JP6253333B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6478026B2 (ja) * 2015-01-28 2019-03-06 株式会社リコー 情報処理装置、プログラム、及び記録媒体
JP6387195B2 (ja) * 2015-10-27 2018-09-05 アラクサラネットワークス株式会社 通信装置及びシステム及び方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007316780A (ja) * 2006-05-24 2007-12-06 Nec Corp 計算機システム、計算機及びそれらに用いるファイル操作限定方法並びにそのプログラム
JP4806751B2 (ja) * 2007-03-19 2011-11-02 Necパーソナルプロダクツ株式会社 ファイルアクセス先制御装置、その方法及びそのプログラム
JP5346608B2 (ja) * 2009-02-06 2013-11-20 Kddi株式会社 情報処理装置およびファイル検証システム
JP5402169B2 (ja) * 2009-03-31 2014-01-29 富士通株式会社 実行制御プログラムおよび情報処理システム
JP5381670B2 (ja) * 2009-12-10 2014-01-08 富士通株式会社 実行制御方法、実行制御プログラムおよび実行制御装置
WO2012027588A1 (en) * 2010-08-25 2012-03-01 Lookout, Inc. System and method for server-coupled malware prevention
US8566937B2 (en) * 2010-10-04 2013-10-22 Panasonic Corporation Information processing apparatus and method for preventing unauthorized cooperation of applications
JP5572573B2 (ja) * 2011-03-07 2014-08-13 Kddi株式会社 携帯端末、プログラム、および通信システム

Also Published As

Publication number Publication date
JP2014096143A (ja) 2014-05-22

Similar Documents

Publication Publication Date Title
US11093625B2 (en) Adaptive file access authorization using process access patterns
US9767280B2 (en) Information processing apparatus, method of controlling the same, information processing system, and information processing method
EP3430556B1 (en) System and method for process hollowing detection
JP7084778B2 (ja) 標的型攻撃をクラウド型検出、探索および除去するシステムおよび方法
US10354068B2 (en) Anonymized application scanning for mobile devices
JP6254414B2 (ja) 情報処理装置、情報処理システムおよび情報処理方法
JP6001781B2 (ja) 不正アクセス検知システム及び不正アクセス検知方法
JP2015212979A (ja) バーチャルマシーンモニタベースのアンチマルウェアセキュリティのためのシステム及び方法
US9917862B2 (en) Integrated application scanning and mobile enterprise computing management system
JP6165469B2 (ja) 情報処理装置およびその制御方法、並びに、情報処理システム
JP6253333B2 (ja) 情報処理装置、情報処理システムおよび情報処理方法
JP7320462B2 (ja) アクセス権に基づいてコンピューティングデバイス上でタスクを実行するシステムおよび方法
CN110659478B (zh) 在隔离的环境中检测阻止分析的恶意文件的方法
US10963569B2 (en) Early boot driver for start-up detection of malicious code
WO2023124041A1 (zh) 一种勒索病毒检测方法以及相关***
Kazoleas et al. A novel malicious remote administration tool using stealth and self-defense techniques
JP6884652B2 (ja) ホワイトリスト管理システムおよびホワイトリスト管理方法
RU2592383C1 (ru) Способ формирования антивирусной записи при обнаружении вредоносного кода в оперативной памяти
WO2014057668A1 (ja) 情報処理装置およびその制御方法、情報処理システム、並びに、情報処理方法
JP7281998B2 (ja) 情報処理装置、情報処理方法、情報処理システム及びプログラム
US12013932B2 (en) System, method, and apparatus for enhanced blacklisting
US11182486B2 (en) Early boot driver for start-up detection of malicious code
Hovmark et al. Towards Extending Probabilistic Attack Graphs with Forensic Evidence: An investigation of property list files in macOS
Briones et al. Implementation of a Laboratory for Malware Analysis

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160913

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170926

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171128

R150 Certificate of patent or registration of utility model

Ref document number: 6253333

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250