# Analyzing Cyber-Physical Threats on Robotic Platforms +
## 4 Risk Assessment of the Robotic Platform
### Attack Analysis
#### Analysis of Availability Attacks  
Figure 7 represents the attack tree of the loss of availability. In this paper, the focus is on analyzing attacks targeting vulnerabilities specific to the robot system applications, as indicated by the rectangles with the bold borders in Level 3. Attacking network bandwidth and system resources are not discussed in this paper as they were fully covered in our previous work [10]. The first (i.e., upper) path from Level 4 in the attack tree in Figure 7, which affects the application resources, exploits the fact that port 7272 is always open on the robot. The client (MobileEyes) uses this port to connect to armServer, as mentioned in Section 3. This can be used by an attacker to implement a TCP SYN flood by sending a TCP SYN requests to the robot (server in this case) and not responding to the SYN-ACK of the robot. This consumes robot's resources and legitimate traffic gets lost making the robot unavailable to the client. The cyber-physical consequences of having the robot unavailable are discussed in Section 4.3. The second (i.e., middle) path from Level 4 in the attack tree, which causes loss of availability relies on RAT. First, a MITM attack is used to manipulate the traffic. As long as the attacker can intercept the traffic between the robot and the client, he/she can send modified commands to change configuration files (i.e., parameter files mentioned in Section 3.1.2) on the robot and the client. Alternatively, the attacker can install a malware or a virus on the robot or the client to overwrite the parameter files. In the last (i.e., lower) attack path from Level 4 in Figure 7, the attacker can also use a tool like RAT to drop all or some of the commands between the robot and the client, so that functions of the attacker's choice are rendered unavailable. The algorithmic steps for both the integrity and availability attacks, which are performed through the RAT tool, are shown in Algorithm 1. Prior to running the RAT, an attacker should be able to successfully perform a MITM attack. After which, the RAT tool sniffs the packets streamed over the network. Based on the direction of the traffic (robot to client and client to robot ), the RAT tool accepts five states that indicate the type of the attack, which are assigned to a variable named as **State**. The first fours states represent integrity attacks, and the last one represents an availability attack. These states are described as follows:* States of integrity attacks:
* mirror: Reverse the direction of the movement of the robot; change right command to left, and left command to right. * send_to_position: Replace any command by a command that forces the robot to go to a certain position of the attacker's choice. * circulate: Replace any command by a command that forces the robot to circulate in one direction (left). * fake_position: Modify robot position sent to the client. * State of an availability attack:
* availability_attack: Drop the packets in any direction between the client and the robot rendering the robot unavailable. ```
1:procedureMan-in-the-middle Attack
2:State \(\leftarrow\{mirror,send\_to\_position,circulate,fake\_position,availability\_attack\}\)
3:Sniff packet
4:if packet from client to robotthen
5:if State is mirrorthen
6:if\"command is turn right packet\"then
7: replace the TCP.payload by \"turn left\" payload. 8:if\"command is turn left packet\"then
9: replace the TCP.payload by \"turn right\" payload.