Systems and methods of attack type and likelihood prediction

Information

  • Patent Grant
  • 12135789
  • Patent Number
    12,135,789
  • Date Filed
    Wednesday, August 4, 2021
    3 years ago
  • Date Issued
    Tuesday, November 5, 2024
    3 months ago
  • Inventors
    • Labreche; Francois
  • Original Assignees
  • Examiners
    • Moorthy; Aravind K
    Agents
    • Womble Bond Dickinson (US) LLP
Abstract
The present disclosure provides systems and methods for predicting attack types and likelihood the attack types will occur for new vulnerabilities. According to the present disclosure, the method includes receiving a disclosure of a new vulnerability, the disclosure comprising a plurality of vulnerability details. The method includes developing a series of vulnerability features associated with the details of the new vulnerability. The method includes extracting each of the vulnerability features into intermediate inputs. The method includes providing each of the intermediate inputs to one or more attack type classifiers to thereby determine if an attack type is associated with the new vulnerability. The method includes determining ranking for each of the one or more attacks occurring for the new vulnerability. The method finally includes assigning one or more attack type labels to the new vulnerability based on each attack type associated with the new vulnerability. Other aspects are also described.
Description
TECHNICAL FIELD

This disclosure relates generally to identifying cybersecurity attacks on computer systems, including networks and/or services, and more particularly relates systems and methods for determining one or more attack types associated with cybersecurity vulnerabilities and predicting a potential likelihood that an identified attack type may target such vulnerabilities.


BACKGROUND

New cybersecurity vulnerabilities are discovered and published daily. However, often only a subset of these vulnerabilities are actually used in attacks or include a published exploit. Current vulnerability management tools include goals, such as to identify vulnerabilities and prioritize those vulnerabilities according to their context. Such actions can aid customers in focusing on the most relevant security issues. In the context of prioritizing vulnerabilities, knowing in advance which vulnerabilities will be acted upon, e.g., by use in attacks, in malicious software, or as published exploits, provides information to aid in determining a true severity of vulnerabilities found. Knowing if a vulnerability will be used in an attack, in addition to knowing which type of attack, before such an attack occurs may provide valuable information and allow customers to resolve a vulnerability before such a vulnerability is exploited. Such predictive functionality is generally currently not available in conventional vulnerability management tools, which typically merely point to known attacks for specific vulnerabilities, rather than providing such predictions.


Accordingly, it can be seen that a need exists for systems and methods directed to identifying types of attacks associated with a vulnerability, and predicting a likelihood that one or more types of attack will occur; and provide remedial or potential remedial actions to address or fix such a vulnerability. The present disclosure is directed to the foregoing and other related, and unrelated, problems/issues in the art.


SUMMARY

Briefly described, according to various aspects, the present disclosure is directed to systems and methods that obtain details/information as to cyber security vulnerabilities and vulnerability features associated with the cyber security vulnerabilities can be extracted. The vulnerability features, once obtained, may form a series of segregated one or more intermediate inputs, each representing different features associated with each of the vulnerabilities and derived from one of the vulnerability features. Once the one or more intermediate inputs are formed, the one or more intermediate inputs may be applied to one or more attack class predictors or classifiers to determine a probability or likelihood that a particular attack is or can be associated with or used in relation to an identified vulnerability. For example, a newly identified and/or published vulnerability. One or more machine learning models trained with known vulnerabilities with known attack types may be utilized to train and form/update the attack class predictor or classifiers. The output generated by the attack class predictors or classifiers may be a probability or likelihood indicative of the likelihood that the particular attack may occur; represented by, for example, a number from a 0 to a 1. Once a likelihood of an attack occurring is determined for each of one or more attacks, attack type labels may be assigned to the identified vulnerability (e.g. a new vulnerability). The results, including the attack type labels and likelihood of an attack to occur, may be displayed, along with relevant information regarding the vulnerability, on a display or a user interface or formatted for display, and additionally can include a determined or suggested solution, remedy identification, or potential remedial action for any of the attack types.


In one aspect, the present disclosure provides a method for prediction of cybersecurity attacks, including, in embodiments, an attack type or types, and a likelihood for a vulnerability identified in a monitored information handling system such as a computer system, network, services, etc. being subjected to each such identified attack type. The method may include monitoring for a new vulnerability, and in response to a detection of the new vulnerability, extracting one or more inputs including one or more vulnerability features associated with the new vulnerability and inputs to one or more attack type classifiers to determine if and what attack types are associated with the new vulnerability. In embodiments the method includes applying the one or more inputs and each of the one or more types of attacks identifying and/or associated with the new vulnerability to an attack likelihood classifier to generate a likelihood that each of the one or more attacks could/will occur. In addition, the method may include assigning one or more attack type labels to the new vulnerability based on each attack type associated with the new vulnerability. The method also may also include generating a user interface to display the new vulnerability, each of the one or more attack type labels, and the likelihood that each of the one or more attacks occur.


In other embodiments, the method further can include determining, based on each attack type associated with the new vulnerability and the likelihood that each of the one or more attacks will occur, a severity of the new vulnerability. In another embodiment, the extraction of each of the one or more vulnerability features into one or more inputs may utilize one-hot encoding. In some embodiments, the one or more inputs include topic detection or topic mapping, through which a series of topics defining a topic vector are selected or generated, with each topic having at least one numerical feature extraction. The topics can include a selected number of topics derived from text extracted from the description of the vulnerability (e.g. using Natural Language Processing (NLP) to generate topics based on text derived from prior vulnerabilities). The topics can be developed using machine learning models to create the series of different/separate topics.


In embodiments, the new vulnerability and one or more vulnerability features associated with the new vulnerability may be obtained from the National Vulnerability Database (NVD) and potentially from other sources such as security analysis. The one or more attack type classifiers may be trained via a machine learning model with known vulnerabilities, associated known attack types, and associated other one or more vulnerability features. For example, the machine learning model can be trained using data (e.g. historical data) relating to prior topic determinations for similar vulnerabilities; by past exploitations available for vulnerabilities, and by input/review of historical data relating to which known vulnerabilities have been attacked by which known attacks to create labels for such attacks for use by the machine learning model.


In embodiments, the method also may include identifying and/or associating one or more known attacks for a new vulnerability or known vulnerabilities, and based on the identified known attack(s), assigning a label associated with the known attack to the new vulnerability or known vulnerabilities. The label may indicate that the known attack has occurred for the new vulnerability or known vulnerabilities, such as in relation to a user or a third party. The method may further include determining remedial procedures to be performed in response to the known attack.


In another embodiment, an output of the attack likelihood classifier includes a probability represented by a number between 0.0 and 1.0. A 0.0 may indicate the lowest likelihood that the attack will occur for the vulnerability, while a 1.0 may indicate the highest likelihood that the attack will occur for the vulnerability. The one or more vulnerability features may include one or more of a vulnerability description, a list of one or more vulnerable products, vulnerable configurations, a list or one or more references mentioning the vulnerability, a Bugtraq identifier, a CVSS score, and other CVSS metrics.


In other embodiments, the extraction of each of the one or more vulnerability features into one or more inputs, further may include application of a vulnerability description included in the one or more vulnerability features to a topic model thereby forming a topic vector. The topic vector may include a selected number of topics, for example, at least 20-30 topics, or more each topic represented by a value between 0.0 and 1.0. The number of topics can be selected to ensure a substantial sample size for each vulnerability.


In other aspects, the present disclosure provides a system for prediction of attack types and an attack type likelihood that such attacks will be used against or to exploit a vulnerability identified in a monitored computer system, network, services, etc . . . . In embodiments, the system includes an attack class predictor. For example, the attack class predictor may include a plurality of attack likelihood classifiers. Each attack likelihood classifier can be associated with a distinct attack type and the attack class predictor is configured to obtain a new vulnerability and associated therewith vulnerability features. The attack class predictor can be configured to extract the associated vulnerability features into one or more inputs. The attack class predictor can be configured to submit the one or more intermediate inputs to each of the one or more attack likelihood classifiers, each configured to generate an output indicating the probability that each attack type will occur for the new vulnerability. An output of the attack likelihood classifier may be a value indicating the likelihood or probability that each identified/associated attack type will occur for the new vulnerability. The system further will include an input/output circuitry. The input/output circuitry may be configured to generate a display including vulnerability data in a readable format. The vulnerability data may include one or more of the new vulnerability, the associated vulnerability features, each attack type associated with the new vulnerability, and the likelihood or probability that the attack type will occur.


In embodiments, each attack type associated with a new vulnerability is indicated by an attack type label, and the attack type circuitry further may be configured to receive a notice, report, or other indication that a particular attack type is associated with the new vulnerability from one or more public or private exploit databases or repositories. In response to reception of such an indication, associate the particular attack type to the new vulnerability. In embodiments, an attack type may be associated with a new vulnerability by setting a bit to a value if 1.0, the bit being associated with an attack type label of the attack type.


In embodiments, each of the plurality of attack likelihood classifiers may be trained via a supervised machine learning model. In another embodiment, each of the plurality of attack likelihood classifiers may be trained with training data including one or more known vulnerabilities associated with a particular attack type and each of the one or more known vulnerabilities' features. In another embodiment, the display may be transmitted to a graphical user interface (GUI), the GUI including vulnerability management and remediation data and statistics.


In other aspects, the present disclosure can provide a non-transitory machine-readable storage medium storing processor-executable instructions or programming that, when executed by at least one processor, causes the at least one processor to obtain a new vulnerability and associated vulnerability features. The executed instructions may further pre-process the associated vulnerability features to form one or more inputs provided or supplied to one or more attack type classifiers that are configured to identify one or more attack types associated with the vulnerability. The executed instructions apply, for each of the one or more attack types, the one or more inputs and one of the one or more attack types associated with the vulnerability to an attack likelihood classifier to thereby determine a probability that the identified attack type is likely to occur. This step can be repeated for each identified attack type for the vulnerability. The executed instructions also may generate a display including then new vulnerability, the associated vulnerability features, each of the one or more attack types associated with the new vulnerability, and the probability that each of the one or more attack type is likely to occur.


