WO2021130991A1 - 不正検知システム、不正検知方法、及びプログラム - Google Patents

不正検知システム、不正検知方法、及びプログラム Download PDF

Info

Publication number
WO2021130991A1
WO2021130991A1 PCT/JP2019/051258 JP2019051258W WO2021130991A1 WO 2021130991 A1 WO2021130991 A1 WO 2021130991A1 JP 2019051258 W JP2019051258 W JP 2019051258W WO 2021130991 A1 WO2021130991 A1 WO 2021130991A1
Authority
WO
WIPO (PCT)
Prior art keywords
fraud
user
degree
accuracy
fraudulent
Prior art date
Application number
PCT/JP2019/051258
Other languages
English (en)
French (fr)
Inventor
恭輔 友田
Original Assignee
楽天グループ株式会社
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 楽天グループ株式会社 filed Critical 楽天グループ株式会社
Priority to JP2020539110A priority Critical patent/JP6933780B1/ja
Priority to US17/415,708 priority patent/US11947643B2/en
Priority to PCT/JP2019/051258 priority patent/WO2021130991A1/ja
Priority to EP19955402.3A priority patent/EP3882795A4/en
Priority to TW109136115A priority patent/TWI811574B/zh
Publication of WO2021130991A1 publication Critical patent/WO2021130991A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Definitions

  • the present invention relates to a fraud detection system, a fraud detection method, and a program.
  • Patent Document 1 continuously acquires behavior history information such as the user's bedtime and wake-up time, and includes the acquired behavior history information and parameters such as the user's lifestyle, personality, and preference. Based on this, a system for calculating the fraudulent degree (credit score) of a user is described.
  • the present invention has been made in view of the above problems, and an object of the present invention is to provide a fraud detection system, a fraud detection method, and a program capable of calculating the accuracy of fraud detection for each user.
  • the fraud detection system includes a fraud calculation means for calculating the fraud degree of the user based on the behavior of the user who uses the service, and the fraud detection system in which the behavior is actually performed. It includes a confirmation result acquisition means for acquiring a confirmation result as to whether or not it is fraudulent, and an accuracy calculation means for calculating the accuracy of fraud detection for each user based on the fraud degree and the confirmation result.
  • the fraud detection method includes a fraud calculation step of calculating the fraud degree of the user based on the behavior of the user who uses the service, and determination of whether or not the behavior is actually fraud. It includes a confirmation result acquisition step for acquiring a result, and an accuracy calculation step for calculating the accuracy of fraud detection for each user based on the fraud degree and the confirmation result.
  • the program acquires a fraudulent degree calculation means for calculating the fraudulent degree of the user based on the behavior of the user who uses the service, and a determination result of whether or not the behavior is actually fraudulent.
  • the computer functions as a confirmation result acquisition means for calculating the accuracy of fraud detection for each user based on the fraud degree and the confirmation result.
  • the fraud calculation means calculates the fraud degree of each action based on each of the plurality of actions, and the confirmation result acquisition means is actually fraudulent for each action.
  • the accuracy calculation means calculates the accuracy based on the fraudulent degree of each action and the confirmation result.
  • the fraudulent degree calculation means is a learning model in which the behavior of the confirmed result acquired by the confirmed result acquisition means, which is determined to be actually fraudulent or not, is learned in advance. Based on, the degree of fraud of an action for which it is uncertain whether or not it is fraudulent is calculated.
  • the accuracy calculation means calculates a value of a predetermined loss function based on the fraud degree and the determination result, and obtains the value as the accuracy.
  • the coefficient of the loss function is determined so that the false negative has a large effect on the accuracy.
  • the fraud calculation means calculates the fraud degree on the assumption that the behavior of another user whose fraud is actually determined is performed by the user.
  • the confirmation result acquisition means acquires the confirmation result of the behavior of the other user, and is based on the fraudulent degree of the behavior assumed to have been performed by the user and the confirmation result of the behavior of the other user. Calculate the accuracy.
  • the fraud calculation means is based on the fraud based on an action performed in the past and the determination result of whether or not the action was actually fraud.
  • the weighting coefficient in the calculation of the degree is determined, and the fraud degree is calculated based on the determined weighting coefficient.
  • the fraud calculation means further calculates the fraud based on at least one of the user authentication method and the user's holder.
  • the fraud detection system further includes an execution means for executing a process according to the accuracy.
  • the process is a process of changing the value of the fraud degree calculated by the fraud degree calculating means.
  • the process is a process of giving a coupon related to the service to the user.
  • the accuracy of fraud detection for each user can be calculated.
  • FIG. 1 is a diagram showing an overall configuration of a fraud detection system.
  • the fraud detection system S includes a server 10 and a user terminal 20, which can be connected to a network N such as the Internet.
  • FIG. 1 shows one server 10 and one user terminal 20, a plurality of these may be present.
  • the server 10 is a server computer.
  • the server 10 includes a control unit 11, a storage unit 12, and a communication unit 13.
  • the control unit 11 includes at least one processor.
  • the control unit 11 executes processing according to the programs and data stored in the storage unit 12.
  • the storage unit 12 includes a main storage unit and an auxiliary storage unit.
  • the main storage unit is a volatile memory such as RAM
  • the auxiliary storage unit is a non-volatile memory such as ROM, EEPROM, flash memory, or hard disk.
  • the communication unit 13 is a communication interface for wired communication or wireless communication, and performs data communication via the network N.
  • the user terminal 20 is a computer operated by the user.
  • the user terminal 20 is a mobile phone (including a smartphone), a mobile information terminal (including a tablet computer), a personal computer, or the like.
  • the user terminal 20 includes a control unit 21, a storage unit 22, a communication unit 23, an operation unit 24, and a display unit 25.
  • the physical configurations of the control unit 21, the storage unit 22, and the communication unit 23 may be the same as those of the control unit 11, the storage unit 12, and the communication unit 13, respectively.
  • the operation unit 24 is an input device, for example, a pointing device such as a touch panel or a mouse, a keyboard, a button, or the like.
  • the operation unit 24 transmits the operation content by the user to the control unit 21.
  • the display unit 25 is, for example, a liquid crystal display unit, an organic EL display unit, or the like.
  • the display unit 25 displays an image according to the instruction of the control unit 21.
  • the programs and data described as being stored in the storage units 12 and 22 may be supplied via the network N.
  • the hardware configuration of each computer described above is not limited to the above example, and various hardware can be applied.
  • a reading unit for reading a computer-readable information storage medium for example, an optical disk drive or a memory card slot
  • an input / output unit for inputting / outputting data to / from an external device (for example, a USB port)
  • the program or data stored in the information storage medium may be supplied via the reading unit or the input / output unit.
  • the server 10 provides a website related to a service such as news or video to a user, and analyzes the behavior of the user who uses the service by accessing the website as an example.
  • the processing of the detection system S will be described.
  • the server 10 stores a history of actions when a user accesses a website.
  • the server 10 calculates the degree of fraudulent behavior for each user.
  • the degree of fraud is information indicating the degree of fraud.
  • the degree of fraud is information that indicates the high degree of suspicion of fraud.
  • the fraudulent degree is expressed by the probability (percentage)
  • the fraudulent degree may be expressed by another index.
  • the degree of injustice may be expressed by a score which is a numerical value other than the probability, or may be expressed by characters such as S rank, A rank, and B rank.
  • FIG. 2 is a diagram showing an outline of the calculation method of the degree of fraud.
  • the current time is November 30, 2019, and the dates when each of user A and user B in 2019 used the service are shown.
  • a predetermined confirmation timing comes after the service is used, it is determined whether or not the behavior at the time of using the service is actually illegal (whether it is illegal or normal).
  • the confirmation timing is set to 3 months after the date of use, but the confirmation timing may be any timing.
  • the confirmation timing may be a predetermined date (for example, the 15th day of each month), or may be a time when the service administrator performs a business of determining the presence or absence of fraud.
  • the confirmation timing may be when a user reports a suspicion of unauthorized login (spoofing) by a third party.
  • the server 10 calculates the degree of fraud using the learning model each time the service is used. For example, when the server 10 receives an access by a user, the server 10 calculates the fraud degree in real time based on the behavior during the session.
  • the learning model is a model used in machine learning, and learns the relationship between the contents of confirmed actions (for example, date and time of use, place of use, frequency of use) and the confirmed result of whether or not it is illegal. ..
  • Various known methods can be used for machine learning itself, and for example, methods such as neural networks, reinforcement learning, or deep learning can be used.
  • Machine learning is not limited to supervised machine learning, and semi-supervised machine learning may be used, or unsupervised machine learning may be used.
  • the server 10 inputs the behavior when using the service into the learning model, and acquires the degree of fraud output from the learning model.
  • the learning model is designed to output the degree of fraud according to the content of the action input to itself.
  • the degree of fraud can also be said to be the probability of fraud calculated by the learning model.
  • the fraud degree of 0.30% is calculated for the action of user A performed on January 2, 2019. This behavior is a confirmed behavior and has been confirmed to be normal. Similarly for the behaviors on other days, the server 10 uses the learning model to calculate the degree of fraud for each behavior. When the action confirmation timing comes, the confirmation result of whether or not it is illegal is recorded in the server 10.
  • the user A can be said to be a user who has high accuracy of fraud detection by the learning model and is easy to detect fraud (a user who is easy to catch by the learning model). For example, even if the user A commits a fraud, the degree of fraud is calculated to be high, and there is a high possibility that the fraud can be detected in real time.
  • the confirmed behavior of user B includes an action that is confirmed not to be fraudulent even if the fraudulent degree is high, and is confirmed to be fraudulent even if the fraudulent degree is low. Therefore, the user B can be said to be a user who is difficult to detect fraud by the learning model (a user who is difficult to catch by the learning model). For example, even if the user B commits a fraud, the degree of fraud is calculated to be low, and there is a possibility that the fraud cannot be detected in real time. Further, for example, even if the user B does not cheat, the degree of fraud is calculated to be high, and there is a possibility that the fraud is mistakenly made.
  • the fraud detection system S of the present embodiment calculates the accuracy of fraud detection for each user based on the fraud degree output by the learning model and the confirmation result of whether or not the fraud is actually fraudulent. It is possible to identify whether or not the user is a user who can easily detect fraud.
  • this technique will be described.
  • FIG. 3 is a functional block diagram showing an example of the functions realized by the fraud detection system S.
  • the server 10 the data storage unit 100, the fraud calculation unit 101, the confirmation result acquisition unit 102, the accuracy calculation unit 103, and the execution unit 104 are realized.
  • the data storage unit 100 is mainly realized by the storage unit 12.
  • the data storage unit 100 stores data necessary for calculating the accuracy of fraud detection by the user.
  • the user database DB1 the action history database DB2, and the accuracy database DB3 will be described.
  • FIG. 4 is a diagram showing an example of storing data in the user database DB1.
  • the user database DB1 is a database in which various information about the user is stored.
  • the user database DB1 stores a user ID, a user name, authentication information, a center of use, an average access time, and an average access frequency.
  • the user ID is information that uniquely identifies the user.
  • the user name is the user's name.
  • Authentication information is information that is the correct answer (index) at the time of authentication.
  • the authentication itself can use various types of authentication, such as password authentication, certificate authentication, or biometric authentication.
  • the certification may be one-step or two-step or more. It may be possible to specify which authentication the user uses.
  • the center of use is the average value of the places where the service is used.
  • the average access time is the average value of the service usage time.
  • the average access frequency is the average value of the service usage frequency.
  • These average values may be the average values of all past periods or the average values of some of the most recent periods. Further, these average values may be simple averages or weighted averages. In the case of a weighted average, the weighting coefficient may be higher as it is closer to the present time.
  • the server 10 When the user completes the usage registration of the service, the server 10 issues the user ID of the user based on the predetermined issuing rule.
  • the server 10 creates a new record in the user database DB1 and stores the issued user ID, the user name specified at the time of registration of use, and the authentication information.
  • the authentication information can be changed after the fact.
  • the server 10 updates the usage center, the average access time, and the average access frequency when the user uses the service.
  • FIG. 5 is a diagram showing a data storage example of the action history database DB2.
  • the action history database DB2 is a database in which the user's action history (service usage status) is stored.
  • the action history database DB2 stores an action history ID, a user ID, an IP address, a URL, an access location, an access date and time, an illegality degree, and a confirmation result.
  • the case where both the confirmed action and the undetermined action are stored in the action history database DB2 will be described, but only one of the confirmed action and the undetermined action is stored in the action history database DB2. May be done. In addition, other information may be stored in the action history database DB2.
  • the action history ID is information that uniquely identifies the action.
  • the IP address is the IP address of the user terminal 20 used when using the service.
  • the URL is the URL of the page accessed by the user. For example, the history of the URL while the session between the server 10 and the user terminal 20 is established is stored.
  • the access location is the location of the user (user terminal 20) when using the service.
  • the access location can be acquired by any method, and may be acquired by using, for example, IP address, GPS information, access point information, or mobile base station information.
  • the access date and time is the service usage date and time.
  • the server 10 issues an action history ID of the action based on a predetermined issuing rule each time a session with the user terminal 20 is established.
  • the server 10 creates a new record in the action history database DB2, and stores the action history ID, the user ID, the IP address, the URL, the access location, and the access date and time. It is assumed that the user ID, IP address, and URL are included in the access request received by the server 10 from the user terminal 20.
  • the access date and time is the current date and time when the access request is received.
  • the degree of fraud is the degree of fraud of individual actions.
  • the fraud degree is stored by the fraud calculation unit 101, which will be described later.
  • a definite result is a result indicating whether or not an individual action is fraudulent.
  • the confirmation result is stored by the confirmation result acquisition unit 102, which will be described later. As shown in FIG. 5, the confirmed result is stored only for the confirmed action, and the confirmed result is not stored for the undetermined action.
  • FIG. 6 is a diagram showing a data storage example of the accuracy database DB3.
  • the accuracy database DB3 is a database in which the accuracy of user fraud detection is stored.
  • the accuracy database DB3 stores the user ID, the accuracy of fraud detection, and the correction information.
  • the accuracy of fraud detection is the probability that fraud can be detected according to the degree of fraud.
  • the accuracy of fraud detection is the degree of agreement or deviation between the degree of fraud and the confirmation result.
  • the accuracy of fraud detection can be said to be the creditworthiness of the learning model or the creditworthiness of the fraudulent degree.
  • the accuracy of fraud detection is stored by the accuracy calculation unit 103.
  • the amount of correction is the degree of correction of the degree of fraud. For example, the higher the accuracy of fraud detection, the smaller the correction amount, and the lower the accuracy of fraud detection, the larger the correction amount. Further, for example, when the accuracy of fraud detection is equal to or higher than the threshold value, the correction amount is not set, and when the accuracy of fraud detection is less than the threshold value, the correction amount may be set.
  • the correction amount is stored by the execution unit 104, which will be described later.
  • the data stored in the data storage unit 100 is not limited to the above example.
  • the data storage unit 100 stores a program (algorithm) and parameters of a learning model. It is assumed that the teacher data has been trained in the training model and the parameters of the training model have been adjusted. For example, in the teacher data, a large number of pairs are stored in which the content of the confirmed action is input and the confirmation result of the presence or absence of fraud is output. The input of this pair is in the same data format as the content of the behavior input to the learning model.
  • the content of the action that is the input of the teacher data is information indicating the characteristics of the action, and is, for example, at least one of the IP address, URL, access location, access date and time, and access frequency. It is assumed that the content of the action is stored in the action history database DB2. In the present embodiment, the access location and the access date and time will be described as an example of the content of the action.
  • information such as an access location may be stored as it is as the content of the action, or a feature amount expressed by a vector or an array may be stored.
  • the final result that is the output of the teacher data is information indicating whether or not it is invalid, and is, for example, a value of either 100% indicating that it is invalid or 0% indicating that it is normal. ..
  • the finalized result does not have to be expressed by these two values, and there is an intermediate value such as 30% for the behavior that the administrator could not determine whether or not it was illegal. You may. Further, the finalized result does not have to be expressed numerically, and may be expressed by characters indicating whether or not it is invalid.
  • the teacher data may be stored in the data storage unit 100, or may be stored in a computer other than the server 10 or an information storage medium.
  • teacher data is created by the administrator.
  • the server 10 executes the learning process of the learning model based on the teacher data. As the learning process itself, various methods used in machine learning can be applied, and for example, the learning process in a neural network can be used.
  • the server 10 adjusts the parameters of the learning model so that the relationship between the input and the output indicated by the teacher data can be obtained.
  • the fraud calculation unit 101 is mainly realized by the control unit 11.
  • the fraud calculation unit 101 calculates the fraud of the user based on the behavior of the user who uses the service.
  • the fraud calculation unit 101 calculates the fraud of the user for each user based on the behavior of the user.
  • the fraud calculation unit 101 may calculate the fraud of all users or may calculate the fraud of some users.
  • Behavior is information that indicates how the service was used.
  • the action can also be said to be the content of use of the service or the behavior when the service is used.
  • the case where the IP address, URL, access location, and access date and time stored in the action history database DB2 correspond to the user's action will be described, but only a part of these may correspond to the action.
  • other information input to the server 10 when using the service may correspond to an action.
  • the fraud calculation unit 101 is fraudulent based on a learning model in which the behavior in which the confirmation result acquired by the confirmation result acquisition unit 102 indicates whether or not the behavior is actually fraudulent is learned in advance. Calculate the fraudulent degree of behavior for which it is uncertain whether or not.
  • the fraud calculation unit 101 inputs information indicating the user's behavior (for example, access location and access date and time) into the learning model.
  • the learning model calculates the feature amount of the input information and outputs the degree of injustice according to the feature amount.
  • the fraud calculation unit 101 acquires the fraud output output from the learning model.
  • the feature amount may be calculated by an algorithm other than the learning model. In this case, the features calculated by the algorithm are input to the learning model.
  • the fraud calculation unit 101 calculates the fraud of each action based on each of the plurality of actions.
  • the fraud calculation unit 101 calculates the fraud degree based on the content of the action each time the action is executed.
  • the fraud calculation unit 101 calculates the fraud so that the fraud increases as the IP address varies. Further, for example, the fraudulent degree calculation unit 101 calculates the fraudulent degree so that the fraudulent degree becomes higher as the URL accessed by the user varies. Further, for example, the fraudulent degree calculation unit 101 calculates the fraudulent degree so that the fraudulent degree increases as the access location is farther from the usage center or the access location varies. Further, for example, the fraudulent degree calculation unit 101 calculates the fraudulent degree so that the fraudulent degree becomes higher as the access date and time deviates from the average access date and time or the access date and time varies. Further, for example, the fraudulent degree calculation unit 101 calculates the fraudulent degree so that the fraudulent degree increases as the access frequency deviates from the average access frequency or the access frequency varies.
  • the degree of fraud may be calculated based on a predetermined method, and is not limited to the example using the learning model.
  • the fraud calculation unit 101 may calculate the fraud by quantifying the user's behavior and substituting it into a predetermined calculation formula.
  • the fraudulent degree calculation unit 101 may calculate the fraudulent degree based on the program code that defines the relationship between the user's behavior and the fraudulent degree.
  • the confirmation result acquisition unit 102 is mainly realized by the control unit 11.
  • the confirmation result acquisition unit 102 acquires the confirmation result of whether or not the user's behavior is actually illegal.
  • the confirmation result acquisition unit 102 acquires the confirmation result of the action of the user for each user.
  • the confirmation result acquisition unit 102 may acquire the confirmation results of all users, or may acquire the confirmation results of some users.
  • the confirmation result will be the first value indicating that it is fraudulent or the second value indicating that it is not fraudulent.
  • the confirmation result is specified by the service administrator.
  • the service administrator does not have to specify a definite result for all actions, and may specify a definite result for only some actions.
  • the confirmation result acquisition unit 102 acquires a provisional confirmation result based on the degree of fraud of each action and presents it to the manager.
  • the tentative confirmation result is invalid if the degree of fraud is greater than or equal to the threshold value, and is normal if the degree of fraud is less than the threshold value.
  • the administrator checks the provisional confirmation result and corrects any mistakes.
  • the administrator may check and correct the provisional confirmation result after a predetermined period (for example, 3 months from the date of use of the service) has elapsed since the user used the service.
  • a predetermined period for example, 3 months from the date of use of the service
  • the administrator may correct the provisional confirmation result in which the degree of fraud is less than the threshold value.
  • the confirmation result acquisition unit 102 acquires the confirmation result corrected by the administrator.
  • the confirmation result acquisition unit acquires the confirmation result of whether or not each action is actually illegal.
  • the confirmation result acquisition unit acquires the confirmation result of the action for each action.
  • the confirmation result acquisition unit 102 may acquire the confirmation results of all actions, or may acquire the confirmation results of some actions.
  • the accuracy calculation unit 103 is mainly realized by the control unit 11.
  • the accuracy calculation unit 103 calculates the accuracy of fraud detection for each user based on the fraud degree and the confirmation result.
  • the accuracy calculation unit 103 calculates the accuracy of fraud detection of the user for each user based on the fraud degree of the user and the confirmation result.
  • the accuracy calculation unit 103 may calculate the accuracy of fraud detection of all users, or may calculate the accuracy of fraud detection of some users.
  • the fraud degree is calculated for each action, so the accuracy calculation unit 103 calculates the fraud detection accuracy based on the fraud degree of each action and the confirmation result.
  • the accuracy calculation unit 103 calculates the accuracy of fraud detection by substituting the fraud degree and the confirmation result of each action into a predetermined calculation formula.
  • This calculation formula may be any formula that calculates the accuracy of fraud detection by substituting the fraud degree of each action and the confirmation result.
  • the accuracy calculation unit 103 calculates the accuracy of fraud detection so that the higher the degree of fraud and the more consistent the finalized result, the higher the accuracy.
  • the high degree of fraud and the confirmed result match, it means that the confirmed result of the action whose fraud degree is equal to or higher than the threshold value is fraudulent.
  • the agreement between the high degree of fraud and the confirmed result means that the confirmed result of the behavior whose fraud is less than the threshold value is not fraudulent.
  • the accuracy calculation unit 103 calculates the value of a predetermined loss function based on the degree of injustice and the confirmation result, and acquires it as the accuracy.
  • the loss function is a function for calculating the error between the degree of injustice and the finalized result.
  • various functions can be used, for example, a function for evaluating the accuracy (so-called Loss or LogLoss) of a learning model such as a neural network can be used.
  • Loss or LogLoss a function for evaluating the accuracy of a learning model such as a neural network
  • the accuracy of fraud detection may be calculated based on a predetermined method, and is not limited to an example using a calculation formula such as a loss function.
  • the accuracy calculation unit 103 may calculate the accuracy of fraud detection by using a learning model in which the relationship between the fraud degree and the confirmation result and the accuracy of fraud detection is learned. Further, for example, the accuracy calculation unit 103 may calculate the accuracy of fraud detection based on the program code that defines the relationship between the fraud degree and the confirmation result and the accuracy of fraud detection.
  • the execution unit 104 is mainly realized by the control unit 11.
  • the execution unit 104 executes processing according to the accuracy of fraud detection.
  • the execution unit 104 executes a process for each user according to the accuracy of fraud detection of the user.
  • the execution unit 104 may execute the process for all users, or may execute the process only for some users.
  • the processing according to the accuracy of fraud detection is the processing in which whether or not to execute is determined by the accuracy of fraud detection, or the processing whose contents change depending on the accuracy of fraud detection.
  • this process may be an arbitrary process.
  • this process may be a process of giving a coupon as in the modified example described later.
  • this process may be a process of restricting the use of the service, a process of requesting additional authentication, or a process of giving a special treatment other than a coupon.
  • the execution unit 104 determines the amount of fraud correction based on the accuracy of the user's fraud detection.
  • the execution unit 104 determines the correction amount so that the lower the accuracy of fraud detection, the larger the correction amount.
  • the execution unit 104 determines the correction amount so that the higher the accuracy of fraud detection, the smaller the correction amount.
  • the execution unit 104 may set a correction amount for a user whose fraud detection accuracy is less than the threshold value, and may not set a correction amount for a user whose fraud detection accuracy is equal to or higher than the threshold value.
  • the execution unit 104 changes the value of the fraud degree calculated by the fraud degree calculation unit 101 based on the correction amount determined as described above.
  • FIG. 7 is a flow chart showing an example of service use processing.
  • the service utilization process shown in FIG. 7 is executed by the control units 11 and 21 operating according to the programs stored in the storage units 12 and 22, respectively.
  • the process described below is an example of the process executed by the functional block shown in FIG. It is assumed that the user has completed the usage registration when the service usage process is executed.
  • the user terminal 20 transmits a login request for logging in to the service to the server 10 (S100).
  • the login request may be made by transmitting data in a predetermined format, and includes, for example, a user ID and authentication information.
  • the authentication information may be stored in the storage unit 22 of the user terminal 20 or may be input from the operation unit 24. In addition, for example, when using biometric authentication, authentication information may be input from the camera or the like of the user terminal 20.
  • the server 10 When the server 10 receives the login request, the server 10 establishes a session with the user terminal 20 (S101). In S101, the server 10 executes user authentication based on the user ID and authentication information included in the login request. If the user authentication is successful, the server 10 establishes a session. If the user authentication is not successful, the session is not established and this process ends.
  • the server 10 provides contents such as news and articles in response to a user's access request (S102). It is assumed that the access request includes the IP address of the user terminal 20 and the URL to the content of the access destination. The server 10 provides the user with the content corresponding to the URL. The server 10 issues an action history ID and stores the user ID, IP address, URL, access location, and access date and time in the action history database DB2. After that, the process of S102 is repeated until the session is disconnected. Each time the content is provided, the URL, access location, and access date and time of the issued action history ID are added.
  • the server 10 calculates the degree of fraud according to this behavior based on the user's behavior during that time and the learning model stored in the storage unit 12 (S103). ).
  • the server 10 inputs the IP address, URL, access location, and access date and time during the session into the learning model, and acquires the degree of injustice output by the learning model.
  • the server 10 corrects the fraud degree calculated in S103 based on the accuracy database DB3 (S104), and this process ends.
  • the server 10 refers to the accuracy database DB3 and acquires a correction amount according to the user. Based on this correction amount, the server 10 corrects the fraudulent degree calculated in S103 and stores it in the action history database DB2.
  • the process of S104 is not executed, and the server 10 stores the fraud degree calculated in S103 in the action history database DB2.
  • the server 10 may execute the process of S104 before disconnecting the session, and if the corrected fraud degree is very high, the server 10 may stop providing the content.
  • FIG. 8 is a flow chart showing an example of the accuracy calculation process.
  • the accuracy calculation process shown in FIG. 8 is executed by the control unit 11 operating according to the program stored in the storage unit 12.
  • the process described below is an example of the process executed by the functional block shown in FIG.
  • the accuracy calculation process may be executed at an arbitrary timing, for example, may be executed when the administrator performs a predetermined operation, or may be executed at a predetermined date and time (for example, 3 months from the service usage date). It may be executed when (later) is visited.
  • the server 10 acquires the fraudulent degree and the confirmed result of the confirmed action of each user based on the action history database DB2 (S200).
  • the server 10 refers to the action history database DB2 and acquires a pair of the fraudulent degree of the confirmed action (action 3 months or more ago) and the confirmed result for each user.
  • the server 10 calculates the accuracy of fraud detection for each user based on the fraudulent degree of the confirmed behavior of each user and the confirmed result (S201). In S201, the server 10 substitutes the fraud degree and the confirmation result into the loss function for each user, and calculates the accuracy of fraud detection. The server 10 stores the accuracy of fraud detection of each user in the accuracy database DB3.
  • the server 10 determines the amount of fraud correction based on the accuracy of fraud detection of each user (S202), and this process ends.
  • the server 10 determines a correction amount for each user according to the accuracy of fraud detection of the user.
  • the server 10 stores the correction amount determined for each user in the accuracy database DB3.
  • the correction amount stored in the accuracy database DB3 becomes effective the next time the user logs in, and is referred to in the service usage process from the next time onward.
  • the accuracy of fraud detection for each user is determined based on the degree of fraud according to the user's behavior and the determination result of whether or not the behavior is actually fraud. Can be calculated.
  • the accuracy of fraud detection for each user it is possible to evaluate the fraud calculation method for each user. As a result, it is possible to identify whether or not the user can be captured by the current calculation method, and improve the security in the fraud detection system S.
  • users who are easy to capture with the current calculation method can be stopped by the fraud detection system S, and the administrator does not have to pay attention to such users, so the burden on the administrator can be reduced. it can.
  • the accuracy of fraud detection for each user it is possible to identify whether or not the number of users who are difficult to capture has increased.
  • the learning model can be updated using teacher data prepared to match the latest trends.
  • the accuracy of the learning model is improved, and the security in the fraud detection system S can be improved.
  • the fraud detection system S calculates the accuracy of fraud detection for each user based on the fraud degree and the confirmation result of each of the plurality of actions, thereby comprehensively considering the plurality of actions for fraud detection.
  • the accuracy can be calculated and the calculation accuracy can be improved. Thereby, the security in the fraud detection system S can be effectively enhanced.
  • the fraud detection system S calculates the fraudulent degree of the behavior whose fraud is not determined based on the learning model in which the behavior whose fraud is actually determined is learned. , The calculation accuracy of the degree of fraud can be improved. For example, by training a learning model with new teacher data, it is possible to calculate a highly accurate fraud degree corresponding to the latest fraud trend. By increasing the calculation accuracy of the fraud degree, the security in the fraud detection system S can be effectively enhanced.
  • the fraud detection system S can effectively improve the calculation accuracy of the fraud degree by calculating the value of a predetermined loss function based on the fraud degree and the confirmation result and acquiring it as the accuracy of the fraud detection. it can. Thereby, the security in the fraud detection system S can be effectively enhanced. For example, when it is expected that the majority of users are not fraudulent, the fraud detection system S extracts a certain number of users with similar usage tendencies by using clustering or the like based on the behavior history database DB2. , The accuracy of fraud detection of the learning model may be calculated among these. In this case, the accuracy of fraud detection can be determined to some extent even for a user who has not been fraudulent or a user who has a short usage history.
  • the fraud detection system S executes a process according to the accuracy of fraud detection to provide, for example, a service according to the accuracy of fraud detection or restricts usage according to the accuracy of fraud detection. be able to.
  • the fraud detection system S can effectively improve the calculation accuracy of the fraud degree by executing the process of changing the value of the fraud degree as the process according to the accuracy of the fraud detection. As a result, it is possible to easily capture users who are difficult to be captured by the fraud detection system S to some extent, and it is possible to effectively enhance the security of the fraud detection system S.
  • the loss function may have a coefficient defined so that the false negative has a large effect on accuracy.
  • the loss function of this modification is the so-called weighted LogLoss.
  • This loss function has the property that the value increases exponentially when the learning model incorrectly determines the correctness (when a false negative or false positive occurs).
  • the loss function allows the importance of false negatives and false positives to be adjusted by a factor set by the administrator. For example, when the coefficient is a predetermined value, it becomes a normal LogLoss, but it can be adjusted so that false negatives are more emphasized by reducing the coefficient.
  • the coefficient of the loss function used in the calculation of the accuracy of fraud detection is set so that the false negative has a large effect on the accuracy, so that the fraud is fraudulent despite the fraudulent behavior. It is possible to prevent the occurrence of the most unreliable case such as a low calculation, and effectively enhance the security in the fraud detection system S.
  • the confirmation result acquisition unit 102 acquires the confirmation result of the behavior of another user, and the fraud calculation unit 101 determines that the behavior of the other user is actually fraudulent.
  • the fraud may be calculated on the assumption that it was done by.
  • the other user is a user other than the user whose fraudulent degree is calculated, and may be, for example, a user who has behavioral characteristics similar to the user whose fraudulent degree is calculated.
  • FIG. 9 is a diagram showing a calculation method of the degree of fraud in the modified example (2).
  • the fraudulent degree calculation unit 101 calculates the fraudulent degree on the assumption that these actions occur in the user who is the target of the fraudulent degree calculation.
  • the fraudulent degree calculation method itself is as described in the embodiment, and is different from the embodiment only in that an action that does not originally occur is generated in a pseudo manner to calculate the fraudulent degree.
  • the accuracy calculation unit 103 calculates the accuracy of fraud detection based on the degree of fraudulent behavior assumed to have been performed by the user and the confirmation result of the behavior of another user. For example, the accuracy calculation unit 103 calculates the accuracy of fraud detection so that the accuracy becomes higher as the degree of fraud of the action assumed to be performed by the user and the confirmation result of the action of another user match. To do.
  • the accuracy calculation unit 103 can determine that the fraudulent behavior is fraudulent when the fraudulent degree of the pseudo-generated behavior of another user is equal to or higher than the threshold value. Calculate the accuracy of fraud detection so that the accuracy of fraud detection is high. On the other hand, when the fraudulent degree of the pseudo-generated behavior of another user is less than the threshold value, the accuracy calculation unit 103 cannot determine the fraudulent behavior as fraudulent, so that the accuracy of fraud detection is lowered. In addition, the accuracy of fraud detection is calculated.
  • the modification (2) it is possible to improve the calculation accuracy of the fraudulent degree by calculating the fraudulent degree on the assumption that the action of the other user for which the definite result is obtained is performed by the user. As a result, the accuracy of fraud detection can be improved. For example, by creating a pseudo situation, it is possible to evaluate the accuracy of fraud detection even for a user who has a short usage history or a user who has not been damaged by fraud.
  • the fraud calculation unit 101 weights the fraud in the calculation of the fraud based on the fraud based on the action performed in the past and the determination result of whether or not the action was actually fraud.
  • a coefficient may be determined and the degree of fraud may be calculated based on the determined weighting coefficient.
  • the weighting coefficient is a coefficient used for calculating the degree of fraud.
  • the weighting factor is used to correct the tentative fraud.
  • the tentative fraud degree is the fraud degree calculated by the method described in the embodiment.
  • the fraud calculation unit 101 determines an appropriate weighting coefficient from the distribution of the fraud calculated in the past and the subsequent determination result, and calculates the fraud based on the weighting coefficient.
  • FIG. 10 is a diagram showing an outline of the modified example (3). As for FIG. 10, as in FIG. 2, the present time is set to November 30, 2019. FIG. 10 shows the fraudulent degree of the confirmed behavior of the user A in 2019 and the confirmed result of whether or not the behavior is fraudulent.
  • the server 10 extracts a plurality of data sets based on the behavior of the user A.
  • the behaviors contained in individual datasets are different from each other.
  • the server 10 extracts a data set at random intervals.
  • the server 10 may search for behaviors for which fraud has been confirmed, and when an action for which fraud has been confirmed is found, the behaviors included up to that point may be extracted as a data set.
  • the weight function of the calculation formula of the degree of fraud is a function that depends only on the passage of time
  • the degree of discrepancy between the degree of fraud output by the learning model and the determination result of whether or not it is actually fraudulent. (So-called Loss) can be set according to the weighting function.
  • the server 10 estimates a weighting function that minimizes this degree of divergence with respect to the entire data. For example, this estimation may be solved analytically by the definitions of the loss function and the weighting function, or may be solved approximately by an optimization solver or the like.
  • an exponential function, a logistic curve, a linear function, or the like can be defined.
  • the fraud calculation unit 101 calculates a provisional fraud degree output by the learning model so that the degree of discrepancy between the fraud degree output by the learning model and the determination result of whether or not it is actually fraudulent is small. to correct.
  • This correction amount is determined by the weighting coefficient in the weighting function. Since the degree of deviation may differ depending on the user, the fraud calculation unit 101 corrects the provisional fraud so that the higher the degree of deviation, the larger the correction amount of the provisional fraud. For example, when the degree of divergence for each user calculated from the past confirmed behavior is high, the fraud degree calculation unit 101 corrects the provisional fraud degree calculated by the learning model to be low.
  • fraud is calculated by further calculating the fraud degree based on the fraud degree based on the past action and the definite result of whether or not the action was actually fraudulent.
  • the calculation accuracy of the degree can be improved.
  • the accuracy of fraud detection can also be improved.
  • the fraud calculation unit 101 may further calculate the fraud based on at least one of the user authentication method and the user's holder. For example, the fraud calculation unit 101 calculates the fraud so that the higher the strength of the authentication method specified by the user, the lower the fraud.
  • the strength of the authentication method may be determined by the strength of the password, the presence or absence of registration of two-step verification, or the type of biometric authentication.
  • the fraud calculation unit 101 determines the fraud degree so that the larger the difference between the holder of the credit card registered by the user and the name registered by the user in the user database DB1, the higher the fraud degree. calculate. It is also possible to create a learning model in which the relationship between the holder or name and the degree of fraud as described above is learned, calculate the degree of fraud based on this learning model, and calculate the accuracy of fraud detection. Further, the fraud degree may be calculated based on the number of characters different between the character string of the credit card holder and the character string of the user's name without using a learning model.
  • the fraudulent degree calculation accuracy can be improved by further calculating the fraudulent degree based on at least one of the user authentication method and the user's holder.
  • the calculation accuracy of the fraud detection accuracy can also be improved.
  • the process executed by the execution unit 104 is not limited to the example described in the embodiment.
  • the process according to the accuracy of fraud detection may be a process of giving a coupon related to the service to the user.
  • the coupon may be related to the service, for example, the right to receive a discount when using the service, the right to receive points when using the service, or the right to receive content or goods when using the service. Is.
  • the execution unit 104 does not give a coupon to a user whose fraud detection accuracy is less than the threshold value, but gives a coupon to a user whose fraud detection accuracy is equal to or higher than the threshold value.
  • the threshold value may be a fixed value or a variable value. The threshold value may be set for each user. Further, for example, when a plurality of types of coupons are prepared, the execution unit 104 grants coupons according to the accuracy of fraud detection by the user. The execution unit 104 gives a coupon having a higher value as the accuracy of the user's fraud detection is higher. In this case, the coupons shall be ranked according to the accuracy of fraud detection.
  • the modification (5) by giving a coupon as a process according to the accuracy of fraud detection, it is possible to give a preferential treatment according to the accuracy of fraud detection. For example, even if a coupon is given to a user who has a high degree of fraud and tends to be calculated, there is a high probability that the fraud detection system S can catch the fraud of this user. It can be suppressed.
  • the administrator Confirmation may be performed to determine whether or not it is fraudulent.
  • the fraud detection system S executes the process according to the accuracy of the fraud detection has been described, but this process may not be executed in particular and the administrator may analyze the accuracy of the fraud detection. , May be executed by an external system. That is, the fraud detection system S does not have to include the execution unit 104.
  • the fraud detection system S is a fraud detection in any service such as a payment service, an electronic commerce service, a travel reservation service, a financial service, an insurance service, or a communication service. It is applicable to the scene of.
  • the fraud detection system S is used for the payment service, the user's behavior is individual payment. Individual payments are sometimes referred to as transactions.
  • the learning model calculates the degree of fraud based on the amount used in payment, the date and time of use, and the like. The accuracy of fraud detection is likely to capture fraud at the time of payment.
  • the payment may be realized by using the IC chip included in the user terminal 20, or the payment may be realized by using the one-dimensional or two-dimensional code displayed on the user terminal 20 or the terminal of the store. May be good.
  • the user may use the service without operating the user terminal 20.
  • the user may use the service by having the terminal of the actual store read a medium such as a credit card or an IC card.
  • the user may use the service by using biometric authentication without using these media.
  • the administrator of the service does not have to be a credit card company, and may be a credit card company.
  • each function may be shared by a plurality of computers.
  • the functions may be shared between the server 10 and the user terminal 20.
  • the fraud detection system S includes a plurality of server computers
  • the functions may be shared by the plurality of server computers.
  • the data described as being stored in the data storage unit 100 may be stored by a computer other than the server 10.

