top of page

第10章 未了ログ


午後四時四十一分。

三枝涼真は、画面に表示されたエラーを見つめていた。

Access denied.

端末管理詳細ログ。

DeviceActionRaw

保持期間。

七日。

所有者。

小田切拓。

最終更新。

半年前。

説明欄。

詳細調査用。通常運用では未使用。コスト削減のため保持7日。

その文字列は、まるで会社の体内に残された古い刺青のようだった。

誰かが作った。誰かが使うつもりだった。誰かが残した。だが、誰も正式な運用には組み込まなかった。

そして今、そのログだけが、消された端末管理命令の本当の姿を知っているかもしれない。

三枝は、もう一度アクセスを試みた。

結果は同じだった。

Access denied.

久我真琴が、三枝の肩越しに画面を見た。

「権限が足りませんね」

「はい。管理者権限でも駄目です。テーブル単位の所有者権限が別に設定されています」

黒崎課長が言った。

「小田切さんしか見られないのか」

三枝は確認画面を開いた。

「所有者は小田切拓。共同管理者はありません。閲覧権限も限定されています。日向システムサービスの旧作業者グループに紐づいていますが、そのグループは今は無効化されています」

「つまり、誰も見られない?」

「少なくとも、今この場では」

山崎行政書士事務所の山崎が、静かに言った。

「“誰も見られない”ではなく、“誰が見られるか未確認”です」

三枝は顔を上げた。

山崎は、いつものようにホワイトボードの前に立っていた。手元には、さきほど作ったばかりの「DeviceActionRaw 証跡保全確認表」がある。

「未確認事項を分けましょう」

山崎は、黒いペンで項目を書き出した。

一 技術的にログが存在するか二 誰が閲覧権限を持つか三 誰が権限を付与できるか四 契約上、提出を求められるか五 保全期限はいつか六 保全前に操作してはいけないことは何か

久我が頷いた。

「大事です。権限を雑に付け替えると、ログの所有者情報やアクセス履歴が変わります。証跡として扱うなら、誰が、いつ、何の理由でアクセス権を変更したかを残す必要があります」

山崎は言った。

「つまり、ログを見る前に、ログを見る手続きを記録する必要があります」

黒崎が苦い顔で笑った。

「ログを見るためのログですね」

「はい」

山崎は即答した。

「事故対応では、それが必要です」

三枝は、時系列表に入力した。

16:44 DeviceActionRawへのアクセスを試行するも権限エラー。所有者は小田切拓氏。閲覧・保全に必要な権限、契約上の提出根拠、保全期限を確認するため、技術・契約・委託先対応を並行開始。

その一行を書いた瞬間、三枝は思った。

これが、本当に「未了ログ」なのだ。

残っているのに、使えない。存在するのに、証跡になっていない。必要になって初めて、誰のものか分からない。

午後四時五十八分。

日向システムサービスの高瀬は、画面の向こうで眉をひそめていた。

「DeviceActionRaw……その名前は、見覚えがあります」

山崎が聞いた。

「小田切氏が作成したものですか」

「おそらく。WMS移行時に、端末管理命令の詳細を一時的に追うために作ったログテーブルだと思います」

久我が言った。

「通常の端末管理ログより細かい命令内容が残る可能性があります。Phase1の設定差分を追うには重要です」

高瀬は、隣の馬場を見た。

馬場は慎重に言った。

「ただ、そのログは日向システムサービスの管理下にあるものではなく、駿河メディカルロジスティクス様のクラウド環境内にあるのでは」

黒崎が言った。

「所有者が御社の元担当者なんです」

馬場は表情を変えなかった。

「元担当者であって、現在は弊社の従業員ではありません」

会議室の温度が下がった。

黒崎が何か言いかけた。

山崎が先に口を開いた。

「馬場さん。責任の議論は後にします。今必要なのは、保全です」

馬場は黙った。

山崎は続けた。

「このログは、駿河メディカルロジスティクス様のクラウド環境内に存在します。所有者表示は小田切氏ですが、同氏は当時、日向システムサービス様の作業者としてこの環境に関与していました。現在はネストリンク様に在籍しています。つまり、三社すべてに関係します」

佐伯が、別ウィンドウから言った。

「ネストリンクとしても、小田切の現在アカウントや端末は保全中です。ただ、そのテーブルの所有権までは把握していません」

久我が言った。

「所有権の議論をしている間に、ログが消える可能性があります」

山崎は頷いた。

「ですので、三社合同で、保全目的の限定的アクセス権変更に合意してください。権限変更者、変更理由、変更対象、変更前後の状態、閲覧者、取得範囲を記録します」

馬場が慎重に聞いた。

「その合意メモは、責任認定に使われますか」

山崎は即答した。

「目的は証跡保全です。合意メモにも、“責任認定を目的とせず、インシデント調査に必要なログ消失防止のため”と明記します」

望月社長が言った。

「当社としては、保全を最優先します。日向様、ネストリンク様にも協力を求めます」

高瀬は頷いた。

「協力します」

佐伯も頷いた。

「当社も協力します」

馬場は、数秒沈黙した後、言った。

「合意メモの文面を確認させてください」

山崎はすでに書き始めていた。

三枝は、その様子を見ながら思った。

一つのログを見るだけなのに、技術だけでは進まない。

所有者。契約。委託関係。再委託。証跡保全。責任認定との切り分け。アクセス権変更の記録。

ログは、技術情報である前に、会社間の関係の中に置かれている。

山崎行政書士事務所の仕事は、まさにその関係の中からログを救い出すことだった。

午後五時二十五分。

三社合同の証跡保全合意メモが作成された。

表題は、長かった。

DeviceActionRawテーブルに関する緊急証跡保全および限定的アクセス確認メモ

本文には、山崎らしい慎重な言葉が並んでいた。

本メモは、端末管理命令に関する詳細ログが保持期間満了等により消失する可能性があることを踏まえ、インシデント調査および証跡保全を目的として、関係者間で現時点の確認事項および作業範囲を整理するものである。

本メモは、各社の責任認定、損害賠償、紛争判断を目的とするものではない。

アクセス権変更、ログ取得、閲覧、出力、保管にあたっては、作業者、時刻、対象範囲、理由、承認者を記録する。

三枝は、その文章を読んで、少し不思議な気持ちになった。

文章なのに、まるで防火扉のようだった。

誰かが後で「勝手に見た」と言わないように。誰かが後で「出すべきではなかった」と言わないように。誰かが後で「責任を認めた」と誤解しないように。

その扉を閉めてから、ようやくログに近づける。

山崎が言った。

「三枝さん。アクセス前の現在状態を保存してください」

「はい」

三枝は画面を保存した。

DeviceActionRaw_アクセス前状態_20280509_1726.png

ファイル名には、山崎の指示で時刻を入れた。保存先は、証跡保全用の隔離領域。アクセス権は、対応チームのみ。

久我が言った。

「権限変更は、黒崎さんと三枝さんの二名確認で。作業画面は録画します」

黒崎が頷いた。

「了解」

山崎が確認した。

「望月社長、権限変更の承認をお願いします」

望月は、はっきり言った。

「承認します。目的は、DeviceActionRawの消失防止と端末管理命令の詳細確認。範囲は必要最小限。作業者は黒崎さん、三枝さん。久我さんが技術立会い。山崎先生が記録確認」

三枝は、そのまま判断記録に入力した。

17:29 DeviceActionRawの限定的アクセス権確認・変更を承認。目的:端末管理命令詳細ログの消失防止およびPhase1/Phase2調査。範囲:必要最小限。判断者:望月社長。作業者:黒崎、三枝。技術立会い:久我。記録確認:山崎行政書士事務所。

山崎が頷いた。

「進めましょう」

午後五時四十七分。

権限変更は、想像以上に難航した。

所有者が小田切拓であるだけでなく、テーブルが古い診断用ワークスペースに紐づいていた。そのワークスペース自体は、半年前に通常監視から外されている。管理者権限の継承も切れている。さらに、コスト削減のためにログ保持と閲覧権限が最小化されていた。

三枝は、設定を見ながら眉をひそめた。

「これ、完全に孤立しています」

久我が言った。

「悪意で孤立させたというより、作業用に作って、そのまま放置された感じですね」

「放置されたログ」

「はい。未了ログです」

三枝は、久我の言葉に小さく頷いた。

DeviceActionRawは、攻撃者が作ったものではない。会社と委託先が、必要に迫られて作り、その後正式な運用に入れなかったものだ。

その未了が、今になって唯一の手がかりになっている。

黒崎が、管理画面を見ながら言った。

「権限の継承を一時的に戻すか」

久我が首を横に振った。

「広すぎます。ログの取得だけに限定した方がいいです」

山崎が確認した。

「広すぎる権限付与は、後で説明できませんか」

「説明できなくはないですが、リスクが増えます。必要最小限の読み取り権限で足りるはずです」

三枝は、限定的な読み取り権限を設定した。

作業画面の録画。権限変更前の状態。変更内容。承認者。理由。時刻。

すべて残す。

数秒後、画面に結果が出た。

Permission updated.

三枝は、もう一度テーブルへアクセスした。

今度は、エラーが出なかった。

代わりに、行数が表示された。

Rows: 148,732

会議室に、わずかな緊張が走った。

久我が言った。

「まず、全量をエクスポートしないでください」

三枝は手を止めた。

「え?」

「個人情報ではないと思いますが、内部の詳細操作ログです。必要な期間と対象だけを絞ります。全量を増やすと、保全対象が増えます」

山崎が頷いた。

「必要最小限です。対象期間、対象命令ID、対象端末グループで絞りましょう」

三枝は、クエリ条件を設定した。

期間。

五月六日 午前二時から午前三時。対象。

Warehouse-Terminal-East。命令名。

Emergency_Config_Refresh。関連ID。

まだ不完全。

検索を実行。

結果。

二百十七行。

久我が言った。

「それを保全。次に、Phase2も」

対象。

Warehouse-Terminal-West。命令名。

Warehouse_Reset_Phase2。期間。

五月九日午前十時から十一時。

結果。

六十三行。

三枝は、慎重にエクスポートした。

CSV。ハッシュ値。取得時刻。取得者。条件。保存先。

山崎が、すべて横で記録していた。

ログを取る作業が、こんなに重いものだとは、三枝は思っていなかった。

ログは、ただクリックして出すものではない。何を出すか、なぜ出すか、誰が見るか、どう保管するか。それらを間違えれば、ログそのものが新しいリスクになる。

午後六時十八分。

DeviceActionRawの中身を見た久我の表情が変わった。

「Phase1の中身、出ました」

会議室の全員が画面を見た。

久我は、余計な部分を隠し、必要な行だけを拡大した。

そこには、端末に配布された設定変更の詳細が記録されていた。

管理エージェント設定変更プリンタ構成置換証明書ストア更新外部管理先URL追加再接続時の追加構成取得設定ログ送信先変更一部監査イベント抑制

