Code integrity attestation for PLCs using black box neural network predictions
Cyber-physical systems (CPSs) are widespread in critical domains, and significant damage can be caused if an attacker is able to modify the code of their programmable logic controllers (PLCs). Unfortunately, traditional techniques for attesting code integrity (i.e. verifying that it has not been mod...
Saved in:
Main Authors: | , , |
---|---|
Format: | text |
Language: | English |
Published: |
Institutional Knowledge at Singapore Management University
2021
|
Subjects: | |
Online Access: | https://ink.library.smu.edu.sg/sis_research/6583 https://ink.library.smu.edu.sg/context/sis_research/article/7586/viewcontent/plc_attestation_esecfse21.pdf |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Singapore Management University |
Language: | English |
id |
sg-smu-ink.sis_research-7586 |
---|---|
record_format |
dspace |
spelling |
sg-smu-ink.sis_research-75862022-01-13T08:26:39Z Code integrity attestation for PLCs using black box neural network predictions CHEN, Yuqi POSKITT, Christopher M. SUN, Jun Cyber-physical systems (CPSs) are widespread in critical domains, and significant damage can be caused if an attacker is able to modify the code of their programmable logic controllers (PLCs). Unfortunately, traditional techniques for attesting code integrity (i.e. verifying that it has not been modified) rely on firmware access or roots-of-trust, neither of which proprietary or legacy PLCs are likely to provide. In this paper, we propose a practical code integrity checking solution based on privacy-preserving black box models that instead attest the input/output behaviour of PLC programs. Using faithful offline copies of the PLC programs, we identify their most important inputs through an information flow analysis, execute them on multiple combinations to collect data, then train neural networks able to predict PLC outputs (i.e. actuator commands) from their inputs. By exploiting the black box nature of the model, our solution maintains the privacy of the original PLC code and does not assume that attackers are unaware of its presence. The trust instead comes from the fact that it is extremely hard to attack the PLC code and neural networks at the same time and with consistent outcomes. We evaluated our approach on a modern six-stage water treatment plant testbed, finding that it could predict actuator states from PLC inputs with near-100% accuracy, and thus could detect all 120 effective code mutations that we subjected the PLCs to. Finally, we found that it is not practically possible to simultaneously modify the PLC code and apply discreet adversarial noise to our attesters in a way that leads to consistent (mis-)predictions. 2021-08-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/6583 info:doi/10.1145/3468264.3468617 https://ink.library.smu.edu.sg/context/sis_research/article/7586/viewcontent/plc_attestation_esecfse21.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Cyber-physical systems programmable logic controllers attestation code integrity checking neural networks adversarial attacks OS and Networks Software Engineering |
institution |
Singapore Management University |
building |
SMU Libraries |
continent |
Asia |
country |
Singapore Singapore |
content_provider |
SMU Libraries |
collection |
InK@SMU |
language |
English |
topic |
Cyber-physical systems programmable logic controllers attestation code integrity checking neural networks adversarial attacks OS and Networks Software Engineering |
spellingShingle |
Cyber-physical systems programmable logic controllers attestation code integrity checking neural networks adversarial attacks OS and Networks Software Engineering CHEN, Yuqi POSKITT, Christopher M. SUN, Jun Code integrity attestation for PLCs using black box neural network predictions |
description |
Cyber-physical systems (CPSs) are widespread in critical domains, and significant damage can be caused if an attacker is able to modify the code of their programmable logic controllers (PLCs). Unfortunately, traditional techniques for attesting code integrity (i.e. verifying that it has not been modified) rely on firmware access or roots-of-trust, neither of which proprietary or legacy PLCs are likely to provide. In this paper, we propose a practical code integrity checking solution based on privacy-preserving black box models that instead attest the input/output behaviour of PLC programs. Using faithful offline copies of the PLC programs, we identify their most important inputs through an information flow analysis, execute them on multiple combinations to collect data, then train neural networks able to predict PLC outputs (i.e. actuator commands) from their inputs. By exploiting the black box nature of the model, our solution maintains the privacy of the original PLC code and does not assume that attackers are unaware of its presence. The trust instead comes from the fact that it is extremely hard to attack the PLC code and neural networks at the same time and with consistent outcomes. We evaluated our approach on a modern six-stage water treatment plant testbed, finding that it could predict actuator states from PLC inputs with near-100% accuracy, and thus could detect all 120 effective code mutations that we subjected the PLCs to. Finally, we found that it is not practically possible to simultaneously modify the PLC code and apply discreet adversarial noise to our attesters in a way that leads to consistent (mis-)predictions. |
format |
text |
author |
CHEN, Yuqi POSKITT, Christopher M. SUN, Jun |
author_facet |
CHEN, Yuqi POSKITT, Christopher M. SUN, Jun |
author_sort |
CHEN, Yuqi |
title |
Code integrity attestation for PLCs using black box neural network predictions |
title_short |
Code integrity attestation for PLCs using black box neural network predictions |
title_full |
Code integrity attestation for PLCs using black box neural network predictions |
title_fullStr |
Code integrity attestation for PLCs using black box neural network predictions |
title_full_unstemmed |
Code integrity attestation for PLCs using black box neural network predictions |
title_sort |
code integrity attestation for plcs using black box neural network predictions |
publisher |
Institutional Knowledge at Singapore Management University |
publishDate |
2021 |
url |
https://ink.library.smu.edu.sg/sis_research/6583 https://ink.library.smu.edu.sg/context/sis_research/article/7586/viewcontent/plc_attestation_esecfse21.pdf |
_version_ |
1770575995765522432 |