Abstract

不正検知システム(S)の不正度計算手段(101)は、サービスを利用するユーザの行動に基づいて、ユーザの不正度を計算する。確定結果取得手段(102)は、行動が実際に不正であるか否かの確定結果を取得する。精度計算手段(103)は、不正度と確定結果とに基づいて、ユーザごとの不正検知の精度を計算する。

Description

不正検知システム、不正検知方法、及びプログラム
 本発明は、不正検知システム、不正検知方法、及びプログラムに関する。
 従来、サービスを利用するユーザの行動を解析し、ユーザの不正を検知する技術が知られている。例えば、特許文献1には、ユーザの就寝時刻や起床時刻といった行動履歴の情報を継続的に取得し、当該取得した行動履歴の情報と、ユーザのライフスタイル、性格、及び嗜好といったパラメータと、に基づいて、ユーザの不正度(信用スコア)を計算するシステムが記載されている。
特許第6514813号公報
 しかしながら、不正度の計算の精度には限界があり、例えば、ユーザの不正度が高かったとしても、そのユーザが実際には不正をしていないことがある。逆に、ユーザの不正度が低かったとしても、そのユーザが実際には不正をしていることもある。特許文献1の技術では、システムが計算した不正度と、実際に不正であるか否かの確定結果と、の違いについて何ら記載されておらず、ユーザごとの不正検知の精度を計算することができない。
 本発明は上記課題に鑑みてなされたものであって、その目的は、ユーザごとの不正検知の精度を計算可能な不正検知システム、不正検知方法、及びプログラムを提供することである。
 上記課題を解決するために、本発明の一態様に係る不正検知システムは、サービスを利用するユーザの行動に基づいて、前記ユーザの不正度を計算する不正度計算手段と、前記行動が実際に不正であるか否かの確定結果を取得する確定結果取得手段と、前記不正度と前記確定結果とに基づいて、前記ユーザごとの不正検知の精度を計算する精度計算手段と、を含む。
 本発明の一態様に係る不正検知方法は、サービスを利用するユーザの行動に基づいて、前記ユーザの不正度を計算する不正度計算ステップと、前記行動が実際に不正であるか否かの確定結果を取得する確定結果取得ステップと、前記不正度と前記確定結果とに基づいて、前記ユーザごとの不正検知の精度を計算する精度計算ステップと、を含む。
 本発明の一態様に係るプログラムは、サービスを利用するユーザの行動に基づいて、前記ユーザの不正度を計算する不正度計算手段、前記行動が実際に不正であるか否かの確定結果を取得する確定結果取得手段、前記不正度と前記確定結果とに基づいて、前記ユーザごとの不正検知の精度を計算する精度計算手段、としてコンピュータを機能させる。
 本発明の一態様によれば、前記不正度計算手段は、複数の前記行動の各々に基づいて、各行動の前記不正度を計算し、前記確定結果取得手段は、各行動が実際に不正であるか否かの確定結果を取得し、前記精度計算手段は、各行動の前記不正度と前記確定結果とに基づいて、前記精度を計算する。
 本発明の一態様によれば、前記不正度計算手段は、前記確定結果取得手段により取得された前記確定結果が示す、実際に不正であるか否かが確定した行動が予め学習された学習モデルに基づいて、不正であるか否かが確定していない行動の前記不正度を計算する。
 本発明の一態様によれば、前記精度計算手段は、前記不正度と前記確定結果とに基づいて、所定の損失関数の値を計算し、前記精度として取得する。
 本発明の一態様によれば、前記損失関数は、偽陰性が前記精度に与える影響が大きくなるように、係数が定められている。
 本発明の一態様によれば、前記不正度計算手段は、実際に不正であるか否かが確定した他のユーザの行動が前記ユーザにより行われたと仮定して、前記不正度を計算し、前記確定結果取得手段は、前記他のユーザの行動の確定結果を取得し、前記ユーザにより行われたと仮定した行動の前記不正度と、前記他のユーザの行動の確定結果と、に基づいて、前記精度を計算する。
 本発明の一態様によれば、前記不正度計算手段は、過去に行われた行動に基づく前記不正度と、当該行動が実際に不正であったか否かの確定結果と、に基づいて、前記不正度の計算における重み付け係数を決定し、当該決定された重み付け係数に基づいて、前記不正度を計算する。
 本発明の一態様によれば、前記不正度計算手段は、前記ユーザの認証方法と、前記ユーザの名義人と、の少なくとも一方に更に基づいて、前記不正度を計算する。
 本発明の一態様によれば、前記不正検知システムは、前記精度に応じた処理を実行する実行手段、を更に含む。
 本発明の一態様によれば、前記処理は、前記不正度計算手段により計算される前記不正度の値を変更する処理である。
 本発明の一態様によれば、前記処理は、前記サービスに関するクーポンを前記ユーザに付与する処理である。
 本発明によれば、ユーザごとの不正検知の精度を計算することができる。