三枝は、息を呑んだ。

「全部、入ってる……」

久我は頷いた。

「東側ラインは、単に壊されたわけではありません。攻撃者側の管理先へ再接続するように設定されていました」

黒崎が言った。

「つまり、復旧したら再接続する」

「はい。隔離検証で確認した未知の通信先と一致します」

大石が画面越しに低く言った。

「焦って戻してたら、また止まってたな」

誰も否定しなかった。

山崎が、静かに聞いた。

「Phase2はどうですか」

久我は、別の結果を開いた。

「Phase2は、西側端末に同様の設定を配布する予約命令です。ただし、Phase1より少し広範囲です。プリンタだけでなく、出荷確認端末と緊急出荷用キオスクも対象になっています」

大石が、顔を強張らせた。

「午前十一時に、それが走っていたら」

久我は答えた。

「西側ラインと緊急出荷用端末が止まった可能性があります」

会議室に、重い沈黙が落ちた。

Phase2を止めた判断は、正しかった。

それが、ログで裏付けられた。

山崎は、三枝に言った。

「判断記録に追記してください。Phase2キャンセル判断の妥当性を裏付けるDeviceActionRawを取得、と」

三枝は入力した。

18:22 DeviceActionRawにより、Phase1は管理エージェント設定、プリンタ構成、証明書、外部管理先URL、再接続時追加構成取得、ログ送信先変更、一部監査イベント抑制を含む命令であったことを確認。Phase2は西側端末および緊急出荷用端末へ類似設定を配布する予約命令であり、10:47のキャンセル判断の妥当性を裏付け。

入力し終えると、三枝は画面を見つめた。

未了ログは、会社を責めるだけのものではなかった。

会社を救うものでもあった。

午後六時四十七分。

久我は、Phase1の命令詳細をさらに確認した。

「これ、攻撃者がかなり業務を理解しています」

三枝が聞いた。

「どういうことですか」

「対象端末の選び方です。倉庫東側を先に止め、西側を残している。現場に完全停止ではなく、限定的な混乱を作った。その後、西側Phase2を予約。つまり、一度目で会社の対応を見るつもりだった可能性があります」

山崎が言った。

「会社がどう復旧するかを観察する」

「はい。東側を焦って復旧すれば偽管理先へ再接続。西側を頼りに業務継続すれば、Phase2で止める。どちらも選択肢を削る設計です」

黒崎が低く言った。

「嫌な攻撃だ」

久我は頷いた。

「技術より、業務の理解が怖いです」

山崎は、ホワイトボードに書いた。

攻撃者は、システムではなく業務継続判断を攻撃している。

望月がその文字を見た。

「だから、判断記録が必要だった」

山崎は頷いた。

「はい。攻撃者が判断を揺さぶるなら、こちらは判断を構造化する必要があります」

三枝は、その言葉に深く頷いた。

Phase1。Phase2。偽管理先。ログ送信先変更。監査イベント抑制。

これらは技術的な命令だ。

だが、その目的は、会社の判断を壊すことだった。

どこを戻すか。何を止めるか。誰に説明するか。委託先を信じるか。現場を動かすか。ログを残すか。

攻撃者は、その判断の隙間を狙っていた。

午後七時五分。

山崎は、DeviceActionRawの位置づけを整理した。

「このログは、三つの意味を持ちます」

ホワイトボードに書く。

一 端末管理命令の実内容を示す技術証跡二 Phase2キャンセル判断の妥当性を支える経営判断証跡三 ログ保存・権限・所有者管理の未了を示す統制上の証跡

三枝は、その三つを見た。

一つのログが、三つの顔を持っている。

久我にとっては、技術証跡。望月にとっては、経営判断の根拠。山崎にとっては、統制設計の問題。

三枝にとっては、自分たちが残さなかったものの重みだった。

山崎は続けた。

「このログがあったから救われた部分があります。しかし、このログは正式運用に組み込まれていなかった。保持期間は七日。所有者は元担当者。アクセス権は不明。通常の証跡保全計画に含まれていない。ここが再発防止の論点です」

黒崎が言った。

「つまり、残っていてよかった、では終われない」

「はい。偶然残っていたログで会社を守るのではなく、必要なログを意図して残す設計に変える必要があります」

望月が頷いた。

「取締役会に、そのまま言います」

山崎は、資料に一文を追加した。

今回、DeviceActionRawにより重要な事実を確認できたが、同ログは正式な証跡保全設計に含まれておらず、保持期間・所有者・アクセス権限が事故対応上の障害となった。今後は、重要な端末管理操作、特権権限、バックアップ、ログ転送設定、条件付きアクセス等について、証跡として利用可能なログの保存期間・所有者・閲覧権限・提出手順を事前に定義する。

三枝は、その文を読んだ。

それは、山崎行政書士事務所のPRであると同時に、この事件で会社が最も痛く学んだ教訓だった。

ログは、残っているだけでは足りない。使える証跡として設計されていなければならない。

午後七時三十六分。

小田切拓本人への聴取が始まった。

場所はネストリンク本社の会議室。参加者は、ネストリンクの佐伯、同社法務担当、日向システムサービスの高瀬、駿河メディカルロジスティクス側は望月、黒崎、山崎、久我がオンライン参加。三枝は記録担当として同席した。

山崎は冒頭で言った。

「本聴取は、現時点で判明している事実の確認を目的とするものです。小田切氏の責任や不正関与を断定するものではありません。発言は発言として記録し、ログ、資料、チケット等で裏付け確認を行います」

