| Threat Description |
Threat Category (STRIDE) |
Threat Risk Assessment (DREAD) |
Impacted Assets |
Impacted Entry Points |
Mitigation Strategies |
Similar Attacks in the Litterature |
| Spoofing |
Tampering |
Repudiation |
Info. Disclosure |
Denial of Service |
Elev. of Privileges |
Damage |
Reproducibility |
Exploitability |
Affected Users |
Discoverability |
DREAD Score |
Robot Compute Rsc. |
Physical Safety |
Robot Avail. |
Robot Integrity |
Data
Integrity |
Data
Avail. |
Data
Privacy |
Embedded H/W |
Robot Comm. Channels |
Robot Admin. Tools |
Remote App. Interface |
Deployment Infra. |
|
| Embedded / Software / Communication / Inter-Component
Communication |
| An attacker spoofs a component identity. |
✓ |
✓ |
✘ |
✓ |
✘ |
✓ |
3 |
1 |
1 |
2 |
3 |
10 |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
✘ |
✘ |
✘ |
- Components should authenticate themselves.
- Components should not be attributed similar identifiers.
- Component identifiers should be chosen carefully.
|
Bonaci, Tamara, Jeffrey
Herron, Tariq Yusuf, Junjie Yan, Tadayoshi Kohno, and Howard Jay Chizeck. “To
Make a Robot Secure: An Experimental Analysis of Cyber Security Threats Against
Teleoperated Surgical Robots.” ArXiv:1504.04339 [Cs], April 16, 2015.
|
| An attacker intercepts and alters a message. |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
3 |
3 |
3 |
3 |
3 |
15 |
✘ |
✓ |
✓ |
✓ |
✓ |
✓ |
▲ |
✘ |
✓ |
✘ |
✘ |
✘ |
- Messages should be signed and/or encrypted.
|
Bonaci, Tamara, Jeffrey
Herron, Tariq Yusuf, Junjie Yan, Tadayoshi Kohno, and Howard Jay Chizeck. “To
Make a Robot Secure: An Experimental Analysis of Cyber Security Threats Against
Teleoperated Surgical Robots.” ArXiv:1504.04339 [Cs], April 16, 2015.
|
| An attacker writes to a communication channel without
authorization. |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
3 |
3 |
3 |
3 |
3 |
15 |
✘ |
✓ |
✓ |
✓ |
✘ |
✘ |
✓ |
✘ |
✓ |
✘ |
✘ |
✘ |
- Components should only communicate on encrypted channels.
- Sensitive inter-process communication should be done through shared
memory whenever possible.
|
Bonaci, Tamara, Jeffrey
Herron, Tariq Yusuf, Junjie Yan, Tadayoshi Kohno, and Howard Jay Chizeck. “To
Make a Robot Secure: An Experimental Analysis of Cyber Security Threats Against
Teleoperated Surgical Robots.” ArXiv:1504.04339 [Cs], April 16, 2015.
|
| An attacker listens to a communication channel without
authorization. |
✘ |
✘ |
✘ |
✓ |
✘ |
✘ |
2 |
3 |
3 |
3 |
3 |
14 |
✘ |
✘ |
✓ |
✓ |
✓ |
✓ |
✓ |
✘ |
✓ |
✘ |
✘ |
✘ |
- Components should only communicate on encrypted channels.
- Sensitive inter-process communication should be done through shared
memory whenever possible.
|
Bonaci, Tamara, Jeffrey
Herron, Tariq Yusuf, Junjie Yan, Tadayoshi Kohno, and Howard Jay Chizeck. “To
Make a Robot Secure: An Experimental Analysis of Cyber Security Threats Against
Teleoperated Surgical Robots.” ArXiv:1504.04339 [Cs], April 16, 2015.
|
| An attacker prevents a communication channel from being usable. |
✘ |
✘ |
✘ |
✘ |
✓ |
✘ |
3 |
3 |
3 |
3 |
3 |
15 |
✓ |
▲ |
✓ |
✓ |
✓ |
✓ |
✘ |
✘ |
✓ |
✘ |
✘ |
✘ |
- Components should only be allowed to access channels they
require.
- Internet-facing channels and robot-only channels should be
isolated.
- Components behaviors should be tolerant of a loss of communication
(e.g. go to x,y vs set velocity to vx, vy).
|
Bonaci, Tamara, Jeffrey
Herron, Tariq Yusuf, Junjie Yan, Tadayoshi Kohno, and Howard Jay Chizeck. “To
Make a Robot Secure: An Experimental Analysis of Cyber Security Threats Against
Teleoperated Surgical Robots.” ArXiv:1504.04339 [Cs], April 16, 2015.
|
| Embedded / Software / Communication / Long-Range
Communication (e.g. WiFi, Cellular Connection) |
| An attacker hijacks robot long-range communication |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
3 |
2 |
1 |
3 |
1 |
10 |
✘ |
✓ |
▲ |
✓ |
✓ |
✘ |
✓ |
✘ |
✓ |
✓ |
✓ |
✓ |
- Long-range communication should always use a secure transport layer
(WPA2 for WiFi for instance)
|
Bonaci, Tamara, Jeffrey
Herron, Tariq Yusuf, Junjie Yan, Tadayoshi Kohno, and Howard Jay Chizeck. “To
Make a Robot Secure: An Experimental Analysis of Cyber Security Threats Against
Teleoperated Surgical Robots.” ArXiv:1504.04339 [Cs], April 16, 2015.
|
| An attacker intercepts robot long-range communications (e.g. MitM) |
✘ |
✘ |
✘ |
✓ |
✘ |
✘ |
1 |
2 |
1 |
3 |
1 |
8 |
✘ |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
✘ |
✓ |
✓ |
✓ |
✓ |
- Long-range communication should always use a secure transport layer
(WPA2 for WiFi for instance)
|
Bonaci, Tamara, Jeffrey
Herron, Tariq Yusuf, Junjie Yan, Tadayoshi Kohno, and Howard Jay Chizeck. “To
Make a Robot Secure: An Experimental Analysis of Cyber Security Threats Against
Teleoperated Surgical Robots.” ArXiv:1504.04339 [Cs], April 16, 2015.
|
| An attacker disrupts (e.g. jams) robot long-range communication
channels. |
✘ |
✘ |
✘ |
✘ |
✓ |
✘ |
2 |
2 |
1 |
1 |
3 |
9 |
✘ |
▲ |
✓ |
✘ |
✘ |
✓ |
✘ |
✘ |
✓ |
✓ |
✓ |
✓ |
- Multiple long-range communication transport layers should be used
when possible (e.g. cellular and WiFi)
|
Bonaci, Tamara, Jeffrey
Herron, Tariq Yusuf, Junjie Yan, Tadayoshi Kohno, and Howard Jay Chizeck. “To
Make a Robot Secure: An Experimental Analysis of Cyber Security Threats Against
Teleoperated Surgical Robots.” ArXiv:1504.04339 [Cs], April 16, 2015.
|
| Embedded / Software / Communication / Short-Range
Communication (e.g. Bluetooth) |
| An attacker executes arbitrary code using a short-range communication
protocol vulnerability. |
✘ |
✓ |
✓ |
✓ |
✓ |
✓ |
3 |
2 |
1 |
1 |
3 |
10 |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
✘ |
✘ |
✘ |
✘ |
✘ |
- Communications protocols should be disabled if unused (by using e.g.
rfkill).
- Binaries and libraries required to support short-range communications
should be kept up-to-date.
|
Checkoway,
Stephen, Damon McCoy, Brian Kantor, Danny Anderson, Hovav Shacham, Stefan
Savage, Karl Koscher, Alexei Czeskis, Franziska Roesner, and Tadayoshi Kohno.
“Comprehensive Experimental Analyses of Automotive Attack Surfaces.” In
Proceedings of the 20th USENIX Conference on Security, 6–6. SEC’11.
Berkeley, CA, USA: USENIX Association, 2011. |
| Embedded / Software / Communication / Remote Application Interface |
| An attacker gains unauthenticated access to the remote application interface. |
✓ |
✓ |
✘ |
✓ |
✓ |
▲ |
3 |
3 |
1 |
1 |
3 |
11 |
✓ |
✓ |
✓ |
✓ |
✘ |
✘ |
✘ |
✓ |
✘ |
✓ |
✓ |
✓ |
- Implement authentication and authorization methods.
- Enable RBAC to limit permissions for the users.
|
|
| An attacker could eavesdrop communications to the Robot’s remote application interface. |
✘ |
✘ |
✘ |
✓ |
✘ |
✘ |
1 |
1 |
1 |
1 |
3 |
7 |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
- Communications with the remote application interface should be done over a secure channel.
|
|
| An attacker could alter data sent to the Robot’s remote application interface. |
✓ |
✓ |
✘ |
✓ |
✓ |
▲ |
3 |
3 |
1 |
1 |
3 |
11 |
✓ |
✓ |
✓ |
✓ |
✘ |
✘ |
✘ |
✓ |
✘ |
✓ |
✓ |
✓ |
- Communications with the remote application interface should be done over a secure channel.
|
|
| Embedded / Software / OS & Kernel |
| An attacker compromises the real-time clock to disrupt the kernel RT
scheduling guarantees. |
✘ |
✘ |
✘ |
✘ |
✓ |
✘ |
3 |
2 |
1 |
3 |
2 |
11 |
✓ |
✓ |
✓ |
✓ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
- Hardened kernel (prevent dynamic loading of kernel modules)
- Ensure only trustable kernels are used (e.g. Secure Boot)
- /boot should not be accessible by robot processes
-
[NTP security best practices][ietf_ntp_bcp] should be enforced to ensure no
attacker can manipulate the robot computer clock.
See also [RFC 7384][rfc_7384],
[NTPsec][ntpsec] and
[Emerging Solutions in Time Synchronization Security][emerging_solutions_time_sync_sec].
Additionally, [PTP protocol][ieee_1588_2008] can be considered instead of NTP.
|
Dessiatnikoff, Anthony,
Yves Deswarte, Eric Alata, and Vincent Nicomette. “Potential Attacks on
Onboard Aerospace Systems.” IEEE Security & Privacy 10, no. 4 (July
2012): 71–74.
|
| An attacker compromises the OS or kernel to alter robot data. |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
3 |
2 |
1 |
3 |
2 |
11 |
✘ |
✘ |
✘ |
✓ |
✓ |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
✘ |
- OS user accounts should be properly secured (randomized password or
e.g. SSH keys)
- Hardened kernel (prevent dynamic loading of kernel modules)
- Ensure only trustable kernels are used (e.g. Secure Boot)
- /boot should not be accessible by robot processes
|
Clark, George
W., Michael V. Doran, and Todd R. Andel. “Cybersecurity Issues in
Robotics.” In 2017 IEEE Conference on Cognitive and Computational Aspects of
Situation Management (CogSIMA), 1–5. Savannah, GA, USA: IEEE, 2017.
|
| An attacker compromises the OS or kernel to eavesdrop on robot
data. |
✘ |
✘ |
✓ |
✘ |
✘ |
✘ |
1 |
2 |
1 |
3 |
2 |
9 |
✘ |
✘ |
✘ |
✘ |
✓ |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
✘ |
- OS user accounts should be properly secured (randomized password or
e.g. SSH keys)
- Hardened kernel (prevent dynamic loading of kernel modules)
- Ensure only trustable kernels are used (e.g. Secure Boot)
- /boot should not be accessible by robot processes
|
Clark, George
W., Michael V. Doran, and Todd R. Andel. “Cybersecurity Issues in
Robotics.” In 2017 IEEE Conference on Cognitive and Computational Aspects of
Situation Management (CogSIMA), 1–5. Savannah, GA, USA: IEEE, 2017.
|
| An attacker gains access to the robot OS through its administration
interface. |
✘ |
✓ |
✓ |
✓ |
✘ |
✘ |
3 |
3 |
2 |
3 |
3 |
14 |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
✘ |
✘ |
✘ |
✘ |
✘ |
- Administrative interface should be properly secured (e.g. no
default/static password).
- Administrative interface should be accessible by a limited number
of physical machines.
For instance, one may require the user to be physically co-located with the
robot (see e.g. ADB for Android)
|
|
| Embedded / Software / Component-Oriented
Architecture |
| A node accidentally writes incorrect data to a communication
channel. |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
2 |
3 |
2 |
3 |
3 |
13 |
✘ |
▲ |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
✓ |
✘ |
✘ |
✘ |
- Components should always validate received messages.
- Invalid message events should be logged and users should be
notified.
|
Jacques-Louis
Lions et al. "Ariane S Flight 501 Failure." ESA Press Release 33–96, Paris,
1996.
|
| An attacker deploys a malicious component on the robot. |
✘ |
✓ |
✘ |
✓ |
✘ |
✘ |
3 |
3 |
2 |
3 |
3 |
14 |
✘ |
▲ |
✓ |
✓ |
✓ |
✓ |
✓ |
✘ |
✓ |
✘ |
✘ |
✘ |
- Components should not trust other components (received messages
needs to be validated, etc.).
- Users should not be able to deploy components directly.
- Components binary should be digitally signed.
- Components source code should be audited.
- Components should run with minimal privileges (CPU and memory
quota, minimal I/O and access to the filesystem)
|
Checkoway,
Stephen, Damon McCoy, Brian Kantor, Danny Anderson, Hovav Shacham, Stefan
Savage, Karl Koscher, Alexei Czeskis, Franziska Roesner, and Tadayoshi Kohno.
“Comprehensive Experimental Analyses of Automotive Attack Surfaces.” In
Proceedings of the 20th USENIX Conference on Security, 6–6. SEC’11.
Berkeley, CA, USA: USENIX Association, 2011.
|
| An attacker can prevent a component running on the robot from executing
normally. |
✘ |
✘ |
✘ |
✘ |
✓ |
✘ |
2 |
3 |
2 |
3 |
3 |
13 |
✘ |
▲ |
✓ |
✘ |
✘ |
✓ |
✘ |
✘ |
✓ |
✘ |
✘ |
✘ |
- Components should not be trusted and be properly isolated (e.g. run
as different users)
- When safe, components should attempt to restart automatically when
a fatal error occurs.
|
Dessiatnikoff, Anthony,
Yves Deswarte, Eric Alata, and Vincent Nicomette. “Potential Attacks on
Onboard Aerospace Systems.” IEEE Security & Privacy 10, no. 4 (July
2012): 71–74.
|
| Embedded / Software / Configuration Management |
| An attacker modifies configuration values without authorization. |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
3 |
3 |
3 |
3 |
3 |
15 |
✘ |
▲ |
✓ |
✓ |
✓ |
▲ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
- Configuration data access control list should be implemented.
- Configuration data modifications should be logged.
- Configuration write-access should be limited to the minimum set of
users and/or components.
|
Ahmad Yousef, Khalil, Anas
AlMajali, Salah Ghalyon, Waleed Dweik, and Bassam Mohd. “Analyzing
Cyber-Physical Threats on Robotic Platforms.” Sensors 18, no. 5 (May 21,
2018): 1643. |
| An attacker accesses configuration values without authorization. |
✘ |
✘ |
✓ |
✘ |
✘ |
✘ |
1 |
3 |
3 |
3 |
3 |
13 |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
- Configuration data should be considered as private.
- Configuration data should accessible by the minimum set of users
and/or components.
|
Ahmad Yousef, Khalil, Anas
AlMajali, Salah Ghalyon, Waleed Dweik, and Bassam Mohd. “Analyzing
Cyber-Physical Threats on Robotic Platforms.” Sensors 18, no. 5 (May 21,
2018): 1643.
|
| A user accidentally misconfigures the robot. |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
3 |
3 |
3 |
3 |
3 |
15 |
✘ |
▲ |
✓ |
✓ |
✓ |
▲ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
- Configuration data changes should be reversible.
- Large change should be applied atomically.
- Fault monitoring should be able to automatically reset the
configuration to a safe state if the robot becomes unavailable.
|
|
| Embedded / Software / Data Storage (File
System) |
| An attacker modifies the robot file system by physically accessing
it. |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
3 |
3 |
3 |
3 |
3 |
15 |
✘ |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
✘ |
✘ |
✘ |
✘ |
✘ |
- Robot filesystem must be encrypted.
The key should be stored in a secure enclave (TPM).
- Robot filesystem should be wiped out if the robot is physically
compromised.
|
|
| An attacker eavesdrops on the robot file system by physically accessing
it. |
✘ |
✘ |
✓ |
✘ |
✘ |
✘ |
1 |
3 |
3 |
3 |
3 |
13 |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
✘ |
- Robot filesystem must be encrypted.
The key should be stored in a secure enclave (TPM).
- Robot filesystem should be wiped out if the robot perimeter is breached.
|
|
| An attacker saturates the robot disk with data. |
✘ |
✘ |
✘ |
✘ |
✓ |
✘ |
3 |
3 |
1 |
3 |
3 |
13 |
✘ |
✓ |
✓ |
✓ |
✓ |
✓ |
✘ |
✘ |
✘ |
✘ |
✘ |
✓ |
- Robot components disk quota should be bounded.
- Disk usage should be properly monitored, logged and reported.
- Optionally, components may have the option to run w/o any file system access.
This should be preferred whenever possible.
|
|
| Embedded / Software / Logs |
| An attacker exfiltrates log data to a remote server. |
✘ |
✘ |
✘ |
✓ |
✘ |
✘ |
2 |
2 |
2 |
3 |
3 |
12 |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
✘ |
- Logs should never contain private data.
Log data should be anonymized when needed.
- Logs should be rotated and deleted after a pre-determined retention period.
- Logs should be encrypted in-transit and at-rest.
- Logs access should be ACL protected.
- Logs access should be monitored to enable later audits.
|
|
| Embedded / Hardware / Sensors |
| An attacker spoofs a robot sensor (by e.g. replacing the sensor itself
or manipulating the bus). |
✓ |
✘ |
✘ |
✘ |
✘ |
✘ |
3 |
2 |
1 |
3 |
3 |
12 |
✘ |
✘ |
✘ |
✓ |
✓ |
✘ |
✓ |
✓ |
✓ |
✘ |
✘ |
✘ |
- Sensors should embed an identifier to detect hardware
tampering.
- Components should try to explicitly refer to which sensor ID they
expect data from.
- Sensor data should be signed and ideally encrypted over the
wire.
|
|
| Embedded / Hardware / Actuators |
| An attacker spoofs a robot actuator. |
✓ |
✘ |
✘ |
✘ |
✘ |
✘ |
1 |
2 |
1 |
3 |
3 |
10 |
✘ |
✘ |
✘ |
✘ |
✓ |
✘ |
✓ |
✓ |
✘ |
✘ |
✘ |
✘ |
- Actuators should embed an identifier.
- Command vector should be signed (ideally encrypted) to prevent
manipulation.
|
|
| An attacker modifies the command sent to the robot actuators.
(intercept & retransmit) |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
3 |
2 |
1 |
3 |
3 |
12 |
✘ |
✘ |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
✓ |
✘ |
✓ |
✘ |
- Actuators should embed an identifier.
- Command vector should be signed (ideally encrypted) to prevent
manipulation.
|
|
| An attacker intercepts the robot actuators command (can recompute localization). |
✘ |
✘ |
✓ |
✘ |
✘ |
✘ |
1 |
2 |
1 |
3 |
3 |
10 |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✓ |
✓ |
✘ |
✘ |
✘ |
✘ |
- Command vector should be encrypted.
|
|
| An attacker sends malicious command to actuators to trigger the
E-Stop |
✘ |
✘ |
✘ |
✘ |
✓ |
✘ |
2 |
2 |
3 |
3 |
1 |
11 |
✘ |
✓ |
✓ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
- If a joint command is exceeding the joint limits, a specific code
path for handling out-of-bounds command should be executed instead of triggering the
E-Stop.
Whenever safe, the command could be discarded and the error reported to the user for
instance.
|
|
| Embedded / Hardware / Auxilliary Functions |
| An attacker compromises the software or sends malicious commands to
drain the robot battery. |
✘ |
✘ |
✘ |
✘ |
✓ |
✘ |
2 |
3 |
3 |
3 |
3 |
14 |
✘ |
✘ |
✓ |
✘ |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
- Per-node CPU quota should be enforced.
- Appropriate protection should be implemented to prevent actuators
from over-heating.
- If the battery level becomes critically low, the robot should be
able to bring itself to a stop.
|
Dessiatnikoff, Anthony,
Yves Deswarte, Eric Alata, and Vincent Nicomette. “Potential Attacks on
Onboard Aerospace Systems.” IEEE Security & Privacy 10, no. 4 (July
2012): 71–74. |
| Embedded / Hardware / Communications |
| An attacker connects to an exposed debug port. |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
3 |
3 |
3 |
3 |
3 |
15 |
✓ |
✓ |
✓ |
✘ |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
- Close the communication port to external communications or disable the service on non-development devices.
|
|
| An attacker connects to an internal communication bus. |
✓ |
✓ |
✘ |
▲ |
▲ |
▲ |
3 |
3 |
3 |
3 |
3 |
15 |
▲ |
▲ |
▲ |
✘ |
▲ |
▲ |
▲ |
▲ |
▲ |
▲ |
▲ |
▲ |
Limit access to internal communications and buses.
|
|
| Remote / Client Application |
| An attacker intercepts the user credentials on their desktop machine. |
✘ |
✘ |
✘ |
✘ |
✘ |
✓ |
2 |
2 |
2 |
3 |
1 |
10 |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✓ |
✘ |
▲ |
✘ |
✓ |
✘ |
- Remote users should be granted minimum privileges
- Credentials on desktop machines should be stored securely
(secure enclave, TPM, etc.)
- User credentials should be revokable or expire automatically
- User credentials should be tied to the user identity for audit
purposes
|
|
| Remote / Cloud Integration |
| An attacker intercepts cloud service credentials deployed on the
robot. |
✘ |
✘ |
✘ |
✘ |
✘ |
✓ |
2 |
2 |
1 |
3 |
1 |
9 |
✘ |
▲ |
✘ |
✓ |
✘ |
▲ |
✓ |
✘ |
✘ |
✘ |
✓ |
✘ |
- Cloud services should be granted minimal privileges.
- Cloud services credentials should be revokable.
- Cloud services should be audited for abuse / unauthorized
access.
|
|
| An attacker gains read access to robot cloud data. |
✘ |
✘ |
✘ |
✘ |
✘ |
✓ |
2 |
2 |
1 |
3 |
1 |
9 |
✘ |
✘ |
✘ |
✓ |
✘ |
▲ |
✓ |
✘ |
✘ |
✘ |
✓ |
✘ |
- Cloud data stores should encrypt data at rest
|
|
| An attacker alters or deletes robot cloud data. |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
2 |
2 |
1 |
3 |
1 |
9 |
✘ |
▲ |
✘ |
✓ |
✘ |
▲ |
✓ |
✘ |
✘ |
✘ |
✓ |
✘ |
- Cloud data should have proper backup mechanisms.
- Cloud data access should be audited.
If an intrusion is detected, a process to restore the system back to a previous
"uncompromised" state should be available.
|
|
| Remote / Software Deployment |
| An attacker spoofs the deployment service. |
✓ |
✘ |
✘ |
✘ |
✘ |
✘ |
3 |
3 |
2 |
3 |
3 |
14 |
✘ |
✓ |
▲ |
✓ |
✓ |
▲ |
▲ |
✘ |
✘ |
✘ |
✘ |
✓ |
- Deployment service should be authenticated• Communication with
the deployment service should be done over a secure channel.
|
|
| An attacker modifies the binaries sent by the deployment service. |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
3 |
3 |
2 |
3 |
3 |
14 |
✘ |
✓ |
▲ |
✓ |
✓ |
▲ |
▲ |
✘ |
✘ |
✘ |
✘ |
✓ |
- Deployment service should be authenticated• Communication with
the deployment service should be done over a secure channel.
|
|
| An attacker intercepts the binaries sent by the deployment service. |
✘ |
✘ |
✓ |
✘ |
✘ |
✘ |
1 |
3 |
2 |
3 |
3 |
12 |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✓ |
✘ |
✘ |
✘ |
✘ |
✓ |
- Deployment service should be authenticated• Communication with
the deployment service should be done over a secure channel.
|
|
| An attacker prevents the robot and the deployment service from
communicating. |
✘ |
✘ |
✘ |
✘ |
✓ |
✘ |
1 |
3 |
2 |
3 |
3 |
12 |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✘ |
✓ |
|
|
| Cross-Cutting Concerns / Credentials, PKI and
Secrets |
| An attacker compromises a Certificate Authority trusted by the
robot. |
✓ |
✓ |
✘ |
✓ |
✘ |
✓ |
3 |
1 |
1 |
2 |
3 |
10 |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
✘ |
✘ |
✘ |
|
|