|
| 1 | +# ROS 2 Security Working Group Meeting Minutes |
| 2 | +24 Nov 2020 |
| 3 | + |
| 4 | +[Meeting Recording](https://youtu.be/7ZJidRtTqXI) | [Meeting Announcement](https://discourse.ros.org/t/security-wg-meeting/17519) |
| 5 | + |
| 6 | + |
| 7 | +## Agenda |
| 8 | + |
| 9 | +- Administrivia: future meeting minutes |
| 10 | +- G-turtle goals |
| 11 | + - MoveIt2 security use case |
| 12 | + - ROS 2 without a file system, [rcl #545](https://github.com/ros2/rcl/issues/545) and [discourse post](https://discourse.ros.org/t/ros-2-without-a-file-system/16942) |
| 13 | + - [Galactic Roadmap](https://index.ros.org/doc/ros2/Roadmap/#id2) |
| 14 | + - sros2 quality status: any comments? |
| 15 | +- ROS2 secure launch and access control |
| 16 | +- [RMF](https://osrf.github.io/ros2multirobotbook) as a use case, see the [demo](https://github.com/osrf/rmf_demos) |
| 17 | +- Revoking keys |
| 18 | + |
| 19 | +## Attendees |
| 20 | +[Iker Luengo Gil](https://github.com/IkerLuengo), |
| 21 | +[Jacob Hassold](https://github.com/jhdcs), |
| 22 | +[Jaime Martin Losa](https://github.com/JaimeMartin), |
| 23 | +[Jeremie Deray](https://github.com/artivis), |
| 24 | +[Kyle Fazzari](https://github.com/kyrofa), |
| 25 | +[Marco Gutierrez](https://github.com/marcoag), |
| 26 | +[Mikael Arguedas](https://github.com/mikaelarguedas), |
| 27 | +[Ruffin White](https://github.com/ruffsl), |
| 28 | +[Sid Faber](https://github.com/sidfaber) |
| 29 | + |
| 30 | + |
| 31 | +## Administrivia |
| 32 | + |
| 33 | +Following a brief discussion, it was decided to move new meeting minutes to the [`ros-security/community` Github reposityr](https://github.com/ros-security/community). Existing meeting minutes in the [ROS wiki](http://wiki.ros.org/ROS2/WorkingGroups/Security) will not be ported. |
| 34 | + |
| 35 | +The [vulnerability remediation procedure PR](https://github.com/ros-security/community/pull/8) is still open for comments. |
| 36 | + |
| 37 | + |
| 38 | +## G-Turtle goals |
| 39 | + |
| 40 | +Five open items could become part of our G-Turtle deliverables: |
| 41 | + |
| 42 | +### Reference implementation with MoveIt |
| 43 | + |
| 44 | +Goal would be to demonstrate "Hey, look, here's an example of a real system that's secured." Although the config may be able to stand on its own, it would be more useful as an example. |
| 45 | +This example will also be useful for us to find issues with the security implementation on a complex system to test: CPU / network utilization, what to sign, what to encrypt, overall impact to the system. |
| 46 | +This also becomes a proving ground for NoDL. |
| 47 | + |
| 48 | +Use this implementation to configure security levels per topic, following the ones supported by DDS-Security: NONE, SIGN, ENCRYPT. Currently SROS2 is all or nothing, either all topics are encrypted or no security feature is used at all. See [Tracking ticket #130, "Provide some granularity for individual topic protection"](https://github.com/ros2/sros2/issues/130). |
| 49 | + |
| 50 | +Simulation may be challenging; a simulated implementation may not quite match the real world implementation. However, we should be able to spec the project in stages. Start simple and build upon the demo. |
| 51 | + |
| 52 | +### Enable DDS security without a file system |
| 53 | + |
| 54 | +The scope of this issue is much wider than just security. Success depends upon buy-in from both the micro-ROS community and from Open Robotics. |
| 55 | + |
| 56 | +The WG agrees to continue to move the discussion forward to flesh out a design, but not to perform any work on the code at this time. |
| 57 | + |
| 58 | +### [sros2 quality](https://github.com/ros2/sros2/issues/217) |
| 59 | + |
| 60 | +Even though a quality upgrade is stalled on dependent package quality levels, we should continue working on improving sros2 quality. The most important work is to improve documentation. |
| 61 | + |
| 62 | +Currently sros2 users aren't using online resources, and they need more / better documentation. The recommended path forward is to add a full section on security to the ROS 2 tutorials. This should build on the examples of the existing tutorials, and demonstrate how to re-do them with security enabled. |
| 63 | + |
| 64 | +A discussion also ensued on the current status of [answers.ros.org](https://answers.ros.org/questions/). |
| 65 | + |
| 66 | +### Permissions file size |
| 67 | + |
| 68 | +Mikael has been working on uglifying the permissions files. Work on this continues. |
| 69 | + |
| 70 | +### Integration test failures |
| 71 | + |
| 72 | +Mikael described the current state of [failures in test_security](https://github.com/ros2/system_tests/issues/446). The WG agreed that these tests should be fixed, although no specific action items were identified. |
| 73 | + |
| 74 | +### Conclusion |
| 75 | +The WG will focus on the following primary items for G-turtle: |
| 76 | + |
| 77 | +- A reference implementation of security |
| 78 | +- Improving sros2 quality through documentation updates |
| 79 | + |
| 80 | +The WG will also continue working on the following items: |
| 81 | + |
| 82 | +- Design input for running ROS without a file system |
| 83 | +- Reducing permission file size / complexity |
| 84 | +- Fixing test failures |
| 85 | + |
| 86 | +## Open Discussion |
| 87 | +ROS launch status: the initial launch is working but does not include access control. The work is in progress, but stalled pending discussions on [launch_ros PR 180](https://github.com/ros2/launch_ros/pull/180). Some comments are suggesting a plugin solution, which would change future PRs. |
| 88 | + |
| 89 | +Marco suggested [the Robotics Middleware Framework (RMF)](https://github.com/osrf/rmf_demos) as a reference implementation for ROS security. This should be ready to run with ROS 2; they have already done some work with security as well. |
| 90 | + |
| 91 | +Marco also asked about revoking keys: there's a need to handle that within RMF should an individual robot in a fleet be physically compromised. Jaime provided [information on CRLs from eProsima](https://fast-dds.docs.eprosima.com/en/latest/fastdds/security/auth_plugin/auth_plugin.html#generating-the-certificate-revocation-list-crl). |
| 92 | + |
| 93 | +## References |
| 94 | +More information about items that were discussed: |
| 95 | +- [Vulnerability remediation procedure PR](https://github.com/ros-security/community/pull/8) |
| 96 | +- [sros2 quality](https://github.com/ros2/sros2/issues/217) |
| 97 | +- [Failures in test_security](https://github.com/ros2/system_tests/issues/446) |
| 98 | +- [Secure launch_ros PR 180](https://github.com/ros2/launch_ros/pull/180) |
| 99 | +- [The Robotics Middleware Framework (RMF)](https://github.com/osrf/rmf_demos) |
| 100 | +- [RMF: Programming multiple robots with ROS 2](https://osrf.github.io/ros2multirobotbook/) |
| 101 | +- [FastDDS and CRLs](https://fast-dds.docs.eprosima.com/en/latest/fastdds/security/auth_plugin/auth_plugin.html#generating-the-certificate-revocation-list-crl) |
| 102 | + |
| 103 | +## Open action items |
| 104 | + |
| 105 | +- 2020/09/22: [Test failures on test_security](https://github.com/ros2/system_tests/issues/446) |
| 106 | +- 2020/06/09 (sid): Draft guidance for vendors on how to create a vulnerability disclosure policy. |
| 107 | + |
| 108 | +Closing the following items as this work is actively in progress: |
| 109 | + |
| 110 | +- 2020/09/22: Kyle/Mikael to add an issue for uglifying permissions files |
| 111 | +- 2020/07/28: Mikael and Ruffin to try and shave size off the perm files and wildcard to optimize, then push upstream. Follow up with a discussion on matrix. See https://github.com/ros-swg/turtlebot3_demo/pull/34#issuecomment-665439493. |
| 112 | +- 2020/05/12: Review [Move security related filesystem and env utilities outside rcl · Issue #545 · ros2/rcl](https://github.com/ros2/rcl/issues/545) and comment |
0 commit comments