第9章 消された端末管理命令
- 山崎行政書士事務所
- 5月7日
- 読了時間: 35分
午前二時三十一分。
三枝涼真は、端末管理画面の前で息を止めていた。
昨日の午前二時台に実行されたはずの管理命令が、一覧から消えている。
正確に言えば、完全に消えているわけではなかった。操作の痕跡は、別の監査ログに薄く残っている。だが、端末管理画面の通常一覧からは見えない。
見えない命令。
それは、失敗した命令よりも気味が悪かった。
画面には、端末グループの状態が並んでいる。
Warehouse-Terminal-EastWarehouse-Terminal-WestColdChain-Label-PrintersEmergency-Shipping-Kiosk
倉庫東側。倉庫西側。定温便ラベルプリンタ。緊急出荷用キオスク。
会社の物理的な現場が、クラウド管理画面の青白い文字になって並んでいた。
北斗DFIRの久我真琴が、三枝の背後から画面を覗き込んだ。
「履歴一覧から消えている。でも監査ログには残っている。つまり、操作はあった」
三枝は頷いた。
「はい。端末管理命令の実行履歴には表示されません。ただ、Activity Log側には、保持設定変更と、命令オブジェクトの変更痕跡があります」
黒崎課長が言った。
「誰が消した」
三枝はログを拡大した。
操作アカウント。
svc-msp-maintenance
委託先保守用アカウント。
すでに何度も見た名前だった。だが、見るたびに別の傷が開く。
久我が低い声で言った。
「攻撃者は、端末を止めただけではありません。止めた命令を、後で追いにくくしています」
山崎行政書士事務所の山崎が、会議室の中央に立った。
「三枝さん。今見えている事実を、分けて記録しましょう」
「はい」
三枝は、時系列表の横に新しいシートを作った。
端末管理命令_影響整理
山崎が口頭で項目を読み上げる。
「命令ID。対象端末グループ。実行時刻。命令内容。現在の表示状態。監査ログ上の痕跡。保持設定変更の有無。業務影響。証跡保全状況。未確認事項」
三枝は入力した。
命令IDは、一部欠落。対象は、倉庫東側端末グループ。実行時刻は、五月六日午前二時二十四分前後。命令内容は、まだ完全には読めない。現在の表示状態は、通常履歴から非表示または欠落。監査ログ上の痕跡あり。保持設定変更あり。業務影響は、倉庫端末停止、ラベル発行不能、手作業切替。
大石倉庫部長が、会議室の入口に立ったまま言った。
「その命令で、現場が止まったんですか」
久我は慎重に答えた。
「その可能性が高いです。ただし、端末停止の原因がその命令だけかどうかは、まだ確認中です」
大石は笑わなかった。
「命令ひとつで、倉庫が止まるんですね」
山崎が静かに言った。
「はい。端末管理権限は、倉庫を止める権限でもあります」
その言葉は、すでに一度聞いていた。
だが、今度は比喩ではなかった。
端末管理画面の中にある一つの命令が、病院便を遅らせ、作業員を走らせ、営業を謝らせ、社長に説明を迫った。
管理者権限は、システムの権限ではない。事業を動かす権限だった。
午前二時四十七分。
久我は、端末管理命令の周辺ログを掘り始めた。
「直接の命令内容を復元するには、複数のログを突き合わせます」
「複数?」
三枝が聞いた。
「端末管理サービス側の監査ログ、クラウドのActivity Log、対象端末のローカルイベント、管理エージェントの通信ログ、倉庫ネットワークの通信記録。あと、SOC側の検知ログ」
星野が、外部SOCの画面越しに頷いた。
「こちらでも、端末管理APIへの異常操作を再検索します。通常履歴から見えなくても、API呼び出しのメタデータが残っている可能性があります」
久我は続けた。
「ただし、攻撃者が保持設定を触っています。ログの保存期間や出力対象が変わっている可能性があります」
黒崎が言った。
「保持設定を変えたら、ログは消えるんですか」
「即時に全部消えるとは限りません。でも、短い保持期間に変更されれば、時間が経つほど消えます。対象外にされたログは、最初から集まらないこともあります」
山崎がすぐに言った。
「では、今の判断は“保全優先”です。復旧作業より前に、消え得るログを可能な範囲で保全してください」
大石が反射的に言った。
「また現場を止めるんですか」
山崎は大石を見た。
「止めるとは限りません。ただ、全部を復旧に回して証跡が消えると、なぜ止まったのか説明できなくなります」
大石は、苦い顔で黙った。
久我が補足した。
「代表端末だけ保全し、残りは業務復旧へ回します。昨日と同じです。ただ、今回は端末だけではなく、管理基盤側のログも急いで取る必要があります」
山崎が三枝に言った。
「判断を記録してください。代表端末五台を証跡保全、残りを業務復旧対象。理由は、業務継続と原因調査の両立」
三枝は入力した。
02:51 端末管理命令履歴欠落に伴い、倉庫端末代表5台を証跡保全対象とし、その他端末は業務復旧対象とする判断。理由:証跡保全と出荷業務継続の両立。判断者:黒崎課長、望月社長承認。技術助言:久我。資料整理助言:山崎行政書士事務所。
その一行を打った時、三枝は少しだけ手応えを感じた。
昨日なら、現場と調査はぶつかっていた。今は、ぶつかる前に線を引ける。
それでも、時間はない。
ログは、待ってくれない。
午前三時十三分。
久我が、最初の復元断片を見つけた。
「命令名が取れました」
会議室の全員が画面を見た。
命令名。
Emergency_Config_Refresh
緊急構成更新。
黒崎が眉をひそめた。
「そんな命令、うちで使っていますか」
三枝は首を横に振った。
「少なくとも、僕は知りません」
久我は、ログの断片を拡大した。
「命令の中身は、完全には見えていません。ただ、端末の管理エージェント設定、プロキシ設定、証明書ストア、プリンタ構成、再起動ポリシーに触っている可能性があります」
大石が言った。
「それでラベルプリンタが死んだ?」
「可能性があります」
久我は続けた。
「もっと嫌なのは、命令名が“緊急構成更新”になっていることです。正規の保守命令に見せています」
三枝は、以前見たログを思い出した。
保守予定時間帯。保守用アカウント。国内IP。MFA成功。緊急構成更新。
すべてが、通常に見えるように整えられている。
山崎が言った。
「命令名は、誰でも自由に付けられるものですか」
三枝は答えた。
「権限があれば、かなり自由に設定できます」
「では、命令名そのものは正当性の証拠になりませんね」
「はい」
山崎は、ホワイトボードに書いた。
命令名 ≠ 正当な作業
久我が頷いた。
「ログを見る時は、名前ではなく、中身と文脈を見ます」
山崎は続けた。
「文書も同じです。“緊急”“保守”“一時”“例外”という言葉は、正当性を示すとは限りません。事故後に問われるのは、その言葉に対応する承認と期限と記録があるかです」
三枝は、その言葉を聞いて、条件付きアクセスの例外を思い出した。
例外。緊急。一時。
それらの言葉は、会社の中でよく使われる。だが、期限のない一時は、一時ではない。承認のない緊急は、ただの穴になる。
攻撃者は、その言葉の隙間に名前を付けて命令を走らせた。
Emergency_Config_Refresh
それは、会社が好んで使う言葉に似ていた。
午前三時四十九分。
端末管理基盤の権限一覧を確認すると、三枝は新たな問題に気づいた。
「端末管理命令を作成できるロールの保有者が多すぎます」
黒崎が横から画面を覗いた。
「何人いる」
「社内で八名。委託先で三名。過去担当者らしきものが二名」
「過去担当者?」
三枝は一覧を拡大した。
一人は、小田切拓。
もう一人は、見覚えのない委託先アカウントだった。
msp-temp-admin-02
一時管理者。
三枝は、また嫌な予感を覚えた。
「この一時管理者、何ですか」
高瀬が画面越しに顔をしかめた。
「古い移行作業時の一時アカウントかもしれません」
黒崎が言った。
「まだ残ってるのか」
高瀬はすぐには答えられなかった。
山崎が言った。
「一時アカウントの作成日、最終利用日、承認記録、削除予定日を確認してください」
三枝は、アカウント詳細を開いた。
作成日は、一年半前。最終利用日は、三か月前。削除予定日は、空欄。説明欄には、こうあった。
WMS移行作業用。一時利用。
三枝は、乾いた笑いを飲み込んだ。
一時利用。
一年半残っている一時利用。
山崎は、表情を変えずに言った。
「これも責任分界表に追加します」
三枝は入力した。
03:55 端末管理命令作成権限保有者を確認。社内8名、委託先3名、過去担当者2名。msp-temp-admin-02(一時管理者)が一年半前作成、削除予定日空欄、最終利用三か月前。用途・管理責任者未確認。
久我が言った。
「ただ、今回の命令実行はsvc-msp-maintenanceです。temp-adminが直接使われたとは限りません」
山崎が頷いた。
「その通りです。事実と推測を分けます。temp-adminは別の説明不能事項として扱い、今回命令との関係は未確認」
三枝は、追記した。
今回命令との直接関係は未確認。
もう、何度この文を書いただろう。
だが、その一文が会社を守る。
疑わしいものを、犯人にしない。関係が未確認なものを、関係ありと書かない。しかし、見つけた穴を放置もしない。
そのバランスは、まだ難しかった。
午前四時二十五分。
倉庫東側の代表端末から、ローカルログの一部が取得された。
久我は、それを画面に映した。
「午前二時二十四分、管理エージェントが構成変更を受信。二時二十五分、プリンタ構成が削除または置換。二時二十六分、証明書関連のエラー。二時二十七分、管理エージェント再起動失敗。二時二十八分、端末オフライン」
大石が、拳を握った。
「それで現場が止まった」
久我は頷いた。
「少なくとも、この端末ではそう見えます」
山崎が確認した。
「業務影響に落とすと、どうなりますか」
三枝は答えた。
「ラベル発行不能、配送指示確認不能、端末管理からの再設定不能、手作業切替。定温便と病院便に影響」
山崎は、すぐに文面を整えた。
「では、経営向けにはこう書けます。“端末管理基盤から送信された構成変更により、一部倉庫端末でプリンタ構成および管理エージェントに障害が発生し、ラベル発行および出荷処理に影響した可能性が高い”」
三枝は、その文を記録した。
黒崎が言った。
「技術ログが、ようやく経営説明になりましたね」
山崎は答えた。
「はい。攻撃者が何をしたかを、業務がどう止まったかにつなげる必要があります」
大石が、ぽつりと言った。
「現場にも、その説明をください。みんな、何が起きたか分からないまま手作業してます」
望月が頷いた。
「作りましょう。現場向け説明も必要です」
山崎は、短い文案を作った。
現場向け説明案倉庫端末の一部は、端末管理機能を通じた不正または不審な構成変更の影響で、ラベルプリンタや管理エージェントが正常に動作しない状態です。現在、原因調査と安全確認を行いながら、限定復旧端末と手作業で出荷を継続しています。現場では、指定された端末以外の再起動・初期化・設定変更を行わず、異常があれば記録して報告してください。
大石は、文面を読んで頷いた。
「これなら伝えられます」
三枝は、それを聞いて思った。
説明には、相手に合わせた粒度がある。
経営者には、判断できる粒度。技術者には、調査できる粒度。現場には、動ける粒度。取引先には、備えられる粒度。行政には、要件を満たす粒度。
山崎行政書士事務所がやっているのは、その粒度を整えることだった。
午前五時十六分。
端末管理基盤の監査保持設定を確認していた三枝は、もう一つの異常を見つけた。
「保持設定だけじゃありません。ログの転送先が一時的に変更されています」
久我がすぐに反応した。
「どこへ」
「通常はLog Analyticsの中央ワークスペースに転送されます。でも、午前二時二十六分から二時四十分まで、一部の端末管理ログだけ別の一時ワークスペースへ向いています」
黒崎が言った。
「そんなワークスペース、うちで作ったか?」
三枝は一覧を確認した。
名前。
temp-diagnostics-east
作成者。
svc-msp-maintenance。
作成時刻。
五月六日 午前二時二十五分。
削除時刻。
五月六日 午前三時二分。
三枝は、背筋が冷えた。
「一時ワークスペースは、もう削除されています」
久我が低く言った。
「ログを捨てたか、迂回させたか」
星野が画面越しに言った。
「中央側に欠落がある理由はそれかもしれません」
山崎は、すぐに確認した。
「削除済みワークスペースのメタデータは残っていますか」
三枝は、クラウド管理ログを確認した。
「作成と削除のイベントはあります。中に転送されたログ本体は、現時点では確認できません」
久我が言った。
「サポートに保全依頼を出した方がいいです。削除済みリソースの復元可否、バックエンド保持、監査イベントの取得。時間が勝負です」
山崎は、秋山を見た。
「クラウド事業者への緊急保全依頼文を作りましょう。技術的には久我さんと三枝さんから対象リソースID、時刻、操作アカウントを出してください。文書では、インシデント調査および証跡保全の必要性を明記します」
秋山は頷いた。
「分かりました」
山崎は続けた。
「同時に、委託先にも確認します。この一時ワークスペース作成・削除が予定作業に含まれていたかどうか」
高瀬は、顔を強張らせた。
「予定作業には含まれていません」
「では、その一次回答を記録します。正式回答は後で構いません」
三枝は入力した。
05:21 端末管理ログの一部転送先が、五月六日02:26〜02:40に一時ワークスペースtemp-diagnostics-eastへ変更されていた可能性を確認。同ワークスペースは03:02削除済み。作成・削除者:svc-msp-maintenance。日向システムサービスより、予定作業には含まれない旨一次回答。クラウド事業者へ削除済みリソース・ログ保全依頼準備。
入力後、三枝は頭を抱えたくなった。
攻撃者は、どこまでも説明を奪おうとしている。
命令を消す。保持設定を変える。ログ転送先を変える。一時的なワークスペースを作り、消す。
だが、完全には消えていない。
作った痕跡。変えた痕跡。消した痕跡。
消そうとしたこと自体が、証跡になる。
久我が言った。
「攻撃者はログを消したつもりでも、クラウドはメタデータを残すことがあります。そこを拾います」
山崎が続けた。
「そして、そのメタデータを、後で説明できる形にします」
三枝は、深く頷いた。
技術が痕跡を拾う。文書が痕跡を会社の言葉にする。
どちらかだけでは足りない。
午前六時二分。
クラウド事業者への保全依頼文のドラフトが完成した。
山崎が作成した文面は、感情的ではなかった。
当社クラウド環境における端末管理ログの一部欠落および一時診断ワークスペースの作成・削除に関し、インシデント調査および証跡保全のため、以下の情報の保持および提供可否確認をお願いいたします。
その下に、三枝と久我が特定した情報が並ぶ。
対象テナント。対象リソースID。一時ワークスペース名。作成時刻。削除時刻。操作アカウント。関連する端末管理命令ID。ログ転送設定変更時刻。保持設定変更イベント。必要な保全範囲。
山崎は秋山に言った。
「この依頼は、技術問い合わせではなく、証跡保全の依頼です。問い合わせチケットの本文にも、その位置づけを明記してください」
秋山が頷いた。
「サポート窓口に出します」
久我が補足した。
「同時に、技術サポート側にも緊急度を上げます。ログ保持期間が短いものは本当に消えます」
望月が言った。
「費用がかかっても構いません。保全を優先してください」
山崎は、すぐに言った。
「その経営判断も記録します」
三枝は入力した。
06:07 削除済み一時ワークスペースおよび端末管理ログ欠落に関し、クラウド事業者へ証跡保全・提供可否確認を依頼する方針決定。費用発生の可能性があっても保全優先。判断者:望月社長。
望月は、その一行を見て言った。
「記録されると、後戻りできませんね」
山崎は答えた。
「はい。だからこそ、判断になります」
望月は、小さく頷いた。
午前六時四十八分。
端末管理基盤の権限棚卸しが進む中で、もう一つ重要な事実が見つかった。
条件付きアクセスの例外だけではなく、端末管理基盤にも「緊急保守グループ」があった。
名前は、Emergency-Maintenance-Bypass。
三枝は、思わず画面を二度見した。
「バイパス……」
黒崎が顔をしかめた。
「そんな名前にしたのか」
高瀬が、画面越しに言った。
「移行期に、端末設定がうまく配布できない時のために、一時的に作成したグループだと思います」
山崎は、静かに聞いた。
「一時的に、ですね」
高瀬は、返事に詰まった。
三枝は、グループ詳細を開いた。
作成日は、一年半前。メンバーは、保守用アカウント群、委託先管理者、旧端末グループの一部。説明欄。
移行作業中の緊急回避用。削除予定:本番安定後。
削除予定日ではなく、削除予定の文章だけが残っていた。
本番安定後。
いつをもって安定とするのか。誰が削除するのか。どのログで確認するのか。
何も書かれていない。
山崎は、ホワイトボードに書いた。
本番安定後 ≠ 期限
三枝は、その文字を見て、苦い笑みを浮かべた。
曖昧な言葉が、また一つ剥がされた。
久我が言った。
「このグループに入っているアカウントは、端末管理命令の制約が緩くなっていた可能性があります」
三枝は設定を確認した。
一部の制限ポリシーが適用除外。一部の承認フローが省略。一部の監視ルールが低優先度化。
「まさか」
星野がSOC側のルールを確認した。
「Emergency-Maintenance-Bypassに関するイベントは、保守予定時間帯では優先度が下がる設定になっています」
黒崎が椅子に沈み込んだ。
「また、俺たちが教えたのか」
三枝は答えられなかった。
山崎は言った。
「これは、第七章のAIアラートと同じ構造です。業務上必要だった例外が、期限なく残り、監視優先度にも影響し、攻撃者に利用された可能性がある」
望月が、ゆっくりと言った。
「緊急回避が、攻撃経路になった」
山崎は頷いた。
「はい。緊急用の扉は、緊急が終わったら閉じなければなりません」
三枝は、責任分界表に新しい行を追加した。
Emergency-Maintenance-Bypass:作成一年半前。本番安定後削除予定と記載あるが期限・削除責任者未定義。保守用アカウント群を含む。承認・監視の一部例外。今回命令との関係調査中。
その一行を見て、三枝は思った。
会社は「緊急」という言葉に弱い。
緊急だから。現場が止まるから。保守が必要だから。今だけだから。後で消すから。
攻撃者は、その「後で」を待っていた。
午前七時三十分。
倉庫では、朝の出荷準備が始まろうとしていた。
だが、通常の朝ではない。
東側端末の一部は保全対象として封鎖。西側端末は限定稼働。ラベル発行は、検証済み端末とプリンタを中心に回す。一部伝票は手作業。現場記録は簡略化した三項目。
大石は、作業員たちを前に説明した。
「端末が変な動きをしたら、触るな。再起動するな。初期化するな。三枝さんたちに連絡。ラベルが出ない時は、勝手に別端末を使うな。指定端末だけだ」
作業員の一人が言った。
「そんなことしてたら、間に合わないですよ」
大石は、その社員を見た。
「間に合わせるために、また全部止める方が困る」
誰も反論しなかった。
三枝は、倉庫の入口からその様子を見ていた。
現場にも、線が引かれ始めている。
使っていい端末。触ってはいけない端末。記録すべきこと。報告すべき異常。自分で判断してはいけないこと。
それは不自由だった。
だが、不自由さの中に、安全があった。
山崎が、三枝の横に立った。
「現場に線が入りましたね」
「はい」
「線は、現場を縛るだけではありません。迷わなくする役割もあります」
三枝は頷いた。
「昨日までは、現場に全部押し付けていた気がします」
「現場は、曖昧なルールの最後の受け皿になりがちです」
山崎は、倉庫の中を見ながら言った。
「だから、経営、契約、クラウド設定、ログ、現場手順をつなげる必要があります。山崎行政書士事務所が“説明できる統制”と言っているのは、会議室のためだけではありません。現場が迷わないためでもあります」
三枝は、倉庫の作業員たちを見た。
汗をかき、苛立ち、疲れ、それでも荷物を出している人たち。
サイバーセキュリティは、この人たちのためにもある。
そのことを、三枝は初めて腹の底から理解した。
午前八時十二分。
会議室に戻ると、Blue Heronから新しいメールが届いていた。
件名は、Push。
押す。
久我が横に立つ。三枝は手順通り保全した。
本文は、これまでより短い。
You pushed the button.We only used your hand.
あなたたちがボタンを押した。我々は、あなたたちの手を使っただけだ。
その下に、端末管理画面のスクリーンショットが貼られていた。
Emergency_Config_RefreshTarget: Warehouse-Terminal-EastStatus: Executed
さらに、もう一枚。
Emergency-Maintenance-Bypass
そのメンバー一覧の一部が映っている。
三枝は、奥歯を噛んだ。
攻撃者は、端末管理基盤の内部画面も見ている。あるいは、見ていた。
久我が言った。
「端末管理基盤のスクリーンショット。時刻情報は?」
三枝は画像のメタデータを見ようとしたが、本文貼り付けの画像では限界があった。
「画像からは不明です」
久我は頷いた。
「内容照合します。少なくとも、実在する命令名とグループ名を知っている」
山崎が言った。
「このメールも、業務影響説明に関わります。攻撃者が“御社の管理基盤を使った”ことを示唆している」
望月が、静かに言った。
「社外に、そのまま言うべきでしょうか」
山崎は慎重に答えた。
「今すぐ詳細を社外に出す必要はありません。ただ、取引先向けの次回報告では、“当社の端末管理機能が不正または不審に利用された可能性があり、該当機能の一部を制限して安全確認を進めている”という表現は検討できます」
久我が補足した。
「技術的には妥当です。まだ断定しすぎない方がいい」
山崎は続けた。
「重要なのは、“管理機能が使われた可能性”と“当社が意図して操作した”ことを混同しないことです。攻撃者のメールは、“あなたたちが押した”と責任を揺さぶっています。こちらは、正規機能が不正利用された可能性として整理します」
三枝は入力した。
08:12 不明差出人より件名“Push”のメール受信。端末管理命令Emergency_Config_RefreshおよびEmergency-Maintenance-Bypassグループのスクリーンショットを提示。当社端末管理基盤の内部情報把握を示唆。証跡保全。
その後、三枝は一行だけ、メモ欄に追加した。
攻撃者は、当社の管理機能を当社の責任感に変換しようとしている。
山崎がそれを見た。
「良い観察です。ただ、正式資料では少し表現を変えましょう」
三枝は少し笑った。
「はい」
山崎は続けた。
「でも、本質は合っています。攻撃者は、技術的な操作を心理的な責任攻撃に変えてきています」
久我が頷いた。
「ランサムウェアの脅迫も、最近はそうです。暗号化だけじゃない。相手の判断を壊す」
望月は、画面の英文を見ながら言った。
「壊されません」
その声は、小さかった。だが、はっきりしていた。
「説明できる形にします」
山崎は、静かに頷いた。
午前九時。
端末管理基盤の緊急制限が実施された。
全社の端末管理命令作成権限を一時停止。保守用アカウント群のロール剥奪。Emergency-Maintenance-Bypassグループの新規利用停止。既存命令キューの棚卸し。予約済み命令の手動確認。SOCへの即時通知ルール追加。代表端末の証跡保全。限定復旧環境以外からのラベルプリンタ設定配布禁止。
ただし、これらは簡単な作業ではなかった。
端末管理権限を絞れば、正規の復旧作業も遅くなる。保守用アカウントを止めれば、委託先の支援も制限される。既存命令を止めれば、現場端末の修復も進まない。
黒崎が、望月に説明した。
「業務影響があります。復旧速度は落ちます」
望月は聞いた。
「落とさない場合のリスクは」
久我が答えた。
「攻撃者の残存操作や予約命令が残っていた場合、再停止や証跡消失の可能性があります」
山崎が、経営判断表を開いた。
「判断項目は、端末管理基盤の安全確認完了まで、復旧速度より再停止防止と証跡保全を優先するかです」
望月は迷わなかった。
「優先します。現場には私から説明します」
三枝は入力した。
09:06 端末管理基盤の緊急制限を実施。復旧速度低下の業務影響を認識した上で、再停止防止および証跡保全を優先。判断者:望月社長。
山崎が言った。
「この判断は、後で必ず重要になります」
「取引先への説明ですか」
「それもあります。ですが、それ以上に、社内への説明です。なぜ復旧が遅れたのか。なぜ便利な管理機能を止めたのか。現場は納得できないかもしれません。判断理由が必要です」
望月は頷いた。
「説明します」
午前九時四十二分。
山崎は、端末管理基盤に関する暫定報告書の骨子を作った。
一 発見された事実二 端末管理命令による業務影響の可能性三 ログ欠落・保持設定変更・一時ワークスペース作成削除の事実四 緊急保守グループおよび例外運用の課題五 実施済み制限措置六 復旧への影響と判断理由七 再発防止に向けた管理者権限設計見直し
三枝は、技術情報を渡した。久我は、断定できる範囲と未確認の範囲をチェックした。秋山は、取引先向けに出せる表現と、内部限定にすべき表現を分けた。山崎は、文章の温度を整えた。
「“攻撃者により端末管理基盤が完全に掌握された”とは書きません」
久我が頷いた。
「完全掌握かどうかは未確認です」
「“端末管理基盤の一部機能が不正または不審に利用された可能性”とします」
秋山が言った。
「弱く見えませんか」
山崎は答えた。
「弱くではなく、正確にです。正確な言葉は、後で強くなります」
三枝は、その言葉を覚えておこうと思った。
正確な言葉は、後で強くなる。
事故対応において、強い言葉を早く出すことは簡単だ。だが、早すぎる強い言葉は、後で会社を裏切る。
山崎は、強い言葉を使わないことで、会社を守っていた。
午前十時三十五分。
クラウド事業者から、最初の返信が届いた。
削除済み一時ワークスペースについて、一定期間内であればメタデータと一部診断情報の確認が可能かもしれない。ただし、正式な取得には追加手続きが必要。対象リソースID、正確な時刻範囲、契約管理者からの承認が必要。
秋山が言った。
「すぐ出します」
山崎が言った。
「承認者は誰ですか」
三枝は管理画面を確認した。
「クラウド契約管理者は、財務部の役員になっています」
望月が言った。
「私から連絡します」
山崎が補足した。
「承認記録を残してください。誰が、何を、なぜ承認したか」
黒崎が、少しだけ笑った。
「先生、もう全員分かってますよ」
山崎は真顔で答えた。
「分かっていても、記録してください」
会議室に、短い笑いが起きた。
疲労の中の、小さな笑いだった。
三枝は、少しだけ肩の力が抜けた。
だが、その直後、久我が声を上げた。
「三枝さん。予約済み命令の一覧、もう一度見せてください」
三枝は画面を切り替えた。
久我が、ある行を指差した。
「これ、何ですか」
命令名。
Warehouse_Reset_Phase2
対象。
Warehouse-Terminal-West
実行予定。
May 9 11:00
三枝は、血の気が引いた。
「西側端末……」
大石が声を荒げた。
「西側は今、動いてる端末ですよ!」
黒崎が叫んだ。
「キャンセルできるか」
三枝は、命令詳細を開こうとした。
権限エラー。
緊急制限で、自分の権限も一部絞られている。
「詳細表示権限が足りません」
黒崎が言った。
「俺のアカウントで入る」
山崎がすぐに言った。
「操作前に、現在状態を保全してください。キャンセル操作の判断者と理由も記録します」
久我が言った。
「急いで。ただし、雑に触らないで」
三枝は、スクリーンショットを撮った。命令IDを記録した。対象グループを記録した。実行予定時刻を記録した。
黒崎が管理者権限で詳細を開く。
命令内容は、完全には表示されない。だが、端末構成リセット、プリンタ設定置換、管理エージェント再初期化の文字が見えた。
久我が言った。
「東側を止めた命令に似ています」
望月が、即座に言った。
「キャンセルしてください」
山崎が確認した。
「判断理由は、西側端末への不審な予約済み管理命令により、稼働中出荷ラインが停止するリスクがあるため。証跡保全後にキャンセル。よろしいですか」
望月は頷いた。
「はい」
黒崎がキャンセルを実行した。
画面に、数秒の沈黙。
そして表示。
Cancellation requested
キャンセル要求。
まだ完了ではない。
三枝は、画面を見つめた。
数十秒後。
Cancelled
会議室の空気が、一気に抜けた。
大石が椅子に座り込んだ。
「危なかった……」
久我は、まだ表情を緩めなかった。
「他にも予約済み命令がないか、全グループ確認します」
山崎が言った。
「この一件は重要です。もし発見が遅れていれば、午前十一時に西側ラインも止まった可能性があります」
三枝は、手を震わせながら入力した。
10:47 予約済み端末管理命令Warehouse_Reset_Phase2を確認。対象:Warehouse-Terminal-West。実行予定:May 9 11:00。東側障害と類似する構成リセット内容の可能性。証跡保全後、望月社長判断によりキャンセル実施。結果:Cancelled。
入力後、三枝は息を吐いた。
初めて、攻撃者の次の一手を止めた。
完全に防いだわけではない。だが、午前十一時に西側ラインが止まることは避けられた。
久我が言った。
「今のは大きいです」
黒崎が頷いた。
「ああ」
山崎は、静かに言った。
「記録され、判断され、止められました」
その言葉に、三枝は胸が熱くなった。
これが、説明できる統制なのかもしれない。
ただ事後に説明するだけではない。説明できる形にしているから、次の攻撃を止められる。
午前十一時。
西側ラインは、止まらなかった。
倉庫では、ラベルプリンタが唸り、作業員が慎重に荷物を流していた。いつもの速度ではない。だが、動いている。
大石からメッセージが届いた。
西側ライン、稼働継続。11:00時点で異常停止なし。予約命令キャンセルの効果と思われます。現場、助かりました。
三枝は、そのメッセージを見て、思わず目を閉じた。
助かった。
その言葉は、今日初めて聞いた気がした。
望月も、深く息を吐いた。
「一つ、止められましたね」
久我が頷いた。
「はい。ただ、まだ終わりではありません」
「分かっています」
望月は、山崎を見た。
「でも、今の判断は、取締役会にも現場にも説明できます」
山崎は頷いた。
「はい。ログ、証跡、業務影響、判断理由がそろっています」
三枝は、時系列表を見た。
発見。保全。判断。キャンセル。結果確認。
一連の流れが、きれいに並んでいる。
昨日までの混乱とは違う。
会社はまだ攻撃されている。だが、少しずつ、防御の形を取り戻している。
午前十一時二十七分。
Blue Heronから、メールが届いた。
件名は、Missed one。
三枝は、もう迷わなかった。
保全手順を進める。久我が隣で確認する。山崎が、時系列表を開く。
本文は、これまでより長かった。
You cancelled Phase2.Good.But you still do not know what Phase1 changed.Your east line is not broken.It is waiting.
あなたたちはPhase2をキャンセルした。よくやった。だが、Phase1が何を変えたか、まだ分かっていない。東側ラインは壊れていない。待っているだけだ。
会議室に、冷たい沈黙が落ちた。
三枝は、東側端末グループの状態を見た。
オフライン。エラー。保全対象。一部復旧待ち。
壊れていない。待っているだけ。
何を?
久我が、低く言った。
「予約命令だけじゃない。Phase1で、何か仕込まれている可能性があります」
黒崎が言った。
「東側端末を復旧したら発動する?」
「可能性はあります。確定ではありません」
山崎が、すぐに言った。
「では、東側端末の復旧手順を止めますか」
久我は答えた。
「全面復旧は止めるべきです。隔離環境で、代表端末を再現確認します」
望月が言った。
「東側の復旧は遅れますね」
大石が画面越しに言った。
「遅れます。でも、西側が生きてるなら、東側を焦って戻して全部止めるよりはいい」
望月は頷いた。
「東側全面復旧は一時保留。隔離検証を優先します」
山崎が確認した。
「判断理由は、攻撃者メールによりPhase1設定変更の未確認リスクが示唆され、東側端末の復旧時に再発動する可能性があるため。業務影響を認識した上で隔離検証を優先。よろしいですね」
「はい」
三枝は入力した。
11:31 不明差出人より件名“Missed one”のメール受信。Phase2キャンセルを認識し、Phase1変更未確認および東側ライン復旧時リスクを示唆。東側端末全面復旧を一時保留し、隔離環境で代表端末検証を優先する判断。判断者:望月社長。
入力しながら、三枝は思った。
攻撃者は、こちらを見ている。
Phase2をキャンセルしたことを知っている。こちらの動きを監視しているのか。それとも、端末管理基盤内の状態変化をどこかで見ているのか。
久我が、同じことを考えていた。
「まだ、どこかに監視の足場が残っている可能性があります」
会議室の空気が、再び張り詰めた。
山崎は、静かに言った。
「では、次の論点は二つです。Phase1が何を変えたのか。そして、攻撃者がなぜPhase2キャンセルを知ったのか」
三枝は頷いた。
端末管理基盤の中に、まだ見えていない何かがある。
消された命令。迂回されたログ。予約されたPhase2。そして、Phase1。
未了ログは、まだ隠しページを持っていた。
午後零時十五分。
隔離環境で、東側代表端末のクローン検証が始まった。
久我は、端末を本番ネットワークから完全に切り離し、検証用ネットワークに置いた。
「ここで起動します。外部通信は遮断。通信しようとした先だけ記録します」
三枝は、ログ取得用の画面を開く。黒崎は、端末管理基盤側のイベントを監視する。星野は、SOC側で通信検知を確認する。山崎は、判断記録表を開いている。
大石も、オンラインで見ていた。
「端末一台起動するのに、こんなに人がいるのか」
久我は答えた。
「今は、端末一台が倉庫全体を止めるかもしれませんから」
誰も笑わなかった。
久我が、電源を入れた。
端末の画面に、起動ロゴが表示される。数秒。ログイン画面。管理エージェント起動。通信試行。
三枝の画面に、通信ログが流れた。
通常の管理サーバ。プリンタ設定取得先。証明書検証先。
そして、一つ、見慣れない宛先。
三枝が声を上げた。
「未知のURLへ通信しようとしています」
久我がすぐに言った。
「遮断されています。宛先を保存」
三枝は記録した。
URLの文字列は、正規の管理ドメインに似せてあった。だが、微妙に違う。
山崎が聞いた。
「これは、何を意味しますか」
久我は答えた。
「Phase1で、端末の一部設定が外部の偽管理先を見るように変えられた可能性があります。東側端末をそのまま復旧すると、攻撃者側の管理先に再接続しようとするかもしれません」
黒崎が低く言った。
「東側ラインは、壊れていたんじゃない」
三枝が続けた。
「攻撃者の次の命令を待っていた」
会議室が沈黙した。
Blue Heronのメール。
Your east line is not broken.It is waiting.
東側ラインは壊れていない。待っているだけだ。
本当だった。
久我が言った。
「外部通信は遮断できています。代表端末の設定差分を取ります。全端末へ戻す前に、この設定を除去する必要があります」
山崎が、望月を見た。
「経営判断としては、東側端末の復旧遅延がさらに確定します。ただし、理由は明確です」
望月は頷いた。
「安全確認なしに戻しません」
三枝は入力した。
12:22 東側代表端末の隔離起動検証により、未知の外部管理先と思われる宛先への通信試行を確認。通信は遮断。Phase1により端末設定が偽管理先へ向けられた可能性。東側全面復旧は継続保留。設定差分解析を実施。
入力後、三枝は画面を見つめた。
今度は、止められた。
東側端末を焦って戻していたら、攻撃者の管理先へ再接続していたかもしれない。
昨日の会社なら、復旧を急いでいた。バックアップを戻し、端末を初期化し、ラベルを出そうとしていた。
今日は違う。
疑い、保全し、隔離し、確認してから戻す。
それは遅い。だが、会社を二度止めないための遅さだった。
午後一時三分。
山崎は、端末管理基盤に関する暫定まとめを作成した。
消された端末管理命令_暫定整理
一 委託先保守用アカウントにより、倉庫端末群へ端末管理命令が実行された痕跡がある。二 通常の命令履歴から一部情報が欠落しており、監査保持設定およびログ転送先変更の痕跡がある。三 一時診断ワークスペースが作成・削除されており、ログ迂回または証跡追跡困難化の可能性がある。四 緊急保守グループおよび端末管理例外が期限なく残存し、監視・承認の一部例外となっていた。五 西側端末に対する予約済み命令Phase2を発見し、証跡保全後にキャンセルした。六 東側代表端末の隔離検証で、未知の外部管理先への通信試行を確認した。七 端末管理権限は、事業停止権限として再設計する必要がある。
三枝は、その最後の一文を見た。
端末管理権限は、事業停止権限として再設計する必要がある。
この章の結論だった。
山崎は言った。
「取締役会向けには、この表現でいきます」
黒崎が頷いた。
「技術的にも、異論ありません」
久我も言った。
「はい。管理基盤の権限設計を、業務影響で見直す必要があります」
大石が言った。
「現場向けには、“端末管理を勝手に戻さない理由”を入れてください」
山崎は頷いた。
「入れます」
望月は、資料を見ながら言った。
「山崎先生。今回、山崎行政書士事務所に入ってもらわなければ、私たちは何を間違えていたと思いますか」
山崎は、少しだけ考えた。
「復旧を急ぎすぎたかもしれません」
久我が小さく頷いた。
山崎は続けた。
「委託先に感情的に責任を迫り、必要なログ提出が遅れたかもしれません。取引先に断定しすぎた説明をしたかもしれません。逆に、漏えい可能性を恐れて説明が遅れたかもしれません。端末管理命令の証跡を消してしまったかもしれません」
望月は、黙って聞いていた。
山崎は言った。
「サイバー事故では、何をするかだけでなく、何をまだしないかも重要です。戻さない。消さない。断定しない。黙らない。この四つを守るだけでも、会社は壊れにくくなります」
三枝は、その言葉をノートに書いた。
戻さない。消さない。断定しない。黙らない。
それは、今日の会社が学んだことだった。
午後一時四十六分。
倉庫から、またメッセージが届いた。
西側ライン、継続稼働。東側は復旧保留のまま。病院便優先分、午後便に一部振替可能。現場は疲れているが、理由が分かっているので動けています。
三枝は、その最後の一文を読んだ。
理由が分かっているので動けています。
説明は、現場を動かす。
山崎が、それを見て静かに言った。
「良いメッセージですね」
三枝は頷いた。
「はい」
その時、久我が端末の通信ログを見ながら言った。
「未知の管理先ドメイン、登録情報が妙です」
三枝が聞いた。
「何がですか」
「作成日が、三週間前です」
会議室の空気が変わった。
三週間前。
AIがLowに分類した前島アカウントのファイル列挙。攻撃者の下見。旧システム挙動。そして、偽管理先ドメインの作成。
久我が続けた。
「三週間前の探索と、今回の端末管理基盤攻撃はつながっている可能性があります」
星野も画面越しに言った。
「同じ時期に、保守用アカウント関連の低優先度イベントもあります。再検索します」
山崎が言った。
「三週間前のイベントを、タイムライン上で再構成しましょう。前島アカウント探索、偽管理先準備、保守用アカウント関連イベント、SOC Lowアラート、旧手順書アクセス。攻撃準備期間として整理します」
三枝は、新しいシートを作った。
攻撃準備期間_三週間前
入力しながら、彼は思った。
事件は、五月六日の午前二時十三分に始まったのではない。
その前から、会社は見られていた。試されていた。学習されていた。
攻撃者は、会社の未了を調べ、AIの盲点を確認し、委託先の沈黙を知り、端末管理基盤に命令を仕込んだ。
そして、会社が眠っている夜に、正規の手で押した。
午後二時二十二分。
山崎は、ホワイトボードに新しい流れを書いた。
三週間前:探索半年前:警告未了三か月前:AIチューニング五月六日未明:保守作業・警告不達・端末管理命令五月九日午前:予約命令発見・キャンセル現在:Phase1設定差分解析
線がつながっていく。
点だったものが、攻撃の準備に見えてくる。
黒崎が低く言った。
「これは、かなり前から狙われていましたね」
久我が頷いた。
「はい。少なくとも、短時間の衝動的な攻撃ではありません」
山崎は、望月に向けて言った。
「経営向けには、“攻撃準備期間の可能性”として整理します。まだすべてが確定ではありませんが、単発障害ではなく、過去の未了事項と複数の低優先度イベントが連鎖している可能性が高い」
望月は頷いた。
「分かりました」
三枝は、ホワイトボードの流れを見つめた。
未了は、点ではない。
未了は、時間の中で線になる。そして、攻撃者はその線をたどる。
午後三時五分。
Phase1の設定差分解析が進んだ。
東側端末には、偽管理先への通信設定だけでなく、再接続時に特定の構成ファイルを取得しようとする設定が残っていた。
久我は言った。
「もし本番ネットワークへ戻していたら、攻撃者側のサーバから追加構成を取りに行った可能性があります」
黒崎が聞いた。
「マルウェアですか」
「まだ断定できません。構成ファイルか、スクリプトか、追加命令か。取得先は遮断されているので中身は取っていません」
山崎が確認した。
「正式資料では、“追加命令または構成取得の可能性”ですね」
「はい」
三枝は入力した。
15:07 Phase1設定差分解析により、東側端末が復旧時に外部偽管理先から追加構成または命令を取得しようとする可能性を確認。中身は未取得。マルウェア等の断定は不可。
大石が画面越しに言った。
「東側を焦って戻さなくてよかった」
久我は頷いた。
「はい」
望月も言った。
「この判断は、大きかったですね」
山崎は、静かに言った。
「Phase2を止め、Phase1を疑った。その理由は、記録に残っています。これが、次の説明になります」
三枝は、時系列表を見た。
攻撃者の命令は消されていた。だが、会社の判断は残っている。
その違いが、少し誇らしかった。
午後四時。
端末管理基盤の暫定封じ込めが完了した。
すべての予約済み命令を棚卸し。不明命令は停止。緊急保守グループは無効化。端末管理ロールは最小限に削減。委託先アカウントは一時停止。管理操作は、二名承認と画面録画付き。SOCへ即時通知。山崎が作った判断記録テンプレートに、すべての操作が残される。
黒崎は、画面を見ながら言った。
「面倒ですね」
三枝は言った。
「でも、安心です」
黒崎は少し笑った。
「そうだな」
山崎が言った。
「恒久運用では、もう少し現実的に調整します。今は非常時です。ただし、非常時に見えたリスクを、平時の設計へ戻す必要があります」
望月が頷いた。
「それを、山崎行政書士事務所に支援していただきたい」
「はい。契約、権限、ログ、例外、端末管理、SOC連携、復元テストまで、一体で整理します」
三枝は、その言葉を聞きながら思った。
この事件が終わっても、仕事は終わらない。
むしろ、そこからが本当のサイバーセキュリティなのだろう。
攻撃者を追うだけではない。会社の線を引き直す。未了を閉じる。例外に期限をつける。ログを証跡にする。契約を事故の夜に機能させる。
山崎行政書士事務所は、そのためにいる。
午後四時三十六分。
Blue Heronから、またメールが届いた。
件名は、Last trace。
最後の痕跡。
三枝は、もう感情を動かさないようにして保全手順を進めた。
本文は、一行だけだった。
Find the log you decided not to keep.
あなたたちが残さないと決めたログを探せ。
その下に、短い文字列があった。
Retention: 7 daysTable: DeviceActionRawOwner: Odagiri
三枝は、画面を見つめた。
DeviceActionRaw。端末操作の生ログらしき名前。保持期間七日。所有者、小田切。
久我が、すぐに反応した。
「それ、端末管理基盤の詳細ログテーブルかもしれません」
黒崎が言った。
「七日保持?」
三枝は、現在の日付を見た。
五月九日。
攻撃が始まったのは五月六日未明。
まだ、七日以内。
「間に合うかもしれません」
久我が言った。
「すぐ確認。所有者が小田切なら、アクセス権が問題になるかもしれない」
山崎が、鋭く言った。
「証跡保全を最優先にします。小田切氏本人、ネストリンク、日向、駿河ML、誰がそのログにアクセス権を持つのかを確認してください。契約上の提出根拠も整理します」
秋山が言った。
「また委託先を通す必要がありますね」
山崎は頷いた。
「はい。しかし、今回は期限があります。七日保持なら、時間が限られています」
三枝は、端末管理ログの一覧を検索した。
DeviceActionRaw
あった。
ただし、アクセス権限エラー。
所有者。
小田切拓
最終更新。
半年前。
説明。
詳細調査用。通常運用では未使用。コスト削減のため保持7日。
三枝は、喉が渇いた。
ここに、Phase1の本当の命令内容があるかもしれない。消された端末管理命令の、生ログが。
だが、保持期間は七日。アクセス権は、小田切の所有者設定に絡んでいる。契約上、誰が出せるのか分からない。
山崎が、静かに言った。
「次は、未了ログそのものですね」
三枝は、時系列表に入力した。
16:36 不明差出人より件名“Last trace”のメール受信。“Retention: 7 days / Table: DeviceActionRaw / Owner: Odagiri”との示唆。端末管理詳細ログDeviceActionRawを確認。保持7日、所有者小田切拓、アクセス権限エラー。証跡保全および提出権限確認を開始。
入力し終えた時、三枝は理解した。
消された端末管理命令の奥に、最後のログがある。
残すと決めなかったログ。コスト削減で七日にしたログ。通常運用では使わないとされたログ。小田切の名前で残ったログ。
未了ログ。
それは、タイトルではなかった。
この事件そのものだった。





コメント