Eversource EV Rebate Program Exposed Massachusetts Customer Data

Michael Lynch

EversourceのEVリベート制度、マサチューセッツ州顧客の個人情報を露呈

原文は Michael Lynch により に公開されました。 このブログを購読する

先日、電気自動車(EV)用充電器の設置に対するリベートを申請したところ、電力会社であるEversourceが申請者の個人情報を公開状態で晒していたことが分かりました。流出していた情報には以下のようなものが含まれていました。

  • 氏名
  • 車検証(ナンバープレート番号や車台番号を含む)
  • 自宅住所
  • メールアドレス
  • 電話番号

脆弱性に至った経緯も書きますが、純粋にセキュリティ脆弱性の内容だけ知りたい方は、こちらへスキップしてください。

なぜリベートの手続きはこんなに複雑なのか

私はマサチューセッツ州に住んでいます。州政府はMass Saveという制度を提供しており、光熱費に上乗せされる税金が持続可能なエネルギー施策の財源になっています。例えば、省エネのために自宅の断熱工事をすれば、Mass Saveが費用を補助してくれます。

先日、自宅に電気自動車(EV)用の充電器を設置したところ、Mass Saveから設置費用のうち700ドルが還付されると知りました。これはありがたい話です。

私の電力会社はEversourceなので、リベートは同社経由で申請する必要がありました。オンラインで申請すれば10分程度で終わるだろうと思っていましたが、延々と続くフォームの入力に1時間以上かかってしまいました。

最初に氏名、住所、Eversourceの顧客番号を聞かれます。Eversourceはすでにこれらの情報を把握しているはずなので冗長ですが、まあ良しとしましょう。

フォームを進めていくと、さらに関係があるとは思えない質問が次々に出てきました。例えばこんな具合です。

  • 自分が所有する電気自動車の車種は何か
  • どこで購入したか
  • いくら払ったか
  • 車検証はどこにあるか
  • 誰がEV充電器を設置したか
  • 電気工事業者の住所は何か
  • 家のどこに充電器があるのか、正確な位置は

EV充電器を買ったことを確認するのに、なぜこんな情報が必要なのでしょうか。この手続きは、Eversourceが宣伝する「4ステップのリベート手続き」とは比べものにならないほど複雑でした。

充電器のMACアドレスが必要です

リベート申請でEversourceが求めてきた情報の中で最も馬鹿げていたのが、EV充電器のMACアドレスでした。はあ?という感じです。

MACアドレスは、EV充電器に搭載されているWi-Fiチップの固有識別子です。本体には印字されていないのに、どうやって入手しろというのでしょうか。

私はソフトウェア開発者で自宅ネットワークいじりが趣味なので、ルーターの管理画面からEV充電器のMACアドレスを見つけることができましたが、一般の人に同じことを期待しているとは思えません。

いや、間違っています。やり直してください

すべての書類を提出してから1週間後、Eversourceからこんなメールが届きました。

Eversourceは、申請時にアップロードした写真や書類が不適切だと主張しています。

どうやら私は申請書を正しく記入できていなかったようです。

Eversourceが気に入らなかったのは、電気工事業者からもらった請求書に「Paid in full(支払い済み)」の記載がなかったことです。支払い後に「支払い済み」と明記された請求書を業者がくれることなど滅多にないので、忙しい電気工事士に頼み込んで請求書を作り直してもらわなければなりませんでした。

フォームにその要件が書かれていたのを見落としたのでしょうか。いいえ、ポータルに戻って請求書に関する記載を確認しましたが、そこには「Contractor’s invoice for wiring upgrade(配線工事に関する工事業者の請求書)」としか書かれていません。「Paid in full」の文字はどこにもありませんでした。

リベート申請フォームには、請求書に「支払い済み」の記載が必要だとはどこにも書かれていません。

では、写真の何が問題だったのでしょうか。充電器の写真をアップロードし忘れたのでしょうか。

いいえ、申請書にはちゃんと写真が添付されていました。充電器ははっきり写っていますし、シリアル番号の写真も問題なく読めました。まさかMACアドレスを写真に撮れると思っていたのでしょうか。

写真の何が問題だったのかをメールで問い合わせ、MACアドレスを撮影することなど不可能だと説明しました。

1週間後に返信がありました。他の写真を却下した理由は説明されませんでしたが、EV充電器の専用アプリでMACアドレスを確認してスクリーンショットを撮るように言われました。はあ、そうですか……。

EversourceのEVリベート制度が抱える歪んだインセンティブ

