Notification subsystem for generating consolidated, filtered, and relevant security risk-based notifications

This disclosure provides a notification subsystem for generating consolidated, filtered, and relevant security risk-based notifications. A method includes discovering multiple devices in a computing system. The method includes grouping the multiple devices into multiple security zones. The method includes generating a risk value identifying at least one cyber-security risk of the devices for one of the security zones. The method includes comparing the risk value to a threshold. The method includes automatically generating a notification for one or more users when the risk value violates the threshold.

TECHNICAL FIELD

This disclosure relates generally to network security. More specifically, this disclosure relates to a notification subsystem for generating consolidated, filtered, and relevant security risk-based notifications.

BACKGROUND

Processing facilities are often managed using industrial process control and automation systems. Conventional control and automation systems routinely include a variety of networked devices, such as servers, workstations, switches, routers, firewalls, safety systems, proprietary real-time controllers, and industrial field devices. Often times, this equipment comes from a number of different vendors. In industrial environments, cyber-security is of increasing concern, and unaddressed security vulnerabilities in any of these components could be exploited by attackers to disrupt operations or cause unsafe conditions in an industrial facility.

SUMMARY

This disclosure provides a notification subsystem for generating consolidated, filtered, and relevant security risk-based notifications. A method includes discovering multiple devices in a computing system. The method includes grouping the multiple devices into multiple security zones. The method includes generating a risk value identifying at least one cyber-security risk of the devices for one of the security zones. The method includes comparing the risk value to a threshold. The method includes automatically generating a notification for one or more users when the risk value violates the threshold. Also disclosed are corresponding systems and computer-readable media.

In various embodiments, discovering multiple devices is performed by a data collection component. In various embodiments, grouping the multiple devices into multiple security zones is performed by a rules engine. In various embodiments, grouping the multiple devices into multiple security zones is performed using a risk management database that stores rules and data identifying the cyber-security risks. In various embodiments, generating the risk value is performed for each security zone, and includes generating a respective risk value identifying at least one cyber-security risk of the devices in each respective security zone. In various embodiments, the notification is a System Center Operations Manager notification event. In various embodiments, the notification is transmitted to the one or more users according to a notification recipient list.

DETAILED DESCRIPTION

FIG. 1illustrates an example industrial process control and automation system100according to this disclosure. As shown inFIG. 1, the system100includes various components that facilitate production or processing of at least one product or other material. For instance, the system100is used here to facilitate control over components in one or multiple plants101a-101n. Each plant101a-101nrepresents one or more processing facilities (or one or more portions thereof), such as one or more manufacturing facilities for producing at least one product or other material. In general, each plant101a-101nmay implement one or more processes and can individually or collectively be referred to as a process system. A process system generally represents any system or portion thereof configured to process one or more products or other materials in some manner.

InFIG. 1, the system100is implemented using the Purdue model of process control. In the Purdue model, “Level 0” may include one or more sensors102aand one or more actuators102b. The sensors102aand actuators102brepresent components in a process system that may perform any of a wide variety of functions. For example, the sensors102acould measure a wide variety of characteristics in the process system, such as temperature, pressure, or flow rate. Also, the actuators102bcould alter a wide variety of characteristics in the process system. The sensors102aand actuators102bcould represent any other or additional components in any suitable process system. Each of the sensors102aincludes any suitable structure for measuring one or more characteristics in a process system. Each of the actuators102bincludes any suitable structure for operating on or affecting one or more conditions in a process system.

At least one network104is coupled to the sensors102aand actuators102b. The network104facilitates interaction with the sensors102aand actuators102b. For example, the network104could transport measurement data from the sensors102aand provide control signals to the actuators102b. The network104could represent any suitable network or combination of networks. As particular examples, the network104could represent an Ethernet network, an electrical signal network (such as a HART or FOUNDATION FIELDBUS network), a pneumatic control signal network, or any other or additional type(s) of network(s).

In the Purdue model, “Level 1” may include one or more controllers106, which are coupled to the network104. Among other things, each controller106may use the measurements from one or more sensors102ato control the operation of one or more actuators102b. For example, a controller106could receive measurement data from one or more sensors102aand use the measurement data to generate control signals for one or more actuators102b. Each controller106includes any suitable structure for interacting with one or more sensors102aand controlling one or more actuators102b. Each controller106could, for example, represent a proportional-integral-derivative (PID) controller or a multivariable controller, such as a Robust Multivariable Predictive Control Technology (RMPCT) controller or other type of controller implementing model predictive control (MPC) or other advanced predictive control (APC). As a particular example, each controller106could represent a computing device running a real-time operating system.

