IP Library Granted Patent US 9,866,582
Granted Patent B2
US 9,866,582 · App. 14/320,491 · Granted Jan 9, 2018

Detection of scripted activity

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,866,582
App. No.
14/320,491
Granted
Jan 9, 2018
Kind
B2
Abstract

Methods, systems, and computer program products for online content referral are provided. A computer-implemented method may include receiving a request from an application, issuing a challenge to the application to determine a capability of the application, analyzing a result of the challenge to associate the application with an application type, determining whether the activity performed by the application is scripted, and classifying the activity as automated or semi-automated when it is determined that the activity is scripted.

Claims (55)

1. A computer system, comprising:

a non-transitory memory storing instructions; and

one or more hardware processors coupled to the non-transitory memory and configured to read the instructions from the non-transitory memory and to execute the instructions to cause the computer system to perform operations comprising:

receiving user agent data from an application interacting with the computer system, the user agent data associating the application with a type of web browser application;

categorizing the application as a web browser application based on analyzing the user agent data;

issuing a web browser challenge to the application, the web browser challenge being selected based on the user agent data and testing web browser application behavior;

receiving a response to the web browser challenge from the application;

generating a reputation score for the application based on analyzing activity performed by the application, a determined correctness of the response to the web browser challenge, and the user agent data;

determining that at least some of the activity performed by the application is scripted instead of being performed by a human based on analyzing the response to the web browser challenge and based on the generated reputation score;

adjusting the categorizing of the application to identify the application as scripted based on the determining that at least some of the activity performed by the application is scripted; and

classifying the application as one of an automated script or a semi-automated script based on the generated reputation score for the application, analyzing the activity performed by the application, and one or more web browser plug-ins associated with the application.

2. The computer system of claim 1 , wherein the operations further comprise:

selecting the web browser challenge from a plurality of available web browser challenges.

3. The computer system of claim 2 , wherein the web browser challenge is selected adaptively from the plurality of available web browser challenges.

4. The computer system of claim 1 , wherein the operations further comprise:

comparing the result of the web browser challenge to an expected result for a web browser application.

5. The computer system of claim 1 , wherein the operations further comprise:

determining a probability that the application is a web browser application based on the user agent data and the generated reputation score.

6. The computer system of claim 1 , wherein the classifying of the application as one of an automated script or a semi-automated script is further based on a second response received from the application in association with a second web browser challenge issued to the application.

7. The computer system of claim 1 , wherein the classifying of the application as one of an automated script or a semi-automated script is further based on a detected pattern of behavior associated with the activity performed by the application.

8. The computer system of claim 1 , wherein the classifying of the application as one of an automated script or a semi-automated script is further based on the user agent data.

9. The computer system of claim 1 , wherein the operations further comprise:

comparing the activity performed by the application to a predetermined pattern of activity associated with a scripted application.

10. The computer system of claim 1 , wherein the web browser challenge is provided to the application in a computer scripting language.

11. The computer system of claim 1 , wherein the

determining that the application is scripted further is based on comparing the generated reputation score to a predetermined threshold.

12. The computer system of claim 1 , wherein the operations further comprise:

adjusting a security permission associated with the application in response to determining that the application is scripted.

13. The computer system of claim 1 , wherein the operations further comprise:

terminating a session involving the application in response to determining that the application is scripted.

14. The computer system of claim 1 , wherein the operations further comprise:

transmitting an alert in response to determining that the application is scripted.

15. The computer system of claim 1 , wherein the operations further comprise:

disabling a user account associated with a session involving the application in response to determining that the application is scripted.

16. A computer-implemented method, comprising:

receiving, by a processor device, user agent data from an application, the user agent data associating the application with a type of web browser application;

issuing, by the processor device, a web browser challenge to the application, the web browser challenge being generated based on the user agent data;

analyzing, by the processor device, a response to the web browser challenge received from the application;

generating, by the processor device, a reputation score for the application based on analyzing activity performed by the application, determining correctness of the response to the web browser challenge, and the user agent data;

determining, by the processor device, that at least some of the activity performed by the application is scripted instead of being performed by a human based on the analyzing of the response to the web browser challenge and based on the reputation score generated for the application;

categorizing, by the processor device, the application as scripted based on the determining that at least some of the activity performed by the application is scripted; and

classifying, by the processor device, the application as one of an automated script or a semi-automated script, based on the reputation score generated for the application, analyzing the activity performed by the application, and one or more web browser plug-ins associated with the application.

17. The computer-implemented method of claim 16 , further comprising:

disallowing, by the processor device, a subsequent session being initiated by the application based on previously determining that the application is scripted.

18. A non-transitory machine-readable medium having stored thereon machine-readable instructions executable to cause a machine to perform operations comprising:

receiving user agent data from an application, the user agent data associating the application with a type of web browser;

categorizing the application as a web browser application based on analyzing the user agent data;

issuing a web browser challenge to the application, the web browser challenge being generated based on the user agent data;

receiving a response to the web browser challenge from the application;

generating a reputation score for the application based on analyzing activity performed by the application, determining correctness of the response to the web browser challenge, and the user agent data;

determining that at least some of the activity performed by the application is scripted instead of being performed by a human based on analyzing the response to the web browser challenge, and based on the reputation score generated for the application;

adjusting the categorizing of the application to identify the application as scripted based on the determining that at least some of the activity performed by the application is scripted; and

classifying the application as one of an automated script or a semi-automated script based on the reputation score generated for the application, analyzing the activity performed by the application, and one or more web browser plug-ins associated with the application.

19. The non-transitory computer-readable medium of claim 18 , wherein the operations further comprise:

terminating a session involving the application in response to determining that the application is scripted.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2015
From: EBAY INC.
To: PAYPAL, INC.
Reel/Frame 036171/0194 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2014
From: WARDMAN, BRAD; CARRICO, RYAN A.; PRATT, NATHAN ROBERT
To: EBAY, INC.
Reel/Frame 033547/0186 →