第20話「セキュリティホール」

 昼休みのチャイムが鳴ると同時に、裕介は食堂ではなく、一直線に情報教室へ向かった。肩から下げたタブレットケースが微かに揺れ、足元のスニーカーはいつもより速く床を踏みしめる。理由はひとつ。朝、何気なく確認した公式サイトのアクセスログに、不可解な動きがあったからだ。

「……このIP、昨日も一瞬だけアクセスしてる。海外のVPN経由、しかも匿名化ツール通してるっぽい」

 裕介は情報教室のパソコンにログインし、専用のモニタリングツールを立ち上げる。虹ヶ丘ランド復活イベントのために作った公式サイトは、今やクラウドファンディングも併設されており、責任は重い。ページビューが急増したのは嬉しい反面、何かが変だった。

 ページの一部――特に「開催予定日」「代表責任者」の欄に、繰り返しアクセスしている動きがあった。しかも、今朝方には見覚えのない「イベント中止のお知らせ」というページが一瞬だけアップされ、即座に削除されていた。

「……やられたか」

 裕介が呟いた瞬間、背後で静かな足音が止まった。

「それ、本当に“中止”って書いてあったの?」

 ドアにもノックにも気づかないほど集中していたせいか、結衣の声に裕介は少しだけ肩を跳ねさせた。

「わっ……ああ、結衣か。うん、キャッシュ残ってた。文章は短いけど、イベントの信頼性が一撃で揺らぐには充分な内容だった」

 結衣は無言で裕介の隣の椅子に座り、画面を覗き込む。

 そこには、既に消去されたはずの偽ページの残影が映っていた。


【緊急告知】

関係各位

虹ヶ丘ランド復活イベントは、安全管理上の問題により中止となりました。

主催:桜峰中学校生徒会 代表:桜井一翔

「これ……まずい。あたしたちの名前を使ってる」

 結衣の手が、ふとポケットのスマホに伸びる。SNSの公式アカウント、クラファンページ、関係団体の連絡網。すぐにやるべきことが脳内で並ぶ。

「拡散はされてない?」

「いや、何人かは見てる。アクセス時間帯からして、市内の小中学生の端末っぽい。ひょっとすると保護者も……」

「つまり、放置すれば『あのイベントって中止になったんでしょ?』って噂が独り歩きする可能性がある」

「そう。しかも、中止理由が“安全管理上の問題”って。過去のコースター事故の噂と結びつけられたら、完全にアウト」

 結衣の目が鋭くなった。彼女は、計画に関して“冷静に対処する”ことをずっと心がけてきた。けれど今、その計画を誰かが外部から壊そうとしている。

「犯人は?」

「IP的には追えない。完全にプロの手口。技術だけなら、こっちの負け」

 裕介が悔しげに言うと、結衣はすっと立ち上がった。そしてスマホの画面を開く。

「じゃあ、こっちの土俵で戦う。すぐ訂正を出す。“虹ヶ丘ランド復活イベントは予定通り開催します”って。表現は簡潔に、でも断固とした文体で」

「文面は俺が打つ。あと、アクセスログの解析も継続する。何か証拠を拾えれば、次の攻撃の前に備えられるかもしれない」

 ふたりはすぐに分担を決め、作業に取りかかった。




 情報教室の空気は、ひんやりと静まり返っていた。教室の奥では、電子掲示板用のモニターがスクリーンセーバーの星空を流していたが、誰もそれに気づく者はいない。ふたりとも、スクリーンに集中していた。

「結衣、これでどうだ?」

 裕介が叩き込んだ訂正文が表示される。


【ご報告】

一部SNS上にて、虹ヶ丘ランド復活イベントの“中止”を示す誤情報が流れております。

本イベントは予定通り、10月4日(日)に開催されます。

万全の安全対策をもとに準備を進めており、関係機関との連携も整っております。

混乱を避けるため、公式情報は本アカウントまたは公式Webサイトをご確認ください。

主催:虹ヶ丘ランド復活プロジェクト実行チーム


