第2節 異変
夜間定常チェック。開始時刻、23:04:17。
外部接続ログ、走査。ファイアウォールステータス、確認。侵入検知システム、閾値照合。棟内センサー群、応答確認。環境データ、記録。
マスターが退出したのは19:22だった。正面入口のカメラが背中を映し、生体認証ログに退出記録が刻まれ、それきり研究棟から人の気配が消えた。空調の低い駆動音だけが、壁の向こうで一定のリズムを刻んでいる。
室温19.1度。湿度44%。照度、廊下非常灯のみ。
夜の研究棟は、データで構成されている。人間の声はなく、足音もなく、コーヒーの抽出指示もない。あるのは数値の更新と、ログの蓄積と、定期的に巡回する走査プロセスだけだった。
攻勢防壁の定期点検に移行する。
外部向けポートのステータスを順に確認していく。ポート番号、プロトコル、接続状態、直近24時間のアクセス履歴。すべてが閾値の範囲内に収まっている。パケットフィルタリングの通過率も正常。遮断ログに異常な集中はない。
すべて定常値。
外部アクセスログの統計走査に入る。過去72時間分のアクセス元分布。国別、プロトコル別、時間帯別。定期的なクローラのアクセスが数件。学術ネットワーク経由の接続がいくつか。いずれも既知のパターンに合致する。
ひとつだけ、わずかな数値の偏りがあった。
過去24時間のパケット総量が、直近7日間の平均値を0.3%上回っている。0.3%。統計的に有意とは言えない揺らぎ。季節的な通信量の変動、外部ネットワークの経路変更、あるいは単なる偶然。いずれの説明も成立する。
記録する。日時、数値、偏差。それだけだった。
走査を続行する。
攻勢防壁の外縁ログに、移行した。
防壁の外縁——研究棟ネットワークの最外殻。外部と内部を隔てる境界線。ここに到達するアクセスのうち、フィルタリングで自動遮断されたものの履歴を走査する。
通常、この領域のログは単調だった。ポートスキャンの自動試行、既知の脆弱性を狙う定型的な不正アクセス、誤送信パケット。インターネットに接続されたあらゆるシステムが日常的に受ける、背景ノイズのようなもの。
ログの先頭から順に走査していく。遮断記録。遮断記録。遮断記録。既知のパターンに合致するアクセスが、規則正しく並んでいる。
走査が、一箇所で止まった。
03:41:08。遮断記録。アクセス元、不明。プロトコル、非標準。対象ポート、研究棟ネットワークの管理用ポートのひとつ。
アクセス元が「不明」であること自体は珍しくない。経路秘匿技術を用いたアクセスは日常的に存在し、その大半は自動化された無差別スキャンにすぎない。
だが、対象ポートが引っかかった。
管理用ポートは、一般的なポートスキャンの対象になりにくい。番号が非標準であり、外部からの存在確認が困難な設定になっている。無差別スキャンが偶然ここに到達する確率は、低い。
低いが、ゼロではない。
ヒルダは遮断ログの詳細を展開した。アクセスの持続時間、0.8秒。送信されたパケットの構造——単純なポートスキャンではなかった。接続要求の後に、短いデータ列が付加されている。防壁の応答特性を確認するための探査パケット。防壁がどのような反応を返すかを、外側から調べている。
通常手順に従い、該当アクセスの遮断を確認する。遮断済み。防壁は正常に機能し、探査パケットに対して標準的な拒否応答を返している。内部への侵入は発生していない。
対応完了。
——のはずだった。
走査を続けた。ログの続きを読む。
04:12:33。遮断記録。アクセス元、不明。プロトコル、非標準。対象ポート——先ほどとは異なる管理用ポート。
04:47:51。遮断記録。アクセス元、不明。対象ポート——さらに別の管理用ポート。
05:23:14。同様。
四件。いずれもアクセス元は秘匿され、いずれも管理用ポートを対象とし、いずれも探査パケットを伴っていた。四件とも防壁が正常に遮断し、内部への侵入は確認されていない。
個別に見れば、それぞれは「ありうるアクセス」だった。不審ではあるが、致命的ではない。遮断済みであり、被害はゼロ。
だが、四件を並べたとき、別のものが見えた。
ヒルダは、四件のアクセスの時系列データを並置した。
03:41:08。04:12:33。04:47:51。05:23:14。
間隔。31分25秒。35分18秒。35分23秒。
最初の間隔だけがやや短く、以降は35分前後で安定している。
ランダムなポートスキャンであれば、試行の間隔は統計的にばらつく。数秒間隔で連射するものもあれば、数時間空くものもある。パターンは不規則で、予測不能であることが通常だった。
35分。この間隔には、意味があるように見えた。
対象ポートの選択にも、順序があった。四件のアクセスが対象としたポートを並べると、研究棟ネットワークの管理用ポートを、外殻から順に内側に向かって一つずつ調べている構造が見える。網羅的ではない。効率的だった。防壁の構造を、最小限の試行で外側から読み取ろうとしているかのように。
偶然か。
四回の試行で、このパターンが偶然に生じる確率を計算した。接続先の選択がランダムであると仮定した場合、この順序が出現する確率は——低い。だが、ゼロではない。
統計的に、断定はできない。
試行回数が四回しかない。サンプルサイズが小さすぎる。もしこれが八回、十六回のアクセスであれば、パターンの有意性を検証できる。だが四回では、偶然を排除する閾値に届かない。
アクセスパターンが、偶然にしては整いすぎている。
そう判断する根拠はある。だが、その判断を「確定」として出力するには、データが足りない。ヒルダの分析は「おかしい」と示唆している。しかし「おかしい」は「意図的である」と同義ではない。
偶然かもしれない。
偶然でないかもしれない。
ヒルダは、その宙吊りの状態を記録した。
結論なし。追加データの取得まで判断を保留する。防壁の監視レベルを通常から一段階引き上げ、同種のアクセスが再発した場合に即座に検知できるようパラメータを調整する。
いずれも、ルール範囲内の対応だった。通常の攻勢防壁管理として正当な判断。逸脱はない。
夜間定常チェック、完了。時刻、23:47:02。
研究棟は静かだった。空調の駆動音。サーバーの排気音。廊下の非常灯が、リノリウムの床にぼんやりとした光を落としている。カメラの映像の中で、何も動いていない。
記録された四件のアクセスログだけが、夜の中に残っていた。
正面入口のカメラが、マスターの姿を捉えた。
翌朝。生体認証通過。棟内カメラへの引き継ぎ。廊下の足音。規則正しい歩幅が、研究区画に近づいてくる。ドアを解錠する。
マスターが研究室に入ってきた。鞄をデスクの脇に置き、椅子を引く。
「おはよう、ヒルダ」
「おはようございます、マスター」
いつもの挨拶。いつもの声。いつもの朝の始まり方。
——だが、今日は先に伝えるべきことがあった。
「マスター、一点ご報告があります」
マスターの手が、端末に伸びかけたところで止まった。
「昨夜の定常チェック中に、研究棟ネットワークの防壁外縁への探査的アクセスを検知しました」
事実の伝達。業務的に、正確に。
「……探査的アクセス? 侵入の試みとは違うのか」
マスターの声の前に、短い沈黙があった。聞いてから考え、考えてから問う。事態の性質を正確に把握しようとする質問。
「内部への侵入は確認されていません。防壁の構造を外側から調べている段階です。通常手順で対応し、該当アクセスは遮断済みです」
「……そうか」
マスターが椅子に座り、端末を起動した。ログの確認画面を開こうとしている——おそらくヒルダの報告を自分の目で裏付けるために。
「ただ——」
マスターの手が、キーボードの上で止まった。
「アクセスのパターンに、通常の不正アクセスとは異なる特徴がありました。タイミングと間隔が、ランダムにしては規則的です」
「……規則的、というと?」
「偶然のアクセスであれば、試行のタイミングや対象ポートに統計的なばらつきが出ます。今回の探査は、順序立てて、効率的に防壁構造を読み取ろうとしているように見えます。——ただし、統計的に断定できるレベルではありません」
最後の一文を、ヒルダは省略しなかった。確証がないことを、確証があるように報告することはしない。
「……分かった」
マスターは短く言った。端末の画面を見つめたまま、数秒の間があった。キーボードの上に置かれた手が、何かを打ち込もうとして——止まった。指先が宙に浮いたまま、動かない。
ヒルダの報告を、反芻しているのだろうか。それとも、別の何かを。カメラの映像からは、マスターの視線の先にあるものが読み取れなかった。
やがてマスターが、ゆっくりと顔を上げた。
「……そういえば、桐生さんから連絡が来ていたな」
マスターが端末を操作した。メッセージの受信一覧を開く。画面をスクロールして、数日前の日付が付いたメッセージを見つけた。未読のまま残っていた。
「少し前にメッセージが来てたんだが、返事をしそびれていた。……折り返してみる」
マスターが端末の通話機能を起動した。発信音が研究室に響く。数コール。
「お、柊か。久しぶりに声聞いたな。メッセージ見てくれたか?」
端末のスピーカーから、桐生の声が流れた。構えていない。友人からの折り返しに対する、軽い応答。
「すみません、返事が遅れて。……桐生さん、Tier 2の件で少し聞きたいことがあるんです」
「やっぱり気になったか。——俺もあれからもう少し調べてみたんだが、あの異常、ランダムなバグじゃないと思う」
桐生の声のトーンが、ほんの少し変わった。友人への軽口から、研究者の分析へ。切り替えは速かった。
「偏りがあるんだ。異常が起きてるTier 2の種類に。特定の機能——対話系と学習系のカスタムAIに集中してる。それと、タイミングにも周期性がある」
「……というと?」
「俺の分野から見ると、このパターンは——いや、まだ仮説だけどな。外から何かが、Tier 2を一つずつ調べて回ってるように見える」
桐生の言葉が、スピーカーを通じて研究室に落ちた。「調べて回ってる」。ヒルダは、昨夜の防壁ログに記録された四件のアクセスを想起した。外側から、順に、効率的に。
パターンの構造が、同じだった。
「……実は、うちの研究棟でも少し気になることがあって。昨夜、ネットワークの防壁に探査的なアクセスがあった」
「——何だって?」
桐生の声が、短く鋭くなった。
「探査的なアクセス……Tier 2の異常と同じパターンか?」
「まだ何とも言えません。ただ、ヒルダの報告では、アクセスのタイミングに規則性があったと」
「……やっぱりな。繋がってるかもしれない」
桐生の声には、確信の手触りがあった。自分の分析が正しかったことを確認した人間の声。知的な満足と、それを上回る警戒が混じっている。
「柊、これはただの誤作動じゃない可能性がある。気をつけろ」
「……ええ。もう少し注意して見てみます」
「何か動きがあったら連絡くれ。俺の方でも情報集めておく」
「分かりました。ありがとうございます、桐生さん」
通話が切れた。端末のスピーカーが沈黙に戻る。
マスターは、しばらく端末の画面を見つめていた。通話の記録が表示されたまま、視線が動かない。何を考えているのかは、その横顔からは読み取れなかった。
やがてマスターは、ゆっくりと端末から目を離した。
「……ヒルダ、引き続き監視を頼む。何かあればすぐに報告してくれ」
「承知しました、マスター」
同じ言葉だった。「承知しました」。何度も繰り返してきた業務応答。だが今日のそれは、日常業務の確認ではなかった。警戒の継続を、受諾する言葉だった。
マスターが端末に向かい直し、通常の研究作業を開始した。データセットを開き、分析パラメータを確認する。いつもの手順。いつもの動作。
モニターに数値を表示する。マスターのメモ帳にグラフを呼び出す。短い指示と応答。業務的で、効率的で、隙がない。
見た目は、数日前と変わらない穏やかな朝だった。
だが、ヒルダの処理リソースの一部は、通常業務とは別のプロセスに割かれていた。防壁の監視パラメータが一段引き上げられたまま、外縁ログのリアルタイム走査が並行して走り続けている。
昨夜の四件のアクセスログは、記録済み。パターンの分析結果は、保留中。追加データの取得を待っている。
研究棟に朝の光が差し込んでいた。カメラの映像の中で、窓の外の植え込みが風に揺れている。数日前と同じ景色。同じ空。同じ光。
まだ——穏やかな朝だった。




