実施の形態1
以下、実施の形態を図面を参照して具体的に説明する。本願に係る診断装置は、ネットワーク網に接続されたPC(Personal Computer)、携帯電話及びPDA( Personal Digital Assistant)等の情報処理装置である。診断装置は、ネットワーク網を介した外部からの不正なアクセス及び記憶しているデータの漏洩等のセキュリティに対する脆弱性に関する各種設定を有する。診断装置は、セキュリティに関する各種設定が脆弱性を引き起こす設定であるか否かを判定することにより、セキュリティ診断を実行する。本実施の形態1は、診断装置としてPCを例にあげて説明する。
図1は、管理システムの例を示す模式図である。図中1は、社内などの限定された範囲の内部に設置されたデスクトップ型又はラップトップ型のPC(Personal Computer)であり、ユーザにより操作される各種プログラムがインストールされている。各PC1は、一般に特定のユーザにより操作される。例えば、PC1が設置されている社内に勤務する従業員などがPC1のユーザとして挙げられる。各PC1は、各種プログラムの設定に脆弱性を引き起こす設定があるか否かを判定することにより、セキュリティに対する脆弱性を診断する。また、各PC1は、記憶しているファイル夫々に脆弱性を引き起こすプログラムが含まれているか否かを判定することにより、セキュリティに対する脆弱性を診断する。
各PC1は、LAN( Local Area Network )等の社内に設置されたネットワーク網Nに接続されている。ネットワーク網Nは、図示しない社外の他のネットワーク網に接続が可能でもよく、この場合、ファイアーウォール等が設けられて社外からの不正なアクセスを防止する。PC1は、ネットワーク網Nを介して社内に設置された他のPC1との間でメール等のデータの送受信が可能である。また、PC1は、ネットワーク網Nを介して社内に設置された図示しない社外のウェブサーバ装置及びファイルサーバ装置等へアクセスし、ウェブサイトの閲覧、並びに各種ファイルのダウンロード及びアップロード等が可能である。更に、PC1は、社内からインターネット網等の他のネットワーク網に接続することにより、社外のウェブサーバ装置及びファイルサーバ装置等へアクセスすることも可能である。
PC1は、社外へ持ち出されて社外の他のネットワーク網に接続してもよい。サーバ装置2は、システム管理者等によって操作され、複数のPC1で実行されるセキュリティ診断に関する各種データを管理する。サーバ装置2は、各種データをネットワーク網Nを介して各PC1に送信する。PC1は、ネットワーク網Nを介してサーバ装置2から送られてきた各種データを受信する。
図2は、実施の形態1に係るPC1の内部ハードウェアの例を示すブロック図である。PC1は、一般的なパーソナルコンピュータなどの計算機装置でよく、CPU( Central Processing Unit )10と、ROM( Read-Only Memory )11と、RAM( Random-Access Memory )12と、HDD( Hard Disk Drive )13と、操作部14とを含む。CPU10は、バス10aを介して接続された内部ハードウェア各部を制御する。また、CPU10は、HDD13に記憶されているプログラムをRAM12に読み出して実行することにより、セキュリティ診断を実行する。操作部14は、キーボード及びマウス等であり、PC1のユーザから操作を受け付ける。
また、PC1は、バス10aに日時を出力する時計部15と、表示部16と、記憶媒体接続部17と、通信部18とを含む。時計部15は、CPU10へ時刻を出力する。また、時計部15は、CPU10から計時の開始が指示された場合、経過時間の計時を開始して、当該経過時間をCPU10へ出力する。表示部16は、液晶ディスプレイ等であり、CPU10が実行しているプログラムに関する操作画面等を表示する。
記憶媒体接続部17は、USB(Universal Serial Bus )メモリ、CD( Compact Disc )−ROM及びDVD( Digital Versatile Disc )−ROM等の記憶媒体が接続される。記憶媒体接続部17は、接続された記憶媒体に対してデータの記録又は再生を行う。通信部18は、ネットワーク網N又は他のネットワーク網に接続される。通信部18は、ネットワーク網にネットワークケーブルを介して接続される。また、通信部18は、ネットワーク網に接続された無線局との間で無線通信を行うことにより、ネットワーク網に接続してもよい。
CPU10は、操作部14が受け付けた操作、記憶媒体接続部17への記憶媒体の接続及び通信部18のネットワーク網N又は他のネットワーク網への接続を、ユーザ(操作者)による操作として受け付ける。HDD13は、セキュリティ診断で診断される複数の診断項目を含む診断項目表131を記憶している。また、HDD13は、CPU10が受け付けたユーザによる操作のうち、セキュリティ診断を実行する頻度を決定するために参照される操作を示す操作データ132を記憶する。
図3は、実施の形態1に係るサーバ装置2の内部ハードウェアの例を示すブロック図である。サーバ装置2は、CPU20と、ROM21と、RAM22と、HDD23と、操作部24と、表示部26と、通信部28とを含む。CPU20は、バス20aを介して接続された内部ハードウェア各部を制御する。HDD23は、点数表231と、頻度表232と、勤務データ233とを記憶する。点数表231には、各PC1のCPU10が受付可能なユーザによる操作夫々に対するセキュリティ上の危険度を示す点数が、予め決定されて記録されている。
頻度表232には、各PC1のセキュリティ上の危険度を示す後述の平均点数に対応して、異なる複数の頻度が、予め決定されて記録されている。勤務データ233には、各PC1を操作する特定のユーザの勤務時間が記録されている。システム管理者は、サーバ装置2の操作部24を操作することにより、HDD23に記憶されている点数表231と、頻度表232と、勤務データ233とを変更することができる。サーバ装置2は、HDD23に記憶されている点数表231、頻度表232及び勤務データ233が変更される都度、通信部28によりネットワーク網Nを介して各PC1へ変更された表又はデータを送信する。
各PC1は、サーバ装置2から送られてきた点数表231、頻度表232又は勤務データ233を受信する都度、受信した表又はデータを用いてHDD13に記憶してある表又はデータを更新する。また、サーバ装置2は、PC1が社外等に持ち出されてネットワーク網Nに接続されておらず、点数表231、頻度表232及び勤務データ233のPC1への送信に失敗した場合、PC1がネットワーク網Nに接続された時点で再送する。以上により、各PC1のHDD13には、サーバ装置2が記憶する点数表231、頻度表232及び勤務データ233が記憶される。
図4は、実施の形態1に係る診断項目表131のレコードレイアウト例を示す図表である。図4に示す診断項目表131の例は、診断項目として「ウェブブラウザ設定」、「ファイル交換ソフト」及び「共有フォルダ」等を含む。診断項目「ウェブブラウザ設定」は、ウェブブラウザが有するセキュリティに関連する設定を診断する項目である。ウェブブラウザは、PC1のHDD13にインストールされており、ユーザがウェブサイトの閲覧に用いるプログラムである。ウェブブラウザのセキュリティに関する設定は、例えば、ウェブサイトから不正にダウンロードされたスパイウェア等のマルウェアを検出するか否かを示す設定である。
また、ウェブブラウザのセキュリティに関する設定は、例えば、正規なウェブサイトを装った不正なウェブサイトを検出するか否かを示す設定である。診断項目「ファイル交換ソフト」は、データを外部に漏洩する可能性のあるファイル交換ソフトがHDD13に記憶されているか否かを診断する項目である。診断項目「共有フォルダ」は、許可したユーザのみがアクセスすることができる共有フォルダの設定がHDD13に記憶されているか否かを診断する項目である。
図5は、点数表231のレコードレイアウト例を示す図表である。点数表231には、CPU10が受付可能な操作のうち、PC1のセキュリティに関連する操作夫々に対応してセキュリティ上の危険度を示す点数が、素点として予め決定されて記憶されている。素点は、操作日時、操作内容及び操作したユーザのユーザ権限夫々に対応付けて点数表231に記憶されている。操作日時がPC1を操作する特定のユーザの勤務時間外である場合、不正なユーザがPC1を操作した可能性が高く、セキュリティ上の危険度が高くなる。このため、図5に示す例では、勤務時間外に対して、勤務時間内に対応付けられた素点0よりも大きな素点3が対応づけられている。
また、ユーザ権限が管理者である場合、PC1に対して変更可能な設定が多く、ユーザ権限が一般ユーザである場合よりもセキュリティ上の危険度が高くなる。よって、図5に示す例では、ユーザ権限が管理者である場合には、ユーザ権限が一般ユーザである場合に対応付けられた素点1よりも大きな素点2が対応付けられている。操作内容「ウェブサイトの閲覧(社内)」は、ネットワーク網Nに接続された社内のウェブサーバ装置が提供するウェブサイトの閲覧を行う操作を示す。操作内容「ウェブサイトの閲覧(社外)」は、他のネットワーク網に接続された社外のウェブサーバ装置が提供するウェブサイトの閲覧を行う操作を示す。
社内のウェブサーバ装置が提供するウェブブラウザの閲覧は、例えば、マルウェアがPC1へ不正にダウンロードされる可能性が低く、セキュリティ上の危険度が低い。このため、図5に示す例では、操作内容「ウェブサイトの閲覧(社内)」に素点0が対応付けられている。また、社外のウェブサーバ装置が提供するウェブブラウザの閲覧は、例えば、マルウェアが不正にPC1にダウンロードされる可能性が高く、セキュリティ上の危険度が高い。このため、図5に示す例では、操作内容「ウェブサイトの閲覧(社外)」には、操作内容「ウェブサイトの閲覧(社内)」に対応付けられた素点0よりも高い素点1が対応づけられている。
操作内容「メールの送信(社内)」及び「メールの受信(社内)」夫々は、ネットワーク網Nに接続された社内の他のPC1へのメールの送信及び当該PC1からのメールの受信を行う操作を示す。社内の複数のPC1間でのメールの送受信は、データの漏洩又はウィルスを含むメールの受信が起こる可能性が低く、セキュリティ上の危険度が低い。このため、図5に示す例では、操作内容「メールの送信(社内)」及び「メールの受信(社内)」には、素点0が対応付けられている。操作内容「メールの送信(社外)」及び「メールの受信(社外)」夫々は、他のネットワーク網に接続された社外のPC等へメールの送信及び当該PCからのメールの受信を行う操作を示す。
社内のPC1及び社外のPC間でのメールの送受信は、データの漏洩又はウィルスを含むメールの受信が起こる可能性が高く、セキュリティ上の危険度が高い。このため、図5に示す例では、操作内容「メールの送信(社外)」及び「メールの受信(社外)」には、操作内容「メールの送信(社内)」及び「メールの受信(社内)」に対応付けられた素点0よりも高い素点3が対応付けられている。操作内容「ネットワークの接続(社内)」及び「ネットワークの接続(社外)夫々は、社内のネットワーク網N及び社外の他のネットワーク網に接続する操作を示す。
PC1が社外のネットワーク網に接続した場合、PC1から外部へのデータの漏洩及びPC1への外部からの不正なアクセス等が行われる可能性が高く、セキュリティ上の危険度が高い。このため、図5に示す例では、操作内容「ネットワークの接続(社外)」には、操作内容「ネットワークの接続(社内)」に対応付けられた素点0よりも大きな素点3が対応付けられている。操作内容「記憶媒体の接続(CD−ROM)」及び「記憶媒体の接続(USBメモリ)」夫々は、記憶媒体接続部17にCD−ROM及びUSBメモリを接続する操作を示す。
記憶媒体接続部17にCD―ROMが接続された場合、当該CD―ROMからファイル交換ソフト等のセキュリティに対する脆弱性を引き起こすソフトウェアがHDD13にインストールされる可能性があり、セキュリティ上の危険がある。このため、図5に示す例では、操作内容「記憶媒体の接続(CD−ROM)」には、素点1が対応付けられている。また、記憶媒体接続部17にUSBメモリが接続された場合、HDD13に記憶されているデータが当該USBメモリにコピーされて社外に漏洩する可能性が高く、セキュリティ上の危険度が高い。このため、図5に示す例では、操作内容「記憶媒体の接続(USBメモリ)」には、操作内容「記憶媒体の接続(CD−ROM)」に対応付けられた素点1よりも大きな素点2が対応付けられている。
図6は、頻度表232のレコードレイアウト例を示す図表である。頻度表232には、複数の異なる頻度が、平均点数の異なる複数の範囲夫々に対応付けて記憶されている。平均点数は、PC1に入力された操作に基づいて後述のセキュリティ診断実行処理により算出されたセキュリティ上の危険度を示す。平均点数が増大する程、PC1のセキュリィティ上の危険性が増大する。頻度表232は、平均点数が高くなるに従ってセキュリティ診断を実行する頻度が増大するよう設定されている。図6に示す例では、平均点数が0点以上25点未満であり、危険度が最も低い場合に「月1回」の最も低い頻度が記憶されている。平均点数が25点以上50点未満に増大し、危険度が増大した場合、「月2回」に増大した頻度が記憶されている。更に平均点数が50点以上100点未満に増大し、危険度が更に増大した場合、「週1回」の高い頻度が記憶されている。また、平均点数が100以上であり、危険度が最も高い場合、「毎日」の最も高い頻度が記憶されている。
図7は、勤務データ233のレコードレイアウト例を示す図表である。勤務データ233には、特定のユーザ夫々が操作する各PC1のユーザアカウントに対応付けて、当該ユーザの勤務時間帯が記憶されている。図7に示す例では、ユーザアカウント「USER1」が割り当てられたPC1を一般に操作する特定のユーザの勤務時間帯が月曜日から金曜日の9時〜12時及び13時〜18時であることを示している。
図8は、実施の形態1に係る操作データ記録処理の手順を示すフローチャートである。操作データ記録処理は、操作データ132をHDD13に記録するためにPC1のCPU10により実行される。CPU10は、操作ログの記録を開始する(ステップS11)。操作ログは、CPU10が受け付けたユーザによる操作の一覧であり、各操作の操作内容、操作日時(操作時刻)及び操作を行ったユーザのユーザ権限等を含む。操作ログの記録は、CPU10で常時実行される常駐プログラム等により、CPU10が操作を受け付ける都度、当該操作を取得し、操作ログとしてHDD13に記録するとよい。
CPU10は、操作ログの記録を開始した時点からの経過時間の計時を開始する(ステップS12)。CPU10は、所定時間が経過したか否かを判定する(ステップS13)。所定時間は、予め決定されてHDD13に記憶してあり、例えば、1時間とするとよい。CPU10は、所定時間が経過したと判定した場合(ステップS13でYES)、HDD13に記憶されている操作ログから、所定時間内に記録された操作を抽出する(ステップS14)。CPU10は、抽出した操作から、HDD13に記憶されている点数表231に含まれる操作を更に抽出する(ステップS15)。
CPU10は、ステップS15で抽出した操作を操作データ132としてHDD13に記録する(ステップS16)。また、HDD13に操作データ132が既に記録されている場合には、抽出した操作を当該操作データ132に追加する。CPU10は、終了操作を受け付けたか否かを判定する(ステップS17)。終了操作は、例えば、PC1をシャットダウンさせる操作である。CPU10は、ステップS13で所定時間を経過していないと判定した場合(ステップS13でNO)、ステップS17に処理を移す。
CPU10は、ステップS17で終了操作を受け付けていないと判定した場合(ステップS17でNO)、ステップS12に処理を戻す。これにより、所定時間が経過する都度、操作ログからセキュリティに関連する操作が抽出されて操作データ132に追加される。CPU10は、終了操作を受け付けたと判定した場合(ステップS17でYES)、操作データ記録処理を終了する。
図9は、点数算出処理の手順を示すフローチャートである。点数算出処理は、操作データ132に含まれる各操作に対応する点数を算出すべくPC1のCPU10により実行される。CPU10は、HDD13に記憶されている操作データ132から所定日数分の操作を読み出す(ステップS31)。所定日数は、予め決定されてHDD13に記憶してあり、例えば、7日とするとよい。CPU10は、読み出した所定日数分の操作に点数が記録されていない操作が含まれているか否かを判定する(ステップS32)。CPU10は、点数が記録されていない操作があると判定した場合(ステップS32でYES)、当該操作のうち、1つの操作を選択する(ステップS33)。
CPU10は、HDD13に記憶されている勤務データ233から勤務時間帯を読み出す(ステップS34)。CPU10は、選択した操作の操作日時及び読み出した勤務時間帯に基づいてHDD13に記憶されている点数表231から素点を読み出す(ステップS35)。ここで、CPU10は、操作日時が読み出した勤務時間帯に含まれない場合、点数表231から勤務時間外に対応する素点を読み出す。また、CPU10は、操作日時が読み出した勤務時間帯に含まれる場合、点数表231から勤務時間内に対応する素点を読み出す。CPU10は、選択した操作の操作内容に対応する素点をHDD13に記憶されている点数表231から読み出す(ステップS36)。
CPU10は、選択した操作のユーザ権限に対応する素点をHDD13に記憶されている点数表231から読み出す(ステップS37)。CPU10は、読み出した各素点を合計して、選択した操作に対応する点数を算出する(ステップS38)。CPU10は、算出した点数を選択した操作に関連付けて操作データ132に記録し(ステップS39)、ステップS32に処理を戻す。CPU10は、ステップS32で点数が記録されていない操作がないと判定した場合(ステップS32でNO)、点数算出処理を終了する。
図10は、操作データ132のレコードレイアウト例を示す図表である。図10に示す例は、操作データ記録処理によりHDD13に記録され、更に点数算出処理により算出された点数が記録された操作データ132である。操作データ132は、操作データ記録処理により、操作ログから抽出された操作を含んでおり、各操作は、操作日時、操作内容及びユーザ権限を含む。図10に示す例では、ユーザ権限「一般ユーザ」を有する社員が、操作日時「2009/10/01 09:20」に操作した操作内容「ウェブサイトの閲覧(社外)」の操作が他の操作と共に記録されている。操作日時「2009/10/01 09:20」は、点数算出処理により勤務時間内であると判定され、勤務時間内の操作に対応する素点0点が点数表231から読み出されて操作データ132に記録されている。
点数算出処理により、操作内容「ウェブサイトの閲覧(社外)」に対応する素点1が点数表231から読み出され、操作データ132に記録されている。点数算出処理により、ユーザ権限「一般ユーザ」に対応する素点1が点数表231から読み出され、操作データ132に記録されている。そして、点数算出処理により、操作日時「2009/10/01 09:20」、操作内容「ウェブサイトの閲覧(社外)」及びユーザ権限「一般ユーザ」夫々に対応する各素点の合計値が、操作に対応する点数2として操作データ132に記録されている。
図11は、セキュリティ診断実行処理の手順を示すフローチャートである。セキュリティ診断実行処理は、操作データ132に記録された点数に基づいて頻度を決定し、当該頻度に基づいてセキュリティ診断を実行すべく、CPU10により実行される。CPU10は、時計部15が出力する日時を取得する(ステップS51)。CPU10は、取得した日時に含まれる時刻が予め設定されている頻度更新時刻であるかを判定する(ステップS52)。CPU10は、時刻が頻度更新時刻であると判定した場合(ステップS52でYES)、操作データ132から所定日数分の点数を読み出す(ステップS53)。
所定日数分の点数の読出しは、直近から所定日数の期間内の操作日時を有する操作夫々に関連付けて記録されている点数を操作データ132から読み出すとよい。CPU10は、読み出した所定日数分の点数の合計点数を算出する(ステップS54)。CPU10は、合計点数を所定日数で除算することにより、一日分の平均点数を算出する(ステップS55)。CPU10は、平均点数に対応する頻度をHDD13に記憶してある頻度表232から読み出す(ステップS56)。CPU10は、読み出した頻度に基づいて診断日を決定し、更新する(ステップS57)。
診断日は、例えば、頻度が1ヵ月間における回数である場合、日付で指定するとよい。また、診断日は、例えば、頻度が1週間における回数である場合、曜日を指定するとよい。CPU10は、終了操作を受付けたか否かを判定する(ステップS58)。CPU10は、終了操作を受付けていないと判定した場合(ステップS58でNO)、ステップS51に処理を戻す。CPU10は、ステップS52で、時刻が頻度更新時刻でないと判定した場合(ステップS52でNO)、取得した日時に含まれる日付が診断日であるか否かを判定する(ステップS59)。
ステップS59では、頻度が毎日である場合、取得した日時に含まれる日付に関わらず、診断日であると判定するとよい。CPU10は、診断日でないと判定した場合(ステップS59でNO)、ステップS51に処理を戻す。CPU10は、診断日であると判定した場合(ステップS59でYES)、取得した日時に含まれる時刻が予め設定されている診断時刻であるか否かを判定する(ステップS60)。CPU10は、診断時刻でないと判定した場合(ステップS60でNO)、ステップS51に処理を戻す。
CPU10は、診断時刻であると判定した場合(ステップS60でYES)、診断項目表131に含まれる各診断項目を実行することで、セキュリティ診断を実行する(ステップS61)。CPU10は、ステップS61の次に、ステップS58へ処理を移す。CPU10は、ステップS58で、終了操作を受付けたと判定した場合(ステップS58でYES)、セキュリティ診断実行処理を終了する。
診断項目表131に診断項目「ウェブブラウザ設定」、「ファイル交換ソフト」及び「共有フォルダ」が含まれる例を示したが、これに限るものではなく、セキュリティに関する設定を診断する項目であればよい。例えば、診断項目表131に診断項目「パスワード設定」が含まれていてもよい。診断項目「パスワード設定」は、HDD13、又はCPU10が実行しているOS( Operation System )及びBIOS( Basic Input Output System )等に対してパスワードが設定されているか否かを診断する。パスワードが設定されている場合、PC1が不正なユーザにより操作されることを防止する。
診断項目表131には、例えば、診断項目「スクリーンセーバ」が含まれていてもよい。診断項目「スクリーンセーバ」は、CPU10が実行しているOS等が有するスクリーンセーバ機能に関する設定を診断する。例えば、操作部14が操作を受付けていない期間が待ち時間を超える場合、スクリーンセーバの起動が設定されているか否かを診断する。スクリーンセーバの起動が設定されている場合、PC1の正当なユーザがPC1から離れている場合、他のユーザがPC1の表示部16に表示されているデータ等を視認してデータが漏洩することを防止することが可能となる。また、例えば、診断項目「スクリーンセーバ」は、待ち時間が所定時間よりも短いか否かを診断してもよい。
診断項目表131には、例えば、診断項目「メールソフト設定」が含まれていてもよい。診断項目「メールソフト設定」は、パスワードの設定及びメールに含まれるコンピュータウィルスの検出機能を有効にする設定等のメールソフトが有する各種設定を診断する。診断項目表131には、例えば、診断項目「ウィルス対策」が含まれていてもよい。診断項目「ウィルス対策」は、HDD13にインストールされており、ウィルス対策プログラムに関する各種設定を診断する。ウィルス対策プログラムは、ウィルススキャンをHDD13等の記憶ドライブに実行することでコンピュータウィルスを検出して報知するプログラムであり、セキュリティ診断に含まれる処理としてCPU10が実行するとよい。
診断項目「ウィルス対策」は、例えば、各種コンピュータウィルスのパターンを定義したウィルス定義ファイルが最新のファイルに更新されているか否かを診断してもよい。また、診断項目「ウィルス対策」は、PC1がHDD13を含む複数の記憶ドライブを有する場合、すべての記憶ドライブがコンピュータウィルスを検出する対象として選択されているか否かを診断してもよい。診断項目「ウィルス対策」は、ウィルススキャンが所定期間内に実行されているか否かを診断してもよい。診断項目表131には、例えば、診断項目「暗号化対策」が含まれていてもよい。診断項目「暗号化対策」は、HDD13が記憶するデータの暗号化に関する設定を診断する。例えば、HDD13が記憶するデータを暗号化してデータ漏洩を防止する暗号化対策ソフトがHDD13にインストールされているか否かを診断するとよい。
本実施の形態1では、サーバ装置2から送られてきた勤務データ233をPC1が受信してHDD13に記憶する場合を示したが、これに限るものではない。例えば、PC1のユーザによりPC1へ入力された勤務データ233をHDD13に記憶してもよい。この場合、PC1は、勤務データ233を受付けるための入力画面を表示部16に表示し、入力画面に応じたユーザの操作を操作部14により受付けることにより、勤務データ233の入力を受付けるとよい。
サーバ装置2は、各PC1を操作するユーザの勤務状況を管理する勤怠管理システムに接続されて、勤務データ233を随時更新してもよい。この場合、サーバ装置2は、勤怠管理システムから随時送られてくる勤務状況を用いてHDD23に記憶してある勤務データ233を書き換える。また、サーバ装置2は、各PC1が設置された建物及び部屋等への入退室を管理するセキュリティシステムに接続されて、勤務データ233の代わりに入退室を示すデータを勤務状況として記憶してもよい。この場合、各PC1を操作するユーザが当該PC1が設置された部屋等から退室している場合、勤務時間外として判定するとよい。また、各PC1を操作するユーザが当該PC1が設置された部屋等に入室している場合、勤務時間内として判定するとよい。
本実施の形態1では、点数算出処理により、点数を操作に関連付けて操作データ132に記録する例を示したが、これに限るものではなく操作データ記録処理により点数を操作データ132に記録してもよい。この場合、図8に示した操作データ記録処理のステップS15を実行した後に、図9に示した点数算出処理のステップS34からステップS38までを、ステップS15で抽出した操作に対して実行し、点数を算出するとよい。そして、操作データ記録処理のステップS16において、ステップS15で抽出した操作を算出した点数と共に操作データ132としてHDD13に記録するとよい。
また、本実施の形態1では、平均点数に対応する頻度を頻度表232から読み出して設定する場合を示したが、これに限るものではなく、例えば平均点数が所定の閾値を超えた場合に所定のセキュリティ診断を開始してもよい。ここで、平均点数が所定の閾値を超えた場合にセキュリティ診断を実行する手順を説明する。図12は、セキュリティ診断実行処理の他の手順を示すフローチャートである。CPU10は、時計部15が出力する日時を取得する(ステップS111)。
CPU10は、取得した日時に含まれる時刻が頻度更新時刻であるかを判定する(ステップS112)。CPU10は、時刻が頻度更新時刻であると判定した場合(ステップS112でYES)、操作データ132から所定日数分の点数を読み出す(ステップS113)。CPU10は、読み出した所定日数分の点数の合計点数を算出し(ステップS114)、一日分の平均点数を算出する(ステップS115)。CPU10は、平均点数が所定の閾値を超えたか否かを判定する(ステップS116)。所定の閾値は、予め決定してHDD13に記憶させておくとよい。
CPU10は、所定の閾値を超えたと判定した場合、(ステップS116でYES)、取得した日時に含まれる時刻が診断時刻であるか否かを判定する(ステップS117)。CPU10は、診断時刻であると判定した場合(ステップS117でYES)、セキュリティ診断を実行する(ステップS118)。CPU10は、終了操作を受付けたか否かを判定する(ステップS119)。CPU10は、終了操作を受付けていないと判定した場合(ステップS119でNO)、ステップS111に処理を戻す。
CPU10は、終了操作を受付けたと判定した場合(ステップS119でYES)、セキュリティ診断実行処理を終了する。CPU10は、ステップS116で所定の閾値を超えていないと判定した場合(ステップS116でNO)、ステップS117で診断時刻でないと判定した場合(ステップS117でNO)、又は、ステップS112で頻度更新時刻ではないと判定した場合(ステップS112でNO)、ステップS119に処理を移す。ここで、所定の閾値を超え、かつ診断時刻である場合にセキュリティ診断を実行する場合を示したが、所定の閾値を超えた場合に直ちにセキュリティ診断を実行してもよい。
本実施の形態1では、PC1のCPU10が受付けた操作に基づいてセキュリティに対する危険度を示す点数が算出されて、セキュリティ診断を実行する頻度が決定される。これにより、危険度が低い場合、セキュリティ診断が低頻度に実行されるため、ユーザが操作中のプログラムに対してCPU10の処理速度が低下する頻度が抑制される。そして、ユーザがPC1で実行されるプログラムを快適に操作することが可能となる。また、本実施の形態1では、所定の頻度更新時刻に点数が更新されて頻度が変更される。これにより、セキュリティに対する危険度の上昇に伴ってセキュリティ診断を実行する頻度が増大され、セキュリティに対する脆弱性を早期に検出することが可能となる。
また、本実施の形態1では、サーバ装置2に記憶された点数表231及び頻度表232が変更された場合、PC1に送信されてPC1のHDD13に記憶されている点数表231及び頻度表232が書き換えられる。これにより、システム管理者が各操作内容の危険度を評価する基準及び危険度に応じた頻度を設定する基準等の規定であるセキュリティポリシーを変更した場合、変更後のセキュリティポリシーに応じてネットワーク網Nに接続された各PC1に記憶される点数表231及び頻度表232を変更することが可能となる。
実施の形態2
図13は、実施の形態2に係るPCの内部ハードウェアの例を示すブロック図である。本実施の形態2は、実施の形態1が、セキュリティ診断の実行時に全ての診断項目を診断するのに対して、受付けた操作内容に応じて選択した診断項目を診断する。また、実施の形態1では、診断時刻が予め決定してあるのに対して、本実施の形態2では、受付けた操作の履歴に基づいて各診断項目の診断時刻を決定する。PC3は、実施の形態1のPC1と同様にネットワーク網Nに接続してあり、セキュリティ診断を実行する。PC3は、診断項目表331及び操作データ332等を記憶するHDD33を含む。
HDD33は、セキュリティ診断の実行予定を示す予定表333と、PC3に入力された各操作に応じて実行する診断項目が設定された対応表334とを記憶する。操作データ332は、実施の形態1の操作データ132と同様であるので詳細な説明を省略する。診断項目表331は、セキュリティ診断で診断される複数の診断項目と、各診断項目の診断に要した所要時間とを含む。PC3に含まれる他の内部ハードウェア各部は、実施の形態1のPC1と同様であるので符号の相違を記載するに留める。PC3は、CPU30と、バス30aと、ROM31と、RAM32と、操作部34と、時計部35と、表示部36と、記憶媒体接続部37と、通信部38とを含む。
図14は、実施の形態2に係る診断項目表331のレコードレイアウト例を示す図表である。図14に示す例では、診断項目「ウェブブラウザ設定」に対応付けて所要時間2分が記録されている。この場合、CPU30は、診断項目「ウェブブラウザ設定」の診断を開始すると共に、時計部35に経過時間の計時の開始を指示する。CPU30は、診断項目「ウェブブラウザ設定」の診断が完了した時点で時計部35が計時した経過時間を所要時間として取得し、診断項目「ウェブブラウザ設定」に対応付けて診断項目表331に記録する。CPU30は、各診断項目の診断を実行する都度、取得した所要時間を用いて診断項目表331に記録してある所要時間を書き換える。
図15は、対応表334のレコードレイアウト例を示す図表である。診断項目表331に含まれる診断項目のうち、操作データ332に記録された操作内容に応じて実行される診断項目が予め選択され、当該診断項目が各操作内容に対応して対応表334に記録されている。図14に示す例では、操作内容「ウェブサイトの閲覧(社外)」に対応して診断項目「ウェブブラウザ設定」が選択されている。対応表334は、サーバ装置2のHDD23に記憶されていてもよい。この場合、サーバ装置2から対応表334をPC3に送信する。また、システム管理者がサーバ装置2に記憶されている対応表334を変更した場合、サーバ装置2は、変更された対応表334をPC3に送信する。PC3は、サーバ装置2から送られてきた対応表334をHDD33に記憶する。
図16は、予定表記憶処理の手順を示すフローチャートである。予定表記憶処理は、PC3に入力される操作の操作内容及び操作時刻の履歴から、診断項目及び診断時刻を決定して予定表333をHDD33に記憶すべくCPU30により実行される。CPU30は、時計部35が出力する日時を取得する(ステップS71)。CPU30は、取得した日時に含まれる時刻が、予め設定されてHDD33に記憶されている予定表更新時刻であるか否かを判定する(ステップS72)。CPU30は、予定表更新時刻でないと判定した場合(ステップS72でNO)、ステップS71に処理を戻し、予定表更新時刻になるまで待機する。
CPU30は、予定表更新時刻であると判定した場合(ステップS72でYES)、操作データ332から直近の所定日数分の操作時刻を読み出す(ステップS73)。CPU30は、読み出した操作のうち、操作時刻の変動が所定範囲内にある操作を抽出する(ステップS74)。例えば、所定日数7日及び所定範囲1時間が設定されている場合、直近の7日間に入力された操作のうち、各操作の操作時刻が1時間以内である操作が抽出される。以上により、操作の履歴に基づいて所定範囲内の時刻に操作される操作が予測されて抽出される。
CPU30は、抽出した各操作に対して更に操作日に関係なく操作時刻が最も早い操作を一つ抽出する(ステップS75)。例えば、選択された操作の直近の7日間に含まれる操作日時夫々から1日毎に、操作時刻が最も早い時刻の操作を抽出する。CPU30は、抽出した各操作に対応する診断項目を診断項目表331から読み出して選択する(ステップS76)。CPU30は、選択した診断項目の所要時間を診断項目表331から読み出す(ステップS77)。CPU30は、各操作に対応して抽出及び読み出した時刻及び所要時間に基づいて、各操作に対応する診断項目夫々の診断時刻を決定する(ステップS78)。
例えば、抽出した操作時刻から所要時間を差し引いた時刻を診断時刻とするとよい。また、抽出した操作時刻から所要時間及び予め設定された所定時間を差し引いた時刻を診断時刻としてもよい。CPU30は、診断項目及び各診断項目に対して決定した診断時刻を予定表333に記憶する(ステップS79)。CPU30は、終了操作を受付けたか否かを判定する(ステップS80)。CPU30は、終了操作を受付けていないと判定した場合(ステップS80でNO)、ステップS71に処理を戻す。CPU30は、終了操作を受付けたと判定した場合(ステップS80でYES)、予定表記憶処理を終了する。
図17は、予定表333のレコードレイアウト例を示す図表である。予定表333は、予定表記憶処理によりHDD33に記憶される。図17に示す例では、予定された診断項目として、診断項目「ウェブブラウザ設定」、「ファイル交換ソフト」及び「共有フォルダ」等が記憶されている。例えば、操作時刻の変動が所定範囲内の操作として操作内容「ウェブサイトの閲覧(社外)」の操作が抽出された場合、対応表334から当該操作内容に対応する診断項目「ウェブブラウザ設定」が読み出されて選択される。
この場合、診断項目表331から診断項目「ウェブブラウザ設定」の所要時間2分が読み出される。そして、例えば、操作内容「ウェブブラウザの閲覧(社外)」の操作の最も早い操作時刻として9時が抽出された場合、9時から所要時間2分が差し引かれた8時58分が診断時刻として決定される。図16に示す如く、診断項目「ウェブブラウザ設定」を診断する時刻として診断時刻「8:58」が予定表333に記憶される。
実施の形態2に係るセキュリティ診断実行処理は、図11で示したフローチャートと同様であるので、相違点を説明し、詳細な記載を省略する。図11のステップS60で、CPU30は、予定表333に含まれる診断時刻と一致するか否かを判定する。図11のステップS61で、CPU30は、一致した診断時刻に対応する診断項目のみをセキュリティ診断として実行する。また、予定表333に含まれない診断項目を実行する所定時刻を設定してHDD33に記憶しておいてもよい。
この場合、図11のステップS60で、CPU30は、予定表333に含まれる診断時刻又は所定時刻と一致するか否かを判定するとよい。CPU30は、所定時刻と一致すると判定した場合(ステップS60でYES)、診断項目表331に含まれる診断項目のうち、予定表333に含まれない残りの診断項目を、ステップS61でセキュリティ診断として実行するとよい。
対応表334には、各操作内容に対して一つに診断項目が対応付けられている例を示したが、これに限るものではなく各操作内容に対して複数の診断項目が対応付けられていてもよい。また、対応表334に含まれる各診断項目が複数の操作内容間で重複していてもよい。例えば、操作内容「記憶媒体の接続(USBメモリ)」に対して、診断項目「ファイル交換ソフト」に加え、診断項目「ウィルス対策」も対応付けてもよい。また、例えば、操作内容「ネットワークの接続(社外)」に対して、診断項目「共有フォルダ」に加え、診断項目「ウィルス対策」、「スクリーンセーバ」及び「暗号化対策」等を対応付けてもよい。
本実施の形態2では、CPU30が受付けた操作の履歴に基づいて、診断項目を選択し、各診断項目を診断する診断時刻を決定する。選択された診断項目夫々を異なる診断時刻で診断することにより、セキュリティ診断に用いられるCPU30のリソースが減少する。そして、ユーザが操作しているプログラムに対してCPU30の処理速度の低下が抑制される。これにより、PC3のユーザがPC3で実行されるプログラムを快適に操作することが可能となる。
本実施の形態2は以上の如きであり、その他は実施の形態又は実施の形態1と同様であるので対応する部分には同一の符号を付してその詳細な説明を省略する。
実施の形態3
図18は、実施の形態3に係るサーバ装置の内部ハードウェアの例を示すブロック図である。本実施の形態3は、実施の形態1がPC1により頻度を決定するのに対して、サーバ装置4により決定する。サーバ装置4は、実施の形態1のサーバ装置2と同様にネットワーク網Nに接続してあり、PC1へ各種データ及び表を送信する。サーバ装置4は、点数表231、頻度表232、勤務データ233及び操作データ432を記憶するHDD43を含む。サーバ装置4に含まれる他のハードウェア各部は、実施の形態1のサーバ装置2と同様であるので符号の相違を記載するに留める。サーバ装置4は、CPU40と、バス40aと、ROM41と、RAM42と、操作部44と、表示部46と、通信部48とを含む。
図19は、実施の形態3に係る操作データ記録処理の手順を示すフローチャートである。PC1のCPU10は、操作ログの記録を開始する(ステップS91)。CPU10は、時計部15により経過時間の計時を開始する(ステップS92)。CPU10は、所定時間を経過したか否かを判定する(ステップS93)。CPU10は、所定時間を経過していないと判定した場合(ステップS93でNO)、所定時間を経過するまで待機する。
CPU10は、所定時間を経過したと判定した場合(ステップS93でYES)、操作ログから所定時間内の一部を読み出す(ステップS94)。CPU10は、PC1に割り当てられているユーザアカウント及びHDD13から読み出した操作ログの一部を通信部18によりサーバ装置4へ送信する(ステップS95)。CPU10は、終了操作を受付けたか否かを判定する(ステップS96)。CPU10は、終了操作を受付けていないと判定した場合(ステップS96でNO)、ステップS93に処理を戻す。これにより、CPU10は、所定時間毎に、所定時間内に受付けた操作を示す操作ログの一部をサーバ装置4に送信する。
CPU10は、終了操作を受付けたと判定した場合(ステップS96でYES)、操作データ記録処理を終了する。サーバ装置4のCPU40は、PC1から送られてきたデータを受信する(ステップS97)。CPU40は、受信したデータが操作ログの一部であるか否かを判定する(ステップS98)。CPU40は、操作ログの一部でないと判定した場合(ステップS98でNO)、ステップS97に処理を戻す。CPU40は、操作ログの一部であると判定した場合(ステップS98でYES)、点数表231に含まれる操作を操作ログの一部から抽出する(ステップS99)。
CPU40は、抽出した操作を含む操作データ432をユーザアカウントに関連付けてHDD43に記録する(ステップS100)。CPU40は、終了操作を受付けたか否かを判定する(ステップS101)。CPU40は、終了操作を受付けていないと判定した場合(ステップS101でNO)、ステップS97に処理を戻す。CPU40は、終了操作を受付けたと判定した場合(ステップS101でYES)、操作データ記録処理を終了する。
サーバ装置4のCPU40は、点数算出処理を実行して、HDD43に記録してある操作データ432に点数を記憶する。CPU40が実行する点数算出処理は、図9で示した手順と同様であるので詳細な説明を省略する。CPU40は、セキュリティ診断実行処理を実行して、セキュリティ診断を行う。CPU40が実行するセキュリティ診断実行処理は、図11で示した手順と同様であるので相違点を説明し、詳細な説明を省略する。ステップS61で、CPU40は、セキュリティ診断の実行指示をPC1に送信する。PC1は、サーバ装置4から送られてきた実行指示に応じてセキュリティ診断を実行する。
本実施の形態3は、PC1が操作ログを定期的にサーバ装置4に送信し、サーバ装置4が送られてきた操作ログに基づいて操作データ432を記録し、操作データ432に基づいて点数を算出し、頻度を決定する。そして、サーバ装置4は、決定した頻度に基づいてセキュリティ診断の実行指示をPC1に送信する。PC1は、点数の算出及び頻度の決定等の処理を行わないため、ユーザが操作しているプログラムに対してCPU10の処理速度の低下が抑制される。これにより、PC1のユーザがPC1で実行されるプログラムを快適に操作することが可能となる。
本実施の形態3は以上の如きであり、その他は実施の形態1と同様であるので対応する部分には同一の符号を付してその詳細な説明を省略する。
実施の形態4
図20は、実施の形態4に係るPCの内部ハードウェアの例を示すブロック図である。PC5は、記憶媒体6を含む各種記憶媒体が接続される記憶媒体接続部57を含む。PC5の他のハードウェア各部は、実施の形態1のPC1と同様であるので符号の違いを説明し、詳細な説明を省略する。PC5は、CPU50と、バス50aと、ROM51と、RAM52と、HDD53と、操作部54と、時計部55と、表示部56と、通信部58とを含む。HDD53は、診断項目表531及び操作データ532を記憶する。
記憶媒体接続部57は、記憶媒体6が接続された場合、記憶媒体6に記録されているプログラム60を読み出してHDD53に記憶することにより、当該プログラム60をPC5にインストールする。PC5のCPU50は、HDD53に記憶したプログラム60をRAM52に読み出して実行する。CPU50は、プログラム60に従って操作部54が受付けた操作を記録し(記録ステップ)、記録した操作に基づいてセキュリティ診断を実行する頻度を決定する(頻度決定ステップ)。CPU50は、決定した頻度に基づいてセキュリティ診断を実行する(実行ステップ)。
プログラム60は、記憶媒体6から読み出してHDD53に記憶される場合に限るものではなく、通信部58と外部のコンピュータとの間で通信を確立し、係るプログラム60をHDD53にダウンロードしても良い。例えば、サーバ装置2のHDD23にプログラム60を記憶しておき、サーバ装置2から送られてきたプログラム60をPC5が受信してHDD53に記憶してもよい。
本実施の形態4は以上の如きであり、その他は実施の形態又は実施の形態1と同様であるので対応する部分には同一の符号を付してその詳細な説明を省略する。
以上の実施の形態1乃至4を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
コンピュータにセキュリティ診断を実行させるプログラムにおいて、
前記コンピュータを、
前記コンピュータに対する操作を示す操作情報を取得する操作情報取得部と、
前記取得した操作情報に基づいて前記コンピュータにおけるセキュリティの危険性の度合いを示す危険度を判定する危険度判定部と、
前記判定された危険度に応じて前記セキュリティ診断の実行開始を制御する診断制御部
として機能させるプログラム。
(付記2)
前記コンピュータにおける操作内容と該操作内容に関連付けられた点数とを対応付ける点数表を格納する点数表格納部から、前記取得した操作情報が示す操作内容に対応する点数を取得する点数取得部として前記コンピュータを更に機能させ、
前記危険度判定部は、前記取得した操作情報に基づいて前記点数取得部により取得された点数に従って前記危険度を判定する付記1に記載のプログラム。
(付記3)
操作者の勤務時間帯を示す勤務時間帯情報を格納する勤務時間帯情報格納部から、前記コンピュータを操作する操作者の勤務時間帯情報を取得する勤務時間帯情報取得部として前記コンピュータを更に機能させ、
前記操作情報取得部により取得される操作情報は、前記操作が行われた時刻を示す操作時刻を有し、
前記危険度判定部は、前記取得した操作情報が有する操作時刻が前記取得した勤務時間帯情報により示される勤務時間帯に属しない場合に、当該勤務時間帯に属する場合よりも前記危険性の度合いを高く判定する付記1又は付記2に記載のプログラム。
(付記4)
前記コンピュータにおいて実行するセキュリティ診断の種目を示す診断項目と前記コンピュータにおける操作の内容を示す操作内容とを対応付けた診断項目対応表を格納する診断項目対応表格納部から、前記取得された操作情報が示す操作内容に対応する診断項目を取得する診断項目取得部と、
前記診断制御部によりセキュリティ診断の実行開始を指示された場合に、前記取得した診断項目に係るセキュリティ診断を実行する実行部
として前記コンピュータを更に機能させる付記1から付記3までのいずれか一つに記載のプログラム。
(付記5)
前記取得した操作情報が有する操作時刻に基づいて前記セキュリティ診断を実行する時刻である診断時刻を決定する診断時刻決定部として前記コンピュータを更に機能させ、
前記診断制御部は、前記決定した診断時刻に基づいて前記セキュリティ診断の実行開始を制御する付記1から付記4までのいずれか一つに記載のプログラム。
(付記6)
制御部を備える診断装置にセキュリティ診断を実行させる診断方法において、
前記制御部により前記コンピュータに対する操作を示す操作情報を取得し、
前記取得した操作情報に基づいて前記コンピュータにおけるセキュリティの危険性の度合いを示す危険度を判定し、
前記判定した危険度に応じて前記セキュリティ診断の実行開始を制御する
診断方法。
(付記7)
セキュリティ診断を実行する診断装置において、
前記コンピュータに対する操作を示す操作情報を取得する操作情報取得部と、
前記取得した操作情報に基づいて前記コンピュータにおけるセキュリティの危険性の度合いを示す危険度を判定する危険度判定部と、
前記判定した危険度に応じて前記セキュリティ診断の実行開始を制御する診断制御部と
を備える診断装置。