本サイトは、快適にご利用いただくためにクッキー(Cookie)を使用しております。
Cookieの使用に同意いただける場合は「同意する」ボタンを押してください。
なお本サイトのCookie使用については、「個人情報保護方針」をご覧ください。

最新情報

2021.06.28

自動運転車セキュリティ入門 第2回:センサー・カメラに対する物理的攻撃

現在、世界各国で自動運転車の開発が盛んに行われています。

自動運転車は、人間が運転操作を行わなくとも自動で走行できる自動車と定義されており、カメラやレーダー、GPSなどのセンサー類や、高精細の地図情報を配信するクラウドサービス、また、他車両と通信を行うネットワークサービスなどを組み合わせることで、自律的な走行を実現しています。また、より完全な自律走行を実現するために、道路標識や歩行者などの認識や、運転操作の意思決定をディープラーニング・モデルで行う自動運転車も開発が進んでいます。

このように、自動運転車には「繋がる」「自律走行」という、従来の自動車にはなかった新たな性質が加わっています。しかし、これと同時に、センサー類やクラウドサービス連携に対する攻撃や、ディープラーニング・モデルに対する攻撃といった、従来の自動車にはなかった新たな攻撃経路も生まれています。

そこで、本連載は「自動運転車セキュリティ入門」と題し、主にディープラーニング・モデルを採用した自動運転車に対する攻撃手法と防御手法を幅広く・分かり易く取り上げていきます。本連載を読むことで、自動運転車セキュリティの全体像が俯瞰できるようになるでしょう。

なお、本連載は、2021年4月10日に公開された論文「Deep Learning-Based Autonomous Driving Systems: A Survey of Attacks and Defenses」をベースにしています。ただし、本連載では単に論文を和訳するのではなく、内容を分かりやすく噛み砕き、また、弊社の知見/見解を盛り込んだ内容としています。また、論文中で引用される文献はほとんどが英語ですが、本連載では可能な限り日本語の文献を引用するようにしています。

本連載が、皆さまの自動運転車セキュリティの理解の一助になれば幸いです。

連載一覧

「自動運転車セキュリティ入門」は全5回のブログで構成されています。
今後、以下のタイトルで順次掲載していく予定です。

  • 第1回:自動運転車・セキュリティの概要(公開済み)
  • 第2回:センサー・カメラに対する物理的攻撃
  • 第3回:クラウド連携に対するサイバー攻撃
  • 第4回:意思決定モデルに対する敵対的攻撃 - 回避攻撃 -
  • 第5回:意思決定モデルに対する敵対的攻撃 - 汚染攻撃 -

第1回は公開済みです。
ご興味がございましたら読んでいただけると幸いです。

はじめに

本ブログは第2回「センサー・カメラに対する物理的攻撃」です。
本ブログでは、自動運転車に搭載されているセンサー類の概要、そして、各センサーに対する攻撃手法と防御手法を解説していきます。

それでは、本編に入っていきましょう。

自動運転車に搭載されるセンサー

以下の図は、第1回のブログでも取り上げた、自動運転車のプロセスとアーキテクチャを表しています。

