IP Library › Granted Patent US 12,032,689
Granted Patent B2
US 12,032,689 · App. 17/550,093 · Granted Jul 9, 2024

Systems and methods for preventing zero-day attacks

Inventors: Igor Seletskiy (Palo Alto, CA); Serhii Brazhnyk (Odessa, UA)
Assignee: Cloud Linux Software Inc.
G06F21/554G06F21/54G06F21/566G06F21/577G06F2221/033
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 12,032,689
App. No.
17/550,093
Filed
Dec 14, 2021
Granted
Jul 9, 2024
Kind
B2
Art Unit
2493
USPC
726/23
Abstract

Disclosed herein are systems and method for preventing zero-day attacks. A method may include receiving a first report including information about an execution of a first script of an application that modifies a file on a first computing device, and receiving a second report including an indication that the file includes malicious code. In response to determining that an identifier of the file is present in both the first report and the second report, the method may include generating and transmitting, to the first computing device, a first rule that prevents execution of any script that shares at least one operation of the first script. The method may include, in response to determining that a vulnerability detected by the first rule is not present in a vulnerability database, generating an entry in the vulnerability database for the vulnerability as a zero-day vulnerability and transmitting an alert to the application developer.

Claims (71)

1. A method for preventing zero-day attacks, the method comprising:

receiving a first report comprising information about an execution of a first script on a first computing device, wherein the first script creates or modifies a file on the first computing device and wherein the first report comprises a first list of operations involved in the execution of the first script, an identifier of the first script, and an identifier of the file;

receiving a second report comprising an indication that the file includes malicious code and the identifier of the file;

in response to determining that identifier of the file is present in both the first report and the second report, generating and transmitting, to the first computing device, a first rule that prevents execution of any script that shares at least one operation in the first list of operations with the first script;

identifying, on the first computing device, an application that comprises the first script;

determining whether a vulnerability detected by the first rule is present in a vulnerability database;

in response to determining that the vulnerability is not present in the vulnerability database, generating an entry in the vulnerability database for the vulnerability as a zero-day vulnerability; and

transmitting an alert to a developer of the application reporting the zero-day vulnerability.

2. The method of claim 1 , wherein the alert requests a patch to fix the zero-day vulnerability.

3. The method of claim 2 , further comprising:

receiving, from the developer, the patch that resolves the zero-day vulnerability in the application;

updating the entry in the vulnerability database to indicate a version identifier of the application that resolves the zero-day vulnerability.

4. The method of claim 1 , further comprising:

identifying a version of the application;

determining whether the version is a latest version of the application;

in response to determining that the version is not the latest version, determining whether the zero-day vulnerability is present in the latest version of the application; and

in response to determining that the zero-day vulnerability is not present in the latest version, transmitting an alert to the first computing device to install the latest version of the application.

5. The method of claim 4 , wherein determining whether the zero-day vulnerability is present in the latest version comprises:

determining whether the zero-day vulnerability is detected using the first rule on the latest version of the application.

6. The method of claim 1 , further comprising:

in response to determining that the vulnerability is present in the vulnerability database, identifying a version of the application installed on the first computing device; and

in response to determining that the vulnerability database indicates that the version of the application resolves the vulnerability, transmitting an alert to the developer of the application indicating that the vulnerability has not been resolved in the version.

7. The method of claim 6 , further comprising:

in response to determining that the vulnerability database indicates that the version of the application does not resolve the vulnerability, identifying a newer version of the application that does not have the vulnerability; and

transmitting an alert to the first computing device to install the newer version of the application.

8. The method of claim 1 , further comprising:

transmitting the first rule to a plurality of computing devices including the first computing device;

monitoring an amount of times the vulnerability is detected using the first rule across the plurality of computing devices;

wherein transmitting the alert to the developer of the application reporting the zero-day vulnerability is in response to determining that the amount of times exceeds a threshold vulnerability count.

9. The method of claim 1 , wherein the first computing device is configured to block, based on the first rule, complete execution of scripts that involve at least one operation in the first list of operations on the first computing device.

10. The method of claim 1 , wherein the first script is a PHP script.

11. A system for blocking malicious script execution, the system comprising:

a memory; and

