藤野の散文-私の暗黙知-

毎日の中での気付きについて書いています

便利を貫くために

車に燃料の電子制御などのコンピューターが搭載されたのは、もう数十年も前の話だが、現代はもう「コンピュータが走らせる動力装置」の様相を呈している。

特に車の根幹であるアクセル、ブレーキ、ステアリング、燃料制御などもコンピュータが行い、それらがなんと「インターネット」に接続されるに至っては、とたんに「他社からの脅威」が問題になってくる。
ここにも「便利の功罪」が出ている格好だが、自動車に限らず、今後「コンピュータそのものを内蔵する動力装置」については同様の問題がどこにでも出てくるだろう。

すべては「特定の機能しかない専用IC」を使っていた時代から「どんどん制御範囲を広げられるソフトウェア更新」を使うことに原因がある。
今後、テレビや、家電、街中のインフラ装置など、あらゆる物に使用されるコンピューターには、今回の車と同様の「セキュリティ対策」は欠かせない物となるだろう。

「ネットにつなぎ、どんどんソフトウェアを更新する」という方式は、その便利さゆえ「他者からの干渉を許す」ということと同義なのである。

結局、対策については他のネットワーク網と同様、認証の信号を入れる、とか暗号化を試みる、ということが検討されているが、またいたちごっこになるのは目に見えている。
要は「便利なシステム」を採用する際に「どこまでのリスクを考慮するか」ということがこれからの製品設計には不可欠になると言うことだろうと思う。

昔は「これを使えば便利になる」とか「手間が省ける」ということだけで製品の開発が進んだけれど、これからは「便利だが、ノイズの入らない仕組み」を予め考えなければならないわけで、折角の技術の普及に余計な手間が必要になるけれど、便利な道具はいつの時代も「悪用の危機」を考慮しなければならなかった、という構図と変わらない。

コンピュータにも本格的にそうしたリスク設計が求められる時代になってきた。
ということは、これからが実は「普及の本番」なのではないだろうか。

「便利を損なわない安全」、が実現されることを切に願いたい。

事故起こす攻撃も現実味 対策急務、車のハッキング
2013/9/10 7:00ニュースソース日本経済新聞 電子版
 悪意を持った攻撃者(ハッカー、クラッカーとも言う)が車載ソフトウエアの脆弱性を攻撃(ハッキング)し、遠隔でエンジンやステアリングを操る――。そんなSF映画のワンシーンのような脅威が現実のものになりつつある。こうした攻撃が致命的な事故につながると考え始めた日米欧の自動車関連メーカーは、対策に本腰を入れ始めた。最前線の動向を探る。
図1 自宅にいながらエンジンを操る。Tadayoshi Kohno氏らが2011年に発表した成果。車載通信機の脆弱性を突き、携帯通信網を利用してハッキングすることに成功した。図内の数字はハッキングの手順を示す
 クルマがインターネットにつながり始めたことを契機に、悪意を持ったハッカーの標的になる可能性が高まっている。ハッカーに遠隔でエンジンやブレーキ、ステアリングなどを制御するECU(電子制御ユニット)をハッキングされれば、そのリスクの大きさは計り知れない。走行中なら「即座に事故につながる」(国内大手自動車メーカーの技術者)可能性が高い。
 そんな脅威を露わにしたのが、米ワシントン大学のTadayoshi Kohno氏らが2011年に発表した論文である。車載通信機のソフトウエアの脆弱性を突いて、遠隔で車両のドアロックを解除したことや、エンジンを始動させたことを報告した(図1)。ハッカーが自宅にいながら走行中の車両を攻撃し、エンジンなどを自在に操れることを明らかにしたのだ。
 脅威が現実のものとして忍び寄る中、日本や欧州、米国で、自動車メーカー各社が公的機関やIT(情報技術)関連の業界団体の力を借りながら対策に本腰を入れ始めた(表)。
表 各国のプロジェクトや団体に参加する主な自動車関連メーカーをまとめた。これら以外にも、自動車工業会や自動車技術会、米国ではIEEEやSAEなどで検討が始まっている。表には今後の予定を含む
 日本では経済産業省所管の情報処理推進機構IPA)が中心となり、トヨタIT開発センターや日産自動車などと自動車のセキュリティーに関する研究会を立ち上げた。欧州ではドイツのBMWBoschが加わるセキュリティー関連の国家プロジェクト「EVITA(E-safety vehicle intrusion protected applications)」を2011年に終え、現在は後継のプロジェクト「PRESERVE(Preparing Secure Vehicle-to-X Communication Systems)」を進めている。
 また2012年には、米国のIT関連企業を中心としたセキュリティー関連の業界団体「TCG(Trusted Computing Group)」にトヨタ自動車が加わった。今後、デンソーBoschなどが参加する予定である。
