WO2022170132A1 - Asset ranking and classification systems and methods - Google Patents
Asset ranking and classification systems and methods Download PDFInfo
- Publication number
- WO2022170132A1 WO2022170132A1 PCT/US2022/015364 US2022015364W WO2022170132A1 WO 2022170132 A1 WO2022170132 A1 WO 2022170132A1 US 2022015364 W US2022015364 W US 2022015364W WO 2022170132 A1 WO2022170132 A1 WO 2022170132A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- asset
- network
- assets
- importance
- scannability
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 98
- 238000012360 testing method Methods 0.000 claims description 45
- 230000008569 process Effects 0.000 description 35
- 238000012913 prioritisation Methods 0.000 description 20
- 230000000875 corresponding effect Effects 0.000 description 17
- 238000001228 spectrum Methods 0.000 description 15
- 230000015654 memory Effects 0.000 description 12
- 230000008520 organization Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 235000014510 cooky Nutrition 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012550 audit Methods 0.000 description 4
- 238000002347 injection Methods 0.000 description 4
- 239000007924 injection Substances 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000035899 viability Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Definitions
- the present disclosure generally relates to servicing assets in a distributed computing environment.
- the disclosure relates more particularly to apparatus and techniques for prioritizing network-connected assets for network services, such as security testing.
- the assets might include computer systems, databases, and logical assets such as domain names, hosts, addresses, and the like.
- logical assets such as domain names, hosts, addresses, and the like.
- an organization might acquire another organization and not have a full picture of the computer and digital assets they own and/or control.
- Providing network-delivered services, such as security testing, to such network assets can be expensive and/or wasteful, particularly if the network services are provided without reference to specific service characteristics of each network asset and without reference to the relative importance of one network asset as compared to another network asset, all as managed by the organization/ asset manager. For example, an asset manager or asset servicer might overlook an important server when assigning available network services to assets, thereby resulting in a security risk to the asset manager and/or a service failure for the asset manager’s customers. Also, an asset manager or asset servicer might link an inappropriate or ineffective network service to a particular network asset, thereby resulting in wasted resources that may harm a trusted relationship between the asset manager and asset servicer. [0005] Consequently, it is desirable to be able to prioritize network assets under control by an asset manager in relation to the applicability of available network services, particularly when the number of network assets and/or relevant network services is large and/or modifiable/changing over time.
- an asset manager associated with a set of network assets may employ an asset servicer to provide network services for the set of network assets.
- the asset manager provides an asset inventory (or an initial asset identifier) to the asset servicer and leaves it to the asset servicer to identify and allocate resources (e.g., available network services) to the network assets within the asset inventory.
- Embodiments described herein may be configured to rank and/or classify the network assets within the asset inventory (1) according to their relative importance to the asset manager, and (2) according to how addressable they are by the scope of network services offered by the asset servicer. Based on these two rankings, the asset ranking and classification system can determine an overall priority score for each asset, and thus generate a corresponding prioritized asset inventory that includes the network assets, their relative priority, and the particular network services that should be applied to the network assets.
- Embodiments may also be configured to identify network assets inadvertently omitted in the asset inventory and list them as omitted in the prioritized asset inventory and/or include them as additional ranked and/or classified network assets in the prioritized asset inventory, as described herein.
- identification process may include any of the systems and/or methods described in U.S. Patent Application No. 16/890,995 filed June 2, 2020 and entitled “Asset Search and Discovery System Using Graph Data Structures,” which is incorporated herein by reference in its entirety.
- either or both the asset inventory and the prioritized asset inventory may be provided in graph form, as described for example in U.S. Patent Application No. 16/890,995.
- network assets may include, but are not limited to, one or more of a domain, an Internet-connected asset, a subdomain, an IP address, a virtual host, a web server, a name server, Internet of Things (loT) device, a desktop computer, a network printer, a mail server, or a device connected to the Internet or an internal network.
- assets might for example include content delivery networks, proxies, web application firewalls, intrusion detection systems, firewalls, routers, switches, or any device that can accept network traffic.
- Service characteristics of network assets may be obtained from metadata or other sources, and may include, but are not limited to, one or more of a hostname, a list of vulnerabilities, a list of open ports used, estimated geolocation of the asset, operating system used for the asset, service banners of the asset, and/or transport layer security (TLS) certificate details of the asset.
- An asset inventory may identify both a set of network assets and corresponding service characteristics, for example, and embodiments described herein may be configured to probe such network assets to determine the various service characteristics corresponding to the scope of available network services associated with the asset servicer.
- a system of one or more computers can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation causes or cause the system to perform the actions.
- One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions.
- One general aspect includes a method for providing network delivered services. The method includes receiving an asset inventory including a set of network assets associated with an asset owner or an asset manager, where each network asset of the set of network assets includes a plurality of service characteristics. The method also includes receiving a scope of available network services associated with an asset servicer.
- the method also includes, for at least some network assets of the set of network assets: from the service characteristics of the respective network asset, selecting one or more importance-related ranking attributes for the respective network asset and one or more scannability -related ranking attributes for the respective network asset; based on the importance-related ranking attributes for the respective network asset, determining an importance of the respective network asset; based on the scannability-related ranking attributes for the respective network asset or the or a scope of available network services associated with the asset servicer, determining a scannability of the respective network asset; based on the importance of the respective network asset and the scannability of the respective network asset, determining a priority of the respective network asset.
- the method also includes, based on the respective priorities of each network asset of the at least some network assets, generating a prioritized asset inventory including at least one of the at least some network assets.
- Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.
- Implementations may include one or more of the following features.
- selecting the importance-related ranking attributes or determining the importance of the respective network asset is based, at least in part, on importance-related weights assigned to at least some service characteristics of the plurality of service characteristics.
- the method further includes adaptively adjusting at least some of the importance-related weights assigned to the at least some service characteristics, based at least in part on: the importance of one or more network assets of the at least some network assets, the scannability of one or more network assets of the at least some network assets, or the priority of one or more network assets of the at least some network assets.
- selecting the scannability-related ranking attributes or determining the scannability of the respective network asset is based, at least in part, on scannability-related weights assigned to at least some service characteristics of the plurality of service characteristics.
- the method further includes adaptively adjusting at least some of the scannability-related weights assigned to the at least some service characteristics, based at least in part on: the importance of one or more network assets of the at least some network assets, the scannability of one or more network assets of the at least some network assets, or the priority of one or more network assets of the at least some network assets.
- the method further includes: identifying duplicate network assets within the asset inventory; and removing the duplicate network assets from the asset inventory.
- the method further includes: determining that the priorities of a subset of the at least some network assets are below a threshold value; and removing the subset of the at least some network assets from the set of network assets or the prioritized asset inventory. In some embodiments, the method further includes: receiving user identification that a priority of a particular network asset of the at least some network assets includes a false priority; and removing the particular network asset from the set of network assets or the prioritized asset inventory. In some embodiments, the method further includes: storing particular service characteristics associated with the particular network asset including the false priority; and adjusting performance-related weights or scannability-related weights associated with the particular service characteristics based on the false priority.
- the method further includes applying at least one network service from the scope of available network services to at least one network asset in the prioritized asset inventory.
- applying the at least one network service includes: from the prioritized asset inventory, identifying a best candidate network asset for at the least one network service based, at least in part, on the priorities of the network assets in the prioritized asset inventory; and applying the at least one network service to the identified best candidate network asset.
- applying the at least one network service includes: determining that the priority of the at least one network asset is above a threshold priority; and applying the at least one network service to the at least one network asset.
- applying the at least one network service includes: determining that the priority of the at least one network asset is above a threshold priority; and issuing a security crisis alert.
- the service characteristics of the at least one network asset include security characteristics; the scope of available network services includes a scope of available security tests; and the at least one network service includes at least one security test.
- the method further including: identifying potential candidate network assets missing from the asset inventory; and adding the potential candidate network assets to the asset inventory.
- One general aspect includes a system for providing network delivered services.
- the system includes an asset database frontend configured to receive an asset inventory including a set of network assets associated with an asset owner or asset manager, where each network asset of the set of network assets includes a plurality of service characteristics.
- the system also includes a logic device configured to communicate with the asset database frontend, where the logic device is configured to: receive a scope of available network services associated with an asset servicer; for at least some network assets of the set of network assets: from the service characteristics of the respective network asset, select one or more importance-related ranking attributes for the respective network asset and one or more scannability-related ranking attributes for the respective network asset; based on the importance-related ranking attributes for the respective network asset, determine an importance of the respective network asset; based on the scannability-related ranking attributes for the respective network asset or the or a scope of available network services associated with the asset servicer, determine a scannability of the respective network asset; based on the importance of the respective network asset and the scannability of the respective network asset, determine a priority of the respective network asset.
- the system also includes, based on the respective priorities of each network asset of the at least some network assets, generate a prioritized asset inventory including at least one of the at least some network assets.
- Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.
- Implementations may include one or more of the following features.
- selecting the importance-related ranking attributes or determining the importance of the respective network asset is based, at least in part, on importance-related weights assigned to at least some service characteristics of the plurality of service characteristics; and selecting the scannability-related ranking attributes or determining the scannability of the respective network asset is based, at least in part, on scannability-related weights assigned to at least some service characteristics of the plurality of service characteristics.
- the logic device is further configured to: adaptively adjust at least some of the importance-related weights or scannability -related weights assigned to the at least some service characteristics, based at least in part on: the importance of one or more network assets of the at least some network assets, the scannability of one or more network assets of the at least some network assets, or the priority of one or more network assets of the at least some network assets.
- FIG. 1 illustrates an asset prioritization system for ranking and classifying network assets, in accordance with an embodiment of the present disclosure.
- FIG. 2 illustrates an asset prioritizer, in accordance with an embodiment of the present disclosure.
- FIG. 3 illustrates elements used as part of an asset prioritizer, in accordance with an embodiment of the present disclosure.
- FIG. 4 illustrates an asset prioritization system for ranking and classifying network assets, in accordance with an embodiment of the present disclosure.
- FIG. 5 is a flowchart of an asset prioritization process for use in providing network delivered services, in accordance with an embodiment of the present disclosure.
- Embodiments described herein may be configured to rank and/or classify network assets within an asset inventory according to their relative importance to an asset manager, and according to the scope of network services offered by an asset servicer, and to generate a corresponding prioritized asset inventory that includes the network assets, their relative priority, and the particular network services that should be applied to the network assets.
- importance is the first of two different qualities that speak to priority.
- the importance of an asset to its owner or manager is irrelevant if a security vendor does not have the capability to scan it.
- the importance or criticality of an asset to the customer may reflect its financial importance, its importance to business operations or business goals, its criticality to the functioning of other assets, or other concerns.
- Such importance can be algorithmically determined by the asset ranking and classification system, based on metadata and other sources. For example, if the customer has spent a lot of money to protect the asset, the system may be configured to detect that. The more money the customer spends to protect the asset or build it out, the more likely it is that it has intrinsic importance to the organization.
- detectable indicators of value include, but are not limited to, the amount of traffic on the asset, the number of ports the asset keeps open, the number of inbound links to the asset from elsewhere on the network, the number of outbound links from the asset, replacement cost, revenue contribution, vulnerability (e.g., largest attack surface), highest associated costs if compromised, etc.
- Service characteristics may include, but are not limited to: Is it cloud hosted? Does it have a CAPTCHA? Does it use Google Analytics, or Google Ad Words? Is it a Blog? Is it hosted behind a content delivery network (CDN) or web application firewall (WAF)? Is it using web frameworks? Is it webmail? Does it have a map on it? Does it use livechat? Does it have SEO plugins? Does it set cookies? Is it accounting software? Does it use security hypertext transfer protocol (HTTP) Headers? Does it use secure socket layer/transport layer security (SSL/TLS), and if so, is it valid? Does it have a login form?
- HTTP hypertext transfer protocol
- SSL/TLS secure socket layer/transport layer security
- IP Internet protocol
- the asset ranking and classification system next determines which assets are good candidates for security scans. For an example, an asset may not be a good candidate if it doesn’t have any open ports, or any web ports, or is of a type that web application scanners are not generally capable of scanning effectively. Similarly, in some circumstances, an asset that is located behind a firewall may not be accessible for testing at all, and may thus have a very low scannability score. Conversely, a different asset may be readily accessible on the network and of a type that is readily evaluated by one or more available tools, in which case it could be assigned a high scannability score. Assets can thus be ranked a second time, according to their suitability for scanning.
- Service characteristics may include, but are not limited to: “Is it an internal device?” (e.g., because external scans may not be able to reach devices positioned behind a firewall); “Does it have any ports open?” (e.g., because there may be nothing to scan if no ports are open); “Does it have port 80/443 (or other web ports) open?” (e.g., because these ports may be particularly relevant to a DAST scanner or other type of scanner); “Is it running WordPress?” (e.g., because some types of scanners may have difficulty scanning WordPress sites); “Is it an application program interface (API)?” (e.g., because DAST scanners or other types of scanners may have difficulty scanning APIs).
- API application program interface
- Some example network services (through which a server may operate), and their associated TCP or UDP ports numbers, include File Transfer Protocol (FTP, port 21), secure shell (SSH, port 22), simple mail transfer protocol (SMTP, port 25), WHOIS protocol (port 43), domain name system (DNS, port 53), hypertext transfer protocol (HTTP, port 80), Internet message access protocol (IMAP, port 220), HTTP secure (HTTPS, port 443), and hundreds of others that will be familiar to a person of ordinary skill in the art.
- FTP File Transfer Protocol
- SSH secure shell
- SMTP simple mail transfer protocol
- DNS domain name system
- HTTP hypertext transfer protocol
- IMAP Internet message access protocol
- HTTPS HTTP secure
- a final priority order can then be obtained by meshing the importance scores and the scannability scores of the asset list (e.g., by adding the two scores, either without weighting or with different weightings applied to importance and scannability, and then normalizing the results so that each asset has a priority between 0 and 1, or any other appropriate range, depending on the implementation). For example, if a given asset has high scores for both importance and scannability, then it may be assigned a high overall priority. An asset which ranks high in one category and low in the other may be assigned a medium priority, as may an asset with medium scored in both categories. An asset with low scores in both categories may be assigned a low priority.
- the system can thus determine a ranked list of assets that the customer cares about and that the vendor (e.g., a security scanning firm such as a Dynamic Application Security Testing (DAST) scanning firm) can actually be successful at scanning.
- a security scanning firm such as a Dynamic Application Security Testing (DAST) scanning firm
- an asset prioritization process may include one or more of a plurality of systems interrogating network assets in an asset inventory, including the environment in which each network asset is hosted (e.g., in order to determine important service/security characteristics, such as 'is it a content delivery network (CDN) hosted box,' because such characteristic would make the network asset a good candidate for network services/security testing because the owner/asset manager likely cares a lot about it.
- CDN content delivery network
- Such interrogation may be performed for the purpose of identifying which technologies (e.g., which network characteristics or service characteristics) exist on each network asset, for example, and/or so that the network assets can be processed by a classifier/rules engine, as described herein.
- a rules engine may be configured to determine (e.g., by way of a feedback loop) one or more importance ranking attributes for the assets, and also to determine positive or negative ranking weights for each of the ranking attributes.
- a negative weight might correspond to a service/security characteristic like detection of WordPress if a corresponding vulnerability scanner (e.g., network service/security test) isn't suited for that, and a positive weight might correspond to the detection of the presence of a form, where the asset prioritizer infers that there is likely a database behind the form and therefore the network asset potentially presents a relatively good candidate for vulnerability scanning (e.g., using web application DAST scanners).
- a particular service characteristic may be useful in determining both importance and scannability. However, the weighting of that service characteristic may be different for importance ranking than it is for scannability ranking.
- assets may also be prioritized for non-security related assessments like search engine optimization (SEO) assessments, copywriting assessments etc.
- SEO search engine optimization
- the present disclosure may be applicable to anything that requires an evaluation of importance for the user and an assessment of how well it can be assessed with available tools.
- database testing could qualify, as could Application Program Interface (API) testing, mail testing, and testing of systems or subsystems that may reside on different ports or use different kinds of software for testing their efficacy/safety.
- API Application Program Interface
- the asset prioritizer can apply a score or rank to the network assets for the purpose of identifying which network assets would make relatively good candidates for testing.
- the candidates may then be classified by which network asset is most ideal for different types of dynamic and static analysis (e.g., different types of network services/security tests).
- the asset prioritizer could then mark/indicate the assets by ranking them within the asset inventory (e.g., generating a prioritized asset inventory) or externally (e.g., via APIs, documents, services, etc.) and/or by sub-ranking on attributes such as which scanner (e.g., network service) is the most appropriate to use on the particular network asset).
- the asset prioritizer may produce multiple prioritized inventories, such as a first list of assets in priority order for security testing, a second list of assets in priority order for SEO testing, etc.
- the asset prioritizer can create/output a single ordered priority list, can remove/suppress/de-rank network assets that are not good candidates for testing, and/or can recommend and/or allow for instant on-demand services (e.g., such as a vulnerability scan, or SEO audit and/or other network services) if a certain priority threshold has been met.
- the asset prioritizer could be configured to cut off lower priority network assets based on a number of services/slots that are available to the asset manager (e.g., if the asset manager has only purchased 10 slots for network services, it could be counterproductive and/or unnecessary to show the asset manager 1000 prioritized network assets).
- Embodiments may also include a deduplication system/subsystem configured to identify whether two or more assets are pointing to the same location (e.g., for example after a JavaScript location header or meta redirection) and to prune such asset duplications.
- the asset prioritizer may include an intervention system configured to allow a human to view and/or intervene in any aspect of the prioritization process to, for example, remove false positives and/or provide a feedback loop that removes/declassifies/archives low-value candidates.
- intervention system and/or an interrogator may also be configured to identify and/or recommend network assets that are not currently in the asset inventory that should be and may otherwise be good candidates, due to finding that one network asset redirects to other (non-inventoried) network assets, for example.
- Such an intervention system may also be configured to receive, generate, and/or apply a negative block-list to the asset inventory to remove unnecessary network assets, such as third-party single sign-on pages.
- a common network asset is a domain, as often there are many Internet-connected assets that can be identified by a URL that refers to a domain, and typically network assets identified by a domain are under common ownership or control, with such ownership or control potentially not being readily apparent.
- network assets need not be so limited.
- Internet-connected or Internet-related network assets might include designators such as domains (identifiable by domain names), subdomains (e.g., a domain name with a hostname appended, sometimes more accurately described as a fully qualified domain name, or FQDN), IP addresses, virtual hosts, and/or any combination thereof, and devices connected to the Internet or an internal network that use those designators might also be assets of the owner/manager of those designator assets.
- Network assets might be on public networks, non- routable or internal networks, etc.
- Network assets may also include web servers, name servers, loT devices, desktop computers, network printers, mail servers, other servers, hosts, etc.
- An asset inventory might be represented by a data structure or graph, such as a relational database, that indicates the assets and metadata of each asset.
- Management of assets might include transferring those assets to others, controlling those assets, configuring those assets, maintaining those assets, setting up network security to protect those assets, etc.
- Service characteristics or metadata about the network assets in an asset inventory might include hostnames, details of vulnerabilities, open ports used, etc., and can be important when securing or otherwise servicing assets. Other service characteristics might include geolocation, operating system, service banners, TLS certificate details, etc.
- An asset inventory may include service characteristics on an asset-by-asset basis or some other basis, for example, and may include a scope of available services associated with an asset servicer (e.g., a set of network services and/or security tests, as described herein).
- network services are described herein primarily as applications, in some embodiments, network services may include electronic devices and/or other products implementing a particular network service application, as described herein.
- service characteristics may be related to what a particular network service can do.
- a particular network asset is known to be associated with a critical “zero day” vulnerability on a port that that is unlikely to be identified within the scope of available network services, that particular network asset would not be considered a relatively good candidate for security testing, despite the fact that it may be identifiable as vulnerable.
- network services such as database auditing software may be unlikely to detect mail servers.
- network services that may be included in an asset servicer’s scope of network services may include, but are not limited to, SSL/TLS audits, blog scanning software, accountancy auditing software, general data protection regulation (GDPR) scanning software, database scanning software, mail server scanning software, network vulnerability scans, DAST scans, static application security testing (SAST) scans, cloud based WAFs, SEO scans/audits, penetration testing, and myriad other scanning or testing services.
- services such as cloud based web application firewalls may have different utility if there are no services running than if there are services running, and that utility can be measured when utilizing a cloud based WAF to identify good candidates to protect.
- that service characteristic may have more relevance to performance than security, but may also be an indicator that the asset manager is expending resources on the network asset, and if the asset manager cares about it in one capacity they are more likely to care about it in another as well. For example, if the asset owner cares about keeping the server up (using a CDN) and protected from denial of service (anti-DDoS protection), they likely also don’t want people to break in and steal user credentials. Thus, the presence of a CDN can be an indicator of importance.
- asset servicers and/or prioritization systems create an inventory of an organization’s assets
- inventory may be referred to as identifying the “attack surface” of said organization.
- service characteristics such as vulnerability data, hardware/software components/makeup/versions, and other attributes associated with the hosting environment. These service characteristics can give strong indications about the viability of network services to be applied to the network asset, such as application security testing. Service characteristic classifications could also be applied to network scanners, or other network services such as SEO, etc.
- an asset prioritizer may be desirable for an asset prioritizer to create candidate software lists for an asset servicer or manager, which may be of value to the asset manager and also identify candidates that are well suited for assessment by the identified assessment tools. In such cases, it may be helpful to prioritize network services/applications for the appropriate type/level of testing.
- a major benefit of classification-based prioritization is that it can greatly reduce the time necessary to analyze each network asset, and can reduce friction for asset servicers who would normally have to go back and forth with the asset manager to identify network assets of interest. As such, classification-based prioritization can significantly increase the scope of engagements between asset managers and asset servicers by uncovering otherwise unknown assets and/or links to network services that are otherwise high priority based on known factors of the network asset’s makeup.
- the present disclosure aids substantially in assessing vulnerability of network assets, by improving a servicer’s ability to, in real time, identify and test network assets that are both of high importance to the asset manager and also of high accessibility or scannability to the available tools.
- the asset ranking and classification system disclosed herein provides practical improvements in network security operations. This streamlined security testing process transforms a process based largely on guesswork into one with rapid, reliable, repeatable priority rankings, with corresponding reduction in the resources required for asset testing, without the normally routine need for an asset owner to compile a complete list of network assets, with manual annotations regarding their relative importance.
- the asset ranking and classification system may be implemented as a set of processes or methods at least partially viewable on a display, and operated by a control process executing on a processor that accepts user inputs from a keyboard, mouse, or touchscreen interface, and that is in communication with one or more networked assets.
- the control process performs certain specific operations in response to different inputs or selections made at different times.
- block diagrams may show a particular arrangement of components, modules, services, steps, processes, or layers, resulting in a particular data flow. It is understood that some embodiments of the systems disclosed herein may include additional components, that some components shown may be absent from some embodiments, and that the arrangement of components may be different than shown, resulting in different data flows while still performing the methods described herein.
- a processor may divide each of the steps described herein into a plurality of machine instructions, and may execute these instructions at the rate of several hundred, several thousand, several million per second, in a single processor or across a plurality of processors. Such rapid execution may be necessary in order to execute the method in real time or near-real time as described herein. For example, in some embodiments, a complete inventory, categorization, and ranking of assets attached to a network may be performed on a daily or hourly basis, as part of ongoing network security operations.
- FIG. 1 is a schematic illustration, in block diagram form, of an asset prioritization system 100 for ranking and classifying network assets, in accordance with an embodiment of the present disclosure.
- an asset prioritizer 102 may be configured to makes queries to various public or private databases 104 to receive data and/or records associated with network assets and to interact with various network assets 106 to obtain data directly from those assets, as described herein.
- Asset prioritizer 102 may be coupled to other systems 112 via a communication network 110, such as the Internet.
- a user interface 114 may be provided and may be used for adjusting and/or providing feedback for asset prioritization, as described herein.
- An asset database or asset inventory 120 may be provided for constructing and/or storing an asset inventory and made available to other processes and/or systems communicatively coupled to and/or otherwise associated with system 100.
- Asset database or asset inventory 120 may for example include, for each identified asset, information such as an IP address, hostname, record type tuple, other variables that identify particular or unique aspects of the asset, and service characteristics such as vulnerability data, hardware/software components/makeup/versions, and other attributes associated with the hosting environment.
- Asset prioritizer 102 may be configured to receive asset inventory 120 (e.g., a preliminary or high-level inventory from an asset servicer and/or an asset manager).
- asset prioritizer may include an interrogator module to, for example, identify additional network assets connected to the assets already identified in asset inventory 120, and add the additional assets to asset inventory 120, as described below in Figure 4.
- the interrogator module may suggest it to a user as a potential asset of interest, and add it to the asset inventory if the user concurs. This may reduce false positives (e.g., accidentally flagging third-party servers as customer-owned assets), at the cost of additional time required to complete the asset inventory.
- Asset prioritizer 102 may then determine one or more ranking attributes for each network asset of the asset inventory (e.g., based, at least in part, on service characteristics of the network asset and/or a scope of available network services associated with the asset servicer), classify each network asset according to a priority spectrum (e.g., based, at least in part, on its corresponding ranking attributes and/or the scope of available network services), and/or generate a prioritized asset inventory comprising at least one of the set of network assets and a corresponding at least one network service within the scope of available network services (e.g., based, at least in part, on the classification of the at least one network asset within the priority spectrum).
- a priority spectrum e.g., based, at least in part, on its corresponding ranking attributes and/or the scope of available network services
- a prioritized asset inventory comprising at least one of the set of network assets and a corresponding at least one network service within the scope of available network services (e.g., based, at least in part, on the
- the process can operate on a computer system that has inputs, memory, outputs, and access to a network such as the Internet and can access public and/or private databases of interest, such as the Domain Naming System (DNS) database, historical DNS databases, the WHOIS databases, and the like.
- DNS Domain Naming System
- domains may be added to asset inventory 120 if they have some metadata/service characteristics in common with domains already in asset inventory 120, such as the same e-mail address used to register a domain or the same phone number.
- asset prioritizer 102 accesses might be public databases, such as publicly available DNS servers, or might be private databases maintained and provided by subscription, such as historical WHOIS databases, or might be private databases maintained internally by the operator of the asset prioritizer, the asset servicer, and/or the asset manager.
- asset prioritization system 100 may be configured to process, receive, or access asset inventory 120 and run a series of evaluations to determine which of the assets are or are not likely associated with a particular asset manager, which may be propagated through the associated ranking and/or classification process, as described herein.
- FIG. 2 illustrates asset prioritizer 102 in additional detail.
- asset prioritizer 102 may include and/or be implemented by one or more computer systems and/or one or more processors 202 that may be configured to communicate with and be operatively coupled to a number of peripheral subsystems via a bus subsystem 204.
- processor 202 may be implemented as any appropriate logic device (e.g., processing device, microcontroller, processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), memory storage device, memory reader, or other device or combinations of devices) that may be adapted to execute, store, and/or receive appropriate instructions, such as software instructions implementing any of the various methods and/or processes described herein.
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- Such software instructions may also implement methods for receiving user input (e.g., via user interface input devices 212), providing user feedback (e.g., through user interface output devices 214), querying devices for operational parameters, selecting operational parameters for devices, or performing any of the various operations described herein (e.g., operations performed by logic devices of various devices of system 100 and/or asset prioritizer 102), which may employ one or more of the peripheral subsystems operatively coupled to processor 202 via bus subsystem 204.
- peripheral subsystems may include a storage subsystem 206, which may include a memory subsystem 208 and a file storage subsystem 210, one or more user interface input devices 212, user interface output devices 214, and a network interface subsystem 216, for example.
- Bus subsystem 204 may provide a mechanism for enabling the various components and subsystems of computer system 200 to communicate with each other as intended. Although bus subsystem 204 is shown schematically as a single bus, alternative embodiments may utilize multiple busses.
- Network interface subsystem 216 may provide an interface 222 to other computer systems and networks, as shown. Network interface subsystem 216 may serve as an interface for receiving data from and transmitting data to other systems such as to obtain asset inventories, asset identifiers, user feedback, and/or other data, as described herein.
- User interface input devices 212 may include a keyboard, pointing devices, and/or other types of user input devices.
- User interface output devices 214 may include a display subsystem, a printer, non-visual displays (e.g., audio and/or tactile output devices), or other such display or output devices.
- output device is intended to include all possible types of devices and mechanisms for outputting information.
- User interface output devices 214 may be used, for example, to generate and/or present user interfaces to facilitate user interaction with applications performing processes described herein and variations therein, as appropriate.
- Storage subsystem 206 may provide a computer-readable storage medium for storing the programming and data constructs that provide the functionality of asset prioritizer 102.
- Software programs, code modules, instructions
- Storage subsystem 206 may also provide a repository for storing data used in asset prioritization.
- Example software might include program code to implement the ranking, classification, deduplication, interrogation, and/or various other functions described herein.
- Memory subsystem 208 may include a number of memory devices including, for example, random access memory (RAM) 218 for storage of instructions and data during program execution and read-only memory (ROM) 220 in which fixed instructions may be stored.
- File storage subsystem 210 may provide a non-transitory persistent (non-volatile) storage for program and data files and may include a hard disk drive and/or other storage media.
- Asset prioritizer 102 may be implemented according to various different types of computers and according to a wide variety of operating environments, which in some embodiments may include one or more user computers, computing devices, or processing devices (e.g., one or more distributed logic devices) that can be used to operate or execute any of a number of applications.
- User or client devices may include any of a number of general purpose personal computers, such as desktop, laptop or tablet computers running a standard operating system, as well as cellular, wireless, and handheld devices running mobile software and capable of supporting a number of networking and messaging protocols, and/or depending on user selection of interface.
- Various embodiments may use or be implemented with or according to at least one network interface and/or network protocol configured to support communications using any of a variety of commercially-available infrastructure and/or protocols, such as Transmission Control Protocol/Intemet Protocol (“TCP/IP”), User Datagram Protocol (“UDP”), protocols operating in various layers of the Open System Interconnection (“OSI”) model, File Transfer Protocol (“FTP”), etc.
- TCP/IP Transmission Control Protocol/Intemet Protocol
- UDP User Datagram Protocol
- OSI Open System Interconnection
- FTP File Transfer Protocol
- Storage media and computer-readable media for containing code, or portions of code can include appropriate media known or used in the art, including storage media and communication media, such as, but not limited to, volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage and/or transmission of information such as computer-readable instructions, data structures, program modules, or other data.
- FIG. 3 illustrates elements used as part of asset prioritizer 102, in accordance with an embodiment of the present disclosure.
- FIG. 3 also illustrates an example of memory elements that might be used by a processor to implement elements of the embodiments described herein.
- FIG. 3 illustrates a simplified functional block diagram of a storage device 348 storing an application that can be accessed and executed by a processor in a computer system as might be part of an asset prioritizer and/or a computer system that uses asset inventories in managing assets under control, for example, including generating a prioritized asset inventory and/or applying network services to network assets in prioritized asset inventories.
- Such application can be any one or combination of the applications described herein, running on servers, clients or other platforms or devices and might represent memory of one of the clients and/or servers illustrated elsewhere.
- Storage device 348 may include one or more memory devices that can be accessed by a processor, and storage device 348 may have stored thereon application code 350 that can be configured to store one or more processor readable instructions.
- Application code 350 can include application logic 352, library functions 354, and file I/O functions 356 associated with the application.
- Storage device 348 can also include application variables 362 that can include one or more storage locations configured to receive application variables 364.
- Application variables 362 can include variables that are generated by the application or otherwise local to the application, for example, and/or supplied as user input.
- Application variables 362 can be generated, for example, from data retrieved from an external source, such as a user or external device, system, or application.
- asset prioritizer 102 may be configured to execute application code 350 to generate application variables 362 provided to storage device 348.
- One or more memory locations can be configured to store device data 366.
- Device data 366 may include data that is sourced by an external source, such as a user or external device, system, or application.
- Device data 366 may include, for example, records and/or data being passed between servers prior to being transmitted or after being received. Other data 368 might also be supplied.
- Storage device 348 may also include a log file 380 having one or more storage locations 384 configured to store results of the application or inputs provided to the application.
- log file 380 may be configured to store a history of actions performed by an application implementing any of the processes described herein.
- the memory elements of FIG. 3 may be used for a server or computer that interfaces with a user, generates prioritized asset inventories, and/or manages other aspects of a process described herein.
- Processes described herein can be performed in any suitable order unless otherwise indicated herein.
- Processes described herein may be performed under the control of one or more computer systems configured with executable instructions and may be implemented as code (e.g., executable instructions, one or more computer programs or one or more applications) executing collectively on one or more processors, by hardware or combinations thereof.
- the code may be stored on a computer-readable storage medium, for example, in the form of a computer program comprising a plurality of instructions executable by one or more processors.
- the computer-readable storage medium may be non-transitory.
- FIG. 4 illustrates an asset prioritization system 400 for ranking and classifying network assets, in accordance with an embodiment of the present disclosure.
- asset prioritization system 400 may include one or more of asset database frontend 430, intervention system 412, ranker 432, classifier 434, deduplicator 436, and/or interrogator 438, all configured to access and/or operate on asset inventory/database 420, which may be provided initially by asset servicer 406 and/or asset manager 404 to asset prioritization system 400 via asset database frontend 430 connected to and/or over network 110.
- each element of asset prioritization system 400 may be implemented by one or more elements of asset prioritization system 100 of FIG. 1, processors 202 of FIG.
- each of asset database frontend 430, intervention system 412, ranker 432, classifier 434, deduplicator 436, and/or interrogator 438 may be implemented, at least in part, by executable code stored in storage device 348 and/or executed by processor(s) 202, as described herein.
- asset database frontend 430 may be implemented, at least in part, by network interface 216 and be configured to receive and/or parse asset inventory 420 including/identifying a set of network assets 106 associated with asset servicer 406 and/or asset manager 404.
- asset database frontend 430 may be configured to extract a scope of available network services from asset database 420, if provided by asset servicer 406.
- asset database frontend 430 may be configured to extract service characteristics associated with particular network assets listed within asset database 420, as described herein, for use in ranking and/or classifying each network asset.
- service characteristics may be extracted either by third-party data collectors, or by connection to a proxy network. Extraction may occur via raw TCP connect and sending host headers, via headless browsers, via UDP level querying, or other related methods.
- the service characteristics may include, but are not limited to: Host, Record Type, IP, ASN, Ports, SSL / TLS Expiration, SSL / TLS Fingerprint, JARM Hash, SSL / TLS EV Certificate, SSL / TLS Issuer Country, SSL / TLS Issuer Organization, SSL / TLS Issuer Common Name, SSL / TLS Valid From, Cookie compliance, Secret keys, Login, Bug Bounty URL, SSL / TLS Subject Alt Name, SSL / TLS Cypher Suites, SSL / TLS Key length, SSL / TLS protocol, SSL / TLS error, Captchas, Login Forms, Content type, Content language, Vary, Response Header Name, Response Security Header Name, Response Header Value, Response Security Header Value, Sets Cookies, Content Length, Canonical URL, Document Title, Response code, HTML, Mobile Frameworks, Web Frameworks, JavaScript Frameworks, Programming Languages, Dev Tools, JavaScript Libraries, Landing Page
- Interrogator 438 may also be implemented, at least in part, by network interface 216 and be configured to identify network assets associated with asset manager 404 that should be added to asset inventory 420 and/or prioritized asset inventory 422, based on the set of network assets identified in asset inventory 420 and/or prioritized asset inventory 422, for example, and update asset inventory 420 and/or prioritized asset inventory 422 to include the newly identified network assets. For example, if the asset classifier sees that “www.example.com” redirects the user to “example.foo.com”, then it may be likely that the owner of “www.example.com” may also own either example.foo.com or foo.com, or both.
- prioritized asset inventory 422 may be separate from or integrated with asset inventory 420, as shown.
- Ranker 432 may be configured to determine one or more ranking attributes for each network asset of asset inventory 420, as described below in Figure 5. Such rankings may for example be based, at least in part, on service characteristics of network asset 106 and/or a scope of available network services associated with asset servicer 406.
- Classifier 434 may be configured to classify each network asset according to a priority spectrum based, at least in part, on its corresponding ranking attributes and/or the scope of available network services.
- Deduplicator 436 may be configured to identify duplicate network assets within asset inventory 420 and remove the duplicate network assets from asset inventory 420 prior to ranker 432 determining the one or more ranking attributes for each network asset.
- Asset servicer 406 and/or asset manager 404 may be implemented similarly to and/or include one or more elements of processor 202; asset manager 404 may be configured to provide asset inventory 420 and/or an asset identifier that may be used to generate asset inventory 420, for example, and asset servicer 406 may be configured to provide asset inventory 420 and/or receive prioritized asset inventory 422 and apply corresponding services to assets 106.
- intervention system 412 may be implemented, at least in part, by user interface input devices 212 and/or user interface output devices 214 and be configured to facilitate user feedback into the operations of asset database frontend 430, intervention system 412, ranker 432, and/or classifier 434, for example, and/or to allow a user to manually edit asset inventory 420 and/or prioritized asset inventory 422.
- intervention system 412 may be implemented primarily by processor(s) 202 and storage subsystem 206/ storage device 348 and be configured to implement an adaptive or machine learning based method to modify the operations of asset database frontend 430, intervention system 412, ranker 432, and/or classifier 434, as described herein.
- the intervention system 412 can leverage that knowledge to determine that it should not suggest those assets since they’re already under service. Similarly, the intervention system 412 can also use that knowledge as a mechanism to know that similar assets are assets that might qualify for service. For example, if an asset under service like “www.example.com” has certain attributes that closely match another asset in the inventory “www.foo.com” which is not under service, then the intervention system 412 may determine that “www.foo.com” is a better candidate for service than its raw importance score may indicate.
- FIG. 5 is a flowchart of an asset prioritization process 500 for use in providing network delivered services, in accordance with an embodiment of the present disclosure. It should be appreciated that any step, sub-step, sub-process, or block of process 500 may be performed in an order or arrangement different from the embodiments illustrated by FIG. 5. For example, in other embodiments, one or more blocks may be omitted from or added to the process. Furthermore, block inputs, block outputs, various sensor signals, sensor information, calibration parameters, and/or other operational parameters may be stored to one or more memories prior to moving to a following portion of a corresponding process. Although process 500 is described with reference to systems, processes, devices, and methods described in reference to FIGS. 1-4, process 500 may be performed by other systems different from those systems, processes, devices, and methods and including a different selection of electronic devices, assemblies, systems, and/or methodologies.
- asset prioritizer 102 may be configured to receive asset inventory 120 and/or a scope of available network services (e.g., private database 104(3)) associated with asset servicer 406 and/or asset manager 404 from asset servicer 406.
- asset prioritizer 102 and/or asset servicer 406 may be configured to receive an asset identifier from asset manager 404, for example, and determine the asset inventory based, at least in part, on the asset identifier.
- asset identifier may include a relatively short list of network assets and/or network asset owners associated with a larger set of network assets to be included in asset inventory 120.
- an interrogator 438 or asset prioritizer 102 may search for additional assets connected to the network as described above, and may for example be configured to identify potential candidate network assets missing from the asset inventory and/or the prioritized asset inventory and add the potential candidate assets to the asset inventory and/or the prioritized asset inventory, as described herein.
- Potential candidate network assets may for example be identified by one or more of the service characteristics identified above in Fig. 4.
- Interrogator 438 may also interrogate each asset to understand the relevant metadata data associated with it, as well as other discoverable information regarding the asset (e.g., costs, revenues, etc.). In some cases this data may already be known based on previous runs, so that only change data needs to be collected. In other cases, all relevant data is collected each time the system is run.
- asset prioritizer 102 may identify duplicate network assets within asset inventory 120 and remove the duplicate network assets from asset inventory 120 prior to determining the ranking attribute for each network asset, as in block 506.
- asset prioritizer 102 determines an importance score for each network asset in the asset inventory.
- one or more importance-related ranking attributes selected from the service attributes of the assets, are determined for each network asset in the asset inventory received in block 502.
- asset prioritizer 102 may be configured to determine a ranking attribute for each network asset of asset inventory 120 based, at least in part, on service characteristics of the network assets. In various embodiments, such scope of available network services may be included in asset inventory 120, for example, or may be provided in a separate database.
- asset prioritizer 102 may be configured to determine the importance-related ranking attributes for each network asset by identifying one or more ranking attributes within the service characteristics of the network asset and determining the importance score for the network asset based, at least in part, on a weighted aggregation of the one or more ranking attributes (also known as ranking identifiers or service characteristics) according to a list of ranking weights.
- Example ranking attributes may include, but are not limited to: Is it cloud hosted? Does it have a CAPTCHA? Does it use Google Analytics, or Google Ad Words? Is it a Blog? Is it hosted behind a CDN or WAF? Is it using web frameworks? Is it webmail? Does it have a map on it? Does it use livechat?
- a weight for each ranking identifier may for example be “1” by default, but may be adjusted upward if, for example, they are identified as being strongly correlated to the owner- perceived importance of an asset.
- a weight for a ranking identifier may be adjusted downward if, for example, that particular variable is found to be poorly correlated with owner-perceived asset importance, and may be assigned a negative value if the variable is found to be negatively correlated with owner-perceived asset importance.
- Such weighting adjustments may be received through a user interface (e.g., intervention system 412 of Fig. 4, or may be calculated automatically (e.g., by a machine learning algorithm or other algorithm examining past rankings for other clients), or combinations thereof.
- An example of a list of ranking weights is as follows: ⁇ 'cloudhosted': 1, 'captchas': 2, 'analytics': 2, 'blogs': -3, 'cdnhosted': 1, 'webframeworks': 1, 'webmail': -4, 'maps': 1, 'livechaf: 1, 'seo': 1, 'cookies': 2, 'accounting': 3, 'securityheaders': 3, 'ssltls': 3, 'invalidssltls': -1, 'login': 4, 'forms': 3, 'ipbroken': -1, 'invalid ssltls': -1, 'rfcnineteeneighteen': -1, 'containsstagqatestadmin': -5, 'bad
- the list of ranking weights may be adaptively adjustable based, at least in part, on classifications of the network assets within the priority spectrum, the service characteristics of the network assets, and/or the scope of available network services (e.g., by an adaptive or machine learning algorithm associated with intervention system 412, as described above).
- a ranking weight may be added to or deleted from the list of ranking weights based on a particular network asset exhibiting a service characteristic corresponding to the ranking weight item either being ranked relatively high (e.g., adding the ranging weight item) by the current list of ranking weights or being ranked relatively low (e.g., deleting the ranging weight item) by the current list of ranking weights.
- the importance of an asset may be dependent upon the announced scope of available network services, which may be selected (e.g., by an asset servicer) based on skill set, available scanning tools, and/or other asset servicer characteristics. For example, an asset servicer focused on more novel and less common security issues may designate a particular scope of available security tests, so that a service characteristic indicating a WordPress site would result in a relatively low importance for that network asset, since WordPress is relatively common. Similarly, the asset servicer may designate a scope of available security tests triggering a relatively high importance if a network asset is hosted on a content management system (e.g., indicating that it is of higher value because the asset manager is spending money to keep it fast/stable).
- a content management system e.g., indicating that it is of higher value because the asset manager is spending money to keep it fast/stable.
- a relatively high importance may be assigned if the network asset includes a form (e.g., indicating that it has a dynamic back- end making it traditionally more likely to be vulnerable to an injection attack like structured query language (SQL) injection, command injection, cross site scripting (XSS), etc.).
- a high importance may be assigned if the network asset includes secure sockets layer/transport layer security (SSL/TLS), possibly indicating that the asset manager cares about it from a security perspective or how it appears in search engines.
- SSL/TLS secure sockets layer/transport layer security
- asset prioritizer 102 determines a scannability score for each network asset in the asset inventory.
- one or more scannability-related ranking attributes selected from the service attributes of the assets, are determined for each network asset in the asset inventory received in block 502.
- Scannability-related ranking attributes may for example include network services detectable on the asset.
- Examples of possible network services, and their associated TCP or UDP ports numbers include File Transfer Protocol (FTP, port 21), secure shell (SSH, port 22), simple mail transfer protocol (SMTP, port 25), WHOIS protocol (port 43), domain name system (DNS, port 53), hypertext transfer protocol (HTTP, port 80), Internet message access protocol (IMAP, port 220), HTTP secure (HTTPS, port 443), and hundreds of others that will be familiar to a person of ordinary skill in the art.
- FTP File Transfer Protocol
- SSH secure shell
- SMTP simple mail transfer protocol
- DNS domain name system
- HTTP hypertext transfer protocol
- IMAP Internet message access protocol
- HTTPS HTTP secure
- a scannability array may be implemented as a series of array columns where each column is associated with at least one network service in the scope of available network services and/or a particular service characteristic or type of service characteristic associated with the scope of available network services.
- each array column may be populated or unpopulated (e.g., according to a binary or integer value) based on whether a service characteristic of a ranked network asset matches the corresponding network service or particular service characteristic associated with each individual column.
- the array column value may be the ranking attribute for the network asset; in other embodiments, the array column value may be a binary value indicting the array column is populated for that network asset.
- At least a subset of the array columns may correspond to ranking identifiers used to determine the ranking attribute for the network asset in block 506.
- An example scannability array might for example consist of values between 0-1, or between 0%-100%, or any other form that expresses a gradient of likelihood.
- the scannability of a particular network asset may be the sum of the array column values for that network asset.
- a classification of the particular network asset may be weighted sum, where array column values associated with more desirable network services (e.g., easier or faster to implement or apply, more valuable to the asset manager, newer or more relevant network services) are weighted more than less desirable network services (e.g., relatively old or less relevant network service).
- a classification of a particular network asset may be based on a pattern matching estimate (e.g., a least squares error estimate) comparing the full spectrum of the network asset (e.g., the series of all column values) to spectrum patterns associated with one or a combination of network services within the scope of available network services.
- the network asset’s ranking attribute may be integrated with the classification as an overall gain applied to the asset’s spectrum, for example, and/or may be compared to one or more thresholds associated with one or more array columns to remove the network asset from the classification process and assign a priority of zero if any one of the array column values is less than the applicable threshold.
- the scope of available security testing/network services may include business logic scans that employ some human intervention to do manual testing, authenticated scans that log in but require credentials to do so, and low end scans that do not use any form of authentication whatsoever to find vulnerabilities and sometimes do not attempt to do injections into forms.
- there are security tests including scans that only look for fingerprints of vulnerabilities - such as a page that shows version information that can be used to compare against a database for vulnerability.
- there may be dynamic and static testing - static is where the test has access to the source code (sometimes makes sense when the source may become available to the attacker - such as in the case of open source or where third parties are working on an asset manager’s code).
- scannability-related ranking attributes may each have an associated weight, whether received, computed, or combinations thereof. By adding or otherwise considering the weights of each ranking attribute associated with a given asset, the asset prioritizer 102 can determine a scannability score for the asset.
- a priority (e.g., between 0 and 1, or any two desired values depending on the implementation) can be assigned to each asset, resulting in a “priority spectrum” of the assets or “classification” of the assets.
- asset prioritizer 102 may be configured to classify each network asset in the asset inventory according to a priority spectrum based, at least in part, on the importance score and the scannability score for that asset. This may be done, for example, by adding the importance score and scannability score for the asset and then normalizing the result to a value between 0 and 1, although other means of combining the importance and scannability scores may be used instead or in addition.
- a prioritized asset inventory is generated.
- asset prioritizer 102 may be configured to generate prioritized asset inventory 420/422 including at least one of the set of network assets in the asset inventory received in block 502 and a corresponding at least one network service within the scope of available network services based, at least in part, on the classification of the at least one network asset within the priority spectrum as performed in block 506.
- asset prioritizer 102 may be configured to determine the classifications of a subset of the network assets that are below a threshold priority (e.g., preselected by user input) and remove the subset of network assets from the set of network assets received in block 502 and/or the prioritized asset inventory generated in block 508.
- asset prioritizer 102 may be configured to receive user identification that a classified network asset comprises a false positive classification and remove the classified asset from the set of network assets received in block 502 and/or the prioritized asset inventory generated in block 508.
- asset prioritizer 102 may be configured to store the service characteristics associated with the classified network asset comprising the false positive classification (e.g., in asset inventory 420, prioritized asset inventory 422, and/or a private database used to supply operational parameters for a variety of asset inventories), where the classifying each network asset according to the priority spectrum in block 506 is based, at least in part, on the service characteristics associated with the classified network asset comprising the false positive classification, as described herein.
- a similar feedback process may be used for false negatives, where the classified asset is added back into the prioritized asset inventory generated in block 508 and its service characteristics are stored and used to help classify network assets, as described herein.
- a false positive classification may include classifying a network asset with a relatively high priority when the network asset includes a service characteristic indicating that the network asset is serving static HTML, and so there would be relatively little surface or depth to scan/apply a network service to.
- a similar false positive could be a relatively high priority classification for a default landing page for a content management service (CMS) that isn’t controlled by the asset manager, where the asset manager does not desire to monitor such secondary network assets.
- CMS content management service
- multiple prioritized asset inventories may be generated.
- two different lists may represent asset prioroties for two different scanning tools, or two different teams who have access to two different sets of assets (e.g., a parent company and a subsidiary).
- the asset inventory may only reflect the assets of a subsidiary of Company B being purchased or worked with by Company A.
- weighting of scannability-related service characteristics and/or importance-related service characteristics may begin with an initial set of values (e.g., default values, or values based on other customers), that is then back filled by real data upon receipt of customer feedback. For example, if a customer (e.g., asset owner or asset manager) concurs with the prioritized asset inventory, then the importance-related weights may be presumed to be accurate. Similarly, if a servicer agrees with the prioritized asset inventory, then the scannability-related weights may be presumed to be accurate. However, if certain stakeholders disagree with the ranking of a particular asset or type of asset, then the system may adjust the weights of service characteristics associated with that asset or that type of asset until a desired priority is achieved.
- values e.g., default values, or values based on other customers
- all weights may be sampled statistically based on the customer feedback for all assets, until weights are identified that produce a prioritized asset list the customer agrees with.
- weights may be adjusted individually or in groups based on their associated asset types. Because the asset ranking and classification system operates rapidly, in real time or near-real time, it can be run iteratively based on customer feedback. Furthermore, when the system is run at regular intervals (e.g., monthly) on a customer network, the efficacy can be measured (e.g., based on reductions in adverse events, etc.). Thus, over time all weights may be based on real-world results.
- a network service is applied to a network asset identified in the priority asset inventory generated in bock 512.
- asset prioritizer 102 and/or asset servicer 406 may be configured to apply at least one network service to a corresponding at least one network asset as identified in the prioritized asset inventory generated in block 512.
- the applying the at least one network service includes identifying a best candidate asset of the set of network assets for at the least one network service based, at least in part, on the classification of the best candidate asset within the priority spectrum and applying the at the least one network service to the identified best candidate asset.
- the applying the at least one network service includes determining the classification of the at least one network asset within the priority spectrum is above a threshold priority (e.g., preselected by user input) and applying the at the least one network service to the at least one inventoried asset.
- the applying the at least one network service may include determining the classification of the at least one network asset within the priority spectrum is above a threshold priority (e.g., preselected by user input) and issuing a security crisis alert, as described herein.
- the applied network service may include one or more of a security scan, an SEO analysis, a keyword scan, or a copy writing assessment, or other desired service depending on the implementation.
- the techniques described herein are implemented by one or generalized computing systems programmed to perform the techniques pursuant to program instructions in firmware, memory, other storage, or a combination.
- Special-purpose computing devices may be used, such as desktop computer systems, portable computer systems, handheld devices, networking devices or any other device that incorporates hardwired and/or program logic to implement the techniques.
- Processes described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context.
- Processes described herein may be performed under the control of one or more computer systems configured with executable instructions and may be implemented as code (e.g., executable instructions, one or more computer programs or one or more applications) executing collectively on one or more processors, by hardware or combinations thereof.
- the code may be stored on a computer-readable storage medium, for example, in the form of a computer program comprising a plurality of instructions executable by one or more processors.
- the computer-readable storage medium may be non-transitory.
- the conjunctive phrases “at least one of A, B, and/or C,” “at least one of A, B, and C,” and “at least one of A, B and C” refer to any of the following sets: ⁇ A ⁇ , ⁇ B ⁇ , ⁇ C ⁇ , ⁇ A, B ⁇ , ⁇ A, C ⁇ , ⁇ B, C ⁇ , ⁇ A, B, C ⁇ .
- conjunctive language is not generally intended to imply that certain embodiments require at least one of A, at least one of B and at least one of C each to be present.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
Claims
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163146480P | 2021-02-05 | 2021-02-05 | |
US63/146,480 | 2021-02-05 | ||
US17/590,463 | 2022-02-01 | ||
US17/590,463 US11743194B2 (en) | 2019-11-19 | 2022-02-01 | Asset ranking and classification systems and methods |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022170132A1 true WO2022170132A1 (en) | 2022-08-11 |
Family
ID=82741829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2022/015364 WO2022170132A1 (en) | 2021-02-05 | 2022-02-04 | Asset ranking and classification systems and methods |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2022170132A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116567062A (en) * | 2023-07-07 | 2023-08-08 | 北京安博通科技股份有限公司 | Method, device, electronic equipment and medium for discovering assets based on flow logs |
WO2024057028A1 (en) * | 2022-09-15 | 2024-03-21 | Hsbc Group Management Services Limited | Network inventory management and anomaly detection system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030172145A1 (en) * | 2002-03-11 | 2003-09-11 | Nguyen John V. | System and method for designing, developing and implementing internet service provider architectures |
US20190394224A1 (en) * | 2016-10-31 | 2019-12-26 | Acentium Inc. | Systems and methods for multi-tier cache visual system and visual modes |
-
2022
- 2022-02-04 WO PCT/US2022/015364 patent/WO2022170132A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030172145A1 (en) * | 2002-03-11 | 2003-09-11 | Nguyen John V. | System and method for designing, developing and implementing internet service provider architectures |
US20190394224A1 (en) * | 2016-10-31 | 2019-12-26 | Acentium Inc. | Systems and methods for multi-tier cache visual system and visual modes |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024057028A1 (en) * | 2022-09-15 | 2024-03-21 | Hsbc Group Management Services Limited | Network inventory management and anomaly detection system |
CN116567062A (en) * | 2023-07-07 | 2023-08-08 | 北京安博通科技股份有限公司 | Method, device, electronic equipment and medium for discovering assets based on flow logs |
CN116567062B (en) * | 2023-07-07 | 2023-09-26 | 北京安博通科技股份有限公司 | Method, device, electronic equipment and medium for discovering assets based on flow logs |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12019757B2 (en) | Threat score prediction model | |
US11743194B2 (en) | Asset ranking and classification systems and methods | |
US20240232767A1 (en) | Systems and methods for monitoring information security effectiveness | |
US11165822B2 (en) | Identifying phishing websites using DOM characteristics | |
US12381786B2 (en) | System and method for monitoring data disclosures | |
Alani | Big data in cybersecurity: a survey of applications and future trends | |
US10581908B2 (en) | Identifying phishing websites using DOM characteristics | |
US12021894B2 (en) | Phishing detection based on modeling of web page content | |
US20240171614A1 (en) | System and method for internet activity and health forecasting and internet noise analysis | |
US20240340314A1 (en) | System for generating samples to generate machine learning models to facilitate detection of suspicious digital identifiers | |
US12348485B2 (en) | Systems and methods for determining asset importance in security risk management | |
US11470114B2 (en) | Malware and phishing detection and mediation platform | |
WO2022170132A1 (en) | Asset ranking and classification systems and methods | |
WO2023056259A1 (en) | Asset inventorying system with in-context asset valuation prioritization | |
Khudyntsev et al. | Network monitoring index in the information security management system of critical information infrastructure objects | |
US20240338576A1 (en) | System for automated model selection to facilitate detection of suspicious digital identifiers | |
US20240340313A1 (en) | Model for Detecting Phishing URLS | |
Venkadasubbiah et al. | Data Footprinting in Big Data | |
US12112339B1 (en) | Software-based compliance evaluation tool | |
US10805312B1 (en) | Programmatically verifying electronic domains | |
Shaw | Next-Generation Cyber Threat Intelligence Platform | |
Mehra et al. | Graph of Effort: Quantifying Risk of AI Usage for Vulnerability Assessment | |
US20250117380A1 (en) | System and methods to facilitate usage of natural language for cyber asset management | |
US20250097227A1 (en) | Assignment of resource criticality scores to cloud resources based on cloud resource class | |
US20240340312A1 (en) | Machine learning system for automated detection of suspicious digital identifiers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22750493 Country of ref document: EP Kind code of ref document: A1 |
|
DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 22750493 Country of ref document: EP Kind code of ref document: A1 |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 21.11.2023) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 22750493 Country of ref document: EP Kind code of ref document: A1 |