(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-09-11
(45)【発行日】2023-09-20
(54)【発明の名称】プログラム、方法、情報処理装置、システム
(51)【国際特許分類】
G06Q 50/10 20120101AFI20230912BHJP
【FI】
G06Q50/10
(21)【出願番号】P 2023087768
(22)【出願日】2023-05-29
【審査請求日】2023-05-29
【新規性喪失の例外の表示】特許法第30条第2項適用 令和5年3月7日、GMOインターネットグループ株式会社に対して提示
【新規性喪失の例外の表示】特許法第30条第2項適用 令和5年3月23日、株式会社SmartHRに対して提示
【新規性喪失の例外の表示】特許法第30条第2項適用 令和5年4月12日、エヌ・ティ・ティ・コミュニケーションズ株式会社に対して提示
【新規性喪失の例外の表示】特許法第30条第2項適用 令和5年4月27日、ソニーネットワークコミュニケーションズ株式会社に対して提示
【新規性喪失の例外の表示】特許法第30条第2項適用 令和5年5月9日、三井住友建設株式会社に対して提示
【新規性喪失の例外の表示】特許法第30条第2項適用 令和5年5月12日、TMIプライバシー&セキュリティコンサルティング株式会社に対して提示
【新規性喪失の例外の表示】特許法第30条第2項適用 令和5年5月19日、株式会社Works Human Intelligenceに対して提示
【早期審査対象出願】
(73)【特許権者】
【識別番号】520041493
【氏名又は名称】SecureNavi株式会社
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】井崎 友博
(72)【発明者】
【氏名】下田 祐太朗
(72)【発明者】
【氏名】田口 大智
【審査官】小池 堂夫
(56)【参考文献】
【文献】特表2006-518080(JP,A)
【文献】米国特許出願公開第2012/0102543(US,A1)
【文献】特開2010-237836(JP,A)
【文献】特開2006-023916(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
プロセッサを備えるコンピュータに、システムの監査に関する処理を実行させるプログラムであって、
監査対象となるシステムに対するルール定義の設定を受け付けるステップと、
前記設定されたルール定義から、自然言語で規定された監査ルールと、コンピュータ言語で規定された監査チェックリストとを生成するステップと、
前記システムが、前記監査チェックリストの項目に適合しているか否かを検証するステップと、
を実行させるプログラム。
【請求項2】
前記設定を受け付けるステップでは、
前記ルール定義において必要なパラメータの入力を受け付ける、請求項1に記載のプログラム。
【請求項3】
前記パラメータには、検証に関する条件が含まれる、請求項2に記載のプログラム。
【請求項4】
前記パラメータには、前記検証を実行するタイミングの情報が含まれる、請求項2に記載のプログラム。
【請求項5】
前記生成するステップでは、
前記監査ルールと前記監査チェックリストを、前記ルール定義に対応づけられたレギュレーションに紐づけて生成する、請求項1に記載のプログラム。
【請求項6】
前記検証するステップでは、
前記システムが出力したログデータを用いて検証を行う、請求項1に記載のプログラム。
【請求項7】
前記検証するステップでは、
検証の対象となるファイルの入力を受け付ける、請求項1に記載のプログラム。
【請求項8】
前記検証するステップでは、
チェックリストの項目に不備があった場合に、レギュレーションのどの規定に沿っていないかを特定する、請求項1に記載のプログラム。
【請求項9】
レギュレーションの規定における達成度合いを評価する、請求項8に記載のプログラム。
【請求項10】
ユーザによる検証結果を受け付けるステップをさらに備える、請求項1に記載のプログラム。
【請求項11】
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、前記プロセッサが、請求項1に係る発明において実行される全てのステップを実行する方法。
【請求項12】
プロセッサと、メモリとを備え
る情報処理装置であって、前記プロセッサ
が、請求項1に係る発明において実行される全てのステップを実行
する、情報処理装置。
【請求項13】
請求項1に係る発明において実行される全てのステップを実行する手段を備えるシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、方法、情報処理装置、システムに関する。
【背景技術】
【0002】
昨今、社内に導入したシステムに対して一定の規準(規範とすべき標準)に照らして検証を行い、システムの動作、管理体制、および、セキュリティ等の所定の観点での妥当性を評価するシステム監査のニーズが増加している。例えば、文献1には、自然言語で作成されたポリシー文書に対して、機械処理が可能な規則をユーザが対応づけることにより、システムによって当該ポリシーが順守されているかが判定される監査システムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
一方、上記技術では、ユーザがポリシーに対応する機械処理可能な規則の対応付けを行う作業が必要であるため、当該作業の手間がかかり、対応付けを間違えるなどの不具合が発生する可能性があった。
【0005】
本開示の目的は、システムの監査作業をより円滑に行う技術を提供することにある。
【課題を解決するための手段】
【0006】
本開示では、プロセッサを備えるコンピュータに、システムの監査に関する処理を実行させるプログラムであって、監査対象となるシステムに対するルール定義の設定を受け付けるステップと、前記設定されたルール定義から、自然言語で規定された監査ルールと、データ記述言語で規定された監査チェックリストとを生成するステップと、前記システムが、前記監査チェックリストの項目に適合しているか否かを検証するステップと、を実行させるプログラムが提供される。
【発明の効果】
【0007】
本開示によれば、システムの監査作業をより円滑に行うことが可能となる。
【図面の簡単な説明】
【0008】
【
図1】システム1が提供する機能の概要を説明するための図である。
【
図2】システム1のハードウェア構成を示すブロック図である。
【
図3】端末装置10の機能構成を示すブロック図である。
【
図4】サーバ20の機能構成を示すブロック図である。
【
図5】サーバ20の記憶部220に記憶されるレギュレーションデータベース221の構造を示す図である。
【
図6】サーバ20の記憶部220に記憶されるルール定義データベース222の構造を示す図である。
【
図7】サーバ20の記憶部220に記憶される監査ルールデータベース223の構造を示す図である。
【
図8】サーバ20の記憶部220に記憶される監査チェックリストデータベース224の構造を示す図である。
【
図9】システム1の処理の流れの一例を説明するフロー図である。
【
図10】監査ルール生成処理(S220)の流れを説明するフロー図である。
【
図11】システム1の処理の流れの一例を説明するフロー図である。
【
図12】チェック項目検証処理(S410)の流れを説明するフロー図である。
【
図13】レギュレーション確認画面310を示す図である。
【
図14】ルール定義作成画面320を示す図である。
【
図15】パラメータ入力画面330を示す図である。
【
図17】レギュレーション確認画面350を示す図である。
【
図18】監査ルール確認画面360を示す図である。
【
図19】ログデータ確認画面370を示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照しつつ、本開示の実施形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称及び機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0010】
<1.実施形態>
(1-1.システム1の概要)
図1を参照して、本実施形態におけるシステム1が提供する機能の概要を説明する。システム1は、ユーザが使用する端末装置10と、サーバ20を備える(
図2参照)。端末装置10は、ユーザから、セキュリティ監査の対象となるコンピュータシステム(以下、監査対象システムという)に関するルール定義の設定を受け付ける。
【0011】
図1に示すように、ルール定義には、1つまたは複数のレギュレーション(予め定められた法令、標準または規格)を対応づけて設定することができる。サーバ20は、ユーザが設定したルール定義を端末装置10から受信すると、当該ルール定義に基づいて、監査ルールと監査チェックリストを生成する。
【0012】
監査ルールは、日本語や英語等の自然言語で生成され、監査対象システムに適用されるルールを規定する。監査チェックリストは、データ記述言語等のコンピュータ言語で生成される。サーバ20は、監査対象システムが出力したログデータを、出力した監査チェックリストと比較することで、監査対象システムの検証を行う。
【0013】
このように、システム1は、ユーザが設定したルール定義に基づいて、自然言語の監査ルールとコンピュータ言語の監査チェックリストを生成して、当該監査チェックリストに基づいて、監査対象システムの検証を行う。このような仕様とすることにより、システムの監査作業をより円滑に行うことが可能となる。以下、詳細を説明する。
【0014】
(1-2.システム1のハードウェア構成)
図2は、システム1のハードウェア構成の例を示すブロック図である。システム1は、端末装置10と、サーバ20を備える。端末装置10、サーバ20は、ネットワーク30を介して通信可能に接続されている。なお、
図2では、視認性の観点からシステム1は1つの端末装置10を備えるように図示されているが、端末装置10の数はこの例に限定されることはなく、2つ以上でもよい。
【0015】
本実施形態において、複数の装置の集合体を1つのサーバ20としてもよい。1つ又は複数のハードウェアに対して本実施形態に係るサーバ20を実現することに要する複数の機能の配分の仕方は、各ハードウェアの処理能力及び/又はサーバ20に求められる仕様等に鑑みて適宜決定することができる。
【0016】
端末装置10は、スマートフォン等の携帯端末、またはタブレット端末として実現される。端末装置10は、通信IF(Interface)12と、入力装置13と、出力装置14と、メモリ15と、ストレージ16と、プロセッサ19とを備える。
【0017】
通信IF12は、端末装置10が外部の装置と通信するため、信号を入出力するためのインタフェースである。
【0018】
入力装置13は、ユーザからの入力操作を受け付けるための装置(例えば、タッチパネル、マイク等)である。
【0019】
出力装置14は、ユーザに対して情報を提示するための装置(ディスプレイ、スピーカ等)である。
【0020】
メモリ15は、プログラム、及び、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
【0021】
ストレージ16は、データを保存するためのものであり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。
【0022】
プロセッサ19は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
【0023】
サーバ20は、インターネットなどのネットワーク30を介して端末装置10と通信可能なコンピュータであり、いわゆるクラウドサーバとして実現されてもよく、特定の施設等に設置されたオンプレミスサーバとして実現されてもよい。サーバ20は、通信IF22と、入出力IF24と、メモリ25と、ストレージ26と、プロセッサ29とを備える。
【0024】
入出力IF24は、サーバ20に対して何らかの入力操作を行う場合、または、サーバ20から情報を出力する場合に、入出力装置を接続するためのインタフェースである。
【0025】
通信IF22、メモリ25、ストレージ26およびプロセッサ29は、端末装置10の通信IF12、メモリ15、ストレージ16およびプロセッサ19と同様に構成されるため、説明は繰り返さない。
【0026】
(1-3.端末装置10の機能構成)
図3は、端末装置10の機能構成の例を示すブロック図である。
図3に示すように、端末装置10は、入力装置13と、出力装置14と、通信部150と、撮像部160と、音声処理部170と、記憶部180と、制御部200を備える。
図3において端末装置10に含まれる各ブロックは、例えば、バス等により電気的に接続される。
【0027】
通信部150は、端末装置10が他の装置と通信するための変復調処理等の処理を行う。通信部150は、制御部200で生成された信号に送信処理を施し、外部(例えば、他の端末装置10)へ送信する。通信部150は、外部から受信した信号に受信処理を施し、制御部200へ出力する。
【0028】
入力装置13は、端末装置10を操作するユーザが指示、又は情報を入力するための装置である。入力装置13は、例えば、操作面へ触れることで指示が入力されるタッチセンシティブデバイス131等により実現される。入力装置13は、キーボードまたはマウスを含んでいてもよい。入力装置13は、ユーザから入力される指示、又は情報を電気信号へ変換し、電気信号を制御部200へ出力する。なお、入力装置13には、例えば、外部の入力機器から入力される電気信号を受け付ける受信ポートが含まれてもよい。
【0029】
出力装置14は、端末装置10を操作するユーザへ情報を提示するための装置である。出力装置14は、例えば、ディスプレイ141等により実現される。ディスプレイ141は、制御部200の制御に応じたデータを表示する。ディスプレイ141は、例えば、LCD(Liquid Crystal Display)、又は有機EL(Electro-Luminescence)ディスプレイ等によって実現される。
【0030】
撮像部160はカメラを備え、受光素子により光を受光し、撮影信号として入力することで、端末装置10の周囲の撮像を行う。
【0031】
音声処理部170は、例えば、音声信号のデジタル-アナログ変換処理を行う。音声処理部170は、マイク171から与えられる信号をデジタル信号に変換して、変換後の信号を制御部200へ与える。また、音声処理部170は、音声信号をスピーカ172へ与える。音声処理部170は、例えば音声処理用のプロセッサによって実現される。マイク171は、音声入力を受け付けて、当該音声入力に対応する音声信号を音声処理部170へ与える。スピーカ172は、音声処理部170から与えられる音声信号を音声に変換して当該音声を端末装置10の外部へ出力する。
【0032】
記憶部180は、例えば、メモリ15、及びストレージ16等により実現され、端末装置10が使用するデータ、及びプログラムを記憶する。
【0033】
制御部200は、プロセッサ19が記憶部180に記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。制御部200は、端末装置10の動作を制御する。制御部200は、プログラムに従って動作することにより、操作受付部201と、送受信部202と、表示制御部203としての機能を発揮する。
【0034】
操作受付部201は、入力装置13から入力される指示、又は情報を受け付けるための処理を行う。具体的には、例えば、操作受付部201は、タッチセンシティブデバイス131等から入力される指示に基づく情報を受け付ける。
【0035】
送受信部202は、端末装置10が、外部の装置と通信プロトコルに従ってデータを送受信するための処理を行う。
【0036】
表示制御部203は、ユーザに通知する情報のディスプレイ141への表示を制御する。
【0037】
(1-4.サーバ20の機能構成)
図4は、サーバ20は、通信部210と、記憶部220と、制御部230を備える。
図4においてサーバ20に含まれる各ブロックは、例えば、バス等により電気的に接続される。
【0038】
通信部210は、サーバ20が外部の装置と通信するための処理を行う。
【0039】
記憶部220は、例えば、メモリ25、及びストレージ26等により実現され、サーバ20が使用するデータ、及びプログラムを記憶する。
図4に示すように、記憶部220は、一例として、レギュレーションデータベース(Data Base/DB)221と、ルール定義データベース222と、監査ルールデータベース223と、監査チェックリストデータベース224を記憶する。
【0040】
レギュレーションデータベース221は、レギュレーションに関するデータを記憶するデータベースである。レギュレーションとは、所定の認証において予め定められた規則(または規則の類型)のことであり、法令、標準または規格などが挙げられる。例えば、監査対象のシステムが特定のレギュレーションに沿って運用されている場合には、当該システムは、当該レギュレーションに対応する認証を受けることが可能となる。レギュレーションデータベース221のデータ構造は後述する。
【0041】
ルール定義データベース222は、ルール定義に関するデータを記憶するデータベースである。ルール定義とは、ユーザによって設定され、監査対象システムに適用されるルールの集まりを意味する。1の監査対象システムに対して、1または複数のルール定義が適用される。ユーザは、1のルール定義に対して、1または複数のレギュレーションを対応づけることができる。ルール定義データベース222のデータ構造は後述する。
【0042】
監査ルールデータベース223は、監査ルールに関するデータを記憶するデータベースである。監査ルールとは、ルール定義に基づいて生成され、監査対象システムに適用される具体的なルールを意味する。監査ルールの内容は、日本語や英語のような自然言語で記述される。監査ルールデータベース223のデータ構造は後述する。
【0043】
監査チェックリストデータベース224は、監査チェックリストに関するデータを記憶するデータベースである。監査チェックリストとは、ルール定義に基づいて生成され、監査対象システムを検証する際に用いられるチェック項目についてのリストを意味する。監査チェックリストの内容は、例えばJSON(JavaScript Object Notation)などのデータ記述言語で記述される。監査チェックリストデータベース224のデータ構造は後述する。
【0044】
制御部230は、プロセッサ29が記憶部220に記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。一例として、制御部230は、プログラムに従って動作することにより、一例として、送受信モジュール231と、生成モジュール232と、検証モジュール233としての機能を発揮する。
【0045】
送受信モジュール231は、サーバ20が、外部の装置と通信プロトコルに従ってデータを送受信するための処理を行う。
【0046】
生成モジュール232は、ユーザが設定したルール定義に基づいて、自然言語で記述された監査ルールと、データ記述言語で記述された監査チェックリストを生成する。生成モジュール232の処理の詳細は後述する。
【0047】
検証モジュール233は、生成モジュール232が生成した監査チェックリストと、監査対象システムが出力したログデータ(システムの動作や状態について記録したデータ)を比較することにより、監査対象システムの検証を行う。検証モジュール233の処理の詳細は後述する。
【0048】
(1-5.データ構造)
図5~
図8を参照し、システム1で使用するデータベースのデータ構造を説明する。なお、以下に説明するデータ構造はあくまでも一例であり、他のデータベースおよびデータ項目の保有を除外するものではない。
【0049】
図5は、サーバ20の記憶部220が記憶するレギュレーションデータベース221のデータ構造の一例を示す図である。
【0050】
図5に示すように、レギュレーションデータベース221のレコードは、項目「レギュレーションID」と、項目「名称」と、項目「規定1」と、項目「規定2」と、項目「登録日時」と、項目「更新日時」等を含む。
【0051】
項目「レギュレーションID」は、レギュレーションを識別するための識別情報であり、レギュレーションデータベース221におけるレコードを一意に特定するための主キーである。
【0052】
項目「名称」は、当該レギュレーションの名称に関する情報である。
【0053】
項目「規定1」および項目「規定2」は、当該レギュレーションに含まれる規定の内容に関する情報である。レギュレーションに含まれる規定の数に応じて、当該項目の数は適宜設定可能である。
【0054】
項目「登録日時」は、当該レギュレーションのレコードがレギュレーションデータベース221に登録された日時に関する情報である。
【0055】
項目「更新日時」は、当該レギュレーションのレコードが更新された日時に関する情報である。
【0056】
レギュレーションデータベース221は、システム1の管理者によって新たなレギュレーションが登録されるタイミングで、当該レギュレーションに対応するレコードが追加される仕様としてもよい。また、レギュレーションの改訂に合わせて、レギュレーションデータベース221のレコードの各項目は、システム1の管理者によって適宜更新できる仕様としてもよい。
【0057】
図6は、サーバ20の記憶部220が記憶するルール定義データベース222のデータ構造の一例を示す図である。
【0058】
図6に示すように、ルール定義データベース222のレコードは、項目「ルール定義ID」と、項目「対応レギュレーション」と、項目「ルール定義1」と、項目「設定パラメータ1」と、項目「監査ルール」と、項目「監査チェックリスト」と、項目「登録日時」と、項目「更新日時」等を含む。
【0059】
項目「ルール定義ID」は、ルール定義を識別するための識別情報であり、ルール定義データベース222におけるレコードを一意に特定するための主キーである。
【0060】
項目「対応レギュレーション」は、当該ルール定義に対応づけられたレギュレーションについての情報である。
【0061】
項目「ルール定義1」は、当該ルール定義に含まれるルールの内容に関する情報である。ルール定義に含まれるルールの数に応じて、当該項目の数は適宜設定可能である。
【0062】
項目「設定パラメータ1」は、当該ルール定義に含まれるルールに対してユーザが設定するパラメータに関する情報である。ルール定義に含まれるルールに設定されるパラメータの数に応じて、当該項目の数は適宜設定可能である。
【0063】
項目「監査ルール」は、当該ルール定義に基づいて生成される監査ルールを識別するための情報であり、監査ルールデータベース223の項目「監査ルールID」が外部キーとして保持される。
【0064】
項目「監査チェックリスト」は、当該ルール定義に基づいて生成される監査チェックリストを識別するための情報であり、監査チェックリストデータベース224の項目「監査チェックリストID」が外部キーとして保持される。
【0065】
項目「登録日時」は、当該ルール定義のレコードがルール定義データベース222に登録された日時に関する情報である。
【0066】
項目「更新日時」は、当該ルール定義のレコードが更新された日時に関する情報である。
【0067】
ルール定義データベース222は、ユーザ(監査対象システムの管理者)からルール定義の設定を受け付けたタイミングで、当該ルール定義に対応するレコードが追加される仕様としてもよい。また、ルール定義データベース222のレコードの各項目は、ユーザによって適宜更新できる仕様としてもよい。
【0068】
図7は、サーバ20の記憶部220が記憶する監査ルールデータベース223のデータ構造の一例を示す図である。
【0069】
図7に示すように、監査ルールデータベース223のレコードは、項目「監査ルールID」と、項目「ルール1」と、項目「ルール2」と、項目「ルール3」と、項目「登録日時」と、項目「更新日時」等を含む。
【0070】
項目「監査ルールID」は、監査ルールを識別するための識別情報であり、監査ルールデータベース223におけるレコードを一意に特定するための主キーである。
【0071】
項目「ルール1」、項目「ルール2」および項目「ルール3」は、当該監査ルールに含まれる個々のルールの内容に関する情報である。監査ルールに含まれるルールの数に応じて、当該項目の数は適宜設定可能である。
【0072】
項目「登録日時」は、当該監査ルールのレコードが監査ルールデータベース223に登録された日時に関する情報である。
【0073】
項目「更新日時」は、当該監査ルールのレコードが更新された日時に関する情報である。
【0074】
監査ルールデータベース223は、生成モジュール232によって監査ルールが生成されるタイミングで、当該監査ルールに対応するレコードが追加される仕様としてもよい。また、ルール定義データベース222のレコードの各項目を更新した場合に、生成モジュール232によって、更新内容を反映した監査ルールのレコードが監査ルールデータベース223に生成される仕様としてもよい。
【0075】
図8は、サーバ20の記憶部220が記憶する監査チェックリストデータベース224のデータ構造の一例を示す図である。
【0076】
図8に示すように、監査チェックリストデータベース224のレコードは、項目「監査チェックリストID」と、項目「チェック項目1」と、項目「チェック項目2」と、項目「チェック項目3」と、項目「登録日時」と、項目「更新日時」等を含む。
【0077】
項目「監査チェックリストID」は、監査チェックリストを識別するための識別情報であり、監査チェックリストデータベース224におけるレコードを一意に特定するための主キーである。
【0078】
項目「チェック項目1」、項目「チェック項目2」および項目「チェック項目3」は、当該監査チェックリストに含まれる個々のチェック項目の内容に関する情報である。監査チェックリストに含まれるチェック項目の数に応じて、当該項目の数は適宜設定可能である。
【0079】
項目「登録日時」は、当該監査チェックリストのレコードが監査チェックリストデータベース224に登録された日時に関する情報である。
【0080】
項目「更新日時」は、当該監査チェックリストのレコードが更新された日時に関する情報である。
【0081】
監査チェックリストデータベース224は、生成モジュール232によって監査チェックリストが生成されるタイミングで、当該監査チェックリストに対応するレコードが追加される仕様としてもよい。また、ルール定義データベース222のレコードの各項目を更新した場合に、生成モジュール232によって、更新内容を反映した監査チェックリストのレコードが監査チェックリストデータベース224に生成される仕様としてもよい。
【0082】
(1-6.処理の流れ)
以下、システム1の処理の流れの一例を説明する。まず、
図9および
図10を参照して、監査ルールおよび監査チェックリストを生成する処理の流れを説明する。
図9のステップS110において、端末装置10は、ユーザからルール定義の設定を受け付ける。
【0083】
図13は、ステップS110において表示されるレギュレーション確認画面310を示す図である。レギュレーション確認画面310は、レギュレーション情報311と、監査ルール情報312と、ルール定義作成アイコン313を有する。なお、
図13および以降の図面における「社内規定」とは、本開示における「監査ルール」の一例である。
【0084】
レギュレーション情報311には、ユーザが選択したレギュレーションの名称、当該レギュレーションに含まれる規則の名称および内容が表示される。監査ルール情報312には、レギュレーション情報311に表示された規則に対応する監査ルール(社内規定)の情報が表示される。ユーザが監査ルール情報312に表示されたルール定義作成アイコン313を押下すると、ルール定義作成画面320が表示される。
【0085】
図14に示すように、ルール定義作成画面320は、ルール定義選択アイコン321と、次ページ進行アイコン322を有する。ユーザは、ルール定義選択アイコン321を押下することにより、ルール定義の設定事項を選択する。ユーザが次ページ進行アイコン322を押下すると、パラメータ入力画面330が表示される。
【0086】
図15に示すように、パラメータ入力画面330は、パラメータ入力領域331と、作成アイコン332を有する。ユーザは、パラメータ入力領域331の所定の欄にパラメータを入力することにより、ルール定義の内容を設定する。具体的には、パラメータとしては、監査対象システムの動作における対象または各種数値を設定してもよく、監査における検証に関する条件(回数、頻度、期間)を設定してもよい。
【0087】
一例として、パラメータとしては、検証処理を行うタイミングを設定してもよい。具体的には、当該タイミングとして、定常的に検証を行う仕様としてもよく、定期的(すなわち、所定の期間毎)に検証を行う仕様としてもよい。または、ユーザから検証処理を行う指示を受け付けたタイミングで、当該検証処理が実行されるようにパラメータを設定してもよい。
【0088】
パラメータ入力領域331は、ユーザがパラメータを設定する際の参考となるように、パラメータの条件や設定されたパラメータの平均値などの参考情報331aを表示する仕様としてもよい。このような構成とすることにより、当該レギュレーションについて詳しくないユーザであっても、妥当なパラメータが設定されたルール定義を生成することが容易となる。ユーザが作成アイコン332を押下すると、設定されたルール定義の内容が登録されて、後続のステップS120が実行される。
【0089】
また、パラメータ入力領域331において入力されるパラメータ毎に、有効性を備えるための条件を設定してもよく、当該条件を満たさないパラメータは登録不可としてもよい。このような仕様とすることで、ルール定義から生成される監査ルールおよび監査チェックが、確実にレギュレーションを満たしていることを保証することができる。
【0090】
図9に戻って、ステップS120において、端末装置10の送受信部202は、ユーザが設定したルール定義の内容をサーバ20へ送信する。ステップS210において、サーバ20の送受信モジュール231は、端末装置10から設定内容を受信する。
【0091】
ステップS220において、サーバ20の生成モジュール232は、監査ルール生成処理を実行する。
図10に示すように、監査ルール生成処理(S220)では、ステップS221とステップS222が実行される。
【0092】
図10のステップS221において、サーバ20の生成モジュール232は、ユーザが設定したルール定義に基づいて、監査ルールを生成する。また、ステップS222において、サーバ20の生成モジュール232は、ユーザが設定したルール定義に基づいて、監査チェックリストを生成する。このように、本実施形態では、ユーザが設定したルール定義に基づいて、監査ルールと監査チェックリストが生成されるため、監査ルールと監査チェックリストとの整合性が確保される。
【0093】
また、生成モジュール232は、ルール定義に対応づけられたレギュレーションと紐づけて監査ルールと監査チェックリストを生成するため、後続の検証処理において、監査チェックリスト(または監査ルール)の各項目がレギュレーションのどの規定に対応しているかを把握することが容易となる。生成モジュール232は、ユーザが設定したルール定義、および生成した監査ルールと監査チェックリストとを、記憶部220のルール定義データベース222、監査ルールデータベース223、および監査チェックリストデータベース224へ記憶する。
【0094】
なお、本実施形態では、監査ルールの生成(S221)と監査チェックリストの生成(S222)とは並列して同時に実行されているが、この態様に限定されることはない。例えば、監査ルールの生成(S221)を監査チェックリストの生成(S222)よりも先に実行してもよいし、またはその逆でもよい。
【0095】
図9に戻って、監査ルール生成処理(S220)が終了すると、ステップS230において、サーバ20の送受信モジュール231は、生成した監査ルールを端末装置10へ送信する。ステップS130において、端末装置10の送受信部202は、サーバ20から監査ルールを受信する。
【0096】
ステップS140において、端末装置10は、サーバ20から受信した監査ルールをディスプレイ141に表示することで、ユーザに提示する。ユーザは、自身が設定したルール定義に基づいて自然言語で生成された監査ルールを確認する。
【0097】
次に、
図11を参照して、生成された監査チェックリストに基づく監査対象システムの検証処理について説明する。上述したように、当該検証処理は、ユーザによって設定されたパラメータに基づいて定められたタイミングで実行する仕様としてもよい。
【0098】
図11のステップS410において、チェック項目検証処理が実行される。
図12に示すように、チェック項目検証処理(S410)では、ステップS411~ステップS413が実行される。
【0099】
図12のステップS411において、サーバ20の検証モジュール233は、監査対象システムが出力したログデータを取得する。ログデータとしては、例えば、セキュリティ対策ソフトウェアの動作に関するセキュリティログであってもよいし、通信モジュールの動作に関する通信ログであってもよい。
【0100】
ステップS412において、サーバ20の検証モジュール233は、取得したログデータと監査チェックリストとの比較をすることで、監査対象システムが監査チェックリストの項目に適合しているか否かを検証する。本実施形態では、監査チェックリストはデータ記述言語で生成されているため、検証モジュール233は、ログデータと監査チェックリストとの比較を実行することができる。ステップS413において、サーバ20の検証モジュール233は、比較結果に基づき、検証結果データを生成する。
【0101】
図11に戻って、チェック項目検証処理(S410)が終了すると、ステップS420において、サーバ20の送受信モジュール231は、検証結果データを端末装置10へ送信する。ステップS310において、端末装置10の送受信部202は、検証結果データを受信する。
【0102】
ステップS320において、端末装置10は、サーバ20から受信した検証結果データをディスプレイ141に表示することで、ユーザに提示する。ユーザは、監査対象システムに対する検証結果データを確認する。
【0103】
図16は、検証結果データとして、監査対象システムの運用状況を示す運用状況確認画面340の一例を示す図である。
図16に示すように、運用状況確認画面では、レギュレーションの規定における達成度合いとして、網羅率と順守率を評価する仕様としてもよい。ここで、網羅率とは、ユーザが設定したルール定義から生成された監査ルールが、対応するレギュレーションをどれだけ網羅できているかを示す比率である。また、順守率とは、ログデータによって示される監査対象システムの動作が、レギュレーションをどれだけ順守できているかを示す比率である。
【0104】
図17は、検証結果データとして、ルール定義によって対応づけた複数のレギュレーションそれぞれについて、網羅率と順守率を示すレギュレーション確認画面350の一例を示す図である。ユーザは、レギュレーション確認画面350を見ることにより、監査対象システムが順守できている(または、順守できていない)レギュレーションと、その度合いを容易に確認することができる。さらに、レギュレーション確認画面350に表示されたレギュレーションを選択することで、監査チェックリストの項目に不備があった場合に、当該項目がレギュレーションのどの規則に沿っていないかを特定することもできる。
【0105】
図18は、検証結果データとして、監査ルールそれぞれの合否(順守されているか否か)を確認するための監査ルール確認画面360の一例を示す図である。ユーザは、監査ルール確認画面360を見ることにより、監査対象システムが順守できている(または、順守できていない)監査ルールと、その度合いを容易に確認することができる。
【0106】
図19は、検証結果データとして、ログデータを確認するためのログデータ確認画面370の一例を示す図である。ユーザは、ログデータ確認画面370を見ることにより、どのログデータが保存対象となっていて、どのログデータに基づいてどのような検証が行われているかを確認することができる。
【0107】
(1-7.小括)
以上のようにして、本実施形態では、システム1は、監査対象システムに対するルール定義の設定を受け付けるステップと、設定されたルール定義から、自然言語で規定された監査ルールと、データ記述言語で規定された監査チェックリストとを生成するステップと、システム1が、監査チェックリストの項目に適合しているか否かを検証するステップと、を実行する。このような構成とすることにより、ユーザが設定したルール定義に基づいて、整合性のとれた監査ルールと監査チェックリストをシステムが生成するため、監査ルールと監査チェックリストとの対応付けという煩雑な作業を行う必要がなくなり、監査作業をより円滑に行うことが可能となる。なお、本実施形態における監査ルールは、いわゆる社内規定として利用することもできる。具体的には、「情報セキュリティ基本規定」や「システム管理規定」という名称で利用してもよい。すなわち、システム1を用いることにより、組織運営に必要な社内規定の作成を効率的に行うことが可能となる。
【0108】
また、本実施形態では、監査チェックリストをデータ記述言語等のコンピュータ言語で生成しているため、検証の対象となるログデータに対して、正常であるか異常であるかの判断を自動かつ即時に行うことができ、監査作業の迅速化が実現される。なお、監査チェックリストは、ログデータのファイル形式に合わせたコンピュータ言語を適宜用いることができる。
【0109】
また、本実施形態におけるルール定義は設定後に流用可能であるため、ある組織で設定したルール定義を、必要な個所を適宜修正した形で他の組織で利用することもできる。このような使い方をすることで、組織に導入しているシステムの監査ルールを作成する手間を省くことができる。また、特定のルール定義が、どの程度他の組織で採用されているかを把握することができる。例えば、ある組織における監査ルールを作成するシステム管理者は、他の組織におけるルール定義の採用状況を把握した上で、他の組織と比べて遜色がないルール定義を設定して、当該ルール定義に基づく監査ルールと監査チェックリストを生成することができる。
【0110】
<2 他の実施形態>
以上、本発明における実施形態およびその変形例について説明したが、本開示の適用は上述の内容に限定されるものではない。例えば、本実施形態におけるシステム1は、一例として、監査対象システムに対するセキュリティ監査を対象としているが、セキュリティ監査以外のコンピュータシステムの監査についても適用することができる。また、監査対象システムは、コンピュータシステムに限定されることはなく、コンピュータシステム以外のシステムを監査対象としてもよい。一例として、監査対象システムは、会社や部署などの組織であってもよく、建物、オフィス、もしくは営業所などの拠点であってもよく、または業務プロセスなどの工程(または工程の集まり)であってもよい。
【0111】
また、上記実施形態では、チェック項目検証処理(S410)において、監査対象システムが出力したログデータを用いて、検証処理を行っているが、この仕様に限定されることはない。例えば、検証処理を実行するタイミングで、ユーザから検証対象となるログファイルの入力を受け付ける仕様としてもよい。
【0112】
また、システム1は、ユーザによる検証結果を受け付ける仕様としてもよい。すなわち、ユーザが自然言語で作成されたチェックリストに基づいて、手作業として監査対象システムの検証を行った場合に、当該検証結果の入力を受け付けて、レギュレーションの規定における達成度合いの評価等を行う仕様としてもよい。このような仕様とすることで、システムによるチェックが向いていないチェック項目については、ユーザの手作業によるチェックを行いつつ、システム1の検証モジュール233での検証処理との併用を実現することができる。
【0113】
また、上記実施形態では、ルール定義を作成するユーザとして監査対象システムの管理者を想定しているが、この態様に限定されることはない。例えば、ソフトウェアベンダーまたはハードウェアベンダーの担当者が、ルール定義を生成してもよい。一例として、PC(Personal Computer)ベンダーの担当者が、自社の製品に推奨されるセキュリティ設定をルール定義として設定して、当該製品を利用するユーザに配布してもよい。このような運用とすることで、当該製品を利用するユーザは、ベンダーの推奨に基づく設定ができているかを確認することができ、また、ベンダーが推奨するルール定義に独自のルールを加えることで改良することができる。
【0114】
また、端末装置10は、タブレット端末、又はスマートフォン等の携帯端末であってもよく、据え置き型のPC、又はラップトップPC等により実現されてもよい。この場合、家庭用のPCなどにソフトウェアをインストールすることにより、端末装置10を実現し、マウスなどの操作を受け付けるようにしてもよい。
【0115】
また、通信回線を介した所定情報の共有は、主にインターネットなどのWANを介して行われるが、情報処理装置間では、WANを介さずにBluetooth(登録商標)等の近距離の無線通信、及び赤外線通信等のみを介して行われてもよい。
【0116】
また、上記実施形態では、各機能を端末装置10またはサーバ20が備える態様の一例について説明したが、この形態に限定されることはなく、一部または全部の機能について上記実施形態と異なる態様で端末装置10、サーバ20、又は端末装置10とサーバ20の両方が備える構成としてもよい。
【0117】
また、上記実施形態において端末装置10に実行させるものとして記載されていた各ステップをサーバ20に実行させてもよく、サーバ20に実行させるものとして記載されていた各ステップをサーバ20に実行させてもよい。
【0118】
また、上記実施形態において、サーバ20の記憶部220に記憶させていたデータベースの一部または全部を、端末装置10に記憶させてもよい。または、当該データベースの一部または全部を、外付けハードディスクのような他の記憶媒体に記憶させておき、必要に応じてサーバ20の制御部230が参照する仕様としてもよい。
【0119】
さらに、本発明は、上述した端末装置10またはサーバ20が備える機能を情報処理装置に実行させるプログラムとして実現してもよいし、当該プログラムを格納する、コンピュータ読み取り可能な非一時的な記録媒体として実現してもよい。
【0120】
<付記>
以上の各実施形態で説明した事項を以下に付記する。
(付記1)
プロセッサを備えるコンピュータに、システムの監査に関する処理を実行させるプログラムであって、監査対象となるシステムに対するルール定義の設定を受け付けるステップと、前記設定されたルール定義から、自然言語で規定された監査ルールと、コンピュータ言語で規定された監査チェックリストとを生成するステップと、前記システムが、前記監査チェックリストの項目に適合しているか否かを検証するステップと、を実行させるプログラム。
(付記2)
前記設定を受け付けるステップでは、前記ルール定義において必要なパラメータの入力を受け付ける、付記1に記載のプログラム。
(付記3)
前記パラメータには、検証に関する条件が含まれる、付記2に記載のプログラム。
(付記4)
前記パラメータには、前記検証を実行するタイミングの情報が含まれる、付記2に記載のプログラム。
(付記5)
前記生成するステップでは、前記監査ルールと前記監査チェックリストを、前記ルール定義に対応づけられたレギュレーションに紐づけて生成する、付記1に記載のプログラム。
(付記6)
前記検証するステップでは、前記システムが出力したログデータを用いて検証を行う、付記1に記載のプログラム。
(付記7)
前記検証するステップでは、検証の対象となるファイルの入力を受け付ける、付記1に記載のプログラム。
(付記8)
前記検証するステップでは、チェックリストの項目に不備があった場合に、レギュレーションのどの規定に沿っていないかを特定する、付記1に記載のプログラム。
(付記9)
レギュレーションの規定における達成度合いを評価する、付記8に記載のプログラム。
(付記10)
ユーザによる検証結果を受け付けるステップをさらに備える、付記1に記載のプログラム。
【0121】
以上、本開示のいくつかの実施形態を説明したが、これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものとする。
【符号の説明】
【0122】
1:システム、10:端末装置、13:入力装置、14:出力装置、15:メモリ、16:ストレージ、19:プロセッサ、20:サーバ、25:メモリ、26:ストレージ、29:プロセッサ、30:ネットワーク、131:タッチセンシティブデバイス、141:ディスプレイ、150:通信部、160:撮像部、170:音声処理部、171:マイク、172:スピーカ、180:記憶部、200:制御部、201:操作受付部、202:送受信部、203:表示制御部、210:通信部、220:記憶部、221:レギュレーションデータベース、222:ルール定義データベース、223:監査ルールデータベース、224:監査チェックリストデータベース、230:制御部、231:送受信モジュール、232:生成モジュール、233:検証モジュール、310:レギュレーション確認画面、311:レギュレーション情報、312:監査ルール情報、313:ルール定義作成アイコン、320:ルール定義作成画面、321:ルール定義選択アイコン、322:次ページ進行アイコン、330:パラメータ入力画面、331:パラメータ入力領域、332:作成アイコン、340:運用状況確認画面、350:レギュレーション確認画面、360:監査ルール確認画面、370:ログデータ確認画面。
【要約】
【課題】システムの監査作業をより円滑に行う技術を提供する。
【解決手段】プロセッサを備えるコンピュータに、システムの監査に関する処理を実行させるプログラムであって、監査対象となるシステムに対するルール定義の設定を受け付けるステップと、前記設定されたルール定義から、自然言語で規定された監査ルールと、データ記述言語で規定された監査チェックリストとを生成するステップと、前記システムが、前記監査チェックリストの項目に適合しているか否かを検証するステップと、を実行させるプログラムが提供される。
【選択図】
図1