IP Library Granted Patent US 9,954,893
Granted Patent B1
US 9,954,893 · App. 14/861,906 · Granted Apr 24, 2018

Techniques for combating man-in-the-browser attacks

Inventors: Yao Zhao (Fremont, CA); Xinran Wang (San Ramon, CA)
H04L63/1466G06F17/3089H04L63/1416H04L63/1491
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,954,893
App. No.
14/861,906
Granted
Apr 24, 2018
Kind
B1
Abstract

Methods and apparatus are described for automatically modifying web page code. Specific implementations relate to the modification of web page code for the purpose of combatting Man-in-the-Browser (MitB) attacks.

Claims (53)

1. A method, comprising:

generating modified web page code by:

adding decoy code to web page code, wherein the decoy code is designed to be recognized by malware as web code that is vulnerable to attack;

adding monitoring code to the web page code, wherein the monitoring code is configured to detect interaction between malicious code and the decoy code when the modified web page code is executed at the client device;

transmitting the modified web page code to the client device;

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

2. The method of claim 1 , wherein the decoy code is added to a comments section of the web page code that is not rendered by a browser executing on the client device.

3. The method of claim 1 , wherein the decoy code is configured to render the interaction between the malicious code and the decoy code harmless.

4. The method of claim 1 , further comprising:

receiving a notification from the monitoring code that the interaction between the malicious code and the decoy code was detected.

5. The method of claim 1 , wherein the monitoring code is further configured to generate one or more notifications in response to detecting one or more interactions between any malicious code and the decoy code.

6. The method of claim 1 , further comprising detecting a change to the decoy code caused by interaction between the malicious code and the decoy code.

7. The method of claim 6 , wherein detecting the decoy code comprises:

receiving sample web page code from the client device comprising elements of the decoy code at the client device;

comparing the sample web page code to reference web page code comprising original elements of the decoy code added to the web page code; and

determining that the sample web page code does not match the reference web page code.

8. The method of claim 1 , wherein the decoy code is configured to be obscured when the modified web page code is rendered on a browser executing on the client device.

9. The method of claim 1 , wherein the decoy code includes a dynamic ID.

10. A system, comprising:

one or more hardware processors;

memory coupled to the one or more hardware processors and storing one or more instructions which, when executed by the one or more hardware processors, cause the one or more hardware processors to:

generate modified web page code by:

adding decoy code to web page code, wherein the decoy code is designed to be recognized by malware as web code that is vulnerable to attack; and

adding monitoring code to the web page code, wherein the monitoring code is configured to detect interaction between malicious code and the decoy code when the modified web page code is executed at the client device;

transmit the modified web page code to the client device.

11. The system of claim 10 , wherein the decoy code is added to a comments section of the web page code that is not rendered by a browser executing on the client device.

12. The system of claim 10 , wherein the decoy code is configured to render the interaction between the malicious code and the decoy code harmless.

13. The system of claim 10 , wherein the one or more instructions, when executed by the one or more hardware processors, further cause the one or more hardware processors to:

receive a notification from the monitoring code that the interaction between the malicious code and the decoy code was detected.

14. The system of claim 10 , wherein the monitoring code is further configured to generate one or more notifications in response to detecting one or more interactions between any malicious code and the decoy code.

15. The system of claim 10 , wherein the one or more instructions, when executed by the one or more hardware processors, further cause the one or more hardware processors to:

detect a change to the decoy code caused by interaction between the malicious code and the decoy code.

16. The system of claim 15 , wherein detecting the change to the decoy code comprises:

receiving sample web page code from the client device comprising elements of the decoy code at the client device;

comparing the sample web page code to reference web page code comprising original elements of the decoy code added to the web page code; and

determining that the sample web page code does not match the reference web page code.

17. The system of claim 10 , wherein the decoy code is configured to be obscured when the modified web page code is rendered on a browser executing on the client device.

18. The system of claim 10 , wherein the decoy code includes a dynamic ID.

19. One or more non-transitory computer-readable media storing instructions which, when executed by one or more hardware processors, cause the one or more hardware processors to:

generate modified web page code by:

adding decoy code to web page code, wherein the decoy code is designed to be recognized by malware as web code that is vulnerable to attack; and

adding monitoring code to the web page code, wherein the monitoring code is configured to detect interaction between malicious code and the decoy code when the modified web page code is executed at the client device;

transmit the modified web page code to the client device.

20. The non-transitory computer-readable media of claim 19 , wherein the decoy code is configured to render the interaction between the malicious code and the decoy code harmless.

21. The non-transitory computer-readable media of claim 19 , wherein the one or more instructions, when executed by the one or more hardware processors, further cause the one or more hardware processors to:

receive a notification from the monitoring code that the interaction between the malicious code and the decoy code was detected.

22. The non-transitory computer-readable media of claim 19 , wherein the one or more instructions, when executed by the one or more hardware processors, further cause the one or more hardware processors to:

detect a change to the decoy code caused by interaction between the malicious code and the decoy code.

23. The non-transitory computer-readable media of claim 22 , wherein detecting the change to the decoy code comprises:

receiving sample web page code from the client device comprising elements of the decoy code at the client device;

comparing the sample web page code to reference web page code comprising original elements of the decoy code added to the web page code; and

determining that the sample web page code does not match the reference web page code.

24. The non-transitory computer-readable media of claim 19 , wherein the decoy code is configured to be obscured when the modified web page code is rendered on a browser executing on the client 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 Sep 22, 2015
From: ZHAO, YAO; WANG, XINRAN
To: SHAPE SECURITY, INC.
Reel/Frame 036626/0852 →
Continuity (1)
Provisional Application 62054295 · Sep 23, 2014