情報処理装置及び情報漏洩防止方法
【課題】 故意に不正な操作を行ったユーザによる使用を制限できる情報処理装置を提供すること。
【解決手段】 実施形態によれば、情報処理装置は、第1検出手段、第1判定手段、カウント手段、及び制御手段を具備する。第1検出手段は前記情報処理装置にデバイスが取り付けられたことを検出する。第1判定手段は前記取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定する。カウント手段は、前記第1判定手段による判定結果に基づいて、所定期間内に接続を許可されていないカテゴリに属するデバイスが取り付けられた回数をカウントする。制御手段は、前記回数がしきい値を超えたとき、前記情報処理装置の使用を制限するための処理を実行する。
【解決手段】 実施形態によれば、情報処理装置は、第1検出手段、第1判定手段、カウント手段、及び制御手段を具備する。第1検出手段は前記情報処理装置にデバイスが取り付けられたことを検出する。第1判定手段は前記取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定する。カウント手段は、前記第1判定手段による判定結果に基づいて、所定期間内に接続を許可されていないカテゴリに属するデバイスが取り付けられた回数をカウントする。制御手段は、前記回数がしきい値を超えたとき、前記情報処理装置の使用を制限するための処理を実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報漏洩を防止する情報処理装置及び該機器に適用される情報漏洩防止方法に関する。
【背景技術】
【0002】
近年、コンピュータからデータが持ち出される等のいわゆる情報漏洩を防ぐための方法が提案されている。このような方法では、例えば、ユーザは正しいパスワードを入力することによって、コンピュータの使用を開始することができる。また、例えば、コンピュータ内に格納されたファイルに対してアクセス権限が設定され、ユーザは権限を有するファイルにのみアクセスすることができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−243957号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
正しいパスワードが入力されたことに応答してコンピュータの使用が可能になる方法では、例えば、誤ったパスワードが入力された回数がしきい値を超えたとき、当該コンピュータの使用が不能になるように制御される。そのため、パスワードを用いた認証では、使用を許可されていない(パスワードを知らない)ユーザはコンピュータを使用できない可能性が高い。
【0005】
しかし、コンピュータの使用を許可されたユーザであっても、権限のないファイル等へのアクセスを試みる悪意のあるユーザが存在する可能性がある。ファイルにアクセス権限を設定する方法では、ユーザが権限のないファイルに誤ってアクセスしようとすることがあっても、コンピュータがその要求を拒絶するため、ユーザが権限のないファイルにアクセスすることはない。しかし、悪意のあるユーザは、そのようなファイルに対して不正にアクセスすることを試みる可能性がある。悪意のあるユーザは、例えば、様々な操作を試行して、権限のないファイルにアクセスしようとすることが想定される。しかしながら、誤って不正な操作を行ったユーザと故意に不正な操作を行ったユーザ(悪意のあるユーザ)とを識別して、故意に不正な操作を行ったユーザに対して、コンピュータの使用を制限することは困難である。
【0006】
本発明は、故意に不正な操作を行ったユーザによる使用を制限できる情報処理装置、情報漏洩防止方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
実施形態によれば、情報処理装置は、第1検出手段、第1判定手段、カウント手段、及び制御手段を具備する。第1検出手段は前記情報処理装置にデバイスが取り付けられたことを検出する。第1判定手段は前記取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定する。カウント手段は、前記第1判定手段による判定結果に基づいて、所定期間内に接続を許可されていないカテゴリに属するデバイスが取り付けられた回数をカウントする。制御手段は、前記回数がしきい値を超えたとき、前記情報処理装置の使用を制限するための処理を実行する。
【図面の簡単な説明】
【0008】
【図1】一実施形態に係る情報処理装置の外観を示す斜視図。
【図2】同実施形態の情報処理装置の構成を示すブロック図。
【図3】同実施形態の情報処理装置によって実行される不正ユーザ検出プログラムの構成を示すブロック図。
【図4】同実施形態の情報処理装置によって実行される不正ユーザ検出プログラムが用いるカテゴリ管理データの例を示す図。
【図5】同実施形態の情報処理装置によって実行される不正ユーザ検出プログラムが用いるデバイス管理データの例を示す図。
【図6】同実施形態の情報処理装置によって実行される不正ユーザ検出プログラムが用いるアクセス管理データの例を示す図。
【図7】同実施形態の情報処理装置によって実行される不正ユーザ検出プログラムが用いる違反管理データの例を示す図。
【図8】同実施形態の情報処理装置によって実行される違反検出処理の手順の例を示すフローチャート。
【図9】同実施形態の情報処理装置によって実行される違反検出処理の別の手順の例を示すフローチャート。
【図10】同実施形態の情報処理装置によって実行される違反管理データ更新処理及び使用制限処理の手順の例を示すフローチャート。
【図11】同実施形態の情報処理装置によって実行されるタイマに基づく違反管理データ更新処理の手順の例を示すフローチャート。
【図12】同実施形態の情報処理装置によって実行される通知時刻更新処理の手順の例を示すフローチャート。
【図13】同実施形態の情報処理装置によって実行される使用制限処理の手順の別の例を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、実施の形態について図面を参照して説明する。
【0010】
図1は、実施形態に係る情報処理装置の外観を示す斜視図である。この情報処理装置は、例えばノートブックタイプのパーソナルコンピュータ10として実現されている。
【0011】
図1に示すように、本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成されている。ディスプレイユニット12には、LCD(liquid crystal display)17を備えた表示装置が組み込まれている。ディスプレイユニット12は、コンピュータ本体11の上面が露出される開放位置とコンピュータ本体11の上面を覆う閉塞位置との間を回動自在にコンピュータ本体11に取り付けられている。ディスプレイユニット12はさらに、LCD17の上部にカメラモジュール115を備える。カメラモジュール115は、ディスプレイユニット12が開放位置にあるときに、コンピュータ10を使用するユーザ等を撮影するために用いられる。
【0012】
コンピュータ本体11は、薄い箱形の筐体を有しており、その上面には、キーボード13、本コンピュータ10を電源オン/電源オフするためのパワーボタン14、入力操作パネル15、タッチパッド16、スピーカ18A,18Bなどが配置されている。入力操作パネル15上には、各種操作ボタンが設けられている。
【0013】
また、コンピュータ本体11の右側側面には、例えばUSB(universal serial bus)2.0規格のUSBケーブルやUSBデバイスを接続するためのUSBコネクタ19が設けられている。さらに、コンピュータ本体11の背面には、例えばHDMI(high-definition multimedia interface)規格に対応した外部ディスプレイ接続端子(図示せず)が設けられている。この外部ディスプレイ接続端子は、デジタル映像信号を外部ディスプレイに出力するために用いられる。
【0014】
図2は、本コンピュータ10のシステム構成を示す図である。
【0015】
本コンピュータ10は、図2に示されるように、CPU(central processing unit)101、ノースブリッジ102、主メモリ103、サウスブリッジ104、GPU(Graphics Processing Unit)105、VRAM(ビデオRAM:random access memory)105A、サウンドコントローラ106、BIOS−ROM(basic input/output system-read only memory)107、LAN(local area network)コントローラ108、HDD109、光ディスクドライブ(ODD)110、USBコントローラ111、無線LANコントローラ112、エンベデッドコントローラ/キーボードコントローラ(EC/KBC)113、EEPROM(electrically erasable programmable ROM)114、カメラモジュール115、カードコントローラ116等を備える。
【0016】
CPU101は、本コンピュータ10の動作を制御するプロセッサであり、HDD109から主メモリ103にロードされる、オペレーティングシステム(OS)201や、不正ユーザ検出プログラム202のような各種アプリケーションプログラムを実行する。不正ユーザ検出プログラム202は、例えば、悪意のあるユーザによって、接続が許可されていないデバイス、例えば、リムーバブルストレージデバイス(外付けHDD、USBメモリ、メモリカード等)、または他の各種リムーバブルデバイス、が取り付けられたときや、権限のないファイルへのアクセス(リード、ライト等)が要求されたときにコンピュータ10の使用を制限する機能を有するプログラムである。
【0017】
また、CPU101は、BIOS−ROM(不揮発メモリ)107に格納されたBIOS(Basic Input/Output System)も実行する。BIOSは、ハードウェア制御のためのプログラムである。CPU101は、コンピュータ10がパワーオンされたとき、OS201を起動する前にBIOSを実行する。その際、BIOSは、BIOS−ROM107に格納されたBIOSパスワード(パワーオンパスワード)107Cを用いた認証を行うことができる。BIOSは、ユーザによってタイプ入力されたパスワードとBIOSパスワード(パワーオンパスワード)107Cとを比較する。タイプ入力されたパスワードとBIOSパスワード(パワーオンパスワード)107Cとが一致したとき、つまり、ユーザによって正しいパスワードが入力されたとき、BIOSは、OS201の起動(ブート)を開始する。換言すると、誤ったBIOSパスワードが入力された際には、BIOSはOS201を実行しない。
【0018】
また、BIOS−ROM107には、監視プログラム107A、通知時刻データ107B、暗号化鍵107D及び復号鍵107Eが格納されている。監視プログラム107Aは、不正ユーザ検出プログラム202の動作を監視する機能を有する。具体的には、監視プログラム107Aは、不正ユーザ検出プログラム202による通知を受信する。この通知が一定時間以上途絶えたとき、監視プログラム107Aは、不正ユーザ検出プログラム202が正常に動作していないものと判定し、コンピュータ10の使用を制限する処理、例えば、コンピュータ10をシャットダウンする処理等を実行する。
【0019】
不正ユーザ検出プログラム202は、例えば、管理者(アドミニストレータ)権限を有するユーザのみがインストール、設定変更、実行の制御等を行うことができる。そのため、管理者権限を持たないエンドユーザは、不正ユーザ検出プログラム202の実行を停止したり、その設定を変更したりすることができない。しかし、悪意のあるユーザは、何らかの手段によって不正ユーザ検出プログラム202の実行を停止することを試みる可能性がある。監視プログラム107Aは、上述のように、不正ユーザ検出プログラム202が正常に動作しているか否かを監視し、正常に動作していないときにはコンピュータ10の使用を制限する処理を実行する。これにより、悪意のあるユーザへの対策を二重に施すことができる。
【0020】
ノースブリッジ102は、CPU101のローカルバスとサウスブリッジ104との間を接続するブリッジデバイスである。ノースブリッジ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ102は、PCI EXPRESS規格のシリアルバスなどを介してGPU105との通信を実行する機能も有している。
【0021】
GPU105は、本コンピュータ10のディスプレイモニタとして使用されるLCD17を制御する表示コントローラである。このGPU105によって生成される表示信号はLCD17に送られる。また、GPU105は、HDMI制御回路およびHDMI端子を介して、外部ディスプレイ装置にデジタル映像信号を送出することもできる。
【0022】
HDMI端子は、前述の外部ディスプレイ接続端子である。HDMI端子は、非圧縮のデジタル映像信号とデジタルオーディオ信号とを1本のケーブルでテレビのような外部ディスプレイ装置に送出することができる。HDMI制御回路は、HDMIモニタと称される外部ディスプレイ装置にデジタル映像信号をHDMI端子を介して送出するためのインタフェースである。
【0023】
サウスブリッジ104は、PCI(Peripheral Component Interconnect)バス上の各デバイスおよびLPC(Low Pin Count)バス上の各デバイスを制御する。また、サウスブリッジ104は、HDD109およびODD110を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。さらに、サウスブリッジ104は、サウンドコントローラ106との通信を実行する機能も有している。
【0024】
サウンドコントローラ106は音源デバイスであり、再生対象のオーディオデータをスピーカ18A,18BまたはHDMI制御回路に出力する。
【0025】
LANコントローラ108は、例えばIEEE 802.3規格の有線通信を実行する有線通信デバイスであり、一方、無線LANコントローラ112は、例えばIEEE 802.11g規格の無線通信を実行する無線通信デバイスである。
【0026】
また、USBコントローラ111は、(USBコネクタ19を介して接続される)例えばUSB 2.0規格に対応した外部機器(リムーバブルデバイス)との通信を実行する。USBコントローラ111は、例えば、接続されたデジタルカメラ内に格納されたデジタル画像を取り込んでHDD109に格納する際の通信等を制御する。また、USBコントローラ111は、例えば、接続されたプリンタに文書データを出力して、その文書データを印刷する際の通信等を制御する。
【0027】
さらに、USBコントローラ111は、接続されたリムーバブルストレージデバイスに対するデータの書き込みまたは読み出しを行うためにそのリムーバブルストレージデバイスとの通信を行う。例えば、USBコントローラ111は、接続された補助記憶装置(例えば、外付けHDD)や半導体記憶メディア(例えば、フラッシュメモリ)等に対するデータの書き込みまたは読み出しを行う。
【0028】
カメラモジュール115は、内蔵するカメラを用いた撮像処理を実行する。カメラモジュール115は、例えば、内蔵するカメラにより撮像された画像を用いて画像データを生成し、当該画像データを主メモリ103やHDD109に格納する際の通信等を実行する。また、カメラモジュール115は、不正ユーザ検出プログラム202等の各種のアプリケーションプログラムに画像データを供給する。
【0029】
カードコントローラ116は、カードスロット20に挿入された記録メディア20A(リムーバブルメディア)との通信を実行する。例えば、カードコントローラ116は、記録メディア20Aであるメモリカード(例えばSDカード)に対するデータの書き込みまたは読み出しを行う。
【0030】
EC/KBC113は、電力管理のためのエンベデッドコントローラと、キーボード13およびタッチパッド16を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC113は、ユーザによるパワーボタン14の操作に応じて本コンピュータ10を電源オン/電源オフする機能を有している。
【0031】
図3は、コンピュータ10によって実行される不正ユーザ検出プログラム202の構成を示す。不正ユーザ検出プログラム202は、許可されていないカテゴリに属するデバイスの接続や、許可されていないデータへのアクセスを検出し、悪意のあるユーザによるコンピュータ10の使用を制限する。不正ユーザ検出プログラム202は、デバイス取り付け検出部301、デバイス判定部302、アクセス要求検出部303、アクセス判定部304、違反管理データ更新部305、タイマ306、要求破棄部307、不正ユーザ検出部308、パスワード制御部309、ネットワーク切断部310、ユーザ画像撮像部311、及びBIOS通信部312を備える。
【0032】
デバイス取り付け検出部301は、コンピュータ10にデバイス(リムーバブルストレージデバイス、他の各種リムーバブルデバイス)が取り付けられたことを検出する。デバイス取り付け検出部301は、例えば、USBコネクタ19、カードスロット20等を介して、デバイスが取り付けられたことを検出する。具体的には、デバイス取り付け検出部301は、例えば、OS201が出力するメッセージ(イベント)を常時監視する。デバイス取り付け検出部301は、OS201によって出力されたメッセージが検出されたとき、当該メッセージをフックする。メッセージは、例えば、発生したイベントの種類や当該イベントの内容を示す情報等を含む。例えば、OS201は、デバイスが取り付けられたとき、デバイスが取り付けられことを示す情報(イベントの種類を示す情報)と、デバイスが取り付けられた場所(USBコネクタ19、カードスロット20等)及びデバイスの種類(補助記憶装置、プリンタ等)を示す情報(イベントの内容を示す情報)とを含むメッセージを出力する。
【0033】
デバイス取り付け検出部301は、フックしたメッセージが、デバイスが取り付けられたことを示すとき、デバイスが取り付けられたものと判定する。デバイスが取り付けられたことを検出したとき、デバイス取り付け検出部301は、フックしたメッセージをデバイス判定部302に出力する。
【0034】
デバイス判定部302は、デバイス取り付け検出部301によってフックされたメッセージに基づき、取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定する。デバイス判定部302は、HDD109内のデータベース40に格納されたカテゴリ管理データ40Aを参照して、取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定する。
【0035】
図4はカテゴリ管理データ40Aの一構成例を示す。カテゴリ管理データ40Aは、複数のカテゴリにそれぞれ対応する複数のエントリを含む。各エントリは、例えば、カテゴリID、カテゴリ名、及び接続の許可又は禁止を示す情報を含む。あるカテゴリに対応するエントリにおいて、カテゴリIDは、そのカテゴリに固有の識別情報を示す。カテゴリ名は、そのカテゴリの名称を示す。接続の許可又は禁止を示す情報は、コンピュータ10にそのカテゴリに属するデバイスを接続することが許可されているか禁止されているかを示す。図4に示す例では、カテゴリID“000”のカテゴリである“光ディスクドライブ”に属するデバイス(例えば、DVD−ROMドライブ)は、コンピュータ10への接続が“許可”されている。また、カテゴリID“001”のカテゴリである“外付け補助記憶装置”に属するデバイス(例えば、外付けHDD)は、コンピュータ10への接続が“禁止”されている(すなわち、コンピュータ10への接続が許可されていない)。
【0036】
デバイス判定部302は、さらに、デバイス管理データ40Bを参照して、取り付けられたデバイスが接続を許可されていないデバイスであるか否かを判定してもよい。デバイス判定部302は、デバイス管理データ40Bを用いることによって、デバイスの各々について、コンピュータ10への接続の許可又は禁止を設定することができる。したがって例えば、あるカテゴリに対応するエントリ(カテゴリ管理データ40A)が、そのカテゴリに属するデバイスの接続を許可することを示しているときに、デバイス管理データ40Bでは、そのカテゴリに属する一つのデバイスの接続を禁止するように設定できる。その場合、デバイス判定部302は、取り付けられたデバイスを、接続を許可されていないデバイスと判定する。
【0037】
図5はデバイス管理データ40Bの一構成例を示す。デバイス管理データ40Bは、複数のデバイスにそれぞれ対応する複数のエントリを含む。各エントリは、例えば、デバイスID、カテゴリID、デバイス名、及び接続の許可又は禁止を示す情報を含む。あるデバイスに対応するエントリにおいて、デバイスIDは、そのデバイスに固有の識別情報を示す。カテゴリIDは、そのデバイスが属するカテゴリに固有の識別情報を示す。デバイス名は、そのデバイスの名称を示す。接続の許可又は禁止を示す情報は、コンピュータ10にそのデバイスを接続することが許可されているか禁止されているかを示す。図5に示す例では、デバイスID“1000”のデバイスである“CD−ROMドライブ”は、コンピュータ10への接続が“許可”されている。また、カテゴリID“1001”のデバイスである“DVD−ROMドライブ”は、コンピュータ10への接続が“禁止”されている(すなわち、コンピュータ10への接続が許可されていない)。
【0038】
デバイス判定部302は、取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを示す判定結果、又は取り付けられたデバイスが接続を許可されていないデバイスであるか否かを示す判定結果を違反管理データ更新部305に出力する。
【0039】
また、アクセス要求検出部303は、データへのアクセス要求を検出する。アクセス要求検出部303は、例えば、HDD109内に格納されたファイルのリード要求を検出する。アクセス要求検出部303は、例えば、HDD109へのファイルのライト要求を検出する。また、アクセス要求検出部303は、例えば、ネットワークを介して接続されたファイルサーバ内に格納されたファイルのリード要求を検出する。
【0040】
具体的には、アクセス要求検出部303は、例えば、OS201が出力するメッセージ(イベント)や、他のアプリケーションプログラムが出力するメッセージ(ファイルアクセス要求)を常時監視する。アクセス要求検出部303は、OS201やアプリケーションプログラム等によって出力されたメッセージが検出されたとき、当該メッセージをフックする。メッセージは、発生したイベントの種類や当該イベントの内容を示す情報等を含む。例えば、OS201は、データへのアクセスが要求されたとき、データへのアクセスが要求されたことを示す情報(イベントの種類を示す情報)と、アクセスが要求されたデータが格納された場所(ドライブ名、ディレクトリ名、ファイル名(ファイルパス)等)やアクセスの種類(リード、ライト、印刷、名称の変更等)を示す情報(イベントの内容を示す情報)とを含むメッセージを出力する。
【0041】
アクセス要求検出部303は、フックしたメッセージが、データへのアクセス要求を示すとき、データへのアクセス要求が発生したものと判定する。データへのアクセス要求を検出したとき、アクセス要求検出部303は、フックしたメッセージをアクセス判定部304に出力する。
【0042】
アクセス判定部304は、アクセス要求検出部303によってフックされたメッセージに基づき、アクセス要求が、許可されていないデータへのアクセス要求であるか否かを判定する。アクセス判定部304は、HDD109内のデータベースに格納されたアクセス管理データ40Cを参照して、アクセス要求が、許可されていないデータへのアクセス要求であるか否かを判定する。
【0043】
図6はアクセス管理データ40Cの一構成例を示す。アクセス管理データ40Cは、複数のアクセス領域(データ領域)にそれぞれ対応する複数のエントリを含む。各エントリは、例えば、領域ID、アクセス領域、リード権限、ライト権限、印刷権限、及び許可プリンタを示す情報を含む。あるアクセス領域に対応するエントリにおいて、領域IDは、そのアクセス領域に固有の識別情報を示す。アクセス領域は、そのアクセス領域に対応する場所(例えば、ドライブ名、ディレクトリ名、ファイル名)を示す。リード権限は、そのアクセス領域に対するリードが許可されているか否かを示す。ライト権限は、そのアクセス領域に対するライトが許可されているか否かを示す。印刷権限は、そのアクセス領域に格納されたデータ(例えば、文書データや画像データ)を印刷することが許可されているか否かを示す。また、許可プリンタは、印刷権限が、そのアクセス領域に格納されたデータの印刷を許可していることを示すときに印刷可能なプリンタを示す。図6に示す例では、領域ID“2000”のアクセス領域である“ドライブ1”で示される場所に格納されたデータに対して、リード及びライトが許可され、印刷が禁止されている。また、領域ID“2002”のアクセス領域である“ファイル1”に対応するファイルでは、リード及び“プリンタA”を用いた印刷が許可され、ライトが禁止されている。
【0044】
アクセス判定部304は、アクセス要求の対象のデータが、該アクセス要求に指定された種類のアクセス(リード、ライト等)を許可されたデータであるか否かを判定する。図6に示す例では、アクセス要求が“ファイル1”に対するリードを要求するとき、アクセス判定部304は、該アクセス要求が許可されたアクセス要求であると判定する。また、アクセス要求が“ファイル1”に対するライトを要求するとき、アクセス判定部304は、該アクセス要求が許可されていないアクセス要求であると判定する。アクセス判定部304は、アクセス要求がアクセスを許可されたデータへのアクセス要求であるか否かを示す判定結果を違反管理データ更新部305に出力する。
【0045】
上述のカテゴリ管理データ40A、デバイス管理データ40B及びアクセス管理データ40Cを用いることによって、例えば、企業内で、業務で作成したデータを他者に渡す際に、フロッピー(登録商標)ディスクやUSBメモリ等のリムーバブルストレージデバイスでの受け渡しが許可されておらず、ファイルサーバ内の特定の領域(ディレクトリ)での受け渡しが許可されていることを規定することができる。カテゴリ管理データ40A、デバイス管理データ40B及びアクセス管理データ40Cは、例えば、コンピュータ10上で、管理者権限を有するユーザによって設定される。また、カテゴリ管理データ40A、デバイス管理データ40B及びアクセス管理データ40Cは、ネットワーク上のホスト(サーバ)からクライアントであるコンピュータ10に配布され、設定されてもよい。なお、カテゴリ管理データ40A、デバイス管理データ40B及びアクセス管理データ40Cは、不揮発メモリ(BIOS−ROM)107に格納された暗号化鍵107Dを用いて、暗号化してHDD109等に格納されてもよい。その場合、デバイス判定部302及びアクセス判定部304は、不揮発メモリ107に格納された復号鍵107Eを用いて、カテゴリ管理データ40A、デバイス管理データ40B及びアクセス管理データ40Cを復号して、判定に使用する。
【0046】
違反管理データ更新部305は、HDD109内のデータベース40に格納された違反管理データ40Dを更新する。
図7は違反管理データ40Dの一構成例を示す。違反管理データ40Dは、例えば、最終違反日時と違反回数とを含む。最終違反日時は、最後に許可されていないカテゴリに属するデバイス(許可されていないデバイス)が取り付けられた日時又は最後に許可されていないデータへのアクセスが要求された日時を示す。違反回数は、所定期間内に、許可されていないカテゴリに属するデバイスが取り付けられた回数と許可されていないデータへのアクセスが要求された回数との和を示す。なお、違反回数として、許可されていないカテゴリに属するデバイスが取り付けられた回数に加えて、許可されていないデータへのアクセスが要求された回数が記録されてもよい。
【0047】
違反管理データ更新部305は、デバイス判定部302による判定結果が、許可されていないカテゴリに属するデバイスが取り付けられたことを示すとき、違反管理データ40Dを更新する。具体的には、違反管理データ更新部305は、まず、違反管理データ40Dの最終違反日時に示される日時(前回許可されていないカテゴリに属するデバイスが取り付けられた時刻)から、今回許可されていないカテゴリに属するデバイスが取り付けられた日時(現在時刻)までの経過時間を算出する。そして、算出した経過時間が所定期間(例えば、1時間から24時間)以内であるとき、違反管理データ更新部305は、違反管理データ40Dの最終違反日時を、今回許可されていないカテゴリに属するデバイスが取り付けられた日時に書き換え、違反管理データ40Dの違反回数を、現在の違反回数に1だけ加えた値に書き換える(カウントアップ)。
【0048】
また、違反管理データ更新部305は、アクセス判定部304による判定結果が許可されていないデータへのアクセス要求であることを示すとき、違反管理データ40Dを更新する。具体的には、違反管理データ更新部305は、違反管理データ40Dの最終違反日時に示される日時(前回許可されていないデータへのアクセスが要求された時刻)から、今回許可されていないデータへのアクセスが要求された日時(現在時刻)までの経過時間を算出する。そして、算出した経過時間が所定期間(例えば、1時間から24時間)以内であるとき、違反管理データ更新部305は、違反管理データ40Dの最終違反日時を、今回許可されていないデータへのアクセスが要求された日時に書き換え、違反管理データ40Dの違反回数を、現在の違反回数に1だけ加えた値に書き換える。
【0049】
さらに、違反管理データ更新部305は、タイマ306を用いて違反管理データ40Dを更新してもよい。具体的には、違反管理データ更新部305は、最終違反日時に示される日時(最後に許可されていないカテゴリに属するデバイスが取り付けられた時刻、又は最後に許可されて以内データへのアクセスが要求された時刻)から現在の時刻までの経過時間を算出する。そして、算出した経過時間が所定期間(例えば、1時間から24時間)より長いとき、違反管理データ更新部305は、違反回数を0にリセットする(違反管理データ40Dの違反回数を0に書き換える)。また、違反管理データ更新部305は、例えば、最終違反日時に示される日時から所定期間が経過する毎に、(違反回数が0になるまで)違反回数を1ずつ減らしてもよい(違反管理データ40Dの違反回数を、現在の違反回数から1ずつ減らした値に書き換えてもよい)。
なお、違反管理データ更新部305は、不揮発メモリ107に格納された暗号化鍵107D及び復号鍵107Eを用いて、違反管理データ40Dを暗号化及び復号して用いてもよい。
【0050】
要求破棄部307は、デバイス判定部302による判定結果が許可されていないカテゴリに属するデバイスが取り付けられたことを示すとき、メッセージ(デバイスを接続するための要求)を破棄する。すなわち、要求破棄部307は、許可されていないカテゴリに属するデバイスが取り付けられたとき、当該デバイスをコンピュータ10に接続しない。要求破棄部307は、メッセージを破棄したとき、OS201に対して、デバイスを接続するための処理にエラーが発生したことを通知する。具体的には、要求破棄部307は、例えば、対象のデバイス(カテゴリ)の接続が禁止されていること等を示すエラーをOS201に出力する。
【0051】
また、要求破棄部307は、アクセス判定部304による判定結果が許可されていないデータへのアクセス要求であることを示すとき、メッセージ(アクセス要求)を破棄する。すなわち、要求破棄部307は、許可されていないデータへのアクセス要求に対応する処理をOS201に実行させない。要求破棄部307は、メッセージを破棄したとき、OS201に対して、データにアクセスするための処理にエラーが発生したことを通知する。具体的には、要求破棄部307は、例えば、対象のデータへのアクセス権がないこと、書き込みが禁止されていること等を示すエラーをOS201に出力する。
【0052】
不正ユーザ検出部308は、違反管理データ40Dに基づいて、悪意のあるユーザ(不正ユーザ)を検出する。不正ユーザ検出部308は、違反管理データ40Dの違反回数がしきい値(例えば、5回)を超えたとき、現在のユーザが悪意のあるユーザであると判断する。つまり、不正ユーザ検出部308は、例えば、許可されていないカテゴリに属するデバイスが取り付けられた回数と許可されていないデータへのアクセスが要求された回数との合計がしきい値を超えたとき、現在のユーザが悪意のあるユーザであると判断する。また、不正ユーザ検出部308は、例えば、許可されていないカテゴリに属するデバイスが取り付けられた回数が第1のしきい値を超えたとき、及び許可されていないデータへのアクセスが要求された回数が第2のしきい値を超えたときのいずれかに該当するときに、現在のユーザが悪意のあるユーザであると判断してもよい。
【0053】
現在のユーザが悪意のあるユーザであると判定されたとき、不正ユーザ検出部308は、パスワード制御部309、ネットワーク切断部310及びユーザ画像撮像部311に、現在のユーザが悪意のあるユーザであることを通知する。この通知を受信したパスワード制御部309、ネットワーク切断部310及びユーザ画像撮像部311は、コンピュータ10の使用を制限するための処理をそれぞれ実行する。
【0054】
パスワード制御部309は、不正ユーザ検出部308による通知に応答して(ユーザが悪意のあるユーザであると判定されたとき)、不揮発メモリ(BIOS−ROM)107に格納されたパスワード(BIOSパスワード)107Cを書き換える。具体的には、パスワード制御部309は、悪意のあるユーザによって使用されているパスワードを別のパスワードに書き換える。書き換えに用いられるパスワードは、例えば、不揮発メモリ107内のエンドユーザにはアクセスが許可されていない(見えない)領域に予め格納されている。なお、パスワード書き換えるための処理は、BIOSが備えるプログラム(インタフェース)を用いてもよい。これにより、悪意のあるユーザは、現在のパスワードを用いて、コンピュータ10を起動することができなくなる。
【0055】
ネットワーク切断部310は、不正ユーザ検出部308による通知に応答して、コンピュータ10とネットワークとの間の接続を切断する。ネットワーク切断部310は、例えば、ネットワークデバイス(LANコントローラ108、無線LANコントローラ112等)に電源をオフにする要求を出力すること、コンピュータ10のマザーボード上の設定を変更してネットワークデバイスが接続されているバスを切り離すこと、及びネットワークデバイス用のドライバをアンロードすることのうちの少なくともいずれかを行って、コンピュータ10とネットワークとの間の接続を切断する。
【0056】
ユーザ画像撮像部311は、不正ユーザ検出部308による通知に応答して、カメラモジュール115を用いて悪意のあるユーザの画像を撮影する。ユーザ画像撮像部311は、撮影したユーザ画像41をHDD109内に格納する。コンピュータ10を管理する管理者は、格納されたユーザ画像41によって悪意のあるユーザを確認することができる。また、悪意のあるユーザを撮影する機能を有することにより、違反行為を抑止する効果が得られる。
【0057】
BIOS通信部312は、タイマ306を用いて、一定時間毎に監視プログラム107Aへの通知を行う。BIOS通信部312は、例えば、BIOSが備える特定のプログラム(インタフェース)を一定時間毎に呼び出すことによって、監視プログラム107Aへの通知を行う。
【0058】
監視プログラム107Aは、BIOS通信部312による通知を受信したとき、この通知を受信した時刻を示す情報を、不揮発メモリ107内に通知時刻データ107Bとして格納する。そして、監視プログラム107Aは、例えば、一定時間毎に、前回の通知時刻(通知時刻データ107B)から現在の時刻までの経過時間を算出し、算出した経過時間がしきい値時間よりも長いか否かを判定する。算出した経過時間がしきい値時間以内である場合、監視プログラム107Aは、不正ユーザ検出プログラム202が正常に動作していると判断する。算出した経過時間がしきい値時間よりも長い場合、監視プログラム107Aは、不正ユーザ検出プログラム202が正常に動作していないと判断する。なお、監視プログラム107Aは、BIOS通信部312による通知を受信してから次の通知が受信されない間、しきい値時間だけカウントダウンを行い、残り時間が0になったとき、不正ユーザ検出プログラム202が正常に動作していないと判断してもよい。
【0059】
不正ユーザ検出プログラム202が正常に動作していないと判断したとき、監視プログラム107Aは、コンピュータ10の使用を制限するための処理を実行する。具体的には、監視プログラム107Aは、例えば、BIOSパスワード107Cを変更する処理と、コンピュータ10をシャットダウンする処理とを実行する。この監視プログラム107Aによって、例えば、悪意のあるユーザによって不正ユーザ検出プログラム202の実行が妨害(停止)された際にも、不正ユーザ検出プログラム202からの定期的な通知が受信されないことに基づいて、悪意のあるユーザによるコンピュータ10の使用を制限することができる。
【0060】
以上の構成により、不正ユーザ検出プログラム202は、接続を許可されていないカテゴリに属するデバイスの取り付けや許可されていないデータへのアクセス要求等の違反行為が検出されたとき、違反行為を行ったユーザが悪意のあるユーザであるか否かを判定することができる。そして、ユーザが悪意のあるユーザであると判定された場合には、コンピュータ10の使用を制限するための処理を実行する。また、監視プログラム107Aは、不正ユーザ検出プログラム202が正常に動作しているか否かを定期的に判定する。そして、不正ユーザ検出プログラム202が正常に動作していない場合、コンピュータ10の使用を制限するための処理を実行する。上述のように、コンピュータ10の使用を制限する処理が実行されることにより、情報漏洩等の被害を防止することができる。
【0061】
次いで、図8から図13は、コンピュータ10によって実行される不正ユーザ検出処理の手順の例を示すフローチャートである。まず、図8のフローチャートを参照して、不正ユーザ検出プログラム202によって実行される違反検出処理の手順の例について説明する。ここでは、OS201が、コンピュータ10にデバイス(リムーバブルデバイス)が取り付けられたことを示すメッセージを通知したことに応答して、違反検出処理が開始されることを想定する。したがって例えば、デバイス取り付け検出部301が、デバイスが取り付けられたことを示すメッセージを検出したことを想定する。
【0062】
まず、デバイス判定部302は、データベース40に格納されたカテゴリ管理データ40Aに、カテゴリを指定した接続の許可又は禁止が設定されているか否かを判定する(ブロックB11)。カテゴリを指定した接続の許可又は禁止が設定されている場合(ブロックB11のYES)、デバイス判定部302は、取り付けられたデバイスが属するカテゴリを検出する(ブロックB12)。デバイス判定部302は、例えば、カテゴリ管理データ40Aとデバイス管理データ40Bとを用いて、取り付けられたデバイスがいずれのカテゴリに属するかを決定する。
【0063】
次いで、デバイス判定部302は、取り付けられたデバイスが属するカテゴリが、接続を許可されていないカテゴリであるか否かを判定する(ブロックB13)。デバイス判定部302は、カテゴリ管理データ40Aにおいて、ブロックB12で検出されたカテゴリに対応するエントリを参照し、当該カテゴリが、接続を許可されていないカテゴリであるか否かを判定する。つまり、デバイス判定部302は、取り付けられたデバイスが許可されていないカテゴリに属するデバイスであるか否かを判定する。
【0064】
取り付けられたデバイスが属するカテゴリが接続を許可されたカテゴリである場合(ブロックB13のNO)、又はカテゴリを指定した接続の許可又は禁止が設定されていない場合(ブロックB11のNO)、デバイス判定部302は、デバイス管理データ40Bに、デバイスを指定した接続の許可又は禁止が設定されているか否かを判定する(ブロックB14)。デバイスを指定した接続の許可又は禁止が設定されている場合(ブロックB14のYES)、デバイス判定部302は、取り付けられたデバイスが、接続を許可されていないデバイスであるか否かを判定する(ブロックB15)。
【0065】
取り付けられたデバイスが接続を許可されたデバイスである場合(ブロックB15のNO)、又はデバイスを指定した接続の許可又は禁止が設定されていない場合(ブロックB14のNO)、デバイス判定部302は、処理を終了する。そして、OS201は、デバイスが取り付けられたことを示すメッセージに応答して、そのデバイスとの接続を確立する。
【0066】
取り付けられたデバイスが属するカテゴリが接続を許可されていないカテゴリである場合(ブロックB13のYES)、又は取り付けられたデバイスが接続を許可されていないデバイスである場合(ブロックB15のYES)、違反管理データ更新部305は、違反管理データ更新処理を実行する(ブロックB16)。違反管理データ更新処理は、データベース40内の違反管理データ40Dを更新する処理である。違反管理データ更新処理の手順の詳細は図10を参照して後述する。そして、要求破棄部307は、OS201によって出力された、デバイスが取り付けられたことを示すメッセージを破棄する(ブロックB17)。このメッセージが破棄されることにより、取り付けられたデバイスとコンピュータ10との間の接続が確立されることを回避することができる。すなわち、要求破棄部307は、デバイスが取り付けられたことを示すメッセージに応答した、当該デバイスとの接続を確立するための処理を、メッセージを破棄することによって妨害する。
【0067】
以上の処理により、不正ユーザ検出プログラム202は、許可されていないデバイス(許可されていないカテゴリに属するデバイス)がコンピュータ10に取り付けられた際には、違反管理データ40Dを更新すると共に、許可されていないデバイスがコンピュータ10に接続されないように制御することができる。
【0068】
また、図9のフローチャートは、不正ユーザ検出プログラム202によって実行される違反検出処理の手順の別の例を示す。ここでは、OS201が、データへのアクセス要求を示すメッセージを出力したことに応答して、違反検出処理が開始されることを想定する。したがって例えば、アクセス要求検出部303が、OSファイルIOレイヤにおけるアクセス要求を検出したことを想定する。
【0069】
まず、アクセス判定部304は、検出されたアクセス要求がリード要求であるか否かを判定する(ブロックB21)。アクセス要求がリード要求である場合(ブロックB21のYES)、アクセス判定部304は、データベース40内のアクセス管理データ40Cを参照して、アクセス要求に指定されたデータ(アクセス領域)のリード(読み取り)が許可されているか否かを判定する(ブロックB22)。
【0070】
アクセス要求がリード要求でない場合(ブロックB21のNO)、アクセス判定部304は、検出されたアクセス要求がライト要求であるか否かを判定する(ブロックB23)。アクセス要求がライト要求である場合(ブロックB23のYES)、アクセス判定部304は、アクセス管理データ40Cを参照して、アクセス要求に指定されたデータ(アクセス領域)へのライト(書き込み)が許可されているか否かを判定する(ブロックB24)。
【0071】
アクセス要求に指定されたデータのリードが許可されていない場合(ブロックB22のNO)、又はアクセス要求に指定されたデータへのライトが許可されていない場合(ブロックB24のNO)、違反管理データ更新部305は、違反管理データ更新処理を実行する(ブロックB25)。違反管理データ更新処理は、データベース40内の違反管理データ40Dを更新する処理である。違反管理データ更新処理の手順の詳細は図10を参照して後述する。そして、要求破棄部307はアクセス要求を破棄し(ブロックB26)、上位層(OSファイルIOレイヤ)にアクセスエラーを通知する(ブロックB27)。つまり、下位層(OSファイルシステムレイヤ)にアクセス要求は伝えられずに、破棄される。
【0072】
アクセス要求がライト要求でない場合(ブロックB23のNO)、アクセス要求に指定されたデータのリードが許可されている場合(ブロックB22のYES)、又はアクセス要求に指定されたデータへのライトが許可されている場合(ブロックB24のYES)、OS201は、アクセス要求に応じた下位層(OSファイルシステムレイヤ)の処理を実行する(ブロックB28)。
【0073】
以上の処理により、不正ユーザ検出プログラム202は、許可されていないデータへのアクセスが要求された際には、違反管理データ40Dを更新すると共に、許可されていないデータへのアクセス(リード、ライト)が実行されないように制御することができる。なお、このデータへのアクセスは、データのリード及びライトに限らず、印刷、名称の変更、属性のリード/ライト、削除、所有権の変更(所有者の書き換え)等であってもよい。その場合、アクセス管理データ40Cでは、異なる種類のアクセス毎に、そのアクセスの許可又は禁止を設定してもよい。不正ユーザ検出プログラム202は、アクセス管理データ40Cに基づいて、さらに多くの種類のアクセス要求を判定し、許可されていない種類のアクセスを検出することができる。
【0074】
次いで、図10のフローチャートは、不正ユーザ検出プログラム202によって実行される違反管理データ更新処理(ブロックB41〜B44)及び使用制限処理(ブロックB45〜B48)の手順の例を示す。図10に示す違反管理データ更新処理は、上述のように、図8のブロックB16及び図9のブロックB25に対応する処理を示す。したがって、図10に示す処理は、デバイス判定部302又はアクセス判定部304によって違反が検出された際に実行される。
【0075】
まず、違反管理データ更新部305は、前回違反が検出された時刻(違反管理データ40Dの最終違反日時)から、今回違反が検出された時刻までの経過時間を算出する(ブロックB41)。違反管理データ更新部305は、例えば、前回接続を許可されていないカテゴリに属するデバイスが取り付けられた時刻から、今回接続を許可されていないカテゴリに属するデバイスが取り付けられた時刻までの経過時間を算出する。また、違反管理データ更新部305は、例えば、前回許可されていないデータへのアクセスが要求された時刻から、今回許可されていないデータへのアクセスが要求された時刻までの経過時間を算出する。さらに、違反管理データ更新部305は、例えば、前回接続を許可されていないカテゴリに属するデバイスが取り付けられた時刻から、今回許可されていないデータへのアクセスが要求された時刻までの経過時間を算出してもよい。
【0076】
次に、違反管理データ更新部305は、算出した経過時間が所定時間以内であるか否かを判定する(ブロックB42)。算出した経過時間が所定時間より大きい場合(ブロックB42のNO)、違反管理データ更新部305は処理を終了する。
【0077】
算出した経過時間が所定時間以内である場合(ブロックB42のYES)、違反管理データ更新部305は、違反管理データ40Dの違反回数に1を加算する(ブロックB43)。そして、違反管理データ更新部305は、今回違反が検出された時刻とブロックB43で加算された違反回数とを保存する(ブロックB44)。違反管理データ更新部305は、今回違反が検出された時刻(日時)を用いて、違反管理データ40Dの最終違反日時を書き換える。また、違反管理データ更新部305は、B43で加算された違反回数を用いて、違反管理データ40Dの違反回数を書き換える。
【0078】
次いで、不正ユーザ検出部308は、違反回数がしきい値を超えたか否かを判定する(ブロックB45)。違反回数がしきい値以下である場合(ブロックB45のNO)、不正ユーザ検出部308は処理を終了する。
【0079】
一方、違反回数がしきい値を超えている場合(ブロックB45のYES)、不正ユーザ検出部308は、コンピュータ10を使用しているユーザを悪意のあるユーザ(不正ユーザ)であると判断する(ブロックB46)。そして、ブロックB47からB49までの使用制限処理の手順では、悪意のあるユーザに対して、コンピュータ10の使用を制限するための処理が実行される。
【0080】
まず、ネットワーク切断部310は、コンピュータ10とネットワークとの間の接続を切断する(ブロックB47)。ネットワーク切断部310は、例えば、ネットワークデバイス(LANコントローラ108、無線LANコントローラ112等)に電源をオフにする要求を出力すること、コンピュータ10のマザーボード上の設定を変更してネットワークデバイスが接続されているバスを切り離すこと、及びネットワークデバイス用のドライバをアンロードすることのうちの少なくともいずれかを行って、コンピュータ10とネットワークとの間の接続を切断する。
【0081】
パスワード制御部309は、コンピュータ10がパワーオンされた際に用いられるパスワード(BIOS認証用のパスワード)107Cを変更する(ブロックB48)。パスワード制御部309は、例えば、BIOSが備えるインタフェースを介して、悪意のあるユーザが使用しているパスワードを別のパスワードに変更する。
【0082】
また、ユーザ画像撮像部311は、カメラモジュール115を用いて、悪意のあるユーザの画像を撮影する(ブロックB49)。ユーザ画像撮像部311は、撮影したユーザ画像41をHDD109内に格納する。
【0083】
以上の処理により、接続を許可されていないカテゴリに属するデバイスの取り付けや許可されていないデータへのアクセス要求等の違反行為が検出されたとき、違反行為を行ったユーザが悪意のあるユーザであるか否かを判定することができる。そして、ユーザが悪意のあるユーザであると判定された場合には、コンピュータ10の使用を制限するための処理を実行することにより、情報漏洩等の被害を防止することができる。
【0084】
また、図11は、不正ユーザ検出プログラム202によって実行される、タイマ306に基づく違反管理データ更新処理の手順の例を示すフローチャートである。このタイマ306に基づく違反管理データ更新処理は、例えば、タイマ306に示される時間に基づいて所定時間毎に(例えば、1時間毎に)実行される。
【0085】
まず、違反管理データ更新部305は、違反管理データ40Dの違反回数が0であるか否かを判定する(ブロックB31)。違反回数が0である場合(ブロックB31のYES)、BIOS通信部312は監視プログラム107Aへの通知を行う(ブロックB36)。BIOS通信部312による通知を受信した際の監視プログラム107Aによる処理は、図12を参照して後述する。
【0086】
違反回数が0でない場合(ブロックB31のNO)、違反管理データ更新部305は、前回違反が検出された時刻(違反管理データ40Dの最終違反日時)から、現在の時刻までの経過時間を算出する(ブロックB32)。そして、違反管理データ更新部305は、算出した経過時間が所定時間より長いか否かを判定する(ブロックB33)。算出した経過時間が所定時間以内である場合(ブロックB33のNO)、BIOS通信部312は監視プログラム107Aへの通知を行う(ブロックB36)。
【0087】
算出した経過時間が所定時間よりも長い場合(ブロックB33のYES)、違反管理データ更新部305は、違反管理データ40Dの違反回数から1を減算する(ブロックB34)。なお、違反管理データ更新部305は、算出した経過時間が所定時間よりも長い場合、違反回数に0を設定してもよい。
【0088】
違反管理データ更新部305は、ブロックB34で減算した違反回数を保存する(ブロックB35)。具体的には、違反管理データ更新部305は、ブロックB34で減算した違反回数を用いて、違反管理データ40Dの違反回数を書き換える。そして、BIOS通信部312は監視プログラム107Aへの通知を行う(ブロックB36)。
【0089】
以上の処理により、違反管理データ更新部305は、前回違反が検出された時刻から所定時間が経過したとき、違反管理データ40Dの違反回数を減らす(又は0にする)更新を行う。この更新により、悪意のないユーザが誤って行った操作が違反として検出された際にも、その操作から所定の期間だけ違反行為が行われなければ、このユーザが悪意のあるユーザとして検出されないように違反回数を制御することができる。
【0090】
図12は、監視プログラム107Aによって実行される通知時刻更新処理の手順の例を示すフローチャートである。この通知時刻更新処理は、不正ユーザ検出プログラム202に設けられたBIOS通信部312による通知(図11のブロックB36)に応答して実行される。
【0091】
まず、監視プログラム107Aは、不正ユーザ検出プログラム202(BIOS通信部312)からの通知を受信する(ブロックB51)。そして、監視プログラム107Aは、この通知を受信した時刻を保存する(ブロックB52)。監視プログラム107Aは、この通知を受信した時刻を示す情報を、不揮発メモリ107内に通知時刻データ107Bとして格納する。
【0092】
また、図13のフローチャートを参照して、監視プログラム107Aによって実行される使用制限処理の手順の例について説明する。この使用制限処理は、図12のブロックB52で保存された通知時刻データ107Bに基づいて実行される。
【0093】
まず、監視プログラム107Aは、前回の通知時刻(通知時刻データ107B)から現在の時刻までの経過時間を算出する(ブロックB61)。次に、監視プログラム107Aは、算出した経過時間がしきい値時間よりも長いか否かを判定する(ブロックB62)。算出した経過時間がしきい値時間以内である場合(ブロックB62のNO)、監視プログラム107Aは処理を終了する。
【0094】
算出した経過時間がしきい値時間よりも長い場合(ブロックB62のYES)、監視プログラム107Aは、不正ユーザ検出プログラム202が正常に動作していないと判断する(ブロックB63)。つまり、監視プログラム107Aは、しきい値時間より長く、不正ユーザ検出プログラム202からの通知が受信されなかったとき、不正ユーザ検出プログラム202が正常に動作していないと判断する。
【0095】
そして、監視プログラム107Aは、BIOSパスワード107Cを変更する処理を実行する(ブロックB64)。また、監視プログラム107Aは、コンピュータ10をシャットダウンする処理を実行する(ブロックB65)。
【0096】
以上の処理により、不正ユーザ検出プログラム202が正常に動作していないと推定されるとき、監視プログラム107Aが、コンピュータ10の使用を制限するための処理を実行することにより、情報漏洩等の被害を防止することができる。なお、監視プログラム107Aは、ブロックB65でコンピュータ10をシャットダウンする前に、OS201にコンピュータ10がシャットダウンされることを通知し、OS201に必要な処理を実行させてもよい。
【0097】
以上説明したように、本実施形態によれば、故意に不正な操作を行ったユーザによる使用を制限できる。不正ユーザ検出プログラム202は、接続を許可されていないカテゴリに属するデバイスの取り付けや許可されていないデータへのアクセス要求等の違反行為が検出されたとき、違反行為を行ったユーザが悪意のあるユーザであるか否かを判定することができる。そして、ユーザが悪意のあるユーザであると判定された場合には、コンピュータ10の使用を制限するための処理を実行する。また、監視プログラム107Aは、不正ユーザ検出プログラム202が正常に動作しているか否かを定期的に判定する。そして、不正ユーザ検出プログラム202が正常に動作していない場合、コンピュータ10の使用を制限するための処理を実行する。上述のように、悪意のあるユーザに対してコンピュータ10の使用を制限する処理が実行されることにより、情報漏洩等の被害を防止することができる。
【0098】
なお、本実施形態の不正ユーザ検出処理の手順は全てソフトウェアによって実行することができる。このため、不正ユーザ検出処理の手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【0099】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0100】
107…不揮発メモリ(BIOS−ROM)、107A…監視プログラム、107B…通知時刻データ、107C…パスワード、107D…暗号化鍵、107E…復号鍵、109…HDD、202…不正ユーザ検出プログラム、301…デバイス取り付け検出部、302…デバイス判定部、303…アクセス要求検出部、304…アクセス判定部、305…違反管理データ更新部、306…タイマ、307…要求破棄部、308…不正ユーザ検出部、309…パスワード制御部、310…ネットワーク切断部、311…ユーザ画像撮像部、312…BIOS通信部、40…データベース、40A…カテゴリ管理データ、40B…デバイス管理データ、40C…アクセス管理データ、40D…違反管理データ、41…ユーザ画像。
【技術分野】
【0001】
本発明の実施形態は、情報漏洩を防止する情報処理装置及び該機器に適用される情報漏洩防止方法に関する。
【背景技術】
【0002】
近年、コンピュータからデータが持ち出される等のいわゆる情報漏洩を防ぐための方法が提案されている。このような方法では、例えば、ユーザは正しいパスワードを入力することによって、コンピュータの使用を開始することができる。また、例えば、コンピュータ内に格納されたファイルに対してアクセス権限が設定され、ユーザは権限を有するファイルにのみアクセスすることができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−243957号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
正しいパスワードが入力されたことに応答してコンピュータの使用が可能になる方法では、例えば、誤ったパスワードが入力された回数がしきい値を超えたとき、当該コンピュータの使用が不能になるように制御される。そのため、パスワードを用いた認証では、使用を許可されていない(パスワードを知らない)ユーザはコンピュータを使用できない可能性が高い。
【0005】
しかし、コンピュータの使用を許可されたユーザであっても、権限のないファイル等へのアクセスを試みる悪意のあるユーザが存在する可能性がある。ファイルにアクセス権限を設定する方法では、ユーザが権限のないファイルに誤ってアクセスしようとすることがあっても、コンピュータがその要求を拒絶するため、ユーザが権限のないファイルにアクセスすることはない。しかし、悪意のあるユーザは、そのようなファイルに対して不正にアクセスすることを試みる可能性がある。悪意のあるユーザは、例えば、様々な操作を試行して、権限のないファイルにアクセスしようとすることが想定される。しかしながら、誤って不正な操作を行ったユーザと故意に不正な操作を行ったユーザ(悪意のあるユーザ)とを識別して、故意に不正な操作を行ったユーザに対して、コンピュータの使用を制限することは困難である。
【0006】
本発明は、故意に不正な操作を行ったユーザによる使用を制限できる情報処理装置、情報漏洩防止方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
実施形態によれば、情報処理装置は、第1検出手段、第1判定手段、カウント手段、及び制御手段を具備する。第1検出手段は前記情報処理装置にデバイスが取り付けられたことを検出する。第1判定手段は前記取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定する。カウント手段は、前記第1判定手段による判定結果に基づいて、所定期間内に接続を許可されていないカテゴリに属するデバイスが取り付けられた回数をカウントする。制御手段は、前記回数がしきい値を超えたとき、前記情報処理装置の使用を制限するための処理を実行する。
【図面の簡単な説明】
【0008】
【図1】一実施形態に係る情報処理装置の外観を示す斜視図。
【図2】同実施形態の情報処理装置の構成を示すブロック図。
【図3】同実施形態の情報処理装置によって実行される不正ユーザ検出プログラムの構成を示すブロック図。
【図4】同実施形態の情報処理装置によって実行される不正ユーザ検出プログラムが用いるカテゴリ管理データの例を示す図。
【図5】同実施形態の情報処理装置によって実行される不正ユーザ検出プログラムが用いるデバイス管理データの例を示す図。
【図6】同実施形態の情報処理装置によって実行される不正ユーザ検出プログラムが用いるアクセス管理データの例を示す図。
【図7】同実施形態の情報処理装置によって実行される不正ユーザ検出プログラムが用いる違反管理データの例を示す図。
【図8】同実施形態の情報処理装置によって実行される違反検出処理の手順の例を示すフローチャート。
【図9】同実施形態の情報処理装置によって実行される違反検出処理の別の手順の例を示すフローチャート。
【図10】同実施形態の情報処理装置によって実行される違反管理データ更新処理及び使用制限処理の手順の例を示すフローチャート。
【図11】同実施形態の情報処理装置によって実行されるタイマに基づく違反管理データ更新処理の手順の例を示すフローチャート。
【図12】同実施形態の情報処理装置によって実行される通知時刻更新処理の手順の例を示すフローチャート。
【図13】同実施形態の情報処理装置によって実行される使用制限処理の手順の別の例を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、実施の形態について図面を参照して説明する。
【0010】
図1は、実施形態に係る情報処理装置の外観を示す斜視図である。この情報処理装置は、例えばノートブックタイプのパーソナルコンピュータ10として実現されている。
【0011】
図1に示すように、本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成されている。ディスプレイユニット12には、LCD(liquid crystal display)17を備えた表示装置が組み込まれている。ディスプレイユニット12は、コンピュータ本体11の上面が露出される開放位置とコンピュータ本体11の上面を覆う閉塞位置との間を回動自在にコンピュータ本体11に取り付けられている。ディスプレイユニット12はさらに、LCD17の上部にカメラモジュール115を備える。カメラモジュール115は、ディスプレイユニット12が開放位置にあるときに、コンピュータ10を使用するユーザ等を撮影するために用いられる。
【0012】
コンピュータ本体11は、薄い箱形の筐体を有しており、その上面には、キーボード13、本コンピュータ10を電源オン/電源オフするためのパワーボタン14、入力操作パネル15、タッチパッド16、スピーカ18A,18Bなどが配置されている。入力操作パネル15上には、各種操作ボタンが設けられている。
【0013】
また、コンピュータ本体11の右側側面には、例えばUSB(universal serial bus)2.0規格のUSBケーブルやUSBデバイスを接続するためのUSBコネクタ19が設けられている。さらに、コンピュータ本体11の背面には、例えばHDMI(high-definition multimedia interface)規格に対応した外部ディスプレイ接続端子(図示せず)が設けられている。この外部ディスプレイ接続端子は、デジタル映像信号を外部ディスプレイに出力するために用いられる。
【0014】
図2は、本コンピュータ10のシステム構成を示す図である。
【0015】
本コンピュータ10は、図2に示されるように、CPU(central processing unit)101、ノースブリッジ102、主メモリ103、サウスブリッジ104、GPU(Graphics Processing Unit)105、VRAM(ビデオRAM:random access memory)105A、サウンドコントローラ106、BIOS−ROM(basic input/output system-read only memory)107、LAN(local area network)コントローラ108、HDD109、光ディスクドライブ(ODD)110、USBコントローラ111、無線LANコントローラ112、エンベデッドコントローラ/キーボードコントローラ(EC/KBC)113、EEPROM(electrically erasable programmable ROM)114、カメラモジュール115、カードコントローラ116等を備える。
【0016】
CPU101は、本コンピュータ10の動作を制御するプロセッサであり、HDD109から主メモリ103にロードされる、オペレーティングシステム(OS)201や、不正ユーザ検出プログラム202のような各種アプリケーションプログラムを実行する。不正ユーザ検出プログラム202は、例えば、悪意のあるユーザによって、接続が許可されていないデバイス、例えば、リムーバブルストレージデバイス(外付けHDD、USBメモリ、メモリカード等)、または他の各種リムーバブルデバイス、が取り付けられたときや、権限のないファイルへのアクセス(リード、ライト等)が要求されたときにコンピュータ10の使用を制限する機能を有するプログラムである。
【0017】
また、CPU101は、BIOS−ROM(不揮発メモリ)107に格納されたBIOS(Basic Input/Output System)も実行する。BIOSは、ハードウェア制御のためのプログラムである。CPU101は、コンピュータ10がパワーオンされたとき、OS201を起動する前にBIOSを実行する。その際、BIOSは、BIOS−ROM107に格納されたBIOSパスワード(パワーオンパスワード)107Cを用いた認証を行うことができる。BIOSは、ユーザによってタイプ入力されたパスワードとBIOSパスワード(パワーオンパスワード)107Cとを比較する。タイプ入力されたパスワードとBIOSパスワード(パワーオンパスワード)107Cとが一致したとき、つまり、ユーザによって正しいパスワードが入力されたとき、BIOSは、OS201の起動(ブート)を開始する。換言すると、誤ったBIOSパスワードが入力された際には、BIOSはOS201を実行しない。
【0018】
また、BIOS−ROM107には、監視プログラム107A、通知時刻データ107B、暗号化鍵107D及び復号鍵107Eが格納されている。監視プログラム107Aは、不正ユーザ検出プログラム202の動作を監視する機能を有する。具体的には、監視プログラム107Aは、不正ユーザ検出プログラム202による通知を受信する。この通知が一定時間以上途絶えたとき、監視プログラム107Aは、不正ユーザ検出プログラム202が正常に動作していないものと判定し、コンピュータ10の使用を制限する処理、例えば、コンピュータ10をシャットダウンする処理等を実行する。
【0019】
不正ユーザ検出プログラム202は、例えば、管理者(アドミニストレータ)権限を有するユーザのみがインストール、設定変更、実行の制御等を行うことができる。そのため、管理者権限を持たないエンドユーザは、不正ユーザ検出プログラム202の実行を停止したり、その設定を変更したりすることができない。しかし、悪意のあるユーザは、何らかの手段によって不正ユーザ検出プログラム202の実行を停止することを試みる可能性がある。監視プログラム107Aは、上述のように、不正ユーザ検出プログラム202が正常に動作しているか否かを監視し、正常に動作していないときにはコンピュータ10の使用を制限する処理を実行する。これにより、悪意のあるユーザへの対策を二重に施すことができる。
【0020】
ノースブリッジ102は、CPU101のローカルバスとサウスブリッジ104との間を接続するブリッジデバイスである。ノースブリッジ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ102は、PCI EXPRESS規格のシリアルバスなどを介してGPU105との通信を実行する機能も有している。
【0021】
GPU105は、本コンピュータ10のディスプレイモニタとして使用されるLCD17を制御する表示コントローラである。このGPU105によって生成される表示信号はLCD17に送られる。また、GPU105は、HDMI制御回路およびHDMI端子を介して、外部ディスプレイ装置にデジタル映像信号を送出することもできる。
【0022】
HDMI端子は、前述の外部ディスプレイ接続端子である。HDMI端子は、非圧縮のデジタル映像信号とデジタルオーディオ信号とを1本のケーブルでテレビのような外部ディスプレイ装置に送出することができる。HDMI制御回路は、HDMIモニタと称される外部ディスプレイ装置にデジタル映像信号をHDMI端子を介して送出するためのインタフェースである。
【0023】
サウスブリッジ104は、PCI(Peripheral Component Interconnect)バス上の各デバイスおよびLPC(Low Pin Count)バス上の各デバイスを制御する。また、サウスブリッジ104は、HDD109およびODD110を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。さらに、サウスブリッジ104は、サウンドコントローラ106との通信を実行する機能も有している。
【0024】
サウンドコントローラ106は音源デバイスであり、再生対象のオーディオデータをスピーカ18A,18BまたはHDMI制御回路に出力する。
【0025】
LANコントローラ108は、例えばIEEE 802.3規格の有線通信を実行する有線通信デバイスであり、一方、無線LANコントローラ112は、例えばIEEE 802.11g規格の無線通信を実行する無線通信デバイスである。
【0026】
また、USBコントローラ111は、(USBコネクタ19を介して接続される)例えばUSB 2.0規格に対応した外部機器(リムーバブルデバイス)との通信を実行する。USBコントローラ111は、例えば、接続されたデジタルカメラ内に格納されたデジタル画像を取り込んでHDD109に格納する際の通信等を制御する。また、USBコントローラ111は、例えば、接続されたプリンタに文書データを出力して、その文書データを印刷する際の通信等を制御する。
【0027】
さらに、USBコントローラ111は、接続されたリムーバブルストレージデバイスに対するデータの書き込みまたは読み出しを行うためにそのリムーバブルストレージデバイスとの通信を行う。例えば、USBコントローラ111は、接続された補助記憶装置(例えば、外付けHDD)や半導体記憶メディア(例えば、フラッシュメモリ)等に対するデータの書き込みまたは読み出しを行う。
【0028】
カメラモジュール115は、内蔵するカメラを用いた撮像処理を実行する。カメラモジュール115は、例えば、内蔵するカメラにより撮像された画像を用いて画像データを生成し、当該画像データを主メモリ103やHDD109に格納する際の通信等を実行する。また、カメラモジュール115は、不正ユーザ検出プログラム202等の各種のアプリケーションプログラムに画像データを供給する。
【0029】
カードコントローラ116は、カードスロット20に挿入された記録メディア20A(リムーバブルメディア)との通信を実行する。例えば、カードコントローラ116は、記録メディア20Aであるメモリカード(例えばSDカード)に対するデータの書き込みまたは読み出しを行う。
【0030】
EC/KBC113は、電力管理のためのエンベデッドコントローラと、キーボード13およびタッチパッド16を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC113は、ユーザによるパワーボタン14の操作に応じて本コンピュータ10を電源オン/電源オフする機能を有している。
【0031】
図3は、コンピュータ10によって実行される不正ユーザ検出プログラム202の構成を示す。不正ユーザ検出プログラム202は、許可されていないカテゴリに属するデバイスの接続や、許可されていないデータへのアクセスを検出し、悪意のあるユーザによるコンピュータ10の使用を制限する。不正ユーザ検出プログラム202は、デバイス取り付け検出部301、デバイス判定部302、アクセス要求検出部303、アクセス判定部304、違反管理データ更新部305、タイマ306、要求破棄部307、不正ユーザ検出部308、パスワード制御部309、ネットワーク切断部310、ユーザ画像撮像部311、及びBIOS通信部312を備える。
【0032】
デバイス取り付け検出部301は、コンピュータ10にデバイス(リムーバブルストレージデバイス、他の各種リムーバブルデバイス)が取り付けられたことを検出する。デバイス取り付け検出部301は、例えば、USBコネクタ19、カードスロット20等を介して、デバイスが取り付けられたことを検出する。具体的には、デバイス取り付け検出部301は、例えば、OS201が出力するメッセージ(イベント)を常時監視する。デバイス取り付け検出部301は、OS201によって出力されたメッセージが検出されたとき、当該メッセージをフックする。メッセージは、例えば、発生したイベントの種類や当該イベントの内容を示す情報等を含む。例えば、OS201は、デバイスが取り付けられたとき、デバイスが取り付けられことを示す情報(イベントの種類を示す情報)と、デバイスが取り付けられた場所(USBコネクタ19、カードスロット20等)及びデバイスの種類(補助記憶装置、プリンタ等)を示す情報(イベントの内容を示す情報)とを含むメッセージを出力する。
【0033】
デバイス取り付け検出部301は、フックしたメッセージが、デバイスが取り付けられたことを示すとき、デバイスが取り付けられたものと判定する。デバイスが取り付けられたことを検出したとき、デバイス取り付け検出部301は、フックしたメッセージをデバイス判定部302に出力する。
【0034】
デバイス判定部302は、デバイス取り付け検出部301によってフックされたメッセージに基づき、取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定する。デバイス判定部302は、HDD109内のデータベース40に格納されたカテゴリ管理データ40Aを参照して、取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定する。
【0035】
図4はカテゴリ管理データ40Aの一構成例を示す。カテゴリ管理データ40Aは、複数のカテゴリにそれぞれ対応する複数のエントリを含む。各エントリは、例えば、カテゴリID、カテゴリ名、及び接続の許可又は禁止を示す情報を含む。あるカテゴリに対応するエントリにおいて、カテゴリIDは、そのカテゴリに固有の識別情報を示す。カテゴリ名は、そのカテゴリの名称を示す。接続の許可又は禁止を示す情報は、コンピュータ10にそのカテゴリに属するデバイスを接続することが許可されているか禁止されているかを示す。図4に示す例では、カテゴリID“000”のカテゴリである“光ディスクドライブ”に属するデバイス(例えば、DVD−ROMドライブ)は、コンピュータ10への接続が“許可”されている。また、カテゴリID“001”のカテゴリである“外付け補助記憶装置”に属するデバイス(例えば、外付けHDD)は、コンピュータ10への接続が“禁止”されている(すなわち、コンピュータ10への接続が許可されていない)。
【0036】
デバイス判定部302は、さらに、デバイス管理データ40Bを参照して、取り付けられたデバイスが接続を許可されていないデバイスであるか否かを判定してもよい。デバイス判定部302は、デバイス管理データ40Bを用いることによって、デバイスの各々について、コンピュータ10への接続の許可又は禁止を設定することができる。したがって例えば、あるカテゴリに対応するエントリ(カテゴリ管理データ40A)が、そのカテゴリに属するデバイスの接続を許可することを示しているときに、デバイス管理データ40Bでは、そのカテゴリに属する一つのデバイスの接続を禁止するように設定できる。その場合、デバイス判定部302は、取り付けられたデバイスを、接続を許可されていないデバイスと判定する。
【0037】
図5はデバイス管理データ40Bの一構成例を示す。デバイス管理データ40Bは、複数のデバイスにそれぞれ対応する複数のエントリを含む。各エントリは、例えば、デバイスID、カテゴリID、デバイス名、及び接続の許可又は禁止を示す情報を含む。あるデバイスに対応するエントリにおいて、デバイスIDは、そのデバイスに固有の識別情報を示す。カテゴリIDは、そのデバイスが属するカテゴリに固有の識別情報を示す。デバイス名は、そのデバイスの名称を示す。接続の許可又は禁止を示す情報は、コンピュータ10にそのデバイスを接続することが許可されているか禁止されているかを示す。図5に示す例では、デバイスID“1000”のデバイスである“CD−ROMドライブ”は、コンピュータ10への接続が“許可”されている。また、カテゴリID“1001”のデバイスである“DVD−ROMドライブ”は、コンピュータ10への接続が“禁止”されている(すなわち、コンピュータ10への接続が許可されていない)。
【0038】
デバイス判定部302は、取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを示す判定結果、又は取り付けられたデバイスが接続を許可されていないデバイスであるか否かを示す判定結果を違反管理データ更新部305に出力する。
【0039】
また、アクセス要求検出部303は、データへのアクセス要求を検出する。アクセス要求検出部303は、例えば、HDD109内に格納されたファイルのリード要求を検出する。アクセス要求検出部303は、例えば、HDD109へのファイルのライト要求を検出する。また、アクセス要求検出部303は、例えば、ネットワークを介して接続されたファイルサーバ内に格納されたファイルのリード要求を検出する。
【0040】
具体的には、アクセス要求検出部303は、例えば、OS201が出力するメッセージ(イベント)や、他のアプリケーションプログラムが出力するメッセージ(ファイルアクセス要求)を常時監視する。アクセス要求検出部303は、OS201やアプリケーションプログラム等によって出力されたメッセージが検出されたとき、当該メッセージをフックする。メッセージは、発生したイベントの種類や当該イベントの内容を示す情報等を含む。例えば、OS201は、データへのアクセスが要求されたとき、データへのアクセスが要求されたことを示す情報(イベントの種類を示す情報)と、アクセスが要求されたデータが格納された場所(ドライブ名、ディレクトリ名、ファイル名(ファイルパス)等)やアクセスの種類(リード、ライト、印刷、名称の変更等)を示す情報(イベントの内容を示す情報)とを含むメッセージを出力する。
【0041】
アクセス要求検出部303は、フックしたメッセージが、データへのアクセス要求を示すとき、データへのアクセス要求が発生したものと判定する。データへのアクセス要求を検出したとき、アクセス要求検出部303は、フックしたメッセージをアクセス判定部304に出力する。
【0042】
アクセス判定部304は、アクセス要求検出部303によってフックされたメッセージに基づき、アクセス要求が、許可されていないデータへのアクセス要求であるか否かを判定する。アクセス判定部304は、HDD109内のデータベースに格納されたアクセス管理データ40Cを参照して、アクセス要求が、許可されていないデータへのアクセス要求であるか否かを判定する。
【0043】
図6はアクセス管理データ40Cの一構成例を示す。アクセス管理データ40Cは、複数のアクセス領域(データ領域)にそれぞれ対応する複数のエントリを含む。各エントリは、例えば、領域ID、アクセス領域、リード権限、ライト権限、印刷権限、及び許可プリンタを示す情報を含む。あるアクセス領域に対応するエントリにおいて、領域IDは、そのアクセス領域に固有の識別情報を示す。アクセス領域は、そのアクセス領域に対応する場所(例えば、ドライブ名、ディレクトリ名、ファイル名)を示す。リード権限は、そのアクセス領域に対するリードが許可されているか否かを示す。ライト権限は、そのアクセス領域に対するライトが許可されているか否かを示す。印刷権限は、そのアクセス領域に格納されたデータ(例えば、文書データや画像データ)を印刷することが許可されているか否かを示す。また、許可プリンタは、印刷権限が、そのアクセス領域に格納されたデータの印刷を許可していることを示すときに印刷可能なプリンタを示す。図6に示す例では、領域ID“2000”のアクセス領域である“ドライブ1”で示される場所に格納されたデータに対して、リード及びライトが許可され、印刷が禁止されている。また、領域ID“2002”のアクセス領域である“ファイル1”に対応するファイルでは、リード及び“プリンタA”を用いた印刷が許可され、ライトが禁止されている。
【0044】
アクセス判定部304は、アクセス要求の対象のデータが、該アクセス要求に指定された種類のアクセス(リード、ライト等)を許可されたデータであるか否かを判定する。図6に示す例では、アクセス要求が“ファイル1”に対するリードを要求するとき、アクセス判定部304は、該アクセス要求が許可されたアクセス要求であると判定する。また、アクセス要求が“ファイル1”に対するライトを要求するとき、アクセス判定部304は、該アクセス要求が許可されていないアクセス要求であると判定する。アクセス判定部304は、アクセス要求がアクセスを許可されたデータへのアクセス要求であるか否かを示す判定結果を違反管理データ更新部305に出力する。
【0045】
上述のカテゴリ管理データ40A、デバイス管理データ40B及びアクセス管理データ40Cを用いることによって、例えば、企業内で、業務で作成したデータを他者に渡す際に、フロッピー(登録商標)ディスクやUSBメモリ等のリムーバブルストレージデバイスでの受け渡しが許可されておらず、ファイルサーバ内の特定の領域(ディレクトリ)での受け渡しが許可されていることを規定することができる。カテゴリ管理データ40A、デバイス管理データ40B及びアクセス管理データ40Cは、例えば、コンピュータ10上で、管理者権限を有するユーザによって設定される。また、カテゴリ管理データ40A、デバイス管理データ40B及びアクセス管理データ40Cは、ネットワーク上のホスト(サーバ)からクライアントであるコンピュータ10に配布され、設定されてもよい。なお、カテゴリ管理データ40A、デバイス管理データ40B及びアクセス管理データ40Cは、不揮発メモリ(BIOS−ROM)107に格納された暗号化鍵107Dを用いて、暗号化してHDD109等に格納されてもよい。その場合、デバイス判定部302及びアクセス判定部304は、不揮発メモリ107に格納された復号鍵107Eを用いて、カテゴリ管理データ40A、デバイス管理データ40B及びアクセス管理データ40Cを復号して、判定に使用する。
【0046】
違反管理データ更新部305は、HDD109内のデータベース40に格納された違反管理データ40Dを更新する。
図7は違反管理データ40Dの一構成例を示す。違反管理データ40Dは、例えば、最終違反日時と違反回数とを含む。最終違反日時は、最後に許可されていないカテゴリに属するデバイス(許可されていないデバイス)が取り付けられた日時又は最後に許可されていないデータへのアクセスが要求された日時を示す。違反回数は、所定期間内に、許可されていないカテゴリに属するデバイスが取り付けられた回数と許可されていないデータへのアクセスが要求された回数との和を示す。なお、違反回数として、許可されていないカテゴリに属するデバイスが取り付けられた回数に加えて、許可されていないデータへのアクセスが要求された回数が記録されてもよい。
【0047】
違反管理データ更新部305は、デバイス判定部302による判定結果が、許可されていないカテゴリに属するデバイスが取り付けられたことを示すとき、違反管理データ40Dを更新する。具体的には、違反管理データ更新部305は、まず、違反管理データ40Dの最終違反日時に示される日時(前回許可されていないカテゴリに属するデバイスが取り付けられた時刻)から、今回許可されていないカテゴリに属するデバイスが取り付けられた日時(現在時刻)までの経過時間を算出する。そして、算出した経過時間が所定期間(例えば、1時間から24時間)以内であるとき、違反管理データ更新部305は、違反管理データ40Dの最終違反日時を、今回許可されていないカテゴリに属するデバイスが取り付けられた日時に書き換え、違反管理データ40Dの違反回数を、現在の違反回数に1だけ加えた値に書き換える(カウントアップ)。
【0048】
また、違反管理データ更新部305は、アクセス判定部304による判定結果が許可されていないデータへのアクセス要求であることを示すとき、違反管理データ40Dを更新する。具体的には、違反管理データ更新部305は、違反管理データ40Dの最終違反日時に示される日時(前回許可されていないデータへのアクセスが要求された時刻)から、今回許可されていないデータへのアクセスが要求された日時(現在時刻)までの経過時間を算出する。そして、算出した経過時間が所定期間(例えば、1時間から24時間)以内であるとき、違反管理データ更新部305は、違反管理データ40Dの最終違反日時を、今回許可されていないデータへのアクセスが要求された日時に書き換え、違反管理データ40Dの違反回数を、現在の違反回数に1だけ加えた値に書き換える。
【0049】
さらに、違反管理データ更新部305は、タイマ306を用いて違反管理データ40Dを更新してもよい。具体的には、違反管理データ更新部305は、最終違反日時に示される日時(最後に許可されていないカテゴリに属するデバイスが取り付けられた時刻、又は最後に許可されて以内データへのアクセスが要求された時刻)から現在の時刻までの経過時間を算出する。そして、算出した経過時間が所定期間(例えば、1時間から24時間)より長いとき、違反管理データ更新部305は、違反回数を0にリセットする(違反管理データ40Dの違反回数を0に書き換える)。また、違反管理データ更新部305は、例えば、最終違反日時に示される日時から所定期間が経過する毎に、(違反回数が0になるまで)違反回数を1ずつ減らしてもよい(違反管理データ40Dの違反回数を、現在の違反回数から1ずつ減らした値に書き換えてもよい)。
なお、違反管理データ更新部305は、不揮発メモリ107に格納された暗号化鍵107D及び復号鍵107Eを用いて、違反管理データ40Dを暗号化及び復号して用いてもよい。
【0050】
要求破棄部307は、デバイス判定部302による判定結果が許可されていないカテゴリに属するデバイスが取り付けられたことを示すとき、メッセージ(デバイスを接続するための要求)を破棄する。すなわち、要求破棄部307は、許可されていないカテゴリに属するデバイスが取り付けられたとき、当該デバイスをコンピュータ10に接続しない。要求破棄部307は、メッセージを破棄したとき、OS201に対して、デバイスを接続するための処理にエラーが発生したことを通知する。具体的には、要求破棄部307は、例えば、対象のデバイス(カテゴリ)の接続が禁止されていること等を示すエラーをOS201に出力する。
【0051】
また、要求破棄部307は、アクセス判定部304による判定結果が許可されていないデータへのアクセス要求であることを示すとき、メッセージ(アクセス要求)を破棄する。すなわち、要求破棄部307は、許可されていないデータへのアクセス要求に対応する処理をOS201に実行させない。要求破棄部307は、メッセージを破棄したとき、OS201に対して、データにアクセスするための処理にエラーが発生したことを通知する。具体的には、要求破棄部307は、例えば、対象のデータへのアクセス権がないこと、書き込みが禁止されていること等を示すエラーをOS201に出力する。
【0052】
不正ユーザ検出部308は、違反管理データ40Dに基づいて、悪意のあるユーザ(不正ユーザ)を検出する。不正ユーザ検出部308は、違反管理データ40Dの違反回数がしきい値(例えば、5回)を超えたとき、現在のユーザが悪意のあるユーザであると判断する。つまり、不正ユーザ検出部308は、例えば、許可されていないカテゴリに属するデバイスが取り付けられた回数と許可されていないデータへのアクセスが要求された回数との合計がしきい値を超えたとき、現在のユーザが悪意のあるユーザであると判断する。また、不正ユーザ検出部308は、例えば、許可されていないカテゴリに属するデバイスが取り付けられた回数が第1のしきい値を超えたとき、及び許可されていないデータへのアクセスが要求された回数が第2のしきい値を超えたときのいずれかに該当するときに、現在のユーザが悪意のあるユーザであると判断してもよい。
【0053】
現在のユーザが悪意のあるユーザであると判定されたとき、不正ユーザ検出部308は、パスワード制御部309、ネットワーク切断部310及びユーザ画像撮像部311に、現在のユーザが悪意のあるユーザであることを通知する。この通知を受信したパスワード制御部309、ネットワーク切断部310及びユーザ画像撮像部311は、コンピュータ10の使用を制限するための処理をそれぞれ実行する。
【0054】
パスワード制御部309は、不正ユーザ検出部308による通知に応答して(ユーザが悪意のあるユーザであると判定されたとき)、不揮発メモリ(BIOS−ROM)107に格納されたパスワード(BIOSパスワード)107Cを書き換える。具体的には、パスワード制御部309は、悪意のあるユーザによって使用されているパスワードを別のパスワードに書き換える。書き換えに用いられるパスワードは、例えば、不揮発メモリ107内のエンドユーザにはアクセスが許可されていない(見えない)領域に予め格納されている。なお、パスワード書き換えるための処理は、BIOSが備えるプログラム(インタフェース)を用いてもよい。これにより、悪意のあるユーザは、現在のパスワードを用いて、コンピュータ10を起動することができなくなる。
【0055】
ネットワーク切断部310は、不正ユーザ検出部308による通知に応答して、コンピュータ10とネットワークとの間の接続を切断する。ネットワーク切断部310は、例えば、ネットワークデバイス(LANコントローラ108、無線LANコントローラ112等)に電源をオフにする要求を出力すること、コンピュータ10のマザーボード上の設定を変更してネットワークデバイスが接続されているバスを切り離すこと、及びネットワークデバイス用のドライバをアンロードすることのうちの少なくともいずれかを行って、コンピュータ10とネットワークとの間の接続を切断する。
【0056】
ユーザ画像撮像部311は、不正ユーザ検出部308による通知に応答して、カメラモジュール115を用いて悪意のあるユーザの画像を撮影する。ユーザ画像撮像部311は、撮影したユーザ画像41をHDD109内に格納する。コンピュータ10を管理する管理者は、格納されたユーザ画像41によって悪意のあるユーザを確認することができる。また、悪意のあるユーザを撮影する機能を有することにより、違反行為を抑止する効果が得られる。
【0057】
BIOS通信部312は、タイマ306を用いて、一定時間毎に監視プログラム107Aへの通知を行う。BIOS通信部312は、例えば、BIOSが備える特定のプログラム(インタフェース)を一定時間毎に呼び出すことによって、監視プログラム107Aへの通知を行う。
【0058】
監視プログラム107Aは、BIOS通信部312による通知を受信したとき、この通知を受信した時刻を示す情報を、不揮発メモリ107内に通知時刻データ107Bとして格納する。そして、監視プログラム107Aは、例えば、一定時間毎に、前回の通知時刻(通知時刻データ107B)から現在の時刻までの経過時間を算出し、算出した経過時間がしきい値時間よりも長いか否かを判定する。算出した経過時間がしきい値時間以内である場合、監視プログラム107Aは、不正ユーザ検出プログラム202が正常に動作していると判断する。算出した経過時間がしきい値時間よりも長い場合、監視プログラム107Aは、不正ユーザ検出プログラム202が正常に動作していないと判断する。なお、監視プログラム107Aは、BIOS通信部312による通知を受信してから次の通知が受信されない間、しきい値時間だけカウントダウンを行い、残り時間が0になったとき、不正ユーザ検出プログラム202が正常に動作していないと判断してもよい。
【0059】
不正ユーザ検出プログラム202が正常に動作していないと判断したとき、監視プログラム107Aは、コンピュータ10の使用を制限するための処理を実行する。具体的には、監視プログラム107Aは、例えば、BIOSパスワード107Cを変更する処理と、コンピュータ10をシャットダウンする処理とを実行する。この監視プログラム107Aによって、例えば、悪意のあるユーザによって不正ユーザ検出プログラム202の実行が妨害(停止)された際にも、不正ユーザ検出プログラム202からの定期的な通知が受信されないことに基づいて、悪意のあるユーザによるコンピュータ10の使用を制限することができる。
【0060】
以上の構成により、不正ユーザ検出プログラム202は、接続を許可されていないカテゴリに属するデバイスの取り付けや許可されていないデータへのアクセス要求等の違反行為が検出されたとき、違反行為を行ったユーザが悪意のあるユーザであるか否かを判定することができる。そして、ユーザが悪意のあるユーザであると判定された場合には、コンピュータ10の使用を制限するための処理を実行する。また、監視プログラム107Aは、不正ユーザ検出プログラム202が正常に動作しているか否かを定期的に判定する。そして、不正ユーザ検出プログラム202が正常に動作していない場合、コンピュータ10の使用を制限するための処理を実行する。上述のように、コンピュータ10の使用を制限する処理が実行されることにより、情報漏洩等の被害を防止することができる。
【0061】
次いで、図8から図13は、コンピュータ10によって実行される不正ユーザ検出処理の手順の例を示すフローチャートである。まず、図8のフローチャートを参照して、不正ユーザ検出プログラム202によって実行される違反検出処理の手順の例について説明する。ここでは、OS201が、コンピュータ10にデバイス(リムーバブルデバイス)が取り付けられたことを示すメッセージを通知したことに応答して、違反検出処理が開始されることを想定する。したがって例えば、デバイス取り付け検出部301が、デバイスが取り付けられたことを示すメッセージを検出したことを想定する。
【0062】
まず、デバイス判定部302は、データベース40に格納されたカテゴリ管理データ40Aに、カテゴリを指定した接続の許可又は禁止が設定されているか否かを判定する(ブロックB11)。カテゴリを指定した接続の許可又は禁止が設定されている場合(ブロックB11のYES)、デバイス判定部302は、取り付けられたデバイスが属するカテゴリを検出する(ブロックB12)。デバイス判定部302は、例えば、カテゴリ管理データ40Aとデバイス管理データ40Bとを用いて、取り付けられたデバイスがいずれのカテゴリに属するかを決定する。
【0063】
次いで、デバイス判定部302は、取り付けられたデバイスが属するカテゴリが、接続を許可されていないカテゴリであるか否かを判定する(ブロックB13)。デバイス判定部302は、カテゴリ管理データ40Aにおいて、ブロックB12で検出されたカテゴリに対応するエントリを参照し、当該カテゴリが、接続を許可されていないカテゴリであるか否かを判定する。つまり、デバイス判定部302は、取り付けられたデバイスが許可されていないカテゴリに属するデバイスであるか否かを判定する。
【0064】
取り付けられたデバイスが属するカテゴリが接続を許可されたカテゴリである場合(ブロックB13のNO)、又はカテゴリを指定した接続の許可又は禁止が設定されていない場合(ブロックB11のNO)、デバイス判定部302は、デバイス管理データ40Bに、デバイスを指定した接続の許可又は禁止が設定されているか否かを判定する(ブロックB14)。デバイスを指定した接続の許可又は禁止が設定されている場合(ブロックB14のYES)、デバイス判定部302は、取り付けられたデバイスが、接続を許可されていないデバイスであるか否かを判定する(ブロックB15)。
【0065】
取り付けられたデバイスが接続を許可されたデバイスである場合(ブロックB15のNO)、又はデバイスを指定した接続の許可又は禁止が設定されていない場合(ブロックB14のNO)、デバイス判定部302は、処理を終了する。そして、OS201は、デバイスが取り付けられたことを示すメッセージに応答して、そのデバイスとの接続を確立する。
【0066】
取り付けられたデバイスが属するカテゴリが接続を許可されていないカテゴリである場合(ブロックB13のYES)、又は取り付けられたデバイスが接続を許可されていないデバイスである場合(ブロックB15のYES)、違反管理データ更新部305は、違反管理データ更新処理を実行する(ブロックB16)。違反管理データ更新処理は、データベース40内の違反管理データ40Dを更新する処理である。違反管理データ更新処理の手順の詳細は図10を参照して後述する。そして、要求破棄部307は、OS201によって出力された、デバイスが取り付けられたことを示すメッセージを破棄する(ブロックB17)。このメッセージが破棄されることにより、取り付けられたデバイスとコンピュータ10との間の接続が確立されることを回避することができる。すなわち、要求破棄部307は、デバイスが取り付けられたことを示すメッセージに応答した、当該デバイスとの接続を確立するための処理を、メッセージを破棄することによって妨害する。
【0067】
以上の処理により、不正ユーザ検出プログラム202は、許可されていないデバイス(許可されていないカテゴリに属するデバイス)がコンピュータ10に取り付けられた際には、違反管理データ40Dを更新すると共に、許可されていないデバイスがコンピュータ10に接続されないように制御することができる。
【0068】
また、図9のフローチャートは、不正ユーザ検出プログラム202によって実行される違反検出処理の手順の別の例を示す。ここでは、OS201が、データへのアクセス要求を示すメッセージを出力したことに応答して、違反検出処理が開始されることを想定する。したがって例えば、アクセス要求検出部303が、OSファイルIOレイヤにおけるアクセス要求を検出したことを想定する。
【0069】
まず、アクセス判定部304は、検出されたアクセス要求がリード要求であるか否かを判定する(ブロックB21)。アクセス要求がリード要求である場合(ブロックB21のYES)、アクセス判定部304は、データベース40内のアクセス管理データ40Cを参照して、アクセス要求に指定されたデータ(アクセス領域)のリード(読み取り)が許可されているか否かを判定する(ブロックB22)。
【0070】
アクセス要求がリード要求でない場合(ブロックB21のNO)、アクセス判定部304は、検出されたアクセス要求がライト要求であるか否かを判定する(ブロックB23)。アクセス要求がライト要求である場合(ブロックB23のYES)、アクセス判定部304は、アクセス管理データ40Cを参照して、アクセス要求に指定されたデータ(アクセス領域)へのライト(書き込み)が許可されているか否かを判定する(ブロックB24)。
【0071】
アクセス要求に指定されたデータのリードが許可されていない場合(ブロックB22のNO)、又はアクセス要求に指定されたデータへのライトが許可されていない場合(ブロックB24のNO)、違反管理データ更新部305は、違反管理データ更新処理を実行する(ブロックB25)。違反管理データ更新処理は、データベース40内の違反管理データ40Dを更新する処理である。違反管理データ更新処理の手順の詳細は図10を参照して後述する。そして、要求破棄部307はアクセス要求を破棄し(ブロックB26)、上位層(OSファイルIOレイヤ)にアクセスエラーを通知する(ブロックB27)。つまり、下位層(OSファイルシステムレイヤ)にアクセス要求は伝えられずに、破棄される。
【0072】
アクセス要求がライト要求でない場合(ブロックB23のNO)、アクセス要求に指定されたデータのリードが許可されている場合(ブロックB22のYES)、又はアクセス要求に指定されたデータへのライトが許可されている場合(ブロックB24のYES)、OS201は、アクセス要求に応じた下位層(OSファイルシステムレイヤ)の処理を実行する(ブロックB28)。
【0073】
以上の処理により、不正ユーザ検出プログラム202は、許可されていないデータへのアクセスが要求された際には、違反管理データ40Dを更新すると共に、許可されていないデータへのアクセス(リード、ライト)が実行されないように制御することができる。なお、このデータへのアクセスは、データのリード及びライトに限らず、印刷、名称の変更、属性のリード/ライト、削除、所有権の変更(所有者の書き換え)等であってもよい。その場合、アクセス管理データ40Cでは、異なる種類のアクセス毎に、そのアクセスの許可又は禁止を設定してもよい。不正ユーザ検出プログラム202は、アクセス管理データ40Cに基づいて、さらに多くの種類のアクセス要求を判定し、許可されていない種類のアクセスを検出することができる。
【0074】
次いで、図10のフローチャートは、不正ユーザ検出プログラム202によって実行される違反管理データ更新処理(ブロックB41〜B44)及び使用制限処理(ブロックB45〜B48)の手順の例を示す。図10に示す違反管理データ更新処理は、上述のように、図8のブロックB16及び図9のブロックB25に対応する処理を示す。したがって、図10に示す処理は、デバイス判定部302又はアクセス判定部304によって違反が検出された際に実行される。
【0075】
まず、違反管理データ更新部305は、前回違反が検出された時刻(違反管理データ40Dの最終違反日時)から、今回違反が検出された時刻までの経過時間を算出する(ブロックB41)。違反管理データ更新部305は、例えば、前回接続を許可されていないカテゴリに属するデバイスが取り付けられた時刻から、今回接続を許可されていないカテゴリに属するデバイスが取り付けられた時刻までの経過時間を算出する。また、違反管理データ更新部305は、例えば、前回許可されていないデータへのアクセスが要求された時刻から、今回許可されていないデータへのアクセスが要求された時刻までの経過時間を算出する。さらに、違反管理データ更新部305は、例えば、前回接続を許可されていないカテゴリに属するデバイスが取り付けられた時刻から、今回許可されていないデータへのアクセスが要求された時刻までの経過時間を算出してもよい。
【0076】
次に、違反管理データ更新部305は、算出した経過時間が所定時間以内であるか否かを判定する(ブロックB42)。算出した経過時間が所定時間より大きい場合(ブロックB42のNO)、違反管理データ更新部305は処理を終了する。
【0077】
算出した経過時間が所定時間以内である場合(ブロックB42のYES)、違反管理データ更新部305は、違反管理データ40Dの違反回数に1を加算する(ブロックB43)。そして、違反管理データ更新部305は、今回違反が検出された時刻とブロックB43で加算された違反回数とを保存する(ブロックB44)。違反管理データ更新部305は、今回違反が検出された時刻(日時)を用いて、違反管理データ40Dの最終違反日時を書き換える。また、違反管理データ更新部305は、B43で加算された違反回数を用いて、違反管理データ40Dの違反回数を書き換える。
【0078】
次いで、不正ユーザ検出部308は、違反回数がしきい値を超えたか否かを判定する(ブロックB45)。違反回数がしきい値以下である場合(ブロックB45のNO)、不正ユーザ検出部308は処理を終了する。
【0079】
一方、違反回数がしきい値を超えている場合(ブロックB45のYES)、不正ユーザ検出部308は、コンピュータ10を使用しているユーザを悪意のあるユーザ(不正ユーザ)であると判断する(ブロックB46)。そして、ブロックB47からB49までの使用制限処理の手順では、悪意のあるユーザに対して、コンピュータ10の使用を制限するための処理が実行される。
【0080】
まず、ネットワーク切断部310は、コンピュータ10とネットワークとの間の接続を切断する(ブロックB47)。ネットワーク切断部310は、例えば、ネットワークデバイス(LANコントローラ108、無線LANコントローラ112等)に電源をオフにする要求を出力すること、コンピュータ10のマザーボード上の設定を変更してネットワークデバイスが接続されているバスを切り離すこと、及びネットワークデバイス用のドライバをアンロードすることのうちの少なくともいずれかを行って、コンピュータ10とネットワークとの間の接続を切断する。
【0081】
パスワード制御部309は、コンピュータ10がパワーオンされた際に用いられるパスワード(BIOS認証用のパスワード)107Cを変更する(ブロックB48)。パスワード制御部309は、例えば、BIOSが備えるインタフェースを介して、悪意のあるユーザが使用しているパスワードを別のパスワードに変更する。
【0082】
また、ユーザ画像撮像部311は、カメラモジュール115を用いて、悪意のあるユーザの画像を撮影する(ブロックB49)。ユーザ画像撮像部311は、撮影したユーザ画像41をHDD109内に格納する。
【0083】
以上の処理により、接続を許可されていないカテゴリに属するデバイスの取り付けや許可されていないデータへのアクセス要求等の違反行為が検出されたとき、違反行為を行ったユーザが悪意のあるユーザであるか否かを判定することができる。そして、ユーザが悪意のあるユーザであると判定された場合には、コンピュータ10の使用を制限するための処理を実行することにより、情報漏洩等の被害を防止することができる。
【0084】
また、図11は、不正ユーザ検出プログラム202によって実行される、タイマ306に基づく違反管理データ更新処理の手順の例を示すフローチャートである。このタイマ306に基づく違反管理データ更新処理は、例えば、タイマ306に示される時間に基づいて所定時間毎に(例えば、1時間毎に)実行される。
【0085】
まず、違反管理データ更新部305は、違反管理データ40Dの違反回数が0であるか否かを判定する(ブロックB31)。違反回数が0である場合(ブロックB31のYES)、BIOS通信部312は監視プログラム107Aへの通知を行う(ブロックB36)。BIOS通信部312による通知を受信した際の監視プログラム107Aによる処理は、図12を参照して後述する。
【0086】
違反回数が0でない場合(ブロックB31のNO)、違反管理データ更新部305は、前回違反が検出された時刻(違反管理データ40Dの最終違反日時)から、現在の時刻までの経過時間を算出する(ブロックB32)。そして、違反管理データ更新部305は、算出した経過時間が所定時間より長いか否かを判定する(ブロックB33)。算出した経過時間が所定時間以内である場合(ブロックB33のNO)、BIOS通信部312は監視プログラム107Aへの通知を行う(ブロックB36)。
【0087】
算出した経過時間が所定時間よりも長い場合(ブロックB33のYES)、違反管理データ更新部305は、違反管理データ40Dの違反回数から1を減算する(ブロックB34)。なお、違反管理データ更新部305は、算出した経過時間が所定時間よりも長い場合、違反回数に0を設定してもよい。
【0088】
違反管理データ更新部305は、ブロックB34で減算した違反回数を保存する(ブロックB35)。具体的には、違反管理データ更新部305は、ブロックB34で減算した違反回数を用いて、違反管理データ40Dの違反回数を書き換える。そして、BIOS通信部312は監視プログラム107Aへの通知を行う(ブロックB36)。
【0089】
以上の処理により、違反管理データ更新部305は、前回違反が検出された時刻から所定時間が経過したとき、違反管理データ40Dの違反回数を減らす(又は0にする)更新を行う。この更新により、悪意のないユーザが誤って行った操作が違反として検出された際にも、その操作から所定の期間だけ違反行為が行われなければ、このユーザが悪意のあるユーザとして検出されないように違反回数を制御することができる。
【0090】
図12は、監視プログラム107Aによって実行される通知時刻更新処理の手順の例を示すフローチャートである。この通知時刻更新処理は、不正ユーザ検出プログラム202に設けられたBIOS通信部312による通知(図11のブロックB36)に応答して実行される。
【0091】
まず、監視プログラム107Aは、不正ユーザ検出プログラム202(BIOS通信部312)からの通知を受信する(ブロックB51)。そして、監視プログラム107Aは、この通知を受信した時刻を保存する(ブロックB52)。監視プログラム107Aは、この通知を受信した時刻を示す情報を、不揮発メモリ107内に通知時刻データ107Bとして格納する。
【0092】
また、図13のフローチャートを参照して、監視プログラム107Aによって実行される使用制限処理の手順の例について説明する。この使用制限処理は、図12のブロックB52で保存された通知時刻データ107Bに基づいて実行される。
【0093】
まず、監視プログラム107Aは、前回の通知時刻(通知時刻データ107B)から現在の時刻までの経過時間を算出する(ブロックB61)。次に、監視プログラム107Aは、算出した経過時間がしきい値時間よりも長いか否かを判定する(ブロックB62)。算出した経過時間がしきい値時間以内である場合(ブロックB62のNO)、監視プログラム107Aは処理を終了する。
【0094】
算出した経過時間がしきい値時間よりも長い場合(ブロックB62のYES)、監視プログラム107Aは、不正ユーザ検出プログラム202が正常に動作していないと判断する(ブロックB63)。つまり、監視プログラム107Aは、しきい値時間より長く、不正ユーザ検出プログラム202からの通知が受信されなかったとき、不正ユーザ検出プログラム202が正常に動作していないと判断する。
【0095】
そして、監視プログラム107Aは、BIOSパスワード107Cを変更する処理を実行する(ブロックB64)。また、監視プログラム107Aは、コンピュータ10をシャットダウンする処理を実行する(ブロックB65)。
【0096】
以上の処理により、不正ユーザ検出プログラム202が正常に動作していないと推定されるとき、監視プログラム107Aが、コンピュータ10の使用を制限するための処理を実行することにより、情報漏洩等の被害を防止することができる。なお、監視プログラム107Aは、ブロックB65でコンピュータ10をシャットダウンする前に、OS201にコンピュータ10がシャットダウンされることを通知し、OS201に必要な処理を実行させてもよい。
【0097】
以上説明したように、本実施形態によれば、故意に不正な操作を行ったユーザによる使用を制限できる。不正ユーザ検出プログラム202は、接続を許可されていないカテゴリに属するデバイスの取り付けや許可されていないデータへのアクセス要求等の違反行為が検出されたとき、違反行為を行ったユーザが悪意のあるユーザであるか否かを判定することができる。そして、ユーザが悪意のあるユーザであると判定された場合には、コンピュータ10の使用を制限するための処理を実行する。また、監視プログラム107Aは、不正ユーザ検出プログラム202が正常に動作しているか否かを定期的に判定する。そして、不正ユーザ検出プログラム202が正常に動作していない場合、コンピュータ10の使用を制限するための処理を実行する。上述のように、悪意のあるユーザに対してコンピュータ10の使用を制限する処理が実行されることにより、情報漏洩等の被害を防止することができる。
【0098】
なお、本実施形態の不正ユーザ検出処理の手順は全てソフトウェアによって実行することができる。このため、不正ユーザ検出処理の手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【0099】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0100】
107…不揮発メモリ(BIOS−ROM)、107A…監視プログラム、107B…通知時刻データ、107C…パスワード、107D…暗号化鍵、107E…復号鍵、109…HDD、202…不正ユーザ検出プログラム、301…デバイス取り付け検出部、302…デバイス判定部、303…アクセス要求検出部、304…アクセス判定部、305…違反管理データ更新部、306…タイマ、307…要求破棄部、308…不正ユーザ検出部、309…パスワード制御部、310…ネットワーク切断部、311…ユーザ画像撮像部、312…BIOS通信部、40…データベース、40A…カテゴリ管理データ、40B…デバイス管理データ、40C…アクセス管理データ、40D…違反管理データ、41…ユーザ画像。
【特許請求の範囲】
【請求項1】
情報処理装置であって、
前記情報処理装置にデバイスが取り付けられたことを検出する第1検出手段と、
前記取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定する第1判定手段と、
前記第1判定手段による判定結果に基づいて、所定期間内に接続を許可されていないカテゴリに属するデバイスが取り付けられた回数をカウントするカウント手段と、
前記回数がしきい値を超えたとき、前記情報処理装置の使用を制限するための処理を実行する制御手段とを具備する情報処理装置。
【請求項2】
前記カウント手段は、前記取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスである場合、前回接続を許可されていないカテゴリに属するデバイスが取り付けられた時刻から現在時刻までの経過時間を算出し、前記経過時間が前記所定期間以内であるとき、前記回数に1だけ加算する請求項1記載の情報処理装置。
【請求項3】
前記制御手段は、前記回数がしきい値を超えたとき、前記情報処理装置の使用を制限するために、前記情報処理装置とネットワークとの間の接続を解除する請求項1記載の情報処理装置。
【請求項4】
前記制御手段は、前記回数がしきい値を超えたとき、前記情報処理装置の使用を制限するために、前記情報処理装置のパワーオン時に実行される認証に用いられるBIOSパスワードを変更する処理を含む請求項1記載の情報処理装置。
【請求項5】
前記カウント手段は、接続を許可されていないカテゴリに属するデバイスが最後に取り付けられた時刻から前記所定期間が経過したとき、前記回数に0を設定する請求項1記載の情報処理装置。
【請求項6】
前記カウント手段は、接続を許可されていないカテゴリに属するデバイスが最後に取り付けられた時刻から前記所定期間が経過する毎に、前記回数から1だけ減算する請求項1記載の情報処理装置。
【請求項7】
データへのアクセスを要求するアクセス要求を検出する第2検出手段と、
前記データがアクセスを許可されていないデータであるか否かを判定する第2判定手段とをさらに具備し、
前記カウント手段は、前記第1判定手段による判定結果と前記第2判定手段による判定結果とに基づいて、前記所定期間内に、接続を許可されていないカテゴリに属するデバイスが取り付けられた回数と、アクセスを許可されていないデータへのアクセス要求が検出された回数とをカウントし、
前記制御手段は、前記接続を許可されていないカテゴリに属するデバイスが取り付けられた回数と、前記アクセスを許可されていないデータへのアクセス要求が検出された回数とのうちのいずれかの回数がしきい値を超えたとき、前記情報処理装置の使用を制限するための処理を実行する請求項1記載の情報処理装置。
【請求項8】
データへのアクセスを要求するアクセス要求を検出する第2検出手段と、
前記データがアクセスを許可されていないデータであるか否かを判定する第2判定手段とをさらに具備し、
前記カウント手段は、前記所定期間内に、接続を許可されていないカテゴリに属するデバイスが取り付けられた回数と、アクセスを許可されていないデータへのアクセス要求が検出された回数とを合計した回数をカウントし、
前記制御手段は、前記合計した回数がしきい値を超えたとき、前記情報処理装置の使用を制限するための処理を実行する請求項1記載の情報処理装置。
【請求項9】
カメラモジュールと、
前記回数がしきい値を超えたとき、前記カメラモジュールを用いて前記情報処理装置を使用する使用者を撮像する撮像手段とをさらに具備する請求項1記載の情報処理装置。
【請求項10】
情報処理装置の使用を制限する情報漏洩防止方法であって、
前記情報処理装置にデバイスが取り付けられたことを検出し、
前記取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定し、
前記判定結果に基づいて、所定期間内に接続を許可されていないカテゴリに属するデバイスが取り付けられた回数をカウントし、
前記回数がしきい値を超えたとき、前記情報処理装置の使用を制限するための処理を実行する情報漏洩防止方法。
【請求項11】
コンピュータにより実行されるプログラムであって、前記プログラムは前記コンピュータに、
前記コンピュータにデバイスが取り付けられたことを検出する手順と、
前記取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定する手順と、
前記判定結果に基づいて、所定期間内に接続を許可されていないカテゴリに属するデバイスが取り付けられた回数をカウントする手順と、
前記回数がしきい値を超えたとき、前記コンピュータの使用を制限するための処理を実行する手順とを実行させるプログラム。
【請求項1】
情報処理装置であって、
前記情報処理装置にデバイスが取り付けられたことを検出する第1検出手段と、
前記取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定する第1判定手段と、
前記第1判定手段による判定結果に基づいて、所定期間内に接続を許可されていないカテゴリに属するデバイスが取り付けられた回数をカウントするカウント手段と、
前記回数がしきい値を超えたとき、前記情報処理装置の使用を制限するための処理を実行する制御手段とを具備する情報処理装置。
【請求項2】
前記カウント手段は、前記取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスである場合、前回接続を許可されていないカテゴリに属するデバイスが取り付けられた時刻から現在時刻までの経過時間を算出し、前記経過時間が前記所定期間以内であるとき、前記回数に1だけ加算する請求項1記載の情報処理装置。
【請求項3】
前記制御手段は、前記回数がしきい値を超えたとき、前記情報処理装置の使用を制限するために、前記情報処理装置とネットワークとの間の接続を解除する請求項1記載の情報処理装置。
【請求項4】
前記制御手段は、前記回数がしきい値を超えたとき、前記情報処理装置の使用を制限するために、前記情報処理装置のパワーオン時に実行される認証に用いられるBIOSパスワードを変更する処理を含む請求項1記載の情報処理装置。
【請求項5】
前記カウント手段は、接続を許可されていないカテゴリに属するデバイスが最後に取り付けられた時刻から前記所定期間が経過したとき、前記回数に0を設定する請求項1記載の情報処理装置。
【請求項6】
前記カウント手段は、接続を許可されていないカテゴリに属するデバイスが最後に取り付けられた時刻から前記所定期間が経過する毎に、前記回数から1だけ減算する請求項1記載の情報処理装置。
【請求項7】
データへのアクセスを要求するアクセス要求を検出する第2検出手段と、
前記データがアクセスを許可されていないデータであるか否かを判定する第2判定手段とをさらに具備し、
前記カウント手段は、前記第1判定手段による判定結果と前記第2判定手段による判定結果とに基づいて、前記所定期間内に、接続を許可されていないカテゴリに属するデバイスが取り付けられた回数と、アクセスを許可されていないデータへのアクセス要求が検出された回数とをカウントし、
前記制御手段は、前記接続を許可されていないカテゴリに属するデバイスが取り付けられた回数と、前記アクセスを許可されていないデータへのアクセス要求が検出された回数とのうちのいずれかの回数がしきい値を超えたとき、前記情報処理装置の使用を制限するための処理を実行する請求項1記載の情報処理装置。
【請求項8】
データへのアクセスを要求するアクセス要求を検出する第2検出手段と、
前記データがアクセスを許可されていないデータであるか否かを判定する第2判定手段とをさらに具備し、
前記カウント手段は、前記所定期間内に、接続を許可されていないカテゴリに属するデバイスが取り付けられた回数と、アクセスを許可されていないデータへのアクセス要求が検出された回数とを合計した回数をカウントし、
前記制御手段は、前記合計した回数がしきい値を超えたとき、前記情報処理装置の使用を制限するための処理を実行する請求項1記載の情報処理装置。
【請求項9】
カメラモジュールと、
前記回数がしきい値を超えたとき、前記カメラモジュールを用いて前記情報処理装置を使用する使用者を撮像する撮像手段とをさらに具備する請求項1記載の情報処理装置。
【請求項10】
情報処理装置の使用を制限する情報漏洩防止方法であって、
前記情報処理装置にデバイスが取り付けられたことを検出し、
前記取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定し、
前記判定結果に基づいて、所定期間内に接続を許可されていないカテゴリに属するデバイスが取り付けられた回数をカウントし、
前記回数がしきい値を超えたとき、前記情報処理装置の使用を制限するための処理を実行する情報漏洩防止方法。
【請求項11】
コンピュータにより実行されるプログラムであって、前記プログラムは前記コンピュータに、
前記コンピュータにデバイスが取り付けられたことを検出する手順と、
前記取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定する手順と、
前記判定結果に基づいて、所定期間内に接続を許可されていないカテゴリに属するデバイスが取り付けられた回数をカウントする手順と、
前記回数がしきい値を超えたとき、前記コンピュータの使用を制限するための処理を実行する手順とを実行させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−14414(P2012−14414A)
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願番号】特願2010−150033(P2010−150033)
【出願日】平成22年6月30日(2010.6.30)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願日】平成22年6月30日(2010.6.30)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]