画面に、小田切拓が映った。

三枝が記憶していたより、痩せて見えた。目の下には隈があり、髪は少し乱れている。だが、その目は疲れているだけで、怯えているようには見えなかった。

小田切は、最初に頭を下げた。

「駿河メディカルロジスティクスの皆様、このような形になり申し訳ありません」

望月は静かに言った。

「現時点では、謝罪よりも事実を確認したいと思います」

小田切は頷いた。

山崎が質問を始めた。

「小田切さん。DeviceActionRawは、あなたが作成したものですか」

「はい。WMS移行時に、端末管理命令の詳細が通常ログでは追いにくかったため、調査用に作成しました」

「正式運用に入っていましたか」

「いいえ。入っていません。コストがかかるので、保持期間は七日にしていました。本当は、本番安定後に正式なログ設計へ移すべきでした」

山崎が聞いた。

「なぜ移されなかったのですか」

小田切は、少し目を伏せた。

「移行後の不具合対応が続いて、後回しになりました。私も退職が決まり、引継ぎメモに入れました。ですが、正式な改善提案まではできませんでした」

黒崎が低く言った。

「前島アカウントの件も、引継ぎに書いていましたね」

小田切は頷いた。

「はい。危ないと思っていました。退職者アカウントが旧連携で残っていた。しかも、共有フォルダに広くアクセスできる状態でした」

「なぜ、直接うちに言わなかったんですか」

小田切は、しばらく黙った。

「一度、保守会議で触れたと思います。ただ、議題の最後で、詳細までは詰められませんでした。日向社内では、追加作業として整理すると言われました。私も、その後すぐ退職準備に入りました」

「それで終わった?」

黒崎の声には、怒りよりも疲労があった。

小田切は、苦しそうに頷いた。

「はい。終わらせてしまいました」

山崎が確認した。

「発言として記録します。“一度保守会議で触れた記憶があるが、詳細議論には至らず、日向社内では追加作業として整理される認識だった。退職により自身では完了まで追えなかった”」

小田切は頷いた。

「はい」

三枝は入力した。

発言は発言として。

まだ、事実ではない。だが、これで確認すべき会議議事録が見えた。

午後八時十二分。

久我が質問した。

「小田切さん。当日午前一時台、ネストリンクの監視担当者から前島アカウントの件で質問を受けていますね」

「はい」

「なぜ、その時間に手順書を見たのですか」

「監視担当から、“小田切版に前島の記載があるが、今回の作業で関係あるか”と聞かれました。私は、まだ残っているなら止めて確認した方がいいと返しました」

「日向側や駿河ML側へ直接連絡しようとは」

小田切は、唇を噛んだ。

「私は、もう日向の担当ではありません。ネストリンクでも、今回の夜間監視担当ではありません。顧客へ直接連絡する権限はないと思いました」

山崎が言った。

「つまり、危険は認識したが、直接の連絡権限はないと判断した」

「はい」

「その判断を、どこかに記録しましたか」

「チャットだけです」

山崎は、静かに頷いた。

「分かりました」

三枝は、そのやり取りを聞きながら、胸が重くなった。

小田切は、また警告していた。だが、自分の線を越えなかった。

再委託先の現社員だが、当日担当ではない。元請の元社員だが、今は違う会社。駿河MLの環境を知っているが、直接連絡する権限はない。

線が多すぎて、警告は動けなかった。

山崎が、次の質問をした。

「小田切さん。DeviceActionRawの所有者があなたのまま残っていたことを認識していましたか」

「いいえ。退職時に権限は削除されると思っていました。ネストリンクに移ってから、そのログへアクセスしたことはありません」

久我が確認した。

「当日、DeviceActionRawにはアクセスしていませんね」

佐伯が、手元のログを見て答えた。

「現時点の初期確認では、小田切氏による当日アクセスは確認されていません」

山崎が言った。

「発言および初期ログ確認として記録します。最終判断は詳細解析後です」

三枝は入力した。

20:18 小田切氏聴取。DeviceActionRawはWMS移行時の詳細調査用に自身が作成。正式運用には入らず、保持7日設定。退職時に引継ぎメモへ記載したが、正式なログ設計への移行は未了。本人は現在も所有者として残っている認識なし。当日アクセスは初期確認上未確認。

小田切は、画面の向こうで疲れた顔をしていた。

犯人には見えなかった。だが、無関係とも言い切れない。

彼は、事件の中心にいたのではなく、事件の境界にいた。あちこちの線が交わる場所に。

午後八時五十六分。

聴取が終わる前に、小田切は自分から言った。

「ひとつ、気になることがあります」

会議室の空気が変わった。

久我が聞いた。

「何ですか」

「DeviceActionRawには、命令内容だけでなく、命令作成時に使われたテンプレートIDが残るはずです」

三枝は画面を見た。

「テンプレートID?」

「はい。端末管理命令は、一から作ることもできますが、過去の命令テンプレートを複製して作ることもできます。もし攻撃者が既存テンプレートを使ったなら、そのIDが残っている可能性があります」

久我がすぐに三枝へ言った。

「検索しましょう」

三枝は、DeviceActionRawからテンプレート関連の列を探した。

あった。

SourceTemplateId

Phase1の行に値が入っている。

三枝は、それを読み上げた。

「TMP-WMS-RECOVERY-OLD-17」

小田切の顔が変わった。

「それ、私が作った古い復旧テンプレートです」

黒崎が言った。

「攻撃者が、小田切さんのテンプレートを使った?」

久我が慎重に言った。