■実は目新しくないハッキング事例
 実のところ、自動車を狙ったハッカーの存在自体は目新しいものではない。10年近く前から、ハッカーがカー・ナビゲーション・システムなどのプログラムを改ざんした事例は日経Automotive Technology誌が調べた範囲でもいくつかある。
 例えばある大手国内メーカーがカーナビを発売した直後、そのプログラムをハッカーが解析し、走行中でもカーナビを操作できるように改ざんした。ハッカーはそのプログラムをWebサイトに公開。ダウンロードしてDVDに保存し、カーナビに読み込ませると誰もが改ざんしたプログラムを使えるようにした。
 各社は公表しないがハッカーの存在は公然の秘密で、業界内でかねて話題にのぼっていた。ただし被害の範囲が限定的な上、致命的な事故につながる可能性が比較的低かった。各社は次世代機や車検時に対策を織り込んでしのいでいた。
■クルマが魅力的な攻撃対象に
 しかし、これまでのような小手先の対策ではいよいよ持ちこたえられなくなりそうだ。自動車がパソコンやスマートフォンスマホ)と同様に“通信端末”と言えるものになることで、被害の範囲が格段に広がる可能性があるからだ。
 最近の自動車は数十〜100個程度のECUを搭載することに加えて、ソフトウエアのソースコードは1000万行に達するとされる。携帯電話網を使ったサービス「テレマティクス」や、車載通信機とスマホを連携する機能も普及し始めた。今やソフトウエアと通信が自動車の商品力を大きく左右する。
 クルマに広域無線通信網を使ってハッキングすれば、多くの車両を一度に攻撃できる。しかもクルマは社会インフラの重要な位置を占める存在。社会に大きな影響を与えることを“勲章”と考えがちな悪意あるハッカーにとって、クルマは「魅力的な攻撃対象」(IPA情報セキュリティ技術ラボラトリー主任の中野学氏)になりつつある。
■CAN情報の活用促進で攻撃の敷居低く
図2 スマホに車両情報を送れるFordの車載器。Fordのテレマティクスサービス「SYNC」と組み合わせたスマホ向けプログラムを車載器で使える
 攻撃対象としての魅力は最近、さらに増している。エンジンやステアリングなどの走行制御系ECUに、攻撃しやすい環境が整いつつあるからだ。同ECUの情報を車内でやり取りする車載LANである「CAN(Controller Area Network)」の走行制御に関わる情報を、スマホなどに送って活用する取り組みが広がっている。
 例えば米Ford Motorは2013年1月、CAN情報などを有線や無線でスマホに送れる通信機能付きの車載器を披露した(図2)。トヨタは2013年末、小型スポーツカー「86」のCAN情報をBluetoothブルートゥース)でスマホなどに送る通信機を発売する計画だ(図3)。アフターパーツのメーカーも、既に多くが故障診断機能「OBD-II」を活用してCAN情報を無線でスマホに送る通信機を発売している。
図3 トヨタが「86」のCAN情報をスマホに送る装置を開発。デンソーと共同で開発し、2013年内に発売する予定。(a)は Bluetoothを用いてCAN情報をスマホに送っている様子。(b)はCAN情報の通信機
 CAN情報をスマホに送る通信機は、見方を変えるとハッカーにとってCANにアクセスする格好の入り口となる。冒頭で紹介したKohno氏らによる論文が、通信機がハッカーにとって入り口になることを証明している。
■通信とソフトで対策進む
 クルマのハッキング対策の重要性が増す中、メーカー各社やセキュリティー関連の研究者が力を注ぎ始めた対策は、(1)通信と(2)ソフトウエアという大きく二つの分野で整理できる。
 (1)の通信分野で優先度が高いのが、CANのセキュリティーを高めることである。実はCANのセキュリティーは、「何もないと言えるほど」(名古屋大学情報システム学専攻教授の高田広章氏)に低い。
 CAN信号には送信元や宛て先の情報が含まれない上、同じバス内につながる全てのECUに信号が送られる。さらに信号の送信元が正しいECUから届いているのかを確かめる認証機能がない。あるECUになりすましてCANに偽信号を流すことは簡単で、しかも偽信号をいったん流すと同じバス内のすべてのECUに届く。
 例えば前方の車両に追従するACC(アダプティブ・クルーズ・コントロール)のECUになりすまし、ハッカーが偽の車間距離信号をCANに流したとする。
 偽信号をエンジン制御用ECUが検知すると、実際には短い車間距離の場合でも「長い」と判断して加速してしまう。同じCANバス上にあるECUすべてが偽信号を使うので、もし短い車間距離の偽信号を送れば、今度はブレーキ制御用ECUが「衝突を避ける」ためにブレーキを掛けるだろう。ハッカーは1種類の偽信号を流すだけで加速と減速という車両制御の根幹に関わる機能を自在に操れることになる。
 そんなCAN信号のなりすましを防ぎやすくする研究成果を発表したのが、横浜国立大学教授の松本勉氏である(図4)。CANの一斉送信機能を逆に利用し、なりすまされたECU自身が不正な信号を検知する手法を提案する。
