Codesys

世界中の産業環境で使用されている何百万もの PLC (プログラマブル ロジック コントローラー) が、CODESYS V3 ソフトウェア開発キットの 15 件の脆弱性の危険にさらされており、リモート コード実行 (RCE) やサービス妨害 (DoS) 攻撃が可能になります。

500 を超えるデバイス メーカーが CODESYS V3 SDK を使用して、IEC 61131-3 規格に準拠した 1,000 を超える PLC モデルのプログラミングを行っており、ユーザーはカスタム オートメーション シーケンスを開発できます。

この SDK には、Windows 管理インターフェイスと、ユーザーが実稼働環境に導入する前に PLC の構成とプログラミングをテストできるシミュレータも用意されています。

CODESYS V3 SDK の 15 個の欠陥はMicrosoft 研究者によって発見され、2022 年 9 月に CODESYS に報告されました。ベンダーは、特定された問題に対処するセキュリティ アップデートを 2023 年 4 月にリリースしました。

これらのデバイスの性質上、セキュリティ問題を修正するためのアップデートは頻繁に行われないため、Microsoft のセキュリティ チームは昨日、リスクへの認識を高め、パッチ適用のペースを上げるために詳細な投稿を公開しました。

インターネット上に公開された CODESYS デバイス
インターネット上に公開された CODESYS デバイス
出典: マイクロソフト

CODESYSの脆弱性

Microsoft は、CODESYS V3 を使用する Schnieder Electric と WAGO の 2 つの PLC を調査し、15 件の重大度の高い脆弱性 (CVSS v3: 7.5 ~ 8.8) を発見しました。

欠陥は次のとおりです: CVE-2022-47378、CVE-2022-47379、CVE-2022-47380、CVE-2022-47381、CVE-2022-47382、CVE-2022-47383、CVE-2022-47384、CVE-2022- 47385、CVE-2022-47386、CVE-2022-47387、CVE 2022-47388、CVE-2022-47389、CVE-2022-47390、CVE-2022-47392、CVE-2022-47393。

主な問題は、SDK のタグ デコード メカニズムにあり、特にタグがサイズを確認せずにデバイス バッファにコピーされ、攻撃者にバッファ オーバーフローの機会を与えるという事実です。

これらのタグは、PLC の機能に重要な指示を提供するデータまたはデータ構造のキャリアです。

Microsoft では、CMPTraceMgr、CMPapp、CMPDevice、CMPApp、CMPAppBP、CMPAppForce、CMPFileTransfer を含む 15 個の CODESYS V3 SDK コンポーネントでこの問題を発見したため、バッファ オーバーフローの問題は単独では発生しません。

この欠陥を悪用するには認証が必要ですが、Microsoft は、この要件はCVE-2019-9013を使用することで回避できると述べています。CVE-2019-9013 は、以下に示すように、CODESYS V3 に影響を与えるもう 1 つの欠陥で、転送中にクリアテキスト形式でユーザーの資格情報が公開されます。

15 件のうち 12 件では、Microsoft のアナリストがこの欠陥を利用して、PLC 上でリモート コードを実行することができました。

CODESYS のセキュリティ アドバイザリには、ハードウェアと OS の構成に関係なく、3.5.19.0 より前のバージョンを実行すると影響を受ける次の製品がリストされています。

  • CODESYS コントロール RTE (SL)
  • CODESYS コントロール RTE (ベッコフ CX 用) SL
  • CODESYSコントロールウィン(SL)
  • CODESYS コントロール ランタイム システム ツールキット
  • CODESYS安全性SIL2ランタイムツールキット
  • CODESYS Safety SIL2 PSP
  • CODESYS HMI (SL)
  • CODESYS 開発システム V3
  • CODESYS 開発システム V3 シミュレーション ランタイム

上記に加えて、次の製品は 4.8.0.0 より前のバージョンの影響を受けます。

  • BeagleBone SL の CODESYS コントロール
  • emPC-A/iMX6 SL用CODESYSコントロール
  • IOT2000 SL用CODESYSコントロール
  • Linux SL 用 CODESYS コントロール
  • PFC100 SL 用 CODESYS コントロール
  • PFC200 SL 用 CODESYS コントロール
  • PLCnext SL用CODESYSコントロール
  • Raspberry Pi SL用CODESYSコントロール
  • WAGO タッチパネル 600 SL 用 CODESYS コントロール

管理者はできるだけ早く CODESYS V3 v3.5.19.0 にアップグレードすることをお勧めします。また、Microsoft は PLC やその他の重要な産業用デバイスをインターネットから切断することも推奨しています。