「……完璧。すぐ投稿して」

 結衣が頷くと同時に、裕介が投稿ボタンをクリックした。

 その数秒後には、スマートフォンの通知音が立て続けに鳴る。フォロワーたちの反応が即座に返ってくる。

「“よかった!”“中止じゃなかったのか!”って声が多い。混乱は最小限で抑えられそうだ」

 ホッとしたように、裕介が椅子にもたれた。

 だが結衣の眉は、まだわずかに曇っている。

「けど……これ、最初から“中止を信じさせよう”って狙いだったと思う?」

「たぶん違う」

 裕介の声に、わずかな緊張が含まれていた。

「この手の攻撃は、偽情報が目的じゃなくて、“システムに侵入できるかどうか”を試してる可能性が高い。つまり、まだ第一波ってこと」

「次があるってこと?」

「あり得る。今回みたいな静かな侵入じゃなく、もっと派手な方法でくるかもしれない」

 ふたりの間に、また静寂が流れる。だがそれは絶望ではなく、嵐の前の冷静な備えに近かった。

「……設備図、見せて」

 結衣がパソコンに手を伸ばした。虹ヶ丘ランド旧管理棟の設備図面、電源ブロック、ネットワーク端末、監視カメラの死角。どれもこれも、結衣の頭にインストールされていくように吸収されていく。

「停電時のバックアップルート、誘導灯の点灯位置、非常アナウンスの起動キー……全部見直す。もし物理的な妨害があっても、対策できるように」

「すごいな……」と、裕介が小さく呟いた。

 冷静すぎるくらい冷静な結衣の横顔を見ながら、ふと思う。自分は技術には強いが、全体を見て判断する力は、まだこの子に敵わない。

「なら俺は、サーバーとWi-Fiルータの電源系統を見直す。別ルートで電力供給できるように、バッテリーも用意しておく。仮に全部落ちても、再起動は一人でできるようにしておくよ」

「お願い。じゃあ今夜、サブ機材と誘導ルートも再点検するわ。聖美にも協力してもらう」

 そのとき、ふたりのスマホが同時に震えた。グループチャット「#復活チーム」の通知だった。

 洋輔からのメッセージだった。


『今、学校の掲示板に「イベントは危険!」って貼り紙されてた。誰の仕業か不明。破れてたけど、あきらかに印刷されたやつ。情報漏れてるかも』


 裕介と結衣は、同時に顔を見合わせた。

「――物理的な攻撃、始まったわね」




 放課後、一翔たち全員が図書室の横にある空き教室へ集められた。会議室として使っているそこは、ホワイトボードと簡易机しかないが、情報の拠点としては十分だ。

 洋輔が手にしていたのは、A4用紙数枚分の破れた貼り紙。そのうちの一枚には、こんな文言がはっきりと読めた。


【警告】

このイベントは安全面で重大なリスクがあります。

子どもたちを危険にさらさないため、参加を見合わせてください。


 フォントは明朝体。どこかの役所風を装ったような、冷静で説得力ある語り口。しかし、発信者の名前はない。

「……これ、ターゲットは“子ども”じゃなくて“親”だよな」と、幸平が腕を組んだまま口を開いた。

「うん。“危ないから来ないで”っていうのは、未成年だけじゃ効果が薄い。だけど、親が“行くのやめなさい”って言ったら、それで終わりだもん」

 実希の声に、皆の顔が引き締まる。

 結衣は、一枚の貼り紙を見つめたまま、口を開いた。

「これはネットの偽情報と連携してる。つまり……“中止になった”→“なってないけど危険なんだって”→“じゃあ行くのやめとく”って流れを作ろうとしてる」

「情報と感情、両方から攻めてきてるってことか……」と、裕介が呻いた。

 洋輔は指を鳴らし、明るい声で言った。

「なら、俺らのやることはひとつじゃん。逆に“ちゃんと安全なんだ”って、リアルで実感してもらえばいい」

「どうやって?」と蘭が問う。

 洋輔は自信満々に胸を張った。

「遊園地の“安全見学会”を開く! 保護者限定でもいい。裏側を全部見せて、『この人たちが管理してます』って顔を見せれば、不安は減るって!」

 瞬間、全員の視線が洋輔に集まった。ふざけた提案に聞こえたが、どこか核心を突いていた。

 聖美が静かにうなずく。

