2017.12.11
新刊『カーハッカーズ・ハンドブック』は12/22発売!
「Make:」書籍チームが企画・制作を行った書籍を紹介します。
●書籍紹介
本書は、複雑な電子機器とコンピュータシステムを備えた現代の自動車が、どのような仕組みで動作しているかを、より深く知りたい読者(ハッカー)のための書籍です。自動車の脅威モデルの紹介にはじまり、CANバスをはじめとしたさまざまなバスネットワークを解説、さらにCANバスのリバースエンジニアリングを行います。そしてECUをハッキングするための基礎的な知識と具体的なハッキングの手法も紹介。車載インフォテイメントシステムや車車間通信についても解説した上で、そこまでに紹介した方法を用いて発見した脆弱性を攻撃するツールを実際に作成。攻撃のリスクや問題点に対する充分な知識を得た上で、読者がそれらに対応することを可能にします。
●書籍概要
Craig Smith 著、井上 博之 監修、自動車ハッククラブ 訳
2017年12月22日 発売予定
B5変形判/312ページ
ISBN978-4-87311-823-9
定価3,456円
●「はじめに」から
なぜ、自動車ハッキングはすべての人々にとって良いのか
この本を手にしている読者なら、すでになぜ車をハックするのかわかっているだろう。しかし念のため、ここで自動車をハッキングすることの意味について簡単に述べたい。
自分の車がどのように動作するのかを理解する
自動車産業は、複雑な電子機器とコンピュータシステムを備えた素晴らしい車を大量に生産している。しかし、何がそのシステムをうまく動かしているのかについて提供されている情報はわずかだ。車載ネットワークがどのように動作するのか、また車両システム内およびその外部とどのように通信するのかを理解することで、診断や問題点のトラブルシュートをより良くできるようになるだろう。
車載電子システムの動作を学ぶ
車の進化とともに、機械的に動作する部分は減り、電子的に動作する部分が増えている。残念ながら車載電子システムは、ディーラの整備士を除いて、一般には典型的なクローズドシステムである。ディーラが一個人の知りうる情報より多くの情報にアクセスしている一方で、自動車メーカ自身は部品を外注し、問題を診断するためには独自のツールを必要としている。車載電子システムがどのように動作するかを学ぶことは、その障害を回避するための手助けとなる。
自動車を改造する
車載通信を理解することは、燃費の改善やサードパーティ製の代替部品の利用のような改良につながる。通信システムを理解していれば、パフォーマンスを表示する追加のディスプレイや工場出荷の標準品と同等に統合されたサードパーティの部品への交換など、自分の車に他のシステムをシームレスに導入できる。
説明書にない機能を見つける
車は、説明書にはない、あるいは無効にされている機能を備えていることがある。それらの機能を見つけて活用すれば、自分の車の隠された機能を最大限に利用できる。例えば、説明書にはないバレーモードがあって、駐車係に車のキーを渡す前に車の機能を制限するモードにできるかもしれない。
自分の車のセキュリティを確認する
本書の執筆時点で、自動車安全ガイドラインは悪意のある電子的な脅威を取り扱っていない。車はパソコンと同様にマルウェアの影響を受けやすい状態にもかかわらず、自動車メーカは車両の電子機器のセキュリティ監査を要求されていない。この状況はまったく受け入れがたい。私たちはこのような車に家族や友人を乗せてドライブしており、私たち一人一人が自分たちの車を安全だと納得できる必要がある。もし自分の車をどのようにハッキングするか学べば、車両のどこが脆弱かがわかり、予防措置をとることが可能になる。また、より安全なセキュリティ標準のために良い提言ができるようになるだろう。
自動車産業を助ける
自動車産業も本書に含まれている知識から利益を得られる。本書は、現在の保護技術を回避する最新のテクニックだけでなく、脅威を特定するためのガイドラインも提供する。さらに、セキュリティ対策を施すための設計を助けるとともに、本書では、自分たちが発見したものを研究者同士で共有する方法を提案する。
今日の車は、以前よりずっと電子的にできている。IEEE Spectrumのレポート“This Car Runs on Code”(ロバート・N・キャレット著)によれば、2009年の時点で車両は一般的に、100個以上のプロセッサ、50個以上の電子制御ユニット、8キロメートル以上の配線、そして1億行のプログラムで作られている(http://spectrum.ieee.org/transportation/ systems/this-car-runs-on-code)。トヨタのエンジニアは、車両にホイールを付けた唯一の理由はコンピュータを地面に擦らせないようにするためだ、という冗談を言っているくらいだ。車にとってコンピュータシステムが不可欠な存在になればなるほど、セキュリティレビューを行うことはより重要で複雑になってくる。
●目次
本書の出版に寄せて
謝辞
はじめに
1章 脅威モデルの理解
アタックサーフェースの探索
脅威モデル
脅威の識別
脅威評価システム
脅威モデルの結果を使った取り組み
まとめ
2章 バスプロトコル
CANバス
SAE J1850プロトコル
キーワードプロトコルとISO9141-2
LINプロトコル
OSTプロトコル
FlexRayバス
車載イーサネット
OBD-IIコネクタのピン配置図
OBD-III規格
まとめ
3章 SocketCANによる車載通信
CANデバイスと接続するためのcan-utilsのセットアップ
CANユーティリティ集
SocketCANアプリケーションのコーディング
socketcandデーモン
Kayak
まとめ
4章 診断とロギング
故障診断コード
統合診断サービス
診断モードの総当たり調査
イベントデータレコーダのログ
自動クラッシュ通知システム
悪意のある行動
まとめ
5章 CANバスのリバースエンジニアリング
CANバスの場所の特定
can-utilsとWiresharkによる CANバス通信のリバースエンジニアリング
ICSimによるバックグラウンドトラフィックノイズの生成
OpenXCによる CANバスの解析
CANバスのファジング
問題が起きた時のトラブルシューティング
まとめ
6章 ECUハッキング
フロントドア攻撃
J2534: 標準化された車両通信 API
J2534ツールの利用
KWP2000と古いプロトコル
フロントドアアプローチの活用 : Seed-Keyアルゴリズム
バックドア攻撃
エクスプロイト
自動車のファームウェアのリバースエンジニアリング
自己診断システム
ライブラリ関数
パラメータ特定のためのバイト比較
WinOLSによる ROMデータの特定
コード解析
単純な逆アセンブラの動作
対話型逆アセンブラ
まとめ
7章 ECUテストベンチの構築と利用
基本的な ECUテストベンチ
より高度なテストベンチの構築
車速のシミュレーション
まとめ
8章 ECUや他の組込みシステムへの攻撃
回路基板の解析
JTAGやシリアル線を使ったハードウェアのデバッグ
ChipWhispererを使ったサイドチャネル解析
電力解析攻撃によるセキュアブートローダの総当たり調査
フォルトインジェクション
まとめ
9章 車載インフォテイメントシステム
アタックサーフェース
アップデートシステムを利用した攻撃
IVIハードウェアへの攻撃
インフォテイメントのテストベンチ
テスト用の自動車メーカ製 IVIの取得
まとめ
10章 車車間通信
車車間通信の方式
DSRCプロトコル
セキュリティ上の懸念
PKIベースのセキュリティ対策
まとめ
11章 攻撃ツールの作成
C言語によるエクスプロイトの作成
ターゲットの車種の特定
エクスプロイトに対する責任
まとめ
12章 SDRを用いた無線システムへの攻撃
無線システムとSDR
TPMSのハッキング
キーフォブとイモビライザへの攻撃
まとめ
13章 パフォーマンスチューニング
パフォーマンスチューニングのトレードオフ
ECUチューニング
スタンドアロンエンジンの管理
まとめ
付録A 市販のツール
付録B 診断コードのモードとPID
付録C 自分たちのOpen Garageを作ろう
略語集
索引
監修者あとがき