(57)【要約】【課題】アクセスログ群のリスクを精度よく評価する。【解決手段】リスク評価装置１のセッション分割部１２は、アクセスログＤＢ１１に記憶される複数のアクセスログを複数のセッションに分割する。アクセスログ判定部１４は、セッション分割部１２により分割された複数のセッションのうち一のセッションを構成する各アクセスログについて、アクセスログ判定ルール記憶部１５に記憶されるルールに基づいて、自動アクセスのログであるか否かについて判定する。セッション判定部１６は、アクセスログ判定部１４による判定結果と、セッション判定ルール記憶部１７に記憶されるルールとに基づいて、前記一のセッションについて、自動アクセスのログ群であるか否かについて判定する。リスク評価部１９は、前記一のセッションについて、リスク判定ルール記憶部２０に記憶されるルールに基づいて、リスクを評価する。【選択図】図１
2015179467.tif 000002
【特許請求の範囲】
【請求項１】
複数のアクセスログを、それぞれ複数のアクセスログにより構成される複数のセッションに分割するセッション分割部と、
前記セッション分割部により分割された複数のセッションのうち一のセッションを構成する各アクセスログの種別を判定するアクセスログ判定部と、
前記アクセスログ判定部による判定結果に基づいて、前記一のセッションについて、自動アクセスログ群であるか否かについて判定するセッション判定部と、
前記セッション判定部により自動アクセスログ群であると判定された一のセッションについて、マルウェアによるアクセスのログを判別するためのルールに基づいて、リスクを評価するリスク評価部と
を備えるリスク評価装置。
【請求項２】
複数のアクセスログを、それぞれ複数のアクセスログにより構成される複数のセッションに分割するセッション分割部と、
前記セッション分割部により分割された複数のセッションのうち一のセッションを構成する各アクセスログの種別を判定するアクセスログ判定部と、
前記アクセスログ判定部による判定結果に基づいて、前記一のセッションについて、手動アクセスログ群であるか否かについて判定するセッション判定部と、
前記セッション判定部により手動アクセスログ群であると判定された一のセッションについて、不正なアクセスのログを判別するためのルールに基づいて、リスクを評価するリスク評価部と
を備えるリスク評価装置。
【請求項３】
前記セッション判定部は、前記一のセッションにおいて前記アクセスログ判定部により判定された種別が同一のアクセスログが所定数以上連続する場合に、前記一のセッションが当該種別のアクセスログ群であると判定することを特徴とする請求項１又は２に記載のリスク評価装置。
【請求項４】
前記セッション判定部は、前記一のセッションにおいて前記アクセスログ判定部により判定された一の種別のアクセスログが占める割合が所定割合以上である場合に、前記一のセッションが当該一の種別のアクセスログ群であると判定することを特徴とする請求項１又は２に記載のリスク評価装置。
【請求項５】
前記アクセスログ判定部は、前記一のセッションを構成する各アクセスログについて、所定のルールに基づいてその種別を判定し、
前記アクセスログ判定部は、前記一のセッションを構成する一のアクセスログについて前記所定のルールに基づいてその種別を判定することができなかった場合に、前記一のセッションを構成する他のアクセスログであって、当該一のアクセスログが記録されてから所定の時間内に記録された他のアクセスログに対する前記アクセスログ判定部による判定結果に基づいて、当該一のアクセスログの種別を判定する
ことを特徴とする請求項１乃至４のいずれか一項に記載のリスク評価装置。
【請求項６】
リスク評価装置により実行されるリスク評価方法であって、
複数のアクセスログを、それぞれ複数のアクセスログにより構成される複数のセッションに分割するセッション分割ステップと、
前記セッション分割ステップにより分割された複数のセッションのうち一のセッションを構成する各アクセスログの種別を判定するアクセスログ判定ステップと、
前記アクセスログ判定ステップによる判定結果に基づいて、前記一のセッションについて、自動アクセスログ群であるか否かについて判定するセッション判定ステップと、
前記セッション判定ステップにより自動アクセスログ群であると判定された一のセッションについて、マルウェアによるアクセスのログを判別するためのルールに基づいて、リスクを評価するリスク評価ステップと
を備えるリスク評価方法。
【請求項７】
コンピュータに、
複数のアクセスログを、それぞれ複数のアクセスログにより構成される複数のセッションに分割するセッション分割ステップと、
前記セッション分割ステップにより分割された複数のセッションのうち一のセッションを構成する各アクセスログについての種別を判定するアクセスログ判定ステップと、
前記アクセスログ判定ステップによる判定結果に基づいて、前記一のセッションについて、自動アクセスログ群であるか否かについて判定するセッション判定ステップと、
前記セッション判定ステップにより自動アクセスログ群であると判定された一のセッションについて、マルウェアによるアクセスのログを判別するためのルールに基づいて、リスクを評価するリスク評価ステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアクセスログにより構成されるセッションのリスクを評価する技術に関する。
【背景技術】
【０００２】
情報セキュリティ対策を実施する上で、ネットワーク内のマルウェアに感染したマシンを精度よく検出することは重要である。そのための技術として、例えば特許文献１では、ボットに感染した装置に関する通信結果を精度よく抽出することができる情報処理装置が提案されている。この情報処理装置によれば、ネットワーク上で実行された通信に係る通信結果が記録され、ボットに感染した装置が行う通信に見られる状態の出現数がＩＰアドレスごとにカウントされ、そのカウント値に基づいてＩＰアドレスごとに特徴量が算出され、その算出された特徴量と所定の特徴量との比較結果に基づいて、通信結果を抽出するＩＰアドレスが選択される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−９２２３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、当該情報処理装置においてその出現数がカウントされている状態は、正常なＷｅｂアクセス時にも多数発生する状態であり、仮にＩＰアドレスごとにその出現数をカウントすることを加味したとしても、当該情報処理装置のように１回の通信ごとの特徴のみを分析する方法では、誤検出が多数発生すると考えられる。
【０００５】
本発明は、このような事情に鑑みてなされたものであり、アクセスログ群のリスクを精度よく評価することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するため、本発明は、複数のアクセスログを、それぞれ複数のアクセスログにより構成される複数のセッションに分割するセッション分割部と、前記セッション分割部により分割された複数のセッションのうち一のセッションを構成する各アクセスログの種別を判定するアクセスログ判定部と、前記アクセスログ判定部による判定結果に基づいて、前記一のセッションについて、自動アクセスログ群であるか否かについて判定するセッション判定部と、前記セッション判定部により自動アクセスログ群であると判定された一のセッションについて、マルウェアによるアクセスのログを判別するためのルールに基づいて、リスクを評価するリスク評価部とを備えるリスク評価装置を提供する。
【０００７】
また、本発明は、複数のアクセスログを、それぞれ複数のアクセスログにより構成される複数のセッションに分割するセッション分割部と、前記セッション分割部により分割された複数のセッションのうち一のセッションを構成する各アクセスログの種別を判定するアクセスログ判定部と、前記アクセスログ判定部による判定結果に基づいて、前記一のセッションについて、手動アクセスログ群であるか否かについて判定するセッション判定部と、前記セッション判定部により手動アクセスログ群であると判定された一のセッションについて、不正なアクセスのログを判別するためのルールに基づいて、リスクを評価するリスク評価部とを備えるリスク評価装置を提供する。
【０００８】
上記のリスク評価装置において、前記セッション判定部は、前記一のセッションにおいて前記アクセスログ判定部により判定された種別が同一のアクセスログが所定数以上連続する場合に、前記一のセッションが当該種別のアクセスログ群であると判定してもよい。
【０００９】
上記のリスク評価装置において、前記セッション判定部は、前記一のセッションにおいて前記アクセスログ判定部により判定された一の種別のアクセスログが占める割合が所定割合以上である場合に、前記一のセッションが当該一の種別のアクセスログ群であると判定してもよい。
【００１０】
上記のリスク評価装置において、前記アクセスログ判定部は、前記一のセッションを構成する各アクセスログについて、所定のルールに基づいてその種別を判定し、前記アクセスログ判定部は、前記一のセッションを構成する一のアクセスログについて前記所定のルールに基づいてその種別を判定することができなかった場合に、前記一のセッションを構成する他のアクセスログであって、当該一のアクセスログが記録されてから所定の時間内に記録された他のアクセスログに対する前記アクセスログ判定部による判定結果に基づいて、当該一のアクセスログの種別を判定してもよい。
【００１１】
また、本発明は、リスク評価装置により実行されるリスク評価方法であって、複数のアクセスログを、それぞれ複数のアクセスログにより構成される複数のセッションに分割するセッション分割ステップと、前記セッション分割ステップにより分割された複数のセッションのうち一のセッションを構成する各アクセスログの種別を判定するアクセスログ判定ステップと、前記アクセスログ判定ステップによる判定結果に基づいて、前記一のセッションについて、自動アクセスログ群であるか否かについて判定するセッション判定ステップと、前記セッション判定ステップにより自動アクセスログ群であると判定された一のセッションについて、マルウェアによるアクセスのログを判別するためのルールに基づいて、リスクを評価するリスク評価ステップとを備えるリスク評価方法を提供する。
【００１２】
また、本発明は、コンピュータに、複数のアクセスログを、それぞれ複数のアクセスログにより構成される複数のセッションに分割するセッション分割ステップと、前記セッション分割ステップにより分割された複数のセッションのうち一のセッションを構成する各アクセスログについての種別を判定するアクセスログ判定ステップと、前記アクセスログ判定ステップによる判定結果に基づいて、前記一のセッションについて、自動アクセスログ群であるか否かについて判定するセッション判定ステップと、前記セッション判定ステップにより自動アクセスログ群であると判定された一のセッションについて、マルウェアによるアクセスのログを判別するためのルールに基づいて、リスクを評価するリスク評価ステップとを実行させるためのプログラムを提供する。
【発明の効果】
【００１３】
本発明によれば、アクセスログ群のリスクを精度よく評価することができる。
【図面の簡単な説明】
【００１４】
【図１】リスク評価装置１の機能ブロック図である。
【図２】アクセスログＤＢ１１の一例を示す図である。
【図３】処理テーブル１３の一例を示す図である。
【図４】アクセスログ判定ルール記憶部１５に記憶されるルールの一例を示す図である。
【図５】セッションＤＢ１８の一例を示す図である。
【図６】セッション判定ルール記憶部１７に記憶されるルールの一例を示す図である。
【図７】リスク判定ルール記憶部２０に記憶されるルールの一例を示す図である。
【図８】リスク評価装置１の動作例を示すフローチャートである。
【図９】セッション分割部１２による処理の一例を示す図である。
【図１０】アクセスログ判定部１４による判定処理の一例を示すフローチャートである。
【図１１】アクセスログ判定部１４による処理の一例を示す図である。
【図１２】セッション判定部１６による判定処理の一例を示すフローチャートである。
【図１３】セッション判定部１６による処理の一例を示す図である。
【図１４】リスク評価部１９による評価処理の一例を示すフローチャートである。
【図１５】リスク評価部１９による処理の一例を示す図である。
【図１６】リスク判定ルール記憶部２０に記憶されるルールの一例を示す図である。
【発明を実施するための形態】
【００１５】
１．実施形態
１−１．構成
図１は、本発明の一実施形態に係るリスク評価装置１の機能ブロック図である。リスク評価装置１は、アクセスログのリスクを評価する装置である。なお、本発明に係るリスクとは、情報セキュリティリスクのことであり、より具体的には、そのアクセスログが、マルウェアに感染した装置によるアクセスのログである可能性のことである。また、本発明に係るマルウェアとは、有害なソフトウェアのことである。
【００１６】
リスク評価装置１は、例えば、プロキシサーバや、プロキシサーバ等の通信機器からアクセスログを取得するサーバである。リスク評価装置１は、図１に示されるように、アクセスログＤＢ（Database）１１と、セッション分割部１２と、処理テーブル１３と、アクセスログ判定部１４と、アクセスログ判定ルール記憶部１５と、セッション判定部１６と、セッション判定ルール記憶部１７と、セッションＤＢ１８と、リスク評価部１９と、リスク判定ルール記憶部２０とを有する。これらの構成要素のうち、セッション分割部１２と、アクセスログ判定部１４と、セッション判定部１６と、リスク評価部１９とは、リスク評価装置１が備えるＣＰＵ（Central Processing Unit）等の演算装置が、リスク評価装置１が備えるメモリからプログラムを読み出して実行することにより実現される。
以下、各構成要素について説明する。
【００１７】
図２は、アクセスログＤＢ１１の一例を示す図である。アクセスログＤＢ１１は、複数のアクセスログを記録するためのデータベースである。なお、本発明に係るアクセスログとは、情報に対する操作の記録のことである。本実施形態では、一のアクセスログは、ｔｉｍｅ（日時）と、発信元ＩＰ（Internet Protocol Address）と、ＵＲＬ（Uniform Resource Locator）と、メソッドと、ステータスコードと、ＵｓｅｒＡｇｅｎｔとにより構成される。ここで、メソッドとは、ＨＴＴＰ（Hypertext Transfer Protocol）通信においてクライアントからサーバに対して送信されるリクエストの種類を示す情報である。ステータスコードとは、ＨＴＴＰ通信においてサーバからのレスポンスの内容を示すコードである。ＵｓｅｒＡｇｅｎｔとは、情報にアクセスする際に使用されるソフトウェア又はハードウェアを示す情報である。
なお、アクセスログの構成は、本実施形態に示される例に限られない。
【００１８】
アクセスログＤＢ１１を構成する各レコードは、図２に示されるように、「ｔｉｍｅ」、「発信元ＩＰ」、「ＵＲＬ」、「メソッド」、「ステータスコード」、「ＵｓｅｒＡｇｅｎｔ」、「セッションＩＤ」及び「セッション分割」の各フィールドにより構成される。ここで、セッションＩＤは、セッションに一意に付与される識別情報である。セッション分割は、セッションＩＤが付与されたか否かを示す情報である。なお、本発明に係るセッションとは、クライアントによる１回のウェブサイトへのアクセスのログの集合である。より具体的には、その時間間隔がｘ（例えば、３０）秒以内の連続するアクセスログ群であって、かつその発信元ＩＰが同一のアクセスログ群のことである。
【００１９】
セッション分割部１２は、アクセスログＤＢ１１に記録されている複数のアクセスログを、それぞれ複数のアクセスログにより構成される複数のセッションに分割する。そして、分割した各セッションに対してセッションＩＤを付与し、アクセスログＤＢ１１において、各セッションを構成するアクセスログと対応づけて、付与したセッションＩＤを記録する。ここで、付与されるセッションＩＤの値は、すでにセッションＤＢ１８に記録されているセッションＩＤのうちの最大値に「１」を加算した値となる。
【００２０】
セッション分割部１２は、セッションＩＤを記録する際に、当該セッションＩＤが記録されるアクセスログの「セッション分割」のフィールドに「済」データを記録する。また、セッション分割部１２は、新たに付与したセッションＩＤをセッションＤＢ１８の後述する「セッションＩＤ」の列にも記録する。
【００２１】
セッション分割部１２は、上記の分割を行うにあたって、各アクセスログのタイムスタンプ（アクセスログＤＢ１１におけるｔｉｍｅ）と発信元ＩＰとを利用する。具体的には、セッション分割部１２は、各アクセスログのタイムスタンプに基づいて隣接するログ同士の時間間隔を特定し、その特定した各時間間隔を変数ｘ（例えば、３０秒）と比較し、各時間間隔が変数ｘ以内の連続するログ群であって、かつその発信元ＩＰが同一のログ群を１つのセッションとして識別する。ここで、変数ｘは、固定的な値でもよいし、監視環境に応じて設定可能な値であってもよい。
上記のセッション分割部１２による一連の処理は、アクセスログＤＢ１１にアクセスログが記録されるたびに（すなわち、リアルタイムに）実行されてもよいし、一定間隔（例えば、１日ごと）で実行されてもよい。
【００２２】
図３は、処理テーブル１３の一例を示す図である。処理テーブル１３は、アクセスログＤＢ１１に記録される一のセッションであって、アクセスログ判定部１４、セッション判定部１６及びリスク評価部１９による処理の対象となるセッションを一時的に記録するためのテーブルである。この処理テーブル１３を構成する各レコードは、図３に示されるように、「ｔｉｍｅ」、「発信元ＩＰ」、「ＵＲＬ」、「メソッド」、「ステータスコード」、「ＵｓｅｒＡｇｅｎｔ」、「セッションＩＤ」、「アクセスログ自動性評価値」及び「アクセスログ手動性評価値」の各フィールドにより構成される。ここで、アクセスログ自動性評価値は、そのアクセスログが自動アクセスログである可能性を示す値である。アクセスログ手動性評価値は、そのアクセスログが手動アクセスログである可能性を示す値である。
【００２３】
なお、本発明に係る自動アクセスとは、ユーザによる操作に基づかないアクセスのことであり、自動アクセスログとは、自動アクセスのログのことである。自動アクセスとは、例えば、起動中のアプリケーションにより何らかのトリガにより自動的に行われるアクセスのことである。自動アクセスには、マルウェアによる通信だけでなく、正当なアプリケーションによる通信（例えば、アンチウイルスソフトによるパターンファイルの更新）も含まれる。
【００２４】
また、本発明に係る手動アクセスとは、ユーザによる操作に基づくアクセスのことであり、手動アクセスログとは、手動アクセスのログのことである。手動アクセスには、例えば、検索エンジンに対する検索要求の送信と検索結果の受信のみならず、検索結果が表示される画面に表示される広告の受信も含まれる。
【００２５】
アクセスログ判定部１４は、セッション分割部１２により分割された複数のセッションのうち一のセッションを構成する各アクセスログについて、自動アクセスログを判別するためのルール（及び／又は、手動アクセスログを判別するためのルール）に基づいて、その種別を判定する。より具体的には、アクセスログ判定部１４は、セッション分割部１２により分割された複数のセッションのうち一のセッションを構成する各アクセスログについて、アクセスログ判定ルール記憶部１５に記憶されるルールに基づいて、自動又は手動アクセスのログであるか否かについて判定する。
【００２６】
このアクセスログ判定部１４は、一のセッションが処理テーブル１３に記述されると、当該セッションを構成する各アクセスログについて、アクセスログ判定ルール記憶部１５に記憶されているすべてのルールと（例えば、昇順で）照合し、仮に自動アクセスログを判別するルールに合致した場合には、そのルールに対応づけられているスコアを、当該アクセスログのアクセスログ自動性評価値のフィールドに加算し、手動アクセスログを判別するルールに合致した場合には、そのルールに対応づけられているスコアを、当該アクセスログのアクセスログ手動性評価値のフィールドに加算する。
【００２７】
アクセスログ判定部１４による処理の結果、アクセスログ自動性評価値の方が大きい場合には、そのアクセスログは自動アクセスログと判定され、アクセスログ手動性評価値の方が大きい場合には、そのアクセスログは手動アクセスログと判定される。仮に両方の値が同一であった場合には、安全側に倒すべく、そのアクセスログは自動アクセスログと判定される。
【００２８】
なお、アクセスログ判定部１４は、そのログ単体に基づく判定によっては自動又は手動と判別できないアクセスログについては、そのログの前後のアクセスログの判定結果に基づいて判定を行う。具体的には、アクセスログ判定部１４は、判定を行うことができなかったアクセスログとドメインを共有し、かつその判定結果が「自動」（又は「手動」）であるアクセスログが一定数以上セッション内に存在する場合には、その判定を行うことができなかったアクセスログについて「自動」（又は「手動」）と判定する。
【００２９】
または、アクセスログ判定部１４は、その判定を行うことができなかった一のアクセスログと同一のセッションを構成する他のアクセスログであって、その一のアクセスログが記録されてから所定の時間内に記録された他のアクセスログに対するアクセスログ判定部１４による判定結果に基づいて、その一のアクセスログの種別を判定する。
より具体的には、アクセスログ判定部１４は、処理テーブル１３においてタイムスタンプの時刻順にアクセスログを並べた際に、その判定を行うことができなかったアクセスログの両隣のアクセスログの双方が「自動」（又は「手動」）と判定されている場合には、その判定を行うことができなかったアクセスログについて「自動」（又は「手動」）と判定する。
なお、ここで、そのログ単体に基づく判定によっては自動又は手動と判別できないアクセスログとは、例えば、アクセスログ判定ルール記憶部１５に記憶されるルールのいずれにも合致しないアクセスログのことである。
【００３０】
アクセスログ判定ルール記憶部１５は、自動又は手動アクセスログを判別するためのルールを記憶する。図４は、アクセスログ判定ルール記憶部１５に記憶されるルールの一例を示す図である。同図に示されるように、各ルールには、ルール種別とスコアが対応づけられている。ここで、ルール種別とは、そのルールにより判別されるアクセスログの種類（具体的には、自動又は手動）である。
以下、各ルールについて説明する。
【００３１】
［自動アクセスログを判別するためのルール］
（１）メソッド＝ＧＥＴ、かつステータスコード＝４０７である。そのアクセスログ以降に、ＵＲＬが同一であり、かつメソッド＝ＨＥＡＤのアクセスログが存在する。
（２）ＵｓｅｒＡｇｅｎｔ＝ブラウザである。そのアクセスログ以降に、ＵＲＬが同一であり、かつＵｓｅｒＡｇｅｎｔ＝他のプログラムのアクセスログが存在する。
ここで、他のプログラムとは、例えばＪａｖａ（登録商標）である。
【００３２】
これらルール（１）及び（２）は、「処理テーブル１３においてタイムスタンプの時刻順にアクセスログを並べた際に、同一セッション内のアクセスログ同士のＵＲＬが同一であって、かつメソッドとＵｓｅｒＡｇｅｎｔのうちいずれかの値が異なる」というルールの一例である。このルールに合致する場合、その複数のアクセスログのアクセスログ自動性評価値が加算される。
【００３３】
（３）ＵＲＬの末尾が、ｐｈｐ、ｈｔｍｌ等の所定の拡張子に該当する。そのアクセスログのタイムスタンプの時刻から所定時間内に記録されている、ＵＲＬのドメインが同一であり、かつ当該ＵＲＬの末尾の拡張子が所定の画像又は音声ファイルの拡張子であるアクセスログの数が所定数以下である。
（４）アクセスログ群内に、あるドメインへのアクセスログが存在する。そのアクセスログ以降に、他のドメインへのアクセスログであって、そのステータスコードが３００番台であるアクセスログが存在する。
このルールに合致する場合、「あるドメインへのアクセスログ」と、「そのステータスコードが３００番台であるアクセスログ」のアクセスログ自動性評価値が加算される。
（５）ＵｓｅｒＡｇｅｎｔの値がブラウザ以外のものである。
【００３４】
（６）同一セッション内で同一のＵＲＬに対して一定回数以上アクセスが失敗している。
このルール（６）は、「一のセッションにおいて連続する複数のアクセスログの類似度が所定値以上である」というルールの一例である。
このルール（６）に該当する場合、各アクセスログのステータスコードは４００又は５００番台となる。
（７）ＵＲＬが「http://」、「https://」及び「ftp://」以外の文字列で始まっている。または、ＵＲＬの「http://」以下にピリオド（．）が含まれていない。
このルール（７）は、「ＵＲＬが非正規のパターンに合致する」というルールの一例である。
【００３５】
［手動アクセスログを判別するためのルール］
（８）ＵＲＬに、html、php、jsp等の所定のサフィックスが含まれる。そのアクセスログのタイムスタンプの時刻から所定時間内に記録されている、ＵＲＬのドメインが同一であり、かつ当該ＵＲＬの末尾の拡張子が所定の画像又は音声ファイルの拡張子であるアクセスログの数が所定数以上である。または、そのアクセスログのタイムスタンプの時刻から所定時間内に記録されているアクセスログ群のＵＲＬのドメインがそのアクセスログと同一であり、かつそのアクセスログ群の拡張子のバリエーションが所定数以上である。
【００３６】
このルール（８）は、「ＨＴＭＬファイル等のスクリプトファイルへのアクセス直後に、画像又は音声ファイルへのアクセスが所定回数以上発生している」というルールの一例である。このルールに合致する場合、スクリプトファイルへのアクセスのログと、その直後に所定回数以上発生しているアクセスログのアクセスログ手動性評価値が加算される。
【００３７】
（９）ＵＲＬが検索エンジンのＵＲＬであり、かつ当該ＵＲＬの後に「/?search=検索単語」という形式で文字列が続いている。
このルール（９）は、「アクセスログが、アクセス先を示す情報として、検索エンジンの識別情報と検索キーワードとを含む」というルールの一例である。
なお、上記のルールはあくまで一例であって、アクセスログ判定ルール記憶部１５に記憶されるルールは上記の例に限られない。
【００３８】
セッション判定部１６は、アクセスログ判定部１４による判定結果と、自動アクセスログにより構成されるセッションを判別するためのルール（及び／又は、手動アクセスログにより構成されるセッションを判別するためのルール）とに基づいて、一のセッションについて、自動又は手動アクセスのログ群であるか否かについて判定する。より具体的にセッション判定部１６は、アクセスログ判定部１４による判定結果と、セッション判定ルール記憶部１７に記憶されるルールとに基づいて、一のセッションについて、自動又は手動アクセスのログ群であるか否かについて判定する。
【００３９】
図５は、セッションＤＢ１８の一例を示す図である。セッションＤＢ１８は、各セッションについてセッション判定部１６とリスク評価部１９の処理結果を記録するためのデータベースである。セッションＤＢ１８を構成する各レコードは、図５に示されるように、「セッションＩＤ」と、「セッション自動判定値」と、「セッション手動判定値」と、「リスク評価値」の各フィールドにより構成される。ここで、セッション自動判定値とは、そのセッションが自動アクセスのログ群である可能性を示す値である。セッション手動判定値とは、そのセッションが手動アクセスのログ群である可能性を示す値である。リスク評価値とは、そのセッションがマルウェアに感染した装置によるアクセスのログ群である可能性を示す値である。
【００４０】
上記のセッション判定部１６は、アクセスログ判定部１４による処理を経た一のセッションについて、セッション判定ルール記憶部１７に記憶されているすべてのルールと（例えば、昇順で）照合し、仮に自動アクセスログ群を判別するルールに合致した場合には、そのルールに対応づけられているスコアを、当該セッションのセッション自動判定値のフィールドに加算し、手動アクセスログ群を判別するルールに合致した場合には、そのルールに対応づけられているスコアを、当該セッションのセッション手動判定値のフィールドに加算する。
【００４１】
セッション判定部１６による処理の結果、セッション自動判定値の方が大きい場合には、そのセッションは自動アクセスログ群と判定され、セッション手動判定値の方が大きい場合には、そのセッションは手動アクセスログ群と判定される。仮に両方の値が同一であった場合には、安全側に倒すべく、そのセッションは自動アクセスログ群と判定される。
【００４２】
セッション判定ルール記憶部１７は、自動又は手動アクセスログにより構成されるセッションを判別するためのルールを記憶する。図６は、セッション判定ルール記憶部１７に記憶されるルールの一例を示す図である。同図に示されるように、各ルールには、ルール種別とスコアが対応づけられている。
以下、各ルールについて説明する。
【００４３】
［自動アクセスログ群を判別するためのルール］
（１）アクセスログ自動性評価値の方が大きいアクセスログが所定件数（例えば、４件）以上連続している。また、それらのアクセスログのアクセスログ自動性評価値の合計値が、アクセス手動性評価値の合計値以上である。
このルール（１）は、「アクセスログ判定部１４により判定された種別が同一のアクセスログが所定数以上連続する」というルールの一例である。
（２）１セッション内における、アクセスログ自動性評価値の方が大きいアクセスログの割合が所定値（例えば、０．８）以上である。
このルール（２）は、「アクセスログ判定部１４により判定された一の種別のアクセスログが占める割合が所定割合以上である」というルールの一例である。
【００４４】
［手動アクセスログ群を判別するためのルール］
（３）アクセスログ手動性評価値の方が大きいアクセスログが所定件数（例えば、４件）以上連続している。また、それらのアクセスログのアクセスログ手動性評価値の合計値が、アクセス自動性評価値の合計値以上である。
このルール（３）は、「アクセスログ判定部１４により判定された種別が同一のアクセスログが所定数以上連続する」というルールの一例である。
（４）１セッション内における、アクセスログ手動性評価値の方が大きいアクセスログの割合が所定値（例えば、０．８）以上である。
このルール（４）は、「アクセスログ判定部１４により判定された一の種別のアクセスログが占める割合が所定割合以上である」というルールの一例である。
なお、上記のルールはあくまで一例であって、セッション判定ルール記憶部１７に記憶されるルールは上記の例に限られない。
【００４５】
リスク評価部１９は、一のセッションについて、リスク判定ルール記憶部２０に記憶されるルールに基づいて、リスクを評価する。具体的には、リスク評価部１９は、セッション判定部１６による処理の結果、自動アクセスログ群と判定された一のセッションを構成する各アクセスログについて、リスク判定ルール記憶部２０に記憶されているすべてのルールと（例えば、昇順で）照合し、仮にいずれかのルールに合致した場合には、そのルールに対応づけられているリスク値を、当該セッションのリスク評価値のフィールドに加算する。
【００４６】
リスク判定ルール記憶部２０は、マルウェアによるアクセスのログを判別するためのルールを記憶する。図７は、リスク判定ルール記憶部２０に記憶されるルールの一例を示す図である。同図に示されるように、各ルールには、ルール種別とリスク値とが対応づけられている。
以下、各ルールについて説明する。
【００４７】
（１）ＵＲＬの末尾の拡張子がｅｘｅである。そのアクセスログ以降に、メソッド＝ＰＯＳＴのアクセスログが存在する。
（２）メソッド＝ＰＯＳＴである。
（３）メソッド＝ＧＥＴであり、かつＵＲＬの末尾に引数が記述されている。
（４）ＵＲＬの末尾の拡張子がｅｘｅ、ｄｌｌ等の不正プログラムに多用される所定の拡張子である。
（５）所定のバイト数以上のデータを受信している。
なお、上記のルールはあくまで一例であって、リスク評価部１９に記憶されるルールは上記の例に限られない。
【００４８】
１−２．動作
次に、リスク評価装置１の動作について説明する。
図８は、リスク評価装置１の動作例を示すフローチャートである。この動作においてリスク評価装置１は、アクセスログＤＢ１１に記録されるアクセスログのリスクを評価する。
まず、ステップＳａ１においてセッション分割部１２は、アクセスログＤＢ１１からアクセスログを取得する。次に、セッション分割部１２は、ステップＳａ１において取得したアクセスログをセッションに分割し、各セッションに対してセッションＩＤを付与する（ステップＳａ２）。ここで、セッション分割部１２は、例えば、発信元ＩＰが同一のアクセスログ群において、あるログとそのログの次に出力されたログの時間間隔をそれらのタイムスタンプを用いて求め、変数ｘと比較した場合に、各時間間隔が変数ｘ以内となる連続するログ群を１つのセッションとして識別する。
【００４９】
図９は、セッション分割部１２による処理の一例を示す図である。同図に示される例では、各時間間隔が３０秒以内の連続するアクセスログ群であって、かつその発信元ＩＰが同一のアクセスログ群が１つのセッションとして識別され、各アクセスログに対応づけてセッションＩＤ「２１」が記述されている。
【００５０】
次に、セッション分割部１２は、ステップＳａ２において新たに付与したセッションＩＤをセッションＤＢ１８の「セッションＩＤ」の列に記録する（ステップＳａ３）。
セッション分割部１２により新たにセッションＩＤが記述されたセッションＤＢ１８の例については、上記の図５に示される通りである。図５に示される例では、セッションＩＤ「２１」が新たに記録されている。
【００５１】
次に、アクセスログＤＢ１１に記録されるセッションのうち、セッションＤＢ１８においてセッション自動判定値とセッション手動判定値とリスク評価値とが記録されていない一のセッションが処理テーブル１３に記述される（ステップＳａ４）。
セッションが記述された処理テーブル１３の例については、上記の図３に示される通りである。図３に示される例では、セッションＩＤ「２１」のセッションが処理テーブル１３に新たに記述されている。
【００５２】
次に、アクセスログ判定部１４は、ステップＳａ４において処理テーブル１３に記述されたセッションを構成する各アクセスログについて、アクセスログ判定ルール記憶部１５に記憶されるルールに基づいて、自動又は手動アクセスのログであるか否かについて判定する（ステップＳａ５）。
図１０は、アクセスログ判定部１４による一のアクセスログに対する判定処理の一例を示すフローチャートである。
【００５３】
まず、ステップＳｂ１においてアクセスログ判定部１４は、判定対象となるアクセスログを処理テーブル１３から取得する。次に、アクセスログ判定部１４は、ルールＮｏ．「ｙ」のルールをアクセスログ判定ルール記憶部１５から読み出し（ステップＳｂ２）、ステップＳｂ１において取得したアクセスログが当該ルールと合致するか否かについて判定する（ステップＳｂ３）。なお、本処理において変数ｙの初期値は「１」である。
【００５４】
その判定の結果、当該アクセスログがそのルールと合致しなかった場合には（ステップＳｂ３：ＮＯ）、アクセスログ判定部１４は、ステップＳｂ７に移行する。一方、その判定の結果、当該アクセスログがそのルールと合致した場合には（ステップＳｂ３：ＹＥＳ）、アクセスログ判定部１４は、次に、そのルールのルール種別が「自動」であるか否かについて判定する（ステップＳｂ４）。
【００５５】
その判定の結果、そのルールのルール種別が「自動」であった場合には（ステップＳｂ４：ＹＥＳ）、アクセスログ判定部１４は、そのルールのスコアを当該アクセスログのアクセスログ自動性評価値のフィールドに加算して（ステップＳｂ５）、ステップＳｂ７に進む。一方、その判定の結果、そのルールのルール種別が「手動」であった場合には（ステップＳｂ４：ＮＯ）、アクセスログ判定部１４は、そのルールのスコアを当該アクセスログのアクセスログ手動性評価値のフィールドに加算して（ステップＳｂ６）、ステップＳｂ７に進む。
【００５６】
ステップＳｂ７においてアクセスログ判定部１４は、変数ｙが、アクセスログ判定ルール記憶部１５に記憶されるルール数よりも小であるか否かについて判定する。その判定の結果、変数ｙがそのルール数よりも小である場合には（ステップＳｂ７：ＹＥＳ）、アクセスログ判定部１４は、変数ｙに１を加えて（ステップＳｂ８）、ステップＳｂ２に戻る。一方、その判定の結果、変数ｙがそのルール数よりも小でない場合には（ステップＳｂ７：ＮＯ）、アクセスログ判定部１４は、そのアクセスログに対する判定処理を終了する。
なお、図１０に示される判定処理は、セッションを構成するすべてのアクセスログに対して実行される。
【００５７】
図１１は、アクセスログ判定部１４による処理の一例を示す図である。同図に示される処理テーブル１３の例では、Ｎｏ．「１」のアクセスログは、そのＵｓｅｒＡｇｅｎｔが「Ｂｒｏｗｓｅｒ_Ａ」である。また、Ｎｏ．「１」のアクセスログに後続するＮｏ．「２」のアクセスログは、そのＵｓｅｒＡｇｅｎｔが「Ｐｒｏｇｒａｍ_Ｂ」である。すなわち、Ｎｏ．「１」及び「２」のアクセスログは、アクセスログ判定ルール記憶部１５に記憶されるルールＮｏ．「２」のルールと合致している。よって、Ｎｏ．「１」及び「２」のアクセスログのイベント自動性評価値のフィールドには、ルールＮｏ．「２」のルールのスコア「９０」が加算されている。
【００５８】
また、Ｎｏ．「２」のアクセスログは、そのメソッドは「ＧＥＴ」であり、かつそのステータスコードが「４０７」である。また、Ｎｏ．「２」のアクセスログに後続するＮｏ．「３」のアクセスログは、そのＵＲＬがＮｏ．「２」のアクセスログのそれと同一であり、かつそのメソッドが「ＨＥＡＤ」である。すなわち、Ｎｏ．「２」及び「３」のアクセスログは、アクセスログ判定ルール記憶部１５に記憶されるルールＮｏ．「１」のルールと合致している。よって、Ｎｏ．「２」及び「３」のアクセスログのイベント自動性評価値のフィールドには、ルールＮｏ．「１」のルールのスコア「１００」が加算されている。
なお、上記の図１１に示される例は、ルールＮｏ．「１」又は「２」のルールと合致するアクセスログ同士が互いに隣接する例であるが、両アクセスログは同一のセッションに含まれていればよく、必ずしも隣接する必要はない。
【００５９】
ここで、図８に示される、リスク評価装置１の動作例の説明に戻る。
アクセスログ判定部１４による判定処理が終了すると（ステップＳａ５）、次に、セッション判定部１６は、処理テーブル１３に記述されているセッションについて、ステップＳａ５において実行されたアクセスログ判定部１４による判定の結果と、セッション判定ルール記憶部１７に記憶されるルールとに基づいて、自動アクセスのログ群であるか否かについて判定する（ステップＳａ６）。
図１２は、セッション判定部１６による判定処理の一例を示すフローチャートである。
【００６０】
まず、ステップＳｃ１においてセッション判定部１６は、ルールＮｏ．「ｙ」のルールをセッション判定ルール記憶部１７から読み出し、判定対象であるセッションが当該ルールと合致するか否かについて判定する（ステップＳｃ２）。なお、本処理において変数ｙの初期値は「１」である。
【００６１】
その判定の結果、当該セッションがそのルールと合致しなかった場合には（ステップＳｃ２：ＮＯ）、セッション判定部１６は、ステップＳｃ６に移行する。一方、その判定の結果、当該セッションがそのルールと合致した場合には（ステップＳｃ２：ＹＥＳ）、セッション判定部１６は、次に、そのルールのルール種別が「自動」であるか否かについて判定する（ステップＳｃ３）。
【００６２】
その判定の結果、そのルールのルール種別が「自動」であった場合には（ステップＳｃ３：ＹＥＳ）、セッション判定部１６は、そのルールのスコアを当該セッションのセッション自動判定値のフィールドに加算して（ステップＳｃ４）、ステップＳｃ６に進む。一方、その判定の結果、そのルールのルール種別が「手動」であった場合には（ステップＳｃ３：ＮＯ）、セッション判定部１６は、そのルールのスコアを当該セッションのセッション手動判定値のフィールドに加算して（ステップＳｃ５）、ステップＳｃ６に進む。
【００６３】
ステップＳｃ６においてセッション判定部１６は、変数ｙが、セッション判定ルール記憶部１７に記憶されるルール数よりも小であるか否かについて判定する。その判定の結果、変数ｙがそのルール数よりも小である場合には（ステップＳｃ６：ＹＥＳ）、セッション判定部１６は、変数ｙに１を加えて（ステップＳｃ７）、ステップＳｃ１に戻る。一方、その判定の結果、変数ｙがそのルール数よりも小でない場合には（ステップＳｃ６：ＮＯ）、セッション判定部１６は、当該判定処理を終了する。
【００６４】
図１３は、セッション判定部１６による処理の一例を示す図である。同図に示される処理テーブル１３の例では、Ｎｏ．「１」〜「４」のアクセスログは、いずれもそのアクセスログ自動性評価値の方がアクセスログ手動性評価値よりも大きい。また、Ｎｏ．「１」〜「４」のアクセスログのアクセスログ自動性評価値の合計値「４８０」は、アクセスログ手動性評価値の合計値「０」以上である。また、Ｎｏ．「１」〜「４」のアクセスログは、４件以上連続するアクセスログに相当する。すなわち、Ｎｏ．「１」〜「４」のアクセスログは、セッション判定ルール記憶部１７に記憶されるルールＮｏ．「１」のルールと合致する。よって、同図に示されるセッションＤＢ１８の例において、これらのアクセスログのセッションＩＤ「２１」の「セッション自動判定値」のフィールドに、ルールＮｏ．「１」のルールのスコア「１００」が加算されている。
【００６５】
ここで、図８に示される、リスク評価装置１の動作例の説明に戻る。
セッション判定部１６による判定処理が終了すると（ステップＳａ６）、次に、ステップＳａ７において、ステップＳａ６においてセッション判定部１６による判定の対象となったセッションのセッション自動判定値がセッション手動判定値よりも大きいかどうかが判定される。この判定の結果、セッション自動判定値がセッション手動判定値以下の場合には（ステップＳａ７：ＮＯ）、本動作は終了する。一方、この判定の結果、セッション自動判定値がセッション手動判定値よりも大きい場合には（ステップＳａ７：ＹＥＳ）、ステップＳａ８の処理が実行される。
【００６６】
ステップＳａ８においてリスク評価部１９は、ステップＳａ６においてセッション判定部１６による判定の対象となったセッションについて、リスク判定ルール記憶部２０に記憶されるルールに基づいて、リスクを評価する。
図１４は、リスク評価部１９による一のアクセスログに対する評価処理の一例を示すフローチャートである。
【００６７】
まず、ステップＳｄ１においてリスク評価部１９は、評価対象となるアクセスログを処理テーブル１３から取得する。次に、リスク評価部１９は、ルールＮｏ．「ｙ」のルールをリスク判定ルール記憶部２０から読み出し（ステップＳｄ２）、ステップＳｄ１において取得したアクセスログが当該ルールと合致するか否かについて判定する（ステップＳｄ３）。なお、本処理において変数ｙの初期値は「１」である。
【００６８】
その判定の結果、当該アクセスログがそのルールと合致しなかった場合には（ステップＳｄ３：ＮＯ）、リスク評価部１９は、ステップＳｄ５に移行する。一方、その判定の結果、当該アクセスログがそのルールと合致した場合には（ステップＳｄ３：ＹＥＳ）、リスク評価部１９は、そのルールのリスク値を、処理対象であるセッションのリスク評価値のフィールドに加算して（ステップＳｄ４）、ステップＳｄ５に進む。
【００６９】
ステップＳｄ５においてリスク評価部１９は、変数ｙが、リスク判定ルール記憶部２０に記憶されるルール数よりも小であるか否かについて判定する。その判定の結果、変数ｙがそのルール数よりも小である場合には（ステップＳｄ５：ＹＥＳ）、リスク評価部１９は、変数ｙに１を加えて（ステップＳｄ６）、ステップＳｄ２に戻る。一方、その判定の結果、変数ｙがそのルール数よりも小でない場合には（ステップＳｄ５：ＮＯ）、リスク評価部１９は、そのアクセスログに対する評価処理を終了する。
なお、図１４に示される評価処理は、セッションを構成するすべてのアクセスログに対して実行される。
【００７０】
図１５は、リスク評価部１９による処理の一例を示す図である。同図に示される処理テーブル１３の例では、Ｎｏ．「５」のアクセスログは、そのＵＲＬの末尾の拡張子が「ｅｘｅ」である。また、Ｎｏ．「５」のアクセスログに後続するＮｏ．「６」のアクセスログは、そのメソッドが「ＰＯＳＴ」である。すなわち、Ｎｏ．「５」のアクセスログは、リスク判定ルール記憶部２０に記憶されるルールＮｏ．「１」のルールと合致する。よって、同図に示されるセッションＤＢ１８の例において、当該アクセスログのセッションＩＤ「２１」の「リスク評価値」のフィールドに、ルールＮｏ．「１」のルールのリスク値「１００」が加算されている。
【００７１】
ここで、図８に示される、リスク評価装置１の動作例の説明に戻る。
リスク評価部１９による処理が終了すると（ステップＳａ８）、本動作は終了する。
【００７２】
以上説明したリスク評価装置１によれば、複数のアクセスログにより構成されるセッション単位でリスクが評価されるため、アクセスログ単位でリスクが評価される場合と比較して、ウイルス等のマルウェアが変化しても検知精度が悪化しにくく、より精度の高い評価が実現される。また、このリスク評価装置１によれば、自動アクセスログを判別するためのルールだけではなく、手動アクセスログを判別するためのルールも用いてリスクの評価が行われるため、自動アクセスログを判別するためのルールのみが用いられる場合と比較して、マルウェアの挙動の変化の影響を受けにくい。
【００７３】
２．変形例
上記の実施形態は、以下のように変形してもよい。また、以下の変形例は互いに組み合わせてもよい。
【００７４】
２−１．変形例１
上記の実施形態に係るリスク評価装置１の動作例においては、そのセッション自動判定値がセッション手動判定値よりも大きいセッションについてのみリスク評価部１９による評価が行われているが、そのセッション手動判定値がセッション自動判定値以上であるセッションについても同評価を行うようにしてもよい。これは、後者のセッションの場合にも、ユーザが故意に不正なアクセスを行っている可能性があるからである。ここで、本発明に係る不正なアクセスとは、特に、ユーザによる操作に基づくアクセスであって、情報漏洩のためのアクセスである。
【００７５】
図１６は、本変形例に係るリスク判定ルール記憶部２０に記憶されるルールの一例を示す図である。同図に示される例では、マルウェアによるアクセスのログを判別するためのルール（１）〜（５）に加えて、不正なアクセスのログを判別するためのルール（６）及び（７）が記憶されている。ルール（６）及び（７）には、それぞれルール種別「手動」とリスク値とが対応づけられている。
以下、ルール（６）及び（７）について説明する。
【００７６】
（６）ＵＲＬが所定のオンラインストレージのＵＲＬである。また、所定のバイト数（例えば、５ＭＢ）以上のデータをアップロードしている。
ここで、オンラインストレージとは、ネットワークを通じてそのディスクスペースが貸し出される記憶装置のことである。
（７）Ｗｅｂメールを使ったデータ送信であって、メソッド＝ＰＯＳＴである。また、所定のバイト数（例えば、５ＭＢ）以上のデータをアップロードしている。
なお、上記のルールはあくまで一例であって、不正なアクセスのログを判別するためのルールは上記の例に限られない。
【００７７】
本変形例に係るリスク評価装置１のリスク評価部１９は、上記の動作例のステップＳａ７の判定の結果、セッション自動判定値がセッション手動判定値以下の場合には（すなわち、セッション判定部１６により手動アクセスログ群と判定された場合には）、ステップＳａ６においてセッション判定部１６による判定の対象となったセッションについて、リスク判定ルール記憶部２０に記憶されるルール（ただし、ルール（６）及び（７））と照合し、仮にいずれかのルールに合致した場合には、そのルールに対応づけられているリスク値を、当該セッションのリスク評価値のフィールドに加算する。その際の、一のアクセスログに対する評価処理の流れは、図１４に示される例と同様である。
【００７８】
２−２．変形例２
図１に示されるリスク評価装置１の機能群を実現するプログラムは、コンピュータ装置が読み取り可能な記録媒体を介して提供されてもよい。ここで、記録媒体とは、例えば、磁気テープや磁気ディスクなどの磁気記録媒体や、光ディスクなどの光記録媒体や、光磁気記録媒体や、半導体メモリ等である。また、このプログラムは、インターネット等のネットワークを介して提供されてもよい。
【符号の説明】
【００７９】
１…リスク評価装置、１１…アクセスログＤＢ、１２…セッション分割部、１３…処理テーブル、１４…アクセスログ判定部、１５…アクセスログ判定ルール記憶部、１６…セッション判定部、１７…セッション判定ルール記憶部、１８…セッションＤＢ、１９…リスク評価部、２０…リスク判定ルール記憶部
【図１】
2015179467.tif 000003
【図２】
2015179467.tif 000004
【図３】
2015179467.tif 000005
【図４】
2015179467.tif 000006
【図５】
2015179467.tif 000007
【図６】
2015179467.tif 000008
【図７】
2015179467.tif 000009
【図８】
2015179467.tif 000010
【図９】
2015179467.tif 000011
【図１０】
2015179467.tif 000012
【図１１】
2015179467.tif 000013
【図１２】
2015179467.tif 000014
【図１３】
2015179467.tif 000015
【図１４】
2015179467.tif 000016
【図１５】
2015179467.tif 000017
【図１６】
2015179467.tif 000018