★☆★JNSAメールマガジン 第40号 2014.7.25.☆★☆
すべてのネットワークエンジニアが、「IoT : Internet of Things」という用語を気にすべき時が近づいているようです。この用語がすでに爆発的に流行していることは「Google Trends」[1]の傾向が示しています。
IoTとは、私たちの周りに存在する「モノ」のデジタル化比率を高めることによって、インターネットに接続し、情報をやり取りすることで新しい価値を生み出すという概念です。IoTによって、さまざまなデバイスがオンラインになります。このため、これらデバイスと連動するサービス(アプリ/クラウド)、それらを結ぶネットワークのセキュリティを確保することは新たな挑戦といえます。
今日はそんな挑戦を続けている分野の一つとして、無線技術を使用した「運行支援プロトコル」を紹介します。
運行支援プロトコルとは、航法システムの一つです。自機の周りを航行する航空機・船舶の情報を管制官に代わって機長/船長に伝えるシステムです。航空分野においては「放送型自動従属監視(ADS-B : Automatic Dependent Surveillance-Broadcast)」と呼ばれます。船舶分野においては「自動船舶識別装置(AIS : Automatic Identification System)」と呼ばれます。
ADS-B/AISプロトコルのそれぞれが対象としている分野は異なります。しかし、その技術を必要としている背景や根幹を支えている技術は類似しています。現在、空・海域は管制官や機長/船長の処理容量を超過した交通量による安全性確保の限界が懸念されています。有視界航行のような限られた情報を頼りにした航行では、衝突という最悪の結果を招く恐れがあることを歴史[2]が証明しています。衝突を回避するためには、航行中における互いの現在位置を機長/船長が把握しあうことは重要です。そこでADS-B/AISでは、GPSで受信した自分の位置情報を無線技術によって放送します。これにより、放送の受信範囲内を航行する他の機体と情報を共有しあうことが実現されました。
ADS-B/AISが伝える情報は位置情報だけではありません。識別符号、進路及び速度等の状況情報が併せて伝えられています。また、ADS-B/AISの利点は機長/船長だけでなく、受信範囲内にある管制官やサービス事業者[3][4]にも共有されるということです。ADS-B/AIS信号を受信し活用することで、コンピュータ処理しやすいデジタル化された情報を元に航行の安全性を確保することができます。これにより機長/船長/管制官に係る負担の軽減が期待されています。そして私たちは搭乗予定の機体がどこを航行しているのかスマートフォンを使ってリアルタイムに知る手段を得ました。
このようにデジタル化比率が高まったことにより、機体同士の相互連携と、効率的な輸送手段の実現を期待することができそうです。これはIoTによる「光」の側面と言えます。IoTのセキュリティを語るには、対する「闇」の側面を知る必要があります。
ADS-B/AISプロトコルを使ったシステムでは共有される情報を性善説に基づいて処理が行われています。すなわち、情報の信頼性や精度は被監視側に依存しています。コンピュータセキュリティに携わっていれば、すべてのデータを無条件に信頼し受信することが如何に危険な行為であるか身をもって体験しているはずです。
IoTにおけるセキュリティ状況をのぞき見ると、このような行き過ぎた信頼関係によってサイバーテロの可能性にさらされている状況がいくつか確認できます。
破損データによる予期せぬ事態、意図的に汚染されたデータの送信。盗聴、なりすましといった被害が予測されます。既にトレンドマイクロをはじめとするセキュリティ会社によって、運行支援プロトコルに対し市販の無線機とパソコンを使って偽情報が送信できることを実証実験にて証明されています[5][6][7][8]。
ここで、運行支援プロトコルを悪用する現実的な攻撃シナリオを考察してみます。運行支援プロトコルを利用する攻撃は、受動的または能動的な観点で分類することができます。受動的な攻撃として、追跡行為が挙げられます。特定の機体が発信する信号を傍受し続けることで追跡が可能となります。これは、秘密にすべき貨物機の飛行経路や漁労行為の末に獲得した漁場情報などの漏えいにつながる危険性があります。
能動的な攻撃として、なりすましと悪意あるペイロードが挙げられます。これらは、細工を施したADS-B/AIS信号からはじまります。運行支援プロトコルを収集、公開を行っているサービス事業者に対して、偽装信号を送信することで実際とは異なる航路を示すことができます[9]。機体の身元を検証可能とする情報が付与されていないため、なりすましや大量に偽装した信号送信するSmurf攻撃が懸念されます。このような偽情報は実際の航行に混乱を来す恐れがあります。
運行支援プロトコルを受信する機器に信号の妥当性を検証する機構が無い場合、悪意あるペイロードの受信につながる可能性があります。攻撃者によって、ペイロードにコントロールシステムをクラッシュさせる信号や、連動するシステムのデータベース破壊を狙った信号が含められる恐れがあります[10]。
IoT技術によって相互接続性が高まりました。これに伴い、新たな脅威を想定したセキュアなプロコトルデザインが求められています。「運行支援プロトコル」に存在する問題点は、プロトコルの核となる部分に存在します。したがって、その修正は簡単なことではありません。しかし、サイバーテロやハクティビストの存在といった脅威の数々を考慮すると、見過ごすことはできません。
他のIoTシステムにおいても類似する制限事項や問題点に悩まされています。「何を」「何から」「どのように」「どこで」守るのか考え続けていくことが重要といえます。
[1] Google Trends : http://www.google.com/trends/explore#q=Internet%20of%20Things