特集Controller Area Network（CAN）の不正送信防止機構の提案
A Proposal of the Device Disabler for Controller Area Network
＊＊

上田浩史

倉地亮

高田広章

足立直樹

Hiroshi Ueda

Hiroaki Takada

Ryo Kurachi

本田晋也

宮下之宏

Shinya Honda

Naoki Adachi

Yukihiro Miyashita

車載制御ネットワークでは Controller Area Network（CAN）が広く使用されており、現在販売される車両に搭載される電子制御ユニットにはセキュリティ上の強化策が十分に搭載されていない。しかしながら、この10年の間に CAN に対する多数のセキュリティ脅威事例が報告されている。このため、本稿では、適切ではないメッセージの送信を拒否するように改造された通信コントローラを用いることにより、CAN や CAN FD バス上への不正な送信を防止する手法について提案する。

Recently, quite a number of security attacks against Controller Area Networks (CAN) have been reported. Many automotive
companies are planning to adopt security countermeasures to strengthen security of their in-vehicle systems while saving
the costs. This paper proposes a method to block unauthorized CAN-bus access using our enhanced CAN controller thatprevents the transmission of messages from a malicious electronic control unit. We also demonstrate the effectiveness ofour device disabler on a CAN with Flexible Date rate buses.
キーワード：車載制御ネットワーク、セキュリティ、Controller Area Network（CAN）、CAN FD1.

緒言

現在の自動車は、電子制御ユニット（Electronic Controlたり、マルウェア※1を注入された ECU による不正な CANメッセージの送信を防止する手法を提案する。

Unit：ECU）と呼ばれる小型のコンピュータが多数搭載されており（1）、これら ECU 同士が車載制御ネットワークを介して情報を交換することで、車の制御を実現している。この電子制御システムで広く使用される通信プロトコルとし（2）が存在し、その後て、Controller Area Network（CAN）

継プロトコルである CAN with Flexible Data rate（CANFD）も広く普及することが予想されている。その一方で、

2.

CAN の特徴

CAN は、ISO11898で標準化された通信プロトコルであり、以下の特徴を持つ。
（a）バストポロジ
1つの通信線に複数のノードが接続されるバストポロジ

近年、車載制御ネットワークを利用したサイバー攻撃事例で広く使用されている。

が多数報告されている。

（b）送信権の調停

Koscher らは、偽造された CAN メッセージを車載制御各ノードは送信したいメッセージが発生するとすぐに送ネットワークに送信することにより、自動車の制御を乗っ取信動作に移行するマルチマスタ方式を採用するため、複数れることを実証した（3）。Valasek らは、不正な機器を CANのノードが同時に CAN バス上へとメッセージを送信するバス上に配置することで、容易に不正送信できることを実と、メッセージの衝突が発生する。これを解決するために、証した（4）。また、Miller らの最近の研究では、携帯電話網

CAN-ID を用いた送信権の調停が実施される。この結果、を経由し、CAN バス上に接続されている ECU のプログラ

最も優先度の高いメッセージを持つ CAN メッセージが優先ムを書き換え、不正送信が実現できることを示した（5）。こ的に送信される。一方、優先度の低いメッセージはより高のように、ECU のプログラムを書き換えることにより、不い優先度のすべてのメッセージの送信が完了するまで送信

正な CAN メッセージを送信し、制御を乗っ取る攻撃事例が開始が遅延する。

多数指摘されている。

（c）メールボックス

そこで、本稿では、これらの攻撃の対策手法として CAN

CAN の通信コントローラでは、メッセージを送受信するメッセージの不正送信防止機構を提案する。より具体的にためのレジスタ群をメールボックスと呼ぶ。一般的な CAN

は、改良された CAN コントローラに不正送信防止用の監コントローラでは、様々なシステムに適用できるよう送信視機構を実装することにより、プログラムを書き換えられメールボックスと受信メールボックスが複数搭載されてい80

Controller Area Network（CAN）の不正送信防止機構の提案

ることが多い。このため、各ノードは CAN コントローラが3－2実現方法

用意する送信用あるいは受信用メールボックスを複数使用

提案手法は、既存する CAN コントローラのハードウェアするが、必ずしもすべてのメールボックスを使用しているを拡張することにより実現する。不正送信防止機構とは、とは限らない。

CAN メッセージの送信要求時に送信可能なメッセージかどうかを判断するよう実装されたハードウェアのことであ3.

る。送信可能な CAN メッセージの情報（CAN-ID、DLC な不正送信防止機構の提案

ど）とその送信周期および使用可能な送信メールボックス

本章では、提案手法である CAN の不正送信防止機構を説の ID などの情報は、CAN コントローラ内の不正送信防止

明したうえで、既存の攻撃事例に対して提案手法が有効で機構にホワイトリストとして設定されている必要がある。

あることを説明する。
3－1

そのうえで、図1の検査手順を用いて、以下の検査1から不正送信防止機構

検査3を実施することにより、送信要求されたメッセージ脅威として、文献（5）と同様の手段により、外部ネットの送信可否を判定する。

ワークを通じて ECU のプログラムが攻撃者により不正に書き換えらえる攻撃が想定される。本提案手法では、このプログラムを書き換えられた ECU（以降、踏み台 ECU と呼ぶ）の CAN バスへの利用制限を行うことにより、踏み台ECU による車載制御システムへの攻撃を最小限に留めるこWe mustsecurely
maintain the listin the CAN
controller(detected by CAN controller)
troller)

1

FailFaailPassassとを目的とする。なお、不正送信防止機構が提供する保護機能は、以下のとおりである。

2

Whitelist（a）保護機能1：未使用メールボックスの利用制限

3

設計上、各 ECU が送受信のために使用するメールボックスを制限することで、もし踏み台 ECU となった場合

Fail（b）保護機能2：ホワイトリスト※2による送信可能メッセー

図1

Protection function 2・Whitelist restriction on sending
message(e.g., CAN ID, payload)

PassProtection function 3・Transmission at abnormal
frequency

Failail
Pass

Start transmission
ansmsmission(OK)でも未使用であるメールボックスの悪用を抑止できる。

Protection function 1・Usage restriction on used
mailboxes

Transmission request
est from
an applicationon

Discard transmission
trans(abnormal status)

送信要求処理時の検査手順

ジの制限
各 ECU が送信すべき CAN メッセージは設計時に決定される。このため、各 ECU から送信できる CAN メッ
セージを予め制限することで、もし踏み台 ECU となっ（a）検査1：送信に使用できるメールボックスかどうかをた場合でも、それ以外のメッセージの送信を抑止で検査する。このとき、送信に使用できないメールボッきる。

クスを使用し送信しようとしている場合には送信を破（c）保護機能3：異常な送信頻度による送信棄するものとし、送信可能なメールボックスを使用す

各 ECUが送信すべきCANメッセージの送信頻度は設計る場合には送信動作を継続し検査2を実施する。

時に決定される。このため、もし踏み台 ECU となった（b）検査2：送信可能な CAN メッセージかどうかをホワイト

場合でも本来送信すべき CAN メッセージの送信頻度をリストから検査する。もし送信が許可されない CAN-ID

超えて CAN メッセージを送信することを抑止する機構のメッセージを送信しようとする場合にはこの送信をを持つ。

破棄する。一方で送信可能な場合には送信動作を継続

現状の ECU では、これらの保護機能が実装されていない

し検査3を実施する。

ために、プログラムが不正に書き換えられたりマルウェア（c）検査3：送信要求の送信周期を検査する。もし予め設が注入されると容易に踏み台 ECU からの不正送信が可能と定された送信周期を上回る頻度で送信要求がある場合なる。より具体的には、以下の脅威が存在する。には、この送信を破棄する。一方で送信頻度が低い場

保護機能1が未実装の場合、マルウェアが踏み台 ECU の正規アプリケーションになりすまし、未使用のメールボッ合には、この送信を許可する。
3－3

ホワイトリストの書き込み方法

クスを利用して不正な CAN メッセージを送信することが本提案手法では、ホワイトリストが改ざんされるようで可能となる。保護機能2が未実装の場合、マルウェアが踏あれば監視機構が無力となるため、ホワイトリストの保護

み台 ECU 以外の正規 ECU になりすまし、不正な CAN メッが重要となる。このため、以下の2つの手順のいずれかにセージを送信することが可能となる。保護機能3が未実装よりホワイトリストを書き込むことを想定する。なお、ラの場合には、踏み台 ECU が異常な頻度でメッセージを送信ンタイム上でホワイトリストを書き込む場合には、ホワイが可能となる。

トリストが1度設定された後、これを書き換えられないよすることにより CAN バスへの DoS 攻撃※3

うに保護する必要がある。このため、本稿で提案する不正2019 年 1 月・S E I テクニカルレビュー・第 194 号

81送信防止機構では、次に示す書き込み方法2が使用される

ALTERA DE0-NANO
board

場合には、リセット解除後、ホワイトリスト書き換え完了レジスタが設定されるまでの期間はホワイトリストを設定できないようにする必要がある。
（a）書き込み方法1：認証された専用ツールから書き換え可能なフラッシュ ROM に出荷時に書き込む。現在、

CAN/CAN-FD
transceiver board

市販されているマイコンの中には、このような手段を用いて、マイコンへ供給されるクロックの設定などが行われることがあるため、これと同様の機構を用いる

図2

実機評価環境ことを想定する。
（b）書き込み方法2：セキュアブートを使用し、不正送信防止機構にホワイトリストを設定する。この場合には、セキュアエレメントなどを用いて、セキュアブートを実行する必要があるため、既存する ECU よりも追加のハードウェアコストが増加する恐れがある。

4－1

最低送信周期カウンタの実装

最低送信周期カウンタは、CAN コントローラ上で生成される CAN ネットワーク上の1ビット時間単位のカウンタと現状では、すべての ECU でセキュアブートを実施していして実装した。本カウンタの起動は、初回送信要求が発生るわけではないため、書き込み方法1が既存する車載制御した後にカウントアップが開始され、以降は監視が開始さシステムに親和性が高く、コスト効率が高い方法と考えられるものである。このため、初回送信要求時については、れる。

最低送信周期カウンタによる保護はなされないものの、23－4想定するユースケース

回目以降の送信要求時には、その頻度が設定された最低送などのサービスを利用するには、各自動車信周期が守られていない場合、CAN バス上への送信は行わに OBD-II ドングルと呼ばれる診断用通信機器を取り付けれず、CAN コントローラ上で送信要求が破棄される構成とる必要がある。これらのドングルは、走行距離に応じて保した。

険料を割り引く目的で取り付けられており、CAN ネット

4－2

metromile（6）

不正送信防止機構の実装

ワーク上に送信される走行距離関連の情報をサービス会社

不正送信防止機構は既存する CAN コントローラ IP の中のサーバーへアップロードする。しかしながら、使用されのサブモジュールとして埋め込むように実装した（図3）。

る OBD-II ドングルの脆弱性を悪用して、攻撃者のサーバー

本システム全体は、Nios II ソフトコアと改造された CANから不正なプログラムをダウンロードさせることにより、コントローラの他に、DRAM コントローラ、オンチップ

CAN バス上に不正なメッセージを流すという攻撃事例がRAM などを実装した。本システムの合成結果については、ある。

23,888ロジックエレメントを消費しており、CAN コント

もしこの OBD-II ドングルに本稿で提案する不正送信防ローラで5,374ロジックエレメントを使用した。なお、既存止機構が搭載されていた場合、CAN バス上への送信メールする CAN コントローラ IP を用いて合成するよりも、3,106ボックスはないものとして不正送信防止機構に設定しておロジックエレメント増加した。

けば、前述する（検査2）により、不正な CAN メッセージの送信を防ぐことが可能になる。
また、Miller らが発表した ECU に対するプログラムの改Application

ざん事例（5）についても、プログラムが書き換えられた踏み
台 ECU が本来送信するメッセージの送信を許してしまうものの、他の ECU から送信されるメッセージのなりすましに

Register group①Additional
register group

CAN/CAN-FD IP

Protocol processor③Process to checktransmission
requests②Min. frequency
counter

関しては抑止することが可能である。これらの結果より、本稿で提案する不正送信防止機構により、不正なメッセー
ジの送信をハードウェアで抑止することは非常に有用性が高いと考えられる。

4.

ボード上へ実装した（図2）。

Controller Area Network（CAN）の不正送信防止機構の提案

sample point

CAN transceiver

不正送信防止機構の実装

我々の提案する不正送信防止機構を、アルテラ社の FPGA82

Bit timing

図3

不正送信防止機構の実装

5.

評

5－1

価

ため、最低送信周期の設定方法には注意が必要となる。

評価方法

ここで、本評価において、およそ10マイクロ秒単位で送

本評価では、以下の2つの観点で評価を行った。まず1

信要求するアプリを作成し、ホワイトリストを設定した。

点目として、追加された不正送信防止機構によるオーバーCAN ネットワーク上の不正送信防止機構がない場合には、ヘッドについて評価する。不正送信防止機構はハードウェ

送信要求の頻度と CAN バスでの転送時間間隔に応じて常にアで実装されているものの、追加された検査処理により、送信が繰り返される結果となり、DoS 攻撃が可能となる。

既存する CAN コントローラよりも送信要求処理から送信開一方、不正送信防止機構がある場合には、その最低送信周始までの待機時間が増加する。このため、この増加時間が期時間はインターバルが空くため、DoS 攻撃に対して効果許容できない時間でないことを確認する。

があることを確認した（図6）。

2点目に、本提案手法による有効性を示すために、不正なプログラムに書き換えられた場合における不正送信防止機構の効果について評価する。プログラムが書き換えられた

A. Set Tx MBOX=1 to“unused”

場合に、不正送信防止機構が有効に働くことを実証する。
5－2

B. Request transmission
at high frequency

処理オーバーヘッドの評価

本稿で提案する不正送信防止機構を搭載した CAN コン

C. Check that there is no frame sentfrom the unused BOX

トローラ IP は、既存する CAN コントローラ IP よりも送信要求時のフィルタリングに要する時間だけ、オーバーヘッ

図4

ドが存在する。このため、ハードウェアカウンタを使用し保護機能1の確認オーバーヘッドの処理を測定した。送信要求検出後、図1の検査処理に関わる時間は最大6.25マイクロ秒であり、CAN の転送速度500kbps における3ビット時間から4ビッ• CAN-ID=1 is registered in the whitelist→send the frame
A. Register CAN-ID=1
B. Request transmission
at high frequency

ト時間程度の遅延時間に収まることを確認した。この結果
から、既存する CAN コントローラ IP よりもオーバーヘッドが存在するものの、検査処理に関わる時間が周期送信される CAN メッセージの送信周期に比べ、十分に小さいこと

c. Transmit the frame• CAN-ID=1 is not registered in the whitelist→discard the frame

A. CAN-ID=1 isunregistered
B. ReqB
Request transmission athigh frequency

を確認した。
5－3

不正送信防止機構の評価

C. The frame is nottransmitted（1）不正に書き換えられた ECU による不正 CAN メッセー
ジの送信防止図5

不正送信保護機構が搭載された CAN コントローラを使保護機能2の確認用する場合、ECU 上のプログラムが書き換えられたとしても、ホワイトリストに登録されている CAN-ID の CAN メッTransmit at about 50% bus load factor when transferring 8 byte CAN frame•

Request transmission at
this frequency

セージしか送信することができない。この性質を確認するために、アプリケーションから任意の CAN-ID を送信要求するプログラムを作成し、ホワイトリストに登録された CANメッセージのみが送信されていることを確認した（図4、Transmit at about 45% bus load factor when transferring 32 byte CAN-FD•

Request transmission at
this frequency

図5）。
（2）不正に書きかえられた踏み台 ECU による CAN ネット

Guarantee the red interval

