JP7027647B2 - Programs, information processing equipment and information processing methods - Google Patents

Programs, information processing equipment and information processing methods Download PDF

Info

Publication number
JP7027647B2
JP7027647B2 JP2019203534A JP2019203534A JP7027647B2 JP 7027647 B2 JP7027647 B2 JP 7027647B2 JP 2019203534 A JP2019203534 A JP 2019203534A JP 2019203534 A JP2019203534 A JP 2019203534A JP 7027647 B2 JP7027647 B2 JP 7027647B2
Authority
JP
Japan
Prior art keywords
information
login
abnormality
time
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019203534A
Other languages
Japanese (ja)
Other versions
JP2021077122A (en
Inventor
祐史 澤井
寛徳 根岸
Original Assignee
Egセキュアソリューションズ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Egセキュアソリューションズ株式会社 filed Critical Egセキュアソリューションズ株式会社
Priority to JP2019203534A priority Critical patent/JP7027647B2/en
Publication of JP2021077122A publication Critical patent/JP2021077122A/en
Application granted granted Critical
Publication of JP7027647B2 publication Critical patent/JP7027647B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、プログラム、情報処理装置及び情報処理方法に関する。 The present invention relates to a program, an information processing apparatus and an information processing method.

特許文献1には、未知の攻撃を未然に防ぎ、正当なパラメータを有するリクエストを誤って遮断することを防止する検知システムが開示されている。 Patent Document 1 discloses a detection system that prevents an unknown attack from occurring and prevents a request having a legitimate parameter from being erroneously blocked.

WO-A1-2017/150003号公報WO-A1-2017 / 15003

しかしながら、特許文献1に係る発明は、ログイン時間及びログイン時点での地域情報に基づいて異常を判定することができない恐れがある。 However, the invention according to Patent Document 1 may not be able to determine an abnormality based on the login time and the area information at the time of login.

一つの側面では、ログイン時間及びログイン時点での地域情報に基づいて異常を判定することが可能なプログラム等を提供することにある。 One aspect is to provide a program or the like capable of determining an abnormality based on the login time and the area information at the time of login.

一つの側面に係るプログラムは、ウェブアプリケーションファイアウォールプログラムにおいて、ユーザ端末からユーザが保護対象のウェブサイトへログインした第1ログイン時点での第1IPアドレスを取得し、取得した前記第1IPアドレスに基づき、プロバイダ及び国を含む第1地域情報を特定し、前記第1ログイン時点と異なる第2ログイン時点での第2IPアドレスを取得し、取得した前記第2IPアドレスに基づき、第2地域情報を特定し、前記第1ログイン時点での第1ログイン時間及び前記第1地域情報と、前記第2ログイン時点での第2ログイン時間及び前記第2地域情報とに基づき、第1異常を判定し、前記ユーザ端末から複数種類の端末情報を取得し、前記端末情報を記憶したデータベースから前記ユーザ端末に対応する複数種類の端末情報を読み出し、取得した複数種類の端末情報と読み出した複数種類の端末情報とを比較し、相互に端末情報が一致しない不一致数を計数し、計数した不一致数が所定数以上である場合、第2異常と判定し、前記ユーザの操作ログを取得し、取得した前記操作ログに基づき、第2リスクスコアを算出し、算出した第2リスクスコアが所定の基準スコア以上であると判定した場合、第3異常を判定し、第1異常、第2異常または第3異常を含む異常を判定したユーザのアクセス履歴情報及び異常判定結果を監視者端末に出力する処理をコンピュータに実行させる。 In the web application firewall program, the program according to one aspect acquires the first IP address at the time of the first login when the user logs in to the protected website from the user terminal, and the provider is based on the acquired first IP address. And the first area information including the country is specified, the second IP address at the time of the second login different from the time of the first login is acquired, and the second area information is specified based on the acquired second IP address. Based on the first login time and the first area information at the time of the first login, the second login time at the time of the second login and the second area information, the first abnormality is determined , and the user terminal determines the first abnormality. Acquire multiple types of terminal information, read out multiple types of terminal information corresponding to the user terminal from the database that stores the terminal information, and compare the acquired multiple types of terminal information with the read out multiple types of terminal information. , The number of mismatches whose terminal information does not match each other is counted, and if the counted number of mismatches is equal to or greater than a predetermined number, it is determined as a second abnormality, the operation log of the user is acquired, and based on the acquired operation log, the operation log is acquired. When the second risk score is calculated and it is determined that the calculated second risk score is equal to or higher than the predetermined reference score, the third abnormality is determined, and the first abnormality, the second abnormality, or the abnormality including the third abnormality is determined. The computer is made to execute the process of outputting the access history information and the abnormality judgment result of the user to the observer terminal .

一つの側面では、ログイン時間及びログイン時点での地域情報に基づいて異常を判定することが可能となる。 In one aspect, it is possible to determine anomalies based on login time and regional information at the time of login.

クラウド型ウェブアプリケーションファイアウォールサービスを提供するシステムの概要を示す説明図である。It is explanatory drawing which shows the outline of the system which provides the cloud type web application firewall service. サーバの構成例を示すブロック図である。It is a block diagram which shows the configuration example of a server. 端末情報DBのレコードレイアウトの一例を示す説明図である。It is explanatory drawing which shows an example of the record layout of the terminal information DB. リスクスコアDBのレコードレイアウトの一例を示す説明図である。It is explanatory drawing which shows an example of the record layout of a risk score DB. 操作ログDBのレコードレイアウトの一例を示す説明図である。It is explanatory drawing which shows an example of the record layout of the operation log DB. 異常判定結果DBのレコードレイアウトの一例を示す説明図である。It is explanatory drawing which shows an example of the record layout of the abnormality determination result DB. アクセス履歴DBのレコードレイアウトの一例を示す説明図である。It is explanatory drawing which shows an example of the record layout of the access history DB. ウェブサーバの構成例を示すブロック図である。It is a block diagram which shows the configuration example of a web server. ユーザ端末の構成例を示すブロック図である。It is a block diagram which shows the configuration example of a user terminal. 監視者端末の構成例を示すブロック図である。It is a block diagram which shows the configuration example of the observer terminal. クラウド型ウェブアプリケーションファイアウォールサービスを提供するシステムの構造図である。It is a structural diagram of a system that provides a cloud-type web application firewall service. 異常を判定する動作を説明する説明図である。It is explanatory drawing explaining the operation which determines an abnormality. 異常を判定する際の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure at the time of determining an abnormality. 異常を判定する際の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure at the time of determining an abnormality. 第1異常を判定する処理のサブルーチンの処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of the subroutine of the processing which determines the 1st abnormality. 第2異常を判定する処理のサブルーチンの処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of the subroutine of the processing which determines the 2nd abnormality. 第3異常を判定する処理のサブルーチンの処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of the subroutine of the process of determining a third abnormality. 監視者端末上で異常判定結果を表示するイメージ図である。It is an image diagram which displays the abnormality determination result on the observer terminal. 多要素認証処理を行う際の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure at the time of performing the multi-factor authentication processing. 多要素認証処理のサブルーチンの処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of the subroutine of multi-factor authentication processing. 合計リスクスコアにより異常を判定する際の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure at the time of determining an abnormality by the total risk score.

以下、本発明をその実施形態を示す図面に基づいて詳述する。 Hereinafter, the present invention will be described in detail with reference to the drawings showing the embodiments thereof.

(実施形態1)
実施形態1は、ユーザの行動分析または不正操作検出を行うことにより異常を判定する形態に関する。ユーザの行動は、例えばウェブサイトへのアクセス、またはユーザの移動によるアクセス元の地域情報の変更等を含む。不正操作は、ユーザの操作ログに基づいて検出された不審な操作であり、例えばマウス操作無しのアクセス、存在しないページへのアクセスまたはVPN(Virtual Private Network)を使用したアクセス等である。
(Embodiment 1)
The first embodiment relates to a mode in which an abnormality is determined by analyzing a user's behavior or detecting an unauthorized operation. The user's behavior includes, for example, accessing a website or changing the area information of the access source due to the movement of the user. An unauthorized operation is a suspicious operation detected based on a user's operation log, such as access without mouse operation, access to a page that does not exist, or access using a VPN (Virtual Private Network).

図1は、クラウド型ウェブアプリケーションファイアウォール(WAF:Web Application Firewall)サービスを提供するシステムの概要を示す説明図である。本実施形態のシステムは、情報処理装置1、情報処理装置2、情報処理端末3及び情報処理端末4を含み、各装置はインターネット等のネットワークNを介して情報の送受信を行う。 FIG. 1 is an explanatory diagram showing an outline of a system that provides a cloud-based web application firewall (WAF) service. The system of the present embodiment includes an information processing device 1, an information processing device 2, an information processing terminal 3, and an information processing terminal 4, and each device transmits and receives information via a network N such as the Internet.

情報処理装置1は、種々の情報に対する処理、記憶及び送受信を行う情報処理装置である。情報処理装置1は、例えばサーバ装置、パーソナルコンピュータ等である。本実施形態において、情報処理装置1はサーバ装置であるものとし、以下では簡潔のためサーバ1と読み替える。 The information processing device 1 is an information processing device that processes, stores, and transmits / receives various information. The information processing device 1 is, for example, a server device, a personal computer, or the like. In the present embodiment, the information processing device 1 is assumed to be a server device, and is referred to as a server 1 in the following for the sake of brevity.

情報処理装置2は、ウェブアプリケーション、ウェブサイトまたはウェブサービスの運用業務等を行う情報処理装置であり、例えばサーバ装置、パーソナルコンピュータ等である。情報処理装置2は、例えばEC(Electronic Commerce)サイト、通販サイトまたはゲーム等を運営するための情報処理装置であっても良い。なお、情報処理装置2に、該情報処理装置2上のウェブサイトまたはウェブアプリケーションを監視するためのWAFサービスを提供するアプリケーションがインストールされる。本実施形態において、情報処理装置2はサーバ装置であるものとし、以下では簡潔のためウェブサーバ2と読み替える。 The information processing device 2 is an information processing device that operates a web application, a website, or a web service, and is, for example, a server device, a personal computer, or the like. The information processing device 2 may be, for example, an information processing device for operating an EC (Electronic Commerce) site, a mail-order site, a game, or the like. An application that provides a WAF service for monitoring a website or a web application on the information processing device 2 is installed in the information processing device 2. In the present embodiment, the information processing device 2 is assumed to be a server device, and is hereinafter read as a web server 2 for the sake of brevity.

情報処理端末3は、ウェブサーバ2へのアクセス、及びウェブサーバ2から送信されたウェブコンテンツの表示等を行う端末装置である。情報処理端末3は、例えばスマートフォン、携帯電話、アップルウォッチ(Apple Watch:登録商標)等のウェアラブルデバイス、タブレット、パーソナルコンピュータ端末等の情報処理機器である。以下では簡潔のため、情報処理端末3をユーザ端末3と読み替える。 The information processing terminal 3 is a terminal device that accesses the web server 2 and displays web contents transmitted from the web server 2. The information processing terminal 3 is an information processing device such as a smartphone, a mobile phone, a wearable device such as an Apple Watch (registered trademark), a tablet, or a personal computer terminal. In the following, for the sake of brevity, the information processing terminal 3 will be read as the user terminal 3.

情報処理端末4は、ユーザの不正操作または外部の攻撃等の各種の異常の受信及び表示等を行う端末装置である。情報処理端末4は、例えばスマートフォン、携帯電話、アップルウォッチ等のウェアラブルデバイス、タブレット、パーソナルコンピュータ端末等の情報処理機器である。以下では簡潔のため、情報処理端末4を監視者端末4と読み替える。 The information processing terminal 4 is a terminal device that receives and displays various abnormalities such as an unauthorized operation by a user or an external attack. The information processing terminal 4 is an information processing device such as a wearable device such as a smartphone, a mobile phone, or an Apple watch, a tablet, or a personal computer terminal. In the following, for the sake of brevity, the information processing terminal 4 will be read as the monitor terminal 4.

本実施形態に係るサーバ1は、ユーザがウェブサーバ2上で運営されている保護対象のウェブサイトへアクセスした場合、ユーザのユーザ端末3の端末情報及びログインの有無情報を含むアクセス情報を取得して記憶する。サーバ1は、ログインの有無情報に基づき、ログインありでのアクセスであると判定した場合、端末情報及びユーザの操作ログに基づいて各種の異常を判定する。サーバ1は、異常を判定したユーザのアクセス履歴情報及び異常判定結果を監視者端末4に送信する。 When the user accesses the protected website operated on the web server 2, the server 1 according to the present embodiment acquires the access information including the terminal information of the user terminal 3 and the login presence / absence information of the user. And remember. When the server 1 determines that the access is with login based on the presence / absence information of login, the server 1 determines various abnormalities based on the terminal information and the operation log of the user. The server 1 transmits the access history information of the user who has determined the abnormality and the abnormality determination result to the monitor terminal 4.

図2は、サーバ1の構成例を示すブロック図である。サーバ1は、制御部11、記憶部12、通信部13、入力部14、表示部15、読取部16及び大容量記憶部17を含む。各構成はバスBで接続されている。 FIG. 2 is a block diagram showing a configuration example of the server 1. The server 1 includes a control unit 11, a storage unit 12, a communication unit 13, an input unit 14, a display unit 15, a reading unit 16, and a large-capacity storage unit 17. Each configuration is connected by bus B.

制御部11はCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を含み、記憶部12に記憶された制御プログラム1Pを読み出して実行することにより、サーバ1に係る種々の情報処理、制御処理等を行う。なお、図2では制御部11を単一のプロセッサであるものとして説明するが、マルチプロセッサであっても良い。 The control unit 11 includes an arithmetic processing unit such as a CPU (Central Processing Unit), an MPU (Micro-Processing Unit), and a GPU (Graphics Processing Unit), and reads and executes the control program 1P stored in the storage unit 12. , Performs various information processing, control processing, etc. related to the server 1. Although the control unit 11 is described as a single processor in FIG. 2, it may be a multiprocessor.

記憶部12はRAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ素子を含み、制御部11が処理を実行するために必要な制御プログラム1P又はデータ等を記憶している。また、記憶部12は、制御部11が演算処理を実行するために必要なデータ等を一時的に記憶する。通信部13は通信に関する処理を行うための通信モジュールであり、ネットワークNを介して、ウェブサーバ2、ユーザ端末3及び監視者端末4等との間で情報の送受信を行う。 The storage unit 12 includes memory elements such as a RAM (Random Access Memory) and a ROM (Read Only Memory), and stores the control program 1P or data required for the control unit 11 to execute processing. Further, the storage unit 12 temporarily stores data and the like necessary for the control unit 11 to execute arithmetic processing. The communication unit 13 is a communication module for performing processing related to communication, and transmits / receives information to / from the web server 2, the user terminal 3, the monitor terminal 4, and the like via the network N.

入力部14は、マウス、キーボード、タッチパネル、ボタン等の入力デバイスであり、受け付けた操作情報を制御部11へ出力する。表示部15は、液晶ディスプレイ又は有機EL(electroluminescence)ディスプレイ等であり、制御部11の指示に従い各種情報を表示する。 The input unit 14 is an input device such as a mouse, a keyboard, a touch panel, and a button, and outputs the received operation information to the control unit 11. The display unit 15 is a liquid crystal display, an organic EL (electroluminescence) display, or the like, and displays various information according to the instructions of the control unit 11.

読取部16は、CD(Compact Disc)-ROM又はDVD(Digital Versatile Disc)-ROMを含む可搬型記憶媒体1aを読み取る。制御部11が読取部16を介して、制御プログラム1Pを可搬型記憶媒体1aより読み取り、大容量記憶部17に記憶しても良い。また、ネットワークN等を介して他のコンピュータから制御部11が制御プログラム1Pをダウンロードし、大容量記憶部17に記憶しても良い。さらにまた、半導体メモリ1bから、制御部11が制御プログラム1Pを読み込んでも良い。 The reading unit 16 reads a portable storage medium 1a including a CD (Compact Disc) -ROM or a DVD (Digital Versatile Disc) -ROM. The control unit 11 may read the control program 1P from the portable storage medium 1a via the reading unit 16 and store it in the large-capacity storage unit 17. Further, the control unit 11 may download the control program 1P from another computer via the network N or the like and store it in the large-capacity storage unit 17. Furthermore, the control unit 11 may read the control program 1P from the semiconductor memory 1b.

大容量記憶部17は、例えばHDD(Hard disk drive:ハードディスク)、SSD(Solid State Drive:ソリッドステートドライブ)等の記録媒体を備える。大容量記憶部17は、端末情報DB171、リスクスコアDB172、操作ログDB173、異常判定結果DB174及びアクセス履歴DB175を含む。 The large-capacity storage unit 17 includes a recording medium such as an HDD (Hard disk drive) or SSD (Solid State Drive). The large-capacity storage unit 17 includes a terminal information DB 171, a risk score DB 172, an operation log DB 173, an abnormality determination result DB 174, and an access history DB 175.

端末情報DB171は、ユーザの端末情報を記憶している。リスクスコアDB172は、各種の異常を判定(検出)するための各評価項目に対するリスクスコアの評価ルール等を記憶している。操作ログDB173は、ユーザの操作ログを記憶している。異常判定結果DB174は、各種の異常を判定した判定結果を記憶している。アクセス履歴DB175は、ユーザが保護対象のウェブサイトへアクセスした時間等の履歴情報を記憶している。 The terminal information DB 171 stores the terminal information of the user. The risk score DB 172 stores risk score evaluation rules and the like for each evaluation item for determining (detecting) various abnormalities. The operation log DB 173 stores the user's operation log. The abnormality determination result DB 174 stores the determination results for determining various abnormalities. The access history DB 175 stores historical information such as the time when the user accesses the protected website.

なお、本実施形態において記憶部12及び大容量記憶部17は一体の記憶装置として構成されていても良い。また、大容量記憶部17は複数の記憶装置により構成されていても良い。更にまた、大容量記憶部17はサーバ1に接続された外部記憶装置であっても良い。 In this embodiment, the storage unit 12 and the large-capacity storage unit 17 may be configured as an integrated storage device. Further, the large-capacity storage unit 17 may be composed of a plurality of storage devices. Furthermore, the large-capacity storage unit 17 may be an external storage device connected to the server 1.

なお、本実施形態では、サーバ1は一台の情報処理装置であるものとして説明するが、複数台により分散して処理させても良く、または仮想マシンにより構成されていても良い。 In the present embodiment, the server 1 is described as one information processing device, but it may be distributed and processed by a plurality of servers, or it may be configured by a virtual machine.

図3は、端末情報DB171のレコードレイアウトの一例を示す説明図である。端末情報DB171は、トークン列、端末ID列、アクセス先ホスト列、アクセス元列、Torネットワーク利用可否列、VPN利用可否列、プロキシ利用可否列、パブリッククラウド利用可否列、OS(Operating System)列及びブラウザ列を含む。 FIG. 3 is an explanatory diagram showing an example of the record layout of the terminal information DB 171. The terminal information DB 171 includes a token column, a terminal ID column, an access destination host column, an access source column, a Tor network availability column, a VPN availability column, a proxy availability column, a public cloud availability column, an OS (Operating System) column, and an OS (Operating System) column. Includes browser column.

トークン列は、ユーザの端末に対応付けて発行したトークンを記憶している。トークンは、ウェブサービスを利用する際に、サーバがユーザの端末を識別するために発行する情報である。トークンは、例えばユニークなランダムの英数字を所定の長さ(16桁、32桁、64桁等)で発行したトークンID、生成日時及び有効期間等を含む情報であっても良い。 The token string stores the token issued in association with the user's terminal. A token is information issued by a server to identify a user's terminal when using a web service. The token may be, for example, information including a token ID, a generation date and time, a validity period, etc., in which a unique random alphanumerical character is issued with a predetermined length (16 digits, 32 digits, 64 digits, etc.).

端末ID列は、ユーザの端末を識別するための固有のID、または端末情報(例えば、OS情報またはブラウザ情報等)に基づいて生成された端末IDを記憶している。アクセス先ホスト列は、アクセス先のホスト情報(IPアドレス、ホスト名等)を記憶している。アクセス元列は、グローバルIPアドレス列、プライベートIPアドレス列、国列、ISP列、シティ列、緯度列及び経度列を含む。 The terminal ID column stores a unique ID for identifying a user's terminal, or a terminal ID generated based on terminal information (for example, OS information or browser information). The access destination host column stores the host information (IP address, host name, etc.) of the access destination. The access source column includes a global IP address column, a private IP address column, a country column, an ISP column, a city column, a latitude column, and a longitude column.

グローバルIPアドレス列は、グローバルIPアドレス(IzyInternet Protocol Address)を記憶している。グローバルIPアドレスは、インターネットに接続するコンピュータまたは通信機器等の機器に割り当てられるIPアドレスである。インターネットに接続する機器がインターネット上で通信を行う場合は、重複しないグローバルIPアドレスが必要になる。 The global IP address string stores the global IP address (IzyInternet Protocol Address). The global IP address is an IP address assigned to a device such as a computer or a communication device connected to the Internet. When a device connected to the Internet communicates on the Internet, a unique global IP address is required.

プライベートIPアドレス列は、プライベートIPアドレスを記憶している。プライベートIPアドレス(ローカルIPアドレス)は、組織内のネットワーク(プライベートネットワーク)でのみ使用できるIPアドレスである。プライベートIPアドレスは、個々のプライベートネットワーク内のみで使うことができるIPアドレスであるが、同じネットワーク内で重複して使うことができない。 The private IP address string stores the private IP address. A private IP address (local IP address) is an IP address that can be used only in a network within an organization (private network). A private IP address is an IP address that can be used only within an individual private network, but cannot be used more than once within the same network.

国列は、アクセス元の国の情報を記憶している。ISP(Internet Services Provider)列は、公衆通信回線等を経由して契約者にインターネットへの接続を提供するプロバイダ(事業者)を記憶している。シティ列は、シティの情報を記憶している。緯度列及び経度列は、アクセス元の位置情報を記憶している。具体的には、緯度列は、アクセス元の緯度を記憶している。経度列は、アクセス元の経度を記憶している。 The country column stores information on the country of access. The ISP (Internet Services Provider) column stores a provider (provider) that provides a contractor with a connection to the Internet via a public communication line or the like. The city column stores information about the city. The latitude column and the longitude column store the location information of the access source. Specifically, the latitude column stores the latitude of the access source. The longitude column stores the longitude of the access source.

Torネットワーク利用可否列は、Tor(The Onion Router)ネットワークの利用可否情報を記憶している。VPN利用可否列は、VPNの利用可否情報を記憶している。プロキシ利用可否列は、プロキシの利用可否情報を記憶している。パブリッククラウド利用可否列は、業界・業種を問わず企業もしくは個人に向けてクラウドコンピューティング環境を提供しているオープンな形態であるパブリッククラウドの利用可否情報を記憶している。OS列は、オペレーティングシステムに関する情報(バージョン、セキュリティパッチ等)を記憶している。ブラウザ列は、ブラウザに関する情報(バージョン、プラグイン等)を記憶している。 The Tor network availability column stores information on the availability of the Tor (The Onion Router) network. The VPN availability column stores VPN availability information. The proxy availability column stores proxy availability information. The public cloud availability column stores information on the availability of public clouds, which is an open form that provides a cloud computing environment for companies or individuals regardless of industry or industry. The OS column stores information about the operating system (version, security patch, etc.). The browser column stores information about the browser (version, plugin, etc.).

図4は、リスクスコアDB172のレコードレイアウトの一例を示す説明図である。リスクスコアDB172は、項目ID列、項目名称列、リスクスコア評価ルール列及び基準スコア列を含む。項目ID列は、各評価項目を識別するために、一意に特定される評価項目のIDを記憶している。項目名称列は、評価項目の名称を記憶している。リスクスコア評価ルール列は、評価項目に対するリスクスコア(得点)の付与ルール(規則)を記憶している。基準スコア列は、異常を判定するための基準となるリスクスコアを記憶している。 FIG. 4 is an explanatory diagram showing an example of the record layout of the risk score DB172. The risk score DB 172 includes an item ID column, an item name column, a risk score evaluation rule column, and a reference score column. The item ID column stores the ID of the evaluation item uniquely specified in order to identify each evaluation item. The item name column stores the name of the evaluation item. The risk score evaluation rule column stores the rules for assigning risk scores (scores) to the evaluation items. The reference score sequence stores the risk score as a reference for determining an abnormality.

図5は、操作ログDB173のレコードレイアウトの一例を示す説明図である。操作ログDB173は、番号列、ユーザID列、端末ID列、アクセス先IPアドレス列、アクセス元IPアドレス列、操作列及び日時列を含む。番号列は、各操作ログを識別するために、一意に特定される操作ログのIDを記憶している。ユーザID列は、ユーザを特定するユーザIDを記憶している。 FIG. 5 is an explanatory diagram showing an example of the record layout of the operation log DB 173. The operation log DB 173 includes a number string, a user ID column, a terminal ID column, an access destination IP address string, an access source IP address string, an operation column, and a date and time column. The number string stores the ID of the operation log uniquely identified in order to identify each operation log. The user ID column stores a user ID that identifies the user.

端末ID列は、ユーザの端末を識別するための固有のIDを記憶している。アクセス先IPアドレス列は、アクセス先のIPアドレスを記憶している。アクセス元IPアドレス列は、アクセス元のIPアドレスを記憶している。操作列は、操作の名称を記憶している。操作列には、例えば「マウスクリック」、「ページアクセス」、「プロキシ利用あり」または「Java(登録商標)scriptブラウザON」等のユーザ操作の名称が記憶されても良い。日時列は、操作を行った日時情報を記憶している。 The terminal ID column stores a unique ID for identifying the user's terminal. The access destination IP address string stores the access destination IP address. The access source IP address string stores the access source IP address. The operation sequence stores the name of the operation. In the operation column, the name of the user operation such as "mouse click", "page access", "proxy use" or "Java (registered trademark) script browser ON" may be stored. The date and time column stores the date and time information of the operation.

図6は、異常判定結果DB174のレコードレイアウトの一例を示す説明図である。異常判定結果DB174は、ユーザID列、端末ID列、異常項目列、異常メッセージ列、リスクスコア列及び判定日時列を含む。ユーザID列は、ユーザを特定するユーザIDを記憶している。端末ID列は、ユーザの端末を識別するための固有のIDを記憶している。 FIG. 6 is an explanatory diagram showing an example of the record layout of the abnormality determination result DB 174. The abnormality determination result DB 174 includes a user ID column, a terminal ID column, an abnormality item column, an abnormality message column, a risk score column, and a determination date / time column. The user ID column stores a user ID that identifies the user. The terminal ID column stores a unique ID for identifying the user's terminal.

異常項目列は、異常項目の名称を記憶している。異常メッセージ列は、異常の内容を示す異常メッセージを記憶している。リスクスコア列は、異常項目に対応するリスクスコアを記憶している。判定日時列は、異常を判定した日時情報を記憶している。 The abnormal item column stores the name of the abnormal item. The abnormal message string stores an abnormal message indicating the content of the abnormality. The risk score column stores the risk score corresponding to the abnormal item. The determination date / time column stores the date / time information in which the abnormality is determined.

図7は、アクセス履歴DB175のレコードレイアウトの一例を示す説明図である。アクセス履歴DB175は、トークン列、端末ID列、アクセス先ホスト列、アクセス時間帯列、ログインなしアクセス日時列、ログインありアクセス日時列及びログインユーザID列を含む。 FIG. 7 is an explanatory diagram showing an example of the record layout of the access history DB 175. The access history DB 175 includes a token column, a terminal ID column, an access destination host column, an access time zone column, an access date / time column without login, an access date / time column with login, and a login user ID column.

トークン列は、ユーザの端末に対応付けて発行したトークンを記憶している。端末ID列は、ユーザの端末を識別するための固有のIDを記憶している。アクセス先ホスト列は、アクセス先のホスト情報を記憶している。アクセス時間帯列は、平日列及び休日列を含む。平日列は、ユーザがウェブサイトへアクセスした日が平日である場合、アクセスした時点での時間帯を記憶している。 The token string stores the token issued in association with the user's terminal. The terminal ID column stores a unique ID for identifying the user's terminal. The access destination host column stores the host information of the access destination. The access time zone column includes a weekday column and a holiday column. The weekday column stores the time zone at the time of access when the user accesses the website on a weekday.

休日列は、ユーザがウェブサイトへアクセスした日が休日である場合、アクセスした時点での時間帯を記憶している。ログインなしアクセス日時列は、ログインなしでのアクセス日時を記憶している。ログインありアクセス日時列は、ログインありでのアクセス日時を記憶している。ログインユーザID列は、ログインしたユーザIDを記憶している。 The holiday column stores the time zone at the time of access when the day when the user accesses the website is a holiday. The access date / time column without login stores the access date / time without login. The access date / time column with login stores the access date / time with login. The login user ID column stores the logged-in user ID.

なお、上述した各DBの記憶形態は一例であり、データ間の関係が維持されていれば、他の記憶形態であっても良い。 The storage form of each DB described above is an example, and other storage forms may be used as long as the relationship between the data is maintained.

図8は、ウェブサーバ2の構成例を示すブロック図である。ウェブサーバ2は、制御部21、記憶部22、通信部23、入力部24、表示部25、読取部26及び大容量記憶部27を含む。各構成はバスBで接続されている。 FIG. 8 is a block diagram showing a configuration example of the web server 2. The web server 2 includes a control unit 21, a storage unit 22, a communication unit 23, an input unit 24, a display unit 25, a reading unit 26, and a large-capacity storage unit 27. Each configuration is connected by bus B.

制御部21はCPU、MPU、GPU等の演算処理装置を含み、記憶部22に記憶された制御プログラム2Pを読み出して実行することにより、ウェブサーバ2に係る種々の情報処理、制御処理等を行う。なお、図8では制御部21を単一のプロセッサであるものとして説明するが、マルチプロセッサであっても良い。 The control unit 21 includes arithmetic processing units such as a CPU, MPU, and GPU, and performs various information processing, control processing, and the like related to the web server 2 by reading and executing the control program 2P stored in the storage unit 22. .. Although the control unit 21 is described as a single processor in FIG. 8, it may be a multiprocessor.

記憶部22はRAM、ROM等のメモリ素子を含み、制御部21が処理を実行するために必要な制御プログラム2P又はデータ等を記憶している。また、記憶部22は、制御部21が演算処理を実行するために必要なデータ等を一時的に記憶する。通信部23は通信に関する処理を行うための通信モジュールであり、ネットワークNを介して、サーバ1及びユーザ端末3等との間で情報の送受信を行う。 The storage unit 22 includes memory elements such as RAM and ROM, and stores the control program 2P or data required for the control unit 21 to execute the process. Further, the storage unit 22 temporarily stores data and the like necessary for the control unit 21 to execute the arithmetic processing. The communication unit 23 is a communication module for performing processing related to communication, and transmits / receives information to / from the server 1 and the user terminal 3 via the network N.

入力部24は、マウス、キーボード、タッチパネル、ボタン等の入力デバイスであり、受け付けた操作情報を制御部21へ出力する。表示部25は、液晶ディスプレイ又は有機ELディスプレイ等であり、制御部21の指示に従い各種情報を表示する。 The input unit 24 is an input device such as a mouse, a keyboard, a touch panel, and a button, and outputs the received operation information to the control unit 21. The display unit 25 is a liquid crystal display, an organic EL display, or the like, and displays various information according to the instructions of the control unit 21.

読取部26は、CD-ROM又はDVD-ROMを含む可搬型記憶媒体2aを読み取る。制御部21が読取部26を介して、制御プログラム2Pを可搬型記憶媒体2aより読み取り、大容量記憶部27に記憶しても良い。また、ネットワークN等を介して他のコンピュータから制御部21が制御プログラム2Pをダウンロードし、大容量記憶部27に記憶しても良い。さらにまた、半導体メモリ2bから、制御部21が制御プログラム2Pを読み込んでも良い。 The reading unit 26 reads a portable storage medium 2a including a CD-ROM or a DVD-ROM. The control unit 21 may read the control program 2P from the portable storage medium 2a via the reading unit 26 and store it in the large-capacity storage unit 27. Further, the control unit 21 may download the control program 2P from another computer via the network N or the like and store it in the large-capacity storage unit 27. Furthermore, the control unit 21 may read the control program 2P from the semiconductor memory 2b.

大容量記憶部27は、例えばHDD、SSD等の記録媒体を備える。なお、本実施形態において記憶部22及び大容量記憶部27は一体の記憶装置として構成されていても良い。また、大容量記憶部27は複数の記憶装置により構成されていても良い。更にまた、大容量記憶部27はウェブサーバ2に接続された外部記憶装置であっても良い。 The large-capacity storage unit 27 includes a recording medium such as an HDD or SSD. In this embodiment, the storage unit 22 and the large-capacity storage unit 27 may be configured as an integrated storage device. Further, the large-capacity storage unit 27 may be composed of a plurality of storage devices. Furthermore, the large-capacity storage unit 27 may be an external storage device connected to the web server 2.

なお、本実施形態では、ウェブサーバ2は一台の情報処理装置であるものとして説明するが、複数台により分散して処理させても良く、または仮想マシンにより構成されていても良い。 In the present embodiment, the web server 2 is described as one information processing device, but it may be distributed and processed by a plurality of devices, or it may be configured by a virtual machine.

図9は、ユーザ端末3の構成例を示すブロック図である。ユーザ端末3は、制御部31、記憶部32、通信部33、入力部34及び表示部35を含む。各構成はバスBで接続されている。 FIG. 9 is a block diagram showing a configuration example of the user terminal 3. The user terminal 3 includes a control unit 31, a storage unit 32, a communication unit 33, an input unit 34, and a display unit 35. Each configuration is connected by bus B.

制御部31はCPU、MPU等の演算処理装置を含み、記憶部32に記憶された制御プログラム3Pを読み出して実行することにより、ユーザ端末3に係る種々の情報処理、制御処理等を行う。なお、図9では制御部31を単一のプロセッサであるものとして説明するが、マルチプロセッサであっても良い。記憶部32はRAM、ROM等のメモリ素子を含み、制御部31が処理を実行するために必要な制御プログラム3P又はデータ等を記憶している。また、記憶部32は、制御部31が演算処理を実行するために必要なデータ等を一時的に記憶する。 The control unit 31 includes an arithmetic processing unit such as a CPU and an MPU, and performs various information processing, control processing, and the like related to the user terminal 3 by reading and executing the control program 3P stored in the storage unit 32. Although the control unit 31 is described as a single processor in FIG. 9, it may be a multiprocessor. The storage unit 32 includes memory elements such as RAM and ROM, and stores the control program 3P or data required for the control unit 31 to execute the process. Further, the storage unit 32 temporarily stores data and the like necessary for the control unit 31 to execute the arithmetic processing.

通信部33は通信に関する処理を行うための通信モジュールであり、ネットワークNを介して、サーバ1、ウェブサーバ2等と情報の送受信を行う。入力部34は、キーボード、マウスまたは表示部35と一体化したタッチパネルでも良い。表示部35は、液晶ディスプレイ又は有機ELディスプレイ等であり、制御部31の指示に従い各種情報を表示する。 The communication unit 33 is a communication module for performing processing related to communication, and transmits / receives information to / from the server 1, the web server 2, etc. via the network N. The input unit 34 may be a keyboard, a mouse, or a touch panel integrated with the display unit 35. The display unit 35 is a liquid crystal display, an organic EL display, or the like, and displays various information according to the instructions of the control unit 31.

図10は、監視者端末4の構成例を示すブロック図である。監視者端末4は、制御部41、記憶部42、通信部43、入力部44及び表示部45を含む。各構成はバスBで接続されている。 FIG. 10 is a block diagram showing a configuration example of the observer terminal 4. The observer terminal 4 includes a control unit 41, a storage unit 42, a communication unit 43, an input unit 44, and a display unit 45. Each configuration is connected by bus B.

制御部41はCPU、MPU等の演算処理装置を含み、記憶部42に記憶された制御プログラム4Pを読み出して実行することにより、監視者端末4に係る種々の情報処理、制御処理等を行う。なお、図10では制御部41を単一のプロセッサであるものとして説明するが、マルチプロセッサであっても良い。記憶部42はRAM、ROM等のメモリ素子を含み、制御部41が処理を実行するために必要な制御プログラム4P又はデータ等を記憶している。また、記憶部42は、制御部41が演算処理を実行するために必要なデータ等を一時的に記憶する。 The control unit 41 includes an arithmetic processing unit such as a CPU and an MPU, and performs various information processing, control processing, and the like related to the monitor terminal 4 by reading and executing the control program 4P stored in the storage unit 42. Although the control unit 41 is described as a single processor in FIG. 10, it may be a multiprocessor. The storage unit 42 includes memory elements such as RAM and ROM, and stores the control program 4P or data required for the control unit 41 to execute the process. In addition, the storage unit 42 temporarily stores data and the like necessary for the control unit 41 to execute arithmetic processing.

通信部43は通信に関する処理を行うための通信モジュールであり、ネットワークNを介して、サーバ1等と情報の送受信を行う。入力部44は、キーボード、マウスまたは表示部45と一体化したタッチパネルでも良い。表示部45は、液晶ディスプレイ又は有機ELディスプレイ等であり、制御部41の指示に従い各種情報を表示する。 The communication unit 43 is a communication module for performing processing related to communication, and transmits / receives information to / from the server 1 or the like via the network N. The input unit 44 may be a keyboard, a mouse, or a touch panel integrated with the display unit 45. The display unit 45 is a liquid crystal display, an organic EL display, or the like, and displays various information according to the instructions of the control unit 41.

図11は、クラウド型ウェブアプリケーションファイアウォールサービスを提供するシステムの構造図である。クラウド型WAFサービスを提供するシステムは、ユーザ層(プレーヤー)、WAF層、IPS(Intrusion Prevention System)/IDS(Intrusion Detection System)層及びFW(Firewall)層を含む。ユーザ層は、ユーザの行動分析または不正操作検出を行うことにより各種の異常を判定するユーザセキュリティ層である。WAF層は、ウェブアプリケーションへの攻撃を防御する層である。WAF層は、ウェブアプリケーションの脆弱性を突いた攻撃のパターンを検出し、その通信を遮断する。 FIG. 11 is a structural diagram of a system that provides a cloud-based web application firewall service. A system that provides a cloud-type WAF service includes a user layer (player), a WAF layer, an IPS (Intrusion Prevention System) / IDS (Intrusion Detection System) layer, and a FW (Firewall) layer. The user layer is a user security layer that determines various abnormalities by analyzing user behavior or detecting unauthorized operations. The WAF layer is a layer that protects against attacks on web applications. The WAF layer detects the attack pattern that exploits the vulnerability of the web application and blocks the communication.

IPS/IDS層は、ネットワークへの攻撃を防御する層である。IPSは、不正アクセスまたは攻撃等の異常を検出した場合に、自動で通信を遮断するシステムである。IDSは、不正アクセスまたは攻撃等の異常な通信があった場合に、侵入を検知して管理者に通知するシステムである。FW層は、企業または組織等の内部ネットワークに外部のネットワークからの攻撃または不正侵入を防御する層である。 The IPS / IDS layer is a layer that protects against attacks on the network. IPS is a system that automatically shuts off communication when an abnormality such as unauthorized access or attack is detected. IDS is a system that detects intrusion and notifies the administrator when there is an abnormal communication such as unauthorized access or attack. The FW layer is a layer that protects an internal network such as a company or an organization from an attack or unauthorized intrusion from an external network.

該システムは、第1異常、第2異常及び第3異常を含む異常を判定することができる。第1異常は、ログイン時間及びログイン時点での地域情報に基づいて検出する異常である。第2異常は、同一ユーザIDで過去ログイン時の端末と異なる端末が利用された場合に検出する異常である。第3異常は、ユーザの操作ログに基づいて不正操作を検出する異常である。図示のように、第1異常及び第2異常がユーザ層から検出され、第3異常が各層から検出される。 The system can determine anomalies including first anomalies, second anomalies and third anomalies. The first abnormality is an abnormality detected based on the login time and the area information at the time of login. The second abnormality is an abnormality detected when a terminal different from the terminal at the time of login in the past is used with the same user ID. The third abnormality is an abnormality that detects an unauthorized operation based on the operation log of the user. As shown in the figure, the first abnormality and the second abnormality are detected from the user layer, and the third abnormality is detected from each layer.

図12は、異常を判定する動作を説明する説明図である。ユーザがウェブサーバ2上で運営されている保護対象のウェブサイトへアクセスした場合、ユーザ端末3の制御部31は、通信部33を介して、該ウェブサイトへのアクセスリクエストをサーバ1に送信する。サーバ1の制御部11は、通信部13を介して、ユーザ端末3から送信されたアクセスリクエストを受信し、受信したアクセスリクエストからアクセス情報を抽出する。 FIG. 12 is an explanatory diagram illustrating an operation of determining an abnormality. When the user accesses the protected website operated on the web server 2, the control unit 31 of the user terminal 3 transmits an access request to the website to the server 1 via the communication unit 33. .. The control unit 11 of the server 1 receives the access request transmitted from the user terminal 3 via the communication unit 13, and extracts the access information from the received access request.

アクセス情報は、アクセス元の複数種類の端末情報及びログインの有無情報を含む。複数種類の端末情報は、端末ID、アクセス先ホスト、アクセス元のIPアドレス、位置情報(緯度及び経度)、Torネットワークの利用可否情報、VPNの利用可否情報、プロキシの利用可否情報、パブリッククラウドの利用可否情報、OS情報またはブラウザ情報を含む。 The access information includes a plurality of types of terminal information of the access source and login presence / absence information. Multiple types of terminal information include terminal ID, access destination host, access source IP address, location information (latitude and longitude), Tor network availability information, VPN availability information, proxy availability information, and public cloud. Includes availability information, OS information or browser information.

制御部11は、抽出したアクセス情報に含まれた端末情報を取得する。制御部11は、取得した複数種類の端末情報から端末IDを取得する。なお、本実施形態では、端末IDを端末情報から取得した例を説明したが、これに限るものではない。例えば、制御部11は、取得した複数種類の端末情報中の任意の端末情報(例えば、OS情報またはブラウザ情報等)に基づき、端末IDを生成しても良い。制御部11は、取得した端末IDに対応付けて該端末の識別に使用するトークン(Token)を発行する。制御部11は、取得した端末情報からアクセス元のIPアドレスを取得する。制御部11は、取得したIPアドレスに基づいて、IPアドレスによる地域情報抽出用のAPI(Application Programming Interface)を用いて、アクセス元のプロバイダ、国及び地域(例えば、シティ等)を含むアクセス元の地域情報を特定する。 The control unit 11 acquires the terminal information included in the extracted access information. The control unit 11 acquires a terminal ID from the acquired plurality of types of terminal information. In this embodiment, an example in which the terminal ID is acquired from the terminal information has been described, but the present invention is not limited to this. For example, the control unit 11 may generate a terminal ID based on arbitrary terminal information (for example, OS information, browser information, etc.) in the acquired plurality of types of terminal information. The control unit 11 issues a token (Token) used for identifying the terminal in association with the acquired terminal ID. The control unit 11 acquires the IP address of the access source from the acquired terminal information. Based on the acquired IP address, the control unit 11 uses an API (Application Programming Interface) for extracting regional information by the IP address of the access source including the access source provider, country and region (for example, city). Identify regional information.

制御部11は、発行したトークンに対応付けて、受信した端末情報と、特定した地域情報とを大容量記憶部17の端末情報DB171及びアクセス履歴DB175に記憶する。具体的には、制御部11は、トークンに対応付けて、端末ID、アクセス先ホスト、アクセス元のIPアドレス、国、プロバイダ、シティ、緯度、経度、Torネットワークの利用可否情報、VPNの利用可否情報、プロキシの利用可否情報、パブリッククラウドの利用可否情報、OS情報及びブラウザ情報を一つのレコードとして端末情報DB171に記憶する。制御部11は、トークン、端末ID、アクセス先ホスト、アクセス時間帯、ログインなしでのアクセス日時、ログインありでのアクセス日時、及びログイン時に使用されたユーザIDを一つのレコードとしてアクセス履歴DB175に記憶する。 The control unit 11 stores the received terminal information and the specified area information in the terminal information DB 171 and the access history DB 175 of the large-capacity storage unit 17 in association with the issued token. Specifically, the control unit 11 associates with the token, the terminal ID, the access destination host, the IP address of the access source, the country, the provider, the city, the latitude, the longitude, the availability information of the Tor network, and the availability of the VPN. Information, proxy availability information, public cloud availability information, OS information, and browser information are stored in the terminal information DB 171 as one record. The control unit 11 stores the token, the terminal ID, the access destination host, the access time zone, the access date and time without login, the access date and time with login, and the user ID used at login as one record in the access history DB 175. do.

制御部11は、アクセス情報からログインの有無情報を取得し、取得したログインの有無情報に基づき、ユーザがログインしているか否かを判定する。制御部11は、ユーザがログインしていると判定した場合、第1異常、第2異常及び第3異常を判定する。 The control unit 11 acquires login presence / absence information from the access information, and determines whether or not the user is logged in based on the acquired login presence / absence information. When the control unit 11 determines that the user is logged in, the control unit 11 determines the first abnormality, the second abnormality, and the third abnormality.

具体的には、制御部11は、第1異常、第2異常及び第3異常を判定するための各評価項目に対応付けられた評価ルール及び基準スコアを大容量記憶部17のリスクスコアDB172から取得する。評価項目は、グローバルIPアドレス、プライベートIPアドレス、国、ISP、シティ、VPN、プロキシ、OS、ブラウザ、レスポンスコード、メソッド、Torネットワーク、パブリッククラウドID、Torネットワーク、Javascript、マウス操作、存在しないURLへのアクセス、ブラウザプラグインまたはログイン時間帯等を含む。 Specifically, the control unit 11 obtains evaluation rules and reference scores associated with each evaluation item for determining the first abnormality, the second abnormality, and the third abnormality from the risk score DB 172 of the large-capacity storage unit 17. get. Evaluation items include global IP address, private IP address, country, ISP, city, VPN, proxy, OS, browser, response code, method, Tor network, public cloud ID, Tor network, Javascript, mouse operation, and non-existent URL. Includes access, browser plug-in or login time zone, etc.

先ず、第1異常を判定する処理を説明する。制御部11は端末IDに基づき、大容量記憶部17のアクセス履歴DB175から前回ログイン時点でのトークン及びログイン時間を取得する。制御部11は、取得したトークンに基づいて、前回ログイン時点での地域情報(以下、「前回地域情報」と読み替える)を大容量記憶部17の端末情報DB171から取得する。制御部11は、取得した前回ログイン時間及び前回地域情報と、今回ログイン時間及び今回地域情報とに基づき、第1異常であるか否かを判定する。第1異常に対する評価項目は、ログイン時間帯、国、プロバイダまたはシティ等を含む。 First, the process of determining the first abnormality will be described. The control unit 11 acquires the token and the login time at the time of the previous login from the access history DB 175 of the large-capacity storage unit 17 based on the terminal ID. Based on the acquired token, the control unit 11 acquires the area information at the time of the previous login (hereinafter, read as "previous area information") from the terminal information DB 171 of the large-capacity storage unit 17. The control unit 11 determines whether or not it is the first abnormality based on the acquired previous login time and previous area information, and the current login time and current area information. The evaluation items for the first anomaly include the login time zone, country, provider, city, and the like.

例えば、制御部11はログイン時間に基づいて第1異常を判定する場合、「ログイン時間帯」評価項目の評価ルールに応じて、今回ログイン時間の時間帯及び前回ログイン時間の時間帯に基づき、「ログイン時間帯」評価項目のリスクスコアを算出する。制御部11は、算出したリスクスコアが基準スコア以上である場合、第1異常として判定する。 For example, when the control unit 11 determines the first abnormality based on the login time, the control unit 11 "logs in" based on the time zone of the current login time and the time zone of the previous login time according to the evaluation rule of the "login time zone" evaluation item. Calculate the risk score for the "Login time zone" evaluation item. When the calculated risk score is equal to or higher than the reference score, the control unit 11 determines that the risk score is the first abnormality.

例えば、制御部11は地域情報に基づいて第1異常を判定する場合(例えば地域情報に含まれた「国」を例として説明する)、「国」評価項目の評価ルールに応じて、今回ログイン時点での国情報と前回ログイン時点での国情報に基づき、「国」評価項目のリスクスコアを算出する。制御部11は、算出したリスクスコアが基準スコア以上である場合、第1異常として判定する。 For example, when the control unit 11 determines the first abnormality based on the regional information (for example, "country" included in the regional information will be described as an example), the control unit 11 logs in this time according to the evaluation rule of the "country" evaluation item. Calculate the risk score of the "country" evaluation item based on the country information at the time and the country information at the time of the previous login. When the calculated risk score is equal to or higher than the reference score, the control unit 11 determines that the risk score is the first abnormality.

なお、本実施形態では、前回のログイン時間及び前回地域情報の例を説明したが、これに限るものではない。例えば、制御部11は過去の複数回のログイン時間及び地域情報を取得する。制御部11は、取得した複数回のログイン時間の平均値に基づいて第1異常を判定しても良い。または、制御部11は、複数回の地域情報に対し、ログインした地域の回数を集計する。制御部11は、集計した回数に応じて決められる評価ルールに基づいて第1異常を判定しても良い。例えば、ログインした地域の回数が少ない場合、高いリスクスコアが設定されても良く、またはログインした地域の回数が多い場合、低いリスクスコアが設定されても良い。また、ログインした地域の回数に対し、いくつかのランクを設定しても良い。例えば、回数が「5回以下」である場合、リスクスコアが40であり、回数が「5回~10回」である場合、リスクスコアが30である。 In this embodiment, examples of the previous login time and the previous regional information have been described, but the present invention is not limited to this. For example, the control unit 11 acquires the past multiple login times and regional information. The control unit 11 may determine the first abnormality based on the acquired average value of the plurality of login times. Alternatively, the control unit 11 totals the number of times of the logged-in area for the plurality of times of area information. The control unit 11 may determine the first abnormality based on the evaluation rule determined according to the total number of times. For example, if the number of logged-in areas is small, a high risk score may be set, or if the number of logged-in areas is large, a low risk score may be set. You may also set some ranks for the number of times you have logged in. For example, when the number of times is "5 times or less", the risk score is 40, and when the number of times is "5 to 10 times", the risk score is 30.

次に、第2異常を判定する処理を説明する。制御部11は、ユーザIDに基づき、大容量記憶部17のアクセス履歴DB175から前回ログイン時点でのトークン及び端末IDを取得する。制御部11は、取得したトークン及び端末IDに基づき、大容量記憶部17の端末情報DB171に記憶された前回ログイン時点での端末情報を取得する。 Next, a process for determining the second abnormality will be described. The control unit 11 acquires the token and the terminal ID at the time of the previous login from the access history DB 175 of the large-capacity storage unit 17 based on the user ID. Based on the acquired token and terminal ID, the control unit 11 acquires the terminal information stored in the terminal information DB 171 of the large-capacity storage unit 17 at the time of the previous login.

制御部11は、所定の評価項目に基づき、今回ログインの端末情報と前回ログインの端末情報とを比較する。評価項目は、例えば端末ID、アクセス元のIPアドレス、OSまたはブラウザを含む。例えば、制御部11は今回ログインの端末IDと前回ログインの端末IDとが異なると判定した場合、第2異常として判定する。 The control unit 11 compares the terminal information of the current login with the terminal information of the previous login based on a predetermined evaluation item. The evaluation items include, for example, a terminal ID, an IP address of an access source, an OS or a browser. For example, when the control unit 11 determines that the terminal ID of the login this time and the terminal ID of the previous login are different, it determines as a second abnormality.

制御部11は、今回ログインの端末IDと前回ログインの端末IDとが一致すると判定した場合、端末ID以外の評価項目(IPアドレス、OS等)に対して比較する。制御部11は、端末ID以外の不一致の評価項目数が所定数(例えば、2)以上であると判定した場合、第2異常として判定する。 When the control unit 11 determines that the terminal ID of the login this time and the terminal ID of the previous login match, the control unit 11 compares the evaluation items (IP address, OS, etc.) other than the terminal ID. When the control unit 11 determines that the number of mismatched evaluation items other than the terminal ID is a predetermined number (for example, 2) or more, the control unit 11 determines that it is a second abnormality.

そして、第3異常を判定する処理を説明する。制御部11は、ユーザID及び端末IDに基づき、大容量記憶部17の操作ログDB173からユーザの操作ログを取得する。制御部11は、取得した操作ログから、第3異常を判定するための評価項目を抽出する。評価項目は、例えばレスポンスコード、メソッド、Torネットワーク、Javascript、マウス操作、存在しないURLへのアクセス、またはブラウザプラグイン等を含む。 Then, the process of determining the third abnormality will be described. The control unit 11 acquires the user's operation log from the operation log DB 173 of the large-capacity storage unit 17 based on the user ID and the terminal ID. The control unit 11 extracts an evaluation item for determining the third abnormality from the acquired operation log. Evaluation items include, for example, response codes, methods, Tor networks, JavaScript, mouse operations, access to non-existent URLs, browser plug-ins, and the like.

制御部11は、取得した各評価項目に対して、各評価項目に対応付けられた評価ルールに基づき、各評価項目のリスクスコアを算出する。制御部11は、算出した各評価項目のリスクスコアと基準スコアとを比較する。制御部11は、例えば各評価項目の中のいずれかの評価項目のリスクスコアが基準スコア以上であると判定した場合、第3異常として判定する。または、制御部11は、評価項目のリスクスコアが基準スコア以上である評価項目数が所定数(例えば、4)以上であると判定した場合、第3異常として判定しても良い。 The control unit 11 calculates the risk score of each evaluation item for each acquired evaluation item based on the evaluation rule associated with each evaluation item. The control unit 11 compares the calculated risk score of each evaluation item with the reference score. When, for example, the control unit 11 determines that the risk score of any of the evaluation items is equal to or higher than the reference score, the control unit 11 determines that it is a third abnormality. Alternatively, when the control unit 11 determines that the number of evaluation items whose risk score of the evaluation item is equal to or greater than the reference score is equal to or greater than a predetermined number (for example, 4), the control unit 11 may determine that it is a third abnormality.

以下では、「メソッド」評価項目の例として説明する。制御部11は、不審なメソッドを使用したか否かを判定する。不審なメソッドは、例えば信頼できない引数を与えることにより攻撃のリスクが高いメソッド、または将来廃止されるメソッド等であっても良い。制御部11は、不審なメソッドを使用したと判定した場合、「メソッド」評価項目の評価ルールに基づき、「メソッド」評価項目のリスクスコアを算出する。 In the following, an example of the "method" evaluation item will be described. The control unit 11 determines whether or not a suspicious method has been used. The suspicious method may be, for example, a method having a high risk of attack by giving an unreliable argument, a method that will be abolished in the future, or the like. When the control unit 11 determines that a suspicious method has been used, the control unit 11 calculates the risk score of the "method" evaluation item based on the evaluation rule of the "method" evaluation item.

例えば、「メソッド」評価項目の評価ルールが「不審なメソッド使用:30 不審なメソッド未使用:0」である場合、制御部11は、「メソッド」評価項目のリスクスコアが30であると算出する。制御部11は、算出した「メソッド」評価項目のリスクスコアと基準スコア(例えば、30)とを比較する。制御部11は、算出した「メソッド」評価項目のリスクスコアが基準スコア以上であると判定した場合、第3異常として判定する。 For example, if the evaluation rule of the "method" evaluation item is "suspicious method used: 30 suspicious method unused: 0", the control unit 11 calculates that the risk score of the "method" evaluation item is 30. .. The control unit 11 compares the calculated risk score of the “method” evaluation item with the reference score (for example, 30). When the control unit 11 determines that the risk score of the calculated "method" evaluation item is equal to or higher than the reference score, the control unit 11 determines that the risk score is the third abnormality.

なお、上述した処理で、第1異常、第2異常及び第3異常の判定処理の順に説明したが、これに限らず、任意の順で異常を判定しても良い。 In the above-mentioned processing, the first abnormality, the second abnormality, and the third abnormality determination process have been described in this order, but the present invention is not limited to this, and the abnormality may be determined in any order.

制御部11は、第1異常、第2異常または第3異常を含む異常を判定した場合、判定した異常の判定結果を大容量記憶部17の異常判定結果DB174に記憶する。具体的には、制御部11は、ユーザID、端末ID、異常項目、異常メッセージ、リスクスコア及び判定日時を一つのレコードとして異常判定結果DB174に記憶する。 When the control unit 11 determines an abnormality including a first abnormality, a second abnormality, or a third abnormality, the control unit 11 stores the determination result of the determined abnormality in the abnormality determination result DB 174 of the large-capacity storage unit 17. Specifically, the control unit 11 stores the user ID, the terminal ID, the abnormal item, the abnormal message, the risk score, and the determination date and time as one record in the abnormality determination result DB 174.

制御部11は、異常を判定したユーザのアクセス履歴情報を大容量記憶部17のアクセス履歴情報DB176から取得する。アクセス履歴情報は、端末ID、アクセス先ホスト、アクセス時間帯、ログイン有無情報付きのアクセス日時、またはログインがある場合のユーザID等を含む。制御部11は、取得したユーザのアクセス履歴情報及び異常判定結果を通信部13により監視者端末4に送信する。制御部11は、異常を判定した旨を含むメッセージを通信部13によりユーザ端末3に送信する。 The control unit 11 acquires the access history information of the user who has determined the abnormality from the access history information DB 176 of the large-capacity storage unit 17. The access history information includes a terminal ID, an access destination host, an access time zone, an access date and time with login presence / absence information, a user ID when there is a login, and the like. The control unit 11 transmits the acquired user access history information and the abnormality determination result to the monitor terminal 4 by the communication unit 13. The control unit 11 transmits a message including the determination of an abnormality to the user terminal 3 by the communication unit 13.

制御部11は、第1異常、第2異常または第3異常を含む異常を判定していない場合、アクセス情報を通信部13によりウェブサーバ2に送信する。なお、アクセス情報の代わりに、制御部11は、ユーザ端末3から送信されたアクセスリクエストをそのままにウェブサーバ2に送信しても良い。 When the control unit 11 has not determined an abnormality including the first abnormality, the second abnormality, or the third abnormality, the control unit 11 transmits the access information to the web server 2 by the communication unit 13. Instead of the access information, the control unit 11 may transmit the access request transmitted from the user terminal 3 to the web server 2 as it is.

図13及び図14は、異常を判定する際の処理手順を示すフローチャートである。ユーザ端末3の制御部31は、通信部33を介して、保護対象のウェブサイトへのアクセスリクエストをサーバ1に送信する(ステップS301)。サーバ1の制御部11は、通信部13を介して、ユーザ端末3から送信されたアクセスリクエストを受信する(ステップS101)。制御部11は、受信したアクセスリクエストからアクセス情報を抽出する(ステップS102)。アクセス情報は、アクセス元の端末情報及びログインの有無情報を含む。 13 and 14 are flowcharts showing a processing procedure for determining an abnormality. The control unit 31 of the user terminal 3 transmits an access request to the protected website to the server 1 via the communication unit 33 (step S301). The control unit 11 of the server 1 receives the access request transmitted from the user terminal 3 via the communication unit 13 (step S101). The control unit 11 extracts access information from the received access request (step S102). The access information includes the terminal information of the access source and the presence / absence information of login.

制御部11は、抽出したアクセス情報に含まれた複数種類の端末情報から端末IDを取得し(ステップS103)、取得した端末IDに対応付けて該端末の識別に使用するトークンを発行する(ステップS104)。制御部11は、端末情報からアクセス元のIPアドレスを取得する(ステップS105)。制御部11は、取得したIPアドレスに基づいて、IPアドレスによる地域情報抽出用のAPIを用いて、アクセス元のプロバイダ、国及び地域を含むアクセス元の地域情報を特定する(ステップS106)。制御部11は、発行したトークンに対応付けて、受信した端末情報と、特定した地域情報とを大容量記憶部17の端末情報DB171及びアクセス履歴DB175に記憶する(ステップS107)。 The control unit 11 acquires a terminal ID from a plurality of types of terminal information included in the extracted access information (step S103), and issues a token used for identifying the terminal in association with the acquired terminal ID (step S103). S104). The control unit 11 acquires the IP address of the access source from the terminal information (step S105). Based on the acquired IP address, the control unit 11 identifies the access source area information including the access source provider, country, and region by using the API for extracting the area information by the IP address (step S106). The control unit 11 stores the received terminal information and the specified area information in the terminal information DB 171 and the access history DB 175 of the large-capacity storage unit 17 in association with the issued token (step S107).

