PRODUCTION PROCESS KNOWLEDGE-BASED INTRUSION DETECTION FOR INDUSTRIAL CONTROL SYSTEMS
20170264629 · 2017-09-14
Inventors
- Dong Wei (Edison, NJ, US)
- Leandro Pfleger de Aguiar (Lawrenceville, NJ, US)
- Arquimedes Martinez Canedo (Plainsboro, NJ, US)
Cpc classification
G05B23/0232
PHYSICS
International classification
Abstract
A system for threat detection in an industrial production environment comprises a programmable logic controller. This programmable logic controller includes a process image updated according to a scan cycle with process data associated with one or more field devices, a program configured to operate the one or more field devices using the process data, and one or more function blocks. These function blocks are configured to monitor the process data in the process image during each scan cycle, and identify a possible cyberattack based on the process data.
Claims
1. A system for threat detection in an industrial production environment, the system comprising: a programmable logic controller comprising: a process image updated according to a scan cycle with process data associated with one or more field devices; a program configured to operate the one or more field devices using the process data; and one or more function blocks configured to: monitor the process data in the process image during each scan cycle, and identify a possible cyberattack based on the process data.
2. The system of claim 1, wherein the one or more function blocks are further configured to: transmit a message with information related to the possible cyberattack to one or more other production devices.
3. The system of claim 2, further comprising: a human-machine interface (HMI) configured to receive the message and display an alert indicative of the possible cyberattack.
4. The system of claim 1, wherein the one or more function blocks comprise a limit-based intrusion detection function block configured to: identify limits of physical variables used by the programmable logic controller in execution of the program; during each scan cycle, determine current values of the physical variables based on the process data; identify the possible cyberattack if the current values of the physical variables exceed the limits of the physical variables.
5. The system of claim 4, wherein the limit-based intrusion detection function block is further configured to: maintaining a state model indicative of a current operational state of the programmable logic controller, wherein the limits of physical variables used by the programmable logic controller are based on the state model.
6. The system of claim 5, wherein the state model is similar to the Organization of Machine Automation and Control's Package Machine Language State Model.
7. The system of claim 1, wherein the one or more function blocks comprise a change-based intrusion detection function block configured to: over a plurality of scan cycles, monitor a rate of change associated with a physical variable used by the programmable logic controller in execution of the program; identify the possible cyberattack if the rate of change exceeds an expected rate of change for the plurality of scan cycles.
8. The system of claim 1, wherein the one or more function blocks comprise a change-based intrusion detection function block configured to: over a plurality of scan cycles, monitor a rate of change associated with a physical variable used by the programmable logic controller in execution of the program; identify, based on a reference curve, the possible cyberattack if the rate of change is less than an expected rate of change for the plurality of scan cycles.
9. The system of claim 8, wherein the system comprises a simulation-based application configured to generate the reference curve used to identify the possible cyberattack.
10. The system of claim 9, wherein the possible cyberattack is identified by a process comprising: collecting first data comprising physical byproducts of the one or more field devices; extracting behavioral information relevant to cyberattacks from the first data; collecting second data comprising fieldbus sensor data; fusing the behavioral information and the second data into a synchronized time series dataset; performing a simulation of the industrial production environment using the synchronized time series dataset to yield simulated sensor data; applying a classification algorithm to the simulated sensor data to yield a probability of cyberattack; contextualizing the probability of cyberattack with process knowledge relevant to the industrial production environment; and identifying the possible cyberattack based on the contextualized probability of cyberattack.
11. The system of claim 10, wherein the classification algorithm comprises a short-term classification process and a long-term classification process.
12. The system of claim 1, wherein the one or more function blocks comprise a correlation-based intrusion detection function block configured to: over a plurality of scan cycles, monitor a first process information variable to yield a first variable history; over the plurality of scan cycles, monitor a second process information variable to yield a second variable history; identify the possible cyberattack based on a correlation between the first variable history and the second variable history.
13. A method for cyberattack detection in an industrial production environment, the method comprising: updating, by a programmable logic controller, a process image according to a scan cycle with process data associated with one or more field devices; operating, by the programmable logic controller, the one or more field devices using the process data; monitoring, by the programmable logic controller, the process data in the process image during each scan cycle; identifying, by the programmable logic controller, a possible cyberattack based on the process data; and transmitting, by the programmable logic controller, a message with information related to the possible cyberattack to one or more other production devices.
14. The method of claim 13, wherein identification of the possible cyberattack comprises: identifying limits of physical variables used by the programmable logic controller in operating the one or more field devices; during each scan cycle, determining current values of the physical variables based on the process data; identifying the possible cyberattack if the current values of the physical variables exceed the limits of the physical variables.
15. The method of claim 13, wherein identification of the possible cyberattack comprises: over a plurality of scan cycles, monitoring a rate of change associated with a physical variable used by the programmable logic controller in operating the one or more field devices; identifying the possible cyberattack if the rate of change deviates from an expected rate of change for the plurality of scan cycles.
16. The method of claim 13, wherein identification of the possible cyberattack comprises: over a plurality of scan cycles, monitoring a first process information variable to yield a first variable history; over the plurality of scan cycles, monitoring a second process information variable to yield a second variable history; identifying the possible cyberattack based on a correlation between the first variable history and the second variable history.
17. The method of claim 13, further comprising: reducing production speed in response to identification of the possible cyberattack.
18. The method of claim 13, further comprising: responding to identification of the possible cyberattack by completing production of a current batch and thereafter stopping production.
19. The method of claim 13, further comprising: performing one or more operations to stop production immediately in response to identification of the possible cyberattack.
20. An article of manufacture for intrusion detection in an industrial production environment, the article of manufacture comprising a non-transitory, tangible computer-readable medium holding computer-executable instructions for performing a process comprising: updating a process image according to a scan cycle with process data associated with one or more field devices; operating the one or more field devices using the process data; monitoring the process data in the process image during each scan cycle; and identifying a possible cyberattack based on the process data.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The foregoing and other aspects of the present invention are best understood from the following detailed description when read in connection with the accompanying drawings. For the purpose of illustrating the invention, there are shown in the drawings embodiments that are presently preferred, it being understood, however, that the invention is not limited to the specific instrumentalities disclosed. Included in the drawings are the following Figures:
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
DETAILED DESCRIPTION
[0025] Systems, methods, and apparatuses are described herein which relate generally to the application of production process knowledge to improve the accuracy of the intrusion detection systems for industry automation networks. Briefly, the techniques and associated technology described herein may be used to detect cyber intrusion that occurs on the plant floor network, such as a compromised sensor which sends a faked measurement reading to controllers or an HMI, on which a hacker sends faked command(s) to controllers. Conventional intrusion detection systems employ the patterns of data packets and traffic. However, these systems may not be able to detect advanced cyberattacks aiming at industrial control systems. For instance, they are not able to detect Stuxnet-type of cyberattacks. However, using the techniques described herein, production process knowledge can be utilized to detect some cyberattacks (or sensor malfunction or wrong operation by operators) on the plant floor. The disclosed production process uses knowledge-based intrusion detection which may provide a complementary solution to the existing intrusion detection solution for control systems. Furthermore, the techniques described herein are implemented in controllers and hence enabling the controllers to react to detected cyberattacks accordingly to minimize the adverse impacts of those cyberattacks.
[0026]
[0027] The PLC 150 executes a Program 120 according to a scan cycle. The Program 120 includes Program Instructions 125 and a plurality of function blocks (FBs) 130, 135, and 140. It should be noted that the Program 120 shown in
[0028] The Program Instructions 125 comprise the main program executed by the PLC 150. The operation of the field devices 105, 110, and 115 is controlled by the Program Instructions 125. Additionally, the Program Instructions 125 manages input/output, global variables, and access paths. The FBs 130, 135, and 140 are configured to analyze these input/output, global variables, and access paths as they are received or modified to identify conditions which may indicate that a malicious intrusion is taking place. The example of
[0029] The Limit-based Intrusion Detection FB 130 examines and validates measurements collected by sensors and commands from the HMI 155 according to the limits of physical variables of the production system. A potential cyberattack is identified when measurements of sensors and commands exceed the limits of physical variables of the production process. For instance, conveyors of a packaging line should run forward in the speed range of 0.25˜0.5 m/s when the production line is in the state of “Producing”, as shown in
[0030] The Change-based Intrusion Detection FB 135 performs intrusion detection based on the knowledge that some variables in the process environment cannot be changed in a short period of time.
[0031] The Correlation-based Intrusion Detection FB 140 performs intrusion detection based on a correlation between process information variables. For example, with an industrial oven having multiple heating elements, the temperature in a certain interval in the oven depends on how many heating elements are on. Assume that a wireless sensor is used to collect temperature information of the industrial oven and there are 10 heating elements which can be operated individually. Usually, it takes 15 minutes to raise the temperature from 20° C. to 400° C. if all heating elements are on. However, if the controller detects that it took 15 minutes to raise the temperature from 20° C. to 400° C. when only 2 heating elements are on, an alarm could be raised that a possible cyberattack is underway.
[0032] As an example of intrusion detection by the correlation of variables, consider a pre-heating furnace with 4 zones, where the temperature in a certain interval in the furnace depends on how many heating elements (burners) are on. Assume that three sensors are used to collect temperature information of the furnace in each zone. Let S11 and T.sub.11 represent the first temperature sensor and the reading of the first sensor in Zone 1, respectively. Let B.sub.11 and P.sub.11 represent the first burner and the control of the first burner (on/off) in Zone 1, respectively. Usually, the measurement of each temperature sensor is related to each other. Therefore,
T.sub.i,j(t+Δt)=f(∀.sub.k=1,4.sup.l=1,5P.sub.k,l(t), Δt) (1)
T.sub.i,j(t+Δt)=f(∀.sub.k=1,4.sup.l=1,3(t)) (2)
[0033] Thus, equations (1) and (2) can be used to calculate the expected reading of every sensor at any time. The actual reading of each sensor is compared with the expected reading to decide if an alarm of abnormal behavior of control system occurred or not. Again, Functions (1) and (2) may change when the efficiency of burner changes and the isolation of the pre-heating furnace changes. Therefore, a learning process is proposed to update these functions during production, which is similar to the learning process in the last subsection.
[0034] Continuing with reference to
[0035] Complex systems exhibit a large number of behaviors. Therefore, generating a large number of reference function curves (one for each variable of interest and operating condition) may be unfeasible. An alternative to reference function curves defined a-priori is the use of multi-physics simulation to generate reference function curves during the operation. The sensor data is compared against virtual sensor data generated by the simulation and, if the behavior deviates more than a pre-defined threshold, an anomaly is detected. Note that an anomaly can be caused not only by cyberattacks but by failures in the production system. This method is based on the observation that a machine's or production's behavior created by failures, wear & tear, stress, or fatigue generates a different fingerprint than anomalies created due to cyberattacks. Cyberattacks either show a completely unknown behavioral pattern, or show a well-known pattern but at a much more compressed time scale (e.g., malicious attempts to mask an attack as wear and tear can be identified by their accelerated lifecycle). In general, a cyberattack is a sequence of discrete events that cause distinct behavior signatures whereas physical malfunctions tend to show preliminary continuous signs of degradation, before the breakout even happens. One process for intrusion detection via simulation is described below with reference to
[0036] Within the PLC 150, the Limit-based Intrusion Detection FB 130, the Change-based Intrusion Detection FB 135, and the Correlation-based Intrusion Detection FB 140 may be configured in a variety of ways. For example, in some embodiments, the FBs 130, 135, and 140 directly can be implemented, for example, as PC applications on PC-based PLC (such as WinAC) or an extension of main PLC application. In some embodiments, the FBs 130, 135, and 140 are configured to be chained together, allowing the output of one FB to be used as an input for another FB. In this way, it may be possible to create even more sophisticated intrusion detection measures. For example, the output of the Change-based Intrusion Detection FB 135 may indicate a possible intrusion on two independent devices. The Correlation-based Intrusion Detection FB 140 may be configured to correlate these two intrusions to identify a specific type of attack.
[0037] Although the example of
[0038] In some embodiments, measurements collected by sensors and commands from HMIs (by operators) are automatically examined and validated by the Program 120 according to the state of the production system. To maintain state information on the PLC 150, a state model may be used. An example state model 200 is shown in
[0039]
[0040] Continuing with reference to
[0041] Next, at step 515, the production process is simulated using the processed conventional and unconventional data items. Simulation models of the production process are executed in commercially available simulation software such as Siemens NX, Technomatix, Matlab/Simulink. These simulation models typically trade-off speed for accuracy. Therefore, complex processes may require fast simulation models in case near real-time intrusion detection is required. However, physical processes typically have inertia that provides a longer time window for intrusion detection. In these cases, accurate simulations can be used to validate the sensor data.
[0042] At step 520, classification and fingerprinting is performed. In cyber-physical systems, cyberattacks physically manifest themselves early; however, it takes a relatively long time to cause damage or malfunction. Therefore, there are two temporal scales, short and long, that will be addressed differently. Short time scale classification will use a probabilistic classifier machine learning algorithm to distinguish between malfunctions and cyberattacks. The choice of algorithms such as neural networks, hidden-Markov or Gaussian-mixture models will be based upon the features of the various physical by-product and fieldbus-data features (e.g., frequency features for sound analysis). The long-time-scale classification can be addressed with an unsupervised learning algorithm that adapts the model according to the physical evolution of the system. Based on typical machine prognostics, the fingerprints may be expected to change over time (e.g., due to wear & tear) and, therefore, the models need to be continuously updated to reflect these physical changes. For this reason, it will be necessary to eliminate the possibility of an attacker being able to predict these patterns and hide his activities using this observation. Both the short and long-time-scale algorithms need the fingerprint information stored in a Fingerprint Database. Conventionally, short term classification uses physical training data from the machine vendor, and the long-time-scale classification uses the fingerprint models generated by the online learning algorithm.
[0043] Finally, at step 525, a final prediction is generated using the final reference curve to detect potential cyberattacks. The probability of a cyberattack from the classification and fingerprinting step 520 is a fine grain (physics-based) indicator. However, this information must be put into a higher level context to determine whether to generate an alarm or to ignore the information. This step 525 uses the production process knowledge that is available in the ICS and the data generated by the simulation models to increase or decrease the confidence of a prediction. The process knowledge includes the state of the production system, the limits of process variables, the rate of change on process variables, and the correlation between process variables. It is important to note that both variables sensed from the fieldbus and physical byproducts can be assessed using these metrics.
[0044]
[0045] In
[0046] Continuing with reference to
[0047]
[0048] Continuing with reference to
[0049] If the PLC determines that the threat level should be increased, at 720, the PLC performs one or more pre-configured actions corresponding to an increase in threat level (see
[0050] If the PLC determines that the threat level should be decreased, at 725, the PLC performs one or more pre-configured actions corresponding to a decrease in threat level. In some embodiments, the threat level may be automatically decreased based on rules provided during configuration at step 705. Alternatively, the threat information may be displayed to an operator who then can manually decrease the threat level to Level 0. Once the threat level is decreased, the PLC may optionally send a notification to the other devices in the plant. At this point, the process 700 returns to step 710 where the devices operate according to the specified threat level (i.e., Level 0). This process 700 continues as long as the PLC is operable, allowing adjustment to the threat level as new potential intrusions are detected.
[0051] The programmable logic controllers described herein are another example of a control layer device used in industrial automation environments. A programmable logic controller is typically configured to execute software which continuously gathers data on the state of input devices to control the state of output devices. A programmable logic controller typically includes three major components: a processor (which includes volatile memory), non-volatile memory comprising an application program, and one or more network components (e.g., input/output ports) for connecting to other devices in the automation system.
[0052] The processors described herein as used by computing devices (including, without limitation, programmable logic controllers) may include one or more central processing units (CPUs), graphical processing units (GPUs), or any other processor known in the art. More generally, a processor as used herein is a device for executing machine-readable instructions stored on a computer readable medium, for performing tasks and may comprise any one or combination of, hardware and firmware. A processor may also comprise memory storing machine-readable instructions executable for performing tasks. A processor acts upon information by manipulating, analyzing, modifying, converting or transmitting information for use by an executable procedure or an information device, and/or by routing the information to an output device. A processor may use or comprise the capabilities of a computer, controller or microprocessor, for example, and be conditioned using executable instructions to perform special purpose functions not performed by a general purpose computer. A processor may be coupled (electrically and/or as comprising executable components) with any other processor enabling interaction and/or communication there-between. A user interface processor or generator is a known element comprising electronic circuitry or software or a combination of both for generating display images or portions thereof. A user interface comprises one or more display images enabling user interaction with a processor or other device.
[0053] Various devices described herein (including, without limitation, production devices and related computing infrastructure) may include at least one computer readable medium or memory for holding instructions programmed according to embodiments of the invention and for containing data structures, tables, records, or other data described herein. The term “computer readable medium” as used herein refers to any medium that participates in providing instructions to one or more processors for execution. A computer readable medium may take many forms including, but not limited to, non-transitory, non-volatile media, volatile media, and transmission media. Non-limiting examples of non-volatile media include optical disks, solid state drives, magnetic disks, and magneto-optical disks. Non-limiting examples of volatile media include dynamic memory. Non-limiting examples of transmission media include coaxial cables, copper wire, and fiber optics, including the wires that make up a system bus. Transmission media may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
[0054] An executable application, as used herein, comprises code or machine readable instructions for conditioning the processor to implement predetermined functions, such as those of an operating system, a context data acquisition system or other information processing system, for example, in response to user command or input. An executable procedure is a segment of code or machine readable instruction, sub-routine, or other distinct section of code or portion of an executable application for performing one or more particular processes. These processes may include receiving input data and/or parameters, performing operations on received input data and/or performing functions in response to received input parameters, and providing resulting output data and/or parameters.
[0055] A graphical user interface (GUI), as used herein, comprises one or more display images, generated by a display processor and enabling user interaction with a processor or other device and associated data acquisition and processing functions. The GUI also includes an executable procedure or executable application. The executable procedure or executable application conditions the display processor to generate signals representing the GUI display images. These signals are supplied to a display device which displays the image for viewing by the user. The processor, under control of an executable procedure or executable application, manipulates the GUI display images in response to signals received from the input devices. In this way, the user may interact with the display image using the input devices, enabling user interaction with the processor or other device.
[0056] The functions and process steps herein may be performed automatically, wholly or partially in response to user command. An activity (including a step) performed automatically is performed in response to one or more executable instructions or device operation without user direct initiation of the activity.
[0057] The system and processes of the figures are not exclusive. Other systems, processes and menus may be derived in accordance with the principles of the invention to accomplish the same objectives. Although this invention has been described with reference to particular embodiments, it is to be understood that the embodiments and variations shown and described herein are for illustration purposes only. Modifications to the current design may be implemented by those skilled in the art, without departing from the scope of the invention. As described herein, the various systems, subsystems, agents, managers and processes can be implemented using hardware components, software components, and/or combinations thereof. No claim element herein is to be construed under the provisions of 35 U.S.C. 112, sixth paragraph, unless the element is expressly recited using the phrase “means for.”