Slide 1

Slide 1 text

ROSCon 2019 参加報告 ROS Japan UG #33 ROSCon2019参加報告会 武藤 夏希 (n-muto)

Slide 2

Slide 2 text

最初に... こんな人が参加報告します。 • ROSCon歴 ROSCon JP:2018年、2019年ともに参加 ROSCon :初参加 ・組み込み寄りのエンジニア

Slide 3

Slide 3 text

ROSConのプログラム(大まかに…) Date Day プログラム 10/30 Day 0 Workshop 10/31 Day 1 基調講演、パネルディスカッション、プレゼン、レセプション... 11/1 Day 2 基調講演、パネルディスカッション、プレゼン… →今日の参加報告では、Day 0に開催された ROS 1 & ROS 2 Security Workshopの内容をピックアップ

Slide 4

Slide 4 text

Workshopの紹介 • 今年(2019年)初開催 • Day 0としてROSCon Day 1の前日に開催、時間は14:00-17:00の3時間弱 • 4つのWorkshopが開催 • 各Workshop Webサイトが用意されており、Workshopによっては資料もUpされている https://roscon.ros.org/2019/ のPROGRAMをチェック ※ROSCon登録費とは別に参加費が必要 (Student $50, Non-Student $100) How to use OpenAI baselines to train ROS robots The Future of the ROS Infrastructure Ecosystem Doing real-time with ROS 2: Capabilities and challenges Is your robot secure? ROS 1 & ROS 2 Security Workshop

Slide 5

Slide 5 text

Is your robot secure? ROS1 & ROS2 Security Workshop 【キーワード】 キーワードを並べると... • ROS 2 Threat Model • TurtleBot 3 Demo • SROS2 • Reconnaissance in ROS 2 • launch_ros_sandbox 【Speakers】 Ruffin White(UCSD) Mikael Arguedas Thomas Moulard(AWS Robotics) Víctor Mayoral Vilches(Alias Robotics) https://ros-swg.github.io/ROSCon19_Security_Workshop/

Slide 6

Slide 6 text

ROS 2 Threat Model (What types of security issues can impact your robot: ROS 2 Threat Model) 【内容】 ROS2のThreat Modelについて https://design.ros2.org/articles/ros2_threat_model.html 脅威の例: Attackerがメッセージを傍受して変更する →メッセージを署名 and/or 暗号化する必要がある Attackerがロボットに悪意のあるコンポーネントをデプロイ →コンポーネントは他のコンポーネントを信頼すべきではない コンポーネントは最小限の権限で実行する必要がある、など 信頼境界線 脅威分析、リスク評価

Slide 7

Slide 7 text

TurtleBot 3 Demo (TurtleBot 3 Demo App Presentation) 【内容】 Turtlebot 3のデモを実行 https://github.com/ros-swg/turtlebot3_demo →今回のWorkshop用のリポジトリ(Workshop参加者には事前に共有されていた) →各自のPCに環境を入れて、ハンズオンを実施 →この後のSROS2の紹介などでも使用(リポジトリのREADMEにも紹介/手順あり) Turtlebot3のデモ実行時にrockerを使用 https://github.com/osrf/rocker →Dockerコンテナの実行ツール

Slide 8

Slide 8 text

SROS2 (How to encrypt node-to-node communication using SROS2) 【内容】 ROS 2 DDS-Securityについて https://design.ros2.org/articles/ros2_dds_security.html →SROS2の紹介 Turtlebot3 Demoを使いながら紹介(例:SROS2のCLI) →アクセス制御の紹介 Policy Profileを設定しアクセス制御(例:トピック●●のpublishは許可/拒否) ※SpearkerはROSCon2018でも講演されていた方 Title: Leveraging DDS Security in ROS2“ https://roscon.ros.org/2018/

Slide 9

Slide 9 text

Reconnaissance in ROS 2 【内容】 ロボット向けフットプリンティングツール https://github.com/aliasrobotics/aztarna →Turtlebot3 Demoを使いながら紹介 例:スキャンしROSノードのリストを取得したり、トピック情報を取得したり... 攻撃を軽減するには... -適切なDDSの設定 -SROS2を使用する -コンテナ化 -Virtual Networkで通信を分離

Slide 10

Slide 10 text

launch_ros_sandbox (When encryption is not enough! Robotic Applications and DoS attacks) 【内容】 なぜサンドボックスが必要か? →例:信頼されていないコンポーネント(オープンソース、3rd Partyなど...) launch_ros_sandbox https://github.com/ros-security/launch_ros_sandbox →制限された環境でノードを実行するLaunchファイルを定義 →Turtlebot3 Demoを使いながら紹介(例:CPU使用率の制限) Demo Application lifecycle_manager map_server amcl Gazebo lifecycle_mgr_loc* Controller_server Planner_server recoveries bt_navigator lifecycle_mgr_nav* Compromised node Container B Container A lifecycle_manager map_server amcl Gazebo lifecycle_mgr_loc* Controller_server Planner_server recoveries bt_navigator lifecycle_mgr_nav* Compromised node

Slide 11

Slide 11 text

まとめと感想 • Security Workshopの情報は... https://ros-swg.github.io/ROSCon19_Security_Workshop/ • Workshopは、講演とはまた違った内容 →SecurityのWorkshopはハンズオン(実際に動かしてみたり) →(個人的に)動かすことでより分かった • SpeakerはROSのその分野で詳しい方 →Workshopをきっかけに話は広がるかも?Workshopの間にCoffee Brakeもあり →(個人的に)セキュリティは詳しくないが・・・ 入門的な内容だったので勉強にはなった →参加するのはオススメ!!!(来年もあるかはわからないが)