a hardware processor communicatively coupled with the memory and configured to:

receive a first report comprising information about an execution of a first script on a first computing device, wherein the first script creates or modifies a file on the first computing device and wherein the first report comprises a first list of operations involved in the execution of the first script, an identifier of the first script, and an identifier of the file;

receive a second report comprising an indication that the file includes malicious code and the identifier of the file;

in response to determining that identifier of the file is present in both the first report and the second report, generate and transmit, to the first computing device, a first rule that prevents execution of any script that shares at least one operation in the first list of operations with the first script;

identify, on the first computing device, an application that comprises the first script;

determine whether a vulnerability detected by the first rule is present in a vulnerability database;

in response to determining that the vulnerability is not present in the vulnerability database, generate an entry in the vulnerability database for the vulnerability as a zero-day vulnerability; and

transmit an alert to a developer of the application reporting the zero-day vulnerability.

12. The system of claim 11 , wherein the alert requests a patch to fix the zero-day vulnerability.

13. The system of claim 12 , wherein the hardware processor is further configured to:

receive, from the developer, the patch that resolves the zero-day vulnerability in the application;

update the entry in the vulnerability database to indicate a version identifier of the application that resolves the zero-day vulnerability.

14. The system of claim 11 , wherein the hardware processor is further configured to:

identify a version of the application;

determine whether the version is a latest version of the application;

in response to determining that the version is not the latest version, determine whether the zero-day vulnerability is present in the latest version of the application; and

in response to determining that the zero-day vulnerability is not present in the latest version, transmit an alert to the first computing device to install the latest version of the application.

15. The system of claim 14 , wherein the hardware processor is further configured to determine whether the zero-day vulnerability is present in the latest version by:

determining whether the zero-day vulnerability is detected using the first rule on the latest version of the application.

16. The system of claim 11 , wherein the hardware processor is further configured to:

in response to determining that the vulnerability is present in the vulnerability database, identify a version of the application installed on the first computing device; and

in response to determining that the vulnerability database indicates that the version of the application resolves the vulnerability, transmit an alert to the developer of the application indicating that the vulnerability has not been resolved in the version.

17. The system of claim 16 , wherein the hardware processor is further configured to:

in response to determining that the vulnerability database indicates that the version of the application does not resolve the vulnerability, identify a newer version of the application that does not have the vulnerability; and

transmit an alert to the first computing device to install the newer version of the application.

18. The system of claim 11 , wherein the hardware processor is further configured to:

transmit the first rule to a plurality of computing devices including the first computing device;

monitor an amount of times the vulnerability is detected using the first rule across the plurality of computing devices;

wherein transmitting the alert to the developer of the application reporting the zero-day vulnerability is in response to determining that the amount of times exceeds a threshold vulnerability count.

19. The system of claim 11 , wherein the first computing device is configured to block, based on the first rule, complete execution of scripts that involve at least one operation in the first list of operations on the first computing device.

20. A non-transitory computer readable medium storing thereon computer executable instructions for preventing zero-day attacks, including instructions for:

receiving a first report comprising information about an execution of a first script on a first computing device, wherein the first script creates or modifies a file on the first computing device and wherein the first report comprises a first list of operations involved in the execution of the first script, an identifier of the first script, and an identifier of the file;

receiving a second report comprising an indication that the file includes malicious code and the identifier of the file;

in response to determining that identifier of the file is present in both the first report and the second report, generating and transmitting, to the first computing device, a first rule that prevents execution of any script that shares at least one operation in the first list of operations with the first script;

identifying, on the first computing device, an application that comprises the first script;

determining whether a vulnerability detected by the first rule is present in a vulnerability database;

in response to determining that the vulnerability is not present in the vulnerability database, generating an entry in the vulnerability database for the vulnerability as a zero-day vulnerability; and

transmitting an alert to a developer of the application reporting the zero-day vulnerability.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2021
From: SELETSKIY, IGOR; BRAZHNYK, SERHII
To: CLOUD LINUX SOFTWARE, INC.
Reel/Frame 058381/0321 →
Continuity (2)
Continuation In Part 17389523 · Jul 30, 2021
Related Publication 20230049789A1 · Feb 16, 2023