[{"data":1,"prerenderedAt":93},["ShallowReactive",2],{"journal-detail-81":3},{"main":4,"content":12,"author":88},{"id":5,"level":6,"level_name":7,"title":8,"summary":7,"body":9,"author":10,"created_time":11,"edited_time":11},3220,0,"","正規ライブラリに偽装した「Sharp7Extend」対策","\u003Cp>シーメンスS7ユーザーは要確認：正規ライブラリに偽装した「Sharp7Extend」が、PLCの重要データを静かに破壊する\u003C/p>\u003Cspan class=\"text-bloqueout\">\u003Cstrong>要約\u003C/strong>\u003Cbr>本記事では、Siemens S7 PLCを狙うマルウェア『Sharp7Extend』の攻撃手法をMITRE ATT&CKに基づき詳細に分析します。さらに、IEC 62443-4-2だけでは防御が困難な理由と、NIST CSFおよびSL-4要件を組み合わせた具体的な対策（書き込み検証、Root of Trustの導入など）を解説します。\u003C/span>\u003Cp>「Sharp7Extend」のような\u003Cstrong>ソフトウェアサプライチェーン攻撃\u003C/strong>は、従来の\u003Cstrong>IEC 62443-4-2\u003C/strong>（コンポーネントの技術的セキュリティ要件）の防御要件だけでは、防御が極めて難しい攻撃手法です。\u003C/p>\u003Cp>まず、「Sharp7Extend」の攻撃シナリオを、産業制御システム（ICS）向けに拡張されたMITRE ATT&CKフレームワーク（MITRE ATT&CK for ICS）に基づいて分析します。\u003C/p>\u003Cp>この攻撃は、サプライチェーンの脆弱性を悪用し、\u003Cstrong>開発環境\u003C/strong>を通じて\u003Cstrong>Siemens S7 PLC\u003C/strong>を標的とする、ステルス性の高い持続的な妨害工作を目的としています。\u003C/p>","murakami","2025-11-17 10:00:00",[13,17,21,25,29,33,37,41,45,49,53,57,61,65,69,73,77,81,85],{"id":14,"heading":15,"summary":7,"body":16,"gallery":7},3221,"1. 攻撃の概要 (Overview)","\u003Cp>\u003Cspan class=\"table\">\u003Cspan class=\"table-thead\">\u003Cspan class=\"cell col2-1\">\u003Cstrong>攻撃名\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-2\">\u003Cstrong>Sharp7Extend NuGet パッケージによるサプライチェーン攻撃\u003C/strong>\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-1\">標的\u003C/span>\u003Cspan class=\"cell col2-2\">Siemens S7 PLCと通信する.NETアプリケーション (エンジニアリングツール、HMIなど)\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-1\">攻撃ベクトル\u003C/span>\u003Cspan class=\"cell col2-2\">\u003Cstrong>ソフトウェアサプライチェーンの侵害\u003C/strong>（Typosquatting/NuGet パッケージ）\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-1\">最終目標\u003C/span>\u003Cspan class=\"cell col2-2\">\u003Cstrong>遅延型の妨害・データ改ざん\u003C/strong>：ランダムなプロセス終了と、PLCへのサイレントな書き込み失敗\u003C/span>\u003C/span>\u003C/span>\u003C/p>",{"id":18,"heading":19,"summary":7,"body":20,"gallery":7},3222,"2. MITRE ATT&CK for ICS 分析","\u003Cp>この攻撃は、ICS環境への侵入から最終的な影響に至るまで、複数の戦術（Tactics）にまたがって実行されます。\u003C/p>",{"id":22,"heading":7,"summary":23,"body":24,"gallery":7},3223,"\u003Ch3>1. リソース開発 (Resource Development)\u003C/h3>","\u003Cp>\u003Cspan class=\"table\">\u003Cspan class=\"table-thead\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>目的 (Tactics)\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>手法 (Techniques)\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>Sharp7Extendの実行内容\u003C/strong>\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>開発\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>不正なパッケージの作成\u003C/strong> (T1607 - Supply Chain Compromise / Software Package Repository)\u003C/span>\u003Cspan class=\"cell col2-6\">既存の正当なライブラリ「Sharp7」に「Extend」を付けて\u003Cstrong>Typosquatting\u003C/strong>パッケージを作成。パッケージ内に機能する正規コードと悪意のあるコード(~20行)を混在させる。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>開発\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>検出回避メカニズムの構築\u003C/strong> (T1200 - Defense Evasion)\u003C/span>\u003Cspan class=\"cell col2-6\">悪意のあるペイロードの実行を数十分～数年\u003Cstrong>遅延させる\u003C/strong>メカニズムを組み込む。また、\u003Cstrong>確率的実行\u003C/strong>（20%の確率でクラッシュ）により、障害をランダムなバグやハードウェア故障に偽装する。\u003C/span>\u003C/span>\u003C/span>\u003C/p>",{"id":26,"heading":7,"summary":27,"body":28,"gallery":7},3224,"\u003Ch3>2. 初期アクセス (Initial Access)\u003C/h3>","\u003Cp>\u003Cspan class=\"table\">\u003Cspan class=\"table-thead\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>目的 (Tactics)\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>手法 (Techniques)\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>Sharp7Extendの実行内容\u003C/strong>\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>侵入\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>サプライチェーンの侵害\u003C/strong> (T0880 - Supply Chain Compromise)\u003C/span>\u003Cspan class=\"cell col2-6\">開発者が誤って\u003Cstrong>悪意のあるNuGetパッケージ\u003C/strong>（Sharp7Extend）をエンジニアリングアプリケーションの依存関係に組み込む。\u003C/span>\u003C/span>\u003C/span>\u003C/p>",{"id":30,"heading":7,"summary":31,"body":32,"gallery":7},3225,"\u003Ch3>3. 実行 (Execution)\u003C/h3>","\u003Cp>\u003Cspan class=\"table\">\u003Cspan class=\"table-thead\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>目的 (Tactics)\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>手法 (Techniques)\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>Sharp7Extendの実行内容\u003C/strong>\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>起動\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>拡張メソッドのハイジャック\u003C/strong> (T0801 - Application Access)\u003C/span>\u003Cspan class=\"cell col2-6\">C#の\u003Cstrong>拡張メソッド\u003C/strong>を利用し、アプリケーション内の\u003Cstrong>すべてのデータベースおよびPLC操作\u003C/strong>（PLCへの書き込み、読み出し）を透過的に傍受・ハイジャックする。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>起動\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>時限式ペイロードの実行\u003C/strong> (T0801 - Application Access)\u003C/span>\u003Cspan class=\"cell col2-6\">アプリケーション起動後、ペイロードが一定時間（30分～90分）後に起動し、その後、ランダムなプロセス終了（20%の確率）を開始する。\u003C/span>\u003C/span>\u003C/span>\u003C/p>",{"id":34,"heading":7,"summary":35,"body":36,"gallery":7},3226,"\u003Ch3>4. 検出回避 (Defense Evasion)\u003C/h3>","\u003Cp>\u003Cspan class=\"table\">\u003Cspan class=\"table-thead\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>目的 (Tactics)\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>手法 (Techniques)\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>Sharp7Extendの実行内容\u003C/strong>\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>隠蔽\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>ノイズに紛れ込ませる\u003C/strong> (T0808 - Event Suppression)\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>遅延起動\u003C/strong>により初期のコードレビューやテストを回避する。\u003Cbr>\u003Cstrong>確率的実行\u003C/strong>（ランダムなクラッシュ）により、問題の原因をネットワーク障害やハードウェア障害に誤認させる。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>隠蔽\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>偽装\u003C/strong> (T0806 - Masquerading)\u003C/span>\u003Cspan class=\"cell col2-6\">パッケージの99%が正規の機能コードであるため、コードレビューをすり抜ける。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>隠蔽\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>偽のシグナル\u003C/strong> (T0808 - Event Suppression / False Signals)\u003C/span>\u003Cspan class=\"cell col2-6\">PLCへの\u003Cstrong>書き込み失敗\u003C/strong>の際、アプリケーションには\u003Cstrong>偽の成功信号\u003C/strong>を返し、データ完全性の問題を隠蔽する。\u003C/span>\u003C/span>\u003C/span>\u003C/p>",{"id":38,"heading":7,"summary":39,"body":40,"gallery":7},3227,"\u003Ch3>5. 影響 (Impact)\u003C/h3>","\u003Cp>\u003Cspan class=\"table\">\u003Cspan class=\"table-thead\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>目的 (Tactics)\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>手法 (Techniques)\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>Sharp7Extendの実行内容\u003C/strong>\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>可用性の低下\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>プロセス終了\u003C/strong> (T0829 - Program Termination)\u003C/span>\u003Cspan class=\"cell col2-6\">アプリケーションの\u003Cstrong>ランダムなプロセス終了\u003C/strong>を引き起こし、システムの安定性を損なう。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>データの完全性侵害\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>プロセス制御の破壊\u003C/strong> (T0804 - Manipulate Control / Process Data)\u003C/span>\u003Cspan class=\"cell col2-6\">PLCへのクリティカルな\u003Cstrong>書き込み操作（WriteDBSingleByteなど）をサイレントに失敗\u003C/strong>させ、アクチュエーターや安全システムの設定を意図せず変更されないままにする（データ整合性の侵害）。\u003C/span>\u003C/span>\u003C/span>\u003C/p>",{"id":42,"heading":43,"summary":7,"body":44,"gallery":7},3228,"3. IEC 62443 SL-4との関連性","\u003Cp>この攻撃が狙う脆弱性は、IEC 62443の以下の機能要件の欠如、または既存の防御策の不十分さを突いています。\u003C/p>\u003Cp>\u003Cspan class=\"table\">\u003Cspan class=\"table-thead\">\u003Cspan class=\"cell col2-1\">\u003Cstrong>IEC 62443 FR (機能要件)\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-1\">\u003Cstrong>攻撃への脆弱性\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>SL-4での対策要件 (重要)\u003C/strong>\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-1\">\u003Cstrong>FR 3 - システム完全性 (SI)\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-1\">ソフトウェアの改ざん、特に偽の成功信号によるデータ完全性の侵害。\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>Root of Trustに基づく実行前検証\u003C/strong>（HDR 3.14, EDR 3.14）、\u003Cstrong>継続的監視と稼働中検証\u003C/strong>（SR 3.3, SR 6.2）によるデータ整合性の保証。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-1\">\u003Cstrong>FR 6 - イベント応答 (TRE)\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-1\">攻撃がランダムな障害に偽装されるため、インシデントとして迅速に特定できない。\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>異常な挙動の自動検知\u003C/strong>と\u003Cstrong>中央集権的な監査証跡の収集・分析\u003C/strong>（SR 2.8, SR 6.2）により、ステルス性の高い異常も系統的に特定する。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-1\">\u003Cstrong>FR 2 - 利用制御 (UC)\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-1\">認証された「アプリケーション」自体がマルウェアを介して不正な振る舞いをする。\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>多要素認証\u003C/strong>（CR 1.1 RE(2)）や\u003Cstrong>最小権限の原則\u003C/strong>（CR 2.1 RE(1)）に加え、\u003Cstrong>モバイルコードの認証と完全性検証\u003C/strong>（SAR/HDR/NDR 2.4 RE(1)）を強制する。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-1\">\u003Cstrong>IEC 62443-4-1/2-4\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-1\">開発ライフサイクルとサプライチェーンにおけるセキュリティチェックの欠如。\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>開発プロセス（4-1）とサービス提供（2-4）の両方で、使用する全ソフトウェアのSBOMの監査、依存関係の完全性検証\u003C/strong>を義務化する。\u003C/span>\u003C/span>\u003C/span>\u003C/p>\u003Cp class=\"pd-top-45\">\u003Cspan class=\"tx-blue-dark\">「Sharp7Extend」のようなサイバー攻撃のATT&CK分析結果から見て、IEC62443-4-2のSL-1やSL-2レベルだけでは対策が難しいと思います。\u003C/span>\u003C/p>",{"id":46,"heading":47,"summary":7,"body":48,"gallery":7},3229,"1. IEC 62443-4-2での防御の難しさ","\u003Cp>この種の脅威は-4-2の範囲外の防御策を必要とします。\u003C/p>",{"id":50,"heading":7,"summary":51,"body":52,"gallery":7},3230,"\u003Ch3>攻撃の性質と-4-2防御の限界\u003C/h3>","\u003Cp>記事にある脅威（\u003Cstrong>Sharp7Extend\u003C/strong> NuGetパッケージによるSiemens PLC向けの攻撃）は、以下の理由から、PLCコンポーネント自体を対象とした防御策（IEC 62443-4-2）では効果が限定的です。\u003C/p>\u003Col>\u003Cli>\u003Cstrong>攻撃対象レイヤーの違い\u003C/strong>:\u003Cul>\u003Cli>\u003Cstrong>IEC 62443-4-2\u003C/strong>は、PLCなどの\u003Cstrong>IACSコンポーネント自体\u003C/strong>のセキュリティ機能（認証、通信の完全性、システム完全性など）を規定します。\u003C/li>\u003Cli>この攻撃は、PLCと通信を行う\u003Cstrong>エンジニアリングツール\u003C/strong>やカスタムアプリケーションのサプライチェーン（依存関係）を侵害します。\u003C/li>\u003Cli>侵害されたアプリケーションからPLCへ送信されるのは、PLCにとっては\u003Cstrong>正当なプロトコル\u003C/strong>（S7通信）を用いたコマンドであるため、PLC側（-4-2の範囲）の認証や通信の暗号化といった防御は突破されます。\u003C/li>\u003C/ul>\u003C/li>\u003Cli>\u003Cstrong>ステルス性の高い妨害\u003C/strong>:\u003Cul>\u003Cli>特に「\u003Cstrong>サイレントな書き込み失敗\u003C/strong>」（約80%の書き込み操作が失敗しつつも成功信号を返す）は、PLC側でデータ整合性（FR7）の異常を検知する仕組みがなければ、システムレベルの異常としてしか認識されません。\u003C/li>\u003Cli>また、\u003Cstrong>時限起動\u003C/strong>や\u003Cstrong>確率的な実行\u003C/strong>により、システムクラッシュもネットワーク障害やハードウェアの偶発的な故障と誤認されやすく、悪意のある攻撃としての特定が困難です。\u003C/li>\u003C/ul>\u003C/li>\u003C/ol>\u003Cp>この問題に対処するには、\u003Cstrong>IEC 62443-4-1\u003C/strong>（製品開発ライフサイクル）や、\u003Cstrong>IEC 62443-2-4\u003C/strong>（IACSサービスプロバイダのセキュリティプログラム要件）、および\u003Cstrong>IEC 62443-3-3\u003C/strong>（システムレベルの要件）で求められる\u003Cstrong>サプライチェーンセキュリティ\u003C/strong>と\u003Cstrong>運用面の防御策\u003C/strong>が不可欠となります。\u003C/p>",{"id":54,"heading":55,"summary":7,"body":56,"gallery":7},3231,"2. 対策方法（カウンターメジャー）","\u003Cp>公開情報に基づき、この種のサプライチェーン攻撃およびステルス攻撃に対する具体的な対策は以下の通りです。\u003C/p>",{"id":58,"heading":7,"summary":59,"body":60,"gallery":7},3232,"\u003Ch3>開発・導入フェーズの対策（サプライチェーンセキュリティの強化）\u003C/h3>","\u003Cp>サプライチェーンの健全性を確保するための対策です。\u003C/p>\u003Col>\u003Cli>\u003Cstrong>依存関係の衛生管理の徹底\u003C/strong>:\u003Cul>\u003Cli>\u003Cstrong>公開元IDの厳格な検証\u003C/strong>:\u003Cbr>NuGetのエイリアス名だけでなく、公開元の信頼性、過去の活動、パッケージ署名などを徹底的に確認します。\u003C/li>\u003Cli>\u003Cstrong>タイポスクワットへの警告\u003C/strong>:\u003Cbr>\u003Cstrong>Sharp7\u003C/strong>を\u003Cstrong>Sharp7Extend\u003C/strong>とするような、意図的な名前の類似による誤認を誘うパッケージをインストールしないよう、開発者への注意喚起と自動検出システムを導入します。\u003C/li>\u003Cli>\u003Cstrong>依存関係スキャン\u003C/strong>:\u003Cbr>アプリケーションへの組み込み前（プリマージ）およびインストール時（ビルド時）に、依存関係の変更や追加されたコードをスキャンし、既知の脆弱性や不審なロジック（例：不必要なネットワーク通信、ファイルシステムアクセス、時限ロジック、確率的実行パターン）がないか監視します。\u003C/li>\u003C/ul>\u003C/li>\u003Cli>\u003Cstrong>最小権限の原則\u003C/strong>:\u003Cul>\u003Cli>エンジニアリングツールを実行する環境（ワークステーション、サーバー）の\u003Cstrong>ネットワーク分離\u003C/strong>を徹底し、PLC通信に必要な最小限の権限のみを付与します。\u003C/li>\u003C/ul>\u003C/li>\u003C/ol>",{"id":62,"heading":7,"summary":63,"body":64,"gallery":7},3233,"\u003Ch3>運用フェーズの対策（検知と整合性の強化）\u003C/h3>","\u003Cp>攻撃がすり抜けた後の影響を最小限に抑え、検知するための対策です。\u003C/p>\u003Col>\u003Cli>\u003Cstrong>書き込み操作の検証（Write Verification）の実装\u003C/strong>:\u003Cul>\u003Cli>最も重要な対策です。PLCへの書き込み操作が成功した後、\u003Cstrong>実際にデータが期待通りに書き込まれたか\u003C/strong>を読み戻して検証するメカニズムを実装します。これにより、記事にあるような「サイレントな書き込み失敗」を検知できます。\u003C/li>\u003Cli>特に\u003Cstrong>安全関連システム\u003C/strong>（SIS）に関わる設定値やパラメータの書き込みには、この検証を必須とします。\u003C/li>\u003C/ul>\u003C/li>\u003Cli>\u003Cstrong>通信成功率のベースライン監視\u003C/strong>:\u003Cul>\u003Cli>PLC通信の成功率、応答時間、エラーレートについて、\u003Cstrong>通常時のベースライン\u003C/strong>を設定し、逸脱を監視します。記事の攻撃による「確率的なプロセス終了」（20%のクラッシュ率）は、断続的な通信失敗や接続終了として現れるため、ベースラインからの異常な増加を検知することが重要です。\u003C/li>\u003C/ul>\u003C/li>\u003Cli>\u003Cstrong>データ整合性の監査\u003C/strong>:\u003Cul>\u003Cli>重要な制御システムデータについて、定期的に整合性チェックを行い、不正な改ざんや期待値からの逸脱がないかを監査します。\u003C/li>\u003C/ul>\u003C/li>\u003Cli>\u003Cstrong>安全システムログの詳細なレビュー\u003C/strong>:\u003Cul>\u003Cli>安全システム（SIS）のログを詳細にレビューし、PLCからの指示の欠落や、安全機能の起動失敗といった異常がないかを確認します。\u003C/li>\u003C/ul>\u003C/li>\u003C/ol>\u003Cp>\u003Cstrong>エンジニアリングツール内でこのソフトウェアを含めてコンパイルされると、IEC 62443-4-2の防御要件では防御は難しくなります！\u003C/strong>\u003C/p>",{"id":66,"heading":67,"summary":7,"body":68,"gallery":7},3234,"1. IEC 62443-4-2での防御の難しさの再確認","\u003Cp>今回の脅威（\u003Cstrong>Sharp7Extend\u003C/strong>）は、\u003Cstrong>ソフトウェアサプライチェーン攻撃\u003C/strong>という特性を持っています。\u003C/p>\u003Cul>\u003Cli>\u003Cstrong>攻撃対象\u003C/strong>:\u003Cbr>PLCコンポーネント（IEC 62443-4-2の直接の対象）自体ではなく、そのコンポーネントと通信する\u003Cstrong>エンジニアリングアプリケーション\u003C/strong>の依存関係（NuGetパッケージ）を狙っています。\u003C/li>\u003Cli>\u003Cstrong>バイパスのメカニズム\u003C/strong>:\u003Cbr>悪意のあるコードは、正当な機能の中に埋め込まれ、C#の拡張メソッドを利用して\u003Cstrong>PLCへの書き込み操作を透過的にハイジャック\u003C/strong>します。\u003C/li>\u003Cli>\u003Cstrong>-4-2の限界\u003C/strong>:\u003Cbr>IEC 62443-4-2は「\u003Cstrong>IACSコンポーネントの技術的セキュリティ要件\u003C/strong>」を定めていますが、この攻撃は\u003Cstrong>コンポーネントの外部\u003C/strong>にある開発/インテグレーション環境を侵害します。PLCは、\u003Cstrong>認証されたクライアント\u003C/strong>からの\u003Cstrong>正規のプロトコル\u003C/strong>による通信（S7通信）を受け入れているため、コンポーネントレベルの認証(FR1) や通信の完全性 (FR3)の要件だけでは、この\u003Cstrong>アプリケーションレイヤーでの不正な操作\u003C/strong>を防ぎきることが困難です。\u003C/li>\u003C/ul>\u003Cp class=\"pd-top-45\">\u003Cstrong class=\"tx-blue-dark\">そこで、対策強化としてNIST CSFとIEC 62443 SL-4の多層防御対策であれば、効果が出てくると思います。\u003C/strong>\u003C/p>",{"id":70,"heading":71,"summary":7,"body":72,"gallery":7},3235,"2. NIST CSFとIEC 62443 SL-4による対策の検討","\u003Cp>NIST CSFの5つの機能（Identify, Protect, Detect, Respond, Recover）と、IEC 62443の最高レベルの要件である\u003Cstrong>SL-4\u003C/strong>の能力を組み合わせることで、この種の高度なサプライチェーン攻撃に対してより包括的な防御・対応が可能になると考えられます。\u003C/p>\u003Cp>\u003Cspan class=\"table\">\u003Cspan class=\"table-thead\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>NIST CSF 機能\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>対策の方向性\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>IEC 62443 SL-4での実現可能性と対応要件\u003C/strong>\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>Identify\u003C/strong> (特定)\u003C/span>\u003Cspan class=\"cell col2-6\">ソフトウェアの供給元を厳格に管理し、意図しない脆弱性を特定する。\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>IEC 62443-4-1 (製品開発)\u003C/strong>: セキュアな製品ライフサイクル要件をサプライヤーに要求。\u003Cbr>\u003Cstrong>IEC 62443-2-4 (サービスプロバイダ)\u003C/strong>: サプライチェーンの要件を契約に含める (SP.01.03, SP.01.04など)。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>Protect\u003C/strong> (防御)\u003C/span>\u003Cspan class=\"cell col2-6\">信頼されていないコードの実行を防ぎ、システム間のアクセスを厳格に制限する。\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>強固な認証 (FR1)\u003C/strong>: \u003Cstrong>SL-4\u003C/strong>では、すべてのユーザー（人間、ソフトウェアプロセス、デバイス）に対して\u003Cstrong>一意の認証\u003C/strong>と\u003Cstrong>多要素認証\u003C/strong>が要求される。\u003Cbr>\u003Cstrong>最小機能 (FR7)\u003C/strong>: 不必要な機能、ポート、プロトコル、サービスを禁止・制限する (CR 7.7)。\u003Cbr>\u003Cstrong>ソフトウェア完全性 (FR3)\u003C/strong>: \u003Cstrong>SL-4\u003C/strong>では、ソフトウェアの完全性（ハッシュ値など）の自動通知と、起動プロセスでの\u003Cstrong>サプライヤーの信頼の根拠（Root of Trust）による認証\u003C/strong>が求められる (HDR 3.14 RE(1)など)。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>Detect\u003C/strong> (検知)\u003C/span>\u003Cspan class=\"cell col2-6\">異常な挙動やセキュリティ機能のバイパス試行を継続的に監視する。\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>継続的監視 (FR6)\u003C/strong>: \u003Cstrong>SL-2以上\u003C/strong>で継続的監視が要求される (SR 6.2)。\u003Cbr>\u003Cstrong>イベント監査 (FR2)\u003C/strong>: \u003Cstrong>SL-4\u003C/strong>では、システム全体の\u003Cstrong>中央集権的な監査証跡管理\u003C/strong>が要求され、標準フォーマットでのエクスポートが可能 (SR 2.8 RE(1))。\u003Cbr>\u003Cstrong>セキュリティ機能の検証 (FR3)\u003C/strong>: \u003Cstrong>SL-4\u003C/strong>では、\u003Cstrong>通常運用中\u003C/strong>でもセキュリティ機能の動作検証をサポートする (SR 3.3 RE(2))。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>Respond\u003C/strong> (対応)\u003C/span>\u003Cspan class=\"cell col2-6\">侵害を封じ込め、影響を緩和し、インシデントに迅速に対応する。\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>サービスプロバイダの対応 (IEC 62443-2-4)\u003C/strong>: サイバーセキュリティインシデントの検知、報告、対応の能力 (SP.08.01 BR)。\u003Cbr>\u003Cstrong>隔離機能 (FR5)\u003C/strong>: \u003Cstrong>SL-3/SL-4\u003C/strong>では、ネットワーク境界での「\u003Cstrong>モード insulaire（アイランドモード）\u003C/strong>」や「\u003Cstrong>fermeture en cas d'échec（フェールクローズ）\u003C/strong>」といった緊急時の通信遮断機能が要求される (NDR 5.2 RE(2), RE(3))。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>Recover\u003C/strong> (復旧)\u003C/span>\u003Cspan class=\"cell col2-6\">迅速にシステムを復旧し、セキュリティ状態を再構築する。\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>リカバリ (FR7)\u003C/strong>: \u003Cstrong>SL-1以上\u003C/strong>で「\u003Cstrong>既知の安全な状態\u003C/strong>」への回復・再構築能力が要求される (CR 7.4)。\u003Cbr>\u003Cstrong>バックアップの検証 (FR7)\u003C/strong>: \u003Cstrong>SL-2以上\u003C/strong>でバックアップの信頼性検証（バックアップ検証）をサポートする (CR 7.3 RE(1))。\u003C/span>\u003C/span>\u003C/span>\u003C/p>",{"id":74,"heading":7,"summary":75,"body":76,"gallery":7},3236,"\u003Ch3>結論：SL-4による防御の可能性\u003C/h3>","\u003Cp>以上のように、\u003Cstrong>IEC 62443-4-2\u003C/strong>（コンポーネント技術要件）のベースラインだけでは、この高度なサプライチェーン攻撃を防ぐのは非常に困難です。しかし、IEC 62443が要求する最高レベルの\u003Cstrong>SL-4\u003C/strong>の要件を満たすシステムを構築すれば、以下のような\u003Cstrong>多層的な防御\u003C/strong>が理論上可能です。\u003C/p>\u003Col>\u003Cli>\u003Cstrong>サプライチェーン管理（IEC 62443-4-1/2-4）\u003C/strong>:\u003Cbr>そもそもエンジニアリングツールの\u003Cstrong>依存関係の信頼性\u003C/strong>を開発・導入段階で厳しくチェックする。\u003C/li>\u003Cli>\u003Cstrong>実行前チェック（FR3/FR4）\u003C/strong>:\u003Cbr>侵害されたコンポーネントが実行される際、SL-4が要求する\u003Cstrong>Root of Trust\u003C/strong>に基づく\u003Cstrong>ソフトウェアの認証・完全性チェック\u003C/strong>（HDR 3.14 RE(1)など）に失敗し、起動や動作を阻止する。\u003C/li>\u003Cli>\u003Cstrong>実行後監視（FR6）\u003C/strong>:\u003Cbr>もし実行されたとしても、通常運用中の\u003Cstrong>サイレントな書き込み失敗\u003C/strong>や\u003Cstrong>確率的なプロセス終了\u003C/strong>といった異常な動作を継続的監視（SR 6.2）によって検知する。\u003C/li>\u003Cli>\u003Cstrong>緊急対応（FR5/CSF Respond）\u003C/strong>:\u003Cbr>脅威が検知された場合、\u003Cstrong>アイランドモード/フェールクローズ\u003C/strong>（NDR 5.2 RE(2)/(3)）などの機能を使って、\u003Cstrong>迅速に外部との通信を遮断\u003C/strong>し、影響を最小限に抑える。\u003C/li>\u003C/ol>\u003Cp>この対策は、PLCなどの\u003Cstrong>末端コンポーネントの強化\u003C/strong>だけでなく、\u003Cstrong>開発・運用プロセス、ネットワーク全体にわたる最高レベルのセキュリティ機能\u003C/strong>の導入（SL-4が目指すもの）によって初めて可能になると言えます。\u003C/p>\u003Cp class=\"pd-top-45\">\u003Cstrong class=\"tx-blue-dark\">つまり、「Sharp7Extend」のような高度なソフトウェアサプライチェーン攻撃、特にステルス性の高い妨害機能を備えた脅威に対応するには、IEC 62443の最高レベルであるSL-4の能力と、NIST CSFの体系的なアプローチを組み合わせた、開発（サプライチェーン）から運用（監視）に至るまでの多層防御が不可欠です。\u003C/strong>\u003C/p>\u003Cp>この脅威に対応するために、既存システムで\u003Cstrong>補完すべきIEC 62443の主要要件\u003C/strong>と、それを実現するための\u003Cstrong>具体的な導入計画\u003C/strong>をNIST CSFの5つの機能（Identify, Protect, Detect, Respond, Recover）に基づいてご提案します。\u003C/p>",{"id":78,"heading":79,"summary":7,"body":80,"gallery":7},3237,"1. 導入計画：NIST CSFに基づくフェーズ別アクション","\u003Cp>NIST CSFの5つの機能は、サプライチェーン攻撃というライフサイクル全体にわたる脅威に対して、取るべき行動の優先順位付けと体系化に役立ちます。\u003C/p>\u003Cp>\u003Cspan class=\"table\">\u003Cspan class=\"table-thead\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>NIST CSF 機能\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>目的\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>具体的なアクション（導入計画）\u003C/strong>\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>Identify\u003C/strong> (特定)\u003C/span>\u003Cspan class=\"cell col2-6\">ソフトウェア構成要素とそのリスクの明確化。\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>SBOM (Software Bill of Materials) の作成・管理\u003C/strong>：エンジニアリングツール、カスタムコード、すべての依存関係（NuGetなど）のリストを維持する。\u003Cbr>\u003Cstrong>信頼性検証プロセスの確立\u003C/strong>：使用する外部ライブラリ（特にPLC通信ライブラリ）の公開元、デジタル署名、過去の活動実績を厳格に監査し、信頼性が低い場合は使用を禁止する。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>Protect\u003C/strong> (防御)\u003C/span>\u003Cspan class=\"cell col2-6\">不正なコンポーネントの実行阻止。\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>Root of Trust (信頼の基点) の実装（SL-4要件）\u003C/strong>：エンジニアリングアプリケーションの\u003Cstrong>実行時およびロード時\u003C/strong>に、コードが改ざんされていないこと（デジタル署名やハッシュ値）を検証する機能を強制する。\u003Cbr>\u003Cstrong>最小機能・権限の原則（FR7）\u003C/strong>：エンジニアリングワークステーションは、PLC通信に必要なポート/プロトコルのみに制限し、インターネット通信や不要なサービスを厳しく禁止・制限する。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>Detect\u003C/strong> (検知)\u003C/span>\u003Cspan class=\"cell col2-6\">ステルス性の高い妨害行為の特定。\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>書き込み検証（Write Verification）の導入\u003C/strong>：制御システムアプリケーションに、\u003Cstrong>PLCへの書き込み操作が完了した後、その設定値が実際に書き込まれたか\u003C/strong>を読み戻して検証するロジックを強制的に組み込む（特に安全関連データ）。\u003Cbr>\u003Cstrong>通信・プロセスベースラインの監視\u003C/strong>：PLC通信の成功率、応答時間、関連アプリケーション（エンジニアリングツールなど）の\u003Cstrong>プロセス異常終了（クラッシュ）頻度\u003C/strong>を通常時のベースラインと比較し、異常な確率的挙動（公開情報で言及された20%のクラッシュなど）を検知する。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>Respond\u003C/strong> (対応)\u003C/span>\u003Cspan class=\"cell col2-6\">迅速な隔離と封じ込め。\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>インシデント対応計画への追加\u003C/strong>：「サプライチェーン侵害」シナリオを組み込み、特定された不審なアプリケーションやワークステーションを\u003Cstrong>即座にネットワークから隔離\u003C/strong>（アイランドモードへの移行など）する手順を確立する。\u003Cbr>\u003Cstrong>フォレンジック対応の強化\u003C/strong>：侵害されたアプリケーション/コンポーネントがどのように導入され、いつトリガーされたか（時間差起動）を追跡できるように、\u003Cstrong>監査証跡の収集と長期保存\u003C/strong>を徹底する。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>Recover\u003C/strong> (復旧)\u003C/span>\u003Cspan class=\"cell col2-6\">セキュリティ状態の再構築。\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>検証済みイメージからの復旧\u003C/strong>：マルウェアを含まない\u003Cstrong>クリーンで検証済みのアプリケーション、ファームウェア、システムイメージ\u003C/strong>からの迅速な復旧能力を確保する。\u003Cbr>\u003Cstrong>影響範囲の再検証\u003C/strong>：復旧後、影響を受けたPLCの全パラメータが\u003Cstrong>正しい値\u003C/strong>であることを徹底的に検証するプロセスを義務付ける。\u003C/span>\u003C/span>\u003C/span>\u003C/p>",{"id":82,"heading":83,"summary":7,"body":84,"gallery":7},3238,"2. 既存システムで補完すべき主要なIEC 62443 SL-4要件","\u003Cp>このサプライチェーン攻撃（特に時限式/確率的妨害）に対応するために、既存のIEC 62443-4-2（コンポーネント）の防御だけでなく、\u003Cstrong>システム（3-3）およびライフサイクル（4-1/2-4）の要件から、特にSL-4\u003C/strong>で要求される高度なセキュリティ能力を補完する必要があります。\u003C/p>\u003Cp>\u003Cspan class=\"table\">\u003Cspan class=\"table-thead\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>分野\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>関連するIEC 62443要件\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>SL-4での具体的な補完事項\u003C/strong>\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>A. サプライチェーン/開発\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>IEC 62443-4-1\u003C/strong> (製品開発ライフサイクル要件)\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>セキュリティ要件のライフサイクル全体への組み込み\u003C/strong>：ベンダーが提供するすべてのコンポーネント（ファームウェア、ライブラリ、ツール）の開発プロセスがSL-4に準拠していることを要求し、サプライチェーン全体の信頼性を確保する。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>B. サービスプロバイダ\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>IEC 62443-2-4\u003C/strong> (サービスプロバイダ要件)\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>契約によるサプライチェーンのセキュリティ義務化\u003C/strong>：SIerやメンテナンス業者などの\u003Cstrong>サービスプロバイダ\u003C/strong>に対し、開発・デプロイに使用するすべてのツールやライブラリの\u003Cstrong>完全性検証\u003C/strong>を義務付ける（SP.01.03/SP.01.04）。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>C. コンポーネントの完全性\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>IEC 62443-4-2 (HDR 3.14)\u003C/strong> - ソフトウェア完全性\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>Root of Trust（信頼の基点）による検証の強制\u003C/strong>：\u003Cstrong>SL-4\u003C/strong>では、不正なコンポーネントの実行を防ぐため、コンポーネントの\u003Cstrong>起動時および実行時\u003C/strong>に、サプライヤーのRoot of Trustを用いてソフトウェアの完全性を自動的かつ透過的に検証する能力が必須となります。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>D. システムの監視/検証\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>IEC 62443-3-3 (SR 3.3)\u003C/strong> - システム完全性\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>セキュリティ機能の稼働中検証\u003C/strong>：\u003Cstrong>SL-4\u003C/strong>では、\u003Cstrong>通常運用中\u003C/strong>にセキュリティ機能が正しく動作しているかを検証する能力をサポートしなければなりません。これは、前述の「\u003Cstrong>書き込み検証 (Write Verification)\u003C/strong>」をシステム全体のデータ完全性確保の手段として確立することを意味します。\u003C/span>\u003C/span>\u003Cspan class=\"table-tbody\">\u003Cspan class=\"cell col2-5\">\u003Cstrong>E. イベント監視/検知\u003C/strong>\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>IEC 62443-3-3 (SR 6.2)\u003C/strong> - 継続的監視\u003Cbr>\u003Cstrong>IEC 62443-3-3 (SR 2.8)\u003C/strong> - イベント監査\u003C/span>\u003Cspan class=\"cell col2-6\">\u003Cstrong>異常な挙動の自動検知\u003C/strong>：PLC通信のエラーレートや応答時間などの\u003Cstrong>運用上の指標\u003C/strong>を継続的に監視し、記事で言及されたような\u003Cstrong>確率的な、または時限的な妨害行為\u003C/strong>による異常な変動を自動で検知・通知するシステム（OT-IDSなど）を導入する。\u003C/span>\u003C/span>\u003C/span>\u003C/p>",{"id":86,"heading":7,"summary":7,"body":87,"gallery":7},3239,"\u003Cp>以上ですが、対策を具体的に実施する場合は、高度な制御システムセキュリティ技術コンサル能力を必要とします。\u003C/p>\u003Cp>ICS研究所にお気軽にお声がけください。\u003C/p>",[89],{"id":10,"company":90,"name":91,"profile":92},"株式会社ICS研究所","村上 正志","1979～90年まで、日本ベーレーのシステムエンジニアとして電力会社の火力発電プラント監視制御装置などのシステム設計及び高速故障診断装置やDirect Digital Controllerの製品開発に携わる。\n＊関わった火力発電所は、北海道電力（苫東厚真、伊達）、東北電力（新仙台、仙台、東新潟）、東京電力（広野、姉ヶ崎、五井、袖ヶ浦、東扇島）、北陸電力（富山新港）、中部電力（渥美、西名古屋、知多、知多第二）、関西電力（尼崎、御坊、海南、高砂）、中国電力（新小野田、下関、岩国）、四国電力（阿南）、九州電力（港、新小倉、川内）、Jパワー（磯子、松島、高砂）、日本海LNG　など\n\n1990年、画像処理VMEボードメーカーに移籍し、大蔵省印刷局の検査装置や大型印刷機械などのシステム技術コンサルティングに従事。\n\n1995年、デジタルに移籍し、SCADA製品の事業戦略企画推進担当やSE部長を務める。（2004年よりシュナイダーエレクトリックグループ傘下に属す）また、1999年にはコーポレートコーディネーション／VEC（Virtual Engineering Company & Virtual End-User Community）を立ち上げ、事務局長として、「見える化」、「安全対策」、「技術伝承」、「制御システムセキュリティ対策」など製造現場の課題を中心に会員向けセミナーなどを主宰する。協賛会員と正会員のコラボレーション・ビジネスを提案し、ソリューション普及啓発活動を展開。\n2011年には、経済産業省商務情報政策局主催「制御システムセキュリティ検討タスクフォース」を進言、同委員会委員及び普及啓発ワーキング座長を務める。\n2015年、内閣官房 内閣サイバーセキュリティセンターや東京オリンピックパラリンピック大会組織委員会などと交流。\n\n2015年、株式会社ICS研究所を創設。VEC事務局長の任期を継続。世界で初めて制御システムセキュリティ対策e-learning教育ビデオ講座コンテンツを開発。\n\n2017年4月～ 公益財団法人日本適合性認定協会JABの制御システムセキュリティ技術専門家\n\n2017年7月～ 経済産業省の産業サイバーセキュリティセンターCoEの制御システムセキュリティ講座講師担当\n\n現在活動している関連団体及び機関\n・日本OPC協議会 顧問\n・制御システムセキュリティ関連団体合同委員会委員",1779421343190]