IP Library Granted Patent US 11,170,100
Granted Patent B2
US 11,170,100 · App. 16/134,584 · Granted Nov 9, 2021

Systems and methods for detecting and addressing HTML-modifying malware

Inventors: Ivan Dario Fajardo Verano (Bogota, CO); Claudio Deiro (Bogota, CO); Javier Fernando Vargas Gonzalez (Bogota D.C., CO)
Assignee: Easy Solutions Enterprises Corp.
G06F21/55G06F21/562H04L63/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 11,170,100
App. No.
16/134,584
Granted
Nov 9, 2021
Kind
B2
Abstract

Techniques to remotely detect behavior associated with malware and identify compromised user-sessions, regardless of the malware variant or family, and independently of the page structure.

Claims (48)

1. A method, comprising:

during a training phase, generating, by a server computing device, one or more patterns of web page elements, wherein the web page elements comprise text strings of a web page document, wherein the server computing device generates the one or more patterns based on the text strings of the web page document received in a state-report from a training machine, the one or more patterns associated with non-modified web page states, wherein the server computing device maintains a list of expected IP addresses, and the server computing device determines the state-report comprises an adequate header by comparing a header of the state-report to the list of expected IP addresses;

communicating, by the server computing device over a network, with a code module embedded in a web page that is being presented on a client computing device, wherein the code module is configured to collect data related to the web page in which the code module is embedded;

receiving, by the server computing device from the code module embedded in the web page that is being presented on the client computing device, the data related to the web page presented on the client computing device;

comparing, by the server computing device, the data received from the code module embedded in the web page to the generated one or more patterns of web page elements, including one or more of:

the one or more patterns associated with non-modified web page states;

one or more patterns associated with malicious web page states;

one or more patterns associated with innocuous web page modifications;

or any combination thereof;

identifying, by the server computing device based on the comparing of the data from the code module and the generated one or more patterns of web page elements, a risk of the web page having been modified by malware; and

updating, based on the identifying of the risk of the web page having been modified by malware, at least one of the generated one or more patterns of web page elements.

2. The method of claim 1 , further comprising: embedding, by the server computing device, the code module into the web page by inserting a loader module into the web page, wherein when executed, the loader module embeds the code module into the web page.

3. The method of claim 2 , wherein the data related to the web page includes a subset of elements present in the web page.

4. The method of claim 2 , wherein the data related to the web page includes at least one of an identifier, a styling detail, a nesting detail, a location of an element within the web page, an element that requests a user of the client computing device to enter data, or a script element, or a combination thereof.

5. The method of claim 2 , further comprising: configuring, by the server computing device, the code module to retrieve the data related to the web page based on one or more selected page elements.

6. The method of claim 5 , wherein the one or more selected page elements include one or more editable elements.

7. The method of claim 5 , wherein the one or more selected page elements include a script tag.

8. The method of claim 1 , wherein the risk of the web page having been modified by malware is identified based on a presence, in the web page, of an element that is absent from the generated one or more patterns.

9. The method of claim 1 , wherein the generating one or more patterns of web page elements comprises generating a pattern associated with a new version of a web page.

10. The method of claim 1 , wherein the generating one or more patterns of web page elements comprises generating the one or more patterns associated with malicious web page states.

11. The method of claim 1 , wherein the generating one or more patterns of web page elements comprises generating a pattern associated with malware performing an injection to a web page.

12. The method of claim 1 , wherein the generating one or more patterns of web page elements comprises generating the one or more patterns associated with innocuous web page modifications.

13. The method of claim 1 , wherein the generating one or more patterns of web page elements comprises generating a pattern associated with an extension and a plug-in for a web page.

14. The method of claim 1 , further comprising: generating an alert associated with the web page in response to the risk meets or exceeds a predetermined threshold.

15. A server computing device, comprising:

a processor; and

memory coupled to the processor and storing instructions that, when executed by the processor, cause the server computing device to:

generate one or more patterns of web page elements during a training phase, wherein the web page elements comprise text strings of a web page document, wherein the one or more patterns are based on the text strings of the web page document received in a state-report from a training machine, the one or more patterns associated with non-modified web page states, determining the state-report comprises an adequate header by comparing a header of the state-report to a list of expected IP addresses;

communicate, over a network, with a code module embedded in a web page that is being presented on a client computing device, wherein the code module is configured to collect data related to the web page in which the code module is embedded;

receive, from the code module embedded in the web page that is being presented on the client computing device, the data related to the web page presented on the client computing device;