In another embodiment, the new vulnerability may be obtained from one or more of public repositories, private repositories, and other private sources. In another embodiment, the pre-processing may include one or more of applying vulnerability descriptions to a topic model, determining a character length of the vulnerability's description, determining a number of vulnerable products, determining a number of vulnerable configurations, determining a number of references mentioning the vulnerability, setting a bit to 1.0 if a Bugtraq identifier exists, and assigning a numerical value to CVSS metrics.


In other aspects, in order to improve the prioritization of vulnerabilities that can render information handling systems open to attacks, the present disclosure provides systems and methods for identifying and associating attack types with vulnerabilities and predicting a likelihood or probability of such attacks occurring for each attack type associated with such vulnerabilities. For example, such attacks can include an attack through malware, Advanced Persistent Threats (APT), direct exploitation by a malicious actor, published exploits or weaponized exploits, or other attack types. System supervised machine learning modules or engines, programmed with a combination of prediction models, where each model is trained using features associated with known vulnerabilities to predict one specific type of attack, are utilized. The combination of the output of these models gives the predicted type(s) of attack of a vulnerability. While some previous work built models that predict if an attack will occur or not, such models described herein predict the type(s) of attack(s) targeting vulnerabilities, as well as the likelihood such an attack(s) will occur.


In an embodiment, a first step of the method consists in building the features which will be used by the predictive models. The features are based upon a combination of properties associated with a vulnerability, along with a generation of topics from the textual vulnerability descriptions. These topics are identified through the use of a topic model, a natural language processing algorithm, which identifies the underlying concepts of a corpus of text. This model outputs a list of topics, represented as a series of words and their importance as a number between 0 and 1, along with the importance of these topics for every vulnerability, as a fixed-length vector of the number of topics for exploit prediction. Following this, supervised learning is used to train a predictive model for each class, i.e., each type of attack, using historical attack, malware, and exploit data as labels for vulnerabilities. Each model is trained on historical data using the features previously built, and the combination of all model prediction outputs identifies the predicted type(s) of attack. A vulnerability can have multiple labels: it can be predicted as used in one type of attack, used in multiple attacks, or used in none. Further, each attack can have a different likelihood or probability of actually occurring. Once these models are trained, they are then used as part of a cybersecurity platform/service, such as Taegis VDR® from SecureWorks, Inc., on every new or newly published vulnerability in order to predict if it will be seen in any type of attack in the near future.


Various objects, features and advantages of the present disclosure will become apparent to those skilled in the art upon a review of the following detail description, when taken in conjunction with the accompanying drawings.





BRIEF DESCRIPTION OF THE DRAWINGS

It will be appreciated that for simplicity and clarity of illustration, elements illustrated in the Figures are not necessarily drawn to scale. For example, the dimensions of some elements may be exaggerated relative to other elements. Embodiments incorporating teachings of the present disclosure are shown and described with respect to the drawings herein, in which:



FIG. 1 is a schematic diagram of a data center including a networked system of information handling systems, according to one aspect of the present disclosure.



FIG. 2A is a schematic diagram of a system for identifying cybersecurity vulnerability details and features and for predicting a likelihood each of one or more attack types and occur, according to one aspect of the present disclosure.



FIG. 2B is another schematic diagram of a system to predict a likelihood each of one or more attack types occur, according to one aspect of the present disclosure.



FIG. 3 is a schematic diagram illustrating a flow of information into system. Such as shown in FIG. 2A or 2B.



FIG. 4 is a schematic diagram of an attack class predictor, according to one aspect of the present disclosure.



FIGS. 5A and 5B are schematic diagrams of a system to train an attack type classifier and/or an attack likelihood classifier, according to one aspect of the present disclosure.



FIGS. 6A and 6B are methods/processes for predicting one or more attack types and a likelihood each of the one or more attack types occur, according to one aspect of the present disclosure.



FIG. 7 is a schematic diagram of an information handling system capable of administering each of the specific embodiments, according to one aspect of the present disclosure.





The use of the same reference symbols in different drawings indicates similar or identical items.


DETAILED DESCRIPTION

The following description in combination with the figures is provided to assist in understanding the teachings disclosed herein. The description is focused on specific implementations and embodiments of the teachings, and is provided to assist in describing the teachings. This focus should not be interpreted as a limitation on the scope or applicability of the teachings.


As shown in FIGS. 1-7, the present disclosure includes systems and methods for determining one or more attack types and a likelihood of an attack to occur for a new or newly identified/published vulnerability. For example, data or data sets from external sources (e.g. external databases, National Vulnerability Database (NVD), Bugtraq, etc.) or internal sources (e.g., security specialists, internal databases or repositories, etc.) can identify vulnerabilities. The new cybersecurity vulnerabilities for information handling systems can be received/obtained and interpreted, analyzed, modeled, etc. to determine one or more attack types associated with a new vulnerability or newly identified vulnerabilities (e.g., an attack type which can be used to exploit such a vulnerability) and the likelihood that the one or more attack types can occur.


The term “computing device” or “system device” is used herein to refer to any one or all of programmable logic controllers (PLCs), programmable automation controllers (PACs), industrial computers, desktop computers, personal data assistants (PDAs), laptop computers, tablet computers, smart books, palm-top computers, personal computers, smartphones, wearable devices (such as headsets, smartwatches, or the like), and similar electronic devices equipped with at least a processor and any other physical components necessarily to perform the various operations described herein. Devices such as smartphones, laptop computers, tablet computers, and wearable devices are generally collectively referred to as mobile devices.


The term “server” or “server device” is used to refer to any computing device capable of functioning as a server, such as a master exchange server, web server, mail server, document server, or any other type of server. A server may be a dedicated computing device or a server module (e.g., an application) hosted by a computing device that causes the computing device to operate as a server. A server module (e.g., server application) may be a full function server module, or a light or secondary server module (e.g., light or secondary server application) that is configured to provide synchronization services among the dynamic databases on computing devices. A light server or secondary server may be a slimmed-down version of server type functionality that can be implemented on a computing device, such as a smart phone, thereby enabling it to function as an Internet server (e.g., an enterprise e-mail server) only to the extent necessary to provide the functionality described herein.


The term “non-transitory machine-readable storage medium” is used to refer to any electronic, magnetic, optical, or other physical storage apparatus to contain or store information such as executable instructions, data, and the like. For example, any machine-readable storage medium described herein may be any of random access memory (RAM), volatile memory, non-volatile memory, flash memory, a storage drive (e.g., hard drive), a solid state drive, any type of storage disc, and the like, or a combination thereof. The memory may store or include instructions executable by the processor.


The term “processor” or “processing circuitry” is used to refer to any one processor or multiple processors included in a single device or distributed across multiple computing devices. The processor may be at least one of a central processing unit (CPU), a semiconductor-based microprocessor, a graphics processing unit (GPU), a field-programmable gate array (FPGA) to retrieve and execute instructions, a real time processor (RTP), other electronic circuitry suitable for the retrieval and execution instructions stored on a machine-readable storage medium, or a combination thereof.


The term “computer security vulnerability” is used to refer to a weakness or exploitable portion in software or instructions. Such a weakness can be used to attack software or instructions, user, or a computing device hosting the software or instructions. The term “exploit” is used to refer to a portion of code, instructions, or software written to abuse or take advantage of a vulnerability for the gain of the attacker.


The term “malware” is used to refer to malicious software or instructions installed on a user's computing device, typically without the knowledge of the user or without the user's knowledge of the malicious intent, which may cause damage or is harmful to the computing device or the user. The term “Advanced Persistent Threats” (APT) is used to refer to advanced and targeted attacks by malicious actors, often including a highly stealthy approach.


The term “direct exploitation by an attacker” is used to refer to an attack consisting of an attacker directly attacking a vulnerability without the use of any software or instructions.


The term “Common Vulnerabilities and Exposures” (CVE) is used to refer to numbers and/or identifiers assigned to vulnerabilities to uniquely identify them. CVEs are a free and open standard used by the cybersecurity community. Each vulnerability may be assigned a unique CVE number. The term “Common Vulnerability Scoring System” (CVSS) is used to refer to a free and open industry standard, identifying vulnerabilities by a score between 0 and 10 and other individual metrics, used for assessing the severity of security vulnerabilities. The CVSS identifies a number of metrics or characteristics to gauge the severity of a vulnerability. Each new vulnerability published with a CVE score includes a CVSS score. The term “Bugtraq” is used to refer to an electronic mailing list dedicated to computer security issues.



FIG. 1 is a block diagram of an exemplary data center 10 that may be managed or partially managed by a vulnerability management system. As shown in FIG. 1, the data center 10 can include a network 12 that may provide communications among a plurality of information handling systems 14, which can include work stations, personal computers, smart cellular telephones, personal digital assistants, laptop computers, servers, computing devices, other suitable devices, and/or combinations thereof. The information handling systems 14 further can be coupled to the network 12 through wired line connections 16, wireless connections 18, or any other suitable lines of communication or connection. As further shown in FIG. 1, the data center 10, and/or one or more of the information handling systems 14 thereof, can be communicatively coupled to a network, including a cloud based or other network as shown at 12 or 20 in FIG. 1, for example, through wired line connection 16, or through any other suitable connection, such as a wireless connection 18 (e.g., WiFi, cellular, etc.). The network 12 further can be accessible to/by one or more user or client managed information handling systems or devices 22 to facilitate communication between the client managed information handling systems 22 and the data center 10 managed or partially managed by a vulnerability management system. The network 12 can include an API interface of the vulnerability management system, though the network can include any suitable network, such as the Internet or other wide area network, a local area network, or a combination of networks, and may provide communications, e.g., data communications, among the vulnerability management system and the client managed information handling systems 22.


The client managed information handling systems 22 can be connected to the network 20 through wired connections, e.g., an Ethernet cable, or other suitable wired or wireless connections 18, e.g., WiFi, Bluetooth®, cellular connections (e.g., 3G, 4G, LTE, 5G, etc.), other suitable wireless connections or combinations thereof (FIG. 1), to enable the clients or operators of information handling systems 22 to communicate with the vulnerability management service, e.g., to access one or more services provided thereby. For example, the vulnerability management service can be a web service, such as Taegis VDR® from SecureWorks, Inc.


