Vulnerabilities / Threats

1/15/2019
10:03 PM
Connect Directly
Google+
Twitter
RSS
E-Mail
100%
0%

Hijacking a PLC Using its Own Network Features

Researcher at S4x19 to show how attackers can exploit the built-in advanced connectivity functions in some Rockwell PLCs.

S4x19 -- Miami -- Programmable logic controllers (PLCs) have been long known to be easy marks for attack due to their blatant lack of built-in security, but a security researcher here this week at S4 will demonstrate how a hacker could commandeer some PLCs via their own advanced communications features.

Roee Stark, senior software engineer with ICS/SCADA network security monitoring firm Indegy, discovered that he could use two communication functions built into Rockwell Automation's CompactLogix PLC line to wage network-borne attacks. Cybercriminals or nation-state actors could deploy these features as a way to stealthily infiltrate and control industrial processes and operations or even reach into the target's IT network infrastructure, he says.

Most PLC security research to date has focused on ways to hack into PLCs or rig them with malware, for example, to alter the industrial process or compromise the devices' ladder logic (basically the programming language used to code PLCs). Researchers have built rootkits and worms for PLCs, for example.

But Stark's PLC hacking research instead targets the connectivity of a PLC. PLCs openly allow connections to the network, he says, a design that leaves them open to network-based attacks. "It's much easier than changing the programming of a controller or making [a device] explode," he says.

The first of the two features he coupled to exploit the PLCs was the so-called complex path feature, which comes with Rockwell CompactLogix PLCs. The feature is part of the chipset of the Common Industrial Protocol (CIP), Stark says, a communication architecture for industrial networks that integrates those operations with IT-based networks and the Internet. CIP runs on EtherNet/IP, Control/Net, and other popular industrial network protocols.

Complex path lets an attacker create a CIP session between two PLCs that aren't directly connected. "So if PLC A is connected to PLC B, [which is then] connected to PLC C, you can create a connection from PLC A to C" via a path through PLC B, Stark explains. The feature allows you to forward and transfer messages from one PLC to another.

The second feature was the so-called socket object, which lets the PLC send and receive TCP or UDP traffic.

"When combining these two capabilities, we can send and receive packets from a controller we have access to and all other controllers that are connected to it – regardless of the connection type," Stark says.

An attacker with direct or remote access to the Rockwell PLC could abuse those features to collect data for reconnaissance purposes, to exfiltrate data, and to further attack the network using known security vulnerabilities, for example.

IIf an attacker can reach the PLC on the plant floor either via the local network or the Internet, he or she can then find out which communication modules are present in the controllers, and then employ the complex path feature to communicate with them, Stark explains.

Once he or she reaches the PLC, they can collect data via the socket interface using queries and running scans.

Stark doesn't know for sure whether these attacks could also work on other vendors' PLCs since he hasn't tested them. Even so, he notes, Rockwell's CompactLogix series contains more advanced communications protocols and features than most PLCs, he says. "As far as I know, these features are fairly unique to them," he says of the PLC communications features.

Indegy did not disclose the research to Rockwell since it wasn't a pure vulnerability disclosure but rather a way to abuse the controller's features, Stark says. "It's not a vulnerability because you don't bypass anything and you don't exploit any control," he says. "The programmatic flow is doing exactly what it is supposed to do" when you abuse it, he notes.

A Rockwell Automation spokesperson declined to comment on Indegy's research when contacted by Dark Reading.

Missing Links
The Rockwell PLCs actually come with a logging feature that would be useful for catching such attacks, but logging is disabled by default in the devices, Stark found. "And turning it on again would not be trivial ... you have to dig deep into the Web interface to find it." Then it would require a special CIP command to turn on logging, he explains.

Authentication would help thwart such an attack as well, but the PLCs don't include that feature, he says, and continuous network monitoring – a technology Indegy sells – could help spot any nefarious network activity using the legitimate PLC communications features in the Rockwell devices. Route whitelists also could prevent unauthorized PLC traffic.

Meanwhile, most of the focus on securing PLCs on the plant floor traditionally has been on protecting them from malicious firmware updates or from getting infected with malware. "They usually only take into account the execution flow," Stark says.

Related Content:

Kelly Jackson Higgins is Executive Editor at DarkReading.com. She is an award-winning veteran technology and business journalist with more than two decades of experience in reporting and editing for various publications, including Network Computing, Secure Enterprise ... View Full Bio

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
New Free Tool Scans for Chrome Extension Safety
Dark Reading Staff 2/21/2019
Making the Case for a Cybersecurity Moon Shot
Adam Shostack, Consultant, Entrepreneur, Technologist, Game Designer,  2/19/2019
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
5 Emerging Cyber Threats to Watch for in 2019
Online attackers are constantly developing new, innovative ways to break into the enterprise. This Dark Reading Tech Digest gives an in-depth look at five emerging attack trends and exploits your security team should look out for, along with helpful recommendations on how you can prevent your organization from falling victim.
Flash Poll
How Enterprises Are Attacking the Cybersecurity Problem
How Enterprises Are Attacking the Cybersecurity Problem
Data breach fears and the need to comply with regulations such as GDPR are two major drivers increased spending on security products and technologies. But other factors are contributing to the trend as well. Find out more about how enterprises are attacking the cybersecurity problem by reading our report today.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2019-6485
PUBLISHED: 2019-02-22
Citrix NetScaler Gateway 12.1 before build 50.31, 12.0 before build 60.9, 11.1 before build 60.14, 11.0 before build 72.17, and 10.5 before build 69.5 and Application Delivery Controller (ADC) 12.1 before build 50.31, 12.0 before build 60.9, 11.1 before build 60.14, 11.0 before build 72.17, and 10.5...
CVE-2019-9020
PUBLISHED: 2019-02-22
An issue was discovered in PHP before 5.6.40, 7.x before 7.1.26, 7.2.x before 7.2.14, and 7.3.x before 7.3.1. Invalid input to the function xmlrpc_decode() can lead to an invalid memory access (heap out of bounds read or read after free). This is related to xml_elem_parse_buf in ext/xmlrpc/libxmlrpc...
CVE-2019-9021
PUBLISHED: 2019-02-22
An issue was discovered in PHP before 5.6.40, 7.x before 7.1.26, 7.2.x before 7.2.14, and 7.3.x before 7.3.1. A heap-based buffer over-read in PHAR reading functions in the PHAR extension may allow an attacker to read allocated or unallocated memory past the actual data when trying to parse the file...
CVE-2019-9022
PUBLISHED: 2019-02-22
An issue was discovered in PHP 7.x before 7.1.26, 7.2.x before 7.2.14, and 7.3.x before 7.3.2. dns_get_record misparses a DNS response, which can allow a hostile DNS server to cause PHP to misuse memcpy, leading to read operations going past the buffer allocated for DNS data. This affects php_parser...
CVE-2019-9023
PUBLISHED: 2019-02-22
An issue was discovered in PHP before 5.6.40, 7.x before 7.1.26, 7.2.x before 7.2.14, and 7.3.x before 7.3.1. A number of heap-based buffer over-read instances are present in mbstring regular expression functions when supplied with invalid multibyte data. These occur in ext/mbstring/oniguruma/regcom...