IP Library Granted Patent US 12,506,769
Granted Patent B2
US 12,506,769 · App. 18/169,045 · Granted Dec 23, 2025

Virtualization-based controller for industrial control system resiliency

Inventors: Dane G. Fichter (Ellicott City, MD); James D. Cervini (Waxhaw, NC)
Assignee: The Johns Hopkins University
H04L63/1441G06F9/45558H04L63/0442H04L63/1416G06F2009/45587G06F2009/45595
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,506,769
App. No.
18/169,045
Filed
Feb 14, 2023
Granted
Dec 23, 2025
Kind
B2
Art Unit
2494
USPC
726/23
Abstract

Disclosed herein are method, computing device, and computer-readable medium embodiments for providing system resiliency in an Industrial Control System (ICS) having an operational technology (OT) network. An orchestration engine can determine a security alert indicating a security attack against an affected controller, and instruct a virtualization server to instantiate a virtual controller performing the set of functions performed by the affected controller. The orchestration engine can quarantine the affected controller by disabling the set of connections between the affected controller, the orchestration engine, and the set of operational components. The orchestration engine can route communication traffic of the communication network intended for the affected controller to the virtual controller, and enable the virtual controller to control operations of the set of operational components of the OT network that were controlled by the affected controller.

Claims (79)

1 . A method comprising:

determining, by an identification, protection, and detection (IPD) framework, a security alert indicating a security attack against an affected controller, the affected controller being coupled through a set of connections including a digital connection to an orchestration engine through which digital signals are transmitted and connections to a set of operational components of an operational technology (OT) network including an analog connection to another controller of the OT network through which analog signals are transmitted, and the affected controller being configured to perform a set of functions for the set of operational components, the OT network comprising a plurality of operational components coupled by a communication network;

instructing, by the orchestration engine, a virtualization server to instantiate a virtual controller performing the set of functions performed by the affected controller;

quarantining, by the orchestration engine, the affected controller by disabling the set of connections including the digital connection and the analog connection between the affected controller, the orchestration engine, and the set of operational components;

routing, by the orchestration engine, communication traffic of the communication network intended for the affected controller to the virtual controller; and

enabling, by the orchestration engine, the virtual controller to control operations of the set of operational components of the OT network that were controlled by the affected controller.

2 . The method of claim 1 , further comprising:

determining, after the affected controller has been quarantined, that the affected controller is safe with respect to the security attack;

re-enabling the set of connections between the affected controller, the orchestration engine, and the set of operational components;

disabling the virtual controller from being able to control the operations of the set of operational components; and

re-enabling the affected controller to control the operations of the set of operational components.

3 . The method of claim 1 , wherein the virtual controller is managed by a hypervisor managed by the virtualization server.

4 . The method of claim 1 , wherein the set of connections includes at least a digital communication connection and the analog connection.

5 . The method of claim 4 , wherein the quarantining the affected controller comprises disabling the set of connections between the affected controller, the orchestration engine, and the set of operational components based on software-defined networking rules to control the digital communication connection and the analog connection.

6 . The method of claim 1 , wherein the set of operational components of the OT network includes a sensor, a generator, a frequency drive, an actuator, a valve, a lighting device, a surveillance, a human machine interface, or a functional device.

7 . The method of claim 1 , wherein the affected controller is a first affected controller, the virtual controller is a first virtual controller, and the method further comprises:

determining a second security alert indicating a second security attack against a second affected controller, the second affected controller being coupled through a second set of connections to the orchestration engine and a second set of operational components of the OT network and performing a second set of functions for the second set of operational components;

instructing the virtualization server to instantiate a second virtual controller performing the second set of functions performed by the second affected controller;

quarantining the second affected controller by disabling the second set of connections between the second affected controller, the orchestration engine, and the second set of operational components;

routing communication traffic of the communication network intended for the second affected controller to the second virtual controller; and

enabling the second virtual controller to control operations of the second set of operational component of the OT network that were controlled by the second affected controller.

8 . The method of claim 1 , further comprising:

performing attestation of the virtual controller and the virtualization server based on a predetermined cryptographic key for the virtualization server before routing the communication traffic intended for the affected controller to the virtual controller.

