A computer-implemented method, computer program product and computing system for: establishing connectivity with a plurality of security-relevant subsystems within a computing platform; and mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems.
Legal claims defining the scope of protection, as filed with the USPTO.
.-. (canceled)
. A computer-implemented method, executed on a computing device, comprising:
. The computer-implemented method of, further comprising:
. The computer-implemented method of, further comprising:
. The computer-implemented method of, further comprising:
. The computer-implemented method of, further comprising:
. The computer-implemented method of, further comprising:
. The computer-implemented method of, further comprising:
. The computer-implemented method of, further comprising:
. The computer-implemented method of, further comprising:
. The computer-implemented method of, further comprising:
. A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:
. The computer program product of, further comprising:
. The computer program product of, further comprising:
. The computer program product of, further comprising:
. The computer program product of, further comprising:
. The computer program product of, further comprising:
. The computer program product of, further comprising:
. The computer program product of, further comprising:
. The computer program product of, further comprising:
. The computer program product of, further comprising:
. A computing system including a processor and memory configured to perform operations comprising:
. The computing system of, further comprising:
. The computing system of, further comprising:
. The computing system of, further comprising:
. The computing system of, further comprising:
. The computing system of, further comprising:
. The computing system of, further comprising:
. The computing system of, further comprising:
. The computing system of, further comprising:
. The computing system of, further comprising:
Complete technical specification and implementation details from the patent document.
This application is a continuation of U.S. patent application Ser. No. 18/635,680 on 15 Apr. 2024, which is a continuation of U.S. patent application Ser. No. 17/729,221 filed on 26 Apr. 2022, which is a continuation of U.S. Patent Application Ser. No. 17/105, 125 filed on 25 Nov. 2020, which claims the benefit of U.S. Provisional Application No.: 62/940,733, filed on 26 Nov. 2019, the entire contents of which are herein incorporated by reference.
This disclosure relates to threat mitigation systems and, more particularly, to threat mitigation systems that utilize a universal query language.
In the computer world, there is a constant battle occurring between bad actors that want to attack computing platforms and good actors who try to prevent the same. Unfortunately, the complexity of such computer attacks in constantly increasing, so technology needs to be employed that understands the complexity of these attacks and is capable of addressing the same.
Threat mitigation systems may utilize and/or communicate with a plurality of security-relevant subsystems, wherein these security-relevant subsystems may gather information concerning such computer attacks. Unfortunately and in order to obtain such gathered information from these security-relevant subsystems, the user of the threat mitigation system would often be required to formulate a unique query for each security-relevant subsystem.
In one implementation, a computer-implemented method is executed on a computing device and includes: establishing connectivity with a plurality of security-relevant subsystems within a computing platform; and mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems.
One or more of the following features may be included. Mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems may include: mapping one or more data fields within a query structure of the unified platform to one or more data fields within a query structure of each of the plurality of security-relevant subsystems. Mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems may include: mapping one or more data fields within a result set structure of each of the plurality of security-relevant subsystems to one or more data fields within a result set structure of the unified platform. Mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems may include: mapping one or more data fields of the unified platform to one or more data fields of each of the plurality of security-relevant subsystems at a defined periodicity. Mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems may include: proactively mapping one or more data fields of the unified platform to one or more data fields of each of the plurality of security-relevant subsystems. Mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems may include: reactively mapping one or more data fields of the unified platform to one or more data fields of each of the plurality of security-relevant subsystems. A unified query may be defined on a unified platform concerning the plurality of security-relevant subsystems. The unified query may be denormalized to define a subsystem-specific query for each of the plurality of security-relevant subsystems, thus defining a plurality of subsystem-specific queries. The plurality of subsystem-specific queries may be provided to the plurality of security-relevant subsystems. A plurality of subsystem-specific results sets may be received from the plurality of security-relevant subsystems that were generated in response to the plurality of subsystem-specific queries. The plurality of subsystem-specific results sets received from the plurality of security-relevant subsystems may be normalized to define a unified result set. The unified result may be provided set to a third-party.
In another implementation, a computer program product resides on a computer readable medium and has a plurality of instructions stored on it. When executed by a processor, the instructions cause the processor to perform operations including: establishing connectivity with a plurality of security-relevant subsystems within a computing platform; and mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems.
One or more of the following features may be included. Mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems may include: mapping one or more data fields within a query structure of the unified platform to one or more data fields within a query structure of each of the plurality of security-relevant subsystems. Mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems may include: mapping one or more data fields within a result set structure of each of the plurality of security-relevant subsystems to one or more data fields within a result set structure of the unified platform. Mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems may include: mapping one or more data fields of the unified platform to one or more data fields of each of the plurality of security-relevant subsystems at a defined periodicity. Mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems may include: proactively mapping one or more data fields of the unified platform to one or more data fields of each of the plurality of security-relevant subsystems. Mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems may include: reactively mapping one or more data fields of the unified platform to one or more data fields of each of the plurality of security-relevant subsystems. A unified query may be defined on a unified platform concerning the plurality of security-relevant subsystems. The unified query may be denormalized to define a subsystem-specific query for each of the plurality of security-relevant subsystems, thus defining a plurality of subsystem-specific queries. The plurality of subsystem-specific queries may be provided to the plurality of security-relevant subsystems. A plurality of subsystem-specific results sets may be received from the plurality of security-relevant subsystems that were generated in response to the plurality of subsystem-specific queries. The plurality of subsystem-specific results sets received from the plurality of security-relevant subsystems may be normalized to define a unified result set. The unified result may be provided set to a third-party.
In another implementation, a computing system includes a processor and memory is configured to perform operations including: establishing connectivity with a plurality of security-relevant subsystems within a computing platform; and mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems.
One or more of the following features may be included. Mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems may include: mapping one or more data fields within a query structure of the unified platform to one or more data fields within a query structure of each of the plurality of security-relevant subsystems. Mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems may include: mapping one or more data fields within a result set structure of each of the plurality of security-relevant subsystems to one or more data fields within a result set structure of the unified platform. Mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems may include: mapping one or more data fields of the unified platform to one or more data fields of each of the plurality of security-relevant subsystems at a defined periodicity. Mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems may include: proactively mapping one or more data fields of the unified platform to one or more data fields of each of the plurality of security-relevant subsystems. Mapping one or more data fields of a unified platform to one or more data fields of each of the plurality of security-relevant subsystems may include: reactively mapping one or more data fields of the unified platform to one or more data fields of each of the plurality of security-relevant subsystems. A unified query may be defined on a unified platform concerning the plurality of security-relevant subsystems. The unified query may be denormalized to define a subsystem-specific query for each of the plurality of security-relevant subsystems, thus defining a plurality of subsystem-specific queries. The plurality of subsystem-specific queries may be provided to the plurality of security-relevant subsystems. A plurality of subsystem-specific results sets may be received from the plurality of security-relevant subsystems that were generated in response to the plurality of subsystem-specific queries. The plurality of subsystem-specific results sets received from the plurality of security-relevant subsystems may be normalized to define a unified result set. The unified result may be provided set to a third-party.
The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features and advantages will become apparent from the description, the drawings, and the claims.
Like reference symbols in the various drawings indicate like elements.
Referring to, there is shown threat mitigation process. Threat mitigation processmay be implemented as a server-side process, a client-side process, or a hybrid server-side/client-side process. For example, threat mitigation processmay be implemented as a purely server-side process via threat mitigation process. Alternatively, threat mitigation processmay be implemented as a purely client-side process via one or more of threat mitigation process, threat mitigation process, threat mitigation process, and threat mitigation process. Alternatively still, threat mitigation processmay be implemented as a hybrid server-side/client-side process via threat mitigation processin combination with one or more of threat mitigation process, threat mitigation process, threat mitigation process, and threat mitigation process. Accordingly, threat mitigation processas used in this disclosure may include any combination of threat mitigation processthreat mitigation process, threat mitigation process, threat mitigation process, and threat mitigation process.
Threat mitigation processmay be a server application and may reside on and may be executed by computing device, which may be connected to network(e.g., the Internet or a local area network). Examples of computing devicemay include, but are not limited to: a personal computer, a laptop computer, a personal digital assistant, a data-enabled cellular telephone, a notebook computer, a television with one or more processors embedded therein or coupled thereto, a cable/satellite receiver with one or more processors embedded therein or coupled thereto, a server computer, a series of server computers, a mini computer, a mainframe computer, or a cloud-based computing network.
The instruction sets and subroutines of threat mitigation processwhich may be stored on storage devicecoupled to computing device, may be executed by one or more processors (not shown) and one or more memory architectures (not shown) included within computing device. Examples of storage devicemay include but are not limited to: a hard disk drive; a RAID device; a random-access memory (RAM); a read-only memory (ROM); and all forms of flash memory storage devices.
Networkmay be connected to one or more secondary networks (e.g., network), examples of which may include but are not limited to: a local area network; a wide area network; or an intranet, for example.
Examples of threat mitigation processes,,,may include but are not limited to a client application, a web browser, a game console user interface, or a specialized application (e.g., an application running on e.g., the Android tm platform or the iOS tm platform). The instruction sets and subroutines of threat mitigation processes,,,, which may be stored on storage devices,,,(respectively) coupled to client electronic devices,,,(respectively), may be executed by one or more processors (not shown) and one or more memory architectures (not shown) incorporated into client electronic devices,,,(respectively). Examples of storage devicemay include but are not limited to: a hard disk drive; a RAID device; a random-access memory (RAM); a read-only memory (ROM); and all forms of flash memory storage devices.
Examples of client electronic devices,,,may include, but are not limited to, data-enabled, cellular telephone, laptop computer, personal digital assistant, personal computer, a notebook computer (not shown), a server computer (not shown), a gaming console (not shown), a smart television (not shown), and a dedicated network device (not shown). Client electronic devices,,,may each execute an operating system, examples of which may include but are not limited to Microsoft Windows™, Android™, WebOS™, iOS™, Redhat Linux™, or a custom operating system.
Users,,,may access threat mitigation processdirectly through networkor through secondary network. Further, threat mitigation processmay be connected to networkthrough secondary network, as illustrated with link line.
The various client electronic devices (e.g., client electronic devices,,,) may be directly or indirectly coupled to network(or network). For example, data-enabled, cellular telephoneand laptop computerare shown wirelessly coupled to networkvia wireless communication channels,(respectively) established between data-enabled, cellular telephone, laptop computer(respectively) and cellular network/bridge, which is shown directly coupled to network. Further, personal digital assistantis shown wirelessly coupled to networkvia wireless communication channelestablished between personal digital assistantand wireless access point (i.e., WAP), which is shown directly coupled to network. Additionally, personal computeris shown directly coupled to networkvia a hardwired network connection.
WAPmay be, for example, an IEEE 802.11a, 802.11b, 802.11g, 802.11n, Wi-Fi, and/or Bluetooth device that is capable of establishing wireless communication channelbetween personal digital assistantand WAP. As is known in the art, IEEE 802.11x specifications may use Ethernet protocol and carrier sense multiple access with collision avoidance (i.e., CSMA/CA) for path sharing. The various 802.11x specifications may use phase-shift keying (i.e., PSK) modulation or complementary code keying (i.e., CCK) modulation, for example. As is known in the art, Bluetooth is a telecommunications industry specification that allows e.g., mobile phones, computers, and personal digital assistants to be interconnected using a short-range wireless connection.
Assume for illustrative purposes that threat mitigation processincludes probabilistic process(e.g., an artificial intelligence/machine learning process) that is configured to process information (e.g., information). As will be discussed below in greater detail, examples of informationmay include but are not limited to platform information (e.g., structured or unstructured content) being scanned to detect security events (e.g., access auditing; anomalies; authentication; denial of services; exploitation; malware; phishing; spamming; reconnaissance; and/or web attack) within a monitored computing platform (e.g., computing platform).
As is known in the art, structured content may be content that is separated into independent portions (e.g., fields, columns, features) and, therefore, may have a pre-defined data model and/or is organized in a pre-defined manner. For example, if the structured content concerns an employee list: a first field, column or feature may define the first name of the employee; a second field, column or feature may define the last name of the employee; a third field, column or feature may define the home address of the employee; and a fourth field, column or feature may define the hire date of the employee.
Further and as is known in the art, unstructured content may be content that is not separated into independent portions (e.g., fields, columns, features) and, therefore, may not have a pre-defined data model and/or is not organized in a pre-defined manner. For example, if the unstructured content concerns the same employee list: the first name of the employee, the last name of the employee, the home address of the employee, and the hire date of the employee may all be combined into one field, column or feature.
For the following illustrative example, assume that informationis unstructured content, an example of which may include but is not limited to unstructured user feedback received by a company (e.g., text-based feedback such as text-messages, social media posts, and email messages; and transcribed voice-based feedback such as transcribed voice mail, and transcribed voice messages).
When processing information, probabilistic processmay use probabilistic modeling to accomplish such processing, wherein examples of such probabilistic modeling may include but are not limited to discriminative modeling, generative modeling, or combinations thereof.
As is known in the art, probabilistic modeling may be used within modern artificial intelligence systems (e.g., probabilistic process), in that these probabilistic models may provide artificial intelligence systems with the tools required to autonomously analyze vast quantities of data (e.g., information).
Examples of the tasks for which probabilistic modeling may be utilized may include but are not limited to:
For each of the above-described applications of probabilistic modeling, an initial probabilistic model may be defined, wherein this initial probabilistic model may be subsequently (e.g., iteratively or continuously) modified and revised, thus allowing the probabilistic models and the artificial intelligence systems (e.g., probabilistic process) to “learn” so that future probabilistic models may be more precise and may explain more complex data sets.
Accordingly, probabilistic processmay define an initial probabilistic model for accomplishing a defined task (e.g., the analyzing of information). For the illustrative example, assume that this defined task is analyzing customer feedback (e.g., information) that is received from customers of e.g., storevia an automated feedback phone line. For this example, assume that informationis initially voice-based content that is processed via e.g., a speech-to-text process that results in unstructured text-based customer feedback (e.g., information).
With respect to probabilistic process, a probabilistic model may be utilized to go from initial observations about information(e.g., as represented by the initial branches of a probabilistic model) to conclusions about information(e.g., as represented by the leaves of a probabilistic model).
As used in this disclosure, the term “branch” may refer to the existence (or non-existence) of a component (e.g., a sub-model) of (or included within) a model. Examples of such a branch may include but are not limited to: an execution branch of a probabilistic program or other generative model, a part (or parts) of a probabilistic graphical model, and/or a component neural network that may (or may not) have been previously trained.
While the following discussion provides a detailed example of a probabilistic model, this is for illustrative purposes only and is not intended to be a limitation of this disclosure, as other configurations are possible and are considered to be within the scope of this disclosure. For example, the following discussion may concern any type of model (e.g., be it probabilistic or other) and, therefore, the below-described probabilistic model is merely intended to be one illustrative example of a type of model and is not intended to limit this disclosure to probabilistic models.
Additionally, while the following discussion concerns word-based routing of messages through a probabilistic model, this is for illustrative purposes only and is not intended to be a limitation of this disclosure, as other configurations are possible and are considered to be within the scope of this disclosure. Examples of other types of information that may be used to route messages through a probabilistic model may include: the order of the words within a message; and the punctuation interspersed throughout the message.
For example and referring also to, there is shown one simplified example of a probabilistic model (e.g., probabilistic model) that may be utilized to analyze information(e.g., unstructured text-based customer feedback) concerning store. The manner in which probabilistic modelmay be automatically-generated by probabilistic processwill be discussed below in detail. In this particular example, probabilistic modelmay receive information(e.g., unstructured text-based customer feedback) at branching nodefor processing. Assume that probabilistic modelincludes four branches off of branching node, namely: service branch; selection branch; location branch; and value branchthat respectively lead to service node, selection node, location node, and value node.
As stated above, service branchmay lead to service node, which may be configured to process the portion of information(e.g., unstructured text-based customer feedback) that concerns (in whole or in part) feedback concerning the customer service of store. For example, service nodemay define service word listthat may include e.g., the word service, as well as synonyms of (and words related to) the word service (e.g., cashier, employee, greeter and manager). Accordingly and in the event that a portion of information(e.g., a text-based customer feedback message) includes the word cashier, employee, greeter and/or manager, that portion of informationmay be considered to be text-based customer feedback concerning the service received at storeand (therefore) may be routed to service nodeof probabilistic modelfor further processing. Assume for this illustrative example that probabilistic modelincludes two branches off of service node, namely: good service branchand bad service branch.
Good service branchmay lead to good service node, which may be configured to process the portion of information(e.g., unstructured text-based customer feedback) that concerns (in whole or in part) good feedback concerning the customer service of store. For example, good service nodemay define good service word listthat may include e.g., the word good, as well as synonyms of (and words related to) the word good (e.g., courteous, friendly, lovely, happy, and smiling). Accordingly and in the event that a portion of information(e.g., a text-based customer feedback message) that was routed to service nodeincludes the word good, courteous, friendly, lovely, happy, and/or smiling, that portion of informationmay be considered to be text-based customer feedback indicative of good service received at store(and, therefore, may be routed to good service node).
Bad service branchmay lead to bad service node, which may be configured to process the portion of information(e.g., unstructured text-based customer feedback) that concerns (in whole or in part) bad feedback concerning the customer service of store. For example, bad service nodemay define bad service word listthat may include e.g., the word bad, as well as synonyms of (and words related to) the word bad (e.g., rude, mean, jerk, miserable, and scowling). Accordingly and in the event that a portion of information(e.g., a text-based customer feedback message) that was routed to service nodeincludes the word bad, rude, mean, jerk, miserable, and/or scowling, that portion of informationmay be considered to be text-based customer feedback indicative of bad service received at store(and, therefore, may be routed to bad service node).
As stated above, selection branchmay lead to selection node, which may be configured to process the portion of information(e.g., unstructured text-based customer feedback) that concerns (in whole or in part) feedback concerning the selection available at store. For example, selection nodemay define selection word listthat may include e.g., words indicative of the selection available at store. Accordingly and in the event that a portion of information(e.g., a text-based customer feedback message) includes any of the words defined within selection word list, that portion of informationmay be considered to be text-based customer feedback concerning the selection available at storeand (therefore) may be routed to selection nodeof probabilistic modelfor further processing. Assume for this illustrative example that probabilistic modelincludes two branches off of selection node, namely: good selection branchand bad selection branch.
Good selection branchmay lead to good selection node, which may be configured to process the portion of information(e.g., unstructured text-based customer feedback) that concerns (in whole or in part) good feedback concerning the selection available at store. For example, good selection nodemay define good selection word listthat may include words indicative of a good selection at store. Accordingly and in the event that a portion of information(e.g., a text-based customer feedback message) that was routed to selection nodeincludes any of the words defined within good selection word list, that portion of informationmay be considered to be text-based customer feedback indicative of a good selection available at store(and, therefore, may be routed to good selection node).
Bad selection branchmay lead to bad selection node, which may be configured to process the portion of information(e.g., unstructured text-based customer feedback) that concerns (in whole or in part) bad feedback concerning the selection available at store. For example, bad selection nodemay define bad selection word listthat may include words indicative of a bad selection at store. Accordingly and in the event that a portion of information(e.g., a text-based customer feedback message) that was routed to selection nodeincludes any of the words defined within bad selection word list, that portion of informationmay be considered to be text-based customer feedback indicative of a bad selection being available at store(and, therefore, may be routed to bad selection node).
As stated above, location branchmay lead to location node, which may be configured to process the portion of information(e.g., unstructured text-based customer feedback) that concerns (in whole or in part) feedback concerning the location of store. For example, location nodemay define location word listthat may include e.g., words indicative of the location of store. Accordingly and in the event that a portion of information(e.g., a text-based customer feedback message) includes any of the words defined within location word list, that portion of informationmay be considered to be text-based customer feedback concerning the location of storeand (therefore) may be routed to location nodeof probabilistic modelfor further processing. Assume for this illustrative example that probabilistic modelincludes two branches off of location node, namely: good location branchand bad location branch.
Good location branchmay lead to good location node, which may be configured to process the portion of information(e.g., unstructured text-based customer feedback) that concerns (in whole or in part) good feedback concerning the location of store. For example, good location nodemay define good location word listthat may include words indicative of storebeing in a good location. Accordingly and in the event that a portion of information(e.g., a text-based customer feedback message) that was routed to location nodeincludes any of the words defined within good location word list, that portion of informationmay be considered to be text-based customer feedback indicative of storebeing in a good location (and, therefore, may be routed to good location node).
Bad location branchmay lead to bad location node, which may be configured to process the portion of information(e.g., unstructured text-based customer feedback) that concerns (in whole or in part) bad feedback concerning the location of store. For example, bad location nodemay define bad location word listthat may include words indicative of storebeing in a bad location. Accordingly and in the event that a portion of information(e.g., a text-based customer feedback message) that was routed to location nodeincludes any of the words defined within bad location word list, that portion of informationmay be considered to be text-based customer feedback indicative of storebeing in a bad location (and, therefore, may be routed to bad location node).
As stated above, value branchmay lead to value node, which may be configured to process the portion of information(e.g., unstructured text-based customer feedback) that concerns (in whole or in part) feedback concerning the value received at store. For example, value nodemay define value word listthat may include e.g., words indicative of the value received at store. Accordingly and in the event that a portion of information(e.g., a text-based customer feedback message) includes any of the words defined within value word list, that portion of informationmay be considered to be text-based customer feedback concerning the value received at storeand (therefore) may be routed to value nodeof probabilistic modelfor further processing. Assume for this illustrative example that probabilistic modelincludes two branches off of value node, namely: good value branchand bad value branch.
Good value branchmay lead to good value node, which may be configured to process the portion of information(e.g., unstructured text-based customer feedback) that concerns (in whole or in part) good value being received at store. For example, good value nodemay define good value word listthat may include words indicative of receiving good value at store. Accordingly and in the event that a portion of information(e.g., a text-based customer feedback message) that was routed to value nodeincludes any of the words defined within good value word list, that portion of informationmay be considered to be text-based customer feedback indicative of good value being received at store(and, therefore, may be routed to good value node).
Bad value branchmay lead to bad value node, which may be configured to process the portion of information(e.g., unstructured text-based customer feedback) that concerns (in whole or in part) bad value being received at store. For example, bad value nodemay define bad value word listthat may include words indicative of receiving bad value at store. Accordingly and in the event that a portion of information(e.g., a text-based customer feedback message) that was routed to value nodeincludes any of the words defined within bad value word list, that portion of informationmay be considered to be text-based customer feedback indicative of bad value being received at store(and, therefore, may be routed to bad value node).
Once it is established that good or bad customer feedback was received concerning store(i.e., with respect to the service, the selection, the location or the value), representatives and/or agents of storemay address the provider of such good or bad feedback via e.g., social media postings, text-messages and/or personal contact.
Assume for illustrative purposes that useruses data-enabled, cellular telephoneto provide feedback(e.g., a portion of information) to an automated feedback phone line concerning store. Upon receiving feedbackfor analysis, probabilistic processmay identify any pertinent content that is included within feedback.
Unknown
October 30, 2025
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.