制御部11は、アクセス情報からログインの有無情報を取得し、取得したログインの有無情報に基づき、ユーザがログインしているか否かを判定する(ステップS108)。制御部11は、ユーザがログインしていないと判定した場合(ステップS108でNO)、後述するステップS118に遷移する。制御部11は、ユーザがログインしていると判定した場合(ステップS108でYES)、第1異常、第2異常及び第3異常を判定するための各評価項目に対応付けられた評価ルール及び基準スコアを大容量記憶部17のリスクスコアDB172から取得する(ステップS109)。 The control unit 11 acquires login presence / absence information from the access information, and determines whether or not the user is logged in based on the acquired login presence / absence information (step S108). When the control unit 11 determines that the user is not logged in (NO in step S108), the control unit 11 transitions to step S118 described later. When the control unit 11 determines that the user is logged in (YES in step S108), the control unit 11 has an evaluation rule and a standard associated with each evaluation item for determining the first abnormality, the second abnormality, and the third abnormality. The score is acquired from the risk score DB172 of the large-capacity storage unit 17 (step S109).

制御部11は、第1異常を判定する(ステップS110)。制御部11は、第2異常を判定する(ステップS111)。制御部11は、第3異常を判定する(ステップS112)。なお、第1異常、第2異常及び第3異常の判定処理サブルーチンについては後述する。制御部11は、第1異常、第2異常または第3異常を判定した判定結果に基づき、異常があるか否かを判定する(ステップS113)。 The control unit 11 determines the first abnormality (step S110). The control unit 11 determines the second abnormality (step S111). The control unit 11 determines the third abnormality (step S112). The first abnormality, the second abnormality, and the third abnormality determination processing subroutine will be described later. The control unit 11 determines whether or not there is an abnormality based on the determination result of determining the first abnormality, the second abnormality, or the third abnormality (step S113).

