INCONTROLLER:複数の産業用制御システムを標的とする新たな国家支援型サイバー攻撃ツール
2022年初頭、MandiantはSchneider Electricと共同で、マシーンオートメーションデバイスを標的とした新しい産業制御システム(ICS)指向の攻撃ツール群(私たちはこれをINCONTROLLERと呼んでいます)を分析しました。このツールは、複数の異なる産業分野で活用されているさまざまな種類の機械に組み込まれている特定の産業用機器と相互作用することができます。このツールセットを使用した運用環境のターゲットは不明ですが、このマルウェアは、ターゲットとなる機器を利用する組織にとって重大なリスクとなります。INCONTROLLERは、国家が関与している可能性が非常に高く、破壊行為、サボタージュ、および潜在的な物理的破壊に関連する能力を含んでいます。
INCONTROLLERは、非常に稀で危険なサイバー攻撃能力であることを表しています。2017年に産業安全システムを無力化しようとしたTRITON、2016年にウクライナで停電を引き起こしたINDUSTROYER、2010年頃にイランの核プログラムを妨害したSTUXNETに匹敵するものです。アセットの所有者がINCONTROLLERを発見し、防御できるように、本レポート全体を通して、さまざまな緩和策や発見方法を紹介しています。これらのツールは将来的に変更される可能性があるため、行動ベースのハンティングおよび検知方法が最も効果的であると考えます。
関連する活動への対応にサポートが必要な場合は、Mandiant Consulting にご連絡ください。関連する脅威のさらなる分析は、Mandiant Advantage Threat Intelligence の一部として提供されています。
Schneider Electric の詳細については、同社からのお知らせを参照してください。
ツール | 概要 | |
TAGRUN | OPCサーバーのスキャン、OPC構造体/タグの列挙、認証情報のブルートフォース、OPCタグ値の読み取り/書き込みを行うツール | |
CODECALL | 産業用プロトコルの代表格であるModbusとCodesysを用いて通信を行うフレームワーク。CODECALLには、少なくとも3台のSchneider Electric製プログラマブルロジックコントローラ(PLC)と対話し、スキャンし、攻撃するためのモジュールが含まれる |
|
OMSHELL | HTTP、Telnet、Omron FINSプロトコルを介して、Omron PLCのいくつかのタイプと対話し、スキャンする機能を持つフレームワーク。フィードバック制御によりモータにエネルギーを供給し、精密な動作制御を行うOmron製サーボドライブとの連携も可能 |
|
INCONTROLLERは、産業プロセスを操作し、破壊するために作られた
産業用オートメーション・ネットワークは、オペレータが情報や指示を物理的な一連の動作に変換するためのさまざまな機器に依存しています。産業用ネットワークに存在するアセットが多様性であるため、産業用オートメーション機器は通常、ネットワークの異なる部分で異なる言語を話しますが、これは標準化された産業用通信プロトコルを使用することで可能になります。
INCONTROLLERには、産業ネットワークプロトコルを使用して、攻撃者がICSデバイスに命令を送信できるようにする3つのツールが含まれています。そのプロトコルとは、OPC UA、Modbus、EcoStruxure Machine ExpertやSoMachineで使用されているCodesys、そしてOmron 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: ツールの概要
TAGRUN
OPC UAサーバーをスキャンして列挙する機能など、TAGRUNの機能は偵察的な役割を示唆しています。OPCは、産業環境におけるICSアセットからデータを収集し保存するための中央通信プロトコルとして機能します。このデータにアクセスすることで、攻撃者は生産システムや制御プロセスの詳細な概要を把握することができます。このツールは偵察用に開発されたと思われますが、タグ値の書き込みや変更も可能であり、これを利用してデータを修正し、攻撃を支援したり、プロセスの変更を隠したりすることができます。また、TAGRUNは、ターゲット環境がWindows OSを実行しているかどうかを確認し、このチェックの戻り値に応じて異なるPingコマンドを提供します。このことは、攻撃者がTAGRUNを実行するためにWindows以外のデバイスを使用している可能性を示唆しています。
TAGRUNの機能は以下の通りです。
- ネットワーク上のOPC UAサーバーのスキャン
- OPC UAサーバーの構造体の読み取り
- OPC UAサーバー上のデータに対するタグ値の読み取り/書き込み
- 認証情報へのブルートフォース
- ログファイルの出力
CODECALL
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
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 製マザーボードは、OT 環境における一部のヒューマンマシンインターフェイス (HMI) やエンジニアリングワークステーションで活用される可能性があります。
- もう1つのツールは、ICECOREとして追跡しているもので、偵察やコマンド&コントロール機能を提供するバックドアです。
攻撃シナリオ
各ツールは独立して使用されるかもしれませんし、攻撃者は3つのツールを使用して1つの環境を攻撃する可能性もあります。INCONTROLLERがターゲットとするデバイスは、オートメーション機械(フライス盤やプレス機など)に組み込まれていることが多く、ユーザーの明示的な知識がなくても、さまざまな産業分野やプロセスに存在する可能性があることを、改めて強調しておきます。
私たちは、INCONTROLLERを使用した攻撃で起こりうるさまざまな結果を強調するため、3つのサイバー物理攻撃シナリオを作成しました。3つのケースそれぞれにおいて、TAGRUNは、被害者環境をリスト化し、ターゲットの特定、物理プロセスに関する学習のために、早い段階で使用された可能性があります。
これらのシナリオの影響は、被害組織の施設の性質と、制御された物理プロセスに対する攻撃者の理解と相互作用の程度に依存すると考えられます。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 の一部として提供されています。
*** 一部割愛 ***
Appendix: MITRE ATT&CK for ICS Mapping
Module | Tactic | Technique |
TAGRUN | Execution | T0807: Command-Line Interface |
TAGRUN | Execution | T0853: Scripting |
TAGRUN | Lateral Movement | T0859: Valid Accounts |
TAGRUN | Discovery | T0888: Remote System Information Discovery |
TAGRUN | Discovery | T0846: Remote System Discovery |
TAGRUN | Persistence | T0859: Valid Accounts |
TAGRUN | Collection | T0801: Monitor Process State |
TAGRUN | Collection | T0861: Point & Tag Identification |
TAGRUN | Command and Control | T0885: Commonly Used Port |
TAGRUN | Command and Control | T0869: Standard Application Layer Protocol |
TAGRUN | Impact | T0832: Manipulation of View |
TAGRUN | Impact | T0882: Theft of Operational Information |
Module | Tactic | Technique |
CODECALL | Execution | T0807: Command-Line Interface |
CODECALL | Execution | T0853: Scripting |
CODECALL | Persistence | T0859: Valid Accounts |
CODECALL | Persistence | T0857: System Firmware |
CODECALL | Persistence | T0889: Modify Program |
CODECALL | Discovery | T0846: Remote System Discovery |
CODECALL | Discovery | T0888: Remote System Information Discovery |
CODECALL | Lateral Movement | T0812: Default Credentials |
CODECALL | Lateral Movement | T0843: Program Download |
CODECALL | Lateral Movement | T0859: Valid Accounts |
CODECALL | Collection | T0801: Monitor Process State |
CODECALL | Collection | T0845: Program Upload |
CODECALL | Collection | T0801: Monitor Process State |
CODECALL | Command and Control | T0885: Commonly Used Port |
CODECALL | Command and Control | T0869: Standard Application Layer Protocol |
CODECALL | Inhibit Response Function | T0804: Block Reporting Message |
CODECALL | Inhibit Response Function | T0803: Block Command Message |
CODECALL | Inhibit Response Function | T0814: Denial of Service |
CODECALL | Inhibit Response Function | T0809: Data Destruction |
CODECALL | Inhibit Response Function | T0816: Device Restart/Shutdown |
CODECALL | Inhibit Response Function | T0857: System Firmware |
CODECALL | Impair Process Control | T0836: Modify Parameter |
CODECALL | Impair Process Control | T0855: Unauthorized Command Message |
CODECALL | Impact | T0813: Denial of Control |
CODECALL | Impact | T0815: Denial of View |
CODECALL | Impact | T0826: Loss of Availability |
CODECALL | Impact | T0827: Loss of Control |
CODECALL | Impact | T0828: Loss of Productivity and Revenue |
CODECALL | Impact | T0831: Manipulation of Control |
CODECALL | Impact | T0882: Theft of Operational Information |
Module | Tactic | Technique |
OMSHELL | Initial Access | T0886: Remote Services |
OMSHELL | Execution | T0807: Command-Line Interface |
OMSHELL | Execution | T0853: Scripting |
OMSHELL | Execution | T0858: Change Operating Mode |
OMSHELL | Execution | T0821: Modify Controller Tasking |
OMSHELL | Execution | T0834: Native API |
OMSHELL | Persistence | T0889: Modify Program |
OMSHELL | Persistence | T0859: Valid Accounts |
OMSHELL | Evasion | T0858: Change Operating Mode |
OMSHELL | Discovery | T0842: Network Sniffing |
OMSHELL | Discovery | T0846: Remote System Discovery |
OMSHELL | Discovery | T0888: Remote System Information Discovery |
OMSHELL | Lateral Movement | T0812: Default Credentials |
OMSHELL | Lateral Movement | T0867: Lateral Tool Transfer |
OMSHELL | Lateral Movement | T0843: Program Download |
OMSHELL | Lateral Movement | T0886: Remote Services |
OMSHELL | Lateral Movement | T0859: Valid Accounts |
OMSHELL | Collection | T0868: Detect Operating Mode |
OMSHELL | Collection | T0801: Monitor Process State |
OMSHELL | Collection | T0845: Program Upload |
OMSHELL | Command and Control | T0885: Commonly Used Port |
OMSHELL | Command and Control | T0869: Standard Application Layer Protocol |
OMSHELL | Inhibit Response Function | T0881: Service Stop |
OMSHELL | Impair Process Control | T0836: Modify Parameter |
OMSHELL | Impair Process Control | T0855: Unauthorized Command Message |
OMSHELL | Impact | T0879: Damage to Property |
OMSHELL | Impact | T0837: Loss of Safety |
OMSHELL | Impact | T0831: Manipulation of Control |
OMSHELL | Impact | T0882: Theft of Operational Information |
Appendix: YARA Rules
|
謝 辞
このリサーチは、記載されていない多くの人々の努力のおかげで実現しました。Schneider Electricチーム、Mandiant Advanced Practices、FLARE、コンサルティング、Managed Defense、そしてこの取り組みを支えてくれたすべての人々に心から感謝します。
Special thanks to Jared Scott Wilson, Glen Chason, Benjamin Read, Jonathan Leathery, Conor Quigley, and Wesley Mok.
※本ブログは、4月14日に公開されたブログ「INCONTROLLER: New State-Sponsored Cyber Attack Tools Target Multiple Industrial Control Systems」の日本語抄訳版です。