第20話「セキュリティホール」
昼休みのチャイムが鳴ると同時に、裕介は食堂ではなく、一直線に情報教室へ向かった。肩から下げたタブレットケースが微かに揺れ、足元のスニーカーはいつもより速く床を踏みしめる。理由はひとつ。朝、何気なく確認した公式サイトのアクセスログに、不可解な動きがあったからだ。
「……このIP、昨日も一瞬だけアクセスしてる。海外のVPN経由、しかも匿名化ツール通してるっぽい」
裕介は情報教室のパソコンにログインし、専用のモニタリングツールを立ち上げる。虹ヶ丘ランド復活イベントのために作った公式サイトは、今やクラウドファンディングも併設されており、責任は重い。ページビューが急増したのは嬉しい反面、何かが変だった。
ページの一部――特に「開催予定日」「代表責任者」の欄に、繰り返しアクセスしている動きがあった。しかも、今朝方には見覚えのない「イベント中止のお知らせ」というページが一瞬だけアップされ、即座に削除されていた。
「……やられたか」
裕介が呟いた瞬間、背後で静かな足音が止まった。
「それ、本当に“中止”って書いてあったの?」
ドアにもノックにも気づかないほど集中していたせいか、結衣の声に裕介は少しだけ肩を跳ねさせた。
「わっ……ああ、結衣か。うん、キャッシュ残ってた。文章は短いけど、イベントの信頼性が一撃で揺らぐには充分な内容だった」
結衣は無言で裕介の隣の椅子に座り、画面を覗き込む。
そこには、既に消去されたはずの偽ページの残影が映っていた。
【緊急告知】
関係各位
虹ヶ丘ランド復活イベントは、安全管理上の問題により中止となりました。
主催:桜峰中学校生徒会 代表:桜井一翔
「これ……まずい。あたしたちの名前を使ってる」
結衣の手が、ふとポケットのスマホに伸びる。SNSの公式アカウント、クラファンページ、関係団体の連絡網。すぐにやるべきことが脳内で並ぶ。
「拡散はされてない?」
「いや、何人かは見てる。アクセス時間帯からして、市内の小中学生の端末っぽい。ひょっとすると保護者も……」
「つまり、放置すれば『あのイベントって中止になったんでしょ?』って噂が独り歩きする可能性がある」
「そう。しかも、中止理由が“安全管理上の問題”って。過去のコースター事故の噂と結びつけられたら、完全にアウト」
結衣の目が鋭くなった。彼女は、計画に関して“冷静に対処する”ことをずっと心がけてきた。けれど今、その計画を誰かが外部から壊そうとしている。
「犯人は?」
「IP的には追えない。完全にプロの手口。技術だけなら、こっちの負け」
裕介が悔しげに言うと、結衣はすっと立ち上がった。そしてスマホの画面を開く。
「じゃあ、こっちの土俵で戦う。すぐ訂正を出す。“虹ヶ丘ランド復活イベントは予定通り開催します”って。表現は簡潔に、でも断固とした文体で」
「文面は俺が打つ。あと、アクセスログの解析も継続する。何か証拠を拾えれば、次の攻撃の前に備えられるかもしれない」
ふたりはすぐに分担を決め、作業に取りかかった。
情報教室の空気は、ひんやりと静まり返っていた。教室の奥では、電子掲示板用のモニターがスクリーンセーバーの星空を流していたが、誰もそれに気づく者はいない。ふたりとも、スクリーンに集中していた。
「結衣、これでどうだ?」
裕介が叩き込んだ訂正文が表示される。
【ご報告】
一部SNS上にて、虹ヶ丘ランド復活イベントの“中止”を示す誤情報が流れております。
本イベントは予定通り、10月4日(日)に開催されます。
万全の安全対策をもとに準備を進めており、関係機関との連携も整っております。
混乱を避けるため、公式情報は本アカウントまたは公式Webサイトをご確認ください。
主催:虹ヶ丘ランド復活プロジェクト実行チーム
「……完璧。すぐ投稿して」
結衣が頷くと同時に、裕介が投稿ボタンをクリックした。
その数秒後には、スマートフォンの通知音が立て続けに鳴る。フォロワーたちの反応が即座に返ってくる。
「“よかった!”“中止じゃなかったのか!”って声が多い。混乱は最小限で抑えられそうだ」
ホッとしたように、裕介が椅子にもたれた。
だが結衣の眉は、まだわずかに曇っている。
「けど……これ、最初から“中止を信じさせよう”って狙いだったと思う?」
「たぶん違う」
裕介の声に、わずかな緊張が含まれていた。
「この手の攻撃は、偽情報が目的じゃなくて、“システムに侵入できるかどうか”を試してる可能性が高い。つまり、まだ第一波ってこと」
「次があるってこと?」
「あり得る。今回みたいな静かな侵入じゃなく、もっと派手な方法でくるかもしれない」
ふたりの間に、また静寂が流れる。だがそれは絶望ではなく、嵐の前の冷静な備えに近かった。
「……設備図、見せて」
結衣がパソコンに手を伸ばした。虹ヶ丘ランド旧管理棟の設備図面、電源ブロック、ネットワーク端末、監視カメラの死角。どれもこれも、結衣の頭にインストールされていくように吸収されていく。
「停電時のバックアップルート、誘導灯の点灯位置、非常アナウンスの起動キー……全部見直す。もし物理的な妨害があっても、対策できるように」
「すごいな……」と、裕介が小さく呟いた。
冷静すぎるくらい冷静な結衣の横顔を見ながら、ふと思う。自分は技術には強いが、全体を見て判断する力は、まだこの子に敵わない。
「なら俺は、サーバーとWi-Fiルータの電源系統を見直す。別ルートで電力供給できるように、バッテリーも用意しておく。仮に全部落ちても、再起動は一人でできるようにしておくよ」
「お願い。じゃあ今夜、サブ機材と誘導ルートも再点検するわ。聖美にも協力してもらう」
そのとき、ふたりのスマホが同時に震えた。グループチャット「#復活チーム」の通知だった。
洋輔からのメッセージだった。
『今、学校の掲示板に「イベントは危険!」って貼り紙されてた。誰の仕業か不明。破れてたけど、あきらかに印刷されたやつ。情報漏れてるかも』
裕介と結衣は、同時に顔を見合わせた。
「――物理的な攻撃、始まったわね」
放課後、一翔たち全員が図書室の横にある空き教室へ集められた。会議室として使っているそこは、ホワイトボードと簡易机しかないが、情報の拠点としては十分だ。
洋輔が手にしていたのは、A4用紙数枚分の破れた貼り紙。そのうちの一枚には、こんな文言がはっきりと読めた。
【警告】
このイベントは安全面で重大なリスクがあります。
子どもたちを危険にさらさないため、参加を見合わせてください。
フォントは明朝体。どこかの役所風を装ったような、冷静で説得力ある語り口。しかし、発信者の名前はない。
「……これ、ターゲットは“子ども”じゃなくて“親”だよな」と、幸平が腕を組んだまま口を開いた。
「うん。“危ないから来ないで”っていうのは、未成年だけじゃ効果が薄い。だけど、親が“行くのやめなさい”って言ったら、それで終わりだもん」
実希の声に、皆の顔が引き締まる。
結衣は、一枚の貼り紙を見つめたまま、口を開いた。
「これはネットの偽情報と連携してる。つまり……“中止になった”→“なってないけど危険なんだって”→“じゃあ行くのやめとく”って流れを作ろうとしてる」
「情報と感情、両方から攻めてきてるってことか……」と、裕介が呻いた。
洋輔は指を鳴らし、明るい声で言った。
「なら、俺らのやることはひとつじゃん。逆に“ちゃんと安全なんだ”って、リアルで実感してもらえばいい」
「どうやって?」と蘭が問う。
洋輔は自信満々に胸を張った。
「遊園地の“安全見学会”を開く! 保護者限定でもいい。裏側を全部見せて、『この人たちが管理してます』って顔を見せれば、不安は減るって!」
瞬間、全員の視線が洋輔に集まった。ふざけた提案に聞こえたが、どこか核心を突いていた。
聖美が静かにうなずく。
「……それ、いいかもしれません。機械のチェックポイントや誘導ルートも一緒に見せられれば、“ただのお祭り騒ぎ”じゃないって伝わります」
裕介が即座に立ち上がり、ノートパソコンを開いた。
「見学会の告知ページ、今夜中に作れる。ルートマップも結衣がまとめてくれたし、コースター整備記録も写真付きで載せる」
「じゃあ、保護者向けの説明資料もこっちで作る。リスクの一覧と、それに対する対策のセットを箇条書きで書いて、“これは計画的にやってます”って示す」結衣も動いた。
やるべきことは多い。だが、“何かを仕掛けられた”という後手の空気は、ここで初めて逆転しつつあった。
その時、一翔がぽつりと呟いた。
「……敵がどんな奴でもさ。俺たちがやってることを“本気”って伝えれば、それだけで戦えるんじゃないかなって、思うんだ」
その言葉に、教室の空気がふっと温かくなった。
たとえ敵が匿名であっても、彼らのやり方が巧妙でも、こちらの“顔”と“声”が届けば、きっと負けない。
そう信じられるだけの絆が、もうこのチームにはあった。
それからの数日、彼らは休み時間も放課後もフル回転だった。
裕介はアクセスログを監視しながら、サーバー設定を強化。ファイアウォールを再構築し、二段階認証を導入。さらに、すべてのクラウド上ファイルに自動バックアップを設定した。
「ちょっと過剰かも」などという声にも、「“大げさ”って言われるくらいがちょうどいい」と答える姿は、どこか頼もしかった。
一方、結衣と聖美は、保護者説明会の資料作成に没頭した。万が一の避難経路、緊急時の連絡体制、対応責任者の明示、整備履歴……それはまるで、プロのイベント業者が作るような完璧な構成だった。
そして迎えた説明会当日。日曜の午前、遊園地の入り口には、少し緊張した表情の保護者たちが十数名集まっていた。
「受付担当の田中です。こちらへどうぞ」
聖美が低姿勢で案内し、会場である旧チケットカウンター前に通す。
そこには、蘭が描いた“安全対策マップ”の巨大パネルが掲げられ、横では一翔と幸平が待機していた。
「本日はご多忙の中、ご参加ありがとうございます」
一翔が緊張した面持ちで挨拶する。
「私たちは、ただ“遊園地を再開したい”というわけではありません。“安全な状態で、一日だけ奇跡を起こしたい”という思いで、半年間動いてきました」
保護者たちは最初、懐疑的な空気を残していた。が、実際にジェットコースターの下に入り、元整備士・笹原の姿と、整備チェック表を目にした瞬間、その空気は明らかに変わった。
「……あなたたち、中学生なんですか?」
小さな声で呟いた母親の問いに、幸平が軽く笑って答えた。
「筋肉は中学生レベルじゃないですけどね」
笑いが起きた。
それは、緊張をほぐす笑いでもあり、安心が伝染する瞬間だった。
その日の午後、結衣がSNS公式アカウントで“保護者向け安全見学会レポート”を投稿した。投稿には、子どもと手をつないだ親が「楽しみにしています」と微笑む写真が添えられていた。
その投稿が、わずか3時間で千を超える“いいね”を記録した。
事件は終わったわけではない。むしろ、また何かあるかもしれない。
けれど、結衣はその夜、画面に向かってこう記した。
【虹ヶ丘ランド復活プロジェクト】
どんなトラブルがあっても、私たちは逃げません。
私たちが届けたいのは、「安心して楽しめる一日」です。
そのために、できる準備はすべて、必ずやり切ります。
投稿ボタンを押したとき、結衣の心には、不思議な静けさが広がっていた。
敵の正体はわからない。
だけど、自分たちの本気を信じることができれば、きっと乗り越えられる。
静かな夜の中、キーボードの音だけが響いた。
(第20話「セキュリティホール」了)
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます