Active Fuzzing for Testing and Securing Cyber-Physical Systems
arXiv:2005.14124 · doi:10.1145/3395363.3397376
Abstract
Cyber-physical systems (CPSs) in critical infrastructure face a pervasive threat from attackers, motivating research into a variety of countermeasures for securing them. Assessing the effectiveness of these countermeasures is challenging, however, as realistic benchmarks of attacks are difficult to manually construct, blindly testing is ineffective due to the enormous search spaces and resource requirements, and intelligent fuzzing approaches require impractical amounts of data and network access. In this work, we propose active fuzzing, an automatic approach for finding test suites of packet-level CPS network attacks, targeting scenarios in which attackers can observe sensors and manipulate packets, but have no existing knowledge about the payload encodings. Our approach learns regression models for predicting sensor values that will result from sampled network packets, and uses these predictions to guide a search for payload manipulations (i.e. bit flips) most likely to drive the CPS into an unsafe state. Key to our solution is the use of online active learning, which iteratively updates the models by sampling payloads that are estimated to maximally improve them. We evaluate the efficacy of active fuzzing by implementing it for a water purification plant testbed, finding it can automatically discover a test suite of flow, pressure, and over/underflow attacks, all with substantially less time, data, and network access than the most comparable approach. Finally, we demonstrate that our prediction models can also be utilised as countermeasures themselves, implementing them as anomaly detectors and early warning systems.
Accepted by the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2020)
References in corpus (9)
- Anomaly Detection for a Water Treatment System Using Unsupervised Machine Learning
- A Review of Cybersecurity Incidents in the Water Sector
- Learning from Mutants: Using Code Mutation to Learn and Monitor Invariants of a Cyber-Physical System
- Falsification of Cyber-Physical Systems Using Deep Reinforcement Learning
- Learning-Guided Network Fuzzing for Testing Cyber-Physical System Defences
- Log-based Anomaly Detection of CPS Using a Statistical Method
- An Active Learning Approach to the Falsification of Black Box Cyber-Physical Systems
- Towards Learning and Verifying Invariants of Cyber-Physical Systems by Code Mutation
- Toward `verifying' a Water Treatment System
Cited by in corpus (5)
- Code Integrity Attestation for PLCs using Black Box Neural Network Predictions
- HIFuzz: Human Interaction Fuzzing for small Unmanned Aerial Vehicles
- Finding Causally Different Tests for an Industrial Control System
- Towards Systematically Deriving Defence Mechanisms from Functional Requirements of Cyber-Physical Systems
- Developing a Strong CPS Defender: An Evolutionary Approach