(57)【要約】【課題】  故意に不正な操作を行ったユーザによる使用を制限できる情報処理装置を提供すること。【解決手段】  実施形態によれば、情報処理装置は、第１検出手段、第１判定手段、カウント手段、及び制御手段を具備する。第１検出手段は前記情報処理装置にデバイスが取り付けられたことを検出する。第１判定手段は前記取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定する。カウント手段は、前記第１判定手段による判定結果に基づいて、所定期間内に接続を許可されていないカテゴリに属するデバイスが取り付けられた回数をカウントする。制御手段は、前記回数がしきい値を超えたとき、前記情報処理装置の使用を制限するための処理を実行する。【選択図】図３
2012014414.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
前記情報処理装置にデバイスが取り付けられたことを検出する第１検出手段と、
前記取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定する第１判定手段と、
前記第１判定手段による判定結果に基づいて、所定期間内に接続を許可されていないカテゴリに属するデバイスが取り付けられた回数をカウントするカウント手段と、
前記回数がしきい値を超えたとき、前記情報処理装置の使用を制限するための処理を実行する制御手段とを具備する情報処理装置。
【請求項２】
前記カウント手段は、前記取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスである場合、前回接続を許可されていないカテゴリに属するデバイスが取り付けられた時刻から現在時刻までの経過時間を算出し、前記経過時間が前記所定期間以内であるとき、前記回数に１だけ加算する請求項１記載の情報処理装置。
【請求項３】
前記制御手段は、前記回数がしきい値を超えたとき、前記情報処理装置の使用を制限するために、前記情報処理装置とネットワークとの間の接続を解除する請求項１記載の情報処理装置。
【請求項４】
前記制御手段は、前記回数がしきい値を超えたとき、前記情報処理装置の使用を制限するために、前記情報処理装置のパワーオン時に実行される認証に用いられるＢＩＯＳパスワードを変更する処理を含む請求項１記載の情報処理装置。
【請求項５】
前記カウント手段は、接続を許可されていないカテゴリに属するデバイスが最後に取り付けられた時刻から前記所定期間が経過したとき、前記回数に０を設定する請求項１記載の情報処理装置。
【請求項６】
前記カウント手段は、接続を許可されていないカテゴリに属するデバイスが最後に取り付けられた時刻から前記所定期間が経過する毎に、前記回数から１だけ減算する請求項１記載の情報処理装置。
【請求項７】
データへのアクセスを要求するアクセス要求を検出する第２検出手段と、
前記データがアクセスを許可されていないデータであるか否かを判定する第２判定手段とをさらに具備し、
前記カウント手段は、前記第１判定手段による判定結果と前記第２判定手段による判定結果とに基づいて、前記所定期間内に、接続を許可されていないカテゴリに属するデバイスが取り付けられた回数と、アクセスを許可されていないデータへのアクセス要求が検出された回数とをカウントし、
前記制御手段は、前記接続を許可されていないカテゴリに属するデバイスが取り付けられた回数と、前記アクセスを許可されていないデータへのアクセス要求が検出された回数とのうちのいずれかの回数がしきい値を超えたとき、前記情報処理装置の使用を制限するための処理を実行する請求項１記載の情報処理装置。
【請求項８】
データへのアクセスを要求するアクセス要求を検出する第２検出手段と、
前記データがアクセスを許可されていないデータであるか否かを判定する第２判定手段とをさらに具備し、
前記カウント手段は、前記所定期間内に、接続を許可されていないカテゴリに属するデバイスが取り付けられた回数と、アクセスを許可されていないデータへのアクセス要求が検出された回数とを合計した回数をカウントし、
前記制御手段は、前記合計した回数がしきい値を超えたとき、前記情報処理装置の使用を制限するための処理を実行する請求項１記載の情報処理装置。
【請求項９】
カメラモジュールと、
前記回数がしきい値を超えたとき、前記カメラモジュールを用いて前記情報処理装置を使用する使用者を撮像する撮像手段とをさらに具備する請求項１記載の情報処理装置。
【請求項１０】
情報処理装置の使用を制限する情報漏洩防止方法であって、
前記情報処理装置にデバイスが取り付けられたことを検出し、
前記取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定し、
前記判定結果に基づいて、所定期間内に接続を許可されていないカテゴリに属するデバイスが取り付けられた回数をカウントし、
前記回数がしきい値を超えたとき、前記情報処理装置の使用を制限するための処理を実行する情報漏洩防止方法。
【請求項１１】
コンピュータにより実行されるプログラムであって、前記プログラムは前記コンピュータに、
前記コンピュータにデバイスが取り付けられたことを検出する手順と、
前記取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定する手順と、
前記判定結果に基づいて、所定期間内に接続を許可されていないカテゴリに属するデバイスが取り付けられた回数をカウントする手順と、
前記回数がしきい値を超えたとき、前記コンピュータの使用を制限するための処理を実行する手順とを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報漏洩を防止する情報処理装置及び該機器に適用される情報漏洩防止方法に関する。
【背景技術】
【０００２】
近年、コンピュータからデータが持ち出される等のいわゆる情報漏洩を防ぐための方法が提案されている。このような方法では、例えば、ユーザは正しいパスワードを入力することによって、コンピュータの使用を開始することができる。また、例えば、コンピュータ内に格納されたファイルに対してアクセス権限が設定され、ユーザは権限を有するファイルにのみアクセスすることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２４３９５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
正しいパスワードが入力されたことに応答してコンピュータの使用が可能になる方法では、例えば、誤ったパスワードが入力された回数がしきい値を超えたとき、当該コンピュータの使用が不能になるように制御される。そのため、パスワードを用いた認証では、使用を許可されていない（パスワードを知らない）ユーザはコンピュータを使用できない可能性が高い。
【０００５】
しかし、コンピュータの使用を許可されたユーザであっても、権限のないファイル等へのアクセスを試みる悪意のあるユーザが存在する可能性がある。ファイルにアクセス権限を設定する方法では、ユーザが権限のないファイルに誤ってアクセスしようとすることがあっても、コンピュータがその要求を拒絶するため、ユーザが権限のないファイルにアクセスすることはない。しかし、悪意のあるユーザは、そのようなファイルに対して不正にアクセスすることを試みる可能性がある。悪意のあるユーザは、例えば、様々な操作を試行して、権限のないファイルにアクセスしようとすることが想定される。しかしながら、誤って不正な操作を行ったユーザと故意に不正な操作を行ったユーザ（悪意のあるユーザ）とを識別して、故意に不正な操作を行ったユーザに対して、コンピュータの使用を制限することは困難である。
【０００６】
本発明は、故意に不正な操作を行ったユーザによる使用を制限できる情報処理装置、情報漏洩防止方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態によれば、情報処理装置は、第１検出手段、第１判定手段、カウント手段、及び制御手段を具備する。第１検出手段は前記情報処理装置にデバイスが取り付けられたことを検出する。第１判定手段は前記取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定する。カウント手段は、前記第１判定手段による判定結果に基づいて、所定期間内に接続を許可されていないカテゴリに属するデバイスが取り付けられた回数をカウントする。制御手段は、前記回数がしきい値を超えたとき、前記情報処理装置の使用を制限するための処理を実行する。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係る情報処理装置の外観を示す斜視図。
【図２】同実施形態の情報処理装置の構成を示すブロック図。
【図３】同実施形態の情報処理装置によって実行される不正ユーザ検出プログラムの構成を示すブロック図。
【図４】同実施形態の情報処理装置によって実行される不正ユーザ検出プログラムが用いるカテゴリ管理データの例を示す図。
【図５】同実施形態の情報処理装置によって実行される不正ユーザ検出プログラムが用いるデバイス管理データの例を示す図。
【図６】同実施形態の情報処理装置によって実行される不正ユーザ検出プログラムが用いるアクセス管理データの例を示す図。
【図７】同実施形態の情報処理装置によって実行される不正ユーザ検出プログラムが用いる違反管理データの例を示す図。
【図８】同実施形態の情報処理装置によって実行される違反検出処理の手順の例を示すフローチャート。
【図９】同実施形態の情報処理装置によって実行される違反検出処理の別の手順の例を示すフローチャート。
【図１０】同実施形態の情報処理装置によって実行される違反管理データ更新処理及び使用制限処理の手順の例を示すフローチャート。
【図１１】同実施形態の情報処理装置によって実行されるタイマに基づく違反管理データ更新処理の手順の例を示すフローチャート。
【図１２】同実施形態の情報処理装置によって実行される通知時刻更新処理の手順の例を示すフローチャート。
【図１３】同実施形態の情報処理装置によって実行される使用制限処理の手順の別の例を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、実施の形態について図面を参照して説明する。
【００１０】
図１は、実施形態に係る情報処理装置の外観を示す斜視図である。この情報処理装置は、例えばノートブックタイプのパーソナルコンピュータ１０として実現されている。
【００１１】
図１に示すように、本コンピュータ１０は、コンピュータ本体１１と、ディスプレイユニット１２とから構成されている。ディスプレイユニット１２には、ＬＣＤ（liquid crystal display）１７を備えた表示装置が組み込まれている。ディスプレイユニット１２は、コンピュータ本体１１の上面が露出される開放位置とコンピュータ本体１１の上面を覆う閉塞位置との間を回動自在にコンピュータ本体１１に取り付けられている。ディスプレイユニット１２はさらに、ＬＣＤ１７の上部にカメラモジュール１１５を備える。カメラモジュール１１５は、ディスプレイユニット１２が開放位置にあるときに、コンピュータ１０を使用するユーザ等を撮影するために用いられる。
【００１２】
コンピュータ本体１１は、薄い箱形の筐体を有しており、その上面には、キーボード１３、本コンピュータ１０を電源オン／電源オフするためのパワーボタン１４、入力操作パネル１５、タッチパッド１６、スピーカ１８Ａ，１８Ｂなどが配置されている。入力操作パネル１５上には、各種操作ボタンが設けられている。
【００１３】
また、コンピュータ本体１１の右側側面には、例えばUSB（universal serial bus）2.0規格のＵＳＢケーブルやＵＳＢデバイスを接続するためのＵＳＢコネクタ１９が設けられている。さらに、コンピュータ本体１１の背面には、例えばHDMI(high-definition multimedia interface)規格に対応した外部ディスプレイ接続端子（図示せず）が設けられている。この外部ディスプレイ接続端子は、デジタル映像信号を外部ディスプレイに出力するために用いられる。
【００１４】
図２は、本コンピュータ１０のシステム構成を示す図である。
【００１５】
本コンピュータ１０は、図２に示されるように、ＣＰＵ（central processing unit）１０１、ノースブリッジ１０２、主メモリ１０３、サウスブリッジ１０４、ＧＰＵ（Graphics Processing Unit）１０５、ＶＲＡＭ（ビデオＲＡＭ:random access memory）１０５Ａ、サウンドコントローラ１０６、ＢＩＯＳ−ＲＯＭ（basic input/output system-read only memory）１０７、ＬＡＮ（local area network）コントローラ１０８、ＨＤＤ１０９、光ディスクドライブ（ＯＤＤ）１１０、ＵＳＢコントローラ１１１、無線ＬＡＮコントローラ１１２、エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）１１３、ＥＥＰＲＯＭ（electrically erasable programmable ROM）１１４、カメラモジュール１１５、カードコントローラ１１６等を備える。
【００１６】
ＣＰＵ１０１は、本コンピュータ１０の動作を制御するプロセッサであり、ＨＤＤ１０９から主メモリ１０３にロードされる、オペレーティングシステム（ＯＳ）２０１や、不正ユーザ検出プログラム２０２のような各種アプリケーションプログラムを実行する。不正ユーザ検出プログラム２０２は、例えば、悪意のあるユーザによって、接続が許可されていないデバイス、例えば、リムーバブルストレージデバイス（外付けＨＤＤ、ＵＳＢメモリ、メモリカード等）、または他の各種リムーバブルデバイス、が取り付けられたときや、権限のないファイルへのアクセス（リード、ライト等）が要求されたときにコンピュータ１０の使用を制限する機能を有するプログラムである。
【００１７】
また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ（不揮発メモリ）１０７に格納されたＢＩＯＳ（Basic Input/Output System）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。ＣＰＵ１０１は、コンピュータ１０がパワーオンされたとき、ＯＳ２０１を起動する前にＢＩＯＳを実行する。その際、ＢＩＯＳは、ＢＩＯＳ−ＲＯＭ１０７に格納されたＢＩＯＳパスワード（パワーオンパスワード）１０７Ｃを用いた認証を行うことができる。ＢＩＯＳは、ユーザによってタイプ入力されたパスワードとＢＩＯＳパスワード（パワーオンパスワード）１０７Ｃとを比較する。タイプ入力されたパスワードとＢＩＯＳパスワード（パワーオンパスワード）１０７Ｃとが一致したとき、つまり、ユーザによって正しいパスワードが入力されたとき、ＢＩＯＳは、ＯＳ２０１の起動（ブート）を開始する。換言すると、誤ったＢＩＯＳパスワードが入力された際には、ＢＩＯＳはＯＳ２０１を実行しない。
【００１８】
また、ＢＩＯＳ−ＲＯＭ１０７には、監視プログラム１０７Ａ、通知時刻データ１０７Ｂ、暗号化鍵１０７Ｄ及び復号鍵１０７Ｅが格納されている。監視プログラム１０７Ａは、不正ユーザ検出プログラム２０２の動作を監視する機能を有する。具体的には、監視プログラム１０７Ａは、不正ユーザ検出プログラム２０２による通知を受信する。この通知が一定時間以上途絶えたとき、監視プログラム１０７Ａは、不正ユーザ検出プログラム２０２が正常に動作していないものと判定し、コンピュータ１０の使用を制限する処理、例えば、コンピュータ１０をシャットダウンする処理等を実行する。
【００１９】
不正ユーザ検出プログラム２０２は、例えば、管理者（アドミニストレータ）権限を有するユーザのみがインストール、設定変更、実行の制御等を行うことができる。そのため、管理者権限を持たないエンドユーザは、不正ユーザ検出プログラム２０２の実行を停止したり、その設定を変更したりすることができない。しかし、悪意のあるユーザは、何らかの手段によって不正ユーザ検出プログラム２０２の実行を停止することを試みる可能性がある。監視プログラム１０７Ａは、上述のように、不正ユーザ検出プログラム２０２が正常に動作しているか否かを監視し、正常に動作していないときにはコンピュータ１０の使用を制限する処理を実行する。これにより、悪意のあるユーザへの対策を二重に施すことができる。
【００２０】
ノースブリッジ１０２は、ＣＰＵ１０１のローカルバスとサウスブリッジ１０４との間を接続するブリッジデバイスである。ノースブリッジ１０２には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ１０２は、PCI EXPRESS規格のシリアルバスなどを介してＧＰＵ１０５との通信を実行する機能も有している。
【００２１】
ＧＰＵ１０５は、本コンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７を制御する表示コントローラである。このＧＰＵ１０５によって生成される表示信号はＬＣＤ１７に送られる。また、ＧＰＵ１０５は、ＨＤＭＩ制御回路およびＨＤＭＩ端子を介して、外部ディスプレイ装置にデジタル映像信号を送出することもできる。
【００２２】
ＨＤＭＩ端子は、前述の外部ディスプレイ接続端子である。ＨＤＭＩ端子は、非圧縮のデジタル映像信号とデジタルオーディオ信号とを１本のケーブルでテレビのような外部ディスプレイ装置に送出することができる。ＨＤＭＩ制御回路は、ＨＤＭＩモニタと称される外部ディスプレイ装置にデジタル映像信号をＨＤＭＩ端子を介して送出するためのインタフェースである。
【００２３】
サウスブリッジ１０４は、ＰＣＩ（Peripheral Component Interconnect）バス上の各デバイスおよびＬＰＣ（Low Pin Count）バス上の各デバイスを制御する。また、サウスブリッジ１０４は、ＨＤＤ１０９およびＯＤＤ１１０を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。さらに、サウスブリッジ１０４は、サウンドコントローラ１０６との通信を実行する機能も有している。
【００２４】
サウンドコントローラ１０６は音源デバイスであり、再生対象のオーディオデータをスピーカ１８Ａ，１８ＢまたはＨＤＭＩ制御回路に出力する。
【００２５】
ＬＡＮコントローラ１０８は、例えばIEEE 802.3規格の有線通信を実行する有線通信デバイスであり、一方、無線ＬＡＮコントローラ１１２は、例えばIEEE 802.11g規格の無線通信を実行する無線通信デバイスである。
【００２６】
また、ＵＳＢコントローラ１１１は、（ＵＳＢコネクタ１９を介して接続される）例えばUSB 2.0規格に対応した外部機器（リムーバブルデバイス）との通信を実行する。ＵＳＢコントローラ１１１は、例えば、接続されたデジタルカメラ内に格納されたデジタル画像を取り込んでＨＤＤ１０９に格納する際の通信等を制御する。また、ＵＳＢコントローラ１１１は、例えば、接続されたプリンタに文書データを出力して、その文書データを印刷する際の通信等を制御する。
【００２７】
さらに、ＵＳＢコントローラ１１１は、接続されたリムーバブルストレージデバイスに対するデータの書き込みまたは読み出しを行うためにそのリムーバブルストレージデバイスとの通信を行う。例えば、ＵＳＢコントローラ１１１は、接続された補助記憶装置（例えば、外付けＨＤＤ）や半導体記憶メディア（例えば、フラッシュメモリ）等に対するデータの書き込みまたは読み出しを行う。
【００２８】
カメラモジュール１１５は、内蔵するカメラを用いた撮像処理を実行する。カメラモジュール１１５は、例えば、内蔵するカメラにより撮像された画像を用いて画像データを生成し、当該画像データを主メモリ１０３やＨＤＤ１０９に格納する際の通信等を実行する。また、カメラモジュール１１５は、不正ユーザ検出プログラム２０２等の各種のアプリケーションプログラムに画像データを供給する。
【００２９】
カードコントローラ１１６は、カードスロット２０に挿入された記録メディア２０Ａ（リムーバブルメディア）との通信を実行する。例えば、カードコントローラ１１６は、記録メディア２０Ａであるメモリカード（例えばＳＤカード）に対するデータの書き込みまたは読み出しを行う。
【００３０】
ＥＣ／ＫＢＣ１１３は、電力管理のためのエンベデッドコントローラと、キーボード１３およびタッチパッド１６を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。ＥＣ／ＫＢＣ１１３は、ユーザによるパワーボタン１４の操作に応じて本コンピュータ１０を電源オン／電源オフする機能を有している。
【００３１】
図３は、コンピュータ１０によって実行される不正ユーザ検出プログラム２０２の構成を示す。不正ユーザ検出プログラム２０２は、許可されていないカテゴリに属するデバイスの接続や、許可されていないデータへのアクセスを検出し、悪意のあるユーザによるコンピュータ１０の使用を制限する。不正ユーザ検出プログラム２０２は、デバイス取り付け検出部３０１、デバイス判定部３０２、アクセス要求検出部３０３、アクセス判定部３０４、違反管理データ更新部３０５、タイマ３０６、要求破棄部３０７、不正ユーザ検出部３０８、パスワード制御部３０９、ネットワーク切断部３１０、ユーザ画像撮像部３１１、及びＢＩＯＳ通信部３１２を備える。
【００３２】
デバイス取り付け検出部３０１は、コンピュータ１０にデバイス（リムーバブルストレージデバイス、他の各種リムーバブルデバイス）が取り付けられたことを検出する。デバイス取り付け検出部３０１は、例えば、ＵＳＢコネクタ１９、カードスロット２０等を介して、デバイスが取り付けられたことを検出する。具体的には、デバイス取り付け検出部３０１は、例えば、ＯＳ２０１が出力するメッセージ（イベント）を常時監視する。デバイス取り付け検出部３０１は、ＯＳ２０１によって出力されたメッセージが検出されたとき、当該メッセージをフックする。メッセージは、例えば、発生したイベントの種類や当該イベントの内容を示す情報等を含む。例えば、ＯＳ２０１は、デバイスが取り付けられたとき、デバイスが取り付けられことを示す情報（イベントの種類を示す情報）と、デバイスが取り付けられた場所（ＵＳＢコネクタ１９、カードスロット２０等）及びデバイスの種類（補助記憶装置、プリンタ等）を示す情報（イベントの内容を示す情報）とを含むメッセージを出力する。
【００３３】
デバイス取り付け検出部３０１は、フックしたメッセージが、デバイスが取り付けられたことを示すとき、デバイスが取り付けられたものと判定する。デバイスが取り付けられたことを検出したとき、デバイス取り付け検出部３０１は、フックしたメッセージをデバイス判定部３０２に出力する。
【００３４】
デバイス判定部３０２は、デバイス取り付け検出部３０１によってフックされたメッセージに基づき、取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定する。デバイス判定部３０２は、ＨＤＤ１０９内のデータベース４０に格納されたカテゴリ管理データ４０Ａを参照して、取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを判定する。
【００３５】
図４はカテゴリ管理データ４０Ａの一構成例を示す。カテゴリ管理データ４０Ａは、複数のカテゴリにそれぞれ対応する複数のエントリを含む。各エントリは、例えば、カテゴリＩＤ、カテゴリ名、及び接続の許可又は禁止を示す情報を含む。あるカテゴリに対応するエントリにおいて、カテゴリＩＤは、そのカテゴリに固有の識別情報を示す。カテゴリ名は、そのカテゴリの名称を示す。接続の許可又は禁止を示す情報は、コンピュータ１０にそのカテゴリに属するデバイスを接続することが許可されているか禁止されているかを示す。図４に示す例では、カテゴリＩＤ“０００”のカテゴリである“光ディスクドライブ”に属するデバイス（例えば、ＤＶＤ−ＲＯＭドライブ）は、コンピュータ１０への接続が“許可”されている。また、カテゴリＩＤ“００１”のカテゴリである“外付け補助記憶装置”に属するデバイス（例えば、外付けＨＤＤ）は、コンピュータ１０への接続が“禁止”されている（すなわち、コンピュータ１０への接続が許可されていない）。
【００３６】
デバイス判定部３０２は、さらに、デバイス管理データ４０Ｂを参照して、取り付けられたデバイスが接続を許可されていないデバイスであるか否かを判定してもよい。デバイス判定部３０２は、デバイス管理データ４０Ｂを用いることによって、デバイスの各々について、コンピュータ１０への接続の許可又は禁止を設定することができる。したがって例えば、あるカテゴリに対応するエントリ（カテゴリ管理データ４０Ａ）が、そのカテゴリに属するデバイスの接続を許可することを示しているときに、デバイス管理データ４０Ｂでは、そのカテゴリに属する一つのデバイスの接続を禁止するように設定できる。その場合、デバイス判定部３０２は、取り付けられたデバイスを、接続を許可されていないデバイスと判定する。
【００３７】
図５はデバイス管理データ４０Ｂの一構成例を示す。デバイス管理データ４０Ｂは、複数のデバイスにそれぞれ対応する複数のエントリを含む。各エントリは、例えば、デバイスＩＤ、カテゴリＩＤ、デバイス名、及び接続の許可又は禁止を示す情報を含む。あるデバイスに対応するエントリにおいて、デバイスＩＤは、そのデバイスに固有の識別情報を示す。カテゴリＩＤは、そのデバイスが属するカテゴリに固有の識別情報を示す。デバイス名は、そのデバイスの名称を示す。接続の許可又は禁止を示す情報は、コンピュータ１０にそのデバイスを接続することが許可されているか禁止されているかを示す。図５に示す例では、デバイスＩＤ“１０００”のデバイスである“ＣＤ−ＲＯＭドライブ”は、コンピュータ１０への接続が“許可”されている。また、カテゴリＩＤ“１００１”のデバイスである“ＤＶＤ−ＲＯＭドライブ”は、コンピュータ１０への接続が“禁止”されている（すなわち、コンピュータ１０への接続が許可されていない）。
【００３８】
デバイス判定部３０２は、取り付けられたデバイスが接続を許可されていないカテゴリに属するデバイスであるか否かを示す判定結果、又は取り付けられたデバイスが接続を許可されていないデバイスであるか否かを示す判定結果を違反管理データ更新部３０５に出力する。
【００３９】
また、アクセス要求検出部３０３は、データへのアクセス要求を検出する。アクセス要求検出部３０３は、例えば、ＨＤＤ１０９内に格納されたファイルのリード要求を検出する。アクセス要求検出部３０３は、例えば、ＨＤＤ１０９へのファイルのライト要求を検出する。また、アクセス要求検出部３０３は、例えば、ネットワークを介して接続されたファイルサーバ内に格納されたファイルのリード要求を検出する。
【００４０】
具体的には、アクセス要求検出部３０３は、例えば、ＯＳ２０１が出力するメッセージ（イベント）や、他のアプリケーションプログラムが出力するメッセージ（ファイルアクセス要求）を常時監視する。アクセス要求検出部３０３は、ＯＳ２０１やアプリケーションプログラム等によって出力されたメッセージが検出されたとき、当該メッセージをフックする。メッセージは、発生したイベントの種類や当該イベントの内容を示す情報等を含む。例えば、ＯＳ２０１は、データへのアクセスが要求されたとき、データへのアクセスが要求されたことを示す情報（イベントの種類を示す情報）と、アクセスが要求されたデータが格納された場所（ドライブ名、ディレクトリ名、ファイル名（ファイルパス）等）やアクセスの種類（リード、ライト、印刷、名称の変更等）を示す情報（イベントの内容を示す情報）とを含むメッセージを出力する。
【００４１】
アクセス要求検出部３０３は、フックしたメッセージが、データへのアクセス要求を示すとき、データへのアクセス要求が発生したものと判定する。データへのアクセス要求を検出したとき、アクセス要求検出部３０３は、フックしたメッセージをアクセス判定部３０４に出力する。
【００４２】
アクセス判定部３０４は、アクセス要求検出部３０３によってフックされたメッセージに基づき、アクセス要求が、許可されていないデータへのアクセス要求であるか否かを判定する。アクセス判定部３０４は、ＨＤＤ１０９内のデータベースに格納されたアクセス管理データ４０Ｃを参照して、アクセス要求が、許可されていないデータへのアクセス要求であるか否かを判定する。
【００４３】
図６はアクセス管理データ４０Ｃの一構成例を示す。アクセス管理データ４０Ｃは、複数のアクセス領域（データ領域）にそれぞれ対応する複数のエントリを含む。各エントリは、例えば、領域ＩＤ、アクセス領域、リード権限、ライト権限、印刷権限、及び許可プリンタを示す情報を含む。あるアクセス領域に対応するエントリにおいて、領域ＩＤは、そのアクセス領域に固有の識別情報を示す。アクセス領域は、そのアクセス領域に対応する場所（例えば、ドライブ名、ディレクトリ名、ファイル名）を示す。リード権限は、そのアクセス領域に対するリードが許可されているか否かを示す。ライト権限は、そのアクセス領域に対するライトが許可されているか否かを示す。印刷権限は、そのアクセス領域に格納されたデータ（例えば、文書データや画像データ）を印刷することが許可されているか否かを示す。また、許可プリンタは、印刷権限が、そのアクセス領域に格納されたデータの印刷を許可していることを示すときに印刷可能なプリンタを示す。図６に示す例では、領域ＩＤ“２０００”のアクセス領域である“ドライブ１”で示される場所に格納されたデータに対して、リード及びライトが許可され、印刷が禁止されている。また、領域ＩＤ“２００２”のアクセス領域である“ファイル１”に対応するファイルでは、リード及び“プリンタＡ”を用いた印刷が許可され、ライトが禁止されている。
【００４４】
アクセス判定部３０４は、アクセス要求の対象のデータが、該アクセス要求に指定された種類のアクセス（リード、ライト等）を許可されたデータであるか否かを判定する。図６に示す例では、アクセス要求が“ファイル１”に対するリードを要求するとき、アクセス判定部３０４は、該アクセス要求が許可されたアクセス要求であると判定する。また、アクセス要求が“ファイル１”に対するライトを要求するとき、アクセス判定部３０４は、該アクセス要求が許可されていないアクセス要求であると判定する。アクセス判定部３０４は、アクセス要求がアクセスを許可されたデータへのアクセス要求であるか否かを示す判定結果を違反管理データ更新部３０５に出力する。
【００４５】
上述のカテゴリ管理データ４０Ａ、デバイス管理データ４０Ｂ及びアクセス管理データ４０Ｃを用いることによって、例えば、企業内で、業務で作成したデータを他者に渡す際に、フロッピー（登録商標）ディスクやＵＳＢメモリ等のリムーバブルストレージデバイスでの受け渡しが許可されておらず、ファイルサーバ内の特定の領域（ディレクトリ）での受け渡しが許可されていることを規定することができる。カテゴリ管理データ４０Ａ、デバイス管理データ４０Ｂ及びアクセス管理データ４０Ｃは、例えば、コンピュータ１０上で、管理者権限を有するユーザによって設定される。また、カテゴリ管理データ４０Ａ、デバイス管理データ４０Ｂ及びアクセス管理データ４０Ｃは、ネットワーク上のホスト（サーバ）からクライアントであるコンピュータ１０に配布され、設定されてもよい。なお、カテゴリ管理データ４０Ａ、デバイス管理データ４０Ｂ及びアクセス管理データ４０Ｃは、不揮発メモリ（ＢＩＯＳ−ＲＯＭ）１０７に格納された暗号化鍵１０７Ｄを用いて、暗号化してＨＤＤ１０９等に格納されてもよい。その場合、デバイス判定部３０２及びアクセス判定部３０４は、不揮発メモリ１０７に格納された復号鍵１０７Ｅを用いて、カテゴリ管理データ４０Ａ、デバイス管理データ４０Ｂ及びアクセス管理データ４０Ｃを復号して、判定に使用する。
【００４６】
違反管理データ更新部３０５は、ＨＤＤ１０９内のデータベース４０に格納された違反管理データ４０Ｄを更新する。  
図７は違反管理データ４０Ｄの一構成例を示す。違反管理データ４０Ｄは、例えば、最終違反日時と違反回数とを含む。最終違反日時は、最後に許可されていないカテゴリに属するデバイス（許可されていないデバイス）が取り付けられた日時又は最後に許可されていないデータへのアクセスが要求された日時を示す。違反回数は、所定期間内に、許可されていないカテゴリに属するデバイスが取り付けられた回数と許可されていないデータへのアクセスが要求された回数との和を示す。なお、違反回数として、許可されていないカテゴリに属するデバイスが取り付けられた回数に加えて、許可されていないデータへのアクセスが要求された回数が記録されてもよい。
【００４７】
違反管理データ更新部３０５は、デバイス判定部３０２による判定結果が、許可されていないカテゴリに属するデバイスが取り付けられたことを示すとき、違反管理データ４０Ｄを更新する。具体的には、違反管理データ更新部３０５は、まず、違反管理データ４０Ｄの最終違反日時に示される日時（前回許可されていないカテゴリに属するデバイスが取り付けられた時刻）から、今回許可されていないカテゴリに属するデバイスが取り付けられた日時（現在時刻）までの経過時間を算出する。そして、算出した経過時間が所定期間（例えば、１時間から２４時間）以内であるとき、違反管理データ更新部３０５は、違反管理データ４０Ｄの最終違反日時を、今回許可されていないカテゴリに属するデバイスが取り付けられた日時に書き換え、違反管理データ４０Ｄの違反回数を、現在の違反回数に１だけ加えた値に書き換える（カウントアップ）。
【００４８】
また、違反管理データ更新部３０５は、アクセス判定部３０４による判定結果が許可されていないデータへのアクセス要求であることを示すとき、違反管理データ４０Ｄを更新する。具体的には、違反管理データ更新部３０５は、違反管理データ４０Ｄの最終違反日時に示される日時（前回許可されていないデータへのアクセスが要求された時刻）から、今回許可されていないデータへのアクセスが要求された日時（現在時刻）までの経過時間を算出する。そして、算出した経過時間が所定期間（例えば、１時間から２４時間）以内であるとき、違反管理データ更新部３０５は、違反管理データ４０Ｄの最終違反日時を、今回許可されていないデータへのアクセスが要求された日時に書き換え、違反管理データ４０Ｄの違反回数を、現在の違反回数に１だけ加えた値に書き換える。
【００４９】
さらに、違反管理データ更新部３０５は、タイマ３０６を用いて違反管理データ４０Ｄを更新してもよい。具体的には、違反管理データ更新部３０５は、最終違反日時に示される日時（最後に許可されていないカテゴリに属するデバイスが取り付けられた時刻、又は最後に許可されて以内データへのアクセスが要求された時刻）から現在の時刻までの経過時間を算出する。そして、算出した経過時間が所定期間（例えば、１時間から２４時間）より長いとき、違反管理データ更新部３０５は、違反回数を０にリセットする（違反管理データ４０Ｄの違反回数を０に書き換える）。また、違反管理データ更新部３０５は、例えば、最終違反日時に示される日時から所定期間が経過する毎に、（違反回数が０になるまで）違反回数を１ずつ減らしてもよい（違反管理データ４０Ｄの違反回数を、現在の違反回数から１ずつ減らした値に書き換えてもよい）。  
なお、違反管理データ更新部３０５は、不揮発メモリ１０７に格納された暗号化鍵１０７Ｄ及び復号鍵１０７Ｅを用いて、違反管理データ４０Ｄを暗号化及び復号して用いてもよい。
【００５０】
要求破棄部３０７は、デバイス判定部３０２による判定結果が許可されていないカテゴリに属するデバイスが取り付けられたことを示すとき、メッセージ（デバイスを接続するための要求）を破棄する。すなわち、要求破棄部３０７は、許可されていないカテゴリに属するデバイスが取り付けられたとき、当該デバイスをコンピュータ１０に接続しない。要求破棄部３０７は、メッセージを破棄したとき、ＯＳ２０１に対して、デバイスを接続するための処理にエラーが発生したことを通知する。具体的には、要求破棄部３０７は、例えば、対象のデバイス（カテゴリ）の接続が禁止されていること等を示すエラーをＯＳ２０１に出力する。
【００５１】
また、要求破棄部３０７は、アクセス判定部３０４による判定結果が許可されていないデータへのアクセス要求であることを示すとき、メッセージ（アクセス要求）を破棄する。すなわち、要求破棄部３０７は、許可されていないデータへのアクセス要求に対応する処理をＯＳ２０１に実行させない。要求破棄部３０７は、メッセージを破棄したとき、ＯＳ２０１に対して、データにアクセスするための処理にエラーが発生したことを通知する。具体的には、要求破棄部３０７は、例えば、対象のデータへのアクセス権がないこと、書き込みが禁止されていること等を示すエラーをＯＳ２０１に出力する。
【００５２】
不正ユーザ検出部３０８は、違反管理データ４０Ｄに基づいて、悪意のあるユーザ（不正ユーザ）を検出する。不正ユーザ検出部３０８は、違反管理データ４０Ｄの違反回数がしきい値（例えば、５回）を超えたとき、現在のユーザが悪意のあるユーザであると判断する。つまり、不正ユーザ検出部３０８は、例えば、許可されていないカテゴリに属するデバイスが取り付けられた回数と許可されていないデータへのアクセスが要求された回数との合計がしきい値を超えたとき、現在のユーザが悪意のあるユーザであると判断する。また、不正ユーザ検出部３０８は、例えば、許可されていないカテゴリに属するデバイスが取り付けられた回数が第１のしきい値を超えたとき、及び許可されていないデータへのアクセスが要求された回数が第２のしきい値を超えたときのいずれかに該当するときに、現在のユーザが悪意のあるユーザであると判断してもよい。
【００５３】
現在のユーザが悪意のあるユーザであると判定されたとき、不正ユーザ検出部３０８は、パスワード制御部３０９、ネットワーク切断部３１０及びユーザ画像撮像部３１１に、現在のユーザが悪意のあるユーザであることを通知する。この通知を受信したパスワード制御部３０９、ネットワーク切断部３１０及びユーザ画像撮像部３１１は、コンピュータ１０の使用を制限するための処理をそれぞれ実行する。
【００５４】
パスワード制御部３０９は、不正ユーザ検出部３０８による通知に応答して（ユーザが悪意のあるユーザであると判定されたとき）、不揮発メモリ（ＢＩＯＳ−ＲＯＭ）１０７に格納されたパスワード（ＢＩＯＳパスワード）１０７Ｃを書き換える。具体的には、パスワード制御部３０９は、悪意のあるユーザによって使用されているパスワードを別のパスワードに書き換える。書き換えに用いられるパスワードは、例えば、不揮発メモリ１０７内のエンドユーザにはアクセスが許可されていない（見えない）領域に予め格納されている。なお、パスワード書き換えるための処理は、ＢＩＯＳが備えるプログラム（インタフェース）を用いてもよい。これにより、悪意のあるユーザは、現在のパスワードを用いて、コンピュータ１０を起動することができなくなる。
【００５５】
ネットワーク切断部３１０は、不正ユーザ検出部３０８による通知に応答して、コンピュータ１０とネットワークとの間の接続を切断する。ネットワーク切断部３１０は、例えば、ネットワークデバイス（ＬＡＮコントローラ１０８、無線ＬＡＮコントローラ１１２等）に電源をオフにする要求を出力すること、コンピュータ１０のマザーボード上の設定を変更してネットワークデバイスが接続されているバスを切り離すこと、及びネットワークデバイス用のドライバをアンロードすることのうちの少なくともいずれかを行って、コンピュータ１０とネットワークとの間の接続を切断する。
【００５６】
ユーザ画像撮像部３１１は、不正ユーザ検出部３０８による通知に応答して、カメラモジュール１１５を用いて悪意のあるユーザの画像を撮影する。ユーザ画像撮像部３１１は、撮影したユーザ画像４１をＨＤＤ１０９内に格納する。コンピュータ１０を管理する管理者は、格納されたユーザ画像４１によって悪意のあるユーザを確認することができる。また、悪意のあるユーザを撮影する機能を有することにより、違反行為を抑止する効果が得られる。
【００５７】
ＢＩＯＳ通信部３１２は、タイマ３０６を用いて、一定時間毎に監視プログラム１０７Ａへの通知を行う。ＢＩＯＳ通信部３１２は、例えば、ＢＩＯＳが備える特定のプログラム（インタフェース）を一定時間毎に呼び出すことによって、監視プログラム１０７Ａへの通知を行う。
【００５８】
監視プログラム１０７Ａは、ＢＩＯＳ通信部３１２による通知を受信したとき、この通知を受信した時刻を示す情報を、不揮発メモリ１０７内に通知時刻データ１０７Ｂとして格納する。そして、監視プログラム１０７Ａは、例えば、一定時間毎に、前回の通知時刻（通知時刻データ１０７Ｂ）から現在の時刻までの経過時間を算出し、算出した経過時間がしきい値時間よりも長いか否かを判定する。算出した経過時間がしきい値時間以内である場合、監視プログラム１０７Ａは、不正ユーザ検出プログラム２０２が正常に動作していると判断する。算出した経過時間がしきい値時間よりも長い場合、監視プログラム１０７Ａは、不正ユーザ検出プログラム２０２が正常に動作していないと判断する。なお、監視プログラム１０７Ａは、ＢＩＯＳ通信部３１２による通知を受信してから次の通知が受信されない間、しきい値時間だけカウントダウンを行い、残り時間が０になったとき、不正ユーザ検出プログラム２０２が正常に動作していないと判断してもよい。
【００５９】
不正ユーザ検出プログラム２０２が正常に動作していないと判断したとき、監視プログラム１０７Ａは、コンピュータ１０の使用を制限するための処理を実行する。具体的には、監視プログラム１０７Ａは、例えば、ＢＩＯＳパスワード１０７Ｃを変更する処理と、コンピュータ１０をシャットダウンする処理とを実行する。この監視プログラム１０７Ａによって、例えば、悪意のあるユーザによって不正ユーザ検出プログラム２０２の実行が妨害（停止）された際にも、不正ユーザ検出プログラム２０２からの定期的な通知が受信されないことに基づいて、悪意のあるユーザによるコンピュータ１０の使用を制限することができる。
【００６０】
以上の構成により、不正ユーザ検出プログラム２０２は、接続を許可されていないカテゴリに属するデバイスの取り付けや許可されていないデータへのアクセス要求等の違反行為が検出されたとき、違反行為を行ったユーザが悪意のあるユーザであるか否かを判定することができる。そして、ユーザが悪意のあるユーザであると判定された場合には、コンピュータ１０の使用を制限するための処理を実行する。また、監視プログラム１０７Ａは、不正ユーザ検出プログラム２０２が正常に動作しているか否かを定期的に判定する。そして、不正ユーザ検出プログラム２０２が正常に動作していない場合、コンピュータ１０の使用を制限するための処理を実行する。上述のように、コンピュータ１０の使用を制限する処理が実行されることにより、情報漏洩等の被害を防止することができる。
【００６１】
次いで、図８から図１３は、コンピュータ１０によって実行される不正ユーザ検出処理の手順の例を示すフローチャートである。まず、図８のフローチャートを参照して、不正ユーザ検出プログラム２０２によって実行される違反検出処理の手順の例について説明する。ここでは、ＯＳ２０１が、コンピュータ１０にデバイス（リムーバブルデバイス）が取り付けられたことを示すメッセージを通知したことに応答して、違反検出処理が開始されることを想定する。したがって例えば、デバイス取り付け検出部３０１が、デバイスが取り付けられたことを示すメッセージを検出したことを想定する。
【００６２】
まず、デバイス判定部３０２は、データベース４０に格納されたカテゴリ管理データ４０Ａに、カテゴリを指定した接続の許可又は禁止が設定されているか否かを判定する（ブロックＢ１１）。カテゴリを指定した接続の許可又は禁止が設定されている場合（ブロックＢ１１のＹＥＳ）、デバイス判定部３０２は、取り付けられたデバイスが属するカテゴリを検出する（ブロックＢ１２）。デバイス判定部３０２は、例えば、カテゴリ管理データ４０Ａとデバイス管理データ４０Ｂとを用いて、取り付けられたデバイスがいずれのカテゴリに属するかを決定する。
【００６３】
次いで、デバイス判定部３０２は、取り付けられたデバイスが属するカテゴリが、接続を許可されていないカテゴリであるか否かを判定する（ブロックＢ１３）。デバイス判定部３０２は、カテゴリ管理データ４０Ａにおいて、ブロックＢ１２で検出されたカテゴリに対応するエントリを参照し、当該カテゴリが、接続を許可されていないカテゴリであるか否かを判定する。つまり、デバイス判定部３０２は、取り付けられたデバイスが許可されていないカテゴリに属するデバイスであるか否かを判定する。
【００６４】
取り付けられたデバイスが属するカテゴリが接続を許可されたカテゴリである場合（ブロックＢ１３のＮＯ）、又はカテゴリを指定した接続の許可又は禁止が設定されていない場合（ブロックＢ１１のＮＯ）、デバイス判定部３０２は、デバイス管理データ４０Ｂに、デバイスを指定した接続の許可又は禁止が設定されているか否かを判定する（ブロックＢ１４）。デバイスを指定した接続の許可又は禁止が設定されている場合（ブロックＢ１４のＹＥＳ）、デバイス判定部３０２は、取り付けられたデバイスが、接続を許可されていないデバイスであるか否かを判定する（ブロックＢ１５）。
【００６５】
取り付けられたデバイスが接続を許可されたデバイスである場合（ブロックＢ１５のＮＯ）、又はデバイスを指定した接続の許可又は禁止が設定されていない場合（ブロックＢ１４のＮＯ）、デバイス判定部３０２は、処理を終了する。そして、ＯＳ２０１は、デバイスが取り付けられたことを示すメッセージに応答して、そのデバイスとの接続を確立する。
【００６６】
取り付けられたデバイスが属するカテゴリが接続を許可されていないカテゴリである場合（ブロックＢ１３のＹＥＳ）、又は取り付けられたデバイスが接続を許可されていないデバイスである場合（ブロックＢ１５のＹＥＳ）、違反管理データ更新部３０５は、違反管理データ更新処理を実行する（ブロックＢ１６）。違反管理データ更新処理は、データベース４０内の違反管理データ４０Ｄを更新する処理である。違反管理データ更新処理の手順の詳細は図１０を参照して後述する。そして、要求破棄部３０７は、ＯＳ２０１によって出力された、デバイスが取り付けられたことを示すメッセージを破棄する（ブロックＢ１７）。このメッセージが破棄されることにより、取り付けられたデバイスとコンピュータ１０との間の接続が確立されることを回避することができる。すなわち、要求破棄部３０７は、デバイスが取り付けられたことを示すメッセージに応答した、当該デバイスとの接続を確立するための処理を、メッセージを破棄することによって妨害する。
【００６７】
以上の処理により、不正ユーザ検出プログラム２０２は、許可されていないデバイス（許可されていないカテゴリに属するデバイス）がコンピュータ１０に取り付けられた際には、違反管理データ４０Ｄを更新すると共に、許可されていないデバイスがコンピュータ１０に接続されないように制御することができる。
【００６８】
また、図９のフローチャートは、不正ユーザ検出プログラム２０２によって実行される違反検出処理の手順の別の例を示す。ここでは、ＯＳ２０１が、データへのアクセス要求を示すメッセージを出力したことに応答して、違反検出処理が開始されることを想定する。したがって例えば、アクセス要求検出部３０３が、ＯＳファイルＩＯレイヤにおけるアクセス要求を検出したことを想定する。
【００６９】
まず、アクセス判定部３０４は、検出されたアクセス要求がリード要求であるか否かを判定する（ブロックＢ２１）。アクセス要求がリード要求である場合（ブロックＢ２１のＹＥＳ）、アクセス判定部３０４は、データベース４０内のアクセス管理データ４０Ｃを参照して、アクセス要求に指定されたデータ（アクセス領域）のリード（読み取り）が許可されているか否かを判定する（ブロックＢ２２）。
【００７０】
アクセス要求がリード要求でない場合（ブロックＢ２１のＮＯ）、アクセス判定部３０４は、検出されたアクセス要求がライト要求であるか否かを判定する（ブロックＢ２３）。アクセス要求がライト要求である場合（ブロックＢ２３のＹＥＳ）、アクセス判定部３０４は、アクセス管理データ４０Ｃを参照して、アクセス要求に指定されたデータ（アクセス領域）へのライト（書き込み）が許可されているか否かを判定する（ブロックＢ２４）。
【００７１】
アクセス要求に指定されたデータのリードが許可されていない場合（ブロックＢ２２のＮＯ）、又はアクセス要求に指定されたデータへのライトが許可されていない場合（ブロックＢ２４のＮＯ）、違反管理データ更新部３０５は、違反管理データ更新処理を実行する（ブロックＢ２５）。違反管理データ更新処理は、データベース４０内の違反管理データ４０Ｄを更新する処理である。違反管理データ更新処理の手順の詳細は図１０を参照して後述する。そして、要求破棄部３０７はアクセス要求を破棄し（ブロックＢ２６）、上位層（ＯＳファイルＩＯレイヤ）にアクセスエラーを通知する（ブロックＢ２７）。つまり、下位層（ＯＳファイルシステムレイヤ）にアクセス要求は伝えられずに、破棄される。
【００７２】
アクセス要求がライト要求でない場合（ブロックＢ２３のＮＯ）、アクセス要求に指定されたデータのリードが許可されている場合（ブロックＢ２２のＹＥＳ）、又はアクセス要求に指定されたデータへのライトが許可されている場合（ブロックＢ２４のＹＥＳ）、ＯＳ２０１は、アクセス要求に応じた下位層（ＯＳファイルシステムレイヤ）の処理を実行する（ブロックＢ２８）。
【００７３】
以上の処理により、不正ユーザ検出プログラム２０２は、許可されていないデータへのアクセスが要求された際には、違反管理データ４０Ｄを更新すると共に、許可されていないデータへのアクセス（リード、ライト）が実行されないように制御することができる。なお、このデータへのアクセスは、データのリード及びライトに限らず、印刷、名称の変更、属性のリード／ライト、削除、所有権の変更（所有者の書き換え）等であってもよい。その場合、アクセス管理データ４０Ｃでは、異なる種類のアクセス毎に、そのアクセスの許可又は禁止を設定してもよい。不正ユーザ検出プログラム２０２は、アクセス管理データ４０Ｃに基づいて、さらに多くの種類のアクセス要求を判定し、許可されていない種類のアクセスを検出することができる。
【００７４】
次いで、図１０のフローチャートは、不正ユーザ検出プログラム２０２によって実行される違反管理データ更新処理（ブロックＢ４１〜Ｂ４４）及び使用制限処理（ブロックＢ４５〜Ｂ４８）の手順の例を示す。図１０に示す違反管理データ更新処理は、上述のように、図８のブロックＢ１６及び図９のブロックＢ２５に対応する処理を示す。したがって、図１０に示す処理は、デバイス判定部３０２又はアクセス判定部３０４によって違反が検出された際に実行される。
【００７５】
まず、違反管理データ更新部３０５は、前回違反が検出された時刻（違反管理データ４０Ｄの最終違反日時）から、今回違反が検出された時刻までの経過時間を算出する（ブロックＢ４１）。違反管理データ更新部３０５は、例えば、前回接続を許可されていないカテゴリに属するデバイスが取り付けられた時刻から、今回接続を許可されていないカテゴリに属するデバイスが取り付けられた時刻までの経過時間を算出する。また、違反管理データ更新部３０５は、例えば、前回許可されていないデータへのアクセスが要求された時刻から、今回許可されていないデータへのアクセスが要求された時刻までの経過時間を算出する。さらに、違反管理データ更新部３０５は、例えば、前回接続を許可されていないカテゴリに属するデバイスが取り付けられた時刻から、今回許可されていないデータへのアクセスが要求された時刻までの経過時間を算出してもよい。
【００７６】
次に、違反管理データ更新部３０５は、算出した経過時間が所定時間以内であるか否かを判定する（ブロックＢ４２）。算出した経過時間が所定時間より大きい場合（ブロックＢ４２のＮＯ）、違反管理データ更新部３０５は処理を終了する。
【００７７】
算出した経過時間が所定時間以内である場合（ブロックＢ４２のＹＥＳ）、違反管理データ更新部３０５は、違反管理データ４０Ｄの違反回数に１を加算する（ブロックＢ４３）。そして、違反管理データ更新部３０５は、今回違反が検出された時刻とブロックＢ４３で加算された違反回数とを保存する（ブロックＢ４４）。違反管理データ更新部３０５は、今回違反が検出された時刻（日時）を用いて、違反管理データ４０Ｄの最終違反日時を書き換える。また、違反管理データ更新部３０５は、Ｂ４３で加算された違反回数を用いて、違反管理データ４０Ｄの違反回数を書き換える。
【００７８】
次いで、不正ユーザ検出部３０８は、違反回数がしきい値を超えたか否かを判定する（ブロックＢ４５）。違反回数がしきい値以下である場合（ブロックＢ４５のＮＯ）、不正ユーザ検出部３０８は処理を終了する。
【００７９】
一方、違反回数がしきい値を超えている場合（ブロックＢ４５のＹＥＳ）、不正ユーザ検出部３０８は、コンピュータ１０を使用しているユーザを悪意のあるユーザ（不正ユーザ）であると判断する（ブロックＢ４６）。そして、ブロックＢ４７からＢ４９までの使用制限処理の手順では、悪意のあるユーザに対して、コンピュータ１０の使用を制限するための処理が実行される。
【００８０】
まず、ネットワーク切断部３１０は、コンピュータ１０とネットワークとの間の接続を切断する（ブロックＢ４７）。ネットワーク切断部３１０は、例えば、ネットワークデバイス（ＬＡＮコントローラ１０８、無線ＬＡＮコントローラ１１２等）に電源をオフにする要求を出力すること、コンピュータ１０のマザーボード上の設定を変更してネットワークデバイスが接続されているバスを切り離すこと、及びネットワークデバイス用のドライバをアンロードすることのうちの少なくともいずれかを行って、コンピュータ１０とネットワークとの間の接続を切断する。
【００８１】
パスワード制御部３０９は、コンピュータ１０がパワーオンされた際に用いられるパスワード（ＢＩＯＳ認証用のパスワード）１０７Ｃを変更する（ブロックＢ４８）。パスワード制御部３０９は、例えば、ＢＩＯＳが備えるインタフェースを介して、悪意のあるユーザが使用しているパスワードを別のパスワードに変更する。
【００８２】
また、ユーザ画像撮像部３１１は、カメラモジュール１１５を用いて、悪意のあるユーザの画像を撮影する（ブロックＢ４９）。ユーザ画像撮像部３１１は、撮影したユーザ画像４１をＨＤＤ１０９内に格納する。
【００８３】
以上の処理により、接続を許可されていないカテゴリに属するデバイスの取り付けや許可されていないデータへのアクセス要求等の違反行為が検出されたとき、違反行為を行ったユーザが悪意のあるユーザであるか否かを判定することができる。そして、ユーザが悪意のあるユーザであると判定された場合には、コンピュータ１０の使用を制限するための処理を実行することにより、情報漏洩等の被害を防止することができる。
【００８４】
また、図１１は、不正ユーザ検出プログラム２０２によって実行される、タイマ３０６に基づく違反管理データ更新処理の手順の例を示すフローチャートである。このタイマ３０６に基づく違反管理データ更新処理は、例えば、タイマ３０６に示される時間に基づいて所定時間毎に（例えば、１時間毎に）実行される。
【００８５】
まず、違反管理データ更新部３０５は、違反管理データ４０Ｄの違反回数が０であるか否かを判定する（ブロックＢ３１）。違反回数が０である場合（ブロックＢ３１のＹＥＳ）、ＢＩＯＳ通信部３１２は監視プログラム１０７Ａへの通知を行う（ブロックＢ３６）。ＢＩＯＳ通信部３１２による通知を受信した際の監視プログラム１０７Ａによる処理は、図１２を参照して後述する。
【００８６】
違反回数が０でない場合（ブロックＢ３１のＮＯ）、違反管理データ更新部３０５は、前回違反が検出された時刻（違反管理データ４０Ｄの最終違反日時）から、現在の時刻までの経過時間を算出する（ブロックＢ３２）。そして、違反管理データ更新部３０５は、算出した経過時間が所定時間より長いか否かを判定する（ブロックＢ３３）。算出した経過時間が所定時間以内である場合（ブロックＢ３３のＮＯ）、ＢＩＯＳ通信部３１２は監視プログラム１０７Ａへの通知を行う（ブロックＢ３６）。
【００８７】
算出した経過時間が所定時間よりも長い場合（ブロックＢ３３のＹＥＳ）、違反管理データ更新部３０５は、違反管理データ４０Ｄの違反回数から１を減算する（ブロックＢ３４）。なお、違反管理データ更新部３０５は、算出した経過時間が所定時間よりも長い場合、違反回数に０を設定してもよい。
【００８８】
違反管理データ更新部３０５は、ブロックＢ３４で減算した違反回数を保存する（ブロックＢ３５）。具体的には、違反管理データ更新部３０５は、ブロックＢ３４で減算した違反回数を用いて、違反管理データ４０Ｄの違反回数を書き換える。そして、ＢＩＯＳ通信部３１２は監視プログラム１０７Ａへの通知を行う（ブロックＢ３６）。
【００８９】
以上の処理により、違反管理データ更新部３０５は、前回違反が検出された時刻から所定時間が経過したとき、違反管理データ４０Ｄの違反回数を減らす（又は０にする）更新を行う。この更新により、悪意のないユーザが誤って行った操作が違反として検出された際にも、その操作から所定の期間だけ違反行為が行われなければ、このユーザが悪意のあるユーザとして検出されないように違反回数を制御することができる。
【００９０】
図１２は、監視プログラム１０７Ａによって実行される通知時刻更新処理の手順の例を示すフローチャートである。この通知時刻更新処理は、不正ユーザ検出プログラム２０２に設けられたＢＩＯＳ通信部３１２による通知（図１１のブロックＢ３６）に応答して実行される。
【００９１】
まず、監視プログラム１０７Ａは、不正ユーザ検出プログラム２０２（ＢＩＯＳ通信部３１２）からの通知を受信する（ブロックＢ５１）。そして、監視プログラム１０７Ａは、この通知を受信した時刻を保存する（ブロックＢ５２）。監視プログラム１０７Ａは、この通知を受信した時刻を示す情報を、不揮発メモリ１０７内に通知時刻データ１０７Ｂとして格納する。
【００９２】
また、図１３のフローチャートを参照して、監視プログラム１０７Ａによって実行される使用制限処理の手順の例について説明する。この使用制限処理は、図１２のブロックＢ５２で保存された通知時刻データ１０７Ｂに基づいて実行される。
【００９３】
まず、監視プログラム１０７Ａは、前回の通知時刻（通知時刻データ１０７Ｂ）から現在の時刻までの経過時間を算出する（ブロックＢ６１）。次に、監視プログラム１０７Ａは、算出した経過時間がしきい値時間よりも長いか否かを判定する（ブロックＢ６２）。算出した経過時間がしきい値時間以内である場合（ブロックＢ６２のＮＯ）、監視プログラム１０７Ａは処理を終了する。
【００９４】
算出した経過時間がしきい値時間よりも長い場合（ブロックＢ６２のＹＥＳ）、監視プログラム１０７Ａは、不正ユーザ検出プログラム２０２が正常に動作していないと判断する（ブロックＢ６３）。つまり、監視プログラム１０７Ａは、しきい値時間より長く、不正ユーザ検出プログラム２０２からの通知が受信されなかったとき、不正ユーザ検出プログラム２０２が正常に動作していないと判断する。
【００９５】
そして、監視プログラム１０７Ａは、ＢＩＯＳパスワード１０７Ｃを変更する処理を実行する（ブロックＢ６４）。また、監視プログラム１０７Ａは、コンピュータ１０をシャットダウンする処理を実行する（ブロックＢ６５）。
【００９６】
以上の処理により、不正ユーザ検出プログラム２０２が正常に動作していないと推定されるとき、監視プログラム１０７Ａが、コンピュータ１０の使用を制限するための処理を実行することにより、情報漏洩等の被害を防止することができる。なお、監視プログラム１０７Ａは、ブロックＢ６５でコンピュータ１０をシャットダウンする前に、ＯＳ２０１にコンピュータ１０がシャットダウンされることを通知し、ＯＳ２０１に必要な処理を実行させてもよい。
【００９７】
以上説明したように、本実施形態によれば、故意に不正な操作を行ったユーザによる使用を制限できる。不正ユーザ検出プログラム２０２は、接続を許可されていないカテゴリに属するデバイスの取り付けや許可されていないデータへのアクセス要求等の違反行為が検出されたとき、違反行為を行ったユーザが悪意のあるユーザであるか否かを判定することができる。そして、ユーザが悪意のあるユーザであると判定された場合には、コンピュータ１０の使用を制限するための処理を実行する。また、監視プログラム１０７Ａは、不正ユーザ検出プログラム２０２が正常に動作しているか否かを定期的に判定する。そして、不正ユーザ検出プログラム２０２が正常に動作していない場合、コンピュータ１０の使用を制限するための処理を実行する。上述のように、悪意のあるユーザに対してコンピュータ１０の使用を制限する処理が実行されることにより、情報漏洩等の被害を防止することができる。
【００９８】
なお、本実施形態の不正ユーザ検出処理の手順は全てソフトウェアによって実行することができる。このため、不正ユーザ検出処理の手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【００９９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１００】
１０７…不揮発メモリ（ＢＩＯＳ−ＲＯＭ）、１０７Ａ…監視プログラム、１０７Ｂ…通知時刻データ、１０７Ｃ…パスワード、１０７Ｄ…暗号化鍵、１０７Ｅ…復号鍵、１０９…ＨＤＤ、２０２…不正ユーザ検出プログラム、３０１…デバイス取り付け検出部、３０２…デバイス判定部、３０３…アクセス要求検出部、３０４…アクセス判定部、３０５…違反管理データ更新部、３０６…タイマ、３０７…要求破棄部、３０８…不正ユーザ検出部、３０９…パスワード制御部、３１０…ネットワーク切断部、３１１…ユーザ画像撮像部、３１２…ＢＩＯＳ通信部、４０…データベース、４０Ａ…カテゴリ管理データ、４０Ｂ…デバイス管理データ、４０Ｃ…アクセス管理データ、４０Ｄ…違反管理データ、４１…ユーザ画像。
【図１】
2012014414.tif 000003
【図２】
2012014414.tif 000004
【図３】
2012014414.tif 000005
【図４】
2012014414.tif 000006
【図５】
2012014414.tif 000007
【図６】
2012014414.tif 000008
【図７】
2012014414.tif 000009
【図８】
2012014414.tif 000010
【図９】
2012014414.tif 000011
【図１０】
2012014414.tif 000012
【図１１】
2012014414.tif 000013
【図１２】
2012014414.tif 000014
【図１３】
2012014414.tif 000015