Skip to main content

SECURITY VERIFICATION IN ROS - svROS

Verification of security in robotic systems is one of the most difficult tasks from the standpoint of software development, as it might lead to a variety of loose ends. However, it has been shown how security hyperproperties, in particular Observational Determinism, can be verified by resorting to the use of formal methods.

Using formal frameworks for verification, such as Alloy, requires a significant level of expertise, which a common ROS developer does not possess. In addition, no state-of-art tool contemplates techniques to formally verify security in ROS2, which naturally motivates the study considered within the scope of this dissertation.

Therefore, a verification tool was developed, named Security Verification in ROS (svROS), which focuses on abstracting formal verification approaches, to provide a less-formal, easier to use, solution to verify OD in ROS2 system applications. To check the correctness of a ROS application behaviour in respect to OD, it is necessary to specify how the system behaves atomically in each node. For this, the tool incorporates a specification language that is more user-friendly than Alloy and, it enables the specification of intra-node operations, in respect to the publish-subscribe paradigm.

svROS supports the following capabilities:

  • Source code fetching from ROS2 application packages.
  • Reverse engineering methods to infer an architecture topology from the extracted code.
  • Generation of configuration file templates, to allow a ROS developer to easily configure its application network.
  • Methods to translate the system configuration into a model in Alloy, to later perform the verification of OD.
  • A domain specific language to specify the intra-node behaviour of a ROS application, and methods to translate such specifications into Alloy.

You can find the full documentation here.

HAROS - The High-Assurance ROS Framework

A lot of work done here was based on using already existent procedures from HAROS to ROS2. HAROS is a notable framework for quality assurance of ROS-based code, mostly based on static analysis, which makes use of various plugins to extend its functionality.


INSTALL AND USE

svROS functionalities was compacted into a single python package and can be easily installed using the python package installer pip.

pip install svROS

After installing, see the Quick Reference to the see the tool's commands and usage instructions.

Enjoy! (ง ͡❛ ͜ʖ ͡❛)ง

Metadata

Release files for svROS 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for svROS 1.0.1
File Size Uploaded Provenance Actions
svROS-1.0.1.tar.gz 79.2 MB Without provenance Details for svROS-1.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for svROS 1.0.1
File Interpreter ABI Platform Actions
svROS-1.0.1-py3-none-any.whl Python 3 none any Details for svROS-1.0.1-py3-none-any.whl

Total release size: 158.5 MB

Release files / svROS-1.0.1.tar.gz

Download URL svROS-1.0.1.tar.gz
Size 79.2 MB
Tags Source
SHA-256 checksum
How to use checksums
8dd47a95b4d10463764a4a64a86c15ef7d4dd5abcfb96b4e4cc6ba46458d5d6c
BLAKE2b-256 checksum
How to use checksums
ab9e50f20323a802a3bda221515780b2de3436954cf2f935a499d6fd46f85f62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.8

Release files / svROS-1.0.1-py3-none-any.whl

Download URL svROS-1.0.1-py3-none-any.whl
Size 79.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
3272fdce152d8466d649d8b363178b5e64fea1366405604180f1a8c3a4d6eb74
BLAKE2b-256 checksum
How to use checksums
017a6064ea171ad89948b1b76ed9fb4a7965bb9b57aae121049519175758037d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.8

Security for svROS 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page