空中衝突スプーフィング攻撃を長い間待っていたが、2つ同時に登場した。さらに多くの科学者がTCASを欺くことに挑戦した。

Table of Contents

空中衝突スプーフィング攻撃を長い間待っていたが、2つ同時に登場した。さらに多くの科学者がTCASを欺くことに挑戦した。

航空機衝突回避システム(TCAS)は、飛行中の他の航空機との衝突を回避するために航空機に搭載されています。多くの電子システムと同様に、TCASは安全確保を目的として設計されたものではありません。

米国の研究者5人(バージニア工科大学のポール・M・バージェス、ティモシー・グラツィアーノ、ライアン・ガーデス、パデュー大学のバサベシュ・アマナガッタ・シヴァクマール、Z・バーカイ・チェリク)が最近TCASをテストし、不十分な点を発見した。

ArXivで公開された論文[PDF]「交通衝突回避システムの脆弱性を悪用する実現可能性について」の中で、サイバーセキュリティの専門家たちは、少なくとも実験室環境では、TCASがスプーフィングに対して脆弱であることを発見しました。具体的には、TCAS信号を偽装し、衝突コース上に架空の航空機を出現させ、ソフトウェアにパイロットに回避行動を推奨させるという試みが行われました。彼らは理論上はそれが可能であることを証明しましたが、現実にそれを実行するために必要な精度には達していませんでした。

この研究は、先月英国で明らかにされた同様のなりすまし研究に続くものである。

「これまで、TCASは非常に複雑なシステムであるため、ある種の隠蔽によるセキュリティが確保されてきました」とアメリカの新聞は説明している。「しかし、我々は、比較的少ないリソースしか持たない攻撃者でもTCASの重要な信号を再現し、攻撃を仕掛けることができることを示しました。」

TCAS(国際的には航空機衝突回避システム、ACAS)は、近距離空中衝突(NMAC)を防止するために使用されます。これは航空交通管制(ATC)とは別のシステムです。TCASは、航空機搭載のトランスポンダーを介して航空機間でメッセージを送受信します。トランスポンダーは、1030MHzの周波数帯で近くの航空機の位置と識別データを照会し、1090MHzの周波数帯で応答を待ちます。

これらの返答は、パイロットが接近する航空機の位置を特定するための交通勧告(TA)や、衝突の可能性を回避するために特定の行動や進路維持をパイロットに指示する解決勧告(RA)を促す可能性があります。悪意のあるRAを発行すると、パイロットはそれに従う義務があるため、飛行の遅延、突然の操縦による負傷、最悪の場合、墜落につながる可能性があります。

着陸中のボーイング777型機。写真:Shutterstock

素晴らしいTCAS!情報セキュリティ研究者は、いつでも旅客機を上昇させることができると語る

続きを読む

2002年7月、バシコルトスタン航空の旅客機とDHLの貨物機が南ドイツ上空で墜落した事故から1年後、国際民間航空機関(ICAO)は規則を改正し、管制官からの代替指示があった場合でもパイロットはTCASの勧告に従うべきであると規定しました。これはアメリカのFAAをはじめとする民間航空機関にも採用されています。

TCASに委ねる理由は、自動化されたシステムはより最新のデータを有し、人間の航空管制官や地上システムよりも迅速に対応できると想定されているためです。事故の約60~80%は人為的ミスによるものとされていますが[PDF]、ボーイング737 MAXで見られたように、自動化システムも問題を引き起こす可能性があります。

バージニア工科大学のコンピューター科学者で論文の著者の一人であるポール・M・バージェスは、 The Registerへの電子メールで、同チームによる TCAS に対する概念実証攻撃では、TCAS メッセージング プロトコルを使用して攻撃者と標的の航空機との距離を確かめる必要があると述べた。

「TCASは、質問メッセージを送信してから、質問を受けた航空機から応答を受信するまでの時間差を推定することでこれを行います」と彼は述べた。

この攻撃は、GNU Radio ベースのアプリケーション、Ettus Research のソフトウェア定義無線 (SDR) ハードウェア (Universal Software Radio Peripheral B210 および N2010)、および 6 つの 3.4 GHz コアと 16GB の RAM を備えた Intel Core i7-6800K を搭載した PC を利用して、TCAS を欺いて幽霊航空機を追跡させます。

これらは光速で移動する無線信号であり、一連のタイムスタンプのわずかな差異が見かけ上の範囲の数千メートルの差異に変換される。

バージェス氏は、これを機能させるには、TCAS の問い合わせを処理するシステムが応答信号の検出と応答の検出時間の記録の間の遅延を可能な限り正確に最小限に抑える必要があると説明した。「なぜなら、応答信号は光速で移動する無線信号であり、一連のタイムスタンプのわずかな差異が見かけ上の範囲の数千メートルの差異につながるからです。」

Berges氏はPythonを用いてGNU Radioベースのアプリを開発しましたが、これはアイデアの検証には十分でしたが、攻撃を完全に成功させるには至りませんでした。つまり、研究者たちはTCASメッセージの偽装には成功しましたが、Pythonの速度が遅すぎたため、幻の飛行機を配置するための計算精度があまりにもばらつきが大きかったのです。

「このアーキテクチャを使うと、TCASメッセージを検出し、I/Qサンプルからデータパケットに変換することはできるものの、信頼性の高い距離推定を行うのに十分な精度のタイムスタンプを作成できないことがわかりました」とBerges氏は述べています。「しかし、GNU Radioフレームワークは、リアルタイムアプリケーションに適した言語(例えばC++)で記述されたコンポーネントをサポートしているので、上記の2つの基準を十分に満たすカスタムコンポーネントの作成を検討したいと思います。」

バージェス氏は、別の言語で必要なパフォーマンスの向上が実現できなかった場合は、ソフトウェアからオンボード FPGA を使用するハードウェア ソリューションに移行するなど、他の選択肢もあると述べました。

ザ・レジスター紙の取材に対し、身元を伏せるよう要請したプロのパイロットは、今回の攻撃がまだ完全には解明されていないとしても、航空業界が考慮すべき懸念を生じさせると語った。

セキュリティ研究者は昨年、TCASをはじめとする航空電子システムへの攻撃の可能性について学術論文で概説しました。そして、同様の結論に達しました。「長期的には、航空電子通信システムは安全な設計を必要とする。」®

Discover More