(57)【要約】【課題】機密情報の格納先の抽出精度を高めること。【解決手段】機密語特定装置は、記憶装置に記憶されているディレクトリが格納する各ファイルのファイルパス文字列のうち、予め登録された１以上の文字列のいずれかを含むファイルパス文字列を構成する各単語の出現回数を計数する計数部と、  前記各単語の前記出現回数が所定の条件を満たす場合に、前記各単語を機密情報に関する単語として特定する特定部と、を有する。【選択図】図３
2019028788.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置に記憶されているディレクトリが格納する各ファイルのファイルパス文字列のうち、予め登録された１以上の文字列のいずれかを含むファイルパス文字列を構成する各単語の出現回数を計数する計数部と、
前記各単語の前記出現回数が所定の条件を満たす場合に、前記各単語を機密情報に関する単語として特定する特定部と、
を有することを特徴とする機密語特定装置。
【請求項２】
前記特定部は、前記各単語の前記出現回数が所定の条件を満たす場合に、前記ディレクトリを、機密情報を含むファイルを格納するディレクトリとして特定する、
ことを特徴とする請求項１記載の機密語特定装置。
【請求項３】
前記記憶装置に記憶されているファイルに対するアクセスごとに記録されるログの中から、前記特定部によって特定されたディレクトリが格納するファイルへのアクセスを示すログを抽出する抽出部、
を有することを特徴とする請求項２記載の機密語特定装置。
【請求項４】
前記計数部は、前記記憶装置に記憶されているディレクトリごとに、当該ディレクトリが格納する各ファイルのファイルパス文字列のうち、機密情報に関するキーワードとして予め登録された１以上の文字列のいずれかを含むファイルパス文字列を構成する各単語の出現回数を計数し、
前記特定部は、前記ディレクトリごとに、当該ディレクトリに係る前記各単語の前記出現回数が所定の条件を満たす場合に、前記各単語を機密情報に関する単語として特定する、
ことを特徴とする請求項１乃至３いずれか一項記載の機密語特定装置。
【請求項５】
記憶装置に記憶されているディレクトリが格納する各ファイルのファイルパス文字列のうち、予め登録された１以上の文字列のいずれかを含むファイルパス文字列を構成する各単語の出現回数を計数する処理と、
前記各単語の前記出現回数が所定の条件を満たす場合に、前記各単語を機密情報に関する単語として特定する処理と、
をコンピュータが実行することを特徴とする機密語特定方法。
【請求項６】
記憶装置に記憶されているディレクトリが格納する各ファイルのファイルパス文字列のうち、予め登録された１以上の文字列のいずれかを含むファイルパス文字列を構成する各単語の出現回数を計数する処理と、
前記各単語の前記出現回数が所定の条件を満たす場合に、前記各単語を機密情報に関する単語として特定する処理と、
をコンピュータに実行させることを特徴とする機密語特定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機密語特定装置、機密語特定方法及び機密語特定プログラムに関する。
【背景技術】
【０００２】
社内の共有ファイルサーバにおいては、複数のユーザによって自由に操作可能とされるファイルだけでなく、アクセスに対する制限が厳しい機密情報を格納したファイル（以下、「機密ファイル」という。）も管理される場合が有る。例えば、機密情報の種類ごとにディレクトリ（以下、「機密ディレクトリ」という。）が作成され、各機密ファイルが格納する機密情報の種類に応じたディレクトリへ各機密ファイルが保存される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１１６６８０号公報
【特許文献２】特開２００２−３３４０６１号公報
【特許文献３】特開２０１３−１３７７４０号公報
【特許文献４】特開２００７−１４８９４６号公報
【特許文献５】特開２０１３−１９１１８８号公報
【特許文献６】特開２０１０−２５０５０２号公報
【特許文献７】特開２０１２−０６８８３３号公報
【特許文献８】特開２０１３−１９１１８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
機密ファイルに対するアクセスは、不正なファイルアクセスである可能性が有るため、ファイルアクセスごとに記録されるアクセスログに基づいて、機密ファイルへのアクセスを自動的に検知できれば、不正なファイルアクセスの検知作業の効率化を期待することができる。
【０００５】
しかしながら、社内で扱う機密情報は部署によって異なる場合も有るため、ファイルサーバ内の多数のディレクトリのうち、いずれが機密ディレクトリであるのかを特定するのは困難である。
【０００６】
特許文献７には、文書情報に含まれるコンテンツに基づいて機密ラベルを判定することが提案されているが、ファイルに含まれる機密ラベルの形態は多様であるため、機密ラベルを判断できないことが考えられる。
【０００７】
そこで、一側面では、本発明は、機密情報の格納先の抽出精度を高めることを目的とする。
【課題を解決するための手段】
【０００８】
一つの態様では、機密語特定装置は、記憶装置に記憶されているディレクトリが格納する各ファイルのファイルパス文字列のうち、予め登録された１以上の文字列のいずれかを含むファイルパス文字列を構成する各単語の出現回数を計数する計数部と、
前記各単語の前記出現回数が所定の条件を満たす場合に、前記各単語を機密情報に関する単語として特定する特定部と、を有する。
【発明の効果】
【０００９】
一側面として、機密情報の格納先の抽出精度を高めることができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態におけるシステム構成例を示す図である。
【図２】第１の実施の形態における分析装置１０のハードウェア構成例を示す図である。
【図３】第１の実施の形態における分析装置１０の機能構成例を示す図である。
【図４】共起性解析部１１の機能の概要を説明するための図である。
【図５】学習リストの生成及び機密ディレクトリの判定のための処理手順の一例を説明するためのフローチャートである。
【図６】ディレクトリ一覧の一例を示す図である。
【図７】初期リストの一例を示す図である。
【図８】共起性の解析結果の行列の一例を説明するための図である。
【図９】学習リストの一例を示す図である。
【図１０】不正アクセスの抽出処理の処理手順の一例を説明するためのフローチャートである。
【図１１】アクセスログの一例を示す図である。
【図１２】第２の実施の形態における分析装置１０の機能構成例を示す図である。
【図１３】クロス集計表の生成を説明するための図である。
【図１４】継続事象の特定を説明するための図である。
【図１５】クロス集計表の生成処理の処理手順の一例を説明するためのフローチャートである。
【図１６】クロス集計表の構成例を示す図である。
【図１７】継続事象の特定処理の処理手順の一例を説明するためのフローチャートである。
【図１８】継続事象記憶部１９の構成例を示す図である。
【図１９】アクセスログの分類処理の処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて第１の実施の形態を説明する。図１は、第１の実施の形態におけるシステム構成例を示す図である。図１において、ユーザ端末３０ａ、３０ｂ及び３０ｃ等の１以上のユーザ端末３０（以下、それぞれを区別しない場合「ユーザ端末３０」という。）は、或る企業内のＬＡＮ（Local  Area  Network）又はイントラネット等のネットワークを介してファイルサーバ２０に接続される。また、ファイルサーバ２０には、分析装置１０もネットワークを介して接続される。なお、本実施の形態において、当該企業を「企業Ａ」という。
【００１２】
ファイルサーバ２０は、企業Ａにおいて、例えば、複数の従業員によって共有されるファイルや、企業Ａ内の組織において管理されるファイル等が記憶される１以上のコンピュータ（記憶装置）である。ファイルとは、電子データを格納したファイルをいう。
【００１３】
各ユーザ端末３０は、ファイルサーバ２０に記憶されているファイルに対するアクセス元となる端末である。例えば、ＰＣ（Personal  Computer）、スマートフォン又はタブレット端末等がユーザ端末３０として利用されてもよい。ユーザ端末３０からのアクセスは、ユーザ端末３０のユーザの操作によって任意のタイミングで発生するアクセス（以下、「ユーザアクセス」という。）や、ユーザ端末３０に実装されたプログラムによって周期的又は反復的に発生する機械的なアクセス（以下、「機械アクセス」という。）等が有る。機械アクセスの一例として、ファイルの定期的なバックアップのためのアクセスやファイルの検索機能によるアクセス等が有る。例えば、次のような特性を有するアクセスが機械アクセスの一例として想定される。発生タイミングが定期的（１日に数回、半日に１回など）、かつ、短時間（１分、１０分など）である。１ファイルに対するアクセス数は１回である。短時間に発生するアクセスに関してはアクセス元のＩＰアドレスは同じである。但し、毎日異なるＩＰアドレスがユーザ端末３０に割り振られる場合など、発生タイミングごとにアクセス元のＩＰアドレスが異なる可能性がある。
【００１４】
一方、ユーザアクセスの一例として、ファイルの閲覧や編集のためのアクセス等が有る。なお、不正なユーザアクセスの一例として、なりすましによるファイルの閲覧や、ファイルの改ざんのためのアクセス等が有る。
【００１５】
分析装置１０は、ファイルサーバ２０においてファイルに対するアクセスごとに記録されるログ（以下、「アクセスログ」という。）に基づく、ファイルへの不正なアクセスの検知を支援する１以上のコンピュータである。本実施の形態において、分析装置１０は、機密情報を格納しているファイル（以下、「機密ファイル」という。）のパス文字列から、機密ファイルを格納するディレクトリ（以下、「機密ディレクトリ」）を特定するためのキーワードを抽出する処理を行う。分析装置１０は、更に、当該キーワードに基づいて機密ディレクトリを特定し、過去のファイルアクセスに関するアクセスログ群から、機密ディレクトリ下のファイルアクセスに係るアクセスログを抽出する。
【００１６】
図２は、第１の実施の形態における分析装置１０のハードウェア構成例を示す図である。図２の分析装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００１７】
分析装置１０での処理を実現するプログラムは、記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１８】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って分析装置１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１９】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard  Disk  Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００２０】
図３は、第１の実施の形態における分析装置１０の機能構成例を示す図である。図３において、分析装置１０は、共起性解析部１１及び不正アクセス抽出部１２等を有する。これら各部は、分析装置１０にインストールされた１以上のプログラムが、ＣＰＵ１０４に実行させる処理により実現される。分析装置１０は、また、機密ワード記憶部１３、機密ディレクトリリスト記憶部１４及び不正アクセス候補記憶部１５等を利用する。これら各記憶部は、例えば、補助記憶装置１０２、又は分析装置１０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００２１】
機密ワード記憶部１３には、初期状態において、初期リストが記憶されている。初期リストとは、機密情報に関連が有る可能性が高い単語等の文字列（以下、「機密ワード」という。）のうち、予め設定される機密ワード（機密語）のリストである。機密ワード記憶部１３には、また、学習リストが記憶される。学習リストは、ファイルサーバ２０に記憶されている各ファイルのファイルパス文字列から機密ワードであることが学習（推定）された機密ワードのリストである。
【００２２】
共起性解析部１１は、ファイルサーバ２０のディレクトリごとに、当該ディレクトリに格納されている各ファイルのファイルパス文字列から、初期リストに含まれる機密ワードと共起して出現する単語を抽出し、当該単語の出現回数をカウント（計数）する。なお、当該単語の出現回数が所定の条件を満たす場合（例えば、当該単語数が多く、かつ、当該各単語の出現回数が多い場合）、当該単語は、学習された機密ワードとして学習リストに追加される。
【００２３】
共起性解析部１１は、上記所定の条件を満たしたディレクトリを「機密ディレクトリ」として判定（抽出）する。
【００２４】
図４は、共起性解析部１１の機能の概要を説明するための図である。図４において、ファイルサーバ２０を示す矩形内には、ファイルサーバ２０内のディレクトリ構成が例示されている。当該ディレクトリ構成では、「Ｙプロジェクト」ディレクトリの下に、「他社情報（秘密）ディレクトリ、「社外資料」ディレクトリ、及び「他社製品紹介」ディレクトリが有る。これら各ディレクトリの下には、図４に示されるファイルが格納されている。
【００２５】
また、図４には、初期リストを構成する機密ワードが、「秘密」、「他社」であることが示されている。
【００２６】
このような状況において、共起性解析部１１は、「Ｙプロジェクト／他社情報（秘密）」ディレクトリ格納される３つのファイルの各ファイルパス文字列を構成する単語について、行列Ｍ１に示されるように、各機密ワードとの共起回数をカウントする。例えば、行列Ｍ１では、「秘密」と「情報」との共起回数が４となっている。これは、「Ｙプロジェクト／他社情報（秘密）／Ａ社取引情報．ｘｌｓ」において２回、「Ｙプロジェクト／他社情報（秘密）／Ｂ社発注予算．ｘｌｓ」において１回、「Ｙプロジェクト／他社情報（秘密）／Ｃ社知財資料．ｘｌｓ」において１回の共起が発生しており、これらの合計が４回だからである。
【００２７】
「Ｙプロジェクト／社外資料」ディレクトリについては、行列Ｍ２に示されるように共起回数がカウントされ、「Ｙプロジェクト／他社製品紹介」ディレクトリについては行列Ｍ３に示されるように、共起回数がカウントされる。
【００２８】
共起性解析部１１は、行列Ｍ１、Ｔ２、Ｔ３のカウント結果に基づいて、機密ディレクトリを判定する。図４の例では、「Ｙプロジェクト／他社情報（秘密）」ディレクトリが機密ディレクトリとして判定される例が示されている。この場合、行列Ｍ１において列を構成した各単語の一覧は、「Ｙプロジェクト／他社情報（秘密）」ディレクトリに対する学習リストとして、当該ディレクトリに関連付けられて機密ワード記憶部１３に記憶される。すなわち、学習リストは、機密ディレクトリと判定されたディレクトリごとに生成される。
【００２９】
不正アクセス抽出部１２は、ファイルサーバ２０に記憶されている各ファイルへのアクセスごとに記録されているアクセスログの中から、機密ディレクトリに属するファイルへのアクセスに対応するアクセスログを不正アクセスの候補として抽出し、抽出されたアクセスログを不正アクセス候補記憶部１５に記憶する。
【００３０】
以下、分析装置１０が実行する処理手順について説明する。図５は、学習リストの生成及び機密ディレクトリの判定のための処理手順の一例を説明するためのフローチャートである。
【００３１】
ステップＳ１０１において、共起性解析部１１は、ファイルサーバ２０に記憶されている（に形成されている）ディレクトリのパス文字列（パス名）の一覧（以下、「ディレクトリ一覧」という。）をファイルサーバ２０から取得する。
【００３２】
図６は、ディレクトリ一覧の一例を示す図である。図６の（１）に示されるように、ディレクトリ一覧は、ディレクトリのパス文字列の一覧である。図６の（１）は、図６の（２）に示されるようなディレクトリ構成に対応するディレクトリ一覧に相当する。なお、ディレクトリ一覧にはファイルのパス文字列は含まれない。（２）において、ファイルが破線で示されているのはこのことを表現している。また、（１）において、＃の列は、便宜上、各パス文字列に付与されている識別子である。また、ディレクトリ一覧には、ファイルサーバ２０における全てのディレクトリのパス文字列が含まれてもよいし、例えば、分析者等によって分析対象として選定された一部のディレクトリのパス文字列が含まれてもよい。
【００３３】
続いて、共起性解析部１１は、ディレクトリ一覧のうちの一つのパス文字列を処理対象として取得する（Ｓ１０２）。当該パス文字列に係るディレクトリを以下「対象ディレクトリ」という。なお、既に、ステップＳ１０４以降において処理対象とされたパス文字列は、取得対象から除外される。
【００３４】
パス文字列を取得できない場合（すなわち、ディレクトリ一覧に含まれる全てのパス文字列について処理が実行された場合）（Ｓ１０３でＮｏ）、図５の処理手順は終了する。パス文字列を取得できた場合（Ｓ１０３でＹｅｓ）、共起性解析部１１は、対象ディレクトリ下に保存されている各ファイルのファイルパス文字列（ファイルパス名）の一覧をファイルサーバ２０から取得する（Ｓ１０４）。当該一覧が取得されない場合（すなわち、対象ディレクトリ下にファイルが保存されていない場合）（Ｓ１０５でＮｏ）、ステップＳ１０２に戻る。
【００３５】
当該一覧が取得された場合（Ｓ１０５でＹｅｓ）、共起性解析部１１は、対象ディレクトリに対応する学習リスト（以下、「対象学習リスト」という。）が既に生成されているか（対象ディレクトリに対応する学習リストが機密ワード記憶部１３に記憶されているか）否かを判定する（Ｓ１０６）。上述したように、学習リストは、ディレクトリごとに生成され、例えば、各ディレクトリの識別情報（例えば、パス文字列）に関連付けられて機密ワード記憶部１３に記憶される。
【００３６】
対象学習リストが機密ワード記憶部１３に記憶されていない場合（Ｓ１０６でＮｏ）、共起性解析部１１は、初期リストから機密ワードの一覧を読み込む（Ｓ１０７）。したがって、ステップＳ１０８が対象ディレクトリに関して初めて実行される場合、初期リストから機密ワードが読み込まれる。
【００３７】
図７は、初期リストの一例を示す図である。図７に示されるように、初期リストは、機密情報に関連が有る可能性が高い文字列（単語）として予め設定された文字列のリストである。
【００３８】
一方、対象学習リストが機密ワード記憶部１３に記憶されている場合（Ｓ１０６でＹｅｓ）、共起性解析部１１は、対象学習リストから機密ワードの一覧を読み込む。
【００３９】
以下、ステップＳ１０７又はＳ１０８において読み込まれた機密ワードの一覧を、「対象機密ワードリスト」という。
【００４０】
続いて、共起性解析部１１は、ステップＳ１０４において取得されたファイルパス文字列の一覧のうち、未処理の１つのファイルパス文字列を処理対象として取得する（Ｓ１０９）。未処理とは、ステップＳ１１０以降について処理対象とされていないことをいう。取得されたファイルパス文字列を以下「対象ファイルパス文字列」という。
【００４１】
続いて、共起性解析部１１は、対象ファイルパス文字列を、形態素解析等を利用して単語に分解する（Ｓ１１０）。続いて、共起性解析部１１は、対象機密ワードリストに含まれる機密ワードのうち、対象ファイルパス文字列から分解されたいずれかの単語と一致する機密ワードが有れば（すなわち、対象ファイルパス文字列が当該機密ワードを含めば）、該当する機密ワードごとに、対象ファイルパス文字列を構成する単語群のうち当該機密ワードに一致する単語を除く各単語（つまり、当該機密ワードとの共起語）の出現回数（共起回数）をカウント（特定）し、カウント結果を、例えばメモリ装置１０３に記憶する（Ｓ１１１）。
【００４２】
続いて、共起性解析部１１は、ファイルパス文字列の一覧に含まれる全てのファイルパス文字列を処理したか否かを判定する（Ｓ１１２）。未処理のファイルパス文字列が有る場合（Ｓ１１２でＮｏ）、ステップＳ１０９以降が繰り返される。
【００４３】
全てのファイルパス文字列が処理された場合（Ｓ１１２でＹｅｓ）、共起性解析部１１は、ステップＳ１１１においていずれかの単語と一致した機密ワード（いずれかのファイルパス文字列に含まれる機密ワード）を行とし、いずれかの機密ワードとの共起語を列とし、各行の機密ワードと各列の共起語との共起回数の合計（すなわち、ファイルパス文字列別にカウントされた共起回数の合計）を要素とする行列（以下、「対象行列」という。）を生成する（Ｓ１１３）。
【００４４】
図８は、共起性の解析結果の行列の一例を説明するための図である。図８において最上位に示される行列は、図４の行列Ｍ１に対応する。なお、図８では、共起性の解析結果を示す行列が、ディレクトリごとに生成されることを示しており、ステップＳ１１３の１回の実行によって、図８に示される複数の行列が生成されることを意味するものではない。
【００４５】
続いて、共起性解析部１１は、対象行列の密度を計算する（Ｓ１１４）。当該密度は、例えば、以下の式によって計算されてもよいし、他の式に基づいて計算されてもよい。
【００４６】
【数１】
2019028788.tif 000003
【００４７】
続いて、共起性解析部１１は、当該密度が予め設定される閾値以上であるか否かを判定する（Ｓ１１５）。すなわち、本実施の形態において、当該密度が閾値以上であるか否かが、各単語の出現回数が所定の条件を満たすか否かの一例である。
【００４８】
当該密度が閾値未満であれば（Ｓ１１５でＮｏ）、ステップＳ１０２へ戻る。当該密度が閾値以上であれば（Ｓ１１５でＹｅｓ）、共起性解析部１１は、対象ディレクトリのパス文字列を機密ディレクトリリスト記憶部１４に記憶する（Ｓ１１６）。すなわち、対象ディレクトリが機密ディレクトリとして判定（推定）される。
【００４９】
続いて、共起性解析部１１は、いずれかの機密ワードの共起語とされた単語（すなわち、ステップＳ１１３において生成された対象行列の列を構成した単語）を、機密ワード記憶部１３に記憶されている対象ディレクトリに対する学習リストに追加し（Ｓ１１７）、ステップＳ１０２以降を繰り返す。但し、対象ディレクトリに対する学習リストが未生成である場合には、共起性解析部１１は、いずれかの機密ワードの共起語とされた単語と、初期リストに含まれる各機密ワードとを含む学習リストを生成し、当該学習リストを対象ディレクトリの識別情報に関連付けて機密ワード記憶部１３に記憶する。
【００５０】
図９は、学習リストの一例を示す図である。図９に示す学習リストには、図７に示した初期リストに対して、図８行列の列を構成する各単語が機密ワードとして追加されている。
【００５１】
なお、図５の処理手順は、定期的等、複数のタイミングにおいて実行されてもよい。そうすることで、新たなファイル又はディレクトリの追加に応じて各学習リストを更新することができる。
【００５２】
図１０は、不正アクセスの抽出処理の処理手順の一例を説明するためのフローチャートである。
【００５３】
ステップＳ２０１において、不正アクセス抽出部１２は、機密ディレクトリリスト記憶部１４に記憶されている、機密ディレクトリのパス文字列のうちの一つを取得する。取得されたパス文字列を以下「対象パス文字列」という。
【００５４】
続いて、不正アクセス抽出部１２は、例えば、一定期間内のアクセスログのうちの１行の（１つの）アクセスログをファイルサーバ２０から取得する（Ｓ２０２）。
【００５５】
図１１は、アクセスログの一例を示す図である。図１１に示されるように、アクセスログは、いずれかのファイルへのアクセスごとに、アクセス元ＩＰ、アクセス時刻、アクセス先パス、及び操作等の項目の値を含む。アクセス元ＩＰは、アクセス元のユーザ端末３０等のＩＰアドレスである。アクセス時刻は、例えば、アクセスが発生した日時等、アクセス時期を示す情報である。アクセス先パスは、アクセス対象とされたファイルのパス文字列である。操作は、アクセス対象のファイルに対して行われた操作種別を示す情報である。例えば、Ｒｅａｄ（参照）、Ｗｒｉｔｅ（書き込み）、Ｄｅｌｅｔｅ（削除）、Ｒｅａｄ−ｆａｉｌｕｒｅ（参照失敗）、Ｗｒｉｔｅ−ｆａｉｌｕｒｅ（書き込み失敗）、Ｄｅｌｅｔｅ−ｆａｉｌｕｒｅ（削除失敗）等が操作として記録されてもよい。
【００５６】
ステップＳ２０２では、図１１に示されるようなアクセスログ群のうちの１行分が取得される。取得されたアクセスログを以下「対象ログ」という。
【００５７】
続いて、不正アクセス抽出部１２は、対象ログのアクセス先パスに、対象パス文字列が含まれているか否かを判定する（Ｓ２０３）。対象ログのアクセス先パスに対象パス文字列が含まれている場合（Ｓ２０３でＹｅｓ）、不正アクセス抽出部１２は、対象ログを不正アクセス候補記憶部１５に記憶する（Ｓ２０４）。すなわち、対象ログに係るアクセスが、不正アクセスの候補として判定される。
【００５８】
一方、対象ログのアクセス先パスに、対象パス文字列が含まれていない場合（Ｓ２０３でＮｏ）、不正アクセス抽出部１２は、一定期間内の全てのアクセスログを取得したか否かを判定する（Ｓ２０５）、取得されていないアクセスログが有る場合（Ｓ２０５でＮｏ）、ステップＳ２０２以降が繰り返される。全てのアクセスログが取得された場合（Ｓ２０５でＹｅｓ）、不正アクセス抽出部１２は、機密ディレクトリリスト記憶部１４に記憶されている全てのパス文字列が取得されたか否かを判定する（Ｓ２０６）。取得されていないパス文字列が有る場合（Ｓ２０６でＮｏ）、ステップＳ２０１以降が繰り返される。全てのパス文字列が取得された場合（Ｓ２０６でＹｅｓ）、図１０の処理手順が終了する。
【００５９】
なお、ステップＳ２０３では、対象パス文字列が対象ログのアクセス先パスに前方一致するか否かが判定されてもいい。
【００６０】
上述したように、第１の実施の形態によれば、初期値として設定された機密ワードに基づいて、ファイルサーバ２０の各ファイルのファイルパス文字列から新たな機密ワードを学習（抽出）し、これらの機密ワードに基づいて、機密ディレクトリを特定又は推定することができる。したがって、第２の実施の形態によれば、機密情報の格納先の抽出精度を高めることができる。
【００６１】
また、機密ワードは、ディレクトリごとに学習される。したがって、企業Ａで扱う機密情報が部署によって異なる場合等、機密ワードがディレクトリに応じて異なる場合であっても、適切に機密ワードを特定することができる。
【００６２】
また、機密ディレクトリに格納されたファイルへのアクセスを示すアクセスログが抽出されることで、分析者等は、分析対象とするアクセスログを絞り込むことができ、分析作業を効率化することができる。
【００６３】
次に、第２の実施の形態について説明する。第２の実施の形態では第１の実施の形態と異なる点について説明する。第２の実施の形態において、特に言及されない点については、第１の実施の形態と同様でもよい。
【００６４】
ファイルサーバ２０に記憶されているファイルへのアクセスとしては、ユーザアクセスの他に、機械アクセスが有る。
【００６５】
機密ディレクトリが、機械アクセスの対象外であれば、機密ディレクトリに対する機械アクセスは、マルウェアによるファイルスキャンなどの不正アクセスである可能性が高い。この場合、不正アクセス抽出部１２による不正アクセスの抽出処理において処理対象とするアクセスログを、機械アクセスに係るアクセスログに限定すれば、当該抽出処理の処理効率の向上を期待することができる。そのためには、機密ディレクトリ下のファイルに対する機械アクセスを自動的に検知できる必要が有る。
【００６６】
そこで、第２の実施の形態では、分析装置１０が、機械アクセスを自動的に検知可能とする例について説明する。
【００６７】
図１２は、第２の実施の形態における分析装置１０の機能構成例を示す図である。図１２中、図３と同一部分には同一符号を付し、その説明は省略する。図１２において、分析装置１０は、アクセスログ群を機械アクセスに関する可能性の高いアクセスログ（以下、「機械アクセス候補ログ」という。）と、ユーザアクセスに関する可能性の高いアクセスログ（以下、「ユーザアクセス候補ログ」という。）とに分類（分別）するために、更に、クロス集計表生成部１６、継続事象特定部１７及びアクセスログ分類部１８等を有する。これら各部は、分析装置１０にインストールされた１以上のプログラムが、ＣＰＵ１０４に実行させる処理により実現される。分析装置１０は、また、継続事象記憶部１９を更に利用する。継続事象記憶部１９は、例えば、補助記憶装置１０２、又は分析装置１０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００６８】
クロス集計表生成部１６は、例えば、過去の一週間等の一定期間において記録されたアクセスログについて、一定周期の期間（例えば、１日）ごとに、クロス集計表を生成する。クロス集計表とは、単位時間（例えば、３０分）ごとのアクセス先のファイルパス文字列の順序集合（時系列集合）を、アクセス元別に分類した表をいう。
【００６９】
図１３は、クロス集計表の生成を説明するための図である。図１３では、一週間分のアクセスログ群が１日ごとに分割され、各日のアクセスログ群ごとに、クロス集計表が生成される例が示されている。図１３における下段の表が、クロス集計表を示す。クロス集計表の行はアクセス元ごとに区別され、列は単位時間ごとに区別されている。クロス集計表のいずれかのセル内の楕円が、当該セルに係るアクセス元及び単位時間に関して抽出された順序集合を示す。したがって、図１３では、１日目〜７日目まで各日のアクセスログ群から順序集合ｓ１及びｓ２が抽出され、３日目以降のアクセスログ群から、更に、順序集合ｓ３が抽出された例が示されている。なお、内容が同じである順序集合には同一符号が付されている。
【００７０】
継続事象特定部１７は、各クロス集計表（各日）の順序集合を比較することにより、各日において継続して（反復して）出現している順序集合（すなわち、１日周期で出現している順序集合）を特定する。各日において継続している順序集合の組を、以下「継続事象」という。継続事象の特定結果は、継続事象記憶部１９に記憶される。
【００７１】
図１４は、継続事象の特定を説明するための図である。図１４では、同一の内容を有する順序集合が線によって接続されている。ここで、順序集合ｓ１及びｓ２が、１週間の各日において出現している。したがって、順序集合ｓ１及びｓ２が継続事象として特定される。
【００７２】
アクセスログ分類部１８は、継続事象記憶部１９に記憶された継続事象に基づいて、各アクセスログを機械アクセス候補ログ又はユーザアクセス候補ログに分類する。
【００７３】
以下、分析装置１０が実行する処理手順について説明する。図１５は、クロス集計表の生成処理の処理手順の一例を説明するためのフローチャートである。
【００７４】
ステップＳ３０１において、クロス集計表生成部１６は、分析対象期間の設定を取得する。分析対象期間とは、分析対象とするアクセスログを特定するための期間をいい、例えば、当該期間の開始日及び終了日によって指定される。図１３における１週間が分析対象期間に相当する。分析対象期間は、予め設定されていてもよいし、ステップＳ３０１のタイミングでユーザによって入力されてもよい。
【００７５】
続いて、クロス集計表生成部１６は、クロス集計表の生成単位とする期間（以下、「生成期間」という。）の設定を取得する（Ｓ３０２）。図１３における１日が、生成期間に相当する。生成期間は、予め設定されていてもよいし、ステップＳ３０２のタイミングでユーザによって入力されてもよい。なお、機械アクセスが発生する周期に基づいて生成期間が設定されてもよい。例えば、機械アクセスが２日ごとに発生することが予定されていれば、生成期間は２日に設定されてもよい。
【００７６】
続いて、クロス集計表生成部１６は、変数ｉに１を代入する（Ｓ３０３）。図１５において、変数ｉは、処理対象とされている生成期間の順番を記憶するための変数である。
【００７７】
続いて、クロス集計表生成部１６は、ｉ番目の生成期間のアクセスログ群（図１１）をファイルサーバ２０から読み込む（Ｓ３０４）。
【００７８】
ステップＳ３０４では、アクセス時刻がｉ番目の生成期間に含まれるアクセスログ群（以下、「対象アクセスログ群」という。）が読み込まれる。
【００７９】
続いて、クロス集計表生成部１６は、対象アクセスログ群に含まれている各アクセスログのアクセス元ＩＰの種類と、単位時間の種類とを特定し、空のクロス集計表を生成する（Ｓ３０５）。以下、生成されたクロス集計表を「対象クロス集計表」という。単位時間の種類の特定とは、ｉ番目の生成期間を区切る複数の単位時間のうち、１以上のアクセスログのアクセス時刻を含む単位時間を特定することをいう。生成されるクロス集計表は、特定されたアクセス元ＩＰアドレスの種類を行とし、特定された単位時間の種類を列とする。
【００８０】
続いて、クロス集計表生成部１６は、対象アクセスログ群について、アクセス元ＩＰ別に、単位時間ごとのアクセス先パスの順序集合を生成する（Ｓ３０６）。１つの順序集合に複数のアクセス先パスが含まれる場合、当該複数のアクセス先パスは、アクセス時刻の昇順に（すなわち、時系列に）整列される。
【００８１】
続いて、クロス集計表生成部１６は、生成した各順序集合を、対象クロス集計表において、それぞれの順序集合のアクセス元ＩＰ及び単位時間に対応するセルに登録する（Ｓ３０７）。続いて、クロス集計表生成部１６は、対象クロス集計表を、メモリ装置１０３又は補助記憶装置１０２等に記憶する（Ｓ３０８）。
【００８２】
図１６は、クロス集計表の構成例を示す図である。図１６に示されるように、クロス集計表には、アクセス元ＩＰ別に、単位時間ごとのアクセス先の順序集合が登録される。なお、図１６に示されるクロス集計表は、４月１日の１日分の生成期間のアクセスログ群に基づくクロス集計表である。
【００８３】
続いて、クロス集計表生成部１６は、対象分析期間の全てのアクセスログを読み込んだか否かを判定する（Ｓ３０９）。まだ読み込んでいないアクセスログが有る場合（Ｓ３０９でＮｏ）、クロス集計表生成部１６は、ｉに１を加算して（Ｓ３１０）、ステップＳ３０４以降を繰り返す。全てのアクセスログを読み込んだ場合（Ｓ３０９でＹｅｓ）、クロス集計表生成部１６は、図１５の処理手順を終了する。
【００８４】
図１５の処理手順が実行されることにより、対象分析期間に含まれる生成期間ごとに、クロス集計表が生成される。
【００８５】
図１７は、継続事象の特定処理の処理手順の一例を説明するためのフローチャートである。
【００８６】
ステップＳ４０１において、継続事象特定部１７は、変数ｉに１を代入する。図１７において、変数ｉは、処理対象とする（注目する）クロス集計表の順番を記憶するための変数である。なお、クロス集計表の順番は、クロス集計表の生成期間の前後関係に従う。すなわち、生成期間が相対的に前であるクロス集計表が当該順番において前である。
【００８７】
続いて、継続事象特定部１７は、ｉの値が対象分析期間に関して生成されたクロス集計表の数Ｎ以下であるか否かを判定する（Ｓ４０２）。ｉの値がＮ以下である場合（Ｓ４０２でＹｅｓ）、継続事象特定部１７は、ｉ番目のクロス集計表から未処理の順序集合を１つ取り出す（Ｓ４０３）。ここで、未処理とは、ステップＳ４０４〜Ｓ４０７について未処理であることをいう。以下、ステップＳ４０３において取り出された順序集合を「対象順序集合」という。
【００８８】
続いて、継続事象特定部１７は、対象順序集合を、各グループの順序集合と比較する（Ｓ４０４）。ここでいうグループとは、後述されるステップＳ４０６又はＳ４０７において、順序集合（アクセス先パスの並び順）の同一性に基づいて各順序集合が分類されることで形成されるグループをいい、図１５の処理の開始時には存在しない。したがって、少なくとも、ｉ＝１であり、かつ、対象順序集合が最初に取り出された順序集合である場合、対象順序集合と一致する順序集合が属するグループは無い。
【００８９】
対象順序集合と一致する順序集合が属するグループが無い場合（Ｓ４０５でＮｏ）、継続事象特定部１７は、新たなグループを生成し、当該グループに対象順序集合を含める（Ｓ４０６）。一方、対象順序集合と一致する順序集合が属するグループが有る場合（Ｓ４０５でＹｅｓ）、継続事象特定部１７は、対象順序集合を当該グループに含める（Ｓ４０７）。
【００９０】
ステップＳ４０３〜Ｓ４０８が、ｉ番目のクロス集計表に含まれる全ての順序集合について実行されると（Ｓ４０８でＹｅｓ）、継続事象特定部１７は、変数ｉに１を加算して（Ｓ４０９）、ステップＳ４０２以降を繰り返す。変数ｉの値がクロス集計表の数Ｎを超えると（Ｓ４０２でＮｏ）、ステップＳ４１０に進む。この時点において、各クロス集計表の各順序集合は、複数のグループに分類されている。
【００９１】
ステップＳ４１０において、継続事象特定部１７は、全てのクロス集計表から取り出された順序集合が属するグループの有無を判定する。すなわち、各日（各生成周期）において出現する順序集合が属するグループの有無が判定される。
【００９２】
該当するグループが１以上有る場合（Ｓ４１０でＹｅｓ）、継続事象特定部１７は、当該各グループに属する順序集合を継続事象記憶部１９に記憶する（Ｓ４１１）。すなわち、当該各グループの順序集合が、継続事象として特定される。当該各グループの順序集合は、周期的に継続して出現しているからである。
【００９３】
図１８は、継続事象記憶部１９の構成例を示す図である。図１８に示されるように、継続事象記憶部１９には、継続事象ごとに、継続事象ＩＤ、順序集合、クロス集計表での該当箇所等が記憶される。
【００９４】
継続事象ＩＤは、継続事象ごとに割り当てられる識別情報である。順序集合は、継続事象として特定された順序集合である。クロス集計表での該当箇所は、当該順序集合が、クロス集計表において出現した箇所を示す情報である。図１８において、クロス集計表での該当箇所は、生成期間、アクセス元ＩＰ、単位時間等の項目を含む。生成期間は、当該順序集合が出現したクロス集計表の生成期間である。アクセス元ＩＰは、当該クロス集計表において当該順序集合が含まれる行を特定するための項目である。単位時間は、当該クロス集計表において当該順序集合が含まれる列を特定するための項目である。
【００９５】
なお、ステップＳ４０４における順序集合の比較において、完全一致のみでなく、類似している場合にも、「一致」としての比較結果が出力されるようにしてもよい。すなわち、完全一致の順序集合群のみでなく、類似する順序集合も同一のグループに分類されるようにしてもよい。例えば、順序集合に含まれるアクセス先パスのうちの所定の割合以上のアクセス先パスの並びが一致している場合に、比較された順序集合は類似すると判定されてもよい。この場合、グループ内の全ての順序集合に類似することが要求されてもよいし、いずれかＭ個以上の順序集合に類似することが要求されてもよい。
【００９６】
また、ステップＳ４１０では、例えば、全部のクロス集計表に対する所定の割合以上のクロス集計表から取り出された順序集合が属するグループの有無が判定されてもよい。又は、略一定間隔のクロス集計表に出現する順序集合が属するグループの有無が判定されてもよい。例えば、１番目、３番目、５番目といったように、出現間隔が２である順序集合は、略一定間隔のクロス集計表に出現する順序集合に該当する。
【００９７】
図１９は、アクセスログの分類処理の処理手順の一例を説明するためのフローチャートである。
【００９８】
ステップＳ５０１において、アクセスログ分類部１８は、継続事象記憶部１９に記憶されている全ての継続事象を読み込む。続いて、アクセスログ分類部１８は、アクセス時刻が分析対象期間に含まれるアクセスログを、ファイルサーバ２０から１つ読み込む（Ｓ５０２）。以下、読み込まれたアクセスログを「対象ログ」という。
【００９９】
続いて、アクセスログ分類部１８は、対象期間及び単位時間が、対象ログのアクセス時刻を含み、アクセス元ＩＰが、対象ログのアクセス元ＩＰに一致する継続事象の有無を判定する（Ｓ５０３）。すなわち、対象ログが、いずれかの継続事象を構成するアクセスログであるか否かが判定される。
【０１００】
該当する継続事象が有れば（Ｓ５０３でＹｅｓ）、アクセスログ分類部１８は、対象ログを機械アクセス候補ログに分類する（Ｓ５０４）。該当する継続事象が無ければ（Ｓ５０３でＮｏ）、アクセスログ分類部１８は、対象ログをユーザアクセス候補ログに分類する（Ｓ５０５）。なお、機械アクセス候補ログに分類されたアクセスログと、ユーザアクセス候補ログに分類されたアクセスログとは、例えば、分析装置１０の補助記憶装置１０２において異なるフォルダに保存されてもよい。
【０１０１】
ステップＳ５０１〜Ｓ５０５は、分析対象期間内の全てのアクセスログについて実行される（Ｓ５０６）。
【０１０２】
上述したように、第２の実施の形態によれば、アクセスログ群を、ユーザアクセス候補ログと機械アクセス候補ログとに分類することができる。したがって、例えば、機械アクセスについて不正アクセスを検知したい場合、図１０のステップＳ２０２で取得するアクセスログを機械アクセス候補ログに限定することで、処理効率を向上させることができる。
【０１０３】
また、第２の実施の形態では、機械アクセスであるか否かについて、継続して類似する順序集合が出現するか否かに着目するため，定期的に発生しないアクセス（すなわち、周期性又は反復性を有さないアクセス）に係るアクセスログを、機械アクセス候補ログから除外することができる。
【０１０４】
また、第２の実施の形態では、アクセスが発生した順序に着目するため、アクセス時刻が厳密に一定間隔でない機械アクセスについても、機械アクセスであると判定することができる。
【０１０５】
なお、上記各実施の形態において、分析装置１０は、機密語特定装置の一例である。共起性解析部１１は、計数部及び特定部の一例である。不正アクセス抽出部１２は、抽出部の一例である。
【０１０６】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１０７】
以上の説明に関し、更に以下の項を開示する。
（付記１）
記憶装置に記憶されているディレクトリが格納する各ファイルのファイルパス文字列のうち、予め登録された１以上の文字列のいずれかを含むファイルパス文字列を構成する各単語の出現回数を計数する計数部と、
前記各単語の前記出現回数が所定の条件を満たす場合に、前記各単語を機密情報に関する単語として特定する特定部と、
を有することを特徴とする機密語特定装置。
（付記２）
前記特定部は、前記各単語の前記出現回数が所定の条件を満たす場合に、前記ディレクトリを、機密情報を含むファイルを格納するディレクトリとして特定する、
ことを特徴とする付記１記載の機密語特定装置。
（付記３）
前記記憶装置に記憶されているファイルに対するアクセスごとに記録されるログの中から、前記特定部によって特定されたディレクトリが格納するファイルへのアクセスを示すログを抽出する抽出部、
を有することを特徴とする付記２記載の機密語特定装置。
（付記４）
前記計数部は、記憶装置に記憶されているディレクトリごとに、当該ディレクトリが格納する各ファイルのファイルパス文字列のうち、機密情報に関するキーワードとして予め登録された１以上の文字列のいずれかを含むファイルパス文字列を構成する各単語の出現回数を計数し、
前記特定部は、ディレクトリごとに、当該ディレクトリに係る前記各単語の前記出現回数が所定の条件を満たす場合に、前記各単語を機密情報に関する単語として特定する、
ことを特徴とする付記１乃至３いずれか一項記載の機密語特定装置。
（付記５）
記憶装置に記憶されているディレクトリが格納する各ファイルのファイルパス文字列のうち、予め登録された１以上の文字列のいずれかを含むファイルパス文字列を構成する各単語の出現回数を計数する処理と、
前記各単語の前記出現回数が所定の条件を満たす場合に、前記各単語を機密情報に関する単語として特定する処理と、
をコンピュータが実行することを特徴とする機密語特定方法。
（付記６）
前記特定する処理は、前記各単語の前記出現回数が所定の条件を満たす場合に、前記ディレクトリを、機密情報を含むファイルを格納するディレクトリとして特定する、
ことを特徴とする付記５記載の機密語特定方法。
（付記７）
前記記憶装置に記憶されているファイルに対するアクセスごとに記録されるログの中から、前記特定する処理において特定されたディレクトリが格納するファイルへのアクセスを示すログを抽出する処理、
を前記コンピュータが実行することを特徴とする付記６記載の機密語特定方法。
（付記８）
前記計数する処理は、記憶装置に記憶されているディレクトリごとに、当該ディレクトリが格納する各ファイルのファイルパス文字列のうち、機密情報に関するキーワードとして予め登録された１以上の文字列のいずれかを含むファイルパス文字列を構成する各単語の出現回数を計数し、
前記特定する処理は、ディレクトリごとに、当該ディレクトリに係る前記各単語の前記出現回数が所定の条件を満たす場合に、前記各単語を機密情報に関する単語として特定する、
ことを特徴とする付記５乃至７いずれか一項記載の機密語特定方法。
（付記９）
記憶装置に記憶されているディレクトリが格納する各ファイルのファイルパス文字列のうち、予め登録された１以上の文字列のいずれかを含むファイルパス文字列を構成する各単語の出現回数を計数する処理と、
前記各単語の前記出現回数が所定の条件を満たす場合に、前記各単語を機密情報に関する単語として特定する処理と、
をコンピュータに実行させることを特徴とする機密語特定プログラム。
（付記１０）
前記特定する処理は、前記各単語の前記出現回数が所定の条件を満たす場合に、前記ディレクトリを、機密情報を含むファイルを格納するディレクトリとして特定する、
ことを特徴とする付記９記載の機密語特定プログラム。
（付記１１）
前記記憶装置に記憶されているファイルに対するアクセスごとに記録されるログの中から、前記特定する処理において特定されたディレクトリが格納するファイルへのアクセスを示すログを抽出する処理、
を前記コンピュータに実行させることを特徴とする付記１０記載の機密語特定プログラム。
（付記１２）
前記計数する処理は、記憶装置に記憶されているディレクトリごとに、当該ディレクトリが格納する各ファイルのファイルパス文字列のうち、機密情報に関するキーワードとして予め登録された１以上の文字列のいずれかを含むファイルパス文字列を構成する各単語の出現回数を計数し、
前記特定する処理は、ディレクトリごとに、当該ディレクトリに係る前記各単語の前記出現回数が所定の条件を満たす場合に、前記各単語を機密情報に関する単語として特定する、
ことを特徴とする付記９乃至１１いずれか一項記載の機密語特定プログラム。
【符号の説明】
【０１０８】
１０          分析装置
１１          共起性解析部
１２          不正アクセス抽出部
１３          機密ワード記憶部
１４          機密ディレクトリリスト記憶部
１５          不正アクセス候補記憶部
１６          クロス集計表生成部
１７          継続事象特定部
１８          アクセスログ分類部
１９          継続事象記憶部
２０          ファイルサーバ
３０          ユーザ端末
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
Ｂ            バス
【図１】
2019028788.tif 000004
【図２】
2019028788.tif 000005
【図３】
2019028788.tif 000006
【図４】
2019028788.tif 000007
【図５】
2019028788.tif 000008
【図６】
2019028788.tif 000009
【図７】
2019028788.tif 000010
【図８】
2019028788.tif 000011
【図９】
2019028788.tif 000012
【図１０】
2019028788.tif 000013
【図１１】
2019028788.tif 000014
【図１２】
2019028788.tif 000015
【図１３】
2019028788.tif 000016
【図１４】
2019028788.tif 000017
【図１５】
2019028788.tif 000018
【図１６】
2019028788.tif 000019
【図１７】
2019028788.tif 000020
【図１８】
2019028788.tif 000021
【図１９】
2019028788.tif 000022