IP Library Granted Patent US 9,418,221
Granted Patent B2
US 9,418,221 · App. 14/675,768 · Granted Aug 16, 2016

Method, device, and system of differentiating among users based on responses to injected interferences

Inventor: Avi Turgeman (Cambridge, MA)
Assignee: BIOCATCH LTD.
G06F21/552G06F3/041G06F21/31G06F21/316G06F21/32G06F21/554H04L63/08H04L63/1408H04L67/22G06F2221/2133
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,418,221
App. No.
14/675,768
Granted
Aug 16, 2016
Kind
B2
Abstract

Devices, systems, and methods of detecting user identity, differentiating between users of a computerized service, and detecting a cyber-attacker. 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 (79)

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 temporary input/output interference in subsequent usage sessions of said user;

wherein the method further comprises:

presenting to a user of an electronic device a screen comprising content and an advertisement;

injecting a temporary input/output aberration that causes an on-screen pointer, that is on route to click within said advertisement, to deviate from its regular route;

tracking user interactions with an input unit of said electronic device in response to said temporary input/output aberration;

determining whether said user performed manual correction operations that fix said temporary input/output aberration;

in response to determining that said user performed manual correction operations that fixed said temporary input/output aberration, determining that a click of said user within said advertisement was performed by a genuine user and not by a click-fraud mechanism;

in response to determining that said user performed manual correction operations that did not fix said temporary input/output aberration, determining that a click of said user within said advertisement was performed by a click-fraud mechanism.

2. 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.

3. 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.

4. 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.

5. 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.

6. 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.

7. 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.

8. 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.

9. 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.

10. 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.

11. The method of claim 10 , 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.

12. The method of claim 10 , 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.

13. The method of claim 10 , 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.

14. The method of claim 10 , 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.

15. 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.

16. The method of claim 1 ,

wherein said temporary input/output aberration causes said on-screen pointer, that is on route to click within said advertisement, to temporarily disappear.

17. The method of claim 1 ,

wherein said temporary input/output aberration causes said on-screen pointer, that is on route to click within said advertisement, to appear at a pseudo-random offset relative to a regular non-interfered location of said on-screen pointer.

18. The method of claim 1 ,

wherein said temporary input/output aberration causes said on-screen pointer to operate irregularly relative to pointer-controlling gestures that are inputted by said user while said user is attempting to move said on-screen pointer towards said advertisement.

19. The method of claim 1 ,

wherein the temporary input/output aberration causes the on-screen pointer to reach an on-screen location that is external to said advertisement unless manual correction operations are performed via the input unit in response to said temporary input/output aberration.

Assignments (6)
INTELLECTUAL PROPERTY SECURITY AGREEMENT TERMINATION UNDER REEL/FRAME: 049480/0823 Recorded Sep 14, 2020
From: KREOS CAPITAL VI (EXPERT FUND) LP
To: BIOCATCH LTD.
Reel/Frame 053769/0729 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT TERMINATION UNDER REEL/FRAME: 040233/0426 Recorded Sep 14, 2020
From: KREOS CAPITAL V (EXPERT FUND) L.P.
To: BIOCATCH LTD.
Reel/Frame 053770/0145 →
SECURITY INTEREST Recorded Jun 16, 2019
From: BIOCATCH LTD.
To: KREOS CAPITAL VI (EXPERT FUND) L.P.
Reel/Frame 049480/0823 →
CHANGE OF ADDRESS Recorded Jun 13, 2019
From: BIOCATCH LTD.
To: BIOCATCH LTD.
Reel/Frame 049459/0302 →
SECURITY INTEREST Recorded Nov 6, 2016
From: BIOCATCH LTD.
To: KREOS CAPITAL V (EXPERT FUND) L.P.
Reel/Frame 040233/0426 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2015
From: TURGEMAN, AVI
To: BIOCATCH LTD.
Reel/Frame 035783/0299 →
Continuity (23)
Continuation In Part 14566723 · Dec 11, 2014
Continuation 13922271 · Jun 20, 2013
Continuation In Part 13877676
Continuation In Part 14675768
Continuation In Part 14320653 · Jul 1, 2014
Continuation In Part 14675768
Continuation In Part 14320656 · Jul 1, 2014
Continuation In Part 14675768
Continuation In Part 14325393 · Jul 8, 2014
Continuation In Part 14675768
Continuation In Part 14325394 · Jul 8, 2014
Continuation In Part 14675768
Continuation In Part 14325395 · Jul 8, 2014
Continuation In Part 14675768
Continuation In Part 14325396 · Jul 8, 2014
Continuation In Part 14675768
Continuation In Part 14325397 · Jul 8, 2014
Continuation In Part 14675768
Continuation In Part 14325398 · Jul 8, 2014
Provisional Application 61973855 · Apr 2, 2014
Provisional Application 61417479 · Nov 29, 2010
Provisional Application 61843915 · Jul 9, 2013
Related Publication 20150205955A1 · Jul 23, 2015