# Trusted virtualization-based programmable logic controller resilience using a backfit approach

James Cervini, Daniel Muller, Alexander Beall, Joseph Maurio, Aviel Rubin, Lanier Watkins

► To cite this version:

James Cervini, Daniel Muller, Alexander Beall, Joseph Maurio, Aviel Rubin, et al. Trusted virtualization-based programmable logic controller resilience using a backfit approach. 16th International Conference on Critical Infrastructure Protection (ICCIP), Mar 2022, Virtual Event, United States. pp.103-117, 10.1007/978-3-031-20137-0_4. hal-05397798

HAL Id: hal-05397798

https://inria.hal.science/hal-05397798v1

Submitted on 4 Dec 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
<figure><img src="image_2.png" /></figure>

ifip

International Federation for Information Processing

This document is the original author manuscript of a paper submitted to an IFIP
conference proceedings or other IFIP publication by Springer Nature. As such, there
may be some differences in the official published version of the paper. Such
differences, if any, are usually due to reformatting during preparation for publication or
minor corrections made by the author(s) during final proofreading of the publication
manuscript.
Chapter 4

TRUSTED VIRTUALIZATION-BASED
PROGRAMMABLE LOGIC CONTROLLER
RESILIENCE USING A BACKFIT
APPROACH

James Cervini, Daniel Muller, Alexander Beall, Joseph Maurio, Aviel
Rubin and Lanier Watkins

**Abstract** Industrial control systems perform vital cyber-physical functions in critical infrastructure assets. Programmable logic controllers, which are prominently found in industrial control environments, execute the operational control logic of cyber-physical systems. Due to the continued escalation of cyber attacks targeting industrial control systems and programmable logic controllers, strengthening the trust and resilience of these systems is paramount.

This chapter proposes an approach that leverages virtualization, cryp-
tographic attestation, software-defined networking, security orchestra-
tion and a proprietary programmable logic controller runtime applica-
tion to advance programmable logic controller trust and resilience while
facilitating integration in deployed systems. A proof-of-concept capa-
bility demonstrated on a physical industrial control system testbed vali-
dates the approach. The experimental results confirm that the approach
is viable for industrial control applications.

**Keywords:** Industrial control systems, virtualization, security

1. Introduction

Programmable logic controllers (PLCs) are real-time systems that re-
ceive inputs from sensors, execute pre-programmed logical routines and
produce outputs that ultimately drive physical actuators. These devices
and their control loops operate diverse physical processes, supporting
industrial control systems in critical infrastructure assets in the energy,
chemicals, manufacturing, water and wastewater sectors. Given the con-
stant targeting of these vital systems and processes, there is a compelling need to research methods that increase their resilience against cyber attacks. Additionally, cost and uptime requirements often result in sparse upgrade cycles of programmable logic controllers in the operational technology domain. Therefore, research must investigate the applicability of security approaches for deployed proprietary systems. This chapter proposes an approach that leverages virtualization and trusted computing to enhance operational technology systems. The enhancements enable these systems and the processes they control to be more resilient, flexible, secure and cost-effective.

Virtualization provides a guest environment segmented from host machine hardware by using a hypervisor to interpret and allocate the available computing resources. The segmentation provides several benefits. The lack of reliance on a specific host contributes to a dynamic virtual environment that can rapidly change hosts as needed to ensure maximum uptime. Also, the isolation between guest and host can mitigate malicious processes from spreading to host hardware. Additionally, the hardware abstraction provided by virtualization is cost effective compared with installing and maintaining dedicated hardware for each process that could be virtualized. Indeed, the ability to virtually test and seamlessly merge software updates and configuration changes with little or no downtime is highly desirable for operational technology systems.

This research has three principal contributions. It is first to cryptographically attest a virtualized programmable logic controller using a trusted platform module (TPM). Additionally, it proposes a virtualized programmable logic controller environment generation approach that leverages existing system hardware and software artifacts to streamline backfit deployments. Also, it is the first to engage automated security orchestration to respond to failures of programmable logic controllers in performing cryptographic attestation.

