IP Library Granted Patent US 9,848,009
Granted Patent B2
US 9,848,009 · App. 15/465,623 · Granted Dec 19, 2017

Identification of computerized bots and automated cyber-attack modules

Inventors: Avi Turgeman (Cambridge, MA); Itai Novick (Rehovot, IL)
Assignee: BioCatch Ltd.
H04L63/1425H04L63/083H04L63/145
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,848,009
App. No.
15/465,623
Granted
Dec 19, 2017
Kind
B2
Abstract

Devices, systems, and methods of detecting whether an electronic device or computerized device or computer, is being controlled by a legitimate human user, or by an automated cyber-attack unit or malware or automatic script. The system monitors interactions performed via one or more input units of the electronic device. The system searches for abnormal input-user interactions; or for an abnormal discrepancy between: the input-unit gestures that were actually registered by the input unit, and the content that the electronic device reports as allegedly entered via such input units. A discrepancy or abnormality indicates that more-possibly, or necessarily or certainly, a malware or automated script is controlling the electronic device, rather than a legitimate human user. Optionally, an input-output aberration or interference is injected, in order to check for manual corrective actions that only a human user, and not an automated script, is able to perform.

Claims (87)

1. A method comprising:

(A) detecting an automated malware that emulates human interactions with a computerized service;

wherein the detecting of step (A) comprises:

(a) monitoring input-unit interactions of an electronic device that is utilized by a user to interact with said computerized service;

(b) analyzing said input-unit interactions;

(c) determining that it is humanly-impossible for a human to perform said input-user interactions;

(d) based on the determining of step (c), determining that said input-unit interactions were necessarily performed by said automated script that emulates human interactions, and not by a human user;

wherein the method comprises:

injecting an input-output aberration into a web-page, and monitoring whether manual corrective actions were manually performed in response to the input-output aberration;

generating a list of usage sessions in which at least one of the following conditions holds true: (I) no corrective actions were performed, or (II) corrective actions that were performed were insufficient to adequately cure the input-output aberration;

diluting said list of usage sessions, by removing usage sessions that do not exhibit a mismatch between (I) input-unit events as actually registered by one or more input units of the electronic device, and (II) content that was registered by the electronic device as allegedly being manually entered.

2. The method of claim 1 , wherein steps (b) and (c) and (d) comprise:

detecting that said input-unit interactions comprise an on-screen displacement-jump of an on-screen pointer, from a first on-screen location, to a second and non-adjacent on-screen location;

based on said on-screen displacement-jump of the on-screen pointer, determining that said input-unit interactions were necessarily performed by said automated script that emulates human interactions, and not by a human user.

3. The method of claim 1 , wherein steps (b) and (c) and (d) comprise:

detecting that said input-unit interactions comprise an on-screen displacement-jump of an on-screen pointer, from a first on-screen location, to a second and non-adjacent on-screen location; and further detecting that said on-screen displacement-jump is accompanied by one or more input-user gestures that are insufficient for commanding said displacement-jump;

based on said on-screen displacement-jump of the on-screen pointer, determining that said input-unit interactions were necessarily performed by said automated script that emulates human interactions, and not by a human user.

4. The method of claim 1 , wherein steps (b) and (c) and (d) comprise:

(i) detecting that said input-unit interactions exhibit rapid displacement-jumps of an on-screen pointer, among non-adjacent on-screen locations, wherein said rapid displacement-jumps comprise two or more on-screen pointer displacement-jumps that occur within a pre-defined time period;

(ii) based on step (i), determining that said input-unit interactions were necessarily performed by said automated script that emulates human interactions, and not by a human user.

5. The method of claim 1 , wherein steps (b) and (c) and (d) comprise:

(i) detecting a first click or tap, performed at a first on-screen location, occurred concurrently with a second click or tap performed at a second, different, on-screen location;

(ii) based on step (i), determining that said input-unit interactions were necessarily performed by said automated script that emulates human interactions, and not by a human user.

6. The method of claim 1 , wherein steps (b) and (c) and (d) comprise:

(i) monitoring key-down events, and monitoring key-up events, during a usage session in which said electronic device exhibits reception of keyboard input;