図4 CANのセキュリティーを簡単に高められる横浜国立大学教授の松本勉氏の研究成果。(a)ECUから信号をCANに流す場合に、信号の種類を識別するID番号のデータを送った後にフラグとなる識別コードを入れる。(b)受信中にフラグの有無を確認する。フラグがないのは偽信号なので、検知した直後にエラーフレームをCANに流す
■暗号化で情報漏洩を防ぐ
 ECUが自ら流す正しい信号に細工し、「フラグ」と呼ぶ識別コードを埋め込む。CANに流れる信号はすべて検知できるので、仮に自身になりすました偽信号が流れていた場合はフラグがあるかどうかを確かめて、フラグがなければ偽信号だと判断する。フラグの存在を確かめる機能を実装するだけなので、追加コストを安くしやすい。計算量は小さく、松本氏は既存のCPU(中央演算装置)で十分に対応できるとみる。
 CAN信号のなりすましを防ぐ対策と同時に、信号を暗号化してセキュリティーを高める取り組みも進む。なりすましに加えて、ECUのプログラムの改ざんや個人の特定につながる情報の漏洩を防ぐのに役立つ。
 暗号化技術を適用する手法の代表例が、ドイツESCRYPTなどが中心となって技術開発を進める「SHE(Secure Hardware Extension)」と呼ばれる専用のIC(集積回路)をECUに追加するものである(図5)。ドイツBMWなどが加わる欧州のプロジェクトであるEVITAで議論した内容を基に開発した。
図5  欧州を中心に採用の機運が高まる「SHE」の概要を示した。共通鍵暗号方式「AES」を採用する。なおSHEが採用するAESの鍵の長さは128ビット。AESは256ビットまで対応するが、長いほど計算量が増える(ETASの資料を基に日経Automotive Technology誌が作成)
 現在、SHEに対応したICを半導体メーカーのドイツInfineon Technologiesが販売しており、イモビライザーなどに採用されている。なお、ドイツETASが2012年にESCRYPTを買収し、現在はETASがSHEを用いたセキュリティー関連事業を継続する。
■業界団体TCGトヨタが加盟
 SHEでは、インターネット通信でよく使われる「AES(Advanced Encryption Standard)」と呼ばれる共通鍵暗号方式を使う。同方式は、送信者と受信者が同じ秘密鍵を持つことで暗号化した情報をやり取りするもの。鍵の情報がハッカーの手に渡らない限り、「解読される可能性は、現時点の計算機の能力を前提にすれば極めて低い」(ETAS Embedded Security, ESCRYPTのCamille Vuillaume氏)技術である。
 逆に言うと鍵をどう守るのかが肝心で、SHEではマイコンのダイ(チップ)に鍵の情報を直接書き込む技術を用いる。解読しようとすれば、ECU内のICの構造を特殊な装置で見なければならない。
 メモリーに鍵の情報を保存する手法も考えられるが、「メモリー内のプログラムを解読するのは技術力の高いハッカーなら簡単」(Vuillaume氏)で、セキュリティー強度が低くなる。ETASはSHEに対応したICのコストについて、将来は「1個当たり数十セント」(同氏)を目指す考えだという。
 車内LANであるCANのセキュリティーを高めることに加えて、車外のネットワークとつなぐ窓口となる車載通信機に向けた対策も進む。代表例が日米の企業を中心としたIT関連の業界団体であるTCGである。米Hewlett-PackardやIBMIntelMicrosoft富士通などが中心となる団体で、最近ではトヨタが加盟したことで注目を集めた。
 TCGも、SHEと同様に車外の機器との情報のやり取りに際して専用のICを使って暗号化する手法を提案する。ただし共通鍵暗号方式のAESではなく、公開鍵暗号方式の「PKI(Public Key Infrastructure)」を用いる点が異なる。PKIは、日本の住民基本台帳を管理するシステムなどに使われている。公開鍵と秘密鍵の二つの鍵で暗号化・復号するのが特徴で、公開鍵をインターネットなどに公開することで、どの端末でも情報を暗号化できる。