Two networks108are coupled to the controllers106. The networks108facilitate interaction with the controllers106, such as by transporting data to and from the controllers106. The networks108could represent any suitable networks or combination of networks. As a particular example, the networks108could represent a redundant pair of Ethernet networks, such as a FAULT TOLERANT ETHERNET (FTE) network from HONEYWELL INTERNATIONAL INC.

At least one switch/firewall110couples the networks108to two networks112. The switch/firewall110may transport traffic from one network to another. The switch/firewall110may also block traffic on one network from reaching another network. The switch/firewall110includes any suitable structure for providing communication between networks, such as a HONEYWELL CONTROL FIREWALL (CF9) device. The networks112could represent any suitable networks, such as an FTE network.

In the Purdue model, “Level 2” may include one or more machine-level controllers114coupled to the networks112. The machine-level controllers114perform various functions to support the operation and control of the controllers106, sensors102a, and actuators102b, which could be associated with a particular piece of industrial equipment (such as a boiler or other machine). For example, the machine-level controllers114could log information collected or generated by the controllers106, such as measurement data from the sensors102aor control signals for the actuators102b. The machine-level controllers114could also execute applications that control the operation of the controllers106, thereby controlling the operation of the actuators102b. In addition, the machine-level controllers114could provide secure access to the controllers106. Each of the machine-level controllers114includes any suitable structure for providing access to, control of, or operations related to a machine or other individual piece of equipment. Each of the machine-level controllers114could, for example, represent a server computing device running a MICROSOFT WINDOWS operating system. Although not shown, different machine-level controllers114could be used to control different pieces of equipment in a process system (where each piece of equipment is associated with one or more controllers106, sensors102a, and actuators102b).

One or more operator stations116are coupled to the networks112. The operator stations116represent computing or communication devices providing user access to the machine-level controllers114, which could then provide user access to the controllers106(and possibly the sensors102aand actuators102b). As particular examples, the operator stations116could allow users to review the operational history of the sensors102aand actuators102busing information collected by the controllers106and/or the machine-level controllers114. The operator stations116could also allow the users to adjust the operation of the sensors102a, actuators102b, controllers106, or machine-level controllers114. In addition, the operator stations116could receive and display warnings, alerts, or other messages or displays generated by the controllers106or the machine-level controllers114. Each of the operator stations116includes any suitable structure for supporting user access and control of one or more components in the system100. Each of the operator stations116could, for example, represent a computing device running a MICROSOFT WINDOWS operating system.

At least one router/firewall118couples the networks112to two networks120. The router/firewall118includes any suitable structure for providing communication between networks, such as a secure router or combination router/firewall. The networks120could represent any suitable networks, such as an FTE network.

In the Purdue model, “Level 3” may include one or more unit-level controllers122coupled to the networks120. Each unit-level controller122is typically associated with a unit in a process system, which represents a collection of different machines operating together to implement at least part of a process. The unit-level controllers122perform various functions to support the operation and control of components in the lower levels. For example, the unit-level controllers122could log information collected or generated by the components in the lower levels, execute applications that control the components in the lower levels, and provide secure access to the components in the lower levels. Each of the unit-level controllers122includes any suitable structure for providing access to, control of, or operations related to one or more machines or other pieces of equipment in a process unit. Each of the unit-level controllers122could, for example, represent a server computing device running a MICROSOFT WINDOWS operating system. Although not shown, different unit-level controllers122could be used to control different units in a process system (where each unit is associated with one or more machine-level controllers114, controllers106, sensors102a, and actuators102b).

Access to the unit-level controllers122may be provided by one or more operator stations124. Each of the operator stations124includes any suitable structure for supporting user access and control of one or more components in the system100. Each of the operator stations124could, for example, represent a computing device running a MICROSOFT WINDOWS operating system.

At least one router/firewall126couples the networks120to two networks128. The router/firewall126includes any suitable structure for providing communication between networks, such as a secure router or combination router/firewall. The networks128could represent any suitable networks, such as an FTE network.

In the Purdue model, “Level 4” may include one or more plant-level controllers130coupled to the networks128. Each plant-level controller130is typically associated with one of the plants101a-101n, which may include one or more process units that implement the same, similar, or different processes. The plant-level controllers130perform various functions to support the operation and control of components in the lower levels. As particular examples, the plant-level controller130could execute one or more manufacturing execution system (MES) applications, scheduling applications, or other or additional plant or process control applications. Each of the plant-level controllers130includes any suitable structure for providing access to, control of, or operations related to one or more process units in a process plant. Each of the plant-level controllers130could, for example, represent a server computing device running a MICROSOFT WINDOWS operating system.