9 . The method of claim 8 , wherein:

the predetermined cryptographic key is an endorsement key that is an asymmetric key uniquely determined for a trusted platform module (TPM) of the virtualization server, and

the performing attestation of the virtual controller and the virtualization server comprises registering the virtualization server and the virtual controller with the orchestration engine based on the endorsement key along with an attestation identity key (AIK) pair including an AIK public key and an AIK private key.

10 . The method of claim 9 , wherein the registering the virtualization server and the virtual controller with the orchestration engine comprises:

sending, by the orchestration engine, a registration request message to register the virtualization server and the virtual controller;

receiving the AIK public key generated by the TPM of the virtualization server and signed by the endorsement key; and

receiving a reference hash from the virtualization server,

wherein the reference hash is produced using a plurality of platform configuration registers (PCRs) within the TPM, and

wherein the plurality of PCRs includes a first portion of PCRs corresponding to an identification of hardware for the TPM and a second portion of PCRs corresponding to a system file of the virtual controller generated by the virtualization server.

11 . The method of claim 10 , wherein, after the registering the virtualization server and the virtual controller with the orchestration engine, the performing attestation of the virtual controller and the virtualization server further comprises:

sending an attestation request message to the virtualization server, the attestation request message comprising a random nonce and an identification of the second portion of the plurality of PCRs corresponding to the virtual controller; and

receiving an attestation response message including a TPM quote, the TPM quote comprising an updated hash generated based on a current system file of the virtual controller and a copy of the random nonce, and

wherein the TPM quote is signed with a TPM quote signature generated by the AIK private key.

12 . The method of claim 11 , wherein the performing attestation of the virtual controller and the virtualization server further comprises:

determining, using the AIK public key, the TPM quote signature generated by the AIK private key is valid;

determining that the copy of the random nonce included in the TPM quote is valid in comparison with the random nonce; and

determining whether the virtual controller and the virtualization server have been successfully attested based on whether the updated hash included in the TPM quote and received in the attestation response message matches the reference hash.

13 . A computing device comprising:

a memory configured to store a reference hash received from a virtualization server; and

a processor communicatively coupled to the memory and configured to:

send a registration request message to register the virtualization server and a virtual controller generated by the virtualization server;

receive an attestation identity key (AIK) public key, wherein the AIK public key is configured to be generated by a trusted platform module (TPM) of the virtualization server and configured to be signed by an endorsement key that is an asymmetric key uniquely determined for the TPM;

receive the reference hash from the virtualization server, wherein the reference hash is configured to be produced using a plurality of platform configuration registers (PCRs) within the TPM, wherein the plurality of PCRs comprises a first portion of PCRs corresponding to an identification of hardware for the TPM and a second portion of PCRs corresponding to a system file of the virtual controller generated by the virtualization server;

send an attestation request message to the virtualization server, wherein the attestation request message includes a random nonce and an identification of the second portion of the plurality of PCRs corresponding to the virtual controller; and

receive an attestation response message including a TPM quote, wherein the TPM quote includes an updated hash generated based on a current system file of the virtual controller, a copy of the random nonce, and wherein the TPM quote is signed with a TPM quote signature generated by an AIK private key.

14 . The computing device of claim 13 , wherein the processor is further configured to:

determine, using the AIK public key, the TPM quote signature generated by the AIK private key is valid;

determine that the copy of the random nonce included in the TPM quote is valid in comparison with the random nonce; and

determine whether the virtual controller and the virtualization server have been successfully attested based on whether the updated hash included in the TPM quote received in the attestation response message matches the reference hash stored in the memory.

15 . The computing device of claim 13 , wherein, before sending the registration request message to register the virtualization server, the processor is configured to:

determine a security alert indicating a security attack against an affected controller, the affected controller being coupled through a set of connections to an orchestration engine and a set of operational components of an operational technology (OT) network and performing a set of functions for the set of operational components, the OT network comprising a plurality of operational components coupled by a communication network;

instruct the virtualization server to instantiate the virtual controller performing the set of functions performed by the affected controller performs; and

quarantine the affected controller by disabling the set of connections between the affected controller, the orchestration engine, and the set of operational components.