不正検知システムの全体構成を示す図である。 不正度の計算方法の概要を示す図である。 不正検知システムで実現される機能の一例を示す機能ブロック図である。 ユーザデータベースのデータ格納例を示す図である。 行動履歴データベースのデータ格納例を示す図である。 精度データベースのデータ格納例を示す図である。 サービス利用処理の一例を示すフロー図である。 精度計算処理の一例を示すフロー図である。 変形例(2)における不正度の計算方法を示す図である。 変形例(3)の概要を示す図である。
[1.不正検知システムの全体構成]
 以下、本発明の一態様に係る不正検知システムの実施形態の例を説明する。図1は、不正検知システムの全体構成を示す図である。図1に示すように、不正検知システムSは、サーバ10とユーザ端末20を含み、これらは、インターネットなどのネットワークNに接続可能である。なお、図1では、サーバ10とユーザ端末20の各々を1台ずつ示しているが、これらは複数台あってもよい。
 サーバ10は、サーバコンピュータである。サーバ10は、制御部11、記憶部12、及び通信部13を含む。制御部11は、少なくとも1つのプロセッサを含む。制御部11は、記憶部12に記憶されたプログラムやデータに従って処理を実行する。記憶部12は、主記憶部及び補助記憶部を含む。例えば、主記憶部はRAMなどの揮発性メモリであり、補助記憶部は、ROM、EEPROM、フラッシュメモリ、又はハードディスクなどの不揮発性メモリである。通信部13は、有線通信又は無線通信用の通信インタフェースであり、ネットワークNを介してデータ通信を行う。
 ユーザ端末20は、ユーザが操作するコンピュータである。例えば、ユーザ端末20は、携帯電話機(スマートフォンを含む)、携帯情報端末(タブレット型コンピュータを含む)、又はパーソナルコンピュータ等である。本実施形態では、ユーザ端末20は、制御部21、記憶部22、通信部23、操作部24、及び表示部25を含む。制御部21、記憶部22、及び通信部23の物理的構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。
 操作部24は、入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイス、キーボード、又はボタン等である。操作部24は、ユーザによる操作内容を制御部21に伝達する。表示部25は、例えば、液晶表示部又は有機EL表示部等である。表示部25は、制御部21の指示に従って画像を表示する。
 なお、記憶部12,22に記憶されるものとして説明するプログラム及びデータは、ネットワークNを介して供給されるようにしてもよい。また、上記説明した各コンピュータのハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)や外部機器とデータの入出力をするための入出力部(例えば、USBポート)が含まれていてもよい。例えば、情報記憶媒体に記憶されたプログラムやデータが読取部や入出力部を介して供給されるようにしてもよい。
