JavaScriptとHackRFで車をハッキング、セキュリティの盲点とは🔑


車のキーレスエントリーシステムを、JavaScriptで操る時代が来ている。そんな衝撃の実験を成功させたのは、フロントエンドエンジニアでありクリエイティブ・テクノロジストでもある Charlie Gerard 氏。ブラウザ上の「素のJavaScript」だけで車のロックを解除した仕組みは、悪意の使用というリスクの存在を明らかにすると同時に、現代ブラウザ技術の非常なポテンシャルを示した。

SDR + JavaScript = 「ブラウザのハッカー」

SDR + JavaScript = 「ブラウザのハッカー」
※画像はイメージです

使用された製品は、持ち運び可能なSDRデバイス「HackRF One」。通常はネイティブアプリからの接続を想定するこのデバイスを、Gerard氏は「WebUSB API」を用いてブラウザから直接操作。さらに、受信したキーファブのコードは「File System API」を通じてローカルファイルに保存。

これを「Canvas API」で視覚化し、再び「HackRF」で送信。つまり、全部の操作が、ブラウザ上で結結されている。

ローリングコードを打破する「ロールジャム」攻撃

ローリングコードを打破する「ロールジャム」攻撃
※画像はイメージです

1995年以降の車に展開されているキーレスエントリーは、「同じコードを何度も送信しない」ローリングコード形式を採用している。これは、過去のコードでロックを開けようとしても、車側が受け付けないようにするためだ。

Gerard氏の実験は、この仕組みを斬る「ロールジャム」攻撃。はじめに、強制的に車側にシグナルが受信されない状況を作り、その間にキーのコードを受信、録音。これを送信すると、クルマーな音とともに、車のロックが開く。

ブラウザはもはや「だけでもハッキングツール」

ブラウザはもはや「だけでもハッキングツール」
※画像はイメージです

最も衝撃的なのは、これらがすべてJavaScriptと現行ブラウザAPIだけで構成されていたことだ。それどころか、該当のWebページを開き、実行ボタンを押せば、HackRFがコードを送信して車が開く。

本体は初心者向けではなく、それなりの技術理解と気力が必要であるが、相当の部分がグラフィカルな視覚体験として構成されている為、技術的にも教育的にも有用な実験と言える。

結論: 「極めて楽しいが、極めて危険」

結論: 「極めて楽しいが、極めて危険」
※画像はイメージです

Charlie Gerard氏は「車をJavaScriptでハッキングできたことは楽しかった」と語りつつ、「これは教育目的で行ったもので、事故や緊急の返金責任は負わない」との注釈も入れている。

本実験が明らかにしたのは、現代のブラウザ技術は「単にサイトを表示する」だけではなく、「日常のハードウェアを直接操る」ポテンシャルを持ち始めていることだ。

しかし同時に、この技術は侵入や乗っ取りにも対応しうるるという、セキュリティリスクを元から再考させるものでもある。

技術者として、わたしたちは、このような技術を「知っていること」でより安全な社会を構築する方向に指しなければならない。

引用元情報: