Your SlideShare is downloading. ×

Hacking Robotics
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Hacking Robotics

282
views

Published on

This presentation is about robotics cyber security. …

This presentation is about robotics cyber security.
Kernel/VM IPAセキュリティキャンプ・フォーラム出張版で発表した資料です。

Published in: Engineering

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
282
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ロボットのハッキング 出村 賢聖 @ken_demu
  • 2. 高校2年生です。 生活支援ロボットの研究開発を行っています。
  • 3. NII (国立情報学研究所) SIGVerse Project Developer
  • 4. D.K.T. というロボット教育団体の代表 を務めています。
  • 5. 背景 セキュリティキャンプ 2014 全国大会 ● Raspberry pi の IDS https://github.com/kendemu/embeddids ● 家具インジェクション ファービーちゃん、 Roomba のハッキング
  • 6. 世界で最も人気のオープンソース ロボットミドルウェア /OS
  • 7. Robot Operating System の特徴 ・可視化ツール ・メッセージ送信( IPC ) ・豊富なパッケージ ・並列プログラミング /  クラスタリング ・画像 /PointCloud 処理 ・ロボットモデリング /  シミュレーション ・クロスプラットフォーム ・動作計画 / ナビゲーション ・ P2P 通信アーキテクチャによる  プログラミングの拡張性 .etc
  • 8. 疑問 ROS はセキュアなのか
  • 9. ROS Technical Overview ・メッセージ送信はメッセージ型が簡単に  指定できる XML-RPC(HTTP ベース ) ・普段は TCP 上を流れる、設定すれば UDP も ・プロセスのネームシステムである Master が  サービスクライアントの管理を行う   http://wiki.ros.org/ROS/Technical%20Overview
  • 10. 1. サービスが Master に Name を登録する 2. サービスが Master に他のサービスを問い合わせる 3. サービスが他のサービスとの TCP/IP 通信を確立する 4. サービスと他のサービスが通信ヘッダを交換する 5. サービスがシリアル化されたメッセージを要求する 6. 他のサービスがシリアル化されたメッセージで応答する Node( プロセス / サービス ) の通信
  • 11. 通信暗号化については? 資料見当たらず
  • 12. 実験: パケットキャプチャしてみた
  • 13. 協力 ロボットのセキュリティについて一緒に実験をしてく れた じとめすきー 氏 ありがとうございます!
  • 14. 背景 Intel Edison に Debian 入れて config 弄ったら 壊れた (Intel つくば本社で壊してひんしゅく )
  • 15. ネタになりました
  • 16. テスト環境 Gazebo Simulator with Turtlebot http://qiita.com/kendemu/items/f915c7c2498b04e097cc
  • 17. Node のネットワーク図
  • 18. 結果: XML-RPC が生で流れていた
  • 19. ROS の通信の I/O Graph( 赤)
  • 20. ROS の XML-RPC パケットの長さ
  • 21. テスト環境2 :Roomba
  • 22. Node のネットワーク図
  • 23. Follow TCP Stream
  • 24. モータ制御命令が丸見え
  • 25. 何が可能か / まずいか 1. パケット改ざんで遠隔操作が可能 2. パケットの改ざん方法   TCPスプーフィングを行う 3. 最近のロボットはクラウド AI/アプリ連携等  インターネットにつながるものが多い→  ネットワークセキュリティが弱いことは現代のロボット  では致命的な問題
  • 26. 解決策 SSH,IPSec,SLL/TLSで暗号化 問題:ロボットの制御には遅い → 高速暗号化プロトコルが必要 ※IPSecや VPNでは生パケットに比べ 6倍以上の 速度差がある http://d.hatena.ne.jp/nori_no/20100919/1284875253 ※ROSの XML-RPCパケット長は計測結果 400~600バイトくらい (496±99.8バイト ) 
  • 27. 結論 ROS 自体のセキュリティは弱い
  • 28. 付録: Pepper の Reverse Engineering( 合法(草) )
  • 29. Pepper をクロス開発でなく 本機でソフトウエア開発したい 通常だとこの GUI プログラミングソフトだけ ※ Pepper には NaoqiOS という 独自 LinuxOS が入っています
  • 30. Nmapepper: Pepper ポートスキャン ftp, ssh, http, teradataordbms, hydap サービスがポートオープン
  • 31. SSH が遅い ...... と思っていると MicroUSB と Ethernet を発見!
  • 32. MicroUSB を Pepper に繋ごう!
  • 33. tty で Pepper にログイン gcc/g++, openni,opencv,gdb,wget,pulseaudio 入っている X 環境 , パッケージマネージャーはありません
  • 34. 擬似パッケージマネージャー: Pepper に git を入れよう Make 入っていなかったのでビルドできず泣
  • 35. まとめ Pepper は多分本機でソフトウエア開発可能 Pepper は改造しやすい → パワフルなロボットになる