[2.不正検知システムの概要]
 本実施形態では、サーバ10が、ニュースや動画などのサービスに関するウェブサイトをユーザに提供し、ウェブサイトにアクセスすることによって当該サービスを利用したユーザの行動を分析する場面を例に挙げて、不正検知システムSの処理を説明する。例えば、サーバ10は、ユーザがウェブサイトにアクセスしたときの行動の履歴を記憶する。サーバ10は、ユーザごとに、行動の不正度を計算する。
 不正度は、不正の度合いを示す情報である。別の言い方をすれば、不正度は、不正の疑いの高さを示す情報である。本実施形態では、確率(パーセンテージ)によって不正度が表現される場合を説明するが、不正度は、他の指標によって表現されてもよい。例えば、不正度は、確率以外の数値であるスコアによって表現されてもよいし、Sランク・Aランク・Bランクといった文字によって表現されてもよい。不正度が数値によって表現される場合には、数値が高いほど不正の度合いが高いことを意味する。不正度が文字によって表現される場合には、個々の文字に不正の順位が定められているものとする。
 図2は、不正度の計算方法の概要を示す図である。図2の例では、現時点が2019年11月30日であり、2019年におけるユーザA及びユーザBの各々がサービスを利用した日付が示されている。本実施形態では、サービスが利用された後に、所定の確定タイミングが訪れると、サービス利用時の行動が実際に不正であるか否か(不正であるか正常であるか)が確定する。
 本実施形態では、確定タイミングを利用日から3ヶ月後とするが、確定タイミングは、任意のタイミングであってよい。例えば、確定タイミングは、予め定められた日付(例えば、毎月15日)であってもよいし、サービスの管理者が不正の有無を判断する業務をする時であってもよい。他にも例えば、確定タイミングは、第三者による不正ログイン(なりすまし)の疑いの報告をユーザから受けた時であってもよい。
 図2の例では、2019年8月末までの行動は、確定タイミングが訪れているので、不正であるか否かが確定している。以降、不正であるか否かが確定した行動を確定済み行動と記載し、不正であるか否かが確定していない行動を未確定行動と記載する。
 サーバ10は、サービスが利用されるたびに、学習モデルを利用して不正度を計算する。例えば、サーバ10は、ユーザによるアクセスを受け付けると、セッション中の行動に基づいて、リアルタイムで不正度を計算する。学習モデルは、機械学習で用いられるモデルであり、確定済み行動の内容(例えば、利用日時、利用場所、利用頻度)と、不正であるか否かの確定結果と、の関係を学習している。機械学習自体は、公知の種々の手法を利用可能であり、例えば、ニューラルネットワーク、強化学習、又は深層学習といった手法を利用可能である。機械学習は、教師有り機械学習に限られず、半教師有り機械学習が用いられてもよいし、教師無し機械学習が用いられてもよい。
 サーバ10は、サービス利用時の行動を学習モデルに入力し、学習モデルから出力された不正度を取得する。学習モデルは、自身に入力された行動の内容に応じた不正度を出力するようになっている。不正度は、学習モデルが計算した不正の蓋然性ということもできる。
 図2の例であれば、2019年1月2日に行われたユーザAの行動については、0.30%の不正度が計算されている。この行動は、確定済み行動であり、正常であることが確定している。他の日の行動についても同様に、サーバ10は、学習モデルを利用して、行動ごとに不正度を計算する。行動の確定タイミングが訪れると、不正であるか否かの確定結果がサーバ10に記録される。
 図2に示すように、ユーザAの確定済み行動は、不正度が低ければ不正ではないことが確定しており、不正度が高ければ不正であることが確定している。このため、ユーザAは、学習モデルによる不正検知の精度が高く、不正を検知しやすいユーザ(学習モデルによって捕捉しやすいユーザ)ということができる。例えば、ユーザAが不正をしたとしても、不正度が高く計算され、リアルタイムで不正を検知できる可能性が高い。
 一方、ユーザBの確定済み行動には、不正度が高くても不正ではないことが確定しており、不正度が低くても不正であることが確定している行動が含まれる。このため、ユーザBは、学習モデルによって不正を検知しにくいユーザ(学習モデルによって捕捉しにくいユーザ)ということができる。例えば、ユーザBが不正をしたとしても、不正度が低く計算され、リアルタイムで不正を検知できない可能性がある。また例えば、ユーザBが不正をしなかったとしても、不正度が高く計算され、誤って不正とされてしまう可能性がある。
 そこで、本実施形態の不正検知システムSは、学習モデルにより出力された不正度と、実際に不正であるか否かの確定結果と、に基づいて、ユーザごとの不正検知の精度を計算し、不正を検知しやすいユーザであるか否かを特定できるようにしている。以降、この技術の詳細を説明する。
[3.不正検知システムにおいて実現される機能]
 図3は、不正検知システムSで実現される機能の一例を示す機能ブロック図である。図3に示すように、サーバ10では、データ記憶部100、不正度計算部101、確定結果取得部102、精度計算部103、及び実行部104が実現される。
