産業用自動化ソフトウェア CODESYS に深刻な脆弱性が見つかる

Several New Critical Flaws Affect CODESYS Industrial Automation Software

2021/07/21 TheHackerNews — サイバー・セキュリティ研究者たちが、自動化ソフトウェア CODESYS および PLC (programmable logic controller) プラットフォーム WAGO に存在する、複数のセキュリティ脆弱性を公表しました。これらの脆弱性により、企業のクラウド OT (operational technology) インフラが悪用され、リモートからの操作を許す可能性がある。

ニューヨークに本社を置く産業用セキュリティ企業の Claroty は、The Hacker Newsと共有する報告書の中で、この欠陥について「企業のクラウド OT 実装をリモートで制御し、クラウドから管理されるあらゆる産業プロセスを脅かす、革新的な攻撃に変える可能性がある。侵害されたフィールド・デバイスからクラウド・ベースの管理コンソールを標的にするために、また、企業のクラウドを乗っ取り、PLC デバイスなどを攻撃して、業務を妨害するために使用できる」と述べている。CODESYS は、コントローラ・アプリケーションをプログラミングするための開発環境であり、産業用制御システムにおける PLC の設定を容易する。WAGO PFC 100/200は、コントローラのプログラミングやコンフィグレーションに、CODESYS プラットフォームを活用する PLC シリーズである。

7つの脆弱性のリストは以下の通りである。

・CVE-2021-29238 (CVSS 8.0) – CODESYS Automation Server – XSRF
・CVE-2021-29240 (CVSS 7.8) – CODESYS Package Manager – データ真正性の不十分な検証
・CVE-2021-29241 (CVSS 7.5) – CODESYS V3 – ヌル・ポインタ・デリファレンス
・CVE-2021-34569 (CVSS 10.0) – WAGO PFC Diagnostic Tool – 境界外書き込み
・CVE-2021-34566 (CVSS 9.1) – WAGO PFC iocheckd Service “I/O-Check” – 共有メモリバッファオーバーフロー
・CVE-2021-34567 (CVSS 8.2) – WAGO PFC iocheckd Service “I/O-Check” – 境界外の読み込み
・CVE-2021-34568 (CVSS 7.5) – WAGO PFC iocheckd Service “I/O-Check” – 無制限のリソース割当

これらの欠陥が悪用されると、悪意の CODESYS パッケージのインストールが可能となり、サービス拒否 (DoS) や、悪意の JavaScript コード実行による権限昇格、さらにはデバイスの不正操作や破壊につながることもある。ワイルドな状況は、ボトムアップとトップダウンのいずれかで発生する。この2つの経路は、脅威アクターが PLC のエンド・ポイントを制御して、最終的にはクラウド・ベースの管理コンソールを侵害するケースと、逆にクラウドを乗っ取った後に、ネットワーク接続された全フィールド・デバイスを操作するような流れを示すものである。

Claroty が考える、複雑なボトムアップ型エクスプロイト・チェーンでは、脆弱性 CVE-2021-34566 / CVE-2021-34567 / CVE-2021-29238 の組み合わせが悪用され、WAGO PLC でリモートコードを実行した後に、CODESYS WebVisu の HMI (Human Machine Interface) にアクセスし、クロス・サイト・リクエスト・フォージェリ (XSRF) 攻撃を行い、CODESYS オートメーション・サーバー・インスタンスを制御する。この欠陥を発見/報告した、

Claroty の Senior Researcher である Uri Katz は、「オートメーション・サーバー・クラウドで管理されている、PLC へのアクセス権を得た脅威アクターは、”webvisu.js “ファイルの末尾に JavaScript コードを追加することで、ログインしたユーザーに代わってクラウド・サーバーに悪意のリクエストを送信する。クラウド・ユーザーが WebVisu のページを閲覧するとき、修正された JavaScript に XSRF トークンがないことが悪用され、CAS クッキーを含むリクエストが、閲覧したユーザー・コンテキストで実行される。それが脅威アクターに悪用され、新しい管理者ユーザーを用いた『/api/db/User』への POST が実行され、CODESYS クラウド・プラットフォームへのフルアクセスを許してしまう」と述べている。

その一方で、トップダウン型の攻撃シナリオでは、オペレーター・アカウントに関連付けられたクラウド認証情報をリークするようデザインされた、悪意のパッケージ (CVE-2021-29240 を悪用) を導入し、CODESYS エンジニアリング・ステーションを侵害し、その後に、このパッケージによりプログラムされたロジックを改ざんし、接続されている全 PLC への自由なアクセスを得ることになる。Uri Katz は、「OT および ICS デバイスの、クラウド・ベースでの管理を推進している企業は、固有のリスクについて気をつける必要がある。また、ランサムウェアを含む恐喝ベースの攻撃や、物理的な被害をもたらす巧妙な攻撃により、産業界を狙う脅威が増大していることを認識する必要がある」と述べている。

今回の情報公開は、CODESYS および WAGO PLC に深刻な脆弱性があることが判明した、2回目の事例となります。6月に、「CODESYS 産業用自動化ソフトウェアで 10件の深刻な脆弱性が見つかる」という記事をポストしています。また、その他の PLC 関連の記事としては、「Schneider Modicon PLC に存在する ModiPwn という名の深刻な脆弱性」という記事もありました。この種の情報は、まだまだ数が少ないですが、カテゴリ PLC も作っていますので、ご参照ください。

%d bloggers like this: