セットアップアシスタントの参考情報
セットアップアシスタントは、セキュリティインシデントレスポンス ベースシステムを設定するために実行する必要がある手順をガイドします。このセクションでは、さらに説明が必要な、複雑な手順について追加情報を提供します。
セキュリティインシデントレスポンス プロセス定義の作成
プロセス定義を作成して、セキュリティインシデントを 1 つのステータスから次のステータスに移行する方法を定義できます。プロセス定義は、Service Desk とエンドユーザーがライフサイクル全体で問題を追跡するのに役立ちます。
始める前に
必要なロール:sn.si_admin
手順
Security Incident Response プロセス定義の概要
セキュリティインシデントレスポンス プロセス定義 は、ステータスフローを置き換え、エンドユーザーとサービスデスクに問題のステータスを提供します。プロセス定義は、問題のライフサイクル全体を追跡するのに役立ちます。セキュリティインシデントレスポンス は Service Management (SM) アプリケーションで、独自のステータスセットを持ちます。無効なステータスは プロセスの選択 の一部として報告されます。
Security Incident Response プロセス定義
| ステータス | 説明 |
|---|---|
| ドラフト | 要求のイニシエータが、セキュリティインシデントに関する情報を追加します。ただし、この段階では処理する準備がまだ整っていません。 |
| 分析 | インシデントがアサインされ、問題が分析されます。 |
| 封じ込め | 問題が特定され、セキュリティスタッフが問題の封じ込めとダメージコントロールを実行しています。これらのアクションには、サーバーのオフライン化、インターネットからの機器の切断、バックアップの存在の確認が含まれます。 |
| 根絶 | 問題が封じ込められ、セキュリティスタッフが問題を解決するための措置を講じています。 |
| 復旧 | 問題が解決され、対象システムの運用準備状況が検証されています。 |
| レビュー | セキュリティインシデントが完了し、すべてのシステムが通常の機能に戻りました。ただし、インシデントの事後レビューがまだ必要です。 |
| クローズ済み | インシデントが完了しました。ただし、セキュリティインシデントをクローズする前に、[クローズ情報] タブに情報を入力する必要があります。 |
セキュリティインシデントタスクプロセス定義
セキュリティインシデントタスクには、次のプロセス定義が使用されます。
| ステータス | 説明 |
|---|---|
| 準備完了 | タスクがエージェントにアサインされると、処理する準備が整います。 |
| アサイン済み | タスクがエージェントにアサインされています。 |
| 対応中 | アサインされたエージェントがタスクを処理しています。 |
| 完了 | タスクが完了しました 。 |
| キャンセル済み | タスクがキャンセルされました。 |
NIST は次の 2 つのモデルをサポートしています。
- NIST Stateful
このプロセス定義により、アナリストはステップをスキップすることなく、各ステータスを順に移行できます。たとえば、アナリストが [ドラフト] ステータスで開始した場合、このプロセス定義の順序は [ドラフト] > [分析] > [封じ込め] > [根絶] > [復旧] になります。したがって、NIST ステートフルプロセス定義は単方向であり、アナリストは順方向でのみステータスを順方向にのみ移動できます。
もう 1 つの例として、アナリストが [分析] ステータスで開始した場合、このプロセス定義の順序は [分析] > [封じ込め] > [根絶] > [復旧] になります。
- NIST Open
このプロセス定義により、アナリストはステータス間を順方向と逆方向の両方で移行できます。もう 1 つの例として、アナリストが [分析] ステータスで開始した場合、このプロセス定義の順序は [分析] > [封じ込め] > [根絶] > [復旧] または [分析] > [ドラフト] になります。したがって、NIST オープンプロセス定義は双方向であり、アナリストは要件に応じて順方向または逆方向でステータス間を移行できます。
Security Incident Response プロセスの選択
プロセスの選択 では、セキュリティインシデントと応答タスクの無効なステータスのプロセスがリストされます。
管理者は、手動またはスクリプトを使用して、インシデントまたはタスクを有効なステータスに修正できます。空の (インシデントもタスクもない) 関連リストは、すべてのアクティブなタスクが有効なステータスであることを示します。使用可能なステータスは、インシデントの現在のステータスによって異なります。詳細については、「プロセス定義を使用して無効なセキュリティインシデントまたはタスクのステータスを修正する」を参照してください。
セキュリティインシデントレスポンス プロセス定義の選択
会社のセキュリティインシデントおよび応答タスクの適切なステータスに使用するプロセス定義を選択できます。
始める前に
このタスクについて
手順
カスタムの セキュリティインシデントレスポンス プロセス定義スクリプトインクルードの作成
会社のセキュリティインシデントおよび応答タスクの適切なステータス用のカスタムのプロセス定義スクリプトを作成します。
始める前に
このタスクについて
手順
プロセス定義スクリプトインクルード
プロセス定義スクリプトインクルードは、プロセス定義を定義するためのメソッドを提供します。
ここで説明されている定数、属性、アレイ、およびメソッド呼び出しを実装して、プロセス定義スクリプトインクルードをカスタマイズします。
使用する状況
このスクリプトインクルードを使用して、プロセス定義を作成します。
スクリプトインクルードの本文
- 定数:初期ステータスの定義
- セキュリティインシデントと応答タスク:プロセス定義のアレイ
- メソッド呼び出し:情報の取得
定数
定数は、セキュリティインシデントと応答タスクの初期ステータスを定義するために使用されます。
INITIAL_INCIDENT_STATE: 10,
INITIAL_TASK_STATE: 1,
後続のメソッドで次のように使用されます。
getInitialIncidentState: function() {
return this.INITIAL_INCIDENT_STATE;
},
getInitialTaskState: function() {
return this.INITIAL_TASK_STATE;
},
次の定数セットは、セキュリティインシデントと応答タスクの両方のステータスを定義します。
各アレイには、インシデントまたはタスクが特定のステータスにあるときに使用できるステータスの定義も含まれています。
TASK_STATES: [{state:1, label:"Draft", choice:[1, 10]},
{state:10, label:"Ready", choice:[10, 16]},
{state:16, label:"Assigned", choice:[16, 18]},
{state:18, label:"Work in Progress", choice:[18, 3]},
{state:3, label:"Close Complete", choice:[]},
{state:7, label:"Cancelled", choice:[]},
],この例は、オブジェクトのアレイです。各オブジェクトは、ステータスおよび可能な移行ステータスを定義します。
ステータスのオブジェクトの順序によって、フローの必要な順序が決まります。
タスクが [ドラフト] ステータス (値 1) の場合、可能なステータスは 1 (ドラフト、変更なし) および 10 (準備完了、プロセスの次のステップ) です。
ステータスからの移行回数に制限はありません。[完了してクローズ] ステータスおよび [キャンセル] ステータスは最終ステータスであるため、ステータスの移行はできません。
オブジェクト内の属性の順序は重要ではありません。定義が明確になる場合は、最初にラベルを配置します。
属性
- state:ステータスの数値
- label:ステータスに関連付けられた分かりやすいテキスト
- choice:ステータスが移行できるステータス値のアレイ (ステータスドロップダウンの内容を決定)
- mandatory:このステータスで必須になるフィールド ID のリスト
- readonly:このステータスで読み取り専用になるフィールド ID のリスト
- visible:このステータスで表示されるフィールド ID のリスト
- notmandatory:このステータスで任意になるフィールド ID のリスト
- notvisible:このステータスで表示されなくなるフィールド ID のリスト
オプションの属性を使用する場合、ステータス間で適切にフィールドが表示/非表示、必須/非必須、または読み取り専用になっていることを確認するのは作成者の責任です。
たとえば、「visible」属性を使用しない限り、あるステータスでフィールドを非表示にすると、後で別のステータスで表示されることはありません。
プロセスフロー定義のアレイ
プロセスフローフォーマッター (セキュリティインシデントおよび応答タスクフォームの上部にあるバー) に表示される情報を定義するには、各ステータスの表示内容に関する情報がシステムに必要です。
TASK_PF: [{label:"Draft", condition:"state=1^EQ", description:"<p>Security Incident Response Task is in draft</p>"},
{label:"Ready", condition:"state=10^EQ", description:"<p>Security Incident Response Task is ready to be assigned</p>"},
{label:"Assigned", condition:"state=16^EQ", description:"<p>Security Incident Response Task is assigned</p>"},
{label:"Work in Progress", condition:"state=18^EQ", description:"<p>Work has started on this Security Incident Response Task</p>"},
{label:"Closed", condition:"state=3^ORstate=4^ORstate=7^EQ", description:"<p>Security Incident Response Task is complete</p>"},
],TASK_PF アレイは、プロセスフォーマッターバーに表示されるテキスト (順序とアクティビティを含む) を決定するために使用されるラベル、条件、および説明のコレクションです。
この例では、「準備完了」というテキストが 2 番目に表示されます。タスクが条件「state=10^EQ」を満たした場合にハイライト表示されます。
ポインターをテキストの上に置くと、「Security Incident Response タスクをアサインする準備ができました (Security Incident Response Task is ready to be assigned)」という説明が表示されます。
ステータスは、単一のフォーマッターステータスに結合できます。
この例では、[完了してクローズ] ステータスと [キャンセル] ステータスの両方がトップバーに [クローズ済み] として表示されます。
メソッド呼び出し
| 戻り値の型 | メソッドの概要 | 説明 |
|---|---|---|
| 文字列 | getInitialIncidentState: function() | 初期インシデントステータスの数値を返す |
| 文字列 | getInitialTaskState: function(): | 初期タスクステータスの数値を返す |
| 文字列のアレイ | getIncidentStates: function(): | インシデントステータスのアレイを返す |
| 文字列のアレイ | getTaskStates: function(): | タスクステータスのアレイを返す |
| オブジェクトのアレイ | getIncidentProcessFlows: function(): | インシデントプロセスフロー定義アレイを返す |
| オブジェクトのアレイ | getTaskProcessFlows: function(): | タスクプロセスフロー定義アレイを返す |
次の一連のメソッドは、インシデントまたはタスクが更新されるたびに呼び出され、特定の変更移行に対してアクションを実行できるようにします。
| 戻り値の型 | メソッドの概要 | 説明 |
|---|---|---|
| なし | performIncidentStateChange: function(current, previous) | 例では、このメソッドを使用して SM 関連の値を設定し、誰かがインシデントにアサインされると、インシデントが [ドラフト] から進むようにします。 |
| なし | performTaskStateChange: function(current, previous) | 例では、このメソッドを使用してタイムスタンプ (アサイン時とクローズ時) を更新し、assigned_to フィールドが入力されるとタスクを [準備完了] から [アサイン済み] に進めます。 |
プロセス定義を使用して無効なセキュリティインシデントまたはタスクのステータスを修正する
管理者は、手動またはスクリプトを使用して、セキュリティインシデントまたはタスクを有効なステータスに修正できます。使用可能なステータスは、インシデントの現在のステータスによって異なります。
始める前に
このタスクについて
ステータスを一括で変更するには、次の手順を実行します。
手順
セキュリティインシデントグループの作成
セキュリティインシデントグループをセットアップし、適切なロールとユーザーをグループにアサインします。
始める前に
- user_admin ロールを持っている場合は、セキュリティインシデントアサイン先グループを作成できます。
- sn_si.admin ロールを持っている場合は、セキュリティインシデントアサイン先グループの作成と編集ができます。
このタスクについて
組織に必要な数だけグループを作成することをお勧めします。管理者用に 1 つのグループを作成し、そのグループのみに admin ロールをアサインすることもお勧めします。
手順
セキュリティインシデント算出グループの作成
セキュリティインシデント算出グループは、算出をグループ化するために使用されます。
始める前に
手順
セキュリティインシデント算出の作成
セキュリティインシデント算出を使用すると、事前定義された式に基づいてセキュリティインシデントの重大度を計算できます。必要に応じて、独自のセキュリティインシデント算出を定義できます。
始める前に
手順
セキュリティインシデント算出の理解
セキュリティインシデント算出は、事前定義された条件が満たされたときにレコード値を更新するために使用されます。算出は、レコードの更新方法を決定するために使用される基準に基づいてグループ化されます。
セキュリティインシデントレスポンス ベースシステムには、次のセキュリティインシデント算出グループと算出が含まれています。各グループ内で、条件に一致する最初の計算が実行されます。
| セキュリティインシデント算出のグループ名 | グループに含まれる算出 | 説明 |
|---|---|---|
| ビジネスへの影響度 | 重大度算出から集計 | この算出では、その他のフィールドの値を重み付けすることにより重要度を決定する Security Criticality Calculator に委任します。 |
| 重大度 | 影響を受ける事業 | この重大度算出では、シンプルな条件ビルダーを使用して選択基準を定義します。 |
| 影響を受けた重要サービス | この重大度算出では、詳細条件を使用して選択基準を定義します。 セキュリティインシデントの構成アイテムが重要性の高いビジネスサービスに関連付けられている場合、[リスクスコア]、[ビジネスへの影響度]、および [優先度] フィールドは、算出で定義されたとおりに昇格されます。 |
|
| 重要なサービス変更 | この重大度算出では、詳細条件を使用して選択基準を定義します。 セキュリティインシデントが条件を満たしている場合、スクリプトが実行され、フィールドがどのレベルに昇格されるかを定義します。セキュリティインシデントの構成アイテムが最も重大またはやや重要なビジネスサービスに関連付けられている場合、[リスクスコア]、[ビジネスへの影響度]、および [優先度] フィールドは、算出で定義されたとおりに昇格されます。 |
|
| 複数攻撃ベクトル | この重大度算出では、シンプルな条件ビルダーを使用して選択基準を定義します。 セキュリティインシデントの構成アイテムが Web、メールおよび代理操作の攻撃ベクトルに関連付けられている場合、[リスクスコア]、[ビジネスへの影響度]、および [優先度] フィールドは、算出で定義されたとおりに昇格されます。 |
|
| カテゴリとサービスを使用して優先度を設定 | この重大度算出では、詳細条件ビルダーを使用して選択基準を定義します。 次の条件が満たされた場合、セキュリティインシデントの優先度は [1 - 重大] に設定されます。
注: この算出は、Starter Security Operations の価格階層がある場合にベースシステムで使用できます。 |
|
| 観測可能項目の優先度を設定 | この重大度算出では、詳細条件ビルダーを使用して選択基準を定義します。 次の条件が満たされた場合、セキュリティインシデントの優先度は [1 - 重大] に設定されます。
注: この算出をベースシステムで使用できるのは、Advanced Security Operation の価格階層があり、Threat Feeds プラグインをアクティブ化している場合です。 |
|
| ユーザー重要度 | ユーザー重要度を取得 | この重大度算出では、シンプルな条件ビルダーを使用して選択基準を定義します。 この重大度算出では、[部門] フィールドが [経理] に変更されたときに、ユーザーのビジネス上の重要度が [1 - 重大] に変更されます。 |
| ユーザーグループ重要度を取得 | この重大度算出では、詳細条件ビルダーを使用して選択基準を定義します。 この重大度算出は、関連リストのデータで実行される算出の例です。 |
重大度算出
セキュリティインシデントを作成すると、[リスクスコア]、[ビジネスへの影響度]、および [優先度] フィールドにデフォルト値が入力されます。インシデントを保存すると、ビジネスルールによって、アクティブな重大度算出で定義された条件に照らしてセキュリティインシデントの情報が自動的に検証されます。これらは、各算出の [順序] フィールドで定義された順序で、一度に 1 つずつセキュリティ算出が検証されます。セキュリティインシデントの情報がいずれかの算出で定義された条件と一致する場合、重大度フィールドの値は算出で設定されたルールに従って更新されます。
たとえば、影響を受ける CI のセキュリティインシデントを作成し、その CI の重要性が高いとします。セキュリティインシデントが保存されると、CI 情報が重大度算出で定義された条件と比較されます。[影響を受けた重要サービス] の重大度算出に照らしてセキュリティインシデントが検証されると、重大度フィールドが自動的に更新され、次のようなメッセージがセキュリティインシデントの上部に表示されます。
- [攻撃ベクトル] [含む] [Web]
- [攻撃ベクトル] [含む] [メール]
- [事業部門] [含む] [経理]
レコードを開き、[重大度の計算] 関連リンクをクリックすることで、既存のセキュリティインシデントの重大度の値をいつでも更新することもできます。
セキュリティインシデントリスクスコア算出
[カテゴリとサービスを使用して優先度を設定] および [観測可能項目の優先度を設定] 算出は、セキュリティインシデントのリスクスコアを計算するために使用されます。
ユーザー重要度算出
[ユーザー重要度] グループの 2 つの算出 ([ユーザー重要度を取得] および [ユーザーグループ重要度を取得]) では、ユーザーレコードで定義された基準またはユーザーが属するグループに基づいて重要度をどのように算出できるかの例を示します。
これらは、必要に応じて編集したり、新しいユーザー重要度算出を作成したりできます。
[ユーザー重要度を取得] 算出では、[部門] フィールドが [経理] に変更されたときに、ユーザーのビジネス上の重要度が [1 - 重大] に変更されます。
var CRITICAL_GROUPS = [group1_sys_id, group2_sys_id, group3_sys_id]。セキュリティインシデントリスクスコア算出
リスクスコアは、セキュリティインシデントの優先度、セキュリティインシデントのタイプ (サービス拒否、スピアフィッシング、または悪意のあるコードアクティビティ)、およびインジケーター上の否定的な評価スコアの要因となったソース数に基づくリスクを表す算術平均として計算されます。
リスクスコアは、アナリストのセキュリティインシデント作業の優先順位付けに役立ちます。
- 重大度の計算
- リスクスコアの更新
- SI リスクスコアの更新
たとえば、セキュリティインシデントの [ビジネスへの影響度] が [2 - 高い] に設定され、[優先度] が [3 - 中] に設定されている場合、[リスクスコアの重み付け] テーブル内のそれぞれの重み付けは、次のようにルックアップおよび計算されます。
セキュリティインシデントのビジネスへの影響度が 2 の場合、重み付けは 60 です。
セキュリティインシデントの優先度が 3 の場合、重み付けは 40 です。
(60 + 40)/2 = リスクスコア 50。
セキュリティインシデントリスト内のセキュリティインシデントの位置は、更新されたリスクスコアに基づいて並べ替えられます。
- セキュリティインシデントフォームの [ビジネスへの影響度]
- セキュリティインシデントフォームの [優先度]
- セキュリティインシデントフォームの [重大度] (デフォルトでは非表示)
- [影響を受けるユーザー] 関連リストの [ビジネスへの影響度]
- [影響を受けるサービス] 関連リストの [ビジネスへの影響度]
- [脆弱性一致アイテム] 関連リストの [ビジネスへの影響度]
- 影響を受けるユーザーとセキュリティインシデントの関連付けが作成または変更されたとき
- 影響を受けるサービスとセキュリティインシデントの関連付けが作成または変更されたとき
- 脆弱性一致アイテムとセキュリティインシデントの関連付けが作成または変更されたとき
また、作業メモは、[リスクスコアの重み付け] フォームで [すべてのリスクスコアを更新] および [すべてのリスクスコアをクリア] がクリックされるたびに更新されます。
リスクスコアの重み付けの管理
セキュリティインシデントのリスクスコアの計算に使用されるリスクスコアの重み付けは、個別に削除または更新できます。すべてのセキュリティインシデントに対して削除または更新することもできます。セキュリティインシデントからの重み付けの削除機能は、重み付けの値を変更する場合に役立ちます。
始める前に
手順
セキュリティインシデントレスポンス SLA の作成
セキュリティインシデントレスポンス の Service Level Agreement (SLA) を定義できます。
始める前に
必要なロール:sn_si.admin
手順
セキュリティインシデント SLA の修理
SLA のタイミングと期間の情報が正確になるように、SLA レコードを修理することができます。
始める前に
手順
Security Incident Response Runbook の作成
Runbook は、公開されたナレッジ記事と特定のタスクとの関連付けです。タスクを実行している間、Runbook のナレッジ記事が自動的に開き、タスクに関連する情報が提供されます。
始める前に
必要なロール:sn.si.knowledge_admin
このタスクについて
手順
ユーザーから報告されたフィッシング攻撃を検証するためのルールの作成
従業員がフィッシング攻撃と思われるメールを受信した場合、フィッシングメールアドレスを使用して報告を受けることができます。不審なメールは、組織で定義されたルールを使用して検証されます。
始める前に
- acme+phishing@service-now.com などのメールアドレスを定義します。+phishing タグは、フィルタリングを有効にするよう SMTP でサポートされており、インスタンスはそこに送信されたメールを受信できます。
- phishing@acme.com (Exchange メールボックス) などのメールアドレスを定義し、このアドレスから acme+phishing@service-now.com (メール転送ルールによって定義されたインスタンスメールボックス) に転送されるようにします。
必要なロール:sn_sec_cmn.write
このタスクについて
従業員が不審なメールを見つけた場合は、それを添付ファイルとしてフィッシングメールアドレスに転送する必要があります。添付されたメールが脅威を定義するルールに一致する場合、セキュリティインシデントが作成されます。