## 2. Related Work

The hard and soft real-time performance requirements imposed in operational technology environments clash with added layers of software complexity introduced by virtualization. As additional software processes are introduced to support programmable logic controller virtualization, the ability to guarantee real-time control loop performance is reduced. Previous research has attempted to address this problem by utilizing a real-time optimized environment and highlighting virtual programmable logic controller feasibility [3]. In contrast, this work explores the trust and resilience functionality enabled by the proven virtual pro-
grammable logic controller feasibility using an approach that is readily implemented in deployed systems.

Other research has conducted experiments with cloud-based virtual programmable logic controllers that demonstrate their feasibility for soft real-time systems [8]. However, the previous research only demonstrated performance feasibility whereas the cryptographic attestation proposed in this work can be applied to address trust concerns associated with cloud utilization.

Previous research efforts have proven the feasibility of attestation using the physics of control processes [7, 9]. In contrast, the programmable logic controller attestation approach developed in this research does not observe the physical system state and could be implemented in combination with other attestation methods. Additionally, this research utilizes security orchestration and software-defined networking (SDN) in combination with the attestation outcome for virtualized programmable logic controllers.

In an earlier paper, Cervini et al. [2] described an automated resilience approach that employs containerized programmable logic controllers. In contrast, the approach described in this chapter uses virtualization to achieve additional security isolation. A shortcoming of the earlier work is the manual generation of containerized programmable logic controller logic [2]. This shortcoming is addressed in the proposed approach by leveraging existing software artifacts for automated virtual programmable logic controller generation. Finally, Cervini et al. [2] state that cryptographic attestation and subsequent response actions should be researched to guarantee system integrity. This avenue is pursued in this research via the cryptographic attestation of virtual programmable logic controller configurations.

# 3. Virtualization for Trust and Resilience

This section describes the programmable logic controller virtualization and remote programmable logic controller attestation using a trusted platform module.

## 3.1 PLC Virtualization

Three criteria must be satisfied to virtualize a programmable logic controller. The primary criterion is that the virtual programmable logic controller should mirror the control behavior of the physical programmable logic controller with high fidelity. Additionally, the virtual programmable logic controller should employ existing hardware and installed wiring to achieve system control. Also, the process for virtualizing
the physical programmable logic controller should be automatable and support the ingestion of system software artifacts. These criteria assure that a virtual programmable logic controller will function properly and minimize the cost and effort associated with its deployment.

In order to virtualize a programmable logic controller while conforming to the three criteria, an architecture was designed that leverages a software variant of the programmable logic controller. Specifically, the Allen Bradley SoftLogix programmable logic controller runtime application is employed. Virtualizing the programmable logic controller in software enables it to inherit the ability to seamlessly interface with the existing programmable logic controller ecosystem, including its software and hardware. As a result, the virtualized software programmable logic controller runtime application requires minimal effort to ingest and execute logical artifacts of the deployed programmable logic controller and the virtualized programmable logic controller can interface with its installed hardware endpoints to meet the second and third criteria. Moreover, due to the ease of preexisting logic utilization, no logic programming has to be performed. The execution of identical logic ensures that the control loop of the virtual programmable logic controller results in identical process execution and conforms to the first criterion.

Ultimately, the outcome is the implementation of a logically-equivalent virtualized software programmable logic controller. The virtualized programmable logic controller utilizes existing input and output hardware and wiring to drive the control system, all the while being enhanced with the adaptability of virtualization to threats, isolation protection and reduced costs.

## 3.2 Remote TPM-Based Attestation

An additional benefit of virtualization is the ability to implement diverse security and trust mechanisms on a host and runtime application that would be unavailable to a proprietary physical programmable logic controller. Due to the potentially-critical processes operated by programmable logic controllers, trusting the devices is paramount to having confidence in process continuity and outcomes.