Eversourceのリベート制度には何か胡散臭いものを感じました。どのステップも、不要な書類仕事と巧妙な落とし穴で申請者に負担をかけるように設計されているかのようでした。

マサチューセッツ州のどこかが腐っているのでしょうか。配られなかったリベートの金はEversourceが懐に入れるのでしょうか。

EVリベート制度を監督するマサチューセッツ州公益事業局(DPU)に電話して、一体どうなっているのか尋ねました。なぜEversourceはリベートの申請をこれほど困難にしているのか、と。

DPUの職員は、Eversourceが一度却下した写真が、再審査では全く同じ写真のまま承認されたという苦情を聞いたことがあると言いました。Eversourceは写真の審査に自動システムを使っているが、二次審査ではより精度が高いのか、あるいは単に人間が実際に写真を確認しているのだろう、ということでした。

では、そういう場合Eversourceはリベート金をそのまま懐に入れるのでしょうか。「いいえ」とDPUの担当者は答えました。申請が失敗してもEversourceがお金を保持することはありません。成功した申請についても、Eversourceはいったん立て替えて州に払い戻しを請求するだけだといいます。

ちょっと待ってください。Eversourceが単にお金を右から左へ流しているだけなら、なぜわざわざこの制度を運営しているのでしょうか。

DPUの担当者によると、Eversourceは人々にEVを買ってほしいのだそうです。マサチューセッツ州の住民がEVを持てば、Eversourceが販売していないガソリンへの支出が、多くの都市でEversourceが独占的に販売する電気への支出へと移行するからです。

そこで合点がいきました。Eversourceは顧客のリベート申請を失敗させたいわけではありません。そもそも全く気にかけていないだけなのです。

顧客がEversourceにリベートを申請する頃には、すでにEVを購入済みです。顧客は今後数年間、Eversourceから追加の電力を買い続けることになります。その時点でEversourceは顧客から欲しいものはすべて手に入れており、顧客側にはEversourceに約束を守らせる交渉材料が何も残っていないのです。

マサチューセッツ州DPUの担当者に、EV充電器リベートの申請者数と実際に完了した人数の統計を取っているか尋ねました。Eversourceは手続きを完了した人数しかDPUに報告しないそうです。Eversourceが申請者の99%を却下していたとしても、DPUには分からない仕組みになっています。

Eversourceによる顧客情報の漏洩

Eversourceのリベートポータルに戻って追加情報を提出しようとしたとき、ふと思いました。EversourceがEVリベート手続きのあらゆる部分への投資を最小限に抑えているのなら、セキュリティには投資しているのだろうか、と。

残念ながら、答えはノーでした。Eversourceのリベートポータルで深刻なセキュリティ脆弱性を見つけるのに2分もかかりませんでした。

サイトのセキュリティを基本的にチェックするため、ブラウザのネットワークコンソールを開いて、ブラウザとリベートポータル間の生の通信を調べてみました。ブラウザはリベートサーバーに何十ものリクエストを送っていましたが、そのうちの1つが目に留まりました。

URL https://eversource.dsmcentral.com/traksmart4/public/guest/commercial/v2/application.json?projectId=123456 へのリクエストが、以下のような大量のデータを返してきたのです。

[  {    "fieldId": "FORM-60-102189-108632-4094090-2-Task_Instances_Attributes-2354-CustomerPrintedName",    "label": "Rebate Payee Printed Name",    "value": "Michael Lynch",    "displayValue": null,    "templateParameters": null,    "attributeName": "CustomerPrintedName",    "uniqueFieldIdSource": "",    "inventoryOptions": null,    "dynamicOptions": null,    "rendering": "textField",    "formatter": "None"  },...]

レスポンスは数千行に及び、アップロードした写真や書類を除く、リベート申請で提出したすべてのデータが含まれているように見えました。

その情報を取得するためにブラウザが送信していたHTTPリクエストは、こんな形でした(実際の申請IDは123456に置き換えています)。

POST /traksmart4/public/guest/commercial/v2/application.json?projectId=123456 HTTP/1.1
Host: eversource.dsmcentral.com
Cookie: JSESSIONID=node0f7ynpnyr35zk1c91byqpx2x5n97179.node0;Path=/traksmart4;Secure
Content-Type: application/json
Content-Length: 27

{"programId":8,"formId":60}

気になったのは、URLのパスにpublicguestという単語が含まれていたことです。これらは通常、ログイン不要なURLに現れる言葉です。

