第28章 拒否ログ
- 山崎行政書士事務所
- 5月7日
- 読了時間: 17分
午前七時十五分。
三枝涼真は、いつもより早くSOCダッシュボードを開いた。
前夜、SafetyBoardの偽訓練通知は止めた。訓練モードの自動承認も無効化した。外部訓練支援アカウントも停止した。予定なし訓練通知は、No active drill plan で拒否された。
その一行は、三枝にとって小さな勝利だった。
攻撃者が戻ってきた。扉は開かなかった。
だが、画面を見た瞬間、その安堵は消えた。
拒否ログが、増えている。
07:02 ComplyVault delegated approval API authentication failed — certificate revoked07:04 SafetyBoard training notice send blocked — no active drill plan07:06 NotifyBridge connector callback failed — connector quarantined07:07 QualityCloud import API authentication failed — certificate revoked07:10 DisasterMap route-support-temp login failed — account disabled07:11 Aster eval-runner-ast-04 execution blocked — account disabled07:13 ComplyVault archive export denied — insufficient approval policy
三枝は、画面の前で固まった。
攻撃者が、閉じた扉を順番に叩いている。
試している。どこがまだ開いているか。どの鍵が死んだか。どの通知が届かなくなったか。どの承認が止まったか。
三枝は、拒否ログをエクスポートしようとして、手を止めた。
今は、ただの失敗ログではない。
これは、攻撃者の現在地を示すログだ。
彼は第三会議室へ急いだ。
午前七時三十分。
第三会議室には、すでに黒崎課長がいた。
「見たか」
「はい。拒否ログが一気に増えています」
黒崎は、腕を組んで画面を見た。
「閉じた扉を全部試しているな」
「はい」
山崎行政書士事務所の山崎が、数分遅れて入ってきた。三枝が状況を説明すると、山崎はすぐにホワイトボードへ向かった。
黒いペンで、こう書いた。
拒否ログ
その下に、さらに三つ書く。
何を拒否したか誰を拒否したかなぜ拒否できたか
山崎は言った。
「拒否ログは、防御が機能した証跡です」
久我真琴がオンラインで参加し、すぐに続けた。
「同時に、攻撃者の探索ログでもあります。相手が何をまだ使えると思っていたかが分かります」
三枝は頷いた。
「閉じた扉を、相手が確認している」
「はい」
久我は画面を拡大した。
「時刻が近すぎます。手動ではなく、自動化された確認の可能性があります。Blue Heron側に、閉鎖済み経路を順番に試すスクリプトかオーケストレータがあるのかもしれません」
望月社長が入室した。
「つまり、攻撃者はまだ当社を見ていますか」
久我は慎重に答えた。
「見ている、というより、持っている鍵束を試している可能性があります」
山崎が補足した。
「ここで重要なのは、失敗を軽視しないことです。成功していないから問題なし、ではありません。失敗ログは、攻撃者の保有情報を示します」
三枝は、時系列表に入力した。
07:30 複数システムで拒否ログ増加を確認。ComplyVault、SafetyBoard、NotifyBridge、QualityCloud、DisasterMap、Aster等で、失効済み証明書、停止済みアカウント、無効化済みコネクタ、訓練計画ID未存在により操作失敗。攻撃者が閉鎖済み経路を自動的に再試行している可能性。
保存。
山崎は、三枝の画面を見ながら言った。
「拒否された理由を列にしてください」
「理由ですか」
「はい。certificate revoked、account disabled、connector quarantined、no active drill plan、approval policy insufficient。理由ごとに、どの統制が効いたかが分かります」
三枝は、新しいシートを作った。
拒否ログ整理表
列を入力する。
時刻対象システム試行内容使用された旧資格情報拒否理由有効だった統制攻撃者保有情報の推定追加対応
ログが、ただの警告ではなく、会社の防御成績表になっていく。
午前八時十分。
拒否ログを並べると、奇妙な順番が見えた。
最初は、ComplyVault。次に、SafetyBoard。次に、NotifyBridge。次に、QualityCloud。次に、DisasterMap。次に、Aster。
それは、駿河メディカルロジスティクスが閉じてきた順番に近かった。
三枝は、画面を見ながら呟いた。
「こちらの対策順に、相手が再試行しています」
久我がすぐに反応した。
「時系列を重ねてください」
三枝は、未了事項台帳の更新時刻と拒否ログを並べた。
証明書失効→ 数時間後、ComplyVault API再試行。
訓練モード停止→ 翌朝、訓練通知再送信試行。
NotifyBridge隔離→ コールバック失敗。
QualityCloud旧証明書失効→ 旧インポートAPI認証失敗。
DisasterMap外部支援アカウント停止→ ログイン失敗。
Aster評価アカウント停止→ モデル実行失敗。
黒崎が低く言った。
「向こうは、こちらが何を閉じたかを、まだ何らかの方法で知っているのか?」
久我は答えた。
「あるいは、攻撃者が持っている鍵束を定期的に全試行しているだけかもしれません。どちらかは、時刻の相関で見ます」
山崎が言った。
「どちらにしても、拒否ログは重要です。対策が効いていること、相手がどの鍵を持っている可能性があること、まだ試行が続いていることを示します」
望月が言った。
「これを取締役会へ報告しますか」
山崎は頷いた。
「はい。ただし、不安を煽らない表現にします。攻撃者の再試行は続いているが、複数の閉鎖措置が有効に機能し、拒否されている、と」
三枝は、経営向けメモに入力した。
拒否ログは、攻撃継続の証跡であると同時に、防御機能の証跡である。
山崎がそれを見て言った。
「良いです」
午前八時四十五分。
Blue Heronからメールが届いた。
件名は、Denied。
本文は、短かった。
So many doors say no now.Very rude.
ずいぶん多くの扉が、今は拒否する。無礼だ。
三枝は、保全しながら、初めて少しだけ口元を緩めた。
「拒否されていることは認めています」
久我も、わずかに笑った。
「相手が苛立っていますね」
山崎は、静かに言った。
「挑発には乗りません。記録します」
三枝は入力した。
08:45 不明差出人より件名“Denied”のメール受信。複数経路が拒否していることを示唆。“So many doors say no now.”と記載。拒否ログ増加との関連可能性。証跡保全。
望月は、画面を見ながら言った。
「拒否できる会社になってきた、ということですね」
山崎は頷いた。
「はい。許可する統制だけでなく、拒否する統制も会社の防御です」
秋山が言った。
「でも、拒否しすぎると業務が止まります」
「その通りです」
山崎は答えた。
「だから、拒否理由を説明できる必要があります。何を拒否し、なぜ拒否し、正当な利用者はどうすればよいか。そこまで設計しないと、拒否は業務妨害にもなります」
三枝は、メモした。
拒否にも説明がいる。
拒否ログは、防御である。しかし、正当な業務を止めた時には、説明と代替が必要になる。
これもまた、線を引く仕事だった。
午前九時二十分。
拒否ログの中に、三枝は一つだけ見慣れない項目を見つけた。
09:18 PublicNoticeHub publish API denied — missing signing certificate
PublicNoticeHub。
三枝は、眉をひそめた。
「PublicNoticeHubって、何ですか」
秋山が顔を上げた。
「対外公表文の配信サービスです。広報が使っています。ニュースリリース、障害情報、取引先向けお知らせを掲載するための」
望月の表情が硬くなった。
「今、そこに投稿しようとしたということですか」
三枝はログを開いた。
試行内容。
publish draftタイトル。
駿河メディカルロジスティクスに関する重要なお知らせ
送信者。
public-notice-temp
拒否理由。
missing signing certificate
黒崎が言った。
「署名証明書がないから拒否された?」
三枝は頷いた。
「はい。PublicNoticeHubは、公開文に電子署名が必要です。署名証明書がないため拒否されています」
久我が言った。
「これは大きいです。攻撃者が、偽のお知らせを公開しようとした可能性があります」
秋山が、すぐに広報へ連絡した。
「本日、そのような公開予定はありません」
山崎が、ホワイトボードに書いた。
偽公表
その下に、続ける。
会社の声を偽る攻撃
三枝は、拒否ログの詳細を開いた。
draftの本文は、拒否ログに一部だけ残っている。
当社は、現在発生している一連の事象について、外部専門家の助言により影響は限定的であると判断し、追加の個別通知は行わない方針です。
三枝は、思わず声を失った。
山崎の名前はない。だが、「外部専門家の助言により」という言葉が入っている。
会社の説明を止めるための偽公表だ。
望月が、低い声で言った。
「これが通っていたら、どうなっていましたか」
秋山が答えた。
「取引先や本人通知への姿勢が、実際と矛盾します。隠しているように見えますし、外部専門家が軽視を助言したようにも見えます」
山崎の表情は変わらなかった。
だが、声は冷たかった。
「山崎行政書士事務所は、そのような助言をしていません」
望月は、すぐに頷いた。
「分かっています」
久我が言った。
「攻撃者は、会社の説明システムを直接攻撃し始めました。偽の公表で、第二報や注意喚起を上書きしようとした可能性があります」
三枝は入力した。
09:18 PublicNoticeHub publish APIへの投稿試行を拒否ログで確認。送信者public-notice-temp。拒否理由:missing signing certificate。タイトル“駿河メディカルロジスティクスに関する重要なお知らせ”。本文断片に“外部専門家の助言により影響は限定的”“追加の個別通知は行わない方針”等。偽公表試行の可能性。
保存。
拒否ログが、今度は会社の声を守った。
午前九時四十五分。
PublicNoticeHubの棚卸しが始まった。
広報担当が緊急参加し、震える声で説明した。
「PublicNoticeHubは、広報と法務総務が使っています。公開には、電子署名証明書と二名承認が必要です」
山崎が聞いた。
「public-notice-tempは何ですか」
広報担当は、資料を確認した。
「過去のWebサイトリニューアル時に、制作会社がテスト投稿するために作ったアカウントです。契約は終了しています」
会議室の全員が、もはや驚かなかった。
契約終了済み。テストアカウント。Active。公開系システム。
三枝はアカウント詳細を開いた。
public-notice-temp。
状態。
Active。投稿下書き作成可能。公開には署名証明書が必要。MFA通知先。
web-renewal-support@creative-one.example
Web制作会社の支援メール。
契約終了。
一年前。
山崎が言った。
「また、終了管理です」
三枝は入力した。
09:48 PublicNoticeHubにpublic-notice-tempを確認。Webサイトリニューアル時の制作会社テスト投稿用アカウント。契約終了済み、Active、下書き作成可能、公開には署名証明書必須。MFA通知先は旧Web制作会社支援メール。
望月が言った。
「保全後、停止してください」
三枝は頷いた。
状態保全。下書き保全。アクセスログ保全。MFA通知先保全。アカウント停止。
public-notice-temp: Disabled
保存。
午前十時二十分。
PublicNoticeHubの署名証明書も確認された。
public-notice-signing-cert-2028
状態。
有効。所有者。
広報部長。副所有者。
法務総務部長。保管先。
社内HSM。利用時。
二名承認。最終利用。
取引先向け第二報公開時。
三枝は、少しだけ安心した。
「署名証明書は現行管理されています。外部制作会社には渡っていません」
久我が確認した。
「ログ上も、今回の偽投稿試行では署名証明書が使われていません。だから拒否されています」
山崎が言った。
「これは、良い拒否ログです。公開文署名の統制が機能しました」
望月が、深く息を吐いた。
「危なかった」
山崎は頷いた。
「はい。会社の声を守るには、公開文にも署名が必要です」
秋山が言った。
「署名証明書を導入したのは、改ざん防止のためでした。今回、役に立ちましたね」
山崎は答えた。
「はい。ただし、署名証明書も終了管理と棚卸し対象です。今回は正しく管理されていたため拒否できました」
三枝は、拒否ログ整理表に入力した。
PublicNoticeHub publish API denied拒否理由:missing signing certificate有効だった統制:公開文電子署名、二名承認、署名証明書HSM保管攻撃者保有情報の推定:テスト投稿アカウント資格情報、偽公表文案追加対応:public-notice-temp停止、旧Web制作会社MFA通知先確認、公開文監視強化
保存。
拒否ログは、防御の証明だった。
午前十時五十五分。
Blue Heronからメールが届いた。
件名は、Your voice。
本文は短い。
We tried to speak as you.Your mouth refused.
あなたたちとして話そうとした。あなたたちの口は拒否した。
三枝は、保全しながら、静かに息を吐いた。
会社の口。
PublicNoticeHub。ニュースリリース。お知らせ。取引先向け公表。謝罪文。注意喚起。
これもまた、守るべきシステムだった。
山崎は言った。
「攻撃者は、会社の声を奪おうとしました。拒否された。これは重要です」
望月は、画面を見ながら言った。
「当社が説明する前に、相手が当社の言葉で説明しようとした」
秋山が言った。
「偽公表対策も、再発防止に入れる必要があります」
山崎は頷いた。
「はい。公開文署名、公開前二名承認、テストアカウント削除、公開通知監視、偽サイト・偽公表監視、広報・法務・情シス連携です」
三枝は、未了事項台帳に追加した。
U-157 公開系システムのテストアカウント・署名・承認棚卸し未了
責任者。
広報・秋山・三枝
期限。
七日以内に初版
状態。
開始
保存。
また、新しい管理対象。
会社の声。
説明の倉庫の出口だった。
午前十一時三十分。
広報部は、急いで公式サイトとPublicNoticeHubの状態確認を行った。
偽のお知らせは公開されていない。下書きは拒否され、保存されていない。ただし、拒否ログに本文断片が残っている。公開通知メールは、広報と法務総務に届いている。外部制作会社支援メールにもMFA通知が飛んでいた可能性がある。
旧Web制作会社、Creative Oneへの確認が始まった。
相手は、すぐに答えた。
「web-renewal-supportメールは、現在使っていません。ただし、メールボックスは残っていました」
三枝は、もう驚かなかった。
旧メール。残存。MFA。
Creative Oneは、ログ保全を約束した。
山崎が言った。
「Web制作終了時の終了証明パックも必要です」
広報担当が頷いた。
「制作会社にも、アカウント削除、テスト環境削除、通知先削除、公開権限削除を求めます」
山崎は言った。
「さらに、下書きやテスト文面も削除対象です。公開前の文書は、会社の未来の声です」
三枝はメモした。
下書きは、未来の声。
攻撃者は、未来の声を偽造しようとした。
午後零時四十五分。
望月は、PublicNoticeHubの件を取締役会へ報告した。
「本日、偽のお知らせを当社公式公開システムへ投稿しようとする試行がありました。公開文の電子署名と二名承認が機能し、投稿は拒否されました」
監査役が言った。
「拒否されたなら、被害はないのですか」
望月は、少し間を置いた。
「公開被害はありません。ただし、契約終了済みWeb制作会社テストアカウントが残っていたこと、偽公表文が作成されたこと、MFA通知先が旧外部メールであったことは重大です」
山崎が補足した。
「未遂も証跡です。拒否できた理由を確認し、同型経路を閉じる必要があります」
財務担当役員が聞いた。
「公開文署名がなかったら、出ていた可能性があるのですか」
三枝が答えた。
「はい。少なくとも下書き作成まではできていました。公開には署名が必要だったため拒否されています」
役員たちの表情が変わった。
会社の声を偽られる。
それは、数字以上に重いリスクだった。
望月は言った。
「今後、公開系システムは重要インフラとして扱います。会社の公式な声を出す場所です」
山崎は頷いた。
「広報システムもサイバーセキュリティ統制の対象です」
三枝は記録した。
午後二時十分。
拒否ログの解析で、久我が新しい相関を見つけた。
「拒否ログの直前に、PublicNoticeHubのテンプレート一覧が読み取られています」
三枝が画面を見た。
読み取りアカウント。
public-notice-temp
対象。
謝罪文テンプレート。障害報告テンプレート。個人情報影響説明テンプレート。取引先注意喚起テンプレート。再発防止方針テンプレート。
三枝は、背筋が冷えた。
攻撃者は、会社がどう謝るかも見ていた。
山崎が言った。
「説明テンプレートも、業務地図です」
秋山が頷いた。
「説明地図ですね」
大石が言った。
「また地図か」
山崎は頷いた。
「はい。どの状況で、どの言葉を使うかを示す地図です」
久我が続けた。
「攻撃者がテンプレートを見れば、どんな偽文書が本物らしく見えるか分かります」
三枝は、情報影響整理表に追加した。
M-012 公開文・謝罪文・注意喚起テンプレート
分類。
説明地図
業務機密性。
高。
攻撃利用可能性。
高。
三枝は入力した。
14:14 PublicNoticeHubのテンプレート一覧がpublic-notice-tempにより読み取られていたことを確認。対象:謝罪文、障害報告、個人情報影響説明、取引先注意喚起、再発防止方針。説明テンプレートを説明地図として管理対象化。
保存。
山崎は言った。
「説明の倉庫には、テンプレートも含まれます」
望月が頷いた。
「テンプレートも守ります」
午後三時二十五分。
Blue Heronからメールが届いた。
件名は、Apology template。
本文は、短かった。
You apologize well.We learned the style.
あなたたちは謝るのがうまい。文体を学んだ。
その下には、偽公表文の別案が貼られていた。
文体は、確かに駿河MLの第二報に似ていた。
現時点で確認している事実未確認事項次回報告予定
山崎が、静かに言った。
「当社の説明形式を模倣しています」
秋山の顔が強張った。
「山崎先生が整えた形式を、攻撃者も学んだ」
山崎は頷いた。
「はい。説明できる形式は、防御になる一方、模倣もされます。だから、公式公開経路と署名が必要です」
三枝は、息を吐いた。
説明の形も、守らなければならない。
ただ、これは避けられない。
会社が分かりやすく説明すれば、その文体は外から見える。だから、文体だけでは本物を証明できない。公式経路、署名、窓口、検証手段が必要だ。
山崎はホワイトボードに書いた。
文体は本人確認ではない。
その下に、
公式経路・署名・検証窓口
三枝は時系列表に入力した。
15:25 不明差出人より件名“Apology template”のメール受信。当社第二報様式に似せた偽公表文案を提示。“文体を学んだ”と記載。説明テンプレート模倣可能性。対応方針:文体ではなく公式経路、電子署名、検証窓口により真正性を確認する。
保存。
午後四時十分。
広報、法務総務、情シスで、公式発信真正性の確認方法を作った。
公式発信確認ルール
一 重要なお知らせは公式サイトと取引先登録窓口からのみ発信する。
二 重要PDFには電子署名を付与する。
三 取引先向けメールには専用問い合わせ番号を記載し、既存窓口で確認できるようにする。
四 SNSや不明なリンク先の情報は、公式サイトの掲載有無で確認する。
五 攻撃者や第三者が提示する当社名義文書は、文体ではなく署名・掲載場所・問い合わせ番号で確認する。
山崎が言った。
「これは、取引先にも案内します」
営業部長が頷いた。
「偽の謝罪文や偽の通知が出る前に、確認方法を知らせます」
久我が言った。
「攻撃者は、情報を漏らすだけでなく、偽情報を混ぜてきます。確認方法を先に配るのは有効です」
望月が言った。
「すぐに出しましょう」
三枝は、公式発信確認ルールを公開準備した。
PublicNoticeHubで、正式なお知らせとして作成。電子署名付き。二名承認。署名証明書利用。公開前チェック。
今度は、正規の経路で。
送信。
公開完了
三枝は入力した。
16:28 公式発信確認ルールを公開。重要PDF電子署名、公式サイト掲載、取引先登録窓口、問い合わせ番号による真正性確認を案内。偽公表・偽謝罪文対策として実施。
保存。
午後五時五十分。
Blue Heronからメールが届いた。
件名は、Verified。
本文は、短い。
You signed your voice.Annoying.
あなたたちは、自分の声に署名した。厄介だ。
三枝は、保全しながら、静かに笑った。
「厄介らしいです」
望月が言った。
「それなら、やってよかったですね」
山崎は頷いた。
「はい」
秋山が言った。
「署名確認の問い合わせが取引先から来始めています。確認方法を出した効果があります」
営業部長も言った。
「偽情報を受け取ったら、まず問い合わせ番号で確認するという返信が来ています」
久我が言った。
「攻撃者の偽文書効果は、かなり下がります」
三枝は入力した。
17:50 不明差出人より件名“Verified”のメール受信。公式発信確認ルールおよび電子署名付き公開に反応した可能性。“自分の声に署名した。厄介だ”と記載。証跡保全。
保存。
会社の声にも、鍵がかかった。
午後七時。
その日の最終会議で、山崎は「拒否ログ」と「公式発信」をまとめた。
「今日は、二つの重要な防御が機能しました」
ホワイトボードに書く。
一 拒否する防御二 真正性を示す防御
「拒否する防御は、失効済み証明書、停止済みアカウント、訓練計画なし、署名証明書なしの操作を拒否しました。真正性を示す防御は、当社の公式な声を電子署名、公式掲載、問い合わせ番号で確認できるようにしました」
望月が言った。
「許可、拒否、証明ですね」
山崎は頷いた。
「はい。会社の行動は、この三つで支えられます。何を許可するか。何を拒否するか。何が本物かをどう証明するか」
三枝は、その三つをメモした。
許可。拒否。証明。
この物語は、ずっと証跡の話だった。
だが、証跡は過去だけではない。
未来の拒否も証跡になる。本物の声も証跡で示す。
セキュリティは、会社が何を信じ、何を拒み、何を本物とするかを設計することなのだ。
午後八時半。
三枝は、一人でPublicNoticeHubのログを見ていた。
偽公表は拒否された。本物の確認ルールは公開された。取引先が署名を確認している。問い合わせ番号が使われている。
ログは、また会社の行動を記録している。
publish deniedofficial notice signedcustomer verification accessedsignature validated
拒否ログと証明ログ。
どちらも、会社を守っている。
山崎が、背後から声をかけた。
「三枝さん。今日は、少し前に進みましたね」
「はい。拒否できたのは、大きかったです」
「拒否できる会社は、強いです」
三枝は振り返った。
山崎は続けた。
「ただし、拒否した理由を説明できる会社は、もっと強いです」
三枝は、静かに頷いた。
拒否は、ただ閉めることではない。
閉めた理由を言えること。正当な相手には別の道を示せること。本物を証明できること。
それが、強さなのだ。
午前零時。
三枝は、時系列表の最後に入力した。
00:00 複数システムにおける拒否ログを確認。失効済み証明書、停止済みアカウント、隔離済みコネクタ、訓練計画ID不存在、公開文署名証明書不足により攻撃試行を拒否。PublicNoticeHubへの偽公表試行を電子署名統制により拒否し、公式発信確認ルールを公開。拒否ログを防御機能および攻撃者探索の証跡として整理開始。
保存。
画面右下。
保存しました。
三枝は、自分のメモにも一行加えた。
拒否は、無言であってはならない。拒否の理由を残すことが、防御になる。
保存。
第三会議室の外では、倉庫がいつもの音を立てている。
ラベルが出る。荷物が流れる。通知が届く。署名が検証される。古い鍵は拒否される。
会社は、まだ攻撃の中にいる。
だが、扉は少しずつ「いいえ」と言えるようになっていた。





コメント