制御部11は、異常がないと判定した場合(ステップS113でNO)、アクセス情報を通信部13によりウェブサーバ2に送信する(ステップS118)。ウェブサーバ2の制御部21は、通信部23を介して、サーバ1から送信されたアクセス情報を受信する(ステップS201)。 When the control unit 11 determines that there is no abnormality (NO in step S113), the control unit 11 transmits the access information to the web server 2 by the communication unit 13 (step S118). The control unit 21 of the web server 2 receives the access information transmitted from the server 1 via the communication unit 23 (step S201).

制御部11は、異常があると判定した場合(ステップS113でYES)、異常の判定結果を大容量記憶部17の異常判定結果DB174に記憶する(ステップS114)。制御部11は、異常を判定したユーザのアクセス履歴情報を大容量記憶部17のアクセス履歴情報DB176から取得する(ステップS115)。制御部11は、取得したユーザのアクセス履歴情報及び異常判定結果を通信部13により監視者端末4に送信する(ステップS116)。制御部11は、異常を判定した旨を含む異常メッセージを通信部13によりユーザ端末3に送信する(ステップS117)。 When the control unit 11 determines that there is an abnormality (YES in step S113), the control unit 11 stores the abnormality determination result in the abnormality determination result DB 174 of the large capacity storage unit 17 (step S114). The control unit 11 acquires the access history information of the user who has determined the abnormality from the access history information DB 176 of the large-capacity storage unit 17 (step S115). The control unit 11 transmits the acquired user access history information and the abnormality determination result to the monitor terminal 4 by the communication unit 13 (step S116). The control unit 11 transmits an abnormality message including the fact that the abnormality has been determined to the user terminal 3 by the communication unit 13 (step S117).

