説明

情報漏洩防止プログラムおよび起動記録プログラム

【課題】USBメモリ106に保存されている機密ファイル203を保護する。
【解決手段】許可コンピュータ情報113は、アプリケーションプログラム111とシェル108を実行する権限が制限されないコンピュータ100を指定する。許可プログラム情報110は、情報漏洩防止プログラム112が実行されているとき、起動できるアプリケーション111とシェル108を指定する。プログラム実行制御部201は、コンピュータ100を特定するコンピュータ特定情報と、許可コンピュータ情報113とに基づいて、コンピュータ100のアプリケーションプログラム111とシェル108を実行する権限が制限されているか否かを判別する。プログラム実行制御部201は、コンピュータ100の権限が制限されていると判別された場合には、許可プログラム情報113に基づいて個々のプログラムの起動が可能であるか、または不可能であるかを決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、可搬記憶媒体に保存されている情報の漏洩を防止する情報漏洩防止プログラムおよび可搬記憶媒体にその情報漏洩防止プログラムを記録する起動記録プログラムに関する。
【背景技術】
【0002】
業務上の機密データが保存された電子ファイルをUSB(Universal Serial Bus)メモリのような可搬記憶媒体で持ち出して自宅や出張先等に設置されたパソコン等の利用者端末で編集したいというニーズが存在する。このような場合に、自宅等の利用者端末で電子ファイルに保存された機密データを編集可能にしつつ、機密データを保護し、機密データの漏洩を防ぐ技術が知られている。
【0003】
例えば、特許文献1に記載されている技術では、利用者は暗号化された機密データの利用を要求する利用要求信号を利用者端末から認証サーバーに送信する。認証サーバーは利用者が認証されると、暗号鍵を利用者端末に返送する。利用者端末は、暗号鍵を用いて暗号化された機密データを復号する。
さらに、特許文献1に記載されている利用者端末は、機密データを編集するアプリケーションプログラムの機能を制御する手段、マウスの動作を監視・制御してマウス操作による他のアプリケーションプログラムへの機密データのコピーを防止する手段、共有メモリを監視・制御して共有メモリを用いた他のアプリケーションプログラムへの機密データのコピーを防止する手段、キーボードの動作を監視・制御して編集中にハードコピーを防止する手段を備え、機密データがコピーされて保護されていない電子ファイルに保存されることを防ぐ。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−139475
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1に記載の技術では、利用者端末が認証サーバーと通信する手段を有しており、機密データを編集するアプリケーションプログラムが利用者端末にインストールされている必要がある。
このため、市販されているファイル編集ソフト等では、特許文献1に記載の技術を用いることができず、汎用性に欠ける。
【0006】
本発明は、上記事情を鑑みて行われたものであり、個別のアプリケーションプログラムに依存した情報漏洩防止のための制御手段なしに、可搬記憶媒体に保存されている情報の漏洩を防止することができる情報漏洩防止プログラムおよび可搬記憶媒体にその情報漏洩防止プログラムを記録する起動記録プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明に係る情報漏洩防止プログラムは、
ファイルが保存される記憶部を有し、可搬記憶媒体を接続可能なコンピュータを、
当該コンピュータを特定するコンピュータ特定情報を取得するコンピュータ特定情報取得手段と、
前記コンピュータ特定情報取得手段によって取得されたコンピュータ特定情報によって特定される当該コンピュータに接続された可搬記憶媒体から、少なくとも1つのコンピュータ特定情報を含む許可コンピュータ情報を取得する許可コンピュータ情報取得手段と、
前記接続された可搬記憶媒体から、実行が許可されたプログラムを指定する許可プログラム情報を取得する許可プログラム情報取得手段と、
前記コンピュータ特定情報取得手段によって取得されたコンピュータ特定情報と前記許可コンピュータ情報取得手段によって取得された許可コンピュータ情報とに基づいて、前記コンピュータ特定情報によって特定される当該コンピュータのプログラムを実行する権限が制限されているか否かを判別するコンピュータ権限判別手段と、
前記コンピュータ権限判別手段によって当該コンピュータのプログラムを実行する権限が制限されていると判別されたことに応答して、前記許可プログラム情報取得手段によって取得された許可プログラム情報で指定されるプログラムの起動を許可し、許可プログラム情報で指定されないプログラムの起動を禁止する起動制御手段と、
して機能させる。
【0008】
好ましくは、本発明に係る情報漏洩防止プログラムは、
ファイルが保存される記憶部を有し、可搬記憶媒体を接続可能なコンピュータを、更に、
前記コンピュータ特定情報により特定される当該コンピュータのプログラムを実行する権限が制限されていると前記コンピュータ権限判別手段によって判別されたことに応答して、実行中のプログラムの有無を判別するプログラム実行判別手段として機能させ、
前記起動制御手段が、前記プログラム実行判別手段によって実行中のプログラムが無いと判別されたことに応答して、前記起動を許可されたプログラムに、当該プログラムを起動するためのアイコン及び/又は前記可搬記憶媒体に記憶されているファイルを前記表示部に表示させる。
【0009】
好ましくは、本発明に係る情報漏洩防止プログラムは、
ファイルが保存される記憶部を有し、可搬記憶媒体を接続可能なコンピュータを、更に、
前記プログラム実行判別手段によって実行中のプログラムが無いと判別されたことに応答して、前記表示部の表示状態を示す表示情報を前記記憶部に保存する表示情報保存手段と、
終了要求を受け付ける終了要求受付手段と、
前記終了要求受付手段によって終了要求が受け付けられたか否かを判別する終了要求判別手段と、
前記コンピュータ特定情報取得手段によって取得されたコンピュータ特定情報によって特定される当該コンピュータに接続されている可搬記憶媒体が、当該コンピュータから接続を解除されたか否かを判別する接続解除判別手段と、
前記終了要求判別手段によって終了要求が受け付けられたと判別されるか、または前記接続解除判別手段によって可搬記憶媒体が当該コンピュータから接続を解除されたと判別されたことに応答して、実行中の前記起動が許可されたプログラムの有無を判別する起動許可プログラム実行判別手段と、
前記起動許可プログラム実行判別手段によって実行中の前記起動が許可されたプログラムが無いと判別されたことに応答して、前記表示情報保存手段によって保存された表示情報を前記記憶部から読み出して、当該読み出した表示情報に基づいて前記表示部の表示状態を復元する表示復元手段と、
して機能させる。
【0010】
好ましくは、本発明に係る情報漏洩防止プログラムは、
ファイルが保存される記憶部を有し、可搬記憶媒体を接続可能なコンピュータを、更に、
前記起動制御手段によって起動可能が許可されたプログラムの実行中にファイルをオープンすることを要求するファイルオープン要求を受け付けるファイルオープン要求受付手段と、
前記ファイルオープン要求受付手段によってファイルオープン要求が受け付けられたことに応答して、オープンを要求されたファイルが前記接続された可搬記憶媒体に保存されているか否かを判別するオープンファイル判別手段と、
前記オープンファイル判別手段によって前記オープンを要求されたファイルが前記可搬記憶媒体に保存されていないと判別されたことに応答してファイルのオープンを禁止するファイルオープン禁止手段と、
として機能させる。
【0011】
好ましくは、本発明に係る情報漏洩防止プログラムは、
ファイルが保存される記憶部を有し、可搬記憶媒体を接続可能なコンピュータを、更に、
前記起動制御手段によって起動が許可されたプログラムの実行中にファイルを別の名前で保存することを要求するファイル別名保存要求を受け付けるファイル別名保存要求受付手段と、
前記ファイル別名保存要求受付手段によってファイル別名保存要求が受け付けられたことに応答して、ファイルの保存を要求された保存先が前記接続された可搬記憶媒体であるか否かを判別する別名保存先判別手段と、
前記別名保存先判別手段によって判別された保存先が前記接続された可搬記憶媒体でないことに応答して、前記保存先にファイルを保存することを禁止する保存禁止手段と、
として機能させる。
【0012】
また、本発明に係る起動記録プログラムは、
ファイルが保存される記憶部を有し、可搬記憶媒体を接続可能なコンピュータを、
当該コンピュータを特定するコンピュータ特定情報を取得するコンピュータ特定情報取得手段と、
前記コンピュータ特定情報取得手段によって取得されたコンピュータ特定情報に基づいて前記許可コンピュータ情報を作成または更新する許可コンピュータ情報作成更新手段と、
プログラムを起動するプログラム起動要求を検出するプログラム起動要求検出手段と、
前記プログラム起動要求検出手段によって検出されたプログラム起動要求に対応するプログラムを特定するプログラム特定情報を取得するプログラム特定情報取得手段と、
前記プログラム特定情報取得手段によって取得されたプログラム特定情報に基づいて前記許可プログラム情報を作成または更新する許可プログラム情報作成更新手段と、
前記情報漏洩防止プログラムと、前記許可コンピュータ情報作成更新手段によって作成または更新された許可コンピュータ情報が記録されたファイルと、前記許可プログラム情報作成更新手段によって作成または更新された許可プログラム情報が記録されたファイルとを、前記接続された可搬記憶媒体に保存する保存手段と、
して機能させる。
【発明の効果】
【0013】
本発明によれば、個別のアプリケーションプログラムに依存した情報漏洩防止のための制御手段なしに、可搬記憶媒体に保存されている情報の漏洩を防止することができる。
【図面の簡単な説明】
【0014】
【図1】本発明の第1の実施形態に係る起動記録プログラムを実行しているコンピュータ(パソコン)の構成の一例を示す図である。
【図2】起動記録プログラムにおける起動記録処理のフローチャートの一例を示す図である。
【図3】許可プログラム情報の一例を示す図である。
【図4】本発明の第2の実施形態に係る情報漏洩防止プログラムを実行しているコンピュータ(パソコン)の構成の一例を示す図である。
【図5】プログラム実行制御部によるプログラム実行制御処理のフローチャートの一例を示す図である。
【図6】図5の続きの図である。
【図7】ファイルI/O制御部によるファイルオープン制御処理のフローチャートの一例を示す図である。
【図8】ファイルI/O制御部によるファイル別名保存制御処理のフローチャートの一例を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態に係る起動記録プログラムと情報漏洩防止プログラムについて、図面を参照しながら説明する。
【0016】
図1は、本発明の第1の実施形態に係る起動記録プログラム109を実行しているコンピュータ(パソコン)100の構成の一例を示す。
コンピュータ100は、CPU(Central Processing Unit)101と、メモリ102と、記憶部103と、入力部104と、表示部105とを有している。そして、コンピュータ100にはUSBメモリ106が接続されている。
【0017】
メモリ102は、ROM(Read Only Memory)やRAM(Random Access Memory)等を含む。
記憶部103は、ハードディスク等を含む。記憶部103は、コンピュータ100に固定して据え付けられたリード・ライト可能な記憶装置である。
記憶部103は、OS(Operating System)107、シェル108、後述する起動記録プログラム109と許可プログラム情報110、およびアプリケーションプログラム(以下、アプリケーションと略す)111を格納(保存)している。
CPU101は、OS107、シェル108、起動記録プログラム109、許可プログラム情報110、およびアプリケーション111を、記憶部103からメモリ102に読み出して実行する。
【0018】
入力部104は、キーボードやマウス等を含む。
出力部105は、ディスプレイやプリンタ等を含む。
【0019】
USBメモリ106は、USB接続インタフェースとフラッシュメモリ等の物理コンポーネントから構成される可搬記憶媒体である。コンピュータ100から抜いて(接続を解除して)別のコンピュータに接続可能である。USBメモリ106は、コンピュータ100に接続されるとOS107により外部記憶装置として認識される。
ユーザーはシェル108、アプリケーション111、OS107を介して記憶部103とUSBメモリ106にファイルをリード・ライトできる。USBメモリ106は、後述する許可プログラム情報110と情報漏洩防止プログラム112と許可コンピュータ情報113とを格納(保存)する。
コンピュータ100に接続できるリード・ライト可能な可搬記憶媒体のその他の例としては、CD(Compact Disc)、DVD(Digital Versatile Disc)等がある。
【0020】
コンピュータ100は、図示されている以外にBluetooth(登録商標)等の外部機器接続インタフェース、有線ネットワークとの接続インタフェース、無線ネットワークとの接続インタフェース等を有している。
【0021】
OS107は、コンピュータのハードウェアの細かな仕様の違いを吸収し、入力部104と表示部105の操作やメモリ102、記憶部103、USBメモリ106等の管理機能等を抽象化して提供するソフトウェアである。
シェル108はOS107の一部を構成するソフトウェアである。シェル108は、コンピュータ100のユーザーからアプリケーション111の起動要求やOS107の設定変更等の指示を受け付け、その指示をOS107の中核部分(カーネル)に伝える。また、シェル108は、記憶部103やUSBメモリ106等に保存されているファイルについて、新規作成、移動、コピー、削除等のインタフェースをユーザーに提供する。
【0022】
例えば、OS107はWINDOWS(登録商標)である。ウィンドウズエクスプローラ(Windows Explorer)は、フォルダツリーやフォルダ・ファイル一覧を表示する表示機能と、上述したシェル108としての機能とを有する。
以降では、OS107がWindows(登録商標)、シェル108がウィンドウズエクスプローラである例について説明する。
【0023】
アプリケーション111は、OS107やシェル108が提供する抽象機能を利用し、文書編集や表計算等のある目的を持った機能を提供するプログラムである。また、アプリケーション111は、シェル108から提供される共通ユーザーインタフェースを呼び出し、アプリケーション111が利用するファイルのオープンや別の名前でファイルを保存する別名保存操作をユーザーが行えるようにする。
なお、上述したウィンドウズエクスプローラの機能のうち、フォルダツリーやフォルダ・ファイル一覧を表示部105に表示する表示機能は、アプリケーション111の一種とみなす。
【0024】
起動記録プログラム109は、後述するように、許可コンピュータ情報113と許可プログラム情報110を作成または更新する。
許可コンピュータ情報113は、アプリケーション111とシェル108を実行する権限が制限されないコンピュータ100を指定する情報である。許可コンピュータ情報113には、例えば、アプリケーション111とシェル108を実行する権限が制限されないコンピュータ100のMAC(Media Access Control address)アドレスが記載されている。なお、許可コンピュータ情報113には、MACアドレスでなくてもコンピュータ100を特定することができる情報が記載されていればよい。
【0025】
許可コンピュータ情報113で指定されるコンピュータ100は、USBメモリ106と記憶部103の間で自由にファイルを移動したり、コピーしたりすることができる。
一方、許可コンピュータ情報113で指定されないコンピュータ100は、情報漏洩防止プログラム112の実行中は、アプリケーション111とシェル108を実行する権限が制限される。このとき、コンピュータ100は、USBメモリ106と記憶部103の間でファイルの移動やコピー等ができなくなり、USBメモリ106に記録されている機密情報が保護される。
【0026】
また、起動記録プログラム109は、後述するように、シェル108やアプリケーション111からのプログラム起動要求を受け取って許可プログラム情報110を作成または更新する。
許可プログラム情報110は、情報漏洩防止プログラム112が実行されているとき、起動できるアプリケーション111を指定する情報である。
ここで、ウィンドウズエクスプローラの機能のうちシェル108としての機能を実現する部分は常に起動できる必要がある。このため、許可プログラム情報110はシェル108としての機能を実現する部分を明示的に又は黙示的に常に含む。従って、アプリケーション111は、シェル108から提供される共通ユーザーインタフェースを常に呼び出すことができる。
一方、許可プログラム情報110は、原則として、ウィンドウズエクスプローラの機能のうち表示機能を実現する部分を含まない。本実施形態では、許可プログラム情報に基づいて起動を許可されたアプリケーション111は、アプリケーション111から呼び出す共通ユーザーインタフェースにより、独自の起動用アイコンやUSBメモリ106に記憶されているファイルを表示部105に表示する。例えば、アプリケーション111は自分自身を起動するための起動用アイコンを表示部105に表示する。または、例えば、アプリケーション111は独自のファイル一覧ツールを有し、そのファイル一覧ツールを用いてUSBメモリ106に記憶されているファイルの一覧を表示部105に表示する。
【0027】
図2は、起動記録プログラムにおける起動記録処理のフローチャートの一例を示す。
起動記録プログラム109は起動記録処理を実行する。起動記録プログラム109は、まずコンピュータ100を特定するコンピュータ特定情報としてMACアドレスを取得する(S101)。
次に、起動記録プログラム109は、許可コンピュータ情報113を作成または更新する(S102)。例えば、USBメモリ106に許可コンピュータ情報113が記録されたファイルがない場合には、ステップS101で取得したMACアドレスが記録された許可コンピュータ情報113を作成する。また、起動記録プログラム109は、USBメモリ106に許可コンピュータ情報113が記録されたファイルが存在している場合にはUSBメモリ106から許可コンピュータ情報113が記録されたファイルを読み込む。起動記録プログラム109は、読み込んだ許可コンピュータ情報113にステップS101で取得したMACアドレスが含まれていない場合には、許可コンピュータ情報113にこのMACアドレスを追加して許可コンピュータ情報113を更新する。
【0028】
次に、起動記録プログラム109はプログラム起動要求を受け取る(S103)。プログラム起動要求は、シェル108とアプリケーション111がプログラムの起動を要求するときに出力する。
例えば、シェル108は、記憶部103やUSBメモリ106に保存されているファイルに対応し、起動可能なプログラムに関連付けられている識別子としてアイコンやファイル名等を表示部105に表示する。このファイルの例としては、WORDで作成された文書ファイル、図形エディタで作成された図形ファイル等がある。
また、シェル108は、起動可能なプログラムに対応する識別子としてプルアップメニュー、プルダウンメニュー、アイコン等を表示部105に表示する。このプログラムの例としては、Webブラウザ、辞書ソフト等がある。
【0029】
ユーザーが入力部104に含まれるキーボードやマウスを用いて識別子であるアイコンやファイル名等を選択すると、シェル108は、選択された識別子と関連付けられているプログラムまたは選択された識別子に対応するプログラム起動要求を出力する。このとき、起動記録プログラム109はこのプログラム起動要求を受け取る(S103)。
また、実行中のアプリケーション111が別のプログラムを起動する場合がある。例えば、Word文書に埋め込まれたExcelシートを編集する場合である。このような場合にも、起動記録プログラム109はプログラム起動要求を受け取る(S103)。
次に、起動記録プログラム109は、受け取ったプログラム起動要求に対応するプログラムを特定するプログラム特定情報を取得する(S104)。プログラム特定情報は、プログラムを特定する以外に、悪意を有する者等が、実行を禁止されているプログラムの名前を、実行を許可されているプログラムの名前に変更することによってプログラム実行制御を回避することを防止するためにも用いられる。
【0030】
ここで、プログラム起動要求とは、OS107が提供するプロセス生成関数の呼び出しである。この呼び出しには起動を要求されたプログラムのファイル名(プログラム名)が含まれており、起動記録プログラム109はこのファイル名を取得する。さらに、起動記録プログラム109は、このファイル名を用いてOS107のレジストリと呼ばれる設定情報領域を検索し、アプリケーション名とProgIDと呼ばれるプログラム識別子を得る。プログラム特定情報は、これらのファイル名(プログラム名)とアプリケーション名とProgIDのうち、少なくともいずれかを含む。また、プログラム特定情報は、より厳密にプログラムを特定するために、プログラムファイルのハッシュ値(MD5やSHA1等の暗号ハッシュアルゴリズムを用いて計算したもの)を含む場合もある。ハッシュ値を比較することにより、プログラムの名前等の改ざんを検出し、実行を禁止されているプログラムが実行されることを防ぐことができる。
なお、このプログラム特定情報はOS107がWindows(登録商標)の場合のものであり、他のOSにおいて本発明を実施する場合には起動を要求されたアプリケーションを特定可能な情報を選ぶ必要がある。
【0031】
次に、起動記録プログラム109は、許可プログラム情報110を作成または更新する(S105)。図3に許可プログラム情報110の一例を示す。許可プログラム情報110は複数のコンピュータを特定するプログラム特定情報を含む。
例えば、起動記録プログラム109は、USBメモリ106に許可プログラム情報110が記録されたファイルがない場合には、ステップS104で取得したプログラム特定情報が記録された許可プログラム情報110を作成する。また、起動記録プログラム109は、USBメモリ106に許可プログラム情報110が記録されたファイルが存在している場合にはUSBメモリ106から許可プログラム情報110が記録されたファイルを読み込む。起動記録プログラム109は、読み込んだ許可プログラム情報110にステップS104で取得したプログラム特定情報が含まれていない場合には、許可プログラム情報110にこのプログラム特定情報を追加して許可プログラム情報110を更新する。
【0032】
最後に、起動記録プログラム109は、コンピュータ100に接続されているUSBメモリ106に、情報漏洩防止プログラム112と、ステップS105で作成または更新した許可プログラム情報110と、ステップS102で作成または更新した許可コンピュータ情報113とを保存する(ステップ106)。このとき、USBメモリ106がコンピュータ100に接続されると、CPU101が起動記録プログラム109を実行していない場合には、Windows(登録商標)の自動再生(オートラン)機能により、情報漏洩防止プログラム112が自動的に起動するように構成する。
【0033】
図4は、本発明の第2の実施形態に係る情報漏洩防止プログラム112を実行しているコンピュータ(パソコン)100の構成の一例を示す。
図1と図4の同一の構成要素には同一の符号を付し、説明を省略する。
図4は、コンピュータ100が情報漏洩防止プログラム112をメモリ102に読み込んで実行している点で図1と異なる。
また、USBメモリ106に機密ファイル203が保存されている点で図1と異なる。機密ファイル203は、USBメモリ106が許可コンピュータ情報113で指定されたコンピュータ100に接続されている間に作成され、USBメモリ106に保存されたファイルである。
情報漏洩防止プログラム112は、プログラム実行制御部201とファイルI/O制御部202で構成される。
【0034】
プログラム実行制御部201は、シェル108やアプリケーション111からプログラム起動要求を受け取り、許可プログラム情報110の情報に基づきその起動の可否を決める。
具体的には、プログラム実行制御部201は、許可プログラム情報110で指定されるプログラム(シェル108とアプリケーション111)の起動を許可し、許可プログラム情報110で指定されないプログラム(シェル108とアプリケーション111)の起動を禁止する。
【0035】
このとき、プログラム実行制御部201は、「スタート」メニューやクイック起動ツールバーからアプリケーションを直接起動できず、かつ、「スタート」メニューやクイック起動ツールバーからフォルダツリーやフォルダ・ファイル一覧を表示するウィンドウを開けない状態にシェル108を設定する。
また、プログラム実行制御部201は、デスクトップ上に通常のアイコンが表示されない状態にシェル108を設定する。このため、記憶部103に保存されている文書に関連するアイコンはデスクトップ上で非表示になる。従って、デスクトップ上のファイルのアイコンをダブルクリック等してアプリケーションを起動することはできなくなる。
更に、プログラム実行制御部201は、アプリケーション111から呼び出すファイルオープン/ファイル別名保存用の共通ユーザーインタフェースにより、USBメモリ106のみ表示し、USBメモリ106以外のドライブを表示しない状態にシェル108を設定する。
【0036】
そして、プログラム実行制御部201は、起動を許可されたアプリケーション111から呼び出す共通ユーザーインタフェースによって、USBメモリ106に記憶されているファイルの一覧など、起動できるプログラムに対応するアイコンやファイル名、メニュー等を表示部105に表示するように制御する。同様に、起動できるプログラムに関連付けられており、USBメモリ106に記憶されているファイルに対応するアイコンやファイル名、メニュー等を表示部105に表示するように制御する。
【0037】
ファイルI/O制御部202は、シェル108提供の共通ユーザーインタフェースへの呼び出しであるファイルオープン要求やファイルを別の名前で保存する要求(以下、別名保存要求という)を受け取り、それらの要求の可否を決める。
情報漏洩防止プログラム110が実行されているとき、ファイルI/O制御部202の機能により、起動されているアプリケーション111から記憶部103に保存されているファイルをオープンすることができなくなる。また、ファイルI/O制御部202の機能により、起動されているアプリケーション111は、USBメモリ106に保存されているファイルをオープンすることはできるが、そのファイルを記憶部103に保存することができなくなる。
さらに、フォルダツリーやフォルダ・ファイル一覧を表示するウィンドウズエクスプローラのウィンドウを表示させないようにしているため、USBメモリ106と記憶部103との間でファイルの移動とコピーができない。
【0038】
図5と図6は、プログラム実行制御部201によるプログラム実行制御処理のフローチャートの一例を示す。
起動記録プログラム109が実行されていないコンピュータ100にUSBメモリ106が接続されると、CPU101は、Windows(登録商標)の自動再生(オートラン)機能により、情報漏洩防止プログラム112を起動する
【0039】
起動されると、プログラム実行制御部201は、コンピュータ100のコンピュータ特定情報(MACアドレス)を取得する(S201)。また、USBメモリ106に保存されている許可コンピュータ情報113を読み出す(S202)。次に、コンピュータ100のコンピュータ特定情報が許可コンピュータ情報113に含まれているか否か判別する(S203)。コンピュータ特定情報が許可コンピュータ情報113に含まれている場合(S203:Yes)、プログラム実行制御部201はその処理を終了する。この場合、ユーザーは記憶部103とUSBメモリ106との間で自由に機密ファイル203を移動およびコピーできる。
【0040】
コンピュータ特定情報が許可コンピュータ情報113に含まれていない場合(S203:No)、プログラム実行制御部201は「実行中のプログラムを全て終了させて欲しい」旨のメッセージを表示部105に表示する(S204)。プログラム実行制御部201は実行中のプログラムが全て終了するまで待つ(S205:No)。
ここで言うプログラムには、単なるアプリケーション111だけでなくウィンドウズエクスプローラの機能のうち、フォルダツリーやフォルダ・ファイル一覧を表示する表示機能(ウィンドウの表示機能)も含まれる。プログラム実行制御部201は、ウィンドウズエクスプローラのウィンドウも全て閉じられるまで待つ。ステップS205以降プログラム実行制御部201の処理が終了するまで、ユーザーは起動部103に保存されているファイルを表示するウィンドウズエクスプローラを開くことはできない。
【0041】
なお、ステップS205は、機密ファイル203を編集するアプリケーション111から、情報漏洩防止プログラム112が起動される前に起動されたアプリケーション111へ、機密ファイル203の内容をコピー&ペーストすることを回避するために行われる。ステップS205では、プログラム実行制御部201は起動済みアプリケーション111が処理を実行している場合であっても終了を待つ。機密情報ではないファイルの編集が継続され、機密情報をそのファイルへコピーした後、記憶部103へ保存されることを防ぐためである。
【0042】
プログラム実行制御部201は、実行中のプログラムが全て終了する(S205:Yes)と、USBメモリ106から許可プログラム情報110を読み出す(S206)。
次に、プログラム実行制御部201は、許可プログラム情報110で指定されるプログラム(シェル108やアプリケーション111)の起動を許可し、許可プログラム情報110で指定されないプログラムの起動を禁止する(S207)。そして、プログラム実行制御部201は、起動を許可されたアプリケーション111に、アプリケーション111から呼び出す共通ユーザーインタフェースにより、独自の起動用アイコンやUSBメモリ106に記憶されているファイルを表示部105に表示させる。(S208)。
【0043】
プログラム実行制御部201は、終了要求を受け取るまでステップS209からステップS216までを繰り返す。
プログラム実行制御部201は、表示部105に「終了」ボタンを表示する。OS107は、表示部105に表示された「終了」ボタンを入力部104のマウス等を用いてユーザーが押した(選択した)時、プログラム実行制御部201に終了要求を通知する。また、USBメモリ106がユーザーによってコンピュータ100から抜かれる場合がある(Suprise removable)。この場合にも、OS107はプログラム実行制御部201に終了要求を通知する。
プログラム実行制御部201は、OS107から終了要求を受け取ると、ステップS216に移行する(S209)。
【0044】
ステップS209においてプログラム実行制御部201がOS107から終了要求を受け取る(S216)前に、ユーザーが表示部105上に表示されているアイコン等を入力部104のマウス等を用いて押す(選択する)と、シェル108はプログラムを起動しようとしてプログラム起動要求を出力する。
また、実行中のアプリケーション111が別のプログラムを起動しようとしてプログラム起動要求を出力する場合もある。例えば、Excelシートが埋め込まれたWORD文書を編集する場合には、ユーザーはWORDプログラムを起動するが、WORDプログラムがExcelプログラムのプログラム起動要求を出力する。
【0045】
プログラム実行制御部201は、シェル108またはアプリケーション111が出力したプログラム起動要求を受け取る(S210)と、ステップS104と同様の方法でプログラム起動要求に対応するプログラムを特定するプログラム特定情報を取得する(S211)。
【0046】
次に、プログラム実行制御部201は、プログラム特定情報が許可プログラム情報110に含まれているか否か判別する(S212)。
プログラム実行制御部201は、プログラム特定情報が許可プログラム情報110に含まれていた場合(S212:Yes)、要求されたプログラムの実行を認め、プログラム起動要求をOS107に渡す(S213)。
起動されたプログラムの実行中に、プログラム実行制御部201は、ファイルI/O制御部202によるファイルオープン制御処理とファイル別名保存制御処理を呼び出す。ファイルI/O制御部202はファイルオープンまたはファイル別名保存用の共通ユーザーインタフェースを制御する(S214)。この処理の詳細は後述する。
【0047】
プログラム実行制御部201は、プログラム特定情報が許可プログラム情報110に含まれていない場合(S212:No)、プログラム起動要求を拒否する(S215)。ステップS215により、実行中のアプリケーション111が許可プログラム情報110に含まれていないプログラムを起動することを防止できる。
【0048】
プログラム実行制御部201は、OS107から終了要求を受け取ると、「実行中のプログラム(アプリケーション111)を全て終了させて欲しい」旨のメッセージを表示部105に表示する(S217)。
プログラム実行制御部201は、実行中のプログラムが全て終了しているか否か判別する(S218)。
なお、ステップS218は、ステップS205と同様に、編集するアプリケーション111から、情報漏洩防止プログラム110の実行終了後に起動されたアプリケーション111等へ、機密ファイル203の内容をコピー&ペーストすることを回避するために行う。
【0049】
プログラム実行制御部201は、実行中のプログラムが全て終了する(S218:Yes)と、ステップS205で実行中のプログラムが全て終了した後の表示に表示部105の表示を戻す(S219)。例えば、プログラム実行制御部201は、ステップS205で実行中のプログラムが全て終了する(S205:Yes)と、表示部105に表示されているアイコン、ファイル、メニュー等の表示状態を示す表示情報を記憶部103に保存し、ステップS219でその表示情報を記憶部103から読み出して、読み出した表示情報に基づいて表示部105の表示状態を復元する。
その後、プログラム実行制御部201は、情報漏洩防止プログラム112の実行を終了する。
【0050】
ユーザーは、USBメモリの接続を一端解除し、再度接続するか、あるいはウィンドウズエクスプローラ内に表示されるUSBメモリのアイコンをマウスでクリックすることにより、情報漏洩防止プログラム112を再起動することができる。
【0051】
図7は、ステップS214で呼び出すファイルI/O制御部によるファイルオープン制御処理のフローチャートの一例を示す。
まず、ファイルI/O制御部202は、アプリケーション111からシェル108提供の共通ユーザーインタフェースを用いるファイルオープン要求を受け取る(S301)。
次に、ファイルI/O制御部202は、オープンを要求されたファイルがUSBメモリ106に保存されているか否かを判別する(S302)。ファイルI/O制御部202は、オープンを要求されたファイルがUSBメモリ106に保存されていないと判別した場合(S302:No)、ファイルのオープンを禁止し(S303)、ステップS301に戻る。
一方、ファイルI/O制御部202は、オープンを要求されたファイルがUSBメモリ106に保存されていると判別した場合(S302:Yes)、ファイルのオープンを許可する(S304)。これにより、アプリケーション111はオープンしたファイルを編集可能になる。
【0052】
図8は、ステップS214で呼び出すファイルI/O制御部によるファイル別名保存制御処理のフローチャートの一例を示す。
アプリケーション111がシェル108提供の共通ユーザーインタフェースを用いてファイル別名保存要求を出力すると、ファイルI/O制御部202は、出力されたファイル別名保存要求を受け取る(S401)。
次に、ファイルI/O制御部202は、ファイルの別名での保存を要求された保存先がUSBメモリ106であるか否かを判別する(S402)。ファイルI/O制御部202は、保存先がUSBメモリ106でないと判別した場合(S402:No)、ファイルの保存を禁止し(S403)、ステップS401に戻る。
ファイルI/O制御部202は、保存先がUSBメモリ106であると判別した場合(S402:Yes)、ファイルの別名での保存を許可し(S404)、ファイル別名保存制御処理を終了する。
【0053】
なお、ステップS304でファイルオープン要求が許可された後、ファイル上書き保存要求の場合には、アプリケーション111はファイル別名保存要求を出力しない。この場合、ファイルI/O制御部202はステップS401のファイル別名保存要求には移行せず、共通ユーザーインタフェースへの呼び出しも無い。
【0054】
また、ステップS219でステップS205で実行中のプログラムが全て終了した後の表示に表示部105の表示を戻すとしたが、これに限らず、例えば、ステップS203でコンピュータ特定情報が許可コンピュータ情報113に含まれていないと判別された後の表示に表示部105の表示を戻しても良い(S203:No)。
【0055】
また、上記第1の実施形態では、起動記録プログラム109は、許可コンピュータ情報113と許可プログラム情報110を作成または更新するとしたが、予め一つ以上のコンピュータ特定情報が記載された許可コンピュータ情報113と、一つ以上のプログラム特定情報が記載された許可プログラム情報110を用意しておいても良い。
また、起動記録プログラム109は、USBメモリ106に保存された許可コンピュータ情報113に既にコンピュータ100を特定するコンピュータ特定情報が含まれている場合には、USBメモリ106に許可コンピュータ情報113を保存しなくても良い。同様に、起動記録プログラム109は、USBメモリ106に保存された許可プログラム情報110に既にプログラムを特定するプログラム特定情報が含まれている場合には、USBメモリ106に許可プログラム情報110を保存しなくても良い。
【0056】
また、本発明をUNIX(登録商標)系のOS等Windows(登録商標)以外のOSにも適用できることは言うまでもない。
また、本発明をUSBメモリだけでなく、CDやDVDのような他の可搬記憶媒体に適用できることも言うまでもない。
【0057】
以上説明したように、本発明によれば、許可されたコンピュータから可搬記憶媒体(USBメモリ)内へ機密ファイルを保存し、その可搬記憶媒体を未許可コンピュータに接続して機密ファイルの編集を可能にしつつ機密ファイルを可搬記憶媒体外へ流出させないことが可能になる。
【0058】
すなわち、起動記録プログラムで構成された可搬記憶媒体を許可コンピュータ情報で指定されたコンピュータに接続したときには、可搬記憶媒体とコンピュータとの間で自由にファイルを移動・コピーできる。一方、可搬記憶媒体を許可コンピュータ情報で指定されていないコンピュータに接続したときには、情報漏洩防止プログラムにより、許可プログラム情報で指定されたアプリケーションプログラムとシェルのみ起動可能になる。
このため、可搬記憶媒体に記憶された機密ファイルの保護を妨げないアプリケーションプログラムとシェルのみを許可プログラム情報で指定することにより、機密ファイルを保護することができる。
【0059】
また、情報漏洩防止プログラムにより、可搬記憶媒体内のファイルにアクセスできるのは許可プログラム情報に記載のアプリケーションプログラムだけとなる。したがって、許可プログラム情報にネットワークを利用するアプリケーションプログラムを記載しなければ、機密ファイルのネットワーク経由の漏洩を防げる。
【0060】
また、情報漏洩防止プログラムの起動直後および終了直前に全ての起動中のアプリケーションプログラムを終了させているので、可搬記憶媒体内の機密ファイルを編集中のアプリケーションプログラムは記憶部にファイルを保存するようなアプリケーションプログラムと同時に動作できない。従って、機密ファイルの内容をコピー&ペーストしたファイルを記憶部に保存することができない。
【0061】
また、可搬記憶媒体内のファイルをオープンしたアプリケーションプログラムは可搬記憶媒体内にだけファイルを保存可能なので、可搬記憶媒体が接続されているコンピュータの内蔵記憶装置へのファイル保存を防げる。
情報漏洩防止プログラムは、シェル提供のファイルI/O用共通ユーザーインタフェースだけを制御対象とすることで、アプリケーションプログラムによる設定ファイルの読み書き等を妨げることもない。
【0062】
以上、本発明の実施形態について説明したが、設計上の都合やその他の要因によって必要となる様々な修正や組み合わせは、請求項に記載されている発明や発明の実施形態に記載されている具体例に対応する発明の範囲に含まれると理解されるべきである。
【符号の説明】
【0063】
100…コンピュータ、101…CPU、102…メモリ、103…記憶部、104…入力部、105…表示部、106…USBメモリ、107…OS、108…シェル、109…起動記録プログラム、110…許可プログラム情報、111…アプリケーションプログラム、112…情報漏洩防止プログラム、113…許可コンピュータ情報、201…プログラム実行制御部、202…ファイルI/O制御部、203…機密ファイル