(ii) determining that the order of the key-down events and the key-up events, during said usage session, does not match an expected order of key-down events and key-up events that is expected to be observed if an input unit of said electronic device is utilized for typing by a human user;

(iii) based on step (ii), determining that said input-unit interactions were necessarily performed by said automated script that emulates human interactions, and not by a human user.

7. The method of claim 1 , wherein steps (b) and (c) and (d) comprise:

(i) monitoring key-down events, and monitoring key-up events, during a usage session in which said electronic device exhibits reception of keyboard input;

(ii) determining that (I) a timing scheme that characterizes the monitored key-down events and the monitored key-up events, during said usage session, does not match (II) a timing scheme of entry of typed characters as actually registered by the electronic device;

(iii) based on the determining of step (i), determining that said electronic device is necessarily controlled by an automated attacking module, and not by a legitimate human user.

8. The method of claim 1 , wherein steps (b) and (c) and (d) comprise:

(i) continuously monitoring mouse events, during a usage session in which said electronic device exhibits reception of mouse-based input;

(ii) determining that during a first period of time within said usage session, the monitored mouse events exhibit a first sampling rate;

(iii) determining that during a second period of time within said usage session, the monitored mouse events exhibit a second, different, sampling rate;

(iv) based on steps (ii) and (iii), determining that said electronic device is necessarily controlled by an automated attacking module, and not by a legitimate human user.

9. The method of claim 1 , wherein steps (b) and (c) and (d) comprise:

(i) detecting that an input-unit level of the electronic device reports that a message of M characters were manually entered via an input-unit of the electronic device;

(ii) detecting that said electronic device sends to a remote server, an outgoing message of N characters that was allegedly typed on said electronic device, wherein N is different than M;

(iii) based on the determining of steps (i) and (ii), further determining that said electronic device is necessarily controlled by an automated attacking module, and not by a legitimate human user.

10. The method of claim 1 , comprising:

(i) detecting that the electronic device sends to a remote server, a message indicating that a string of characters was manually entered by a user in a particular field of a particular fillable form;

(ii) based on monitoring of input-unit interactions of said electronic device, determining that the input unit of the electronic device registered manual input during the time-period that corresponds to alleged manual data entry of said particular field of said particular fillable form; and further determining that the manual input, as registered by the input unit of the electronic device, does not yield said string of characters that said message indicates as manually entered;

(iii) based on steps (i) and (ii), further determining that said electronic device is necessarily controlled by an automated attacking module, and not by a legitimate human user.

11. A method comprising:

(A) detecting an automated malware that emulates human interactions with a computerized service;

wherein the detecting of step (A) comprises:

(a) monitoring input-unit interactions of an electronic device that is utilized by a user to interact with said computerized service;

(b) analyzing said input-unit interactions;

(c) determining that it is humanly-impossible for a human to perform said input-user interactions;

(d) based on the determining of step (c), determining that said input-unit interactions were necessarily performed by said automated script that emulates human interactions, and not by a human user;

wherein the method comprises:

generating a list of usage sessions that exhibit a mismatch between (I) input-unit events as actually registered by one or more input units of the electronic device, and (II) content that was registered by the electronic device as allegedly being manually entered;

diluting said list of usage sessions by: (a) injecting an input-output aberration into a web-page, and monitoring whether manual corrective actions were manually performed in response to the input-output aberration; and (b) detecting that at least one of the following conditions holds true: (I) no corrective actions were performed, or (II) corrective actions that were performed were insufficient to adequately cure the input-output aberration.

12. The method of claim 11 , wherein steps (b) and (c) and (d) comprise:

detecting that said input-unit interactions comprise an on-screen displacement-jump of an on-screen pointer, from a first on-screen location, to a second and non-adjacent on-screen location; and further detecting that said on-screen displacement-jump is not accompanied by any input-user gesture that is required for commanding said displacement-jump;

based on said on-screen displacement-jump of the on-screen pointer, determining that said input-unit interactions were necessarily performed by said automated script that emulates human interactions, and not by a human user.

13. The method of claim 11 , wherein steps (b) and (c) and (d) comprise:

