こんにちは、ひろかずです。
前回に引き続き、CODE BLUE 2017のDAY2をレポートします。
お品書き
"商用ホワイトボックス暗号方式" に対する "鍵回復攻撃"
LG vs. Samsung スマートTV: あなたを追跡できるのはどちら?
インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上
国産IT資産管理ソフトウェアの(イン)セキュリティ
=== 今回はここから ===
OSSによる自動車の自動運転化
=== ここまで ===
OSSによる自動車の自動運転化
ジョージ・ホッツ - George Hotz -
jailblake
車に何を求める?(搭載されていない機能機能で)
なんでやるの?
- ゲーム愛
車のネットワーク
- 大量のケーブルがある
- PCMやCAN-BASとか,Ethernetがあるものもある
- インターネットに大量のリポジトリ(一日$10とか)
- techinfo..com
- CANはバスなので全てのノードが受信する。Ethernetと同じ
- CANは11bitの識別子でノードを識別できる
- データは8bit
panda(interface)
- ほとんどの車についているドングルELM327(安価)
- Amazonでも買える
- CAN-BUSのデータを全て読むことができない
- もっといいものを作った(それがpanda)
giraffe(honda)
- もっと深いところにあるCAN-BUSにある情報を取れる
- タッピングツール
- BUSに流れる物は全て取れる
opendbc
- 標準的なAPI(アクティブ、パッシブ両方ある)
- リバースエンジニアリングしたものはより読みやすくなっている
自動車が持っていない機能は自動運転
求めているAPIは、何処に言ってといえば言ってくれる自動運転
- APIでアクセスペダルでスピードコントロールできる
- APIでブレーキをコントロールできる(ブレーキランプを使わないこともできる(!))
- APIでステアリングトルクをコントロールできる
リバースエンジニアリングには、静的、動的の分析手法があり、両方を使った
- cabanaというツールを使った
- pandaが全てのAPIを取得している
- 収集した情報を機械学習して分析
- ステアリングに沿った形で角度APIが変わる
- Githubにつながっているので、自分のopendbcにアップロードできる。
- pythonライブラリが用意されている
- Java Scriptバージョンも予定されている
- ブラウザベースで自動運転ができるかも
データについて(トヨタの場合)
- ブレーキと加速は同じコマンドで動いている
openpilot
- Githubに公開されている
- どうやって動作させるか?
- 32bitプロセス
- 携帯電話ケースを使う(携帯電話のプロセッサはパワフル。自動車内全部を合せても)
- Androidはグラフィックドライバがイケてないので、フォークしてNEOSを作った
- ssh, tmux, bash!
openpilotは何をする?
- ECUをエミュレートする
Acura ILX EPS ファームウェア
- 結構強く暗号化している
- maxトルクを上げるのにリコンパイルしなくていい。テーブルを変えるだけ。
- チェックサムは良くない
データシートにmemory readが!
- pandaを繋いでファームウェアをダンプしてみた
- 16bitの暗号鍵が必要だった
- 0000000000000000
- 本当?
- ISO14229準拠だった
TOYOTAの場合($72000のプリウス)
- Toyota crypt 300 challenge
- 4つある
- sboxがある
- 典型的な暗号analysisを使用した
ゲームのおわり
- 脱獄は、初めはapp storeにしかなかった
- XBMC(xbox media center)は10年前のスマートテレビだった
- まだ続いている
- もっと車のサポートが必要
- プルリクエストがまだ来ている
- slackもあるよ!
- 長いチームが勝利する
- スマホは2年で入れ替わるが、車は9年乗る
- 車の脱獄ができれば、これは長期的な勝利!
質疑応答
合法ですか?
- 国による
- 安全性は、定義している(ドライバーがすぐにコントロールを取り返すことができる。指二本、べダル操作ですぐ戻る。急展開しない。)
- 過去に訴えられたこともある
- 過去の判例では合法
アメリカの街並みに対応しているかもしれないけど、街並みが全然違うヨーロッパ対応にどれくらいかかりそう?
- レベル4の自動運転車を出荷されているが、私たちはまだ時間はかかりそう
- 運転の経験はそんなに変わらない。規則の問題ではない。
- データではなく、コードがすべて。
人間より優れていない点は?
- すべて
- 囲碁は時間をかけて人間を超えた。自動運転もそう。
- メッシュネットワークやアクティブレーダーコントロールは意味がない
- すべての車にV2Bを積めばやり取りは出来るが、ほとんどのことはローカルで高速で行われる
夜間のテストはやってる?
- もちろん。むしろ夜のほうが調子がいい
- 少なくとも高速道路では、白線がハイライトされるから調子がいい
- 雪道や雨などのテストもフィードバックされている
歩行者は?
- アクティブテストも重ねるのがいい
自動運転の未来は?
- 標識や信号が視認できなくても、自動運転のほうがより良く認識することができるようになると思う。
所感
未来を感じる内容でした。
ここまでオープンにできているとは驚きです。
今日はここまでです。
お疲れさまでした。