Access to the plant-level controllers130may be provided by one or more operator stations132. Each of the operator stations132includes any suitable structure for supporting user access and control of one or more components in the system100. Each of the operator stations132could, for example, represent a computing device running a MICROSOFT WINDOWS operating system.

At least one router/firewall134couples the networks128to one or more networks136. The router/firewall134includes any suitable structure for providing communication between networks, such as a secure router or combination router/firewall. The network136could represent any suitable network, such as an enterprise-wide Ethernet or other network or all or a portion of a larger network (such as the Internet).

In the Purdue model, “Level 5” may include one or more enterprise-level controllers138coupled to the network136. Each enterprise-level controller138is typically able to perform planning operations for multiple plants101a-101nand to control various aspects of the plants101a-101n. The enterprise-level controllers138can also perform various functions to support the operation and control of components in the plants101a-101n. As particular examples, the enterprise-level controller138could execute one or more order processing applications, enterprise resource planning (ERP) applications, advanced planning and scheduling (APS) applications, or any other or additional enterprise control applications. Each of the enterprise-level controllers138includes any suitable structure for providing access to, control of, or operations related to the control of one or more plants. Each of the enterprise-level controllers138could, for example, represent a server computing device running a MICROSOFT WINDOWS operating system. In this document, the term “enterprise” refers to an organization having one or more plants or other processing facilities to be managed. Note that if a single plant101ais to be managed, the functionality of the enterprise-level controller138could be incorporated into the plant-level controller130.

Access to the enterprise-level controllers138may be provided by one or more operator stations140. Each of the operator stations140includes any suitable structure for supporting user access and control of one or more components in the system100. Each of the operator stations140could, for example, represent a computing device running a MICROSOFT WINDOWS operating system.

Various levels of the Purdue model can include other components, such as one or more databases. The database(s) associated with each level could store any suitable information associated with that level or one or more other levels of the system100. For example, a historian141can be coupled to the network136. The historian141could represent a component that stores various information about the system100. The historian141could, for instance, store information used during production scheduling and optimization. The historian141represents any suitable structure for storing and facilitating retrieval of information. Although shown as a single centralized component coupled to the network136, the historian141could be located elsewhere in the system100, or multiple historians could be distributed in different locations in the system100.

In particular embodiments, the various controllers and operator stations inFIG. 1may represent computing devices. For example, each of the controllers106,114,122,130,138could include one or more processing devices142and one or more memories144for storing instructions and data used, generated, or collected by the processing device(s)142. Each of the controllers106,114,122,130,138could also include at least one network interface146, such as one or more Ethernet interfaces or wireless transceivers. Also, each of the operator stations116,124,132,140could include one or more processing devices148and one or more memories150for storing instructions and data used, generated, or collected by the processing device(s)148. Each of the operator stations116,124,132,140could also include at least one network interface152, such as one or more Ethernet interfaces or wireless transceivers.

As noted above, cyber-security is of increasing concern with respect to industrial process control and automation systems. Unaddressed security vulnerabilities in any of the components in the system100could be exploited by attackers to disrupt operations or cause unsafe conditions in an industrial facility. However, in many instances, operators do not have a complete understanding or inventory of all equipment running at a particular industrial site. As a result, it is often difficult to quickly determine potential sources of risk to a control and automation system.

This disclosure recognizes a need for a solution that understands potential vulnerabilities in various systems, prioritizes the vulnerabilities based on risk to an overall system, and guides a user to mitigate the vulnerabilities. Moreover, this disclosure recognizes that a user needs a reliable and convenient way to be alerted when a risk to a system has occurred. Without automating risk assessment and alerting a user to potential issues, this task can be difficult or almost impossible based on the sheer volume of different systems that can operate within an industrial site.

In accordance with this disclosure, an automated risk assessment and notification technique is supported using a risk manager154. The risk manager154includes any suitable structure that supports a notification subsystem for generating consolidated, filtered, and relevant security risk-based notifications. Here, the risk manager154includes one or more processing devices156; one or more memories158for storing instructions and data used, generated, or collected by the processing device(s)156; and at least one network interface160. Each processing device156could represent a microprocessor, microcontroller, digital signal process, field programmable gate array, application specific integrated circuit, or discrete logic. Each memory158could represent a volatile or non-volatile storage and retrieval device, such as a random access memory or Flash memory. Each network interface160could represent an Ethernet interface, wireless transceiver, or other device facilitating external communication. The functionality of the risk manager154could be implemented using any suitable hardware or a combination of hardware and software/firmware instructions.