However, the reliance on virtualization for enhanced resilience potentially introduces new vulnerabilities unique to the information technology domain. Therefore, a method for affirming the trust of virtual programmable logic controllers is imperative. This can be accomplished by executing a virtual programmable logic controller on a host with Trusted Platform Module (TPM) version 2.0. A trusted platform module leverages cryptographic keys generated during the manufacturing
process to perform remote attestation, a technique that ensures the le-
gitimacy of a networked device and its software. This research employs
a hardware-based trusted platform module instead of software solutions
used in previous research [1, 10].

Remote attestation engages a challenger host system that attempts to verify the internal state of another attester system. The end goal of attestation is to enable the attester to generate a signed trusted platform module quote that proves to the challenger that the internal state of the system matches the expected state [5]. The virtual programmable logic controller testbed used in this research implements remote attestation where a Linux orchestration server functions as the challenger and an Intel Next Unit of Computing (NUC) hosting the virtual programmable logic controller functioned as the attester.

Figure 1 shows the attestation process. The first step in the attesta-
tion process is a one-time device registration. In this step, the challenger
sends a request to register with the attester and the attester generates
an endorsement key (EK) along with an attestation identity key (AIK)
pair. The asymmetric endorsement key is unique to the trusted plat-
form module on the device. The attestation identity key is generated
by the trusted platform module and signed by the endorsement key. To
ensure that the challenger does not register with an imposter, a trusted
third-party can perform certificate validation of the attester.

The next step in the registration is to compute the reference hash
for the challenger. The reference hash is computed using the platform
configuration registers (PCRs) in the trusted platform module. These
registers can only be modified using a hash extension, which overwrites
previous values. Since extension is the only path to overwrite values,
the platform configuration register hash values reflect the entire history
of the hash extensions [11]. The attester is sent the specific platform
configuration registers to use in its hash computation. One set of the
registers is left untouched and is used to identify the trusted platform
module hardware; the other set of registers is extended with the hash
of a file that reflects the logic used by the virtual programmable logic
controller. The file reflecting the logic is a proprietary Allen Bradley
project file with the ACD extension. The ACD file, which is contained
in the SoftLogix program, is named slot02.acd. Slot 02 in the SoftLogix
program corresponds to the central processing unit (CPU) of the virtual
programmable logic controller and the ACD file in the file path location
corresponds to the logic programmed on the CPU. After the hash is
computed, the public attestation identity key and hash are sent to the
challenger, completing the registration process.
<figure><img src="image_3.png" /><figcaption>Figure 1. Attestation process.</figcaption></figure>

After the registration is complete, the challenger can verify the internal state of the attester at any time. This is accomplished by the challenger sending a request to the attester to read the platform configuration registers from which the computed hash was derived along with a generated random nonce. The attester computes the hash of the current ACD file for Slot 02 and overwrites the hash in the platform configuration registers corresponding to the device software. With the platform configuration registers updated, the attester generates a trusted plat-
form monitor quote for the challenger using the platform configuration
register values and signs it with the private attestation identity key.

Upon receiving the trusted platform module quote, the challenger
checks that the nonce and quote signature are valid. Next, it verifies
that the platform configuration register values it received match the
hash computed during the registration process. If any of the checks fail,
the internal state of the system has been modified. If all the checks pass,
then the internal state reflects what is expected and the attestation is
successful.

The result of the virtual programmable logic controller attestation
check is passed to a security information and event management (SIEM)
system that aggregates various system indicators and facilitates mitiga-
tion responses. If the SIEM reports that the virtual programmable logic
controller failed to cryptographically attest its trustworthiness, it is not
given control of the physical system and response actions could be taken
to mitigate the situation.

4. Experiments and Results

This section describes the experimental environment and the virtual
programmable logic controller resilience experiments and results.

4.1 Experimental Environment

Figure 2 shows the experimental environment. The environment in-
cludes a power distribution testbed that accepts user inputs over a
human-machine interface (HMI) to open and close contactors and manip-
ulate power flow to a target load. An Allen Bradley 1756 ControlLogix
programmable logic controller chassis is employed. The Allen Bradley
programmable logic controller was selected because it has a large mar-
ket share, rendering the experimental results immediately applicable to
thousands of deployed systems due to backfit considerations [4].