[3-1.データ記憶部]
 データ記憶部100は、記憶部12を主として実現される。データ記憶部100は、ユーザの不正検知の精度を計算するために必要なデータを記憶する。ここでは、データ記憶部100が記憶するデータの一例として、ユーザデータベースDB1、行動履歴データベースDB2、及び精度データベースDB3について説明する。
 図4は、ユーザデータベースDB1のデータ格納例を示す図である。図4に示すように、ユーザデータベースDB1は、ユーザに関する各種情報が格納されたデータベースである。例えば、ユーザデータベースDB1には、ユーザID、ユーザ名、認証情報、利用中心地、平均アクセス時間、及び平均アクセス頻度が格納される。ユーザIDは、ユーザを一意に識別する情報である。ユーザ名は、ユーザの氏名である。
 認証情報は、認証時の正解(インデックス)となる情報である。認証自体は、種々のタイプの認証を利用可能であり、例えば、パスワード認証、証明書認証、又は生体認証を利用可能である。認証は、1段階であってもよいし、2段階以上であってもよい。ユーザがどの認証を利用するかを指定できるようにしてもよい。
 利用中心地は、サービスの利用場所の平均値である。平均アクセス時間は、サービスの利用時間の平均値である。平均アクセス頻度は、サービスの利用頻度の平均値である。これらの平均値は、過去の全期間の平均値であってもよいし、直近の一部の期間の平均値であってもよい。更に、これらの平均値は、単純平均であってもよいし、加重平均であってもよい。加重平均の場合には、現時点に近いほど重み付け係数を高くしてもよい。
 ユーザがサービスの利用登録をすませると、サーバ10は、所定の発行ルールに基づいて、当該ユーザのユーザIDを発行する。サーバ10は、ユーザデータベースDB1に新たなレコードを作成し、当該発行されたユーザIDとともに、利用登録時に指定されたユーザ名と、認証情報と、を格納する。認証情報については、事後的に変更可能である。サーバ10は、ユーザがサービスを利用した場合に、利用中心地、平均アクセス時間、及び平均アクセス頻度を更新する。
 図5は、行動履歴データベースDB2のデータ格納例を示す図である。図5に示すように、行動履歴データベースDB2は、ユーザの行動履歴(サービスの利用状況)が格納されたデータベースである。例えば、行動履歴データベースDB2には、行動履歴ID、ユーザID、IPアドレス、URL、アクセス場所、アクセス日時、不正度、及び確定結果が格納される。
 なお、本実施形態では、確定済み行動と未確定行動の両方が行動履歴データベースDB2に格納される場合を説明するが、確定済み行動又は未確定行動の何れか一方のみが行動履歴データベースDB2に格納されてもよい。また、行動履歴データベースDB2には、他の情報が格納されてもよい。
 行動履歴IDは、行動を一意に識別する情報である。IPアドレスは、サービス利用時に使用されたユーザ端末20のIPアドレスである。URLは、ユーザがアクセスしたページのURLである。例えば、サーバ10とユーザ端末20のセッションが確立している間のURLの履歴が格納される。アクセス場所は、サービス利用時におけるユーザ(ユーザ端末20)の場所である。アクセス場所は、任意の方法によって取得可能であり、例えば、IPアドレス、GPS情報、アクセスポイント情報、又は携帯基地局情報を利用して取得されるようにすればよい。アクセス日時は、サービスの利用日時である。
 サーバ10は、ユーザ端末20とのセッションが確立されるたびに、所定の発行ルールに基づいて、当該行動の行動履歴IDを発行する。サーバ10は、行動履歴データベースDB2に新たなレコードを作成し、行動履歴ID、ユーザID、IPアドレス、URL、アクセス場所、及びアクセス日時を格納する。ユーザID、IPアドレス、及びURLは、サーバ10がユーザ端末20から受信したアクセス要求に含まれているものとする。アクセス日時は、アクセス要求を受け付けたときの現在日時である。
 不正度は、個々の行動の不正度である。不正度は、後述する不正度計算部101によって格納される。確定結果は、個々の行動が不正であるか否かを示す結果である。確定結果は、後述する確定結果取得部102によって格納される。図5に示すように、確定済み行動についてのみ、確定結果が格納され、未確定行動については、確定結果は格納されない。
 図6は、精度データベースDB3のデータ格納例を示す図である。図6に示すように、精度データベースDB3は、ユーザの不正検知の精度が格納されたデータベースである。例えば、精度データベースDB3には、ユーザID、不正検知の精度、及び補正情報が格納される。
 不正検知の精度は、不正度によって不正を検知できる蓋然性である。別の言い方をすれば、不正検知の精度は、不正度と確定結果の一致度又は乖離度である。本実施形態では、学習モデルによって不正度が計算されるので、不正検知の精度は、学習モデルの信用度又は不正度の信用度ということができる。不正度の高さと確定結果が一致しているほど、不正検知の精度は高くなる。不正度の高さと確定結果が違っているほど、不正検知の精度は低くなる。不正検知の精度は、精度計算部103によって格納される。
 補正量は、不正度の補正の程度である。例えば、不正検知の精度が高いほど補正量は少なくなり、不正検知の精度が低いほど補正量は多くなる。また例えば、不正検知の精度が閾値以上の場合には補正量は設定されず、不正検知の精度が閾値未満の場合に補正量が設定されてもよい。補正量は、後述する実行部104により格納される。
 なお、データ記憶部100に記憶されるデータは、上記の例に限られない。例えば、データ記憶部100は、学習モデルのプログラム(アルゴリズム)やパラメータを記憶する。学習モデルには教師データが学習済みであり、学習モデルのパラメータは、調整済みであるものとする。例えば、教師データには、確定済み行動の内容を入力とし、不正の有無の確定結果を出力としたペアが多数格納されている。このペアの入力は、学習モデルに入力される行動の内容と同じデータ形式である。
 教師データの入力となる行動の内容は、行動の特徴を示す情報であり、例えば、IPアドレス、URL、アクセス場所、アクセス日時、及びアクセス頻度のうちの少なくとも1つである。行動の内容は、行動履歴データベースDB2に格納されているものとする。本実施形態では、行動の内容の一例として、アクセス場所とアクセス日時を説明する。教師データには、行動の内容として、アクセス場所等の情報がそのまま格納されていてもよいし、ベクトル又は配列等で表現した特徴量が格納されていてもよい。
 教師データの出力となる確定結果は、不正であるか否かを示す情報であり、例えば、不正であることを示す100%、又は、正常であることを示す0%の何れかの値となる。なお、確定結果は、これらの2値で表現されなければならないわけではなく、管理者が見ても不正であるか否かを断定できなかった行動については、30%等の中間値が存在してもよい。また、確定結果は、数値で表現されなくてもよく、不正であるか否かを示す文字で表現されてもよい。
 教師データは、データ記憶部100に記憶されていてもよいし、サーバ10以外のコンピュータ又は情報記憶媒体に記憶されていてもよい。例えば、教師データは、管理者によって作成される。サーバ10は、教師データに基づいて、学習モデルの学習処理を実行する。学習処理自体は、機械学習で用いられる種々の手法を適用可能であり、例えば、ニューラルネットワークにおける学習処理を利用可能である。サーバ10は、教師データが示す入力と出力の関係が得られるように、学習モデルのパラメータを調整する。
[3-2.不正度計算部]
 不正度計算部101は、制御部11を主として実現される。不正度計算部101は、サービスを利用するユーザの行動に基づいて、ユーザの不正度を計算する。不正度計算部101は、ユーザごとに、当該ユーザの行動に基づいて当該ユーザの不正度を計算する。不正度計算部101は、全てのユーザの不正度を計算してもよいし、一部のユーザの不正度を計算してもよい。
 行動は、サービスをどのように利用したかを示す情報である。行動は、サービスの利用内容、又は、サービス利用時の挙動ということもできる。本実施形態では、行動履歴データベースDB2に格納されたIPアドレス、URL、アクセス場所、及びアクセス日時がユーザの行動に相当する場合を説明するが、これらの一部だけが行動に相当してもよいし、サービス利用時にサーバ10に入力される他の情報が行動に相当してもよい。
 本実施形態では、不正度計算部101は、確定結果取得部102により取得された確定結果が示す、実際に不正であるか否かが確定した行動が予め学習された学習モデルに基づいて、不正であるか否かが確定していない行動の不正度を計算する。不正度計算部101は、ユーザの行動を示す情報(例えば、アクセス場所とアクセス日時)を学習モデルに入力する。学習モデルは、入力された情報の特徴量を計算し、特徴量に応じた不正度を出力する。不正度計算部101は、学習モデルから出力された不正度を取得する。なお、特徴量は、学習モデル以外のアルゴリズムによって計算されてもよい。この場合、当該アルゴリズムによって計算された特徴量が学習モデルに入力される。
 例えば、不正度計算部101は、複数の行動の各々に基づいて、各行動の不正度を計算する。不正度計算部101は、行動が実行されるたびに、当該行動の内容に基づいて不正度を計算する。
 例えば、不正度計算部101は、IPアドレスにばらつきがあるほど不正度が高くなるように、不正度を計算する。また例えば、不正度計算部101は、ユーザがアクセスしたURLにばらつきがあるほど不正度が高くなるように、不正度を計算する。また例えば、不正度計算部101は、アクセス場所が利用中心地から離れているほど、又は、アクセス場所にばらつきがあるほど、不正度が高くなるように、不正度を計算する。また例えば、不正度計算部101は、アクセス日時が平均アクセス日時から離れているほど、又は、アクセス日時にばらつきがあるほど不正度が高くなるように、不正度を計算する。また例えば、不正度計算部101は、アクセス頻度が平均アクセス頻度から離れているほど、又は、アクセス頻度にばらつきがあるほど不正度が高くなるように、不正度を計算する。
 なお、不正度は、予め定められた方法に基づいて計算されるようにすればよく、学習モデルを利用した例に限られない。例えば、不正度計算部101は、ユーザの行動を数値化し、所定の計算式に代入することによって、不正度を計算してもよい。また例えば、不正度計算部101は、ユーザの行動と不正度の関係を定義したプログラムコードに基づいて、不正度を計算してもよい。
[3-3.確定結果取得部]
 確定結果取得部102は、制御部11を主として実現される。確定結果取得部102は、ユーザの行動が実際に不正であるか否かの確定結果を取得する。確定結果取得部102は、ユーザごとに、当該ユーザの行動の確定結果を取得する。確定結果取得部102は、全てのユーザの確定結果を取得してもよいし、一部のユーザの確定結果を取得してもよい。
 確定結果は、不正であることを示す第1の値、又は、不正ではないことを示す第2の値となる。例えば、確定結果は、サービスの管理者によって指定される。サービスの管理者は、全ての行動に対して確定結果を指定する必要はなく、一部の行動についてのみ確定結果を指定してもよい。
 例えば、確定結果取得部102は、各行動の不正度に基づいて仮の確定結果を取得し、管理者に提示する。仮の確定結果は、不正度が閾値以上であれば不正となり、不正度が閾値未満であれば正常となる。管理者は、仮の確定結果をチェックし、誤りがあれば修正する。管理者は、ユーザがサービスを利用してから所定の期間(例えば、サービスの利用日から3ヶ月)が経過した後、仮の確定結果をチェックし、修正してもよい。また、管理者は、ユーザから不正ログインの疑いの報告があった場合、不正度が閾値未満であった仮の確定結果を修正してもよい。確定結果取得部102は、管理者により修正された確定結果を取得する。
 本実施形態では、複数の行動が行われるので、確定結果取得部は、各行動が実際に不正であるか否かの確定結果を取得する。確定結果取得部は、行動ごとに、当該行動の確定結果を取得する。確定結果取得部102は、全ての行動の確定結果を取得してもよいし、一部の行動の確定結果を取得してもよい。
[3-4.精度計算部]
 精度計算部103は、制御部11を主として実現される。精度計算部103は、不正度と確定結果とに基づいて、ユーザごとの不正検知の精度を計算する。精度計算部103は、ユーザごとに、当該ユーザの不正度と確定結果に基づいて当該ユーザの不正検知の精度を計算する。精度計算部103は、全てのユーザの不正検知の精度を計算してもよいし、一部のユーザの不正検知の精度を計算してもよい。
 本実施形態では、行動ごとに不正度が計算されるので、精度計算部103は、各行動の不正度と確定結果とに基づいて、不正検知の精度を計算する。例えば、精度計算部103は、各行動の不正度と確定結果を所定の計算式に代入し、不正検知の精度を計算する。この計算式は、各行動の不正度と確定結果を代入すると、不正検知の精度が算出される式であればよい。
 精度計算部103は、不正度の高さと確定結果が一致しているほど精度が高くなるように、不正検知の精度を計算する。本実施形態において、不正度の高さと確定結果が一致するとは、不正度が閾値以上の行動の確定結果が不正であることを意味する。別の言い方をすれば、不正度の高さと確定結果が一致するとは、不正度が閾値未満の行動の確定結果が不正ではないことを意味する。
 例えば、精度計算部103は、不正度と確定結果とに基づいて、所定の損失関数の値を計算し、精度として取得する。損失関数は、不正度と確定結果の誤差を計算するための関数である。損失関数自体は、種々の関数を利用可能であり、例えば、ニューラルネットワーク等の学習モデルの精度(いわゆるLoss又はLogLoss)を評価する関数を利用可能である。損失関数は、不正度と確定結果の誤差が大きいほど、計算結果として得られる精度が低くなり、誤差が小さいほど、計算結果として得られる精度が高くなる。
 なお、不正検知の精度は、予め定められた方法に基づいて計算されるようにすればよく、損失関数等の計算式を利用した例に限られない。例えば、精度計算部103は、不正度及び確定結果と、不正検知の精度と、の関係を学習させた学習モデルを利用して、不正検知の精度を計算してもよい。また例えば、精度計算部103は、不正度及び確定結果と、不正検知の精度と、の関係を定義したプログラムコードに基づいて、不正検知の精度を計算してもよい。
