この度、当社の高度な脅威検知技術で特定・修復可能な様々なCVE(共通脆弱性・暴露)に焦点を当てた技術分析ブログシリーズをご紹介いたします。すべての研究は、2023年12月に開始されたOPSWAT サイバーセキュリティ・フェローシップ・プログラムに参加した大学院生によって行われています。
このブログでは、Rockwell MicrologixのCVE-2017-14469と、CVE-2017-14469の悪用攻撃に対する組織の防御方法について説明します。
ロックウェル・オートメーション MicroLogix 1400 コントローラ
PLC(プログラマブル・ロジック・コントローラ)は、産業用製造プロセスを制御するために特別に設計されたコンピュータである。組立ライン、機械監視、プロセス制御などの重要なインフラ分野で使用されています。ロックウェル・オートメーションのMicroLogix 1400コントローラは、モジュール式で拡張可能なPLCで、高いI/O数、高速カウンタ、強化されたネットワークサポートを特長としており、幅広いアプリケーションに適しています。
14469
ロックウェル・オートメーションの MicroLogix 1400 シリーズ B FRN 21.2 およびそれ以前のバージョンには、攻撃者がデバイス上の機密データを読み書き/上書きできる脆弱性があります。認証されていない、コマンドを含む特別に細工されたパケットにより、ユーザー定義のフォールトルーチン番号が変更され、デバイスの実行が予期せず停止する可能性があります。
NVD(National Vulnerability Database)は、この脆弱性を CVSS(Common Vulnerability Scoring System)スコアが最大の「Critical」に分類している。その影響は、追加の認証を必要とせずに、デバイスの機密性、完全性、可用性に大きな影響を与える可能性がある。システムの可用性は極めて重要であり、特に重要なインフラシステムでは、中断やダウンタイムが発生すると、巨額の金銭的損失や物理的な損害につながる可能性がある。このCVEは、コントローラ内で「システム・フォールト」をトリガすることでPLC機能の停止につながる可能性があり、その結果、重要なインフラ・システムを中断させるリスクをもたらします。
脆弱性分析
フォルトの概念は、プログラミングにおける例外とよく似ている。フォルトが発生すると、命令の実行が停止され、デバイスがフォルト状態になる。フォルトは、ユーザー・フォルトと非ユーザー・フォルトの2種類に分類できる。
フォールトをクリアするメカニズムには、コントローラの電源を再投入することで自動的にクリアする方法と、ユーザー・フォールト・ルーチン(ユーザー・フォールトに応答して自動的に実行されるように設定可能な手順)を使用して手動でクリアする方法の2つがある。CVE-2017-14469 は、2 番目のメカニズムに関するものです。ユーザー障害によってシステムが予期せずシャットダウンしたり実行が停止したりすることを防ぐため、ユーザー障害ルーチンは、割り当てられた障害をその障害番号に基づいて処理するように定義され、対応する障害が発生したときに実行される。フォルトを処理するルーチンがない場合、デバイスは実行を停止し、フォルト番号を表示します。ユーザ・フォルト・ルーチンの値は、デバイスが正常に動作しているときは 0x00 に設定され、フォルト処理用に 0x03 ~ 0xFF の範囲でのみ設定する必要があります。
ロックウェル・オートメーションの MicroLogix 1400 には、PROGRAM、REMOTE、および RUN の 3 つのモードスイッチがあります。PROGRAM モードと REMOTE モードの両方では、デバイスへのプログラムのダウンロードが許可され、同時に受信要求も受け入れて処理します。しかし、RUN モードでは、デバイスは制限されたリクエストしか受け付けない。本脆弱性の文脈では、デバイスが RUN モードの場合、悪用は不可能です。
このデバイスは、PCCC拡張機能を持つCIP(共通Industrial プロトコル)を介して通信します。CIPプロトコルはEthernet/IPIndustrial プロトコル)の上に構築されています。パケットの構造を下図に示します:
上の画像からわかるように、認証用に指定されたフィールドはない。これは、デバイスが攻撃者のリクエストとユーザーからの通常のトラフィックを区別する能力を欠いているため、重要な課題となる。
通常、オペレータは制御ソフトウェアを介してデバイスの構成を監視し、更新することができます。デバイスと通信するために、制御Software 、CIP PCCCオブジェクトに入力された保護された論理書き込みまたは読み取りコマンドで、対応する要求を送信します。CIP PCCCプロトコル形式では、コマンドはコマンドコードとファンクションコードで識別されます。
コマンドコード | 機能コード | 説明 |
0x0F | 0800 | モード変更 |
0x0F | 0xAA | 3つのアドレス・フィールドを持つプロテクト型論理書き込み |
0x0F | 0xA2 | 3つのアドレス・フィールドを持つプロテクト型論理リード |
保護タイプ論理書き込みコマンドは、ステータス・ファイル、ビット・ファイル、カウンタ・ファイル、その他デバイスのコンフィギュレーションなど、機密性の高いファイルへの書き込みに使用される。
デバイスは、CIPパケットの3つのアドレス・フィールド(ファイル・タイプ、 ファイル番号、エレメント番号)を使って、読み書きする場所を特定します。以下は、コマンドによって影響を受けるコンフィギュレーション・ファイルの場所を特定するための値の例である:
File Type | ファイル番号 | エレメント番号 | 説明 |
0840 | 0020 | 0x1d | ステータスファイル - ユーザー障害ルーチン番号 |
0840 | 0020 | 0060 | ステータスファイル - メジャーエラーコード |
0840 | 0020 | 0050 | ステータスファイル - メジャーエラーコード |
しかし、デバイスがリクエストを処理する際には、入力の検証が欠けている。書き込みコマンドで送信されたデータは検証されず、無効な値が設定される可能性がある。
この脆弱性の原因は主に2つある。第一に、デバイスが受信リクエストを認証できないため、攻撃者が認証されていないリクエストを送信し、機密設定を変更することが可能になる。第二に、デバイスが誤って受信データを検証するため、設定が無効な状態に変更されてしまう。
この脆弱性を悪用するには、攻撃者が保護されたタイプ論理書き込みコマンドを悪用して悪意のあるリクエストを送信し、ステータス・ファイル内のフォルト・ルーチン番号を 0x01 や 0x02 などの無効な値で上書きします。フォールト・ルーチン番号が無効な値で上書きされ、デバイスが別の CIP パケットを介して RUN モードに切り替わると、フォールトがトリガーされ、実行が停止する。
脆弱性の悪用
攻撃は4つのステップに分けられる。
- イーサネット/IP経由でデバイスとの接続を確立し、セッション・ハンドルを取得する。
- 障害ルーチン番号を上書きする悪意のあるリクエストを送信する。
- 悪意のある CIP パケットを作成して PLC をランモードに戻し、フォルトをトリガする。
- デバイスに障害が発生し、実行が停止する。
デバイスと通信するために、攻撃者はデバイスにセッションを登録することで接続を開始し、セッ ション・ハンドルを取得して継続的な通信に使用しなければならない。以下のコードは、標準的なセッション登録リクエストの例です:
その後、攻撃者は以前に取得したセッションハンドルを使用してリクエストを作成し、CIPパケットにカプセル化された、障害ルーチン番号を上書きするための保護された型付き論理書き込みコマンドを含むペイロードを含む。
最後のステップでは、別のCIPパケットが送信され、デバイスをランモードに切り替え、フォルトをトリガーする。
画像に示されているように、PLC の実行は停止し、脆弱性の悪用に成功する。
修復
OPSWATのICSセキュリティ向け製品は、この種の攻撃に耐えるように設計されている。 MetaDefender OT Securityは、AIを活用した脅威検知・インテリジェンスツールで、攻撃者からの異常なリクエストを検知し、管理者が潜在的な脅威を特定できるようにします。
MetaDefender OT Security には、OT環境のセキュリティ態勢を改善するための次のような機能がある:
- スマート・アセット・プロファイリングによる資産インベントリの迅速な発見と構築
- 脅威や異常を能動的・受動的に監視する
- 一元化された自動パッチ機能によるリモートパッチ管理
- 包括的かつカスタマイズ可能なダッシュボードで管理される、構造化され合理化されたリスクアラートワークフロー
- グローバル、地域、業界の規制コンプライアンス報告
さらに、MetaDefender OT Security 、以下のものと統合することもできます。 MetaDefender Industrial Firewallと統合することもできます。MetaDefender Industrial Firewall 、ミッションクリティカルなPLC、VFD、RTU、その他の産業資産を保護する最後の防衛ラインです。非常にきめ細かいデバイスアクセスポリシーを適用し、デバイスアクセスゾーンを強制し、不正アクセスや変更が重要なハードウェアに影響を与えないようにします。
この2つを組み合わせることで、シームレスなIDPS(侵入検知・防御システム)が構築され、異常なネットワーク接続、リクエスト、通信などを効果的に検知し、ネットワークへの影響を防ぐことができる。
MetaDefender OT Security は、資産の可視化と堅牢な脅威検知を通じて、重要なインフラストラクチャに極めて重要な保護を提供しています。OPSWAT 、その技術力の高さだけでなく、サイバーセキュリティに情熱を傾ける人材にエキサイティングなキャリアの機会を提供しています。私たちと一緒にセキュリティの未来を形作り、最も重要なものを守りましょう。OPSWAT で多様な役割とインパクトのあるプロジェクトを探求し、あなたの専門知識が具体的な違いを生み出します。一緒に、世界で最も重要なシステムを守りましょう。