Virtual programmable logic controller creation was initiated by launch-
ing the SoftLogix 5800 programmable logic controller runtime applica-
tion on a Windows 10 virtual machine. Windows was utilized to sats-
isfy the SoftLogix operating system requirements. SoftLogix processes
were set up in Windows with real-time process priority, mitigating in-
terruptions caused by other operating system processes. The virtual
programmable logic controller was hosted on an Intel NUC running the
Ubuntu 20.04 operating system. The Allen Bradley proprietary soft-
ware Studio 5000 retrieved the logic and configuration from the physical
programmable logic controller. All the hardware references in the orig-
inal logic and configuration were changed to the virtual programmable
<figure><img src="image_4.png" /><figcaption>Figure 2. Experimental environment.</figcaption></figure>

logic controller instance and remote input/output (I/O). Nothing precludes the reconfiguration process from being completely automated. Note that, despite the reliance on a proprietary programmable logic controller, several vendors offer comparable runtime products, and the proposed approach could support a runtime substitution to a preferred vendor or open-source runtime solution [6]. The programmable logic controller runtime application was virtualized using VMware ESXi and executed as a high-priority, real-time operating system process. Figure 3 shows the virtual programmable logic controller host architecture.

The Intel NUC hosting the virtual programmable logic controller has TPM 2.0 hardware, which was used to validate the Ubuntu 20.04 host operating system as well as the logic file of the virtual programmable logic controller. Snapshots of the configured and attested virtual programmable logic controller states were taken for use in the experiments.

Supplemental to the trusted virtualized programmable logic controller was a security environment that enabled automated alerting, analysis
<figure><img src="image_5.png" /><figcaption>Figure 3. Virtual programmable logic controller host architecture.</figcaption></figure>

and response actions. The environment comprised a rule-based intrusion
detection system, software-defined network controller and switch, and
a security orchestration, automation and response (SOAR) tool. The
intrusion detection system was configured with a ruleset that detected
programmable logic controller modifications and transmitted alerts. The
software-designed network controller was programmed to redirect net-
work traffic from the physical programmable logic controller to the vir-
tual programmable logic controller via commands sent to the software-
defined network switch. The SOAR tool was configured with auto-
mated actions to ingest intrusion detection alerts, request the status
of the virtual programmable logic controller attestation, interface with
the software-defined network controller to enact network modifications
and prompt operators to perform manual actions. Figure 4 shows the
automated security implementation of the control system network.

## 4.2 Resilience Experiments and Results

The experiments began by confirming system functionality while un-
der the control of the virtual programmable logic controller. Initially, the
virtual programmable logic controller failed to control the system. How-
ever, it was quickly discovered that the logical variables of the virtual
programmable logic controller were initialized to zero because the default
variable values of the physical programmable logic controller were not
<figure><img src="image_6.png" /><figcaption>Figure 4. Automated security implementation of the control system network.</figcaption></figure>

inherited properly. The problem was corrected and the expected system functionality was achieved under virtual programmable logic controller control.

Next, an attack model was applied. The attack leveraged trusted access to reprogram the programmable logic controller, resulting in reduced system functionality. Specifically, any loads that were powered on would lose power after 10 seconds. Additionally, without proper cyber situational awareness, such an incident might be investigated as a hardware failure, resulting in system assets remaining unpowered for extended periods of time. This trusted, but malicious, configuration represented a witting or unwitting insider threat, trusted device compromise or supply chain compromise.

The attack model was exercised in three scenarios. The first scenario executed the attack against the physical programmable logic controller with no resilience enhancements. The attack modified the programmable logic controller programming, which resulted in the expected degradation of system behavior. Utilization of network situational awareness tools enabled the timely identification of the rogue machine and the diagnosis of anomalous system behavior. Even so, the configuration change due to the attack persisted until manual reconfiguration was performed. In a real-world environment, manual reconfiguration can take hours to weeks to perform depending on the system complexity and scale, damage caused and process sensitivity. Live duplicate systems are a common
redundancy method, but they are susceptible to the same attack because they use identical hardware and software.

