Rogue Automation: Vulnerable and Malicious Code in Industrial Programming

In this research paper, we reveal previously unknown design flaws that malicious actors could exploit to hide malicious functionalities in industrial robots and other automated, programmable manufacturing machines.

Since these flaws are difficult to fix, enterprises that deploy vulnerable machines could face serious consequences. An attacker could exploit them to become persistent within a smart factory, silently alter the quality of products, halt a manufacturing line, or perform some other malicious activity.

Our research was set in motion a few years ago, when we stumbled upon something we had never seen before: a store that distributed software for heavy industrial machines in the form of apps.

We downloaded some of these apps and reverse-engineered them to understand how they worked. What we were looking at was something quite different from any software or programming language we were familiar with.

The code was written in one of the many proprietary programming languages used to automate industrial machines, the types of robots typically used to assemble cars, process food, and produce pharmaceutical items, among other industrial purposes. The most notable part of our investigation is that we found a vulnerability in one of these apps.

A year later, we delved into the technical details, including the weak spots, of the eight most popular industrial programming environments: ABB, Comau, Denso, Fanuc, Kawasaki, Kuka, Mitsubishi, and Universal Robots.

Through custom programming, industrial robots can indeed carry out very sophisticated automation routines with high precision. For example, they can pick and place items, move loads, solder, and cut repeatedly and reliably. We were fresh off our 2017 security analysis focused on industrial robots, so we were well aware of how complex and intricate the attack surface of a robot could be. But this app store was like nothing we had seen before.

Please complete the form below to download…