(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-08
(45)【発行日】2022-03-16
(54)【発明の名称】不正アクセス検出装置、不正アクセス検出方法およびコンピュータプログラム
(51)【国際特許分類】
G06F 21/55 20130101AFI20220309BHJP
G06F 21/60 20130101ALI20220309BHJP
【FI】
G06F21/55 320
G06F21/60
(21)【出願番号】P 2020211266
(22)【出願日】2020-12-21
(62)【分割の表示】P 2016175539の分割
【原出願日】2016-09-08
【審査請求日】2020-12-21
(73)【特許権者】
【識別番号】000155469
【氏名又は名称】株式会社野村総合研究所
(74)【代理人】
【識別番号】100105924
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】大島 修
【審査官】平井 誠
(56)【参考文献】
【文献】特開2010-097467(JP,A)
【文献】国際公開第2015/136800(WO,A1)
【文献】特表2007-514333(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00-88
(57)【特許請求の範囲】
【請求項1】
所定の装置に対する通信網を介したアクセスに関するデータを取得する取得部と、
前記取得部により取得されたデータに基づいて、前記装置における前記アクセスの重要度を示すビジネスインパクト指標値と、前記アクセスが不正である可能性の高さを示す不正可能性指標値を導出する導出部と、
前記導出部により導出されたビジネスインパクト指標値と不正可能性指標値に基づいて、前記アクセスの危険度を判定する判定部と、
記録部と、
を備え、
前記導出部は、前記アクセスのデータに含まれる識別子の値が所定のブラックリストで指定された値に合致する場合、前記不正可能性指標値を加算し、
前記記録部は、或る値の識別子を含むアクセスに対して前記導出部により導出された不正可能性指標値の累積値を記録し、
前記記録部は、前記累積値が基準値超になった場合、前記或る値の識別子を前記ブラックリストに追加することを特徴とする不正アクセス検出装置。
【請求項2】
前記記録部は、前記或る値の識別子を含むアクセスが最後になされてからの経過時間に応じて前記累積値を減算し、
前記記録部は、前記累積値が所定値以下になった場合、前記或る値の識別子を前記ブラックリストから除外することを特徴とする請求項1に記載の不正アクセス検出装置。
【請求項3】
前記アクセスに関するデータには複数種類の識別子が含まれ、
前記導出部は、識別子ごとにその値に基づいて前記アクセスが不正である可能性の高さを検出し、識別子ごとに検出した前記可能性の高さを集計して前記アクセスの不正可能性指標値を導出することを特徴とする請求項1または2に記載の不正アクセス検出装置。
【請求項4】
前記導出部は、識別子の値が一致する過去のアクセスに関するデータを参照し、過去からの複数回のアクセスの態様が所定の条件を満たす場合に、前記アクセスが不正である可能性が高いことを検出する処理を、前記アクセスに関するデータに含まれる識別子ごとに実行することを特徴とする請求項3に記載の不正アクセス検出装置。
【請求項5】
前記記録部は、アクセスに関するデータに含まれる複数種類の識別子ごとに、識別子の値と、前記導出部により導出された不正可能性指標値の累積値とを対応付けて記録し、
前記導出部は、或るアクセスに関するデータに含まれる識別子ごとに、識別子の値に対して予め記録された不正可能性の累積値に基づいて前記或るアクセスが不正である可能性の高さを検出し、識別子ごとに検出した前記可能性の高さを集計して前記或るアクセスの不正可能性指標値を導出することを特徴とする請求項3または4に記載の不正アクセス検出装置。
【請求項6】
前記記録部は、或る識別子の値と対応付けて記録した不正可能性指標値の累積値を、その識別子の値を含む最終アクセスからの経過時間に応じて減算することを特徴とする請求項5に記載の不正アクセス検出装置。
【請求項7】
所定の装置に対する通信網を介したアクセスに関するデータを取得するステップと、
前記取得するステップで取得されたデータに基づいて、前記装置における前記アクセスの重要度を示すビジネスインパクト指標値と、前記アクセスが不正である可能性の高さを示す不正可能性指標値を導出するステップと、
前記導出するステップで導出されたビジネスインパクト指標値と不正可能性指標値に基づいて、前記アクセスの危険度を判定するステップと、
をコンピュータが実行し、
前記導出するステップは、前記アクセスのデータに含まれる識別子の値が所定のブラックリストで指定された値に合致する場合、前記不正可能性指標値を加算し、
或る値の識別子を含むアクセスに対して前記導出するステップで導出された不正可能性指標値の累積値を記録するステップと、
前記累積値が基準値超になった場合、前記或る値の識別子を前記ブラックリストに追加するステップと、
を前記コンピュータがさらに実行することを特徴とする不正アクセス検出方法。
【請求項8】
所定の装置に対する通信網を介したアクセスに関するデータを取得する機能と、
前記取得する機能により取得されたデータに基づいて、前記装置における前記アクセスの重要度を示すビジネスインパクト指標値と、前記アクセスが不正である可能性の高さを示す不正可能性指標値を導出する機能と、
前記導出する機能により導出されたビジネスインパクト指標値と不正可能性指標値に基づいて、前記アクセスの危険度を判定する機能と、
をコンピュータに実現させ、
前記導出する機能は、前記アクセスのデータに含まれる識別子の値が所定のブラックリストで指定された値に合致する場合、前記不正可能性指標値を加算し、
或る値の識別子を含むアクセスに対して前記導出する機能により導出された不正可能性指標値の累積値を記録する機能と、
前記累積値が基準値超になった場合、前記或る値の識別子を前記ブラックリストに追加する機能と、
を前記コンピュータにさらに実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、データ処理技術に関し、特に不正アクセスを検出する技術に関する。
【背景技術】
【0002】
近年、サーバ等に対する不正アクセスによる被害の認知件数が高い水準にある。被害の内訳としては、インターネットバンキングの不正送金と、他人へのなりすましが占める割合が大きい。不正アクセスに対するこれまでの防御手段としては、ファイヤーウォールやWAF(Web Application Firewall)が存在する(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
不正アクセスの手口は年々巧妙化しており、従来の不正アクセス対策では、正常なアクセスと不正アクセスを見分けることは困難なことがあった。本発明は、こうした課題に鑑みてなされたものであり、主たる目的は、不正アクセスを精度よく検出する技術を提供することである。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明のある態様の不正アクセス検出装置は、所定の装置に対する通信網を介したアクセスに関するデータを取得する取得部と、取得部により取得されたデータに基づいて、装置におけるアクセスの重要度を示す第1指標値と、アクセスが不正である可能性の高さを示す第2指標値を導出する導出部と、導出部により導出された第1指標値と第2指標値に基づいて、アクセスの危険度を判定する判定部と、を備える。
【0006】
本発明の別の態様もまた、不正アクセス検出装置である。この装置は、通信網を介して所定の装置になされたアクセスに関するデータを取得する取得部と、取得部により取得されたデータに基づいて、アクセスが不正である可能性の高さを示す指標値を導出する導出部と、導出部により導出された指標値に基づいて、アクセスの危険度を判定する判定部と、を備える。アクセスに関するデータには複数種類の識別子が含まれ、導出部は、識別子ごとにその値に基づいてアクセスが不正である可能性の高さを検出し、識別子ごとに検出した可能性の高さを集計してアクセスの指標値を導出する。
【0007】
本発明のさらに別の態様は、不正アクセス検出方法である。この方法は、所定の装置に対する通信網を介したアクセスに関するデータを取得するステップと、取得するステップで取得されたデータに基づいて、装置におけるアクセスの重要度を示す第1指標値と、アクセスが不正である可能性の高さを示す第2指標値を導出するステップと、導出するステップで導出された第1指標値と第2指標値に基づいて、アクセスの危険度を判定するステップと、をコンピュータが実行する。
【0008】
なお、以上の構成要素の任意の組合せ、本発明の表現をシステム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0009】
本発明によれば、不正アクセスを精度よく検出することができる。
【図面の簡単な説明】
【0010】
【
図1】実施例の情報システムの構成を示す図である。
【
図2】
図1の不正アクセス検出装置の機能構成を示すブロック図である。
【
図3】BL/WL保持部のデータ構造の例を示す図である。
【
図4】アドレス情報保持部のデータ構造の例を示す図である。
【
図5】BIスコア判定規則のデータ構造の例を示す図である。
【
図6】FPスコア判定規則のデータ構造の例を示す図である。
【
図7】第1判定結果保持部および第2判定結果保持部のデータ構造の例を示す図である。
【
図8】累積スコア保持部のデータ構造の例を示す図である。
【
図11】不正アクセス検出装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0011】
本発明の実施例を説明する前にまず概要を説明する。本実施例における不正アクセスは、アクセス制御(例えばパスワード認証等)がなされているサーバに、ネットワークを通じて、他人の識別符号、または識別符号以外の情報や指令を入力して本来制限されている機能を不正に利用する行為である。以下の説明における「ウェブアクセス」は、所定のサーバに対する通信網を介したリモートアクセスであり、正当な権限を持つユーザの正当なアクセスと、不正者による不正アクセスの両方を含む。
【0012】
様々な種類の不正アクセスが存在するが、特に、他人の正しいアカウント情報(ユーザID、パスワード等)を不正に入手し、そのアカウント情報を使用したなりすましログインや不正取引、リスト型アカウントハッキング等は、従来の不正アクセス対策では、正当なアクセスと判別することが難しかった。また、短期間に大量の不正アクセスが自動実行されるのではなく、低頻度の不正アクセス(例えば1回/時間等)が長期的に実行される場合、不正アクセスを正当なアクセスと判別することが一層困難であった。
【0013】
実施例の不正アクセス検出装置は、サーバに対するウェブアクセスのアイデンティティ(すなわちID)の振る舞いに基づいて、当該ウェブアクセスが不正アクセスか否かを判定する。具体的には、今回のウェブアクセスのデータに含まれる複数種類のIDそれぞれが使用された、過去からの複数回のウェブアクセスの態様に基づいて、今回のウェブアクセスが不正なものか否かを判定する。さらに、実施例の不正アクセス検出装置は、所定の対象装置に対するウェブアクセスを、対象装置における当該ウェブアクセスの重要度(以下「BI(Business Impact)」とも呼ぶ。)と、当該ウェブアクセスが不正である可能性の高さ(以下「FP(Fraud Probability)」とも呼ぶ。)の2軸で評価し、当該アクセスの危険度を判定する。これにより不正アクセスを精度よく検出する。
【0014】
図1は、実施例の情報システムの構成を示す。情報システム10は、対象サーバ12、ユーザ端末14で総称されるユーザ端末14a、ユーザ端末14b、ユーザ端末14c、管理者端末18、不正アクセス検出装置20を備える。これらの装置は、LAN・WAN・インターネット等を含む通信網16を介して互いに接続される。
【0015】
対象サーバ12は、通信販売、インターネットバンキング等のウェブサイトをインターネット上に公開する情報処理装置である。実施例の対象サーバ12は、ウェブサーバの機能を含み、ユーザ端末14からのウェブアクセス(HTTP要求)を受け付け、所定のサービスを提供するためのウェブページをユーザ端末14へ提供する。
【0016】
ユーザ端末14は、ウェブブラウザソフトウェアがインストールされた情報処理装置であり、ウェブクライアントとして機能する。ユーザ端末14は、PC、タブレット端末、スマートフォンであってもよい。ユーザ端末14a、ユーザ端末14b、ユーザ端末14cを操作するユーザは、対象サーバ12のウェブサイトへのログインが許可されたユーザ(すなわち正当な権限を有するユーザ)かもしれないし、他人のアカウントを不正使用する等、対象サーバ12に対して不正アクセスを試みるユーザかもしれない。
【0017】
管理者端末18は、ウェブブラウザソフトウェアがインストールされた情報処理装置であり、ウェブクライアントとして機能する。管理者端末18は、PC、タブレット端末、スマートフォンであってもよく、対象サーバ12の管理者により操作される。
【0018】
不正アクセス検出装置20は、対象サーバ12に対するウェブアクセスの属性情報を、ログファイルまたはAPI(Application Programming Interface)経由で受け付けると、ウェブアクセスごとのリスク判定を実行する。言い換えれば、ユーザ端末14から対象サーバ12への複数のウェブアクセスの中に存在する不正アクセスを検出する。不正アクセス検出装置20は、リスクの判定結果をAPIレスポンスとして対象サーバ12へ提供し、また、リスクの判定結果を含む統計情報を管理者端末18へ提供する。
【0019】
図2は、
図1の不正アクセス検出装置20の機能構成を示すブロック図である。不正アクセス検出装置20は、制御部22、記憶部24、通信部26を備える。制御部22は、ユーザ端末14から対象サーバ12への不正アクセスを検出するためのデータ処理を実行する。記憶部24は、制御部22により参照または更新されるデータを記憶する記憶領域である。通信部26は、所定の通信プロトコルにしたがって外部装置と通信する。制御部22は、通信部26を介して対象サーバ12および管理者端末18とデータを送受する。
【0020】
本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPU・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【0021】
例えば、制御部22の各ブロックの機能はコンピュータプログラムとして実装され、そのコンピュータプログラムが不正アクセス検出装置20のストレージにインストールされてもよい。そして、不正アクセス検出装置20のCPUが、そのコンピュータプログラムをメインメモリへ読み出して実行することにより制御部22の各ブロックの機能が発揮されてもよい。記憶部24は、不正アクセス検出装置20のメインメモリやストレージにより実現されてもよい。
【0022】
記憶部24は、BL/WL保持部28、アドレス情報保持部30、規則保持部32、第1判定結果保持部34、第2判定結果保持部36、累積スコア保持部38を含む。このうちBL/WL保持部28、アドレス情報保持部30、第1判定結果保持部34、累積スコア保持部38は、高頻度で使用されるデータが格納され、高速のレスポンスが要求されるため、NoSQL型データストア(実施例ではキーバリューストア)として構成される。第2判定結果保持部36は、低頻度で読み込みが発生するデータが格納され、通常のDBMS(実施例ではRDBMS)として構成される。
【0023】
BL/WL保持部28は、ブラックリストおよびホワイトリストのデータを保持する。
図3は、BL/WL保持部28のデータ構造の例を示す。
図3では、キーとしてIPアドレス情報(例えばIPアドレス(またはネットワークアドレス)+サブネットマスク長)が設定されている。また、値としてホワイトリストの識別子(
図3では「ホワイト」)またはブラックリストの識別子(
図3では「ブラック」)が設定されている。ホワイトリストの識別子に対応付けられたキーのリストがホワイトリストに相当し、ブラックリストの識別子に対応付けられたキーのリストがブラックリストに相当する。
【0024】
例えば、ブラックリストでは、不正者により使用されたことが判明したIPアドレス、ネットワークアドレス、デバイスID(後述)、またはユーザIDが記録されてもよい。また、ホワイトリストでは、正当な権限を有するユーザが固定的に使用するIPアドレス、ネットワークアドレス、デバイスID、またはユーザIDが記録されてもよい。
【0025】
図2に戻り、アドレス情報保持部30は、IPアドレスと地理情報との対応関係を保持する。
図4は、アドレス情報保持部30のデータ構造の例を示す。実施例のアドレス情報保持部30は、対象サーバ12に対するウェブアクセスの接続元IPアドレスをキーとし、国・都市・緯度・経度を値として、両者を対応づけたレコードを保持する。接続元IPアドレスは、対象サーバ12で受信されたIPパケットに設定された送信元IPアドレスであってもよい。典型的には、ユーザ端末14のIPアドレスであってもよく、ユーザ端末14と対象サーバ12との通信を中継するプロキシサーバやルータ等のIPアドレスであってもよい。
【0026】
図2に戻り、規則保持部32は、BIの高さを示すBIスコアを決定するための規則(言い換えれば基準)であるBIスコア判定規則と、FPの高さを示すFPスコアを決定するための規則であるFPスコア判定規則を保持する。BIスコア判定規則とFPスコア判定規則は、高速アクセスを可能にするために半導体メモリ内に格納されてもよく、後述のBIスコア導出部46、FPスコア導出部48を実装したコンピュータプログラム内にアルゴリズムとして組み込まれてもよい。
【0027】
図5は、BIスコア判定規則のデータ構造の例を示す。BIスコア判定規則は、判定条件と、判定条件が満たされた場合のBIスコアを対応づけて保持する。判定条件は、アクセス先URL、GETまたはPOSTのパラメータ属性等が規定されてもよい。また、BIスコアは、対象サーバ12において重要な処理またはトランザクションほど大きい値が設定される。例えば、対象サーバ12によりサービスを提供する企業のビジネスに与える影響が大きい処理またはトランザクションほど大きい値が設定されてよい。
【0028】
図5の1番目のレコードは、ユーザ端末14から対象サーバ12へのアクセスが、ログイン認証を実行するURLに対するPOST送信である場合に、BIスコアを「10」とすることを示している。また、
図5の4番目のレコードは、送信画面における送金実行用のURLに対するPOST送信であり、かつ、送金金額のパラメータの値が50万円未満の場合に、BIスコアに「90」とすることを示している。
【0029】
図6は、FPスコア判定規則のデータ構造の例を示す。FPスコア判定規則は、判定条件(
図6では識別対象およびルール内容)と、判定条件が満たされた場合に加算すべきFPスコア(値は不図示)を対応づけて保持する。
図6における識別対象は、アクセスのデータに含まれる複数種類の識別子のうち少なくとも1つである。識別対象は、例えば、国(IPアドレスにより特定される国)、IPアドレス、UA(User Agent)、ユーザID(ログイン要求で指定されたユーザID)、デバイスIDを含む。デバイスIDは、特定のユーザ端末14を一意に識別可能な識別子であり、ユーザ端末14のウェブブラウザ種類およびバージョン、言語設定、インストール済フォント、画面解像度、色深度、CPU種別、タイムゾーン等の組み合わせに基づいて生成された情報である。
【0030】
図6の「ルール内容」は、識別対象である識別子の値(およびその識別子に紐付く別の識別子の値)、および/または、識別対象である識別子の値に紐付く過去のリクエスト履歴(アクセス履歴)の態様を定めたものである。
図6の「FPスコア」は、対象サーバ12が提供するウェブサイトの種類や業務内容に基づいて判定条件ごとに予め定められる。具体的には、複数の判定条件の中で、充足された場合に不正アクセスの疑いが強いものほど大きなFPスコアが設定される。
【0031】
図6の項番2は、ウェブアクセスのデータに含まれる接続元IPアドレスが、ブラックリストで指定されたIPアドレスに合致する場合、所定のFPスコアを加算するように規定するものである。
図6の項番17は、特定のユーザIDを指定したログイン試行アクセスについて、単位時間あたりの上記ログイン試行アクセスが含む接続元IPアドレスの個数(ユニーク数)が所定値以上の場合、所定のFPスコアを加算するように規定するものである。ここでの単位時間は5分でもよく、所定値は5個でもよい。
図6の項番20は、同じデバイスIDを含むログイン試行アクセスについて、単位時間あたりの上記ログイン試行アクセスが含むユーザIDの個数(ユニーク数)が所定値以上の場合、所定のFPスコアを加算するように規定する。
【0032】
なお、
図6に示すFPスコア判定規則によると、正しいユーザIDとパスワードを使用した不正アクセスであっても、その不正アクセスを精度よく検出できる。例えば、
図6の項番10、11はログイン回数(ログイン成功回数)が基準であり、
図6の項番12、13はログイン失敗回数が基準である。これに加えて、
図6の項番17~20は、ログイン認証を実行するURLへのアクセス回数であり、ログインが成功か失敗かに関わらないログイン試行回数が基準であるため、仮にログインに成功したウェブアクセスであっても不正アクセスとして検出され得る。
【0033】
図2に戻り、第1判定結果保持部34および第2判定結果保持部36は、リスク判定結果を保持する。
図7は、第1判定結果保持部34および第2判定結果保持部36のデータ構造の例を示す。レコード群60は、1つのウェブアクセスあたりに記録される複数のレコードである。アクセス属性62は、ウェブアクセスの属性値であり、複数種類の識別子の値(IPアドレス、ユーザID、デバイスID)を含む。リスク判定結果64は、アクセス属性62に基づくリスク判定結果であり、BIスコア、FPスコア、リスクランクを含む。
【0034】
なお、第1判定結果保持部34は、1つのウェブアクセスあたりに記録されたレコード群60を、アクセス日時(例えばアクセス属性62のTime)から30日間のみ保持する。その一方、第2判定結果保持部36は、1つのウェブアクセスあたりに記録されたレコード群60を、管理者による明示的な削除がない限り永続的に保持する。
【0035】
図2に戻り、累積スコア保持部38は、少なくとも1つのウェブアクセスで指定された複数種類の識別子のそれぞれについて、FPスコアの累積値(以下「FP累積値」とも呼ぶ。)を含むデータを保持する。
図8は、累積スコア保持部38のデータ構造の例を示す。累積スコア保持部38は、1つの識別子の値ごとに、型(Type)・FP累積値(SumScore)・最終アクセス日時(LastAccess)の3レコードを含む。
図8では、IPアドレス「133.250.195.1」、デバイスID「E6JU9Mr・・・」、ユーザID「user0001」のそれぞれについて記録された型・FP累積値・最終アクセス日時を示している。
【0036】
図2に戻り、制御部22は、ログ取得部40、判定要求受付部42、判定結果提供部44、BIスコア導出部46、FPスコア導出部48、リスク判定部50、判定結果記録部52、累積スコア記録部54、アラート通知部56、ダッシュボード提供部58を含む。
【0037】
ログ取得部40は、ウェブアクセスに対するリスク判定をバッチ処理として実行させる場合のインタフェースである。ログ取得部40は、1つ以上のウェブアクセスのデータ(内容または属性とも言え、以下「ウェブアクセス属性」と呼ぶ。)が記録されたアクセスログを対象サーバ12から定期的に取得し、アクセスログに記録されたウェブアクセス属性を読み込む。ログ取得部40は、対象サーバ12から定期的に送信されたアクセスログを受信してもよい。
【0038】
判定要求受付部42と判定結果提供部44は、1つのウェブアクセスに対するリスク判定をリアルタイム処理として実行させる場合のインタフェースである。判定要求受付部42は、対象サーバ12で予め定められた所定のAPIがコールされた場合に、その引数で指定された1つのウェブアクセス属性を取得する。判定結果提供部44は、上記APIのコールに対するレスポンスとして、リスク判定結果(例えば
図7のリスク判定結果64)を対象サーバ12へ送信する。
【0039】
実施例のウェブアクセス属性は、アクセス日時、アクセス先URL、接続元IPアドレス、ユーザID、ブラウザ種別(またはUserAgent)、デバイスIDを含む。ユーザIDは、ログイン認証画面に対してパラメータとして送信されたユーザIDでもよく、ログイン後のユーザセッションに対応付けられたユーザIDでもよい。対象サーバ12は、デバイスID取得スクリプト(例えばJavascript(登録商標)プログラム)を保持し、当該スクリプトをウェブページのデータとともにユーザ端末14へ送信してユーザ端末14のウェブブラウザで実行させることにより、ユーザ端末14からデバイスIDを取得する。
【0040】
また、ウェブアクセス属性は、対象サーバ12のウェブサイトにおける業務固有のパラメータをさらに含む。例えば、ウェブアクセス属性は、GET送信またはPOST送信でパラメータとして付加されたデータをさらに含んでもよい。この場合、BIスコア判定規則とFPスコア判定規則の少なくとも一方に、業務固有のパラメータの値に基づく判定条件が設定されてもよい。例えば、インターネットバンキングのウェブサイトの場合、業務固有のパラメータとして口座番号や取引金額を含んでもよい。そして、口座番号や取引金額が判定条件を満たす場合に、BIスコアとFPスコアの少なくとも一方を加算してもよい。
【0041】
BIスコア導出部46は、ログ取得部40または判定要求受付部42により取得されたウェブアクセス属性と、規則保持部32に保持されたBIスコア判定規則にしたがって、ウェブアクセス属性ごとのBIスコアを導出する。言い換えれば、ユーザ端末14から対象サーバ12へのウェブアクセスごとのBIスコアを導出する。
【0042】
BIスコア導出部46は、1つのウェブアクセス属性に含まれるアクセス先URLと、パラメータ属性値の組み合わせが、BIスコア判定規則に定められた特定の判定条件を充足する場合、その判定条件に対応付けられたBIスコア(例えば0~100の値)を、当該ウェブアクセスのBIスコアとして決定する。
図5の例では、1つのウェブアクセス属性に含まれるアクセス先URLがログイン認証URLと合致する場合、そのウェブアクセスのBIスコアを「10」に決定する。変形例として、ウェブアクセス属性が複数の判定条件を充足する場合、それら複数の判定条件に対応付けられたBIスコアの合計値を0~100の値に正規化し、正規化後の値を当該ウェブアクセスのBIスコアとして決定してもよい。
【0043】
FPスコア導出部48は、ログ取得部40または判定要求受付部42により取得されたウェブアクセス属性と、規則保持部32に保持されたFPスコア判定規則にしたがって、ウェブアクセス属性ごとのFPスコアを導出する。言い換えれば、ユーザ端末14から対象サーバ12へのウェブアクセスごとのFPスコアを導出する。
【0044】
実施例のFPスコア導出部48は、1つのウェブアクセス属性に含まれる複数種類の識別子(例えば接続元IPアドレス、ユーザID、デバイスID)について、識別子ごとにその値に基づいてFP値を導出し、識別子ごとに導出したFP値を集計して1つのウェブアクセスのFP値を導出する。具体的には、FPスコア導出部48は、第1判定結果保持部34に保持された識別子の値(例えば接続元IPアドレスの値)が一致する過去のウェブアクセス属性を参照する。そして、過去の1つ以上のウェブアクセス属性から今回のウェブアクセス属性に基づいて特定される複数のウェブアクセスの振る舞いが、FPスコア判定規則の判定条件(例えば
図6の項番9以降)に合致する場合、その判定条件に対応付けられたFPスコアを加算する。FPスコア導出部48は、1つのウェブアクセス属性に含まれる識別子ごとに(言い換えればFPスコア判定規則の判定条件ごとに)、判定条件の充足判定処理とFPスコア加算処理を繰り返す。
【0045】
例えば、
図6の項番2にしたがって、FPスコア導出部48は、アクセスデータに含まれる接続元IPアドレスが、BL/WL保持部28のブラックリストで指定されている場合、項番2で定められたFPスコアを加算する。また、
図6の項番17にしたがって、FPスコア導出部48は、判定対象のウェブアクセスに含まれるユーザIDに対する、単位時間あたりのログイン試行IPアドレス数が所定値以上の場合、項番17で定められたFPスコアを加算する。この場合、FPスコア導出部48は、上記ユーザIDを指定したログイン試行URLへのウェブアクセスを、第1判定結果保持部34から検索してもよい。そして、検索にヒットした1つ以上のウェブアクセスにおける接続元IPアドレスのユニーク数を計数してもよい。
【0046】
また、
図6の項番20にしたがって、FPスコア導出部48は、判定対象のウェブアクセスに含まれるデバイスIDを含む所定の単位時間内の1回以上のログイン試行アクセスを特定する。そして、それらのログイン試行アクセスで指定されたユーザIDのユニーク数が所定値以上の場合、項番20で定められたFPスコアを加算する。この場合、FPスコア導出部48は、上記デバイスIDを指定したログイン試行URLへのウェブアクセスを、第1判定結果保持部34から検索してもよい。そして、検索にヒットした1つ以上のウェブアクセスで指定されたユーザIDのユニーク数を計数してもよい。
【0047】
実施例のFPスコア導出部48は、1つのウェブアクセス属性に含まれる識別子ごとに(言い換えればFPスコア判定規則の判定条件ごとに)積み上げたFPスコア(ここでは「合計スコア」と呼ぶ。)を0~100の値に正規化し、最終的なFPスコアとする。
図9は、FPスコアの正規化の一例を示す。FPスコア導出部48は、合計スコア(x)を予め定められたシグモイド関数66へ入力し、シグモイド関数66の出力値(0≦F(x)≦100)を最終的なFP値として決定してもよい。なお、
図9のシグモイド関数66におけるa、bの値は、対象サーバ12の構築フェーズまたはチューニングフェーズにおいて、回帰分析等を使用して適宜決定・調整されてよい。
【0048】
図2に戻り、リスク判定部50は、複数のウェブアクセスのそれぞれに対して導出されたBIスコアとFPスコアに基づいて、各ウェブアクセスの危険度(以下「リスクランク」とも呼ぶ。)を判定する。リスク判定部50は、各ウェブアクセスのリスクランクを含むリスク判定結果を生成する。判定結果記録部52は、リスク判定部50により生成された或るウェブアクセスに対するリスク判定結果(
図7のリスク判定結果64)を、そのウェブアクセス属性のデータ(
図7のアクセス属性62)と対応付けて第1判定結果保持部34と第2判定結果保持部36の両方へ格納する。
【0049】
図10は、実施例のリスク判定基準を示す。リスク判定部50は、BIスコアとFPスコアの組み合わせが領域70に該当する場合、リスクランク「低(LOW)」と判定する。また、上記組み合わせが領域72に該当すればリスクランク「中(MID)」、領域74に該当すればリスクランク「高(HIGH)」、領域76に該当すればリスクランク「重大(SEVERE)」と判定する。
【0050】
図10に示すように、リスク判定部50は、或るウェブアクセスのBIスコアが相対的に大きい場合、当該ウェブアクセスのFPスコアが相対的に小さくても、当該ウェブアクセスの危険度を相対的に高く判定する。また、リスク判定部50は、或るウェブアクセスのFPスコアが相対的に大きい場合、当該ウェブアクセスのBIスコアが相対的に小さくても、当該ウェブアクセスの危険度を相対的に高く判定する。言い換えれば、リスク判定部50は、FPスコアが所定値(同一の値)であるとき、BIスコアが大きくなるほど危険度を高く判定する。同様に、リスク判定部50は、BIスコアが所定値(同一の値)であるとき、FPスコアが大きくなるほど危険度を高く判定する。
【0051】
累積スコア記録部54は、ウェブアクセスのデータに含まれる複数種類の識別子(例えばIPアドレス、デバイスID、ユーザID)について、識別子ごとにその値とFPスコアの累積値(すなわちFP累積値)とを対応付けて累積スコア保持部38に記録する。
図8で示したように、実施例では、1つの識別子の値をキーとして、型・FP累積値・最終アクセス日時(擬似的にFP累積値の更新日時でもよい)を対応付けて記録する。
【0052】
累積スコア記録部54は、複数種類の識別子(例えばIPアドレス、デバイスID、ユーザID)のそれぞれに対するBL追加基準値を保持する。BL追加基準値は、識別子の種類ごとに異なる値が設定されてよい。累積スコア記録部54は、或る識別子の値に対応付けて記録されたFPスコアの累積値が、BL追加基準値以下からBL追加基準値を超えた場合に、その識別子の値をブラックリストへ自動的に登録する。具体的には、その識別子の値をキーとし、「ブラック」を値とするレコードをBL/WL保持部28へ追加する。
【0053】
FPスコア導出部48は、或るウェブアクセスに関するデータに含まれる識別子ごとに、識別子の値に対して予め記録されたFP累積値に基づいて当該ウェブアクセスが不正である可能性の高さを検出する。具体的には、FPスコア導出部48は、識別子の値がブラックリストに登録されていた場合、言い換えれば、累積値の値をキーとし、かつ「ブラック」を値とするレコードがBL/WL保持部28に存在する場合、FPスコアを加算する(例えば
図6の項番1~5)。
【0054】
また実施例では、累積スコア保持部38に保持されるFP累積値が、時間の経過とともに一定量減衰するモデルを採用する。累積スコア記録部54は、或る識別子の値と対応付けて記録したFP累積値を、その識別子の値を含む最終アクセスからの経過時間に応じて減算する。実施例では、最終アクセスからの経過時間が長くなるほど、FP累積値の減算幅を大きくする。例えば、或るIPアドレスの値(ここでは
図8の「133.250.195.1」)に対応付けて記録されたFP累積値「30」について、「133.250.195.1」を接続元IPアドレスとするウェブアクセスがなされない期間が長くなるほど上記FP累積値を小さくしていく。
【0055】
具体的には、累積スコア記録部54は、所定の単位時間あたりの減衰量dを保持する。累積スコア記録部54は、ウェブアクセス属性が受け付けられた場合に、そのウェブアクセス属性に含まれる識別子ごとに、前回更新時におけるFP累積値から、(前回更新時からの経過時間T×d)を減算する。言い換えれば、累積スコア記録部54は、以下の計算を実行して、識別子ごとのFP累積値を更新し、新たなFP累積値を累積スコア保持部38へ格納する。
新たなFP累積値 = 前回更新時のFP累積値 ー Td
【0056】
累積スコア記録部54は、或る識別子の値に対応付けて記録されたFP累積値が、BL追加基準値を超えた状態からBL追加基準値以下に変化した場合に、その識別子の値をブラックリストから除外する。具体的には、その識別子の値をキーとし、「ブラック」を値とするレコードをBL/WL保持部28から削除する。
【0057】
アラート通知部56は、所定のリスクランク以上のウェブアクセスを示すアラート情報(例えば
図6のアクセス属性62およびリスク判定結果64のデータ)を管理者端末18へ通知する。通知方法は、電子メール、ファイル送信、プッシュ通知等、公知の方法でよい。アラート通知部56は、予め定められたタイミングで定期的にアラート情報を管理者端末18へ送信してもよい。また、所定のリスクランク以上のウェブアクセスが検出されたタイミング、言い換えれば、所定のリスクランク以上を示すリスク判定結果が第1判定結果保持部34、第2判定結果保持部36に記録されたタイミングで、アラート情報を送信してもよい。
【0058】
なお、本実施形態では、所定のリスクランク以上のウェブアクセスを示すアラート情報を管理者端末18へ通知する構成であったが、その処理に代えて、またはその処理とともに、所定のリスクランク以上のウェブアクセスに対して所定の動作を実行する構成であってもよい。ここで、所定の動作とは、所定のリスクランク以上のウェブアクセスを遮断したり、所定のリスクランク以上のウェブアクセスの対象となる取引を拒否したり、追加の認証を実施することが含まれる。これにより、管理者端末18に通知することに加え、不正の取引を未然に防ぐことができる。また、所定のリスクランク以上のウェブアクセスを示すアラート情報を管理者端末18へ通知することに加え、ウェブアクセスの対象となる取引毎、
図5の業務処理毎、
図5の判定条件毎、
図6のルールカテゴリ毎、
図6のルール内容毎に、前記所定の動作を設定可能とする構成にすることもできる。
【0059】
ダッシュボード提供部58は、リスク判定結果、およびその統計情報を表示するダッシュボードの画面データを生成して管理者端末18へ送信する。ダッシュボード提供部58は、第2判定結果保持部36に保持されたリスク判定結果を読み込んでダッシュボードの画面データを生成する。
【0060】
以上の構成による情報システム10の動作を説明する。対象サーバ12は、通信販売やインターネットバンキング等の所定のウェブサイト(ここでは「監視対象サイト」と呼ぶ。)をインターネット上に公開する。正当な権限を有するユーザまたは不正者は、ユーザ端末14を操作して監視対象サイトへアクセスする。対象サーバ12は、監視対象サイトのウェブページをアクセス元のユーザ端末14へ提供し、ユーザ端末14のウェブブラウザは、監視対象サイトのウェブページをディスプレイに表示させる。なお、監視対象サイトのウェブページにはデバイスID取得スクリプトが含まれ、ユーザ端末14のウェブブラウザは、デバイスID取得スクリプトを実行し、自機の環境に基づいて生成したデバイスIDを対象サーバ12へ送信する。
【0061】
この例の対象サーバ12は、ユーザ端末14からウェブアクセスを受け付けるたびに、そのウェブアクセス属性(接続元IPアドレス、ユーザID、デバイスID等)を含むリスク判定要求を不正アクセス検出装置20へ送信する。既述したように、対象サーバ12は、ユーザ端末14から受け付けたウェブアクセスの属性データをアクセスログへ逐次記録してもよい。そして、不正アクセス検出装置20に対するリスク判定要求として、定期的にアクセスログを不正アクセス検出装置20へ送信してもよい。
【0062】
図11は、不正アクセス検出装置20の動作を示すフローチャートである。対象サーバ12から送信されたリスク判定要求(ウェブアクセス属性)を判定要求受付部42が受け付けると(S10のY)、以下のS12~S38の処理が実行される。不正アクセス検出装置20は、対象サーバ12から送信されたウェブアクセス属性ごとにS12~S38の処理を繰り返し実行する。対象サーバ12からアクセスログが入力される場合、不正アクセス検出装置20は、アクセスログに記録されたウェブアクセス属性ごとにS12~S38の処理を繰り返し実行する。
【0063】
累積スコア記録部54は、受け付けられたウェブアクセス属性に含まれる複数種類の識別子(接続元IPアドレス、ユーザID、デバイスID等)それぞれの値について、対応するFP累積値が累積スコア保持部38に保持されていれば、最終アクセス日時から現在日時までの経過時間に応じて、各識別子の値に対応するFP累積値を減算する(S12)。S12の結果、或る識別子の値に対応付けられたFP累積値が、BL追加基準値を超えた状態からBL追加基準値以下になれば(S14のY)、その値をブラックリストから除外する(S16)。或る識別子の値に対応付けられたFP累積値が、BL追加基準値を超えた状態を継続し、または、BL追加基準値以下の状態を継続する場合(S14のN)、S16をスキップする。すなわちブラックリストの変更を抑制する。
【0064】
BIスコア導出部46は、今回のウェブアクセス属性(例えばアクセス先URLおよび業務固有パラメータ等)とBIスコア判定規則にしたがってBIスコアを決定する(S18)。FPスコア導出部48は、今回のウェブアクセス属性と、第1判定結果保持部34に保持された識別子の値が同一の過去のウェブアクセス属性と、FPスコア判定規則にしたがってFPスコアを決定する(S20)。S20では、今回のウェブアクセス属性に含まれる複数種類の識別子のそれぞれについてFPスコアを算出し、識別子ごとのFPスコアを集計して、今回のウェブアクセス属性のFPスコアを決定する。リスク判定部50は、BIスコアとFPスコアとに正相関するようにリスクランクを決定する(S22)。
【0065】
対象サーバ12からAPIコールによってリスク判定要求が入力された場合(S24のY)、判定結果提供部44は、リスク判定結果(具体的にはBIスコア、FPスコア、リスクランク)を、APIコールに対する応答として対象サーバ12へ送信する(S26)。対象サーバ12は、リスク判定結果にしたがって、判定対象のウェブアクセスに対する処理を決定する。例えば、対象サーバ12は、リスクランクが所定の基準値を上回る場合、ウェブアクセスが示す要求を拒否することを決定し、拒否を示す応答をユーザ端末14へ送信してもよい。対象サーバ12からアクセスログによってリスク判定要求が入力された場合(S24のN)、S26をスキップする。
【0066】
判定結果記録部52は、今回判定対象となったウェブアクセス属性と、当該属性に基づくリスク判定結果を対応付けて第1判定結果保持部34と第2判定結果保持部36の両方に記録する(S28)。今回のウェブアクセスのリスクランクが対象サーバ12(もしくはその管理者)との間で予め定められた閾値(例えばリスクランク「高」または「重大」)以上の場合(S30のY)、アラート通知部56は、危険度が高いウェブアクセスがあったことを示すアラート情報を管理者端末18へ送信する(S32)。今回のリスク判定結果におけるリスクランクが閾値以下であれば(S30のN)、S32をスキップする。
【0067】
累積スコア記録部54は、今回判定対象となったウェブアクセス属性に含まれる複数種類の識別子について、各識別子の値に対応付けて記録されたFP累積値に対して、S20で算出されたFPスコアを加算する(S34)。S34の結果、或る識別子の値に対応付けられたFPスコアの累積値が、BL追加基準値以下の状態からBL追加基準値を超えた場合(S36のY)、その値をブラックリストへ追加登録する(S38)。或る識別子の値に対応付けられたFPスコアの累積値が、BL追加基準値を超えた状態を継続し、または、BL追加基準値以下の状態を継続する場合(S36のN)、S38をスキップする。すなわちブラックリストの変更を抑制する。
【0068】
対象サーバ12からリスク判定要求(ウェブアクセス属性)が未入力であれば(S10のN)、S12~S38をスキップする。管理者端末18からダッシュボードの参照要求が受け付けられると(S40のY)、ダッシュボード提供部58は、第2判定結果保持部36に保持された1つ以上のウェブアクセスに対するリスク判定結果を参照し、各ウェブアクセスに対するリスク判定結果、および、それらを統計処理した結果を含むダッシュボード画面のデータを管理者端末18へ送信して表示させる(S42)。ダッシュボードの参照要求を受け付けなければ(S40のN)、S42をスキップする。
【0069】
実施例の不正アクセス検出装置20によると、対象サーバ12に対するウェブアクセスをBIとFPの2軸で評価し、当該ウェブアクセスのリスクランクを決定する。これにより、対象サーバ12のウェブサイトに対してウェブアクセスが与える影響度合い、言い換えれば、対象サーバ12が実行する業務やビジネスに対してウェブアクセスが与える現実のリスクの大きさに即して評価したウェブアクセスの危険度を対象サーバまたは管理者へ提供できる。
【0070】
また現在、複数台の端末、複数のIPアドレス、複数のユーザIDを切り替えつつ、なりすましログインや不正取引、リスト型アカウントハッキング等が行われることがあるが、不正アクセス検出装置20では、複数種類の識別子を含むウェブアクセスに対して識別子ごとにFPスコアを積み上げていきウェブアクセスのFPスコアを決定するため、これらの不正アクセスを検出しやすくなる。例えば、正しいユーザID・パスワードを用いたアクセスであっても、(1)同じIPアドレスで多数のユーザIDへのログインが行われた場合、(2)同じユーザIDを用いたログインが(異なるIPアドレスからも含めて)多数行われた場合、(3)同じデバイスIDで多数のユーザIDへのログイン試行が行われた場合等、FPスコアの増加により不正アクセスとして検知することができる。
【0071】
また、実施例の不正アクセス検出装置20は、識別子の値ごとにFPスコアを累積し、閾値を超えると、上記識別子の値をブラックリストへ自動登録する。これにより、同一の識別子の値を用いた過去のウェブアクセスに対して判定された不正の疑いの度合いを、今回のウェブアクセスに対するリスク判定へ反映することができる。さらにまた、不正アクセス検出装置20は、最終アクセスからの経過時間に応じてFPスコアの累積値を減算し、閾値以下になるとブラックリストから自動削除する。これにより、ブラックリストの登録数の増加を抑制でき、ブラックリストとの効率的なマッチングを実現する。また、不正アクセスで使用されなくなってから時間が経過した識別子の値はブラックリストから除外されるため、その後、正当なユーザがその識別子の値を利用する場合に、不正アクセスと誤検知してしまうことを抑制できる。
【0072】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下変形例を示す。
【0073】
第1変形例を説明する。実施例では言及していないが、FPスコア判定規則は、対象サーバ12に対して1つのユーザ端末14からなされた複数回のウェブアクセスに所定の関係がある場合にFPスコアを加算することを定めてもよい。例えば、対象サーバ12のウェブサイトがロイヤリティプログラム(ポイントプログラム)を提供するウェブサイトである場合に、識別対象「ユーザID」、ルール内容「ポイント交換(モノとの引き替え)のウェブページのURLを指定したHTTP要求から、退会のウェブページのURLを指定したHTTP要求までの時間が所定時間(例えば3分)以内であること」が規定されてもよい。
【0074】
本発明者は、ロイヤリティプログラムを提供するウェブサイトに対する不正アクセスを調査する中で、ポイント交換を実行後、証拠隠滅のためにすぐに退会するという振る舞いが多いことを発見した。本変形例の態様によると、時間的に前後する複数回のウェブアクセスの関係に着目してFPスコアを加算することにより、不正アクセスの検出精度を一層高めることができる。
【0075】
第2変形例を説明する。実施例の不正アクセス検出装置20は、対象サーバ12に対する不正アクセスを検出したが、変形例として、不正アクセス検出装置20は、自装置に対する外部装置からの不正アクセスを検出してもよい。不正アクセスを検出した場合には、自装置のユーザへその旨を通知してもよく、外部装置からの不正アクセスを遮断するための処理(例えば通信の無効化処理、パーソナルファイアウォールの設定処理等)を実行してもよい。
【0076】
本変形例の不正アクセス検出装置20は、一般的なPC、タブレット端末、スマートフォン等の情報端末であってもよく、
図2に示した機能ブロックが実装されたコンピュータプログラムが情報端末にインストールされて実行されることにより、実施例の不正アクセス検出装置20と同様の処理を実行してもよい。本変形例の不正アクセス検出装置20に保持されるBIスコア判定規則は、例えば、外部装置からのアクセスが重要なシステムコールを発生させるアクセスに対して高いBIスコアが設定されてもよい。また、FPスコア判定規則は、例えば、管理者権限の乗っ取りやハッキングの典型的なパターンに対して高いFPスコアが設定されてもよい。
【0077】
上述した実施例および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【符号の説明】
【0078】
20 不正アクセス検出装置、 40 ログ取得部、 42 判定要求受付部、 44 判定結果提供部、 46 BIスコア導出部、 48 FPスコア導出部、 50 リスク判定部、 52 判定結果記録部、 54 累積スコア記録部。