[3-5.実行部]
 実行部104は、制御部11を主として実現される。実行部104は、不正検知の精度に応じた処理を実行する。実行部104は、ユーザごとに、当該ユーザの不正検知の精度に応じた処理を実行する。実行部104は、全てのユーザについて処理を実行してもよいし、一部のユーザについてのみ処理を実行してもよい。
 不正検知の精度に応じた処理とは、実行するか否かが不正検知の精度によって決まる処理、又は、不正検知の精度によって内容が変わる処理である。本実施形態では、この処理の一例として、不正度計算部101により計算される不正度の値を変更する処理である処理を説明するが、この処理は、任意の処理であってよい。例えば、この処理は、後述する変形例のようにクーポンを付与する処理であってもよい。また例えば、この処理は、サービスの利用を制限する処理、追加の認証を要求する処理、又は、クーポン以外の優待を付与する処理であってもよい。
 例えば、実行部104は、ユーザの不正検知の精度に基づいて、不正度の補正量を決定する。実行部104は、不正検知の精度が低いほど補正量が多くなるように、補正量を決定する。実行部104は、不正検知の精度が高いほど補正量が少なくなるように、補正量を決定する。また例えば、実行部104は、不正検知の精度が閾値未満のユーザには、補正量を設定し、不正検知の精度が閾値以上のユーザには、補正量を設定しないようにしてもよい。実行部104は、上記のように決定した補正量に基づいて、不正度計算部101により計算される不正度の値を変更する。
[4.本実施形態において実行される処理]
 次に、不正検知システムSにおいて実行される処理について説明する。ここでは、ユーザがサービスを利用するためのサービス利用処理と、ユーザの不正検知の精度を計算するための精度計算処理と、について説明する。
[4-1.サービス利用処理]
 図7は、サービス利用処理の一例を示すフロー図である。図7に示すサービス利用処理は、制御部11,21が、それぞれ記憶部12,22に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図3に示す機能ブロックにより実行される処理の一例である。なお、サービス利用処理が実行されるにあたり、ユーザは、利用登録を済ませているものとする。
 図7に示すように、ユーザ端末20は、サーバ10に対し、サービスにログインするためのログイン要求を送信する(S100)。ログイン要求は、所定形式のデータが送信されることによって行われるようにすればよく、例えば、ユーザIDと認証情報が含まれる。認証情報は、ユーザ端末20の記憶部22に記憶されていてもよいし、操作部24から入力されてもよい。他にも例えば、生体認証を利用する場合、ユーザ端末20のカメラ等から認証情報が入力されてもよい。
 サーバ10は、ログイン要求を受信すると、ユーザ端末20との間でセッションを確立させる(S101)。S101においては、サーバ10は、ログイン要求に含まれるユーザIDと認証情報に基づいて、ユーザ認証を実行する。ユーザ認証が成功した場合、サーバ10は、セッションを確立する。ユーザ認証が成功しなかった場合、セッションは確立されず、本処理は終了する。
 サーバ10は、ユーザのアクセス要求に応じて、ニュースや記事等のコンテンツを提供する(S102)。アクセス要求には、ユーザ端末20のIPアドレスと、アクセス先のコンテンツへのURLと、が含まれるものとする。サーバ10は、URLに対応するコンテンツをユーザに提供する。サーバ10は、行動履歴IDを発行し、ユーザID、IPアドレス、URL、アクセス場所、及びアクセス日時を行動履歴データベースDB2に格納する。以降、セッションが切断されるまで、S102の処理が繰り返される。コンテンツが提供されるたびに、上記発行された行動履歴IDのURL、アクセス場所及びアクセス日時が追加される。
 サーバ10は、ユーザ端末20とのセッションが切断されると、その間におけるユーザの行動と、記憶部12に記憶された学習モデルと、に基づいて、この行動に応じた不正度を計算する(S103)。S103においては、サーバ10は、セッション中のIPアドレス、URL、アクセス場所及びアクセス日時を学習モデルに入力し、学習モデルが出力した不正度を取得する。
 サーバ10は、精度データベースDB3に基づいて、S103で計算した不正度を補正し(S104)、本処理は終了する。S104においては、サーバ10は、精度データベースDB3を参照し、ユーザに応じた補正量を取得する。サーバ10は、この補正量に基づいて、S103で計算した不正度を補正し、行動履歴データベースDB2に格納する。補正の必要がないユーザについては、S104の処理は実行されず、サーバ10は、S103で計算した不正度を、行動履歴データベースDB2に格納する。なお、サーバ10は、S104の処理をセッション切断前に実行し、補正された不正度が非常に高かった場合には、コンテンツの提供を停止してもよい。
[4-2.精度計算処理]
 図8は、精度計算処理の一例を示すフロー図である。図8に示す精度計算処理は、制御部11が記憶部12に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図3に示す機能ブロックにより実行される処理の一例である。精度計算処理は、任意のタイミングで実行されるようにすればよく、例えば、管理者が所定の操作をした場合に実行されてもよいし、所定の日時(例えば、サービスの利用日から3ヶ月後)が訪れた場合に実行されてもよい。
 図8に示すように、まず、サーバ10は、行動履歴データベースDB2に基づいて、各ユーザの確定済み行動の不正度と確定結果を取得する(S200)。S200においては、サーバ10は、行動履歴データベースDB2を参照し、ユーザごとに、確定済み行動(3ヶ月以上前の行動)の不正度と確定結果のペアを取得する。
 サーバ10は、各ユーザの確定済み行動の不正度と確定結果に基づいて、各ユーザの不正検知の精度を計算する(S201)。S201においては、サーバ10は、ユーザごとに、不正度と確定結果を損失関数に代入し、不正検知の精度を計算する。サーバ10は、各ユーザの不正検知の精度を、精度データベースDB3に格納する。
 サーバ10は、各ユーザの不正検知の精度に基づいて、不正度の補正量を決定し(S202)、本処理は終了する。S202においては、サーバ10は、ユーザごとに、当該ユーザの不正検知の精度に応じた補正量を決定する。サーバ10は、各ユーザに対して決定された補正量を、精度データベースDB3に格納する。精度データベースDB3に格納された補正量は、ユーザが次回ログインした際に有効となり、次回以降のサービス利用処理で参照される。
 本実施形態の不正検知システムSによれば、ユーザの行動に応じた不正度と、当該行動が実際に不正であるか否かの確定結果と、に基づいて、ユーザごとの不正検知の精度を計算することができる。ユーザごとの不正検知の精度を計算することによって、ユーザごとに、不正度の計算方法を評価することができる。これにより、現状の計算方法で捕捉可能なユーザであるか否かを特定し、不正検知システムSにおけるセキュリティを向上させることができる。また、現状の計算方法で捕捉しやすいユーザについては、不正検知システムSで止めることができ、このようなユーザについてまで管理者が注意を払う必要がなくなるので、管理者の負担を軽減することもできる。更に、ユーザごとの不正検知の精度を計算することによって、捕捉しにくいユーザが増加したか否かを特定することもできる。これにより、捕捉しにくいユーザが増加したときに、例えば、最新のトレンドに合うように用意した教師データを使って学習モデルを更新するといったこともできる。これにより、学習モデルの精度が向上し、不正検知システムSにおけるセキュリティを向上させることもできる。
 また、不正検知システムSは、複数の行動の各々の不正度と確定結果とに基づいて、ユーザごとの不正検知の精度を計算することによって、複数の行動が総合的に考慮された不正検知の精度を計算し、計算精度を高めることができる。これにより、不正検知システムSにおけるセキュリティを効果的に高めることができる。
 また、不正検知システムSは、実際に不正であるか否かが確定した行動が学習された学習モデルに基づいて、不正であるか否かが確定していない行動の不正度を計算することによって、不正度の計算精度を高めることができる。例えば、新しい教師データを学習モデルに学習させることによって、最新の不正のトレンドに対応した高精度の不正度を計算することができる。不正度の計算精度を高めることによって、不正検知システムSにおけるセキュリティを効果的に高めることができる。
 また、不正検知システムSは、不正度と確定結果とに基づいて、所定の損失関数の値を計算し、不正検知の精度として取得することによって、不正度の計算精度を効果的に高めることができる。これにより、不正検知システムSにおけるセキュリティを効果的に高めることができる。例えば、不正をしていないユーザが大半であることが予想される場合、不正検知システムSは、行動履歴データベースDB2に基づいて、クラスタリング等を利用して利用傾向が類似したユーザを一定数抽出し、これらの中で学習モデルの不正検知の精度を計算してもよい。このようにする場合、不正が起こっていないユーザ、又は、利用履歴が浅いユーザについても、不正検知の精度をある程度判定することができる。
 また、不正検知システムSは、不正検知の精度に応じた処理を実行することによって、例えば、不正検知の精度に応じたサービスを提供したり、不正検知の精度に応じた利用制限をしたりすることができる。
 また、不正検知システムSは、不正検知の精度に応じた処理として、不正度の値を変更させる処理を実行することによって、不正度の計算精度を効果的に高めることができる。これにより、不正検知システムSで捕捉しにくいユーザをある程度は補足しやすくすることができ、不正検知システムSにおけるセキュリティを効果的に高めることができる。
