Skip to main content

Security Verification in ROS

Project description

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! (ง ͡❛ ͜ʖ ͡❛)ง

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

svROS-0.1.0.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

svROS-0.1.0-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

File details

Details for the file svROS-0.1.0.tar.gz.

File metadata

  • Download URL: svROS-0.1.0.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for svROS-0.1.0.tar.gz
Algorithm Hash digest
SHA256 87f019d4590a992a6a06679cf6bb373f1d4f791a33662b54d2ea8e7fb7b54cbc
MD5 c758cc4689b715e61e9965402ccc7d9c
BLAKE2b-256 0095f2672affec1725f491a95f30b55bee9b503df3ea444fd27188def151392c

See more details on using hashes here.

File details

Details for the file svROS-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: svROS-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for svROS-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0aedd91206f79dde3fe3ce3d183b77e055da87a640e348f094c8e82f098830f3
MD5 82f2dd7c39fdc147ff99a8d4e89dbb4f
BLAKE2b-256 ce3adbe17a464afc16af775051b0f1b04e4d6a68d867f29198abe7240f968bff

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page