compare the data received from the code module embedded in the web page to the generated one or more patterns of web page elements to determine whether the generated one or more patterns of web page elements is present in the data received from the code module, including one or more of:

the one or more patterns associated with non-modified web page states;

one or more patterns associated with malicious web page states;

one or more patterns associated with innocuous web page modifications;

or any combination thereof;

identify, based on the comparing of the data from the code module and the generated one or more patterns of web page elements, a risk of the web page having been modified by malware; and

update, based on the identifying of the risk of the web page having been modified by malware, at least one of the generated one or more patterns of web page elements.

16. A tangible, non-transitory computer-readable medium storing instructions that, when executed by a server computing device, cause the server computing device to perform a method, the method comprising:

during a training phase, generating, by the server computing device, one or more patterns of web page elements, wherein the web page elements comprise text strings of a web page document, wherein the server computing device generates the one or more patterns based on the text strings of the web page document received in a state-report from a training machine, the one or more patterns associated with non-modified web page states, wherein the server computing device maintains a list of expected IP addresses, and the server computing device determines the state-report comprises an adequate header by comparing a header of the state-report to the list of expected IP addresses;

communicating, by the server computing device over a network, with a code module embedded in a web page that is being presented on a client computing device, wherein the code module is configured to collect data related to the web page in which the code module is embedded;

receiving, by the server computing device from the code module embedded in the web page that is being presented on the client computing device, the data related to the web page presented on the client computing device;

comparing, by the server computing device, the data received from the code module embedded in the web page to the generated one or more patterns of web page elements, including one or more of:

the one or more patterns associated with non-modified web page states;

one or more patterns associated with malicious web page states;

one or more patterns associated with innocuous web page modifications;

or any combination thereof;

identifying, by the server computing device based on the comparing of the data from the code module and the generated one or more patterns of web page elements, a risk of the web page having been modified by malware; and

updating, based on the identifying of the risk of the web page having been modified by malware, at least one of the generated one or more patterns of web page elements.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Jul 12, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
To: APPGATE CYBERSECURITY, INC.; CRYPTZONE NORTH AMERICA INC.; EASY SOLUTIONS ENTERPRISES CORP.; CATBIRD NETWORKS, INC.
Reel/Frame 068311/0970 →
RELEASE OF SECURITY INTEREST Recorded Jul 12, 2024
From: SIS HOLDINGS, L.P.
To: APPGATE CYBERSECURITY, INC.; CRYPTZONE NORTH AMERICA INC.; EASY SOLUTIONS ENTERPRISES CORP.; CATBIRD NETWORKS, INC.
Reel/Frame 068312/0011 →
RELEASE OF SECURITY INTEREST Recorded Jul 12, 2024
From: APPGATE FUNDING, LLC
To: APPGATE CYBERSECURITY, INC.; CRYPTZONE NORTH AMERICA INC.; EASY SOLUTIONS ENTERPRISES CORP.; CATBIRD NETWORKS, INC.
Reel/Frame 068311/0570 →
SECURITY INTEREST Recorded Aug 22, 2023
From: APPGATE CYBERSECURITY, INC.; CRYPTZONE NORTH AMERICA INC.; EASY SOLUTIONS ENTERPRISES CORP.; CATBIRD NETWORKS, INC.
To: APPGATE FUNDING, LLC
Reel/Frame 064672/0383 →
SECURITY INTEREST Recorded Jul 6, 2023
From: APPGATE CYBERSECURITY, INC.; CRYPTZONE NORTH AMERICA INC.; EASY SOLUTIONS ENTERPRISES CORP.; CATBIRD NETWORKS, INC.
To: SIS HOLDINGS, L.P.
Reel/Frame 064461/0539 →
SECURITY INTEREST Recorded Jun 10, 2023
From: APPGATE CYBERSECURITY, INC.; CRYPTZONE NORTH AMERICA INC.; EASY SOLUTIONS ENTERPRISES CORP.; CATBIRD NETWORKS, INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 063956/0470 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2018
From: FAJARDO VERANO, IVAN DARIO; DEIRO, CLAUDIO; VARGAS GONZALEZ, JAVIER FERNANDO
To: EASY SOLUTIONS ENTERPRISES CORP.
Reel/Frame 046903/0042 →
Continuity (4)
Continuation 15697328 · Sep 6, 2017
Continuation 14716684 · May 19, 2015
Provisional Application 62111560 · Feb 3, 2015
Related Publication 20190018954A1 · Jan 17, 2019