Skip to content

Commit 027e94b

Browse files
SidFaberkyrofa
andauthored
Refresh from upstream (#2)
* Add vulnerability remediation procedure Signed-off-by: Sid Faber <[email protected]> * Add hint to check package.xml to find maintainer Also two minor formatting updates Signed-off-by: Sid Faber <[email protected]> * Add minutes for 24 Nov 2020 meeting Signed-off-by: Sid Faber <[email protected]> * Clarify G-Turtle simulation goal Link the reference implementation to ros2/sros2#130. Also a few minor grammar updates. Signed-off-by: Sid Faber <[email protected]> * Minor wording changes Signed-off-by: Sid Faber <[email protected]> * Add meeting minutes for 15 Dec 2020 Signed-off-by: Sid Faber <[email protected]> * Fix bad date in meeting minutes Co-authored-by: Kyle Fazzari <[email protected]>
1 parent 92fef04 commit 027e94b

File tree

5 files changed

+145
-8
lines changed

5 files changed

+145
-8
lines changed

meetings/2020_11_24/README.md

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
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

meetings/2020_12_15/README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# ROS 2 Security Working Group Meeting Minutes
2+
15 Dec 2020
3+
4+
Meeting Recording (TBD) | [Meeting Announcement](https://discourse.ros.org/t/ros-security-wg-breakout-meeting-invited-talk-on-privaros/17848)
5+
6+
## Agenda
7+
8+
This meeting was an invited talk on _Privaros: A Framework for Privacy-Complaint Delivery Drones._
9+
10+
## Attendees
11+
12+
**Presenters:** Abhishek Vijeev, Rakesh Beck and Vinod Ganapathy
13+
14+
Chinmay Gameti,
15+
Daniel Jeswin,
16+
Gianluca Caiazza,
17+
[Jeremie Deray](https://github.com/artivis),
18+
Maninderpal Singh,
19+
[Marco Gutierrez](https://github.com/marcoag),
20+
Prakhar Kumar,
21+
[Roger Strain](https://github.com/roger-strain),
22+
[Ruffin White](https://github.com/ruffsl),
23+
[Sid Faber](https://github.com/sidfaber)
24+
25+
## Discussion
26+
27+
The presenters discussed motivations behind the development of Privaros, which is MAC (Mandatory Access Control) policy enforcement for drones. See the [whitepaper](ccs2020.pdf) and the [presentation slides](ccs2020_slides.pdf). Information from the talk can be found at the [Privaros whitepapter web site](https://www.csa.iisc.ac.in/~vg/papers/ccs2020/).

meetings/2020_12_15/ccs2020.pdf

1.48 MB
Binary file not shown.
4.23 MB
Binary file not shown.

vuln-remediation.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Vulnerability Remediation
22

3-
This document describes the typical process for remediating security vulnerabilies in ROS 2, including those submitted through the process described in [REP 2006, ROS 2 Vulnerability Disclosure Policy](https://www.ros.org/reps/rep-2006.html).
3+
This document describes the typical process for remediating security vulnerabilies in ROS 2, including those submitted through the process described in [REP 2006, ROS 2 Vulnerability Disclosure Policy](https://www.ros.org/reps/rep-2006.html).
44

55
## Roles
66

@@ -24,7 +24,7 @@ These roles generally align with standard definitions in [The CERT Guide to Coor
2424

2525
This process begins with a vulnerability report sent to [[email protected]](mailto:[email protected]).
2626

27-
1. **Assign a Coordinator.** Members of the `security` distribution list must reach consensus on the individual to take ownership of the issue. OpenRobotics will assign a Coordinator when consensus cannot be reached.
27+
1. **Assign a Coordinator.** Members of the `security` distribution list must reach consensus on the individual to take ownership of the issue. Open Robotics will assign a Coordinator when consensus cannot be reached.
2828

2929
1. **Triage.** The Coordinator must quickly determine the severity of the vulnerability. The Coordinator should perform some or all of these tasks to accurately triage the vulnerability and begin handling the vulnerablity:
3030

@@ -47,13 +47,13 @@ This process begins with a vulnerability report sent to [[email protected]
4747
> [Sign the email with the PGP key]
4848
>
4949
50-
1. **Coordinator registers a CVE.** Seek help from the [ROS 2 security working group](https://github.com/ros-security/community#communication-channels) if necessary to reserve the CVE. The reserved CVE should not include any detailed information; this will be added after disclosure. All subsequent communications should include the CVE numnber for traceability.
50+
1. **Coordinator registers a CVE.** Seek help from the [ROS 2 Security Working Group](https://github.com/ros-security/community#communication-channels) if necessary to reserve the CVE. The reserved CVE should not include any detailed information; this will be added after disclosure. All subsequent communications should include the CVE number for traceability.
5151

5252
1. **Remediation**
5353

5454
1. **Maintainer fixes the vulnerability.** Work should be done locally as much as possible; when the fix is pushed to github the fix becomes visible to the public even though the patch has not been released to users. The final pull request for the fix should include a reference to the CVE in comments for traceability.
5555

56-
1. **Coordinator tracks to completion.** This likely will mean periodic update requests to the Maintainer until the Maintainer publishes a fix. Seek assistance from the Security WG if needed.
56+
1. **Coordinator tracks to completion.** This likely will mean periodic update requests to the Maintainer until the Maintainer publishes a fix. Seek assistance from the Security Working Group if needed.
5757

5858
1. **Coordinator plans for vulnerability disclosure.** For high risk vulnerabilities or fixes with significant impact, create a communications plan for patch release and full disclosure. The plan should take input from the Maintainer and the Reporter.
5959

@@ -72,15 +72,15 @@ This process begins with a vulnerability report sent to [[email protected]
7272

7373
### Identifying the Maintainer
7474

75-
If the Maintainer of the vulnerable package is not well known, review recent activity for the package. Contact pull request approver(s) to find a responsible person.
75+
If the Maintainer of the vulnerable package is not well known, check for a <maintainer> tag in the package's `package.xml` file. Also review recent activity for the package, and contact a recent pull request merger to find a responsible person.
7676

7777
### Requesting information from the Reporter
7878

7979
Reporters may have a wealth of additional details about the vulnerability which they are willing to share when asked. Consider requesting some or all of the following:
8080

8181
- Operating system
8282
- ROS distro
83-
- ROS package
83+
- ROS package and ROS package version
8484
- Robot that you were testing
8585
- How to reproduce the issue
8686
- Do you have / can you provide a git patch to fix the issue?
@@ -101,5 +101,3 @@ Individuals added to the distribution list must adhere to the following principl
101101
- You must be able to take ownership of reported vulnerabilities and act as the Coordinator through remediation. When high risk vulnerabilities are reported, this means vulnerability coordination becomes your highest priority until a fix is released.
102102
- You must reach out to the Security Working Group or individual members of the Working group when you need assistance in handling vulnerability reports.
103103
- You must be able and willing to handle PGP-encrypted email.
104-
105-

0 commit comments

Comments
 (0)