第13章 証跡の設計者
- 山崎行政書士事務所
- 5月7日
- 読了時間: 16分
三か月後。
駿河メディカルロジスティクス株式会社の第三会議室には、もう飲み残しのコーヒーも、仮眠用の毛布も、床に散らばったLANケーブルもなかった。
机は整えられていた。ホワイトボードは白く戻っていた。窓の外では、秋の光が倉庫の屋根を照らしている。
だが、会議室の正面には、あの事件の痕跡がまだ残っていた。
大型モニターに映っているのは、未了事項台帳だった。
ファイル名は、もう「初版」ではない。
未了事項台帳_v17_取締役会報告版.xlsx
三枝涼真は、会議室の前に立っていた。
三か月前、彼は同じ場所で、夜明けのログを追っていた。誰に電話すればいいのか分からず、委託先の契約番号も見られず、退職者アカウントがなぜ生きているのかも説明できなかった。
今、彼の前には取締役が並んでいる。
望月玲子社長。黒崎情報システム課長。秋山法務総務部長。大石倉庫部長。営業部長。経営企画。監査役。そして、オンライン参加で山崎行政書士事務所の山崎。
北斗DFIRの久我真琴も、別ウィンドウから参加していた。
三枝は、画面を切り替えた。
未了事項クローズ状況
総件数:128件完了:76件進行中:39件期限超過:5件保留:8件
三枝は、以前なら「完了していないものが多すぎる」と思っただろう。
だが今は違う。
未了は、隠れていない。責任者がいる。期限がある。状態がある。経営に報告されている。
それは、会社が変わった証拠だった。
三枝は話し始めた。
「まず、優先度Aの未了事項について報告します。退職者アカウントの対話ログイン可能なものは全件停止済みです。旧システム連携で残っていたものについては、サービスアカウントへ移行し、個人アカウント依存を廃止しました」
望月が頷いた。
三枝は続ける。
「保守用アカウントについては、共有アカウントを廃止しました。委託先作業者ごとの個別アカウントに移行し、PIMによる時間限定の特権付与、二名承認、作業後のセッション失効確認、SOCへの作業開始・終了通知を標準化しています」
黒崎が補足した。
「作業終了とは、作業者が『終わりました』と言うことではなく、ロール解除、セッション失効、ログ取得、SOC通知、当社確認まで完了した状態と定義しました」
山崎が画面越しに頷いた。
「責任分界表にも、その定義を反映しています」
三枝は次のスライドへ進めた。
DeviceActionRaw改善状況
保持期間:7日 → 180日所有者:個人 → Security Evidence Ownersグループ閲覧権限:限定ロール化取得手順:証跡保全手順書へ組込済み経営報告:重要ログ一覧として四半期報告対象
三枝は、少し息を吸った。
「DeviceActionRawは、正式な証跡保全対象になりました。今後、端末管理命令、ログ転送先変更、監査保持設定変更、予約命令については、通常ログと詳細ログを組み合わせて保全します」
久我が言った。
「技術的にも、かなり良い状態です。少なくとも、あの時のように『残っているのに誰も見られない』という状態ではありません」
三枝は頷いた。
あの未了ログは、もう未了ではない。
閉じたのだ。
会議の中盤で、山崎が発言した。
「ここまでの改善で重要なのは、単にツール設定を変えたことではありません」
画面に、山崎が作った資料が映る。
説明可能なサイバーセキュリティ統制
そこには、五つの円が重なっていた。
構成権限ログ契約判断記録
山崎は言った。
「以前は、構成図は情報システム、契約書は法務、ログはSOC、業務影響は現場、判断は経営、という形で分かれていました。本件後は、それらを同じ責任分界表、同じ未了事項台帳、同じ経営報告に接続しています」
秋山が続けた。
「委託契約とSOWも見直しました。再委託先の事前通知、作業者名簿、ログ保全義務、緊急時一次回答期限、画面共有時の表示制限、MFA画面の扱い、録画保全、潜在リスク報告基準を追加しています」
営業部長が言った。
「取引先への説明文も、雛形化しました。障害、情報漏えい可能性、不審連絡注意、次回報告予定を分けています」
大石が、少し照れたように言った。
「現場の手作業切替手順も変えました。端末が止まった時、誰が何を記録するか、どの端末を触ってはいけないか、どの便を優先するか。全部、紙だけじゃなくて訓練しました」
望月は、それぞれの報告を聞いていた。
そして、静かに言った。
「三か月前、当社は攻撃されました。けれど、本当に見つかったのは、当社の中にあった説明できない部分でした」
会議室は静かになった。
望月は続けた。
「山崎行政書士事務所に支援いただいたことで、私たちは技術ログを経営判断に、契約書を事故時の行動に、現場記録を取引先説明に変える方法を学びました」
山崎は、軽く頭を下げた。
望月は言った。
「まだ終わっていません。流出した情報の影響も、委託先との整理も、取引先の信頼回復も続いています。しかし、少なくとも当社はもう、分からないことを分からないまま放置する会社ではありません」
三枝は、その言葉を聞きながら、未了事項台帳の画面を見た。
完了していないものは、まだある。
だが、放置されてはいない。
それだけで、三か月前とは違う。
午後二時。
同じ第三会議室で、合同机上演習が始まった。
参加者は、駿河メディカルロジスティクス、日向システムサービス、ネストリンク、外部SOC、北斗DFIR、山崎行政書士事務所。
演習名は、山崎がつけた。
Cloud Incident Tabletop Exercise 01委託先保守アカウント侵害と出荷影響対応
三枝は、最初その名前を見て少し笑った。
「01ってことは、続くんですね」
山崎は真顔で言った。
「続きます。演習は一回で終わるものではありません」
黒崎が横で言った。
「先生らしいな」
演習の想定は、生々しかった。
午前二時、委託先作業者アカウントで特権ロール有効化。端末管理命令の予約。バックアップ設定変更。顧客情報領域へのアクセス。SOC判定はMedium。作業予定時間帯内。
三枝は、三か月前の夜を思い出した。
だが、今度は違う。
まず、SOCが即時通知する。保守予定には、許可操作範囲が登録されている。予定外の端末管理命令は、自動的に強制確認対象。三枝と黒崎のオンコールに通知。委託先作業終了チェックリストが開く。作業者個別アカウントのPIM有効時間を確認。ログ保全テンプレートを起動。判断記録表へ自動的に初期行を作成。
高瀬が、演習画面を見ながら言った。
「当時、これがあれば……」
言いかけて、言葉を止めた。
黒崎が言った。
「言っても仕方ない。でも、次には必要です」
高瀬は頷いた。
三枝は、高瀬の顔を見た。
日向システムサービスとの関係は、まだ完全には戻っていない。責任整理は続いている。弁護士も入っている。契約交渉も厳しい。
それでも、今日の演習には参加している。
関係を切ることは簡単だったかもしれない。だが、委託先を切っただけでは、サプライチェーンの沈黙は消えない。
線を引き直す必要があった。
山崎は、演習の途中で言った。
「ここで止めます。今、誰が作業を停止する権限を持っていますか」
高瀬が答えた。
「日向側作業責任者です」
黒崎が続けた。
「駿河ML側では、オンコール責任者と情報システム課長です」
佐伯が言った。
「再委託先の監視担当は、直接停止権限はありません。ただし、重大リスク検知時は元請と顧客側緊急窓口へ同時通知する権限があります」
山崎が頷いた。
「三か月前と違う点は、そこです。再委託先の警告が、再委託先の中で止まらない設計になっています」
佐伯は、静かに頷いた。
「小田切の件を、二度と繰り返さないためです」
会議室の空気が少し重くなった。
だが、その重さは必要だった。
小田切拓は、今日の演習には参加していない。だが、彼の警告は、手順の中に残っていた。
午後三時三十分。
机上演習が終わる直前、外部SOCの星野が眉をひそめた。
「すみません。これは演習ではありません」
会議室の空気が変わった。
三枝は、反射的に画面を見た。
星野が共有したのは、本番SOC画面だった。
Alert: Legacy account authentication attemptPriority: Low → Forced ReviewUser: old-wms-sync-03Reason: Legacy account / personal data adjacent storage / previous incident pattern
低優先度。
だが、強制確認対象。
三枝の背中に、三か月前の冷気が走った。
黒崎が言った。
「演習中に本番アラートか」
星野が答えた。
「はい。ただし、現在のルールでは強制確認対象として上がっています」
三枝は、すぐに未了事項台帳とアカウント棚卸し表を開いた。
old-wms-sync-03。
旧WMS同期用アカウント。サービスアカウントへ移行予定。状態。
移行済み、旧資格情報無効化確認待ち。期限。
本日18:00。
三枝は、心臓が速くなるのを感じた。
確認待ち。未了だ。
山崎が静かに言った。
「演習を中断します。本番対応へ切り替えましょう。事実と推測を分けます」
三枝は頷いた。
もう、誰も混乱していなかった。
黒崎が指示を出す。
「三枝、サインインログ。星野さん、SOC側でIPと挙動。久我さん、過去パターン照合をお願いします。秋山さん、対外影響の可能性だけ準備。山崎先生、判断記録を開いてください」
三枝は、ログを開いた。
サインイン試行は一回。失敗。理由は、資格情報無効。アクセス元は、国内クラウド事業者のIP。MFA要求前に失敗。対象リソースは、旧WMS同期先ストレージ。
三枝は言った。
「認証は失敗しています。旧資格情報が使われた可能性があります」
久我がすぐに確認した。
「攻撃者が古い資格情報を試したか、残存スクリプトが動いたか。どちらもあり得ます」
山崎が言った。
「現時点の事実は、“旧WMS同期用アカウントに対する認証試行があり、資格情報無効により失敗。強制確認条件により検知。外部アクセス成功は確認されていない”です」
三枝は、判断記録に入力した。
三か月前なら、Lowとして週次レポートの最後に沈んでいたかもしれない。
今は違う。
Lowは、強制確認された。退職者・旧システム・個人情報隣接ストレージという条件で上がった。担当者が見た。判断が記録された。
望月が言った。
「止めるべきものは」
三枝は答えた。
「対象アカウントはすでに無効化済みですが、完全削除と関連資格情報の再棚卸しを前倒しします。対象ストレージのアクセスログも確認します」
久我が言った。
「現時点では、封じ込め済みと見てよさそうです。ただし、同じ資格情報が他に使われていないか確認します」
山崎が確認した。
「経営判断は、“外部アクセス成功は確認されていないが、旧資格情報試行があったため、関連旧資格情報の棚卸しを前倒しし、対象ストレージログを追加確認する”でよいですね」
望月は頷いた。
「はい」
三枝は、保存した。
数分後、対象ストレージに外部アクセス成功がないことが確認された。
星野が言った。
「強制確認ルールが機能しました」
会議室に、静かな安堵が広がった。
三枝は画面を見つめた。
小さなアラートだった。
だが、会社が変わったことを示すには十分だった。
三か月前、AIが捨てた警告。今日、AIが低く見た警告を、人間が拾った。
午後四時二十分。
演習は、実インシデント対応のレビューに変わった。
山崎はホワイトボードに書いた。
本番アラート対応レビュー
検知:成功強制確認条件:機能担当者通知:成功判断記録:作成封じ込め:既存無効化により成功追加確認:実施中未了事項:旧資格情報削除確認が期限前未完了
山崎は、最後の行を指した。
「ここが重要です。検知は機能しました。しかし、未了事項はまだ残っていました」
三枝は頷いた。
「old-wms-sync-03の削除確認が、今日の十八時期限でした。前倒しすべきでした」
黒崎が言った。
「優先度Aの中でも、さらに危険度を細かく分ける必要があります」
久我が頷いた。
「旧資格情報は、無効化確認だけでなく、使用試行があった時点で関連範囲を広げるルールが必要です」
山崎が、未了事項台帳に新しい改善項目を追加した。
U-129 旧資格情報削除確認の前倒し条件未定義
三枝は、それを見て少し笑った。
「また未了が増えましたね」
山崎は頷いた。
「はい。ですが、今回は見つけたその日に台帳へ入りました」
望月が言った。
「それでいいんです。未了をなくす会社ではなく、未了を放置しない会社になります」
三枝は、望月の言葉を記録した。
未了をなくす会社ではなく、未了を放置しない会社へ。
それは、現実的で、強い言葉だった。
午後五時。
未了事項台帳の定時更新が行われた。
今日の新規未了。
U-129 旧資格情報削除確認の前倒し条件未定義
状態。
即日対応中
責任者。
三枝
期限。
明日12:00
証跡。
本番アラート、認証失敗ログ、判断記録、SOC通知履歴。
三枝は、それを入力し、保存した。
もう、未了を入力することに恐怖はなかった。
未了を入力することは、失敗の告白であると同時に、改善の開始だった。
山崎が言った。
「今日のアラートは、良い教材になりました」
黒崎が苦笑した。
「本番で教材が来るのは勘弁してほしいですが」
久我が言った。
「でも、本番で止められた。大きいです」
星野も頷いた。
「SOC側の強制確認ルールも、調整の価値がありました」
望月は、会議室の全員を見た。
「三か月前なら、このアラートは埋もれていたかもしれません。今日は止めました。これは、皆さんの仕事の結果です」
三枝は、少しだけ目を伏せた。
あの夜の後悔が、完全に消えることはない。だが、今日の対応は、その後悔が無駄ではなかったことを示していた。
午後六時半。
倉庫では、通常の出荷量の九割まで回復していた。
東側ラインは完全復旧済み。西側ラインも安定稼働。定温便の遅延率は、事件前の水準に近づいている。手作業記録は、今では訓練時だけ使う予備手順になっていた。
三枝は、大石と一緒に倉庫を歩いた。
「ずいぶん戻りましたね」
三枝が言うと、大石は頷いた。
「戻りました。でも、元通りではないです」
「悪い意味ですか」
「いや、良い意味です」
大石は、端末の横に貼られた小さな表示を指差した。
異常時は再起動前に記録端末番号・時刻・症状・確認者
その隣には、QRコードがある。読み取ると、現場用インシデント報告フォームが開く。
「前は、動かなかったら誰かが適当に再起動してました。今は、まず記録してから判断する。面倒ですけど、理由が分かっているからみんなやります」
三枝は頷いた。
「現場の負担は増えましたか」
「増えました。でも、無駄な負担じゃない。そこが違います」
大石は、出荷ラインを見た。
「三枝さん。あの時、東側を焦って戻していたら、どうなっていたんですか」
三枝は、少し間を置いた。
「偽管理先へ再接続して、また攻撃者の命令を受けた可能性があります」
「つまり、止めたままでよかった」
「はい」
大石は、深く息を吐いた。
「現場は、止める判断が嫌いです。でも、理由があれば受け入れられる。あの時、それを説明してくれたのは助かりました」
三枝は、山崎の言葉を思い出した。
説明は、防御である。
現場でも、それは同じだった。
午後七時五十分。
山崎行政書士事務所との月次レビューが終わった後、三枝は山崎を玄関まで見送った。
外は、少し肌寒かった。
駐車場の向こうに、倉庫の明かりが見える。夜勤者が出入りし、トラックが静かに発進する。
山崎は、車の前で立ち止まった。
「三枝さん。今日のアラート対応は、良かったです」
三枝は、少し驚いた。
「ありがとうございます。でも、未了が残っていました」
「残っていました。しかし、見つけ、判断し、記録し、閉じる動きに入りました。それが重要です」
三枝は頷いた。
「三か月前なら、見落としていました」
「今は見ました」
山崎は、静かに言った。
「人間は、完全にはなれません。会社も同じです。だから、完全であることを前提にせず、見つけて閉じる仕組みを作る必要があります」
三枝は、倉庫の明かりを見た。
「山崎先生」
「はい」
「説明できる会社って、完成するんですか」
山崎は、少しだけ考えた。
「完成はしないと思います」
三枝は、山崎を見た。
「完成しない?」
「はい。クラウドも、業務も、委託先も、攻撃者も変わります。ですから、説明できる会社とは、完成した会社ではなく、説明を更新し続けられる会社です」
三枝は、その言葉をゆっくり受け止めた。
説明を更新し続けられる会社。
山崎は続けた。
「今日のアラートも、三か月前の再発ではありませんでした。新しい形の未了でした。だから、台帳を更新する。責任分界を更新する。契約を更新する。ログ設計を更新する。説明も更新する」
三枝は頷いた。
「ログは眠らない」
山崎は、少しだけ笑った。
「はい。だから、統制も眠らせてはいけません」
午後八時二十七分。
山崎の車が駐車場を出ていくと、三枝はしばらくその場に立っていた。
スマートフォンが震えた。
SOC通知。
三枝は、一瞬だけ体が固まった。
画面を見る。
Informational: Scheduled backup restore test completedStatus: SuccessScope: WMS label subsystemRTO measured: 2h 14mEvidence saved: Yes
情報通知。
予定されたバックアップ復元テスト完了。成功。対象は、WMSラベルサブシステム。RTO実測、二時間十四分。証跡保存済み。
三枝は、思わず笑った。
バックアップはある。そして、戻せることを確認した。
あの夜、最も重かった言葉が、ようやく少し軽くなった気がした。
彼は、望月、黒崎、大石、秋山、山崎、久我が入っているチャンネルへメッセージを送った。
WMSラベルサブシステムの復元テスト、成功しました。RTO実測 2時間14分。証跡保存済みです。
すぐに、大石から返信が来た。
今度は本当に戻せるんですね。
黒崎。
次は全体復元テスト。未了に入れるなよ。
秋山。
報告資料に反映します。
望月。
取締役会で報告しましょう。ありがとう。
最後に、山崎。
良いログです。保存期間と閲覧権限も確認してください。
三枝は笑った。
やはり山崎だった。
彼は返信した。
確認します。未了にしません。
送信。
午後九時。
三枝は、自席に戻り、未了事項台帳を開いた。
U-004 復元テスト未実施
状態を更新する。
初回部分復元テスト完了。WMSラベルサブシステム成功。RTO実測2時間14分。証跡保存済み。全体復元テストは次回予定。
状態。
進行中
完了ではない。
だが、前に進んでいる。
三枝は、次回期限を入力した。
全体復元テスト:翌月第一金曜日
保存。
その時、画面の右下に小さな通知が出た。
保存しました。
三枝は、その文字を見た。
あの夜も、彼は何度も保存した。だが、今の保存は違う。
これは、未来の自分たちが困らないための保存だ。
ログは、ただ過去を残すものではない。
未来の判断を助けるものだ。
午後十時十分。
三枝は、最後にSOCダッシュボードを開いた。
Criticalなし。Highなし。Medium二件、対応中。Low多数。そのうち強制確認対象は三件。すべて担当者割当済み。
三枝は、Lowの一覧を見た。
以前なら、見なかった場所だ。
今は、フィルターがある。強制確認条件がある。担当者がいる。判断記録がある。
Lowは、もう沈黙ではない。
その中に、今日のold-wms-sync-03のアラートが残っていた。
状態。
Closed with action
対応してクローズ。
三枝は、その言葉を見て、静かに息を吐いた。
閉じた。
すべてではない。だが、一つ閉じた。
そして、閉じた記録が残っている。
午後十一時三十分。
倉庫の夜勤が始まる頃、三枝は会社を出た。
駐車場から振り返ると、本社の窓に明かりが残っている。
三か月前、あの明かりは混乱の光だった。今は、運用の光に見えた。
完全ではない。だが、続いている。
三枝は、スマートフォンにメモを残した。
説明できる会社は、完成しない。更新され続ける。未了を見つけ、閉じ、また見つける。ログは眠らない。だから、人間も仕組みを眠らせない。
保存。
夜風が、少し冷たかった。
遠くで、トラックが一台、倉庫を出ていく。荷台には、病院向けの定温便が積まれている。
そのラベルには、配送先、時刻、確認者が印字されている。
小さな紙片。
だが、それもまた証跡だった。
会社が動いている証跡。人が確認した証跡。次に説明できる証跡。
三枝は、駐車場を歩き出した。
背後で、倉庫の自動ドアが閉まる音がした。
その音は、かつて閉じ忘れた扉の音ではなかった。
今度は、閉じたことを確認した扉の音だった。





コメント