You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Also, as part of :program:`ROS2` there is the concept of `ROS_DOMAIN_ID <https://docs.ros.org/en/foxy/Concepts/About-Domain-ID.html>`_.
11
+
Although this concept exists, it should not be confused with a security measure. Each participant in the network can
12
+
easily switch to another ``ROS_DOMAIN_ID`` without authentication or central management. It can be seen as merely a
13
+
local filter.
8
14
9
-
Case 1
10
-
++++++
15
+
An aspect that is often ignored in robotics labs are the physical network topologies, which are important for safety.
16
+
This safety is not only for cybersecurity reasons. Yes, your robot's computer can be attacked if it's exposed. However,
17
+
in development environments, you might inadvertently move someone else's robot. In these scenarios it will be much
18
+
more efficient to physically isolate the robotic setup if many devices in the network can be shared with users with
19
+
varying levels of network understanding.
20
+
21
+
Case 1 - No isolation
22
+
+++++++++++++++++++++
11
23
12
24
A common network architecture in small companies and laboratories is shown below.
13
25
@@ -34,21 +46,24 @@ A common network architecture in small companies and laboratories is shown below
34
46
35
47
In it, each computer and robot is directly connected to the internet. This setup is rather tempting because from the
36
48
point-of-view of the robotics software developer they might want to have as much freedom as possible to develop their
37
-
software as quickly as possible. Depending on the internet services they want to provide, they might even DMZ
49
+
software as quickly as possible. Depending on the internet services they want to provide, they might even `DMZ <https://en.wikipedia.org/wiki/DMZ_(computing)>`_
50
+
or forward ports that give straight access to local computers. That is a huge security concern. If you leave port 22 open,
51
+
it won't take long for someone to try to hack into your machine from somewhere in the world.
38
52
39
53
This setup leads to a high level of risk. As mentioned in the previous section, although you *might* be able to keep
40
54
your computers up-to-date, the same is not usually possible for the robots' control computers. They could have vulnerabilities
41
55
such as unpatched security bugs that will leave them exposed. In addition, the robots' might have been left with their
42
-
original credentials. This means that an attacker could easily ssh into the robot.
56
+
original credentials and network settings, without a firewall. This means that an attacker could easily ssh into the robot.
43
57
44
-
Although from a robotics software developer you might think that they might have little to gain from accessing a robot
58
+
Although from a robotics software developer point-of-view you might think that they might have little to gain from accessing a robot
45
59
computer, that can easily be the first door into any other resource in the network. Just because the computer is attached
46
-
somehow to a robot it does not make it less of a computerjust, usually, easier to exploit.
60
+
somehow to a robot it does not make it less of a computer. It just, usually, makes it easier to exploit the computer.
47
61
48
-
Case 2
49
-
++++++
62
+
Case 2 - Subnet isolation
63
+
+++++++++++++++++++++++++
50
64
51
-
A somewhat better network architecture is shown below, because there is one extra layer of isolation.
65
+
A somewhat better network architecture is shown below, because there is one extra layer of isolation. The main difference
66
+
here is that different parts of the company have their own subnets.
52
67
53
68
.. mermaid::
54
69
@@ -84,8 +99,8 @@ to control the wrong robot arm from a distance. Or, the wrong camera stream is u
84
99
Although ``ROS_DOMAIN_ID`` can help to filter out unwanted messages, it is too easy to set the wrong ``ID``. More importantly,
85
100
it is expected that people with a minimal understanding of networking would isolate their setup further.
86
101
87
-
Case 3
88
-
++++++
102
+
Case 3 - Platform isolation
103
+
+++++++++++++++++++++++++++
89
104
90
105
A possibly sufficient setup for most robotic demonstrators that need isolation is shown below.
91
106
@@ -112,4 +127,7 @@ A possibly sufficient setup for most robotic demonstrators that need isolation i
112
127
junctionCenter2:B -- T:robot2
113
128
junctionCenter2:L -- R:junctionCenter1
114
129
130
+
In this setup, you can imagine each robotic demonstrator having their own, isolated, network. This can be easily
131
+
achieved physically using a `switching hub <https://en.wikipedia.org/wiki/Network_switch>`_. This type of physical isolation
132
+
of interfaces tends to be beneficial in development environments where software infrastructure is often changing.
0 commit comments