「可能性があります。既存テンプレートを複製または改変してPhase1を作った可能性」

山崎が確認した。

「そのテンプレートは、どこにあり、誰がアクセスできましたか」

小田切は答えた。

「旧手順・スクリプト保管領域です。移行期の復旧用テンプレートで、本来は廃止すべきでした。前島アカウントの件と同じ領域です」

三枝は、頭の中で線がつながるのを感じた。

旧手順・スクリプト保管領域。小田切版手順書。前島アカウント。復旧テンプレート。DeviceActionRaw。Phase1。Phase2。

攻撃者は、小田切が作った警告だけでなく、小田切が残した復旧テンプレートも使った。

警告者の痕跡を、攻撃に利用した。

だから、小田切が犯人に見える。

久我が、低く言った。

「これは、フレーミングにも見えます」

「フレーミング?」

望月が聞いた。

久我は答えた。

「小田切さんの古い手順書、テンプレート、所有者情報を使えば、攻撃の痕跡が小田切さんに寄ります。意図的かどうかは未確認ですが、少なくとも結果としてそうなっています」

山崎が言った。

「記録しましょう。“攻撃者は、小田切氏が過去に作成した旧復旧テンプレートを利用または参照した可能性がある。これにより、小田切氏の関与を示すように見える痕跡が生じている可能性。ただし、本人の不正関与は未確認”」

三枝は入力した。

20:59 DeviceActionRawのSourceTemplateIdにTMP-WMS-RECOVERY-OLD-17を確認。小田切氏発言によれば、同氏が移行期に作成した旧復旧テンプレート。旧手順・スクリプト保管領域に存在し、本来廃止対象。攻撃者が旧テンプレートを利用または参照した可能性。小田切氏関与を示すように見える痕跡が生じた可能性。不正関与は未確認。

入力後、三枝は、小田切の顔を見た。

小田切は、悔しそうだった。

自分が残したものが、攻撃に使われた。自分が書いた警告が、攻撃者に利用された。自分の名前が、疑惑の中心になった。

それは、どんな気分なのだろう。

三枝は、半年前のファイルを見落とした自分を思い出した。

警告を残す人。警告を見落とす人。警告を利用する人。

この事件は、その三者が絡み合っている。

午後九時三十二分。

Blue Heronから、またメールが届いた。

件名は、Good boy, Taku

三枝は、怒りを感じた。

これまでのメールで初めて、明確な怒りだった。

小田切の名を、攻撃者が弄んでいる。

本文は、悪意に満ちていた。

He wrote the warning.He wrote the weapon.Which one will you believe?

彼は警告を書いた。彼は武器を書いた。あなたたちは、どちらを信じる?

その下に、TMP-WMS-RECOVERY-OLD-17の一部と、前島アカウント警告行のスクリーンショットが並べられていた。

久我が、低く言った。

「やっぱり、小田切さんへ疑いを向けさせたい」

山崎は、表情を変えずに言った。

「保全してください」

三枝は手順通りに保存した。

だが、手の中に熱があった。

小田切が画面の向こうで、目を閉じた。

「……私のテンプレートです。確かに私が作りました。でも、攻撃に使えるようなものではありませんでした。復旧用です」

久我が言った。

「分かっています。復旧用テンプレートが改変されれば、攻撃に使われることがあります。テンプレート自体が悪とは限りません」

山崎が続けた。

「小田切さん。今の発言も記録します。復旧用テンプレートとして作成したものであり、攻撃用途で作成したものではない、という発言です。技術的な裏付けは久我さんが確認します」

小田切は頷いた。

「お願いします」

望月が、画面の向こうの小田切に言った。

「小田切さん。あなたを信じる、信じないという話ではありません」

小田切は顔を上げた。

望月は続けた。

「当社は、事実を確認します。あなたの警告も、あなたのテンプレートも、どちらも事実として扱います。その上で、何が起きたかを見ます」

小田切の表情が、わずかに変わった。

「ありがとうございます」

山崎は、三枝に言った。

「記録してください。攻撃者は、小田切氏の警告と旧テンプレートを並べ、同氏への疑義を誘導する内容のメールを送信。対応方針は、人物評価ではなく、ログ・資料・操作履歴による事実確認を継続」

三枝は入力した。

21:34 不明差出人より件名“Good boy, Taku”のメール受信。小田切氏の警告記録と旧復旧テンプレートを並べ、同氏への疑義を誘導する内容。対応方針:人物評価ではなく、ログ・資料・操作履歴による事実確認を継続。

その一行を書いた時、三枝は少しだけ冷静さを取り戻した。

攻撃者は、誰を信じるかを迫ってくる。

だが、事故対応は信仰ではない。

事実を見ることだ。

午後十時十二分。

DeviceActionRawの追加解析で、さらに重要な事実が見つかった。

Phase1命令は、旧復旧テンプレートをそのまま使ったものではなかった。

元テンプレートには、プリンタ構成の再配布、管理エージェントの再登録、証明書更新が含まれていた。本来は、障害時に端末を正常な管理状態へ戻すためのものだった。

だが、Phase1では、いくつかの値が改変されている。

正規管理先URLが、偽管理先URLへ。証明書ストアが、未知の証明書を受け入れる設定へ。ログ送信先が、一時ワークスペースへ。一部監査イベント抑制が追加。

久我は言った。

「元テンプレートは復旧用です。攻撃者がそれを改変した」

黒崎が聞いた。

「誰が改変したか分かりますか」

久我は首を横に振った。