【特許請求の範囲】
【請求項1】
ファイルが保存される記憶部を有し、可搬記憶媒体を接続可能なコンピュータを、
当該コンピュータを特定するコンピュータ特定情報を取得するコンピュータ特定情報取得手段と、
前記コンピュータ特定情報取得手段によって取得されたコンピュータ特定情報によって特定される当該コンピュータに接続された可搬記憶媒体から、少なくとも1つのコンピュータ特定情報を含む許可コンピュータ情報を取得する許可コンピュータ情報取得手段と、
前記接続された可搬記憶媒体から、実行が許可されたプログラムを指定する許可プログラム情報を取得する許可プログラム情報取得手段と、
前記コンピュータ特定情報取得手段によって取得されたコンピュータ特定情報と前記許可コンピュータ情報取得手段によって取得された許可コンピュータ情報とに基づいて、前記コンピュータ特定情報によって特定される当該コンピュータのプログラムを実行する権限が制限されているか否かを判別するコンピュータ権限判別手段と、
前記コンピュータ権限判別手段によって当該コンピュータのプログラムを実行する権限が制限されていると判別されたことに応答して、前記許可プログラム情報取得手段によって取得された許可プログラム情報で指定されるプログラムの起動を許可し、許可プログラム情報で指定されないプログラムの起動を禁止する起動制御手段と、
して機能させるための情報漏洩防止プログラム。
【請求項2】
ファイルが保存される記憶部を有し、可搬記憶媒体を接続可能なコンピュータを、更に、
前記コンピュータ特定情報により特定される当該コンピュータのプログラムを実行する権限が制限されていると前記コンピュータ権限判別手段によって判別されたことに応答して、実行中のプログラムの有無を判別するプログラム実行判別手段として機能させ、
前記起動制御手段が、前記プログラム実行判別手段によって実行中のプログラムが無いと判別されたことに応答して、前記起動を許可されたプログラムに、当該プログラムを起動するためのアイコン及び/又は前記可搬記憶媒体に記憶されているファイルを前記表示部に表示させる、
請求項1に記載の情報漏洩防止プログラム。
【請求項3】
ファイルが保存される記憶部を有し、可搬記憶媒体を接続可能なコンピュータを、更に、
前記プログラム実行判別手段によって実行中のプログラムが無いと判別されたことに応答して、前記表示部の表示状態を示す表示情報を前記記憶部に保存する表示情報保存手段と、
終了要求を受け付ける終了要求受付手段と、
前記終了要求受付手段によって終了要求が受け付けられたか否かを判別する終了要求判別手段と、
前記コンピュータ特定情報取得手段によって取得されたコンピュータ特定情報によって特定される当該コンピュータに接続されている可搬記憶媒体が、当該コンピュータから接続を解除されたか否かを判別する接続解除判別手段と、
前記終了要求判別手段によって終了要求が受け付けられたと判別されるか、または前記接続解除判別手段によって可搬記憶媒体が当該コンピュータから接続を解除されたと判別されたことに応答して、実行中の前記起動が許可されたプログラムの有無を判別する起動許可プログラム実行判別手段と、
前記起動許可プログラム実行判別手段によって実行中の前記起動が許可されたプログラムが無いと判別されたことに応答して、前記表示情報保存手段によって保存された表示情報を前記記憶部から読み出して、当該読み出した表示情報に基づいて前記表示部の表示状態を復元する表示復元手段と、
して機能させる請求項2に記載の情報漏洩防止プログラム。
【請求項4】
ファイルが保存される記憶部を有し、可搬記憶媒体を接続可能なコンピュータを、更に、
前記起動制御手段によって起動可能が許可されたプログラムの実行中にファイルをオープンすることを要求するファイルオープン要求を受け付けるファイルオープン要求受付手段と、
前記ファイルオープン要求受付手段によってファイルオープン要求が受け付けられたことに応答して、オープンを要求されたファイルが前記接続された可搬記憶媒体に保存されているか否かを判別するオープンファイル判別手段と、
前記オープンファイル判別手段によって前記オープンを要求されたファイルが前記可搬記憶媒体に保存されていないと判別されたことに応答してファイルのオープンを禁止するファイルオープン禁止手段と、
として機能させる請求項1乃至3のいずれか1項に記載の情報漏洩防止プログラム。
【請求項5】
ファイルが保存される記憶部を有し、可搬記憶媒体を接続可能なコンピュータを、更に、
前記起動制御手段によって起動が許可されたプログラムの実行中にファイルを別の名前で保存することを要求するファイル別名保存要求を受け付けるファイル別名保存要求受付手段と、
前記ファイル別名保存要求受付手段によってファイル別名保存要求が受け付けられたことに応答して、ファイルの保存を要求された保存先が前記接続された可搬記憶媒体であるか否かを判別する別名保存先判別手段と、
前記別名保存先判別手段によって判別された保存先が前記接続された可搬記憶媒体でないことに応答して、前記保存先にファイルを保存することを禁止する保存禁止手段と、
として機能させる請求項1乃至4のいずれか1項に記載の情報漏洩防止プログラム。
【請求項6】
ファイルが保存される記憶部を有し、可搬記憶媒体を接続可能なコンピュータを、
当該コンピュータを特定するコンピュータ特定情報を取得するコンピュータ特定情報取得手段と、
前記コンピュータ特定情報取得手段によって取得されたコンピュータ特定情報に基づいて請求項1に記載の許可コンピュータ情報を作成または更新する許可コンピュータ情報作成更新手段と、
プログラムを起動するプログラム起動要求を検出するプログラム起動要求検出手段と、
前記プログラム起動要求検出手段によって検出されたプログラム起動要求に対応するプログラムを特定するプログラム特定情報を取得するプログラム特定情報取得手段と、
前記プログラム特定情報取得手段によって取得されたプログラム特定情報に基づいて請求項1に記載の許可プログラム情報を作成または更新する許可プログラム情報作成更新手段と、
請求項1乃至4に記載の情報漏洩防止プログラムと、前記許可コンピュータ情報作成更新手段によって作成または更新された許可コンピュータ情報が記録されたファイルと、前記許可プログラム情報作成更新手段によって作成または更新された許可プログラム情報が記録されたファイルとを、前記接続された可搬記憶媒体に保存する保存手段と、
して機能させるための起動記録プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−76541(P2011−76541A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−229844(P2009−229844)
【出願日】平成21年10月1日(2009.10.1)
【出願人】(000233055)株式会社日立ソリューションズ (1,610)
【Fターム(参考)】