監視者端末4の制御部41は、通信部43を介して、サーバ1から送信されたユーザアクセス履歴情報及び異常判定結果を通信部43により受信する(ステップS401)。制御部41は、受信したユーザアクセス履歴情報及び異常判定結果を表示部45により表示する(ステップS402)。ユーザ端末3の制御部31は、サーバ1から送信された異常メッセージを通信部33により受信し(ステップS303)、受信した異常メッセージを表示部35により表示する(ステップS304)。 The control unit 41 of the observer terminal 4 receives the user access history information and the abnormality determination result transmitted from the server 1 by the communication unit 43 via the communication unit 43 (step S401). The control unit 41 displays the received user access history information and the abnormality determination result on the display unit 45 (step S402). The control unit 31 of the user terminal 3 receives the abnormal message transmitted from the server 1 by the communication unit 33 (step S303), and displays the received abnormal message by the display unit 35 (step S304).

図15は、第1異常を判定する処理のサブルーチンの処理手順を示すフローチャートである。制御部11は端末IDに基づき、大容量記憶部17のアクセス履歴DB175から前回ログイン時点でのトークン及びログイン時間を取得する(ステップS11)。制御部11は、取得したトークンに基づいて、前回ログイン時点での前回地域情報を大容量記憶部17の端末情報DB171から取得する(ステップS12)。 FIG. 15 is a flowchart showing a processing procedure of a subroutine of processing for determining the first abnormality. The control unit 11 acquires the token and the login time at the time of the previous login from the access history DB 175 of the large-capacity storage unit 17 based on the terminal ID (step S11). Based on the acquired token, the control unit 11 acquires the previous area information at the time of the previous login from the terminal information DB 171 of the large-capacity storage unit 17 (step S12).

制御部11は、「ログイン時間帯」評価項目の評価ルールに応じて、前回ログイン時間の時間帯と今回ログイン時間の時間帯とに基づき、「ログイン時間帯」評価項目のリスクスコアを算出する(ステップS13)。「ログイン時間帯」評価項目の評価ルールは、過去の時間帯の終了時間と今回の時間帯の開始時間との時間間隔によって設定されても良い。時間間隔が長い場合、高いリスクスコアが設定されても良い。逆に、時間間隔が短い場合、低いリスクスコアが設定されても良い。例えば「ログイン時間帯」評価項目の評価ルールは、「前回(8:00-12:00)、且つ、今回(19:00-21:00):15 前回(8:00-12:00)、且つ、今回(21:00-23:00):30」である。前回ログイン時間の時間帯が「8:00-12:00」であり、且つ、今回ログイン時間の時間帯が「19:00-21:00」であると判定した場合、制御部11は、「ログイン時間帯」評価項目のリスクスコアが15であると算出する。 The control unit 11 calculates the risk score of the "login time zone" evaluation item based on the time zone of the previous login time and the time zone of the current login time according to the evaluation rule of the "login time zone" evaluation item ( Step S13). The evaluation rule of the "login time zone" evaluation item may be set by the time interval between the end time of the past time zone and the start time of the current time zone. If the time interval is long, a high risk score may be set. Conversely, if the time interval is short, a low risk score may be set. For example, the evaluation rule of the "login time zone" evaluation item is "last time (8: 00-12: 00) and this time (19: 00-21: 00): 15 last time (8: 00-12: 00). And this time (21: 00-23: 00): 30 ". When it is determined that the time zone of the previous login time is "8: 00-12: 00" and the time zone of the login time this time is "19: 00-21: 00", the control unit 11 determines that " It is calculated that the risk score of the "login time zone" evaluation item is 15.

