【ITニュース解説】Delta Electronics製DIAViewにおける‘.../...//‘に関するパストラバーサルの脆弱性

作成日: 更新日:

ITニュース概要

Delta Electronics社の産業用管理ソフト「DIAView」に、パストラバーサルの脆弱性が存在。これにより、攻撃者がサーバー上の意図しないファイルを不正に閲覧・取得する可能性がある。利用者は、提供されている修正済みバージョンへのアップデートが必要である。

ITニュース解説

Delta Electronics社が提供する「DIAView」というソフトウェアにおいて、セキュリティ上の重大な脆弱性が存在することが明らかになった。このDIAViewは、主に工場の生産ラインやビルの管理システムなどで、様々な機器の稼働状況をリアルタイムで監視し、遠隔から制御するために使用される産業用ソフトウェアである。このようなシステムはSCADA(Supervisory Control and Data Acquisition)システムとも呼ばれ、社会インフラや製造業の安定稼働を支える重要な役割を担っている。今回発見された脆弱性は「パストラバーサル」と呼ばれる種類のものであり、悪用されるとシステムの機密情報が外部に漏えいする危険性がある。 パストラバーサルとは、攻撃者がアプリケーションの設計上の不備を利用して、本来はアクセスが許可されていないサーバー上のファイルやディレクトリに不正にアクセスする攻撃手法である。これを理解するためには、コンピュータ内のファイルがどのように管理されているかを知る必要がある。コンピュータのファイルは、「ディレクトリ」または「フォルダ」と呼ばれる階層構造の中に整理されており、特定のファイルにアクセスするには、そのファイルがどのディレクトリに存在するかを示す「パス」と呼ばれる情報が使われる。Webアプリケーションがユーザーのリクエストに応じて画像などのファイルを提供する際、プログラム内部ではこのパスを指定してファイルを読み込んでいる。パストラバーサル攻撃は、このパスを指定する処理の弱点を突く。攻撃者は、アプリケーションがファイル名を要求する箇所に、「../」という特殊な文字列を意図的に含んだデータを送り込む。「../」は、ファイルシステムにおいて「一つ上の階層のディレクトリへ移動する」という意味を持つ特殊な記号である。これを繰り返し使用することで、攻撃者はアプリケーションが本来アクセスを想定しているディレクトリから不正に抜け出し、階層を遡って、通常ではアクセスできないはずのシステム領域に侵入しようと試みる。その結果、システムの基本的な設定情報が書かれたファイルや、ユーザーアカウント情報が記録されたファイルなどを不正に盗み見ることが可能となる。 今回DIAViewで発見された脆弱性も、このパストラバーサルの原理に基づいている。攻撃者はネットワークを通じて、DIAViewが稼働しているサーバーに対し、巧妙に細工されたリクエストを送信する。このリクエストのファイルパスを指定する部分には、「.../...//」といった、正規の「../」とは少し異なるが同様の機能を持つ文字列が含まれている。これは、単純な「../」という文字列を検出してブロックするような基本的なセキュリティ対策を回避するための手口である。DIAViewのプログラムは、この予期せぬ形式の入力を適切に検証・無害化する処理が不十分であったため、攻撃者の意図通りにディレクトリの階層を移動することを許してしまった。これにより、攻撃者はサーバー内に存在する任意のファイルを読み取ることが可能になり、システムの機密情報を窃取できる状態にあった。この脆弱性の深刻度を客観的に示す共通評価システムCVSSによるスコアは7.5と評価され、これは「高(High)」レベルに分類される。攻撃を実行するためにサーバーの管理者権限などは必要なく、ネットワーク経由で比較的容易に攻撃が可能である点が、この評価の大きな要因となっている。 この脆弱性が悪用された場合、サーバー内に保管されている重要な情報が漏えいするリスクがある。例えば、システムの詳細な設定情報、ネットワーク構成、データベースへの接続情報などが盗まれた場合、それを足がかりとして、システム全体を乗っ取るなど、さらに深刻な二次被害へと発展する可能性がある。DIAViewが利用される産業制御システムの分野では、設備の制御ロジックや稼働パラメータといった情報が漏えいすると、生産ラインの停止や設備の誤作動など、物理的な損害に直結する危険性も考えられる。 この問題への対策として、開発元であるDelta Electronics社は、脆弱性を修正したソフトウェアの新しいバージョンを公開している。システム管理者は、自身が運用するDIAViewが脆弱性の影響を受けるバージョンであるかを確認し、該当する場合は速やかにアップデートを適用することが強く推奨される。アップデートにより、不正なパス文字列を適切に検知し、拒否するロジックが組み込まれ、パストラバーサル攻撃は無効化される。 この事例は、システムエンジニアを目指す者にとって、セキュリティの基本原則を再確認する良い機会となる。プログラムを開発する際には、ユーザーや外部システムからの入力値を決して無条件に信用してはならない。ファイル名やIDなど、外部から与えられるデータには、常に悪意のある文字列が含まれている可能性を想定し、受け取ったデータを厳密に検証(バリデーション)し、危険な文字列を無害化(サニタイズ)する処理を組み込むことが不可欠である。特にファイルパスのように、システムの根幹に関わる情報を扱う処理では、想定外の入力をいかに安全に処理するかが、システムの堅牢性を大きく左右する。セキュリティは、開発が完了した後に付け加える機能ではなく、設計の初期段階から考慮すべき、システムの品質そのものであるという「セキュアコーディング」の考え方を常に意識することが、安全なシステムを構築する上で極めて重要である。

【ITニュース解説】Delta Electronics製DIAViewにおける‘.../...//‘に関するパストラバーサルの脆弱性