-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add minutes for 24 Nov 2020 meeting #9
Merged
Merged
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
# ROS 2 Security Working Group Meeting Minutes | ||
24 Nov 2020 | ||
|
||
[Meeting Recording](https://youtu.be/7ZJidRtTqXI) | [Meeting Announcement](https://discourse.ros.org/t/security-wg-meeting/17519) | ||
|
||
|
||
## Agenda | ||
|
||
- Administrivia: future meeting minutes | ||
- G-turtle goals | ||
- MoveIt2 security use case | ||
- 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) | ||
- [Galactic Roadmap](https://index.ros.org/doc/ros2/Roadmap/#id2) | ||
- sros2 quality status: any comments? | ||
- ROS2 secure launch and access control | ||
- [RMF](https://osrf.github.io/ros2multirobotbook) as a use case, see the [demo](https://github.com/osrf/rmf_demos) | ||
- Revoking keys | ||
|
||
## Attendees | ||
[Iker Luengo Gil](https://github.com/IkerLuengo), | ||
[Jacob Hassold](https://github.com/jhdcs), | ||
[Jaime Martin Losa](https://github.com/JaimeMartin), | ||
[Jeremie Deray](https://github.com/artivis), | ||
[Kyle Fazzari](https://github.com/kyrofa), | ||
[Marco Gutierrez](https://github.com/marcoag), | ||
[Mikael Arguedas](https://github.com/mikaelarguedas), | ||
[Ruffin White](https://github.com/ruffsl), | ||
[Sid Faber](https://github.com/sidfaber) | ||
|
||
|
||
## Administrivia | ||
|
||
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. | ||
|
||
The [vulnerability remediation procedure PR](https://github.com/ros-security/community/pull/8) is still open for comments. | ||
|
||
|
||
## G-Turtle goals | ||
|
||
Five open items could become part of our G-Turtle deliverables: | ||
|
||
### Reference implementation with MoveIt | ||
|
||
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. | ||
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. | ||
This also becomes a proving ground for NoDL. | ||
|
||
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). | ||
|
||
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. | ||
|
||
### Enable DDS security without a file system | ||
|
||
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. | ||
|
||
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. | ||
|
||
### [sros2 quality](https://github.com/ros2/sros2/issues/217) | ||
|
||
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. | ||
|
||
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. | ||
|
||
A discussion also ensued on the current status of [answers.ros.org](https://answers.ros.org/questions/). | ||
|
||
### Permissions file size | ||
|
||
Mikael has been working on uglifying the permissions files. Work on this continues. | ||
|
||
### Integration test failures | ||
|
||
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. | ||
|
||
### Conclusion | ||
The WG will focus on the following primary items for G-turtle: | ||
|
||
- A reference implementation of security | ||
- Improving sros2 quality through documentation updates | ||
|
||
The WG will also continue working on the following items: | ||
|
||
- Design input for running ROS without a file system | ||
- Reducing permission file size / complexity | ||
- Fixing test failures | ||
|
||
## Open Discussion | ||
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. | ||
|
||
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. | ||
|
||
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). | ||
|
||
## References | ||
More information about items that were discussed: | ||
- [Vulnerability remediation procedure PR](https://github.com/ros-security/community/pull/8) | ||
- [sros2 quality](https://github.com/ros2/sros2/issues/217) | ||
- [Failures in test_security](https://github.com/ros2/system_tests/issues/446) | ||
- [Secure launch_ros PR 180](https://github.com/ros2/launch_ros/pull/180) | ||
- [The Robotics Middleware Framework (RMF)](https://github.com/osrf/rmf_demos) | ||
- [RMF: Programming multiple robots with ROS 2](https://osrf.github.io/ros2multirobotbook/) | ||
- [FastDDS and CRLs](https://fast-dds.docs.eprosima.com/en/latest/fastdds/security/auth_plugin/auth_plugin.html#generating-the-certificate-revocation-list-crl) | ||
|
||
## Open action items | ||
|
||
- 2020/09/22: [Test failures on test_security](https://github.com/ros2/system_tests/issues/446) | ||
- 2020/06/09 (sid): Draft guidance for vendors on how to create a vulnerability disclosure policy. | ||
|
||
Closing the following items as this work is actively in progress: | ||
|
||
- 2020/09/22: Kyle/Mikael to add an issue for uglifying permissions files | ||
- 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. | ||
- 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 |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One thing mentioned in the last meetings and that I'd like us to look into is the ability of having configurable 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. This doesn't scale well (or makes sense) for real systems. Tracking ticket and past work on the topic available at ros2/sros2#130
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added to the "reference implementation" goal in a6e2e0e--as I understood the conversation, we need a good implementation with some complexity before we can begin configuring topic-level security.