IP Library Granted Patent US 11,356,470
Granted Patent B2
US 11,356,470 · App. 17/019,730 · Granted Jun 7, 2022

Method and system for determining network vulnerabilities

Inventor: Anton Dmitrievich Kuzmin (Snezhinsk, RU)
Assignee: GROUP IB TDS, LTD
H04L63/1433G06F9/4881G06F16/955H04L41/0631H04L61/1511
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,356,470
App. No.
17/019,730
Granted
Jun 7, 2022
Kind
B2
Abstract

A method and a system for determining vulnerabilities on a network are provided. The method comprises: receiving data indicative of a first network architecture element; determining, based on the data, a respective one of a plurality of predetermined task templates, the respective one of the plurality of predetermined task templates including one or more tasks for identifying respective vulnerabilities associated with the first network architecture element; in response to identifying, based on the respective one of the plurality of predetermined task templates, at least one vulnerability associated with the first network architecture element, the at least one vulnerability providing access to a second network architecture element associated with the first network architecture element: determining data indicative of the second network architecture element; and using the data indicative of the second network architecture element for identifying further vulnerabilities on the network.

Claims (60)

1. A method for determining vulnerabilities on a network, the method being executable by a processor, the method comprising:

receiving, by the processor, data indicative of a first network architecture element;

determining, by the processor, based on the data indicative of the first network architecture element, a respective one of a plurality of predetermined task templates,

the respective one of the plurality of predetermined task templates including one or more tasks executable for identifying respective vulnerabilities associated with the first network architecture element;

in response to identifying, based on the respective one of the plurality of predetermined task templates, at least one vulnerability associated with the first network architecture element, the at least one vulnerability providing access to a second network architecture element associated with the first network architecture element:

determining, by the processor, data indicative of the second network architecture element;

storing, by the processor, the data indicative of the second network architecture element in a database; and

using, by the processor, the data indicative of the second network architecture element for identifying further vulnerabilities on the network.

2. The method of claim 1 , wherein the first network architecture element is associated with a first network architecture element type comprising at least one of: an IP address, a website, a Uniform Resource Locator (URL), a domain name, and a network port.

3. The method of claim 2 , wherein, if the first network architecture element type is the domain name, the method further comprises verifying, by the processor, availability of the domain name using a WHOIS web service.

4. The method of claim 3 , wherein the method further comprises determining, by the processor, using the WHOIS web service, registration data associated with an owner of the domain name.

5. The method of claim 3 , the verifying the availability of the domain name further comprises analyzing, by the processor, data responsive to requests for random subdomain names associated with the domain name.

6. The method of claim 2 , wherein, if the first network architecture element type is the website, the method further comprises verifying, by the processor, availability of the website, the verifying comprising establishing a connection with the website, the connection being one of a direct connection and a connection via a proxy server.

7. The method of claim 2 , wherein if the first network architecture element type is the URL, the method further comprises verifying availability of the URL, the verifying comprising transmitting, by the processor, at least one request to a webserver associated with the URL, and the verifying further comprising at least one of: analyzing a response code of a response received from the webserver associated with the URL; a content associated with the response; a header of the response; and a type of the URL, wherein the type of the URL is associated with one of a file, a directory, and underdetermined.

8. The method of claim 7 , wherein the verifying the availability of the URL further comprises determining at least one of:

if the URL is responsive to requests for non-existing files;

if the URL is associated with a predetermined exclusion template;

if the webserver associated with the URL is configured to redirect the at least one request to at least one an other URL, and determining the at least one an other URL.

9. The method of claim 1 , wherein the data indicative of the first network architecture element is received from one of: a user input and the database.

10. The method of claim 1 , wherein the the respective one of the plurality of predetermined task templates is associated with a plurality of network architecture element types, to which the respective one of the plurality of predetermined task templates is applicable.

11. The method of claim 10 , wherein the one or more tasks comprise at least one of:

tasks for identifying subdomain names;

tasks for identifying URLs;

tasks for identifying open network ports;

tasks for retrieving information of at least one web service associated with the open network ports;

tasks for password mining for accessing the at least one web service associated with the open network ports; and

tasks for identifying vulnerabilities associated with the at least one web service.

12. The method of claim 1 , further comprising:

receiving, by the processor, the data indicative of the second network architecture element;

determining, by the processor, based on the data indicative of the second network architecture element, an other one of the plurality of predetermined task templates,

the other one of the plurality of predetermined task templates including one or more tasks executable for identifying respective vulnerabilities associated with the second network architecture element;

in response to identifying, based on the other one of the plurality of predetermined task templates, at least one vulnerability associated with the second network architecture element, the at least one vulnerability providing access to a third network architecture element associated with the second network architecture element:

determining, by the processor, data indicative of the third network architecture element;

storing, by the processor, the data indicative of the third network architecture element in the database; and

using, by the processor, the data indicative of the third network architecture element for identifying further vulnerabilities on the network.

13. The method of claim 12 , further comprising iteratively repeating at least the steps of the receiving data and the determining a predetermined task template until no further vulnerability is identified.

14. The method of claim 13 , further comprising generating, at each iteration, an intermediate report including data of vulnerabilities having been identified on the network.

15. The method of claim 12 , wherein the other one of the plurality of predetermined task templates is a same as the respective one of the plurality of predetermined task templates.

16. The method of claim 12 , wherein the other one of the plurality of predetermined task templates is at least partially different from the respective one of a plurality of predetermined task templates.

17. A system for determining vulnerabilities on a network, the system comprising a computing device, the computing device further comprising:

a processor;

a non-transitory computer-readable medium comprising instructions;

the processor, upon executing the instructions, being configured to:

receive data indicative of a first network architecture element;

determine based on the data indicative of the first network architecture element, a respective one of a plurality of predetermined task templates,

the respective one of the plurality of predetermined task templates including one or more tasks executable for identifying respective vulnerabilities associated with the first network architecture element;

in response to identifying, based on the respective one of the plurality of predetermined task templates, at least one vulnerability associated with the first network architecture element, the at least one vulnerability providing access to a second network architecture element associated with the first network architecture element:

determine data indicative of the second network architecture element;

store the data indicative of the second network architecture element in a database; and

use the data indicative of the second network architecture element for identifying further vulnerabilities on the network.

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

receive the data indicative of the second network architecture element;

determine, based on the data indicative of the second network architecture element, an other one of the plurality of predetermined task templates,

the other one of the plurality of predetermined task templates including one or more tasks executable for identifying respective vulnerabilities associated with the second network architecture element;

in response to identifying, based on the other one of the plurality of predetermined task templates, at least one vulnerability associated with the second network architecture element, the at least one vulnerability providing access to a third network architecture element associated with the second network architecture element:

determine data indicative of the third network architecture element;

store the data indicative of the third network architecture element in the database; and

use the data indicative of the third network architecture element for identifying further vulnerabilities on the network.

19. The system of claim 18 , wherein the processor is further configured to iteratively repeat at least the steps of the receiving data and the determining a predetermined task template until no further vulnerability is identified.

20. The system of claim 19 , wherein the processor is further configured to generate, at each iteration, an intermediate report including data of vulnerabilities having been identified on the network.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2025
From: F.A.C.C.T. NETWORK SECURITY LLC
To: GROUP-IB GLOBAL PRIVATE LIMITED
Reel/Frame 071439/0078 →
CHANGE OF NAME Recorded Feb 7, 2024
From: GROUP IB TDS, LTD
To: F.A.C.C.T. NETWORK SECURITY LLC
Reel/Frame 066522/0741 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2020
From: KUZMIN, ANTON DMITRIEVICH
To: GROUP IB TDS, LTD
Reel/Frame 053763/0696 →
Priority Claims (1)
RU RU2019142440 · Dec 19, 2019 · national
Continuity (1)
Related Publication 20210194914A1 · Jun 24, 2021