In the second scenario, the physical programmable logic controller was compromised again; however, the network situational awareness tools enabled automated system recovery by leveraging the trusted virtual programmable logic controller approach. This contrasts with the first scenario, where utilizing the same network data only resulted in threat identification and system behavior diagnosis. The attack triggered a SOAR workflow, which requested the attestation status of the virtual programmable logic controller. Given that the virtual programmable logic controller configuration was untouched, it passed the attestation check and was given responsibility for the system control loop via the software-defined network orchestration by SOAR. The software-defined network reconfiguration took place after the operator was prompted to remove the infected programmable logic controller CPU. The CPU removal further purged the system of malicious artifacts and ensured no input/output conflicts with the remaining programmable logic controller chassis. These corrective actions took mere seconds to perform and resulted in the expected control system behavior.

In the third scenario, the attack was executed against the physical and trusted virtual programmable logic controllers. Due to the trusted status of the compromised maintenance laptop, the malicious configuration was accepted by both devices. However, when SOAR executed its workflow for transitioning system control from the physical programmable logic controller to the virtual programmable logic controller, the workflow commanded an attestation check of the virtual programmable logic controller. The virtual programmable logic controller failed to attest due to the discrepancy between the expected configuration and loaded malicious configuration.

The failure to attest resulted in the complete loss of trust in the virtual programmable logic controller configuration and the SOAR workflow diverged to compensate. Specifically, SOAR made an operator recommendation to revert to the snapshot of the virtual programmable logic controller in a known good configuration. While this action was passed to an operator, it could easily be automated by scripting or invoking an application programming interface. After reverting to the snapshot state, the device passed the attestation check and was given physical system control via software-defined network orchestration by SOAR after the programmable logic controller chassis CPU was removed. This corrective action took one minute to complete, resulting in the semi-automated transition to a trusted system. The system performed as expected and all the operator inputs produced the appropriate outputs.
<figure><img src="image_7.png" /><figcaption>Figure 5. Automated security architecture with virtual PLC failover support.</figcaption></figure>

In scenarios two and three, the speed of the automated process was limited by the removal of the infected CPU by the operator. This was easily remedied by moving the physical CPU to a separate programmable logic controller chassis and using the remote input/output protocol to control the inputs and outputs. The process could have been automated fully by having the virtual and physical programmable logic controller CPUs use remote input/output through the software-defined switch. However, this would have required reconfiguration of the deployed programmable logic controller, unlike the tested method that is immediately applicable to deployed systems. Figure 5 shows the automated security architecture with seamless virtual programmable logic controller failover support.

## 5. Conclusions

The initial misconfiguration of the virtual programmable logic controller due to the lack of variable initialization values highlights the need for automated validation of virtual programmable logic controller generation. The validation can be performed using a simulation environment for virtual programmable logic controller execution or an automated comparison of the cryptographic hashes between the physical and virtual programmable logic controller logic programs. Additionally, because the runtime application of a proprietary programmable logic controller was
never meant to be virtualized, its licensing model would be more cost-effective at scale. This is because a physical machine would be dedicated to a single software instance instead of a single physical machine potentially running multiple virtual instances. This is a shortcoming that is subject to change with market demands as the feasibility of the proposed approach continues to be proven and successful technology pilots occur, potentially leading to a site-wide licensing model.

Comparing the outcomes in scenarios one and two showcases the automated resilience benefits provided by the virtual programmable logic controller approach. This is evidenced by the control process continuity and execution speed advantages associated with automated recovery over manual recovery. Furthermore, comparing the outcomes between scenarios two and three accentuates the need for system trust. This also demonstrates the flexibility of a virtual programmable logic controller in terms of control process continuity despite the initial virtual programmable logic controller compromise by a trusted host. It is worth noting that the added flexibility of a virtual programmable logic controller facilitates the implementation of additional security mechanisms that a proprietary programmable logic controller would not support, reducing the likelihood of compromise and introducing new host-based data sources. The trusted flexibility of the proposed approach coupled with the ability to augment deployed proprietary environments would enable programmable logic controllers to take dynamic actions to manage their critical processes. This could play a pivotal role in securing deployed and future systems while providing the cost-savings and high-availability benefits of virtualization.

