Abstract
Technology advances in computing power, big data, artificial intelligence and com munications have encouraged governments to adopt initiatives like smart cities and in dustry 4.0. As new technologies become pervasive in modern societies, all this progress brings significant challenges in security and privacy for individuals and governments at different scales. Cyber-Physical Systems (CPS) are at the core of all these modern technologies. CPS combines networked computing systems that control physical processes and can be found in different sizes, from a smart pacemaker to power grids. A subset of CPS — Industrial Control Systems — attracts the particular interest of sophisticated attackers because they control critical infrastructures, and societies profoundly depend on their reliability and continuous operation. The cyber part of CPS makes them susceptible to cyber-attacks. Recently, we have seen how cyber-attacks have increased their sophistication. Most infamous cyber-attacks include a sewage control system in Australia [SM07], a nuclear enrichment facility in Iran [Zet14], the power grid of Ukraine [Che17], a steel mill in Germany [LAC14], a paper mill in Louisiana [AP17], and oil systems in the Middle-East [Joh+17]. All these attacks have something in common; the attacker exploits components in the cyber part of the CPS to affect conditions in the physical part of the system. CPS security is a new field of study that has attracted academic communities like computer science, systems engineering and control theory. Security testing is especially challenging in CPS due to the lack of access to real-world CPS to researchers and the scarcity of testing environments. In this work, we focus on expanding the knowledge of security testing of CPS, pre senting new methods and tools for model-based security testing. We present a mod elling approach in which expressiveness allows us to model cyber and physical be haviours by separated. We present the modelling approach from an applied perspec tive, explaining how to build the models with full knowledge of the system and partial knowledge. We also present methods from static program analysis applied to the CPS context and show how we use data-flow and information-flow analyses to the security evaluation of CPS. Applications like risk assessment, attack detection and automatic attack generation complement the theoretical views of our research and demonstrate that these methods can be applied to realistic scenarios.