IP Library Granted Patent US 9,313,213
Granted Patent B2
US 9,313,213 · App. 14/057,730 · Granted Apr 12, 2016

System and method for detecting classes of automated browser agents

Inventors: Daniel Kaminsky (San Francisco, CA); Michael J. J. Tiffany (New York, NY)
Assignee: WHITE OPS, INC.
H04L63/12G06N7/00
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,313,213
App. No.
14/057,730
Granted
Apr 12, 2016
Kind
B2
Abstract

A method for determining if a web browser is being operated by a human or a non-human agent, based on analysis of certain aspects of how a user interacts with a webpage. By placing a code snippet into the code of a webpage prior to a given user accessing that webpage, one is able to evaluate the user's actions in order to predict the type of user. The predictions are made by acquiring information on how the user loads, navigates, and interacts with the webpage and comparing that information with statistics taken from a control group. Performance metrics from all webpages containing similar code elements are compiled by analysis servers and made available to the operator of a webpage through a variety of reporting mediums. By compiling such performance metrics, the method helps combat and prevent malicious automated traffic directed at advertisements and other aspects of a given webpage.

Claims (26)

1. A method for detecting automated browser agents, comprising:

inserting a means for detecting information into a page code before a page is sent to a user's browser, sending said page to a user's browser, wherein said means sends emissions from one or more plugins via one or more channels, said emissions capturing client execution environment data without requiring a browser interaction and causing immediate and continued data collection of said client execution environment data, and transmitting via asynchronous HTTP posts said client execution environment data to an analysis server, wherein said analysis server compares said client execution environment data with a first database storing pattern characteristics for humans, a second database storing pattern characteristics for automated browser agents, and a third database storing pattern characteristics which are unclear as to whether performed by a human or a bot, thus forming a report on automated browser agent activity based on a qualitative evaluation of performance metrics collected,

and making a conclusion on a probability of the user being an automated browser agent (a bot), said probability being based on which of said three databases has the highest match to said data.

2. The method of claim 1 , wherein said means for detecting comprise a code snippet and said client execution environment data comprises HTML5 standards compliance.

3. The method of claim 2 , further comprising: registering a handler and a listener for a given browser event, wherein said handler receives client execution environment data associated with said browser event and said listener enables recovery of otherwise unidentifiable data.

4. The method of claim 2 , wherein said report is made available via a password protected interactive HTML dashboard, an exportable spreadsheet document, or a subscription based email or PDF report.

5. The method of claim 2 , wherein said report is generated within one minute of a given user action.

6. The method of claim 2 , wherein said data collection, comparing, and report is implemented via batch processing.

7. The method of claim 2 , wherein said data collection, comparing, and report is implemented via stream processing.

8. The method of claim 2 , further comprising integration with financial anti-fraud technology.

9. The method of claim 2 , further comprising integration with a pre-CAPTCHA signup auditor.

10. The method of claim 2 , wherein said client execution environment data further comprises mismatching communication channels.

11. The method of claim 2 , wherein said client execution environment data further comprises a Flash update rate.

12. The method of claim 2 , wherein said client execution environment data further comprises a syncing of Flash stages.

13. The method of claim 2 , wherein said client execution environment data further comprises bot-specific injected configurations.

14. The method of claim 2 , wherein said client execution environment data further comprises scroll events.

15. The method of claim 2 , wherein said client execution environment data further comprises average read and visit time.

16. The method of claim 2 , wherein said client execution environment data further comprises error handling information.

17. The method of claim 1 , wherein said client execution environment data comprises information, generated over time, regarding the amount of time a given browser operation takes to update a graphic on a web age.

18. A non-transitory computer readable medium storing a program causing a computer to execute a process, comprising:

a first stage of identification, comprising grouping browsing activity based on origin,

a second stage of data collection, comprising sending a page containing a pre-inserted code snippet for recording of particular client execution environment data, at page load and after page load, and transmitting said client execution environment data to an analysis server,

a third stage of evaluation within said analysis server, comprising comparing said client execution environment data against control groups comprising a first database storing pattern characteristics for humans, a second database storing pattern characteristics for automated browser agents, and a third database storing pattern characteristics which are unclear as to whether performed by a human or a bot,

and a fourth stage of reporting, comprising compiling a predictive report on bot activity based on a qualitative evaluation of performance metrics collected, said predictive report disclosing the highest matching database of said three databases.

19. The medium of claim 18 , wherein said client execution environment data comprises an interaction with invisible elements of a page, missing properties of an interaction, atypical interface behavior, a wrong page element property, mismatching communication channels, a Flash update rate, syncing of Flash stages, a graphical update rate, error handling information, HTML5 standards compliance, bot-specific injected configurations, keyboard activity, accelerometer data, scroll events, and average read and visit time.

20. The medium of claim 18 , wherein said client execution environment data comprises the amount of time a given browser operation takes to update a graphic on a given web page.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Aug 5, 2025
From: ALTER DOMUS (US) LLC
To: HUMAN SECURITY, INC.; SINGULARITY BUYER LLC
Reel/Frame 071935/0384 →
RELEASE OF SECURITY INTEREST Recorded Aug 5, 2025
From: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK & TRUST COMPANY
To: HUMAN SECURITY, INC.; SINGULARITY BUYER LLC; PERIMETERX, INC.
Reel/Frame 071935/0486 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jul 25, 2025
From: HUMAN SECURITY, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 072253/0310 →
SECURITY INTEREST Recorded Aug 9, 2022
From: HUMAN SECURITY, INC.; SINGULARITY BUYER LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 060758/0288 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jul 29, 2022
From: HUMAN SECURITY, INC.; SINGULARITY BUYER LLC; PERIMETERX, INC.
To: SILICON VALLEY BANK
Reel/Frame 061006/0055 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 24, 2021
From: COMERICA BANK
To: WHITE OPS, INC.
Reel/Frame 056676/0040 →
CHANGE OF NAME Recorded Mar 31, 2021
From: WHITE OPS, INC.
To: HUMAN SECURITY, INC.
Reel/Frame 057170/0011 →
SECURITY INTEREST Recorded Jun 29, 2015
From: WHITE OPS, INC.
To: COMERICA BANK
Reel/Frame 035998/0945 →
CHANGE OF NAME Recorded Jun 2, 2015
From: BOT OR NOT LLC
To: WHITE OPS INC.
Reel/Frame 035813/0969 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2014
From: KAMINSKY, DANIEL; TIFFANY, MICHAEL J.J.
To: BOT OR NOT, LLC
Reel/Frame 033002/0460 →
Continuity (2)
Provisional Application 61715815 · Oct 18, 2012
Related Publication 20150112892A1 · Apr 23, 2015