「現時点では、svc-msp-maintenanceで実行されたことは分かっています。テンプレート改変の作成者ログは、まだ追跡中です」

小田切は画面の向こうで言った。

「私の元テンプレートには、偽管理先URLも監査抑制もありません」

三枝は、元テンプレートとPhase1の差分を見た。

小田切の言葉は、少なくともログ上は一致しているように見えた。

山崎が言った。

「この差分は非常に重要です。小田切氏が作成した復旧用テンプレートと、攻撃で実行されたPhase1命令の差分を明確にしてください。対外説明では詳細を伏せるとしても、内部調査では人物評価を分ける根拠になります」

三枝は入力した。

22:16 TMP-WMS-RECOVERY-OLD-17元テンプレートとPhase1命令を比較。元テンプレートは復旧目的のプリンタ構成再配布、管理エージェント再登録、証明書更新を含む。Phase1では偽管理先URL、未知証明書受入、ログ送信先変更、一部監査イベント抑制が追加・改変されている。小田切氏発言と初期差分は整合。改変者は未確認。

小田切は、画面の向こうで深く息を吐いた。

それは、自分の疑いが少し晴れた安堵ではなく、自分の仕事が攻撃に使われた重さのため息に見えた。

午後十時五十分。

山崎は、「未了ログ」に関する中間報告をまとめ始めた。

タイトルは、そのままだった。

未了ログ 中間整理

三枝は、そのタイトルを見て胸が震えた。

これまで時系列表の中で何度も使ってきた言葉。小説のタイトルのような言葉。だが今、それは正式な資料名になっている。

山崎は、構成を読み上げた。

一 DeviceActionRawの存在と保持期間二 アクセス不能であった理由三 証跡保全のための三社合意四 Phase1およびPhase2命令内容の確認五 旧復旧テンプレートの改変可能性六 小田切氏に関する警告記録と疑義誘導七 未了ログから見える再発防止課題

望月が言った。

「“未了ログ”という表現を使うのですか」

山崎は、少しだけ考えた。

「内部資料では使ってよいと思います。これは、単なる欠落ログではありません。正式運用に組み込まれず、保持期間・所有者・権限・提出手順が未了だったログです。その性質を示す言葉として、分かりやすい」

黒崎が言った。

「痛い言葉です」

「痛い言葉の方が、忘れにくいです」

山崎は、静かに答えた。

三枝は、山崎の言葉を聞いて思った。

未了ログは、会社の恥だ。

だが、恥を名前にできれば、管理できる。名前のない恥は、また闇に戻る。

午後十一時二十七分。

クラウド事業者から、一時ワークスペースに関する追加回答が届いた。

削除済みワークスペースの一部メタデータが取得可能。ただし、ログ本体はまだ確認中。一時ワークスペースに転送されたイベント数の概算は、約三千件。そのうち、端末管理命令関連と思われるイベントが複数存在。

久我が言った。

「DeviceActionRawと突合すれば、欠落部分をかなり補えるかもしれません」

三枝は、少しだけ希望を感じた。

欠けたログが、別のログで埋まる。

完全ではない。だが、説明できる範囲が増える。

山崎が言った。

「一時ワークスペースの回答も、未了ログ整理に入れます。攻撃者はログを迂回させた可能性がありますが、メタデータとDeviceActionRawにより命令内容の一部を復元できた、と」

秋山が聞いた。

「取引先向けには、どこまで言えますか」

山崎は答えた。

「“端末管理に関する詳細ログを保全・分析し、不審な端末設定変更の内容を特定しつつある。再発防止のため、端末管理権限およびログ保全設計を見直す”程度がよいでしょう。偽管理先や監査抑制などの詳細は、現時点では内部限定です」

望月は頷いた。

「分かりました」

山崎は続けた。

「説明は、分かっていることを全部出すことではありません。相手が備えるために必要な情報、会社が説明責任を果たすために必要な情報、攻撃者に追加の利点を与えないために伏せる情報を分けます」

三枝は、その言葉をメモした。

説明にも、責任分界がある。

午前零時五分。

五月十日になった。

Blue Heronが示した七十二時間の期限は、いよいよ近づいていた。

三枝は、DeviceActionRawの解析結果を見ながら、時系列表を更新していた。

その時、またメール通知が鳴った。

件名は、Do not trust the log

ログを信じるな。

三枝は、反射的に手順を始めた。

画面録画。ヘッダー保全。プレビュー。本文保存。

本文は、短いが不気味だった。

Logs are written by the winners.We wrote yours.

ログは勝者が書く。あなたたちのログは、我々が書いた。

その下に、DeviceActionRawの一部に似せた偽の表が貼られていた。

そこには、Phase1の作成者として、小田切拓の名前が表示されている。

三枝は、すぐに久我を見た。

久我は冷静に言った。

「偽造の可能性が高いです。本物のDeviceActionRawと照合しましょう」

小田切の顔が、画面の向こうで強張った。

山崎が言った。

「このメールは、ログそのものへの信頼を揺さぶるものです。対応方針を変えません。出所不明の提示情報は、本物の保全済みログと照合します」

三枝は、保全済みDeviceActionRawを開いた。

Phase1の作成者欄。本物には、小田切拓の名前はない。実行アカウントは、svc-msp-maintenance。テンプレートIDは小田切作成の旧テンプレート。改変者は未確認。小田切本人の当日アクセスは、現時点で確認されていない。

攻撃者が送ってきた表では、作成者欄が小田切拓に書き換えられている。

久我が言った。

「雑ですね。テンプレート作成者と命令作成者を混ぜている」