16 . The computing device of claim 15 , wherein, upon a determination that the virtual controller and the virtualization server have been successfully attested, the processor is configured to:

route communication traffic of the communication network intended for the affected controller to the virtual controller; and

enable the virtual controller to control operations of the set of operational component of the OT network that are controlled by the affected controller.

17 . The computing device of claim 16 , wherein the processor is configured to:

determine, after the affected controller has been quarantined, that the affected controller is safe with respect to the security attack;

re-enable the set of connections between the affected controller, the orchestration engine, and the set of operational components;

disable the virtual controller from being able to control operations of the set of operational components; and

re-enable the affected controller to control the operations of the set of operational component.

18 . A non-transitory computer-readable medium having instructions stored thereon that, when executed by a computing device, cause the computing device to perform operations comprising:

determining, by an identification, protection, and detection (IPD) framework, a security alert indicating a security attack against an affected controller, the affected controller being coupled through a set of connections including a digital connection to an orchestration engine through which digital signals are transmitted and connections to a set of operational components of an operational technology (OT) network including an analog connection to another controller of the OT network through which analog signals are transmitted, and the affected controller being configured to perform a set of functions for the set of operational components, the OT network comprising a plurality of operational components coupled by a communication network;

instructing, by the orchestration engine, a virtualization server to instantiate a virtual controller performing the set of functions performed by the affected controller performs;

quarantining, by the orchestration engine, the affected controller by disabling the set of connections between the affected controller, the orchestration engine, and the set of operational components;

routing, by the orchestration engine, communication traffic of the communication network intended for the affected controller to the virtual controller; and

enabling, by the orchestration engine, the virtual controller to control operations of the set of operational components of the OT network that were controlled by the affected controller.

19 . The non-transitory computer-readable medium of claim 18 , wherein the operations further comprising:

determining, after the affected controller has been quarantined, that the affected controller is safe with respect to the security attack;

re-enabling the set of connections between the affected controller, the orchestration engine, and the set of operational components;

disabling the virtual controller from being able to control operations of the set of operational components; and

re-enabling the affected controller to control the operations of the set of operational components.

20 . The non-transitory computer-readable medium of claim 18 , wherein the operations further comprising:

registering, before routing the communication traffic intended for the affected controller to the virtual controller, the virtualization server and the virtual controller with the orchestration engine based on an endorsement key that is an asymmetric key uniquely determined for a trusted platform module (TPM) of the virtualization server along with an attestation identity key (AIK) pair including an AIK public key and an AIK private key; and

performing attestation of the virtual controller and the virtualization server based on the AIK public key and the AIK private key.

21 . The non-transitory computer-readable medium of claim 18 , wherein the quarantining the affected controller comprises disabling the set of connections between the affected controller, the orchestration engine, and the set of operational components based on software-defined networking rules to control the digital communication connection and the analog connection.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2025
From: CERVINI, JAMES D.
To: THE JOHNS HOPKINS UNIVERSITY
Reel/Frame 072547/0657 →
Continuity (1)
Related Publication 20230379353A1 · Nov 23, 2023
References Cited (10)
US 20050149729A1 · Zimmer · 2005 [cited by examiner]
US 20070110245A1 · Sood · 2007 [cited by examiner]
US 20090077413A1 · Dake · 2009 [cited by examiner]
US 20150326589A1 · Smith · 2015 [cited by examiner]
US 20180139099A1 · Amin · 2018 [cited by examiner]
US 20180343237A1 · Wiseman · 2018 [cited by examiner]
US 20200104503A1 · Iwasaki · 2020 [cited by examiner]
US 20240385592A1 · Waltl · 2024 [cited by examiner]
T. Cruz, P. Simões and E. Monteiro, “Virtualizing Programmable Logic Controllers: Toward a Convergent Approach,” in IEEE Embedded Systems Letters, vol. 8, No. 4, pp. 69-72, Dec. 2016, doi: 10.1109/LES.2016.2608418. (Yea… [cited by examiner]
A. F. Piedrahita, V. Gaur, J, Giraldo, A.. A. Cardenas, and S.J. Rueda. “Virtual incident response functions in control systems,” Computer Networks. Apr. 22, 2018;135:147-59. (Year: 2018). [cited by examiner]