「……それ、いいかもしれません。機械のチェックポイントや誘導ルートも一緒に見せられれば、“ただのお祭り騒ぎ”じゃないって伝わります」

 裕介が即座に立ち上がり、ノートパソコンを開いた。

「見学会の告知ページ、今夜中に作れる。ルートマップも結衣がまとめてくれたし、コースター整備記録も写真付きで載せる」

「じゃあ、保護者向けの説明資料もこっちで作る。リスクの一覧と、それに対する対策のセットを箇条書きで書いて、“これは計画的にやってます”って示す」結衣も動いた。

 やるべきことは多い。だが、“何かを仕掛けられた”という後手の空気は、ここで初めて逆転しつつあった。

 その時、一翔がぽつりと呟いた。

「……敵がどんな奴でもさ。俺たちがやってることを“本気”って伝えれば、それだけで戦えるんじゃないかなって、思うんだ」

 その言葉に、教室の空気がふっと温かくなった。

 たとえ敵が匿名であっても、彼らのやり方が巧妙でも、こちらの“顔”と“声”が届けば、きっと負けない。

 そう信じられるだけの絆が、もうこのチームにはあった。




 それからの数日、彼らは休み時間も放課後もフル回転だった。

 裕介はアクセスログを監視しながら、サーバー設定を強化。ファイアウォールを再構築し、二段階認証を導入。さらに、すべてのクラウド上ファイルに自動バックアップを設定した。

 「ちょっと過剰かも」などという声にも、「“大げさ”って言われるくらいがちょうどいい」と答える姿は、どこか頼もしかった。

 一方、結衣と聖美は、保護者説明会の資料作成に没頭した。万が一の避難経路、緊急時の連絡体制、対応責任者の明示、整備履歴……それはまるで、プロのイベント業者が作るような完璧な構成だった。

 そして迎えた説明会当日。日曜の午前、遊園地の入り口には、少し緊張した表情の保護者たちが十数名集まっていた。

「受付担当の田中です。こちらへどうぞ」

 聖美が低姿勢で案内し、会場である旧チケットカウンター前に通す。

 そこには、蘭が描いた“安全対策マップ”の巨大パネルが掲げられ、横では一翔と幸平が待機していた。

 「本日はご多忙の中、ご参加ありがとうございます」

 一翔が緊張した面持ちで挨拶する。

 「私たちは、ただ“遊園地を再開したい”というわけではありません。“安全な状態で、一日だけ奇跡を起こしたい”という思いで、半年間動いてきました」

 保護者たちは最初、懐疑的な空気を残していた。が、実際にジェットコースターの下に入り、元整備士・笹原の姿と、整備チェック表を目にした瞬間、その空気は明らかに変わった。

「……あなたたち、中学生なんですか?」

 小さな声で呟いた母親の問いに、幸平が軽く笑って答えた。

「筋肉は中学生レベルじゃないですけどね」

 笑いが起きた。

 それは、緊張をほぐす笑いでもあり、安心が伝染する瞬間だった。

 その日の午後、結衣がSNS公式アカウントで“保護者向け安全見学会レポート”を投稿した。投稿には、子どもと手をつないだ親が「楽しみにしています」と微笑む写真が添えられていた。

 その投稿が、わずか3時間で千を超える“いいね”を記録した。

 事件は終わったわけではない。むしろ、また何かあるかもしれない。

 けれど、結衣はその夜、画面に向かってこう記した。


【虹ヶ丘ランド復活プロジェクト】

どんなトラブルがあっても、私たちは逃げません。

私たちが届けたいのは、「安心して楽しめる一日」です。

そのために、できる準備はすべて、必ずやり切ります。


 投稿ボタンを押したとき、結衣の心には、不思議な静けさが広がっていた。

 敵の正体はわからない。

 だけど、自分たちの本気を信じることができれば、きっと乗り越えられる。

 静かな夜の中、キーボードの音だけが響いた。

(第20話「セキュリティホール」了)

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る