IP Library Granted Patent US 11,283,816
Granted Patent B2
US 11,283,816 · App. 16/579,302 · Granted Mar 22, 2022

Hierarchical scanning of internet connected assets

Inventors: Connor Leete Gilbert (San Francisco, CA); Michael Haggblade (San Bruno, CA)
Assignee: Palo Alto Networks, Inc.
H04L63/1416H04L63/0236H04L63/0245H04L63/0428H04L63/1433H04L63/20H04L63/205H04L69/169
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,283,816
App. No.
16/579,302
Granted
Mar 22, 2022
Kind
B2
Abstract

Hierarchical scanning begins with communicating probes over the Internet to ports and networks addresses to determine publicly accessible devices. Based on responses to those probes, follow-up probes are determined to obtain additional information about the publicly accessible devices. The probes are transmitted from a system that is external to the networks corresponding to the network addresses. This provides an external view of the scanned networks and facilitates a probing paradigm that scales beyond a few networks.

Claims (37)

1. A method comprising:

communicating probing payloads to a plurality of ports of a plurality of network addresses to determine publicly accessible devices, wherein said communicating is over the Internet and from a system that is external to one or more networks corresponding to the plurality of network addresses;

based on receiving responses to at least a subset of the probing payloads, determining, for each of the responses that indicates an active port and corresponding one of the plurality of network addresses, a follow-up probe to establish either an encrypted connection or an unencrypted connection depending upon the response;

communicating the follow-up probes to the publicly accessible devices corresponding to the active ports and corresponding network addresses; and

updating a network information database with those of the plurality of network addresses corresponding to the publicly accessible devices and updating the network information database based, at least partly, on the responses to the probing payloads from the publicly accessible devices and responses to the follow-up probes.

2. The method of claim 1 , further comprising:

receiving an indication of a security flaw;

searching the network information database for a device corresponding to the indication of the security flaw; and

based on finding a device corresponding to the indication of the security flaw, identifying a security action based on the security flaw and information in the network information database associated with the device.

3. The method of claim 1 further comprising receiving an indication to scan, wherein the indication to scan indicates the plurality of ports and the plurality of network addresses, wherein communicating the probing payload is based on the indication to scan.

4. The method of claim 3 , wherein the indication to scan also indicates a service and wherein the communicated probing payloads probe for the service.

5. The method of claim 3 further comprising determining a probing payload to communicate as the probing payloads in a payload database based on the indication to scan, wherein the indication to scan also indicates at least one of device type and information to obtain.

6. The method of claim 1 , wherein determining the follow-up probe is also based on looking up the follow-up probe in a table that associates services with follow-up probes.

7. A system comprising:

a processor;

a network interface; and

one or more computer-readable medium having instructions stored thereon, the instructions executable by the processor to cause the system to, communicate, via the network interface, probing payloads to a plurality of ports of a plurality of network addresses to determine publicly accessible devices, wherein the system is external to each network corresponding to the plurality of network addresses;

based on receipt of responses to at least a subset of the probing payloads, determine, for each of the responses that indicates an active port and corresponding one of the plurality of network addresses, a follow-up probe to establish either an encrypted connection or an unencrypted connection depending upon the response;

communicate, via the network interface, the follow-up probes to each of the publicly accessible devices corresponding to the active ports and corresponding network addresses; and

update a network information database with those of the plurality of network addresses corresponding to the publicly accessible devices and update the network information database based, at least partly, on the responses to the probing payloads from the publicly accessible devices and responses to the follow-up probes.

8. The system of claim 7 , wherein the system comprises the network information database.

9. The system of claim 7 , wherein the computer-readable medium further has instructions executable by the processor to cause the system to:

search the network information database for a device corresponding to an indication of a security flaw; and

based on finding a device corresponding to the indication of the security flaw, identify a security action based on the security flaw and information in the network information database associated with the device.

10. The system of claim 7 , wherein the computer-readable medium further has instructions executable by the processor to cause the system to receive an indication to scan via a scanning interface, wherein the indication to scan indicates the plurality of ports and the plurality of network addresses, wherein the instructions to communicate the probing payloads are executed based on the indication to scan.

11. The system of claim 10 , wherein the indication to scan also indicates a service and wherein the communicated probing payloads probe for the service.

12. The system of claim 10 wherein the computer-readable medium further has instructions executable by the processor to cause the system to determine a probing payload to communicate as at least some of the probing payloads in a payload database based on the indication to scan, wherein the indication to scan also indicates at least one of device type and information to obtain.

13. The system of claim 7 , wherein the one or more computer- readable medium also has stored therein a table that associates services with follow-up probes, wherein the instructions to determine the follow-up probe comprise the instructions executable by the processor to cause the system to look up the service in the table to determine the follow-up probe.

14. A non-transitory computer readable medium having program code stored thereon, the computer program comprising instructions to:

communicate probing payloads to a plurality of ports of a plurality of network addresses to determine publicly accessible devices;

based on receipt of responses to at least a subset of the probing payloads, determine for each response that indicates an active port and corresponding one of the plurality of network addresses a follow-up probe to establish either an encrypted connection or an unencrypted connection depending upon the response;

communicate the follow-up probes to the publicly accessible devices corresponding to the active ports and corresponding ones of the plurality of network addresses; and

update a network information database with those of the plurality of network addresses corresponding to the publicly accessible devices and update the network information database based, at least partly, on the responses to the probing payloads from the publicly accessible devices and responses to the follow-up probes.

15. The non-transitory computer readable medium of claim 14 , wherein the computer program further comprises instructions to receive an indication to scan via a scanning interface, wherein the indication to scan indicates the plurality of ports and the plurality of network addresses.

16. The non-transitory computer readable medium of claim 15 , wherein the indication to scan also indicates a service and wherein the communicated probing payloads probe for the service.

17. The non-transitory computer readable medium of claim 15 , wherein the computer program further comprises instructions to determine a probing payload to communicate as at least some of the probing payloads in a payload database based on at least one of device type and information to obtain also indicated in the indication to scan.

18. The non-transitory computer readable medium of claim 14 wherein the instructions to determine the follow-up probe comprise instructions to look up a service in a table to determine the follow-up probe for a first of the responses that indicates the service, wherein the table associates services with follow-up probes.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2021
From: EXPANSE, LLC
To: PALO ALTO NETWORKS, INC.
Reel/Frame 056379/0222 →
CHANGE OF NAME Recorded May 24, 2021
From: EXPANSE, INC.
To: EXPANSE, LLC.
Reel/Frame 056355/0769 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2019
From: GILBERT, CONNOR LEETE; HAGGBLADE, MICHAEL
To: QADIUM, INC.
Reel/Frame 050464/0936 →
CHANGE OF NAME Recorded Sep 23, 2019
From: QADIUM, INC.
To: EXPANSE, INC.
Reel/Frame 050465/0685 →
Continuity (2)
Continuation 15136620 · Apr 22, 2016
Related Publication 20200092309A1 · Mar 19, 2020