(57)【要約】【課題】未知の悪意あるソフトウェアに対しても、自コンピュータの保存されている電子データの流出を防衛することが可能な電子データ流出防止プログラムを、提供する。【解決手段】ファイルシステムドライバプログラム２２は、アプリケーションプログラム２３からのファイルアクセス要求を受信すると、その要求元アプリケーションプログラム２３のプログラム名が許可リスト２２０にあれば、その要求をファイルシステム２１０に伝え、許可リスト２２０になければ、ユーザによる入力を待ち、「許可する」旨の入力があれば、その要求をファイルシステム２１０に伝えた上で当該アプリケーションプログラムのプログラム名を許可リストに追記するが、「許可しない」旨の入力があれば、その要求を拒否する。【選択図】  図１
2007249782.tif 000002
【特許請求の範囲】
【請求項１】
補助記憶装置，入力装置及び主記憶装置に接続されているとともに、前記補助記憶装置の物理的な記憶領域上に論理的な記憶領域を構築して、かかる論理的な記憶領域へのアクセスを制御することによって、当該論理的な記憶領域上に記憶されている電子データを管理するファイルシステムを有するコンピュータに対して、
前記コンピュータがアプリケーションプログラムを実行している間に、当該アプリケーションプログラムから何れかの論理的な記憶領域に対するファイルアクセス要求が生成された場合に、前記主記憶装置上の作業領域に展開したリストに、当該ファイルアクセス要求を生成したアプリケーションプログラムの識別情報が登録されているか否かを判定する第一判定処理，
前記第一判定処理により、前記リストに要求元アプリケーションプログラムの識別情報が登録されていると判定された場合に、前記ファイルアクセス要求を前記ファイルシステムに伝える第一許可処理，
前記第一判定処理により、前記リストに要求元アプリケーションプログラムの識別情報が登録されていないと判定された場合に、前記入力装置を通じてユーザがファイルアクセスを許可することを意味する入力を行ったかどうかを判定する第二判定処理，
前記第二判定処理により、前記入力装置を通じてユーザがファイルアクセスを許可することを意味する入力を行ったと判定された場合に、前記ファイルアクセス要求を前記ファイルシステムに伝える第二許可処理，及び、
前記第二判定処理により、前記入力装置を通じてユーザがファイルアクセスを許可することを意味する入力を行わなかったと判定された場合に、前記ファイルアクセス要求を遮断するアクセス拒否処理
を実行させることを特徴とする電子データ流出防止プログラム。
【請求項２】
前期第二許可処理においては、さらに、当該アプリケーションプログラムの識別情報を前記リストに登録する
ことを特徴とする請求項１記載の電子データ流出防止プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばウィルスに感染したアプリケーションプログラムやスパイウェアによって電子データが物理的な記憶装置から勝手に読み出され、コンピュータの外部に流出することを防止するための、電子データ流出防止プログラムに関する
【背景技術】
【０００２】
近年、winnyのようなピアツーピアのファイル交換ソフトに因る機密情報の漏洩が、社会問題化している。即ち、かかるファイル交換ソフトは、自コンピュータ内の物理的な記憶装置上にＯＳ（オペレーティングシステム）のファイルシステムの機能により管理されている電子データを、ネットワーク上に多数存在する他人のコンピュータに対して公開し、これらの他人のコンピュータからアクセスできるようにするプログラムである。このようなファイル交換ソフトの利用者は、通常、外部からのアクセスを許すディレクトリ（フォルダ）を制限するが、設定方法に誤りがあったり、当該ファイル交換ソフトがウィルスに感染していると、利用者が公開を意図していないディレクトリ（フォルダ）が外部からアクセス可能になり、利用者がファイル交換を意図していない電子データが外部からダウンロードされてしまうことがあり得る。また、かかるファイル交換ソフトと同様のスパイウェアが自コンピュータ内に侵入している場合にも、そのスパイウェアの機能に拠って、同様の問題が生じることがあるのである。このようにして外部にダウンロードされた電子データが重要な機密情報である場合には、回復不可能な損害を生じることがあるので、かかる電子データの流出は、厳に防止されなければならない。
【０００３】
このような目的で従来適用されているセキュリティ対策技術は、ウィルスやスパイウェアやファイル交換ソフトのような悪意のあるソフトウェアそのものを、自コンピュータ上から排除するという考えに基づいたものであった。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来のセキュリティ対策技術は、既知のウィルス等悪意あるソフトウェアの識別情報を予めデータベース等にリストアップしておいた上で、自コンピュータ上でファイルが読み書き／実行される毎に、そのファイルに既知のウィルス等がないかどうかを検査し、見つかった場合には、そのファイルを駆除するというもの（リアルタイムスキャン），若しくは、手動でのコマンド入力に応じて、既に自コンピュータに保存されているファイルからウィルス等を捜し、見つかった場合には、そのファイルを駆除するというもの（手動スキャン）である。
【０００５】
従って、従来のセキュリティ対策技術は、既知の悪意あるソフトウェアに対する防衛は可能であるものの、未知の悪意あるソフトウェアに対しては無力であり、その欠点をカバーするために、頻繁なデータベース（ウィルス定義）の更新を必要とする。しかし、それでも尚、新種の悪意あるソフトウェアの出現からデータベース（ウィルス定義）の更新までのタイムラグを無にすることは不可能であり、その間は、新種の悪意あるソフトウェアに因る意図せぬ電子データの流出の脅威に対して、利用者は常に追従しなけらばならない状態であった。
【０００６】
本発明は、従来のセキュリティ対策技術における以上の問題点に鑑みてなされたものであり、未知の悪意あるソフトウェアに対しても、自コンピュータに保存されている電子データの流出を防衛することが可能な電子データ流出防止プログラムの提供を、課題とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために案出された本発明による電子データ流出防止プログラムは、補助記憶装置，入力装置及び主記憶装置に接続されているとともに、前記補助記憶装置の物理的な記憶領域上に論理的な記憶領域を構築してかかる論理的な記憶領域へのアクセスを制御することによって、当該論理的な記憶領域上に記憶されている電子データを管理するファイルシステムを有するコンピュータに対して、前記コンピュータがアプリケーションプログラムを実行している間に、当該アプリケーションプログラムから何れかの論理的な記憶領域に対するファイルアクセス要求が生成された場合に、前記主記憶装置上の作業領域に展開したリストに、当該ファイルアクセス要求を生成したアプリケーションプログラムの識別情報が登録されているか否かを判定する第一判定処理，前記第一判定処理により、前記リストに要求元アプリケーションプログラムの識別情報が登録されていると判定された場合に、前記ファイルアクセス要求を前記ファイルシステムに伝える第一許可処理，前記第一判定処理により、前記リストに要求元アプリケーションプログラムの識別情報が登録されていないと判定された場合に、前記入力装置を通じてユーザがファイルアクセスを許可することを意味する入力を行ったかどうかを判定する第二判定処理，前記第二判定処理により、前記入力装置を通じてユーザがファイルアクセスを許可することを意味する入力を行ったと判定された場合に、前記ファイルアクセス要求を前記ファイルシステムに伝える第二許可処理，及び、前記第二判定処理により、前記入力装置を通じてユーザがファイルアクセスを許可することを意味する入力を行わなかったと判定された場合に、前記ファイルアクセス要求を遮断するアクセス拒否処理を実行させることを特徴とする。
【０００８】
このように構成された電子データ流出防止プログラムをコンピュータに読み込ませると、コンピュータは、この電子データ流出防止プログラムに従って、第一判定処理を実行する。即ち、別途当該コンピュータが実行しているアプリケーションプログラムにより、何れかの論理的な記憶領域に対するファイルアクセス要求が生成されると、コンピュータは、前記主記憶装置上の作業領域に展開したリストに、当該ファイルアクセス要求を生成したアプリケーションプログラムの識別情報が登録されているか否かを判定する。そして、前記リストに当該アプリケーションプログラムの識別情報が登録されていると判定すると、前記ファイルアクセス要求を前記ファイルシステムに伝える（第一許可処理）。これに対して、前記リストに当該アプリケーションプログラムの識別情報が登録されていないと判定すると、前記入力装置を通じてユーザがファイルアクセスを許可することを意味する入力を行ったかどうかを判定する（第二判定処理）。そして、前記入力装置を通じてユーザがファイルアクセスを許可することを意味する入力を行ったと判定した場合には、前記ファイルアクセス要求を前記ファイルシステムに伝えるが（第二許可処理）、前記入力装置を通じてユーザがファイルアクセスを許可することを意味する入力を行わなかったと判定した場合には、前記ファイルアクセス要求を遮断する（アクセス拒否処理）。その結果、リストに識別情報が登録されているアプリケーションプログラムからのファイルアクセス要求は、直ちにファイルシステムに伝えられるが、リストに識別情報が登録されていない未知のアプリケーションプログラムからファイルアクセス要求があった場合には、直ちにはファイルアクセス要求はファイルシステムに伝えられない。そして、ユーザが入力装置を通じてファイルアクセスを許可する旨を入力した場合にのみファイルアクセス要求がファイルシステムに伝えられ、それ以外の場合にはファイルアクセス要求が遮断されるので、ユーザがインストールを意図していないアプリケーションプログラムは、ファイルシステムによって記憶されている電子データを読み出すことができない。
【０００９】
本発明において、第１判定処理は、ファイルシステムによって管理している記憶領域の一部に対するファイルアクセス要求があった場合にのみ実行されても良いし、全記憶領域の何処に対してファイルアクセス要求があっても実行されるように、なっていても良い。
【００１０】
アプリケーションプログラムの識別情報は、プログラム名であっても良いし、実行ファイル名であっても良いし、その他の識別コードであっても良い。
【発明の効果】
【００１１】
以上のように構成された本発明による電子データ流出防止プログラムは、未知の悪意あるソフトウェアに対しても、自コンピュータに保存されている電子データの流出を防衛することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面に基づいて、本発明による電子データ流出防止プログラムの実施の形態を、説明する。なお、以下の例は、本発明による電子データ流出防止プログラムを、コンピュータネットワーク（インターネット等）に接続可能なコンピュータにインストールされるファイルシステムドライバ（ファイルシステムフィルタドライバ）として、適用したものである。
（コンピュータの構成）
以下、本発明による電子データ流出防止プログラムの実施の形態であるファイルシステムドライバの説明の前提として、このファイルシステムドライバがインストールされるコンピュータのハードウェア構成及びソフトウェア構成を、図１を参照して説明しておく。
【００１３】
図１に示すように、このコンピュータ１は、一般的なパーソナルコンピュータであるので、バスを通じて相互に接続されたＣＰＵ１，ＲＡＭ２，物理的な記憶装置３，ディスプレイ４，入力装置５及び通信装置６から、構成されている。
【００１４】
物理的な記憶装置３は、ハードディスクや、フロッピーディスク，光（光磁気）ディスク，フラッシュメモリ等の補助記憶装置であり、一定容量の物理的な記憶領域を有しており、その物理的な記憶領域に、データファイルや実行ファイルを記憶する。実行ファイルの中にはプログラムが格納されており、このプログラムがＣＰＵ１によりＲＡＭ２上に読み出され、ＣＰＵ１によって実行される。即ち、ＣＰＵ１は、このようにして読み出されたプログラムを実行することによって、各種の処理・制御を実行するプロセッサ（コンピュータに相当）であり、ＲＡＭ２は、ＣＰＵ１が処理・制御を行うための作業領域を提供する主記憶装置である。
【００１５】
図１は、かかるプログラムのうち本発明に関連するものがＲＡＭ２上に一度に呼び出された状態を概念化している。即ち、図１におけるＯＳ（オペレーティングシステム）２１は、このコンピュータ１の各ハードウェアを制御するための基本プログラムである。このＯＳ２１が実現する機能のうちの一つが、物理的な記憶装置３の記憶領域上に、論理的に階層構造を有する記憶領域を構築し、かかる階層構造を構成する各ディレクトリ（フォルダ）内における論理的な記憶領域と、実際の物理的な記憶装置３における物理的な記憶領域とを対応付けて、当該論理的な記憶領域に対するアプリケーションプログラム２３によるアクセスを制御する。その結果、後述するアプリケーション２３のような上位のプログラムは、物理的な記憶装置３における物理的な構造如何に拘わらず、かかる階層構造を有する記憶領域として認識でき、そのようなものとして、ファイルシステム２１０に対してファイルアクセスを指示すれば足りるのである。なお、ファイルシステム２１が管理する論理的な記憶領域の構造としては、ＤＯＳ，ＵＮＩＸ，Ｌｉｎｕｘ等において採用される階層構造に限らず、所謂メインフレームにおいて採用されているフラットな構造もあり得る。
【００１６】
アプリケーションプログラム２３は、様々な業務を行う業務プログラムであり、夫々固有のプログラム名（ファイル名）を有している。このアプリケーションプログラム２３が、ファイルシステム２１０に対してファイルアクセスを要求するには、ＯＳ２１のデータライブラリ（ＡＰＩ［Application Program Interface］）に用意された特定の関数を呼び出して、引数（パラメータ）として、アクセス対象ディレクトリ（フォルダ），アクセス対象ファイル，アクセス種別（読出，書込，削除等），等を指定する必要がある。例えば、WindowsXP［Microsoft社の登録商標］に採用されているWIN32APIにおいては、Create File関数が、それである。これらアプリケーションプログラム２３の中には、ユーザが意図的にインストールした正常なものに紛れて、ユーザが意図することなくインストールされたスパイウェアや、ユーザが意図してインストールしたもののウィルス感染によりユーザが意図せぬファイルアクセスを要求するファイル交換ソフトのような、悪意あるソフトウェアが含まれている。
【００１７】
ファイルシステムドライバ２２は、アプリケーションプログラム２３とファイルシステム２１０との間において、アプリケーションプログラム２３がファイルシステム２１０をターゲットとして行った要求（所定の関数呼び出し）を途中で受信し、ターゲットが提供すべき機能を拡張又は置き換える機能を実現するプログラムである。本実施形態においては、このファイルシステムドライバ２２に、ユーザが意図してインストールし且つユーザの意図せぬファイルアクセス要求を行わない正常なものとして当該ユーザが許可したアプリケーションプログラム２３からのファイルアクセス要求（所定の関数呼び出し）のみをファイルシステム２１０に伝え、それ以外のアプリケーションプログラム２３からのファイルアクセス要求を遮断する機能（アクセス可否判定機能）が、組み込まれている。
【００１８】
このファイルシステムドライバ２２のアクセス可否判定機能が、ファイルアクセス要求をファイルシステム２１０に伝えるべきか遮断すべきかを判定する際には、予め設定された許可リスト２２０を参照する。この許可リストは、ＲＡＭ２上の作業領域に展開したリストである。図２は、この許可リスト２２０の構成を示す表である。重要な事は、この許可リスト２２０は、ファイルアクセス要求をファイルシステム２１０に伝えるべき正常なアプリケーションプログラム２３のプログラム名（アプリケーションプログラム２３の識別情報）をリストアップしている事である。そして、ファイルシステムドライバ２２は、ファイルアクセス要求（所定の関数の呼び出し）を行ったアプリケーションシステムのプログラム名が許可リスト２２０にリストアップされている場合のみ、そのファイルアクセス要求（所定の関数の呼び出し）をファイルシステム２１０に伝え、リストアップされていない場合には、そのファイルアクセス要求（所定の関数の呼び出し）を遮断する。
【００１９】
なお、ファイルシステムドライバ２２は、ファイルアクセス要求の為の関数の引数として、所定のディレクトリ（フォルダ）がアクセス対象ディレクトリ（フォルダ）として指定されている場合に限って、上述したアクセス可否判定を行っても良い。このようにして、アクセス可否判定の対象となるディレクトリ（フォルダ）を、以下、「保護された領域」という。
【００２０】
図３は、以上に説明した物理的な記憶装置３，ファイルシステム２１０，ファイルシステムドライバ２２，アプリケーションプログラム２３を、階層化モデルとして図示したものである。
【００２１】
図１に戻り、ディスプレイ４は、ＣＰＵ１によって生成された画面を表示する表示装置である。また、入力装置５は、マウス等のポインティングデバイスや、キーボードから構成されたマンマシンインタフェースである。また、通信装置６は、コンピュータネットワークに接続されて、ＴＣＰ／ＩＰ等の通信プロトコルに従ったデータ通信を行う通信アダプタである。
（処理）
次に、上記したファイルシステムドライバ２２の機能（ファイルシステムドライバ２２のプログラムに従って、ＣＰＵ１が実行する処理）のうち、アクセス可否判定に関する部分を、図４のフローチャートを参照して説明する。
【００２２】
このフローチャートによって示される処理は、何れかのアプリケーションプログラム２３から、保護された領域に対するファイルアクセス要求（保護された領域をファイルアクセス対象として指定する引数を含む所定関数の呼び出し）があった場合にスタートする。そして、最初のＳ１において、ファイルシステムドライバ２２は、上記ファイルアクセス要求元のアプリケーションプログラムのプログラム名が許可リスト２２０にリストアップされているか否かをチェックする（第一判定処理に相当）。そして、リストアップされている場合には、ファイルシステムドライバ２２は、正常なアプリケーションプログラム２３からの要求であると判断して、アクセスを許可する（Ｓ２）（第一許可処理に相当）。即ち、当該ファイルアクセス要求（保護された領域をファイルアクセス対象として指定する引数を含む所定関数の呼び出し）を、ファイルシステム２１０に伝える。
【００２３】
これに対して、プログラム名がリストアップされていないと、Ｓ１にて判定した場合には、ファイルシステムドライバ２２は、Ｓ３において、要求元アプリケーションプログラム２３によるファイルアクセスを許可して良いかどうかをユーザに問い合わせる画面を、ディスプレイ４上に表示して、「許可する」旨の入力が所定待機時間中にあるかどうかを判定する（第二判定処理に相当）。そして、ユーザが入力装置５を操作することにより、「許可する」旨の入力を行うと、ファイルシステムドライバ２２は、処理をＳ４からＳ５へ進め、アクセスを許可する（当該ファイルアクセス要求をファイルシステム２１０に伝える）とともに、当該要求元アプリケーションプログラム２３のプログラム名を、許可リスト２２０に追加する（第二許可処理に相当）。
【００２４】
これに対して、ユーザが入力装置５を操作することにより、「許可しない」旨の入力を行うか、全く入力しないまま所定の待機時間がタイムアップすると、ファイルシステムドライバ２２は、処理をＳ４からＳ６へ進め、アクセスを拒否する（アクセス拒否処理に相当）。即ち、当該ファイルアクセス要求をファイルシステム２１０に伝えることなく、遮断する。
（作用）
以上のように構成された本実施形態によると、アプリケーションプログラム２３が保護された領域に対するアクセス要求を行う毎に、ファイルシステムドライバ２２が、その要求元アプリケーションプログラム２３が、予めユーザによってアクセス許可されて許可リスト２２０にリストアップされているかどうかをチェックする（Ｓ１）。そして、既に、過去においてアクセス許可がなされているアプリケーションプログラム２３からのアクセス要求であったならば、そのアプリケーションプログラム２３のプログラム名は許可リスト２２０にリストアップされているので、そのままアクセスの許可がなされる（Ｓ２）。
【００２５】
ユーザが意図してインストールした正常なアプリケーションプログラム２３が保護された領域に対して初めてファイルアクセス要求をした場合、その時点では、未だ、そのプログラム名が許可リスト２２０にリストアップされていないので、ユーザに対して、アクセス可否が問い合わされる（Ｓ３）。そして、ユーザによって許可されると、アクセス許可されるとともに、そのプログラム名が許可リスト２２０にリストアップされるので（Ｓ５）、以後、このアプリケーションプログラム２３がファイルアクセスした場合には、アクセス許可されることになる（Ｓ２）。
【００２６】
これに対して、ユーザがインストールを意図していない悪意あるアプリケーションプログラム２３や、ユーザが意図してインストールをしたが保護された領域に対するファイルアクセスは認めていないアプリケーションプログラム２３が、保護された領域に対してファイルアクセスを要求右した場合にも、ユーザに対するアクセス可否の問い合わせがなされる（Ｓ４）。この場合、ユーザは、許可しない旨を入力するか、所定の待機時間放置すると、そのファイルアクセス要求は、ファイルシステムドライバ２２によって遮断される（Ｓ６）。
【００２７】
よって、本実施例によると、ユーザが意図せぬ未知のアプリケーションプログラム２３に対しても、保護された領域に対するファイルアクセスを防止することができるので、当該保護された領域に保存されている重要な電子データが、コンピュータ１の外部に流出してしまうことを、有効に防止することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明による実施の形態であるコンピュータの構成を示すブロック図
【図２】許可リストのデータ構造を示すテーブル
【図３】物理的な記憶装置，ファイルシステム，ファイルシステムドライバ，アプリケーションプログラムを階層モデルとして示した図
【図４】ファイルシステムドライバによるアクセス可否判定に関する処理を示すフローチャート
【符号の説明】
【００２９】
１      コンピュータ
２      ＲＡＭ
３      物理的な記憶装置
４      ディスプレイ
５      入力装置
６      通信装置
２１      ＯＳ
２２      ファイルシステムドライバ
２１０      ファイルシステム
２２０      許可リスト
【図１】
2007249782.tif 000003
【図２】
2007249782.tif 000004
【図３】
2007249782.tif 000005
【図４】
2007249782.tif 000006