The fragility of the power grid and the potential impact of power grid failure is known to potential attackers. Supervisory Control and Data Access (SCADA) systems or facilities can be subject to a remote asymmetric attack. Such attacks can occur via direct access and via public networks, such as the Internet. An attack on SCADA facilities could extend the time and severity of damage from a physical attack. Tools are lacking to detect attempts at remote tampering. There is a significant risk that there may be deliberate attacks that could result in extended outage if better tools are not available.
Anomaly detection technology is used to detect attempts at remote tampering of communications used to control components of critical infrastructure. A method of detecting intrusions in a control network involves monitoring operational traffic on the control network. Activity characteristic of a normal region is identified, and alerts are generated if activity outside this normal region is identified.
In the following description, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific embodiments which may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that structural, logical and electrical changes may be made without departing from the scope of the present invention. The following description is, therefore, not to be taken in a limited sense, and the scope of the present invention is defined by the appended claims.
The functions or algorithms described herein are implemented in software or a combination of software and human implemented procedures in one embodiment. The software comprises computer executable instructions stored on computer readable media such as memory or other type of storage devices. The term “computer readable media” is also used to represent carrier waves on which the software is transmitted. Further, such functions correspond to modules, which are software, hardware, firmware or any combination thereof. Multiple functions are performed in one or more modules as desired, and the embodiments described are merely examples. The software is executed on a digital signal processor, ASIC, microprocessor, or other type of processor operating on a computer system, such as a personal computer, server or other computer system.
A networked supervisory control and data access system (SCADA) can be subject to remote attacks via a network. One simplified example network is shown in
An attacker is represented at 125, and attempts to attack the operations center via a network connection to a link 130 between the operations center and the substation. The link may be a public network like the Internet, or may even be a private network that the attacker has broken into.
An attacker may attempt to manipulate data streams on the link 130 to precipitate a large-scale outage of power. Existing signature based detectors look for fragments of known exploits. A machine recognizable description of the exploit is required, but is limited to fairly specific and known exploits.
In one embodiment of the present invention, anomaly detection is used to look for activity outside a known or learned normal region. An anomaly is an event that is not normal. Events include communication events, grid events and attacks. Examples of communication events are control messages and measured data exchanged between a master station and remote station. Normal communication may also be subject to random disturbances (noise). Grid events include maintenance activities and externally caused events such as storms and outages. Both communication and grid events are examples of normal events. In one embodiment, anomaly detection is used to report malicious events such as attacks. Both normal and anomalous events are inferred from examination of messages, message sequences or parts of a single message.
Hostile parties, referred to as attackers 125 may read traffic and submit messages that can be read by others coupled to the network. Hostile parties can learn of configurations of remote switchgear via monitoring network communications, such as distributed network protocol (DNP) message monitoring and other means. DNP3 is a common network protocol used over leased line, frame relay, wide area networks and the Internet. While DNP is used as an example, other networks with different protocols may be used. The hostile party may then attempt to operate remote equipment and/or confuse a master station operator with misleading data. Such a hostile party can also prevent control by an operator through interference techniques. The actions of hostile parties may not be predictable, leading to ineffectiveness of signature based detection mechanisms.
In operation, the anomaly detection mechanism monitors system operational traffic, such as sequences of messages. It looks for activity outside a known or learned normal region and alerts if such activity persists beyond some threshold. A pattern matching algorithm may be applied to detect such activity.
A normal region may be characterized by creating calibration data as shown in a block diagram of a testing configuration in
Actual collected network data 212 may be obtained via the use of one or more data collectors. A data collector may extract data from the master station log file at an operations center 110. Further data collectors may be used to capture data from log files at RTUs and IEDs, or by direct coupling to various network components.
In one embodiment, the calibration data is from a control network that includes at least one master station, and multiple simulated RTUs. In this embodiment, simulated DNP3 data is recorded in the master station log, representing normal activity. Both application and data link layer part of DNP3 messages may be translated or abstracted into tokens that capture important information in a stream of messages. The tokens can then be used by learning algorithms. A learning algorithm, referred to as learning module 225 is used to provide a model of normal activities to be used by an anomaly detector to generate alerts if any anomalies are detected. The model is referred to as learned normal behavior, as indicated at a storage device such as a disk 230.
As indicated previously, information from communications is extracted and abstracted or converted into tokens. This occurs both during training, and during normal operation when searching ongoing communications for malicious activity. Data associated with both data link and application layers in the communication protocol is used. The data link layer data provides information that describes network communication. The application layer data provides the status of SCADA system components.
Learning module 225, in one embodiment, converts the collected data into tokens, and determines sequences of tokens that are likely to occur during normal behavior of the system. Many different types of learning algorithms may be used to determine which sequences represent normal behavior. In a further embodiment, tokenization may occur prior to the learning module 225.
The following token components represent a data link layer part of the message in one example embodiment:
The following token components represent an application link layer portion of the message:
In general, a token that represents a message from the master to an RTU has the following format: <PRM_INDICATOR>+<FUNCTION_CODE>+<DIRECTION>+<FCV_BIT>+<F CB_BIT>+<DFC_BIT>+<DESTINATION_ADDRESS>+<SOURCE_ADDRESS>+[<COMMAND>(<COMMAND_PARAMS>)*]*
A token that represents a message from an RTU to a master has the following format: <PRM_INDICATOR>+<FUNCTION_CODE>+<DIRECTION>+<FCV_BIT>+<F CB_BIT>+<DFC_BIT>+<DESTINATION_ADDRESS>+<SOURCE_ADDRESS>+<SEQ_NUMBER_MESG_TYPE><RESPONSE_CODE><INTERNAL_INDICA TORS>(<OBJECT_TYPE>(<OBJECT_PARAMETER>)+)*
For a message being discarded due to a CRC errors, the token takes the following form:
CRC_ERROR+<DIRECTION>
In one embodiment, the method builds a model of normal behavior by making a pass through the training data and storing each unique contiguous token sequence of a predetermined length in an efficient manner. When the method is used to detect intrusions, the sequences from the test set are compared to the sequences in the model. If a sequence is not found in the normal model, it is called a mismatch or anomaly.
In one embodiment, network data from one or more sources is collected in a log file 315. The network data is tokenized as indicated at 325. A detection algorithm such as anomaly detector 330 is used to detect malicious activity. In one embodiment, the anomaly detector 330 is a variation of a sequence time delay embedding (STIDE) anomaly detection algorithm. The algorithm uses tokens created from the log file 315. The algorithm compares groups of contiguous tokens (n-grams) created from the log file 315 to groups of tokens from a model of learned normal behavior 335 of non-anomalous activity. In one embodiment, anomaly detector 330 uses a sliding window pattern matcher to compare current data, or recent data from the log to the learned normal behavior.
In one embodiment, a sequence length of one to three may provide a low false positive rate, yet achieve sufficient detection of anomalies. A false positive rate may increase with longer representative sequences, such as those numbering four to six. In further embodiments, significantly longer or shorter sequence lengths may provide a desired balance between false negative and false positive detection. The length may depend on individual network characteristics or other factors. In a further embodiment, the false positive rate may be reduced by aggregation of consecutive anomalies and a more generalized tokenization approach.
Alerts 340 may be generated when patterns in the current data do not match patterns from the learned normal behavior for a predetermined period of time. In further embodiment, alerting may be a function of an analysis based on probabilities given current weather and political situation, and includes a probability of an attack in progress. If known weather conditions are occurring, operational traffic that may be considered anomalous otherwise would be classified as normal traffic. However, if traffic appears that is weather related, but no known weather conditions exist, such traffic may in fact be malicious. In a further embodiment, alerting is a function of grid state, which may be based on state estimators and topology estimators. Again, it can be determined whether operational traffic is consistent with such estimators.
Several different intrusion detection scenarios may be found using the above algorithm. In one, an attacker attempts to spoof a master. It produces response that appear to be from a remote terminal unit, however, they do not follow a request from a master. In second scenario, an attacker attempts to spoof a remote terminal unit by producing multiple analog value messages that appear to be from the remote terminal unit following a single request form a master. In a denial of service scenario, an attacker produces data link layer acknowledgements from a remote terminal unit that do not follow a cold restart request from a master.
A general computing device 350 may be used to implement methods of the present invention. The computing device 350 may be in the form of a computer, may include a processing unit, memory, removable storage, and non-removable storage. Memory may include volatile memory and non-volatile memory. Computer 350 may include—or have access to a computing environment that includes—a variety of computer-readable media, such as volatile memory and non-volatile memory, removable storage and non-removable storage. Computer storage includes random access memory (RAM), read only memory (ROM), erasable programmable read-only memory (EPROM) & electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD ROM), Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium capable of storing computer-readable instructions. Computer 350 may include or have access to a computing environment that includes input, output, and a communication connection. The computer may operate in a networked environment using a communication connection to connect to one or more remote computers. The remote computer may include a personal computer (PC), server, router, network PC, a peer device or other common network node, or the like. The communication connection may include a Local Area Network (LAN), a Wide Area Network (WAN) or other networks.
Computer-readable instructions stored on a computer-readable medium are executable by the processing unit of the computer. A hard drive, CD-ROM, and RAM are some examples of articles including a computer-readable medium. For example, a computer program capable of providing a generic technique to perform access control check for data access and/or for doing an operation on one of the servers in a component object model (COM) based system according to the teachings of the present invention may be included on a CD-ROM and loaded from the CD-ROM to a hard drive. The computer-readable instructions allow computer system to provide generic access controls in a COM based computer network system having multiple users and servers.
The Abstract is provided to comply with 37 C.F.R. §1.72(b) to allow the reader to quickly ascertain the nature and gist of the technical disclosure. The Abstract is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.
This application claims priority to U.S. Provisional Application Ser. No. 60/601,465 (entitled ANOMALY-BASED INTRUSION DETECTION, filed Aug. 13, 2005) which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60601465 | Aug 2004 | US |