Kia車のハッキング:ナンバープレートだけで車を遠隔操作する
(samcurry.net)- 2024年6月11日、Kia車でナンバープレートだけを使って車の主要機能を遠隔操作できる脆弱性が発見された
- 攻撃者は被害者の氏名、電話番号、メールアドレス、住所などの個人情報を密かに取得できる
- この脆弱性を使うことで、攻撃者は車の所有者に知られないまま、自分を車両の見えない第2のユーザーとして追加できる
- 脆弱性の影響を示すためのデモツールは作成されたが、実際に公開されたり悪用されたりはしていない
- この脆弱性はその後修正され、このツールはリリースされず、Kiaチームはこの脆弱性が悪意を持って悪用された事実はないと確認した
影響を受けた車両
- 2025年モデルから2014年モデルまでのさまざまなKia車種が影響を受ける
- 各モデルごとに、リモートロック/アンロック、リモート始動/停止、リモートホーン/ライト、リモートカメラなどの機能が利用可能
脆弱性の詳細
約2年前、私たちは12社以上の自動車メーカーでセキュリティ脆弱性を発見した。1,500万台以上の車両を遠隔で位置追跡し、エンジンを停止し、ロックを解除し、始動できる致命的な問題を見つけた。 - Paul Roberts
- 時間がかなり経ったため、以前脆弱性を発見したメーカーのサイトを改めて調べることにした
- Kiaの owners サイトとモバイルアプリは、インターネット経由で車両制御コマンドを送信できるため興味深かった
- Webサイトはプロキシサーバーを通じてコマンドをバックエンドAPIへ転送し、アプリはAPIへ直接アクセスする
- owners Webサイトでドアのアンロック要求を送るHTTPリクエスト例:
POST /apps/services/owners/apigwServlet.html HTTP/2 Host: owners.kia.com Httpmethod: GET Apiurl: /door/unlock Servicetype: postLoginCustomer Cookie: JSESSIONID=SESSION_TOKEN; - サーバーは
JSESSIONIDを使ってSidセッションIDを作成し、バックエンドAPIに次のように渡す:GET /apigw/v1/rems/door/unlock HTTP/1.1 Host: api.owners.kia.com Sid: 454817d4-b228-4103-a26f-884e362e8dee Vinkey: 3ecc1a19-aefd-4188-a7fe-1723e1663d6e Sidはセッショントークン、Vinkeyは車台番号(VIN)にマッピングされるUUID
ディーラーインフラの脆弱性
- 私たちはKiaディーラーのWebサイトも調べることにした。新車購入時にKiaが顧客情報をどう扱うのか気になったため
- ディーラーサイトで、新車登録のために顧客へ送るメールのURLを確認:
https://kiaconnect.kdealer.com/content/kDealer/… - 見たことのない
kiaconnect.kdealer.comドメインが興味を引いた - 上記URLの
tokenパラメータはVINキーで、ディーラーが生成したワンタイムアクセストークン。vinパラメータで指定された車両を変更できる - URLを読み込むと、トークンの有効性を確認するHTTPリクエストが送信される:
POST /apps/services/kdealer/apigwServlet.html HTTP/1.1 Host: kiaconnect.kdealer.com { "token": "985a49f0-1fe5-4d36-860e-d9b93272072b", "vin": "5XYP3DHC9NG310533", "scenarioType": 3, "loginPref": null } - ディーラーサイトのリクエストURIが owners サイトと同様の
/apps/services/kdealer/apigwServlet.htmlである点が興味深かった - ディーラー向け内部APIへリクエストを転送するプロキシがあると予想した
- JavaScriptコードを確認すると、ディーラー車両照会、アカウント照会、登録、解除などの従業員専用機能を行うAPI呼び出しが見つかった
- 自分たちが所有する車両のVINでAPIエンドポイントへアクセスしてみたが、401 Unauthorized エラーが発生した。ディーラートークンでは動作しなかった
一般アカウントでディーラーAPIへアクセス
- そこで、ディーラーWebサイトに一般アカウントとして登録し、アクセストークンを生成して、それでAPIへアクセスしてみることにした。owners サイトとAPI形式が似ているように見えたため
- ディーラーサイトで owners サイトと同じ方法でユーザー登録を試したところ成功した
- ログインしてアクセストークンを発行し、以前はアクセスできなかったVIN照会APIを呼び出すと、レスポンスに車両所有者の氏名、電話番号、メールアドレスが含まれていた
- つまり、私たちが作成した一般アカウントでディーラーポータルに認証し、細工したチャネルヘッダーを使えば、すべてのディーラー向けAPIにアクセスできることを意味する
車両への不正アクセス
- 数時間にわたってJavaScriptコードを解析した末に、車両登録、解除、変更エンドポイントがどのように動作するかを把握した
- 次の4段階を経れば、被害者の車両にアクセスできた:
- ディーラートークンを生成し、HTTPレスポンスヘッダーから "token" 値を抽出
- 被害者のメールアドレスと電話番号を特定
- 漏えいしたメールアドレスとVINで既存所有者のアクセス権を変更
- 攻撃者を車両の新しい所有者として追加
- 被害者の側では、自分の車両に誰かがアクセスしたことや、権限が変更されたことを知る通知は届かない
- 攻撃者は誰かのナンバープレートからVINを調べ、その後APIを通じて被害者を密かに追跡し、ドアを開ける、エンジンをかける、ホーンを鳴らすなどのコマンドを送れる
概念実証ダッシュボードの作成
- 私たちはこの脆弱性の深刻さを示すために、攻撃者が (1) Kia車のナンバープレートを入力し、(2) 所有者の個人情報を取得し、(3) 車両制御コマンドを実行できる概念実証用ダッシュボードを作成した
- "Exploit" ページで車両への不正アクセスを試行し、"Garage" ページでコマンド送信と位置追跡を行えるようにした
- レンタルした施錠済みのKia車を対象にテストを行い、記事冒頭の動画では、スマートフォンで車両をハッキングした後、遠隔でドアのロック/アンロック、エンジンの始動/停止、ホーン作動、位置追跡などを行う様子が確認できる
結論
- Metaが開発過程で誤って、誰かがあなたのFacebookアカウントを乗っ取れるコード変更を行ってしまう可能性があるように、自動車メーカーもあなたの車両にそうした脆弱性を作り込んでしまう可能性がある
- 今後も自動車では脆弱性が見つかり続けるだろう
タイムライン
- 06/07/24 16:40 UTC - Kiaチームに脆弱性の報告方法を問い合わせ
- 06/10/24 13:21 UTC - Kiaチームから返信を受領
- 06/11/24 22:41 UTC - 脆弱性を報告
- 06/12/24 18:20 UTC - 深刻度を理由にチケット通知メールを送信
- 06/14/24 18:00 UTC - Kiaチームが調査中と返信
- 06/18/24 16:41 UTC - 深刻度を理由にチケット通知メールとツールのスクリーンショットを送信
- 06/20/24 02:54 UTC - チケット通知メールと、ナンバープレート入力でアクセスするスクリーンショットを送信
- 08/12/24 12:30 UTC - チケット通知メールで更新を要請
- 08/14/24 17:41 UTC - Kiaチームが脆弱性を修正し、テスト中と返信
- 09/26/24 08:15 UTC - 脆弱性の修正を確認後、一般公開
GN⁺の見解
- 自動車ハッキングが現実のものになりつつあることを示す衝撃的な事例。今後コネクテッドカーが増えるにつれて、こうした脆弱性の問題はさらに深刻になるだろう
- 今回の事件は、自動車メーカーのセキュリティ意識の不足と杜撰なシステム設計を如実に示している。ソフトウェア脆弱性管理やコードレビューなど、セキュア開発ライフサイクル(SSDLC)の導入が急務に見える
- 自動車の遠隔制御技術は利便性を高める一方で、攻撃対象領域を広げてもいる。技術とセキュリティ、プライバシーの間でバランスを取ることが重要になる
- 個人情報に基づく認証方式の問題点も浮き彫りになった。ナンバープレートを知っているだけで車両を奪取できるのはあまりに脆弱だ。生体認証や多要素認証など、より強固な認証体系が必要になるだろう
- 利用者が自分の車両のセキュリティ状態を把握し、制御できなければならない。誰が自分の車にアクセスしたのか、どのようなコマンドを送ったのかを知らせる通知機能などが必要
4件のコメント
うわ、恐ろしいですね
車両とインターネットの接続を物理的に切断できるオプションが、車の所有者にきちんと提供されるべきだと思います。
料金体系が気になっていたのですが、基本無料で何年も提供して加入させるんですね..
Hacker Newsの意見
Kiaが米国向け車両でイモビライザーを省略する決定をしたことが、全米規模の車両盗難問題を引き起こした
脆弱なKia車両データベースをクロールして近くのKia車両を表示し、ロックを解除する「ライドシェア」アプリを作ることができる
誰でもディーラーとして登録でき、ディーラーは販売していない車両の情報まで照会できることが問題だ
記事によると、もともとはKiaとディーラーだけが車両を追跡できたが、今では「無許可」の人々も追跡できるようになった
Kiaが車両と所有者に関する大量のデータを保持していることが問題だ
Kia車を所有している兄弟が、車両盗難のせいでメンタルヘルスに悪影響を受けている
オンラインアカウントを作成して車両を有効化しなければならない車は買わないつもりだ
現在の市場には接続機能のない新車は存在しない
Kiaオーナーとして、脆弱性が修正され、悪意を持って悪用されなかったことに安堵している
車をインターネットに接続すべきではないと思う