2017/08/15

SCADAシステムのHMIにおける脆弱性の現状

メイン画像

「つながる工場」を実現する核となる産業制御システムの一種、SCADAのHMI(ヒューマンマシンインターフェース)を構成するソフトウェアの脆弱性を悪用した攻撃が以前より確認されています。本記事では、トレンドマイクロが2015年~2016年にかけて行ったSCADA内のHMIソフトウェアの脆弱性に関する調査結果から判明したセキュリティの現状を紹介します。

HMIを介したSCADAへの攻撃

汎用的なソフトウェアを利用して広域ネットワークを介し、遠隔から集中監視を実現するSCADA(Supervisory Control And Data Acquisition;産業制御) システムは、世界中の様々な重要インフラで活用されており、攻撃者がこれらの重要インフラを狙う際の格好の標的となっています。

攻撃者は、SCADAシステムへアクセスすることで、設備のレイアウトや、重要な設定値など、攻撃をさらに深めるために必要な情報を収集することができます。これらの情報が攻撃者に入手され、実際の攻撃に悪用されれば、サービス中断をはじめとする妨害行為や、人命に関わるような危険なシステム異常が引き起こされたりする可能性があります。

実際、SCADAを利用するシステムの中には、可燃性の燃料や核燃料を扱う電力や水道、ガスといった社会インフラなども含まれることを考えると、攻撃が実現した際の被害は非常に深刻化することも想定されます。Stuxnetなどの脅威やウクライナの送電網への攻撃は既に発生しており、明確な意思を持った攻撃者による一般市民にも多くの被害を与えうるサイバー攻撃の発生は、単なる想像ではなく現実の脅威として備える必要があるでしょう。

攻撃者はさまざまな手段を用いてSCADAシステムに侵入します。その1つが、HMI(Human Machine Interface;ヒューマンマシンインターフェース)を構成するソフトウェアの脆弱性を悪用したものです。

HMIは、マシンからオペレータ(人間)に送られるデータを表示し、オペレータがマシンに送るコマンドを受け付けるための装置です。HMIを通じて、オペレータはSCADAシステムに表示される情報を監視し、それに応答します。

最新のHMIは、極めて高度かつカスタマイズ可能な仕様となっており、システムの現状を柔軟に可視化することが可能です。HMIは多くの場合、ネットワークに接続されています。そのためHMIはSCADAシステムにおける最大の攻撃ポイントと考える必要があり、信頼できるネットワーク内に隔離または分離した状態で設置すべきです。しかし、常にそのような理想的な設置状態となっているとは限りません。

SCADA HMIで確認された脆弱性の現状

トレンドマイクロのZero Day Initiative (ZDI) チームは、ZDIプログラムを通じて確認された250件の脆弱性を含め、2015~2016年に修正された全ての公開済SCADAソフトウェアの脆弱性を対象とし、SCADA HMIセキュリティの現状について調査しました。

調査の結果、「メモリ破損の脆弱性」、「認証情報管理不備の脆弱性」、「認証や権限付与の脆弱性および安全でない初期設定」、「インジェクションの脆弱性」が大部分を占めていることが判明しました。これらの脆弱性は、開発時にセキュアなコーディングを行うことで防げるものです。

SCADA HMIに存在する脆弱性のカテゴリ

SCADA HMIに存在する脆弱性のカテゴリ

メモリ破損の脆弱性:

メモリ破損の問題は、確認された脆弱性の20%を占めています。このカテゴリの脆弱性は典型的なコードセキュリティの問題を示しており、例として、スタック/ヒープ領域のバッファオーバーフロー、アウトオブバウンドメモリの読み取り/書き込みの脆弱性などが挙げられます。

認証情報管理不備の脆弱性:

認証情報管理不備の脆弱性は、確認された脆弱性の19%を占めています。このカテゴリの脆弱性には、ハードコードされたパスワードの使用、復号可能な形式 (平文など) でのパスワードの保存、認証情報の保護不足などがあげられます。

認証や権限付与の脆弱性および安全でない初期設定:

このカテゴリは確認された脆弱性の23%を占めています。このカテゴリの脆弱性には、平文による機密情報の送信、暗号化の不備、安全とマークされた安全でないActiveXコントロールなど、多くの安全ではない設定が含まれます。

インジェクションの脆弱性:

この問題は、確認された脆弱性の9%を占めています。SQL、コマンド、OS、プログラムコードへの一般的なインジェクションの問題も引き続き起きている一方で、SCADAソフトウェアに固有のスクリプトへのインジェクションの脆弱性も存在します。

SCADA関連ソフトウェアの脆弱性修正に要する平均時間

SCADAベンダーの脆弱性公開から修正プログラムリリースまでの平均時間は146日で、MicrosoftやAdobeといったコンシューマの利用を含むメジャーなソフトウェアの修正プログラムリリースまでの平均と比較した場合は、30日程度多くなっていますが、Hewlett Packard Enterprise (HPE) やIBMなどが提供する企業システム用ソフトウェアと比べた場合は短い結果となっています。セキュリティソフトウェアと比較した場合、期間にそれほど大きな違いはありません。

用途別ソフトウェアの脆弱性公開から修正プログラムリリースまでの平均時間

用途別ソフトウェアの脆弱性公開から修正プログラムリリースまでの平均時間

このデータを踏まえると、平均的にはSCADAの脆弱性に対して修正プログラムが提供されるまで約5カ月を要することになります。当然ですが、これはベンダーによって異なります。ベンダーによってはその週のうちにパッチを提供できる場合もあれば、修正までに200日を要した事例もありました。


本調査の詳細や、自社ソフトウェアの監査目的などで脆弱性の調査にあたるリサーチャ向けの効率的なバグ発見の指針となる情報については、トレンドマイクロのホワイトペーパー「Hacker Machine Interface: The State of SCADA HMI Vulnerabilities」をご覧ください。

おすすめの動画

コネクテッドカーのセキュリティリスクとは

運営社情報

セキュリティブログ
is702
PageTop