IP Library Granted Patent US 11,108,805
Granted Patent B2
US 11,108,805 · App. 16/020,865 · Granted Aug 31, 2021

Automated packetless network reachability analysis

Inventors: Catherine Dodge (Seattle, WA); Nikhil Reddy Cheruku (Falls Church, VA); John Byron Cook (Brooklyn, NY); Temesghen Kahsai Azene (Union City, CA); William Jo Kocik (Charles Town, WV); Sean McLaughlin (Seattle, WA); Mark Edward Stalzer (Arlington, VA); Blake Whaley (Fairfax, VA); Yiwen Wu (Fairfax, VA)
Assignee: Amazon Technologies, Inc.
H04L63/1433G06F16/24564H04L41/0866H04L41/12H04L41/22H04L43/06H04L63/0272H04L63/1441
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,108,805
App. No.
16/020,865
Filed
Jun 27, 2018
Granted
Aug 31, 2021
Kind
B2
Examiner
LE, CHAU D
Art Unit
2493
USPC
726/25
Abstract

Methods, systems, and computer-readable media for automated packetless network reachability analysis are disclosed. An analysis is performed of network configuration data for a network comprising a host computer. Based at least in part on the analysis, one or more ports at the host computer that are reachable from another computer are determined. Based at least in part on the analysis, one or more routes to the one or more ports are determined. A report is generated that is descriptive of the one or more ports and the one or more routes.

Claims (43)

1. A system, comprising:

one or more computing devices configured to implement a network security evaluator, wherein the network security evaluator is configured to:

generate one or more queries of network configuration data for a network comprising a host computer, wherein the one or more queries are expressed in a query language, and wherein the one or more queries are generated based at least in part on a set of rules;

determine one or more ports at the host computer that are open and reachable from outside the network, wherein the one or more ports are determined based at least in part on results of the one or more queries of the network configuration data, without sending packets to the one or more ports as part of a port scan;

determine one or more processes that are listening on the one or more ports, wherein the one or more processes are determined using an agent installed on the host computer; and

generate a report descriptive of the one or more ports and the one or more processes.

2. The system as recited in claim 1 , wherein the network security evaluator is further configured to:

determine and report one or more routes to the one or more ports from outside the network.

3. The system as recited in claim 1 , wherein the network security evaluator is further configured to:

determine and report one or more configuration settings that cause the one or more ports to be open and reachable from outside the network.

4. The system as recited in claim 1 , wherein the network security evaluator is further configured to:

determine and report one or more corrective actions that, if performed, close one or more of the ports or make one or more of the ports unreachable from outside the network.

5. A computer-implemented method performed by one or more computing devices, comprising:

performing an analysis of network configuration data for a network comprising a computing device;

determining one or more ports at the computing device that are reachable from another computing device, wherein the one or more ports are determined based at least in part on the analysis of the network configuration data, without sending packets to the one or more ports as part of a port scan;

determining one or more routes to the one or more ports at the computing device, wherein the one or more routes are determined based at least in part on the analysis of the network configuration data, without sending packets to the one or more ports as part of a port scan; and

generating a report descriptive of the one or more ports and the one or more routes to the one or more ports at the computing device.

6. The method as recited in claim 5 , further comprising:

determining and reporting one or more processes that are listening on the one or more ports, wherein the one or more processes are determined using agent software installed on the computing device.

7. The method as recited in claim 5 , further comprising:

determining and reporting one or more configuration settings that cause the one or more ports to be reachable.

8. The method as recited in claim 5 , further comprising:

determining and reporting one or more corrective actions that, if performed, make one or more of the ports unreachable.

9. The method as recited in claim 8 , further comprising:

displaying, in a user interface, one or more interface elements that, if selected, cause at least one of the corrective actions to be performed.

10. The method as recited in claim 5 , wherein the analysis is performed based at least in part on one or more queries of the network configuration data, wherein the one or more queries are expressed in a query language, and wherein the one or more queries are generated based at least in part on a set of rules.

11. The method as recited in claim 5 , further comprising:

verifying the one or more ports being reachable by sending one or more packets to the one or more ports from an additional computing device.

12. A non-transitory computer-readable storage medium storing program instructions computer-executable to perform:

performing an analysis of network configuration data for a network comprising a host computer;

determining one or more ports at the host computer that are open and reachable from another computer, wherein the one or more ports are determined based at least in part on results of the analysis of the network configuration data, without sending packets to the one or more ports as part of a port scan;

determining one or more processes that are listening on the one or more ports, wherein the one or more processes are determined using an agent installed on the host computer; and

generating a report descriptive of the one or more ports and the one or more processes.

13. The non-transitory computer-readable storage medium as recited in claim 12 , wherein the program instructions are further computer-executable to perform:

determining and reporting one or more routes to the one or more ports at the host computer, wherein the one or more routes are determined based at least in part on results of the analysis of the network configuration data, without sending packets to the one or more ports as part of a port scan.

14. The non-transitory computer-readable storage medium as recited in claim 12 , wherein the program instructions are further computer-executable to perform:

determining and reporting one or more configuration settings that cause the one or more ports to be open and reachable.

15. The non-transitory computer-readable storage medium as recited in claim 12 , wherein the program instructions are further computer-executable to perform:

determining and reporting one or more corrective actions that, if performed, close one or more of the ports or make one or more of the ports unreachable.

16. The non-transitory computer-readable storage medium as recited in claim 15 , wherein the program instructions are further computer-executable to perform:

displaying, in a user interface, one or more interface elements that, if selected, cause at least one of the corrective actions to be performed.

17. The non-transitory computer-readable storage medium as recited in claim 12 , wherein the analysis is performed based at least in part on one or more queries of the network configuration data, wherein the one or more queries are expressed in a query language, and wherein the one or more queries are generated based at least in part on a set of rules.

18. The non-transitory computer-readable storage medium as recited in claim 12 , wherein an additional one or more open and reachable ports are excluded from the report based at least in part on a whitelist of trusted locations.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECT INVENTOR NAME FROM AZENE, TEMESGHEN KAHSAI TO KAHAI AZENE, TEMESGHEN PREVIOUSLY RECORDED ON REEL 046523 FRAME 0304. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 4, 2019
From: DODGE, CATHERINE; CHERUKU, NIKHIL REDDY; COOK, JOHN BYRON; KAHSAI AZENE, TEMESGHEN; KOCIK, WILLIAM JO; MCLAUGHLIN, SEAN; STALZER, MARK EDWARD; WHALEY, BLAKE; WU, YIWEN
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 049363/0907 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2018
From: DODGE, CATHERINE; CHERUKU, NIKHIL REDDY; COOK, JOHN BYRON; AZENE, TEMESGHEN KAHSAI; KOCIK, WILLIAM JO; MCLAUGHLIN, SEAN; STALZER, MARK EDWARD; WHALEY, BLAKE; WU, YIWEN
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 046523/0304 →
Continuity (1)
Related Publication 20200007569A1 · Jan 2, 2020
Cited By (1)
US 12,437,080