導入:なぜIIoTは特殊なのか — リスクの本質
産業用IoT(IIoT)は、OT(Operational Technology)資産とIT資産が深く結びつくことで生じる特有のリスクを抱えます。PLC、RTU、HMI、産業用プロトコル(Modbus/TCP、OPC UA、IEC 60870-5-104 等)は、本来リアルタイム制御と可用性を最優先するため、接続性や標準的なセキュリティ機構が十分ではないことが多いです。
この記事は、実運用の現場で検出が可能な攻撃シナリオを整理し、現場担当者やSOC/IRチームがすぐに使える検出手法(ネットワーク/ホスト/ログベース)と優先度の高い対策を提示します。対象読者はOT/ICSセキュリティ担当、SOCアナリスト、運用エンジニア、ペネトレーションテスターです。
主なカバー項目
- 典型的なIIoT攻撃シナリオ(フェーズ別)
- 現場で実装できる具体的な検出方法と指標(IoC/IoA)
- 運用チェックリストと即効性のある優先対策
攻撃シナリオ(現場でよく見るパターン)
以下はIIoT環境で観測される代表的な攻撃シナリオと、現場で検出しやすい観測ポイント(Indicators)です。
シナリオA:資産探索と外部公開露出の悪用
攻撃者はまず公開されたHMI/PLCや管理ポートを探索します。Shodan等で露出したデバイスへスキャンや認証試行を行い、脆弱な管理インターフェースを突きます。
- 検出ポイント:外部IPからのポートスキャン、異常なスキャン頻度、普段使われない管理ポートへの接続ログ。
シナリオB:ファームウェア改竄/サプライチェーン侵害
検証済みの攻撃手法。改竄されたファームウェアや不正なアップデートは持続的なアクセスやバックドアを提供します。
- 検出ポイント:ファームウェア署名不一致、更新時刻の不正、整合性チェック失敗、突然のプロセスや不明なサービス起動。
シナリオC:プロトコル悪用(Modbus/OPC UA等)
正常な制御コマンドを装って不正な書き込みや操作を行う。例:大量のWrite Multiple Registers、許可されないFunction Codeの利用。
- 検出ポイント:短時間での書き込み集中、許可されないFunction Code、アドレス/レジスタ範囲外のアクセス。
シナリオD:リモートアクセス・踏み台化(VPN/Jumphost/IoTゲートウェイ)
正規のリモートアクセス基盤を奪取し内部に潜伏、横展開する。
- 検出ポイント:VPNログの異常な接続元・時間帯、Jump serverでの多段ログイン、同一アカウントの複数端末ログイン。
シナリオE:OT向けランサムウェア/破壊活動
HMIやファイルサーバ、ヒストリアンサーバを暗号化・破壊し、制御の可用性を阻害する。
- 検出ポイント:大量のファイルアクセス/暗号化パターン、停止/異常シャットダウン、制御命令の急増。
現場で使える検出方法(ネットワーク/ホスト/ログ)
ここでは具体的な検出手法と即効性の高い実装例を示します。各検出は、まず“可視化(パッシブに監視)”を優先し、誤検知が起きにくい閾値設定で運用開始してください。
ネットワーク検出(優先度:高)
- フロー分析(NetFlow/ IPFIX): デバイス間通信の滞留、接続頻度、突発的な通信量増加を検出。例:PLC→外部IPで定常的でないフローが発生したらアラート。
- DPI/プロトコル解析(Modbus/OPC UA対応のIDS): ModbusのFunction Code異常(Write Multiple Registersの急増)、OPC UAの未知のサービス呼び出しを検出。
- ベースラインと逸脱検出: 正常稼働時のコマンド頻度やレスポンス遅延を記録し、閾値超えでアラート。
ホスト/ファームウェア検出(優先度:中)
- ファームウェア整合性チェック: 署名検証、ハッシュ比較、定期的なイメージ検査。不整合を見つけたら隔離と差分解析。
- プロセス/ポート監視: PLC/HMIの通常プロセスリストを登録し、未知プロセスや非標準ポートのリッスンを検知。
- EDRの軽量エージェント(ARM/組込み対応): 利用可能ならプロセス起動やコマンド実行の追跡を行う。
ログとSIEM(優先度:高)
- HMI/PLCのイベントログ、OPCヒストリアン、VPN・ジャンプサーバログをSIEMに集中。相関検出で攻撃チェーンを可視化。
- 検出ルール例(擬似表現): "Modbus write operations from a control station where write_rate > X per minute => alert"。類似のルールをSIEMに実装。
現場で効く短期ルール(すぐ使える例)
- 閾値アラート: 1分間に同一PLCへWriteが10回以上発生したら警告。
- 外部接続アラート: IIoTセグメントから外部インターネットへの接続を検出したら即時アラート。
- ファームウェア変更: 署名がないファーム更新の試行で自動チケット発行・業務担当に通知。
優先対策と運用チェックリスト
検出と合わせて必ず実施すべき優先度の高い対策を示します。現場ですぐに使える“やることリスト”です。
- 資産管理の確立:全デバイスのインベントリ、OS/ファームウェアのバージョン管理。管理外デバイスは隔離。
- ネットワーク分離と最小権限:OT/IIoT用VLAN、ファイアウォールルールで不要な通信を遮断。管理アクセスはジャンプホスト経由で限定。
- 不可逆バックアップとイメージ保持:重要な設定やファームウェアはオフラインで保管し、緊急時にリカバリ可能に。
- 監視の導入(受動的→能動的):フロー監視、プロトコル解析、SIEM相関、定期的なログレビュー。
- 遠隔アクセス制御:MFA、限定IP、時間帯制限、監査ログの強化。
- 署名付きファームウェアとサプライヤー管理:ファームウェアは署名とハッシュ検証を必須化。サプライヤーとの更新プロセスを明確に。
運用時の簡易インシデント対応フロー
- 検出 → 影響範囲の特定(対象デバイス、通信、時間)
- ネットワーク分離(必要に応じてポート単位やVLAN単位で隔離)
- ログ/イメージ保存(メモリイメージ、ネットワークキャプチャを保存)
- 原因解析 → ファームウェア整合性/コマンド履歴確認
- 復旧(既知良好イメージのリストア)→ 再発防止策の実装
結論
IIoTの検出は特別な技術だけでなく、現場の運用プロセスと組み合わせた実装が重要です。まずは「見える化(監視)」→「ベースライン化」→「閾値アラート」の順で進め、小さな改善を積み上げていくことを推奨します。この記事の検出ポイントとチェックリストをテンプレートとして採用し、自組織の運用に合わせて閾値・ルールを調整してください。