2022 年初頭、Mandiant は Schneider Electric と協力して、マシン オートメーション デバイスを標的とするように構築された一連の新しい産業用制御システム (ICS) 指向の攻撃ツール (INCONTROLLER (別名 PIPEDREAM) と呼ばれる) を分析しました。このツールは、複数の業界で利用されるさまざまなタイプの機械に組み込まれた特定の産業機器と対話できます。このツールセットを使用した運用環境の標的は不明ですが、マルウェアは、標的の機器を利用する組織に重大なリスクをもたらします。 INCONTROLLER は国が後援している可能性が非常に高く、破壊、妨害行為、および潜在的に物理的な破壊に関連する機能が含まれています。
INCONTROLLER は、非常にまれで危険なサイバー攻撃機能です。これは、2017 年に産業用安全システムを無効にしようとしたTRITONに匹敵します。 2016 年にウクライナで停電を引き起こした INDUSTROYER。資産所有者が INCONTROLLER を見つけて防御するのを支援するために、このレポート全体でさまざまな軽減策と発見方法を含めました。これらのツールは将来変更される可能性が高いため、行動ベースのハンティングおよび検出方法が最も効果的であると考えています。
関連する活動に対応するサポートが必要な場合は、 Mandiant Consultingまでご連絡ください。関連する脅威の詳細な分析は、 Mandiant Advantage Threat Intelligenceの一部として利用できます。
このレポートは、CISA Alert (AA22-103A)で共有されている情報に関連しています。 Schneider Electric の詳細については、同社の速報を参照してください。 CODESYS からの詳細については、その勧告を参照してください。
INCONTROLLER は、次の 3 つの主要コンポーネントで構成されています。
道具 |
説明 |
|
タグラン |
OPC サーバーをスキャンし、OPC 構造/タグを列挙し、資格情報をブルート フォースし、OPC タグ値を読み書きするツール。 |
|
コードコール |
最も一般的な産業用プロトコルの 1 つである Modbus と Codesys を使用して通信するフレームワーク。 CODECALL には、少なくとも 3 つのシュナイダー エレクトリック プログラマブル ロジック コントローラー (PLC) とやり取りし、スキャンし、攻撃するためのモジュールが含まれています。 |
|
オムシェル |
HTTP、Telnet、および Omron FINS プロトコルを介して、いくつかのタイプの Omron PLC と対話し、スキャンする機能を備えたフレームワーク。このツールは、フィードバック制御を使用してモーターにエネルギーを供給し、精密なモーション制御を行うオムロンのサーボ ドライブともやり取りできます。 |
|
INCONTROLLER は、産業プロセスを操作して混乱させるために構築されました
産業用オートメーション ネットワークは、オペレータが情報や指示を一連の物理的なアクションに変換できるようにするさまざまな機器に依存しています。産業用ネットワークに存在する資産の多様性を考えると、産業用オートメーション機器は通常、ネットワークのさまざまな部分でさまざまな言語を話します。これは、標準化された産業用通信プロトコルを使用して可能になります。
INCONTROLLER には、攻撃者が OPC UA などの産業用ネットワーク プロトコルを使用して ICS デバイスに命令を送信できるようにする 3 つのツールが含まれています。 Modbus; EcoStruxure Machine Expert および SoMachine で使用される Codesys。そしてオムロンFINS。このツールの機能により、攻撃者はさまざまな相手先商標製造会社 (OEM) のさまざまな製品と通信できますが、攻撃者は Schneider Electric と Omron の特定のコントローラー用のモジュールを開発しました。対象となる機器は、マシン オートメーション ソリューションで構成されており、そのユース ケースは、単純で反復的なマシンのサポートから、分散アーキテクチャの複雑なモジュラー マシンまで多岐にわたります。
- OPC サーバー
- Schneider Electric Modicon M251、Modicon M258、および Modicon M221 Nano PLC
- Modbus と Codesys を利用する他のデバイスも影響を受ける可能性があります
- Omron NX1P2 および NJ501 PLC と R88D-1SN10F-ECT サーボ ドライブ
- NJ および NX PLC シリーズの他のデバイスも影響を受ける可能性があります
攻撃者がこれらのデバイスを無作為に標的にする可能性は非常に低いです。特定のターゲット環境への偵察のために選択された可能性が高いです。これは、ターゲットの産業環境を侵害する前にほぼ確実に特定された重要な安全システムを標的とした、TRITON などの以前の ICS マルウェアと一致することに注意してください。
INCONTROLLER: ツールの概要
タグラン
OPC UA サーバーをスキャンして列挙する機能などの TAGRUN の機能は、偵察の役割を示唆しています。 OPC は、産業環境の ICS 資産からデータを収集して保存するための中央通信プロトコルとして機能します。このデータにアクセスすると、攻撃者は生産システムと制御プロセスの詳細な概要を知ることができます。このツールは偵察用に開発された可能性が高いですが、タグ値を書き込んで変更することもできます。これを使用して、データを変更して攻撃をサポートしたり、プロセスの変更をマスクしたりすることができます。 TAGRUN は、ターゲット環境で Windows オペレーティング システムが実行されているかどうかも確認し、このチェックの戻り値に応じてさまざまな ping コマンドを提供します。これは、攻撃者が Windows 以外のデバイスを使用して TAGRUN を実行する可能性があることを示唆しています。
TAGRUN の機能は次のとおりです。
- ネットワーク上の OPC UA サーバーのスキャン
- OPC UA サーバーの構造の読み取り
- OPC UA サーバー上のデータのタグ値の読み取り/書き込み
- ブルート フォーシング資格情報
- ログファイルの出力
コードコール
CodeCALL は Modbus プロトコルを使用して ICS デバイスと通信します。これにより、さまざまなメーカーのデバイスとやり取りできる可能性があります。ただし、このツールには、Schneider Electric の Modicon M251 (TM251MESE) PLC とやり取りし、スキャンし、Codesys を使用して攻撃するための特定のモジュールが含まれています。これは、同社独自の EcoStruxure Machine Expert プロトコルで使用されます。このツールは、Schneider Electric の Modicon M221 Nano PLC および Modicon M258 PLC も標的にしており、これらのプロトコルを利用するその他のデバイスに影響を与える可能性があると考えられます。
CODECALL の一般的な機能は次のとおりです。
- ネットワーク上の Schneider Electric および Modbus 対応デバイスの識別
- Modbus または Codesys 経由で特定のデバイスに接続する
- Modbus を介したデバイス レジスタの読み取り/書き込み
- Modbus を介したセッションからのデバイス ID のリクエスト
- コマンド マクロ ファイルの定義、ダンプ、またはロード
- 次のような Codesys を介したデバイス固有のコマンドの実行:
- ユーザー名/パスワードを使用してログインを試み、提供された辞書ファイルを使用して認証情報をブルート フォースする
- PLC デバイスへのファイルのダウンロード/アップロード
- ファイル/ディレクトリ リストの取得
- ファイルの削除
- PLC デバイスからのセッションの切断
- DDoS 攻撃の試み
- 特別に細工されたパケットでデバイスをクラッシュさせる
- デバイス ゲートウェイ IP が別のインターフェイスに存在する場合のルートの追加
- カスタム raw パケットの送信
オムシェル
OMSHELL は、Omron NX1P2、NJ501、R88D-1SN10F-ECT サーボ ドライブ、およびおそらく NJ/NX 製品ラインの他の同様のデバイスを含む Omron PLC へのシェル アクセスを取得するように設計されています。このツールは主に HTTP プロトコルを使用して動作しますが、スキャンとデバイスの識別には Omron 独自の FINS over UDP プロトコルも利用します。フレームワークはモジュール式であるため、攻撃者は追加機能を開発してツールに展開できます。
OMSHELL の機能は次のとおりです。
- ネットワーク上の Omron デバイスのスキャンと識別
- デバイスのプログラム メモリのワイプとデバイスのリセット
- デバイスからのバックアップ構成とバックアップ データの読み込み、またはデバイスへのデータの復元
- デバイスでの telnet デーモンのアクティブ化
- telnet デーモン経由でデバイスに接続し、任意のペイロードまたはコマンドをアップロードし、必要に応じて実行する
- デバイスに存在するバックドアに接続し、任意のコマンドを実行する
- ネットワーク トラフィック キャプチャの実行
- デバイスで実行されている任意のプロセスを強制終了する
- デバイスへのファイルの転送
- 接続されたサーボドライブとの接続と通信
攻撃者が特定の被害環境でツールを使用する前にツールをほぼ確実に変更またはカスタマイズするため、被害環境での INCONTROLLER の検出にインジケーター ベースの検出が効果的ではないと考える理由があります。代わりに、防御側は、これらのツールの動作ベースのハンティングと検出方法に注力する必要があります。
潜在的なサポート Windows ツール
また、この脅威活動に関連している可能性がある、Windows ベースのシステムに影響を与える 2 つの追加ツールも追跡しています。これらのツールを使用して、IT または運用技術 (OT) 環境で Windows ベースのシステムを悪用することで、INCONTROLLER 攻撃の全体的な攻撃ライフサイクルをサポートできる可能性があります。
- ツールの 1 つは、AsrDrv103.sys ドライバーのCVE-2020-15368を悪用し、脆弱なドライバーをインストールして悪用します。 ASRock マザーボードは、一部のヒューマンマシン インターフェース (HMI) および OT 環境のエンジニアリング ワークステーションで活用される場合があります。
- 私たちが ICECORE として追跡しているもう 1 つのツールは、偵察とコマンド アンド コントロール機能を提供するバックドアです。
攻撃シナリオ
各ツールを個別に使用することも、攻撃者が 3 つのツールを使用して 1 つの環境を攻撃することも可能です。 INCONTROLLER の対象となるデバイスは、多くの場合、自動化機械 (フライス盤やプレスなど) に組み込まれており、ユーザーが明示的に認識していなくても、さまざまな産業部門やプロセスに存在する可能性があることを強調しています。
私たちは、INCONTROLLER を使用した攻撃によって起こりうるさまざまな結果を強調する 3 つのサイバー フィジカル攻撃シナリオを作成しました。 3 つのケースのそれぞれで、被害者の環境を列挙し、そのターゲットを特定し、物理的なプロセスについて学習するために、TAGRUN を初期の段階で使用できた可能性があります。
これらのシナリオの影響は、被害者の施設の性質と、制御された物理プロセスに対する攻撃者の理解と相互作用の程度によって異なります。 INCONTROLLER は作成者によって実装された新機能をサポートできる拡張可能な構造を利用しているため、INCONTROLLER の現在の理解はまだ限られていることに注意してください。
INCONTROLLER は、国家が支援するマルウェアである可能性が非常に高い
INCONTROLLER は、マルウェアの複雑さ、それを構築するために必要な専門知識とリソース、および金銭目的の操作における限られた有用性を考慮すると、国家が後援するグループに関連している可能性が非常に高いと考えています。分析のこの段階では、INCONTROLLER を以前に追跡されたグループと関連付けることはできませんが、この活動は ICS に対するロシアの歴史的な関心と一致していることに注意してください。 INCONTROLLER とロシアを結びつける証拠は、大部分が状況に基づくものですが、ロシアの破壊的なサイバー攻撃の歴史、現在のウクライナへの侵略、およびヨーロッパと北アメリカに対する関連する脅威を考慮すると、それは注目に値します。
- 少なくとも 2014 年以降、ロシア関連の攻撃者は、複数の ICS に合わせたマルウェア ファミリ (PEACEPIPE、BlackEnergy2、INDUSTROYER、TRITON、および VPNFILTER) を使用して、ICS の資産とデータを標的にしています。
- INCONTROLLER の機能は、ロシアの以前のサイバー物理攻撃で使用されたマルウェアと一致しています。たとえば、2015 年と 2016 年のウクライナの停電では、組み込みデバイスに対する破壊的な攻撃と組み合わせた物理的なプロセス操作が関与していました。 INCONTROLLER も同様に、マルウェア オペレーターが物理プロセスを操作できるようにする一方で、PLC の可用性を妨害するサービス拒否 (DoS) 機能も備えています。
推奨事項
意図された潜在的な被害者の性質は不明のままですが、INCONTROLLER は、互換性のあるデバイスを持つ組織に重大なリスクをもたらします。対象となるデバイスは複数の種類の機械に組み込まれており、多くの異なる産業部門に存在する可能性があります。以前のロシア関連の脅威活動との一貫性を考えると、INCONTROLLER は、ウクライナ、NATO 加盟国、およびロシアのウクライナ侵略に積極的に対応している他の国々に最大の脅威をもたらすことを示唆しています。組織は、対象となる ICS デバイスが環境内に存在するかどうかを判断し、ベンダー固有の対策の適用を開始するために、すぐに行動を起こす必要があります。
また、リスクのある組織が脅威ハントを実施して、ネットワーク内のこのアクティビティを検出することをお勧めします。 Mandiant Advantage Threat Intelligence のサブスクライバーは、脅威ハンティングのガイダンスと YARA 検出を含む追加のレポートにアクセスできます。
関連する活動に対応するサポートが必要な場合は、 Mandiant Consultingまでご連絡ください。詳細な分析は、 Mandiant Advantage Threat Intelligenceの一部として利用できます。
緩和策
OPC UA
このプロトコルを使用する環境でリスクを軽減し、悪意のある活動に対抗するために、いくつかの手順をお勧めします。
- 攻撃者が企業ネットワークから産業環境に移行するのを防ぐのに役立つ、IT ネットワークと OT ネットワークの適切なセグメンテーション。
- 受け入れられたプライマリ/下位デバイス、動作パターン、およびコマンドを一覧表示して、承認されたベースラインを確立し、ネットワーク監視を使用して異常を検出できるようにします。
- アクセスと承認された機能の制御を支援するディープ パケット インスペクションを備えた産業用ファイアウォールの実装。
- 潜在的に悪意のあるソースからの機能コードの監視を支援する、ICS 対応の侵入防御システムの実装。
- 異常なトラフィックの検出を支援し、OPC UA に関連付けられたポートに向けられた外部ネットワーク トラフィックを防止するために、可能であれば OPC UA ポートへの外部トラフィックを監視およびブロックします。
- OPC サーバーとクライアントの監査ログを有効にして集約します。
- 一貫性のない、または不正な接続、セキュリティ オプションのネゴシエーション、構成の変更、およびユーザーの操作に関する監査ログの定期的なレビュー。
シュナイダーエレクトリック
Schneider Electric 製品を安全に保護するために、Schneider Electric Web サイトで提供されている Cybersecurity Best Practices ドキュメントに示されているように、サイバー セキュリティのベスト プラクティスを実装することをお勧めします。シュナイダーエレクトリック。
さらに、 EcoStruxure Machine Expert、Modicon および PacDrive コントローラのサイバーセキュリティ ガイドライン、および関連機器のユーザー ガイドは、正当なユーザーのみが Schneider Electric 製品にアクセスできるようにするのに役立ちます: EcoStruxure Machine Expert、Modicon および PacDrive コントローラおよび関連機器のサイバーセキュリティ ガイドライン、ユーザー ガイド| |シュナイダーエレクトリック。
許可されたユーザーのみにアクセスを制限するのに役立つ機能とサイバー セキュリティ デバイスに特に注意を払う必要があります。これには、侵入検知システム、ネットワーク ファイアウォール、セキュア リモート アクセス、デバイス認証、デバイス ファイアウォール、非セキュアまたはプログラミング プロトコルの無効化/フィルタリングなどの例が含まれます。
オムロン
公開されている脆弱性通知によると、オムロンは以前に、OMSHELL で使用される同じまたは類似の FIN ポートを使用する他の脆弱性を特定しました。セキュリティ ブリーフに記載されているように、パッチが適用されていない脆弱性に関する Omron のガイダンスは、特定された FIN ポートの外部ファイアウォール フィルタリングを軽減策として使用できることを示しています。 Mandiant は、このメカニズムは INCONTROLLER でテストされていませんが、推奨される方法論が実行可能な軽減策である可能性があると考えています。オムロンの以前の推奨事項に関連する追加のガイダンスは、その古い脆弱性に関連するICS アドバイザリに記載されています。
発見方法
タグラン
- OPC UA エンドポイントへの不規則な接続を検索して調査し、OPC UA アプリケーションの堅牢な監査ログを有効にします。該当する場合、OPC UA ログと監査レコードを中央の場所に集約します。
- OPC UA 監査レコードを確認して、資格情報の総当たり攻撃、悪意のある証明書の使用、不規則な接続試行、構成の変更、および OPC タグの変更の証拠を探します。
- TAGRUN ping コマンドの実行を検索して調査します。
- pingsweep アクティビティの証拠がないか、OT ネットワーク トラフィックを確認します。
コードコール
- Schneider Electric PLC デバイスの堅牢なログ記録を有効にし、必要に応じてログを中央の場所に集約します。
- 次のアクティビティの証拠について、Schneider Electric デバイス ログを確認します。
- 資格情報のブルートフォース
- デバイスの異常なクラッシュ/再起動に関連するエラー コード
- アップロードまたはダウンロードしたファイル
- ファイルの削除
- デバイス構成の不正な変更とコマンドの実行
- デバイスおよび環境の文書化された基準外のデバイスへの接続
- 環境ベースラインとは異なる異常な Modbus/Codesys トラフィックが続く ARP スキャンの証拠を検索して調査します。
- 環境のベースラインと比較して、異常な Modbus および Codesys トラフィック フローを検索します。
オムシェル
- OT リソースと接続性 (パケット キャプチャなど) にアクセスできるシステムで、OMSHELL 関連のホストベースのインジケータが作成/存在する証拠を検索して調査します。
- Omron PLC デバイスの堅牢なログ記録を有効にし、必要に応じてログを中央の場所に集約します。
- 次のアクティビティの証拠について、Omron デバイスのログを確認します。
- デバイスでの Telnet デーモンのアクティブ化。
- デフォルトのクレデンシャルの使用を含む、許可されていない Telnet 接続の試み。
- PROGRAM メモリの消去とデバイスのリセット。
- デバイス構成の無許可の変更およびコマンドの実行。
- デバイスおよび環境の文書化された基準外のデバイスへの接続。
- アップロードまたはダウンロードされたファイル。
- OT リソース/デバイスへのアクセスと接続を備えたシステムで、悪意のある pingsweep スキャン アクティビティ、telnet トラフィック、および HTTP トラフィックを特定して調査します。
- 標準的な基準と環境のベースライン外の Omron FINS トラフィックの証拠を検索して調査します。
Omron API コマンドを含む Omron デバイスへの悪質な HTTP POST データを収集、特定、調査します。
付録: ICS マッピングのための MITRE ATT&CK
モジュール |
戦術 |
技術 |
タグラン |
実行 |
T0807: コマンドライン インターフェイス |
タグラン |
実行 |
T0853: スクリプティング |
タグラン |
横移動 |
T0859: 有効なアカウント |
タグラン |
発見 |
T0888: リモート システム情報ディスカバリ |
タグラン |
発見 |
T0846: リモート システム ディスカバリ |
タグラン |
持続性 |
T0859: 有効なアカウント |
タグラン |
コレクション |
T0801: プロセス状態の監視 |
タグラン |
コレクション |
T0861: ポイントとタグの識別 |
タグラン |
コマンドと制御 |
T0885: 一般的に使用されるポート |
タグラン |
コマンドと制御 |
T0869: 標準アプリケーション層プロトコル |
タグラン |
影響 |
T0832: ビューの操作 |
タグラン |
影響 |
T0882: 運用情報の盗難 |
モジュール |
戦術 |
技術 |
コードコール |
実行 |
T0807: コマンドライン インターフェイス |
コードコール |
実行 |
T0853: スクリプティング |
コードコール |
持続性 |
T0859: 有効なアカウント |
コードコール |
持続性 |
T0857: システムファームウェア |
コードコール |
持続性 |
T0889: プログラムの修正 |
コードコール |
発見 |
T0846: リモート システム ディスカバリ |
コードコール |
発見 |
T0888: リモート システム情報ディスカバリ |
コードコール |
横移動 |
T0812: デフォルトの資格情報 |
コードコール |
横移動 |
T0843: プログラムのダウンロード |
コードコール |
横移動 |
T0859: 有効なアカウント |
コードコール |
コレクション |
T0801: プロセス状態の監視 |
コードコール |
コレクション |
T0845: プログラムのアップロード |
コードコール |
コレクション |
T0801: プロセス状態の監視 |
コードコール |
コマンドと制御 |
T0885: 一般的に使用されるポート |
コードコール |
コマンドと制御 |
T0869: 標準アプリケーション層プロトコル |
コードコール |
インヒビットレスポンス機能 |
T0804: ブロック報告メッセージ |
コードコール |
インヒビットレスポンス機能 |
T0803: ブロック コマンド メッセージ |
コードコール |
インヒビットレスポンス機能 |
T0814: サービス拒否 |
コードコール |
インヒビットレスポンス機能 |
T0809: データ破壊 |
コードコール |
インヒビットレスポンス機能 |
T0816: デバイスの再起動/シャットダウン |
コードコール |
インヒビットレスポンス機能 |
T0857: システムファームウェア |
コードコール |
プロセス制御を損なう |
T0836: パラメータの変更 |
コードコール |
プロセス制御を損なう |
T0855: 権限のないコマンド メッセージ |
コードコール |
影響 |
T0813: 制御不能 |
コードコール |
影響 |
T0815: 閲覧拒否 |
コードコール |
影響 |
T0826: 可用性の喪失 |
コードコール |
影響 |
T0827: 制御不能 |
コードコール |
影響 |
T0828: 生産性と収益の損失 |
コードコール |
影響 |
T0831: コントロールの操作 |
コードコール |
影響 |
T0882: 運用情報の盗難 |
モジュール |
戦術 |
技術 |
オムシェル |
初期アクセス |
T0886: リモートサービス |
オムシェル |
実行 |
T0807: コマンドライン インターフェイス |
オムシェル |
実行 |
T0853: スクリプティング |
オムシェル |
実行 |
T0858: 動作モードの変更 |
オムシェル |
実行 |
T0821: コントローラのタスクを変更する |
オムシェル |
実行 |
T0834: ネイティブ API |
オムシェル |
持続性 |
T0889: プログラムの修正 |
オムシェル |
持続性 |
T0859: 有効なアカウント |
オムシェル |
回避 |
T0858: 動作モードの変更 |
オムシェル |
発見 |
T0842: ネットワーク スニッフィング |
オムシェル |
発見 |
T0846: リモート システム ディスカバリ |
オムシェル |
発見 |
T0888: リモート システム情報ディスカバリ |
オムシェル |
横移動 |
T0812: デフォルトの資格情報 |
オムシェル |
横移動 |
T0867: ラテラル ツール トランスファー |
オムシェル |
横移動 |
T0843: プログラムのダウンロード |
オムシェル |
横移動 |
T0886: リモートサービス |
オムシェル |
横移動 |
T0859: 有効なアカウント |
オムシェル |
コレクション |
T0868: 動作モードの検出 |
オムシェル |
コレクション |
T0801: プロセス状態の監視 |
オムシェル |
コレクション |
T0845: プログラムのアップロード |
オムシェル |
コマンドと制御 |
T0885: 一般的に使用されるポート |
オムシェル |
コマンドと制御 |
T0869: 標準アプリケーション層プロトコル |
オムシェル |
インヒビットレスポンス機能 |
T0881: サービス停止 |
オムシェル |
プロセス制御を損なう |
T0836: パラメータの変更 |
オムシェル |
プロセス制御を損なう |
T0855: 権限のないコマンド メッセージ |
オムシェル |
影響 |
T0879: 物的損害 |
オムシェル |
影響 |
T0837: 安全性の喪失 |
オムシェル |
影響 |
T0831: コントロールの操作 |
オムシェル |
影響 |
T0882: 運用情報の盗難 |
付録: YARA ルール
|
謝辞
この調査は、署名欄に記載されていない多くの人々の努力のおかげで可能になりました。 Schneider Electric チーム、Mandiant Advanced Practices、FLARE、Consulting、Managed Defense、およびこの取り組みをサポートしてくれたすべての人に感謝します。
Jared Scott Wilson、Glen Chason、Benjamin Read、Jonathan Leathery、Conor Quigley、および Wesley Mok に特に感謝します。
参照: https://www.mandiant.com/resources/blog/incontroller-state-sponsored-ics-tool
Comments