制御部11は、算出した「ログイン時間帯」評価項目のリスクスコアが基準スコア以上であるか否かを判定する(ステップS14)。制御部11は、算出した「ログイン時間帯」評価項目のリスクスコアが基準スコア以上である場合(ステップS14でYES)、第1異常である判定処理結果を出力し(ステップS22)、リターンする。制御部11は、算出した「ログイン時間帯」評価項目のリスクスコアが基準スコア未満である場合(ステップS14でNO)、「国」評価項目の評価ルールに応じて、前回ログイン時点での国情報と今回ログイン時点での国情報に基づき、「国」評価項目のリスクスコアを算出する(ステップS15)。 The control unit 11 determines whether or not the calculated risk score of the “login time zone” evaluation item is equal to or higher than the reference score (step S14). When the risk score of the calculated "login time zone" evaluation item is equal to or higher than the reference score (YES in step S14), the control unit 11 outputs the determination processing result of the first abnormality (step S22) and returns. When the risk score of the calculated "login time zone" evaluation item is less than the reference score (NO in step S14), the control unit 11 determines the country information at the time of the previous login according to the evaluation rule of the "country" evaluation item. And this time, the risk score of the "country" evaluation item is calculated based on the country information at the time of login (step S15).

「国」評価項目の評価ルールは、過去ログイン時点での国情報と今回ログイン時点での国情報との相違性によって設定されても良い。変更がある場合、高いリスクスコアが設定される。また、変更がない場合、低いリスクスコアが設定される。 The evaluation rule of the "country" evaluation item may be set according to the difference between the country information at the time of past login and the country information at the time of this login. If there is a change, a high risk score will be set. Also, if there is no change, a low risk score is set.

例えば「国」評価項目の評価ルールは、「変更あり:70 変更なし:0」である。制御部11は、前回ログイン時点での国情報(例えば、日本)と今回ログイン時点での国情報(例えば、米国)とが一致しないと判定した場合、「国」評価項目の評価ルールに基づき、「国」評価項目のリスクスコアが70であると算出する。制御部11は、前回ログイン時点での国情報(例えば、日本)と今回ログイン時点での国情報(例えば、日本)とが一致すると判定した場合、「国」評価項目の評価ルールに基づき、「国」評価項目のリスクスコアが0であると算出する。 For example, the evaluation rule for the "country" evaluation item is "changed: 70 unchanged: 0". When the control unit 11 determines that the country information (for example, Japan) at the time of the previous login and the country information (for example, the United States) at the time of the current login do not match, the control unit 11 is based on the evaluation rule of the "country" evaluation item. Calculate that the risk score for the "country" endpoint is 70. When the control unit 11 determines that the country information (for example, Japan) at the time of the previous login matches the country information (for example, Japan) at the time of the current login, the control unit 11 determines that the country information (for example, Japan) matches, based on the evaluation rule of the "country" evaluation item, " Calculate that the risk score of the "country" endpoint is 0.

制御部11は、算出した「国」評価項目のリスクスコアが基準スコア以上であるか否かを判定する(ステップS16)。制御部11は、算出した「国」評価項目のリスクスコアが基準スコア以上である場合(ステップS16でYES)、ステップS22に遷移する。制御部11は、算出した「国」評価項目のリスクスコアが基準スコア未満である場合(ステップS16でNO)、「シティ」評価項目の評価ルールに応じて、前回ログイン時点でのシティ情報と今回ログイン時点でのシティ情報に基づき、「シティ」評価項目のリスクスコアを算出する(ステップS17)。 The control unit 11 determines whether or not the calculated risk score of the “country” evaluation item is equal to or higher than the reference score (step S16). When the risk score of the calculated "country" evaluation item is equal to or higher than the reference score (YES in step S16), the control unit 11 transitions to step S22. When the calculated risk score of the "country" evaluation item is less than the reference score (NO in step S16), the control unit 11 determines the city information at the time of the previous login and this time according to the evaluation rule of the "city" evaluation item. Based on the city information at the time of login, the risk score of the "city" evaluation item is calculated (step S17).

「シティ」評価項目の評価ルールは、過去ログイン時点でのシティと今回ログイン時点でのシティとの相違性によって設定されても良い。変更がある場合、高いリスクスコアが設定される。また、変更がない場合、低いリスクスコアが設定される。 The evaluation rule of the "city" evaluation item may be set according to the difference between the city at the time of login in the past and the city at the time of login this time. If there is a change, a high risk score will be set. Also, if there is no change, a low risk score is set.

例えば「シティ」評価項目の評価ルールは、「変更あり:40 変更なし:0」である。制御部11は、前回ログイン時点でのシティ情報(例えば、東京)と今回ログイン時点でのシティ情報(例えば、大阪)とが一致しないと判定した場合、「シティ」評価項目の評価ルールに基づき、「シティ」評価項目のリスクスコアが40であると算出する。制御部11は、前回ログイン時点でのシティ情報(例えば、東京)と今回ログイン時点でのシティ情報(例えば、東京)とが一致すると判定した場合、「シティ」評価項目の評価ルールに基づき、「シティ」評価項目のリスクスコアが0であると算出する。 For example, the evaluation rule of the "city" evaluation item is "changed: 40 changed: 0". When the control unit 11 determines that the city information at the time of the previous login (for example, Tokyo) and the city information at the time of the current login (for example, Osaka) do not match, the control unit 11 is based on the evaluation rule of the "city" evaluation item. It is calculated that the risk score of the "city" evaluation item is 40. When the control unit 11 determines that the city information at the time of the previous login (for example, Tokyo) and the city information at the time of the current login (for example, Tokyo) match, the control unit 11 determines that the city information at the time of the previous login matches, based on the evaluation rule of the "city" evaluation item, " Calculate that the risk score of the "City" endpoint is 0.

また、「シティ」評価項目の評価ルールは、過去ログイン時点でのシティと今回ログイン時点でのシティとの距離によって設定されても良い。距離が遠い場合、高いリスクスコアが設定される。また、距離が近い場合、低いリスクスコアが設定される。距離に応じて、いくつかのランクを設定しても良い。例えば、「10km(kilometer)以下:5 10km~30km:10 30km~50km:15」である評価ルールが設定されても良い。 Further, the evaluation rule of the "city" evaluation item may be set according to the distance between the city at the time of login in the past and the city at the time of login this time. If the distance is long, a high risk score is set. Also, if the distance is short, a low risk score is set. Depending on the distance, some ranks may be set. For example, an evaluation rule of "10 km (kilometer) or less: 5 10 km to 30 km: 10 30 km to 50 km: 15" may be set.

制御部11は、算出した「シティ」評価項目のリスクスコアが基準スコア以上であるか否かを判定する(ステップS18)。制御部11は、算出した「シティ」評価項目のリスクスコアが基準スコア以上である場合(ステップS18でYES)、ステップS22に遷移する。制御部11は、算出した「シティ」評価項目のリスクスコアが基準スコア未満である場合(ステップS18でNO)、「プロバイダ」評価項目の評価ルールに応じて、前回ログイン時点でのプロバイダ情報と今回ログイン時点でのプロバイダ情報に基づき、「プロバイダ」評価項目のリスクスコアを算出する(ステップS19)。 The control unit 11 determines whether or not the calculated risk score of the “city” evaluation item is equal to or higher than the reference score (step S18). When the risk score of the calculated “city” evaluation item is equal to or higher than the reference score (YES in step S18), the control unit 11 transitions to step S22. When the calculated risk score of the "city" evaluation item is less than the reference score (NO in step S18), the control unit 11 determines the provider information at the time of the previous login and this time according to the evaluation rule of the "provider" evaluation item. The risk score of the "provider" evaluation item is calculated based on the provider information at the time of login (step S19).

「プロバイダ」評価項目の評価ルールは、過去ログイン時点でのプロバイダと今回ログイン時点でのプロバイダとの相違性によって設定されても良い。変更がある場合、高いリスクスコアが設定される。また、変更がない場合、低いリスクスコアが設定される。 The evaluation rule of the "provider" evaluation item may be set according to the difference between the provider at the time of login in the past and the provider at the time of login this time. If there is a change, a high risk score will be set. Also, if there is no change, a low risk score is set.

例えば「プロバイダ」評価項目の評価ルールは、「変更あり:30 変更なし:0」である。制御部11は、前回ログイン時点でのプロバイダ情報(例えば、プロバイダA)と今回ログイン時点でのプロバイダ情報(例えば、プロバイダB)とが一致しないと判定した場合、「プロバイダ」評価項目の評価ルールに基づき、「プロバイダ」評価項目のリスクスコアが30であると算出する。制御部11は、前回ログイン時点でのプロバイダ情報(例えば、プロバイダA)と今回ログイン時点でのプロバイダ情報(例えば、プロバイダA)とが一致すると判定した場合、「プロバイダ」評価項目の評価ルールに基づき、「プロバイダ」評価項目のリスクスコアが0であると算出する。 For example, the evaluation rule of the "provider" evaluation item is "changed: 30 no change: 0". When the control unit 11 determines that the provider information (for example, provider A) at the time of the previous login and the provider information (for example, the provider B) at the time of the current login do not match, the control unit 11 sets the evaluation rule of the "provider" evaluation item. Based on this, it is calculated that the risk score of the "provider" evaluation item is 30. When the control unit 11 determines that the provider information (for example, provider A) at the time of the previous login and the provider information (for example, the provider A) at the time of the current login match, the control unit 11 is based on the evaluation rule of the "provider" evaluation item. , Calculate that the risk score of the "provider" evaluation item is 0.

制御部11は、算出した「プロバイダ」評価項目のリスクスコアが基準スコア以上であるか否かを判定する(ステップS20)。制御部11は、算出した「プロバイダ」評価項目のリスクスコアが基準スコア以上である場合(ステップS20でYES)、ステップS22に遷移する。制御部11は、算出した「プロバイダ」評価項目のリスクスコアが基準スコア未満である場合(ステップS20でNO)、第1異常でない判定処理結果を出力し(ステップS21)、リターンする。 The control unit 11 determines whether or not the calculated risk score of the “provider” evaluation item is equal to or higher than the reference score (step S20). When the risk score of the calculated "provider" evaluation item is equal to or higher than the reference score (YES in step S20), the control unit 11 transitions to step S22. When the calculated risk score of the "provider" evaluation item is less than the reference score (NO in step S20), the control unit 11 outputs a determination processing result that is not the first abnormality (step S21) and returns.

なお、第1異常を判定する処理には、上述した「ログイン時間帯」、「国」、「シティ」及び「プロバイダ」評価項目に限らず、他の評価項目にも同様に適用される。例えば制御部11は、今回のログイン時間と前回のログイン時間との間隔を利用して第1異常を判定しても良い。具体的には、制御部11は、今回のログイン時間と前回のログイン時間との間隔を算出する。制御部11は、「ログイン間隔」評価項目の評価ルールに応じて、算出した間隔に基づき、「ログイン間隔」評価項目のリスクスコアを算出する。 The process for determining the first abnormality is not limited to the above-mentioned "login time zone", "country", "city" and "provider" evaluation items, but is similarly applied to other evaluation items. For example, the control unit 11 may determine the first abnormality by using the interval between the current login time and the previous login time. Specifically, the control unit 11 calculates the interval between the current login time and the previous login time. The control unit 11 calculates the risk score of the "login interval" evaluation item based on the calculated interval according to the evaluation rule of the "login interval" evaluation item.

「ログイン間隔」評価項目の評価ルールは、過去ログインの時間と今回ログインの時間との時間間隔によって設定されても良い。時間間隔が長い場合、高いリスクスコアが設定されても良い。逆に、時間間隔が短い場合、低いリスクスコアが設定されても良い。 The evaluation rule of the "login interval" evaluation item may be set according to the time interval between the past login time and the current login time. If the time interval is long, a high risk score may be set. Conversely, if the time interval is short, a low risk score may be set.

例えば「ログイン間隔」評価項目の評価ルールは、「10日未満:5 …… 三ヵ月~半年:30 半年~1年:40」である。例えば、算出した間隔が「八カ月」である場合、制御部11は「ログイン間隔」評価項目の評価ルールに基づき、「ログイン間隔」評価項目のリスクスコアが40であると算出する。制御部11は、算出した「ログイン間隔」評価項目のリスクスコアが基準スコア(例えば、30)以上である場合、第1異常として判定する。 For example, the evaluation rule for the "login interval" evaluation item is "less than 10 days: 5 ... 3 months to 6 months: 30 6 months to 1 year: 40". For example, when the calculated interval is "eight months", the control unit 11 calculates that the risk score of the "login interval" evaluation item is 40 based on the evaluation rule of the "login interval" evaluation item. When the risk score of the calculated "login interval" evaluation item is equal to or higher than the reference score (for example, 30), the control unit 11 determines that it is the first abnormality.

また、「ログイン時間帯」及び「ログイン間隔」のほかに、例えば制御部11は、ログイン時間により平日・休日、曜日等の情報を特定し、特定した、平日・休日、曜日等の評価ルールに基づいて第1異常を判定しても良い。 In addition to the "login time zone" and "login interval", for example, the control unit 11 specifies information such as weekdays / holidays and days of the week according to the login time, and uses the specified evaluation rules for weekdays / holidays and days of the week. The first abnormality may be determined based on the above.

図16は、第2異常を判定する処理のサブルーチンの処理手順を示すフローチャートである。制御部11は、ユーザIDに基づき、大容量記憶部17のアクセス履歴DB175から前回ログイン時点でのトークン及び端末IDを取得する(ステップS31)。制御部11は、取得したトークン及び端末IDに基づき、大容量記憶部17の端末情報DB171に記憶された前回ログイン時点での端末情報を取得する(ステップS32)。 FIG. 16 is a flowchart showing a processing procedure of a subroutine of processing for determining a second abnormality. The control unit 11 acquires the token and the terminal ID at the time of the previous login from the access history DB 175 of the large-capacity storage unit 17 based on the user ID (step S31). Based on the acquired token and terminal ID, the control unit 11 acquires the terminal information stored in the terminal information DB 171 of the large-capacity storage unit 17 at the time of the previous login (step S32).

制御部11は、今回ログイン時点での端末IDと前回ログイン時点での端末IDとが一致するか否かを判定する(ステップS33)。制御部11は、今回ログイン時点での端末IDと前回ログイン時点での端末IDとが一致しないと判定した場合(ステップS33でNO)、第2異常である判定処理結果を出力し(ステップS42)、リターンする。 The control unit 11 determines whether or not the terminal ID at the time of login this time and the terminal ID at the time of previous login match (step S33). When the control unit 11 determines that the terminal ID at the time of login this time and the terminal ID at the time of the previous login do not match (NO in step S33), the control unit 11 outputs the determination processing result of the second abnormality (step S42). , Return.

制御部11は、今回ログイン時点での端末IDと前回ログイン時点での端末IDとが一致すると判定した場合(ステップS33でYES)、今回ログイン時点でのアクセス元のIPアドレスと前回ログイン時点でのアクセス元のIPアドレスとが一致するか否かを判定する(ステップS34)。制御部11は、今回ログイン時点でのIPアドレスと前回ログイン時点でのIPアドレスとが一致しないと判定した場合(ステップS34でNO)、不一致の項目数を累積し(ステップS35)、後述するステップS36に遷移する。 When the control unit 11 determines that the terminal ID at the time of login this time and the terminal ID at the time of the previous login match (YES in step S33), the IP address of the access source at the time of login this time and the IP address at the time of the previous login are used. It is determined whether or not the IP address of the access source matches (step S34). When the control unit 11 determines that the IP address at the time of login this time and the IP address at the time of the previous login do not match (NO in step S34), the control unit 11 accumulates the number of mismatched items (step S35), and steps described later. Transition to S36.

制御部11は、今回ログイン時点でのIPアドレスと前回ログイン時点でのIPアドレスとが一致すると判定した場合(ステップS34でYES)、今回ログイン時点でのOS情報と前回ログイン時点でのOS情報とが一致するか否かを判定する(ステップS36)。制御部11は、今回ログイン時点でのOS情報と前回ログイン時点でのOS情報とが一致しないと判定した場合(ステップS36でNO)、不一致の項目数を累積し(ステップS37)、後述するステップS38に遷移する。 When the control unit 11 determines that the IP address at the time of this login and the IP address at the time of the previous login match (YES in step S34), the OS information at the time of this login and the OS information at the time of the previous login are used. It is determined whether or not they match (step S36). When the control unit 11 determines that the OS information at the time of login this time and the OS information at the time of the previous login do not match (NO in step S36), the control unit 11 accumulates the number of mismatched items (step S37), and steps described later. Transition to S38.

