IP Library Granted Patent US 11,968,235
Granted Patent B2
US 11,968,235 · App. 17/589,774 · Granted Apr 23, 2024

System and method for cybersecurity analysis and protection using distributed systems

Inventors: Jason Crabtree (Vienna, VA); Michael James (Independence, MO); Andrew Sellers (Monument, CO); Farooq Shaikh (Reston, VA)
Assignee: QOMPLX LLC
H04L63/20G06F16/2477G06F16/951H04L61/4511H04L63/0236H04L63/1425H04L63/1433H04L63/1441H04L63/0281H04L63/1416H04L63/1475
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,968,235
App. No.
17/589,774
Granted
Apr 23, 2024
Kind
B2
Abstract

A system and method for cybersecurity reconnaissance, analysis, and scoring that uses distributed, cloud-based computing services to provide sufficient scalability for analysis of enterprise IT networks using only publicly available characterizations. The system and method comprise an in-memory associative array which manages a queue of vulnerability search tasks through a public-facing proxy network. The public-facing proxy network has search nodes configurable to present the network to search tools in a desired manner to control certain aspects of the search to obtain the desired results. A distributed data processing engine and cloud-based storage are used to provide scalable computing power and storage. A data packet modifier is used to reveal the IP address of a threat actor behind a port scan and subsequently block the threat actor. Each of the cloud-based computing services is containerized and orchestrated for management and efficient scaling purposes.

Claims (39)

1. A system for cybersecurity analysis and protection using distributed computing services, comprising:

a cloud computing platform comprising a hardware memory, a hardware processor, and a non-volatile storage device;

an in-memory associative array stored in the hardware memory;

a cloud-based storage bin stored on the non-volatile storage device;

a proxy server operating on the cloud computing platform configured to act as a public-facing proxy network, the public-facing proxy network comprising one or more selectable attribute nodes;

a user application comprising a first plurality of programming instructions stored in the memory which, when operating on the processor, causes the cloud computing platform to:

receive a domain name for reconnaissance and scoring;

create a first queue of Internet search tasks for the domain name using an in-memory associative array service, the search tasks comprising searches for, and receipt of search results for, one or more domain name system records;

implement the first queue of Internet search tasks through the one or more selectable attribute nodes of the public-facing proxy network;

identify Internet protocol addresses associated with the domain name from the one or more domain name system records;

create a second queue of Internet protocol address scanning tasks for the identified Internet protocol addresses, the scanning tasks comprising an open port scan for each Internet protocol address identified and a vulnerability scan for each open port;

implement the second queue of Internet protocol address scanning tasks and receive a list of open ports, associated vulnerabilities, and a baseline and service fingerprint profile for the domain name;

create a third queue of Internet protocol address scanning tasks for the identified Internet protocol addresses, the scanning tasks comprising a port scan detection task for each Internet protocol address identified;

implement the third queue of Internet protocol address scanning tasks wherein a data packet associated with a detected port scan is sent to a data packet modifier; and

store the search results received from the first queue of Internet search tasks and the list of open ports, associated vulnerabilities, and baseline and service fingerprint profile from the second queue of Internet protocol address scanning tasks;

a distributed data processing engine comprising a second plurality of programming instructions stored in the memory which, when operating on the processor, causes the cloud computing platform to:

receive a cybersecurity scoring model, the cybersecurity scoring model comprising category weights for the one or more domain name system records, the list of open ports, and associated vulnerabilities and further comprising an algorithm for combining the categories using the category weights;

calculate a cybersecurity score by applying the algorithm to the weighted categories; and

generate a cybersecurity portion of the baseline and service fingerprint profile for the domain name based on the cybersecurity score; and

the data packet modifier comprising a third plurality of programming instructions stored in the memory which, when operating on the processor, causes the cloud computing platform to:

receive the data packet associated with a detected port scan;

generate and send a reply data packet with a modified header, the modified header comprising a flag and a bad sequence number to compel a sniffing machine to return a response data packet, the response data packet revealing the sniffing machine's Internet protocol address; and

block the sniffing machine's Internet protocol address.