(i) detecting that said input-unit interactions comprise an on-screen displacement-jump of an on-screen pointer, from a first on-screen location, to a second and non-adjacent on-screen location; and further determining that said on-screen displacement-jump of the on-screen pointer does not match statistical distribution of input-unit utilization by human users;

(ii) based on step (i), determining that said input-unit interactions were necessarily performed by said automated script that emulates human interactions, and not by a human user.

14. The method of claim 11 , wherein steps (b) and (c) and (d) comprise:

(i) detecting a first click or tap, performed at a first on-screen location;

(ii) subsequently, detecting a second click or tap, performed at a second on-screen location;

(iii) detecting that no input-unit events were registered between (I) detection of the first click or tap at the first on-screen location, and (II) detection of the second click or tap at the second on-screen location;

(iv) based on step (iii), determining that said input-unit interactions were necessarily performed by said automated script that emulates human interactions, and not by a human user.

15. The method of claim 11 , wherein steps (b) and (c) and (d) comprise:

(i) monitoring key-down events, and key-up events, during a usage session in which said electronic device exhibits reception of keyboard input;

(ii) determining that the number of key-down events does not match the number of key-up events, during said usage session;

(iii) based on step (ii), determining that said input-unit interactions were necessarily performed by said automated script that emulates human interactions, and not by a human user.

16. The method of claim 11 , wherein steps (b) and (c) and (d) comprise:

(i) monitoring key-down events, and monitoring key-up events, during a usage session in which said electronic device exhibits reception of keyboard input;

(ii) determining that at least one of: (I) the key-down events that were registered by the electronic device during said usage session, and (II) the key-up events that were registered by the electronic device during said usage session, does not match the number of characters that said electronic device registered as received from a keyboard;

(iii) based on the determining of step (i), determining that said electronic device is necessarily controlled by an automated attacking module, and not by a legitimate human user.

17. The method of claim 11 , wherein steps (b) and (c) and (d) comprise:

(i) continuously monitoring keyboard events, during a usage session in which said electronic device exhibits reception of keyboard-based input;

(ii) determining that during a first period of time within said usage session, the monitored keyboard events exhibit a first sampling rate;

(iii) determining that during a second period of time within said usage session, the monitored keyboard events exhibit a second, different, sampling rate;

(iv) based on steps (ii) and (iii), determining that said electronic device is necessarily controlled by an automated attacking module, and not by a legitimate human user.

18. The method of claim 11 , wherein steps (b) and (c) and (d) comprise:

(i) continuously monitoring keyboard events and mouse events, during a usage session in which said electronic device exhibits reception of keyboard-based input;

(ii) determining that during said usage session, the monitored keyboard events exhibit a first sampling rate;

(iii) determining that during said usage session, the monitored mouse events exhibit a second, different, sampling rate;

(iv) based on steps (ii) and (iii), determining that said electronic device is necessarily controlled by an automated attacking module, and not by a legitimate human user.

19. The method of claim 11 , wherein steps (b) and (c) and (d) comprise:

(i) detecting that the electronic device sends to a remote server, a message indicating that a string of characters was manually entered by a user in a particular field of a particular fillable form;

(ii) based on monitoring of input-unit interactions of said electronic device, determining that the input unit of the electronic device did not register any manual input during the time-period that corresponds to alleged manual data entry of said particular field of said particular fillable form;

(iii) based on the determining of step (ii), further determining that said electronic device is necessarily controlled by an automated attacking module, and not by a legitimate human user.

Assignments (4)
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2017
From: TURGEMAN, AVI; NOVICK, ITAI
To: BIOCATCH LTD.
Reel/Frame 042268/0656 →
Continuity (11)
Continuation In Part 15198199 · Jun 30, 2016
Continuation In Part 14736287 · Jun 11, 2015
Continuation In Part 14325394 · Jul 8, 2014
Continuation In Part 15194593 · Jun 28, 2016
Continuation In Part 14325393 · Jul 8, 2014
Continuation In Part 13922271 · Jun 20, 2013
Continuation In Part 13877676
Provisional Application 62190264 · Jul 9, 2015
Provisional Application 61843915 · Jul 9, 2013
Provisional Application 61417479 · Nov 29, 2010
Related Publication 20170195356A1 · Jul 6, 2017