レッスン 4-5
本番で
読み終えたら1 時間の
この頁の流れ
机上演習 (インシデントの
出典を確かめた日 2026年10月27日
なぜ通るのか
対応の
手順
机上演習とは
NIST SP 800-84 は、
| 種類 | すること | 向く時 |
|---|---|---|
| 机上演習 | 場面を | 手順 |
| 機能の演習 | 模した | 机上演習で |
| 全体の演習 | 本物に | 業界や |
NIST は、
目的を先に決める
演習の
| 悪い目的 | 確かめられる目的 |
|---|---|
| ランサムウェアへの | 暗号化に |
| 連絡体制を | メールが |
| 控えを | 控えが |
場面と状況の付与
場面は、
脆いコードと直したコード
演習の
話したことを書くか、判断を書くか
Python
notes = []
def note(text):
notes.append(text)Python
from dataclasses import dataclass
@dataclass
class Decision:
t: str
who: str
what: str
why: str
known: str
def missing(decisions):
return [d for d in decisions if not (d.who and d.why)]脆い方では、missing は、
反省を並べるか、直すことを決めるか
Python
lessons = [
"連絡先の一覧が古い",
"控えの置き場をだれも知らない",
]Python
from dataclasses import dataclass
@dataclass
class Fix:
what: str
owner: str
due: str
check: str
def open_items(fixes):
return [f for f in fixes
if not (f.owner and f.due and f.check)]脆い方のopen_items で
ログでの見え方と検知
演習の
| 時刻 | 決めた役 | 決めたこと | 理由 |
|---|---|---|---|
| 09:05 | 情報システム | 暗号化を | 広がりを止める |
| 09:12 | (空き) | 対応の | (空き) |
| 09:20 | 総務 | 社内へ | いつもの手順 |
| 09:31 | 情報システム | 控えを | 上書きを止める |
| 09:40 | (空き) | 警察と | (空き) |
09:12 と
| 見る物 | 何の穴か |
|---|---|
| 決めた | 役割の |
| 理由が | 手順 |
| 知らせから | 決める |
| 同じ | 手順 |
| 止まっているはずの | 本番の |
直し方と、直ったことの確かめ方
1 時間の
- 目的を
3 つ、 確かめられる 文で 書く (上の 表の 右の 列の形) - 場面を
1 つ 選び、 時刻つきの 知らせを 4 つ作る。 知らせごとに、 決めてほしい ことを 1 つ書く - 進行役が
知らせを 1 つずつ 読み、 参加者が 話し合って 決める。 記録係は、 決めるたびに Decisionの欄を埋める - 知らせを
出し切ったら、 10 分の ふりかえり (ホットウォッシュ) で、 目的ごとに 確かめられたかを 話す - 記録の
空き欄と、 ふりかえりで 出た 物から、 直す ことを 3 つ選び、 Fixの欄を すべて埋める - 下の
試験で 空き欄が 0 である ことを 確かめ、 次の 演習の 日に、 直す ことの 確かめ方を 1 つずつ通す
記録
00-05 目的と場面と役割の説明、本番のシステムには触らないことの確認
05-15 知らせ 1 受注の画面が開かない、ファイルの名前が替わっている
15-25 知らせ 2 社内のメールが使えない、取引先から問い合わせが来た
25-35 知らせ 3 控えのサーバーにも暗号化の跡がある
35-45 知らせ 4 攻撃者からの連絡と、記者からの問い合わせ
45-55 ふりかえり、目的ごとに確かめられたか
55-60 直すことを 3 つ決め、担当と期限を入れるPython
def test_every_decision_has_owner_and_reason():
ds = [
Decision("09:05", "情報システム", "切り離す", "広がりを止める", "暗号化を確認"),
Decision("09:12", "", "責任者を決める", "", "暗号化を確認"),
]
assert [d.t for d in missing(ds)] == ["09:12"]
def test_every_fix_has_owner_due_check():
fixes = [
Fix("連絡先の一覧を直す", "総務", "11-30", "電話で 3 件通す"),
Fix("控えの置き場を書く", "", "", ""),
]
assert [f.what for f in open_items(fixes)] == ["控えの置き場を書く"]1 つ目の
関わる事例
計画は
連絡の
前の
確認クイズ
1 問目
初めて
答えだと思う選択肢を押すと、その場で正誤と理由が開きます。
答え イ
アと
2 問目
演習の
答えだと思う選択肢を押すと、その場で正誤と理由が開きます。
答え イ
議事録に
説明課題
次の
- 自分の
チームで 1 時間の 机上演習を 開くとしたら、 目的を 1 つ、 知らせを 1 つ、 記録に 残す欄を 挙げ、 そこから 直す ことを どう 決めるか
模範解答を見る
目的は、
一次資料
どれも
- SP 800-84 Guide to Test, Training, and Exercise Programs for IT Plans and Capabilities (NIST、
英語、 。2006年9月) 机上演習は 話し合いだけの 演習で、 進行役が 場面を 示して 問いを 投げる こと。 計画が 実行できるかを、 少ない 費用で 確かめる 方法である こと。 終わりの ふりかえり - セキュリティインシデント
対応机上演習教材 (IPA、 。日本語) 過去の 被害の 例を 参考にした ランサムウェアの 場面で、 対応の 流れを 机上で 演習する 教材と 実施の 手引き。 一般企業向けと 医療機関向けの 2 種類 - CISA Tabletop Exercise Packages (CISA、英語)。
目的、 場面、 問いの ひな形を 含み、 組織に 合わせて 変えられる 演習の 資料一式 - Investigation, WannaCry cyber attack and the NHS (英国会計検査院、
英語、 。2017年10月) 計画を 地域の 段で 試していなかった こと、 だれが 率いるかが すぐ 決まらなかった こと、 午後4時の 宣言と 午後6時45分の 決定、 メールが 使えず 個人の 携帯電話で 情報を 回したこと
次へ
次の
