Skip to content
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

Adds ROS2_SecTest Proposal #235

Open
wants to merge 2 commits into
base: gh-pages
from

Conversation

Projects
None yet
4 participants
@ryanewel
Copy link
Contributor

commented May 16, 2019

This adds a proposed package to test ROS2 Security Vulnerabilities.

The package is meant to build on the work from the ROS2 Threat Model and provide a place for the ROS2 community to collect code that can be used to “attack” ROS 2 applications.

adds ros2_sectest proposal
Signed-off-by: Ryan Newell <ryanewel@amazon.com>

@tfoote tfoote added the in progress label May 16, 2019

@ryanewel

This comment was marked as resolved.

Copy link
Contributor Author

commented May 16, 2019

Output from running: ./node_modules/remark-cli/cli.js --frail articles/

articles/010_why_ros2.md: no issues found
articles/020_ros_with_dds.md: no issues found
articles/030_ros_with_zeromq.md: no issues found
articles/040_stories.md: no issues found
articles/050_ros_rpc_design.md: no issues found
articles/055_ros_parameter_design.md: no issues found
articles/060_ros_middleware_interface.md: no issues found
articles/080_ros_documentation_system.md: no issues found
articles/100_ament.md: no issues found
articles/101_build_tool.md: no issues found
articles/110_interface_definition.md: no issues found
articles/111_mapping_dds_types.md: no issues found
articles/112_generated_interfaces_cpp.md: no issues found
articles/114_generated_interfaces_python.md: no issues found
articles/120_realtime_background.md: no issues found
articles/121_realtime_proposal.md: no issues found
articles/130_ros_time.md: no issues found
articles/140_topic_and_service_name_mapping.md: no issues found
articles/141_static_remapping.md: no issues found
articles/142_idl.md: no issues found
articles/143_legacy_interface_definition.md: no issues found
articles/200_migration_guide_from_ros1.md: no issues found
articles/actions.md: no issues found
articles/changes.md: no issues found
articles/discovery_and_negotiation.md: no issues found
articles/node_lifecycle.md: no issues found
articles/qos.md: no issues found
articles/ros2_sectest.md: no issues found
articles/ros2_threat_model.md: no issues found
articles/serialization.md: no issues found
Show resolved Hide resolved articles/ros2_sectest.md Outdated
Show resolved Hide resolved articles/ros2_sectest.md Outdated

SROS helps to prevent some attacks (unauthorized actor should not be able to read or write topic data. However, SROS may be disabled either accidentally, by an attacker or due to technical limitations (SROS overhead is unacceptable, etc.).

As a consequence, we make the assumption that it is helpful to implement attacks for vulnerabilities which could be mitigated by SROS.

This comment has been minimized.

Copy link
@dirk-thomas

dirk-thomas May 16, 2019

Member

Without enabling security ROS (2) is by design open. So I am not sure how helpful it is to enumerate all the possible ways you can "attack" it. Obviously you can read all transmitted data, send arbitrary custom data, call every service / action with arbitrary input, etc.

This comment has been minimized.

Copy link
@ryanewel

ryanewel May 17, 2019

Author Contributor

That's fair, I think this package could add value when developers are looking to move from an open ROS system to one with more closed permissions. The goal is that this package would give concrete and verifiable examples of the scenarios listed in the threat model and demonstrate how to mitigate them.

This comment has been minimized.

Copy link
@thomas-moulard

thomas-moulard May 17, 2019

Collaborator

Some attacks are independent of whether or not SROS 2 is enabled. Either because they e.g. attack another aspect (resources) or because SROS 2 may not protect against it (DoS?).

Maybe it's better to rephrase it this way?

@ryanewel ryanewel force-pushed the ryanewel:gh-pages branch from 913bac7 to 67d394d May 17, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.