IP Library Granted Patent US 10,230,718
Granted Patent B2
US 10,230,718 · App. 15/204,710 · Granted Mar 12, 2019

Split serving of computer code

Inventors: Nwokedi Idika (Mountain View, CA); Justin D. Call (Santa Clara, CA)
Assignee: Shape Security, Inc.
H04L63/083G06F21/36G06F21/55G06Q20/4016H04L63/1416H04L63/1441G06F2221/2103G06F2221/2127G06F2221/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 10,230,718
App. No.
15/204,710
Granted
Mar 12, 2019
Kind
B2
Abstract

A computer-implemented method for securing a content server system is disclosed. The method includes identifying that a request has been made by a client computing device for serving of content from the content server system; serving, to the client computing device and for execution on the client computing device, reconnaissance code that is programmed to determine whether the client computing device is human-controlled or bot-controlled; receiving, from the reconnaissance code, data that indicates whether the client computing device is human-controlled or bot-controlled; and serving follow-up content to the client computing device, wherein the make-up of the follow-up content is selected based on a determination of whether the client computing device is human-controlled or bot-controlled.

Claims (39)

1. A computer-implemented method for securing a content server system, the method comprising:

identifying that a request has been made by a client computing device for serving of content from the content server system;

serving, to the client computing device and for execution on the client computing device, reconnaissance code that is programmed to generate information for determining whether the client computing device is human-controlled or bot-controlled;

receiving, from the reconnaissance code, data that indicates whether the client computing device is human-controlled or bot-controlled; and

in response to determining that the client computing device is bot-controlled, serving follow-up content to the client computing device that is not the content requested from the content server system, the follow-up content comprising fake code that obtains data for determining an identity of a corresponding bot or a corresponding bot operator and sends the obtained data to a central security server system;

wherein the method is performed by one or more computing devices.

2. The computer-implemented method of claim 1 , wherein the steps of identifying, serving reconnaissance code, receiving, and serving follow-up content are performed by an intermediary security system that is separate and distinct from the content server system.

3. The computer-implemented method of claim 1 , wherein the reconnaissance code is arranged to identify on the client computing device configuration information that indicates whether the client computing device is configured for a human user.

4. The computer-implemented method of claim 1 , wherein the reconnaissance code is arranged to identify on the client computing device operational information that indicates how the client computing device is operated after the reconnaissance code is provided to the client computing device.

5. The computer-implemented method of claim 1 , further comprising, in response to determining that the client computing device may be bot-controlled, serving to the client computing device code for performing a challenge-response test to a user of the client computing device, wherein the challenge-response test can be solved only by a human user.

6. The computer-implemented method of claim 1 , wherein the fake code obtains data for determining an identity of the corresponding bot.

7. The computer-implemented method of claim 1 , wherein the fake code obtains data for determining an identity of the corresponding bot operator.

8. The computer-implemented method of claim 1 , wherein serving follow-up content comprises serving the content from the content server system, with one or more polymorphic transformations applied to the content in locations that do not affect functional performance of the content on the client computing device.

9. One or more devices having tangible, non-transitory recordable media storing instructions that, when executed by one or more processors, perform actions comprising:

identifying that a request has been made by a client computing device for serving of content from the content server system;

serving, to the client computing device and for execution on the client computing device, reconnaissance code that is programmed to generate information for determining whether the client computing device is human-controlled or bot-controlled;

receiving, from the reconnaissance code, data that indicates whether the client computing device is human-controlled or bot-controlled; and

in response to determining that the client computing device is bot-controlled, serving follow-up content to the client computing device that is not the content requested from the content server system, the follow-up content comprising fake code that obtains data for determining an identity of a corresponding bot or a corresponding bot operator and sends the obtained data to a central security server system.

10. The one or more devices of claim 9 , wherein the steps of identifying, serving reconnaissance code, receiving, and serving follow-up content are performed by an intermediary security system that is separate and distinct from the content server system.

11. The one or more devices of claim 9 , wherein the reconnaissance code is arranged to identify on the client computing device configuration information that indicates whether the client computing device is configured for a human user.

12. The one or more devices of claim 9 , wherein the reconnaissance code is arranged to identify on the client computing device operational information that indicates how the client computing device is operated after the reconnaissance code is provided to the client computing device.

13. The one or more devices of claim 9 , wherein the actions further comprise, in response to determining that the client computing device may be bot-controlled, serving to the client computing device code for performing a challenge-response test to a user of the client computing device, wherein the challenge-response test can be solved only by a human user.

14. The one or more devices of claim 9 , wherein fake code obtains data for determining an identity of the corresponding bot.

15. The one or more devices of claim 9 , wherein the fake code obtains data for determining an identity of the corresponding bot operator.

16. The one or more devices of claim 9 , wherein serving follow-up content comprises serving the content from the content server system, with one or more polymorphic transformations applied to the content in locations that do not affect functional performance of the content on the client computing device.

17. A computer-implemented system, comprising:

one or more computer processors; and

one or more storage devices in communication with the one or more processors and having tangible, non-transitory media storing instructions that, when executed by one or more processors, perform actions comprising:

identifying that a request has been made by a client computing device for serving of content from the content server system;

serving, to the client computing device and for execution on the client computing device, reconnaissance code that is programmed to generate information for determining whether the client computing device is human-controlled or bot-controlled;

receiving, from the reconnaissance code, data that indicates whether the client computing device is human-controlled or bot-controlled; and

in response to determining that the client computing device is bot-controlled, serving follow-up content to the client computing device that is not the content requested from the content server system, the follow-up content comprising fake code that obtains data for determining an identity of a corresponding bot or a corresponding bot operator and sends the obtained data to a central security server system.

18. The system of claim 17 , wherein the steps of identifying, serving reconnaissance code, receiving, and serving follow-up content are performed by an intermediary security system that is separate and distinct from the content server system.

19. The system of claim 17 , wherein the reconnaissance code is arranged to identify on the client computing device configuration information that indicates whether the client computing device is configured for a human user.

20. The system of claim 17 , wherein the reconnaissance code is arranged to identify on the client computing device operational information that indicates how the client computing device is operated after the reconnaissance code is provided to the client computing device.

21. The system of claim 17 , wherein the actions further comprise, in response to determining that the client computing device may be bot-controlled, serving to the client computing device code for performing a challenge-response test to a user of the client computing device, wherein the challenge-response test can be solved only by a human user.

22. The system of claim 17 , wherein the fake code obtains data for determining an identity of the corresponding bot.

23. The system of claim 17 , wherein the fake code obtains data for determining an identity of the corresponding bot operator.

24. The system claim 17 , wherein serving follow-up content comprises serving the content from the content server system, with one or more polymorphic transformations applied to the content in locations that do not affect functional performance of the content on the client computing device.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2019
From: SILICON VALLEY BANK
To: SHAPE SECURITY, INC.
Reel/Frame 048501/0115 →
SECURITY INTEREST Recorded May 25, 2018
From: SHAPE SECURITY, INC.
To: SILICON VALLEY BANK
Reel/Frame 046243/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2016
From: IDIKA, NWOKEDI; CALL, JUSTIN D.
To: SHAPE SECURITY, INC.
Reel/Frame 039396/0017 →
Continuity (2)
Provisional Application 62189664 · Jul 7, 2015
Related Publication 20170012960A1 · Jan 12, 2017