制御部11は、今回ログイン時点でのOS情報と前回ログイン時点でのOS情報とが一致すると判定した場合(ステップS36でYES)、今回ログイン時点でのブラウザ情報と前回ログイン時点でのブラウザ情報とが一致するか否かを判定する(ステップS38)。制御部11は、今回ログイン時点でのブラウザ情報と前回ログイン時点でのブラウザ情報とが一致しないと判定した場合(ステップS38でNO)、不一致の項目数を累積し(ステップS39)、後述するステップS40に遷移する。 When the control unit 11 determines that the OS information at the time of this login and the OS information at the time of the previous login match (YES in step S36), the browser information at the time of this login and the browser information at the time of the previous login are used. It is determined whether or not they match (step S38). When the control unit 11 determines that the browser information at the time of login this time and the browser information at the time of the previous login do not match (NO in step S38), the control unit 11 accumulates the number of mismatched items (step S39), and steps described later. Transition to S40.

制御部11は、今回ログイン時点でのブラウザ情報と前回ログイン時点でのブラウザ情報とが一致すると判定した場合(ステップS38でYES)、累積した不一致の項目数が所定数(例えば、2)以上であるか否かを判定する(ステップS40)。制御部11は、不一致の項目数が所定数以上であると判定した場合(ステップS40でYES)、ステップS42に遷移する。制御部11は、不一致の項目数が所定数より小さいと判定した場合(ステップS40でNO)、第2異常でない判定処理結果を出力し(ステップS41)、リターンする。 When the control unit 11 determines that the browser information at the time of login this time and the browser information at the time of the previous login match (YES in step S38), the cumulative number of non-matching items is a predetermined number (for example, 2) or more. It is determined whether or not there is (step S40). When the control unit 11 determines that the number of mismatched items is equal to or greater than a predetermined number (YES in step S40), the control unit 11 transitions to step S42. When the control unit 11 determines that the number of non-matching items is smaller than the predetermined number (NO in step S40), the control unit 11 outputs a determination processing result that is not a second abnormality (step S41), and returns.

なお、第2異常を判定する処理には、上述した「端末ID」、「IPアドレス」、「OS」及び「ブラウザ」評価項目に限らず、他の評価項目にも同様に適用される。 The process for determining the second abnormality is not limited to the above-mentioned "terminal ID", "IP address", "OS" and "browser" evaluation items, but is similarly applied to other evaluation items.

図17は、第3異常を判定する処理のサブルーチンの処理手順を示すフローチャートである。制御部11は、ユーザID及び端末IDに基づき、大容量記憶部17の操作ログDB173からユーザの操作ログを取得する(ステップS61)。制御部11は、取得した操作ログから、第3異常を判定するための複数の評価項目を抽出する(ステップS62)。評価項目は、例えばレスポンスコード、メソッド、Torネットワーク、Javascript、マウス操作、存在しないURLへのアクセス、またはブラウザプラグイン等を含む。 FIG. 17 is a flowchart showing a processing procedure of a subroutine of processing for determining a third abnormality. The control unit 11 acquires the user's operation log from the operation log DB 173 of the large-capacity storage unit 17 based on the user ID and the terminal ID (step S61). The control unit 11 extracts a plurality of evaluation items for determining the third abnormality from the acquired operation log (step S62). Evaluation items include, for example, response codes, methods, Tor networks, JavaScript, mouse operations, access to non-existent URLs, browser plug-ins, and the like.

制御部11は、抽出した複数の評価項目の中から、一つの評価項目を取得する(ステップS63)。例えば、「Torネットワーク」評価項目を取得する。制御部11は、取得した評価項目に対応付けられた評価ルールに基づき、該評価項目のリスクスコアを算出する(ステップS64)。例えば、制御部11は、取得した「Torネットワーク」評価項目に基づき、Torネットワークを利用したか否かを判定する。制御部11は、Torネットワークを利用したと判定した場合、「Torネットワーク」評価項目の評価ルールを取得する。 The control unit 11 acquires one evaluation item from the extracted plurality of evaluation items (step S63). For example, the "Tor network" evaluation item is acquired. The control unit 11 calculates the risk score of the evaluation item based on the evaluation rule associated with the acquired evaluation item (step S64). For example, the control unit 11 determines whether or not the Tor network is used based on the acquired "Tor network" evaluation item. When the control unit 11 determines that the Tor network has been used, the control unit 11 acquires the evaluation rule of the "Tor network" evaluation item.

例えば、「Torネットワーク」評価項目の評価ルールが「Torネットワーク利用:70 Torネットワーク未利用:0」である場合、制御部11は、「Torネットワーク」評価項目のリスクスコアが70であると算出する。制御部11は、算出した評価項目のリスクスコアが基準スコア以上であるか否かを判定する(ステップS65)。例えば、「Torネットワーク」評価項目の基準スコアが「50」である場合、制御部11は、「Torネットワーク」評価項目のリスクスコアが50以上であるか否かを判定する。 For example, when the evaluation rule of the "Tor network" evaluation item is "Tor network use: 70 Tor network unused: 0", the control unit 11 calculates that the risk score of the "Tor network" evaluation item is 70. .. The control unit 11 determines whether or not the risk score of the calculated evaluation item is equal to or higher than the reference score (step S65). For example, when the reference score of the "Tor network" evaluation item is "50", the control unit 11 determines whether or not the risk score of the "Tor network" evaluation item is 50 or more.

制御部11は、算出した評価項目のリスクスコアが基準スコア以上であると判定した場合(ステップS65でYES)、評価項目数を累積し(ステップS66)、後述するステップS67に遷移する。制御部11は、算出した評価項目のリスクスコアが基準スコア未満であると判定した場合(ステップS65でNO)、複数の評価項目の中で該評価項目が最後の項目であるか否かを判定する(ステップS67)。 When the control unit 11 determines that the calculated risk score of the evaluation item is equal to or higher than the reference score (YES in step S65), the control unit 11 accumulates the number of evaluation items (step S66) and transitions to step S67 described later. When the control unit 11 determines that the risk score of the calculated evaluation item is less than the reference score (NO in step S65), the control unit 11 determines whether or not the evaluation item is the last item among the plurality of evaluation items. (Step S67).

制御部11は、該評価項目が最後の項目でないと判定した場合(ステップS67でNO)、ステップS63に遷移する。制御部11は、該評価項目が最後の項目であると判定した場合(ステップS67でYES)、累積した評価項目数が所定数以上であるか否かを判定する(ステップS68)。 When the control unit 11 determines that the evaluation item is not the last item (NO in step S67), the control unit 11 transitions to step S63. When the control unit 11 determines that the evaluation item is the last item (YES in step S67), the control unit 11 determines whether or not the cumulative number of evaluation items is a predetermined number or more (step S68).

制御部11は、累積した評価項目数が所定数以上であると判定した場合(ステップS68でYES)、第3異常である判定処理結果を出力し(ステップS70)、リターンする。制御部11は、累積した評価項目数が所定数より小さいと判定した場合(ステップS68でNO)、第3異常でない判定処理結果を出力し(ステップS69)、リターンする。 When the control unit 11 determines that the cumulative number of evaluation items is equal to or greater than a predetermined number (YES in step S68), the control unit 11 outputs a determination processing result of the third abnormality (step S70) and returns. When the control unit 11 determines that the accumulated number of evaluation items is smaller than the predetermined number (NO in step S68), the control unit 11 outputs a determination processing result that is not a third abnormality (step S69) and returns.

なお、上述した第3異常の判定処理に限るものではない。例えば、制御部11は、それぞれの評価項目のリスクスコアを合計し、合計した合計リスクスコアと、基準合計リスクスコアとを比較する。制御部11は、合計した合計リスクスコアが基準合計リスクスコア以上であると判定した場合、第3異常として判定しても良い。 It should be noted that the present invention is not limited to the above-mentioned third abnormality determination process. For example, the control unit 11 totals the risk scores of the respective evaluation items, and compares the total risk score with the reference total risk score. When the control unit 11 determines that the total total risk score is equal to or higher than the reference total risk score, it may determine it as a third abnormality.

図18は、監視者端末4上で異常判定結果を表示するイメージ図である。サーバ1の制御部11は、異常判定結果を通信部13により監視者端末4に送信する。監視者端末4の制御部41は、サーバ1から送信された異常判定結果を通信部43により受信し、受信した異常判定結果を表示部45により表示する。図示のように、異常判定結果は、端末ID、ユーザID、ログイン時間、異常メッセージ、リスクスコア、操作ログ及び詳細情報を含む。 FIG. 18 is an image diagram for displaying the abnormality determination result on the observer terminal 4. The control unit 11 of the server 1 transmits the abnormality determination result to the monitor terminal 4 by the communication unit 13. The control unit 41 of the observer terminal 4 receives the abnormality determination result transmitted from the server 1 by the communication unit 43, and displays the received abnormality determination result on the display unit 45. As shown in the figure, the abnormality determination result includes a terminal ID, a user ID, a login time, an abnormality message, a risk score, an operation log, and detailed information.

本実施形態によると、ユーザのログイン時間及びアクセス元の地域情報に基づいて異常を検出することが可能となる。 According to this embodiment, it is possible to detect an abnormality based on the login time of the user and the area information of the access source.

本実施形態によると、同一ユーザIDで過去ログイン際の端末と異なる端末を利用する場合の異常を検出することが可能となる。 According to this embodiment, it is possible to detect an abnormality when using a terminal different from the terminal used at the time of login in the past with the same user ID.

本実施形態によると、ユーザの操作ログに基づいて不正操作の異常を検出することが可能となる。 According to this embodiment, it is possible to detect an abnormality in an unauthorized operation based on a user's operation log.

本実施形態によると、ユーザ層を含むクラウド型WAFサービスを提供することにより、ユーザの行動分析または不正操作検出を行うため、高いセキュリティを実現することが可能となる。 According to this embodiment, by providing a cloud-type WAF service including a user group, it is possible to realize high security because user behavior analysis or unauthorized operation detection is performed.

(実施形態2)
実施形態2は、ユーザがログインした際に、高いリスクを検出した場合、多要素認証処理を行う形態に関する。なお、実施形態1と重複する内容については説明を省略する。
(Embodiment 2)
The second embodiment relates to a mode in which multi-factor authentication processing is performed when a high risk is detected when a user logs in. The description of the contents overlapping with the first embodiment will be omitted.

ユーザが保護対象のウェブサイトへログインした場合、サーバ1の制御部11は、ログイン認証処理を行う。具体的には、制御部11は、認証処理を行うための各評価項目を端末情報から抽出する。評価項目は、例えばグローバルIPアドレス、プライベートIPアドレス、国、プロバイダ、シティ、VPN、プロキシ等を含む。制御部11は、抽出した各評価項目に対応付けられた評価ルール及び基準スコアを大容量記憶部17のリスクスコアDB172から取得する。 When the user logs in to the protected website, the control unit 11 of the server 1 performs the login authentication process. Specifically, the control unit 11 extracts each evaluation item for performing the authentication process from the terminal information. The evaluation items include, for example, a global IP address, a private IP address, a country, a provider, a city, a VPN, a proxy, and the like. The control unit 11 acquires the evaluation rule and the reference score associated with each extracted evaluation item from the risk score DB 172 of the large-capacity storage unit 17.

制御部11は、取得した評価ルールに基づき、各評価項目に対してリスクスコアを算出する。なお、リスクスコアの算出処理に関しては、実施形態1でのリスクスコアの算出処理と同様であるため、説明を省略する。制御部11は、算出した各評価項目のリスクスコアと、各評価項目の基準スコアとを比較する。例えば制御部11は、リスクスコアが基準スコア以上である評価項目数が所定数(例えば、3つ)以上であると判定した場合、多要素認証処理を行う。 The control unit 11 calculates a risk score for each evaluation item based on the acquired evaluation rule. Since the risk score calculation process is the same as the risk score calculation process in the first embodiment, the description thereof will be omitted. The control unit 11 compares the calculated risk score of each evaluation item with the reference score of each evaluation item. For example, when the control unit 11 determines that the number of evaluation items whose risk score is equal to or higher than the reference score is a predetermined number (for example, three) or more, the control unit 11 performs multi-factor authentication processing.

なお、多要素認証処理を行うか否かの判定処理は、上述した判定方法に限るものではない。例えば、各評価項目の中のいずれかの評価項目のリスクスコアが基準スコア以上であると判定した場合、多要素認証処理を行う。 The determination process for whether or not to perform the multi-factor authentication process is not limited to the determination method described above. For example, if it is determined that the risk score of any of the evaluation items is equal to or higher than the reference score, multi-factor authentication processing is performed.

多要素認証処理は、認証の3要素である「知識情報」、「所持情報」、「生体情報」のうち、2つ以上を組み合わせて認証することである。知識情報は、例えばパスワード、ピンコードまたは秘密の質問等を含む。所持情報は、携帯電話、ハードウェアトークンまたはICカード等を含む。生体情報は、指紋、静脈または声紋等を含む。 The multi-factor authentication process is to authenticate by combining two or more of the three elements of authentication, "knowledge information", "possession information", and "biological information". Knowledge information includes, for example, passwords, pin codes or secret questions. Possession information includes mobile phones, hardware tokens, IC cards, and the like. Biometric information includes fingerprints, veins, voiceprints, and the like.

例えば、ユーザがユーザID及びパスワードを用いてウェブサイトへログインした場合、サーバ1の制御部11は、各評価項目に対してリスクスコアを算出する。制御部11は、各評価項目の中のいずれかの評価項目のリスクスコアが基準スコア以上であると判定した場合、ユーザ端末3へ認証コードの発行指示、または指紋認証指示の送信等を行う。多要素認証処理を行うことにより、攻撃者が正規ユーザのユーザID及びパスワード等の情報を盗んだ可能性があると判定された場合、不正アクセスを防ぐことができる。 For example, when a user logs in to a website using a user ID and password, the control unit 11 of the server 1 calculates a risk score for each evaluation item. When the control unit 11 determines that the risk score of any of the evaluation items is equal to or higher than the reference score, the control unit 11 issues an authentication code issuance instruction, a fingerprint authentication instruction, or the like to the user terminal 3. By performing the multi-factor authentication process, if it is determined that the attacker may have stolen information such as the user ID and password of the legitimate user, unauthorized access can be prevented.

図19は、多要素認証処理を行う際の処理手順を示すフローチャートである。サーバ1の制御部11は、認証処理を行うための複数の評価項目を端末情報から抽出する(ステップS121)。制御部11は、抽出した各評価項目に対応付けられた評価ルール及び基準スコアを大容量記憶部17のリスクスコアDB172から取得する(ステップS122)。 FIG. 19 is a flowchart showing a processing procedure when performing multi-factor authentication processing. The control unit 11 of the server 1 extracts a plurality of evaluation items for performing the authentication process from the terminal information (step S121). The control unit 11 acquires the evaluation rule and the reference score associated with each extracted evaluation item from the risk score DB 172 of the large-capacity storage unit 17 (step S122).

制御部11は、抽出した複数の評価項目の中から、一つの評価項目を取得する(ステップS123)。制御部11は、取得した評価項目に対応付けられた評価ルールに基づき、該評価項目のリスクスコアを算出する(ステップS124)。制御部11は、算出した評価項目のリスクスコアが基準スコア以上であるか否かを判定する(ステップS125)。 The control unit 11 acquires one evaluation item from the extracted plurality of evaluation items (step S123). The control unit 11 calculates the risk score of the evaluation item based on the evaluation rule associated with the acquired evaluation item (step S124). The control unit 11 determines whether or not the risk score of the calculated evaluation item is equal to or higher than the reference score (step S125).

制御部11は、算出した評価項目のリスクスコアが基準スコア以上であると判定した場合(ステップS125でYES)、評価項目数を累積する(ステップS126)、後述するステップS127に遷移する。制御部11は、算出した評価項目のリスクスコアが基準スコア未満であると判定した場合(ステップS125でNO)、複数の評価項目の中で該評価項目が最後の項目であるか否かを判定する(ステップS127)。 When the control unit 11 determines that the risk score of the calculated evaluation item is equal to or higher than the reference score (YES in step S125), the control unit 11 accumulates the number of evaluation items (step S126), and transitions to step S127 described later. When the control unit 11 determines that the risk score of the calculated evaluation item is less than the reference score (NO in step S125), the control unit 11 determines whether or not the evaluation item is the last item among the plurality of evaluation items. (Step S127).

制御部11は、該評価項目が最後の項目でないと判定した場合(ステップS127でNO)、ステップS123に遷移する。制御部11は、該評価項目が最後の項目であると判定した場合(ステップS127でYES)、累積した評価項目数が所定数以上であるか否かを判定する(ステップS128)。 When the control unit 11 determines that the evaluation item is not the last item (NO in step S127), the control unit 11 transitions to step S123. When the control unit 11 determines that the evaluation item is the last item (YES in step S127), the control unit 11 determines whether or not the cumulative number of evaluation items is a predetermined number or more (step S128).