2. A method for cybersecurity analysis and protection using distributed computing services, comprising the steps of:

receiving a domain name for reconnaissance and scoring;

creating a first queue of Internet search tasks for a domain name using an in-memory associative array service, the search tasks comprising searches for, and receipt of search results for, one or more domain name system records;

implementing the first queue of Internet search tasks through one or more selectable attribute nodes of a public-facing proxy network;

identifying Internet protocol addresses associated with the domain name from the one or more domain name system records;

creating a second queue of Internet protocol address scanning tasks for the identified Internet protocol addresses, the scanning tasks comprising an open port scan for each Internet protocol address identified and a vulnerability scan for each open port;

implementing the second queue of Internet protocol address scanning tasks and receiving a list of open ports, associated vulnerabilities, and a baseline and service fingerprint profile for the domain name;

creating a third queue of Internet protocol address scanning tasks for the identified Internet protocol addresses, the scanning tasks comprising a port scan detection task for each Internet protocol address identified;

implementing the third queue of Internet protocol address scanning tasks wherein a data packet associated with a detected port scan is sent to a data packet modifier;

storing the search results received from the first queue of Internet search tasks and the list of open ports, associated vulnerabilities, and baseline and service fingerprint profile from the second queue of Internet protocol address scanning tasks;

receiving a cybersecurity scoring model, the cybersecurity scoring model comprising category weights for the one or more domain name system records, the list of open ports, and associated vulnerabilities and further comprising an algorithm for combining the categories using the category weights;

calculating a cybersecurity score by applying the algorithm to the weighted categories;

generating a cybersecurity portion of the baseline and service fingerprint profile for the domain name based on the cybersecurity score;

receiving at the data packet modifier the data packet associated with a detected port scan;

generating and sending a reply data packet with a modified header, the modified header comprising a flag and bad sequence number to compel a sniffing machine to return a response data packet, the response data packet revealing the sniffing machine's Internet protocol address; and

blocking the sniffing machine's Internet protocol address.

Assignments (5)
CHANGE OF ADDRESS Recorded Oct 1, 2024
From: QOMPLX LLC
To: QOMPLX LLC
Reel/Frame 069083/0279 →
CHANGE OF NAME Recorded Sep 27, 2023
From: QPX LLC
To: QOMPLX LLC
Reel/Frame 065036/0449 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY PREVIOUSLY RECORDED AT REEL: 064674 FRAME: 0408. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 20, 2023
From: QOMPLX, INC.
To: QPX LLC
Reel/Frame 064966/0863 →
PATENT ASSIGNMENT AGREEMENT TO ASSET PURCHASE AGREEMENT Recorded Aug 23, 2023
From: QOMPLX, INC.
To: QPX, LLC.
Reel/Frame 064674/0407 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2022
From: CRABTREE, JASON; JAMES, MICHAEL; SELLERS, ANDREW; SHAIKH, FAROOQ
To: QOMPLX, INC.
Reel/Frame 060077/0763 →
Continuity (20)
Continuation In Part 16887304 · May 29, 2020
Continuation In Part 16837551 · Apr 1, 2020
Continuation In Part 16777270 · Jan 30, 2020
Continuation In Part 16720383 · Dec 19, 2019
Continuation 15823363 · Nov 27, 2017
Continuation In Part 15818733 · Nov 20, 2017
Continuation In Part 15725274 · Oct 4, 2017
Continuation In Part 15725274 · Oct 4, 2017
Continuation In Part 15655113 · Jul 20, 2017
Continuation In Part 15616427 · Jun 7, 2017
Continuation In Part 15237625 · Aug 15, 2016
Continuation In Part 15206195 · Jul 8, 2016
Continuation In Part 15186453 · Jun 18, 2016
Continuation In Part 15166158 · May 26, 2016
Continuation In Part 15141752 · Apr 28, 2016
Continuation In Part 15091563 · Apr 5, 2016
Continuation In Part 14986536 · Dec 31, 2015
Continuation In Part 14925974 · Oct 28, 2015
Continuation In Part 14925974 · Oct 28, 2015
Related Publication 20220232042A1 · Jul 21, 2022