[5.変形例]
 なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
 (1)例えば、不正な行動であるにも関わらず、不正度が低く計算される事象(いわゆる偽陰性)や、正常な行動であるにも関わらず、不正度が高く計算される事象(いわゆる偽陽性)が多く発生した場合、その学習モデルは信用できないことを意味する。特に、偽陰性の損失を特に重大と評価するために、損失関数は、偽陰性が精度に与える影響が大きくなるように、係数が定められていてもよい。
 本変形例の損失関数は、いわゆる重み付けされたLogLossである。この損失関数は、学習モデルが正誤を誤って判定した場合(偽陰性又は偽陽性が発生した場合)には、指数的に値が大きくなる性質を有する。損失関数は、管理者によって定められた係数によって偽陰性と偽陽性の重要度を調整できるようになっている。例えば、係数が所定値である場合には通常のLogLossとなるが、係数を小さくすることで偽陰性をより重視するように調整できる。
 変形例(1)によれば、不正検知の精度の計算で用いられる損失関数の係数を、偽陰性が精度に与える影響が大きくなるように定めることによって、不正な行動であるにも関わらず不正度が低く計算されるといった最も信用できないケースが発生することを防止し、不正検知システムSにおけるセキュリティを効果的に高めることができる。
 (2)また例えば、確定結果取得部102は、他のユーザの行動の確定結果を取得し、不正度計算部101は、実際に不正であるか否かが確定した他のユーザの行動がユーザにより行われたと仮定して、不正度を計算してもよい。他のユーザとは、不正度の計算対象となるユーザ以外のユーザであり、例えば、不正度の計算対象となるユーザに似た行動特性を有するユーザであってもよい。
 図9は、変形例(2)における不正度の計算方法を示す図である。図9の例では、2019年2月21日と2019年2月26日に行われた他のユーザの行動が不正な行動として確定されている。不正度計算部101は、これらの行動が、不正度の計算対象となるユーザに発生したと仮定して、不正度を計算する。不正度の計算方法自体は、実施形態で説明した通りであり、本来は発生していない行動を、疑似的に発生させて不正度を計算する点でのみ実施形態とは異なる。
 精度計算部103は、ユーザにより行われたと仮定した行動の不正度と、他のユーザの行動の確定結果と、に基づいて、不正検知の精度を計算する。例えば、精度計算部103は、ユーザにより行われたと仮定した行動の不正度と、他のユーザの行動の確定結果と、が一致しているほど精度が高くなるように、不正検知の精度を計算する。
 図9の例であれば、精度計算部103は、疑似的に発生させた他のユーザの行動の不正度が閾値以上の場合には、不正な行動が不正であると判定できているので、不正検知の精度が高くなるように、不正検知の精度を計算する。一方、精度計算部103は、疑似的に発生させた他のユーザの行動の不正度が閾値未満の場合には、不正な行動を不正と判定できていないので、不正検知の精度が低くなるように、不正検知の精度を計算する。
 変形例(2)によれば、確定結果が得られた他のユーザの行動がユーザにより行われたと仮定して、不正度を計算することによって、不正度の計算精度を高めることができる。その結果、不正検知の精度を高めることもできる。例えば、疑似的な状況を作り出すことによって、利用履歴が浅いユーザや不正の被害を受けていないユーザに対しても、不正検知の精度を評価することができる。
 (3)また例えば、不正度計算部101は、過去に行われた行動に基づく不正度と、当該行動が実際に不正であったか否かの確定結果と、に基づいて、不正度の計算における重み付け係数を決定し、当該決定された重み付け係数に基づいて、不正度を計算してもよい。重み付け係数は、不正度の計算に用いられる係数である。重み付け係数は、仮の不正度を補正するために用いられる。仮の不正度は、実施形態で説明した方法で計算された不正度である。例えば、不正度計算部101は、過去に計算した不正度と、その後の確定結果と、の分布から適切な重み付け係数を決定し、当該重み付け係数に基づいて不正度を計算する。
 図10は、変形例(3)の概要を示す図である。図10についても、図2と同様に、現時点を2019年11月30日とする。図10では、2019年におけるユーザAの確定済み行動の不正度と、不正であるか否かの確定結果と、を示す。
 図10に示すように、サーバ10は、ユーザAの行動に基づいて、複数のデータセットを抽出する。個々のデータセットに含まれる行動は、互いに異なる。例えば、サーバ10は、ランダムに期間を区切ってデータセットを抽出する。他にも例えば、サーバ10は、不正が確定した行動を探索し、不正が確定した行動を見つけた場合に、その時点までに含まれる行動をデータセットとして抽出してもよい。
 例えば、不正度の計算式の重み関数が時間の経過のみに依存する関数であったと仮定すると、学習モデルが出力する不正度と、実際に不正であるか否かの確定結果と、の乖離度(いわゆるLoss)を重み関数に応じて設定することができる。サーバ10は、この乖離度をデータ全体に対して最小化するような重み関数を推定する。例えば、この推定は、損失関数と重み関数の定義によって解析的に解かれてもよいし、最適化ソルバー等によって近似的に解かれてもよい。重み関数としては、指数関数、ロジスティック曲線、又は線形関数などを定義することができる。
 例えば、不正度計算部101は、学習モデルが出力する不正度と、実際に不正であるか否かの確定結果と、の乖離度が小さくなるように、学習モデルが出力した仮の不正度を補正する。この補正量は、重み関数における重み付け係数によって決まる。この乖離度は、ユーザによって異なることがあるので、不正度計算部101は、乖離度が高いほど仮の不正度の補正量が多くなるように、仮の不正度を補正する。例えば、過去の確定済み行動から計算されたユーザごとに乖離度が高い場合には、不正度計算部101は、学習モデルが計算した仮の不正度が低くなるように補正する。
 変形例(3)によれば、過去に行われた行動に基づく不正度と、当該行動が実際に不正であったか否かの確定結果と、に更に基づいて、不正度を計算することによって、不正度の計算精度を高めることができる。不正度の計算精度を高めることによって、不正検知の精度も高めることができる。
 (4)また例えば、不正度計算部101は、ユーザの認証方法と、ユーザの名義人と、の少なくとも一方に更に基づいて、不正度を計算してもよい。例えば、不正度計算部101は、ユーザが指定した認証方法の強度が高いほど、不正度が低くなるように、不正度を計算する。認証方法の強度は、パスワードの強度、二段階認証の登録の有無、又は生体認証の種類によって判定されるようにすればよい。
 また例えば、不正度計算部101は、ユーザが登録したクレジッドカードの名義人と、ユーザがユーザデータベースDB1に登録した氏名と、の差異が大きいほど、不正度が高くなるように、不正度を計算する。なお、上述したような名義人又は氏名と、不正度との関係を学習させた学習モデルを作成し、この学習モデルに基づいて不正度を計算し、不正検知の精度を計算することもできる。また、特に学習モデルを利用せずに、クレジットカードの名義人の文字列と、ユーザの氏名の文字列と、の間で相違する文字数に基づいて、不正度が計算されてもよい。
 変形例(4)によれば、ユーザの認証方法と、ユーザの名義人と、の少なくとも一方に更に基づいて、不正度を計算することによって、不正度の計算精度を高めることができる。不正度の計算精度を高めることによって、不正検知の精度の計算精度も高めることができる。
 (5)また例えば、実行部104が実行する処理は、実施形態で説明した例に限られない。例えば、不正検知の精度に応じた処理は、サービスに関するクーポンをユーザに付与する処理であってもよい。クーポンは、サービスに係るものであればよく、例えば、サービス利用時に割引を受けることができる権利、サービス利用時にポイントが付与される権利、又は、サービス利用時にコンテンツや物を受け取ることができる権利などである。
 例えば、実行部104は、不正検知の精度が閾値未満のユーザにはクーポンを付与せず、不正検知の精度が閾値以上のユーザに対し、クーポンを付与する。閾値は、固定値であってもよいし、可変値であってもよい。閾値は、ユーザごとに定められてもよい。また例えば、複数種類のクーポンが用意されている場合、実行部104は、ユーザの不正検知の精度に応じたクーポンを付与する。実行部104は、ユーザの不正検知の精度が高いほど価値が高いクーポンを付与する。この場合、クーポンは、不正検知の精度によってランク分けされているものとする。
 変形例(5)によれば、不正検知の精度に応じた処理として、クーポンを付与することによって、不正検知の精度に応じた優待を付与することができる。例えば、不正度が高く計算されがちなユーザにクーポンを付与したとしても、不正検知システムSでこのユーザの不正を捕捉できる確率が高いため、クーポンを付与することによって、サービスの利用機会の低下を抑えることができる。
 (6)また例えば、上記変形例を組み合わせてもよい。
 また例えば、実施形態では、ユーザがサービスを利用してから所定の期間が経過すると、不正であるか否かが確定する場合を説明したが、ユーザがサービスを利用してすぐに、管理者の確認が行われて不正であるか否かが確定してもよい。また例えば、不正検知システムSが不正検知の精度に応じた処理を実行する場合を説明したが、この処理は、特に実行されずに管理者によって不正検知の精度の解析が行われてもよいし、外部のシステムによって実行されるようにしてもよい。即ち、不正検知システムSは、実行部104を含まなくてもよい。
 また例えば、サービスの一例としてコンテンツを提供するサービスを説明したが、不正検知システムSは、決済サービス、電子商取引サービス、旅行予約サービス、金融サービス、保険サービス、又は通信サービスといった任意のサービスにおける不正検知の場面に適用可能である。例えば、不正検知システムSを決済サービスに利用する場合には、ユーザの行動は、個々の決済となる。個々の決済は、トランザクションと呼ばれることもある。学習モデルは、決済における利用額や利用日時等に基づいて、不正度を計算する。不正検知の精度は、決済時の不正を捕捉する蓋然性となる。
 なお、決済は、種々のタイプの決済を利用可能である。例えば、クレジットカード決済、電子マネー決済、仮想通貨決済、ウォレット決済、ポイント決済、デビットカード決済、又は口座振替決済であってもよい。更に、これらの決済を実現する方法についても、種々の手法を利用可能である。例えば、ユーザ端末20に含まれるICチップを利用して決済が実現されてもよいし、ユーザ端末20又は店舗の端末等に表示された一次元又は二次元コードを利用して決済が実現されてもよい。ユーザは、ユーザ端末20を操作せずに、サービスを利用してもよい。例えば、ユーザは、実店舗の端末に、クレジットカードやICカード等の媒体を読み込ませることによって、サービスを利用してもよい。また例えば、ユーザは、これらの媒体を利用せずに、生体認証を利用することによって、サービスを利用してもよい。更に、サービスの管理者は、クレジットカード会社ではなくてもよいし、クレジットカード会社であってもよい。
 また例えば、主な機能がサーバ10で実現される場合を説明したが、各機能は、複数のコンピュータで分担されてもよい。例えば、サーバ10とユーザ端末20で機能が分担されてもよい。また例えば、不正検知システムSが複数のサーバコンピュータを含む場合には、これら複数のサーバコンピュータで機能が分担されてもよい。また例えば、データ記憶部100で記憶されるものとして説明したデータは、サーバ10以外のコンピュータによって記憶されてもよい。

Claims (13)

  1.  サービスを利用するユーザの行動に基づいて、前記ユーザの不正度を計算する不正度計算手段と、
     前記行動が実際に不正であるか否かの確定結果を取得する確定結果取得手段と、
     前記不正度と前記確定結果とに基づいて、前記ユーザごとの不正検知の精度を計算する精度計算手段と、
     を含む不正検知システム。
  2.  前記不正度計算手段は、複数の前記行動の各々に基づいて、各行動の前記不正度を計算し、
     前記確定結果取得手段は、各行動が実際に不正であるか否かの確定結果を取得し、
     前記精度計算手段は、各行動の前記不正度と前記確定結果とに基づいて、前記精度を計算する、
     請求項1に記載の不正検知システム。
  3.  前記不正度計算手段は、前記確定結果取得手段により取得された前記確定結果が示す、実際に不正であるか否かが確定した行動が予め学習された学習モデルに基づいて、不正であるか否かが確定していない行動の前記不正度を計算する、
     請求項1又は2に記載の不正検知システム。
  4.  前記精度計算手段は、前記不正度と前記確定結果とに基づいて、所定の損失関数の値を計算し、前記精度として取得する、
     請求項1~3の何れかに記載の不正検知システム。
  5.  前記損失関数は、偽陰性が前記精度に与える影響が大きくなるように、係数が定められている、
     請求項4に記載の不正検知システム。
  6.  前記不正度計算手段は、実際に不正であるか否かが確定した他のユーザの行動が前記ユーザにより行われたと仮定して、前記不正度を計算し、
     前記確定結果取得手段は、前記他のユーザの行動の確定結果を取得し、
     前記ユーザにより行われたと仮定した行動の前記不正度と、前記他のユーザの行動の確定結果と、に基づいて、前記精度を計算する、
     請求項1~5の何れかに記載の不正検知システム。
  7.  前記不正度計算手段は、過去に行われた行動に基づく前記不正度と、当該行動が実際に不正であったか否かの確定結果と、に基づいて、前記不正度の計算における重み付け係数を決定し、当該決定された重み付け係数に基づいて、前記不正度を計算する、
     請求項1~6の何れかに記載の不正検知システム。
  8.  前記不正度計算手段は、前記ユーザの認証方法と、前記ユーザの名義人と、の少なくとも一方に更に基づいて、前記不正度を計算する、
     請求項1~7の何れかに記載の不正検知システム。
  9.  前記不正検知システムは、前記精度に応じた処理を実行する実行手段、
     を更に含む請求項1~8の何れかに記載の不正検知システム。
  10.  前記処理は、前記不正度計算手段により計算される前記不正度の値を変更する処理である、
     請求項9に記載の不正検知システム。
  11.  前記処理は、前記サービスに関するクーポンを前記ユーザに付与する処理である、
     請求項9に記載の不正検知システム。
  12.  サービスを利用するユーザの行動に基づいて、前記ユーザの不正度を計算する不正度計算ステップと、
     前記行動が実際に不正であるか否かの確定結果を取得する確定結果取得ステップと、
     前記不正度と前記確定結果とに基づいて、前記ユーザごとの不正検知の精度を計算する精度計算ステップと、
     を含む不正検知方法。
  13.  サービスを利用するユーザの行動に基づいて、前記ユーザの不正度を計算する不正度計算手段、
     前記行動が実際に不正であるか否かの確定結果を取得する確定結果取得手段、
     前記不正度と前記確定結果とに基づいて、前記ユーザごとの不正検知の精度を計算する精度計算手段、
     としてコンピュータを機能させるためのプログラム。
PCT/JP2019/051258 2019-12-26 2019-12-26 不正検知システム、不正検知方法、及びプログラム WO2021130991A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2020539110A JP6933780B1 (ja) 2019-12-26 2019-12-26 不正検知システム、不正検知方法、及びプログラム
US17/415,708 US11947643B2 (en) 2019-12-26 2019-12-26 Fraud detection system, fraud detection method, and program
PCT/JP2019/051258 WO2021130991A1 (ja) 2019-12-26 2019-12-26 不正検知システム、不正検知方法、及びプログラム
EP19955402.3A EP3882795A4 (en) 2019-12-26 2019-12-26 FRAUD DETECTION SYSTEM, FRAUD DETECTION METHOD AND PROGRAM
TW109136115A TWI811574B (zh) 2019-12-26 2020-10-19 違規檢知系統、違規檢知方法及程式產品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/051258 WO2021130991A1 (ja) 2019-12-26 2019-12-26 不正検知システム、不正検知方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2021130991A1 true WO2021130991A1 (ja) 2021-07-01

Family

ID=76573795

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/051258 WO2021130991A1 (ja) 2019-12-26 2019-12-26 不正検知システム、不正検知方法、及びプログラム

Country Status (5)

