『カーハッカーズ・ハンドブック ―車載システムの仕組み・分析・セキュリティ』2017/12/22
Craig Smith (著), 井上 博之 (監修), 自動車ハッククラブ (翻訳)
複雑な電子機器とコンピュータシステムを備えた現代の自動車が、どのような仕組みで動作しているかを、より深く知りたい読者(ハッカー)のための本です。
CANバスをはじめとした、さまざまなバスネットワークを解説した上で、CANバスのリバースエンジニアリングを行ったり、ECUをハッキングするための基礎的な知識と具体的なハッキングの手法も紹介してくれたりするという、すごく実践的な『カーハッカーズ・ハンドブック』です。正直言って、こんな内容のものを、たった3200円+税で発売していいの? とビビッてしまいました(色々な意味で)。
内容は完全に「カーハッカー」向けのもので、自動車やITの知識のない方が読むと、内容がほとんど理解できないレベルのものだと思います。例えば、私自身はIT知識については、かなりあるほうだと思いますが、自動車の知識はあまりないので、そもそも「CANバス」って何? レベルでした。なので……このハンドブックがあっても、自動車のハッキングなど到底出来そうもありません(汗)。私と同程度のレベルの方のために、遅ればせながら、ここで簡単な用語解説をさせていただきます。
・CAN:製造業や自動車産業で使用されるシンプルなプロトコル。近代的な車両は、CANプロトコルを使用した通信ができる小さな組込みシステムや電子制御ユニット(ECU)を持っている。
……な、なるほど。CANって、自動車に使われているプロトコルのことだったんだ。
そして、車両の内部ネットワークと通信する診断リンクコネクタ(OBD-Ⅱコネクタ)は、ステアリングコラムの下やダッシュボードなどにあり、CAN接続箇所を見つける方法としては、「安定時の電圧が2.5Vなので、ケーブルに沿って探すと簡単に見つけられる。(中略)CANの配線は車両内を通り、ECUと他のセンサとの間を接続しており、常に2線1対の配線となっている」のだとか。
な、なるほど……(冷や汗)。こんな感じで、すごく具体的な解説があるのですが、そもそも私程度の実力で「カーハッキング」なんかをやった日には、車が暴走を始めそうで怖いので、絶対にやることはないと思います。それでも自動車も、ただの「巨大な組込みシステム」に過ぎないんだなーということだけは痛感させられました。
「5章 CANバスのリバースエンジニアリング」では、「タコメータの値の読み取り」などの方法が解説されていますが、もちろん次のような注意書きもありました。
「作業中は、車両は広い場所に駐車したうえでサイドブレーキをかけ、できればブロックやローラーの台の上に載せておく。記録を開始し、エンジンの回転数を適当に上げる。次に記録を停止させて、データを再生する。(後略)」
カーハッキングは、危険が伴いますので、実際に作業を行う場合は、くれぐれも慎重に行ってください。
なお巻末には、カーハッキングを行う際に役に立つ「市販のツール」などの紹介もあり、これもすごく参考になると思います。「Arduino」や「Rasberry Pi」、「Wireshark」、「Linux」など、「組込みシステム」の勉強に役立つものは、カーハッキングにも役立つようです。
電子工作や自動車、ITがすごーく好きな方にとっては、興味深い記述満載の本だと思います。特に、自動車製造・整備の仕事をなさっている方には、仕事にも活かせる内容なのではないでしょうか。読んでみてください。
最後に、「監修者あとがき」の「まとめ」がとても素晴らしかったので、以下に紹介させていだだきます。
「自動車は、複雑な組込みシステムであり、広域ネットワークや周辺にあるデバイスと通信を行うIoTシステムでもある。自動車は人やものを運ぶ機械だが、自動運転の機能が実現された時、お互いを認識し、それが状況判断を行うようなコンピュータシステムの一部となりセンサのひとつとしても動作するようになる。コンピュータとネットワークの技術はますます進化し、自動車を含む身近なものがどんどんつながり協調動作をするようになってきており、この流れはさらに速くなっていくと思われる。今後、外部ネットワークとのやりとりや、乗員とのやりとり、遠隔からの支援や自動運転などが普及するにつれて、本書で触れられている内容はますます重要な技術となっていくだろう。」
* * *
なお社会や科学、IT関連の本は変化のスピードが速いので、購入する場合は、対象の本が最新版であることを確認してください。
<Amazon商品リンク>