For purposes of the present disclosure, the information handling systems 14/22 may include any instrumentality or aggregate of instrumentalities operable to compute, calculate, determine, classify, process, transmit, receive, retrieve, originate, switch, store, display, communicate, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, or other purposes. In one embodiment, the information handling systems may include a storage, such as random access memory (RAM) or (ROM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, ROM, and/or other types of nonvolatile memory. Additional components of the information handling system may include one or more disk drives, one or more network ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, touchscreen and/or a video display. The information handling systems also may include one or more buses operable to transmit communications between the various hardware components.



FIGS. 2A-2B are schematic diagrams illustrating non-limiting example configurations of an attack type detection and production system predicting one or more attack types and a likelihood each of the one or more attack types occur. An attack predictor system 202 can be configured to identify cybersecurity vulnerabilities of information handling systems and, according to aspects of the present disclosure, likelihood of the cybersecurity vulnerabilities occurring. For example, the attack system 200 of FIG. 2A-2B may be implemented in or by the information handling system 10 (e.g. in hardware or memory) of FIG. 1. In one embodiment, the attack system 200, as illustrated in FIG. 2A, includes a system device 202, a storage device 204, a communications network 206, and client devices 208A, 208B, up to 208N. The attack predictor system 202 may further be connected to a number of private and/or public databases, repositories, or other data sources. The attack predictor system 202 may monitor each of the client devices 208A, 208B, up to 208N, and other data sources for new vulnerabilities. The attack predictor system 202 may include various modules, engines, or circuitry, such as an attack class predictor 220 and/or an input/output module or 214. Each module may include corresponding instructions and may comprise hardware (e.g., one or more predictor processors and memory and/or other circuitry) or a portion of hardware in the attack predictor system 202. In another embodiment, the modules or circuitry may include, rather than physical components, specific instructions stored in memory of the attack predictor system 202 and/or in the storage device 204.


As noted, the attack predictor system 202 includes an attack class predictor 220 or engine. The attack class predictor 220 may be configured to monitor various data sources, described above and herein, for new vulnerabilities. For example, the attack class predictor 220 may monitor the National Vulnerability Database (NVD) and/or Bugtraq communications, as well as monitoring data received at the input/output module 214 from other data sources and/or client devices 208A, 208B, up to 208N. For example, the attack class predictor 220 may include an application program interface (API) configured to allow users to send data, in particular new vulnerabilities, to the attack type identifier module 210. In such examples, a user may discover a vulnerability and send such information, for example via email or via a graphical user interface (GUI) or web-based user interface (WUI), to the attack class predictor 220 for classification and/or to generate predictions and notify one or more client devices 208A, 208B, up to 208N. Such notifications can be sent to a range of client devices or to a selected subset thereof. Further, the determinations or analysis described herein may automatically occur, as the attack class predictor 220 discovers new vulnerabilities, or may occur on demand, as the attack class predictor 220 is sent a request or sent a new vulnerability. The attack class predictor 220 may include, as instructions, one or more attack type or likelihood classifiers, as will be described in further detail below, to determine whether a particular attack is associated with or likely to occur/be exploited in relation to a new vulnerability. The attack class predictor 220 may also include pre-processing and/or feature extraction instructions utilized to process data and/or features associated with a new vulnerability prior to application to the one or more attack type classifiers. Such pre-processing and/or feature extraction instructions may include forming, based on the vulnerability features, one or more intermediate inputs.


In embodiments and as noted above, the attack class predictor 220 includes instructions to receive a new vulnerability and the one or more intermediate inputs, and generates a probability value indicating a probability of each of a series of attack types occurring or being brought against the new vulnerability as an output therefrom. In other embodiments, a plurality of attack class predictors or classifiers are included in the attack class predictor system 202. Each of the attack class predictors or classifiers may be based on a particular type of attack and will each determine a likelihood that a particular attack associated with that attack class predictor may occur or be brought against or used to exploit the new vulnerability based on the one or more intermediate inputs and one of the types of attack associated with the attack likelihood classifier. Each of the attack class predictors or classifiers can generate a probability value indicating such a likelihood or probability of that particular attack type occurring with respect to the new vulnerability as an output therefrom. Such actions may occur, as noted, for each type of known attack type.


Once the likelihood or probability that each of the attack types may occur is determined, based upon this probability output, each type of attack associated with the new vulnerability will be identified. Each attack class predictor 220 further will be configured to determine a severity of each associated attack type or an overall severity of the new vulnerability. Such a severity may be determined based on the amount of attack types, the type of each attack type, the likelihood that each of the attack types may occur, whether a solution exists in relation to the vulnerability and any attack type, and/or the types of existing solutions. The determined severity values for each associated attack type further can be used to rank the likelihood of each such attack type occurring or being brought against the vulnerability. In addition, as a further output based upon the determined severity of the vulnerability a notification can be provided to a user interface or a portion of user interface. The notification will include the new vulnerability, the associated vulnerability features, the assigned one or more attack type labels, the likelihood that each attack may occur, and the severity of the vulnerability. In an embodiment, such an attack class predictor 220 may be offered as a service by a vulnerability management service.



FIG. 2A is schematic illustration of another configuration or non-limiting example embodiment of the attack predictor system 202 configured to predict one or more attack types and a likelihood each of the one or more attack types occur, according to one aspect of the present disclosure. The attack predictor system of FIG. 2B may be implemented in or by the information handling system 10 of FIG. 1. Similar to FIG. 2A, the attack predictor system 202 may include instructions in a memory or other storage 204 related to the attack class predictor 220. The memory 205 may store such instructions, as well as other data 222 or instructions. The attack predictor system 202 may connect to various internal or external databases 224, repositories, or data sources.



FIG. 3 schematically illustrates the operation of the attack predictor system 202 in accordance with the principles of present disclosure. In one embodiment, as a new vulnerability or newly identified vulnerability is received by the attack predictor system 202, details 300 of the new or newly identified vulnerability are identified and extracted or segregated. For example, the vulnerability details, as illustrated at 300, will include a description of the vulnerability 302, a list of vulnerable products 304, a list of vulnerable configurations 306, a list of references 308, and further can include a Bugtraq ID 310, and a CVSS score 312 (e.g. a common vulnerability scoring system score of typically between 1 to 10). Other details or aspects of the vulnerability also can be captured and extracted by the attack predictor system 202. The description 302 of the vulnerability can be taken from a listing of such a newly identified or new vulnerability as provided by an outside source (e.g. external databases, National Vulnerability Database (NVD), Bugtraq, etc.) or internal sources (e.g., security specialists, internal databases or repositories, etc.). In addition, prior vulnerabilities from a selected time period, (e.g. 10 years, 20 years, or other time period) can be utilized to identify descriptions common with past identified vulnerabilities and to extract or develop common textural identifiers, including words, phrases, or other identifiers.


Such vulnerability details 300 are used to generate a series of vulnerability features 320 that will be used by the predictive models or engines of a labeling system or module 330 to develop labels to identify attacks likely to be associated with or brought against the new or newly identified vulnerability. Each of the features 320 generally will comprise or include a combination of properties associated with a vulnerability, along with generation of a topic vector including a series of topics 322 generated from the recognized/selected text from the vulnerability description 302. In an example embodiment as shown in FIG. 3, a series of topics 322, including approximately 30 topics is illustrated, although it will be understood that a greater or lesser number of topics also can be developed or generated. Each of the topics are identified through the use of a topic model, which can include a natural language processing algorithm configured to identify an underlying concept of a corpus of extracted text from each of the vulnerability descriptions. The topic model can then output a listing of topics, e.g. topic 1 through topic 30, each of which topics can be represented by a series of words and each of which can be ranked according to an importance value. In embodiments, the ranking of the topics can be illustrated as a number between 0.0 and 1.0. The identified or extracted/selected topics, along with the rankings of the importance of such topics for each vulnerability identified will be provided with a series of additional selected features to a labeling system 330, which will be used to further train a machine learning model 350.


As further illustrated in FIG. 3, additional features of the vulnerability details that can be developed can include a description length 323, e.g. a selected number or length of character strings for a description; a number of vulnerable products identified 324, e.g. various programs such as email, inventory control, spreadsheets, etc. with known vulnerabilities; a number of vulnerable configurations or versions 325; a number of references 326 regarding each vulnerability; whether a Bugtraq ID 327 exists; and a CVSS score 328, which can include a series of CVSS scores for each feature identified 329. Other features the vulnerabilities identified and the details thereof further can be used.


The labeling system or module 330 will receive the vulnerability features 320, including the series of topics 322 and rankings thereof, as well as the additional set of features including description length 323, number of vulnerable products 324, number of vulnerable configurations 325, a number of references 326, whether a Bugtraq ID 327 exists, and CVSS score(s) 328. The labeling system or module 330 further can exploit other sources for information or data relating to the vulnerability features. For example, the labeling system or module 330 can access historical databases or receive inputs from such databases or other information sources for data regarding exploitation of similar vulnerabilities in the past (see 332). In addition, internal threat intelligence systems 334, such as provided by a managed security service provide (MSSP) reviewing incoming data for threats, further can provide inputs into the labeling system or module 330. The labeling system or module 330 will review the incoming information or data regarding the features of each vulnerability, together with the additional information or data, such as historical vulnerability exploitation data and threat intelligence data provided by an MS SP or other internal source, based on which vulnerabilities have been attacked by which types of attacks, and create labels identifying the various types of attacks and their association with a particular vulnerability. The labels also can include a ranking or likelihood for each attack occurring against the vulnerability. This information will then be used to train the machine learning model 350.



FIG. 4 is a schematic diagram of the attack class predictor 220, according to one aspect of the present disclosure. The attack class predictor 220 may include sub-circuits or sub-instructions or routines. The attack class predictor 220 may include a pre-processing pipeline or feature extraction module 404 or instructions. The pre-processing pipeline or feature extraction module 404 or instructions may be configured to pre-process or extract features from an input 402. The input 402 may include a one or more vulnerability features of a new vulnerability. The one or more features may include a vulnerability description, vulnerable products, vulnerable configurations, references mentioning the vulnerability, a Bugtraq identifier, a CVSS score, CVSS metrics, other relevant data, or some combination thereof. In an embodiment, the pre-processing pipeline or feature extraction module 404 or instructions may include a topic classifier. The vulnerability description may be applied to the topic classifier and one or more topics may be output. In an example, the output may be a topic vector.


In a further example, the topic vector may include a particular topic and an associated number or weight. In yet another example, the topic vector may be a two dimensional matrix including a series of at least 30 numbers between 0 and 1, each number indicating a particular topic. The pre-processing pipeline or feature extraction module 404 or instructions may additionally include numerical feature extraction instructions. The numerical feature extraction instructions may take the vulnerability features as an input and output a vector or series of numbers associated with each vulnerability feature. For example, the output may include a number calculated or determined based on the character length of the vulnerability's description, a number calculated or determined based on the number of vulnerable products, a number calculated or determined based on the number of vulnerable configurations, a number calculated or determined based on the number of references that mention the vulnerability, a 1 or a 0 based on if a Bugtraq identification exists, the CVSS score, and a number determined based on CVSS metrics. Such an output may be considered one or more intermediate inputs, in relation to classifiers or machine learning models utilized in the attack class predictor 220.


Once one or more intermediate inputs are determined, the one or more intermediate inputs may be applied to one or more attack likelihood classifiers 408A, 408B, up to 408N. Each of the one or more attack likelihood classifiers 408A, 408B, up to 408N may correspond to a particular type of attack. In other words, each attack likelihood classifiers 408A, 408B, up to 408N may correspond to and provide a probability or likelihood that a particular attack may occur. In another embodiment, one attack likelihood classifier may be utilized to provide one or more probabilities that one or more attack types may occur. The output of the one or more attack type classifiers 408A, 408B, up to 408N may be a number indicating whether that particular attack type is associated with the new vulnerability.


Once the one or more intermediate inputs are applied to the one or more attack likelihood classifiers 408A, 408B, up to 408N, the one or more attack likelihood classifiers 408A, 408B, up to 408N may output a probability indicating a likelihood that a particular attack may occur for the new vulnerability. Each of the resulting outputs of each of the one or more attack type classifiers 408A, 408B, up to 408N, along with the one or more intermediate inputs and/or the input 402, may be transmitted to a post-processing module 412.


In an embodiment, the post-processing module 412 may aggregate the results of the application of data to the classifiers described above. In another embodiment, the post-processing module 412 may assign a particular attack type label or tag to a new vulnerability. The label or tag may include the attack type's name and likelihood that the attack type will occur. The post-processing module 412 may additionally format the labels or tags, such that the labels and tags may be displayed in a user interface in a readable and/or user friendly format for the new vulnerability. The post-processing module 412 may additionally determine the severity of the vulnerability based on the type of attacks for a new vulnerability, the number of attacks for the new vulnerability, and/or the likelihood that an attack may occur in relation to the new vulnerability.


In an embodiment, a new vulnerability may include or be associated with a known attack.


In such embodiments, the known attack may be considered to have the highest probability of occurring in relation to the new vulnerability. As such, rather than applying the intermediate input to the one or more attack likelihood classifiers 410A, 410B, or 410N, the likelihood of such an attack may be set to 1. In another example, a known vulnerability associated with a number of attack types and corresponding likelihoods may be updated based on such an input (e.g., an attack actually occurring for the known vulnerability). In such examples, the attack that has occurred may be set to 1 or a 100% likelihood that the attack will occur.



FIGS. 5A and 5B are schematic diagrams of a system 500 to train one or more attack likelihood classifier, according to one aspect of the present disclosure. Various data sources, such as the NVD 508, a private/internal database 510 or repository, and/or a public database 512 or repository, may be utilized to generate a set of training data 502. Such a set of training data 502 may include large amounts of data points. For example, the set of training data 502 may include about 150,000 vulnerabilities and associated vulnerability features, in addition to different attack types known to occur for such vulnerabilities. It will be understood that more or less data may be utilized to train the classifiers.


Once a set of training data 502 is obtained or determined, the set of training data 502 may be transmitted to a pre-process to a pre-processing pipeline and/or feature extraction module 504. The pre-processing pipeline and/or feature extraction module 504 may operate or be configured to operate as described for the pre-processing pipeline and/or feature extraction module 404. In other words, the pre-processing pipeline and/or feature extraction module 504 may be the same as the pre-processing pipeline and/or feature extraction module 404. As noted above the pre-processing pipeline and/or feature extraction module 504 may include a topic classifier 514 and/or a numerical feature extraction module 516. The topic classifier 514 may determine the topics associated with a set of data based on the description of the vulnerability, using topic detection or topic mapping, through which a series of topics defining a topic vector are selected or generated, with each topic having at least one numerical feature extraction. In embodiments, the topics built or generated by the machine learning model. However, in some embodiments, it could be possible to use topics established from an external source, which can be provided or received as an added feature, in addition to or separate from the machine learning model generated topics, without being generated from the machine learning model.


The output of the pre-processing pipeline and/or feature extraction module 504 may then be utilized, with a machine learning model 506, to train a specific attack type classifier and/or an attack likelihood classifier. For example, the set of training data 502 may include data associated with a specific or particular attack type. As such, the output classifier may be associated with that specific or particular attack type. In an embodiment, the machine learning model 506 may comprise a single machine learning model or an ensemble machine learning method. The machine learning model may include a neural network model, a Naïve Bayes model, a linear regression model, a logistic regression model, a support vector machine, a decision tree based model, or a k-nearest. An ensemble machine learning method may include two or more of the machine learning models described above or other machine learning models as will be understood by a person skilled in the art. Further, the ensemble machine learning model may utilize various methods to combine the output of a particular supervised machine learning model, such as bagging, boosting, stacking, Bayesian model averaging, Bayesian model combination, or a bucket of models. Other types of machine learning models or ensemble machine learning methods may be utilized, as will be understood by a person skilled in the art. Other methods may be utilized to weight, classify, or categorize the vulnerability features or one or more intermediate inputs prior to training a classifier or applying the data to a classifier, such as one-hot encoding.



FIGS. 6A and 6B illustrate method/process steps for identifying and predicting one or more attack types and a likelihood each of the one or more attack types will occur for new and newly identified vulnerabilities, according to aspects of the present disclosure. It also will be understood that any of the FIGS. described herein may implement the method 600, in particular FIGS. 1-4.


At block 602, a system device, a processor, or an attack class predictor module or engine monitors various data sources for new vulnerabilities. The monitoring may be performed continuously or periodically. In embodiments, the attack class predictor module or engine may accept, as an input, new vulnerabilities. For example, if a user and/or security analyst discovers a vulnerability, the user and/or security analyst may provide or send the new vulnerability to the system device, a processor, or an attack class predictor module or engine. As such, the system device, a processor, or an attack class predictor module or engine may include an API, such as an open API, a REST or RESTful API, JSON or XML API, a SOAP API, or other suitable API as will be understood by a person skilled in the art. For example, a user may submit a new vulnerability via email, via a webform, via an HTTP or HTTPS put or post command, or via other suitable methods.


At block 604, once a specified time period or interval passes, the class predictor module or engine may determine whether a new vulnerability has been detected. In another embodiment, block 602 and block 604 may occur at substantially the same time or near the same time, as such processes may be continuous, e.g., a continuous determination of new vulnerabilities discovered.


At block 606, if a new vulnerability has been detected, the class predictor module or engine may obtain or receive the associated vulnerability features. The vulnerability features may be received as a list or set of data including identified or extracted text or other reference identifiers for the vulnerability details.


At block 608, text of the vulnerability description can be applied, transmitted, or provided as an input to a topic model. Such an application may result in topic vectors, as described above. The topic vectors may include a number of key topics and associated weights, e.g., represented as a number 0 to 1. The number of key topics may include at least 30 key topics. It will be understood that more or less key topics may be used. The key topics may describe or generalize key features of a vulnerabilities. The combination of key topics and weights may indicate which attacks may apply to such a vulnerability, at least, when applied to a classifier, e.g., a machine learning trained model.


At block 610, the system extracts numerical features from the vulnerability features. In such process, the system will determine or calculate a number for each vulnerability feature. Such a number may include values from 0 to 1. Other number ranges may be utilized. For example, the CVSS score may be utilized as is, rather than be converted or normalized to a number from 0 to 1. Once the numerical features are extracted and the topic vector is generated, the numerical features and topic vector may be aggregated to form an intermediate input or one or more intermediate inputs.


At block 612, the system will apply, transmit, or provide as an input (determined at block 612), the topic vectors and numerical features to an attack likelihood classifier or class predictor or a first attack likelihood classifier or class predictor. Such an application may result in an output that indicates the likelihood that an attack associated with the attack likelihood classifier or class predictor may occur in relation to the vulnerability.


At block 614, a determination is made as to whether there are any remaining attack types associated with any other attack likelihood classifier or class predictor. In other words, the system device, a processor, or an attack likelihood circuitry may implement an iterative process or loop that applies the topic vectors and numerical features to one or more attack likelihood classifiers or class predictors, each associated with a particular, different, and/or distinct attack type (see block 616). In some embodiments, the topic vectors and numerical features, may be applied to each attack likelihood classifier or class predictor in parallel with or at substantially the same time as the other attack likelihood classifiers or class predictors. The resulting output of a such a process results in a list of attack types and the likelihood that each attack type may occur in relation to the vulnerability.


Thereafter, of block 618, an attack type label or tag and an associated likelihood that such an attack may occur in relation to the new vulnerability will be assigned to or associate with the new vulnerability.


At block 620, the system also may determine, based on the vulnerability features and likelihood that particular attack types may occur, a solution or remedial action associated with such a vulnerability. For example, if an application includes a newly discovered vulnerability, a solution or remedial action may include to disable the application, downgrade the application, upgrade the application, or uninstall the application, in addition to other suitable actions. The system device, a processor, or an attack likelihood classifier or class predictor may determine such a solution based on the severity of the vulnerability.


At block 622, a severity or criticality of the vulnerability, and potentially each attack associated therewith can be provided, based on the number of associated attack types and the likelihood that each attack may occur, among other factors.


At block 624, a GUI or portion of a GUI may be generated to display the new vulnerability, the associated vulnerability features, the attack type labels (including the likelihood an attack may occur), a vulnerability solution (if available), and/or the severity of the vulnerability.



FIG. 7 shows an example of an information handling system 700 capable of administering each of the specific embodiments of the present disclosure and variations thereof. The information handling system 700 can represent the systems of FIGS. 1 through 5B. The information handling system 700 may include a computer system or processor 702 such as a central processing unit (CPU), a graphics processing unit (GPU), or both. Moreover, the information handling system 700 can include a main memory 704 and a static memory 707 that can communicate with each other via a bus 708. The information handling system 700 includes near-field communications (NFC) device and interface 718, such as an antenna and NFC subsystem. The information handling system 700 can also include a disk drive unit 716, and a network interface device 720. As shown, the information handling system 700 further may include a video display unit 710, such as a liquid crystal display (LCD), an organic light emitting diode (OLED), a flat panel display, a solid state display, or a cathode ray tube (CRT), or other suitable display. The video display unit 710 may also act as an input accepting touchscreen inputs. Additionally, the information handling system 700 may include an input device 712, such as a keyboard, or a cursor control device, such as a mouse or touch pad, or a selectable interface on the display unit. The information handling system may include a battery system 714. The information handling system 700 can represent a device capable of telecommunications and whose can be share resources, voice communications, and data communications among multiple devices. The information handling system 700 can also represent a server device whose resources can be shared by multiple client devices, or it can represent an individual client device, such as a laptop or tablet personal computer.


The information handling system 700 can include a set of instructions that can be executed to cause the processor to perform any one or more of the methods or computer based functions disclosed herein. The processor 702 may operate as a standalone device or may be connected such as using a network, to other computer systems or peripheral devices.


In a networked deployment, the information handling system 700 may operate in the capacity of a server or as a client user computer in a server-client user network environment, or as a peer computer system in a peer-to-peer (or distributed) network environment. The information handling system 700 can also be implemented as or incorporated into various devices, such as a personal computer (PC), a tablet PC, a set-top box (STB), a smartphone, a PDA, a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a wireless telephone, a land-line telephone, a control system, a camera, a scanner, a facsimile machine, a printer, a pager, a personal trusted device, a web appliance, a network router, switch or bridge, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. In a particular embodiment, the computer system 700 can be implemented using electronic devices that provide voice, video or data communication. Further, while a single information handling system 700 is illustrated, the term “system” shall also be taken to include any collection of systems or subsystems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions.


The disk drive unit 716 or static memory 714 may include a computer-readable medium 722 in which one or more sets of instructions 724 such as software can be embedded. The disk drive unit 716 or static memory 714 also contains space for data storage. Further, the instructions 724 may embody one or more of the methods or logic as described herein. In a particular embodiment, the instructions 724 may reside completely, or at least partially, within the main memory 704, the static memory 706, and/or within the processor 702 during execution by the information handling system 700. The main memory 704 and the processor 702 also may include computer-readable media. The network interface device 720 can provide connectivity to a network 726, e.g., a wide area network (WAN), a local area network (LAN), wireless network (IEEE 702), or other network. The network interface 720 may also interface with macrocellular networks including wireless telecommunications networks such as those characterized as 2G, 3G, 4G, 5G, LTE or similar wireless telecommunications networks similar to those described above. The network interface 720 may be a wireless adapter having antenna systems 732 for various wireless connectivity and radio frequency subsystems 730 for signal reception, transmission, or related processing.


In an alternative embodiment, dedicated hardware implementations such as application specific integrated circuits, programmable logic arrays and other hardware devices can be constructed to implement one or more of the methods described herein. Applications that may include the apparatus and systems of various embodiments can broadly include a variety of electronic and computer systems. One or more embodiments described herein may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that can be communicated between and through the modules, or as portions of an application-specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations. In accordance with various embodiments of the present disclosure, the methods described herein may be implemented by software programs executable by a computer system. Further, in an exemplary, non-limited embodiment, implementations can include distributed processing, component/object distributed processing, and parallel processing. Alternatively, virtual computer system processing can be constructed to implement one or more of the methods or functionality as described herein.


The present disclosure contemplates a computer-readable medium that includes instructions 724 or receives and executes instructions 724 responsive to a propagated signal; so that a device connected to a network 728 can communicate voice, video or data over the network 728. Further, the instructions 724 may be transmitted or received over the network 728 via the network interface device 720. In a particular embodiment, BIOS/FW code 724 reside in memory 704, and include machine-executable code that is executed by processor 702 to perform various functions of information handling system 700.


Information handling system 700 includes one or more application programs 724, and Basic Input/Output System and Firmware (BIOS/FW) code 724. BIOS/FW code 724 functions to initialize information handling system 700 on power up, to launch an operating system, and to manage input and output interactions between the operating system and the other elements of information handling system 700.


In another embodiment (not illustrated), application programs and BIOS/FW code reside in another storage medium of information handling system 700. For example, application programs and BIOS/FW code can reside in drive 716, in a ROM (not illustrated) associated with information handling system 700, in an option-ROM (not illustrated) associated with various devices of information handling system 700, in storage system 707, in a storage system (not illustrated) associated with network channel 720, in another storage medium of the information handling system 700, or a combination thereof. Application programs 724 and BIOS/FW code 724 can each be implemented as single programs, or as separate programs carrying out the various features as described herein.


While the computer-readable medium is shown to be a single medium, the term “computer-readable medium” includes a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions. The term “computer-readable medium” shall also include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by a processor or that cause a computer system to perform any one or more of the methods or operations disclosed herein.


In a particular non-limiting, exemplary embodiment, the computer-readable medium can include a solid-state memory such as a memory card or other package that houses one or more non-volatile, read-only memories. Further, the computer-readable medium can be a random access memory or other volatile re-writable memory. Additionally, the computer-readable medium can include a magneto-optical or optical medium, such as a disk or tapes or other storage device to store information received via carrier wave signals such as a signal communicated over a transmission medium. Furthermore, a computer readable medium can store information received from distributed network resources such as from a cloud-based environment. A digital file attachment to an e-mail or other self-contained information archive or set of archives may be considered a distribution medium that is equivalent to a tangible storage medium. Accordingly, the disclosure is considered to include any one or more of a computer-readable medium or a distribution medium and other equivalents and successor media, in which data or instructions may be stored.


In the embodiments described herein, an information handling system includes any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or use any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, an information handling system can be a personal computer, a consumer electronic device, a network server or storage device, a switch router, wireless router, or other network communication device, a network connected device (cellular telephone, tablet device, etc.), or any other suitable device, and can vary in size, shape, performance, price, and functionality.


The information handling system can include memory (volatile (such as random-access memory, etc.), nonvolatile (read-only memory, flash memory etc.), or any combination thereof), one or more processing resources, such as a central processing unit (CPU), a graphics processing unit (GPU), hardware or software control logic, or any combination thereof. Additional components of the information handling system can include one or more storage devices, one or more communications ports for communicating with external devices, as well as, various input and output (I/O) devices, such as a keyboard, a mouse, a video/graphic display, or any combination thereof. The information handling system can also include one or more buses operable to transmit communications between the various hardware components. Portions of an information handling system may themselves be considered information handling systems.


When referred to as a “device,” a “module,” or the like, the embodiments described herein can be configured as hardware. For example, a portion of an information handling system device may be hardware such as, for example, an integrated circuit (such as an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a structured ASIC, or a device embedded on a larger chip), a card (such as a Peripheral Component Interface (PCI) card, a PCI-express card, a Personal Computer Memory Card International Association (PCMCIA) card, or other such expansion card), or a system (such as a motherboard, a system-on-a-chip (SoC), or a stand-alone device).


The device or module can include software, including firmware embedded at a device, such as a Pentium class or PowerPC™ brand processor, or other such device, or software capable of operating a relevant environment of the information handling system. The device or module can also include a combination of the foregoing examples of hardware or software. Note that an information handling system can include an integrated circuit or a board-level product having portions thereof that can also be any combination of hardware and software.


Devices, modules, resources, or programs that are in communication with one another need not be in continuous communication with each other, unless expressly specified otherwise. In addition, devices, modules, resources, or programs that are in communication with one another can communicate directly or indirectly through one or more intermediaries.


The foregoing description generally illustrates and describes various embodiments of the present disclosure. It will, however, be understood by those skilled in the art that various changes and modifications can be made to the above-discussed construction of the present disclosure without departing from the spirit and scope of the disclosure as disclosed herein, and that it is intended that all matter contained in the above description or shown in the accompanying drawings shall be interpreted as being illustrative, and not to be taken in a limiting sense. Furthermore, the scope of the present disclosure shall be construed to cover various modifications, combinations, additions, alterations, etc., above and to the above-described embodiments, which shall be considered to be within the scope of the present disclosure. Accordingly, various features and characteristics of the present disclosure as discussed herein may be selectively interchanged and applied to other illustrated and non-illustrated embodiments of the disclosure, and numerous variations, modifications, and additions further can be made thereto without departing from the spirit and scope of the present invention as set forth in the appended claims.

Claims
  • 1. A method for prediction of an attack for a vulnerability of an information handling system, comprising: receiving a disclosure of a new vulnerability, the disclosure comprising a plurality of vulnerability details;in response to receipt of the disclosure of the new vulnerability, developing one or more vulnerability features associated with the plurality of vulnerability details;providing the vulnerability features as one or more intermediate inputs to attack type classifiers configured to thereby determine, for each of a plurality of attack types, a probability of an occurrence of at least one of the plurality of attack types;if the probability of the occurrence of the attack type exceeds a selected threshold value, associating the at least one of the plurality of attack types with the new vulnerability;determining a likelihood of each attack type associated with the new vulnerability; andassigning one or more attack type labels to the new vulnerability based on each attack type associated with the new vulnerability.
  • 2. The method of claim 1, further comprising; determining, based on each attack type associated with the new vulnerability a severity of each attack type associated with the new vulnerability.
  • 3. The method of claim 1, wherein the vulnerability features include a series of topics, each topic having a numerical value assigned thereto.
  • 4. The method of claim 3, wherein the topics are extracted from text of a description included as part of the vulnerability details of the disclosure of the new vulnerability.
  • 5. The method of claim 1, further comprising generating a user interface to display the new vulnerability, each of the one or more attack type labels, and the likelihood that each of the attack types associated with the new vulnerability may occur.
  • 6. The method of claim 1, wherein receiving a disclosure of a new vulnerability comprises receiving the disclosure of the new vulnerability from a National Vulnerability Database (NVD).
  • 7. The method of claim 1, wherein the one or more attack type classifiers are trained via a machine learning model with known vulnerabilities and known attack types associated with each of the known vulnerabilities.
  • 8. The method of claim 1, wherein associating the at least one of the plurality of attack types with the new vulnerability further comprises: associating a known attack for the new vulnerability based upon known attacks associated with known vulnerabilities matching extracted features of the new vulnerability having text descriptions;based on the known attack, assigning a label associated with the known attack to the new vulnerability or known vulnerabilities, the label indicating that the known attack has occurred for the new vulnerability or known vulnerabilities; anddetermining remedial procedures to be performed in response to the known attack.
  • 9. The method of claim 1, wherein the one or more vulnerability features includes one or more of a vulnerability description, vulnerable products, vulnerable configurations, references mentioning the vulnerability, a Bugtraq identifier, a CVSS score, and CVSS metrics.
  • 10. The method of claim 1, wherein developing each of the one or more vulnerability features into the one or more intermediate inputs includes application of a vulnerability description included in the one or more vulnerability features to a topic model thereby forming a topic vector including a plurality of topics, each topic represented by a value between 0 and 1.
  • 11. A system for prediction of an attack for a vulnerability of an information handling system, the system comprising: an attack class predictor including a plurality of attack likelihood classifiers, each attack likelihood classifier associated with a distinct attack type and the attack class predictor configured to: obtain a new vulnerability having a plurality of vulnerability details, including a vulnerability description,extract a series of vulnerability features associated with the vulnerability details into one or more intermediate inputs, andsubmit the one or more intermediate inputs to each of the one or more attack likelihood classifiers, each configured to generate an output indicating a probability that each attack type will occur for the new vulnerability; andan input/output circuitry configured to generate a display including vulnerability data in a readable format, wherein the vulnerability data includes an identification of the new vulnerability, the associated vulnerability features, each attack type, and the probability that each attack type will occur for the new vulnerability.
  • 12. The system of claim 11, wherein each attack type associated with the new vulnerability is indicated by an attack type label.
  • 13. The system of claim 12, wherein the display is transmitted to a graphical user interface (GUI), the GUI including vulnerability management and remediation data and statistics.
  • 14. The system of claim 11, wherein the attack class predictor is further configured to: receive an indication that a particular attack type is associated with the new vulnerability from one or more public or private exploit databases or repositories, andin response to reception of the indication, associate the particular attack type to the new vulnerability.
  • 15. The system of claim 14, wherein each attack type is associated with the new vulnerability by setting a bit to 1, the bit associated with an attack type label of the attack type.
  • 16. The system of claim 11, wherein each of the plurality of attack likelihood classifiers are trained by a supervised machine learning model, and/or using training data of one or more known vulnerabilities associated with a particular attack type and one or more known vulnerabilities' features.
  • 17. A non-transitory machine-readable storage medium storing processor-executable instructions that, when executed by at least one processor, cause the at least one processor to: obtain a disclosure of new vulnerability including a plurality of associated vulnerability details, the vulnerability details including at least one of a description, a list of vulnerable products, a list of vulnerable configurations, a list of references, an ID, a CVSS score, or combinations thereof;using the associated vulnerability details, develop a series of vulnerability features associated with the new vulnerability, the vulnerability features including at least a plurality of topics;input the one or more vulnerability features to one or more attack class predictors and identifying one or more attack types associated with the new vulnerability;generate an attack type label for each of the one or more attack types associated with the new vulnerability, and determine a probability one of each of the identified one or more attack types is likely to occur for the new vulnerability; andgenerate a notification including the new vulnerability and the vulnerability features associated with the new vulnerability, each of the identified attack types associated with the new vulnerability, and the probability that each of identified attack types is likely to occur.
  • 18. The non-transitory machine-readable storage medium of claim 17, wherein the new vulnerability is obtained from one or more of public repositories, private repositories, and other private sources.
  • 19. The non-transitory machine-readable storage medium of claim 18, wherein pre-processing includes one or more of applying vulnerability descriptions to a topic model, determining a character length of the vulnerability's description, determining a number of vulnerable products, determining a number of vulnerable configurations, determining a number of references mentioning the vulnerability, setting a bit to 1 if a Bugtraq identifier exists, and assigning a numerical value to CVSS metrics.
US Referenced Citations (408)
Number Name Date Kind
5937066 Gennaro et al. Aug 1999 A
6357010 Viets et al. Mar 2002 B1
7269578 Sweeney Sep 2007 B2
7331061 Ramsey et al. Feb 2008 B1
7492957 Bonhaus Feb 2009 B1
7548932 Horvitz et al. Jun 2009 B2
7555482 Korkus Jun 2009 B2
7571474 Ross et al. Aug 2009 B2
7594270 Church et al. Sep 2009 B2
7606801 Faitelson et al. Oct 2009 B2
7613722 Horvitz et al. Nov 2009 B2
7770031 MacKay et al. Aug 2010 B2
7841008 Cole Nov 2010 B1
7856411 Darr Dec 2010 B2
7926113 Gula et al. Apr 2011 B1
8037529 Chiueh Oct 2011 B1
8079081 Lavrik et al. Dec 2011 B1
8082506 McConnell Dec 2011 B1
8122495 Ramsey et al. Feb 2012 B2
8156553 Church et al. Apr 2012 B1
8327419 Korablev et al. Dec 2012 B1
8407335 Church et al. Mar 2013 B1
8490193 Sarraute et al. Jul 2013 B2
8490196 Lucangeli et al. Jul 2013 B2
8522350 Davenport et al. Aug 2013 B2
8539575 Schmitlin et al. Sep 2013 B2
8578393 Fisher Nov 2013 B1
8595170 Gladstone et al. Nov 2013 B2
8621618 Ramsey et al. Dec 2013 B1
8701176 Ramsey et al. Apr 2014 B2
8793786 Bhesania et al. Jul 2014 B2
8805881 Hom et al. Aug 2014 B2
8832048 Lim Sep 2014 B2
8839414 Mantle et al. Sep 2014 B2
8898777 Oliver Nov 2014 B1
8909673 Faitelson et al. Dec 2014 B2
8931095 Ramsey et al. Jan 2015 B2
8938802 Davenport et al. Jan 2015 B2
8959115 Marathe Feb 2015 B2
8984644 Oliphant et al. Mar 2015 B2
9009828 Ramsey et al. Apr 2015 B1
9032478 Ballesteros et al. May 2015 B2
8928476 Jerhotova et al. Jun 2015 B2
9046886 Chong et al. Jun 2015 B2
9047336 Hom et al. Jun 2015 B2
9058492 Satish Jun 2015 B1
9069599 Martinez et al. Jun 2015 B2
9098702 Rubin et al. Aug 2015 B2
9129105 Donley et al. Sep 2015 B2
9130988 Seifert et al. Sep 2015 B2
9137262 Qureshi et al. Sep 2015 B2
9191400 Ptasinski et al. Nov 2015 B1
9195809 Kaplan Nov 2015 B1
9275231 Chen Mar 2016 B1
9298895 Lim Mar 2016 B2
9319426 Webb et al. Apr 2016 B2
9338134 Yin May 2016 B2
9338180 Ramsey et al. May 2016 B2
9430534 Bhattacharya et al. Aug 2016 B2
9438563 Yin Sep 2016 B2
9438623 Thioux Sep 2016 B1
9519756 Bitran et al. Dec 2016 B2
9544273 Fleury et al. Jan 2017 B2
9548994 Pearcy et al. Jan 2017 B2
9558352 Dennison et al. Jan 2017 B1
9560062 Khatri et al. Jan 2017 B2
9560068 Figlin et al. Jan 2017 B2
9596252 Coates et al. Mar 2017 B2
9628511 Ramsey et al. Apr 2017 B2
9667656 Banerjee et al. May 2017 B2
9667661 Sharma et al. May 2017 B2
9690938 Saxe et al. Jun 2017 B1
9710672 Braun Jul 2017 B2
9712549 Almurayh Jul 2017 B2
9742559 Christodorescu et al. Aug 2017 B2
9767302 Lim Sep 2017 B2
9792443 Sheridan Oct 2017 B1
9805202 Medeiros et al. Oct 2017 B2
9825989 Mehra Nov 2017 B1
9910986 Saxe Mar 2018 B1
9934376 Ismael Apr 2018 B1
9973524 Boyer et al. May 2018 B2
9998480 Gates Jun 2018 B1
10038706 Mekky Jul 2018 B2
10050992 Thyni et al. Aug 2018 B2
10063582 Feng et al. Aug 2018 B1
10114954 Bellis Oct 2018 B1
10116500 Long et al. Oct 2018 B1
10218733 Amidon Feb 2019 B1
10270790 Jackson Apr 2019 B1
10277625 Efstathopoulos Apr 2019 B1
10311231 Kayyoor et al. Jun 2019 B1
10348747 Yamada Jul 2019 B2
10356125 Goutal et al. Jul 2019 B2
10382473 Ashkenazy Aug 2019 B1
10382489 Das et al. Aug 2019 B2
10419903 Singh et al. Sep 2019 B2
10425223 Roth et al. Sep 2019 B2
10454950 Aziz Oct 2019 B1
10474813 Ismael Nov 2019 B1
10474820 Manadhata Nov 2019 B2
10491632 Natarajan et al. Nov 2019 B1
10521584 Sharifi Mehr Dec 2019 B1
10558809 Joyce Feb 2020 B1
10567407 Tang et al. Feb 2020 B2
10594713 McLean Mar 2020 B2
10601865 Mesdaq et al. Mar 2020 B1
10642753 Steinberg May 2020 B1
10691810 Freitag Jun 2020 B1
10726127 Steinberg Jul 2020 B1
10728263 Neumann Jul 2020 B1
10735470 Vidas et al. Aug 2020 B2
10754958 Sidagni Aug 2020 B1
10762206 Titonis et al. Sep 2020 B2
10785238 McLean et al. Sep 2020 B2
10834128 Rajogopalan et al. Nov 2020 B1
10841337 Kinder Nov 2020 B2
10853431 Lin et al. Dec 2020 B1
10855717 Feiman Dec 2020 B1
10868825 Dominessy Dec 2020 B1
10915828 Qhi Feb 2021 B2
10944758 Nagargadde Mar 2021 B1
11003718 McLean et al. May 2021 B2
11038920 Sellers Jun 2021 B1
11044263 McLean et al. Jun 2021 B2
11113086 Steinberg Sep 2021 B1
11140193 Patel Oct 2021 B2
11165862 Austin et al. Nov 2021 B2
11275831 Aouad et al. Mar 2022 B1
11552979 Soudhamma Jan 2023 B1
11562076 El-Moussa Jan 2023 B2
11693972 Nunes Jul 2023 B2
11757907 Berger Sep 2023 B1
11863577 Miseiko Jan 2024 B1
20020129135 Delany et al. Sep 2002 A1
20020199122 Davis Dec 2002 A1
20040128543 Blake Jul 2004 A1
20050015382 Aaron Jan 2005 A1
20050060295 Gould et al. Mar 2005 A1
20050138204 Iyer et al. Jun 2005 A1
20050138413 Lippmann Jun 2005 A1
20050166072 Converse Jul 2005 A1
20050288939 Peled et al. Dec 2005 A1
20060012815 Ebner et al. Jan 2006 A1
20060021046 Cook Jan 2006 A1
20060021048 Cook Jan 2006 A1
20060037076 Roy Feb 2006 A1
20060195575 Delany et al. Aug 2006 A1
20060253447 Judge Nov 2006 A1
20070067848 Gustave Mar 2007 A1
20070143852 Keanini Jun 2007 A1
20070169199 Quinnell Jul 2007 A1
20070192867 Miliefsky Aug 2007 A1
20070226248 Darr Sep 2007 A1
20070226807 Ginter et al. Sep 2007 A1
20070294756 Fetik Dec 2007 A1
20080077593 Abrams et al. Mar 2008 A1
20080219334 Brainos et al. Sep 2008 A1
20080255997 Bluhm et al. Oct 2008 A1
20080262991 Kapoor Oct 2008 A1
20080301798 Hao Dec 2008 A1
20080320000 Gaddam Dec 2008 A1
20090038015 Diamant Feb 2009 A1
20090113550 Costa Apr 2009 A1
20090198682 Buehler et al. Aug 2009 A1
20100083374 Schmitlin et al. Apr 2010 A1
20100125913 Davenport et al. May 2010 A1
20100251329 Wei et al. Sep 2010 A1
20110004771 Matsushima et al. Jan 2011 A1
20110179492 Markopoulou et al. Jul 2011 A1
20110197056 Chen Aug 2011 A1
20110276604 Hom et al. Nov 2011 A1
20110276716 Coulson Nov 2011 A1
20120072983 McCusker et al. Mar 2012 A1
20120117640 Ramsey et al. May 2012 A1
20120185275 Loghmani Jul 2012 A1
20120222122 Das Aug 2012 A1
20120233699 Jajodia Sep 2012 A1
20120246730 Raad Sep 2012 A1
20120254333 Chandramouli Oct 2012 A1
20120260341 Chan et al. Oct 2012 A1
20130104191 Peled et al. Apr 2013 A1
20130138428 Chandramouli May 2013 A1
20130173620 Takenouchi Jul 2013 A1
20130226938 Risher et al. Aug 2013 A1
20130238319 Minegishi et al. Sep 2013 A1
20130282746 Balko et al. Oct 2013 A1
20130291103 Davenport et al. Oct 2013 A1
20130318604 Coates et al. Nov 2013 A1
20140041028 Ramsey et al. Feb 2014 A1
20140047544 Jakobsson Feb 2014 A1
20140047545 Sidagni Feb 2014 A1
20140051432 Gupta et al. Feb 2014 A1
20140137257 Martinez May 2014 A1
20140143863 Deb et al. May 2014 A1
20140165195 Brdiczka et al. Jun 2014 A1
20140165204 Williams Jun 2014 A1
20140181981 Christodorescu Jun 2014 A1
20140222712 Samaha et al. Aug 2014 A1
20140283081 Sheridan Sep 2014 A1
20140283083 Gula Sep 2014 A1
20140331207 Sridharan Nov 2014 A1
20140373151 Webb et al. Dec 2014 A1
20150019323 Goldberg et al. Jan 2015 A1
20150040225 Coates et al. Feb 2015 A1
20150074390 Stoback Mar 2015 A1
20150135287 Medeiros et al. May 2015 A1
20150135320 Coskun May 2015 A1
20150156212 Khatri et al. Jun 2015 A1
20150186618 Poorvin et al. Jul 2015 A1
20150222652 Ramsey et al. Aug 2015 A1
20150271047 McLean Sep 2015 A1
20150310211 Mei et al. Oct 2015 A1
20150324457 McLean Nov 2015 A1
20150332054 Eck Nov 2015 A1
20150365437 Bell, Jr. Dec 2015 A1
20160006749 Cohen et al. Jan 2016 A1
20160014140 Akireddy et al. Jan 2016 A1
20160014151 Prakash Jan 2016 A1
20160078365 Baumard Mar 2016 A1
20160099963 Mahaffey et al. Apr 2016 A1
20160112445 Abramowitz Apr 2016 A1
20160134653 Vallone May 2016 A1
20160139886 Perdriau et al. May 2016 A1
20160156655 Lotem et al. Jun 2016 A1
20160162690 Reith Jun 2016 A1
20160182546 Coates et al. Jun 2016 A1
20160205127 Roehl Jul 2016 A1
20160241591 Ramsey et al. Aug 2016 A1
20160248789 Nakamatsu Aug 2016 A1
20160253497 Christodorescu Sep 2016 A1
20160277423 Apostolescu et al. Sep 2016 A1
20160313709 Biesdorf et al. Oct 2016 A1
20160337400 Gupta Nov 2016 A1
20160342805 Lim Nov 2016 A1
20160378978 Singla et al. Dec 2016 A1
20170026343 Wardman Jan 2017 A1
20170026391 Abu-Nimeh Jan 2017 A1
20170063893 Franc et al. Mar 2017 A1
20170063905 Muddu et al. Mar 2017 A1
20170093902 Roundy et al. Mar 2017 A1
20170098087 Li Apr 2017 A1
20170111379 Khatri et al. Apr 2017 A1
20170140295 Bandara May 2017 A1
20170142149 Coates et al. May 2017 A1
20170169154 Lin et al. Jun 2017 A1
20170171228 McLean Jun 2017 A1
20170180418 Shen Jun 2017 A1
20170201381 Kinder et al. Jul 2017 A1
20170201431 Kinder et al. Jul 2017 A1
20170201490 Kinder et al. Jul 2017 A1
20170201548 Kinder et al. Jul 2017 A1
20170208084 Steelman et al. Jul 2017 A1
20170208085 Steelman et al. Jul 2017 A1
20170243004 Kinder et al. Aug 2017 A1
20170243005 Kinder et al. Aug 2017 A1
20170243009 Sejpal Aug 2017 A1
20170244734 Kinder et al. Aug 2017 A1
20170244750 Kinder et al. Aug 2017 A1
20170244754 Kinder et al. Aug 2017 A1
20170244762 Kinder et al. Aug 2017 A1
20170318033 Holland et al. Nov 2017 A1
20170318034 Holland et al. Nov 2017 A1
20170346839 Peppe Nov 2017 A1
20170359368 Hodgman Dec 2017 A1
20180004948 Martin Jan 2018 A1
20180069885 Patterson Mar 2018 A1
20180077189 Doppke et al. Mar 2018 A1
20180077195 Gathala Mar 2018 A1
20180089574 Goto Mar 2018 A1
20180091306 Antonopoulos et al. Mar 2018 A1
20180096140 Bulygin Apr 2018 A1
20180103010 Diaz Cuellar et al. Apr 2018 A1
20180124073 Scherman et al. May 2018 A1
20180124085 Frayman et al. May 2018 A1
20180124092 Pope May 2018 A1
20180124094 Hamdi May 2018 A1
20180129811 Diu May 2018 A1
20180152480 Kinder et al. May 2018 A1
20180181599 Crabtree et al. Jun 2018 A1
20180219899 Joy Aug 2018 A1
20180234434 Viljoen Aug 2018 A1
20180288198 Pope et al. Oct 2018 A1
20180324203 Estes Nov 2018 A1
20180367550 Musuvathi et al. Dec 2018 A1
20190014149 Cleveland et al. Jan 2019 A1
20190037406 Wash Jan 2019 A1
20190050554 Fiske Feb 2019 A1
20190068630 Valecha et al. Feb 2019 A1
20190095320 Biswas et al. Mar 2019 A1
20190095801 Saillet et al. Mar 2019 A1
20190102554 Luo et al. Apr 2019 A1
20190102564 Li Apr 2019 A1
20190102646 Redmon Apr 2019 A1
20190104154 Kumar et al. Apr 2019 A1
20190109717 Reddy Apr 2019 A1
20190122258 Bramberger et al. Apr 2019 A1
20190132344 Lem et al. May 2019 A1
20190166149 Gerrick May 2019 A1
20190166152 Steele May 2019 A1
20190173919 Irimie Jun 2019 A1
20190242718 Siskind et al. Aug 2019 A1
20190258807 DiMaggio et al. Aug 2019 A1
20190297096 Ahmed et al. Sep 2019 A1
20190342296 Anandam et al. Nov 2019 A1
20190347423 Sanossian Nov 2019 A1
20190347433 Chakravorty et al. Nov 2019 A1
20190370472 Hodgman Dec 2019 A1
20200012796 Trepagnier Jan 2020 A1
20200036750 Bahnsen Jan 2020 A1
20200036751 Kohavi Jan 2020 A1
20200057857 Roytman Feb 2020 A1
20200067980 Livny Feb 2020 A1
20200074084 Dorrans Mar 2020 A1
20200082080 Boulton Mar 2020 A1
20200097662 Hufsmith Mar 2020 A1
20200097663 Sato Mar 2020 A1
20200110873 Rosendahl Apr 2020 A1
20200120126 Ocepek Apr 2020 A1
20200159525 Bhalla May 2020 A1
20200177618 Hassanzadeh Jun 2020 A1
20200186544 Dichiu et al. Jun 2020 A1
20200186569 Milazzo Jun 2020 A1
20200195683 Kuppa et al. Jun 2020 A1
20200210590 Doyle Jul 2020 A1
20200213346 Shafet Jul 2020 A1
20200257792 Rivard Aug 2020 A1
20200259791 Garcia et al. Aug 2020 A1
20200274894 Argoeti et al. Aug 2020 A1
20200285737 Kraus Sep 2020 A1
20200285952 Liu et al. Sep 2020 A1
20200314122 Jones et al. Oct 2020 A1
20200327237 Shakarian Oct 2020 A1
20200336497 Seul et al. Oct 2020 A1
20200351285 Eisenkot et al. Nov 2020 A1
20200351302 Kyle Nov 2020 A1
20200351307 Vidas et al. Nov 2020 A1
20200356665 Denney et al. Nov 2020 A1
20200358795 Urbanski et al. Nov 2020 A1
20200358819 Bowditch et al. Nov 2020 A1
20200364338 Ducau et al. Nov 2020 A1
20200372129 Gupta Nov 2020 A1
20200380119 Correa Bahnsen et al. Dec 2020 A1
20200394309 Angelo et al. Dec 2020 A1
20210006575 McLean et al. Jan 2021 A1
20210012012 Soroush Jan 2021 A1
20210034752 Canada Feb 2021 A1
20210034753 Canada Feb 2021 A1
20210034895 John Archibald Feb 2021 A1
20210067562 Kinder et al. Mar 2021 A1
20210103663 Gadhe Apr 2021 A1
20210109797 Zhou Apr 2021 A1
20210112078 Huston, III Apr 2021 A1
20210112087 Tassoumt Apr 2021 A1
20210112090 Rivera et al. Apr 2021 A1
20210133320 Havenga May 2021 A1
20210157926 Handurukande May 2021 A1
20210157945 Cobb May 2021 A1
20210160273 Choi May 2021 A1
20210173930 Dahal Jun 2021 A1
20210173935 Ramasamy Jun 2021 A1
20210185057 McLean Jun 2021 A1
20210192057 Helfman Jun 2021 A1
20210194853 Xiao Jun 2021 A1
20210200840 Kannan Jul 2021 A1
20210216928 O'Toole Jul 2021 A1
20210226926 Crabtree Jul 2021 A1
20210226970 Ross et al. Jul 2021 A1
20210226982 Marty Jul 2021 A1
20210226983 Cunningham Jul 2021 A1
20210258327 Felke et al. Aug 2021 A1
20210273957 Boyer Sep 2021 A1
20210281609 Crabtree Sep 2021 A1
20210306372 Koral Sep 2021 A1
20210312058 Chiarelli Oct 2021 A1
20210312351 Pourmohammad Oct 2021 A1
20210342441 Ross Nov 2021 A1
20210360007 Paquin Nov 2021 A1
20210367961 Kuppa Nov 2021 A1
20210390181 McClay Dec 2021 A1
20220004643 Sloane Jan 2022 A1
20220006818 Cunningham Jan 2022 A1
20220014542 Janakiraman Jan 2022 A1
20220021691 Bhatkar Jan 2022 A1
20220038424 Liu et al. Feb 2022 A1
20220043911 Pomerantsev Feb 2022 A1
20220070182 Bowditch et al. Mar 2022 A1
20220070193 Konda et al. Mar 2022 A1
20220070279 Pang Mar 2022 A1
20220078203 Shakarian Mar 2022 A1
20220083644 Kulshreshtha Mar 2022 A1
20220100868 Tarrant Mar 2022 A1
20220159033 Mizrahi May 2022 A1
20220179908 Wei Jun 2022 A1
20220191230 Morgan Jun 2022 A1
20220206819 Pokam Jun 2022 A1
20220210656 Shaw Jun 2022 A1
20220237764 Mullet Jul 2022 A1
20220263850 Colyandro, Jr. Aug 2022 A1
20220394034 Keith Dec 2022 A1
20220400135 Gamra Dec 2022 A1
20220407891 Albanese Dec 2022 A1
20220414206 Hinkle Dec 2022 A1
20230021226 Bobrov Jan 2023 A1
20230021414 Kumar Jan 2023 A1
20230105087 Borges Apr 2023 A1
20230370486 Paquette et al. Nov 2023 A1
20230421578 Mullins et al. Dec 2023 A1
Foreign Referenced Citations (6)
Number Date Country
3599753 Jan 2020 EP
2738344 Dec 2020 RU
WO2007002749 Jan 2007 WO
WO2007090605 Aug 2007 WO
WO2010059843 May 2010 WO
WO2021067238 Apr 2021 WO
Non-Patent Literature Citations (24)
Entry
Sabottke, Carl, Suciu, Octavian and Dumitras, Tudor; “Vulnerability Disclosure in the Age of Social Media: Exploiting Twitter for Predicting Real-World Exploits”; 24th USENIX Security Symposium; Aug. 12-14, 2015, Washington, D.C. ; USENIX Association; 2015.
Bozorgi, Mehran, Saul, Lawrence K., Savage, Stefan.and Voelker, Geoffrey M; “Beyond Heuristics: Learning to Classify Vulnerabilities and Predict Exploits”; in Proceedings of the 16th ACM SIGKDD international conference on Knowledge discovery and data mining—KDD '10, Jul. 25-28, 2010, Washington, DC, USA.
Edkrantz, Michel and Said, Alan; “Predicting Cyber Vulnerability Exploits with Machine Learning”; Available at: https://ebooks.jospress.nl/publication/41264; vol. 278, Thirteenth Scandinavin Conference on Artificial Intelligence; 2015.
Bullough, Benjamin L., et al. “Predicting Exploitation of Disclosed Software Vulnerabilities Using Open-source Data”; arXiv:1707.08015v1 [cs.CR] Jul. 25, 2017.
Fang, Yong, et al.; “FastEmbed: Predicting vulnerability exploitation possibility based on ensemble machine learning algorithm.” PLOS ONE 15.2 (2020): https://doi.org/10.1371/journal.pone.0228439; Feb. 6, 2020.
Huang, Shin-Ying and Ban, Tao; “Monitoring Social Media for Vulnerability-Threat Prediction and Topic Analysis”; Available at: https://ieeexplore.ieee.org/abstract/document/9343128; 2020 IEEE 19th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom). IEEE, 2020.
Edkrantz, Michel; Predicting Exploit Likelihood for Cyber Vulnerabilities with Machine Learning; Department of Computer Science and Engineering; Chalmers University of Technology, Gothenburg, Sweden; Master's Thesis. 2015.
Almukaynizi, Mohammed, et al.; “Proactive Identification of Exploits in the Wild Through Vulnerability Mentions Online”; IEEE, 2017.
Xiao, Chaowei, et al.; “From Patching Delays to Infection Symptoms: Using Risk Profiles for an Early Discovery of Vulnerabilities Exploited in the Wild”; 27th USENIX Security Symposium Aug. 15-17, 2018, Baltimore, MD, USA; USENEX Association; 2018.
Tavabi, Nazgol, et al.; “DarkEmbed: Exploit Prediction with Neural Language Models”; The Thirtieth AAAI Conference on Innovative Applications of Artificial Intelligence (IAAI-18); 2018.
Jacobs, Jay, et al. “Improving vulnerability remediation through better exploit prediction”; Journal of Cybersecurity, 2020, 1-12; doi: 10.1093/cybse c/tya a015; https://academic.oup.com/cybersecurity/article/6/1/tyaa015/5905457; Published by Oxford University Press; 2020.
Yin, Jiao, et al. “Apply transfer learning to cybersecurity: Predicting exploitability of vulnerabilities by description”; Knowledge-Based Systems 210, Dec. 27, 2020: 106529. Available at: https://www.sciencedirect.com/science/article/abs/pii/S0950705120306584.
Suciu, Octavian, et al. “Expected Exploitability: Predicting the Development of Functional Vulnerability Exploits.” arXiv:2102.07869v1 [cs.CR]; Feb. 15, 2021.
Afroz, S. and Greenstadt, R. “PhishZoo: Detecting Phishing Websites by Looking at Them”; IEEE Fifth International Conference on Semantic Computing, 2011; pp. 368-375; doi: 10.1109/ICSC.2011.52; 2011.
Alkhawlani, Mohammed, Elmogy, Mohammed and Elbakry, Hazem; “Content-based image retrieval using local features descriptors and bag-of-visual words”; International Journal of Advanced Computer Science and Applications, vol. 6 No. 9 2015; pp. 212-219; 2015.
Buber, E., Demir, O. and Sahingoz, O.K.; “Feature selections for the machine learning based detection of phishing websites”; 2017 International Artificial Intelligence and Data Processing Symposium (IDAP), 2017; pp. 1-5; doi: 10.1109/DAP.2017.8090317; 2017.
Lin, Tsung-Yi, et al.; “Microsoft coco: Common objects in context”; European Conference on Computer Vision, Springer, Cham, 2014; 2014.
Liu, Y., Wang, Q., Zhuang, M. and Zhu, Y.; Reengineering Legacy Systems with RESTFul Web Service; 2008 32nd Annual IEEE International Computer Software and Applications Conference, 2008; pp. 785-790; doi: 10.1109/COMPSAC.2008.89; 2008.
White, Joshua S., Matthews, Jeanna N., and Stacy, John L.; A method for the automated detection phishing websites through both site characteristics and image analysis Cyber Sensing 2012; vol. 8408; International Society for Optics and Photonics, 2012; 2012.
URLVoid; URLVoid.com; retrieved from archives.org: https:web.archive.org/web/20180730215132/https.://www.urlvoid.com/); Published Jul. 30, 2018.
International Search Report and The Written Opinion of the International Searching Authority; International Application No. PCT/US2022/036699; mailed Jan. 3, 2023.
Buyukkayhan, Ahmet Sali; Oprea, Alina; Li, Zhou; and Robertson, William; “Lens on the endpoint; Hunting for malicious software through endpoint data analysis”; International Symposium on Research in Attacks, Intrusions, and Defenses; RAID 2017: Research in Attacks, Intrusions, and Defenses Proceedings; pp. 73-79; Sep. 18-20, 2017; Atlanta, GA, USA.
Secureworks—Log Management—Protect your infrastructure from known and emerging threats; www.secureworks.com/resources/ds-log-management; 2015 (available).
Sofya Raskhodnikova & Adam Smith; CSE 598A Algorithmic Challenges in Data Privacy; Lecture 2; Jan. 19, 2010.
Related Publications (1)
Number Date Country
20230038196 A1 Feb 2023 US