The present disclosure relates generally to computer architecture and software for information security and cybersecurity. Cybersecurity systems and methods utilizing multi-channel data are described. A computer-based information security model utilizing multi-channel fusion is also described, as are the related system architecture and software.
In a computer networked environment such as the Internet, users and entities such as people or companies maintain data in computer systems connected to networks. The data, systems, and networks are prone to various security vulnerabilities, misconfigurations, and partial implementations, which may lead to cybersecurity vulnerabilities, which, in turn, may lead to cybersecurity attacks. Early and preemptive detection can prevent or minimize the impact of cybersecurity attacks. However, existing cybersecurity monitoring architectures and software limit insights into security vulnerabilities to a particular data plane, such as network, infrastructure, and/or application-related data, and to particular types of security events associated with the particular data plane. Further, such architectures and software require that lists of related computer assets be separately catalogued and maintained. Consequently, new vulnerabilities associated with changes in infrastructure or software ecosystems may be missed if the associated asset has not been timely identified by a security assurance framework.
An embodiment relates to a computer system. The computer system includes a data channel configured to provide device connectivity data associated with an entity, the device connectivity data comprising at least one of a device property, an application property, a network property, and network information. The computer system includes a data channel communication network configured to communicate the device connectivity data from the data channel. The computer system includes a processing circuit communicatively coupled to the data channel via the data channel communication network. The processing circuit structured to parse a property from the device connectivity data, identify a vulnerability associated with the property of the device connectivity data, generate a cybersecurity risk score for the vulnerability, generate a hyperlink comprising a reference to a remediation executable, based on the cybersecurity risk score, generate an electronic request comprising the property of the device connectivity data and the hyperlink.
In some arrangements, the processing circuit is further structured to generate the electronic request in response to performing operations to determine that the cybersecurity risk score exceeds a predetermined threshold and transmit the electronic request to a computing system. In some arrangements, the processing circuit is further structured to generate the electronic request in response to performing operations to retrieve, from a data storage media, a previously generated cybersecurity risk score for the entity, and determine that a difference between the cybersecurity risk score and the previously generated cybersecurity risk score exceeds a predetermined threshold.
In some arrangements, the processing circuit further structured to generate the remediation executable. In some arrangements, the remediation executable includes a patch structured to remediate the vulnerability.
In some arrangements, the electronic request is a first electronic request, and the processing circuit further structured to generate a first electronic request identifier for the first electronic request, receive a first electronic response from the computing system, the first electronic response comprising the first electronic request identifier, the property of the device connectivity data and a request for a scanner uniform resource locator (URL), based on the property of the device connectivity data, generate the scanner URL, in response to the first electronic response, generate a second electronic request comprising the scanner URL, the scanner URL comprising a parametrized scanner executable structured to accept as a parameter at least a part of the property of the device connectivity data, and transmit the second electronic request to the computing system. In some arrangements, the processing circuit further structured to receive, from the computing system, a computer-executable instruction to rescan the entity, the computer-executable instruction generated based on the scanner URL, provide, via the data channel, updated device connectivity data related to the computing system, parse the property from the updated device connectivity data, based on the property, determine whether the vulnerability exists on the computing system, and generate an updated cybersecurity risk score for the computing system.
In some arrangements, the processing circuit is further structured to validate an identity of the computing system prior to providing the updated device connectivity data related to the computing system.
In some arrangements, the processing circuit is further structured to generate a first timestamp corresponding to the first electronic request, determine an archival duration for the first electronic request, retrievably store the first electronic request, the first timestamp and the archival duration in a data storage media, retrievably store at least one of the first electronic response, the second electronic request, and a second electronic response, indicative of the vulnerability having been remediated, in the data storage media relationally to the first electronic request, wherein the at least one of the first electronic response, the second electronic request, and the second electronic response comprises a second timestamp, and based on comparing the first timestamp to the second timestamp, execute an automatic performance management action for the entity. In some arrangements, the automatic performance management action comprises operations to adjust the archival duration based on evaluating the second timestamp relative to the first timestamp, the second timestamp being indicative of a completion of a recommended remediation activity. In some arrangements, the automatic performance management action comprises operations to determine an entity performance metric relative to a retrievably stored service level agreement for the entity. In some arrangements, the remediation executable is a parametrized set of executable instructions structured to disable a particular port on a particular device, each of the particular port and the particular device determined based the device connectivity data, the processing circuit further structured to automatically execute the remediation executable.
In some arrangements, the remediation executable is a parametrized set of executable instructions structured to enable a firewall for a particular application determined based on the device connectivity data, the processing circuit further structured to automatically execute the remediation executable. In some arrangements, the remediation executable is a parametrized set of executable instructions structured to cause internet traffic from a particular entity determined based on the device connectivity data to be diverted to a decoy computing environment, the processing circuit further structured to automatically execute the remediation executable.
Other embodiments include computer-executed methods and/or non-transitory computer-readable media having instructions stored thereon that, when executed by a processor of a computing system, cause the computing system to perform operations comprising the operations described herein.
These and other features, together with the organization and manner of operation thereof, will become apparent from the following detailed description when taken in conjunction with the accompanying drawings.
It will be recognized that some or all of the figures are schematic representations for purposes of illustration. The figures are provided for the purpose of illustrating one or more embodiments with the explicit understanding that they will not be used to limit the scope or the meaning of the claims.
Referring generally to the Figures, the systems and methods described herein relate generally to fusing multi-channel data based on a security model in a computer network environment. As used herein, the terms “fusing” or “fusion” (e.g., as in “data fusion”, “pipeline fusion”, “channel fusion”) refer to computer-based systems and methods for programmatically enriching data by integrating data streams, data pipelines, data sets, etc. that are related to multi-channel cybersecurity assurance. In some arrangements, the multi-channel data fusion operations are based at least in part on a causal security model that can include entity data associated with an entity. The security data, which may include device connectivity data, software metadata, IP traffic data, etc., can be received from a plurality of data channels and can pertain to a plurality of computing devices. In general, entity data can be analyzed to detect cybersecurity vulnerabilities and/or threats such that cybersecurity risk scores can be generated and aggregated to generate a multi-dimensional score.
As used herein, a “cyber-incident” may be any incident where a party (e.g., user, individual, institution, company) gains unauthorized access to perform unauthorized actions in a computer network environment. A cyber-incident may result from a cybersecurity vulnerability. In many systems, cybersecurity vulnerabilities (e.g., malware, unpatched security vulnerabilities, expired certificates, hidden backdoor programs, super-user and/or admin account privileges, remote access policies, other policies and procedures, type and/or lack of encryption, type and/or lack of network segmentation, common injection and parameter manipulation, automated running of scripts, unknown security bugs in software or programming interfaces, social engineering, and IoT devices) can go undetected and unaddressed, leading to hacking activities, data breaches, cyberattacks (e.g., phishing attacks, malware attacks, web attacks, and artificial intelligence (AI)-powered attacks), and other detrimental cyber-incidents.
Accordingly, the ability to avoid and prevent cyber threats, such as hacking activities, data breaches, and cyberattacks, provides entities and users (e.g., provider, institution, individual, and company) improved cybersecurity by fusing multi-channel data associated with entities and users. In particular, fusing multi-channel data can improve the protection of customer data (e.g., sensitive data such as medical records and financial information), protection of products (e.g., proprietary business data such as plans, code and other intellectual property, and strategies), protection of reputation (e.g., customer confidence and market praise), and reduction of financial cost (e.g., falling stock price as result of a data breach, investigation and forensic efforts as a result of a cyberattacks, and legal fees incurred as a result of hacking activities). The causal design and execution of cybersecurity models for detecting and addressing cybersecurity vulnerabilities helps dynamically monitor and discover relationships (e.g., network relationships, hardware relationships, device relationships and financial relationships) between entities and users. The causal approach to multi-channel data and/or pipeline fusion allows cybersecurity models to provide significant improvements to cybersecurity of entities and users by improving network security, infrastructure security, technology security, and data security.
Further, quantifying cybersecurity for entities and users, identifying specific vulnerabilities and mapping them to specific assets provides the technical benefit of generating automatic remediation recommendations and avoiding and preventing successful hacking activities, successful cyberattacks, data breaches, and other detrimental cyber-incidents. As described herein, the systems and methods of the present disclosure may include generating and exposing to the affected systems access-controlled remediation-related executables. An additional benefit from quantifying cybersecurity risks is automated or automatically-assisted triage of weaknesses, which optimizes the usage of limited resources to achieve rapid technology risk reduction over a given timeframe.
Further, the present disclosure presents a technical improvement of dynamic infrastructure discovery. For example, assets associated with a particular infrastructure can be automatically discovered in the process of fusing multi-channel security data without the need to maintain separate catalogues of network assets, infrastructure assets, operating systems, etc. for a target entity. In some embodiments, the data and/or pipeline fusion operations include scanning for vulnerabilities associated with a particular entity or device identifier, such as a domain identifier (e.g., a top-level domain (TLD) identifier, a subdomain identifier, or a URL string pointing to a particular directory), an IP address, a subnet, etc. Consequently, instead of separately scanning each subclass of assets, a computing system can utilize a fused communication pipeline view into a computing environment of a particular target entity (e.g., via the data acquisition engine 180 of
Referring now to
Referring to
In general, one or more processing circuits included in the various systems described herein can include a microprocessor, an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or combinations thereof. A memory can include electronic, optical, magnetic, or any other storage or transmission device capable of providing the processor with program instructions stored in the memory. Instructions can include executable code from any suitable computer programming language. The memory may store machine instructions that, when executed by the processing circuit, cause the processing circuit to perform one or more of the operations described herein. The memory may also store parameter data to affect presentation of one or more resources, animated content items, etc. on the computing device. The memory may include a floppy disk, compact disc read-only memory (CD-ROM), digital versatile disc (DVD), magnetic disk, memory chip, read-only memory (ROM), random-access memory (RAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), erasable programmable read only memory (EPROM), flash memory, optical media, or any other suitable memory from which a processor can read instructions. The instructions may include code from any suitable computer programming language such as ActionScript®, C, C++, C#, Java®, JavaScript®, JSON, Perl®, HTML, HTML5, XML, Python®, and Visual Basic®.
The operations described in this disclosure can be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources. The terms “data processing system” or “processor” encompass all kinds of apparatus, devices, and machines for processing data, including by way of example, a programmable processor, a computer, a system on a chip, or multiple ones, or combinations of the foregoing. The apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). The apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross platform runtime environment, a virtual machine, or a combination of one or more of them. The apparatus and execution environment can include various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.
A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a circuit, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A computer program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more subsystems, sub-programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network. The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output.
In some arrangements, one or more processing circuits can be configured to load instructions from the main memory (or from data storage) into cache memory. Furthermore, the one or more processing circuits can be configured to load instructions from cache memory into onboard registers and execute instructions from the onboard registers. In some implementations, instructions are encoded in and read from a read-only memory (ROM) or from a firmware memory chip (e.g., storing instructions for a Basic I/O System (BIOS)).
The one or more processing circuits can be connected to the cache memory. However, in some implementations, the cache memory can be integrated into the one or more processing circuits and/or implemented on the same circuit or chip as the one or more processing circuits. Some implementations include multiple layers or levels of cache memory, each further removed from the one or more processing circuits. Some implementations include multiple processing circuits and/or coprocessors that augment the one or more processing circuits with support for additional specialized instructions (e.g., a math coprocessor, a floating point coprocessor, and/or a graphics coprocessor). The coprocessor can be closely connected to the one or more processing circuits. However, in some arrangements, the coprocessor is integrated into the one or more processing circuits or implemented on the same circuit or chip as the one or more processing circuits. In some implementations, the coprocessor is further removed from the one or more processing circuits, e.g., connected to a bus. Details regarding processing circuits, memory, and instructions are further explained in detail with reference to
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some arrangements, a server transmits data (e.g., an HTML page) to a client device (e.g., for purposes of displaying data to and receiving user input from a user interacting with the client device). Data generated at the client device (e.g., a result of the user interaction) can be received from the client device at the server.
To provide for interaction with a user, arrangements of the subject matter described in this specification can be carried out using a computer having a display device, e.g., a quantum dot display (QLED), organic light-emitting diode (OLED), or liquid crystal display (LCD) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, tactile input, or other biometric information. In addition, a computer can interact with a user by electronically transmitting documents to and receiving documents from a device that is used by the user; for example, by electronically transmitting web pages to a web browser on a user's client device in response to requests received from the web browser.
Further referring to the components of
One or more third-party devices 155 may be used by a third-party with a relationship to an entity (e.g., provider, vendor, supplier, business partner, a monitored network entity and so on) to perform various actions and/or access various types of data, some of which may be provided over network 130. A “third party” as used herein may refer to an individual operating one or more third-party devices 155, interacting with resources or data via the third-party devices 155. In some arrangements, the third parties can include an organization's partner institutions and/or vendors. The third-party devices 155 may be used to electronically transmit data (e.g., entity data) to the user devices 140, multi-channel cybersecurity assurance system 110, and/or content management system 170, to access websites (e.g., using a browser), supply services, supply products, and to receive and/or transmit any other types of data. For example, a third party can be a statement printing vendor of a financial institution. In another example, a third party could be a credit scoring data vendor of a financial institution. In another example, a third party can be a technology vendor of a financial institution.
One or more user devices 140 (e.g., smartphones, tablets, computers, or smartwatches) may be used by a user to perform various actions and/or access various types of data, some of which may be provided over the network 130. A “user” as used herein may refer to an individual operating one or more user devices 140 and interacting with resources or data via the user devices 140. The user devices 140 may be used to electronically transmit data (e.g., entity data) to other user devices 140, multi-channel cybersecurity assurance system 110, and/or content management system 170. The user devices 140 may also be used to access websites (e.g., using a browser), cybersecurity risk scores, and user-interactive graphical interfaces (e.g., security dashboard), and used to receive any other types of data. In some arrangements, the entity devices 150 and/or user devices 140 have enabled location services which can be tracked over network 130. Location services may use a global positioning system (GPS) or other technologies to determine a location of the entity devices 150 and/or user devices 140. In some arrangements, location information can be used to populate or determine location-related properties of the device connectivity data used by the multi-channel cybersecurity assurance system 110.
In various arrangements, internal users of the multi-channel cybersecurity assurance system 110 may have various levels of access to perform operations and review information (e.g., configure dashboards, determine remediation recommendations, analyze cybersecurity performance). In some arrangements, external users of the multi-channel cybersecurity assurance system 110 may have various levels of access to perform operations and review information (e.g., restricted access, access and review dashboards, review remediation recommendation, review cybersecurity vendor performance). Using a username and credentials, a user (e.g., internal or external) may gain access to perform various operations and review various information. Permissions associated with a user can be used to determine the data that a user has access to. That is, permissions can be used to define the access level for each user. For example, a certain dashboard can be generated that is only accessible to the internal users that have permissions to access the certain dashboard. In some arrangements, permissions can be user-specific and/or each user can have separate and distinct accounts.
Further with respect to the components of
The network 130 can enable communication between various nodes, such as the multi-channel security assurance computing system 110 and entity devices 150. In some arrangements, data flows through the network 130 from a source node to a destination node as a flow of data packets, e.g., in the form of data packets in accordance with the Open Systems Interconnection (OSI) layers. A flow of packets may use, for example, an OSI layer-4 transport protocol such as the User Datagram Protocol (UDP), the Transmission Control Protocol (TCP), or the Stream Control Transmission Protocol (SCTP), transmitted via the network 130 layered over an OSI layer-3 network protocol such as Internet Protocol (IP), e.g., IPv4 or Ipv6. The network 130 is composed of various network devices (nodes) communicatively linked to form one or more data communication paths between participating devices. Each networked device includes at least one network interface for receiving and/or transmitting data, typically as one or more data packets. An illustrative network 130 is the Internet; however, other networks may be used. The network 130 may be an autonomous system (AS), i.e., a network that is operated under a consistent unified routing policy (or at least appears to from outside the AS network) and is generally managed by a single administrative entity (e.g., a system operator, administrator, or administrative group).
The network 130 may be composed of multiple connected sub-networks or AS networks, which may meet at one or more of: an intervening network (a transit network), a dual-homed gateway node, a point of presence (POP), an Internet eXchange Point (IXP), and/or additional other network boundaries. The network 130 can be a local-area network (LAN) such as a company intranet, a metropolitan area network (MAN), a wide area network (WAN), an inter network such as the Internet, or a peer-to-peer network, e.g., an ad hoc Wi-Fi peer-to-peer network. The data links between nodes in the network 130 may be any combination of physical links (e.g., fiber optic, mesh, coaxial, twisted-pair such as Cat-5 or Cat-6, etc.) and/or wireless links (e.g., radio, satellite, microwave, etc.).
The network 130 can include carrier networks for mobile communication devices, e.g., networks implementing wireless communication protocols such as the Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Time Division Synchronous Code Division Multiple Access (TD-SCDMA), Long-Term Evolution (LTE), or any other such protocol including so-called generation 3G, 4G, 5G, and 6G protocols. The network 130 can include short-range wireless links, e.g., via Wi-Fi, BLUETOOTH, BLE, or ZIGBEE, sometimes referred to as a personal area network (PAN) or mesh network. The network 130 may be public, private, or a combination of public and private networks. The network 130 may be any type and/or form of data network and/or communication network.
The network 130 can include a network interface controller that can manage data exchanges with devices in the network 130 (e.g., the user devices 140) via a network interface (sometimes referred to as a network interface port). The network interface controller handles the physical and data link layers of the Open Systems Interconnection (OSI) model for network communication. In some arrangements, some of the network interface controller's tasks are handled by one or more processing circuits. In various arrangements, the network interface controller is incorporated into the one or more processing circuits, e.g., as circuitry on the same chip.
In some arrangements, the network interface controller supports wireless network connections and an interface is a wireless (e.g., radio) receiver/transmitter (e.g., for any of the IEEE 802.11 Wi-Fi protocols, near field communication (NFC), BLUETOOTH, BLUETOOTH LOW ENERGY (BLE), ZIGBEE, ANT, or any other wireless protocol). In various arrangements, the network interface controller implements one or more network protocols such as Ethernet. Generally, the multi-channel cybersecurity assurance system 110 can be configured to exchange data with other computing devices via physical or wireless links through a network interface. The network interface may link directly to another device or to another device via an intermediary device, e.g., a network device such as a hub, a bridge, a switch, or a router, connecting the multi-channel cybersecurity assurance system 110 to the network 130.
Expanding generally on network traffic and packets, the various computing devices described herein (e.g., 140, 150, 155, 160, 170) can originate and/or transmit traffic to the computing environment 100 and multi-channel cybersecurity assurance system 110, via the network 130. The term “traffic” generally refers to data communications between the computing devices and one or more components of the computing environment 100 shown in
Network traffic can be segmented into packets. Each packet is a formatted unit for the data and routing instructions carried via the network 130. As used herein, the term “packet” may refer to formatted units at various levels of the OSI networking and/or TCP/IP models, such that the terms “packet”, “IP packet”, “segment”, “datagram”, and “frame” may be used interchangeably. As used herein, the term “packet” can be used to denote monitored network traffic generated by a particular device associated with a monitored entity. However, one of skill will appreciate that information received and transmitted by the computing environment 100 and also be encoded in packets, such as TCP/IP packets.)
An example packet includes a header, a footer, and a payload. In some arrangements, packets may also include metadata, which may include further routing information. For example, in some arrangements, packets may be routed via a software-defined networking switch, which may include in the packet further information (metadata) containing routing information for the software-defined networking environment. For example, in addition to a payload, application-layer and/or link-layer in an example packet, may contain a header and/or footer that may include a source address of the sending host (e.g., a user device), destination address of the target host, a source port, a destination port, a checksum or other error detection and correction information, packet priority, traffic class, and/or type of service (ToS), packet length, etc. In arrangements where the network 130 comprises one or more virtual local area networks (VLANs), such that, for example, the various computing devices are on different VLANs, the packet may also contain a VLAN identifier.
Any of the foregoing items in the packet can describe, at least in part, activity in a networked environment. In some arrangements, at least some of the foregoing items may be included in device connectivity data received via a search or discovery engine for Internet-connected devices, as described further herein. For example, an IP packet can include a host address (e.g., IP address) and/or a port number. Device connectivity data provided by a search or discovery engine for Internet-connected devices, can likewise include a property populated with an IP address assigned to a particular device and a port number assigned to a particular software application running on the device in addition to including further information.
Accordingly, any suitable packet and/or device connectivity data may be used by the multi-channel cybersecurity assurance system 110 to identify vulnerabilities in the associated systems (e.g., at the source system identified by the packet, at the destination system identified by the packet). For example, a header, a footer, and/or metadata of a packet may include routing information for the packet. As used herein, “routing information” is defined as source and/or destination information. For instance, in some arrangements, packet includes application-layer level routing information, such as HTTP routing information, TLS routing information, SSL routing information, SMTP routing information, etc. In some arrangements, packet includes transport and/or Internet-link level routing information, such as one or more routing identifiers specific to the TCP, UDP, SCTP, ICPMv4, ICMPv6 protocols, etc. In some arrangements, packet includes data link-layer routing information, such as a source MAC address, destination MAC address, VLAN ID, VLAN priority, etc. In the arrangement of
Further with respect to the components of
The content management system 170 may include one or more systems (e.g., computer-readable instructions executable by a processor) and/or circuits (e.g., ASICs, Processor Memory combinations, logic circuits) configured to perform various functions of the content management system 170. The content management system 170 can be run or otherwise be executed on one or more processors of a computing device, such as those described below in
The content management system 170 can also be configured to query the content management database 176 and/or multi-channel cybersecurity assurance vault 120 for information and store information in content management database 176 and/or multi-channel cybersecurity assurance vault 120. In various arrangements, the content management database 176 includes various transitory and/or non-transitory storage media. The storage media may include magnetic storage, optical storage, flash storage, and RAM. The content management database 176 and/or the content management system 170 can use various APIs to perform database functions (e.g., managing data stored in content management database 176). The APIs can include SQL, NoSQL, NewSQL, ODBC, and/or JDBC components.
In some implementations, one or more client devices, e.g., instances of user devices 140, entity devices 150, third-party devices 155, and/or data sources 160, are in communication with a particular database management system (DBMS) or data storage vault, e.g., via a direct link or via the network 130. In some implementations, one or more clients obtain data from the DBMS using queries in a formal query language such as Structured Query Language (SQL), Hyper Text Structured Query Language (HTSQL), Contextual Query Language (CQL), Data Mining Extensions (DMX), or XML Query (Xquery). In some implementations, one or more clients obtain data from the DBMS using an inter-process communication architecture such as the Common Object Request Broker Architecture (CORBA), Remote Procedure Calls (RPC), Object Linking and Embedding (OLE), Component Object Model (COM), or Distributed Component Object Model (DCOM). In some implementations, one or more clients obtain data from the DBMS using natural language or semantic queries. In some implementations, one or more clients obtain data from the DBMS using queries in a custom query language such as a Visualization API Query Language. Implementations of the subject matter and the operations described in this specification can be implemented in digital electronic circuitry, or in computer software embodied on a tangible medium, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the subject matter described in this specification can be implemented as one or more computer programs embodied on a tangible medium, e.g., one or more modules of computer program instructions, encoded on one or more computer storage media for execution by, or to control the operation of, a data processing apparatus (including, e.g., a processor 1110). A computer storage medium can be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. The computer storage medium can also be, or be included in, one or more separate components or media (e.g., multiple CDs, disks, or other storage devices). The computer storage medium is tangible. The computer storage medium stores data, e.g., computer executable instructions, in a non-transitory form.
Further with respect to
In an example arrangement, an application executed by the user devices 140, entity devices 150, third-party devices 155, and/or multi-channel cybersecurity assurance system 110 can cause the web browser to display on a monitor or screen of the computing devices. For example, the entity may connect (e.g., via the network 130) to a website structured to host the customized dashboards. In various arrangements, hosting the customized dashboard can include infrastructure such as host devices (e.g., computing device) and a collection of files defining the customized dashboard and stored on the host devices (e.g., in a database). The web browser operates by receiving input of a uniform resource locator (URL) into a field from an input device (e.g., a pointing device, a keyboard, a touchscreen, mobile phone, or another form of input device). In response, the interface system 172 executing the web browser may request data such as from the content management database 176. The web browser may include other functionalities, such as navigational controls (e.g., backward and forward buttons, home buttons). The interface system 172 may execute operations of the content management database 176 (or provide data from the content management database 176 to the user devices 140, entity devices 150, third-party devices 155, and/or multi-channel cybersecurity assurance system 110 for execution) to provide the customized dashboards at the user devices 140, entity devices 150, third-party devices 155, and/or multi-channel cybersecurity assurance system 110.
In some arrangements, the interface system 172 can include both a client-side application and a server-side application. For example, a client-side interface system 172 can be written in one or more general purpose programming languages (such as ActionScript®, C, C++, C#, Java®, JavaScript®, JSON, Perl®, Swift, HTML, HTML5, XML, Python®, and Visual Basic®) and can be executed by user devices 140, entity devices 150, and/or third-party devices 155. The server-side interface system 172 can be written, for example, in one or more general purpose programming languages (such as ActionScript®, C, C++, C#, Java®, JavaScript®, JSON, Perl®, Swift, HTML, HTML5, XML, Python®, and Visual Basic®), or a concurrent programming language, and can be executed by the multi-channel cybersecurity assurance system 110 and/or content management system 170.
The interface generator 174 can be configured to generate a plurality of customized dashboards and their properties, such as those described in detail below relative to example
The content management system 170 can include at least one content management database 176. The content management database 176 can include data structures for storing information such as system definitions for customized dashboards generated via the interface generator 174, animated or other content items, and/or additional information. The content management database 176 can be part of the content management system 170, or a separate component that the content management system 170, the interface system 172, and/or the interface generator 174, can access via the network 130. The content management database 176 can also be distributed throughout the computing environment 100 and multi-channel cybersecurity assurance system 110. For example, the content management database 176 can include multiple databases associated with a specific entity (e.g., entity devices 150), a specific third-party (e.g., third-party devices 155), and/or a specific user device (e.g., user devices 140). In one arrangement, the content management system 170 includes the content management database 176.
The data sources 160 can provide data to the multi-channel cybersecurity assurance system 110. In some arrangements, the data sources 160 can be structured to collect data from other devices on network 130 (e.g., user devices 140, entity devices 150, and/or third-party devices 155) and relay the collected data to the multi-channel cybersecurity assurance system 110. In one example, an entity may have a server and database (e.g., proxy, enterprise resource planning (ERP) system) that stores network information associated with the entity. In this example, the multi-channel cybersecurity assurance system 110 may request data associated with specific data stored in the data source (e.g., data sources 160) of the entity. For example, in some arrangements, the data sources 160 can host or otherwise support a search or discovery engine for Internet-connected devices. The search or discovery engine may provide data, via the data acquisition engine 180, to the multi-channel cybersecurity assurance system 110. In some arrangements, the data sources 160 can be scanned to provide additional intelligence data. The additional intelligence data can include newsfeed data (e.g., articles, breaking news, and television content), social media data (e.g., Facebook, Twitter, Snapchat, and TikTok), geolocation data of users on the Internet (e.g., GPS, triangulation, and IP addresses), governmental databases (e.g., FBI databases, CIA databases, COVID-19 databases, No Fly List databases, terrorist databases, vulnerability database, and certificate databases), and/or any other intelligence data associated with the specific entity of interest.
The computing environment 100 can include a data acquisition engine 180. In various arrangements, the multi-channel cybersecurity assurance system 110 can be communicatively and operatively coupled to the data acquisition engine 180. The data acquisition engine 180 can include one or more processing circuits configured to execute various instructions. In various arrangements, the data acquisition engine 180 can be configured to facilitate communication (e.g., via network 130) between the multi-channel cybersecurity assurance system 110, multi-channel cybersecurity assurance vault 120 and systems described herein (e.g., user devices 140, entity devices 150, third-party devices 155, data sources 160, content management system 170). The facilitation of communication can be implemented as an application programming interface (API) (e.g., REST API, Web API, customized API), batch files, and/or queries. In various arrangements, the data acquisition engine 180 can also be configured to control access to resources of the multi-channel cybersecurity assurance system 110 and multi-channel cybersecurity assurance vault 120.
The API can be used by the data acquisition engine 180 and/or computing systems to exchange data and make function calls in a structured format. The API may be configured to specify an appropriate communication protocol using a suitable electronic data interchange (EDI) standard or technology. The EDI standard (e.g., messaging standard and/or supporting technology) may include any of a SQL data set, a protocol buffer message stream, an instantiated class implemented in a suitable object-oriented programming language (e.g., Java, Ruby, C#), an XML file, a text file, an Excel file, a web service message in a suitable web service message format (e.g., representational state transfer (REST), simple object access protocol (SOAP), web service definition language (WSDL), JavaScript object notation (JSON), XML remote procedure call (XML RPC)). As such, EDI messages may be implemented in any of the above or using another suitable technology.
In some arrangements, data is exchanged by components of the data acquisition engine 180 using web services. Where data is exchanged using an API configured to exchange web service messages, some or all components of the computing environment may include or may be associated with (e.g., as a client computing device) one or more web service node(s). The web service may be identifiable using a unique network address, such as an IP address, and/or a URL. Some or all components of the computing environment may include circuits structured to access and exchange data using one or more remote procedure call protocols, such as Java remote method invocation (RMI), Windows distributed component object model (DCOM). The web service node(s) may include a web service library comprising callable code functions. The callable code functions may be structured according to a predefined format, which may include a service name (interface name), an operation name (e.g., read, write, initialize a class), operation input parameters and data type, operation return values and data type, service message format, etc. In some arrangements, the callable code functions may include an API structured to access on-demand and/or receive a data feed from a search or discovery engine for Internet-connected devices. Further examples of callable code functions are provided further herein as embodied in various components of the data acquisition engine 180.
The data sources 160 can provide data to the multi-channel cybersecurity assurance system 110 based on the data acquisition engine 180 scanning the Internet (e.g., various data sources and/or data feeds) for data associated with a specific entity. That is, the data acquisition engine 180 can hold (e.g., in non-transitory memory, in cache memory, and/or in multi-channel cybersecurity assurance vault 120) the executables for performing the scanning activities on the data sources 160. Further, the multi-channel cybersecurity assurance system 110 can initiate the scanning operations. For example, the multi-channel cybersecurity assurance system 110 can initiate the scanning operations by retrieving domain identifiers or other entity identifiers from a computer-implemented DBMS or queue. In another example, a user can affirmatively request a particular resource (e.g., domain or another entity identifier) to be scanned, which triggers the operations. In various arrangements, the data sources 160 can facilitate the communication of data between the user devices 140, entity devices 150, and third-party devices 155, such that the data sources 160 receive data (e.g., over network 130) from the user devices 140, entity devices 150, and third-party devices 155 before sending the data other systems described herein (e.g., multi-channel cybersecurity assurance computing system and/or content management system 170). In other arrangements and as described herein, the user devices 140, entity devices 150, and third-party devices 155, and the data sources 160 can send data directly, over the network 130, to any system described herein and the data sources 160 may provide information not provided by any of the user devices 140, entity devices 150, and third-party devices 155. For example, the data sources 160 may provide supplemental intelligence information as discussed above.
As used herein, the terms “scan” and “scanning” refer to and encompass various data collection operations, which may include directly executing and/or causing to be executed any of the following operations: query(ies), search(es), web crawl(s), interface engine operations structured to enable the data acquisition engine 180 to enable an appropriate system interface to continuously or periodically receive inbound data, document search(es), dataset search(es), retrieval from internal systems of previously received data, etc. These operations can be executed on-demand and/or on a scheduled basis. In some embodiments, these operations include receiving data (e.g., device connectivity data, IP traffic data) in response to requesting the data (e.g., data “pull” operations). In some embodiments, these operations include receiving data without previously requesting the data (e.g., data “push” operations). In some embodiments, the data “push” operations are supported by the interface engine operations.
One of skill will appreciate that data received as a result of performing or causing scanning operations to be performed may include data that has various properties indicative of device properties, hardware, firmware, software, configuration information, and/or IP traffic data. For example, in an arrangement, a device connectivity data set can be received. In some embodiments, device connectivity data can include data obtained from a search or discovery engine for Internet-connected devices which can include a third-party product (e.g., Shodan), a proprietary product, or a combination thereof. Device connectivity data can include structured or unstructured data.
Various properties (e.g., records, delimited values, values that follow particular pre-determined character-based labels) can be parsed from the device connectivity data. The properties can include device-related data and/or IP traffic data. Device-related data can encompass data related to software, firmware, and/or hardware technology deployed to, included in, or coupled to a particular device. Device-related data can include IP address(es), software information, operating system information, component designation (e.g., router, web server), version information, port number(s), timestamp data, host name, etc. IP traffic data can include items included in packets, as described elsewhere herein. Further, IP traffic data included in the device connectivity data can include various supplemental information (e.g., in some arrangements, metadata associated with packets), such as host name, organization, Internet Service Provider information, country, city, communication protocol information, and Autonomous System Number (ASN) or similar identifier for a group of devices using a particular defined external routing policy. In some embodiments, device connectivity data can be determined at least in part based on banner data exposed by the respective source entity. For example, device connectivity data can comprise metadata about software running on a particular device of a source entity.
In various arrangements, scanning operations can comprise executables associated with an Internet-wide scanning tool (e.g., port scanning, network scanning, vulnerability scanning, Internet Control Message Protocol (ICMP) scanning, TCP scanning, UDP scanning) for collecting data. Further, in addition to this data, other data collected and fused with the data obtained via scanning may be newsfeed data (e.g., articles, breaking news, television), social media data (e.g., Facebook, Twitter, Snapchat, TikTok), geolocation data of users on the Internet (e.g., GPS, triangulation, IP addresses), governmental databases (e.g., FBI databases, CIA databases, COVID-19 database, No Fly List databases, terrorist databases, vulnerability database, certificate databases), and any other data associated with the specific entity of interest.
In some arrangements, scanning occurs in real-time such that the data acquisition engine 180 continuously scans the data sources 160 for data associated with the specific entity. In various arrangements, scanning may occur in periodic increments such that the data acquisition engine 180 can scan the Internet for data associated with the specific entity periodically (e.g., every minute, every hour, every day, every week, and any other increment of time.) In some embodiments, data acquisition engine 180 may receive feeds from be various data aggregating systems that collect data associated with specific entities. For example, the multi-channel cybersecurity assurance system 110 can receive specific entity data from the data sources 160, via the network 130 and data acquisition engine 180. The information collected by the data acquisition engine 180 may be stored as entity data in the entity datasets 122.
The multi-channel cybersecurity assurance system 110 may be used by institutions to assess and manage multidimensional cybersecurity schemas and information (e.g., perimeter, technology, intelligence, and security controls) relating to entities. The assessment can be accomplished using fused multi-channel data and/or pipelines as described further herein.
In various arrangements, the multi-channel cybersecurity assurance system 110, multi-channel cybersecurity assurance vault 120, and the content management system 170 can be implemented as separate systems or integrated within a single system (sometimes referred to as a “monitoring hub”). The multi-channel cybersecurity assurance system 110 can be configured to incorporate some or all of the functions/capabilities of the content management system 170 and multi-channel cybersecurity assurance vault 120, where an entity and/or third party can be subscribers to the monitoring hub.
The multi-channel cybersecurity assurance system 110 may be configured to communicate over the network 130 via a variety of architectures (e.g., client/server, peer-to-peer). The multi-channel cybersecurity assurance system 110 can be configured to generate and provide cybersecurity risk scores and multi-dimensional scores based on fusing multi-channel pipelines and/or data (e.g., scanning various data channels, receiving various data from data channels, and/or collecting various data from data channels).
The multi-channel cybersecurity assurance system 110 can be communicatively and operatively coupled to the multi-channel cybersecurity assurance vault 120, which may be configured to store a variety of information relevant to entity data and third-party data modelled by modeler 116. Information may be received from user devices 140, entity devices 150, third-party devices 155, data sources 160, and/or content management system 170. The multi-channel cybersecurity assurance system 110 can be configured to query the multi-channel cybersecurity assurance vault 120 for information and store information in the multi-channel cybersecurity assurance vault 120. In various arrangements, the multi-channel cybersecurity assurance vault 120 includes various transitory and/or non-transitory storage media. The storage media may include magnetic storage, optical storage, flash storage, and RAM. The multi-channel cybersecurity assurance vault 120 and/or the multi-channel cybersecurity assurance system 110 can use various APIs to perform database functions (i.e., managing data stored in the multi-channel cybersecurity assurance vault 120). The APIs can include, for example, SQL, NoSQL, NewSQL, ODBC, and/or JDBC.
In some arrangements, an entity (e.g., service provider, financial institution, goods provider) may submit entity data to multi-channel cybersecurity assurance system 110 and provide information about cybersecurity analyses (e.g., entity perimeter data, entity security data, entity technology security data, and/or entity security controls data), which may be stored in multi-channel cybersecurity assurance vault 120 (e.g., entity datasets 122). In addition, multi-channel cybersecurity assurance system 110 may be configured to retrieve data via the data acquisition engine 180 (e.g., perimeter data of an entity, security data of an entity, technology security data of an entity, and/or security controls data of an entity), and data may be stored in the entity datasets 122 of multi-channel cybersecurity assurance vault 120. In various arrangements, multi-channel cybersecurity assurance system 110 may be configured to retrieve third-party data via network 130 (e.g., third-party perimeter data, third-party security data, third-party technology security data, and/or third-party security controls data) which may be stored in the third-party datasets 124 of multi-channel cybersecurity assurance vault 120.
The data manager 118 can be configured to perform data fusion operations, including operations to generate and/or aggregate various data structures stored in multi-channel cybersecurity assurance vault 120, which may have been acquired as a result of scanning operations or via another EDI process. For example, the data manager 118 can be configured to aggregate entity data stored in the multi-channel cybersecurity assurance vault 120. The entity data may be a data structure associated with a specific entity and include various data from a plurality of data channels. In some embodiments, the data manager 118 can be configured to aggregate line-of-business data stored in the multi-channel cybersecurity assurance vault 120. The line-of-business data may be a data structure associated with a plurality of line-of-business of an entity and indicate various data from a plurality of data channels based on line-of-business (e.g., information technology (IT), legal, marketing and sales, operations, finance and accounting).
The data manager 118 can also be configured to receive a plurality of entity data. In some arrangements, the data manager 118 can be configured to receive data regarding the network 130 as a whole (e.g., stored in entity datasets 122) instead of data specific to particular entity. The received data that the data manager 118 receives can be data that multi-channel cybersecurity assurance system 110 aggregates and/or data that the multi-channel cybersecurity assurance system 110 receives from the data sources 160 and/or any other system described herein.
As previously described, the multi-channel cybersecurity assurance system 110 can be configured to receive information regarding various entities on the network 130 (e.g., via device connectivity data). Further, the multi-channel cybersecurity assurance system 110 can be configured to receive and/or collect information regarding interactions that a particular entity has on the network 130 (e.g., via IP traffic data). Further, the multi-channel cybersecurity assurance system 110 can be configured to receive and/or collect additional intelligence information. Accordingly, the received or collected information may be stored as entity data in an entity datasets 122. In various arrangements, the entity datasets 122 can include entity profiles generated as described further herein.
The multi-channel cybersecurity assurance system 110 can be configured to electronically transmit information and/or notifications relating to various metrics (e.g., cybersecurity dimensions, cybersecurity risk scores, multi-dimensional scores, vulnerabilities), dashboards (e.g., graphical user interfaces) and/or models it determines, analyzes, fuses, generates, or fits to entity data and/or other data. This may allow a user of a particular one of the entity devices 150 to review the various metrics, dashboards or models which the multi-channel cybersecurity assurance system 110 determines. Further, the multi-channel cybersecurity assurance system 110 can use the various metrics to identify remediation actions for entities. The multi-channel cybersecurity assurance system 110 can cause a message to be sent to the content management system 170 and/or the entity devices 150 indicating that one or more remediation actions should be completed.
The modeler 116 implements data fusion operations of the cybersecurity assurance computing system 110. In various arrangements, the modeler 116 can be configured to receive a plurality of data (e.g., entity data) from a plurality of data sources (e.g., data manager 118, multi-channel cybersecurity assurance vault 120, user devices 140, entity devices 150, third-party devices 155, data sources 160) via one or more data channels (e.g., over network 130). Each data channel may include a network connection (e.g., wired, wireless, cloud) between the data sources and the multi-channel cybersecurity assurance system 110. For example, the modeler 116 could receive entity data from the data manager 118 based on the data manager 118 determining new entity data or identifying updated entity data. In another example, the modeler 116 could receive geolocation data from a user device (e.g., user devices 140) indicating a current location of a user associated with the entity (e.g., an employee).
In some arrangements, the modeler 116 can also be configured to collect a plurality of data from a particular data source or from a plurality of data sources based on electronically transmitting requests to the data sources via the plurality of data channels, managed and routed to a particular data channel by the data acquisition engine 180. A request submitted via the data acquisition engine 180 may include a request for scanning publicly available information exposed by the target entity (e.g., banner information). In some embodiments, the request submitted via the data acquisition engine 180 may include information regarding access-controlled data being requested from the entity. In such cases, the request can include trust verification information sufficient to be authenticated by the target entity (e.g., multi-factor authentication (MFA) information, account login information, request identification number, a pin, certificate information, a private key of a public/private key pair). This information should be sufficient to allow the target entity to verify that a request is valid.
The information regarding data requested via the data acquisition engine 180 may be any type of entity data described herein. The request may also include a deadline by which the requested data should be provided (e.g., in a response). For example, a request could be sent to an entity device (e.g., entity devices 150) for a list of utilized software utilized in a particular timeframe (e.g., currently, in the past day, in the past week, etc.) and indicating that the list should be provided within the next seven days or according to another suitable timeline. In some arrangements, a request can be linked to a response with the requested data (e.g., network information, domain information, subdomain information, infrastructure, software) to enable linking of a particular request to a particular response. In some arrangements (e.g., where requests comprise remediation recommendations that may comprise internal infrastructure components), the modeler 116 is structured to receive an access-controlled response from the target entity via the data acquisition engine 180. The access-controlled response may include information sufficient to be authenticated by an internal computer system. For example, in an arrangement, a remediation request may relate to a particular software-related vulnerability identified on a target system. The remediation request may comprise a link (e.g., a URL) to an internally-hosted update/patch verification tool, which the operator of the target entity may point at the instance of software installed on the operator's server to verify that remediation (e.g., installation of a recommended patch/security update) was successful. The link to the update/patch verification tool may be access-controlled and the response may comprise instructions to execute the tool and authentication information therefor.
In various arrangements, the modeler 116 can be configured to initiate a scan, via the data acquisition engine 180, for a plurality of data from a plurality of data sources based on analyzing device connectivity data, network properties (e.g., status, nodes, element-level (sub-document level), group-level, network-level, size, density, connectedness, clustering, attributes) and/or network information (e.g., IP traffic, domain traffic, sub-domain traffic, connected devices, software, infrastructure, bandwidth) of a target computer network environment and/or environments of the entity or associated with the entity. The operations to fuse various properties of data returned via the scan can include a number of different actions, which can parsing device connectivity data, packet segmentation, predictive analytics, cross-referencing to data regarding known vulnerabilities, and/or searching data regarding application security history. These operations can be performed to identify hosts, ports, and services in a target computer network environment. The target computer network environment can be identified by a unique identifier, such as a domain identifier (e.g., a top-level domain (TLD) identifier, a subdomain identifier, a URL string pointing to a particular directory), an IP address, a subnet, etc. Further, the target computer network environment can be defined with more granularity to encompass a particular component (e.g., an entity identified by an IP address, software/applications/operating systems/exposed API functions associated with a particular port number, IP address, subnet, domain identifier). In some arrangements, one or more particular target computer network environments can be linked to an entity profile (e.g., in the entity datasets 122). In one example, scanning can include parsing out packet and/or device connectivity data properties that may indicate available UDP and TCP network services running on the target computer network environment. In another example, scanning can include parsing out packet and/or device connectivity data that indicates the operating systems (OS) in use on the target computer network environment. In yet another example, scanning and data fusion operations can include retrieving content from a news source that indicates a particular security vulnerabilities in a particular component (e.g., software, port number, operating system) identified from the parsed packet data. These various data items can be relationally mapped to one another using any suitable property designated as a mapping key, using a combination of properties, or using a segment of a property. Some examples or mapping keys may include IP addresses, software, application, port number, protocol name and/or protocol version, entity or company name, company location, device location, etc. However, one of skill will appreciate that other suitable properties derived from device connectivity data, IP packet data, and/or intelligence data can be used as mapping keys.
The modeler 116 may be also configured to execute cybersecurity analyses as part of the data fusion operations. The outputs of these operations can include one or more cybersecurity risk scores and/or multi-dimensional scores based on the received, collected, and/or scanned and fused data. A multi-dimensional score (sometimes referred to herein as “composite score”) can be indicative of overall cybersecurity threat level. That is, the multi-dimensional score can incorporate various cybersecurity risk dimensions and their corresponding scores. Accordingly, the modeler 116 can quantify the vulnerabilities and risk of the entity. In various arrangements, a higher score may be indicative of a stronger overall cybersecurity level. For example, a higher score (e.g., 9.5 out of 10) may be reflective of a stronger overall cybersecurity level of an entity. In some arrangements, a higher score may be indicative of a lower overall cybersecurity level. For example, a higher score (e.g., 9.5 out of 10) may be indicative of a lower overall cybersecurity level of an entity.
In various arrangements, cybersecurity multi-channel data fusion operations can be performed on a plurality of entities such that each entity associated with an entity computing device can have a profile and each profile can be enriched periodically or in real-time. Entity profiles can be created, updated, and tracked by the modeler 116 such that cybersecurity risk scores and/or multi-dimensional scores can be generated, and vulnerabilities can be recorded. Entity profiles are further explained in detail with reference to
In various arrangements, vulnerabilities can be determined based on any software feature, hardware feature, network feature, or combination of these, which could make an entity vulnerable to cyber threats, such as hacking activities, data breaches, and cyberattacks. In turn, cyber-threats increase the probability of cyber-incidents. Accordingly, a vulnerability can be a weakness that could be exploited to gain unauthorized access to or perform unauthorized actions in a computer network environment (e.g., computing environment 100). For example, obsolete computing devices and/or obsolete software may present vulnerabilities and/or threats in a computer network environment. In another example, certain network frameworks may present vulnerabilities and/or threats in a computer network environment. In yet another example, business practices of an entity may present vulnerabilities and/or threats in a computer network environment. In yet another example, published content on the Internet may present vulnerabilities in a computer network environment. In yet another example, third-party computing devices and/or software may present vulnerabilities and/or threats in a computer network environment. Accordingly, as shown, all devices (e.g., servers, computers, any infrastructure), all data (e.g., network information, vendor data, network traffic, user data, certificate data, public and/or private content), all practices (e.g., business practices, security protocols), all software (e.g., frameworks, protocols), and any relationship an entity has with another entity can present vulnerabilities and/or threats in a computer network environment that could lead to one or more cyber-incidents.
Accordingly, the modeler 116 can be configured to determine one or more vulnerabilities. Vulnerabilities can be determined based on receiving vulnerability datasets from a plurality of data feeds and/or querying the stored datasets in multi-channel cybersecurity assurance vault 120 (e.g., in particular, entity datasets 122, and third-party datasets 124). In various arrangements, the received vulnerabilities and queried vulnerabilities can be cross-referenced against items of data received, collected, and/or scanned by the multi-channel cybersecurity assurance system 110 (e.g., via the data acquisition engine 180 and/or multi-channel cybersecurity assurance vault 120). The received vulnerability datasets can include a list of known vulnerabilities in cybersecurity (e.g., computer hardware, software, network communication, configuration settings, and/or mitigation techniques). The queried vulnerabilities can be based on the modeler 116 providing one or more parameters to the multi-channel cybersecurity assurance vault 120 and subsequently receiving data matching (e.g., properties in subsets of data and/or packets of data) the one or more parameters to infer that a vulnerability is present. That is, utilizing the metadata (e.g., entity datasets 122, third-party datasets 124, remediation datasets 126) stored within the multi-channel cybersecurity assurance vault 120 and based on identifying properties in the metadata, inferences and determinations can be made regarding vulnerabilities if one or more parameters (or properties) match metadata of entity profiles. For example, a query could be executed by the modeler 116 that includes a parameter (or property) indicating to return all entity profiles with an open port 80 (e.g., “All Entity—Open Port 80”). In this example, the query would return each entity profile that includes an open port 80 (e.g., vulnerability). In another example, a query could be executed by the modeler 116 that includes a parameter (or property) indicating return entity profiles in the financial industry that run TellerSuite Software (e.g., “Financial Entity-Run TellerSuite Software”). In this example, the query would return each entity profile that is associated with financial industry and runs TellerSuite Software (e.g., vulnerability). In some arrangements, returning the requested values can comprise operations to retrieve updated device connectivity data and/or parse the “port” property from the data to create a subset of devices where port 80 is used. Returning the requested values can further comprise operations to ping or otherwise initiate a call to or gather data regarding the subset of devices to determine which devices have port 80 open. Collectively, these operations can be referred to as scanning operations.
In various arrangements, once vulnerabilities are determined, each identified vulnerability can be stored in a security parameters dataset (e.g., in multi-channel cybersecurity assurance vault 120) such that the security parameters dataset can be cross-referenced to identify vulnerabilities in data. In some arrangements, the security parameters dataset can also include weights assigned to individual vulnerabilities such that certain vulnerabilities can be weighted higher (e.g., indicative of increased cybersecurity risk) than other vulnerabilities.
Expanding generally on the data fusion aspects of generating the cybersecurity risk scores and multi-dimensional score in the schema of the modeler 116, each cybersecurity risk score can be representative of a cybersecurity dimension of the multi-dimensional score that can be calculated based on fusing various properties of data that have been assigned to each particular dimension. For example, a port property can be mapped to the technology security dimension.
Modeler 116 (or data manager 118) can be configured to assign dimensions to each item of data that have been received, collected, and/or scanned. Each item of data can be linked to one or more specific data channels and each cybersecurity dimension can include a plurality of items of data (collectively referred to herein as “subsets of data”). Accordingly, each cybersecurity dimension can include a subset of data that the modeler 116 can utilize to analyze and generate cybersecurity risk scores for each cybersecurity dimension. In various arrangements, each cybersecurity dimension can be incorporated into the multi-dimensional score such that standardized overall cybersecurity can be quantified. That is, each entity profile can receive a multi-dimensional score such that entity profiles can be compared, historical information can be tracked, and trends over time can be established. Accordingly, the security model described herein standardizes the generation of cybersecurity risk scores and multi-dimensional scores such that modeler 116 can provide consistent and stable multi-channel data fusion operations on entities.
For example, an illustrative scoring table below (between 0 and 10) discloses a plurality of values (e.g., sometimes referred to herein as “impact” and/or “impact values”) assigned to a plurality of items (e.g., potential vulnerabilities and threats) of a specific entity (Table 1):
As shown, the values assigned by the modeler 116 can be based on retrieving values of items from a lookup table or by a user entering values. In some arrangements, the impact values represent a Federal Information Processing Standard (FIPS) Publication 199 confidentiality impact level. In some arrangements, the impact values are determined based on suitable vulnerability database risk-scoring methodologies, such as the Common Vulnerability Scoring System (CVSS). In some arrangements, the impact values are defined by another entity or organization, which can be internal or external to the entity that manages and/or operates the systems described herein. For example, the impact values can be based on raw scores assigned to various attack vectors, which may be scored according to how easily the underlying vulnerabilities can be exploited. In some arrangements, the impact values can be received and/or determined using data intelligence collection, penetration testing, system administration data, and/or data related to various security-related technical tasks. Accordingly, in some arrangements, the source data for deriving and assigning the impact values can be retrieved from system administration logs, operations logs, and/or access logs, any of which may be automatically generated by the respected source system(s) in the course of system operation. In one example and as shown above, “Software App U” was assigned a value of 8, which could indicate “Software App U” is more vulnerable or poses a larger threat to cybersecurity, whereas “Server V” was assigned a value of 1, which could indicate “Server V” is less vulnerable or poses a reduced threat to cybersecurity. In various arrangements, each item in the subsets of data can be given a value by the modeler 116.
In another example, an illustrative visibility table (sometimes referred to as “attack surfaces”) below discloses instances discovered through scanning and assigned to a plurality of properties (e.g., potential vulnerabilities and threats) of a specific entity (Table 2):
As shown, the values assigned above by the modeler 116 can be a count of instances a specific item was located and/or determined based on the received, collected, and/or scanned entity data, such that the number of discovered instances is reported relative to the number of IP traffic packets or to the number of unique source entities, destination entities, port numbers, MAC addresses, IP addresses, or communication protocols in the data set of IP traffic packets returned by a particular scan operation. Further, as shown, the security controls dimension (sometimes referred to herein as “mitigating security dimension”) can be given a “Y” or “N” such that “Y” is indicative of the item being discovered and “N” is indicative of the item not being discovered. In one example and as shown above, “Software App U” was discovered to have 3 instances on the computer network environment of the entity and/or associated with the entity, whereas “Server V” was discovered to have 15 instances on the computer network environments of the entity and/or associated with the entity.
With reference to Table 1 and Table 2 above, the illustrative scoring table and illustrative visibility table can be combined to generate a combined table of a plurality of items of a specific entity (Table 3):
In various arrangements, a variety of computational operations can be performed by the modeler 116 to generate a cybersecurity risk score for each dimension. An example equation for the generating a cybersecurity risk score for a specific dimension can be found in the equation below (Equation 1):
The following table describes the notation as it shall be used hereafter. The notation is denoted as follows:
A calculation of a cybersecurity risk score for the technology security dimension utilizing Equation 1 is shown below (with reference to Table 3):
where adjustments can be made for value 8's, 9's and 10's such that vulnerabilities and threats can be emphasized (e.g., weighted). In various arrangements, weights can be added or removed from any value.
where the integration of all the calculation can generate a cybersecurity risk score for the technology security dimension:
{T}=max(10,8.05+1.5+0+0)=9.55
where the lower the score for Equation 1 may be indicative of increased cybersecurity (decreased threat level).
In various arrangements, similar operations and calculations can be performed to generate various cybersecurity risk scores for various dimensions. To further the example above, the additional cybersecurity risk scores can be as follows:
Perimeter Cybersecurity Score={P}=8.29
Intelligence Cybersecurity Score={I}=4.63
An example of generating a security controls score (sometimes referred to herein as “mitigating security score”) for the security controls dimension is shown below (Equation 2):
A calculation of a cybersecurity risk score for the security controls dimension utilizing Equation 2 is shown below (with reference to Table 3):
where the higher the score for Equation 2 may be indicative of increased cybersecurity.
In various arrangements, the cybersecurity dimensions can be aggregated to generate a multi-dimensional score for an entity profile. Generating a multi-dimensional score for the cybersecurity dimensions is shown below (Equation 3):
A calculation of a multi-dimensional score utilizing Equation 3 is shown below (with reference to above cybersecurity risk scores):
where the lower the score for Equation 3 may be indicative of increased cybersecurity.
One of skill will appreciate that Equations 1-3 herein are representative of a particular arrangement and/or group of arrangements and other arrangements are contemplated. The risks of a given individual item may be re-assessed periodically (for example, as a technology matures and becomes more or less secure). As such, the risk scoring and measuring algorithms should be reviewed regularly, and may be updated as the system is refined. Accordingly, in various arrangements, properties parsed from device connectivity data can be included in (mapped to) a particular security dimension (e.g., the technology dimension, the perimeter security dimension, the intelligence security dimension) based on any of the following non-exclusive list of items: device data, application data, infrastructure component data, device connectivity data, and IP traffic data. Various roll-up aggregation methods, including counts, averages, median values, mode values, and various statistical data (percentiles, time series data, etc.) can be used to calculate the score. Various data analysis techniques may be used to normalize the data, generate projections, etc. For example, data can be normalized via linear scaling, log scaling, clipping, z-scoring, etc. Data can be used as a basis for generating projections using regression, moving averages, weighted values (e.g., weighted averages), etc.
Accordingly, in operation, a scan may return device connectivity data. Device connectivity data can be parsed to identify a particular infrastructure component, such as a web server's operating system version. The particular infrastructure component can be included in a particular security dimension, such as the technology security dimension. One or more vulnerabilities and impact values can be determined for the particular infrastructure component based at least in part on the data received via various additional data sources. A count of identified occurrences for each vulnerability may be determined and assigned an impact value. The data can be weighted and/or otherwise aggregated according to the impact value, number of occurrences, or other factors. Data analysis and/or machine learning techniques, systems, and/or methods can be applied to the data to generate one or more projections. Based on the weighted and/or otherwise aggregated data and based on the projection(s), a security score for the particular dimension can be calculated. The security score can be aggregated with other security scores for other items indicated by the received device data, application data, infrastructure component data, device connectivity data, and/or IP traffic data to arrive at the score for the particular dimension and/or a multi-dimensional score.
In various arrangements, a multi-dimensional score can be categorized based on a variety of rules and/or factors. In one example, the categories could be low, medium, high, and critical, (e.g., according to the nomenclature used in the CVSS), National Institute of Standards and Technology (NIST) cybersecurity framework, or another suitable nomenclature) where each category can be defined based on a scoring chart. That is, low could be defined as a multi-dimensional score between 0.0-3.99, medium could be defined as a multi-dimensional score between 4.0-6.99, high could be defined as a multi-dimensional score between 7.0-10.00, and critical could be defined as a multi-dimensional score above 10.00. Accordingly, with reference to the above multi-dimensional score, the entity with the score 7.32 may be categorized as high. In some arrangements, each category may include requirements and/or rules for an entity to follow. The rules can include computer-based operations (e.g., initiate a temporary communication shutoff until a multi-dimensional score goes below a certain value, require certain changes to the computer network environment of an entity such as disabling a port and/or taking an infrastructure component offline, perform various other remediation actions). In some arrangements, entities categorized as low may need to be enriched less frequently (e.g., every week), whereas entities categorized as critical may need to be enriched more frequently (e.g., in real-time, every 5 minutes, every hour, every day).
In some arrangements, weights can be given to specific dimensions such that cybersecurity risk scores can be modified utilizing an arithmetic operation. In one illustrative example, the intelligence security score may be multiplied by a factor of 0.5. In various arrangements, the number of cybersecurity dimensions can be added or removed such that additional calculations for additional cybersecurity dimensions can be generated and the equations (e.g., Equation 1, 2, and 3) can be updated accordingly and/or fewer calculations for fewer cybersecurity dimensions can be generated and the equations can be updated accordingly.
Accordingly, as multi-dimensional scores and cybersecurity risk scores change and/or are updated based on multi-channel fusion operations, a remediation system 114 can be configured to actively execute (e.g., in real-time) various operations that override default operations of the respective computing system where the vulnerability was identified. In various arrangements, the remediation system 114 can determine actions (e.g., proactive, reactive, and mitigation operations) responsive to fusing multi-channel data and generating scores. In one arrangement, proactive actions can include identifying and addressing potential vulnerabilities and/or threats before a cyber-incident occurs. In another arrangement, reactive actions can include identifying and addressing potential vulnerabilities and/or threats contemporaneously with a cyber-incident or after a cyber-incident occurs. In yet another arrangement, mitigation actions can include implementing computer-based policies and processes to reduce the possibility of future cyber-incidents.
In various arrangements, the predetermined threshold can be set by a user or identified by one or more processing circuits (e.g., modeler 116) based on analyzing the entity data. Predetermined thresholds can be based on inequalities (e.g., greater then, less then, between), Boolean algebra (e.g., and, or, nor), binary logic (e.g., truth table, tautologies, and logical equivalences), and/or equations (e.g., quadratic, linear, radical, exponential, rational).
In various arrangements, other operations can include trending, pattern recognition, and notification operations. Trending and pattern recognition operations can be executed to identify trends and/or patterns in various entity data (e.g., historical multi-dimensional scores, historical cybersecurity risk scores, historical vulnerabilities, historical threats, and/or any other historical entity data properties). That is, based on evaluating entity datasets 122 and/or third-party datasets 124, and based on generating multi-dimensional scores and/or cybersecurity risk scores, one or more processing circuits of the modeler 116 can identify trends and/or patterns (e.g., linear, exponential, seasonality, random, damped window, stationary, AI, and/or cyclical trends and/or patterns) of the various entity data. The notification operation may be executed in response to trends and/or pattern recognition operations. The notification operations can provide alerts to various computing devices (e.g., multi-channel cybersecurity assurance system 110, user devices 140, entity devices 150, third-party devices 155, data sources 160).
The multi-channel cybersecurity assurance system 110 can include a remediation system 114. In various arrangements, the remediation system 114 can be configured to track and provide remediation actions to entity profiles. In various arrangements, the remediation system 114 can determine appropriate system actions responsive to identifying trends, patterns, and providing notifications. The remediation system 114 can analyze the received, collected, and tracked data performed by the modeler 116 to determine (e.g., generate recommendations for) various remediation items. Remediation items can be any item identified in the data fusion operations that could be a potential vulnerability or threat to the scanned entity and/or any other entity that has a relationship with the scanned entity. Remediation items can be stored in the remediation dataset 126 of the multi-channel cybersecurity assurance vault 120, and remediation actions can be generated and provided to an entity and/or any other entity that has a relationship with the entity. In various arrangements, the remediation actions can be any a specific action and/or actions that the scanned entity and/or any other entity that has a relationship with the scanned entity should remediate.
For example, if it is determined that port 40 is open on computing device X, a remediation item may be generated and stored in the remediation datasets 126 and a remediation action may be generated and sent to the entity requesting that port 40 be closed on computing device X. In another example, if it is determined there is a vulnerability with Software Y, a remediation item may be generated and stored in the remediation datasets 126 and a remediation action may be generated and transmitted to the entity requesting that Software Y be uninstalled on all computing devices. In both examples, each remediation item can be tracked such that historical data and trend data can stored in the remediation datasets 126. Further in both examples, in subsequent data fusion operations, the remediation system 114 can determine if one or more remediation items have been remediated.
In various arrangements, the remediation system 114 can independently verify, separate from a data fusion operation, that a remediation item has been completed by scanning the plurality of data channels for entity data, receiving new or updated device connectivity data and/or IP traffic data and fusing this data to determine an updated cybersecurity score.
In various arrangements, the remediation system 114 can generate a long term trend summary associated with the entity and based on the detected vulnerabilities and progress of the at least one remediation. The long term trend summary can be included in the user-interactive cybersecurity dashboard. In various arrangements, the long term trend summary can include various graphs, charts, pictures, statistics indicating current vulnerabilities, current remediation items, deadlines for remediating the remediation items, cybersecurity risk scores and trends, multi-dimensional scores and trends. Additional details associated with the remediation system 114 and long term trend summaries is described further with reference to
Referring now to
In broad overview of method 200, at block 205, the one or more processing circuits (e.g., multi-channel cybersecurity assurance system 110 in
Referring to method 200 in more detail, at block 205, the one or more processing circuits (e.g., multi-channel cybersecurity assurance system 110 in
Referring to method 200 in more detail, at block 210, the one or more processing circuits can receive, via one or more data channels (e.g., via the data acquisition engine 180), entity data associated with an entity, wherein the entity data includes subsets of data associated with specific data channels or data sources. Each data channel of the plurality of data channels may be communicatively connected to the one or more processing circuits via a data channel communication network such that each data channel can be a computing device (e.g., user devices 140, entity devices 150, third-party devices 155, data sources 160) that can store data. In various arrangements, the entity data of an entity can contain items such that a plurality of items can be included in the subsets of data. In some arrangements, each data channel may include a subset of data such that the entity data can be subsets of data. For example, subsets of data can include properties parsed from device connectivity data and/or packet segments parsed from IP traffic data. The one or more processing circuits can also analyze network properties and network information of a target computer network environment associated with the entity. Further, the one or more processing circuits can also collect entity data by querying a plurality of data sources (e.g., user devices 140, entity devices 150, third-party devices 155, data sources 160). In some arrangements, analyzing network properties and network information of a target computer network environment associated with the entity can be based on evaluating domain and subdomain Internet protocol (IP) traffic and/or based on additional relevant intelligence data collected internally or via third-party systems.
At block 220, the one or more processing circuits can analyze the subsets of data comprising assigning each subset of data to a specific cybersecurity dimension of a plurality of cybersecurity dimensions based on correlating one or more properties of the subset of data to one or more vulnerabilities of the subsets of data to determine an impact of each vulnerability.
Assigning the subsets of data can be based on various rules and/or factors. In various arrangements, each cybersecurity dimension can include specific properties or characteristics such that each subset of data can be assigned to one or more cybersecurity dimensions (e.g., intelligence, technology, perimeter, security controls) that best matches the specific characteristics of the cybersecurity dimension as shown, for example, in
In some arrangements in data fusion operations, some subsets of data can be discarded based on a determination of duplicate data (e.g., data deduplication). In particular, the one or more processing circuits can analyze the subsets of data based on their properties and remove duplicate records from the entity data. Data deduplication can be utilized to improve storage utilization and network data transfers to reduce the number of bytes that are transmitted and preserve or increase the bandwidth available to other system operations.
At block 230, the one or more processing circuits can generate a plurality of cybersecurity risk scores based at least on the detected one or more vulnerabilities and the impact of each vulnerability, wherein each cybersecurity risk score is associated with one of the plurality of cybersecurity dimensions. In various arrangements, each cybersecurity risk score can be unique and be indicative of the cybersecurity of a specific dimension of an entity. Each entity may be associated with an entity profile such that the cybersecurity risk scores can be associated with the entity profile of the entity. In some arrangements, the generated plurality of cybersecurity risk scores can include performing various arithmetic computations and weighting various computations such that various computations can have greater influence or less influence on the cybersecurity dimensional score.
At block 240, the one or more processing circuits can generate a multi-dimensional score based on aggregating the plurality of cybersecurity risk scores. Aggregating the plurality of cybersecurity risk scores can include performing various arithmetic computations on the cybersecurity risk scores and weighting various cybersecurity risk scores such that have greater influence or less influence on the multi-dimensional score.
At block 250, the one or more processing circuits can execute a system action responsive to evaluating the multi-dimensional score and/or the identified vulnerabilities. For example, in response to identifying a multi-dimensional score of an entity being above a predetermined threshold (e.g., greater than 10, greater than or equal to 10), a task may be executed that disables all or at least some communication (e.g., email, file uploads, any other network communication) between an entity and one or more other entities. In another example, in response to identifying a specific port is open (e.g., port 40, port 92), a shut down (or close) task may be executed on the port that is open such that the communications interface associated with the port is disabled. In yet another example, in response to a determination of a failure or abnormal termination of a previously active computer server, a switching (e.g., sometimes referred to as “failover”) task can be executed to failover to a redundant or standby computer server. In yet another example, in response to a determination of a failure or abnormal termination of a previously active segment of a network, a switching (e.g., sometimes referred to as “failover”) task can be executed to failover to a redundant or standby segment of the network. In yet another example, in response to identifying an attack (e.g., a DDOS attack, code injection) on a target computer environment, a task can be executed redirecting network traffic to a specific IP address to a decoy non-production environment where production resources cannot be compromised by the attack. In yet another example, a remediation recommendation and/or related executables can be generated and transmitted to the target computer system. The system actions described herein can be executed on internal systems and/or included in a remediation recommendation for execution on the relevant external system where the vulnerability is identified.
Referring now to
In broad overview of method 300, at block 310, one or more processing circuits (e.g., multi-channel cybersecurity assurance system 110 in
Referring to method 300 in more detail, at block 310, the one or more processing circuits (e.g., multi-channel cybersecurity assurance system 110 in
At block 320, the one or more processing circuits can analyze the updated entity data to identify at least one of new subsets of data or changes to the subsets of data associated with the most recent receipt occurring before the receipt of additional data. In various arrangements, the one or more processing circuits can compare previously stored data (e.g., in multi-channel cybersecurity assurance vault 120) with the updated entity data to determine if a change in the subsets of data occurred. In another arrangement, the one or more processing circuits can identify a new subset of data based on cross-referencing various data sources.
At block 330, the one or more processing circuits can, in response to determining at least one a new subset of data or a change to at least one previous subset of data, generate an updated cybersecurity risk score for each of the specific cybersecurity dimensions. The updated cybersecurity risk score can be re-associated with the entity profile of the entity. In various arrangements, the updated cybersecurity risk score may be indicative of additional vulnerabilities or threats previously not identified. In some arrangement, the cybersecurity risk scores can be saved in a database (e.g., multi-channel cybersecurity assurance vault 120) such that historical data and trends can be identified.
At block 340, the one or more processing circuits can generate an updated multi-dimensional score based on aggregating the plurality of cybersecurity risk scores. In various arrangements, the previous multi-dimensional scores can be saved in a database (e.g., multi-channel cybersecurity assurance vault 120) such that historical data and trends can be identified.
Referring now to
In broad overview of method 400, at block 410, one or more processing circuits (e.g., multi-channel cybersecurity assurance system 110 in
Referring to method 400 in more detail, at block 410, the one or more processing circuits (e.g., multi-channel cybersecurity assurance system 110 in
At block 420, the one or more processing circuits can generate a user-interactive cybersecurity dashboard based on the entity data and the customization parameters, wherein the user-interactive cybersecurity dashboard includes one or more graphical user interfaces. In various arrangements, the user-interactive cybersecurity dashboard can generate panels for the user-interactive cybersecurity dashboard. In some arrangements, the panels can include a variety of data and options.
At block 430, the one or more processing circuits can provide, to the computing device of the institution, the user-interactive cybersecurity dashboard, wherein the user-interactive cybersecurity dashboard is presented on a display of the computing device. The user-interactive cybersecurity dashboard can be rendered at a computing device (e.g., user devices 140, entity devices 150, third-party devices 155) to facilitate interactions and analyze various entity data, cybersecurity risk scores, performance metrics, trends, tracking, and/or remediation items associated with one or more entity profiles. In various arrangements, the user-interactive cybersecurity dashboard can be generated, updated and/or monitored by the content management system 170 in
At block 440, the one or more processing circuits can receive, via the user-interactive cybersecurity dashboard, a selection of at least one of the selectable drill-down options. In various arrangements, a variety of data and entities can be categorized and/or grouped together based on a variety of characteristics, such as line-of-business, subsidiary, department, location, industry, and/or financial trends.
At block 450, the one or more processing circuits can, in response to receiving the selection, update, by the one or more processing circuits, the user-interactive cybersecurity dashboard based on the entity data and the selection. In various arrangements, the user-interactive cybersecurity dashboard can be updated to include the data of the selected drill-down option. For example, in response to a selection of drill-down option to drill-down to marketing and sales line-of-business, the one or more processing circuits may update trends, scores, and graphs such that the user-interactive cybersecurity dashboard displays only the marketing and sales line-of-business data.
Referring now to
Expanding generally on the security metrics model 520, in various arrangements, the one or more processing circuits of the security metrics model 520 can be communicatively coupled to various data channels (e.g., 525 and 530) via data channel communication networks (e.g., 515a, 515b, 515c, 515d, 515e, 515f). The various data channels can connect, via the data channel communication networks, to various data sources (e.g., 505, 510, and 535) that provide various data that can be utilized to quantify cybersecurity of various entities (e.g., providers, users, institutions). Accordingly, the one or more processing circuits of the security model metrics 520 can receive, scan, and collect various data from various data sources such that multi-channel data fusion operations can be performed to generate one or more cybersecurity risk scores, and/or multi-dimensional scores. In various arrangements, the various data can be divided into subsets of data (e.g., by data channel, by vendor, by line-of-business).
The one or more processing circuits of the security metrics model 520 can utilize the generated scores and multi-channel data fusion operations to generate cybersecurity dashboards, cybersecurity reports, and remediation items and/or remediation actions such that entities and users can utilize the information to detect and address cybersecurity vulnerabilities, monitor relationships (e.g., network relationships, hardware relationships, financial relationships) between entities and users, and quantify cybersecurity for entities and users, to improve overall avoidance and prevention of cybersecurity incidents (e.g., hacking activities, data breaches, cyberattacks, and other detrimental cyber-incidents).
In some arrangements, an institution may utilize the one or more processing circuits of the security architecture 500 to create profiles for entities (sometimes referred to as “providers” and/or “vendors”). In various arrangements, the profiles may be variously organized and/or categorized (e.g., industry, market capitalization (market cap), earnings, public/private, headquarters location, financial health). The entity profiles can be further divided into entity specific organization and categories (e.g., line-of-business, subsidiary, department, location). In some arrangements, the creation of a profile can be referred to herein as “initial data fusion operations”, and the updating of a profile can be referred to herein generally as a “data fusion operations”. Initial data fusion operations can include the creation of an entity profile such that entity information is added to the entity profile (e.g., industry, market capitalization (market cap), earnings, public/private, headquarters location, financial health). Initial data fusion operations can also include the initial receipt, scan, and collection of entity data from various data sources (e.g., 505, 510, and 535) associated with various data channels (e.g., 525 and 530) via data channel communication networks (e.g., 515a, 515b, 515c, 515d, 515e, 515f). Furthermore, data fusion operations can refer to updating the entity data based on receiving, scanning, and collecting of entity data from various data sources (e.g., 505, 510, and 535) associated with various data channels (e.g., 525 and 530) via data channel communication networks (e.g., 515a, 515b, 515c, 515d, 515e, 515f) at a point in time after the initial data fusion operations. That is, data fusion operations can be performed a plurality of times. In various arrangements, data fusion operations can be performed in real-time such that the entity data is continuously updated. In some arrangements, data fusion operations can be performed based on a difference in a period of time between the most recent data fusion operation (e.g., 15 nanoseconds, 2 milliseconds, 5 seconds, 1 minute, 3 hours, 12 hours, 1 day, 2 weeks).
In various arrangements, each profile of the plurality of profiles may be given a class/data fusion scheduling classification (e.g., tier I, tier II, tier III) such that profiles may be enriched or tracked based on the class. For example, Company X may be tier I, Company Y may be tier II, and Company Z may be tier III. In this example, Company X may be required to be enriched in real-time, whereas Company Y may be required to be enriched at least every 5 days, and whereas Company Z may be required to be enriched at least every 2 weeks. Accordingly, classes may be given to various profiles based on various rules and/or factors such as industry type (e.g., financial, construction, engineering), historical cyber-incidents (e.g., profile may be tier I if they had a cyber-incident in last 3 days, profile may be tier II if they have not had a cyber-incident in 3 months), trends (e.g., 6 cyber-incidents in past 3 hours), any multi-channel data fusion operations performed by security metrics model 520, and/or a combination of rules and/or factors (e.g., a particular profile can be tier I if they are in the financial industry and 5 cyber-incidents occurred in the last hour). In some arrangements, a profile can change classes such that classes can be determined and modified based on various rules and/or factors.
In various arrangements, the initial and subsequent data fusion operations can also include analyzing, by the one or more processing circuits of the security metrics model 520, subsets of data (e.g., entity data) including assigning each item in the subset of data to a specific cybersecurity dimension (e.g., perimeter security, technology security, intelligence security, security controls) of a plurality of cybersecurity dimensions and detecting one or more vulnerabilities of the subsets of data to determine an impact of each vulnerability. That is, each specific cybersecurity dimension can be indicative of particular information and/or associated with an entity. In some arrangements, the plurality of cybersecurity dimensions can include at least one of a perimeter security dimension, a technology security dimension, an intelligence security dimension, and security controls dimension. In various arrangements, a plurality of profiles for a plurality of entities can be created.
Expanding generally on the perimeter security dimension, in various arrangements, the perimeter security dimensions are based on the communication endpoints of the entity detected via scanning and/or other forms of intelligence gathering. Communication endpoints can be domains, subdomains, IP addresses, or ports that are constructs that identify specific processes or a types of network service. Communication endpoints can be protocol specific (e.g., transmission control protocol (TCP)**, user datagram protocol (UDP)) and assigned an address combination. The address combination may include a 16- or 128-bit unsigned number representing an Ipv4 or Ipv6 IP address and another 16-bit unsigned number commonly referred to as “port number.” Port numbers can be divided into ranges (e.g., well-known ports, registered ports, and dynamic or private ports) and assigned numbers accordingly. For example, File Transfer Protocol (FTP) Data Transfer may be port number: 20, Secure Shell (SSH) Secure Login may be port number: 22, Domain Name System (DNS) service may be port number: 53, Dynamic Host Configuration Protocol (DHCP) may be port number: 67 and 68, Hypertext Transfer Protocol (HTTP) may be port number: 80. In various arrangements, entities can electronically transmit and receive network packets (e.g., formatted units of data, sometimes referred to as the payload) via communication endpoints of the entity. That is, the entity can utilize communication endpoints on computer hardware (e.g., computing devices, servers, databases, processing circuits, Internet of things (IoT) devices) as an interface between the entities computer hardware and other computer hardware and/or peripheral devices (e.g., via network 130 in
Each communication endpoint, such as ports, can be subject to cybersecurity incidents. In particular, some ports may be more vulnerable (e.g., critical ports) and/or prone than other ports to cyber-incidents. Accordingly, the perimeter security dimension can be based on open, closed and/or filtered communication endpoints of entities.
Expanding generally on the technology security dimension, in various arrangements, the technology security dimension is based on technologies and frameworks utilized by the entity. Technologies can comprise any computing device and/or software application utilized by the entity to perform and execute various functions on various computing devices. Frameworks (sometimes referred to as software frameworks) can be any type of support programs, compilers, code libraries, tools sets, and/or application programming interfaces (APIs) utilized by the entity. Various software frameworks can include AJAX framework, web framework, middleware, application framework, enterprise architecture framework, decision support systems, computer added design software, and application development framework. In some arrangements, entities can utilize various technologies and frameworks in a computer network environment. In various arrangements, various technologies and frameworks can be subject to cybersecurity incidents (e.g., past cyber-incidents, detected vulnerabilities, based on end of life, current events). In particular, certain technologies and frameworks may be more vulnerable than others to cyber-incidents. Accordingly, the technology security dimension is based on computing devices, software applications, and software frameworks utilized by the entity.
Expanding generally on the intelligence security dimension, in various arrangements, the intelligence security dimension is based on public and private content associated with the entity. Public content may include any content accessible on the world wide web (www), Internet, television, radio, public communication, production software, and newspaper or magazine. Private content may include sensitive data, confidential data, financial data, encrypted data, beta software and private communication data. In various arrangements, various services and sources can be complied into a list of known IP addresses and hosts that include public and private content. In some arrangements, entities can provide content (e.g., news articles) to the public and/or provide content (e.g., financial data, sensitive data) privately to internal or external entities. In various arrangements, other entities that are not the scanned entity can provide content to the public and/or provide content privately to internal or external entities associated with the scanned entity. In various arrangements, various content can be indicative of cybersecurity vulnerabilities and/or threats. In particular, certain content may be indicative of specific vulnerabilities and/or threats to the entity that may result in cyber-incidents. Accordingly, the intelligence security dimension is based on various public and private content.
Expanding generally on the security controls dimension, in various arrangements, the security controls dimension is based on mitigation techniques utilized by the entity. Mitigation techniques can include various software and/or hardware implemented by the entity for mitigating cybersecurity vulnerabilities and threats, proactively increasing cybersecurity, and reducing the likelihood of a cyber-incident. While mitigation techniques may not eliminate all cyber-incidents, they can provide extra layers of security against cyber-incidents (e.g., improved protection). Some mitigation techniques can include implementing antivirus and antispyware software, implementing employee training in cyber security principles, implementing one or more firewalls, updating software and operating systems as they become available, implementing backup systems, implementing access control to physical buildings, computers and network components, implementing secure Wi-Fi networks, implementing virtual data and information access controls, and implementing the changing of passwords frequently. In some arrangements, entities can implement various mitigation techniques. In various arrangements, various mitigation techniques can be indicative of reduced cybersecurity vulnerabilities and/or threats. In particular, certain mitigation techniques may provide enhanced cybersecurity to the entity. Accordingly, the security controls dimension is based on various software, hardware, policies and procedures implemented by the entity to proactively increase cybersecurity and mitigate cybersecurity vulnerabilities and/or threats. In various arrangements, there may be fewer or additional dimensions based on various factors and preferences. For example, a cybersecurity dimension may include a third-party security dimension based on third-party cybersecurity, where the third-parties are entities that communicate and/or provide services or products to the entity.
In one example, the one or more processing circuits of the security metrics model 520 can receive Institution J data (e.g., entity data) from data sources 535, via the T&S data channels 530, and over the data channel communication networks (e.g., 515b, 515d, 515f). In this example, data sources such as ransomware data sources, phishing data sources, blacklists data sources, and financial risk data sources, can store and/or provide Institution J data to the security metrics model 520. Further in this example, each data channel communication network may connect and facilitate the exchange of data between the data channels 530 and the security metrics model 520 over a network (e.g., network 130). In some arrangements, each data channel of the T&S data channels 530 can be communicatively coupled to a specific data source of the data sources 535 (e.g., data channel W can be communicatively coupled to geographic data source X). In various arrangements, each data channel of the T&S data channels 530 can be communicatively coupled to a plurality of data source of the data sources 535 (e.g., data channel Y can be communicatively coupled to geographic data source X and industry risk data source Z).
In another example, the one or more processing circuits of the security metrics model 520 can receive Institution J data (e.g., entity data) from data sources 505, via the attack surface data channels 525, and over the data channel communication networks (e.g., 515a, 515c, 515e). In this example, data sources such as service provider email data sources, service provide Internet service provider data sources, can store and/or provide Institution J data to the security metrics model 520. Further in this example, each data channel communication network may connect and facilitate the exchange of data between the data channels 525 and the security metrics model 520 over a network (e.g., network 130). In some arrangements, each data channel of the attack surface data channels 525 can be communicatively coupled to a specific data source of the data sources 505 (e.g., data channel K can be communicatively coupled to service provider email data source L). In various arrangements, each data channel of the attack surface data channels 525 can be communicatively coupled to a plurality of data source of the data sources 505 (e.g., data channel K can be communicatively coupled to service provider email data source L and service provide Internet service provider data source M).
In yet another example, the one or more processing circuits of the security metrics model 520 can receive Institution J data (e.g., entity data) from data sources 510, via the attack surface data channels 525, and over the data channel communication networks (e.g., 515a, 515c, 515e). In this example, data sources such as system 1, system 2, system 3, can store and/or provide Institution J data to the security metrics model 520. Further in this example, each data channel communication network may connect and facilitate the exchange of data between the data channels 525 and the security metrics model 520 over a network (e.g., network 130). In some arrangements, each data channel of the attack surface data channels 525 can be communicatively coupled to a specific data source of the data sources 510. In various arrangements, each data channel of the attack surface data channels 525 can be communicatively coupled to a plurality of data source of the data sources 510.
In various arrangements, one or more processing circuits of the security metrics model 520 can generate cybersecurity risk scores (e.g., perimeter security, technology security, intelligence security, security controls) and a multi-dimensional score. The one or more processing circuits of the security metrics model 520 can utilize the generated scores to generate cybersecurity dashboards, cybersecurity reporting, remediation items, and detailed reports.
In various arrangements, cybersecurity reporting can include one or more processing circuits of the security metrics model 520 being structured to provide notifications and/or messages to entities based on the generated scores and/or vulnerabilities. Providing a notification and/or message can include email, text message, phone call, mail, fax, online notification, website notification (e.g., via the dashboard described herein), alert, and/or a combination of some, getting transmitted over a network (e.g., network 130 in
In various arrangements, cybersecurity reporting can include one or more processing circuits of the security metrics model 520 being structured to provide notifications and/or messages to entities based on the generated scores and/or vulnerabilities and/or based on selectable policy criteria, such as SLAs, vulnerability-status, cyber risk scores, etc. Providing a notification and/or message can include email, text message, phone call, mail, fax, online notification, website/dashboard notification, alert, and/or a combination of some, getting transmitted over a network (e.g., network 130 in
Referring now to
Referring now to
Referring now to
The user-interactive interface 800 can execute at the multi-channel cybersecurity assurance system 110, user devices 140, entity devices 150, third-party devices 155, or some or all of these to provide the user-interactive interface 800. In some arrangements, the user-interactive interface 800 can be provided within a web browser. In various arrangements, the multi-channel cybersecurity assurance system 110 executes to provide the user-interactive interface 800 at the computing devices (e.g., 140, 150, 155 in
In various arrangements, the user-interactive interface 800 can include the drill-down button 824 that can include drill-down functionality such that data presented on the user-interactive interface 800 can be broken down and magnified. In various arrangements, in response to the selection of the drill-down button 824, a drop-down menu can be displayed such that a user can select a plurality of drill-down options. For example, the user-interactive interface 800 can be drilled-down by profile (e.g., as shown). In another example, the user-interactive interface 800 can be drilled-down by line-of-business such that specific profiles can be displayed based on one or more parameters indicative of one or more lines-of-business. In yet another example, the user-interactive interface 800 can be drilled-down by score such that specific profiles can be displayed based on a cybersecurity risk score and/or multi-dimensional score.
In some arrangements, the user-interactive interface 800 can include the entity profiles panel 802 that can include the number of entity profiles stored in the entity datasets 122 of
In various arrangements, the user-interactive interface 800 can include the multi-dimensional score panel 804 that can include an average of all the entity profile multi-dimensional scores. In some arrangements, the average may be based on specific entities that have been drilled down on (e.g., via drill-down button 824). For example, a user of the user-interactive interface 800 may drill-down to a particular multi-dimensional score of the consumer goods industry. In this example, the multi-dimensional score panel 804 can be updated based on the average of all the entity profiles multi-dimensional scores in the consumer goods industry.
In some arrangements, the user-interactive interface 800 can include the cybersecurity risk score by dimension panel 806 that can include an average of all the entity profile cyber-security scores by dimension. In some arrangements, the average may be based on specific entities that have been drilled down on (e.g., via drill-down button 824). For example, a user of the user-interactive interface 800 may-drill down to a specific entity. In this example, the cybersecurity risk score by dimension panel 806 could update based on the cyber-security scores by dimension of the specific entity.
In various arrangements, the user-interactive interface 800 can include the cybersecurity risk score trends panel 808 that can include a list of entities (sometimes referred to as “vendors” or “partners”) and some entity data associated with each entity (e.g., category, last updated, score, score prior, composite, perimeter, security, intelligence, technology). In various arrangements, any list of grouped profiles and/or features of entity profiles can be displayed. The cybersecurity risk score trends panel 808 can include trend information and recent changes to various entity profiles such as cybersecurity risk scores, multi-dimensional scores, remediation items, vulnerabilities.
In some arrangements, the user-interactive interface 800 can include the cybersecurity risk score by graphical trends panel 810 that can include a graphical representation of trends of a multi-dimensional score and cybersecurity risk scores. The trends can be long-term trends that represent cybersecurity over a period of time (e.g., last 7 days, last month, last 5 minutes). In various arrangements, a user can modify the graphical trends panel 810 utilizing the various input options (e.g., cybersecurity risk score history, cybersecurity risk score date range, cybersecurity risk score dimension) such that the graphical representations can update in response to input by the user. In some arrangements, the graphic trends can display trends in remediation items, trends in vulnerabilities, trends in data fusion operation process. In various arrangements, the graphic trends panel 810 can be modified by clicking and dragging, dropping, inserting, or removal operations to one or more areas of the graphic trends panel 810.
In various arrangements, the user-interactive interface 800 can include navigation buttons that can include a home button 812, a profiles button 814, a vulnerabilities button 816, a hostile countries button 818, a daily summary button 820, and a help button 822. In some arrangements, each button can provide navigation to additional graphical user interfaces of the user-interactive interface 800. The home button 812, when selected, can cause the user interface interface 800 to update and display the home screen. The profiles button 814, when selected, can cause the user interface interface 800 to display a drop-down menu that enables the selection of various profiling features. For example, a user can browse profiles such that a list of all profiles is displayed, create profiles such that a new profile can be created, search profiles such that profiles can be searched by letters, numbers, and/or special characters, and profiles by line-of-business such that profiles can be displayed (and sometimes sorted) by line-of-business. The vulnerabilities button 816, when selected, can cause the user interface interface 800 to update and display all known vulnerabilities. The hostile countries button 818, when selected, can cause the user interface interface 800 to update and display list and/or graphical representation of a map of hostile countries based on a plurality of data (e.g., governmental databases, user designation, entity profile data, network traffic). The daily summary button 820, when selected, can cause the user interface interface 800 to update and display a daily summary of some or all entity profiles. The daily summary may be customized by user such that it is user specific and can display summarized data. The help button 812, when selected, can cause the user interface interface 800 to update and display a help screen.
In some arrangements, updates to the user-interactive interface 800 based on received input of a user can be replicated throughout the panel. For example, if a user drills-down (e.g., via drill-down button 824) the entity profiles panel 802, to display vendor profiles in the financial industry, the multi-dimensional score panel 804, cybersecurity risk score by dimension panel 806, profile cybersecurity risk score trends panel 808, and graphical trends panel 810, may update as well. Accordingly, each input received at any panel and/or button can cause one or more updates to the user-interactive interface 800. In various arrangements, the user-interactive interface 800 can update based on real-time multi-channel data fusion operations and analysis by the multi-channel cybersecurity assurance system 110 in
Referring now to
Referring now to
Referring now to
The computing system 1100 may be coupled via the bus 1105 to a display 1135, such as a liquid crystal display, or active matrix display, for displaying information to a user. An input device 1130, such as a keyboard including alphanumeric and other keys, may be coupled to the bus 1105 for communicating information, and command selections to the processor 1110. In another arrangement, the input device 1130 has a touch screen display 1135. The input device 1130 can include any type of biometric sensor, a cursor control, such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor 1110 and for controlling cursor movement on the display 1135.
In some arrangements, the computing system 1100 may include a communications adapter 1140, such as a networking adapter. Communications adapter 1140 may be coupled to bus 1105 and may be configured to enable communications with a computing or communications network 130 and/or other computing systems. In various illustrative arrangements, any type of networking configuration may be achieved using communications adapter 1140, such as wired (e.g., via Ethernet), wireless (e.g., via WiFi, Bluetooth), satellite (e.g., via GPS) pre-configured, ad-hoc, LAN, WAN.
According to various arrangements, the processes that effectuate illustrative arrangements that are described herein can be achieved by the computing system 1100 in response to the processor 1110 executing an arrangement of instructions contained in main memory 1115. Such instructions can be read into main memory 1115 from another computer-readable medium, such as the storage device 1125. Execution of the arrangement of instructions contained in main memory 1115 causes the computing system 1100 to perform the illustrative processes described herein. One or more processors in a multi-processing arrangement may also be employed to execute the instructions contained in main memory 1115. In alternative arrangements, hard-wired circuitry may be used in place of or in combination with software instructions to implement illustrative arrangements. Thus, arrangements are not limited to any specific combination of hardware circuitry and software.
That is, although an example processing system has been described in
Although shown in the arrangements of
Referring now to
The service level agreement management system 1202 can be structured as discussed herein with reference to the system components of
The scanning engine 1204 is structured to initiate (e.g., cause a third-party to perform) and/or perform dynamic infrastructure scans of a target system. That is, the scanning engine 1204 may cause scans to be performed (e.g., as described above with reference to the data acquisition engine 180 and
The assessment engine 1206 is structured to receive scan results (e.g., for a particular vendor and from the scanning engine 1204) and determine an assessed service level for the particular vendor. The assessed service level can be a value (e.g., LOW, MEDIUM, HIGH, a numerical score on a scale of 1-10, 1-100, etc.) corresponding to a degree of compliance for a vendor based on the terms contained in a service level agreement (SLA). The SLA is associated with the vendor as described further below and with reference to
Still referring to
As referred to herein, the KPIs represent quantifiable measurements, ranges, and/or thresholds which are reflective of a particular term. For example, a vendor may have an SLA containing a system availability term. The system availability term may correlate (e.g., via mapping in the terms repository 1208) to a KPI. The KPI may define threshold(s) reflective of an expected average availability of hosted technology during each calendar month (e.g., at least or greater than 99.9%).
In another example, a vendor may have an SLA that includes a transaction response time term. In an example scenario, the transaction response time term may correlate to one or more KPIs. Examples of such KPIs are an average transaction response time for a calendar month and an average transaction response time for a consecutive three-day period. Furthermore, a KPI may be standardized in order to provide a uniform measurement across multiple vendors. For example, the KPI directed to an average availability of hosted technology during each calendar month may be expressed as Equation 4:
The terms of the equation are discussed further below with reference to
The service level agreement management system 1202 further includes an agreements repository 1210. The agreements repository 1210 is configured to retrievably hold (e.g., in cache memory), store (e.g., in non-transitory memory), and categorize data pertaining to service level agreements (e.g., for particular vendors/entities). In some arrangements, the service level agreements contained in the agreements repository 1210 may contain a combination of raw data and data mapping elements. For example, the agreements repository 1210 may contain a service level agreement, which may contain both raw data (e.g., plaintext alphanumeric values) and data objects which map to terms (e.g. an assessment record can map via double-layer mapping between SLA(s), terms, and assessment maps, where each pair of terms can be a one-to-one or a one-to-many relationship). Accordingly, in some arrangements, a processor of the service level agreement management system 1202 may retrieve the various mappings and associations and compile them into plaintext before a human-readable version of the SLA may be displayed (e.g., through a user interface as described with reference to
The service level agreement management system 1202 further includes an assessments repository 1212. The assessments repository 1212 is configured to retrievably hold (e.g., in cache memory), store (e.g., in non-transitory memory), and categorize data pertaining to assessments previously completed by the assessment engine 1206. The previously completed assessments may contain various data points related to performance against a particular SLA and/or, more specifically, a detected SLA violation, such as an affected component (e.g., server IP/port), a time and date of the violation (e.g., when the issue was detected), a notified party (e.g., admin X at Vendor Y was notified at time/date), a service level value as assessed by the assessment engine 1206 (e.g., Low, Medium, High, etc.), a remediation action taken (e.g., admin X at Vendor Y began monitoring intermittent outages at time/date in response to the notification of violation), and a response parameter regarding the violation (e.g., admin X at Vendor Y submits a response to the violation as part of the remediation process).
Referring now to
The method 1300 begins at process 1302, where the service level agreement management system 1202 identifies a data set of computing resources associated with an SLA for a counterpart entity (e.g., the vendor to whom the SLA is directed) via the scanning engine 1204. The data set of computing resources may be identified via a dynamic infrastructure discovery process as described in
In some implementations, various new components of an entity infrastructure can be dynamically discovered.
At process 1304, the service level agreement management system 1202 references (e.g., generates based on an applicable template or retrieves) a service level agreement for the entity (e.g., the vendor) from the agreements repository 1210. That is, the service level agreement management system 1202 may initially analyze characteristics of the entity (e.g., scale, criticality of systems, client or internally facing systems, etc.) and subsequently select a default SLA template which most accurately correlates to the characteristics of the entity. Accordingly, the service level agreement management system 1202 may then generate an SLA for the entity (e.g., create a new copy of the selected SLA template and modify it with pertinent details of the entity). The retrieval process may be a direct query to the repository (e.g., a native query in MySQL, PostgreSQL, etc.) or, in some arrangements, an API call to a web server that provides data on behalf of the repository. In other arrangements, the service level agreement management system 1202 may generate a default SLA (e.g., containing predetermined terms, KPIs, KPI thresholds, etc.) in response to detecting a new system/component (e.g., as discussed below with reference to
At process 1306, the service level agreement management system 1202 parses a data set of terms from the retrieved service level agreement of process 1302. The terms contained in the parsed data set of terms may include a variety of contractual directives that dictate a required level of service associated with particular facets or dimensions of the technology hosted by an entity (e.g., vendor). In some arrangements, the service level agreement management system 1202 may parse the terms via an iterative process which reads and identifies terms from each line (i.e. record) of the service level agreement. In other arrangements, the service level agreement management system 1202 may parse the terms via a process which seeks and jumps to specific lines of the service level agreement (e.g., where predetermined line numbers contain term entries). In such arrangements, the processing power of the service level agreement management system 1202 may be conserved as the predetermined line number system prevents parsing superfluous or extraneous information not required by the method 1300 (e.g., human-readable aspects that are included for displaying the SLA to humans, such as via the user interface described in
At process 1308, the service level agreement management system 1202 retrieves an assessment map for the terms contained in the data set of parsed terms from the terms repository 1208. The assessment map may be a relational map that defines a term through at least one key performance indicator(s) (KPI), a data set of KPI thresholds, a response protocol, a responsible party, and a performance credit or penalty. For example, a particular entity may have an SLA containing terms directed to the availability of the technology hosted by the entity. In such an example, the assessment map may be defined by Equation 5:
Availability =KPI (average availability of hosted technology during each calendar month), KPI thresholds,Response protocol,responsible party,performance credit
Continuing the example of an SLA containing terms directed to availability, the KPI of average availability of hosted technology during each calendar month may be broken down into an equation, such as Equation 4 discussed above with reference to
The data set of KPI thresholds provides value ranges to compare a desired level of service to the actual service level (e.g., the 99.86% in the example above). For example, a particular data set of KPI thresholds may represent three service levels: High (>99.9%), Medium (>96%), and Low (<96%). Accordingly, the entity of the equation is assessed to be in the “Medium” category of service level for the availability per calendar month KPI.
A response protocol provides an entity with recommendations to improve the actual service level for the associated KPI. Continuing the example, the response protocol may instruct the entity to download and use a diagnostic tool which monitors the service for unscheduled downtime, and subsequently captures and stores the relevant log files (e.g., the sections of the log corresponding to service outages). Depending on the nature of the issue, the response protocol may also be a more direct solution, such as running a script or application, as may be applicable for an error correction KPI (e.g., as discussed below with reference to various SLA examples).
The responsible party may be any user designated as an official point of contact for the entity, such as a: service administrator, project manager, lead developer, account manager, etc. In some arrangements, the responsible party may represent both a point of contact for the entity and a point of contact for a provider institution associated with the service level agreement management system 1202 (e.g., an SLA account manager).
The performance credit or penalty is a punitive measure levied against an entity (e.g., vendor) based on assessed service values (e.g., as they correlate to KPI thresholds). Continuing the availability SLA example, an entity may receive a 0% performance credit for achieving a “High” service level (e.g., no penalty), a 20% performance credit for a “Medium” level of service, and a 35% performance credit for a “Low” level of service. In some arrangements, the performance credit may be applied to the next bill received from the entity, thereby effectively reducing the income of the entity as a punitive measure. Furthermore, in some arrangements, the performance credit values (e.g., 0%, 20%, and 35%) may be adjusted to be individually customized for the entity (e.g., punitive measures adjusted based on the scale and criticality of the system associated with the SLA). In some arrangements, the entity may have been pre-paid for services or utilize a non-standard billing schedule, and therefore be required to issue a refund within a predetermined amount of time (e.g., within a week). In arrangements where the entity has or supports both a production environment and at least one non-production environment (e.g., a development environment), the entity may receive a service level agreement with different terms for every environment. For example, the non-production environments may have much-less stringent, or even absent, terms pertaining to an availability SLA (e.g., as the provider institution associated with the service level agreement management system 1202 has no vested interest in the uptime of a non-public testing/development environment). Accordingly, an environment identifier may be generated and stored relationally to a particular assessment map or SLA. The environment identifier may include a device address (e.g., parsed from the received device connectivity data after a scan), a URL, a path to a particular file or directory, or another suitable identifier.
In some arrangements, there may exist multiple SLAs for a particular entity. The terms of the SLAs may be directed to a variety of technological and business practices. As an example, an entity may have an SLA with terms directed to transaction response time. It may have KPIs, such as, for example, the average transaction response time for each calendar month and the average transaction response time for each consecutive three day period. A transaction response time is measured as the total number of seconds, or portions thereof (e.g., milliseconds), that it takes for an entity system to process a request from an authorized user. The total number of seconds representing the transaction response time may begin from the moment a system of the entity receives a request and end when the system of the entity transmits a response. In some arrangements, the total number of seconds may be adjusted for applicable system latency (e.g., the period of delay between an instruction to transfer data and the actual action of transferring of the data). Furthermore, the transaction response SLA may be customized based on the entity (e.g., a fast response or low latency requiring service may need adjusted KPI threshold values). An example KPI equation for the average transaction response time for each calendar month may be expressed as Equation 7:
An example KPI equation for the average transaction response time for each consecutive three day period may be defined by Equation 8:
Example KPI threshold values which, in some arrangements, correlate to performance credits may be:
Another example SLA may contain terms directed to maintenance response times. An SLA with terms directed to maintenance response times may have direct one-to-one KPIs (e.g., a Boolean equation, where the entity is either in compliance or not). For example, it may have KPIs, such as, the entity will ensure that it responds within (i) thirty (30) minutes of an initial service request from the provider institution for assistance with a moderately severe error, and within (ii) four (4) business hours (based on the time zone of the responsible party associated with the provider institution that makes an initial service request) for extremely severe errors. In some examples, the business hours may count the hours between 8:30 A.M. and 5:30 P.M. Additionally, in some arrangements, the SLA may have a flat-rate performance credit (e.g., rather than a percentage). Furthermore, in some arrangements, the entity may negotiate with the provider institution to receive a customized SLA (e.g., adjustments made to the maintenance response times and the performance credit values). Example KPI threshold values (e.g., number of occurrences where an entity failed to meet the KPIs as discussed above) with flat-rate performance credits may be:
Yet another example SLA may contain terms directed to error correction times. Such an SLA may also have direct one-to-one KPIs, such as, for example, the entity will provide: (i) an error fix within four (4) hours for an extremely severe error after the first report from the provider institution, or from when the entity first became aware of the error, whichever occurred first. If the entity should provide a temporary workaround, an actual error fix must be completed within twenty-four (24). (ii) an error fix within eight (8) hours for a moderately sever error after the first report from the provider institution, or from when the entity first became aware of the error, whichever occurred first. If the entity should provide a temporary workaround, an actual error fix must be completed within seventy-two (72) hours. (iii) an error fix for a low-severity error no later than the next scheduled update after the first report from the provider institution, or from when the entity first became aware of the error, which occurred first. If the next scheduled update is less than 30 days from the identification of the error, the entity may fix the error in the subsequent update. In some arrangements, the entity may negotiate with the provider institution to receive a customized SLA (e.g., adjustments made to the error correction times and the performance credit values). Example KPI threshold values (e.g., number of occurrences where an entity failed to meet the KPIs as discussed above) with flat-rate performance credits may be:
Another example SLA may contain terms directed to reporting obligations (e.g., such as an obligation to report for the Harmonized Tariff Schedule (HTS)). Such an SLA may also have direct one-to-one KPIs, such as, for example, the entity will ensure that each report due to the provider institution is: (i) complete; (ii) accurate; and (iii) provided in a timely manner according to a predetermined schedule. In some arrangements, the entity may negotiate with the provider institution to receive a customized SLA (e.g., adjustments made to the performance credit values). Example KPI threshold values (e.g., number of occurrences where an entity failed to meet the KPIs as discussed above) with flat-rate performance credits may be:
Still referring to
At process 1312, the assessment engine 1206 of the service level agreement management system 1202 determines an assessed service level value for the identified data set of computing resources (e.g., as it pertains to an SLA). In some arrangements, the assessed service level value may be determined according to an average (or another suitable aggregation) of actual service levels as they relate to the KPI thresholds. For example, a system may have actual service levels of: 92% availability for the calendar month (Low) and 99.9% availability for the last 3 consecutive days (High). In an arrangement that utilizes averages, the assessment engine 1206 may average these service levels and determine an assessed service level value of “Medium” (e.g., for an availability SLA). In another arrangement, the assessment engine 1206 may assign numerical values to the Low, Medium, and High categories (e.g., 1, 2, and 3) and weights to the KPIs (e.g., total availability in a calendar month is more important than a period of 3 consecutive days) prior to averaging. For example, the assessment engine 1206 may impart a weight of 1.5 to the availability per calendar month KPI, resulting in an assessment of
In some arrangements, the assessment engine 1206 may truncate decimals (e.g., 1.75 equals an assessed value of “Low”). In other arrangements, the assessment engine 1206 may round the result to the nearest whole number (e.g., 1.75 equals an assessed value of “Medium”).
At process 1314, the assessment engine 1206 retrievably stores the assessment, including the assessed service level, in the assessments repository 1212. The assessments may contain various data points related to the assessment, such as: the affected component (e.g., server IP/port), the time and date of the violation (e.g., when the issue was detected), the notified party (e.g., admin X at Vendor Y was notified at time/date), the service level value as assessed by the assessment engine 1206 (e.g., Low, Medium, High, etc.), the remediation action taken (e.g., admin X at Vendor Y began monitoring intermittent outages at time/date in response to the notification of violation), and the response parameter regarding the violation (e.g., admin X at Vendor Y submits a response to the violation as part of the remediation process, as described further with reference to
At process 1316, the service level agreement management system 1202 monitors the identified data set of computing resources. That is, the service level agreement management system 1202 periodically initiates scans (e.g., such as described in process 1302) of the computing resources identified in the data set. In some arrangements, the interval defining the periodically initiated scans may be predetermined (e.g., daily, weekly, monthly, etc.). In other arrangements, the interval may be based on the assessed service level value (e.g., a low service value may require more frequent scans to verify compliance and improve the assessed service level).
Referring now to
The display of 1400 includes a section title 1402; section columns 1404, 1406, and 1408; selectable section rows 1410, 1412, 1414, and 1416 corresponding to the section columns; and a “drill down” button 1418. The section title 1402, “KPI STATUS REPORT” as shown, labels and otherwise identifies the contents of the display 1400 to the authorized user. That is, the section title 1402 serves as a classifying title for the section columns and selectable section rows.
The section columns 1404, 1406, and 1408 are depicted as textual (e.g., Strings) entries which classify the data held in the rows below them. For example, section column 1404, “KPI”, identifies the contents of the rows below (e.g., 1410, 1412, 1414, and 1416) as particular KPIs. Similarly, section column 1406, “KPI THRESHOLD”, identifies the contents of the rows below as KPI thresholds. In the depicted example, the KPI threshold values are those corresponding to a “High” service level value. Continuing, section column 1408, “ACTUAL VALUE”, identifies the contents of the rows below as actual service level values as determined during, for example, the method 1300.
The selectable section rows (e.g., 1410, 1412, 1414, and 1416) represent a particular KPI that the authorized user may wish to “drill down” on (e.g., as further discussed below with reference to the “drill down” button 1418). As depicted, the authorized user has made a selection of row 1412. Row 1412 shows data points pertaining to the “availability per calendar month” KPI such as the “High” service level KPI threshold value of >=99.9% and an actual value of 91% (e.g., per the last assessment).
1418 shows a “drill down” button that transitions the authorized user to
Now referring to
The display 1500 includes a section title 1502; section columns 1504, 1506, and 1508; section rows 1510, 1512, and 1514; an equation relating to the KPI 1516; a “BACK” button 1518; and a “VIEW SCORE” button 1520. The section title 1502, “KPI AVAILABILITY PER CALENDAR MONTH” as shown, provides a textual (e.g., String) classification of the contents of the screen, based on the selected row of
The section columns 1504, 1506, and 1508 are depicted as textual (e.g., Strings) entries which classify the data held in the rows below them. For example, section column 1504, “TIER”, identifies the contents of the rows below (e.g., 1510, 1512, and 1514) as tiers of service levels (e.g., service level value). Similarly, section column 1506, “KPI THRESHOLD”, identifies the contents of the rows below as the KPI thresholds (e.g., as they correlate to the tiers). Section column 1508, “PERFORMANCE CREDIT”, identifies the contents of the rows below as the performance credit values (e.g., as they correlate to the tiers).
The section rows 1510, 1512, and 1514 represent data sets correlating to service level values (e.g., as defined by a particular SLA). For example, section row 1510 represents a data set correlating to a “High” service level value for the availability per calendar month KPI. A service level value of “High” is identified as having a KPI threshold of >=99.9% and a performance credit of 0%. Section row 1512 represents a data set correlating to a “Medium” service level value for the availability per calendar month KPI. A service level value of “Medium” is identified as having a KPI threshold of 96%-99.89% and a performance credit of 20%. Similarly, section row 1514 represents a data set correlating to a “Low” service level value for the availability per calendar month KPI. A service level value of “Low” is identified as having a KPI threshold of <=95.99% and a performance credit of 35%.
The equation relating to the KPI 1516 is a textual depiction of the equation utilized in the determination of actual service level value for the KPI identified by 1502. In the depicted example, the availability per calendar month formula (e.g., as illustrated and discussed above) is displayed.
The display 1500 includes a “BACK” button 1518. The button 1518 is a selectable (e.g., clickable) button of the provided graphical user interface which transitions the authorized user back to the display of
The “VIEW SCORE” button 1520 enables the authorized user to transition to a display containing their multi-dimensional score (e.g., as discussed above with reference to
Now referring to
The “YES” button 1604 is structured to initiate the process of 1304 in response to being selected (e.g., clicked). That is, the “YES” button 1604 may cause an SLA to be generated (e.g., as discussed above and in process 1302) for the detected PayX application and subsequently to be stored in the assessments repository 1212.
The “NO” button 1606 is structured to close the pop-up style box 1602 in response to being selected (e.g., clicked). That is, the “NO” button 1606 may cause the pop-up style box 1602 to disappear from the display 1600 (e.g., without generating and storing a new SLA).
Now referring to
In operation according to an example arrangement, device connectivity data for a particular entity (e.g., an organization's partner institution and/or vendor) is received by the remediation system 114. The device connectivity data can be received from a search and discovery engine for internet-connected devices, such as Shodan. Various properties (e.g., records, delimited values, values that follow particular pre-determined character-based labels) can be parsed from the device connectivity data. The properties can include device-related data and/or IP traffic data. Device-related data can encompass data related to software, firmware, and/or hardware technology deployed to, included in, or coupled to a particular device. Device-related data can include IP address(es), software information, operating system information, component designation (e.g., router, web server), version information, port number(s), timestamp data, host name, etc. IP traffic data can include items included in packets, as described elsewhere herein. Further, IP traffic data included in the device connectivity data can include various supplemental information (e.g., in some arrangements, metadata associated with packets), such as host name, organization, Internet Service Provider information, country, city, communication protocol information, and Autonomous System Number (ASN) or similar identifier for a group of devices using a particular defined external routing policy. In some embodiments, device connectivity data can be determined at least in part based on banner data exposed by the respective source entity. For example, device connectivity data can comprise metadata about software running on a particular device of a source entity.
Once a property is parsed from the device connectivity data, a vulnerability can be identified. The vulnerability can relate to the property (e.g., an application) or a combination of properties that includes the property (e.g., an application and port number). A hyperlink that includes a reference to a remediation executable is generated and transmitted to the entity. In some arrangements, a cybersecurity score is determined for the vulnerability and/or for the entity and the remediation process is initiated by generating and transmitting the remediation executable hyperlink to the entity only when the score is outside of a predetermined threshold (e.g., anything other than “low”, any value exceeding 5). The remediation executable is provided to the entity via an entity-facing portal described in
As shown in
In some arrangements, the remediation executable vault 1704 is populated manually by an administrator of the remediation system 114. In some arrangements, the remediation executable vault 1704 is populated by data received from an external data source, such as the National Vulnerability Database (NVD), CVSS, and other similar sources. Accordingly, in some arrangements, the data that informs the risk scoring model in the systems described elsewhere herein (e.g., in relation to
As shown, the remediation system 114 includes a scanner executable generator 1706 and a scanner executable vault 1708. When a vulnerability is identified and remediated, a user interface may be provided to an entity via the entity-facing portal. The user interface may include a user-interactive control for scanning the affected entity or component to determine that the vulnerability has been remediated. Accordingly, the scanner executable vault 1708 may store computer-executable code structured to start the process of obtaining updated device connectivity data. The computer-executable code may be parametrized to accept a particular entity identifier or component identifier. The scanner executable generator 1706 may use the data, parsed from the original device connectivity data set and indicative of the vulnerability, to parametrize the executable. For example, the executable can be parametrized using a domain identifier (e.g., a top-level domain (TLD) identifier, a subdomain identifier, or a URL string pointing to a particular directory), an IP address, a subnet, an application, a port number, etc.
As shown, the remediation system 114 includes a request/response broker 1710. The request/response broker 1710 is structured to mediate communications between a particular entity and host system. The request/response broker 1710 can be structured to access and/or manage entity identity information (e.g., entity profile information, such as that stored in the entity datasets 122). The communication endpoints may include the entity-facing portal such as that described in
As shown, the remediation system 114 includes a remediation manager 1714 and a remediation history vault 1716. The remediation manager 1714 is structured to receive device connectivity data (e.g., for a device associated with a particular entity) and generate a security profile based on the received device connectivity data. For example, the remediation manager 1714 may receive device connectivity data for a particular entity and determine the existence of any vulnerabilities in the received data (e.g., via direct analysis or via cross-referencing the data with other components of the multi-channel cybersecurity assurance computing system). The remediation manager 1714 may then generate and provide alerts (via email, portal notifications, SMS, etc.) to the entity regarding determined vulnerabilities. The alerts may include links to remediation executables and/or scanner executables parametrized for the particular entity. The alerts may also be delivered via the entity-facing portal of
The history of vulnerabilities may be tracked using the remediation history vault 1716. The information in the remediation history vault 1716 may include entity and/or entity component identifying information, such as domain identifier (e.g., a top-level domain (TLD) identifier, a subdomain identifier, or a URL string pointing to a particular directory), an IP address, and/or a subnet. The information in the remediation history vault 1716 may include vulnerability information (e.g., description, source, severity, etc.), references and/or parameters to remediation executable(s) and/or scanner executable(s), timestamps associated with the remediation timeline as represented by a history of electronic messages via the request/response broker 1710, etc. In some arrangements, the information in the remediation history vault 1716 may include archival (data retention) duration parameters that can be dynamically set based on the remediation timeline. For example, the data retention parameter may be initially set to a first value (e.g., 30 days, 60 days, 180 days). When it is determined that a vulnerability has been remediated within the timeframe defined by the first value, the data retention parameter may be set to a second, shorter value (e.g., 7 days, 14 days, 30 days). Accordingly, utilization of memory and other storage resources can be improved by dynamically setting data retention thresholds to the lowest possible value sufficient to remediate a particular vulnerability.
As shown, the remediation system 114 is communicatively coupled to the SLA management system 1202 of
In operation, alerts generated by the remediation manager 1714 may include links to the entity-facing portal, which can be used by the entity to access and/or execute the remediation and/or scanner executables. Accordingly, the remediation manager 1714 may be communicatively coupled to the content management system 170 and/or the interface generator 174 of
Now referring to
The method 1800 begins at process 1802 with the remediation manager 1714 of the remediation system 114 receiving device connectivity data (e.g., as discussed above, with reference to
At process 1804, the remediation manager 1714 parses a property or a plurality of properties from the device connectivity data. According to various arrangements and depending on the structure of the data input, the process can include determining a delimiter and/or a data label and extracting the device connectivity data identified by the delimiter and/or the data label. For example, if device connectivity data is in a JSON file format or similar, the actual value for a port number (“80”) can be preceded by a data label (e.g., “port number”) and followed by a delimiter (e.g., a space, a colon, a semicolon, etc.) Accordingly, the output of the process 1804 is a collection of properties parsed from the device connectivity data.
At process 1806, the remediation manager 1714 identifies a vulnerability associated with a particular property. In some arrangements, the vulnerability data is determined and/or verified via a connected (e.g., via the network 130) component. In some arrangements, the vulnerability data is determined locally by the remediation system 114. For example, for each property in the collection of properties parsed from the device connectivity data, the remediation system 114 may reference the remediation executable vault 1704. If the property is found in the remediation executable vault 1704 previously populated with external data from NVD or a similar entity, the remediation manager determines 1714 determines that the property is associated with a vulnerability.
At process 1808, in some arrangements, instead of checking all parsed properties against the remediation executable vault 1704, the remediation manager 1714 is structured to cause the modeler 116 of
At process 1810, the remediation manager 1714 remediates the vulnerability.
In some arrangements, remediating a vulnerability includes executing an automatic action against a host (internal system) to protect the host from downstream impact of the vulnerability on the entity system(s). This may be done by generating, by the remediation executable generator 1702, a remediation executable parametrized to target an internal system or a component of an internal system. In some arrangements, the remediation executable is a parametrized set of executable instructions structured to enable a firewall for a particular application determined based on the device connectivity data. For example, all traffic flowing from a particular application on an entity's system determined to be a source of a cybersecurity attack (malware, ransomware, etc.) can be prevented from reaching the internal system(s). In some arrangements, the remediation executable is a parametrized set of executable instructions structured to cause internet traffic from a particular entity determined based on the device connectivity data to be diverted to a decoy computing environment. For example, all traffic flowing from a particular component (e.g., a component infected with a virus or highly vulnerable to be infected) on the entity's system (as determined, for example, based on an IP address or a subset thereof) is routed to a decoy environment rather than to a production environment. The decoy environment may include a server hosting a web page structured to display a “system inaccessible” message or similar. The routing can be accomplished by substituting the relevant destination parameters in the IP packet/traffic data originating from the particular component.
In some arrangements, remediating a vulnerability includes providing an alert to the entity system such that the entity can be made aware of and remediate the vulnerability. In an example arrangement, based on the determined vulnerability data, the remediation manager 1714 may generate or access a security risk profile (e.g., entity datasets 122) for the entity associated with the received device connectivity data. In some arrangements, the entity associated with the received device connectivity data may already have an existing security risk profile. In such an arrangement, the remediation manager 170 may then retrieve the existing security risk profile from the entity datasets 122.
Accordingly, the remediation manager 1714 retrieves from the entity datasets 122 external contact information for the entity. The external contact information may include a variety of information about the external contact, such as a name, a title (e.g., account manager), a phone number, an email, and/or API endpoint information (e.g., for initiating a push notification to an application associated with the entity and the provider institution). In some arrangements, the remediation manager 1714 may also retrieve internal contact information. The internal contact information may contain the same data points as discussed above (e.g., with reference to the external contact); however, the internal contact is associated with the provider institution. In such an arrangement, the internal contact may also receive vulnerability notifications in order to monitor the responsiveness of the entity with regards to the vulnerability.
Further, as part of the remediation process, the remediation manager 1714 generates and transmits a vulnerability notification based on the determined vulnerability data. For example, the remediation manager 1704 may determine (e.g., either directly or indirectly, as discussed above) that a vulnerability (e.g., an open port, an out of date application, etc., as discussed above relative to
The vulnerability notification may be transmitted via a variety of media (e.g., as agreed upon by the entity and the provider institution). The variety of media may include SMS, email, or a push notification to an application (e.g., via an API endpoint). The notification may be structured to allow the receiving entity to access the entity-facing portal from which remediation and scanning executables can be executed. In an example arrangement, the remediation manager 1714 provides (e.g., via a hyperlink in the vulnerability notification) a dynamically generated graphical user interface (e.g., generated at the time of access in order to present specific data) to the external contact. The dynamically generated graphical user interface (herein referred to as the portal) may contain a variety of information related to the vulnerability notification and other pending/current vulnerabilities (e.g., as identified by the security risk profile of the entity) associated with the entity (e.g., as discussed below, with reference to
Once a vulnerability is remediated by the entity (e.g., by executing the remediation executable or by performing other independent action), the entity device can use the portal to generate a request for a rescan of the relevant entity component. Accordingly, at process 1812, the remediation manager 1714 may receive updated device connectivity data, parse the updated device connectivity data for the particular property, and determine the remediation status based on the parsed data. The information accessible to the entity via the portal can be updated accordingly.
At process 1814, the remediation manager 1714 manages the entity status and data. One of skill will appreciate that process 1814 can be executed concurrently with other processes in method 1800. In some arrangements, at process 1814, the data in the remediation history vault 1716 can be retrievably stored and/or updated according to the progress of the remediation. For example, the archival parameters on a particular remediation instance record (e.g., the time-to-live property in MongoDB or similar) can be set to a shorter timeframe as remediation completes or to a longer timeframe if the remediation is not progressing as quickly as expected. In some arrangements, at process 1814, the data in the remediation history vault 1716 can be linked to a particular service level agreement from the SLA management system 1202. Performance relative to the service level agreement can then be automatically tracked based at least in part on data from the remediation history vault 1716. For example, the length of unscheduled downtime for a particular component can be determined based on the timestamp(s) in the remediation history vault 1716 that determine when the entity was notified of the vulnerability, when internal action (e.g., application firewall shutdown) was taken, and/or when the vulnerability was remediated. Accordingly, the systems herein provide a technical improvement of automatically tracking performance of a system component relative to an SLA.
Now referring to
As referred to herein, the entity device 150 is a device that is part of a computing infrastructure of an entity. Although shown as a single entity device 150, it is understood that, in practice, the computing infrastructure of an entity will include multiple entity devices 150. A first entity device 150 may be the source of a particular vulnerability and a second entity device 150 may be an administrator device that allows the entity user to access the portal of
In an example arrangement, the modeler 116 receives device connectivity data (at 1952), determines and/or risk-scores a vulnerability, and transmits an electronic message to the remediation system 114 (at 1954). The remediation system 114 can receive in the electronic message of 1954 an entity identifier (e.g., from the entity profile of entity datasets 122 of
The first remediation executable can be delivered to the entity via an entity-facing portal. Responsive to receiving (at 1956) a request to remediate the vulnerability, a user at the entity device 150 may interact with the portal to provide a response (at 1960). For example, the response may include an indication that the vulnerability has been remediated. The response can be parametrized using the request identifier previously provided by the remediation system 114. Accordingly, a history of a particular remediation can be tracked in the remediation history vault 1716 of
Responsive to receiving the response (at 1960), the remediation system 114 may cause the scanner executable generator 1706 of
The parameters for a scan may be provided (at 1962) back to the entity device 150. The parameters for the scan may be used to pre-populate portal controls for requesting a scan by the entity device 150, as described relative to
In response (at 1964), the entity device 150 may generate, via the portal, and transmit to the remediation system 114, an electronic message that includes the token and a scanner URL generated and parametrized based on the parameters selected, via the portal, by the user of the entity device 150 from the previously provided set of components available to be rescanned (at 1962). Prior to initiating a rescan based on the request, the remediation system 114 may validate the identity of the requesting entity device 150 using the token, as described in relation to
Now referring to
Generally, the display 1900 may be provided to a user authorized with an entity (e.g., an account manager, administrator, etc.) and designated by the external contact, via the content management system 170 of
As shown on the display 1900, the generated dashboard is a vulnerability alert dashboard. The vulnerability alert dashboard may be dynamically populated with the vulnerability data (e.g., as further discussed below) associated with an entity, as identified in the security risk profile.
The display 1900 (e.g., the vulnerability alert dashboard) includes a dashboard title 1902; dashboard columns 1904, 1906, 1908, 1910, and 1912; dashboard rows 1916, 1918, and 1920; a filter component 1914; a “FIX” button 1922; a “VIEW” button 1924; and a “REMEDIATION EXECUTABLES” button 1926. The dashboard title 1902, “LIST OF VULNERABILITIES” as shown, provides a textual (e.g., string) classification of the contents of the screen.
The dashboard columns 1904, 1906, 1908, 1910, and 1912 are depicted as textual entries which classify the data held in the rows below them. For example, dashboard column 1904, “COMPONENT”, identifies the contents of the rows below (e.g., 1916, 1918, and 1920) as component names and/or titles (e.g., the name of a component affected by a vulnerability). Similarly, dashboard column 1906, “IP”, identifies the contents of the rows below as IP addresses (e.g., the IP address of the affected component). Dashboard column 1908, “PORT”, identifies the contents of the rows below as port numbers (e.g., the port number of the affected component). Dashboard column 1910, “VULNERABILITY”, identifies the contents of the rows below as vulnerabilities (e.g., a specific vulnerability title, such as the examples depicted). Dashboard column 1912, “SEVERITY”, identifies the contents of the rows below as severity rankings (e.g., a severity ranking associated with the particular vulnerability).
The dashboard rows 1916, 1918, and 1920 represent data sets correlating to the vulnerability identified in dashboard column 1910 (e.g., as identified in the security risk profile of the entity). For example, dashboard row 1916 represents a data set correlating to a “LOW” severity vulnerability (e.g., “SSH PORT OPEN”, as depicted), on the identified component (e.g., “MAIL”, as depicted) and running at component address (e.g., “1.2.3.4:22”, as depicted). Dashboard row 1918 represents a data set correlating to a “MEDIUM” severity vulnerability (e.g., “OUT OF DATE”, as depicted), on the identified component (e.g., “APPLICATION X”, as depicted) and running at component address (e.g., “1.2.4.3:75”, as depicted). Similarly, dashboard row 1920 represents a data set correlating to a “HIGH” severity vulnerability (e.g., “CRITICAL BUG”, as depicted), on the identified component (e.g., “APPLICATION Y”, as depicted) and running at component address (e.g., “1.3.2.4:38”, as depicted). In some arrangements, the dashboard rows are sorted and displayed according to the severity of the vulnerability (e.g., in an increasing or decreasing fashion).
The “FIX” button 1922 is structured to transition the authorized user to a “fix view” display (e.g., the display of 2000, as further discussed below with reference to
In some arrangements, the “VIEW” button 1924 is structured to launch, open, and/or otherwise transition the authorized user to a virtual environment application of the provider institution (i.e., a front end to the remediation system 114 and/or modeler 116 of
The filter component 1914, (e.g., “FILTER BY: NONE”, as depicted) provides the authorized user with an interactive component that dynamically filters the contents of the display 1900. The filter component 1914 may be implemented as a drop-down style menu, providing the authorized user with a selectable list of filter criteria (e.g., vulnerability type (e.g., open ports, bugs, out of date, etc.), vulnerability severity (e.g., LOW, MEDIUM, HIGH), etc. The display of 1900 (e.g., the vulnerability alert dashboard) may then be dynamically updated and refreshed in order to only display vulnerability data correlating to the selected filter criteria. For example, if the authorized user were to select a filter criteria of “LOW” vulnerability severity, the display of 1900 may dynamically update and refresh to display only dashboard rows with data sets correlating to “LOW” severity vulnerabilities (e.g., only the dashboard row 1916 in the depicted example would remain).
The “REMEDIATION EXECUTABLES” button 1926 is structured to transition the authorized user to a dynamically populated screen of downloadable files (e.g., executable files). In some arrangements, the downloadable files selected and dynamically populated being based on the list of current vulnerabilities relevant to the entity (e.g., as identified in the security risk profile). The selected downloadable files are structured to automatically resolve a current vulnerability of the entity (e.g., when executed on the affected component). In some arrangements, the downloadable files are pre-parametrized based on the property data parsed from the device connectivity data, such as the property data displayed in
Now referring to
The display of 2000 includes a dashboard title 2002, an “ASSIST ME” button 2004, a vulnerability summary bar 2006, a response box 2008, a disclaimer section 2010, a “BACK” button 2012, a “SUBMIT” button 2014, and a “REMEDIATION EXECUTABLES” button 2016. The dashboard title 2002, “FIX VIEW FOR SSH PORT OPEN ON MAIL SERVER” as shown, provides a textual classification of the contents of the screen.
The “ASSIST ME” button 2004 is structured to provide the authorized user with resources and contact information pertaining to the identified vulnerability (e.g., “SSH PORT OPEN”, as depicted), in response to being selected (e.g., clicked). For example, in response to being selected, the “ASSIST ME” button 2004 may transition the authorized user to a dashboard that contains, for example, hyperlinks to articles discussing how to secure ports and contact information for a specialist located at the provider institution (e.g., a representative specializing in the technology relevant to the vulnerability).
The vulnerability summary bar 2006 provides a display of the data set correlating to the identified vulnerability (e.g., “SSH PORT OPEN”, as depicted). The data set correlating to the identified vulnerability matches the data set provided in the dashboard rows of
The response box 2008 is a text-entry area for the authorized user to submit a response parameter regarding the remediation of the identified vulnerability. Accordingly, the authorized user may enter (e.g., type, voice-to-speech, etc.) a response parameter into the response box 2008. Furthermore, in some arrangements, the response box may be structured to include an appeal selection component (e.g., a checkbox) which flags the response parameter as an appeal or contested response. For example, an entity may wish to submit that an alleged vulnerability is not actually a vulnerability, but rather an error in diagnostics. In such an arrangement, the vulnerability notification aspects of method 1800 (e.g., process 1810) may be temporarily suspended or silenced for a predetermined period of time (1 day, 3 days, 7 days, 30 days, etc.). The response parameter may subsequently be stored as part of the updated security risk profile (e.g., in response to selecting the “SUBMIT” button 2014, as discussed further below).
The disclaimer section 2010 is a message of intended use provided to the entity, regarding the “SUBMIT” button 2014. The message as depicted informs the authorized user that an implicit agreement occurs subsequent to selecting (e.g., clicking) the “SUBMIT” button 2014. In the depicted example, the implicit agreement informs the authorized user that selecting the “SUBMIT” button 2014 infers a confirmation of vulnerability remediation and an automatic queueing of the affected component for a targeted scan (e.g., as discussed above, with reference to
The “BACK” button 2012 is structured as a selectable (e.g., clickable) button that transitions the authorized user back to the display of
The “SUBMIT” button 2014 is structured as a selectable (e.g., clickable) button that initiates the method 1800 from process 1810 (e.g., as discussed above, with reference to
The “REMEDIATION EXECUTABLES” button 2016 is similarly structured in both function and form to the “REMEDIATION EXECUTABLES” button 1926 of
As used herein, the term “resource” refers to a physical or virtualized (for example, in cloud computing environments) computing resource needed to execute computer-based operations. Examples of computing resources include computing equipment or device (server, router, switch, etc.), storage, memory, executable (application, service, and the like), data file or data set (whether permanently stored or cached), and/or a combination thereof (for example, a set of computer-executable instructions stored in memory and executed by a processor, computer-readable media having data stored thereon)
The embodiments described herein have been described with reference to drawings. The drawings illustrate certain details of specific embodiments that implement the systems, methods and programs described herein. However, describing the embodiments with drawings should not be construed as imposing on the disclosure any limitations that may be present in the drawings.
It should be understood that no claim element herein is to be construed under the provisions of 35 U.S.C. § 112(f), unless the element is expressly recited using the phrase “means for.”
As used herein, the term “circuit” may include hardware structured to execute the functions described herein. In some embodiments, each respective “circuit” may include machine-readable media for configuring the hardware to execute the functions described herein. The circuit may be embodied as one or more circuitry components including, but not limited to, processing circuitry, network interfaces, peripheral devices, input devices, output devices, sensors. In some embodiments, a circuit may take the form of one or more analog circuits, electronic circuits (e.g., integrated circuits (IC), discrete circuits, system on a chip (SOC) circuits), telecommunication circuits, hybrid circuits, and any other type of “circuit.” In this regard, the “circuit” may include any type of component for accomplishing or facilitating achievement of the operations described herein. For example, a circuit as described herein may include one or more transistors, logic gates (e.g., NAND, AND, NOR, OR, XOR, NOT, XNOR), resistors, multiplexers, registers, capacitors, inductors, diodes, wiring.
The “circuit” may also include one or more processors communicatively coupled to one or more memory or memory devices. In this regard, the one or more processors may execute instructions stored in the memory or may execute instructions otherwise accessible to the one or more processors. In some embodiments, the one or more processors may be embodied in various ways. The one or more processors may be constructed in a manner sufficient to perform at least the operations described herein. In some embodiments, the one or more processors may be shared by multiple circuits (e.g., circuit A and circuit B may comprise or otherwise share the same processor which, in some example embodiments, may execute instructions stored, or otherwise accessed, via different areas of memory). Alternatively or additionally, the one or more processors may be structured to perform or otherwise execute certain operations independent of one or more co-processors. In other example embodiments, two or more processors may be coupled via a bus to enable independent, parallel, pipelined, or multi-threaded instruction execution. Each processor may be implemented as one or more general-purpose processors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), digital signal processors (DSPs), or other suitable electronic data processing components structured to execute instructions provided by memory. The one or more processors may take the form of a single core processor, multi-core processor (e.g., a dual core processor, triple core processor, quad core processor), microprocessor. In some embodiments, the one or more processors may be external to the apparatus, for example the one or more processors may be a remote processor (e.g., a cloud based processor). Alternatively or additionally, the one or more processors may be internal and/or local to the apparatus. In this regard, a given circuit or components thereof may be disposed locally (e.g., as part of a local server, a local computing system) or remotely (e.g., as part of a remote server such as a cloud based server). To that end, a “circuit” as described herein may include components that are distributed across one or more locations.
An exemplary system for implementing the overall system or portions of the embodiments might include a general purpose computing devices in the form of computers, including a processing unit, a system memory, and a system bus that couples various system components including the system memory to the processing unit. Each memory device may include non-transient volatile storage media, non-volatile storage media, non-transitory storage media (e.g., one or more volatile and/or non-volatile memories), etc. In some embodiments, the non-volatile media may take the form of ROM, flash memory (e.g., flash memory such as NAND, 3D NAND, NOR, 3D NOR), EEPROM, MRAM, magnetic storage, hard discs, optical discs, etc. In other embodiments, the volatile storage media may take the form of RAM, TRAM, ZRAM, etc. Combinations of the above are also included within the scope of machine-readable media. In this regard, machine-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing machines to perform a certain function or group of functions. Each respective memory device may be operable to maintain or otherwise store information relating to the operations performed by one or more associated circuits, including processor instructions and related data (e.g., database components, object code components, script components), in accordance with the example embodiments described herein.
It should also be noted that the term “input devices,” as described herein, may include any type of input device including, but not limited to, a keyboard, a keypad, a mouse, joystick or other input devices performing a similar function. Comparatively, the term “output device,” as described herein, may include any type of output device including, but not limited to, a computer monitor, printer, facsimile machine, or other output devices performing a similar function.
Any foregoing references to currency or funds are intended to include fiat currencies, non-fiat currencies (e.g., precious metals), and math-based currencies (often referred to as cryptocurrencies). Examples of math-based currencies include Bitcoin, Litecoin, Dogecoin, and the like.
It should be noted that although the diagrams herein may show a specific order and composition of method steps, it is understood that the order of these steps may differ from what is depicted. For example, two or more steps may be performed concurrently or with partial concurrence. Also, some method steps that are performed as discrete steps may be combined, steps being performed as a combined step may be separated into discrete steps, the sequence of certain processes may be reversed or otherwise varied, and the nature or number of discrete processes may be altered or varied. The order or sequence of any element or apparatus may be varied or substituted according to alternative embodiments. Accordingly, all such modifications are intended to be included within the scope of the present disclosure as defined in the appended claims. Such variations will depend on the machine-readable media and hardware systems chosen and on designer choice. It is understood that all such variations are within the scope of the disclosure. Likewise, software and web implementations of the present disclosure could be accomplished with standard programming techniques with rule-based logic and other logic to accomplish the various database searching steps, correlation steps, comparison steps and decision steps.
The foregoing description of embodiments has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from this disclosure. The embodiments were chosen and described in order to explain the principals of the disclosure and its practical application to enable one skilled in the art to utilize the various embodiments and with various modifications as are suited to the particular use contemplated. Other substitutions, modifications, changes and omissions may be made in the design, operating conditions and embodiment of the embodiments without departing from the scope of the present disclosure as expressed in the appended claims.
This application is a continuation-in-part of U.S. patent application Ser. No. 17/081,275, filed Oct. 27, 2020, which claims the benefit of U.S. Provisional Patent Application No. 63/007,045, filed Apr. 8, 2020, each of which is incorporated by reference herein in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
6266695 | Huang et al. | Jul 2001 | B1 |
6282546 | Gleichauf et al. | Aug 2001 | B1 |
7284274 | Walls et al. | Oct 2007 | B1 |
7676841 | Sobchuk | Mar 2010 | B2 |
7756989 | Goldszmidt et al. | Jul 2010 | B2 |
7849507 | Bloch | Dec 2010 | B1 |
7870243 | Aikens et al. | Jan 2011 | B1 |
7983189 | Bugenhagen | Jul 2011 | B2 |
8028066 | Lewis | Sep 2011 | B2 |
8121049 | Lidstrom et al. | Feb 2012 | B2 |
8856023 | Bantz et al. | Oct 2014 | B2 |
8898784 | Alexander et al. | Nov 2014 | B1 |
9088615 | Avlasov | Jul 2015 | B1 |
9166999 | Kulkarni et al. | Oct 2015 | B1 |
9294498 | Yampolskiy et al. | Mar 2016 | B1 |
9306965 | Grossman et al. | Apr 2016 | B1 |
9392003 | Amsler | Jul 2016 | B2 |
9401851 | Kakadia et al. | Jul 2016 | B2 |
9401926 | Dubow et al. | Jul 2016 | B1 |
9432389 | Khalid et al. | Aug 2016 | B1 |
9686150 | Gesmann | Jun 2017 | B2 |
9686308 | Srivastava | Jun 2017 | B1 |
9703851 | Ramesh et al. | Jul 2017 | B2 |
9794145 | Vasseur et al. | Oct 2017 | B2 |
9811667 | Hugard et al. | Nov 2017 | B2 |
9935865 | Ganesan et al. | Apr 2018 | B2 |
9973524 | Boyer et al. | May 2018 | B2 |
9973892 | Parshin et al. | May 2018 | B1 |
10091220 | Shabtai et al. | Oct 2018 | B2 |
10104109 | Singla et al. | Oct 2018 | B2 |
10198581 | Sreenivas et al. | Feb 2019 | B2 |
10218736 | Ng et al. | Feb 2019 | B2 |
10277619 | Clark et al. | Apr 2019 | B1 |
10289973 | Feller et al. | May 2019 | B2 |
10360525 | Milden et al. | Jul 2019 | B1 |
10382491 | Digiambattista et al. | Aug 2019 | B2 |
10410158 | Yumer et al. | Sep 2019 | B1 |
10496816 | Iyer et al. | Dec 2019 | B2 |
10498756 | Yampolskiy et al. | Dec 2019 | B2 |
10515328 | Rasumov | Dec 2019 | B2 |
10530666 | Venkitapathi et al. | Jan 2020 | B2 |
10601854 | Lokamathe et al. | Mar 2020 | B2 |
10956849 | Wu et al. | Mar 2021 | B2 |
11451572 | Yampolskiy et al. | Sep 2022 | B2 |
11551293 | Soccorsy | Jan 2023 | B1 |
11652828 | Fricano | May 2023 | B1 |
11706241 | Cross | Jul 2023 | B1 |
11720686 | Cross | Aug 2023 | B1 |
20070113100 | Oliphant | May 2007 | A2 |
20070136200 | Frank et al. | Jun 2007 | A1 |
20100082379 | Chan et al. | Apr 2010 | A1 |
20110317559 | Kern et al. | Dec 2011 | A1 |
20120158944 | Tiwari et al. | Jun 2012 | A1 |
20120232948 | Wolf et al. | Sep 2012 | A1 |
20120254671 | Francisco et al. | Oct 2012 | A1 |
20120304300 | Labumbard | Nov 2012 | A1 |
20130041713 | Henrich et al. | Feb 2013 | A1 |
20140082739 | Chess | Mar 2014 | A1 |
20140115514 | Hackborn et al. | Apr 2014 | A1 |
20140181892 | Von Bokern et al. | Jun 2014 | A1 |
20140223464 | Moran et al. | Aug 2014 | A1 |
20140317730 | Ashley et al. | Oct 2014 | A1 |
20150033349 | Oliphant | Jan 2015 | A1 |
20150134618 | Teterin et al. | May 2015 | A1 |
20150195154 | Hevizi et al. | Jul 2015 | A1 |
20150215334 | Bingham | Jul 2015 | A1 |
20150281004 | Kakadia et al. | Oct 2015 | A1 |
20160171415 | Yampolskiy | Jun 2016 | A1 |
20160248797 | Yampolskiy | Aug 2016 | A1 |
20160380843 | Duncan et al. | Dec 2016 | A1 |
20170295181 | Parimi et al. | Oct 2017 | A1 |
20180013769 | Robinson | Jan 2018 | A1 |
20180048534 | Banga et al. | Feb 2018 | A1 |
20180077573 | Werdell et al. | Mar 2018 | A1 |
20180091558 | Daugherty et al. | Mar 2018 | A1 |
20180129989 | Bowers | May 2018 | A1 |
20180219833 | Reddy | Aug 2018 | A1 |
20180295154 | Crabtree et al. | Oct 2018 | A1 |
20180352025 | Anya et al. | Dec 2018 | A1 |
20180375735 | Hale | Dec 2018 | A1 |
20180375892 | Ganor | Dec 2018 | A1 |
20180376329 | Gapastione et al. | Dec 2018 | A1 |
20190132323 | Williams | May 2019 | A1 |
20190222553 | Wu et al. | Jul 2019 | A1 |
20190223125 | Simon | Jul 2019 | A1 |
20190253447 | Sweeney et al. | Aug 2019 | A1 |
20190268366 | Zeng | Aug 2019 | A1 |
20190268377 | Parry | Aug 2019 | A1 |
20190306731 | Raghuramu et al. | Oct 2019 | A1 |
20200012796 | Trepagnier et al. | Jan 2020 | A1 |
20200034762 | Rasumov | Jan 2020 | A1 |
20200034763 | Rasumov | Jan 2020 | A1 |
20200068031 | Kursun et al. | Feb 2020 | A1 |
20200076835 | Ladnai et al. | Mar 2020 | A1 |
20200076853 | Pandian et al. | Mar 2020 | A1 |
20200089887 | Luthra et al. | Mar 2020 | A1 |
20200092319 | Spisak et al. | Mar 2020 | A1 |
20200097880 | Agarwal et al. | Mar 2020 | A1 |
20200195673 | Lee | Jun 2020 | A1 |
20200287813 | Kutch et al. | Sep 2020 | A1 |
20200296136 | Liu | Sep 2020 | A1 |
20200311298 | Dunjic | Oct 2020 | A1 |
20200394309 | Angelo et al. | Dec 2020 | A1 |
20210012288 | Mroczka | Jan 2021 | A1 |
20210014252 | Usher et al. | Jan 2021 | A1 |
20210035116 | Berrington et al. | Feb 2021 | A1 |
20210044611 | Norrie | Feb 2021 | A1 |
20210058422 | Obrecht et al. | Feb 2021 | A1 |
20210064420 | Goudarzi et al. | Mar 2021 | A1 |
20210064758 | Zettel et al. | Mar 2021 | A1 |
20210075678 | Seetharaman et al. | Mar 2021 | A1 |
20210099454 | Rahimi et al. | Apr 2021 | A1 |
20210136089 | Costea et al. | May 2021 | A1 |
20210176270 | Yampolskiy et al. | Jun 2021 | A1 |
20210185565 | Kalderen et al. | Jun 2021 | A1 |
20210194851 | Barton et al. | Jun 2021 | A1 |
20210203673 | Dos Santos et al. | Jul 2021 | A1 |
20210211347 | Vasseur et al. | Jul 2021 | A1 |
20210216928 | O'Toole et al. | Jul 2021 | A1 |
20210306341 | Tiwari et al. | Sep 2021 | A1 |
20210392154 | Waplington | Dec 2021 | A1 |
20220012990 | Tortola et al. | Jan 2022 | A1 |
20220035905 | Lu et al. | Feb 2022 | A1 |
20220150271 | Shah | May 2022 | A1 |
20220201009 | Dhoble et al. | Jun 2022 | A1 |
20220261483 | Tam et al. | Aug 2022 | A1 |
20220292189 | Silberman et al. | Sep 2022 | A1 |
20230087052 | Korja et al. | Mar 2023 | A1 |
20230153443 | Coppins | May 2023 | A1 |
20230229785 | Jurado et al. | Jul 2023 | A1 |
20230247042 | Luttwak | Aug 2023 | A1 |
Number | Date | Country |
---|---|---|
111865941 | Oct 2020 | CA |
105743880 | Jul 2016 | CN |
110119620 | Aug 2019 | CN |
110708296 | Jan 2020 | CN |
111756702 | Oct 2020 | CN |
116614418 | Aug 2023 | CN |
2 323 429 | May 2011 | EP |
2 985 715 | Feb 2016 | EP |
3 770 786 | Jan 2021 | EP |
20220066114 | Mar 2022 | KR |
WO-0159989 | Aug 2001 | WO |
WO-2005109212 | Nov 2005 | WO |
WO-2007010541 | Jan 2007 | WO |
WO-2008103286 | Aug 2008 | WO |
WO-2013166126 | Nov 2013 | WO |
WO-2017039506 | Mar 2017 | WO |
WO-2017081639 | May 2017 | WO |
WO-2018084808 | May 2018 | WO |
WO-2018223235 | Dec 2018 | WO |
WO-2019075795 | Apr 2019 | WO |
WO-2019121043 | Jun 2019 | WO |
WO-2019140876 | Jul 2019 | WO |
WO-2020060503 | Mar 2020 | WO |
WO-2020176066 | Sep 2020 | WO |
WO-2020227335 | Nov 2020 | WO |
WO-2021081516 | Apr 2021 | WO |
WO-2021082966 | May 2021 | WO |
WO-2021158227 | Aug 2021 | WO |
WO-2021164872 | Aug 2021 | WO |
WO-2021183939 | Sep 2021 | WO |
WO-2021202833 | Oct 2021 | WO |
WO-2021243321 | Dec 2021 | WO |
WO-2022087510 | Apr 2022 | WO |
Entry |
---|
Allodi & Massacci, “Security Events and Vulnerability Data for Cybersecurity Risk Estimation,” Risk Analysis 37(8), pp. 1606-1627 (2017). |
Tavabi, et al., “Challenges in Forecasting Malicious Events from Incomplete Data,” WWW '20: Companion Proceedings of the Web Conference 2020, pp. 603-610 (2020). |
Number | Date | Country | |
---|---|---|---|
63007045 | Apr 2020 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17081275 | Oct 2020 | US |
Child | 17129801 | US |