制御部11は、累積した評価項目数が所定数以上であると判定した場合(ステップS128でYES)、多要素認証処理を行う(ステップS129)。なお、多要素認証処理を行うサブルーチンについては後述する。制御部11は、多要素認証処理を行った認証結果を通信部13によりウェブサーバ2に送信する(ステップS130)。ウェブサーバ2の制御部21は、サーバ1から送信された認証結果を通信部23により受信する(ステップS221)。制御部11は、累積した評価項目数が所定数より小さいと判定した場合(ステップS128でNO)、処理を終了する。 When the control unit 11 determines that the cumulative number of evaluation items is equal to or greater than a predetermined number (YES in step S128), the control unit 11 performs multi-factor authentication processing (step S129). The subroutine that performs multi-factor authentication processing will be described later. The control unit 11 transmits the authentication result of the multi-factor authentication process to the web server 2 by the communication unit 13 (step S130). The control unit 21 of the web server 2 receives the authentication result transmitted from the server 1 by the communication unit 23 (step S221). When the control unit 11 determines that the accumulated number of evaluation items is smaller than the predetermined number (NO in step S128), the control unit 11 ends the process.

図20は、多要素認証処理のサブルーチンの処理手順を示すフローチャートである。なお、図20では、多要素認証処理の一つ要素である認証コードをユーザ端末3へ発行する例として説明するが、他の要素を利用して多要素認証処理を行っても良い。 FIG. 20 is a flowchart showing a processing procedure of a subroutine of multi-factor authentication processing. Although FIG. 20 will be described as an example of issuing an authentication code, which is one element of the multi-factor authentication process, to the user terminal 3, the multi-factor authentication process may be performed by using another element.

サーバ1の制御部11は、ユーザID及び認証コードの発行指示を通信部13によりウェブサーバ2に送信する(ステップS141)。ウェブサーバ2の制御部21は、サーバ1から送信されたユーザID及び認証コードの発行指示を通信部23により受信する(ステップS241)。制御部21は、受信した認証コードの発行指示に応じて、受信したユーザIDに基づいてユーザの電話番号を大容量記憶部17から取得する(ステップS242)。制御部21は、取得した電話番号を通信部23によりサーバ1に送信する(ステップS243)。 The control unit 11 of the server 1 transmits the issuance instruction of the user ID and the authentication code to the web server 2 by the communication unit 13 (step S141). The control unit 21 of the web server 2 receives the user ID and authentication code issuance instruction transmitted from the server 1 by the communication unit 23 (step S241). The control unit 21 acquires the user's telephone number from the large-capacity storage unit 17 based on the received user ID in response to the instruction to issue the received authentication code (step S242). The control unit 21 transmits the acquired telephone number to the server 1 by the communication unit 23 (step S243).

サーバ1の制御部11は、ウェブサーバ2から送信されたユーザの電話番号を通信部13により受信する(ステップS142)。制御部11は、受信した電話番号に基づき、例えばSMS(Short Message Service)経由でユーザ端末3に認証コード(例えば、4桁の数字等)を送信する(ステップS143)。ユーザ端末3の制御部31は、SMS経由でサーバ1から送信された認証コードを通信部33により受信する(ステップS341)。 The control unit 11 of the server 1 receives the telephone number of the user transmitted from the web server 2 by the communication unit 13 (step S142). The control unit 11 transmits an authentication code (for example, a 4-digit number or the like) to the user terminal 3 via, for example, SMS (Short Message Service) based on the received telephone number (step S143). The control unit 31 of the user terminal 3 receives the authentication code transmitted from the server 1 via SMS by the communication unit 33 (step S341).

制御部31は、入力部34を介して、例えばユーザにより認証コードの入力画面で入力された認証コードを受け付ける(ステップS342)。制御部31は、ユーザにより入力された認証コードを通信部33によりサーバ1に送信する(ステップS343)。サーバ1の制御部11は、通信部13を介して、ユーザにより入力された認証コードをユーザ端末3から受信する(ステップS144)。 The control unit 31 receives, for example, an authentication code input by the user on the authentication code input screen via the input unit 34 (step S342). The control unit 31 transmits the authentication code input by the user to the server 1 by the communication unit 33 (step S343). The control unit 11 of the server 1 receives the authentication code input by the user from the user terminal 3 via the communication unit 13 (step S144).

制御部11は、ユーザにより入力された認証コードと、ユーザ端末3に発行した認証コードとを比較し、ユーザにより入力された認証コードが正しいか否かを判定する(ステップS145)。制御部11は、ユーザにより入力された認証コードが正しいと判定した場合(ステップS145でYES)、多要素認証に成功した結果を出力し(ステップS146)、リターンする。制御部11は、ユーザにより入力された認証コードが正しくないと判定した場合(ステップS145でNO)、多要素認証に失敗した結果を出力し(ステップS147)、リターンする。 The control unit 11 compares the authentication code input by the user with the authentication code issued to the user terminal 3 and determines whether or not the authentication code input by the user is correct (step S145). When the control unit 11 determines that the authentication code input by the user is correct (YES in step S145), the control unit 11 outputs the result of successful multi-factor authentication (step S146) and returns. If the control unit 11 determines that the authentication code input by the user is incorrect (NO in step S145), the control unit 11 outputs the result of failure in multi-factor authentication (step S147), and returns.

本実施形態によると、高いリスクを検出した場合に多要素認証処理を行うことにより、攻撃者が正規ユーザになりすましてウェブサイトへのアクセスを防止するため、セキュリティレベルの向上を図ることが可能となる。 According to this embodiment, by performing multi-factor authentication processing when a high risk is detected, it is possible to improve the security level because an attacker can prevent access to the website by impersonating a legitimate user. Become.

(実施形態3)
実施形態3は、端末情報に基づき、所定の評価項目のリスクスコアを算出することにより、第2異常を判定する形態に関する。なお、実施形態1~2と重複する内容については説明を省略する。
(Embodiment 3)
The third embodiment relates to a mode for determining a second abnormality by calculating a risk score of a predetermined evaluation item based on terminal information. The description of the contents overlapping with the first and second embodiments will be omitted.

サーバ1の制御部11は、ユーザIDに基づき、大容量記憶部17のアクセス履歴DB175から前回ログイン時点でのトークン及び端末IDを取得する。制御部11は、取得したトークン及び端末IDに基づき、大容量記憶部17の端末情報DB171に記憶された前回ログイン時点での端末情報を取得する。制御部11は、所定の評価項目に基づき、今回ログインの端末情報と前回ログインの端末情報とを比較する。評価項目は、例えば端末ID、アクセス元のIPアドレス、OSまたはブラウザを含む。 The control unit 11 of the server 1 acquires the token and the terminal ID at the time of the previous login from the access history DB 175 of the large-capacity storage unit 17 based on the user ID. Based on the acquired token and terminal ID, the control unit 11 acquires the terminal information stored in the terminal information DB 171 of the large-capacity storage unit 17 at the time of the previous login. The control unit 11 compares the terminal information of the current login with the terminal information of the previous login based on a predetermined evaluation item. The evaluation items include, for example, a terminal ID, an IP address of an access source, an OS or a browser.

具体的には、制御部11は、今回ログイン時点での評価項目と、前回のログイン時点での評価項目とを比較する。例えば、制御部11は、「端末ID」、「アクセス元のIPアドレス」、「OS」、「ブラウザ」評価項目に対し、今回ログイン時点での項目内容と、前回ログイン時点での項目内容とを比較する。 Specifically, the control unit 11 compares the evaluation item at the time of login this time with the evaluation item at the time of previous login. For example, the control unit 11 sets the item contents at the time of login this time and the item contents at the time of the previous login for the evaluation items of "terminal ID", "IP address of access source", "OS", and "browser". Compare.

制御部11は、比較対象の評価項目が一致していないと判定した場合、該評価項目の評価ルールに応じて、該評価項目のリスクスコアを算出する。評価ルールは、例えば「端末ID 不一致:100 一致:0、アクセス元のIPアドレス 不一致:60 一致:0、OS 不一致:70 一致:0、ブラウザ 不一致:30 一致:0」等であっても良い。 When the control unit 11 determines that the evaluation items to be compared do not match, the control unit 11 calculates the risk score of the evaluation item according to the evaluation rule of the evaluation item. The evaluation rule may be, for example, "terminal ID mismatch: 100 match: 0, access source IP address mismatch: 60 match: 0, OS mismatch: 70 match: 0, browser mismatch: 30 match: 0" or the like.

例えば、制御部11は、今回のログイン時点での端末IDと、前回ログイン時点での端末IDとが一致していないと判定した場合、上述した評価ルールに基づき、「端末ID」評価項目のリスクスコアが100であると算出する。制御部11は、算出した「端末ID」評価項目のリスクスコアが基準スコア(例えば、60)以上であるか否かを判定する。制御部11は、「端末ID」評価項目のリスクスコアが基準スコア以上であると判定した場合、第2異常として判定する。 For example, if the control unit 11 determines that the terminal ID at the time of the current login and the terminal ID at the time of the previous login do not match, the risk of the "terminal ID" evaluation item is based on the above-mentioned evaluation rule. It is calculated that the score is 100. The control unit 11 determines whether or not the calculated risk score of the "terminal ID" evaluation item is equal to or higher than the reference score (for example, 60). When the control unit 11 determines that the risk score of the "terminal ID" evaluation item is equal to or higher than the reference score, the control unit 11 determines that it is a second abnormality.

制御部11は、今回のログイン時点での端末IDと前回ログイン時点での端末IDとが一致すると判定した場合、端末ID以外の評価項目(例えば、IPアドレス、OS等)に対して比較する。この場合、例えば制御部11は、端末ID以外の評価項目のリスクスコアが基準スコア以上である評価項目数が所定数(例えば、2)以上であると判定した場合、第2異常として判定する。 When the control unit 11 determines that the terminal ID at the time of the current login and the terminal ID at the time of the previous login match, the control unit 11 compares the evaluation items other than the terminal ID (for example, IP address, OS, etc.). In this case, for example, when the control unit 11 determines that the number of evaluation items for which the risk score of the evaluation item other than the terminal ID is equal to or greater than the reference score is a predetermined number (for example, 2) or more, the control unit 11 determines that the second abnormality.

なお、上述したリスクスコアにより異常を判定する処理の流れに関しては、実施形態1での判定処理の流れと同様であるため、フローチャートの説明を省略する。 Since the flow of the process of determining an abnormality based on the risk score described above is the same as the flow of the determination process in the first embodiment, the description of the flowchart will be omitted.

本実施形態によると、端末情報に基づき、所定の評価項目のリスクスコアを算出することにより第2異常を判定することが可能となる。 According to this embodiment, it is possible to determine the second abnormality by calculating the risk score of a predetermined evaluation item based on the terminal information.

(実施形態4)
実施形態4は、第1異常、第2異常及び第3異常の合計リスクスコアにより、異常を判定する形態に関する。なお、実施形態1~3と重複する内容については説明を省略する。
(Embodiment 4)
The fourth embodiment relates to a mode in which an abnormality is determined based on the total risk score of the first abnormality, the second abnormality, and the third abnormality. The description of the contents overlapping with the first to third embodiments will be omitted.

サーバ1の制御部11は、第1異常を判定した場合、第1異常を判定した各評価項目のリスクスコアに基づき、第1合計リスクスコアを算出する。制御部11は、第2異常を判定した場合、第2異常を判定した各評価項目のリスクスコアに基づき、第2合計リスクスコアを算出する。制御部11は、第3異常を判定した場合、第3異常を判定した各評価項目のリスクスコアに基づき、第3合計リスクスコアを算出する。 When the control unit 11 of the server 1 determines the first abnormality, the control unit 11 calculates the first total risk score based on the risk score of each evaluation item for which the first abnormality is determined. When the second abnormality is determined, the control unit 11 calculates the second total risk score based on the risk score of each evaluation item for which the second abnormality is determined. When the third abnormality is determined, the control unit 11 calculates the third total risk score based on the risk score of each evaluation item for which the third abnormality is determined.

制御部11は、算出した第1合計リスクスコア、第2合計リスクスコア及び第3合計リスクスコアの合計リスクスコアを算出する。制御部11は、算出した合計リスクスコアと、合計リスクスコアにより異常を判定するための基準スコアとを比較する。制御部11は、算出した合計リスクスコアが基準スコア以上であると判定した場合、異常として判定する。 The control unit 11 calculates the total risk score of the calculated first total risk score, second total risk score, and third total risk score. The control unit 11 compares the calculated total risk score with the reference score for determining an abnormality based on the total risk score. When the control unit 11 determines that the calculated total risk score is equal to or higher than the reference score, the control unit 11 determines that the total risk score is abnormal.

制御部11は、第1合計リスクスコア、第2合計リスクスコア、第3合計リスクスコアに基づき、例えば縦棒グラフまたは円グラフを生成する。制御部11は、通信部13を介して、生成したグラフ情報を監視者端末4に送信する。監視者端末4は、サーバ1から送信したグラフ情報を通信部43により受信し、受信したグラフ情報を表示部45により表示する。なお、上述したグラフに限るものではない。例えば、制御部11は、第1合計リスクスコア、第2合計リスクスコア、第3合計リスクスコア、または三者の合計リスクスコアに基づき、表の形式でのレポートを生成する。制御部11は、生成したレポートを通信部13により監視者端末4に送信しても良い。 The control unit 11 generates, for example, a column graph or a pie chart based on the first total risk score, the second total risk score, and the third total risk score. The control unit 11 transmits the generated graph information to the monitor terminal 4 via the communication unit 13. The observer terminal 4 receives the graph information transmitted from the server 1 by the communication unit 43, and displays the received graph information by the display unit 45. The graph is not limited to the above-mentioned graph. For example, the control unit 11 generates a report in the form of a table based on the first total risk score, the second total risk score, the third total risk score, or the total risk score of the three parties. The control unit 11 may transmit the generated report to the observer terminal 4 by the communication unit 13.

図21は、合計リスクスコアにより異常を判定する際の処理手順を示すフローチャートである。なお、第1異常、第2異常及び第3異常の判定処理に関しては、実施形態1での判定処理と同様であるため、説明を省略する。 FIG. 21 is a flowchart showing a processing procedure when determining an abnormality based on the total risk score. Since the determination process of the first abnormality, the second abnormality, and the third abnormality is the same as the determination process in the first embodiment, the description thereof will be omitted.

サーバ1の制御部11は、第1異常を判定した各評価項目のリスクスコアに基づき、第1合計リスクスコアを算出する(ステップS161)。制御部11は、第2異常を判定した各評価項目のリスクスコアに基づき、第2合計リスクスコアを算出する(ステップS162)。制御部11は、第3異常を判定した各評価項目のリスクスコアに基づき、第3合計リスクスコアを算出する(ステップS163)。 The control unit 11 of the server 1 calculates the first total risk score based on the risk score of each evaluation item for which the first abnormality is determined (step S161). The control unit 11 calculates the second total risk score based on the risk score of each evaluation item for which the second abnormality is determined (step S162). The control unit 11 calculates the third total risk score based on the risk score of each evaluation item for which the third abnormality is determined (step S163).

制御部11は、算出した第1合計リスクスコア、第2合計リスクスコア及び第3合計リスクスコアの合計リスクスコアを算出する(ステップS164)。制御部11は、合計リスクスコアにより異常を判定するための基準スコアを記憶部12または大容量記憶部17から取得する(ステップS165)。制御部11は、算出した合計リスクスコアが基準スコア以上であるか否かを判定する(ステップS166)。 The control unit 11 calculates the calculated total risk score of the first total risk score, the second total risk score, and the third total risk score (step S164). The control unit 11 acquires a reference score for determining an abnormality based on the total risk score from the storage unit 12 or the large-capacity storage unit 17 (step S165). The control unit 11 determines whether or not the calculated total risk score is equal to or higher than the reference score (step S166).

制御部11は、算出した合計リスクスコアが基準スコア以上であると判定した場合(ステップS166でYES)、ステップS167~S169を実行する。監視者端末4の制御部41は、ステップS461~S462を実行する。なお、ステップS167~S169、及びS461~S462の処理は、図14でのステップS114~S116、及びS401~S402と同様であるため、説明を省略する。制御部11は、算出した合計リスクスコアが基準スコア未満であると判定した場合(ステップS166でNO)、図14でのステップS118に遷移する。 When the control unit 11 determines that the calculated total risk score is equal to or higher than the reference score (YES in step S166), the control unit 11 executes steps S167 to S169. The control unit 41 of the observer terminal 4 executes steps S461 to S462. Since the processes of steps S167 to S169 and S461 to S462 are the same as those of steps S114 to S116 and S401 to S402 in FIG. 14, the description thereof will be omitted. When the control unit 11 determines that the calculated total risk score is less than the reference score (NO in step S166), the control unit 11 transitions to step S118 in FIG.

本実施形態によると、合計リスクスコアにより異常を判定することができるため、総合的に異常を判定することが可能となる。 According to the present embodiment, since the abnormality can be determined by the total risk score, it is possible to comprehensively determine the abnormality.

今回開示された実施形態は全ての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。 The embodiments disclosed this time should be considered to be exemplary in all respects and not restrictive. The scope of the present invention is indicated by the scope of claims, not the above-mentioned meaning, and is intended to include all modifications within the meaning and scope equivalent to the scope of claims.

