cmoullec
29 April 2020
Canonicalはロボティクス(ロボット工学)の未来に向けた取り組みを行っています。昨年にはRobot Operating Systemバージョン2(ROS 2)のTechnical Steering Committeeに加盟し、またUbuntuにおいても、エンタープライズグレードかつ業界最先端のセキュリティ施策の基盤を構築することに注力しています。当社のJoe McManusがROS 2 Security Working Groupを牽引していますが、今後はこの2つの取り組みを結びつけられることに大きな期待を寄せています。
Canonicalでは、Linuxをベースとすることでロボットをより安価に開発し、より柔軟に短期間で市場投入でき、管理が容易で、セキュリティがより強固であると確信しています。ROSは10年以上前に学術的なプロジェクトとして開始しましたが、今ではLinuxで動作するロボットを作る際の最も一般的なミドルウェアに成長しました。これまで、オープンソースの力を活かした共同作業によってロボティクスが直面する複雑な問題を数多く解決してきました。ROSの開発者コミュニティは拡大し続け、商用利用や対応するロボットの数も増えています。こうした動きに応えるため、ROSコミュニティはROSのコードベースを完全にオーバーホールし、ROS 2の配布を開始しました。
ROS 2の可能性
ROS 2では、ROS 1の柔軟性を維持したまま、そのコアでセキュリティを実現するために欠かせない技術が追加されています。この技術の大部分はROS開発者にとって理解しやすいものです。詳細については以前の投稿にまとめられています。
ROSのセキュリティに関する取り組みのうち、Canonicalが主導するものには下記が含まれます。
- 各ノードの構成、および他ノードとの通信方法を記述するためのノードインターフェイス定義言語を作成しています。この定義言語を使うことで、ROS開発者は設計時にアクセス制御を定義し、実行時に適用して監視することができます。最終的には、スイッチを押すように簡単にROS 2のセキュリティ機能を有効化できるようになります。
- ROSコードリポジトリをCoverityでスキャンし、ソースコードの欠陥や脆弱性を識別しています。
- ROS向けの脆弱性公開ポリシーを作成しています。
- Capture The Flag(旗取りゲーム)のシナリオを構築することで、セキュリティのレッドチーム(演習)プレイヤーのロボティクスセキュリティへの参画を促すと同時に、ROSコードベースの動的なアプリケーションのセキュリティテストを行っています。
ロボティクスのセキュアな未来のために
Canonicalは、ROSのオープンソースコミュニティが持つ独創性から常に刺激を受けており、これからもROS 2のセキュリティ機能の成熟に貢献できることを嬉しく思います。そして今後はエコシステムへと発展し、セキュリティがスイッチのOn/Offのように簡単なものになることを確信しています。コミュニティへ参加をご希望の方はhttps://discourse.ros.org/tag/wg-securityで、月次ミーティングに関する通知の受信設定ができます。