分散型発電システムに潜むセキュリティリスク
分散型発電とは、電力会社による中央集約型の発電方式から、より利用者に近いエネルギー源(主に再生可能エネルギー)を用いた発電方式に移行する動きを指します。
分散型発電(DEG:Distributed Energy Generation)とは、電力会社などによる中央集約型の発電方式から、より利用者に近い位置にあるエネルギー源(主に再生可能エネルギー)を用いた発電方式に切り替えていく動きを指します。DEGの最も身近な例として、住宅やオフィスの屋上に取り付けられたソーラーパネルが挙げられますが、この他にも、農場に設置された風力タービン、河川が通過する敷地内に設置されたマイクロ水力発電機、天然ガスタービンなどが挙げられます。DEGが持つメリットの1つは、各家庭や企業内での自家発電によってコストを削減できることであり、ここ20年に渡って大きな注目を集めてきました。DEGの利用が拡大している点を踏まえ、トレンドマイクロでは、DEG機器の中でも特に人気の高いソーラー発電機に焦点を当て、その安全性に関する調査を実施しました。
分散型発電で重要な役割を果たす機器として、「インバーター」と「通信モジュール」が挙げられます。これらの装置は、企業や家庭内における発電システムの根幹であり、複雑なインフラを構えていることから、セキュリティ上のリスクも高いと考えられます。本調査では、業界主流のDEGブランド5社を対象に、それぞれの特徴やセキュリティ対策を評価し、その結果に基づいて潜在的な脆弱性を特定しました。
調査の結果、多くのベンダーが通信プロトコルとしてHTTPS、または独自の方式で暗号化されたHTTPを採用していることが分かりました。また、安全な通信に欠かせないステップであるルート証明書の検証についても、一貫して実施していることが確認されました。なお、ベンダーの1社であるVictron Energyがオープンソースのソフトウェアを使用し、ソースコードを開示していたことは、調査を進める上での大きな助けとなりました。こうした透明性により、詳細な分析に加え、セキュリティ不備の可能性を包括的に評価することが可能となりました。本稿では、各機器が抱える脆弱性に加え、データの暗号化方式や、データの保管先に絡む懸念事項についても、詳しく解説します。
対象機器の概要
今回、ベンダー5社から提供される各機器を、数日間に渡って分析しました。ベンダーの選定基準として、Enphase、Outback、Sol-Arkの3社は米国で人気が高く、Phocos、Victronの2社はAll Energies Lab.を通して当該機器を入手可能であったことより、調査対象に加えました。これらの機器は、太陽光発電(PV:Photovoltaic)システムのネットワーク用ゲートウェイに相当します。ゲートウェイの構成はベンダーに応じてさまざまであり、スタンドアローンで動くものもあれば、マイクロインバーターと統合されたもの、ディスプレイパネルと統合されたものも存在します。本調査にあたっては、下記に着目しました。
- 通信プロトコル
- ハードウェア
- ソフトウェアおよび通信に絡む脆弱性
- ユーザインターフェース(UI)
表1に、各機器の概要と、使用されるクラウドサービスを記載します。
セキュリティ上の問題点
今回調査した機器からは、さまざまなセキュリティ上の問題点が発見されました。その内容は、おおまかに6種類に分別されます。表2に、各機器が抱える問題点を記載します。表2以降は、それぞれの問題点に関する概要、該当する機器、その詳細について順に解説します。
パスワード運用上の不備
ネットワーク機器の初期パスワードや空文字パスワードは、古くから蔓延している問題の1つです。まず、初期パスワードは通常、機器本体などに記載されます。変更を強制しない限り、ユーザがその初期パスワードをそのまま使い続ける可能性があります。空文字パスワードは、パスワードの設定自体が任意選択で、ユーザが実際に設定しなかったパターンを指します。この場合、空文字パスワード(パスワード未入力)でログインできることとなります。また、ベンダーによっては、機器に割り当てられたシリアル番号やMACアドレスなどの識別子から初期パスワードを算出するケースが見られます。この場合も、もし当該の識別子が外部から取得可能で、かつ算出アルゴリズム自体が暴かれれば、その初期パスワード自体の秘匿性が大きく損なわれるでしょう。
Enphase
DEGブランドのEnphaseでは、初期パスワードを通信ゲートウェイのシリアル番号から算出します。具体的には、シリアル番号のハッシュ値と固定のシード値を元手に、独自の算出アルゴリズムによって8桁の初期パスワードを生成します。しかし、その算出アルゴリズム自体は、すでにモバイルアプリ「Enphase Installer Toolkit」の解析を通して特定されています。
Enphase Gatewayのシリアル番号については、バージョンにもよりますが、Enphaseが提供するポータルWebサイトの件名や本文から特定可能です。図1に、ポータルWebサイトの件名中にシリアル番号が表出している例を示します。
仮に攻撃者が初期パスワードを算出し、ユーザ「installer」として認証を受けた場合、インストーラ(導入または設置の担当者)としての役割が任じられたものと見なされます。結果、PVシステムによる発電の開始、停止に加え、マイクロインバーターやバッテリーの登録、解除などの指示を出せるようになります。これに留まらず、インストーラとしての権限は多岐に及び、DEG機器の発電機能に多大な影響をもたらす可能性があります。その詳細については、後に個別で解説します。
本調査の実施後、Enphaseはファームウェアのアップデートをリリースし、初期認証の方式を変更しました。これによって初期パスワードの算出に関する問題点は対処されましたが、古いファームウェアを使い続けているEnvoyの機器は依然として数多く存在し、インターネット上に公開されています。
Victron
Victronのユーザは、フロントパネルの操作やリモートからのアクセスを制限する手段として、認証用パスワードを設定できます。しかし、デフォルト設定は「パスワードなし」であり、多くのホーム・オーナーやインストーラが、この状態で利用し続けています。結果として当該の機器は、フロントパネルの不正操作やリモートからの不正アクセスに脆弱な状態となります。
また、敷地や施設の性質上、物理的にフロントパネルにアクセスできる者がはじめから制限されるという考えに基づき、あえて認証を設けていないケースも見られます。しかし、手違いなどによって当該機器を誤ってインターネットに公開すれば、攻撃者によってリモートからアクセスされ、製品搭載のNoVNCサービスを未認証のまま利用される恐れがあります。結果、実際に現場にいる時と同様にフロントパネルを操作されることとなります。なお、フロントパネルとNoVNCサービスでは同じパスワードが使用され、認証の手続きやリモートセッションの選択制御はVictronの「App Server」に委ねられます。
これらの機器をインターネットに公開することは、推奨されません。リモートアクセスが必要な場合、上で述べたVictronのApp Serverから、より安全な方式が提供されています。さらに、インターネットに公開するか否かは問わず、パスワードは常に設定することが推奨されます。
LANの過信
DEG製品の中には、LAN上の全通信データを信頼済みと見なして受け入れるものがあります。そのような設定を望む理由は確かに存在すると考えられますが、ひとたび攻撃者に目をつけられれば、LAN上の機器に対するマルウェア配布やリフレクション攻撃に発展する可能性があります。さらに、当該機器をインターネットに公開していた場合、それを意図していたかは問わず、UI上で各種設定を改変される恐れがあります。
Sol-Ark
Sol-Arkは、LANを流れる全通信データを安全なものと見なします。そのため、当該機器をインターネットに公開することは推奨されず、公開した場合は、攻撃者によってインバーターのシリアル番号やWi-Fiのドングル用キーを窃取される恐れがあります。
Curl -XPOST 'http://[Sol-ArkのIPアドレス]/config?command=devinfo' --referer 'index.html'
{
"sn": "E4A0122xxxxx",
"key": "XPWRxxxx",
"hw": "AEM2-0000-06",
"sw": "487012xxxxx",
"g4status": 0,
"apn": "", "username": "",
"password": "",
"ethmoudle": 0,
"g4moudle": -1
}
リモートからのシャットダウン/設定変更
今回分析した機器の中には、リモートからシャットダウンや設定変更を行えるものが見られました。当該の機器については、攻撃者によって発電システムの損害や支障を引き起こされる可能性があります。例えば、発電機能がシャットダウンされた場合、代替としてグリッド接続の電力が使用されるようになり、金銭的な損失に繋がります。また、リモートから設定を変更された場合、インバーターの切り離し、バッテリーの浪費、そして稼働頻度の低下に至る事態が考えられます。以上を踏まえると、最も大きな影響は、システムがグリッド接続されている場合の金銭的損失と言えるでしょう。しかし、グリッド接続されていない場合も、電力が欠乏する結果、当該システムに繋がるさまざまなサービスに支障が出ると予想されます。
Enphase
Enphase Envoyの機器が先述の初期パスワードを利用し続け、かつ公開状態となっている場合、攻撃者はその初期パスワードを自ら算出し、下記のようなcurlコマンドによってPVシステムの発電機能を停止させる可能性があります。
curl --digest -u installer:[初期パスワード] -X PUT \
http://[EnphaseのIPアドレス]/ivp/mod/603980032/mode/power \
-d '{"length":1,"arr":[1]}'
Sol-Ark
攻撃者は下記コマンドを用いることで、Sol-Arkのインバーターを何度も再起動させることが可能です。
curl -XPOST 'http://[Sol-ArkのIPアドレス]/config?command=reboot' --referer 'index.html'
認証がないため、当該インバーターは何度も再起動を繰り返します。これは、実質的なサービス拒否攻撃(DoS:Denial-of-Service)に相当します。
Victron
Victronの機器がパスワードで保護されていない場合、そのホームページにアクセスできる者であれば、画面上のナビゲーションから設定変更やシャットダウンを行うことが可能です。また、認証情報で保護されたモバイルアプリを通して同じパネルにアクセスするケースもあります。図3に、認証なしで公開されているVictronの機器に対し、リモートからシャットダウン、またはファームウェアのアップデートを行う様子を示します。
アクセスポイント・スキャン
アクセスポイント(AP:Access Point)スキャンは、無線ネットワークに簡単に接続するための機能であり、Wi-Fi接続のネットワーク機器によく使用されます。APスキャンを実行できる機器が保護されていない場合、そこから物理的な所在地情報が漏れるリスクがあります。例えば、攻撃者は当該機器を通してAPスキャンを実行し、得られたAPの一覧をWiGLE(Wireless Geographic Logging Engine)のようなAP解析サービスに渡すことで、各APの緯度や経度を把握できます。さらに、こうした位置情報を元手として、特定の地域や近辺を狙った攻撃を展開する可能性があります。
Enphase
攻撃者は、算出した初期パスワードに基づいて下記のようなcurlコマンドを実行することで、ゲートウェイ機器の近隣にあるAPの一覧を取得できる可能性があります。
curl --digest -u installer:[初期パスワード] http://[EnphaseのIPアドレス]/admin/lib/wireless_display.json
{
"supported": true,
"present": true,
"configured": true,
"up": true,
"carrier": true,
"current_network": {
"ssid": "Home Network",
"status": "connected",
"ip_address": "192.168.10.244",
"gateway_ip": "192.168.10.1",...
},
... "sites": [
{
"is_current_ssid": false, "ssid": "Other Network",
...
},
{
"is_current_ssid": true, "ssid": "Home Network",...
}
]
}
Sol-Ark
Sol-ArkのWebインターフェースにも、APスキャンの機能が存在します。攻撃者は、本機能を認証なしで不正利用し、対象機器の近辺に存在するAPリストを取得する可能性があります。この際に利用されるcurlコマンドを下記に示します。
# curl 'http://[Sol-ArkのIPアドレス]/wifiscan.cgi' --referer 'index.html'
{
"num": 1,
"ap": [{
"ssid": "sweet home AP",
"rssi": -29
}]
}
ファームウェアのアップデートに伴うリスク
ファームウェアのアップデート機能により、稼働している機器の安全性を維持しながら、機能を追加、刷新することが可能となります。アップデートの方式として、ユーザ側から機器に指示を出してファームウェアをサーバから直接ダウンロードさせるものや、ユーザ自身がメーカーのWebサイトからファームウェアをダウンロードし、これを手動で対象機器側にアップロードするものなどが見られます。
Sol-Arkの場合、はじめにユーザ側からカスタマサポート宛てにアップデートの依頼を出し、それを受けたカスタマサポート側でアップデートの作業を実施します。ファームウェアは機器の根幹を成す重要なソフトウェアであるため、そのアップデート作業は、厳密かつ安全に行われる必要があります。
Sol-Ark
典型的な自動アップデートや、ユーザ自身で企業のWebサイトから更新版をダウンロードする方式と異なり、Sol-Ark社は、「リモートからのファームウェア・アップデート」を採用しています。
今回の調査では、Sol-Ark社のカスタマサポートに「リモートからのファームウェア・アップデート」を依頼しました。手続きを開始するにあたり、カスタマサポートの担当者から、正規な顧客であることの証明を求められました。これ自体は、セキュリティに配慮した適切な対応と言えます。しかし、続いてソーラープラントのシリアル番号やWi-Fiドングルのキー情報を求められた際には、その回答文が、平文状態でインターネットに送信されました。これは認証の手続きとして、明らかな不備と考えられます。
また、カスタマサポートが発行したアップデート用コマンドも平文であり、コマンドを受けたWi-Fiドングルが更新版をダウンロードする際に用いた通信プロトコルも、平文のHTTPであることが判明しました。なお、更新版を配備しているサーバのホスト元は、香港であることが確認されました。
また、最終的に更新されるのはWi-Fiドングル(ESP32)自体のファームウェアではなく、実際にストリングインバーター内部で稼働する通信用ファームウェアであることが確認されました。従って、もし攻撃者がファームウェアのアップデート用コマンドを偽装して送信(平文状態かつ認証不要)すれば、それを受けたWi-Fiドングルが指定のURLから不正なファイルをダウンロードし、更新処理に入る可能性があります。結果、インバーターの機能不全やマルウェア感染に陥ると考えられます。
安全ではない通信方式
クラウドサービスとの通信に際しては、通常、機器に関する重要情報やシステムステータス、コマンド一覧へのアクセスが発生します。通信が適切に保護されていない場合、攻撃者によって改ざんされ、システムに望ましくない影響を及ぼす可能性があります。
Sol-Ark
Sol-Arkは、中国のAlibaba Cloud(Aliyun)がホストする4サーバの1つにデータを送信します。これは、Sol-ArkのWi-Fiドングルや電力管理システムが、中国のOEM企業「E-Linter」から提供されていることに起因すると推測されます。
通信パケットの分析結果として、本データは平文状態で、ポート番号51100に送信されたことが判明しました。データの詳細を下記に示します。
データの保管先
行政組織や企業、個人ユーザの中には、こうした機器のデータがどこに送信され、どこに保管され、誰がそれにアクセスするのかについて、懸念があるかも知れません。実際に、データの委託先や保管先に制約を課している行政機関も存在します。EnphaseとVictronは、米国およびEU拠点のAWS(Amazon Web Service)にデータを送信します。Outbackのサーバについては、ブラジル拠点のMicrosoft Azureプラットフォームに配備されています。また、Phocosはオランダに、Sol-Arkは中国にデータを送信します。
Sol-Ark
Sol-Arkは、データをドメイン「iot.e-linter.com」宛てに送信します。このドメインに紐づくIPアドレスは本稿執筆時点で下記の通りであり、中国のAlibaba Cloud(Aliyun)に属します。
- 47.242.67.221
- 47.244.29.210
- 121.40.236.68
- 47.97.195.241
企業や組織のデータをベンダーやサードパーティーに送る行為自体は、今日において珍しいことではありません。しかし、データの保管先について制約を課している、または懸念を抱いているユーザにとっては、大きな問題となる可能性があります。
Sol-Arkの電力管理システムは、先にも挙げた中国のOEM企業「E-Linter」に委託されています。本OEMが保有するドメインを下記に示します。
- e-linter.com(モバイルアプリ「PowerView」やSol-Arkによる各種IoT製品のOEM)
- cloud.ledvance-re.com(LEDVANCEおよびmySYLVANIAと呼ばれる企業であり、LEDや従来の照明器具を米国やカナダに販売)
- sunsynk.net(南アフリカでソーラーインバーターなどを販売する企業)
- ftp.gleanergy-solutions.com(カナダのオンタリオ州、North York市に拠点を置く企業)
なお、Sol-Arkのハードウェア製造を担う「Deye」が、上述のSunsynk(南アフリカ)にハードウェアを提供していることも確認されました。
クラウドからの大規模データ流出
攻撃者の視点として、公開状態の機器を1つ1つ探していく作戦は単純かつ実行しやすいように見えますが、効率的とは言えず、分散型発電システムに大規模停電を引き起こすような目的には不向きです。LANを介して別の機器に手を広げようと目論む可能性もありますが、ネットワーク分割やファイアウォールによって行く手を阻まれるため、活動の範囲は最小限に押し留められるでしょう。
代わりに、攻撃者はクラウドサービス自体に攻撃を仕掛け、その管理化にある多数の機器を一挙にまとめて掌握し、不正な活動に繋げようと企む可能性があります。一方、クラウドサービス側でもこうした攻撃を阻止するために、独自のセキュリティ対策を導入しています。
攻撃者は、特にPVシステムのインストーラのように、リモート管理権限を有するアカウントを積極的に狙っていくと考えられます。その際に用いる手段として、フィッシング、パスワードのブルートフォース、既知の脆弱性などが挙げられます。ひとたび当該アカウントを掌握すれば、内部のデータを改ざんする他、クラウドサービスが許可する範囲内で、個々の設置先を不正に操作する恐れがあります。
オランダの脆弱性調査団体「DIVD(Dutch Institute for Vulnerability Disclosure)」は、PVソリューション「Solarman」に絡む脆弱性について報告(DIVD-2022-00009)しました。この報告では、調査メンバーがSolarmanのクラウド管理者に相当する認証情報を特定できたこと、それが攻撃者に不正利用されれば、リモートからファームウェアをアップデートされかねないことについて、述べられています。その影響範囲は100万もの設置先に及び、総発電量は10ギガワット(GW)に達するとされています。
まとめ
今回調査した機器のうち、その多くは相応のセキュリティ対策を実施し、クラウドサービスとの通信を保護していることが分かりました。特にOutback MATE3sとPhocos Any-Bridgeについては、セキュリティ上の不備が一切確認されませんでした。Victron Cerbo GXについては、パスワードを適切に設定すれば、高いセキュリティ基準を満たせると考えられます。Enphase Envoyについては、初期パスワードを算出可能な問題に対処すれば、その他多くの不備もあわせて解消されるでしょう。一方、Sol-Arkについては、他と比べて多くの懸念点が見出されました。
なお、クラウドサービス自体のセキュリティについては、評価の対象外としました。クラウドサービスを介して制御可能な機器については、そのクラウドサービス自体についても、安全性のチェック事項や機器選択の条件として含めることを推奨します。
先述したように、クラウドサービスやそれをホストしている国自体を取り巻くリスクについて懸念のある方は、機器が利用しているクラウドサービスやサードパーティー製サービスにも視野を広げて、DEGプラットフォームの安全性を包括的に評価することを推奨します。実際に、DEGの利用が拡大する中では、機器自体の内的なセキュリティよりも、ベンダー側のセキュリティが大きな意味を持つようになります。仮に攻撃者が特定地域の特定ベンダー、または複数ベンダーの発電プロセスを一挙に停止させるような事態が発生した場合、近隣地域を含むグリッド接続の電力需要が急増すると予想されます。現状、電力会社では、突発的な需要の増大や供給停止に備える対策が存在しますが、それは、発展し続ける分散型発電の規模に追従できるものでしょうか。将来的に、グリッド接続されたDEGシステムをリモートから制御するような技術が、電力関連会社から提供されるでしょうか。
推奨事項とベストプラクティス
- リモートからのアクセスを制限する。制御用インターフェースをインターネットに公開しない。ベンダーがクラウドサービス経由で機器を制御できるかどうか、確認する。制御可能な場合、その通信方式の安全性を検証する。
- 初期パスワードを変更し、パスワード保護の仕組みを導入する。
- インバーターのネットワーク・インターフェースをLANから隔離する。当該機器がLANを信頼している場合は、特にそのことが言える。
- 技術面で十分に精通していないユーザの方は、ベストプラクティスを確認する。設置担当者からサポートを受けられる場合もあるが、必ずしもセキュリティに配慮してくれるとは限らないため、注意を払う必要がある。
参考記事:
DISTRIBUTED ENERGY GENERATION GATEWAY (IN) SECURITY
By: Charles Perine, Philippe Z Lin, Lord Remorin, and Josiah Hagen of Trend Micro and Casey Colando of All Energies
翻訳:清水 浩平(Core Technology Marketing, Trend Micro™ Research)