ブラウザからのリクエストは認証されていました。Cookie行がサーバーに私のログインIDを伝えていたのです。しかし、サーバーはそもそもログイン状態をチェックしているのでしょうか。

リベートポータルのサーバーがログインをチェックしているか試すため、まったく同じリクエストからCookie行だけを削除して送ってみました。するとリベートポータルは依然として私の個人データをすべて返してきました。これはまずい。Eversourceはログインをチェックしていなかったのです。

私の申請IDは6桁の数字に過ぎず、組み合わせは100万通り未満です。しかもおそらく連番なので、リベートポータルを訪れた誰でも私のproject IDを推測し、私が提出した氏名、電話番号、住所、車台番号(VIN)を含むすべての情報を閲覧できてしまうのです。

悪意のあるユーザーが申請内容を改ざんしたらどうなるか

Eversourceのリベートポータルが私の個人情報を漏洩しているだけでも十分ひどいのですが、事態はさらに悪化します。私の申請にアクセスするためのログインフォームはこんな見た目です。

Eversourceのリベートポータルでは、メールアドレス、郵便番号、6桁の申請番号だけでログインできてしまいます。

私のデータをすべて吐き出す脆弱なURLには、これらのフィールドがすべて含まれています。悪意のあるユーザーは、この脆弱なURLから私の申請番号、メールアドレス、郵便番号を取得し、私になりすましてリベートポータルにログインできてしまいます。そうなれば、アップロードした写真や書類を含むすべての情報にアクセスできてしまいます。

さらに悪いことに、悪意のあるユーザーはリベート申請の情報を改ざんし、例えばリベートの小切手の送付先を別の住所に変更することさえできてしまいます。

脆弱性の報告

Eversourceのリベートポータルを運営しているのはResource Innovationsという会社で、他都市の多くの電力会社でも同様のプログラムを運営しているようです

私はResource Innovationsのprivacy@宛てにメールを送り、深刻な脆弱性を見つけたのでセキュリティチームと詳細を共有したい旨を伝えました。Eversourceには公開されているセキュリティ窓口が見つからなかったため、Eversourceの最高情報セキュリティ責任者(CISO)であるChristopher Leigh氏に直接メールしました。

翌日、Resource Innovationsの情報セキュリティ担当VPであるDesiree Robinson氏から返信がありました。彼女はすぐにビデオ通話で脆弱性を確認しようと提案してくれましたが、問題は非常にシンプルだったので通話の必要すらありませんでした。私は認証なしで通ってしまうHTTPリクエストの例をメールで送っただけです。翌日、彼女から問題を修正したとの返信があり、私も有効なログイントークンなしでは脆弱なURLにアクセスできなくなったことを確認しました。

EversourceのCISOであるChristopher Leigh氏からは返信がありませんでしたが、Eversourceの「Executive Inquiry office(役員問い合わせ窓口)」のKarla Pickett氏からは返信がありました。彼女はベンダーが「現在この問題の解決に取り組んでいる」と述べていました。

私はKarla Pickett氏とDesiree Robinson氏の両方に、今後顧客をより適切に保護するためにどのような対策を講じたのか詳細を共有してもらえるか尋ねました。また、協調的な脆弱性開示に対してバグバウンティ制度を提供しているかも尋ねました。しかし、どちらからも追加の質問に対する返答はありませんでした。

このブログ記事用のスクリーンショットを準備している際、同じUIフロー上の別のURLでも、認証をチェックせずに顧客データを露呈していることに気づきました。今度は氏名、自宅住所、申請番号のみが露呈していました。再びDesiree Robinson氏に連絡して報告すると、7分後に調査中との返信がありました。翌日にそのURLを試したところ、正しく認証がチェックされるようになっていました。

EversourceとResource Innovationsのエンジニアリングやセキュリティについては文句を言いたいことは山ほどありますが、一つだけ評価すべき点があります。それは極めて迅速に対応してくれたことです。報酬の話をしたときを除いては。

報告のタイムライン

  • 2025-01-27 - Eversource、Resource Innovations、マサチューセッツ州公益事業局(DPU)に対し、報告したい脆弱性がある旨を連絡しました。
  • 2025-01-28 - Resource Innovationsから詳細を求める返信がありました。
  • 2025-01-28 - Resource Innovationsに脆弱性の詳細を共有しました。
  • 2025-01-29 - Resource Innovationsから問題を修正したとの報告がありました。
  • 2025-02-05 - 別のリベートポータルのURLでも同様の問題をResource Innovationsに報告しました。
  • 2025-02-05 - Resource Innovationsから修正作業を開始するとの報告がありました。
  • 2025-02-06 - 脆弱なURLを再テストし、正しく認証が強制されるようになったことを確認しました。