AlthoughFIG. 1illustrates one example of an industrial process control and automation system100, various changes may be made toFIG. 1. For example, a control and automation system could include any number of sensors, actuators, controllers, servers, operator stations, networks, risk managers, and other components. Also, the makeup and arrangement of the system100inFIG. 1is for illustration only. Components could be added, omitted, combined, or placed in any other suitable configuration according to particular needs. Further, particular functions have been described as being performed by particular components of the system100. This is for illustration only. In general, control and automation systems are highly configurable and can be configured in any suitable manner according to particular needs. In addition,FIG. 1illustrates an example environment in which the functions of the risk manager154can be used. This functionality can be used in any other suitable device or system.

The risk manager154is configured to discover various devices in a system, create a database of those devices, and group the devices into “security zones” for further analysis. The devices can be discovered in any suitable manner, such as by using the System Center Operations Manager (SCOM) infrastructure monitoring software tool from MICROSOFT CORPORATION. The devices can also be grouped in any suitable manner, such as grouping devices based on user input or based on physical or operations associations of the devices. The security zones allow the risk manager154to determine which devices are connected, indicating where an attack might spread if one device is compromised by assigning a risk value to that issue. The risk value identifies at least one cyber-security risk of the devices in that security zone. Multiple risk values can be monitored, and alerts can be generated based on risk threshold values. Once a threshold risk has been reached, an automatic notification can inform one or more users of a potential issue that might affect a facility's operations.

In some embodiments, this system generally includes a set of preconfigured risk threshold values that act as triggers for notifications when risk values exceed the thresholds. In some embodiments, a rules engine determines when a risk item threshold has been reached by monitoring the preconfigured threshold values, and an event triggers an automatic notification to one or more users when a threshold has been exceeded at the rules engine level. In some embodiments, notifications can be preconfigured to generate emails, text messages, instant messages, short message service (SMS) messages, etc. for a predetermined list of recipients.

FIG. 2illustrates an example notification subsystem that generates consolidated, filtered, and relevant security risk-based notifications according to this disclosure. The notification subsystem could be supported or implemented using the risk manager154, or any other device configured to operate as described and claimed.

In this example, risk manager154includes a data collection component210that discovers and collects data from devices230, which can be any computing devices, including any of the components ofFIG. 1. Data collection component210can be implemented using a data processing system, controller, or other computing device.

In this example, risk manager154also includes a rules engine212. Rules engine212can be implemented using a data processing system, controller, or other computing device. Risk manager154can also include a user interface214that enables risk manager154to display information to and receive input from a user on a client system240, which can be, for example, a data processing system including a mobile device such as a tablet computer or smartphone.

The following example describes a particular implementation of this notification subsystem using the System Center Operations Manager product from MICROSOFT CORPORATION for notification and data collection. Rules engine212can be used for risk value calculation and threshold detection. Note, however, that other implementations of the risk manager154could be used.

Risk threshold and suppression timeout values can be configured with a risk manager user interface (UI)214. As noted above, risk threshold values denote the thresholds that (when violated by their associated risk values) trigger notifications to users or to administrator224. These values can be stored in a configuration database226and used by the rules engine212for comparison at runtime against live risk values. As explained below, suppression timeout values can be used to allow notifications to users to be suppressed.

A management pack can monitor WINDOWS event log data or other data for risk value threshold records. This management pack can be risk manager-specific, and data collection can be local to a host system. The rules engine212calculates risk items and stores them in the database226. It also compares risk value thresholds to the calculated risk items. If the rules engine212reaches a risk value threshold, it can generate a WINDOWS event or other event that is monitored by a locally-running management pack. This management pack can be configured to generate a notification event, such as a System Center Operations Manager notification event. After the notification event is generated, a message is created and can be sent or transmitted to users identified in a notification recipient list. The notification event can be, for example, a WINDOWS event216. A monitoring process218can the generate an alert based on the WINDOWS event, and pass it to a notification process220that sends notifications based on the monitored alerts. The notification can be, for example, a message222sent to an administrator224.

Optionally, if there is a user on-site that can acknowledge the notification, the acknowledgement can suppress the message that would have been sent to the recipient list. If there is no user to acknowledge the notification within the associated suppression timeout value, the notification can be sent as one or more predetermined message types to one or more recipients in the recipient list.

AlthoughFIG. 2illustrates one example of a notification subsystem that generates consolidated, filtered, and relevant security risk-based notifications, various changes may be made toFIG. 2. For example, the functional division of the components inFIG. 2are for illustration only. Various components could be combined, further subdivided, rearranged, or omitted and additional components could be added according to particular needs.

