US 11,729,222 B2
System and method for extracting configuration-related information for reasoning about the security and functionality of a composed internet of things system
Hamed Soroush, San Jose, CA (US); Milad Asgari Mehrabadi, Irvine, CA (US); Shantanu Rane, Menlo Park, CA (US); and Marc E. Mosko, Santa Cruz, CA (US)
Assigned to Palo Alto Research Center Incorporated, Palo Alto, CA (US)
Filed by Palo Alto Research Center Incorporated, Palo Alto, CA (US)
Filed on Jul. 1, 2020, as Appl. No. 16/918,966.
Claims priority of provisional application 62/873,746, filed on Jul. 12, 2019.
Prior Publication US 2021/0014263 A1, Jan. 14, 2021
Int. Cl. H04L 29/06 (2006.01); H04L 9/40 (2022.01); G06F 21/57 (2013.01); G06F 16/25 (2019.01); G06N 5/04 (2023.01); G06N 3/04 (2023.01)
CPC H04L 63/205 (2013.01) [G06F 16/252 (2019.01); G06F 21/577 (2013.01); G06N 3/04 (2013.01); G06N 5/04 (2013.01); H04L 63/1433 (2013.01); G06F 2221/034 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A computer-implemented method, comprising:
determining, by a computing device, information sources associated with hardware and software components of a system,
wherein the information sources include at least specification sheets, standard operating procedures, user manuals, and vulnerability databases;
selecting a set of categories of vulnerabilities in a vulnerability database;
ingesting the information sources to obtain data in a normalized format;
extracting, from the ingested information sources, configuration information, vulnerability information, dependency information, and functionality requirements to create a model for the system,
wherein the system comprises an Internet of Things (IoT) system which comprises a configuration graph, an attack graph, and a dependency graph, and
wherein the extracted configuration information is used to generate the configuration graph, the extracted vulnerability information is used to generate the vulnerability graph, and the extracted dependency information is used to generate the dependency graph; and
displaying, on a screen of a user device, one or more interactive elements which allow the user to view or select the information sources and the categories of vulnerabilities, initiate ingesting the information sources, and view the extracted configuration information.