マサチューセッツ州の住民にできること

ちょうど今、Eversourceは新たなEVリベート制度の資金として税金を投入するよう申請しているところです

マサチューセッツ州の住民は、Eversourceの提案について州に意見を提出できます。DPUによれば、州民からのコメントはこうした申請において重みを持つとのことなので、EV制度に関心がある方は、ぜひパブリックコメントを提出してください。期限は2026年2月18日です(「Any person interested in commenting on this matter…(本件についてコメントを希望する方は…)」を参照)。

また、今週水曜日(2月11日)には、Eversourceの提案に関する公聴会がZoomで開催されます。

EVリベート制度への私の要望リスト

参考までに:Eversourceは街の小さな電力会社ではありません。フォーチュン500企業であり、過去12か月で13億ドルの利益を計上しています。

Eversourceの現行EVリベート制度での私の経験から言えば、同社はマサチューセッツ州民からの公的資金を使いながら、できる限りの作業を同じ州民に押し付けています。

EVリベートの申請は本来、購入証明を提出して小切手が郵送されるのを待つだけの5〜10分程度の手続きであるべきです。しかし実際には2か月にわたって数時間を費やし、それでもEversourceが申請を承認してくれるかどうか分かりません。費やした作業のほとんどは、制度の目的とは全く関係ないと思える書類や詳細の収集でした。

根本的な問題は、「測定されるものは管理される」というのに、マサチューセッツ州民がEversourceのリベート制度対応に費やす時間は誰も測定していないことです。その結果、Eversourceは制度への投資を最小限に抑え、住民の時間を無駄にし、個人情報を危険にさらしているのです。

Eversourceの新たなEVリベート制度で私が望むことは以下の通りです。

  • Eversourceは、リベートの条件として顧客に新たなオンラインアカウントの作成を要求してはなりません。
    • リベート申請フォームは、標準のEversource顧客ポータルから利用可能でなければなりません。
    • 第三者ベンダーがリベートポータルを運営することは可能ですが、安全なシングルサインオン(SSO)の仕組みを実装し、顧客が新たなアカウントを作る必要がないようにしなければなりません。
    • Eversourceは、氏名、住所、顧客番号など、すでに保有している顧客情報をリベートフォームに自動入力しておかなければなりません。
  • 自宅(主たる住居)についてEV充電器のリベートを申請する住宅所有者に対して、要求できる書類は(1)充電器のメーカー、モデル、シリアル番号、および(2)充電器と電気工事の領収書または請求書のみとすべきです。
    • 請求書に「支払い済み」の記載は不要とします。
    • 住民はEVの所有を証明する必要はありません。部分的なリベートを得るためにわざわざ損をしてEV充電器を設置するはずがないからです。
  • Eversourceは自費でマサチューセッツ州のウェブセキュリティ企業を雇い、リベートポータルの年次セキュリティ監査を実施しなければなりません。
    • Eversourceはその監査結果をマサチューセッツ州DPUに提出し、HighまたはCriticalと評価された問題を6週間以内に修正しなければなりません。
  • Eversourceは以下の指標を四半期ごとに公表しなければなりません。
    • リベート申請を開始した顧客数、
    • 1回以上の申請却下を受けた顧客数(最終的な結果にかかわらず)、
    • リベートの申請に成功し、支払いを受けた顧客数。
  • 申請プロセス全体を通じて、EversourceはEVリベート制度を監督するマサチューセッツ州DPUの特定部署の連絡先を表示しなければなりません。
    • その連絡先は、リベート申請の却下通知において目立つように表示し、住民が誤った却下に対して異議を申し立てられるようにしなければなりません。
  • マサチューセッツ州DPUは、EV充電器リベート申請を監査できる権限を持たなければなりません。
  • Eversourceが申請を却下し、DPUがそれを不当な却下と判断した場合、Eversourceは顧客に対して申請額の150%を支払わなければなりません。
    • DPUは、不当な却下を伴った申請については、後に承認された場合でもEversourceに払い戻しをしてはなりません。

注:掲載したHTTPリクエスト内の固有の識別子は、私自身のアカウント情報の漏洩を防ぐため、一部省略・変更しています。

この記事は「muse-spark-1.2-contributor」を使用して翻訳されました。

コメント