JP2023129069A - Information processing device, information processing method, and information processing program - Google Patents
Information processing device, information processing method, and information processing program Download PDFInfo
- Publication number
- JP2023129069A JP2023129069A JP2022033839A JP2022033839A JP2023129069A JP 2023129069 A JP2023129069 A JP 2023129069A JP 2022033839 A JP2022033839 A JP 2022033839A JP 2022033839 A JP2022033839 A JP 2022033839A JP 2023129069 A JP2023129069 A JP 2023129069A
- Authority
- JP
- Japan
- Prior art keywords
- server device
- api key
- address
- global
- information processing
- 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.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 126
- 238000003672 processing method Methods 0.000 title claims description 7
- 238000000034 method Methods 0.000 claims abstract description 19
- 238000010586 diagram Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 12
- 230000004044 response Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
Images
Abstract
Description
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。 The present invention relates to an information processing device, an information processing method, and an information processing program.
従来、不正行為からコンピュータ機器やデータを保護するための技術が知られている。例えば、端末装置は、パケットを送信する場合に、パケットの送信先のホスト名からIPアドレスへの名前解決をDNSサーバに要求する。DNSサーバは、端末装置からの要求に応じて、ホスト名からIPアドレスへの名前解決を試みる。そして、DNSサーバは、名前解決ができない場合、または、名前解決結果が無効なIPアドレスである場合、名前解決結果に関する情報を端末装置に通知する技術が知られている。 Conventionally, techniques for protecting computer equipment and data from fraudulent activities are known. For example, when transmitting a packet, a terminal device requests a DNS server to resolve the host name of the destination of the packet to an IP address. The DNS server attempts name resolution from a host name to an IP address in response to a request from a terminal device. There is a known technique in which the DNS server notifies the terminal device of information regarding the name resolution result when the name resolution cannot be performed or when the name resolution result is an invalid IP address.
しかしながら、上記の従来技術では、DNSサーバは、名前解決ができない場合、または、名前解決結果が無効なIPアドレスである場合、名前解決結果に関する情報を端末装置に通知するにすぎない。したがって、上記の従来技術では、APIキーが適切に利用されているかどうかを管理可能とすることができるとは限らない。 However, in the above-mentioned conventional technology, the DNS server only notifies the terminal device of information regarding the name resolution result when the name resolution cannot be performed or when the name resolution result is an invalid IP address. Therefore, with the above-described conventional technology, it is not always possible to manage whether the API key is being used appropriately.
本開示は、APIキーが適切に利用されているかどうかを管理可能とすることができる情報処理装置、情報処理方法および情報処理プログラムを提供する。 The present disclosure provides an information processing device, an information processing method, and an information processing program that can manage whether an API key is being used appropriately.
実施形態に係る情報処理装置は、グローバルIPアドレスによって識別されるサーバ装置によるAPIキーの利用履歴を示す利用履歴情報を前記グローバルIPアドレスごとに記憶する記憶部と、前記利用履歴情報に基づいて、前記APIキーを不正利用していないと判定されたサーバ装置である第1サーバ装置による前記APIキーの利用回数である第1利用回数を示す第1利用回数情報、および、判定対象のサーバ装置であって、前記第1サーバ装置を識別する第1グローバルIPアドレスと異なる第2グローバルIPアドレスによって識別され前記第1サーバ装置が利用する前記APIキーを利用する第2サーバ装置による前記APIキーの利用回数である第2利用回数を示す第2利用回数情報を取得する取得部と、前記第1利用回数と前記第2利用回数との比較に基づいて、前記第2サーバ装置が前記APIキーを不正利用しているか否かを示すスコアを算出する算出部と、前記算出部によって算出されたスコアが所定の閾値を超える場合に、前記第2サーバ装置が前記APIキーを不正利用していると判定し、前記算出部によって算出されたスコアが前記所定の閾値以下である場合に、前記第2サーバ装置が前記APIキーを不正利用していないと判定する判定部と、を備える。 The information processing device according to the embodiment includes a storage unit that stores usage history information indicating a usage history of an API key by a server device identified by a global IP address for each global IP address, and based on the usage history information, first use count information indicating a first use count, which is the number of times the API key is used by a first server device that is determined to be not using the API key illegally; and use of the API key by a second server device that uses the API key identified by a second global IP address different from a first global IP address that identifies the first server device and used by the first server device. an acquisition unit that acquires second usage frequency information indicating a second usage frequency, and based on a comparison between the first usage frequency and the second usage frequency, the second server device determines whether the API key is illegally used. a calculation unit that calculates a score indicating whether or not the API key is being used; and a determination that the second server device is illegally using the API key when the score calculated by the calculation unit exceeds a predetermined threshold. and a determination unit that determines that the second server device is not illegally using the API key when the score calculated by the calculation unit is less than or equal to the predetermined threshold.
以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。 DESCRIPTION OF THE PREFERRED EMBODIMENTS An information processing apparatus, an information processing method, and an information processing program according to the present application (hereinafter referred to as "embodiments") will be described in detail below with reference to the drawings. Note that the information processing apparatus, information processing method, and information processing program according to the present application are not limited to this embodiment. Further, in each of the embodiments below, the same parts are given the same reference numerals, and redundant explanations will be omitted.
(実施形態)
〔1.はじめに〕
近年、API(Application Programming Interface)を提供しているサービスなどにおいて、APIキーを顧客ごとに提供し、APIキー情報が正しいことを確認して、APIを実行させるビジネスモデルが増加している。ここで、APIキーを利用する顧客にとっては、APIキーの流出や、APIキーの不正利用は、懸念事項である。ところが従来、APIキーの不正利用に気づくには、顧客自らがAPIキーの利用状況を監視する必要があったため、顧客の負担となっていた。そこで、APIの提供者側が、APIキーの不正利用を検出し、検出された不正利用の情報を顧客へ提供する技術が望まれている。これにより、APIの提供者としてのサービス品質の向上、および、顧客のサービス満足度の向上に繋がると思われる。
(Embodiment)
[1. Introduction]
In recent years, in services that provide APIs (Application Programming Interfaces), there has been an increase in business models in which an API key is provided to each customer and the API is executed after confirming that the API key information is correct. Here, for customers who use API keys, leakage of API keys and unauthorized use of API keys are concerns. However, in the past, in order to notice unauthorized use of an API key, the customer had to monitor the usage status of the API key himself, which placed a burden on the customer. Therefore, a technology is desired in which an API provider side can detect unauthorized use of an API key and provide information on the detected unauthorized use to a customer. This is expected to lead to improved service quality as an API provider and improved customer service satisfaction.
そこで、本実施形態は、次の(1)~(5)の処理で構成される。(1)APIの提供者が、顧客に対してAPIキーを提供する。(2)顧客は、APIキーを顧客のサーバ装置に設定して、APIを実行するプログラムを実装する。(3)情報処理装置は、APIの提供者によって管理される。情報処理装置は、APIキーを用いてAPIが実行された場合、接続元のサーバ装置のグローバルIPアドレスとAPIキーを対応付けたうえで、APIキーの利用履歴を記録することで、APIキーの利用回数をカウントする。(4)情報処理装置は、接続元のサーバ装置のグローバルIPアドレスを逆引きし、FQDN(Fully Qualified Domain Name)を得られた場合はFQDNに関する情報も付帯させたうえで、APIキーの利用履歴を記録する。(5)情報処理装置は、接続元のサーバ装置のグローバルIPアドレスやFQDNが異なりAPIキーが同一の通信があった場合や、APIキーの利用回数の傾向が従来と著しく異なる場合、APIキーの流出や不正利用(以下、APIキーの不正利用ともいう)を疑うようアラートが上がるようにする。具体的には、情報処理装置は、接続元のサーバ装置のグローバルIPアドレスやFQDNが異なりAPIキーが同一の通信があった場合や、APIキーの利用回数の傾向が従来と著しく異なる場合に対応するスコアを算出し、算出されたスコアが所定の閾値を超える場合、APIキーが不正利用されたと判定する。 Therefore, this embodiment consists of the following processes (1) to (5). (1) An API provider provides an API key to a customer. (2) The customer sets an API key on the customer's server device and implements a program that executes the API. (3) The information processing device is managed by the API provider. When an API is executed using an API key, the information processing device associates the API key with the global IP address of the server device that is the connection source, and records the usage history of the API key. Count the number of uses. (4) The information processing device performs a reverse lookup on the global IP address of the server device that is the connection source, and if an FQDN (Fully Qualified Domain Name) is obtained, it also attaches information about the FQDN, and then retrieves the API key usage history. Record. (5) If the information processing device receives a communication with the same API key but with a different global IP address or FQDN of the server device that is the connection source, or if the trend in the number of times the API key is used is significantly different from before, the information processing device will An alert will be raised to suspect leakage or unauthorized use (hereinafter also referred to as unauthorized use of API keys). Specifically, the information processing device handles cases where the global IP address or FQDN of the connecting server device is different and there is communication with the same API key, or when the trend of the number of API key uses is significantly different from before. If the calculated score exceeds a predetermined threshold, it is determined that the API key has been fraudulently used.
これにより、情報処理装置は、APIキーの不正利用を検知することを可能にすることができる。また、情報処理装置は、接続元のサーバ装置がAPIキーを不正利用しているか否かを示すスコアを算出することにより、接続元のサーバ装置がAPIキーを正常に利用しているか否かについても管理することを可能にすることができる。したがって、情報処理装置は、APIキーが適切に利用されているかどうかを管理可能とすることができる。 Thereby, the information processing device can detect unauthorized use of the API key. In addition, the information processing device determines whether the connection source server device is using the API key normally by calculating a score indicating whether the connection source server device is using the API key illegally. can also be managed. Therefore, the information processing device can manage whether the API key is being used appropriately.
〔2.情報処理システムの構成例〕
図1は、実施形態に係る情報処理システム1の構成例を示す図である。情報処理システム1には、端末装置10と、サーバ装置20と、情報処理装置100とが含まれてよい。端末装置10と、サーバ装置20と、情報処理装置100とは所定のネットワークNを介して、有線または無線により通信可能に接続されてよい。なお、情報処理システム1には、任意の数の端末装置10と任意の数のサーバ装置20と任意の数の情報処理装置100とが含まれてもよい。
[2. Configuration example of information processing system]
FIG. 1 is a diagram illustrating a configuration example of an
端末装置10は、サーバ装置20が提供する第1のサービスであって、情報処理装置100が提供するAPIによって利用可能な第2のサービスを組み込んだ第1のサービスの利用者によって利用されるコンピュータである。端末装置10は、例えば、スマートフォンや、タブレット型端末や、PC(Personal Computer)や、ノート型PCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。また、端末装置10は、第2のサービスの利用に関する要求情報をサーバ装置20に対して送信する。
The
サーバ装置20は、情報処理装置100が提供するAPIによって利用可能な第2のサービスを組み込んだ第1のサービスを提供するサーバ装置である。サーバ装置20は、情報処理装置100が提供するAPIを実行するプログラムを実装する。サーバ装置20は、APIの提供者からあらかじめ提供されたAPIキーを用いて、情報処理装置100のAPIを実行する。APIキーは、事業者ごとに発行される。サーバ装置20は、第1のサービスを提供する事業者によって管理される。ここで、第1のサービスを提供する事業者は、情報処理装置100が提供するAPIを利用する顧客でもある。例えば、サーバ装置20は、第2のサービスとして、情報処理装置100が提供する決済APIによって利用可能な決済サービスを組み込んだ第1のサービスを提供する。また、サーバ装置20は、第2のサービスとして、情報処理装置100が提供するチケットAPIによって利用可能なチケットの発行サービスを組み込んだ第1のサービスを提供する。また、サーバ装置20は、第2のサービスとして、情報処理装置100が提供する乗車予約APIによって利用可能なオンデマンドバスの乗車予約サービスを組み込んだ第1のサービスを提供する。また、サーバ装置20は、第2のサービスとして、情報処理装置100が提供するエンドユーザー管理APIによって利用可能なエンドユーザーの管理サービスを組み込んだ第1のサービスを提供する。
The server device 20 is a server device that provides a first service that incorporates a second service that can be used using an API provided by the
また、サーバ装置20は、端末装置10から第2のサービスの利用に関する要求情報を受信した場合、受信した要求情報に応じて、APIキーとともに、APIの実行に関する要求情報を情報処理装置100に対して送信する。また、サーバ装置20は、APIの実行結果に関する応答情報を情報処理装置100から受信する。
Further, when the server device 20 receives request information regarding the use of the second service from the
情報処理装置100は、APIおよびAPIによって利用可能な第2のサービスを提供するサーバ装置である。情報処理装置100は、APIの提供者によって管理される。例えば、情報処理装置100は、決済API、および、決済APIによって利用可能な決済サービスを提供する。また、情報処理装置100は、チケットAPI、および、チケットAPIによって利用可能なチケットの発行サービスを提供する。また、情報処理装置100は、乗車予約API、および、乗車予約APIによって利用可能なオンデマンドバスの乗車予約サービスを提供する。また、情報処理装置100は、エンドユーザー管理API、および、エンドユーザー管理APIによって利用可能なエンドユーザーの管理サービスを提供する。
The
また、情報処理装置100は、APIキーとともに、APIの実行に関する要求情報をサーバ装置20から受信する。情報処理装置100は、要求情報を受信した場合、APIキーが正しければ、受信した要求情報に応じてAPIを実行する。情報処理装置100は、APIを実行した場合、APIの実行結果に関する応答情報をサーバ装置20に対して送信する。また、情報処理装置100は、上述した(3)~(5)の処理を実行する。
The
図2は、APIキーの不正利用の問題点について説明するための図である。図2に示す端末装置10は、A社によって提供されるサービス(図2では、A社サービスと記載する)の利用者によって使用される。A社サービスは、上述した第1のサービスに相当する。また、サーバ装置20-1は、A社サービスを提供するサーバ装置(図2では、A社サーバと記載する)である。サーバ装置20-1は、上述したサーバ装置20に相当する。また、サーバ装置20-2は、APIの提供者がA社専用に発行したAPIキー(図2では、A社専用APIキー(ABCDEFG)と記載する)を不正に利用するサーバ装置(図2では、不正アクセスサーバと記載する)である。
FIG. 2 is a diagram for explaining the problem of illegal use of API keys. The
図2では、端末装置10は、利用者の操作に従って、サーバ装置20-1にアクセスする。具体的には、端末装置10は、上述した第2のサービスの利用に関する要求情報をサーバ装置20-1に対して送信する。サーバ装置20-1は、端末装置10から要求情報を受信した場合、受信した要求情報に応じて、A社専用APIキー(ABCDEFG)とともに、APIの実行に関する要求情報を情報処理装置100に対して送信する。情報処理装置100は、要求情報を受信した場合、受信したA社専用APIキー(ABCDEFG)とあらかじめA社に対して提供したA社専用APIキー(ABCDEFG)が一致するか否かを判定する。図2では、情報処理装置100は、受信したA社専用APIキー(ABCDEFG)とあらかじめA社に対して提供したA社専用APIキー(ABCDEFG)が一致すると判定し、APIを実行する。情報処理装置100は、APIを実行した場合、APIの実行結果に関する応答情報をサーバ装置20-1に対して送信する。情報処理装置100は、応答情報をサーバ装置20-1に対して送信した場合、APIの利用料金をA社に対して課金する。
In FIG. 2, the
また、図2では、サーバ装置20-2は、例えば、A社専用APIキー(ABCDEFG)を不正に入手する。サーバ装置20-2は、A社専用APIキー(ABCDEFG)とともに、APIの実行に関する要求情報を情報処理装置100に対して送信する。情報処理装置100は、要求情報を受信した場合、受信したA社専用APIキー(ABCDEFG)とあらかじめA社に対して提供したA社専用APIキー(ABCDEFG)が一致するか否かを判定する。図2では、情報処理装置100は、受信したA社専用APIキー(ABCDEFG)とあらかじめA社に対して提供したA社専用APIキー(ABCDEFG)が一致すると判定し、APIを実行する。情報処理装置100は、APIを実行した場合、APIの実行結果に関する応答情報をサーバ装置20-2に対して送信する。情報処理装置100は、応答情報をサーバ装置20-2に対して送信した場合、APIの利用料金をA社に対して課金する。
Further, in FIG. 2, the server device 20-2 illegally obtains the API key (ABCDEFG) exclusive to company A, for example. The server device 20-2 transmits request information regarding execution of the API to the
上述したように、A社とは関係のない第三者がA社専用APIキーを不正に入手し、不正アクセスサーバによってA社専用APIキーが不正に利用された場合であっても、不正アクセスサーバによるAPIの利用料金がA社に対して課金されてしまうという問題がある。このような問題を解決するため、APIの提供者側が、APIキーの不正利用を検出し、検出された不正利用の情報を顧客へ提供する技術が望まれている。 As mentioned above, even if a third party unrelated to Company A illegally obtains the API key exclusive to Company A, and the API key exclusive to Company A is illegally used by an unauthorized access server, unauthorized access cannot occur. There is a problem in that the fee for using the API by the server is charged to Company A. In order to solve such problems, a technology is desired in which an API provider side can detect unauthorized use of an API key and provide information on the detected unauthorized use to a customer.
〔3.情報処理装置の構成例〕
図3は、実施形態に係る情報処理装置100の構成例を示す図である。情報処理装置100は、通信部110と、記憶部120と、制御部130とを有してよい。なお、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示させるための表示部(例えば、液晶ディスプレイ等)を有してもよい。
[3. Configuration example of information processing device]
FIG. 3 is a diagram illustrating a configuration example of the
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、例えば、サーバ装置20や端末装置10との間で情報の送受信を行う。
(Communication Department 110)
The communication unit 110 is realized by, for example, a NIC (Network Interface Card). The communication unit 110 is connected to a network by wire or wirelessly, and transmits and receives information to and from the server device 20 and the
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。具体的には、記憶部120は、図3に示すように、利用履歴情報記憶部121と、正常IPセット情報記憶部122と、不明IPセット情報記憶部123と、スコアリング条件記憶部124とを有する。また、記憶部120は、上記に限らず、種々の情報を記憶してもよい。
(Storage unit 120)
The storage unit 120 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk. Specifically, as shown in FIG. 3, the storage unit 120 includes a usage history information storage unit 121, a normal IP set
(利用履歴情報記憶部121)
図4は、実施形態に係る利用履歴情報記憶部121の一例を示す図である。利用履歴情報記憶部121は、サーバ装置によるAPIキーの利用履歴に関する各種の情報を記憶する。図4に示す例では、利用履歴情報記憶部121は、「利用日時」、「APIキー」、「グローバルIP」といった項目を有する。「利用日時」は、サーバ装置によるAPIキーの利用日時を示す。「APIキー」は、サーバ装置によって利用されたAPIキーを識別する識別情報を示す。「グローバルIP」は、サーバ装置を識別するグローバルIPアドレスを示す。図4に示すように、利用履歴情報記憶部121は、グローバルIPアドレスによって識別されるサーバ装置によるAPIキーの利用履歴を示す利用履歴情報をグローバルIPアドレスごとに記憶する。なお、図示は省略するが、利用履歴情報記憶部121は、利用履歴情報として、グローバルIPアドレスと対応するFQDN(Fully Qualified Domain Name)に関するドメイン名情報を記憶してもよい。
(Usage history information storage unit 121)
FIG. 4 is a diagram illustrating an example of the usage history information storage unit 121 according to the embodiment. The usage history information storage unit 121 stores various types of information regarding the usage history of API keys by the server device. In the example shown in FIG. 4, the usage history information storage unit 121 has items such as "date and time of usage", "API key", and "global IP". “Date and time of use” indicates the date and time of use of the API key by the server device. "API key" indicates identification information that identifies the API key used by the server device. "Global IP" indicates a global IP address that identifies the server device. As shown in FIG. 4, the usage history information storage unit 121 stores usage history information indicating the usage history of the API key by the server device identified by the global IP address for each global IP address. Although not shown, the usage history information storage unit 121 may store domain name information regarding an FQDN (Fully Qualified Domain Name) corresponding to a global IP address as usage history information.
(正常IPセット情報記憶部122)
図5は、実施形態に係る正常IPセット情報記憶部122の一例を示す図である。正常IPセット情報記憶部122は、情報処理装置100によってAPIキーを不正利用していない(つまり、APIキーを正常に利用している)と判定されたサーバ装置(以下、「正常サーバ装置」ともいう)に関する各種の情報を記憶する。
(Normal IP set information storage unit 122)
FIG. 5 is a diagram illustrating an example of the normal IP set
図5に示す例では、正常IPセット情報記憶部122は、「APIキー」、「グローバルIP」、「逆引きFQDN」、「利用回数(直近1週間)」といった項目を有する。「APIキー」は、正常サーバ装置によって利用されたAPIキーを識別する識別情報を示す。「グローバルIP」は、正常サーバ装置を識別するグローバルIPアドレスを示す。「逆引きFQDN」は、グローバルIPアドレスと対応するFQDNに関するドメイン名情報を示す。図5に示す例では、グローバルIPアドレスと対応するFQDNが存在しないことを示す。「利用回数(直近1週間)」は、直近1週間における正常サーバ装置によるAPIキーの利用回数を示す。
In the example shown in FIG. 5, the normal IP set
(不明IPセット情報記憶部123)
図6は、実施形態に係る不明IPセット情報記憶部123の一例を示す図である。不明IPセット情報記憶部123は、情報処理装置100によってAPIキーを不正利用していないと判定されていない(つまり、APIキーを正常に利用しているか否かが不明な)サーバ装置(以下、「不明サーバ装置」ともいう)に関する各種の情報を記憶する。言い換えると、不明サーバ装置は、情報処理装置100によってAPIキーを不正利用していないか否か(つまり、APIキーを正常に利用しているか否か)の判定が行われている最中のサーバ装置である。すなわち、不明サーバ装置は、情報処理装置100による判定対象のサーバ装置であって、正常サーバ装置を識別するグローバルIPアドレスと異なるグローバルIPアドレスによって識別され正常サーバ装置が利用するAPIキーを利用するサーバ装置である。
(Unknown IP set information storage unit 123)
FIG. 6 is a diagram illustrating an example of the unknown IP set
図6に示す例では、不明IPセット情報記憶部123は、「APIキー」、「グローバルIP」、「逆引きFQDN」、「利用回数(直近1週間)」といった項目を有する。「APIキー」は、不明サーバ装置によって利用されたAPIキーを識別する識別情報を示す。「グローバルIP」は、不明サーバ装置を識別するグローバルIPアドレスを示す。「逆引きFQDN」は、グローバルIPアドレスと対応するFQDNに関するドメイン名情報を示す。図6に示す例では、グローバルIPアドレスと対応するFQDNが存在しないことを示す。「利用回数(直近1週間)」は、直近1週間における不明サーバ装置によるAPIキーの利用回数を示す。
In the example shown in FIG. 6, the unknown IP set
(スコアリング条件記憶部124)
図7は、実施形態に係るスコアリング条件記憶部124の一例を示す図である。スコアリング条件記憶部124は、第2サーバ装置がAPIキーを不正利用しているか否かを示すスコアを算出するための条件であるスコアリング条件に関する各種の情報を記憶する。図7に示す例では、スコアリング条件記憶部124は、「No.」、「スコアリング条件」、「点数」といった項目を有する。「No.」は、スコアリング条件を識別する識別情報を示す。「スコアリング条件」は、第2サーバ装置がAPIキーを不正利用しているか否かを示すスコアを算出するための条件を示す。「点数」は、第2サーバ装置がスコアリング条件を満たす場合に第2サーバ装置に対して付与される点数を示す。
(Scoring condition storage unit 124)
FIG. 7 is a diagram illustrating an example of the scoring condition storage unit 124 according to the embodiment. The scoring condition storage unit 124 stores various types of information regarding scoring conditions, which are conditions for calculating a score indicating whether or not the second server device is illegally using an API key. In the example shown in FIG. 7, the scoring condition storage unit 124 has items such as “No.”, “scoring condition”, and “score”. "No." indicates identification information that identifies the scoring condition. The "scoring condition" indicates a condition for calculating a score indicating whether or not the second server device is illegally using the API key. "Score" indicates the score given to the second server device when the second server device satisfies the scoring condition.
(制御部130)
図3の説明に戻る。制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
(Control unit 130)
Returning to the explanation of FIG. 3. The control unit 130 is a controller, and for example, executes various programs (information processing programs) stored in a storage device inside the
制御部130は、取得部131と、算出部132と、判定部133と、通知部134とを機能部として有し、以下に説明する情報処理の作用を実現または実行する。なお、制御部130の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、各機能部は、制御部130の機能を示したものであり、必ずしも物理的に区別されるものでなくともよい。 The control unit 130 includes an acquisition unit 131, a calculation unit 132, a determination unit 133, and a notification unit 134 as functional units, and realizes or executes the information processing operation described below. Note that the internal configuration of the control unit 130 is not limited to the configuration shown in FIG. 3, and may be any other configuration as long as it performs information processing to be described later. Further, each functional unit indicates a function of the control unit 130, and does not necessarily have to be physically distinct.
(取得部131)
取得部131は、グローバルIPアドレスによって識別されるサーバ装置によるAPIキーの利用履歴を示す利用履歴情報をグローバルIPアドレスごとに取得する。取得部131は、利用履歴情報を取得した場合、取得した利用履歴情報をグローバルIPアドレスごとに利用履歴情報記憶部121に格納する。また、取得部131は、グローバルIPアドレスを逆引きして、グローバルIPアドレスと対応するFQDNを取得する。例えば、取得部131は、nslookup等の公知技術を用いて、グローバルIPアドレスと対応するFQDNを取得する。取得部131は、グローバルIPアドレスと対応するFQDNを取得した場合、グローバルIPアドレスと対応するFQDNをグローバルIPアドレスと対応付けて利用履歴情報記憶部121に格納する。なお、取得部131は、グローバルIPアドレスを逆引きして、グローバルIPアドレスと対応するFQDNを取得しなかった場合、グローバルIPアドレスと対応するFQDNが存在しないことを示す情報をグローバルIPアドレスと対応付けて利用履歴情報記憶部121に格納する。
(Acquisition unit 131)
The acquisition unit 131 acquires, for each global IP address, usage history information indicating the usage history of the API key by the server device identified by the global IP address. When acquiring usage history information, the acquisition unit 131 stores the acquired usage history information in the usage history information storage unit 121 for each global IP address. Further, the acquisition unit 131 reversely looks up the global IP address and acquires the FQDN corresponding to the global IP address. For example, the acquisition unit 131 uses a known technique such as nslookup to acquire the FQDN corresponding to the global IP address. When acquiring the FQDN corresponding to the global IP address, the acquisition unit 131 stores the FQDN corresponding to the global IP address in the usage history information storage unit 121 in association with the global IP address. Note that if the acquisition unit 131 reverse-lookups the global IP address and does not acquire the FQDN corresponding to the global IP address, the acquisition unit 131 associates information indicating that the FQDN corresponding to the global IP address does not exist with the global IP address. and stored in the usage history information storage unit 121.
取得部131は、利用履歴情報に基づいて、正常サーバ装置によるAPIキーの利用回数を示す正常利用回数情報を取得する。具体的には、取得部131は、正常IPセット情報記憶部122を参照して、所定のAPIキーと紐づくグローバルIPアドレスを取得する。例えば、取得部131は、図5に示す正常IPセット情報記憶部122を参照して、「ABCDEFG」によって示されるAPIキーと紐づく「192.0.2.101」によって示されるグローバルIPアドレスを取得する。
The acquisition unit 131 acquires normal usage number information indicating the number of times the API key is used by a normal server device based on the usage history information. Specifically, the acquisition unit 131 refers to the normal IP set
続いて、取得部131は、グローバルIPアドレスを取得した場合、利用履歴情報記憶部121を参照して、取得されたグローバルIPアドレスによって識別される正常サーバ装置の所定期間における利用履歴情報を取得する。例えば、取得部131は、図4に示す利用履歴情報記憶部121を参照して、「192.0.2.101」によって示されるグローバルIPアドレスによって識別される正常サーバ装置の直近1週間における利用履歴情報を取得する。 Subsequently, when acquiring the global IP address, the acquisition unit 131 refers to the usage history information storage unit 121 and acquires usage history information for a predetermined period of time of the normal server device identified by the acquired global IP address. . For example, the acquisition unit 131 refers to the usage history information storage unit 121 shown in FIG. 4 and acquires usage history information for the past week of the normal server device identified by the global IP address indicated by “192.0.2.101”. do.
続いて、取得部131は、所定期間における利用履歴情報を取得した場合、取得された利用履歴情報に基づいて、所定期間における正常サーバ装置によるAPIキーの利用回数を示す第1利用回数情報を取得する。例えば、取得部131は、所定期間における利用履歴情報に基づいて、所定期間における正常サーバ装置の利用履歴のレコードの数を算出する。例えば、取得部131は、直近1週間における「192.0.2.101」によって示されるグローバルIPアドレスによって識別される正常サーバ装置のレコードの数を「73」と算出する。続いて、取得部131は、算出したレコードの数を示す情報を所定期間における正常サーバ装置によるAPIキーの利用回数を示す第1利用回数情報として取得する。例えば、取得部131は、算出したレコードの数である「73」を示す情報を直近1週間における「192.0.2.101」によって示されるグローバルIPアドレスによって識別される正常サーバ装置によるAPIキーの利用回数を示す第1利用回数情報として取得する。 Subsequently, when acquiring usage history information for a predetermined period, the acquisition unit 131 acquires first usage count information indicating the number of times the API key is used by a normal server device during a predetermined period based on the acquired usage history information. do. For example, the acquisition unit 131 calculates the number of usage history records of a normal server device in a predetermined period based on usage history information in a predetermined period. For example, the acquisition unit 131 calculates the number of records of normal server devices identified by the global IP address indicated by "192.0.2.101" in the last week as "73". Subsequently, the acquisition unit 131 acquires information indicating the calculated number of records as first usage number information indicating the number of times the API key is used by the normal server device in a predetermined period. For example, the acquisition unit 131 may transmit information indicating the calculated number of records "73" to the number of times the API key has been used by a normal server device identified by the global IP address indicated by "192.0.2.101" in the past week. The information is obtained as the first usage count information shown in FIG.
また、取得部131は、利用履歴情報に基づいて、不明サーバ装置によるAPIキーの利用回数を示す第2利用回数情報を取得する。具体的には、取得部131は、不明IPセット情報記憶部123を参照して、所定のAPIキーと紐づくグローバルIPアドレスを取得する。例えば、取得部131は、図6に示す不明IPセット情報記憶部123を参照して、「ABCDEFG」によって示されるAPIキーと紐づく「192.0.2.110」によって示されるグローバルIPアドレスを取得する。また、取得部131は、「ABCDEFG」によって示されるAPIキーと紐づく「198.51.100.52」によって示されるグローバルIPアドレスを取得する。
Furthermore, the acquisition unit 131 acquires second usage number information indicating the number of times the API key is used by the unknown server device based on the usage history information. Specifically, the acquisition unit 131 refers to the unknown IP set
続いて、取得部131は、グローバルIPアドレスを取得した場合、利用履歴情報記憶部121を参照して、取得されたグローバルIPアドレスによって識別される不明サーバ装置の所定期間における利用履歴情報を取得する。例えば、取得部131は、図4に示す利用履歴情報記憶部121を参照して、「192.0.2.110」によって示されるグローバルIPアドレスによって識別される不明サーバ装置の直近1週間における利用履歴情報を取得する。また、取得部131は、「198.51.100.52」によって示されるグローバルIPアドレスによって識別される不明サーバ装置の直近1週間における利用履歴情報を取得する。 Subsequently, when acquiring the global IP address, the acquisition unit 131 refers to the usage history information storage unit 121 and acquires usage history information for a predetermined period of time of the unknown server device identified by the acquired global IP address. . For example, the acquisition unit 131 refers to the usage history information storage unit 121 shown in FIG. do. The acquisition unit 131 also acquires usage history information for the last week of the unknown server device identified by the global IP address indicated by "198.51.100.52."
続いて、取得部131は、所定期間における利用履歴情報を取得した場合、取得された利用履歴情報に基づいて、所定期間における不明サーバ装置によるAPIキーの利用回数を示す第2利用回数情報を取得する。例えば、取得部131は、所定期間における利用履歴情報に基づいて、所定期間における不明サーバ装置の利用履歴のレコードの数を算出する。例えば、取得部131は、直近1週間における「192.0.2.110」によって示されるグローバルIPアドレスによって識別される不明サーバ装置のレコードの数を「11」と算出する。また、取得部131は、直近1週間における「198.51.100.52」によって示されるグローバルIPアドレスによって識別される不明サーバ装置のレコードの数を「20101」と算出する。続いて、取得部131は、算出したレコードの数を示す情報を所定期間における不明サーバ装置によるAPIキーの利用回数を示す第2利用回数情報として取得する。例えば、取得部131は、算出したレコードの数である「11」を示す情報を直近1週間における「192.0.2.110」によって示されるグローバルIPアドレスによって識別される不明サーバ装置によるAPIキーの利用回数を示す第2利用回数情報として取得する。同様にして、取得部131は、算出したレコードの数である「20101」を示す情報を直近1週間における「198.51.100.52」によって示されるグローバルIPアドレスによって識別される不明サーバ装置によるAPIキーの利用回数を示す第2利用回数情報として取得する。 Subsequently, when acquiring usage history information for a predetermined period, the acquisition unit 131 acquires second usage frequency information indicating the number of times the API key is used by the unknown server device during the predetermined period based on the acquired usage history information. do. For example, the acquisition unit 131 calculates the number of usage history records of the unknown server device in a predetermined period based on the usage history information in the predetermined period. For example, the acquisition unit 131 calculates the number of records of unknown server devices identified by the global IP address indicated by "192.0.2.110" in the past week as "11". Furthermore, the acquisition unit 131 calculates the number of records of the unknown server device identified by the global IP address indicated by "198.51.100.52" in the most recent week as "20101." Subsequently, the acquisition unit 131 acquires information indicating the calculated number of records as second usage number information indicating the number of times the API key is used by the unknown server device in a predetermined period. For example, the acquisition unit 131 may transmit information indicating the calculated number of records "11" to the number of times the API key has been used by an unknown server device identified by the global IP address indicated by "192.0.2.110" in the past week. It is acquired as the second usage count information shown in FIG. Similarly, the acquisition unit 131 retrieves information indicating the calculated number of records "20101" from the usage of the API key by the unknown server device identified by the global IP address indicated by "198.51.100.52" in the last one week. It is acquired as second usage frequency information indicating the number of times.
(算出部132)
算出部132は、正常サーバ装置によるAPIキーの利用回数と不明サーバ装置によるAPIキーの利用回数との比較に基づいて、不明サーバ装置がAPIキーを不正利用しているか否かを示すスコアを算出する。具体的には、算出部132は、所定期間(例えば、直近1週間)における正常サーバ装置によるAPIキーの利用回数(以下、第1利用回数ともいう)と、所定期間(例えば、直近1週間)における不明サーバ装置によるAPIキーの利用回数(以下、第2利用回数ともいう)との比較に基づいて、スコアを算出する。より具体的には、算出部132は、第1利用回数に対する第2利用回数の割合が所定の割合以下である場合のスコアよりも、第1利用回数に対する第2利用回数の割合が所定の割合を超える場合のスコアを高く算出する。例えば、算出部132は、第1利用回数に対する第2利用回数の割合が200%を超える場合のスコアを「100」と算出する。また、算出部132は、第1利用回数に対する第2利用回数の割合が50%を超えるが200%以下である場合のスコアを「50」と算出する。また、算出部132は、第1利用回数に対する第2利用回数の割合が50%以下である場合のスコアを「25」と算出する。
(Calculation unit 132)
The calculation unit 132 calculates a score indicating whether the unknown server device is illegally using the API key based on a comparison between the number of times the API key is used by the normal server device and the number of times the API key is used by the unknown server device. do. Specifically, the calculation unit 132 calculates the number of times the API key is used by a normal server device during a predetermined period (e.g., the most recent one week) (hereinafter also referred to as the first number of uses), and the number of times the API key is used in a predetermined period (e.g., the most recent one week). A score is calculated based on a comparison with the number of times the API key is used by the unknown server device (hereinafter also referred to as the second number of uses). More specifically, the calculation unit 132 calculates that the ratio of the second number of uses to the first number of uses is a predetermined ratio, rather than the score when the ratio of the second number of uses to the first number of uses is less than or equal to a predetermined ratio. A higher score will be calculated if the value exceeds . For example, the calculation unit 132 calculates the score as "100" when the ratio of the second number of uses to the first number of uses exceeds 200%. Further, the calculation unit 132 calculates a score of "50" when the ratio of the second number of uses to the first number of uses is more than 50% but less than 200%. Further, the calculation unit 132 calculates a score of "25" when the ratio of the second number of uses to the first number of uses is 50% or less.
(判定部133)
判定部133は、不明サーバ装置がAPIキーを不正利用しているか否かを判定する。具体的には、判定部133は、算出部132によって算出されたスコアが所定の閾値を超える場合に、不明サーバ装置がAPIキーを不正利用していると判定する。例えば、判定部133は、算出部132によって算出されたスコアが「100」を超える場合に、不明サーバ装置がAPIキーを不正利用していると判定する。
(Determination unit 133)
The determining unit 133 determines whether the unknown server device is illegally using the API key. Specifically, when the score calculated by the calculation unit 132 exceeds a predetermined threshold, the determination unit 133 determines that the unknown server device is illegally using the API key. For example, when the score calculated by the calculation unit 132 exceeds “100”, the determination unit 133 determines that the unknown server device is illegally using the API key.
一方、判定部133は、算出部132によって算出されたスコアが所定の閾値以下である場合に、不明サーバ装置がAPIキーを不正利用していないと判定する。例えば、判定部133は、算出部132によって算出されたスコアが「100」以下である場合に、不明サーバ装置がAPIキーを不正利用していないと判定する。判定部133は、不明サーバ装置がAPIキーを不正利用していないと判定した場合、不明サーバ装置を識別するグローバルIPアドレスに関する情報を不明IPセット情報記憶部123から削除する。また、判定部133は、不明サーバ装置がAPIキーを不正利用していないと判定した場合、不明サーバ装置を識別するグローバルIPアドレスに関する情報を正常IPセット情報記憶部122に追加する。
On the other hand, when the score calculated by the calculation unit 132 is less than or equal to a predetermined threshold, the determination unit 133 determines that the unknown server device is not illegally using the API key. For example, when the score calculated by the calculation unit 132 is “100” or less, the determination unit 133 determines that the unknown server device is not illegally using the API key. When determining that the unknown server device is not illegally using the API key, the determination unit 133 deletes information regarding the global IP address that identifies the unknown server device from the unknown IP set
(通知部134)
通知部134は、判定部133によって不明サーバ装置がAPIキーを不正利用していると判定された場合、正常サーバ装置の管理者に対してAPIキーの不正利用が検出されたことを通知する。例えば、通知部134は、正常サーバ装置に対してAPIキーの不正利用が検出されたことを示す情報を送信する。
(Notification section 134)
When the determining unit 133 determines that the unknown server device is using the API key illegally, the notification unit 134 notifies the administrator of the normal server device that illegal use of the API key has been detected. For example, the notification unit 134 transmits information indicating that unauthorized use of the API key has been detected to the normal server device.
〔4.情報処理の手順〕
図8は、実施形態に係る情報処理手順を示すフローチャートである。図8では、情報処理装置100の記憶部120が、サーバ装置によるAPIキーの利用履歴を示す利用履歴情報をグローバルIPアドレスごとに記憶する(ステップS1)。また、情報処理装置100の取得部131は、記憶部120に記憶された利用履歴情報に基づいて、第1サーバ装置によるAPIキーの利用回数である第1利用回数を示す第1利用回数情報、および、第2サーバ装置によるAPIキーの利用回数である第2利用回数を示す第2利用回数情報を取得する(ステップS2)。また、情報処理装置100の算出部132は、第1利用回数と第2利用回数との比較に基づいて、第2サーバ装置がAPIキーを不正利用しているか否かを示すスコアを算出する(ステップS3)。
[4. Information processing procedure]
FIG. 8 is a flowchart showing an information processing procedure according to the embodiment. In FIG. 8, the storage unit 120 of the
また、情報処理装置100の判定部133は、算出部132によって算出されたスコアが所定の閾値を超えるか否かを判定する(ステップS4)。判定部133は、算出部132によって算出されたスコアが所定の閾値を超えると判定した場合(ステップS4;Yes)、第2サーバ装置がAPIキーを不正利用していると判定する(ステップS5)。情報処理装置100の通知部134は、判定部133によって第2サーバ装置がAPIキーを不正利用していると判定された場合、第1サーバ装置の管理者に対してAPIキーの不正利用が検出されたことを通知する(ステップS6)。一方、判定部133は、算出部132によって算出されたスコアが所定の閾値を超えないと判定した場合(ステップS4;No)、第2サーバ装置がAPIキーを不正利用していないと判定する(ステップS7)。
Further, the determination unit 133 of the
〔5.変形例〕
上述した実施形態に係る処理は、上記実施形態以外にも種々の異なる形態にて実施されてよい。
[5. Modified example]
The processing according to the embodiment described above may be implemented in various different forms other than the embodiment described above.
上述した実施形態では、算出部132が、正常サーバ装置によるAPIキーの利用回数と不明サーバ装置によるAPIキーの利用回数との比較に基づいて、不明サーバ装置がAPIキーを不正利用しているか否かを示すスコアを算出する場合について説明した。ここでは、算出部132が、正常サーバ装置を識別するグローバルIPアドレスと対応するFQDNに関するドメイン名情報と、不明サーバ装置を識別するグローバルIPアドレスと対応するFQDNに関するドメイン名情報との比較に基づいて、スコアを算出する場合について説明する。 In the embodiment described above, the calculation unit 132 determines whether the unknown server device is illegally using the API key based on the comparison between the number of times the API key is used by the normal server device and the number of times the API key is used by the unknown server device. We have explained the case of calculating the score indicating the Here, the calculation unit 132 calculates the domain name information based on the comparison between the domain name information regarding the FQDN corresponding to the global IP address that identifies the normal server device, and the domain name information regarding the FQDN corresponding to the global IP address that identifies the unknown server device. , the case of calculating the score will be explained.
具体的には、取得部131は、正常サーバ装置を識別するグローバルIPアドレス(以下、第1グローバルIPアドレスともいう)と対応するFQDNに関する第1ドメイン名情報を取得する。例えば、取得部131は、第1グローバルIPアドレスを逆引きして、第1グローバルIPアドレス対応するFQDNが得られた場合は、第1ドメイン名情報として、第1グローバルIPアドレス対応するFQDNを取得する。一方、取得部131は、第1グローバルIPアドレスを逆引きして、第1グローバルIPアドレス対応するFQDNが得られなかった場合は、第1ドメイン名情報として、第1グローバルIPアドレス対応するFQDNが存在しないことを示す情報を取得する。また、取得部131は、正常サーバ装置と同様にして、不明サーバ装置を識別するグローバルIPアドレス(以下、第2グローバルIPアドレスともいう)と対応するFQDNに関する第2ドメイン名情報を取得する。 Specifically, the acquisition unit 131 acquires first domain name information regarding an FQDN corresponding to a global IP address (hereinafter also referred to as a first global IP address) that identifies a normal server device. For example, if the acquisition unit 131 reversely looks up the first global IP address and obtains the FQDN corresponding to the first global IP address, the acquisition unit 131 acquires the FQDN corresponding to the first global IP address as the first domain name information. do. On the other hand, if the acquisition unit 131 reversely looks up the first global IP address and cannot obtain the FQDN corresponding to the first global IP address, the acquisition unit 131 retrieves the FQDN corresponding to the first global IP address as the first domain name information. Get information indicating that it does not exist. Further, the acquisition unit 131 acquires second domain name information regarding the FQDN corresponding to the global IP address (hereinafter also referred to as second global IP address) that identifies the unknown server device, in the same manner as the normal server device.
算出部132は、第1ドメイン名情報と第2ドメイン名情報との比較に基づいて、スコアを算出する。より具体的には、算出部132は、第1グローバルIPアドレスと対応するFQDNと、第2グローバルIPアドレスと対応するFQDNとが同一である場合のスコアよりも、第1グローバルIPアドレスと対応するFQDNと、第2グローバルIPアドレスと対応するFQDNとが異なる場合のスコアを高く算出する。例えば、算出部132は、第1グローバルIPアドレスと対応するFQDNと、第2グローバルIPアドレスと対応するFQDNとが同一である場合のスコアを「-1000」と算出する。また、算出部132は、第1グローバルIPアドレスと対応するFQDNと第2グローバルIPアドレスと対応するFQDNとが異なる場合のスコアを「100」と算出する。また、算出部132は、第2グローバルIPアドレスと対応するFQDNが存在しない場合のスコアを「100」と算出する。 The calculation unit 132 calculates a score based on a comparison between the first domain name information and the second domain name information. More specifically, the calculation unit 132 calculates the score that corresponds to the first global IP address, rather than the score when the FQDN corresponding to the first global IP address and the FQDN corresponding to the second global IP address are the same. A high score is calculated when the FQDN and the FQDN corresponding to the second global IP address are different. For example, the calculation unit 132 calculates the score as "-1000" when the FQDN corresponding to the first global IP address and the FQDN corresponding to the second global IP address are the same. Further, the calculation unit 132 calculates a score of "100" when the FQDN corresponding to the first global IP address is different from the FQDN corresponding to the second global IP address. Further, the calculation unit 132 calculates the score as "100" when there is no FQDN corresponding to the second global IP address.
なお、上述した実施形態では、情報処理装置100がAPIおよびAPIによって利用可能な第2のサービスを提供するサーバ装置である場合について説明したが、情報処理装置100は、APIゲートウェイを提供するサーバ装置であってもよい。情報処理装置100は、APIゲートウェイの提供者によって管理される。例えば、情報処理装置100は、APIキーとともに、APIの実行に関する要求情報をサーバ装置20から受信する。情報処理装置100は、要求情報を受信した場合、受信した要求情報に応じたAPIを実行するAPIサーバ装置に対して要求情報を転送する。情報処理装置100は、APIサーバ装置からAPIの実行結果に関する応答情報を受信する。情報処理装置100は、応答情報を受信した場合、受信した応答情報をサーバ装置20に対して送信する。
Note that in the above-described embodiment, a case has been described in which the
〔6.効果〕
上述してきたように、実施形態に係る情報処理装置100は、記憶部120と取得部131と算出部132と判定部133を備える。記憶部120は、グローバルIPアドレスによって識別されるサーバ装置によるAPIキーの利用履歴を示す利用履歴情報をグローバルIPアドレスごとに記憶する。取得部131は、利用履歴情報に基づいて、APIキーを不正利用していないと判定されたサーバ装置である第1サーバ装置によるAPIキーの利用回数である第1利用回数を示す第1利用回数情報、および、判定対象のサーバ装置であって、第1サーバ装置を識別する第1グローバルIPアドレスと異なる第2グローバルIPアドレスによって識別され第1サーバ装置が利用するAPIキーを利用する第2サーバ装置によるAPIキーの利用回数である第2利用回数を示す第2利用回数情報を取得する。算出部132は、第1利用回数と第2利用回数との比較に基づいて、第2サーバ装置がAPIキーを不正利用しているか否かを示すスコアを算出する。判定部133は、算出部132によって算出されたスコアが所定の閾値を超える場合に、第2サーバ装置がAPIキーを不正利用していると判定し、算出部132によって算出されたスコアが所定の閾値以下である場合に、第2サーバ装置がAPIキーを不正利用していないと判定する。
[6. effect〕
As described above, the
このように、情報処理装置100は、正常サーバ装置によるAPIキーの利用回数と不明サーバ装置によるAPIキーの利用回数との比較に基づいて、不明サーバ装置がAPIキーを不正利用しているか否かを判定する。これにより、情報処理装置100は、不明サーバ装置を識別するグローバルIPアドレスが存在しない場合であっても、不明サーバ装置がAPIキーを不正利用しているか否かを判定することができる。また、情報処理装置100は、サーバ装置がAPIキーを不正利用しているか否かを示すスコアを算出することにより、サーバ装置がAPIキーを正常に利用しているか否かについても管理することを可能にすることができる。したがって、情報処理装置100は、APIキーが適切に利用されているかどうかを管理可能とすることができる。また、情報処理装置100は、APIキーが適切に利用されているかどうかを管理可能とすることができるため、持続可能な開発目標(SDGs)の目標9「産業と技術革新の基盤をつくろう」の達成に貢献できる。
In this way, the
また、算出部132は、第1利用回数として、所定期間における第1サーバ装置によるAPIキーの利用回数と、第2利用回数として、所定期間における第2サーバ装置によるAPIキーの利用回数との比較に基づいて、スコアを算出する。 The calculation unit 132 also compares the number of times the API key is used by the first server device in a predetermined period as the first number of uses, and the number of times the API key is used by the second server device in the predetermined period as the second number of uses. Calculate the score based on.
これにより、情報処理装置100は、同じ期間における正常サーバ装置によるAPIキーの利用回数と不明サーバ装置によるAPIキーの利用回数を比較に基づいて、不明サーバ装置がAPIキーを不正利用しているか否かを適切に判定することができる。
Thereby, the
また、算出部132は、第1利用回数に対する第2利用回数の割合が所定の割合以下である場合のスコアよりも、第1利用回数に対する第2利用回数の割合が所定の割合を超える場合のスコアを高く算出する。 In addition, the calculation unit 132 calculates the score when the ratio of the second number of uses to the first number of uses exceeds a predetermined ratio than the score when the ratio of the second number of uses to the first number of uses is less than or equal to a predetermined ratio. Calculate a high score.
これにより、情報処理装置100は、第1利用回数に対する第2利用回数の割合に基づいて、不明サーバ装置がAPIキーを不正利用しているか否かを適切に判定することができる。
Thereby, the
また、記憶部120は、利用履歴情報として、グローバルIPアドレスと対応するFQDN(Fully Qualified Domain Name)に関するドメイン名情報を記憶する。取得部131は、第1グローバルIPアドレスと対応するFQDNに関する第1ドメイン名情報、および、第2グローバルIPアドレスと対応するFQDNに関する第2ドメイン名情報を取得する。算出部132は、第1ドメイン名情報と第2ドメイン名情報との比較に基づいて、スコアを算出する。 Furthermore, the storage unit 120 stores domain name information regarding an FQDN (Fully Qualified Domain Name) corresponding to a global IP address as usage history information. The acquisition unit 131 acquires first domain name information regarding the FQDN corresponding to the first global IP address and second domain name information regarding the FQDN corresponding to the second global IP address. The calculation unit 132 calculates a score based on a comparison between the first domain name information and the second domain name information.
これにより、情報処理装置100は、正常サーバ装置を識別するグローバルIPアドレスと対応するFQDNに関するドメイン名情報と、不明サーバ装置を識別するグローバルIPアドレスと対応するFQDNに関するドメイン名情報との比較に基づいて、不明サーバ装置がAPIキーを不正利用しているか否かを精度よく判定することができる。
As a result, the
また、算出部132は、第1グローバルIPアドレスと対応するFQDNと、第2グローバルIPアドレスと対応するFQDNとが同一である場合のスコアよりも、第1グローバルIPアドレスと対応するFQDNと、第2グローバルIPアドレスと対応するFQDNとが異なる場合のスコアを高く算出する。 In addition, the calculation unit 132 calculates that the FQDN corresponding to the first global IP address and 2. A high score is calculated when the global IP address and the corresponding FQDN are different.
これにより、情報処理装置100は、正常サーバ装置を識別するグローバルIPアドレスと対応するFQDNと、不明サーバ装置を識別するグローバルIPアドレスと対応するFQDNとが一致するか否かに基づいて、不明サーバ装置がAPIキーを不正利用しているか否かを精度よく判定することができる。
As a result, the
また、情報処理装置100は、通知部134をさらに備える。通知部134は、判定部133によって第2サーバ装置がAPIキーを不正利用していると判定された場合、第1サーバ装置の管理者に対してAPIキーの不正利用が検出されたことを通知する。
Furthermore, the
これにより、情報処理装置100は、APIの提供者としてのサービス品質を向上させることができる。また、情報処理装置100は、APIを利用する顧客のサービス満足度を向上させることができる。
Thereby, the
〔7.ハードウェア構成〕
また、上述してきた実施形態に係る情報処理装置100は、例えば図9に示すような構成のコンピュータ1000によって実現される。図9は、情報処理装置100の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を備える。
[7. Hardware configuration]
Further, the
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定の通信網を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定の通信網を介して他の機器へ送信する。
The
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。なお、CPU1100の代わりに、MPU(Micro Processing Unit)またはGPU(Graphics Processing Unit)を用いてもよい。
The
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムを取得してもよい。
For example, when the
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。 Some of the embodiments of the present application have been described above in detail based on the drawings, but these are merely examples, and various modifications and variations may be made based on the knowledge of those skilled in the art, including the embodiments described in the disclosure section of the invention. It is possible to carry out the invention in other forms with modifications.
〔8.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
[8. others〕
Furthermore, among the processes described in the above embodiments and modified examples, all or part of the processes described as being performed automatically can be performed manually, or may be described as being performed manually. All or part of this processing can also be performed automatically using known methods. In addition, information including the processing procedures, specific names, and various data and parameters shown in the above documents and drawings may be changed arbitrarily, unless otherwise specified. For example, the various information shown in each figure is not limited to the illustrated information.
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 Furthermore, each component of each device shown in the drawings is functionally conceptual, and does not necessarily need to be physically configured as shown in the drawings. In other words, the specific form of distributing and integrating each device is not limited to what is shown in the diagram, and all or part of the devices can be functionally or physically distributed or integrated in arbitrary units depending on various loads and usage conditions. Can be integrated and configured.
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 Furthermore, the above-described embodiments and modifications can be combined as appropriate within a range that does not conflict with the processing contents.
1 情報処理システム
10 端末装置
20 サーバ装置
100 情報処理装置
110 通信部
120 記憶部
121 利用履歴情報記憶部
122 正常IPセット情報記憶部
123 不明IPセット情報記憶部
124 スコアリング条件記憶部
130 制御部
131 取得部
132 算出部
133 判定部
134 通知部
1
Claims (8)
前記利用履歴情報に基づいて、前記APIキーを不正利用していないと判定されたサーバ装置である第1サーバ装置による前記APIキーの利用回数である第1利用回数を示す第1利用回数情報、および、判定対象のサーバ装置であって、前記第1サーバ装置を識別する第1グローバルIPアドレスと異なる第2グローバルIPアドレスによって識別され前記第1サーバ装置が利用する前記APIキーを利用する第2サーバ装置による前記APIキーの利用回数である第2利用回数を示す第2利用回数情報を取得する取得部と、
前記第1利用回数と前記第2利用回数との比較に基づいて、前記第2サーバ装置が前記APIキーを不正利用しているか否かを示すスコアを算出する算出部と、
前記算出部によって算出されたスコアが所定の閾値を超える場合に、前記第2サーバ装置が前記APIキーを不正利用していると判定し、前記算出部によって算出されたスコアが前記所定の閾値以下である場合に、前記第2サーバ装置が前記APIキーを不正利用していないと判定する判定部と、
を備える情報処理装置。 a storage unit that stores, for each global IP address, usage history information indicating the usage history of the API key by the server device identified by the global IP address;
first usage number information indicating a first usage number, which is the number of times the API key is used by a first server device that is a server device that is determined to not be using the API key illegally based on the usage history information; and a second server device to be determined, which uses the API key that is identified by a second global IP address that is different from a first global IP address that identifies the first server device and is used by the first server device. an acquisition unit that acquires second usage number information indicating a second usage number that is the number of times the API key is used by the server device;
a calculation unit that calculates a score indicating whether or not the second server device is illegally using the API key based on a comparison between the first number of uses and the second number of uses;
If the score calculated by the calculation unit exceeds a predetermined threshold, the second server device determines that the API key is being used illegally, and the score calculated by the calculation unit is less than or equal to the predetermined threshold. a determination unit that determines that the second server device is not illegally using the API key if
An information processing device comprising:
前記第1利用回数として、所定期間における前記第1サーバ装置による前記APIキーの利用回数と、前記第2利用回数として、前記所定期間における前記第2サーバ装置による前記APIキーの利用回数との比較に基づいて、前記スコアを算出する、
請求項1に記載の情報処理装置。 The calculation unit is
Comparison of the number of times the API key is used by the first server device in a predetermined period as the first number of uses, and the number of times the API key is used by the second server device in the predetermined period as the second number of uses. calculating the score based on
The information processing device according to claim 1.
前記第1利用回数に対する前記第2利用回数の割合が所定の割合以下である場合の前記スコアよりも、前記第1利用回数に対する前記第2利用回数の割合が所定の割合を超える場合の前記スコアを高く算出する、
請求項1または2に記載の情報処理装置。 The calculation unit is
The score when the ratio of the second number of uses to the first number of uses exceeds a predetermined ratio than the score when the ratio of the second number of uses to the first number of uses is less than or equal to a predetermined ratio. calculate higher,
The information processing device according to claim 1 or 2.
前記利用履歴情報として、前記グローバルIPアドレスと対応するFQDN(Fully Qualified Domain Name)に関するドメイン名情報を記憶し、
前記取得部は、
前記第1グローバルIPアドレスと対応するFQDNに関する第1ドメイン名情報、および、前記第2グローバルIPアドレスと対応するFQDNに関する第2ドメイン名情報を取得し、
前記算出部は、
前記第1ドメイン名情報と前記第2ドメイン名情報との比較に基づいて、前記スコアを算出する、
請求項1~3のいずれか1つに記載の情報処理装置。 The storage unit includes:
storing domain name information regarding an FQDN (Fully Qualified Domain Name) corresponding to the global IP address as the usage history information;
The acquisition unit includes:
obtaining first domain name information regarding the FQDN corresponding to the first global IP address and second domain name information regarding the FQDN corresponding to the second global IP address;
The calculation unit is
calculating the score based on a comparison between the first domain name information and the second domain name information;
The information processing device according to any one of claims 1 to 3.
前記第1グローバルIPアドレスと対応するFQDNと、前記第2グローバルIPアドレスと対応するFQDNとが同一である場合の前記スコアよりも、前記第1グローバルIPアドレスと対応するFQDNと、前記第2グローバルIPアドレスと対応するFQDNとが異なる場合の前記スコアを高く算出する、
請求項4に記載の情報処理装置。 The calculation unit is
The FQDN corresponding to the first global IP address and the second global IP address are higher than the score when the FQDN corresponding to the first global IP address and the FQDN corresponding to the second global IP address are the same. calculating the score to be high when the IP address and the corresponding FQDN are different;
The information processing device according to claim 4.
請求項1~5のいずれか1つに記載の情報処理装置。 If the determination unit determines that the second server device is using the API key illegally, the administrator of the first server device is notified that the illegal use of the API key has been detected. further comprising a notification section;
The information processing device according to any one of claims 1 to 5.
グローバルIPアドレスによって識別されるサーバ装置によるAPIキーの利用履歴を示す利用履歴情報を前記グローバルIPアドレスごとに記憶部に記憶する記憶工程と、
前記利用履歴情報に基づいて、前記APIキーを不正利用していないと判定されたサーバ装置である第1サーバ装置による前記APIキーの利用回数である第1利用回数を示す第1利用回数情報、および、判定対象のサーバ装置であって、前記第1サーバ装置を識別する第1グローバルIPアドレスと異なる第2グローバルIPアドレスによって識別され前記第1サーバ装置が利用する前記APIキーを利用する第2サーバ装置による前記APIキーの利用回数である第2利用回数を示す第2利用回数情報を取得する取得工程と、
前記第1利用回数と前記第2利用回数との比較に基づいて、前記第2サーバ装置が前記APIキーを不正利用しているか否かを示すスコアを算出する算出工程と、
前記算出工程によって算出されたスコアが所定の閾値を超える場合に、前記第2サーバ装置が前記APIキーを不正利用していると判定し、前記算出工程によって算出されたスコアが前記所定の閾値以下である場合に、前記第2サーバ装置が前記APIキーを不正利用していないと判定する判定工程と、
を含む情報処理方法。 An information processing method performed by a computer, the method comprising:
a storage step of storing usage history information indicating usage history of the API key by the server device identified by the global IP address in a storage unit for each global IP address;
first usage number information indicating a first usage number, which is the number of times the API key is used by a first server device that is a server device that is determined to not be using the API key illegally based on the usage history information; and a second server device to be determined, which uses the API key that is identified by a second global IP address that is different from a first global IP address that identifies the first server device and is used by the first server device. an acquisition step of acquiring second usage number information indicating a second usage number, which is the number of times the API key is used by the server device;
a calculation step of calculating a score indicating whether the second server device is illegally using the API key based on a comparison between the first number of uses and the second number of uses;
If the score calculated in the calculation step exceeds a predetermined threshold, the second server device determines that the API key is being used illegally, and the score calculated in the calculation step is less than or equal to the predetermined threshold. a determination step of determining that the second server device is not illegally using the API key;
Information processing methods including.
前記利用履歴情報に基づいて、前記APIキーを不正利用していないと判定されたサーバ装置である第1サーバ装置による前記APIキーの利用回数である第1利用回数を示す第1利用回数情報、および、判定対象のサーバ装置であって、前記第1サーバ装置を識別する第1グローバルIPアドレスと異なる第2グローバルIPアドレスによって識別され前記第1サーバ装置が利用する前記APIキーを利用する第2サーバ装置による前記APIキーの利用回数である第2利用回数を示す第2利用回数情報を取得する取得手順と、
前記第1利用回数と前記第2利用回数との比較に基づいて、前記第2サーバ装置が前記APIキーを不正利用しているか否かを示すスコアを算出する算出手順と、
前記算出手順によって算出されたスコアが所定の閾値を超える場合に、前記第2サーバ装置が前記APIキーを不正利用していると判定し、前記算出手順によって算出されたスコアが前記所定の閾値以下である場合に、前記第2サーバ装置が前記APIキーを不正利用していないと判定する判定手順と、
をコンピュータに実行させる情報処理プログラム。 a storage procedure for storing usage history information indicating a usage history of an API key by a server device identified by the global IP address in a storage unit for each global IP address;
first usage number information indicating a first usage number, which is the number of times the API key is used by a first server device that is a server device that is determined to not be using the API key illegally based on the usage history information; and a second server device to be determined, which uses the API key that is identified by a second global IP address that is different from a first global IP address that identifies the first server device and is used by the first server device. an acquisition procedure for acquiring second usage number information indicating a second usage number, which is the number of times the API key is used by the server device;
a calculation step of calculating a score indicating whether the second server device is illegally using the API key based on a comparison between the first number of times of use and the second number of times of use;
If the score calculated by the calculation procedure exceeds a predetermined threshold, the second server device determines that the API key is being used illegally, and the score calculated by the calculation procedure is less than or equal to the predetermined threshold. a determination procedure for determining that the second server device is not illegally using the API key;
An information processing program that causes a computer to execute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022033839A JP7292454B1 (en) | 2022-03-04 | 2022-03-04 | Information processing device, information processing method and information processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022033839A JP7292454B1 (en) | 2022-03-04 | 2022-03-04 | Information processing device, information processing method and information processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP7292454B1 JP7292454B1 (en) | 2023-06-16 |
JP2023129069A true JP2023129069A (en) | 2023-09-14 |
Family
ID=86729189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022033839A Active JP7292454B1 (en) | 2022-03-04 | 2022-03-04 | Information processing device, information processing method and information processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7292454B1 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6617617B2 (en) | 2016-03-10 | 2019-12-11 | 富士通株式会社 | Management device, management program, and management method |
WO2020068036A1 (en) | 2018-09-24 | 2020-04-02 | Hewlett-Packard Development Company, L.P. | Device status assessment |
CN113706291A (en) | 2021-08-31 | 2021-11-26 | 平安普惠企业管理有限公司 | Fraud risk prediction method, device, equipment and storage medium |
-
2022
- 2022-03-04 JP JP2022033839A patent/JP7292454B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP7292454B1 (en) | 2023-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6680840B2 (en) | Automatic detection of fraudulent digital certificates | |
US9350739B2 (en) | Recovery from rolling security token loss | |
US20120136798A1 (en) | Securing mobile transactions | |
EP2190164A1 (en) | System and method for controlling use of a network resource | |
CN108573741A (en) | Business datum recording method, device, equipment and storage medium | |
US11941144B2 (en) | Modification of data sharing between systems | |
CA3056277C (en) | System for managing transactional data | |
JP5936798B2 (en) | Log analysis device, unauthorized access audit system, log analysis program, and log analysis method | |
US20190073206A1 (en) | Information processing apparatus, setup method, and computer-readable storage medium | |
JP6949378B2 (en) | Information processing device | |
WO2020222009A1 (en) | Online payment system | |
US20150248673A1 (en) | Methods and apparatus for a token management system for transactions | |
US20140195487A1 (en) | Request de-duplication for enterprise service bus | |
JP6429962B1 (en) | Information processing apparatus, information processing method, and information processing program | |
AU2019293104B2 (en) | Service support system and service support method | |
JP2023129069A (en) | Information processing device, information processing method, and information processing program | |
JP6680733B2 (en) | Generation device, generation method, and generation program | |
JP6298205B1 (en) | Transaction management system, transaction management method, and program thereof | |
JP2020047057A (en) | Information processing method, information processing device, and program | |
US20150106274A1 (en) | Credit card security enhancements for authorizing a credit card transaction | |
US20210056181A1 (en) | Information processing method, information processing apparatus, and medium | |
JP2009086929A (en) | Coupon system, coupon management method, and program | |
JP2020109691A (en) | Generation device, generation method and generation program | |
JP2014191766A (en) | Lending management system, lending management device and lending management method | |
JP7197387B2 (en) | Information processing apparatus, method, and computer program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220311 |
|
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: 20230516 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230606 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7292454 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |