# US 2016/0366177 A1 · Differentiating among users based on responses to injected interferences

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2016/0366177 A1
- Document ID: US20160366177A1
- Status: Published application
- Kind: A1
- Application number: 15/212,234
- Filed: 2016-07-17
- Published: 2016-12-15
- Earliest claimed: 2010-11-29
- Assignees: Biocatch Ltd.
- Applicants: BioCatch Ltd.
- Inventors: Avi Turgeman
- Web page: https://patentgrep.com/patent/US20160366177A1

## CPC

- H04L 63/1458: {Denial of Service}
- G06F 3/041: Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F 3/0488: using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F 21/31: User authentication
- G06F 21/316: {by observing the pattern of computer usage, e.g. typical user behaviour}
- G06F 21/32: using biometric data, e.g. fingerprints, iris scans or voiceprints
- G06F 21/552: {involving long-term monitoring or reporting}
- G06F 21/554: {involving event detection and direct action}
- G06Q 30/0248: {Avoiding fraud}
- G06Q 30/0277: {Online advertisement}
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 63/10: {for controlling access to devices or network resources}
- H04L 63/1408: {by monitoring network traffic (monitoring network traffic per se H04L43/00)}
- H04L 67/306: User profiles
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- H04W 12/125: Protection against power exhaustion attacks
- G06F 2221/2133: Verifying human interaction, e.g., Captcha
- H04L 2463/102: applying security measure for e-commerce
- H04L 2463/144: Detection or countermeasures against botnets
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION 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
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Devices, systems, and methods of detecting user identity, differentiating between users of a computerized service, detecting a cyber-attacker, and detecting click-fraud. An end-user device (a desktop computer, a laptop computer, a smartphone, a tablet, or the like) interacts and communicates with a server of a computerized server (a banking website, an electronic commerce website, or the like). The interactions are monitored, tracked and logged. User Interface (UI) interferences or irregularities are intentionally introduced to the communication session; and the server tracks the response or the reaction of the end-user to such communication interferences. The system determines whether the user is a legitimate human user, or a cyber-attacker or automated script posing as the legitimate human user. The system further detects click-fraud, and prevents or mitigates Application Distributed Denial-of-Service attacks.

## Claims

### Claim 1

A method comprising:
determining whether a user, who utilizes a computing device to interact with a computerized service, is either an authorized user or an attacker; wherein the determining comprises:
generating a temporary input/output interference that causes an anomaly between (A) input gestures that the user performs via an input unit of said computing device, and (B) output that is displayed on a display unit of said computing device as a result of the input gestures;
wherein the temporary input/output interference is a binary-type interference defined to trigger one of two possible manual user responses,
wherein the two possible manual user responses comprise: a first possible manual user response that is performed by a majority of a general population of users; and a second possible manual user response that is performed by a minority of the general population of users;
based on a level of uniqueness in the general population of users, of a particular response-to-interference that is identified in input-unit interactions of said user, determining whether or not to re-use said interference in subsequent usage sessions of said user.

### Claim 2 (depends on 1)

The method of claim 1, comprising:
determining whether a user, who utilizes a computing device to interact with a computerized service, is either an authorized user or an attacker; wherein the determining comprises:
generating a temporary input/output interference that causes an anomaly between (A) input gestures that the user performs via an input unit of said computing device, and (B) output that is displayed on a display unit of said computing device as a result of the input gestures;
wherein the temporary input/output interference is a binary-type interference defined to trigger one of two possible manual user responses,
wherein the two possible manual user responses comprise: a first possible manual user response that is performed by a majority of a general population of users; and a second possible manual user response that is performed by a minority of the general population of users;
tracking user interactions via said input unit in response to said temporary input/output interference;
detecting a manual correction operation that the user performs via said input unit in response to said temporary input/output interference;
determining whether said manual correction operation that the user performs via said input unit, matches either the first possible manual user response or the second possible manual user response;
if said manual user correction operation that the user performs, matches the first possible manual user response that is performed by majority of the general population of users, then discarding said temporary input/output interference from being re-used in subsequent usage sessions of said user;
if said manual user correction operation that the user performs, matches the second possible manual user response that is performed by minority of the general population of users, then updating a user profile to indicate that said temporary input/output interference is to be re-used in subsequent usage sessions of said user.

### Claim 3 (depends on 1)

The method of claim 1, wherein generating the temporary input/output interference comprises:
temporarily hiding an on-screen pointer at the output unit of said computing device;
defining the first possible manual response as linear movement of the input unit by the user;
defining the second possible manual response as non-linear movement of the input unit by the user;
wherein detecting the manual correction operation of said user comprises: determining whether said user performed a manual correction operation having either linear movement of the input unit or non-linear movement of the input unit.

### Claim 4 (depends on 1)

The method of claim 1, wherein generating the temporary input/output interference comprises:
temporarily hiding an on-screen pointer at the output unit of said computing device;
defining the first possible manual response as linear movement of the input unit by the user;
defining the second possible manual response as circular movement of the input unit by the user;
wherein detecting the manual correction operation of said user comprises: determining whether said user performed a manual correction operation having either linear movement of the input unit or circular movement of the input unit.

### Claim 5 (depends on 1)

The method of claim 1, wherein generating the temporary input/output interference comprises:
temporarily hiding an on-screen pointer at the output unit of said computing device;
defining the first possible manual response as clockwise rotation movement of the input unit by the user;
defining the second possible manual response as counter-clockwise rotation movement of the input unit by the user;
wherein detecting the manual correction operation of said user comprises: determining whether said user performed a manual correction operation having either clockwise rotation movement of the input unit or counter-clockwise rotation movement of the input unit.

### Claim 6 (depends on 1)

The method of claim 1, wherein generating the temporary input/output interference comprises:
temporarily hiding an on-screen pointer at the output unit of said computing device;
defining the first possible manual response as movement of the input unit by the user;
defining the second possible manual response as clicking a button of the input unit by the user;
wherein detecting the manual correction operation of said user comprises: determining whether said user performed a manual correction operation having either movement of the input unit or clicking the button of the input unit.

### Claim 7 (depends on 1)

The method of claim 1, comprising:
storing a lookup table representing a pool of possible on-screen binary-type interferences;
for each one of the possible on-screen interferences, determining the level of uniqueness in the population of users of each one of two possible manual responses to interference;
updating said lookup table to indicate the level of uniqueness of each possible manual response to each one of the possible on-screen interferences.

### Claim 8 (depends on 7)

The method of claim 7, comprising, with regard to a particular user:
injecting into a communication session of said particular user, a batch of interferences selected from said pool of possible on-screen binary-type interferences,
wherein the injecting comprises injecting one interference at a time;
for each injected interference, detecting the manual correction operation performed by said user, and determining whether said manual correction operation performed by said user is either unique or non-unique relative to the general population of users;
updating a user profile to indicate which one or more interferences, out of said pool of possible on-screen binary-type interferences, trigger unique responses from said user and are to be used for user-differentiation purposes in subsequent usage sessions of said user.

### Claim 9 (depends on 7)

The method of claim 7, comprising, with regard to a particular user:
injecting into a communication session of said particular user, a batch of interferences selected from said pool of possible on-screen binary-type interferences,
wherein the injecting comprises injecting one interference at a time;
for each injected interference, detecting the manual correction operation performed by said user, and determining whether said manual correction operation performed by said user is either unique or non-unique relative to the general population of users;
updating a user profile to indicate that with regard to said particular user, one or more interferences out of said pool of possible on-screen binary-type interferences, trigger non-unique responses from said user and are to be discarded and not to be used for user-differentiation purposes in subsequent usage sessions of said user.

### Claim 10 (depends on 7)

The method of claim 7, comprising, with regard to a particular user:
dynamically creating a user profile for user differentiation,
by discarding from said pool a first binary-type interference to which the manual correction operation of said particular user is frequent with at least 70 percent of the population of users;
and by maintaining in said pool a second binary-type interference to which the manual correction operation of said particular user is frequent with at most 30 percent of the population of users.

### Claim 11 (depends on 7)

The method of claim 7, comprising, with regard to a particular user:
dynamically creating a user profile for user differentiation,
by discarding from said pool a first binary-type interference to which the manual correction operation of said particular user is frequent with at least 90 percent of the population of users;
and by maintaining in said pool a second binary-type interference to which the manual correction operation of said particular user is frequent with at most 10 percent of the population of users.

### Claim 12 (depends on 2)

The method of claim 2, wherein the discarding comprises:
if said manual user correction operation that the user performs, matches the first possible manual user response that is performed by at least 90 percent of the general population of users, then discarding said temporary input/output interference from being re-used in subsequent usage sessions of said user.

### Claim 13 (depends on 2)

The method of claim 2, wherein the discarding comprises:
if said manual user correction operation that the user performs, matches the first possible manual user response that is performed by at least 75 percent of the general population of users, then discarding said temporary input/output interference from being re-used in subsequent usage sessions of said user.

### Claim 14 (depends on 2)

The method of claim 2, wherein the updating comprises:
if said manual user correction operation that the user performs, matches the second possible manual user response that is performed by at most 15 percent of the general population of users, then updating the user profile to indicate that said temporary input/output interference is to be re-used in subsequent usage sessions of said user.

### Claim 15 (depends on 1)

The method of claim 1, wherein the updating comprises:
if said manual user correction operation that the user performs, matches the second possible manual user response that is performed by at most 30 percent of the general population of users, then updating the user profile to indicate that said temporary input/output interference is to be re-used in subsequent usage sessions of said user.

### Claim 16 (depends on 1)

The method of claim 1, wherein said level of uniqueness in the general population of users, of said particular response-to-interference that is identified in input-unit interactions of said user, is determined by comparison to one or more threshold values.

### Claim 17 (depends on 1)

The method of claim 1, wherein said level of uniqueness in the general population of users, of said particular response-to-interference that is identified in input-unit interactions of said user, is determined by comparison to one or more threshold values;
wherein said temporary input/output interference causes an on-screen pointer to deviate from its expected on-screen route.

### Claim 18 (depends on 1)

The method of claim 1, wherein said level of uniqueness in the general population of users, of said particular response-to-interference that is identified in input-unit interactions of said user, is determined by comparison to one or more threshold values;
wherein said temporary input/output interference causes an on-screen pointer to temporarily disappear from the screen.

### Claim 19 (depends on 1)

The method of claim 1, wherein said level of uniqueness in the general population of users, of said particular response-to-interference that is identified in input-unit interactions of said user, is determined by comparison to one or more threshold values;
wherein said temporary input/output interference causes an on-screen pointer to disappear from a first on-screen location, and to re-appear at a second, different, on-screen location.
