ot-incident-resolution について
ServiceNowでOTセキュリティインシデントの解決記録を構成するスキルです。OTセキュリティ分析担当者向けに、安全影響、対象デバイス、封じ込め、修復確認をまとめます。
主な機能
- 01OTインシデントとデバイス情報の集約
- 02安全・物理的影響の記録
- 03封じ込めと関連脆弱性の追跡
- 04修復時の安全確認項目の追加
- 05監査・コンプライアンス用記録の作成
活用シーン
- 01ICSやSCADAのインシデント解決記録
- 02対象デバイスとOTゾーンの確認
- 03修復と安全検証記録の整理
MCP 対応
ServiceNow MCPツールでインシデント、デバイス、脆弱性、作業記録、変更要求を検索し、解決記録をまとめる方法を示します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ happy-technologies-llc/ happy-platform-skills --skill ot-incident-resolutionインストール後、Claude Code で/ot-incident-resolutionを入力して読み込まれたか確認します。
詳細
OT インシデントの解決
概要
このスキルは、ServiceNow における Operational Technology(OT)インシデントの解決記録を作成するための、体系的なアプローチを提供します。産業用制御システム(ICS)、SCADA システム、運用技術環境では、サイバー・フィジカルな影響が人の安全や重要インフラに及ぶ可能性があるため、OT インシデントには専門的な対応が必要です。
主な機能:
- OT/ICS 環境で実施したインシデント封じ込め措置を記録する
- 安全への影響評価と物理的影響の分析を記録する
- 安全確認のチェックポイントを含めて修復手順を記録する
- 影響を受けた OT デバイス、ゾーン、ネットワークセグメントを追跡する
- 規制要件および監査要件を満たす解決記録を作成する
- 解決のライフサイクル全体を通じて、運用安全プロトコルが記録されていることを確認する
使用する場面: OT セキュリティインシデント、ICS の異常、SCADA システムのアラート、または安全性と運用継続性が最優先される運用技術環境に影響するインシデントを解決するときに使用します。
前提条件
- ロール: OT スコープへのアクセス権を持つ
sn_ot_admin、sn_ot_analyst、sn_si_analyst、またはitil - アクセス:
sn_ot_incident、sn_ot_vulnerability、cmdb_ci_ot_device、sys_journal_fieldテーブルへの読み取り/書き込みアクセス - プラグイン: Operational Technology (com.snc.ot) および Security Incident Response (com.snc.si) が有効になっていること
- 知識: ICS/SCADA システム、Purdue Model のネットワークセグメンテーション、産業安全プロトコルに関する理解
手順
ステップ 1:OT インシデントの詳細を取得する
分類フィールドと影響フィールドをすべて含む OT インシデントレコードを取得します。
MCP を使用する場合:
Tool: SN-Get-Record
Parameters:
table_name: sn_ot_incident
sys_id: [INCIDENT_SYS_ID]
fields: sys_id,number,short_description,description,state,priority,severity,category,subcategory,assigned_to,assignment_group,opened_at,resolved_at,affected_ci,cmdb_ci,location,impact,urgency,business_impact,safety_impact,ot_zone,attack_vector,containment_status,resolution_code,resolution_notes,close_notes
番号で検索する場合:
Tool: SN-Query-Table
Parameters:
table_name: sn_ot_incident
query: number=OT0012345
fields: sys_id,number,short_description,description,state,priority,severity,category,subcategory,assigned_to,assignment_group,opened_at,affected_ci,cmdb_ci,location,impact,safety_impact,ot_zone,attack_vector,containment_status
limit: 1
REST API を使用する場合:
GET /api/now/table/sn_ot_incident?sysparm_query=number=OT0012345&sysparm_fields=sys_id,number,short_description,description,state,priority,severity,category,subcategory,assigned_to,assignment_group,opened_at,affected_ci,cmdb_ci,location,impact,safety_impact,ot_zone,attack_vector,containment_status&sysparm_limit=1&sysparm_display_value=true
ステップ 2:影響を受けた OT デバイスを取得する
インシデントの影響を受けた OT デバイスをすべて特定します。
MCP を使用する場合:
Tool: SN-Query-Table
Parameters:
table_name: cmdb_ci_ot_device
query: sys_id=[AFFECTED_CI_SYS_ID]
fields: sys_id,name,sys_class_name,device_type,manufacturer,model_id,firmware_version,ip_address,mac_address,location,operational_status,install_status,ot_zone,protocol,serial_number,asset_tag,support_group,safety_critical
limit: 1
影響を受けたゾーン内のすべてのデバイスについて:
Tool: SN-Query-Table
Parameters:
table_name: cmdb_ci_ot_device
query: ot_zone=[ZONE_VALUE]^operational_status=1
fields: sys_id,name,device_type,manufacturer,ip_address,ot_zone,safety_critical,operational_status
limit: 50
REST API を使用する場合:
GET /api/now/table/cmdb_ci_ot_device/{AFFECTED_CI_SYS_ID}?sysparm_fields=sys_id,name,sys_class_name,device_type,manufacturer,model_id,firmware_version,ip_address,ot_zone,protocol,safety_critical&sysparm_display_value=true
GET /api/now/table/cmdb_ci_ot_device?sysparm_query=ot_zone=[ZONE_VALUE]^operational_status=1&sysparm_fields=sys_id,name,device_type,manufacturer,ip_address,safety_critical&sysparm_limit=50&sysparm_display_value=true
ステップ 3:安全への影響を評価する
物理的な運用に対するインシデントの安全面への影響を確認し、記録します。
MCP を使用する場合:
Tool: SN-Query-Table
Parameters:
table_name: sys_journal_field
query: element_id=[INCIDENT_SYS_ID]^element=work_notes^valueLIKEsafety^ORDERBYDESCsys_created_on
fields: value,sys_created_on,sys_created_by
limit: 20
REST API を使用する場合:
GET /api/now/table/sys_journal_field?sysparm_query=element_id=[INCIDENT_SYS_ID]^element=work_notes^valueLIKEsafety^ORDERBYDESCsys_created_on&sysparm_fields=value,sys_created_on,sys_created_by&sysparm_limit=20
ステップ 4:関連する脆弱性を確認する
インシデントが既知の OT 脆弱性に関連しているか確認します。
MCP を使用する場合:
Tool: SN-Query-Table
Parameters:
table_name: sn_ot_vulnerability
query: affected_ci=[AFFECTED_CI_SYS_ID]^ORDERBYDESCseverity
fields: sys_id,number,short_description,severity,state,cve_id,affected_ci,risk_score,remediation_status,published_date,vendor_advisory
limit: 10
REST API を使用する場合:
GET /api/now/table/sn_ot_vulnerability?sysparm_query=affected_ci=[AFFECTED_CI_SYS_ID]^ORDERBYDESCseverity&sysparm_fields=sys_id,number,short_description,severity,state,cve_id,risk_score,remediation_status,vendor_advisory&sysparm_limit=10&sysparm_display_value=true
ステップ 5:封じ込め措置を記録する
脅威を隔離するために実施した封じ込め措置を記録します。
MCP を使用する場合:
Tool: SN-Query-Table
Parameters:
table_name: sys_journal_field
query: element_id=[INCIDENT_SYS_ID]^element=work_notes^valueLIKEcontainment^ORDERBYsys_created_on
fields: value,sys_created_on,sys_created_by
limit: 20
REST API を使用する場合:
GET /api/now/table/sys_journal_field?sysparm_query=element_id=[INCIDENT_SYS_ID]^element=work_notes^valueLIKEcontainment^ORDERBYsys_created_on&sysparm_fields=value,sys_created_on,sys_created_by&sysparm_limit=20
ステップ 6:関連する変更要求を確認する
修復作業のために作成された変更要求を特定します。
MCP を使用する場合:
Tool: SN-Query-Table
Parameters:
table_name: change_request
query: parent=[INCIDENT_SYS_ID]^ORcorrelation_id=[INCIDENT_NUMBER]
fields: sys_id,number,short_description,state,type,risk,category,assigned_to,start_date,end_date,approval
limit: 10
REST API を使用する場合:
GET /api/now/table/change_request?sysparm_query=parent=[INCIDENT_SYS_ID]^ORcorrelation_id=[INCIDENT_NUMBER]&sysparm_fields=sys_id,number,short_description,state,type,risk,category,assigned_to,start_date,end_date,approval&sysparm_limit=10&sysparm_display_value=true
ステップ 7:解決記録を作成する
包括的な解決記録をまとめます。
=== OT INCIDENT RESOLUTION NOTES ===
Incident: [number] | Priority: [priority] | Severity: [severity]
Category: [category] / [subcategory]
Opened: [opened_at] | Resolved: [resolved_at]
Duration: [resolution_duration]
AFFECTED ENVIRONMENT:
OT Zone: [ot_zone] (Purdue Level [level])
Primary Device: [device_name] ([device_type])
Manufacturer: [manufacturer] | Firmware: [firmware_version]
Protocol: [protocol] | IP: [ip_address]
Safety Critical: [YES/NO]
Additional Affected Devices: [count]
SAFETY IMPACT ASSESSMENT:
Physical Safety Risk: [None/Low/Medium/High/Critical]
Personnel Hazard: [description]
Environmental Impact: [description]
Process Safety Impact: [description]
Safety Systems Affected: [SIS/ESD/fire suppression status]
INCIDENT SUMMARY:
[description of what occurred, attack vector, initial detection]
CONTAINMENT ACTIONS:
1. [timestamp] - [action taken] - [performed by]
2. [timestamp] - [action taken] - [performed by]
3. [timestamp] - [action taken] - [performed by]
Containment Status: [Contained/Partially Contained/Not Contained]
ROOT CAUSE:
[root cause analysis findings]
Related Vulnerability: [CVE if applicable]
REMEDIATION STEPS:
1. [step] - Status: [Complete/Pending]
Safety Validation: [validation performed]
2. [step] - Status: [Complete/Pending]
Safety Validation: [validation performed]
CHANGE REQUESTS:
- [CHG number]: [description] - [status]
POST-RESOLUTION VERIFICATION:
[ ] Device operational status restored
[ ] Safety systems verified functional
[ ] Network segmentation confirmed
[ ] Monitoring alerts re-enabled
[ ] Operations team sign-off obtained
[ ] Regulatory notification completed (if required)
LESSONS LEARNED:
- [observation and recommendation]
- [process improvement suggestion]
ツールの使用方法
MCP ツールのリファレンス
| ツール | 使用する場面 |
|---|---|
SN-Natural-Language-Search | 自然言語検索(例:「Zone 3 の重大な OT インシデントを検索」) |
SN-Query-Table | インシデント、デバイス、脆弱性、作業メモの構造化クエリ |
SN-Get-Record | sys_id を指定して特定のインシデントまたはデバイスのレコードを取得 |
REST API のリファレンス
| エンドポイント | メソッド | 目的 |
|---|---|---|
/api/now/table/sn_ot_incident | GET | OT インシデントレコード |
/api/now/table/cmdb_ci_ot_device | GET | OT デバイスのインベントリ |
/api/now/table/sn_ot_vulnerability | GET | OT 脆弱性レコード |
/api/now/table/sn_si_incident | GET | セキュリティインシデントの関連付け |
/api/now/table/sys_journal_field | GET | 作業メモとアクティビティ |
/api/now/table/change_request | GET | 関連する変更要求 |
ベストプラクティス
- 安全を最優先にする: 技術的な修復の詳細より先に、安全への影響評価を必ず記録してください
- 変更管理なしでパッチを適用しない: OT 環境では、セキュリティパッチであっても正式な変更管理が必要です
- フォレンジック証拠を保全する: 封じ込め措置によって証拠が変化する前に、デバイスの状態とネットワークキャプチャを記録してください
- 運用部門と連携する: OT インシデント対応には、IT セキュリティ部門だけでなく、工場や運用部門の担当者も参加する必要があります
- Purdue モデルの境界を尊重する: 影響を受けたネットワークゾーンを記録し、封じ込めがゾーンのセグメンテーションを尊重していることを確認してください
- 安全システムを検証する: 修復後、安全計装システム(SIS)と緊急停止(ESD)システムが完全に稼働していることを明示的に検証してください
- 規制要件を記録する: 必須の報告義務(NERC CIP、IEC 62443、NIST SP 800-82)があれば記録してください
- 物理的な検証を含める: OT インシデントの解決には、リモートでの確認だけでなく、現場での物理的な検証が必要になることがよくあります
トラブルシューティング
「OT インシデントテーブルが見つかりません」
原因: Operational Technology プラグインがインストールされていないか、有効化されていません。
解決策: com.snc.ot プラグインが有効であることを確認してください。インスタンスに OT モジュールのライセンスがあるか確認してください。テーブル名は sn_ot_incident またはカスタム拡張の場合があります。
「デバイスレコードに OT 固有のフィールドがありません」
原因: OT デバイスが、OT 拡張のない基本 CMDB クラスに保存されている場合があります。
解決策: cmdb_ci_ot_device と、その子クラス(cmdb_ci_ot_plc、cmdb_ci_ot_rtu、cmdb_ci_ot_hmi)を確認してください。組織によっては、OT 機器にカスタムクラスを使用しています。
「関連する脆弱性が見つかりません」
原因: OT 脆弱性データが同期されていないか、affected_ci 参照で別のフィールドが使用されている可能性があります。
解決策: sys_id の代わりに、デバイス名または IP アドレスで sn_ot_vulnerability を照会してみてください。脆弱性データがサードパーティの OT セキュリティツールからインポートされているか確認してください。
「安全への影響に関するフィールドが空です」
原因: カスタムの安全性評価フィールドが入力されていないか、組織で別の安全管理システムを使用している可能性があります。 解決策: 作業メモに安全関連の記載がないか確認してください。リスク管理テーブルや安全管理テーブルにリンクされたレコードを確認してください。手動での評価記録については、安全管理責任者に相談してください。
例
例 1:PLC ファームウェアの脆弱性悪用への対応
シナリオ: 製造工場のプログラマブルロジックコントローラー(PLC)が、既知のファームウェア脆弱性を悪用されて侵害されました。
手順 1 - インシデントを取得する:
Tool: SN-Query-Table
Parameters:
table_name: sn_ot_incident
query: number=OT0004521
fields: sys_id,number,short_description,state,severity,affected_ci,ot_zone,safety_impact,containment_status
limit: 1
解決メモ:
OT INCIDENT OT0004521 - RESOLVED
PLC Firmware Exploitation - Siemens S7-1500 (Zone 2)
Severity: High | Safety Impact: Medium
Duration: 8 hours | Containment: 45 minutes
AFFECTED DEVICE:
Siemens S7-1500 PLC | FW: V2.8.3 (vulnerable)
Zone 2 - Process Control | Safety Critical: YES
Controls: Batch mixing process Line 4
SAFETY ASSESSMENT:
- No personnel safety incident occurred
- Process was safely shut down via manual override
- SIS remained fully operational throughout
- No environmental release detected
CONTAINMENT:
1. 08:15 - Isolated PLC from OT network at Zone 2 switch
2. 08:30 - Engaged manual process control for Line 4
3. 08:45 - Confirmed no lateral movement to other PLCs
4. 09:00 - Preserved PLC memory dump for forensics
REMEDIATION:
1. Applied firmware update V2.9.1 (CVE-2026-1234 fix) - COMPLETE
2. Reset all PLC credentials and certificates - COMPLETE
3. Updated firewall rules at Zone 2/3 boundary - COMPLETE
4. Verified PLC logic integrity against golden image - COMPLETE
5. Restored automated process control - COMPLETE
6. Operations sign-off obtained - COMPLETE
CHANGE REQUEST: CHG0098765 - Emergency firmware update
例 2:SCADA ネットワークの異常への対応
シナリオ: SCADA 通信チャネルで異常なネットワークトラフィックが検出されました。
OT INCIDENT OT0004533 - RESOLVED
Anomalous Modbus Traffic on SCADA Network
Severity: Critical | Safety Impact: Low (monitoring only)
Duration: 12 hours
AFFECTED: 3 RTUs in Zone 1 (Water Treatment Facility)
Root Cause: Misconfigured network monitoring tool generating
excessive Modbus polling requests
CONTAINMENT: Disabled monitoring tool polling, verified RTU
operation unaffected.
REMEDIATION: Reconfigured monitoring tool with correct polling
intervals. Added Modbus traffic rate limiting at Zone 1 firewall.
LESSONS LEARNED: Network monitoring tools in OT environments
must be validated against OT protocol specifications before
deployment to prevent false positives and operational disruption.
関連スキル
otsm/ot-incident-summarization- デバイスと安全性の状況を含めて OT インシデントを要約しますsecops/incident-summarization- IT セキュリティインシデントの要約secops/post-incident-analysis- インシデント後のレビューと分析itsm/change-management- OT の修復作業における変更管理