山崎が頷いた。

「ただし、受け取る側には効きます。“ログに小田切の名前がある”と言えば、疑いは広がる」

望月が言った。

「だから、こちらのログの保全手順が重要になる」

「はい」

山崎は答えた。

「どのログを、誰が、いつ、どの条件で取得し、どう保全したか。そこがなければ、攻撃者の偽ログと本物のログを区別できません」

三枝は入力した。

00:05 不明差出人より件名“Do not trust the log”のメール受信。DeviceActionRawに似せた表を提示し、Phase1作成者を小田切拓氏とする内容。保全済みDeviceActionRawと照合した結果、現時点の取得ログとは不一致。攻撃者によるログ信頼性揺さぶりおよび小田切氏疑義誘導の可能性。

入力後、三枝は深く息を吐いた。

ログを信じるな。

攻撃者は、ついにそこまで来た。

ログを消す。ログを迂回する。ログを偽る。ログへの信頼を壊す。

山崎が言った。

「ログは、単体で信じるものではありません」

三枝は顔を上げた。

「では、何を信じるんですか」

「手続きです」

山崎は、静かに答えた。

「どのログを、どの時点で、どの権限で、誰が取得し、どう保全し、何と突合したか。その手続きが、ログの信頼性を支えます」

久我も言った。

「技術的にも同じです。一つのログだけで断定しない。複数のログ、端末状態、ネットワーク、メタデータ、タイムラインを突き合わせる」

三枝は、ゆっくり頷いた。

ログは、ただ残るものではない。信頼できるように扱うものだ。

それが、未了ログの核心だった。

午前一時十三分。

小田切の聴取は、一旦終了した。

彼は最後に、画面越しに三枝へ言った。

「三枝さん」

三枝は驚いた。

「はい」

「半年前の復元検証ファイル、覚えていますか」

三枝は、喉が詰まった。

「はい」

「すみません。もっと強く言うべきでした」

三枝は、すぐに首を横に振った。

「僕も、見るべきでした」

小田切は、疲れた顔で少し笑った。

「未了って、便利な言葉なんです」

「便利?」

「完了していないけど、忘れてはいない。そんな気がする。でも実際には、未了のまま置いたものは、誰かが閉じない限り開きっぱなしです」

三枝は、何も言えなかった。

小田切は続けた。

「私は、未了をたくさん残しました。あなたたちも、たぶん残した。日向も、ネストリンクも残した。攻撃者は、それを拾った」

三枝は、ゆっくり頷いた。

「はい」

山崎が、静かに言った。

「その発言も、記録してよいですか」

小田切は、少し苦笑した。

「山崎先生、本当に何でも記録するんですね」

「必要なものは」

「では、記録してください」

三枝は、発言メモに入力した。

小田切氏発言:“未了は、完了していないが忘れてはいないように見える。しかし誰かが閉じない限り、開きっぱなしである。自分も未了を残したし、各社にも未了があった。攻撃者はそれを拾った。”

入力しながら、三枝は胸が締めつけられた。

この事件の本質を、最も疑われた男が言っている。

午前一時五十八分。

山崎は、未了ログ中間整理の最後に「再発防止への転換」を書き始めた。

項目は、七つ。

一 重要ログの保存期間を業務影響・調査必要期間に合わせて設計する。

二 ログ所有者を個人ではなく組織ロールに紐づける。

三 委託先作成ログ・テンプレート・手順書の正式移管手順を定義する。

四 旧テンプレート、旧スクリプト、旧アカウントを棚卸しし、利用停止または期限付き管理に移す。

五 ログ取得・閲覧・保全・提出の手順を、契約およびSOWに明記する。

六 攻撃者による偽ログ・偽証跡提示に備え、保全手続きと突合手順を整備する。

七 “未了”を台帳化し、責任者、期限、再確認日、経営報告を設定する。

望月が、その七項目を読んだ。

「これを、当社の再発防止策の柱にします」

黒崎が頷いた。

「情シスだけでは無理です。契約も、経営報告も、委託先管理も必要です」

山崎は言った。

「だから、全社統制として設計します。山崎行政書士事務所では、技術設定そのものを代替するのではなく、技術設定が契約、規程、責任分界、証跡保全、経営判断に接続するよう支援します」

三枝は、その言葉を聞いて、最初に見たセミナー資料を思い出した。

クラウド法務 × Azure技術支援構成・権限・ログ・契約を、説明できる統制へ。

あの時は、少し大げさな言葉に見えた。

今は、会社が生き残るための設計図に見える。

午前二時二十六分。

久我が、最後の突合結果を共有した。

「Phase1の改変は、svc-msp-maintenanceで実行されています。ただ、改変前に旧テンプレートへアクセスしたアカウントが複数あります」

三枝が聞いた。

「誰ですか」

「前島アカウント。日向作業者。ネストリンク監視担当者。そして、三週間前に不明なセッション」

黒崎が言った。

「不明なセッション?」

「認証は成功していますが、ユーザーエージェントや端末情報が欠けています。前島アカウントのファイル列挙と同じ時間帯に近い」

星野がSOC側から補足した。

「三週間前のLowアラート群に含まれている可能性があります。再検索します」

山崎が言った。

「三週間前の探索、旧テンプレート閲覧、偽管理先ドメイン作成、DeviceActionRawの存在。この四つを攻撃準備タイムラインに統合してください」

三枝は、新しい行を追加した。

三週間前:前島アカウントによる旧手順・テンプレート領域の探索可能性。旧復旧テンプレートTMP-WMS-RECOVERY-OLD-17へのアクセス痕跡。偽管理先ドメイン作成時期と近接。

