(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023170739
(43)【公開日】2023-12-01
(54)【発明の名称】不正検知装置、不正検知方法および判定モデル生成方法
(51)【国際特許分類】
G06F 21/55 20130101AFI20231124BHJP
G06N 20/00 20190101ALI20231124BHJP
【FI】
G06F21/55 320
G06N20/00
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022082718
(22)【出願日】2022-05-20
(71)【出願人】
【識別番号】503295518
【氏名又は名称】株式会社Geolocation Technology
(74)【代理人】
【識別番号】100105784
【弁理士】
【氏名又は名称】橘 和之
(72)【発明者】
【氏名】岩津 良哉
(57)【要約】 (修正有)
【課題】機械学習に使用するデータ量を減らしつつ、不正アクセスの検知精度の低下を極力抑制する不正検知装置、不正検知方法および判定モデル生成方法を提供する。
【解決手段】不正検知装置10は、学習対象の通信ログデータから所定単位毎に抽出されるIPアドレス及び属性情報により構成される所定単位毎の学習用データを用いた機械学習処理により生成された複数の判定モデル12aに対して判定用データを入力し、接続元端末からのアクセスが不審者によるものか否かを示す不正リスク値を複数の判定モデル12aからそれぞれ取得し、取得した複数の不正リスク値の平均値を出力する不正判定部12を備え、1つの判定モデル12aを生成するのに使われる学習用データの量を削減できるようにするとともに、複数の判定モデル12aの全体により、母集団の全体が1つの判定モデルに反映された状態とほぼ等価な状態を構築し、検知精度の低下を抑制できるようにする。
【選択図】
図1
【特許請求の範囲】
【請求項1】
判定対象の通信ログデータから指定単位で抽出される接続元端末のIPアドレス、および、当該IPアドレスに関連付けられた属性情報を判定用データとして取得する判定用データ取得部と、
上記判定用データ取得部により取得された上記判定用データを学習済みの複数の判定モデルに入力し、上記接続元端末からのアクセスが不審者によるものか否かを示す不正リスク値を上記複数の判定モデルからそれぞれ取得し、取得した複数の不正リスク値の平均値を出力する不正判定部とを備え、
上記複数の判定モデルは、学習対象の通信ログデータから所定単位ごとに抽出される上記接続元端末のIPアドレスおよび当該IPアドレスに関連付けられた上記属性情報により構成される所定単位ごとの学習用データを用いた機械学習処理により、上記所定単位ごとに生成されている
ことを特徴とする不正検知装置。
【請求項2】
上記複数の判定モデルは、上記学習対象の通信ログデータから所定長さの単位期間ごとに抽出される上記IPアドレスおよび当該IPアドレスに関連付けられた上記属性情報により構成される単位期間ごとの学習用データを用いた機械学習処理により、上記単位期間ごとに生成されており、
上記不正判定部は、上記判定用データ取得部により取得された上記判定用データを、上記単位期間ごとに生成されている判定モデルである複数の期間別判定モデルにそれぞれに入力し、上記複数の期間別判定モデルからそれぞれ取得される複数の不正リスク値の平均値を出力する
ことを特徴とする請求項1に記載の不正検知装置。
【請求項3】
上記複数の判定モデルは、上記学習対象の通信ログデータから接続先ごとに抽出される上記IPアドレスおよび当該IPアドレスに関連付けられた上記属性情報により構成される接続先ごとの学習用データを用いた機械学習処理により、上記接続先ごとに生成されており、
上記不正判定部は、上記判定用データ取得部により取得された上記判定用データを、上記接続先ごとに生成されている判定モデルである複数の接続先別判定モデルにそれぞれに入力し、上記複数の接続先別判定モデルからそれぞれ取得される不正リスク値の平均値を出力する
ことを特徴とする請求項1に記載の不正検知装置。
【請求項4】
上記複数の判定モデルは、上記学習対象の通信ログデータから所定長さの単位期間ごとかつ接続先ごとに抽出される上記IPアドレスおよび当該IPアドレスに関連付けられた上記属性情報により構成される単位期間ごとかつ接続先ごとの学習用データを用いた機械学習処理により、上記単位期間ごとかつ上記接続先ごとに生成されており、
上記不正判定部は、上記判定用データ取得部により取得された上記判定用データを、上記単位期間ごとかつ上記接続先ごとに生成されている判定モデルである複数の期間別・接続先別判定モデルにそれぞれに入力し、上記複数の期間別・接続先別判定モデルからそれぞれ取得される不正リスク値の平均値を出力する
ことを特徴とする請求項1に記載の不正検知装置。
【請求項5】
上記所定単位ごとの学習用データはそれぞれ、上記所定単位の範囲内に含まれる上記IPアドレスの一部および当該一部のIPアドレスに関連付けられた上記属性情報により構成される
ことを特徴とする請求項1~4の何れか1項に記載の不正検知装置。
【請求項6】
上記複数の判定モデルの中から、上記不正判定部の処理に使用する複数の判定モデルを選択する判定モデル選択部を更に備え、
上記不正判定部は、上記判定用データ取得部により取得された上記判定用データを、上記判定モデル選択部により選択された複数の判定モデルに入力し、当該選択された複数の判定モデルからそれぞれ取得される複数の不正リスク値の平均値を出力する
ことを特徴とする請求項1に記載の不正検知装置。
【請求項7】
上記複数の判定モデルは、それぞれの生成に使用された上記学習用データに含まれる上記IPアドレスに対して通信時刻として紐づけられている日付情報および日付に対応する曜日情報の少なくとも一方が関連付けられており、
上記判定モデル選択部は、ユーザの選択操作に基づいて、上記日付情報または上記曜日情報を選択キーとして、上記不正判定部の処理に使用する複数の判定モデルを選択する
ことを特徴とする請求項6に記載の不正検知装置。
【請求項8】
上記複数の判定モデルは、それぞれの生成に使用された上記学習用データの抽出元である上記通信ログデータにおいて接続先として示されているウェブサイトが有する特性の類似性または共通性に基づいて、特性ごとに異なる分類情報が付された複数のグループに分類されており、
上記判定モデル選択部は、ユーザの選択操作に基づいて、上記複数のグループに付されている分類情報を選択キーとして、上記不正判定部の処理に使用する複数の判定モデルを選択する
ことを特徴とする請求項6に記載の不正検知装置。
【請求項9】
上記複数の判定モデルは、それぞれの生成に使用された上記学習用データの抽出元である上記通信ログデータにおいて接続先として示されているウェブサイトが有する特性の類似性または共通性に基づいて、特性ごとに異なる分類情報が付された複数のグループに分類されており、
上記判定用データの抽出元である上記通信ログデータにおいて上記接続先として示されている上記ウェブサイトが有する特性に基づいて、上記複数のグループのうち何れかに対応する上記分類情報を出力する判定用データ分類部を更に備え、
上記判定モデル選択部は、上記複数の判定モデルの中から、上記判定用データ分類部より出力された分類情報と共通の分類情報に対応するグループに分類された判定モデルを、上記不正判定部の処理に使用する複数の判定モデルとして選択する
ことを特徴とする請求項6に記載の不正検知装置。
【請求項10】
上記判定用データ分類部は、上記ウェブサイトに含まれるコンテンツ情報を学習済みの分類モデルに入力し、上記分類情報を上記分類モデルから取得するように構成され、
上記分類モデルは、上記コンテンツ情報が入力された際に、上記コンテンツ情報が有する特徴量に基づいて分類されるグループの上記分類情報を出力するように、上記コンテンツ情報を含む学習用データを用いた機械学習処理により生成されている
ことを特徴とする請求項9に記載の不正検知装置。
【請求項11】
不正検知装置の判定用データ取得部が、判定対象の通信ログデータから指定単位で抽出される接続元端末のIPアドレス、および、当該IPアドレスに関連付けられた属性情報を判定用データとして取得する第1のステップと、
上記不正検知装置の不正判定部が、上記判定用データ取得部により取得された上記判定用データを学習済みの複数の判定モデルに入力し、上記接続元端末からのアクセスが不審者によるものか否かを示す不正リスク値を上記複数の判定モデルからそれぞれ取得し、取得した複数の不正リスク値の平均値を出力する第2のステップとを有し、
上記複数の判定モデルは、学習対象の通信ログデータから所定単位ごとに抽出される上記接続元端末のIPアドレスおよび当該IPアドレスに関連付けられた上記属性情報により構成される所定単位ごとの学習用データを用いた機械学習処理により、上記所定単位ごとに生成されている
ことを特徴とする不正検知方法。
【請求項12】
モデル生成装置の学習用データ取得部が、学習対象の通信ログデータから所定単位ごとに抽出される接続元端末のIPアドレス、および、当該IPアドレスに関連付けられた属性情報を所定単位ごとの学習用データとして取得する第1のステップと、
上記モデル生成装置の機械学習部が、上記学習用データ取得部により取得された上記所定単位ごとの学習用データを用いて機械学習を行うことにより、上記IPアドレスおよび上記属性情報を入力とし、上記接続元端末からのアクセスが不審者によるものか否かを示す不正リスク値を出力とする判定モデルを上記所定単位ごとに生成する第2のステップとを有する
ことを特徴とする判定モデル生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不正検知装置、不正検知方法および判定モデル生成方法に関し、特に、IPアドレスを利用して不審者からの不正なアクセスを検知するシステムに用いて好適なものである。
【背景技術】
【0002】
従来、IPアドレスおよび他の情報を用いた機械学習により不正等を検知するシステムが知られている(例えば、特許文献1,2参照)。特許文献1に記載のシステムでは、セキュリティサーバの学習処理部において、接続元端末と接続先ホストとの間の通信ログに基づいて、接続先ホストのIPアドレス、接続先ホストのIPアドレスの保有国を示す情報など、および、接続先ホストの脅威の有無を学習データとして学習器を学習させる。接続先判定部は、新たに接続元端末が通信しようとしている接続先ホストのIPアドレス、接続先ホストのIPアドレスの保有国を示す情報などを学習済みの学習器に入力し、学習器の出力に基づいて、当該接続先ホストの脅威の有無を判定する。
【0003】
特許文献2に記載のシステムでは、セキュリティサーバの学習処理部において、接続元端末と接続先ホストとの間の通信ログに基づいて、接続元端末および接続先ホストのIPアドレス、接続先ホストのIPアドレスの保有国を示す情報を含む学習データを用いて、入力された学習データを復元して出力するように自己符号化器を学習させる。異常検出部は、対象接続元端末および対象接続先ホストのIPアドレス、接続先ホストのIPアドレスの保有国を示す情報を含む対象入力データを学習済みの自己符号化器に入力し、対象入力データと自己符号化器の出力である対象出力データとを比較することで、接続元端末からの不正通信を検出する。
【0004】
ところで、一般的に通信ログは秒単位のデータであり、それが数週間~数カ月分または数年分に及ぶため、データ量が膨大である。そのため、この膨大なデータを用いた機械学習によって学習済みモデルを作成するまでには相当に多くの時間を要する。この対策として、通信ログデータの一部のみを取り出して機械学習する方法が考えられる。しかしながら、この場合は、学習の精度が低下してしまい、低い学習精度で作成された学習済みモデルを使って不正アクセスを検知しようとすると、誤検知が増えてしまう恐れがあるという問題がある。
【0005】
なお、回転機械や設備等の被試験対象物が正常である時に、測定データ全体を複数のセグメントに分割し、分割した測定データの中から学習データをランダムに選択して機械学習を行うとともに、被試験対象物の診断時に、測定データ全体を複数のセグメントに分割し、分割した測定データの中からテストデータをランダムに選択して繰り返し異常率を算出して平均を取ることにより、誤判別率の低減を図るようにした状態監視装置が知られている(例えば、特許文献3参照)。
【0006】
しかしながら、特許文献3に記載の技術では、学習済みモデルは測定データの一部のみから作られたものであるので、学習済みモデルの精度が低下してしまうという問題は存在する。また、学習済みモデルが作られた後の異常判定時に、測定データを時分割して取り出したテストデータをもとにそれぞれ異常率を算出して平均化しているが、各時間帯の異常率を平均化して回転機械や設備等の異常を判定するものであり、例えば指定された時間帯において不審者からの不正アクセスがあったか否かの検知を精度よく行うことができるものではない。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2021-175095号公報
【特許文献2】特開2021-189721号公報
【特許文献3】特開2018-120406号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、このような問題を解決するために成されたものであり、機械学習によって判定モデルを生成するために使用するデータ量を減らしつつ、不正アクセスの検知精度の低下を極力抑制できるようにすることを目的とする。
【課題を解決するための手段】
【0009】
上記した課題を解決するために、本発明では、判定対象の通信ログデータから指定単位で抽出される接続元端末のIPアドレス、および、当該IPアドレスに関連付けられた属性情報を判定用データとして学習済みの複数の判定モデルに入力し、接続元端末からのアクセスが不審者によるものか否かを示す不正リスク値を複数の判定モデルからそれぞれ取得し、取得した複数の不正リスク値の平均値を出力する。複数の判定モデルは、学習対象の通信ログデータから所定単位ごとに抽出される接続元端末のIPアドレスおよび当該IPアドレスに関連付けられた属性情報により構成される所定単位ごとの学習用データを用いた機械学習処理により、所定単位ごとに生成されている。
【発明の効果】
【0010】
上記のように構成した本発明によれば、1つの判定モデルを生成するのに使われる学習用データの量を削減し、機械学習によって判定モデルを作成するのに要する時間を短くすることができる。ここで、個々の判定モデルは通信ログデータの母集団の一部のみが反映されたものとなるが、複数の判定モデルの全体により、母集団の全体が1つの判定モデルに反映された状態とほぼ等価な状態を構築することができる。これにより、通信ログデータの一部のみから生成された1つの判定モデルのみに基づいて不正アクセスの検知を行う場合に生じる検知精度の低下を抑制することができる。以上により、本発明によれば、1つの判定モデルを生成する際の機械学習に使用するデータ量を減らしつつ、不正アクセスの検知精度の低下を極力抑制することができる。
【図面の簡単な説明】
【0011】
【
図1】第1の実施形態による不正検知装置の機能構成例を示すブロック図である。
【
図2】通信ログデータ記憶部に記憶される通信ログデータのデータ項目を示す図である。
【
図3】属性情報記憶部に記憶される属性情報のデータ項目を示す図である。
【
図4】主成分分析により得られる分布の一例を模式的に示す図である。
【
図5】第1の実施形態によるモデル生成装置の機能構成例を示すブロック図である。
【
図6】第1の実施形態によるモデル生成装置の動作例を示すフローチャートである。
【
図7】第1の実施形態による不正検知装置の動作例を示すフローチャートである。
【
図8】第2の実施形態による不正検知装置の機能構成例を示すブロック図である。
【
図9】第2の実施形態によるモデル生成装置の機能構成例を示すブロック図である。
【
図10】第2の実施形態の第1変形例による不正検知装置の機能構成例を示すブロック図である。
【
図11】第2の実施形態の第1変形例によるモデル生成装置の機能構成例を示すブロック図である。
【
図12】第2の実施形態の第2変形例による不正検知装置の機能構成例を示すブロック図である。
【発明を実施するための形態】
【0012】
(第1の実施形態)
以下、本発明の第1の実施形態を図面に基づいて説明する。
図1は、第1の実施形態による不正検知装置の機能構成例を示すブロック図である。
図1に示すように、第1の実施形態による不正検知装置10は、機能構成として、判定用データ取得部11および不正判定部12を備えている。判定用データ取得部11は、より具体的な機能構成として、IPアドレス取得部11a、属性情報取得部11bおよび前処理部11cを備えている。また、不正判定部12は、より具体的な機能構成として、複数の判定モデル12aおよび平均値算出部12bを備えている。
【0013】
上記機能ブロック11,12は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記機能ブロック11,12は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【0014】
また、本実施形態の不正検知装置10には、通信ログデータ記憶部101および属性情報記憶部102が接続されている。不正検知装置10と通信ログデータ記憶部101および属性情報記憶部102との間は、LAN(Local Area Network)またはインターネット等の通信ネットワークを介して接続される構成であってもよいし、接続ケーブルを介して接続される構成であってもよい。あるいは、不正検知装置10が通信ログデータ記憶部101および属性情報記憶部102を内蔵する構成であってもよい。また、
図1では、通信ログデータ記憶部101と属性情報記憶部102とを別のデータベースとして構成する例を示しているが、通信ログデータと属性情報とを1つのデータベースに集約して記憶するようにしてもよい。
【0015】
通信ログデータ記憶部101は、接続元端末から通信ネットワークを介して接続先(例えば、サーバ装置、端末、ウェブサイトなど)に対して通信が行われるときに使用される接続元端末のIPアドレスを、その通信が行われた日時を示す時刻情報と共に履歴として記憶する。ここで、通信ログデータ記憶部101は、接続先を識別可能な状態で通信ログデータを通信ログデータ記憶部101に記憶する。例えば、通信ログデータを接続先別に分けて記憶する。
図2は、通信ログデータ記憶部101に記憶される通信ログデータの1レコードのデータ項目を示す図である。
図2に示すように、通信ログデータ記憶部101は、接続元端末のIPアドレスを通信の時刻情報に関連付けて記憶する。
【0016】
なお、通信ログデータ記憶部101に対する通信ログデータの記録は、図示しないログ収集サーバによって行われる。通信ネットワーク上では、各地にいる多くのユーザが、それぞれのユーザ端末から所望のタイミングで所望のウェブサイトにアクセスしてコンテンツを閲覧したり、他のユーザ端末またはサーバ装置などとの間でコミュニケーションやデータ取得などの各種通信を行ったりしている。ログ収集サーバは、これらの通信に使用される接続元端末のIPアドレスを、例えばあらかじめ指定した接続先へのアクセスを検知する毎に逐次取得し、取得したときの時刻情報と共に通信ログデータ記憶部101に逐次記録する。これにより、通信ログデータ記憶部101には、IPアドレスと時刻情報とのセットが通信ログデータとして記憶される。
【0017】
属性情報記憶部102は、通信ログデータ記憶部101に記憶されているIPアドレスに対応する属性情報を記憶する。IPアドレスに対応する属性情報とは、IPアドレスに対する逆引きなどの解析によって特定される情報である。この解析は、ログ収集サーバがIPアドレスを取得する都度実施するようにしてもよいし、通信ログデータ記憶部101にIPアドレスが記憶された後の任意のタイミングで実施するようにしてもよい。また、この解析は、ログ収集サーバが行ってもよいし、これとは異なる解析サーバが行ってもよい。
【0018】
図3は、属性情報記憶部102に記憶される属性情報の1レコードのデータ項目を示す図である。
図3に示すように、属性情報記憶部102は、接続元端末のIPアドレスおよび通信の時刻情報に関連付けて、地域情報(国、都道府県および市町村)および組織情報を属性情報として記憶する。属性情報記憶部102のあるレコードに記憶されるIPアドレスおよび時刻情報の値は、通信ログデータ記憶部101のあるレコードに記憶されるIPアドレスおよび時刻情報の値と一致したものである。
【0019】
接続元端末のIPアドレスは、所定ビット数から成る数値データであり、世界中に存在する端末のネットワーク上における住所を示している。このIPアドレスは、ドメインネーム、例えば「~.プロバイダ名.ne.jp」、「~.会社名.co.jp」などのような、ある種の意味を含む文字列に1対1の対応で相互に変換可能である。すなわち、IPアドレスは、オリジナル・ドメインを有する特定のサーバと1対1に対応している。
【0020】
さらに、オリジナル・ドメインを有する特定のサーバは、全世界のドメインを管理する機関であるNIC(Network Information Center)や、日本のドメインを管轄するJPNICなどで得られる情報から、いずれの国のどの地域のどこに住所を有するかが明らかにされている。ログ収集サーバまたは解析サーバは、このNICやJPNICなどで得られる情報をもとに複数のIPアドレスを地域別に分類した地域別アドレス分類データベース(図示せず)をあらかじめ備えている。この地域別アドレス分類データベースは、国、地方、県、市町村などの階層により区分して地域情報を格納することが可能である。
【0021】
これにより、ログ収集サーバまたは解析サーバは、例えば、接続元端末のIPアドレスからオリジナル・ドメインのサーバを特定した上で、IPアドレスをキーとして地域別アドレス分類データベースを参照することにより、IPアドレスが使われている接続元端末の地域を表す地域情報を取得することが可能である。
【0022】
なお、大多数の個人ユーザが利用するインターネット・サービス・プロバイダ(ISP)は、多数のユーザが全国各地から利用するため、多数の地域に設けられたアクセスポイントごとに、多数のIPアドレスを管理している。ログ収集サーバまたは解析サーバは、ISPが所有するアクセスポイントごとのIPアドレスを地域別に分類した地域別ISPアドレス分類データベース(図示せず)をあらかじめ備えることが可能である。そのため、この地域別ISPアドレス分類データベースを参照することにより、ISPが所有する各アクセスポイントがいずれの国のどの地域のどこに存在するかを特定可能である。
【0023】
よって、ログ収集サーバまたは解析サーバは、例えば、接続元端末のIPアドレスに基づいて、通信がISPのいずれのアクセスポイントを経由したものであるかを判別した上で、通信経路の始端に近いアクセスポイントのIPアドレスをキーとして地域別ISPアドレス分類データベースを参照することにより、接続元端末のIPアドレスに対応する属性情報として地域情報を取得することが可能である。ISPをダイヤルアップIP接続により利用している大多数の個人ユーザが使用するIPアドレスは、アクセスするごとに変動するが、そのようなIPアドレスからも接続元端末に対応する地域情報を取得することが可能である。
【0024】
また、ログ収集サーバまたは解析サーバは、以下のようにして地域情報を取得することも可能である。すなわち、ログ収集サーバまたは解析サーバは、接続元端末のIPアドレスに対応するドメインネームを取得し、ドメインネームを構成する文字列からプロバイダ名を判定するとともに、ドメインネームを構成する文字列からホストネームを抽出する。そして、プロバイダごとにホストネームを地域別に分類した地域別ホストネーム分類データベースを参照して、上記抽出したホストネームから地域情報を取得するようにする。
【0025】
また、IPアドレスに対応するドメインネームは、ホストネーム、組織名、組織属性、国名の階層構造をなしている。例えば、ドメインネームが「www.xxx.co.jp」であれば、wwwがホストネーム、xxxが組織名、coが組織属性、jpが国名と判別することができる。プロバイダのアクセスポイントのドメインネームの場合にも、同様に判別が可能である。したがって、ログ収集サーバまたは解析サーバは、接続元端末のIPアドレスから変換したドメインネームをもとに、IPアドレスが使われている接続元端末の保有組織を表す組織情報(企業名など)を取得することも可能である。
【0026】
ログ収集サーバまたは解析サーバは、以上のようにして取得した地域情報および組織情報を、それぞれIPアドレスの属性情報として、IPアドレスおよび通信の時刻情報と関連付けて属性情報記憶部102に記憶する。例えば、ログ収集サーバは、IPアドレスを取得するたびに同様の処理を繰り返すことにより、IPアドレス、時刻情報、地域情報および組織情報を1レコードに含む属性情報を属性情報記憶部102に逐次格納する。あるいは、解析サーバは、通信ログデータ記憶部101に記憶された複数のIPアドレスに対して同様の処理を実行することにより、各IPアドレスに対応する属性情報を属性情報記憶部102の複数のレコードに格納する。なお、地域情報および組織情報のうち、逆引きによって推定できなかったものについてはそのレコードにNULL値が記録される。
【0027】
IPアドレスから逆引きされる地域情報や組織情報は、そのIPアドレスを使用している接続元端末からのアクセスが不審者によるものか否かを判定するのに有用な情報である。すなわち、通常の多くのユーザが所在する地域や所属する組織とは異なる地域や組織からのアクセスであったり、IPアドレスに対応する地域情報や組織情報を逆引きにより判別することができなかったりした場合には、通常とは異なる通信経路を使った不審なアクセスの可能性がある。本実施形態では、このような地域情報および組織情報を不正アクセスの検知に利用している。
【0028】
なお、不正アクセスの検知に用いる属性情報は、地域情報および組織情報に限定されるものではない。例えば、IPアドレスに対応するドメインネームを構成する文字列から判定されるプロバイダを属性情報としてさらに用いるようにしてもよい。さらに、プロバイダがどの回線事業者の通信回線を利用してサービスを提供しているかの情報を記録したデータベースが公開されている場合には、上述のようにプロバイダを特定した上で、上記のデータベースを参照することによって推定される回線事業者を属性情報としてさらに用いるようにしてもよい。
【0029】
判定用データ取得部11は、判定対象の通信ログデータから指定単位で抽出される接続元端末のIPアドレス、および、当該IPアドレスに関連付けられた属性情報を判定用データとして取得する。すなわち、IPアドレス取得部11aが通信ログデータ記憶部101から接続元端末のIPアドレスを指定単位で取得するとともに、属性情報取得部11bが属性情報記憶部102から属性情報を取得し、取得したIPアドレスおよび属性情報に対して前処理部11cが所定の前処理を行うことにより、判定用データを取得する。
【0030】
IPアドレス取得部11aは、通信ログデータ記憶部101に記憶されている通信ログデータの中から、不正検知の処理対象とする一部のIPアドレスを指定して抽出する。例えば、IPアドレス取得部11aは、不正検知を行いたいユーザ(例えば、接続先のサーバ装置、端末またはウェブサイトの運用を管理する企業など)の不正検知装置10に対する指定操作に基づいて、ユーザが指定する特定の接続先に関する通信ログデータを対象としてIPアドレスを抽出する。この場合、特定の接続先が指定単位に相当する。また、任意の企業を指定して、指定企業に関する通信ログデータを対象としてIPアドレスを抽出するようにしてもよい。例えば、通信ログデータの蓄積量が多い方から複数の接続先または企業を指定してIPアドレスを抽出することが可能である。
【0031】
また、IPアドレス取得部11aは、通信ログデータの時刻情報に基づいて、特定の接続先または企業に関する通信ログデータの中から、一部の期間のIPアドレスを抽出するようにしてもよい。この場合、特定の接続先または企業かつ一部の期間が指定単位に相当する。例えば、あらかじめ定めた所定期間(例えば、現在から直近の所定期間)のIPアドレスを抽出することが可能である。あるいは、ユーザの不正検知装置10に対する指定操作に基づいて、ユーザが指定する任意の期間のIPアドレスを抽出するようにしてもよい。
【0032】
属性情報取得部11bは、IPアドレス取得部11aにより取得されるIPアドレスおよびそれに対応する時刻情報と同じIPアドレスおよび同じ時刻情報に関連付けて記憶されている属性情報を属性情報記憶部102から抽出する。
【0033】
前処理部11cは、例えば、以上のようにしてIPアドレス取得部11aおよび属性情報取得部11bにより取得されたIPアドレスおよび属性情報の中から、ユニーク数が多いIPアドレスや、非営利団体などのために用意されたorgドメインのIPアドレスなどを削除するとともに、削除したIPアドレスに対応して取得された属性情報を削除する。その他、不正アクセスを行う際に接続元端末のIPアドレスとして使用される可能性の低いことが想定されるものがある場合は、そのようなIPアドレスおよびそれに対応する属性情報を削除するようにしてもよい。
【0034】
なお、属性情報取得部11bは、IPアドレス取得部11aにより取得されたIPアドレスの中から不要なIPアドレスが前処理部11cにより削除された後に、残ったIPアドレスおよびそれに対応する時刻情報と同じIPアドレスおよび同じ時刻情報に関連付けて記憶されている属性情報を属性情報記憶部102から抽出するようにしてもよい。
【0035】
前処理部11cは、以上のように不要なIPアドレスおよび属性情報を削除した後、文字列から成る複数種類の属性情報(地域情報、組織情報)をそれぞれ所定のルールに基づいて数値化(カテゴリ変数化を含む)する。ルールの内容は任意であり、カウントエンコーディングなどの公知技術を利用することも可能である。数値化のルールは、属性情報の種類ごとに異なるものを用いてもよい。さらに、前処理部11cは、属性情報から変換した数値の標準化を行う。この標準化は、複数種類の属性情報ごとに、数値の平均を“0”、分散を“1”にするための処理である。
【0036】
なお、属性情報の数値化および標準化は、不正判定部12において主成分分析を行うために必要な前処理である。不正判定部12において、主成分分析以外の方法により属性情報の特徴量を抽出する処理を行うことも可能であり、前処理部11cにおいて属性情報の数値化および標準化の処理を行うことを必須とするものではない。
【0037】
不正判定部12は、判定用データ取得部11により取得された判定用データ(前処理部11cにより前処理が行われたIPアドレスおよび属性情報)を学習済みの複数の判定モデル12aに入力し、接続元端末からのアクセスが不審者によるものか否かを示す不正リスク値を複数の判定モデル12aからそれぞれ取得し、取得した複数の不正リスク値の平均値を平均値算出部12bから出力する。複数の判定モデル12aはそれぞれ、判定用データが入力された際に不正リスク値を出力するように、IPアドレスおよび属性情報を含む学習用データを用いた機械学習処理により生成されている。
【0038】
ここで、複数の判定モデル12aは、学習対象の通信ログデータから所定単位ごとに抽出される接続元端末のIPアドレスおよび当該IPアドレスに関連付けられた属性情報により構成される所定単位ごとの学習用データを用いた機械学習処理により、所定単位ごとに生成されている。所定単位とは、例えば所定長さの期間による分割単位である。あるいは、接続先による分割単位を所定単位としてもよい。あるいは、所定長さの期間かつ接続先による分割単位を所定単位としてもよい。この所定単位ごとの学習用データを用いた機械学習処理については、
図5を用いて後述する。
【0039】
本実施形態において、判定モデル12aは、判定用データに含まれる属性情報(数値化および標準化されたもの)を主成分分析することによって次元圧縮し、当該次元圧縮により求められた変数の分布におけるクラスタからの乖離度に基づいて不正リスク値を出力するように構成されている。クラスタは、互いに共通性を有する多数の属性情報に対応する変数から形成される可能性が高い。一方、ある変数についてクラスタからの乖離度が大きくなるほど、その変数は他との共通性が少ない属性情報に対応するものである可能性が高い。よって、クラスタからの乖離度が大きい変数を特定することにより、それが異常なものである、つまり通常のアクセスとは異なる不正または不審なアクセスによるものであると推定することが可能である。
【0040】
上述のように、属性情報は、地域情報(国、都道府県および市町村)および組織情報を含む多次元の情報である。判定モデル12aは、この多次元の情報を主成分分析し、例えば第1主成分および第2主成分の2変数から成る2次元の情報に次元圧縮する。さらに、判定モデル12aは、複数のIPアドレスごとに求めた2変数に関する2次元空間の分布において、あるIPアドレスに対応する属性情報の2変数で特性される位置が、多数のIPアドレスに対応する属性情報の2変数で特性される位置により形成されるクラスタからどの程度乖離しているのかを示す乖離度に基づいて、当該あるIPアドレスについて乖離度に応じた不正リスク値を出力する。
【0041】
図4は、主成分分析により得られる分布の一例を模式的に示す図である。この
図4は、第1主成分を横軸、第2主成分を縦軸とした2次元空間において、判定用データに含まれる属性情報から求めた2変数で特性される位置(ドット)の分布を示している。
図4に示す例では、2次元空間の左寄りの領域に、多数のドットが密集して成るクラスタ41が形成されている。それ以外の位置にあるドットは、クラスタを形成するものではなく、クラスタ41から離れた位置に存在し、クラスタ41からの距離はまちまちである。
【0042】
図4に示すような分布の場合、判定モデル12aは、多くのドットが密集しているクラスタ41を基準として、このクラスタ41からドットがどの程度乖離しているのかを示す乖離度、つまり2次元空間上の距離に基づいて、乖離度に応じた不正リスク値をドットごとに出力する。例えば、クラスタ41に属するドットについては、不正リスク値を“0”とする。クラスタ41に属しないドットについては、クラスタ41からの距離が大きくなるほど不正リスク値を大きくする。各ドットについて出力される不正リスク値は、各IPアドレスに対応する不正リスク値となる。
【0043】
なお、ここでは2次元空間における分布に基づくクラスタからの乖離度に応じた不正リスク値を出力する例について説明したが、
図4のような分布図を作成することを要するものではない。例えば、判定モデル12aは、属性情報から次元圧縮により求めた変数に対してIsolation Forestによる分析を行い、決定木のルートノードからリーフノードに辿り着くまでの階層が浅いほど大きな不正リスク値を出力し、リーフノードに辿り着くまでの階層が深いほど小さな不正リスク値を出力するようにしてもよい。Isolation Forestによる分析においても、クラスタからの乖離度と実質的に同じ分析を行うことが可能である。
【0044】
また、ここでは主成分分析によって属性情報を2次元の情報に次元圧縮する例を説明したが、第1主成分、第2主成分および第3主成分の3変数から成る3次元の情報に次元圧縮するようにしてもよい。
【0045】
平均値算出部12bは、複数の判定モデル12aから出力されるIPアドレスごとの不正リスク値の平均値を算出し、出力する。ここで、平均値算出部12bは、複数の判定モデル12aからそれぞれ最大の不正リスク値(または、大きい方から順に所定個の不正リスク値でもよい)を抽出し、抽出した不正リスク値の平均値を算出するようにしてもよい。あるいは、平均値算出部12bは、複数の判定モデル12aから所定の閾値より大きい不正リスク値を抽出し、抽出した不正リスク値の平均値を算出するようにしてもよい。
【0046】
これにより、平均値算出部12bにより算出された不正リスク値の平均値が大きい値を示している場合は、判定用データに含まれるIPアドレスの中に、不審者による接続元端末からの不正なアクセスに使用されたIPアドレスが存在する可能性があると推定することができる。
【0047】
図5は、複数の判定モデル12aを生成する第1の実施形態によるモデル生成装置の機能構成例を示すブロック図である。
図5に示すように、第1の実施形態によるモデル生成装置20は、機能構成として、学習用データ取得部21および機械学習部22を備えている。学習用データ取得部21は、より具体的な機能構成として、IPアドレス取得部21a、属性情報取得部21bおよび前処理部21cを備えている。
【0048】
上記機能ブロック21,22は、ハードウェア、DSP、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記機能ブロック21,22は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【0049】
また、本実施形態のモデル生成装置20には、上述した通信ログデータ記憶部101および属性情報記憶部102の他、判定モデル記憶部103が接続されている。モデル生成装置20と通信ログデータ記憶部101、属性情報記憶部102および判定モデル記憶部103との間は、LANまたはインターネット等の通信ネットワークを介して接続される構成であってもよいし、接続ケーブルを介して接続される構成であってもよい。あるいは、モデル生成装置20が通信ログデータ記憶部101、属性情報記憶部102および判定モデル記憶部103を内蔵する構成であってもよい。
【0050】
学習用データ取得部21は、学習対象の通信ログデータから所定単位ごとに抽出される接続元端末のIPアドレス、および、当該IPアドレスに関連付けられた属性情報を所定単位ごとの学習用データとして取得する。すなわち、IPアドレス取得部21aが通信ログデータ記憶部101から接続元端末のIPアドレスを所定単位ごとに取得するとともに、属性情報取得部21bが属性情報記憶部102から属性情報を取得し、取得したIPアドレスおよび属性情報に対して前処理部21cが所定の前処理を行うことにより、学習用データを取得する。
【0051】
IPアドレス取得部21aは、通信ログデータ記憶部101に記憶されている通信ログデータの中から、全てのIPアドレスを抽出するようにしてもよいし、一部のIPアドレスを抽出するようにしてもよい。判定用データ取得部11が備えるIPアドレス取得部11aとの違いは、IPアドレス取得部11aの場合は不正検知の処理対象とする一部のIPアドレスのみを抽出するのに対し、IPアドレス取得部21aの場合はより多くのIPアドレスを抽出するという点である。判定モデル12aの生成精度を向上させるためには、多くの学習用データを用いて機械学習を行うことが必要である。例えば、一部のIPアドレスを抽出するとしても、特定の接続先に関する通信ログデータに限らず、複数の接続先に関する通信ログデータからIPアドレスを抽出する。また、IPアドレス取得部11aの場合よりも長い期間のIPアドレスを抽出する。
【0052】
このように、IPアドレス取得部21aは、IPアドレス取得部11aに比べて格段に多くのIPアドレスを取得するが、所定単位ごとに分けて取得する。例えば、IPアドレス取得部21aは、学習対象の通信ログデータから所定長さの単位期間ごと(例えば、1日ごと)に分けてIPアドレスを取得する。あるいは、IPアドレス取得部21aは、学習対象の通信ログデータから接続先ごとに分けてIPアドレスを取得する。あるいは、IPアドレス取得部21aは、学習対象の通信ログデータから所定長さの単位期間ごとかつ接続先ごとに分けてIPアドレスを取得する。
【0053】
さらに、IPアドレス取得部21aは、所定単位の範囲内に含まれるIPアドレスの一部のみを抽出する。例えば、所定単位の範囲内に含まれるIPアドレスの中からランダムにn%の個数のIPアドレスを抽出する。所定単位ごとに一部のIPアドレスを間引くことにより、データ量を減らすことができる。ここで、それぞれの所定単位からIPアドレスを同程度ずつ間引いているので、学習対象の通信ログデータの全体から、期間または接続先の点で偏りを生じることなくIPアドレスを取得することが可能である。
【0054】
属性情報取得部21bは、IPアドレス取得部21aにより所定単位ごとに取得されるIPアドレスおよびそれに対応する時刻情報と同じIPアドレスおよび同じ時刻情報に関連付けて記憶されている属性情報を属性情報記憶部102から抽出する。前処理部21cは、以上のようにしてIPアドレス取得部21aおよび属性情報取得部21bにより取得された所定単位ごとのIPアドレスおよび属性情報に対して、判定用データ取得部11が備える前処理部11cと同様の前処理を行う。
【0055】
以上の処理により、学習用データ取得部21は、学習対象の通信ログデータから所定単位ごとに抽出されるIPアドレスおよび当該IPアドレスに関連付けられた属性情報により構成される所定単位ごとの学習用データを取得する。本実施形態において、所定単位ごとの学習用データはそれぞれ、所定単位の範囲内に含まれるIPアドレスの一部および当該一部のIPアドレスに関連付けられた属性情報により構成される。
【0056】
機械学習部22は、学習用データ取得部21により取得された所定単位ごとの学習用データを用いて機械学習を行うことにより、IPアドレスおよび属性情報(前処理部21cにより前処理が行われたもの)を入力とし、接続元端末からのアクセスが不審者によるものか否かを示す不正リスク値を出力とする複数の判定モデル12aを所定単位ごとに生成する。
【0057】
ここで、互いに共通性の大きい属性情報については分布上でクラスタが形成されやすく、共通性が小さい属性情報についてはクラスタから乖離されやすくなるように、判定モデル12aのパラメータが機械学習により調整される。機械学習部22は、生成した複数の判定モデル12aを判定モデル記憶部103に記憶する。判定モデル記憶部103に記憶された複数の判定モデル12aが、不正検知装置10の不正判定部12にデプロイ(実装)される。
【0058】
例えば、機械学習部22は、学習対象の通信ログデータから所定長さの単位期間ごとに抽出されるIPアドレスおよび当該IPアドレスに関連付けられた属性情報により構成される単位期間ごとの学習用データを用いて機械学習を行うことにより、複数の判定モデル12aを単位期間ごとに生成する。この場合、不正検知装置10の不正判定部12は、判定用データ取得部11により取得された判定用データを、単位期間ごとに生成されている複数の判定モデル12a(期間別判定モデルという)にそれぞれに入力し、複数の期間別判定モデルからそれぞれ取得される複数の不正リスク値の平均値を出力する。
【0059】
あるいは、機械学習部22は、学習対象の通信ログデータから接続先ごとに抽出されるIPアドレスおよび当該IPアドレスに関連付けられた属性情報により構成される接続先ごとの学習用データを用いた機械学習を行うことにより、複数の判定モデル12aを接続先ごとに生成する。この場合、不正検知装置10の不正判定部12は、判定用データ取得部11により取得された判定用データを、接続先ごとに生成されている複数の判定モデル(接続先別判定モデルという)にそれぞれに入力し、複数の接続先別判定モデルからそれぞれ取得される不正リスク値の平均値を出力する。
【0060】
あるいは、機械学習部22は、学習対象の通信ログデータから所定長さの単位期間ごとかつ接続先ごとに抽出されるIPアドレスおよび当該IPアドレスに関連付けられた属性情報により構成される単位期間ごとかつ接続先ごとの学習用データを用いた機械学習を行うことにより、複数の判定モデル12aを単位期間ごとかつ接続先ごとに生成する。この場合、不正検知装置10の不正判定部12は、判定用データ取得部11により取得された判定用データを、単位期間ごとかつ接続先ごとに生成されている複数の判定モデル12a(期間別・接続先別判定モデルという)にそれぞれに入力し、複数の期間別・接続先別判定モデルからそれぞれ取得される不正リスク値の平均値を出力する。
【0061】
図6は、第1の実施形態によるモデル生成装置20の動作例を示すフローチャートである。まず、IPアドレス取得部21aは、通信ログデータ記憶部101から接続元端末のIPアドレスを所定単位ごとの学習用データとして取得する(ステップS1)。ここでは、所定単位の範囲内に含まれるIPアドレスの中からランダムにn%の個数のIPアドレスを取得する。
【0062】
次いで、属性情報取得部21bは、IPアドレス取得部21aにより所定単位ごとに取得されたIPアドレスおよびそれに対応する時刻情報と同じIPアドレスおよび同じ時刻情報に関連付けて記憶されている属性情報を所定単位ごとの学習用データとして属性情報記憶部102から抽出する(ステップS2)。
【0063】
次に、前処理部21cは、以上のようにしてIPアドレス取得部21aおよび属性情報取得部21bにより所定単位ごとに取得されたIPアドレスおよび属性情報に対して、所定の前処理を行う(ステップS3)。そして、機械学習部22は、前処理されたIPアドレスおよび属性情報を学習用データとして用いた機械学習を行うことにより、IPアドレスおよび属性情報が入力されたときに不正リスク値を出力するように構成された複数の判定モデル12aを所定単位ごとに生成する(ステップS4)。以上により、
図6に示す機械学習の処理が終了する。
【0064】
図7は、第1の実施形態による不正検知装置10の動作例を示すフローチャートである。まず、IPアドレス取得部11aは、判定対象とする接続元端末のIPアドレスを通信ログデータ記憶部101から判定用データとして取得する(ステップS11)。次いで、属性情報取得部11bは、IPアドレス取得部11aにより取得されたIPアドレスおよびそれに対応する時刻情報と同じIPアドレスおよび同じ時刻情報に関連付けて記憶されている属性情報を判定用データとして属性情報記憶部102から抽出する(ステップS12)。
【0065】
次に、前処理部11cは、以上のようにしてIPアドレス取得部11aおよび属性情報取得部11bにより取得されたIPアドレスおよび属性情報に対して、所定の前処理を行う(ステップS13)。そして、不正判定部12は、前処理されたIPアドレスおよび属性情報を複数の判定モデル12aに入力し、接続元端末からのアクセスが不審者によるものか否かを示す不正リスク値を複数の判定モデル12aからそれぞれ取得し、取得した複数の不正リスク値の平均値を平均値算出部12bから出力する(ステップS14)。以上により、
図7に示す不正検知の処理が終了する。
【0066】
以上詳しく説明したように、第1の実施形態では、判定対象の通信ログデータから指定単位で抽出される接続元端末のIPアドレス、および、当該IPアドレスに関連付けられた属性情報を判定用データとして学習済みの複数の判定モデル12aに入力し、接続元端末からのアクセスが不審者によるものか否かを示す不正リスク値を複数の判定モデル12aからそれぞれ取得し、取得した複数の不正リスク値の平均値を出力する。ここで、複数の判定モデル12aは、学習対象の通信ログデータから所定単位ごとに抽出される接続元端末のIPアドレスおよび当該IPアドレスに関連付けられた属性情報により構成される所定単位ごとの学習用データを用いた機械学習処理により、所定単位ごとに生成される。
【0067】
上記のように構成した第1の実施形態によれば、通信ログデータの全体から抽出されるIPアドレスではなく、通信ログデータから所定単位ごとに抽出されるIPアドレスを含む所定単位ごとの学習用データに基づいて複数の判定モデル12aが個別に生成されるので、1つの判定モデル12aを生成するのに使われる学習用データの量を削減することができ、機械学習によって判定モデル12aを作成するのに要する時間を短くすることができる。ここで、個々の判定モデル12aは通信ログデータの母集団の一部のみが反映されたものとなるが、複数の判定モデル12aの全体により、母集団の全体が1つの判定モデルに反映された状態とほぼ等価な状態を構築することができる。
【0068】
また、本実施形態によれば、接続元端末からのアクセスが不審者によるものか否かを判定する際に、以上のようにして生成された複数の判定モデル12aに判定用データをそれぞれ入力して得られる複数の不正リスク値が平均化されて出力されるので、通信ログデータの一部のみから生成された1つの判定モデルのみに基づいて不正アクセスの検知を行う場合に生じる検知精度の低下を抑制することができる。
【0069】
以上により、第1の実施形態によれば、1つの判定モデル12aを生成する際の機械学習に使用するデータ量を減らしつつ、不正アクセスの検知精度の低下を極力抑制することができる。
【0070】
(第2の実施形態)
次に、本発明の第2の実施形態を図面に基づいて説明する。
図8は、第2の実施形態による不正検知装置10Aの機能構成例を示すブロック図である。この
図8において、
図1に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。
図9は、第2の実施形態によるモデル生成装置20Aの機能構成例を示すブロック図である。この
図9において、
図5に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。
【0071】
図8に示すように、第2の実施形態による不正検知装置10Aは、機能構成として、不正判定部12に代えて不正判定部12Aを備えている。不正判定部12Aは、より具体的な機能構成として、複数の判定モデル12a’、平均値算出部12bおよび判定モデル選択部12cを備えている。また、
図9に示すように、第2の実施形態によるモデル生成装置20Aは、機械学習部22に代えて機械学習部22Aを備えている。
【0072】
モデル生成装置20Aの機械学習部22Aは、第1の実施形態による機械学習部22と同様の機械学習処理を行うことにより、複数の判定モデル12a(判定モデル12a’とする前の判定モデル)を生成する。特に、本実施形態では、期間別判定モデルまたは期間別・接続先別判定モデルの何れかを生成する。そして、機械学習部22Aは、生成した複数の判定モデル12aに対して、それぞれの生成に使用された学習用データに含まれるIPアドレスに対して通信時刻として紐づけられている日付情報および日付に対応する曜日情報の少なくとも一方を関連付けて複数の判定モデル12a’とし、当該複数の判定モデル12a’を判定モデル記憶部103に記憶する。このようにして日付情報および曜日情報の少なくとも一方が関連付けられた複数の判定モデル12a’が、不正検知装置10Aの不正判定部12Aにデプロイされる。
【0073】
不正判定部12Aの判定モデル選択部12cは、複数の判定モデル12a’の中から、不正判定部12Aの処理に使用する複数の判定モデル12a’を選択する。すなわち、不正判定部12AにN個(ただし、Nは2以上)の判定モデル12a’が実装されている場合、判定モデル選択部12cは、N個の判定モデル12a’の中からM個(ただし、N≧M、Mは2以上)の判定モデル12a’を選択する。ここでは、N個の判定モデル12a’を全て選択する場合も含む。
【0074】
例えば、判定モデル選択部12cは、不正検知装置10Aに対するユーザの選択操作に基づいて、日付情報または曜日情報を選択キーとして、不正判定部12Aの処理に使用するM個の判定モデル12a’を選択する。例えば、ユーザは、任意の単位期間を指定してM個の判定モデル12a’を選択することが可能である。例えば、直近1週間分の判定モデル12a’を選択したり、毎月初めから数日分の判定モデル12a’を選択したり、特定の曜日の判定モデル12a’を選択したりすることが可能である。
【0075】
不正判定部12Aは、判定用データ取得部11により取得された判定用データを、判定モデル選択部12cにより選択されたM個の判定モデル12a’に入力し、当該選択されたM個の判定モデル12a’からそれぞれ取得される複数の不正リスク値の平均値を出力する。
【0076】
このように構成した第2の実施形態によれば、接続元端末からのアクセスが不審者による不正アクセスか否かを判定する際に、使用する判定モデル12a’の数を少なくすることができ、判定に要する時間を短縮することができる。ここで、判定に使用するM個の判定モデル12a’はユーザが任意に選択することが可能であるので、不正検知の目的や、不正検知の対象とする接続先の状況、不正検知を実施する際の社会環境など、種々の要因のいくつかに応じて適切な判定モデル12a’を選択して不正検知を効率的に行うことができる。
【0077】
なお、上記第2の実施形態では、判定モデル12aに対して日付情報または曜日情報を関連付けることによって判定モデル12a’を構成し、日付情報または曜日情報を選択キーとしてM個の判定モデル12a’を選択する例について説明したが、これに限定されない。例えば、サーバ装置、端末、ウェブサイトなどの接続先またはこれらの運用を管理する企業を表す情報を判定モデル12aに関連付けることによって判定モデル12a’を構成し、接続先情報または企業情報を選択キーとしてM個の判定モデル12a’を選択するようにしてもよい。
【0078】
(第2の実施形態の第1変形例)
次に、第2の実施形態の第1変形例(以下、単に第1変形例という)を図面に基づいて説明する。
図10は、第1変形例による不正検知装置10Bの機能構成例を示すブロック図である。この
図10において、
図1に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。
図11は、第1変形例によるモデル生成装置20Bの機能構成例を示すブロック図である。この
図11において、
図5に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。
【0079】
図10に示すように、第1変形例による不正検知装置10Bは、機能構成として、不正判定部12に代えて不正判定部12Bを備えている。不正判定部12Bは、より具体的な機能構成として、複数の判定モデル12a”、平均値算出部12bおよび判定モデル選択部12c’を備えている。また、
図11に示すように、第1変形例によるモデル生成装置20Bは、サイトコンテンツ取得部23および判定モデル分類部24を更に備えている。
【0080】
第1変形例において、機械学習部22は、複数の判定モデル12a(判定モデル12a”とする前の判定モデル)として、接続先別判定モデルまたは期間別・接続先別判定モデルを生成する。モデル生成装置20Bのサイトコンテンツ取得部23は、機械学習部22において複数の判定モデル12aの生成に使用された学習用データの抽出元である通信ログデータにおいて接続先として示されているウェブサイトのコンテンツ情報を取得する。上述したように通信ログデータ記憶部101には通信ログデータが接続先別に記憶されている(本第1変形例では、ウェブサイト別に記憶されている)。サイトコンテンツ取得部23は、通信ログデータ記憶部101に通信ログデータが記憶されているウェブサイトごとに、ウェブサイトのコンテンツ情報を取得する。取得するウェブサイトのコンテンツ情報は、文字情報および画像情報の少なくとも一方である。
【0081】
ここで、サイトコンテンツ取得部23は、ユーザが手動でウェブサイトにアクセスしてダウンロード保存したコンテンツ情報を取得するようにしてもよいし、ユーザが指定したURL(Uniform Resource Locator)のウェブサイトを自動で巡回し、各々のウェブサイトからコンテンツ情報をダウンロードして取得するようにしてもよい。
【0082】
判定モデル分類部24は、機械学習部22により生成されて判定モデル記憶部103に記憶された複数の判定モデル12aに対して、サイトコンテンツ取得部23により取得されたウェブサイトが有する特性の類似性または共通性に基づいて、特性ごとに異なる分類情報を付与して判定モデル12a”とすることにより、複数の判定モデル12a”を特性ごとの複数のグループに分類する。例えば、判定モデル分類部24は、接続先として示されているウェブサイトの種類(ECサイト、コーポレートサイト、サービスサイトなど)に応じて、当該種類を表す分類情報を複数の判定モデル12a”に付与する。
【0083】
判定モデル分類部24による判定モデル12a”の分類は、例えば、機械学習された分類モデルを用いて行うことが可能である。すなわち、判定モデル分類部24は、サイトコンテンツ取得部23により取得されたウェブサイトのコンテンツ情報を学習済みの分類モデルに入力し、ウェブサイトの種類に応じた分類情報を分類モデルから取得する。この場合の分類モデルは、コンテンツ情報が入力された際に、コンテンツ情報が有する特徴量に基づいて特定の分類情報を出力するように、コンテンツ情報を含む学習用データを用いた機械学習処理により生成されている。
【0084】
例えば、ウェブサイトのコンテンツ情報として文字情報を用いる。そして、分類モデルは、ウェブサイトの種類に応じて特有のものとして使用される傾向の強い単語の出現傾向を特徴量として算出し、単語の出現傾向の類似性に基づいて、ウェブサイトの種類に応じた分類情報を出力する。ウェブサイトのコンテンツ情報として、文字情報に加えて画像情報を用い、ウェブサイトの種類に応じて特有のものとして使用される傾向の強い画像から特徴量を算出するようにしてもよい。
【0085】
なお、判定モデル分類部24は、ユーザからの指示に基づいて、複数の判定モデル12a”に分類情報を付与するようにしてもよい。例えば、特定の接続先(ウェブサイト)を指定するユーザからの操作に基づいてIPアドレス取得部21aが特定の接続先のIPアドレスを取得するようにする。そして、判定モデル分類部24が、このIPアドレスを含む学習用データに基づいて機械学習部22により生成された複数の判定モデル12aに対して、ユーザが自ら判断して指定したウェブサイトの種類に応じた分類情報を付与することにより、分類情報が付与された判定モデル12a”を生成するようにしてもよい。この場合、サイトコンテンツ取得部23は不要である。
【0086】
また、ここではウェブサイトの種類に応じた分類情報を付与する例について説明したが、これに限定されない。例えば、ウェブサイトの性質に応じた分類情報を付与するようにしてもよい。例えば、ウェブサイトのコンテンツ情報として画像情報を用い、画像情報の類似度に基づいて、類似または共通の性質を有するウェブサイトを分析し、当該性質に応じた分類情報を付与するようにしてもよい。ウェブサイトのコンテンツ情報として、ウェブサイトのページ内に配置される画像や文字などのレイアウト情報を用い、当該レイアウト情報の類似度に基づいて、類似または共通の性質を有するウェブサイトを分析するようにしてもよい。
【0087】
以上のように分類情報が付与された複数の判定モデル12a”が、不正検知装置10Bの不正判定部12Bにデプロイされる。
図10では、N個の判定モデル12a”のうち、N1個(N1<N)の判定モデル12a”が第1グループGr1の分類に属し、N2個(N2<N)の判定モデル12a”が第2グループGr2の分類に属し、N3個(N3<N、N1+N2+N3=N)の判定モデル12a”が第3グループGr3の分類に属していることが模式的に示されている。
【0088】
不正判定部12Bの判定モデル選択部12c’は、N個の判定モデル12a”の中から、不正判定部12Bの処理に使用するM個の判定モデル12a”を選択する。例えば、判定モデル選択部12c’は、不正検知装置10Bに対するユーザの選択操作に基づいて、複数のグループGr1~Gr3に付されている分類情報を選択キーとして、不正判定部12Bの処理に使用するM個の判定モデル12a”を選択する。
【0089】
例えば、判定対象として用いる通信ログデータが第1グループGr1の分類情報と同じ分類に属するウェブサイトを接続先とするものである場合に、ユーザが第1グループGr1の分類情報を指定すると、判定モデル選択部12c’は、第1グループGr1に属するN1個の判定モデル12a”を選択する。
【0090】
不正判定部12Bは、判定用データ取得部11により取得された判定用データを、判定モデル選択部12c’により選択されたM個(第1グループGr1の分類情報を指定した場合はN1個)の判定モデル12a”に入力し、当該選択されたM個の判定モデル12a”からそれぞれ取得される複数の不正リスク値の平均値を出力する。
【0091】
このように構成した第1変形例においても、接続元端末からのアクセスが不審者による不正アクセスか否かを判定する際に、使用する判定モデル12a”の数を少なくすることができ、判定に要する時間を短縮することができる。ここで、判定に使用するM個の判定モデル12a”は、不正検知の判定対象とするウェブサイトと同じ種類または類似の性質を有するウェブサイトの通信ログデータから生成された判定モデルとすることが可能である。これにより、判定対象とするウェブサイトに応じて適切な判定モデル12a”を選択して不正検知を効率的に行うことができる。
【0092】
なお、第2の実施形態と第1変形例とを組み合わせて適用するようにしてもよい。
【0093】
(第2の実施形態の第2変形例)
次に、第2の実施形態の第2変形例(以下、単に第2変形例という)を図面に基づいて説明する。
図12は、第2変形例による不正検知装置10Cの機能構成例を示すブロック図である。この
図12において、
図10に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。第2変形例では、
図11に示したモデル生成装置20Bを用いる。第2変形例においても、機械学習部22は、複数の判定モデル12a(判定モデル12a”とする前の判定モデル)として、接続先別判定モデルまたは期間別・接続先別判定モデルを生成する。
【0094】
図12に示すように、第2変形例による不正検知装置10Cは、機能構成として、不正判定部12Bに代えて不正判定部12Cを備えるとともに、サイトコンテンツ取得部13および判定用データ分類部14を更に備えている。不正判定部12Cは、より具体的な機能構成として、複数の判定モデル12a”、平均値算出部12bおよび判定モデル選択部12c”を備えている。
【0095】
上述した第1変形例では、判定モデル選択部12c’がユーザからの指示に応じてM個の判定モデル12a”を選択した。これに対し、第2変形例では、不正検知の判定対象とするウェブサイトの種類または性質を解析し、解析したウェブサイトの種類または性質と同様の特性を有するウェブサイトの通信ログデータから生成されたM個の判定モデル12a”を選択する。
【0096】
不正検知装置10Cのサイトコンテンツ取得部13は、判定用データの抽出元である通信ログデータにおいて接続先として示されているウェブサイトのコンテンツ情報を取得する。サイトコンテンツ取得部13によるコンテンツ情報の取得方法および取得する情報の種類は、サイトコンテンツ取得部23によるコンテンツ情報の取得方法および取得する情報の種類と同様でよい。
【0097】
判定用データ分類部14は、サイトコンテンツ取得部13により取得されたウェブサイトが有する特性に基づいて、モデル生成装置20Bの判定モデル分類部24により分類される複数のグループGr1~Gr3のうち何れかに対応する分類情報を出力する。判定用データ分類部14によるウェブサイトの分類も、判定モデル分類部24によるウェブサイトの分類と同様、機械学習された分類モデルを用いて行うことが可能である。
【0098】
すなわち、判定用データ分類部14は、サイトコンテンツ取得部13により取得されたウェブサイトに含まれるコンテンツ情報を学習済みの分類モデルに入力し、ウェブサイトの種類または性質に応じた分類情報を分類モデルから取得する。この場合の分類モデルは、コンテンツ情報が入力された際に、コンテンツ情報が有する特徴量に基づいて分類されるグループGr1~Gr3の分類情報を出力するように、コンテンツ情報を含む学習用データを用いた機械学習処理により生成されている。
【0099】
不正判定部12Cの判定モデル選択部12c”は、N個の判定モデル12a”の中から、判定用データ分類部14より出力された分類情報と共通の分類情報に対応するグループに分類されたM個の判定モデル12a”を、不正判定部12Cの処理に使用する複数の判定モデル12a”として選択する。
【0100】
不正判定部12Cは、判定用データ取得部11により取得された判定用データを、判定モデル選択部12c”により選択されたM個の判定モデル12a”に入力し、当該選択されたM個の判定モデル12a”からそれぞれ取得される複数の不正リスク値の平均値を出力する。
【0101】
このように構成した第2変形例においても、第1変形例と同様の効果を得ることが可能である。また、第2変形例では、判定対象とするウェブサイトのコンテンツ情報を解析し、その解析結果に基づいてM個の判定モデル12a”を選択するので、ユーザが特に分類情報を指定しなくても、判定対象とするウェブサイトに応じて適切な判定モデル12a”を選択して不正検知を効率的に行うことができる。
【0102】
なお、第2の実施形態と第2変形例とを組み合わせて適用するようにしてもよい。
【0103】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0104】
10,10A,10B,10C 不正検知装置
11 判定用データ取得部
11a IPアドレス取得部
11b 属性情報取得部
11c 前処理部
12,12A,12B,12C 不正判定部
12a,12a’,12a” 判定モデル
12b 平均値算出部
13 サイトコンテンツ取得部
14 判定用データ分類部
20,20A,20B モデル生成装置
21 学習用データ取得部
21a IPアドレス取得部
21b 属性情報取得部
21c 前処理部
22,22A 機械学習部
23 サイトコンテンツ取得部
24 判定モデル分類部