■安全なプログラム更新に認証機能
 一方で、復号して情報を読めるのは秘密鍵を持つ端末だけだ。情報をやり取りする端末すべてが共通の鍵を管理しなければならない共通鍵暗号方式と比べて、不特定多数の端末と暗号化した情報をやり取りするのに向く。車外の端末と情報をやり取りすることが前提の車載通信機に使いやすい。ただし、暗号化と復号に必要な計算量はAESの数百倍になるとされ、高性能のCPUが必要になる。
 TCGは、「TPM(Trusted Platform Module)」と呼ぶICを用いて、車載通信機から外部の機器と送受信する信号をPKIで暗号化・復号する。秘密鍵の情報をICに書き込んでセキュリティーを高めるのはSHEと同じだ。
 TPMを使うことはCAN情報などを守ることに加えて、(2)のソフトウエア分野におけるセキュリティーを高めるのにも役立つ。車両を販売した後にプログラムの脆弱性が見つかった場合、それを修正するプログラムである「パッチ」を安全に適用しやすくなる。TPMでは暗号化機能に加えて、認証機能に力を注いでいる(図6)。
図6  TPMで実現する機能を示した。車両を識別する情報をTPMに内蔵し、その情報をやり取りすることで通信相手が正しい車両かどうかを確かめる(富士通の資料を基に日経Automotive Technologyが作成)
 認証機能は、情報をやり取りする車両が、パッチを適用するのに適切な車両かを確かめるのに必要になる。もしエンジンECUを改造してある車両にエンジンプログラムのパッチを適用すると、不具合につながる可能性が高くなる。
 こうしたTPMを用いた認証とプログラムの更新システムの開発に力を注ぐのが、TCGの主要企業である富士通である(図7)。同社は、ECUに搭載するCPUや周辺機器などといった複数の個体識別情報を基にした「証明書」を作り、その情報をTPMに保存する仕組みを構築する計画だ。証明書の情報を暗号化して車両からデータセンターに送り、同センターであらかじめ登録してある記録と照合することで認証機能を実現する。そして正しいとみなした車両に対してのみパッチを適用する。
図7 車載プログラムの更新システム。TPMを用いて通信相手の信頼性を確かめ、信頼に値する場合のみプログラムを更新する(富士通の資料を基に日経Automotive Technology誌が作成)
ECUをあらゆる手段で攻撃
 ソフトウエア分野ではプログラム更新の仕組みに加えて、そもそも脆弱性の少ないプログラムを開発することが重要である。ソフトウエアの開発工程で専門家を交えてレビューするといった従来の手法に加えて、最近注目を浴びているのが考えられる限りの手段でプログラムを攻撃してその挙動を確かめ、未知の脆弱性をあぶり出す手法である。ECU単体を対象にする「ファジング」と、車両全体を対象にする「ウォールーム」がある。
 ファジングはIT業界のプログラム開発によく使われる手法で、例えば極端に長い文字列といった問題が生じそうなデータを何万種類も送り、脆弱性を探す。IPAはこうしたファジングをECU開発に応用することを提案する。
 ただし、ファジングを実施するには、ECUに対する攻撃手法を網羅する必要がある。そこでIPAは2013年3月、攻撃パターンを大きくまとめた「自動車の情報セキュリティへの取組みガイド」を発行した。最終的には開発中の製品に応じて技術者が詳細を考える必要があるが、最初の方向性を決めるのに役立つ。
■車両の脆弱性見つける施設を建設
 ガイドでは車両の機能を駆動系やシャシー系、ボディー系などに分けて、それぞれの機能に応じて「盗聴」や「DoS(Denial of Service)攻撃」などに注意して対策を打つべきという指針を示してある(図8)。なおDoS攻撃とは、不正な接続要求を通信相手に繰り返すことによって、悪影響を与える攻撃手法のことだ。
図8 車両への攻撃手法は、駆動系やシャシー系、ボディ系などに応じて異なる(出典:IPA
 ウォールームはファジングの考えを車両単位に広げる構想で、アルパイン会津大学が開発に挑んでいる。両者は2012年11月、車載クラウド領域におけるセキュリティーに関する産学共同の研究を始めると発表した。2013年から3年かけて、隔離した空間(ウォールーム)に車両を置いてあらゆる攻撃を加え、脆弱性を見つけ出す施設を造る。
 会津大学は、IT関連の研究に特化した大学である。アルパインは同大学と共同でクルマをハッキングする際の攻撃手法を洗い出す。2013年度に必要な設備などを考え、2014年度から実際に建設する計画。将来はクルマのセキュリティーを評価する第三者機関として、多くの自動車関連メーカーが活用できる仕組みを構築したい考えだ。
(日経Automotive Technology 清水直茂)
[日経Automotive Technology 2013年7月号の記事を基に再構成]