点が、さらに線になった。

攻撃者は、会社の未了を調べただけではない。

未了の中にあった復旧テンプレートを見つけ、改変し、端末管理命令として使い、ログを迂回し、Phase2を予約し、小田切へ疑いを向けた。

それが、DeviceActionRawによって見えた。

未了ログは、攻撃者の手の内を照らした。

午前三時十二分。

会議室は、深夜の静けさに沈んでいた。

だが、昨日までの沈黙とは違った。

今の静けさは、整理された静けさだった。

DeviceActionRawは保全された。Phase1の内容が見えた。Phase2の危険が裏付けられた。小田切への疑義誘導が見えた。旧テンプレートの改変が見えた。偽ログによる揺さぶりも、保全済みログで退けた。

完全ではない。まだ犯人は分からない。侵入経路も完全には閉じていない。漏えい対応も続いている。取引先への説明も、これからさらに厳しくなる。

それでも、会社は一つ、取り戻した。

説明できる証跡。

三枝は、時系列表を保存した。

ファイル名は、最初から変わっていない。

incident_timeline_20280506.xlsx

だが、その横に新しい資料が並んでいる。

責任分界表_第一版.xlsx漏えい判断整理表.xlsxAIアラート判断整理.xlsx端末管理命令_影響整理.xlsxDeviceActionRaw_証跡保全記録.xlsx未了ログ_中間整理.docx

三枝は、それらのファイル名を見つめた。

どれも、攻撃を防ぐために作ったものではない。

攻撃された後に、会社が崩れないために作ったものだ。

山崎が、隣に来た。

「三枝さん。今日の最後に、一つだけ整理しましょう」

「何をですか」

「未了ログとは何か」

三枝は、少し考えた。

「残っているけど、使える証跡になっていないログ」

山崎は頷いた。

「はい。もう一つあります」

「もう一つ?」

「未了ログは、ログだけではありません」

三枝は、山崎を見た。

山崎は、ホワイトボードを見た。

そこには、この数日で書き込まれた言葉が残っている。

退職者アカウント。保守用アカウント。復元テスト。責任分界線。AI Lowアラート。委託先の沈黙。端末管理命令。DeviceActionRaw。

山崎は言った。

「未了ログとは、会社が閉じなかった判断の記録です」

三枝は、その言葉をゆっくり飲み込んだ。

会社が閉じなかった判断。

後で見る。次年度検討。本番安定後。確認中。保留。追加提案化。Low。一時利用。正式運用外。

それらは全部、未了ログだった。

三枝は、ノートに書いた。

未了ログ=会社が閉じなかった判断の記録。

山崎は言った。

「だから、再発防止はログ保存だけでは終わりません。未了を閉じる仕組みを作る必要があります」

三枝は頷いた。

「はい」

午前三時四十六分。

Blue Heronから、この夜最後のメールが届いた。

件名は、72 hours

本文は、短かった。

Explain everything by noon.Or we explain it for you.

正午までにすべてを説明しろ。さもなければ、我々が説明する。

三枝は、もう震えなかった。

保全手順を進める。久我がヘッダーを確認する。山崎が時系列表に追記する。望月が画面を見つめる。

山崎は言った。

「相手は、説明を奪う最後の段階に入っています」

望月は、静かに答えた。

「では、こちらが説明します」

黒崎が言った。

「正午までに、何を出せますか」

山崎は、すぐに資料一覧を開いた。

「取引先向け第二報。個人情報影響に関する現時点報告。端末管理基盤の不審利用に関する暫定説明。再発防止方針の骨子。問い合わせ窓口。警察・行政への相談状況。未確認事項と次回報告予定」

秋山が言った。

「かなり多いです」

「全部を詳細に出す必要はありません。重要なのは、沈黙しないことです」

望月は頷いた。

「作りましょう」

三枝は、時系列表に入力した。

03:46 不明差出人より件名“72 hours”のメール受信。正午までの説明を要求。対応方針:攻撃者の示す期限に従属せず、当社として確認済み事実、未確認事項、対応状況、再発防止方針を整理した第二報を作成・発信する。

入力後、三枝は画面を閉じなかった。

もう一行、判断記録に入れた。

当社は、攻撃者に説明を委ねない。

山崎が、その一行を見て言った。

「良いです。ただし、正式資料では少し表現を整えます」

三枝は、少し笑った。

「はい」

望月も、その一行を見て言った。

「いいえ。その言葉は、私のメモに残します」

三枝は、望月を見た。

社長の目は、疲れていた。だが、もう揺れてはいなかった。

未了ログは、会社の傷だった。

しかし、その傷を見た会社は、ようやく自分の言葉を取り戻し始めていた。

午前四時。

山崎は、ホワイトボードの一番上に新しい見出しを書いた。

説明できる会社

次の戦いは、技術の画面ではなく、会社の言葉で始まろうとしていた。

 
 
 

コメント


Instagram​​

Microsoft、Azure、Microsoft 365、Entra は米国 Microsoft Corporation の商標または登録商標です。
本ページは一般的な情報提供を目的とし、個別案件は状況に応じて整理手順が異なります。

※本ページに登場するイラストはイメージです。
Microsoft および Azure 公式キャラクターではありません。

Microsoft, Azure, and Microsoft 365 are trademarks of Microsoft Corporation.
We are an independent service provider.

​所在地:静岡市

©2024 山崎行政書士事務所。Wix.com で作成されました。

bottom of page