ワーク上への送信頻度抑止
提案する不正送信保護機能において、最低送信頻度をホ

図6

保護機能3の確認

ワイトリストに保持することから、不正にプログラムを書き換えられた踏み台となる ECU からの Denial of Serviceattack（DoS 攻撃）を抑止することが可能となる。具体的な例として、ある CAN メッセージの最低送信周期を5ミリ6.

考秒と設定する場合、この5ミリ秒の期間には、1つの CAN

6－1

察不正送信防止機構の有効範囲メッセージしか送信することができない。ただし、この本稿で提案する不正送信防止機構では、正規 ECU のプロ

ECU の送信メッセージが複数存在する場合には、送信メッグラムの改ざんを防ぐことはできない。しかしながら、不セージの数とそれらの最低送信周期の設定値に依存してお正にプログラムが書き換えられた ECU による、なりすましり、必ずしも DoS 攻撃対策として有効であるとは限らない

メッセージの送信については、ある一定の条件で防ぐこと

2019 年 1 月・S E I テクニカルレビュー・第 194 号

83

が可能である。このため、最善の策としてはセキュアブー（12）。しかしながら、本手法では、マルウェ
案している（11）、

トと本稿で提案する不正送信防止機構を搭載した CAN コ

アの感染による DoS 攻撃の影響を局所化することは可能でントローラを実装することが望ましい。一方で、セキュアあるものの、不正な CAN メッセージの送信ついては言及さブートを実装するには既存する ECU にセキュアエレメントれていない。

を実装する必要があるなど、車載制御システムに存在する

これらの理由から、複数のアプリケーションを搭載するすべての ECU で実装するにはコストが高くなり、且つ起H/U やナビゲーションシステムのような場合には、我々の動時間におけるオーバーヘッドが懸念される。このため、手法が有効と考えられる。

表1に示すように、特に制御に関わる、あるいは外部に接続される ECU には両方の機能を搭載することが望ましい。
また、安全性に関わるため、制御系やボディ系の一部のシステムは、セキュアブートあるいは不正送信防止機構のいずれかを選択して適用することが考えられる。

7.

結言

本稿では、車載制御システムに用いられる ECU 上の CAN
コントローラのハードウェアを拡張することにより、ECUのプログラムが不正なプログラムに改ざんされた場合でも、CAN ネットワークを保護するためのハードウェアによる不表1

セキュアブートとの組み合わせによる保護

ECU Lv

Secureboot

不正送信防止機構

適用例

Level 1

必要必要GW, Engine ECU, H/Uなど

Level 2不要

必要

制御系、ボディ系の一部のシステムなど

Level 3

不要

不要

一部のサブシステム

正送信防止機構を提案した。FPGA 上に不正送信防止機構を実装し、評価を行った結果、既存する攻撃事例に対して有効であることを確認した。また、踏み台 ECU による CANネットワークへの影響を最小限にする能力があることを示した。

用 語 集 ーーーーーーーーーーーーーーーーーーーーーーーーーーーー
6－2

既存研究との比較

※1

マルウェア

これまでに、車載制御ネットワークの侵入検知システム不正かつ有害に動作させる意図で作成された悪意のあるソ（Intrusion Detection System：IDS）として、Otsuka（7）フトウェアや悪質なコードの総称で、コンピュータウイルらがソフトウェアで簡易に実装可能なシステムを提案してスやワームなどがある。

いる。本手法は、車載システムにおいて、各 CAN メッセー
ジが周期的に送信される性質に着目し、各メッセージの到※2

ホワイトリスト

着間隔をソフトウェア上のアプリケーションで監視する方注意・警戒の必要があるか否かを示す一覧（リスト）のう法である。また、Muter（8）らが、エントロピーベースでのち、特に注意・警戒が不要である対象を列挙したリストのIDS システムを提案した。しかしながら、車載制御システこと。

ムを構成する ECU では、低速なコスト効率の高い CPU が搭載されているため、高度な演算処理などを実現すること※3は非常に難しいと考えられる。また、Miller（4）らも、送信攻撃者が意図的に過剰な通信負荷をかける妨害攻撃のこと。

