# A Survey on Machine-Learning Based Security Design for Cyber-Physical Systems
## 3 Taxonomy of Cyber-Physical Attacks
### Application Layer
#### 3.3.1 Application Software Attack  
An application software attack generates faulty results for service requests from the physical system layer, which then provides faulty services to CPS users and faulty commands to computation resource-limited physical systems. When faulty operational commands are injected into the physical systems, this causes the defective control of the physical system, which the CPS user does not intend.  
Application software attacks are implemented by various methods including false code execution [80] and backdoor attacks [81]. False code execution, where the attacker installs malicious software in the computing system, returns false control commands and services to the physical system layer and the CPS user. The Stuxnet attack [82], which damaged an Iranian nuclear facility, BlackEnergy malware [20], which caused a massive power outage by damaging a Ukrainian power plant, and Triton [83], which triggered the fail-safe mode of a Saudi Arabian petrochemical plant, are typical application software attacks achieved with false code injection. Furthermore, the German railway infrastructure system was encrypted by the Wannacry ransomware, resulting in some failures of railway system components [84]. Backdoors, which access the computing system without a legitimate certification process, can also induce the malfunction of CPS applications. For example, object identification application for autonomous vehicles can be damaged by backdoors [85]; for example, modifying the training dataset related to traffic signs. Furthermore, a backdoor-based attack manipulates the setting of the applications, such as neural network parameters, resulting in the degradation of the safety-critical functions of the CPS, such as an emergency stop for an autonomous vehicle [81].  
From the perspective of physical dynamics, an application software attack is represented as a fault in an actuation process (2). The modification of memory related to the state estimation process and the control input calculation process under the application software attack involve the manipulation of the observer gain \(L\) and controller gain \(K\), respectively. When the observer gain \(L\) and controller gain \(K\) in the actuating process (2) are replaced to stabilize physical dynamics (1), even though the network layer and physical system layer are legitimate, the physical state \(x(t)\) diverges to infinity.  
Figure 5: Cyber-physical attacks in the network layer.  
In [86], the authors consider two application software attacks: one disables the feedback control software, and the other replaces legitimate control software with malicious software in order to destabilize a helicopter system. A controller gain change attack is considered in [87], which maliciously modifies the control gain in the control software, crashing a drone system.  
Although eavesdropping cannot directly damage the computing system, the side-channel attack [88, 89], which is advanced eavesdropping, can resemble an application software attack. For well-encrypted computing systems, the side-channel attack decrypts data related to the security of the computing system and attempts to find code execution information in the hardware, such as memory and the CPU, where the discovered hardware execution information can be used to configure malicious application software with reverse-engineering techniques. As an example of a typical side-channel attack, the cache-side attack periodically flushes a specific location in cache memory and eavesdrops on traces of the target processes [90]. From the eavesdropped traces, the attacker can decrypt the encryption policies of the computing system and can reconfigure malicious CPS applications to make the physical system unstable.