1 情報処理装置(サーバ)
11 制御部
12 記憶部
13 通信部
14 入力部
15 表示部
16 読取部
17 大容量記憶部
171 端末情報DB
172 リスクスコアDB
173 操作ログDB
174 異常判定結果DB
175 アクセス履歴DB
1a 可搬型記憶媒体
1b 半導体メモリ
1P 制御プログラム
2 情報処理装置(ウェブサーバ)
21 制御部
22 記憶部
23 通信部
24 入力部
25 表示部
26 読取部
27 大容量記憶部
2a 可搬型記憶媒体
2b 半導体メモリ
2P 制御プログラム
3 情報処理端末(ユーザ端末)
31 制御部
32 記憶部
33 通信部
34 入力部
35 表示部
3P 制御プログラム
4 情報処理端末(監視者端末)
41 制御部
42 記憶部
43 通信部
44 入力部
45 表示部
4P 制御プログラム
1 Information processing device (server)
11 Control unit 12 Storage unit 13 Communication unit 14 Input unit 15 Display unit 16 Reading unit 17 Large-capacity storage unit 171 Terminal information DB
172 Risk score DB
173 Operation log DB
174 Abnormality judgment result DB
175 Access history DB
1a Portable storage medium 1b Semiconductor memory 1P Control program 2 Information processing device (web server)
21 Control unit 22 Storage unit 23 Communication unit 24 Input unit 25 Display unit 26 Reading unit 27 Large-capacity storage unit 2a Portable storage medium 2b Semiconductor memory 2P control program 3 Information processing terminal (user terminal)
31 Control unit 32 Storage unit 33 Communication unit 34 Input unit 35 Display unit 3P control program 4 Information processing terminal (monitorer terminal)
41 Control unit 42 Storage unit 43 Communication unit 44 Input unit 45 Display unit 4P Control program

Claims (7)

ウェブアプリケーションファイアウォールプログラムにおいて、
ユーザ端末からユーザが保護対象のウェブサイトへログインした第1ログイン時点での第1IPアドレスを取得し、
取得した前記第1IPアドレスに基づき、プロバイダ及び国を含む第1地域情報を特定し、
前記第1ログイン時点と異なる第2ログイン時点での第2IPアドレスを取得し、
取得した前記第2IPアドレスに基づき、第2地域情報を特定し、
前記第1ログイン時点での第1ログイン時間及び前記第1地域情報と、前記第2ログイン時点での第2ログイン時間及び前記第2地域情報とに基づき、第1異常を判定し、
前記ユーザ端末から複数種類の端末情報を取得し、
前記端末情報を記憶したデータベースから前記ユーザ端末に対応する複数種類の端末情報を読み出し、
取得した複数種類の端末情報と読み出した複数種類の端末情報とを比較し、
相互に端末情報が一致しない不一致数を計数し、
計数した不一致数が所定数以上である場合、第2異常と判定し、
前記ユーザの操作ログを取得し、
取得した前記操作ログに基づき、第2リスクスコアを算出し、
算出した第2リスクスコアが所定の基準スコア以上であると判定した場合、第3異常を判定し、
第1異常、第2異常または第3異常を含む異常を判定したユーザのアクセス履歴情報及び異常判定結果を監視者端末に出力する
処理をコンピュータに実行させるプログラム。
In the web application firewall program
Obtain the first IP address at the time of the first login when the user logs in to the protected website from the user terminal,
Based on the acquired first IP address, identify the first area information including the provider and country , and
Obtain a second IP address at the time of the second login, which is different from the time of the first login.
Based on the acquired second IP address, the second area information is specified,
Based on the first login time and the first area information at the time of the first login, and the second login time and the second area information at the time of the second login, the first abnormality is determined .
Obtaining multiple types of terminal information from the user terminal,
A plurality of types of terminal information corresponding to the user terminal are read from the database storing the terminal information, and the terminal information is read out.
Comparing the acquired multiple types of terminal information with the read out multiple types of terminal information,
Count the number of mismatches where the terminal information does not match each other,
If the counted number of discrepancies is equal to or greater than the predetermined number, it is determined to be the second abnormality.
Acquire the operation log of the user and
The second risk score is calculated based on the acquired operation log.
If it is determined that the calculated second risk score is equal to or higher than the predetermined reference score, the third abnormality is determined.
Output the access history information and abnormality judgment result of the user who judged the abnormality including the first abnormality, the second abnormality or the third abnormality to the monitor terminal.
A program that causes a computer to perform processing.
前記ユーザ端末から端末情報を取得し、
前記ユーザ端末の識別に使用するトークンを発行し、
発行した前記トークンに対応付けて、取得した前記端末情報を前記データベースに記憶する
処理を実行させる請求項1に記載のプログラム。
Obtain terminal information from the user terminal and
Issue a token used to identify the user terminal,
The program according to claim 1, wherein a process of storing the acquired terminal information in the database in association with the issued token is executed.
前記端末情報は、アクセス先ホスト情報、アクセス元情報、VPN(Virtual Private
Network)利用情報、プロキシ利用情報、位置情報、オペレーティングシステム情報またはブラウザ情報を含む
請求項2に記載のプログラム。
The terminal information includes access destination host information, access source information, and VPN (Virtual Private).
Network) The program according to claim 2, which includes usage information, proxy usage information, location information, operating system information or browser information.
ユーザが前記ウェブサイトにログインしていると判定した場合、前記端末情報に基づき、認証処理を行うためのリスクスコアを算出し、
算出したリスクスコアが所定の基準スコア以上であると判定した場合、多要素認証処理を行う
処理を実行させる請求項からまでのいずれかひとつに記載のプログラム。
When it is determined that the user is logged in to the website, the risk score for performing the authentication process is calculated based on the terminal information.
The program according to any one of claims 1 to 3 , which executes a process of performing multi-factor authentication processing when it is determined that the calculated risk score is equal to or higher than a predetermined reference score.
ウェブアプリケーションファイアウォールがインストールされた情報処理装置において、
ユーザ端末からユーザが保護対象のウェブサイトへログインした第1ログイン時点での第1IPアドレスを取得する第1取得部と、
取得した前記第1IPアドレスに基づき、プロバイダ及び国を含む第1地域情報
を特定する第1特定部と、
前記第1ログイン時点と異なる第2ログイン時点での第2IPアドレスを取得する第2取得部と、
取得した前記第2IPアドレスに基づき、第2地域情報を特定する第2特定部と、
前記第1ログイン時点での第1ログイン時間及び前記第1地域情報と、前記第2ログイン時点での第2ログイン時間及び前記第2地域情報とに基づき、第1異常を判定する第1判定部と
前記ユーザ端末から複数種類の端末情報を取得する第3取得部と、
前記端末情報を記憶したデータベースから前記ユーザ端末に対応する複数種類の端末情報を読み出す読出部と、
取得した複数種類の端末情報と読み出した複数種類の端末情報とを比較する比較部と、
相互に端末情報が一致しない不一致数を計数する計数部と、
計数した不一致数が所定数以上である場合、第2異常と判定する第2判定部と、
前記ユーザの操作ログを取得する第4取得部と、
取得した前記操作ログに基づき、第2リスクスコアを算出する算出部と、
算出した第2リスクスコアが所定の基準スコア以上であると判定した場合、第3異常を判定する第3判定部と、
第1異常、第2異常または第3異常を含む異常を判定したユーザのアクセス履歴情報及び異常判定結果を監視者端末に出力する出力部と
を備えることを特徴とする情報処理装置。
In an information processing device with a web application firewall installed
The first acquisition unit that acquires the first IP address at the time of the first login when the user logs in to the protected website from the user terminal,
Based on the acquired first IP address, the first specific part that specifies the first area information including the provider and the country, and
The second acquisition unit that acquires the second IP address at the time of the second login, which is different from the time of the first login, and
Based on the acquired second IP address, the second specific part that specifies the second area information and
A first determination unit that determines a first abnormality based on the first login time and the first area information at the time of the first login, the second login time at the time of the second login, and the second area information. And ,
A third acquisition unit that acquires a plurality of types of terminal information from the user terminal,
A reading unit that reads out a plurality of types of terminal information corresponding to the user terminal from a database that stores the terminal information.
A comparison unit that compares the acquired multiple types of terminal information with the read out multiple types of terminal information,
A counting unit that counts the number of mismatches where the terminal information does not match each other,
When the counted number of discrepancies is equal to or greater than a predetermined number, the second determination unit for determining the second abnormality and the second determination unit
The fourth acquisition unit that acquires the operation log of the user, and
A calculation unit that calculates the second risk score based on the acquired operation log,
When it is determined that the calculated second risk score is equal to or higher than the predetermined reference score, the third determination unit for determining the third abnormality and the third determination unit
An output unit that outputs the access history information and abnormality judgment result of the user who has determined the abnormality including the first abnormality, the second abnormality, or the third abnormality to the monitor terminal.
An information processing device characterized by being equipped with.
ウェブアプリケーションファイアウォールがインストールされたコンピュータに、
ユーザ端末からユーザが保護対象のウェブサイトへログインした第1ログイン時点での第1IPアドレスを取得し、
取得した前記第1IPアドレスに基づき、プロバイダ及び国を含む第1地域情報を特定し、
前記第1ログイン時点と異なる第2ログイン時点での第2IPアドレスを取得し、
取得した前記第2IPアドレスに基づき、第2地域情報を特定し、
前記第1ログイン時点での第1ログイン時間及び前記第1地域情報と、前記第2ログイン時点での第2ログイン時間及び前記第2地域情報とに基づき、第1異常を判定し、
前記ユーザ端末から複数種類の端末情報を取得し、
前記端末情報を記憶したデータベースから前記ユーザ端末に対応する複数種類の端末情報を読み出し、
取得した複数種類の端末情報と読み出した複数種類の端末情報とを比較し、
相互に端末情報が一致しない不一致数を計数し、
計数した不一致数が所定数以上である場合、第2異常と判定し、
前記ユーザの操作ログを取得し、
取得した前記操作ログに基づき、第2リスクスコアを算出し、
算出した第2リスクスコアが所定の基準スコア以上であると判定した場合、第3異常を判定し、
第1異常、第2異常または第3異常を含む異常を判定したユーザのアクセス履歴情報及び異常判定結果を監視者端末に出力する
処理を実行させることを特徴とする情報処理方法。
On a computer with a web application firewall installed,
Obtain the first IP address at the time of the first login when the user logs in to the protected website from the user terminal,
Based on the acquired first IP address, identify the first area information including the provider and country , and
Obtain a second IP address at the time of the second login, which is different from the time of the first login.
Based on the acquired second IP address, the second area information is specified,
Based on the first login time and the first area information at the time of the first login, and the second login time and the second area information at the time of the second login, the first abnormality is determined .
Obtaining multiple types of terminal information from the user terminal,
A plurality of types of terminal information corresponding to the user terminal are read from the database storing the terminal information, and the terminal information is read out.
Comparing the acquired multiple types of terminal information with the read out multiple types of terminal information,
Count the number of mismatches where the terminal information does not match each other,
If the counted number of discrepancies is equal to or greater than the predetermined number, it is determined to be the second abnormality.
Acquire the operation log of the user and
The second risk score is calculated based on the acquired operation log.
If it is determined that the calculated second risk score is equal to or higher than the predetermined reference score, the third abnormality is determined.
Output the access history information and abnormality judgment result of the user who judged the abnormality including the first abnormality, the second abnormality or the third abnormality to the monitor terminal.
An information processing method characterized by executing processing.
ウェブアプリケーションファイアウォールプログラムにおいて、 In the web application firewall program
ユーザ端末からユーザが保護対象のウェブサイトへログインした第1ログイン時点での第1IPアドレスを取得し、 Obtain the first IP address at the time of the first login when the user logs in to the protected website from the user terminal,
取得した前記第1IPアドレスに基づき、プロバイダ及び国を含む第1地域情報を特定し、 Based on the acquired first IP address, identify the first area information including the provider and country, and
前記第1ログイン時点と異なる第2ログイン時点での第2IPアドレスを取得し、 Obtain a second IP address at the time of the second login, which is different from the time of the first login.
取得した前記第2IPアドレスに基づき、第2地域情報を特定し、 Based on the acquired second IP address, the second area information is specified,
前記第1ログイン時点での第1ログイン時間及び前記第1地域情報と、前記第2ログイン時点での第2ログイン時間及び前記第2地域情報とに基づき、第1異常を判定するための複数の評価項目のリスクスコアのそれぞれを算出し、 A plurality of for determining a first abnormality based on the first login time and the first area information at the time of the first login, the second login time at the time of the second login, and the second area information. Calculate each of the risk scores of the evaluation items and
算出した複数の評価項目のリスクスコアのいずれかのリスクスコアが基準スコア以上である場合、前記第1異常を判定する When the risk score of any of the calculated risk scores of the plurality of evaluation items is equal to or higher than the reference score, the first abnormality is determined.
処理をコンピュータに実行させるプログラム。 A program that causes a computer to perform processing.
JP2019203534A 2019-11-08 2019-11-08 Programs, information processing equipment and information processing methods Active JP7027647B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019203534A JP7027647B2 (en) 2019-11-08 2019-11-08 Programs, information processing equipment and information processing methods

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019203534A JP7027647B2 (en) 2019-11-08 2019-11-08 Programs, information processing equipment and information processing methods

Publications (2)

Publication Number Publication Date
JP2021077122A JP2021077122A (en) 2021-05-20
JP7027647B2 true JP7027647B2 (en) 2022-03-02

Family

ID=75900073

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019203534A Active JP7027647B2 (en) 2019-11-08 2019-11-08 Programs, information processing equipment and information processing methods

Country Status (1)

Country Link
JP (1) JP7027647B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114499973B (en) * 2021-12-28 2023-09-01 重庆医药高等专科学校 Safety protection system for asset management system
JP7311721B1 (en) * 2022-07-06 2023-07-19 PayPay株式会社 Information processing device, information processing method, and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009175984A (en) 2008-01-23 2009-08-06 Nippon Telegr & Teleph Corp <Ntt> Principal authentication device, principal authentication method and principal authentication program
JP2014132448A (en) 2012-12-07 2014-07-17 Canon Marketing Japan Inc Terminal device, server device, control method thereof, and control program, and information processing system
JP2016126670A (en) 2015-01-07 2016-07-11 Kddi株式会社 Risk base authentication method and system using portable terminal
JP2017010494A (en) 2015-06-26 2017-01-12 横河電機株式会社 Industrial device functioning as web server

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009175984A (en) 2008-01-23 2009-08-06 Nippon Telegr & Teleph Corp <Ntt> Principal authentication device, principal authentication method and principal authentication program
JP2014132448A (en) 2012-12-07 2014-07-17 Canon Marketing Japan Inc Terminal device, server device, control method thereof, and control program, and information processing system
JP2016126670A (en) 2015-01-07 2016-07-11 Kddi株式会社 Risk base authentication method and system using portable terminal
JP2017010494A (en) 2015-06-26 2017-01-12 横河電機株式会社 Industrial device functioning as web server

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
齋藤 考道,世界のウェブアーカイブ,2019年04月19日,https://web.archive.org/web/20190419123706/https://www.saitolab.org/fp_site/

Also Published As

Publication number Publication date
JP2021077122A (en) 2021-05-20

Similar Documents

Publication Publication Date Title
JP6680840B2 (en) Automatic detection of fraudulent digital certificates
US11570209B2 (en) Detecting and mitigating attacks using forged authentication objects within a domain
US11570204B2 (en) Detecting and mitigating golden ticket attacks within a domain
US9060017B2 (en) System for detecting, analyzing, and controlling infiltration of computer and network systems
US20190364019A1 (en) Evaluating and modifying countermeasures based on aggregate transaction status
US10223524B1 (en) Compromised authentication information clearing house
US8732472B2 (en) System and method for verification of digital certificates
US8850567B1 (en) Unauthorized URL requests detection
US8904506B1 (en) Dynamic account throttling
US9838384B1 (en) Password-based fraud detection
CN108154029A (en) Intrusion detection method, electronic equipment and computer storage media
JP2014115833A (en) Method for inhibiting continuous unauthorized access
JP7027647B2 (en) Programs, information processing equipment and information processing methods
WO2020210976A1 (en) System and method for detecting anomaly
US20230319019A1 (en) Detecting and mitigating forged authentication attacks using an advanced cyber decision platform
US20230362142A1 (en) Network action classification and analysis using widely distributed and selectively attributed sensor nodes and cloud-based processing
US20230388278A1 (en) Detecting and mitigating forged authentication object attacks in multi - cloud environments with attestation
US11303670B1 (en) Pre-filtering detection of an injected script on a webpage accessed by a computing device
US20240089260A1 (en) System and method for graduated deny list
JP2020071637A (en) Website vulnerability diagnosis device, diagnosis system, diagnosis method, and diagnosis program
TWI617939B (en) Attacking node detection apparatus, method, and computer program product thereof
US9722998B1 (en) Authenticating a cookie with distinctive signals
US9906514B1 (en) Resisting anonymous scraping
US11722459B1 (en) Cumulative sum model for IP deny lists
US20240022546A1 (en) Master ledger and local host log extension detection and mitigation of forged authentication attacks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210423

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210921

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211214

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20220112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220121

R150 Certificate of patent or registration of utility model

Ref document number: 7027647

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150