FIG. 3illustrates a flowchart of a process300in accordance with disclosed embodiments, that can be performed, for example, by risk manager154, control system200, or other device configured to perform as described, referred to generically as the “risk manager system” below.

The risk manager system discovers multiple devices in a computing system (305). The discovery process can be performed by a data collection component210. The devices can be any of the devices230, including any of the components of industrial process control and automation system100, and can be any combination of workstations, servers, network devices, or other devices.

The risk manager system groups the multiple devices into multiple security zones (310). This can be performed by a rules engine212. This can be performed using a risk management database226that stores rules and data identifying the cyber-security risks. The risk manager system can also update the risk management database226to provide contemporaneous awareness of cyber-security threats to the devices.

The risk manager system generates a risk value identifying at least one cyber-security risk of the devices (315). This process can be performed for each security zone, in which case it is performed to generate the risk value identifying at least one cyber-security risk of the devices in each respective security zone.

The risk manager system compares each risk value to a threshold (320).

The risk manager system automatically generates and displays a notification to one or more users when a risk value violates the threshold (325). The notification can be stored for later analysis. “Violating” can mean exceeding, meeting, or falling below the threshold, depending on the implementation.

Note that the risk manager154and/or the notification subsystem shown here could use or operate in conjunction with any combination or all of various features described in the following previously-filed and concurrently-filed patent applications (all of which are hereby incorporated by reference):U.S. patent application Ser. No. 14/482,888 entitled “DYNAMIC QUANTIFICATION OF CYBER-SECURITY RISKS IN A CONTROL SYSTEM”;U.S. Provisional Patent Application No. 62/036,920 entitled “ANALYZING CYBER-SECURITY RISKS IN AN INDUSTRIAL CONTROL ENVIRONMENT”;U.S. Provisional Patent Application No. 62/113,075 entitled “RULES ENGINE FOR CONVERTING SYSTEM-RELATED CHARACTERISTICS AND EVENTS INTO CYBER-SECURITY RISK ASSESSMENT VALUES” and corresponding non-provisional U.S. patent application Ser. No. 14/871,695 of like title filed concurrently herewith;U.S. Provisional Patent Application No. 62/113,100 entitled “TECHNIQUE FOR USING INFRASTRUCTURE MONITORING SOFTWARE TO COLLECT CYBER-SECURITY RISK DATA” and corresponding non-provisional U.S. patent application Ser. No. 14/871,855 of like title filed concurrently herewith;U.S. Provisional Patent Application No. 62/113,186 entitled “INFRASTRUCTURE MONITORING TOOL FOR COLLECTING INDUSTRIAL PROCESS CONTROL AND AUTOMATION SYSTEM RISK DATA” and corresponding non-provisional U.S. patent application Ser. No. 14/871,732 of like title filed concurrently herewith;U.S. Provisional Patent Application No. 62/113,165 entitled “PATCH MONITORING AND ANALYSIS” and corresponding non-provisional U.S. patent application Ser. No. 14/871,921 of like title filed concurrently herewith;U.S. Provisional Patent Application No. 62/113,152 entitled “APPARATUS AND METHOD FOR AUTOMATIC HANDLING OF CYBER-SECURITY RISK EVENTS” and corresponding non-provisional U.S. patent application Ser. No. 14/871,503 of like title filed concurrently herewith;U.S. Provisional Patent Application No. 62/114,928 entitled “APPARATUS AND METHOD FOR DYNAMIC CUSTOMIZATION OF CYBER-SECURITY RISK ITEM RULES” and corresponding non-provisional U.S. patent application Ser. No. 14/871,605 of like title filed concurrently herewith;U.S. Provisional Patent Application No. 62/114,865 entitled “APPARATUS AND METHOD FOR PROVIDING POSSIBLE CAUSES, RECOMMENDED ACTIONS, AND POTENTIAL IMPACTS RELATED TO IDENTIFIED CYBER-SECURITY RISK ITEMS” and corresponding non-provisional U.S. patent application Ser. No. 14/871,814 of like title filed concurrently herewith;U.S. Provisional Patent Application No. 62/114,937 entitled “APPARATUS AND METHOD FOR TYING CYBER-SECURITY RISK ANALYSIS TO COMMON RISK METHODOLOGIES AND RISK LEVELS” and corresponding non-provisional U.S. patent application Ser. No. 14/871,136 of like title filed concurrently herewith; andU.S. Provisional Patent Application No. 62/116,245 entitled “RISK MANAGEMENT IN AN AIR-GAPPED ENVIRONMENT” and corresponding non-provisional U.S. patent application Ser. No. 14/871,547 of the like title filed concurrently herewith.