「DEF CON」は、世界有数のセキュリティ国際会議である「Black Hat」と同時期にアメリカのラスベガスで開催されるハッカーの祭典です。Black Hatと同じくセキュリティの専門家が集う国際的なイベントですが、その歴史はBlack Hatよりも古く、今年で31回目の開催となりました。
今年のDEF CONもラスベガスの大規模なカンファレンスセンターであるCaesars Forumや、Flamingo、Linq、Harrah'sといった大きなホテルのカンファレンスルームで行われました。
今回はNRIセキュアテクノロジーズのグループ会社であり、自動車のサイバーセキュリティを専門とする株式会社NDIAS(エヌディアス)による、DEF CON参加レポートをお送りします。
DEF CONのメイン会場であるCaesars Forum
Caesars Forum内の巨大なデジタルサイネージ
NDIASは2019年よりBlack HatとDEF CONに参加しています。新型コロナウイルス流行の影響で一時期オンライン参加となっていましたが、昨年に引き続き今年も現地参加ができました。
2023年のDEF CONの様子をご紹介
ビジネス色が強いBlack Hatと比べ、DEF CONは同じ趣味をもった人たちの集まりといった印象が強く、その運営は多くのボランティアによって成り立っており、主催者と参加者が一緒に楽しもうという空気が感じられます。
Caesars Forumのエントランスに設定されたステッカー貼付用の掲示板
DEF CONの特徴の一つとして” Village(村)”と呼ばれる特定のテーマに特化したスペースの設営があげられます。Black Hat同様に大きなカンファレンスルームでのセキュリティをテーマとした講演も行われていますが、参加者の多くは自身の興味のあるVillageに赴き、他の参加者とコミュニケーションをとったり、展示やデモを見たり、ワークショップに参加したりと思い思いの時間の過ごし方をします。
VillageはIoTやクラウドといった一般的なものから、パケットハッキングやソーシャルエンジニアリングの様なハッキングスキルに特化したもの、量子力学やバイオテクノロジーといった学術的側面が強いものまで、今年も30を超える様々なビレッジが開かれていました。
Voting Machine Village(投票機器のセキュリティがテーマのVillage)に展示されていた投票機器
Hardware Hacking Village & Soldering Skills Villageでのワークショップの様子
また、例年長蛇の列が形成されるグッズ売り場は今年も健在で、初日は2時間待ちになっており、暇を持て余した人たちがビーチボールでバレーをやっていました。
販売開始を待つ人たちの列
私たちは、主に自動車セキュリティに関するイベントや講演が行われるCar Hacking Villageに参加したので、その内容について詳しくご紹介します。
CTFも行われるCar Hacking Villageに参加
Car Hacking Village(以下、CHV)は自動車セキュリティに特化した講演、展示、そしてセキュリティコンテストであるCTF(Capture The Flag)が行われています。それぞれどのような内容だったのか紹介します。
Car Hacking Village入口と会場の様子
Car Hacking Villageの講演を聴講
Car Hacking Villageの講演は、Black Hatでの講演と比較すると気軽に発表できるので、比較的内容が軽めの脆弱性に関する話や講演者が作成した解析ツールなどの紹介などが行われます。
今年は以下のような講演がありました。
会場での発表
- 電磁波の放射によりEVの充電を中断させるサイドチャネル攻撃の説明
- 発表者がCANインベーダーにより車両の盗難にあった経緯と、インベーダーの動作解析の説明
- トラックの診断情報を引き出す脆弱なVDAアダプタについての説明
- Raspberry Piを使用したUSBファジングを効率的に行うツールの説明
- CAN*のDLCフィールドのデータの不適切な取扱いの紹介
*CAN: Controller Area Networkの略で、車載ネットワークで広く利用される通信プロトコル
YouTubeのみに掲載
- BLEリレー攻撃をより長距離から行う手法の説明
- Car Hacking Village会場で販売しているバッジ(CANの送受信機能等を搭載)の紹介
今年は、事前に発表されていた講演がいくつか急に中止になるなどしましたが、オンラインだけであった昨年とは異なり、Car Hacking Village近くの発表会場で生の講演を聞くことができました。車両を盗難された発表者は界隈で有名なためか、盗難されたというスライドだけで会場がかなり湧いていました。
コンテストエリアに設営されている発表会場
(Car Hacking Villageだけでなく様々なジャンルの発表が行われる)
実際に触れられるCar Hacking Villageの展示
Car Hacking Villageでは、自動車セキュリティに関する機器が展示されています。
解析可能な自動車
会場には、昨年に引き続き脆弱性解析などを試してよい自動車が設置されていました。近年よく話題にあがる電気自動車メーカーの車両であり、無線での攻撃が可能となっていたことから、多数の参加者が、車両に向けて手持ちのFlipper Zeroのボタンを押していました。
車両の解析を試みる参加者
プログラム可能な無線デバイス「Flipper Zero」
解析練習用のテストベンチ
例年、会場には自動車解析の練習が行える自動車ネットワークを模したテストベンチが設置されており、解析用PCやチュートリアルも用意されていて誰でも自由に解析の練習を行えるようになっていました。
テストベンチと解析用PC
CTF(Capture The Flag)
DEF CONでは予選を勝ち抜いて参加できる世界最高峰のハッキング大会である『DEF CON CTF』が有名ですが、それとは別に各Village毎や特定のテーマに沿ったCTFが多数開催されます。
Car Hacking Villageでは自動車セキュリティに特化したCTFが行われており、こちらでも多数の参加者がトライしていました。Car Hacking VillageのCTFには予選が無く、当日会場に行って自由に参加することが出来ます。
Car Hacking VillageのCTFに挑むNDIASメンバー
(開始されると席は全て埋まり床に座って作業する人も)
今年のCar Hacking Village CTFは実機問題が多く出題されており、問題に着手するために機材への接続が必要で、その機会の確保に非常に苦労しました。
また、最初から全ての問題が出題されるのではなく、時間の経過とともに問題が増えていくという方式でした。
例年出題されるCAN・Bluetooth・リバースエンジニアリングに加え、Flipper Zeroという気軽に無線を扱えるツールがここ数年注目されているためか、TPMS(Tire Pressure Monitoring System; タイヤ空気圧モニタリングシステム)を使用した無線の問題が出題されました。
また、今年のCar Hacking VillageのテーマがBack To The Futureだったこともあり、BTTF風のバッジ問題も出題されました。
実機問題
実機問題として、TPMSのセンサーや、ボデーを模した模擬装置が用意されていました。
TPMSはセンシングした空気圧などのデータを無線でボデーへ送信しているため、無線でデータを送信できるツールを使用して、ボデー側にタイヤの空気圧を誤認識させるような問題や、常に出力されているセンサーのIDをツールで受信して、IDを回答する問題等がありました。
実機問題の例
シミュレータ問題
現実的にはありえない大量のCANメッセージを出力しているシミュレータに接続し、そのCANメッセージに隠されたいろいろなデータを読み解く問題が出題されていました。
CAN信号を出力する疑似ECU
Car Hacking Village会場で販売されていたバッジを使用する問題も
今年のCar Hacking Villageでは、Back To The Future(BTTF)がフィーチャーされており、各Villageで販売しているバッジがまさにBTTFを題材にしたものでした。このバッジのタイムサーキットを起動する問題や、BTTFのように、CANを使って各年代にバッジを設定する問題が出題されました。
Car Hacking Village会場で販売されていたバッジ
バッジに接続して解析を試みるNDIASメンバの様子
実際の問題例1(CAN Dumpy)
この問題はCAN通信をダンプしたログファイルが配布され、そのログの中にフラグが含まれているためそれを探すというものでした。以下が配布されたCANダンプファイルの一部となります。
配布されたCANダンプファイル(一部抜粋)
CAN Dumpyには2つの小問が含まれており、今回はそのうちの1つ、Binary Analysisという問題を紹介します。問題文は、「Knowledge of your tools is your greatest weapon. Sometimes, the way you look at your signals may color your understanding.」となっていました。
この問題文からは、何かしらのCANのダンプデータを可視化してくれるツールを利用することで、フラグが見つかるかのように読めるためSavvyCAN等のツールにダンプファイルを読み込ませ、何かしらフラグを取得するための足掛かりが得られないかを探していたのですが、めぼしい情報が見当たりませんでした。そこで、pythonでログを直接解析することにしました。
ログを見ていく中で、特定のCAN IDで送信されるデータに以下のような特徴的なものがありました。
特徴的なログ(一部抜粋)
このログは、CAN IDが251-254の通信が1回おきに0000000000を送信しているというものであり、何かしらの意図をもってダンプファイルに入れられていると思われるものの、このままではわからないため、データを二進数表記に変換したところ以下のようになりました。(フラグに関連する部分のみ切り出しています。)
二進数表記に変換したデータ(一部抜粋)
このままでもうっすらと見えるのですが、ここで1を"■"に0を" "に置き換えると以下のようになります。
1を”■”、0を” ”に置き換えたもの
読みにくいですが、よく見ると■の部分が文字になっているため、それを順に書き出すと…
FLAG{C4N_YOU_S33_M3}が取得でき、それがそのままフラグとなっていました!
実際の問題例2(Left Front Wheel – Lost Willie)
この問題は、無線を傍受できるツールを使って、TPMSのセンサーIDを回答するというものでした。
手持ちツールにFlipper Zeroを持っていたため、センサーに近づいて受信するものの、一向に拾わず…
センサーに似たような波形は出力されるのですが、ちゃんと認識しない状況が数時間続きました。
すると運営側で何やらザワザワしだし、”jamming!?”の声が…確かに、会場を長いアンテナを背負って練り歩いていた人がいたような…?
その騒ぎの後、たまたま起動したままポケットに入れていたFlipper Zeroを見ると、見事にセンサーのIDを受信していました。
やっぱりジャミングだったんでしょうか…受信したIDの写真はこちらです。Flipper Zeroを使用すると、こういった無線の傍受が簡単に出来てしまいます。
TPMSのセンサーIDを受信したFlipper Zero
最後に
今年のDEF CONは新型コロナウイルスの影響は全くなく、以前の水準に戻ってきたように感じました。スタッフも参加者も、バッジを身に着け、DJのパフォーマンスを聴いたりもしつつ、各Villageで開催された講演やCTFに参加していました。
そのDEF CONの中でも、電動化の波が来ている自動車セキュリティが注目されており、他のVillageと比較しても、Car Hacking Village会場には多くの参加者がいたように見受けられました。Car Hacking Village CTFも、例年参加しているチームに加え、アジア系の参加者が増えていたように思えました。
NDIASは自動車セキュリティを事業としているため今回Car Hacking Villageに集中的に参加しましたが、DEF CONでは様々なテーマのVillageがあるため、現地参加した際はご自身の興味があるVillageに参加して最新のセキュリティ状況や現地の熱気を味わってもらえればと思います。