その結果、攻撃者は Tesla インフラストラクチャを通じてあらゆる自動車の情報システムへの root アクセスを取得したり、制御コマンドを遠隔から自動車に送信したりすることができました。 とりわけ、エンジンの始動やドアのロック解除などのコマンドを車に送信する機能が実証されました。 アクセスするために必要なのは、被害者の車の VIN 番号を知っていることだけでした。
この脆弱性は、セキュリティ研究者のジェイソン・ヒューズによって 2017 年初頭に特定されました。
(
テスラのインフラストラクチャの問題の分析は、Web サイトからダウンロードするために提供されたツールの逆コンパイルから始まりました。
結果として得られたモジュールを Python コードに逆コンパイルしたところ、研究者は、そのコードに、VPN 経由でアクセスされた社内ネットワーク上にあるさまざまな Tesla サービスの認証情報が埋め込まれていることを発見しました。 特に、コード内で、内部ネットワークにある「dev.teslamotors.com」サブドメイン内のホストの XNUMX つのユーザー資格情報を見つけることができました。
2019 年まで、車を Tesla サービスに接続するには、車ごとに生成されたキーを使用する OpenVPN パッケージに基づく VPN (後に WebSocket ベースの実装に置き換えられました) が使用されていました。 VPN は、モバイル アプリケーションの動作を保証し、バッテリー充電ステーションのリストを取得し、その他の同様のサービスを行うために使用されました。 研究者は、VPN 経由で車を接続した後にアクセスできるネットワークをスキャンしようとしたところ、顧客がアクセスできるサブネットがテスラの内部ネットワークから適切に分離されていないことがわかりました。 特に、dev.teslamotors.com サブドメイン内のホストに到達可能であり、資格情報が見つかりました。
侵害されたサーバーはクラスター管理ノードであり、他のサーバーにアプリケーションを配信する役割を担っていたことが判明しました。 指定されたホストにログインすると、mothership.vn やfirmware.vn などの内部 Tesla サービスのソース コードの一部を取得できました。これらのサービスは、顧客の車にコマンドを送信し、ファームウェアを配信する役割を果たします。 PostgreSQL および MySQL DBMS にアクセスするためのパスワードとログイン情報もサーバー上で見つかりました。 その過程で、モジュールに含まれる認証情報がなくてもほとんどのコンポーネントへのアクセスが可能であることが判明し、クライアントがアクセスできるサブネットから Web API に HTTP リクエストを送信するだけで十分であることが判明しました。
特に、モジュールがサーバー上で見つかりました。その中には、開発プロセス中に使用された VPN キーを含むファイル Good.dev-test.carkeys.tar がありました。 指定されたキーが機能していることが判明し、vpn.dev.teslamotors.com 社の内部 VPN に接続できるようになりました。
母船のサービス コードもサーバー上で発見され、これを調査することで多くの管理サービスへの接続ポイントを特定できるようになりました。 これらの管理サービスのほとんどは、見つかった開発者用の VPN キーを使用して接続すれば、どの車でも利用できることが判明しました。 サービスの操作により、あらゆる自動車の毎日更新されるアクセス キーや、あらゆるクライアントの認証情報のコピーを抽出することが可能でした。
指定された情報により、VPN 経由で接続が確立された車両の IP アドレスを特定することが可能になりました。 vpn.dev.teslamotors.com サブネットがファイアウォールによって適切に分離されていなかったため、単純なルーティング操作を通じてクライアントの IP に到達し、クライアントが以前に取得した資格情報を使用して、ルート権限を持つ SSH 経由でクライアントの車に接続することができました。
さらに、内部ネットワークへの VPN 接続用に取得したパラメータにより、Web API mothership.vn.teslamotors.com 経由で任意の車両にリクエストを送信できるようになり、追加の認証なしで受け入れられました。 たとえば、テスト中に、車の現在位置の決定、ドアのロック解除、エンジンの始動を実証することができました。 車両の VIN 番号は、攻撃対象を選択するための識別子として使用されます。
出所: オープンネット.ru