
ACSAC ’22, December 5–9, 2022, Austin, TX, USA Anomadarshi Barua, Lelin Pan, and Mohammad Abdullah Al Faruque
time to recreate the page of the .bss imposter compared to the brute
force approach demonstrated in recent works [19, 29, 58, 62].
After recreating the fake .bss section, BayesImposter uses the
underlying memory deduplication feature enabled in the cloud to
merge the page of the fake .bss section with the legitimate .bss
section. In this way, the attacker can locate the memory address of
the fake .bss section in the host machine and can use a malicious
co-located VPS to trigger a bit-ip in the page of the .bss section
using the Rowhammer bug [
19
,
29
,
58
,
62
] of the host machine. As
the .bss section contains the control commands, this paper shows
that a bit ip in this section may cause corruption or even change
the actual command. This method can be termed as false command
injection. The injected false commands propagate from VPSs to
the PLCs and may cause an unplanned behavior with catastrophic
machine failure in the target ICS. It is worthwhile to mention here
that, as BayesImposter has more control over the recreation of a
fake .bss section, our attack is capable of adversarial control over
the target ICS from a co-located VPS on the same cloud. To the best
of our knowledge, BayesImposter is the rst work that successfully
merges the idea of Bayesian estimation of the state-space models of
ICSs with the memory deduplication and the Rowhammer bug in
cloud settings in the context of ICSs.
Technical Contributions: Our contributions are:
•
We are the rst to point out how the .bss section of the tar-
get control DLL le of cloud protocols can be exploited by using
memory deduplication in modern ICSs.
•
We are the rst to introduce Bayesian estimation to recreate the
.bss section. Our attack requires less memory and time compared
to the brute force approach used in recent works [19, 29, 58, 62].
•
We create a real-world scaled-down factory model of a practical
ICS, which has an automated high-bay warehouse from schertech-
nik [
6
]. We use an industrial-grade PLC with a part# SIMATIC
S7-1500 [
12
] from Siemens to create the automation platform and
connect the PLC to clouds using industry-standard cloud protocols.
•
We evaluate BayesImposter in our factory model considering
ve variants of industry-standard cloud protocols and show the
adversarial control to generalize our attack model in cloud settings.
The demonstration of our work is shown in the following link:
https://sites.google.com/view/bayesmem/home.
2 BACKGROUND
2.1 Connecting PLCs with clouds
IIoT enables PLCs to upload the acquired data directly to clouds
[
64
]. PLCs are connected to clouds normally in two ways: using
an adapter or directly using a standard protocol. Standard cloud
protocols, such as MQTT and AMQP support bidirectional and event-
based data transmission between PLCs and upper managements.
The upper management can modify control functions of PLCs in
run-time by ashing new control programs to PLCs from clouds.
2.2 Programs for supervisory controls
The IEC 61131 programming standard [
72
] is used for control pro-
gramming of PLCs. Control programs can be broadly divided into
three categories: (i) programs for basic functions, (ii) programs for
1
In this paper, the .bss section means the .bss section of the target control DLL le of
cloud protocols; unless otherwise mentioned.
VPS1
VPS2
VPS3
Upper
Management
PLC1
PLC2
PLC3
Cloud server
Sending program
for supervisory controls Cloud protocols
(MQTT/AMQP) IEC 61158 standard
(Modbus/PROFINET)
VPSs to support different
PLC automation platforms
Horizontal axis Vertical axis
Suction cup
Vacuum gripper robot
Figure 1: Dierent components of an ICS in cloud settings.
supervisory controls, and (iii) programs for critical time-constraint
functions (e.g., security and real-time response, etc.). Traditionally,
all these three categories of control programs were implemented in
PLCs in industrial premises. However, with the new trend in Indus-
try 4.0, nowadays, only the programs for critical time-constraint
functions are implemented in PLCs. Programs for basic functions
and supervisory controls are not implemented in PLCs; rather, they
are implemented in clouds or in web-server. For example, basic
functions and supervisory control programs are outsourced as web
services to a cloud or to a server for class C33 PLC controller [
49
].
This gives more exibility to upper managements as they can change
programs remotely in run-time to tackle abruptly changing situations.
2.3 Use of VPSs with PLCs
ICSs are becoming more complex in Industry 4.0. ICSs often need
to support multiple automation platforms that may conict with
each other. Moreover, multiple PLC controllers and supervisory
platforms may need multiple software packages that may require
multiple operating systems. Also, introducing web servers and
clouds to ICSs increases the necessity of using multiple private
servers. As using multiple separate physical machines to support
multiple automation platforms or operating systems or private
servers is one of the available solutions, industries evidently use
VPSs to reduce the number of required physical machines to reduce
cost [
63
]. Moreover, modern cloud platforms oer cheap access to
VPSs by sharing a single server among multiple operating systems
on a single server machine using virtualization software [11].
2.4 A motivational example of an ICS
A motivational example is shown in Fig. 1 where we consider an
automated high-bay warehouse as our example ICS. It has a vac-
uum gripper robot, which stores objects in the storage rack of the
warehouse using a suction cup and moves along the horizontal
and vertical axis. We elaborate more on this in Section 7.1 while
demonstrating our attack model. Here, multiple PLCs having dif-
ferent platforms are supported by a cloud using multiple VPSs.
Upper management located in the cloud send programs for su-
pervisory controls from VPSs to PLCs using cloud protocols (i.e.,
MQTT/AMQP). PLCs communicate with the underlying sensors
and controllers using IEC 61158 standard protocols (e.g., Modbus,
PROFINET, etc.). Given this background, an attacker can perturb
the supervisory control commands (i.e., false command injection) in
our example ICS and remotely hamper its normal operation using
our attack model - BayesImposter.
2.5 Memory deduplication
Memory deduplication is a process that merges identical pages
in the physical memory into one page to reduce redundant pages