DoS 攻撃頻度を監視する方法について言及している。
関口らが、ホワイトリストを用いたハブの動作について提案しているが、ホワイトリスト・ハブの更新方法などは明確にされてはいない（9）。また、提案手法はハブの構成を対象としており、CAN 通信用のポートが1つである ECU については対象としていない。Ujiie らは、外部からの通信を静的なフィルタを設定することにより、ソフトウェアでフィルタリング（ファイアーウォール機能）を提案している（10）。本手法ではセキュアブートについて言及しているものの、マルウェアに感染される可能性がある車載インフォテイメントシステムに対する有効性については言及されていない。
また、Herber らが、CAN バスへのアクセスを時分割にすることにより、DoS 攻撃への影響を最小化する方法を提84Controller Area Network（CAN）の不正送信防止機構の提案

・Nios は、米国アルテラ・コーポレーションの登録商標です。

参考文

献

（1） J . Leohold, Communication Requirements for AutomotiveSystems, 5th IEEE Workshop Factory Communication Systems（2004）（2） International Organization for Standardization, Road vehicles- Controller area network (CAN) - Part 1: Data link layer andphysical signaling, ISO11898-1（2003）（3） K. Koscher, A. Czeskis, F. Roesner, S. Patel, T. Kohno, S. Checkoway,
D. McCoy, B. Kantor, D. Anderson, H. Shacham, S. Savage,
xperimental Security Analysis of a Modern Automobile, IEEE
Symposium on Security and Privacy（2010）（4） C. Valasek, C. Miller,“Adventures in Automotive Networks
and Control Unit,”http：//www.ioactive.com/pdfs/IOActive_
Adventures_in_Automotive_Networks_and_Control_Units.pdf（2014）（5） C. Miller, C. Valasek,“Remote Exploitation of an Unaltered
Passenger Vehicle,”http://illmatics.com/Remote￥%20Car￥%20Hacking.pdf（2015）（6） Metromile, https：//www.metromile.com/insurance/（2015）（7） O tsuka S., Ishigooka T., Oishi Y., and Sasazawa K.,“CANSecurity: Cost-Effective Intrusion Detection for Real-Time
Control Systems,”SAE Technical Paper 2014-01-0340, 2014,
doi:10.4271/2014-01-0340（8） Muter, M. and Asaj, N.,“Entropy-based anomaly detection forin-vehicle networks,”In Intelligent Vehicles Symposium (IV),Baden Baden, Germany（2011）（9） 関口大樹、向達泰希、吉岡克成、松本勉、「不正 CAN データ送信を抑制するホワイトリスト・ハブ」、電子情報通信学会 SCIS 2014（2014）（10）Y. Ujiie, T. Kishikawa, T. Haga, H. Matsushima, T. Wakabayashi,
M. Tanabe, Y. Kitamura, J. Anzai,“A Method for Disabling
Malicious CAN Messages by Using a Centralized Monitoring
and Interceptor ECU,”Embedded Security in Cars 2015（11）H erber, C., Richter, A., Rauchfuss, H., and Herkersdorf, A.,“Spatial and Temporal Isolation of Virtual CAN Controllers,”In
Workshop on Virtualization for Real-Time Embedded Systems(VtRES 2013), pp. 7-13（2013）（12）H erber, C., Reinhardt, D., Richter, A., and Herkersdorf, A.,“HW/SW Trade-offs in I/O Virtualization for Controller Area
Network,”presentation at DAC‘15（June 2015）

執筆上田

倉地

者 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
浩 史＊ ：㈱オートネットワーク技術研究所
グループ長

亮＊ ：名古屋大学 特任准教授
博士（情報科学）本田晋也：名古屋大学 准教授
博士（工学）

高田広章：名古屋大学 センター長・教授
博士（理学）

足立直樹：㈱オートネットワーク技術研究所

宮下之宏：㈱オートネットワーク技術研究所
室長

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー＊主執筆者

2019 年 1 月・S E I テクニカルレビュー・第 194 号     85