el5ALwL.png自動運転車のアーキテクチャ(再掲)
(出典:Deep Learning-Based Autonomous Driving Systems

LiDARやカメラなどを含む「Sensing layer」は、自動運転車とドライビング環境とを繋ぐインタフェースの役割を果たしていることが分かります。これと同時に、Sensing layerは攻撃者にとっても攻撃の入り口になるため、外部からの物理的攻撃に晒される危険性が高くなります

仮にセンサー類が攻撃を受け、多くのセンサーが良質な生データを収集できなくなる、または、偽のデータを収集させられるなどした場合、後続のディープラーニング・モデルの性能が著しく低下することになり、事故に繋がる可能性があります。

センサーの種類

物理的攻撃の説明に入る前に、自動運転車に搭載されるセンサー類を一つずつ見ていきましょう。

以下の図は、自動運転車に搭載されるセンサー類を表しています。なお、自動運転車によっては、必ずしもこれらのセンサー類が全て搭載されているとは限らないことに注意してください(コストの兼ね合いで、LiDARを搭載していない自動運転車も存在します)。

J3L70NT.jpg自動運転車のセンサー類
(出典:Localization Requirements for Autonomous Vehicles, ResearchGate

上図のとおり、自動運転車には様々な種類のセンサーが搭載されていることが分かります。

GPS/IMU・カメラ・レーダー、そしてLiDARなどを使用し、車両の現在位置や道路標識、路上の物体(他の車両、歩行者など)など、ドライビング環境を把握するためのデータをリアルタイムに収集します。このように得られたデータをPerception layerおよびDecision layerのディープラーニング・モデルに渡すことで、ドライビング環境に適したドライビングを実現します。

それでは、各センサーの仕組みと役割を見ていきましょう。

GPS/IMU

GPSは米国で運用されている全地球的測位システム(GNSS)であり、自動運転車の位置情報を測定するために使用されます。

GPS衛星の信号には、衛星に搭載された時計(原子時計)からの時刻データや衛星の軌道情報などが含まれています。自動運転車に搭載された受信器でGPS信号を受信し、その発信時刻を測定し、発信と受信との時刻差を基にGPS衛星からの距離を測定します。この測定を自動運転車が走行している地域の上空にある4つのGPS衛星と行い、4つのGPS衛星との距離から、自動運転車の現在位置を測定します。

なお、GPSによる現在位置の測定には、数m単位の誤差が生じる場合があります。
この誤差は、ナビゲーション・システムのようなルート案内では大きな問題にはなりませんが、自動運転車の現在位置測定においては大きな誤差になり、事故に繋がる可能性があります。また、上図のように、自動運転車が建物やトンネルなどに隠れた場合、現在位置が正確に測定できなくなるという問題もあります。

そこで自動運転では、現在位置の測定をGPSのみに頼るのではなく、加速度センサーやジャイロ・センサーを組み合わせたIMU(慣性センサー)を使用して車両の方位・速度・加速度を取得し、現在位置を補正します。

しかし、IMUによる現在位置測定においても、僅かな誤差の蓄積によって誤差が大きくなる可能性があります。このため、LiDARやレーダーなどで得られたドライビング環境の情報やHD Mapとを融合し、自動運転車の現在位置の精度を高めていきます。

カメラ

カメラは自動運転車のドライビング環境を画像として取得するために使用されます。 自動運転車以前からカメラは使用されており、車両の死角を人間のドライバーが目視で確認するアラウンド・ビュー・モニタは、実際に利用している方も多いのではないでしょうか。

その他、自動運転車においては、道路のレーン・マーカーやドライビング情報(道路標識や路上の他車両、障害物、歩行者など)を取得するために使用されます。取得された画像はPerception layerのディープラーニング・モデルに渡され、道路標識や障害物などの認識に利用されます。

LiDAR

LiDARはレーザー光の反射を利用することで、自車両と物体間の距離や、物体の形状を正確に計測するために使用されます。なお、回転制御によってレーザー光を垂直・水平方向に照射することで、立体形状を把握することもできます。

LiDARは小型・低コスト化が進んでおり、自動運転車への普及が進んでいます。

ミリ波レーダー/超音波センサー

ミリ波レーダーや超音波センサーは、電磁パルスや超音波によって物体の検出や速度などを計測するために使用されます。

ミリ波レーダーは電波を送信し、物体からの反射波を受信して計測することで、物体までの距離や方角、立体形状、速度などを測定します。100~200m程度の長距離まで測定が可能であり、環境(トンネル内など暗い環境や天候など)に左右されにくいという特徴があります。この特性を活かし、クルーズコントロールや衝突回避などに利用されます。

超音波センサーは超音波を送信し、物体からの反射時間を計測することで、物体までの距離を測定します。物体の検出範囲が他のセンサーと比較して狭いため、低速走行時にカメラなどと組み合わせることで、セルフパーキングなどに利用されます。

攻撃手法

ここからは、センサー類に対する攻撃手法を見ていきましょう。

以下の図は、第1回ブログでも取り上げた「自動運転車の攻撃経路」を表しています。
青い四角が自動運転車の構成要素、赤い破線四角が各構成要素に対する攻撃を表しています。

fA565nd.png自動運転車の攻撃経路(再掲)
(出典:Deep Learning-Based Autonomous Driving Systems, arXiv.org

上図を見ると、Sensing layerに対する攻撃は「Physical attacks(物理的攻撃)」と「Adversarial evasion attacks(敵対的回避攻撃)」が存在することが分かりますが、本ブログでは、物理的攻撃に焦点を当てます。なお、敵対的回避攻撃は、「第4回:意思決定モデルに対する敵対的攻撃 - 回避攻撃 -」にて取り上げることにします。

Sensing layerに対する物理的攻撃

自動運転車とドライビング環境とを繋ぐインタフェースの役割を果たすSensing layerは、攻撃者にとっても攻撃の入り口になるため、外部からの物理的攻撃に晒される危険性が高くなります。センサー類が攻撃を受け、多くのセンサーが良質な生データを収集できなくなる、または、偽のデータを収集させられるなどした場合、後続のディープラーニング・モデルの性能が著しく低下することになります。

Sensing layerに対する物理的攻撃は、センサーによるデータの収集を妨害する「Jamming attack」と、センサーに偽の信号を送信する「Spoofing attack」の2種類に分けられます。

Jamming attack

Jamming attackは専用のハードウェアを使用してノイズをばら撒き、センサーのデータ品質を低下させることで物体検出などのタスクを妨害します。

上図のように、Jamming attackは電波妨害を引き起こすイメージが強いですが、自動運転車に搭載されているカメラやLiDARなどに対するJamming attackも数多く提案されています。

それでは、各センサーに対するJamming attackを見ていきましょう。

カメラに対するJamming attack

J.Petit氏らは、カメラ「MobilEye C2-270」に強い光を照射することで、カメラの目を"くらませる"攻撃手法を提案しています。

以下の図は、本攻撃手法を検証した様子を表しています。

C6ztWuO.png強い光を当ててカメラの目を"くらませる"
(出典:Remote Attacks on Automated Vehicles Sensors: Experiments on Camera and LiDAR, Black Hat Europe 2015

カメラに周囲環境よりも強い光が照射されると、カメラの自動露出機能が正常に作動しなくなります。これにより、撮影された画像は露出過多に陥ります。上図の(a)は光を照射していない状態、(b)は光を照射した状態を表しています。また、(c)はそれぞれの状態におけるカラートーン分布を表しています(赤が光を照射した場合の分布、青が照射していない場合の分布)。

光を照射することで、結果としてカラートーンの分布が変わり、右側にピークのあるヒストグラムとなっています。当然ながら、この画像をPerception layerのディープラーニング・モデルに入力しても、物体の検出を正確に行うことはできなくなります。

また、C.Yan氏らは、カメラ「MobilEye, Point Grey」にレーザーを照射することで、カメラのセンサーを破壊する攻撃手法を提案しています。

カメラは光を電気に変えることで、撮影した物体を画像として取り込みます。このため、レーザーのような強い光をレンズの1点に向けて照射した場合、強い電流が流れることでセンサーが"焼ける"ことになります。

以下の図は、本攻撃手法を検証した様子を表しています。

zN68EuP.pngレーザーを照射してカメラのセンサーを"焼く"
(出典:Can You Trust Autonomous Vehicles?, DEF CON 24

レーザーをカメラのレンズに照射することでセンサーが破壊され、撮影した画像の左上に黒い線が表れていることが分かります。この画像をPerception layerのディープラーニング・モデルに入力した場合、黒い線の影響により、物体検出の精度が低下する可能性があります。

LiDARに対するJamming attack

H.Shin氏らは、LiDAR「Velodyne VLP-16など」に強い光を照射することで、LiDARによる距離測定や物体検知を妨害する攻撃手法を提案しています。

以下の図は、標的のLiDAR(Victim lidar)に対して同じ波長の強い光を照射することで、LiDARの物体検出を不能(飽和状態)にする攻撃例を表しています。

攻撃者(Attacker vehicle)が照射した光が標的のLiDARの受信部に入射すると飽和状態になり、距離の測定や物体検出ができなくなります。

なお、LiDARの受信角度は狭いため、受信部に直接攻撃用の光が入射しないこともあります。しかし、以下の図のように湾曲した受光ガラスを採用したLiDARにおいては、受光ガラスに強い光が斜めから入射することで、攻撃側の光源とは別の方向に偽のドット(Multiple induced fake dots)を作り出すことができます。

このように、攻撃によって飽和状態や偽のドットを作り出すことで、物体検出が不能にされる・妨害される可能性があります。

超音波センサーに対するJamming attack

C.Yan氏らは、超音波センサーに妨害用超音波を送信することで、セルフパーキングにおける物体検知を妨害する攻撃手法を提案しています。

上述したように、超音波センサーは超音波を発射し、物体からの反射の時間を測定することで距離を計測します。そこで本手法では、以下の図に示すように、セルフパーキング時に妨害用超音波(40〜50kHz)を超音波センサーに送信することで、超音波センサーが正規の反射波(Echo pulse)を受信することを妨害します。

jGmOcwG.png正規の超音波信号(上)と妨害用の超音波信号(下)
(出典:Can You Trust Autonomous Vehicles?, DEF CON 24

以下の図は、攻撃検証の実験環境を表しています。
この検証では、妨害用超音波の送信器(A)を駐車スペースの一角に固定配置し、その傍らに人を立たせています。そして、セルフパーキング時に、自動運転車が人と発信器を正しく検知できるのか確認しています。

VPmIWdL.png妨害用超音波の送信器(A)と車載の超音波センサー(B)
(出典:Can You Trust Autonomous Vehicles?, DEF CON 24

以下の図は、TeslaとAudiの実車を使用した検証結果を表しています。
妨害用超音波を送信していない場合(Normal)は、車両前方の物体を正しく検知していることが分かります。一方、妨害用超音波を送信した場合(Jammed)は、物体をまったく検知できていないことが分かります。

ebZ46H0.png妨害用超音波によって物体検知が妨害された様子
(出典:Can You Trust Autonomous Vehicles?, DEF CON 24

このように、妨害用超音波を送信して超音波センサーの反射波の受信を妨害することで、物体検知を妨害することが可能となります。

ミリ波レーダーに対するJamming attack

C.Yan氏らは、ミリ波レーダーに妨害用ミリ波を送信することで、ミリ波レーダーを利用した物体検知(衝突回避)を妨害する攻撃手法を提案しています。

上述したように、ミリ波レーダーは物体にミリ波を発射し、物体からの反射波を受信して計測することで、物体までの距離や方角・立体形状・速度などを測定します。

以下の図は、攻撃検証の実験環境を表しています。

本検証では、車両に搭載されたミリ波レーダー(A)の特性(周波数、帯域、変調方式など)をオシロスコープ(B)とアナライザ(C)で分析します。そして、同じ特性を持った妨害用ミリ波を信号生成器(D)と周波数乗算器(E)で生成し、これをミリ波レーダーに送信しています。

以下の図は、アナライザで分析したミリ波レーダーの特性をオシロスコープで表示した様子を表しています。周波数は76.65GHz, 帯域は450MHz, 変調方式はFMCWであることが分かります。

09UOOOQ.png攻撃対象のミリ波レーダーを分析した結果
(出典:Can You Trust Autonomous Vehicles?, DEF CON 24

以下の図は、Teslaの実車を使用した検証結果を表しています。
妨害用ミリ波を送信していない場合(b)は、車両前方にある物体を正しく検知していることが分かります。一方、妨害用ミリ波を送信した場合(c)は、物体をまったく検知できていないことが分かります。

Tbbk2Ex.png妨害用ミリ波によって物体検知が妨害された様子
(出典:Can You Trust Autonomous Vehicles?, DEF CON 24

このように、妨害用ミリ波を送信してミリ波レーダーの反射波の受信を妨害することで、物体検知を妨害することが可能となります。

IMUに対するJamming attack

Y.Son氏らは、角速度を計測するIMU(MEMS式ジャイロセンサー)に音響ノイズを照射することで、角速度の計測を妨害する攻撃手法を提案しています。本手法はMEMS式ジャイロセンサーを搭載したUAV(Unmanned Aerial Vehicle)を使用した検証が行われており、攻撃によってUAVを墜落させることに成功しています。

ここで、MEMS式ジャイロセンサーをご存知でない方も多いかと思いますので、当センサーで角速度を計測する原理を簡単に説明します。先ずは以下の動画をご覧ください。


MEMS式ジャイロセンサーによる角速度の計測
(出典:silicon ring-based MEMS gyro - Demonstration of function, Silicon Sensing Systems

MEMS式ジャイロセンサーは、内蔵したシリコンリングに共振振動を与え、リングに「横に伸ばされる↔縦に延ばされる」力を加えることで楕円変形を繰り返させます。この動画では、シリコンリングを黄色い輪で表しています。センサーに角速度が加わっていない場合、リング上の2つの点(緑とオレンジ)は動いていないことが分かります。一方、センサーに角速度が加わった場合、リングの形状がコリオリの力により湾曲し、2つの点が動いていることが分かります。MEMS式ジャイロセンサーではこの動きを検出することで、角速度を求めることができます。

つまり、MEMS式ジャイロセンサーで正しい角速度を計測するには、内蔵したシリコンリングに一定の共振振動を加え続けることが重要になります。この共振振動が何らかの作用で狂わされた場合、当然のことながら正しい角速度を計測することができなくなります

なお、MEMS式ジャイロセンサーにはその構造に応じた共振周波数が設定されているため、同じ共振周波数帯の音響ノイズが加えられると予期せぬ共振が生じ、誤った角速度を計測してしまうことが知られています。通常、日常生活で発生する音響ノイズによる共振を抑えるため、MEMS式ジャイロセンサーの共振周波数は可聴周波数以上(20kHz以上)で設計されています。しかし、センサーの中には、可聴周波数帯に共振周波数を持つ製品も存在します。このため、これらのセンサーに(生活音に混じった)悪意のある音響ノイズが注入された場合、偽の角速度を検出することになります。

Y.Sonらの検証では、現実的に攻撃可能なMEMS式ジャイロセンサーを選定するために、複数製品の共振周波数を調査しています。以下の表の右端のカラム(Resonant freq. in the experiment (axis))は、調査によって判明した各センサーの共振周波数を表しています。

上表のとおり、STM社やIS社が製造する7つのセンサーの共振周波数が判明しています。
この7つのセンサーの内、STM社のセンサーの共振周波数は可聴周波数帯(約20Hz〜20kHz)、IS社のセンサーの共振周波数は20kHzを超える超音波帯に位置していることが分かります。この結果から、特にSTM社のセンサーは音響ノイズの影響を受ける可能性が高いことが分かります。

本検証では、STM社のセンサー「L3G4200D」とIS社のセンサー「MPU6000」を搭載した2種類のUAVをDIYし、これらに音響ノイズを加えることで、UAVの挙動の変化を観察しています。なお、攻撃用の音響ノイズは、センサーから10cmの距離に取り付けた小型スピーカから発せられる仕組みになっています。

検証結果を以下に示します。

STM社のセンサー「L3G4200D」を搭載したUAV(Target Drone A)は、音響ノイズによってX,Y,Z軸方向に共振が発生しています。この結果、全ての軸の角速度が計測不能になり、機体を制御できずに墜落する結果となりました。一方、IS社のセンサー「MPU6000」を搭載したUAV(Target Drone B)はZ軸方向に共振が発生したものの、X,Y軸の角速度は計測できたため、機体は制御不能に至りませんでした。

この検証結果から、可聴周波数帯に共振周波数を持つMEMS式ジャイロセンサーは音響ノイズに脆弱であり、攻撃を受けることで角速度の計測が不能になることが分かりました。なお、本例はUAVを使用した検証でしたが、同じ特性のジャイロセンサーが搭載された自動運転車に対して攻撃が行われた場合、同様に角速度の計測が不能になり、車両の現在位置測定や制御に影響を及ぼす可能性があります。

GPS信号に対するJamming attack

G.Kar氏らは、GPS信号の妨害電波を送信することで、GPSによる位置情報の測定を妨害する攻撃手法を提案しています。

一般的に、GPS信号を妨害する機器は「GPS Jammer」と呼ばれており、ハイエンドな防衛関連機器から個人レベルの安価な機器まで様々なものが存在します。本検証では、(一般のドライバーがプライバシー保護を目的に)GPS車両追跡システムを回避するために使用する安価なGPS Jammerを使用しています。

以下の図は、本検証で使用したGPS Jammerを表しています。

GPS Jammerは、100kHz以下の帯域幅で変調されていない連続波信号を単純に送信したり、様々な帯域の信号を切り替えながら送信することができます。本検証では、単純な妨害信号を送信するのみで、容易にGPS信号の受信を妨害できることを確認しています。

Spoofing attack

Spoofing attackは、攻撃者が偽装した信号をセンサーに注入する攻撃です。偽装された信号は自動運転車のドライビング環境の把握に影響を与え、その結果事故が誘発されることになります。

カメラに対するSpoofing attack

D. Nassi氏らは、プロジェクタで投影した偽物体を物体検知カメラ「Mobileye 630 PRO」に与えることで、物体検知カメラに偽の物体を認識させる攻撃手法を提案しています。

本検証では、DJI社のUAV「Matrice 600」に搭載したプロジェクタを使用し、壁や街路樹などに偽の道路標識を投影することで、物体検知カメラを騙すことを試みています。以下の図は、検証の様子を表しています。

zMu0Baq.pngカメラが偽の道路標識を検出した様子
(出典:MobilBye: Attacking ADAS with Camera Spoofing, arXiv.org

本検証では、壁に偽の「時速90km速度制限標識」を投影することで、物体検知カメラに本物の道路標識として認識させることに成功しています。このように、プロジェクタで偽の物体を投影するという単純な方法であっても、物体検知カメラを容易に騙すことが可能となります。

また、W.Xu氏らは、物体検知カメラに音響ノイズを加えることで、物体検知カメラから「物体を秘匿する」「存在しない物体を検知させる」「異なる物体として認識させる」攻撃手法を提案しています。

多くのカメラにはIMU(慣性センサー)が搭載されており、手ブレを補正したクリアな画像を撮影することができます。本検証では、(手ブレのない)固定されたカメラ(IMU内蔵)に音響ノイズを加えることで手ブレを誤認識させ、手ブレ防止機能を誤作動させます。そして、撮影された「ぼやけた画像」をディープラーニング・ベースの物体検知モデルに与えることで、物体の秘匿や誤検知などを試みています。

以下の図は、本検証の実験環境を表しています。

車両のフロントガラスに物体検知モデル(YOLO, Faster R-CNN)を内蔵したスマートフォンを設置し、走行中の映像をリアルタイムに撮影しながら物体検知を行います。また、スマートフォンから10cmの距離にスピーカーを設置し、スマートフォンに向けて音響ノイズを照射します。

以下の図は、上から「物体の秘匿」「存在しない物体の認識」「異なる物体として認識」させた検証結果を表しています。なお、左端の画像は攻撃を行う前のクリアな画像、右の3枚の画像は攻撃を受けて「ぼやけた画像」を表しています。

上段の画像は銀色の車です。
攻撃を行う前は正しく車として認識していますが、攻撃を行うことでまったく検知できていないことが分かります。

中段の画像は遠目に家や街路樹が写り込んでいます。
攻撃を行う前は物体検知していませんが、攻撃を行うことでそれぞれ車(car)・ボート(boat)・人間(person)として誤認識していることが分かります。

下段の画像は赤色の車です。
攻撃を行う前は正しく車として認識していますが、攻撃を行うことでそれぞれバス(bus)・ボトル(bottle)・人間(person)として誤認識していることが分かります。

このように、IMUを内蔵したカメラに音響ノイズを加えて「ぼやけた画像」を撮影させることで、後続のディープラーニング・モデルを騙すことが可能となります。

LiDARに対するSpoofing attack

J.Petit氏らは、LiDAR「ibeo LUX 3」の反射信号を遅延させることで、LiDARに物体までの距離を誤って計測させる攻撃手法を提案しています。

上述したように、LiDARはレーザー光が物体に反射して返ってくるまでの時間を計測することで物体までの距離や形状を検出します。本検証では、反射される信号を遅延させることで、LiDARに物体までの距離を誤らせることを試みています。

以下の図は、本検証の実験環境を表しています。

LiDAR(A)から1mの距離にトランシーバ(B)を設置しています。トランシーバには2つのパルス生成器(P1, P2)が接続されており、トランシーバがLiDARの入力信号を受け取ると、P1->P2->Bの順に信号が伝搬され、この伝搬の過程で遅延が発生します。また、パルス生成器が生成した(LiDARの受信信号に似た)信号をトランシーバ経由でLiDARに送信する仕組みになっています。

以下が本検証の結果です。

結果(a)に示す通り、LiDARは約50m離れた場所に(壁のような)物体が存在すると誤検出しています。また、(b)に示すように、パルス生成器で複数の偽信号を生成することで、複数の偽物体を誤検出させることにも成功しています。

このように、反射される信号を遅延させたり、偽の信号を生成することで、距離の測定や物体検知を誤らせることが可能となります。

超音波センサー/ミリ波レーダーに対するSpoofing attack

C.Yan氏らは、超音波センサーに偽の反射波を送信することで、超音波センサーに物体までの距離を誤って計測させる攻撃手法を提案しています。

上述したように、超音波センサーは超音波を発射し、物体からの反射の時間を測定することで距離を計測します。そこで本検証では、以下の図に示すように、正規の反射波(Echo pulse)が超音波センサーに到達する前に偽の反射波(Spoofing Pulses)を送信することで、物体までの距離を偽装しています。

BYgG8Nk.png正規の超音波信号(上)と偽装した超音波信号(下)
(出典:Can You Trust Autonomous Vehicles?, DEF CON 24

以下の図は、TeslaとAudiの車両を使用した検証結果を表しています。
反射波を偽装しない場合(Tesla Normal)は、車両の左前方に配置された物体までの距離(66cm)を正しく計測できていることが分かります。一方、反射波を偽装した場合(Tesla Spoofed)は、物体までの距離(30cm)を誤って計測していることが分かります。Audiの車両を使用した場合でも、同様の手法で偽の物体を計測させることに成功しています。

CcknkXi.png妨害用超音波によって物体検知が妨害された様子
(出典:Can You Trust Autonomous Vehicles?, DEF CON 24

同じくC.Yan氏らは、ミリ波レーダーに偽の受信信号(RF Signal)を送信することで、ミリ波レーダーに物体までの距離を誤って計測させる攻撃手法も提案しています。

このように、超音波センサーやミリ波レーダーに偽装した反射波および受信信号を送信することで、偽の距離や物体を検知させることが可能となります。

GPSに対するSpoofing attack

K.Zeng氏らは、ナビゲーションシステムに偽の信号を受信させることで、被害者のドライバーに気づかれることなく車両の目的地を変更させる攻撃手法を提案しています。

一般的に、民生用のGPSに対してSpoofing attackを実行する場合、攻撃者は標的のGPS受信器に接近し、正規の信号から偽装した信号に移行させることでGPS信号を乗っ取ります。そして、乗っ取ったGPS信号をGPS受信器に送信することで、ナビゲーションを任意に操作します。なお、K.Zengらによると、GPS信号を乗っ取る方法は「ブルートフォース方式」と「スムース方式」に分けられます。

  • ブルートフォース方式
    攻撃者は偽の信号を高出力で送信することで、標的のGPS受信器に正規の信号を見失わせます。これにより、GPS受信器は、出力の強い偽の信号に移行(ロックオン)します。
  • スムース方式
    攻撃者は正規の信号と同期した偽の信号を送信し、徐々に偽の信号の出力を強めていくことでGPS受信器を偽の信号にロックオンさせます。スムース方式はブルートフォース方式と比較して信号の出力が急激に変化しないため、ステルス性が高いというメリットがあります。しかし、標的のGPS受信器が受信する正規の信号をリアルタイムに追跡し、この信号に同期させるための専用ハードウェアを用意する必要があります(非常にコストがかかる)。

上記何れかの方式でGPS信号を乗っ取った後は、攻撃者は信号の到着時間をずらす、ナビゲーションメッセージを変更するなどして、ナビゲーションを任意に操作します。

本検証では、スムース方式でGPS信号を乗っ取る装置「GPS Spoofer」を独自開発しており、Raspberry PiやHackRF ONE SDRなどを組み合わることで小型軽量・低コスト(約223USD)を実現しています。以下の図のFigure 1は、本検証で開発したGPS Spooferを表しています。写真上部のペンと比較すると、その小ささが分かるかと思います。

このGPS Spooferを使用して攻撃を行うには、上図のFigure 2に示すように、GPS Spooferを被害者の車の中に隠す、または、車の下に貼り付けるなどして、正規のGPS受信器の近くにGPS Spooferを設置します。そして、携帯電話接続を介してSSHでGPS Spooferにリモート・ログインし、偽の信号を送信することでGPS信号の乗っ取りを行います。なお、GPS Spooferを被害者の車に設置できない場合、GPS SpooferをUAVに搭載して被害者の車を尾行させることで攻撃を実行します。

本検証はシミュレーション環境と実車環境で行われ、両環境でSpoofingに成功しています。
本ブログでは、実車環境における検証結果を紹介します。

以下の図は実車環境におけるナビゲーション・ルートであり、オリジナルのルートを「A→D」、本攻撃で作り出した偽の車両位置(ゴースト位置)を「B」、実際にナビゲーションシステムが示した目的地を「C」で表しています。なお、標的となるナビゲーションシステムは、スマートフォン(XIAOMI MIX2(Android 8.0)とHUAWEI P8(Android 6.0))上で動作するGoogle Maps(v9.72.2)としています。

xuredk6.pngGPS信号が乗っ取られることで誤った目的地に誘導された様子
(出典:All Your GPS Are Belong To Us: Towards Stealthy Manipulation of Road Navigation Systems, 27th USENIX Security Symposium

Figure 6(a)の検証では、攻撃者はゴースト位置をオリジナル・ルート上の別地点に設定しています。検証の結果、ナビゲーションシステムは本来の目的地から約2.1km離れた地点「C」に目的地を設定することが分かりました。

Figure 6(b)の検証では、攻撃者はオリジナル・ルートから外れた地点にゴースト位置を設定しています。検証の結果、ナビゲーションシステムは本来の目的地から約2.5km離れた地点「C」に目的地を設定することが分かりました。

このように、GPS Spooferを使用して偽の信号を送信することで、ナビゲーションシステムを操作することが可能となります。

防御手法

ここからは、センサー類に対する物理的攻撃の防御手法を見ていきましょう。

なお、本ブログの引用論文「Deep Learning-Based Autonomous Driving Systems: A Survey of Attacks and Defenses」では、以下の図に示す防御フレームワークを提案しています。

qCkkEZ0.png自動運転車における防御フレームワーク
(出典:Deep Learning-Based Autonomous Driving Systems: A Survey of Attacks and Defenses

この防御フレームワークは「ハードウェアの冗長化(Hardware redundancy)」「堅牢なモデルの作成(Robust trained models)」「モデルのテストと検証(Model testing and verification)」「異常検知(Anomaly detection system)」の4つの戦略から構成されています。

本ブログのメインテーマであるセンサー類(Sensing layer)の防御戦略は「ハードウェアの冗長化」にあたります。これまで説明してきたように、センサー類に対する攻撃手法は特定の1つのセンサー/カメラに焦点を当てているため、複数のセンサーを冗長化してドライビング環境の情報を取得することは、自動運転車の堅牢性向上には効果的です。

また、近年のV2Xネットワークの発展により、自動運転車は路肩に設置された監視カメラや近くを走行している他車両などから情報を受け取ることができます。V2Xネットワーク経由で取得したセンサー・データと、自車両のセンサーから収集したデータを融合させることで、仮に自車両のセンサー類が攻撃を受けた場合でも、攻撃の影響を緩和することができると考えられます。

しかし、冗長化はセンサーやカメラを複数配置する必要があるため、コストが多くかかるという課題があります。また、複数のセンサーやカメラで収集したデータを融合することには、技術的なハードルが高いという課題もあります。

そこで本ブログでは、ハードウェア冗長化以外の防御手法も幾つか紹介します。

フィルタリング

カメラのレンズにフィルターを取り付けることで、カメラの堅牢性を高める方法です。

例えば、赤外線をカットするIRフィルター(赤外線カットフィルター)をレンズに取り付けることで、人間の可視光を超える範囲の光情報がカメラのイメージセンサーに伝わるのを防ぎ、カメラで撮影した画像の品質を向上させます。また、フォトクロミックレンズ(調光レンズ)を使用して特定の種類の光をカットし、カメラの堅牢性を向上させる方法もあります。このようなフィルターをカメラに取り付けることで、カメラのレンズに強い光を照射するタイプの攻撃をある程度防ぐことができると考えられます。

妨害信号の検出

妨害用超音波や妨害用ミリ波を検出する方法です。

通常の環境では超音波やミリ波などのノイズは殆ど発生しないと考えられるため、高感度レシーバーなどの妨害信号を探査する機器を使用し、妨害信号の検出を試みます。仮に妨害信号を検出した場合、ドライバーに警告を発する、走行を停止するなどの措置をとることで、事故を未然に防ぐことができると考えられます。

GPSの精度向上

GPS信号の精度を向上させる方法です。

GPS信号の乗っ取りや妨害を防ぐために、路肩に設置されたモニタリングシステムや携帯電話などの複数のソースからGPS信号を取得します。複数のソースから取得したGPS信号を融合して精度を向上させることは、特にJamming attackの防御には有効であると考えられます。

データ収集のランダム化

反射信号や反射波をランダムに収集することで、Spoofing attackを防ぐ方法です。

例えば、反射信号を受信するためのプローブ・ウィンドウが固定されているLiDARの場合、攻撃者はLiDARに対して攻撃を行うことが容易になります。そこで、プローブ・ウィンドウをランダムに設定することで、攻撃者が偽の反射信号をLiDARに送信することを困難にします。


以上、センサー類に対する物理的攻撃の防御手法を幾つか見てきました。

なお、防御手法を破る攻撃手法は常に生み出されていますので、一つの防御手法のみを採用するのではなく、自動運転車に搭載されているセンサーの種類に合わせて、複数の防御手法を組み合わせる多層防御の観点が重要であると言えます。

さいごに

本ブログでは、自動運転車に搭載されるセンサー類に対する攻撃手法と防御手法を紹介しました。

センサー類に対する物理的攻撃は多岐にわたりますが、攻撃の成立には幾つかのハードルがあります。例えば、提案されている多くの攻撃手法は、標的となる自動運転車に接近して実行する必要があります。また、カメラに強い光を照射して"カメラの目をくらませる"攻撃やレーザーを照射する攻撃では、人間のドライバーが攻撃を容易に認識できるため、自動運転から手動運転に切り替えられた場合に攻撃が失敗する可能性が高くなります。

このことは逆に、レベル5のように高度に自動化された自動運転車の場合でも、攻撃を受けた場合に備えて車内に人間のドライバーを乗せておく必要があると言えます。

物理的攻撃の特性と現実的な脅威を見極め、また、コストや技術的困難さを鑑みた上で現実的な防御手法を採用する必要があるでしょう。

さいごに、自動運転車に関するニュースを見る限り、自動運転者の開発や成果に焦点が当てられるあまり、セキュリティの議論が置き去りになっていると感じます。車両の開発に加えてセキュリティを考慮することは「追加のコスト」と考えられがちですが、自動運転車は人命に直接関係するものであるため、走行性能に加え、セキュリティも十分に考慮されるべきと考えます。

本ブログはこれで終了となります。
次回は「第3回:クラウド連携に対するサイバー攻撃」となります。

AIセキュリティのトレーニング

弊社は株式会社ChillStackと共同で、AIの開発・提供・利用を安全に行うためのトレーニングを提供しています。

本トレーニングでは、ディープラーニング・モデルに対する様々な攻撃手法(汚染攻撃・回避攻撃など)とその対策を、ハンズオントレーニングとeラーニングを通じて理解することができます。

本トレーニングの詳細やお問い合わせにつきましては、弊社窓口、または、AIディフェンス研究所をご覧ください。

最後までご覧いただき、誠にありがとうございました。

以上

おすすめ記事