Future research will investigate the automated validation of virtual programmable logic controllers to ensure that attested configurations conform to the demands of physical processes. Data fusion, which can help correlate virtual programmable logic controller attestation with additional data sources, should be investigated to define a holistic solution that provides trust indicators for system processes. For example, associating physical sensor data with an attestation failure could quantify the impact of an unauthorized change to a physical process. Data fusion could also contribute to effective automated recovery methods due to the understanding of physical system state. Moreover, as additional data sources and indicators are ingested, an autonomic decision engine could orchestrate process continuity actions cooperatively with the manually-developed rulesets deployed in this research. This would enable the mitigation of anomalous events that fall outside the parameters of the defined ruleset.
This research has sought to validate the computational speed of the
virtualization approach in the context of soft real-time applications. Ad-
ditional testing and tuning will be performed to maximize performance.
Due to the diversity of operational technology systems, experiments and
pilots involving environments of various scales and operational require-
ments should be performed to explore the breadth of applicability of the
proposed programmable logic controller virtualization approach.

References

[1] F. Armknecht, A. Sadeghi, S. Schulz and C. Wachsmann, A security
framework for the analysis and design of software attestation, *Proceedings of the ACM SIGSAC Conference on Computer and Communications Security*, 2013.

[2] J. Cervini, A. Rubin and L. Watkins, A containerization-based backfit approach for industrial control system resiliency, *Proceedings of the IEEE Symposium on Security and Privacy Workshops*, pp. 246-252, 2021.

[3] T. Cruz, P. Simoes and E. Monteiro, Virtualizing programmable logic controllers: Toward a convergent approach, *IEEE Embedded Systems Letters*, vol. 8(4), pp. 69-72, 2016.

[4] T. Dawson, Who were the leading vendors of industrial controls in 2017? Interact Analysis, Raunds, United Kingdom (int.eractanalysis.com/who-were-the-leading-vendors-of-indus.trial-controls-in-2017), November 2018.

[5] A. Francillon, Q. Nguyen, K. Rasmussen and G. Tsudik, A minimalist approach to remote attestation, *Proceedings of the Design, Automation and Test in Europe Conference and Exhibition*, 2014.

[6] S. Fujita, K. Hata, A. Mochizuki, K. Sawada, S. Shin and S. Hosokawa, OpenPLC-based control system testbed for PLC whitelisting, *Artificial Life and Robotics*, vol. 26(1), pp. 149-154, 2021.

[7] H. Ghaeini, M. Chan, R. Bahmani, F. Brasser, L. Garcia, J. Zhou, A. Sadeghi, N. Tippenhauer and S. Zonouz, PAtt: Physics-based attestation of control systems, *Proceedings of the Twenty-Second International Symposium on Research in Attacks, Intrusions and Defenses*, pp. 165-180, 2019.

[8] O. Givehchi, J. Imtiaz, H. Trsek and J. Jasperneite, Control-as-a-service from the cloud: A case study for using virtualized PLCs, *Proceedings of the Tenth IEEE Workshop on Factory Communication Systems*, 2014.
[9] M. Salehi and S. Bayat-Sarmadi, PLCDefender: Improving remote attestation techniques for PLCs using a physical model, *IEEE Internet of Things Journal*, vol. 8(9), pp. 7372-7379, 2021.

[10] A. Seshadri, A. Perrig, L. van Doorn and P. Khosla, SWATT: Software-based attestation for embedded devices, *Proceedings of the IEEE Symposium on Security and Privacy*, pp. 272-282, 2004.

[11] tpm2-software community, Remote attestation (tpm2-software.github.io/tpm2-tss/getting-started/2019/12/18/Remote-Attestation.html), December 18, 2019.