Country Link
US (1) US11947643B2 (ja)
EP (1) EP3882795A4 (ja)
JP (1) JP6933780B1 (ja)
TW (1) TWI811574B (ja)
WO (1) WO2021130991A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210397903A1 (en) * 2020-06-18 2021-12-23 Zoho Corporation Private Limited Machine learning powered user and entity behavior analysis

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0214813B2 (ja) 1978-05-04 1990-04-10 Nippon Denshin Denwa Kk
WO2017065070A1 (ja) * 2015-10-13 2017-04-20 日本電気株式会社 不審行動検知システム、情報処理装置、方法およびプログラム
JP2018041421A (ja) * 2016-09-09 2018-03-15 株式会社インテリジェントウェイブ クレジットカードの不正使用判定支援装置、不正使用判定装置及び不正使用判定の支援方法
WO2019194679A1 (en) * 2018-04-06 2019-10-10 ABN AMRO Bank N .V. Systems and methods for detecting fraudulent transactions

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819226A (en) * 1992-09-08 1998-10-06 Hnc Software Inc. Fraud detection using predictive modeling
JP3531663B2 (ja) * 1997-09-30 2004-05-31 グローリー工業株式会社 個人認証装置
US7865427B2 (en) * 2001-05-30 2011-01-04 Cybersource Corporation Method and apparatus for evaluating fraud risk in an electronic commerce transaction
WO2003032219A1 (fr) * 2001-10-05 2003-04-17 Cyber Area Research, Inc. Systeme serveur d'authentification de reglement utilisant une authentification par intelligence artificielle (ai)
US20050216397A1 (en) * 2004-03-26 2005-09-29 Clearcommerce, Inc. Method, system, and computer program product for processing a financial transaction request
US7788195B1 (en) * 2006-03-24 2010-08-31 Sas Institute Inc. Computer-implemented predictive model generation systems and methods
EP2021979B1 (en) * 2006-05-30 2012-03-21 Yissum Research Development Company of the Hebrew University of Jerusalem Pattern matching
US20090018940A1 (en) * 2007-03-30 2009-01-15 Liang Wang Enhanced Fraud Detection With Terminal Transaction-Sequence Processing
US8245282B1 (en) * 2008-08-19 2012-08-14 Eharmony, Inc. Creating tests to identify fraudulent users
US8396451B1 (en) * 2010-02-17 2013-03-12 Sprint Communications Company L.P. Telecom fraud detection using social pattern
US8543522B2 (en) * 2010-04-21 2013-09-24 Retail Decisions, Inc. Automatic rule discovery from large-scale datasets to detect payment card fraud using classifiers
US8666861B2 (en) * 2010-10-21 2014-03-04 Visa International Service Association Software and methods for risk and fraud mitigation
US10685355B2 (en) * 2016-12-04 2020-06-16 Biocatch Ltd. Method, device, and system of detecting mule accounts and accounts used for money laundering
JP5073846B1 (ja) * 2011-05-30 2012-11-14 楽天株式会社 質問回答処理装置、質問回答処理方法、質問回答処理プログラム及び記録媒体
US9047608B1 (en) * 2011-08-31 2015-06-02 Symantec Corporation Method and system to improve risk assessments in fraud detection systems using machine identifiers
JP5295418B1 (ja) * 2012-10-11 2013-09-18 Scsk株式会社 不正検知システム及び不正検知プログラム
US10754936B1 (en) * 2013-03-13 2020-08-25 United Services Automobile Associate (USAA) Behavioral profiling method and system to authenticate a user
US10282709B2 (en) * 2013-04-05 2019-05-07 Visa International Service Association Processor issuer detection and user level stand-in authorization
US9898741B2 (en) * 2013-07-17 2018-02-20 Visa International Service Association Real time analytics system
US9875355B1 (en) 2013-09-17 2018-01-23 Amazon Technologies, Inc. DNS query analysis for detection of malicious software
US9846896B2 (en) * 2014-06-22 2017-12-19 Netspective Communications Llc Aggregation of rating indicators
US20160048831A1 (en) * 2014-08-14 2016-02-18 Uber Technologies, Inc. Verifying user accounts based on information received in a predetermined manner
US20200067861A1 (en) * 2014-12-09 2020-02-27 ZapFraud, Inc. Scam evaluation system
IN2015CH00232A (ja) * 2015-01-15 2015-09-18 Wipro Ltd
WO2016114793A1 (en) * 2015-01-16 2016-07-21 Citrix Systems, Inc. Automatic intelligent local device fraud detection
US20160335551A1 (en) * 2015-05-12 2016-11-17 Sap Se Optimization of fraud detection strategies
US10902428B1 (en) * 2015-12-16 2021-01-26 EMC IP Holding Company LLC Maintaining a risk model using feedback directed to other risk models
JP6411321B2 (ja) * 2015-12-18 2018-10-24 日本電信電話株式会社 認証手段選択装置、認証手段選択方法、およびプログラム
US20170262852A1 (en) * 2016-03-10 2017-09-14 Amadeus S.A.S. Database monitoring system
US20210158355A1 (en) * 2016-03-25 2021-05-27 State Farm Mutual Automobile Insurance Company Preempting or resolving fraud disputes relating to billing aliases
CN106022834B (zh) * 2016-05-24 2020-04-07 腾讯科技(深圳)有限公司 广告反作弊方法及装置
US20180033009A1 (en) * 2016-07-27 2018-02-01 Intuit Inc. Method and system for facilitating the identification and prevention of potentially fraudulent activity in a financial system
US10997596B1 (en) * 2016-08-23 2021-05-04 Mastercard International Incorporated Systems and methods for use in analyzing declined payment account transactions
WO2018087839A1 (ja) * 2016-11-09 2018-05-17 楽天株式会社 情報処理装置、情報処理方法、プログラム、記憶媒体
US11238528B2 (en) * 2016-12-22 2022-02-01 American Express Travel Related Services Company, Inc. Systems and methods for custom ranking objectives for machine learning models applicable to fraud and credit risk assessments
US10607008B2 (en) * 2017-02-09 2020-03-31 International Business Machines Corporation Counter-fraud operation management
US11210670B2 (en) * 2017-02-28 2021-12-28 Early Warning Services, Llc Authentication and security for mobile-device transactions
US10733599B2 (en) * 2017-05-31 2020-08-04 Paypal, Inc. Accessing digital wallet information using a point-of-sale device
US11100144B2 (en) * 2017-06-15 2021-08-24 Oracle International Corporation Data loss prevention system for cloud security based on document discourse analysis
US20190095608A1 (en) * 2017-09-26 2019-03-28 Mastercard International Incorporated Systems and Methods for Facilitating User Authentications in Network Transactions
US10650128B2 (en) * 2017-10-18 2020-05-12 Mastercard International Incorporated Methods and systems for automatically configuring user authentication rules
CN109978538B (zh) * 2017-12-28 2023-10-10 创新先进技术有限公司 确定欺诈用户、训练模型、识别欺诈风险的方法及装置
JP6923806B2 (ja) * 2018-01-09 2021-08-25 富士通株式会社 不正検知装置、不正検知方法、および不正検知プログラム
CN110084603B (zh) * 2018-01-26 2020-06-16 阿里巴巴集团控股有限公司 训练欺诈交易检测模型的方法、检测方法以及对应装置
US10417528B2 (en) * 2018-02-18 2019-09-17 Sas Institute Inc. Analytic system for machine learning prediction model selection
US10388286B1 (en) * 2018-03-20 2019-08-20 Capital One Services, Llc Systems and methods of sound-based fraud protection
US10949434B1 (en) * 2018-06-05 2021-03-16 Facebook, Inc. User identification system
US20190377819A1 (en) * 2018-06-12 2019-12-12 Bank Of America Corporation Machine learning system to detect, label, and spread heat in a graph structure
JP6514813B1 (ja) 2018-07-10 2019-05-15 株式会社J.Score 信用スコア管理システム、信用スコア管理サーバ、ユーザ端末、およびプログラム
US11587100B2 (en) * 2018-07-25 2023-02-21 Ebay Inc. User interface for fraud detection system
US11323464B2 (en) * 2018-08-08 2022-05-03 Rightquestion, Llc Artifact modification and associated abuse detection
US11017088B2 (en) * 2018-09-17 2021-05-25 Microsofttechnology Licensing, Llc Crowdsourced, self-learning security system through smart feedback loops
US11436603B2 (en) * 2018-10-18 2022-09-06 U.S. Bancorp, National Association Decision making for on-line transactions
US20200175421A1 (en) * 2018-11-29 2020-06-04 Sap Se Machine learning methods for detection of fraud-related events
US11074751B2 (en) * 2018-12-04 2021-07-27 University Of Southern California 3D hair synthesis using volumetric variational autoencoders
US11270311B1 (en) * 2018-12-27 2022-03-08 Worldpay, Llc Systems and methods for a context-driven electronic transactions fraud detection
CN111435507A (zh) * 2019-01-11 2020-07-21 腾讯科技(北京)有限公司 广告反作弊方法、装置、电子设备及可读存储介质
CN109871488A (zh) 2019-02-22 2019-06-11 新疆大学 一种融合可用度和用户偏好的Web服务构建方法及Web服务
US20220180369A1 (en) * 2019-06-11 2022-06-09 Nec Corporation Fraud detection device, fraud detection method, and fraud detection program
US11218494B2 (en) * 2019-07-26 2022-01-04 Raise Marketplace, Llc Predictive fraud analysis system for data transactions
CN110428005B (zh) * 2019-07-31 2022-11-08 三峡大学 一种基于伞式算法的电力系统动态安全误分类约束方法
US11468272B2 (en) * 2019-08-15 2022-10-11 Visa International Service Association Method, system, and computer program product for detecting fraudulent interactions
US20210117977A1 (en) * 2019-10-17 2021-04-22 At&T Intellectual Property I, L.P. Parallel machine learning models
CN112749593A (zh) * 2019-10-31 2021-05-04 通用电气精准医疗有限责任公司 医学成像系统、识别检测对象的体位的方法、存储介质
US11290464B2 (en) * 2019-12-18 2022-03-29 Voya Services Company Systems and methods for adaptive step-up authentication
US20210192522A1 (en) * 2019-12-19 2021-06-24 Visa International Service Association Intelligent fraud rules
JP6967575B2 (ja) * 2019-12-26 2021-11-17 楽天グループ株式会社 信用度計算システム、信用度計算方法、及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0214813B2 (ja) 1978-05-04 1990-04-10 Nippon Denshin Denwa Kk
WO2017065070A1 (ja) * 2015-10-13 2017-04-20 日本電気株式会社 不審行動検知システム、情報処理装置、方法およびプログラム
JP2018041421A (ja) * 2016-09-09 2018-03-15 株式会社インテリジェントウェイブ クレジットカードの不正使用判定支援装置、不正使用判定装置及び不正使用判定の支援方法
WO2019194679A1 (en) * 2018-04-06 2019-10-10 ABN AMRO Bank N .V. Systems and methods for detecting fraudulent transactions

Also Published As

Publication number Publication date
TWI811574B (zh) 2023-08-11
JP6933780B1 (ja) 2021-09-08
US11947643B2 (en) 2024-04-02
TW202125379A (zh) 2021-07-01
EP3882795A4 (en) 2021-12-15
JPWO2021130991A1 (ja) 2021-12-23
EP3882795A1 (en) 2021-09-22
US20220327186A1 (en) 2022-10-13

Similar Documents

Publication Publication Date Title
Xu et al. Sok: Decentralized exchanges (dex) with automated market maker (amm) protocols
US20220261803A1 (en) Systems and Methods for Automatically Securing and Validating Multi-Server Electronic Communications Over a Plurality of Networks
US20190205993A1 (en) Transaction data categorizer system and method
US11636136B2 (en) Method and system for self-aggregation of personal data and control thereof
US20220414671A1 (en) Systems and methods of providing security in an electronic network
TWI768512B (zh) 信用度計算系統、信用度計算方法及程式產品
WO2019074446A1 (en) LOAN REQUEST PROCESSING SYSTEM AND METHOD
US20210264299A1 (en) Fraud estimation system, fraud estimation method and program
CN111433808A (zh) 全球点对点退休储蓄系统的系统和方法
CN114387074A (zh) 使用深度学习和生存模型进行欺诈预防的方法、系统和计算机程序产品
JP6933780B1 (ja) 不正検知システム、不正検知方法、及びプログラム
US20220027916A1 (en) Self Learning Machine Learning Pipeline for Enabling Binary Decision Making
CN110362981B (zh) 基于可信设备指纹判断异常行为的方法及系统
TWI825963B (zh) 欺詐檢測系統、欺詐檢測方法及程式產品
JP7165840B1 (ja) 不正検知システム、不正検知方法、及びプログラム
JP7238214B1 (ja) 不正検知システム、不正検知方法、及びプログラム
JP7302107B1 (ja) 学習システム、学習方法、及びプログラム
JP7176158B1 (ja) 学習モデル評価システム、学習モデル評価方法、及びプログラム
JP7176157B1 (ja) 学習モデル作成システム、学習モデル作成方法、及びプログラム
US11270230B1 (en) Self learning machine learning transaction scores adjustment via normalization thereof
US20240152959A1 (en) Systems and methods for artificial intelligence using data analytics of unstructured data
US20220309359A1 (en) Adverse features neutralization in machine learning
CN116830140A (zh) 用于生成模拟实时交易的合成图的系统、方法和计算机程序产品

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2020539110

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2019955402

Country of ref document: EP

Effective date: 20210617

NENP Non-entry into the national phase

Ref country code: DE