Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Vulnerabilities / Threats

04:45 PM
Connect Directly

Hacking the PLC via Its Engineering Software

Researcher will demonstrate at DEF CON an emerging threat to industrial control networks.

Attackers don't need to directly hack into a programmable logic controller (PLC) to wreak havoc on an industrial process: they can target its configuration files and pivot from there.

Researchers over the past year have been exposing easily exploitable holes in the so-called project files that reside in industrial control system (ICS) software for PLCs. Nadav Erez, research team lead at Claroty, will demonstrate at DEF CON today one such attack on a PLC project file, that of Phoenix Contact's PLCnext Engineer software, which engineers use to configure the vendor's PLC. Phoenix Contact's vulnerable project file software, which was recently patched, is the latest in a series of such software programs from PLC vendors patched for flaws, including Mitsubishi, Rockwell, Schneider, and Siemens. 

PLC project files or directories are created in the PLC vendor's engineering software to configure the PLC's settings — including the logic that programs it to control machinery or industrial processes. The ICS software, which is stored on an engineer's computer or file server, handles the project files for PLCs when they get programmed by the engineer. "The PLC is operating on its own ... but if you make any change to the project file, you probably download it to the PLC so it's updated with the latest configuration," Erez says.

It's a relatively simpler way for an attacker to get access to a PLC, too. "The barrier to attacking PLCs is getting the PLCs," he says.

The vulnerability in the PLCnext Engineer versions 1046008 2020.3.1 and earlier is in how the restricted directory is accessed in the software such that an attacker can change the path of that file. The build settings of a project can be exploited so that an attacker can run malicious code via those files.

Here's how an attack could unfold: An attacker first would need to obtain the ICS software associated with a specific PLC product, something Erez says is relatively simple to purchase online. The attacker then could write scripts and manually edit a file to add malicious attributes, he says.

The next, and arguably the most difficult, step is convincing the engineer at the targeted organization to open the rigged project file. It's a social engineering exercise, either via a phishing email or even in an online support forum. The attacker could pose as another engineer having difficulty opening a project file, a scenario Erez paints like this: "'I've got this project file and my software version doesn't open it. Can you please help me? I saw on LinkedIn that you're an engineer working with Phoenix Contact devices ... maybe you can tell me what the issue was?'"

If the engineer falls for the ruse, downloads the file, and then opens it via their engineering software, the attacker is in. "Unlike opening a regular document or link, when you open a project file, you have to do it from a computer that's connected to a critical network segment ... the computer where you have the ICS software installed," he says. This gets the attacker to the ICS server — and a direct line to the PLC.

"If you have access to the PLCs, then it's pretty much game over for the PLCs," Erez says.

The bright spot with PLC project file vulnerabilities is that they're fixable via software. "It's not hardware or firmware on PLCs, so it's a lot easier to issue updates and for engineers to update the software," he says.

Erez says Claroty has reported dozens of these project file vulns to ICS vendors, and that until recently this was a lesser-studied vulnerability surface.

Spotting a PLC project-file attack would require monitoring the network to spot any unusual activity around the PLC as well as advanced endpoint protection for the Windows servers running the ICS software.

"We want ICS engineers to be aware that these files may have vulnerabilities inside of them," says Erez, who will present this research in the DEF CON ICS Village.

Related Content

Kelly Jackson Higgins is the Executive Editor of Dark Reading. 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

Recommended Reading:

Comment  | 
Print  | 
More Insights
Newest First  |  Oldest First  |  Threaded View
Manchester United Suffers Cyberattack
Dark Reading Staff 11/23/2020
As 'Anywhere Work' Evolves, Security Will Be Key Challenge
Robert Lemos, Contributing Writer,  11/23/2020
Cloud Security Startup Lightspin Emerges From Stealth
Kelly Sheridan, Staff Editor, Dark Reading,  11/24/2020
Register for Dark Reading Newsletters
White Papers
Cartoon Contest
Write a Caption, Win an Amazon Gift Card! Click Here
Latest Comment: This comment is waiting for review by our moderators.
Current Issue
2021 Top Enterprise IT Trends
We've identified the key trends that are poised to impact the IT landscape in 2021. Find out why they're important and how they will affect you today!
Flash Poll
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
PUBLISHED: 2020-11-28
An issue was discovered in the Linux kernel before 5.2.6. On NUMA systems, the Linux fair scheduler has a use-after-free in show_numa_stats() because NUMA fault statistics are inappropriately freed, aka CID-16d51a590a8c.
PUBLISHED: 2020-11-28
An issue was discovered in __split_huge_pmd in mm/huge_memory.c in the Linux kernel before 5.7.5. The copy-on-write implementation can grant unintended write access because of a race condition in a THP mapcount check, aka CID-c444eb564fb1.
PUBLISHED: 2020-11-28
An issue was discovered in mm/mmap.c in the Linux kernel before 5.7.11. There is a race condition between certain expand functions (expand_downwards and expand_upwards) and page-table free operations from an munmap call, aka CID-246c320a8cfe.
PUBLISHED: 2020-11-28
An issue was discovered in kmem_cache_alloc_bulk in mm/slub.c in the Linux kernel before 5.5.11. The slowpath lacks the required TID increment, aka CID-fd4d9c7d0c71.
PUBLISHED: 2020-11-28
An issue was discovered in romfs_dev_read in fs/romfs/storage.c in the Linux kernel before 5.8.4. Uninitialized memory leaks to userspace, aka CID-bcf85fcedfdd.