インターネットに注いだ毒と彼の贖罪の機会

印刷

梗 概

インターネットに注いだ毒と彼の贖罪の機会

雉谷道夫は国内大手CDN業者帝都通信の社員。CDNとはWebの通信を最適化するシステム。これを通すと画面の表示速度が数十倍速くなる。Webの大半は暗号化されているが、CDNは通信の最適化のため、復号する権限を与えられている。つまりブラウザに表示される内容を読み、書き換えることができる。今日のネット社会はこの強大な力に深く依存しているのだ。

誰もいないはずの部屋で、雉谷は後輩鳩川隆史の不正を目撃した。共通の上司熊倉のPCを勝手に触っていたのだ。
「見なかったことにしてください」
鳩川は出て行った。

翌日警察が来た。鳩川が失踪したこと、鳩川の自宅のPCがクラッキングされていたことを聞く。鳩川は誰かに弱みを握られて行動した可能性がある。雉谷は警察に何も言わなかった。

心配になった雉谷は独自に調査する。CDNのシステムが、熊倉の特別なアクセス権限により変更され、栗瀬メグミなる人物のWebブラウザに黒と赤の脅迫文を表示している。きっと鳩川が誰かに熊倉のアクセス権を渡したのだろう。

栗瀬に会いに行く。彼女は人気散歩アプリの開発会社社員。栗瀬は事情を話した。

栗瀬は散歩アプリに帝都通信を導入した。それに対し部下蝉沼健太は反対した。「顧客の位置情報が帝都通信に渡ってしまう、顧客を危険にさらしてはいけない」という理由。また雉谷には初耳だが、帝都通信が会社ぐるみで利用者の機密情報を政府に流していた疑惑があるらしい。それでも栗瀬は帝都通信からキックバックを貰っていたので強引に進めた。栗瀬は突き上げる蝉沼をパージした。

今蝉沼は栗瀬に、上記事件の経緯を公表し世間に謝罪せよと要求している。拒否すれば最大手ポータルサイトを改竄し告発するとのこと。
つまりこれは蝉沼の正義感ゆえの暴走だった。帝都通信社員である鳩川に目を付け、クラッキングで弱みを握り、熊倉のアクセス権限を奪い、その力で栗瀬を脅していたのだ。

外に出ると雨なのに傘を忘れた人がいた。お天気アプリが改竄されたからだ。これも蝉沼のデモンストレーションである。バスの時刻表アプリやSNSでの通信が改竄されて行く。このままではパニックになる。

システムを元に戻そうと試みる。蝉沼も対抗しサイバーバトルになる。こちらの操作を切断され敗北。これ以上の被害を防ぐにはサーバーの電源を引っこ抜くしかない。日本中の様々なWebシステムがダウンするが、汚染された情報を垂れ流すよりましだ。しかし会社はその上申を却下。政府が「市民社会を混乱させるな」と圧力をかけたのだ。政府は、蝉沼を秘密裏に抹殺するから手出しするなという。しかし、蝉沼は既に国外脱出しており、何日かかるか分からない。

雉谷はデータセンターに突入を決意。入り口で熊倉と揉み合いになる。その隙をついて鳩川が建物内に飛び込んだ。実は不正を目撃した時から雉谷が鳩川を匿っていたのだ。

鳩川はCDNを壊し、最低限の贖罪を果たす。

文字数:1199

内容に関するアピール

この世界がGoogleやAmazonに支配されているという言説をよく聞きますが、同じくらい数社の超大手CDN業者に深く依存していることは話題になりにくいです。

この便利すぎるゆえに強大な力と社会のヒズミを、小説『亡国のイージス』のフォーマットで描きたいです。

CDNは昔からある技術ですが、この数年で特に高性能化して影響力を増しており、今回の課題にぴったりだと思います。

人間ドラマ要素として、この状況において後輩をかばい続けるのではなく、失敗した本人に責任をとる機会を与えたいという思いを描きたいです。
また、「この状況ならシステム全体を止めた方がましか」「いや、動かし続けた方が社会へのダメージは少ない」という技術者的美徳と現実主義派の対立も双方をカッコよく描けるのではと思います。

現実路線すぎてSF度合いが足りないかなとも思ったので、講評ではそこを聞きたいです。

文字数:380

印刷

インターネットに注いだ毒と彼の贖罪の機会

俺は後輩鳩川隆史の不正を目撃した。共通の上司熊倉のPCを勝手に触っていたのだ。
「見なかったことにしてください」
引き止めた俺の手を振り払って、鳩川は部屋を出ていった。さて、彼は何をしていたのか。

翌朝、気象庁は関東一円晴れを予報したにもかかわらず、多くの人が傘を持って出勤した。日本を襲った大混乱の始まりは、そんな些細な出来事だった。

俺は雉谷道夫。国内大手CDN業者帝都通信に勤めるソフトウェアエンジニア。
CDNとはWebページの表示を高速化するための世界規模のシステムだ。どのように高速化するのか。逆に考えれば、そもそもWebページの表示はなぜ遅くなるのか。その大きな要因の一つがサーバーとクライアントの物理的な距離だ。例えサーバーとクライアントを開発するエンジニアがどれほど頑張っても、通信にかかる時間は減らすことができない。そして、通信の速さは光の速さを超えられない。サーバーとクライアントが東京と大阪程離れていれば、理論上往復で約5ミリ秒かかる。東京とニューヨークなら約100ミリ秒。待ち時間をそれ以上減らすことは、どうしてもできないのだ。
そこである人がこう考えた。サーバーとクライアントが離れていることが問題なら、サーバーのコピーをたくさん作り、それをあらゆる場所に置いておけば、各クライアントは最寄りのコピーにアクセスすることで通信時間を削減できるのではないかと。ちょうど、我々がコーラを買うためにわざわざ清涼飲料水工場に赴くことがないのと同じだ。コーラ会社は事前にコーラをコンビニに置いておき、我々はそれをコンビニに買いに行く。すると、我々がコーラを欲してから実際に飲むまでの時間を短縮できる。実に合理的な仕組みと言えよう。
とはいえ、この方法には莫大な設備投資が必要という欠点がある。各Webサービス事業者がそれぞれにコピーサーバーを設置して回るわけにはいかない。そこで台頭したのがCDN(Contents Delivery Network)業者である。世界中に機材を設置するという大掛かりな作業を、CDN業者が一手に引き受け、各Webサービス運営会社と契約し、データとプログラムを預かる。そしてクライアントに対して自身の機材から応答する。そういう業態だ。現在では多くのWebサービス運営会社がCDNと契約している。つまり、我々が何かWebサービスを利用する時、その通信相手はサービスの運営会社だと思っていたが、実はCDN業者だったということはよくあるのだ。それが意味するのは、CDN業者であればユーザーの通信を読むことができるし、書き換えることもできるということだ。
プライバシーという観点でみるとCDN業者の立ち位置は特異だ。回線事業社を引き合いに出すと際立つ。我々の通信の多くはNTTやKDDIなどが敷設したケーブルを通るが、その中身は暗号化されているので、仮にケーブルの中を通過する信号を一つ一つ観測しても、それを読むことはできない。それらの会社がどんなに悪意を持ったところで、我々に対して加えられる危害というのは、たかが知れていると言えよう。それに対してCDN業者であれば通信内容を読むことができ、そして書き換えることができる。
今日のネット社会はこの強大な力に深く依存しているのだ。

そのCDN業者の一人の社員が道を踏み外した。

その日、鳩川の姿が見えなかった。彼は入社二年目で、俺の三年後輩になる。これまで彼が寝坊で遅刻したことはない。律儀というわけではないが、その場のルールにはそれなりに合わせて生きている性格の人間だ。深酒をするタイプにも思えない。ゲームが好きと言っていたが、それで寝坊する人もいないだろう。そんなことより、彼が上司熊倉のPCを勝手に触っていたのは昨日のことだ。関係ないはずがない。俺はその後輩にメッセージを送ってみたが、既読になることはなかった。

正午を過ぎたころ、上司の熊倉事業部長から会議室に呼ばれた。
俺はこの上司が有能な人間だとは思わない。一緒に働きやすいとも感じない。だが、彼が上層部に対して批判的なことを口にしたところを見た人はいない。内心どう思っているかはともかく、この上司は常に経営陣の意向を忠実に実行する。その点において、なぜ彼が社内で重用されているかは、我々末端社員の目にも明白だった。
熊倉が指定したのは防音の効いた個室だった。普段であれば、簡単な打ち合わせには業務スペースの一角をパーティションで区切った空間を用いる。俺は大事を予感した。
中に入ると、熊倉が一人で待っていた。勧められた席に着くと、熊倉が重々しく口を開いた。
「鳩川君の事、雉谷君は何か知っているか?」
熊倉が切り出した話題は想像通りだったが、それでも頬が引き攣り、それをごまかすように眉を寄せた。
「朝からいないのは気づいていましたが、何かあったんですか?」
俺は肯定も否定もしないように質問で返した。なんとなく、普段鳩川の面倒を見ている身として、彼を庇いたいと思ってしまったのだろう。
「電話をしても繋がらない。寝過ごしているのかと思ったが、昼になっても姿が見えない。気になったので庶務課の人に自宅を見に行ってもらったんだ。インターホンを鳴らしても気配がないという。念のため、警察に相談して管理会社に鍵を開けてもらった。私も立ち会った。部屋の中には誰もいなかった」
「家具や生活用品は残っていましたか?」
「多分残っていた。元々その部屋に何が置いてあったか知らないので正確なことは言えないが、無ければ困るようなものが無くなっていはいなかった」
「ということは出勤途中に事故に遭ったのでしょうか」
「その可能性はある。ただ、こんなものを見つけた」
熊倉はスマートフォンの画面を向け、写真を見せた。USBケーブルだろうか。
「リビングにはデスクトップパソコンが設置してあった。私は鳩川君が自宅でどんなPCを使っているのか興味を持ったので観察してみた。キーボードなんかは特に趣味が分かれるからね」
その気持ちは分からなくもない。どんなマウスやキーボードを使っているのかというのはソフトウェアエンジニアでは定番の雑談のひとつだ。熊倉はスマートフォンをポケットに戻しつつ続けた。
「そのキーボードは有線式で、デスクの裏を通って本体の後ろ側に接続されていた。だが不思議なことに、そのキーボードから出ているケーブルはビニールタイプなのに、PC本体に繋がっているケーブルはナイロンだった。ということは」
「延長ケーブルですよね」
さほど不思議でもない。ビニールのケーブルもナイロンのケーブルも決して珍しくはない。
「そうだ。しかし私は違和感を覚えた。キーボードとPCの距離は延長ケーブルが必要になるほど離れてはいない。ケーブルを手繰って試してみたところ、やはり延長ケーブルが無くても十分に届く。では、この延長ケーブルはなんだろう。雉谷君?」
上司は試すように聞いた。俺が知るわけがない。投げやりに聞こえないよう気を付けつつ続きを促した。
「さあ。わかりません」
それに対して熊倉が明かした解答は驚くべきものだった。
「警察と専門機関に調べてもらった。これは盗聴器のようなものだった。キーボードの入力がどこかに送信されていたようだ」
その言葉の意味を理解するのに数秒を要した。俺は熊倉の顔に冗談を言う表情を探したが、そんなものは無かった。
「通販で不良品をつかまされたのでしょうか」
「そういうことはあり得るが、それでは延長しなくてもいいケーブルを延長していた理由にならない」
「では……」
「鳩川君は標的にされていたのだろう」

よくあるイメージとして、ハッキングやクラッキングといえば、薄暗い部屋で青白い少年がキーボードに何かを打ち込んでいるような光景が思い浮かべられる。しかし、特定の人物を攻撃したい場合にはもっと即物的な方法が取られることも多い。喫茶店でPCを開いている人の肩越しに手元を盗み見たり、関係者を装って電話をかけて機密情報を聞き出したり。その中でも最も強硬な手段の一つとされているのが空き巣だ。その人物が普段使っている端末に細工をすることで情報を筒抜けにできるのである。
では、対象の自宅に侵入した攻撃者は具体的に何をするのか。例えばPCを丸ごと盗み出すのはどうか。もちろんそういうこともある。ただ、PCを盗まれた人は即座に警察に通報するのでタイムリミットが短い。また、ほとんどの人はPCにパスワードをかけており、そのパスワードが分からなければ何もできない。さらに、何とかパスワードを破り、盗み出したPCから情報を取り出せたとしても、その後に発生した情報を盗み出すことができない。追加の情報が必要になれば、ただでさえ警戒されている家にもう一度侵入しなければいけない。
そこで、相手に気づかれない上にパスワードを無効化できる手段として、キーロガーと呼ばれる発信機が用いられる。キーボードから伸びるUSBケーブルの先にこの発信機を咬ませると、対象がキーボードから入力した文字をすべて外部から読み取ることができる。そうして取得したパスワードを手にもう一度その家に侵入してPCを操作することもあれば、高機能なキーロガーの場合、逆に外部からキー入力ができるものもある。PCを遠隔操作できるということだ。いずれにせよ、それを仕掛けられたPCの中に入っているデータは遅かれ早かれ全て外部に流出することになる。
とはいえ、当然のことながら対象の自宅に侵入するというのはリスクが高いしコストがかかる。なので、『上手くいったらいいな』という希望的観測で実行されることはない。むしろ、どうしてもその対象者を攻撃したい事情がある場合にのみ取られる選択肢だ。
では、鳩川にどんな事情があったのだろうか。

熊倉はつづけた。
「以前から言っていることだが、帝都通信は普通の民間企業ではない。我々は公益を担うインフラ企業であり、防衛産業でもある」
熊倉のいうことはそれなりに正しい。そもそもこの会社は、CDNを外資系企業に寡占されたことを国防上のリスクと考えた政府が音頭を取って立ち上げた、半官半民のヌエのような組織だ。
「当然、従業員が標的になることもあり得る」
「鳩川さんもですか」
「その可能性はある」
「誰から狙われていたのでしょう」
「それはまだ分からない。警察が捜査しているところだ。外国の諜報機関かもしれないし、競合他社かもしれない」
「鳩川さんは無事なのでしょうか」
「我々にはどうにもできない」
「顧客のデータから居場所が分かりませんか?」
帝都通信の顧客である様々なWebサービスやスマートフォンアプリの運営会社の中には、端末の位置情報を扱う事業者もいる。そして、その通信のログは我々の手元にも残っている。つまり、大声では言えないことだが、この会社にある情報だけでも多くの日本人の現在位置を特定することができる。もし鳩川がお散歩アプリなどをインストールしていれば、彼の居場所はすぐに分かるはずだ。
「残念ながら居場所が分かるようなログはなかった。スマートフォンの電源を切っているかもな。そこは一旦捜査機関に委ねよう。今は帝都通信のCDNシステムが侵害された可能性について考えるべきだ」
「鳩川さんのPCからどのような情報が漏洩した可能性がありますか?」
「知っての通り、従業員の自宅から会社のシステムにアクセスすることはできない。なので、彼の自宅のPCから直接攻撃されることはないだろう。ただ、彼のプライベートな情報、例えば匿名掲示板への書き込みやサイトの閲覧履歴などが漏洩した可能性はある。それは脅迫のネタになるだろう。そして、攻撃者は鳩川君の自宅を知っていたということは、鳩川君の勤め先のことも知っていたはずだ。ということは、攻撃者は鳩川君を動かして帝都通信のCDNに細工をさせたかも知れない」
俺はこの時になって事の重大さを悟った。CDNに細工をすれば国内の様々なWebサイトを改竄することができるし、そこにアクセスした人の情報を外部に転送することもできる。それはおそらく、昨日鳩川が熊倉のPCを触っていたことと関係があるだろう。こうなったら、昨日のことを熊倉に伝えなければならない。しかし、それを今まで黙っていたことを知られるわけにはいかない。そうだ。このオフィスは部屋ごとに鍵が掛かっており、解錠にはICカードが必要だ。当然従業員の入退室はすべて記録されているはずだ。それを見てもらうよう誘導するのはどうか。鳩川がそんな時間に会社に残っていたということが分かれば、熊倉は自分のPCを勝手に触られていないかについて考えるだろう。いや、それでは俺がその時間に残っていたことがバレてしまう。もう少しストレートに『熊倉のPCに怪しい所はなかったか?』と聞いた方がいいか。いや、少なくとも今は熊倉のPCを経由して攻撃がなされているということが伝われば充分である。俺は画策した。まず、もし鳩川が脅迫されて何かをしたのであれば、それは自身に割り当てられた機材とアクセス権限ではなく、もっと偉い人の物を使ったはずであるという方向に話を持っていくべきだ。これはこの会社の制度を持ち出せば簡単である。
「鳩川さんや自分のような一般従業員のアクセス権限では、CDNのシステムを自由に変更することはできません。つまり、もう少し偉い人のPCなどを調べるべきではないでしょうか」
「もちろんそれは考えたし、一応、自分のPCに怪しいUSBケーブルなどが刺さっていないか確認もしたが、それらしいものは無かった。そもそも、鳩川君を操って他の人に対して攻撃を仕掛けるときに、鳩川君に対して使ったのと同じ手段をとるとは考えづらい。なぜなら、鳩川君の家のPCにはまだUSBケーブルが刺さっていたからだ。自分から種明かしのようなことはしてないだろう」
上手く誘導できなかった。
「わかりました。では、CDNのシステムが変更された記録を確認してみます」
確認したうえで、『熊倉のアクセス権限が使われている』ということを”発見”すればよいのだ。
熊倉はうなずいた。俺は部屋を辞した。

俺は自席に戻り、CDNのシステムが変更された形跡の調査を始めた。
ゴールは鳩川が熊倉のPCを触った可能性を指摘することだ。そのためには、逆に鳩川の正当な権限だけでは起こせない事象が起こった証拠を見つければいい。
ところで、我々のような一般のソフトウェアエンジニア職員には、CDNのサーバーにアクセスする権限がない。では、我々の仕事の成果物はどのように使われるかというと、まずリポジトリというソースコードの保管場所があり、リポジトリにソースコードを登録すると、自動的に最新のソースコードがサーバーに反映されるという仕組みになっている。つまり、もし鳩川が自身のアクセス権限だけで不正を働いたのなら、このリポジトリにすべて証拠が残っているはずである。試しに数か月分のリポジトリの変更履歴を確認してみたが怪しい所はなかった。想像通りだ。そんな簡単に発覚するような方法はとらないだろう。
ということはやはり熊倉のアクセス権限を使ったのだろう。熊倉のPCからはサーバーに直接アクセスできるようになっている。短時間でもそのPCに触れれば、バックドアと呼ばれる、攻撃者を外部からサーバーに侵入させるための裏口を開けることができる。その後そのサーバーは攻撃者の意のままに操られることになる。ならそのバックドアを見つければいいだけなのだが、前述のとおり残念ながら俺はサーバーにアクセスできないので、結局、熊倉に「サーバーにアクセスしてバックドアがないか確認してください」と言いに行かなければならず、「なぜそう思うのか」という問いに答えられないという問題は変わらない。バックドアがある証拠を出したうえで、「こういうことがあるので熊倉さんのPCが勝手に触られた形跡が無いか確認してください」という必要がある。
では、俺の持っている権限だけでバックドアを見つけるにはどうしたらいいか。少なくとも帝都通信のサーバーから外部に通信しているわけである。なら、通信のログを調べればいい。これは俺の権限でも可能だ。ただし、1時間に数百億件も発生するログを一つ一つ確かめることはできない。どう絞り込むか。
ところで、インターネット上で使われるTCPというプロトコルには、通信を開く側と開かれる側が存在する。電話で言えば発信側と着信側だ。CDNはクライアントから通信を開かれる側であり、バックドアは攻撃者のコンピューターへの通信を開く側である。まずここで、サーバー側から開いた通信に限定することができる。その中で、契約している顧客のサーバーなど、正当な宛先と思わしき通信を取り除く。顧客のサーバーのアドレスは事前に登録しておいてもらうことになっているので、これは簡単だった。残ったログから怪しそうなものを探す。
「見つけた。かもしれない」
海外のとあるコンピューターに通信しているログが多数見つかった。最初の一件は昨日の21時頃。俺が鳩川を目撃した時刻と一致する。ログの数は1万件弱。CDNのサーバーから攻撃者のコンピューターに1万回情報を送信したという意味になる。内容は暗号化されているため分からない。ログには接続時刻と切断時刻が載っている。その差が通信時間である。どのログも百ミリ秒程度の短い通信だった。これをバックドアであるというには、あとどんな根拠が必要か。
攻撃者の気持ちになって考える。CDNのサーバーに侵入できたとして何をするか。盗聴か改竄である。では、クライアントとCDNの通信のどれが盗聴されたか特定することは可能か。『クライアントとCDNサーバーの通信の後にCDNサーバーと攻撃用コンピューターの間で通信された』という条件を満たすものだ。しかし、これでは幅が広すぎて深堀れない。ならば、改竄ならどうか。改竄の場合、クライアントからCDNに『これこれの情報を返せ』という要求が送られると、それが攻撃用コンピューターに転送され、攻撃用コンピューターで偽の応答が作成され、偽の応答がCDNを経由してクライアントに戻ることになる。ということは、通信の開閉時刻に着目すると、『クライアントからCDNサーバーへの通信Aが開かれる→CDNサーバーから攻撃者のコンピューターへ通信Bが開かれる→通信Bが閉じられる→通信Aが閉じられる』という入れ子の状態になるはずだ。
複雑なプログラムを書き、クライアントとCDNの通信ログから条件に合うものを抽出していく。目論見通り、数百万件のログを残すことができた。これが改竄された通信だ。何個か適当にピックアップしてみていく。ほとんどがAyaという天気予報表示アプリの通信だった。
数ある天気予報サービスの中には、気象庁より詳細な天気を予想し、ゴルフ場や遊園地向けに情報を販売しているものもあるが、Ayaは気象庁が発表した天気をかわいいアイコンで表示するだけのものだ。つまり、気象庁の発表とAyaの表示が食い違うはずがない。気象庁は関東は今日一日晴れと予報している。なのに、この通信のログには関東で午後から大雨が降ると載っている。当然、Ayaをインストールしている人の画面には大雨マークが表示されただろう。これは間違いなく通信の改竄だ。
Aya関係以外のログを探してみる。Yeaaa!というポータルサイトのログが見つかった。
Yeaaa!のログは1時間当たり百万件程度。そのうちの一つを開いてみてみる。中身はニュース速報や広告など。さらっと見渡しても怪しい所はない。怪しいかどうかを言うには比較対象が必要だ。昨日21時以前のログを取り出して来て差分を取る。当然、取り上げられたニュースは変わっている。それ以外におかしなところはない。では、ニュースが狙いか。攻撃者は、特定のニュースが取り上げられないようにYeaaa!を改竄したのか。逆に、何か喧伝したいことがあったのか。傾向を探ろう。昨日の21時からYeaaa!がトップで取り上げたニュースとその頻度を一覧にするプログラムを書いた。この結果と世間とのズレを考えれば攻撃者の目的を特定できるかもしれない。
プログラムを書き終え、実行した。大量のデータを分析するので完了まではしばらく時間がかかりそうだ。待ち時間にそれ以外の可能性についても考えてみる。Yeaaa!はとてもユーザー人口が多いサービスだ。このサービスを攻撃するということは、できるだけ多くの人に作用したいからと考えるのが自然だ。ただ、特定の誰かに用事があるという筋もあり得る。例えば、どうしても隣の部屋の住人に見せたいメッセージがあるとしよう。お隣さんが使っているサイトをピンポイントで言い当てるのは難しい。それなら、適当にユーザー数が多いサイトを選ぶのではないか。その人物がYeaaa!を表示したときだけ内容を書き換え、それ以外の場合は何もしないのだ。そう考えると、1時間当たり百万件のログの中に、数件だけ他と異なる挙動を示すものがあるはずだ。それを探すことは可能か。ログには通信されたデータの量が載っている。Yeaaa!は大体1ページ当たり60kB程度だ。では、50kBから70kBの物を除外する。300件程度に絞れた。
300件のログを一つずつ見ていく。どうやら、岡山県の一部地域で大雨警報が出ていたらしい。Yeaaa!が警報域内のユーザーに警告文を表示したためデータ量がやや大きくなったと。300件の中から大雨警報に関連するものを除外する。残りは20件程度になった。
それらのデータ量はすべて1kBだった。これは明らかにおかしい。不具合の可能性もある。試しにブラウザで開いてみた。俺は息をのんだ。真っ黒な画面におどろおどろしいフォントで赤くこう書かれていた。
『栗瀬メグミ お前は監視されている』
キーボードを触る手が止まった。音を立ててはいけない気がしたのだ。自然と背筋が伸びる。眼球が左右に動き、何度も赤い文字の連なりをなぞる。これは脅迫文だ。

とにもかくにも熊倉事業部長に報告しなければ。大股でオフィスを横断。
熊倉は近づく足音に気づいたのだろう、顔を上げた。俺は机を挟んだ向かいに立つ。
「Webサイトの改竄が見つかりました。Yeaaa!です」
俺は小さな声で伝えた。社内の誰が後輩鳩川の失踪について知っているか分からなかったからだ。一応情報の流れを制御する上司の権限を尊重しておこう。熊倉は顔をしかめ「大手だな」とつぶやいた。
「脅迫文が表示されています」
「全体に、か?」
「いえ、特定の人物だけにです。栗瀬メグミという人にだけ、『お前は監視されている』と」
栗瀬メグミという人物の名前を出したことに深い意味はなかった。お互いにとって赤の他人であって、適当に『とある人』と表現してもよかった。なんとなく、今後『その人』『あの人』と代名詞で会話するよりは便利だと思ったのだ。ところが、熊倉は栗瀬メグミと聞いた時、一瞬表情をこわばらせた。
「ご存知なんですか?」
俺は聞いた。熊倉はすぐにいつもの厳めしい顔に戻して言った。
「ありがとう。後はこちらで処理をしておく。通常の業務に戻ってくれ」
熊倉はもう話は終わったと言わんばかりに目を背けてしまった。俺は「わかりました」とだけ言って踵を返す。熊倉は何か隠している。だが、ここで問い詰められる立場でもない。
俺が席に戻ると、丁度熊倉が部屋を出て行くところだった。左手に上着をかけているが、カバンを持っていない。外に出るわけではないようだ。社長たちに報告に行くのだろうな。

熊倉の反応が気になったので、俺は栗瀬メグミについて調べてみた。名前で検索したらゲーム雑誌のインタビュー記事が見つかった。栗瀬は渋谷に本社を置くゲーム会社サンダーの社員であり、サンダー社の人気お散歩アプリ『テクテクゴー』の開発責任者という立場だった。テクテクゴーにも帝都通信のCDNが使われている。帝都通信にとってサンダー社は顧客であり、栗瀬は相手方の責任者ということになる。熊倉が栗瀬メグミを知っていたことは納得だ。面識はあったのだろうか。
記事には目新しい情報はなかった。一言で言えば『頑張って作ったので遊んでください』というような内容だった。

窓の外を見る。社長の社用車を見つけた。丁度このビルの地下駐車場から道路に出て行くところだった。社長はこれから大忙しだろう。やはり今から行くならテクテクゴーのサンダー社か。俺は自分の予想が当たっているか確かめたくなったので、調べることにした。国交省も帝都通信の顧客であり、交通調査アプリにCDNを使っている。都心部では、道祖沿いにセンサー設置されていて、そのセンサーが自動車のナンバープレートを読み取るというシステムだ。そのログもここにあるので、自動車の動きを追うことができる。俺は社用車のナンバーを覚えていた。社長の車はこのビルがある飯田橋を出発すると、外堀通りを西に進んでいた。俺はしばらく眺めることにした。車は四ツ谷の交差点を皇居向きに曲がった。行き先は渋谷ではなかった。予想が外れて残念。車は霞ヶ関で止まった。なるほど。官公庁に謝罪行脚か。お疲れ様。日本の各省庁も帝都通信の顧客であり、また総務省はCDN業界の監督省庁で、経産省は帝都通信設立を推した立場でもある。まあその辺は経営陣に任せよう。

ならばと俺は渋谷に向かった。もちろん俺にそんな責任はない。逆に、『勝手なことをするな』と非難されるだろう。ただ、自分も末端社員としてCDNを作ってきた人間である。それなのに、事情を何も知らせようとしない上層部に不満を覚えていたからだ。
有楽町線を永田町駅で乗り換え渋谷に出る。随分と迷ってしまったが、何とかサンダー本社が入居するビルに辿り着いた。
アポを取っていなかったので受付で揉めたが、帝都通信の者だと伝えて何とか面会が叶った。

ガラス張りのビルの高層階。会議室で待っていた栗瀬は渋谷の街を行きかう人々を指さした。
三人組が歩道を走っていた。そのうちの一人が大きく手を振っている。その30メートルほど先のターミナルに止まったバスが、無情にもたった今発車した。三人組はぐったりと膝に手をついた。
「今朝からバスの時刻表アプリが狂っているのです。それも数分ずつ。私はここにいたので、バスに乗り遅れる人を何度も目撃しました。どうやら狂っているのはあのターミナルだけのようです。時刻表アプリは帝都通信のCDNを使っていますね?」
不意の質問に、俺は栗瀬の顔を見た。しかし栗瀬は顔を外界に向けたままだ。彼女は斜め上を指さした。
「あの動画広告をご覧ください」
大通りに面した背の高いビルの屋上に設置されたスクリーンでは、有名な俳優がペットボトルに入った天然水をさわやかに飲み干していた。その水は観音堂社の商品だ。
「あのLEDビジョンは弊社の広告事業部が運用しています。弊社が広告契約を結んでいる飲料メーカーはアルプス・コーラ社です。ですので、あの看板に観音堂の商品が映ることは絶対にありません」
しかし、その俳優の右手に握られた空きペットボトルには、もちろんシンボルである千手観音のロゴがはっきりと刻まれている。
「弊社の広告管理システムは帝都通信のCDNを使っています。改竄されたのでしょう」
言葉の内容に反して、彼女はこちらを責めているようではなかった。むしろ、彼女は彼女自身に言い聞かせているようでもあった。
「天然水のメーカーがどこであろうと、この渋谷にいるほとんどの人にとって何の違和感もないことです。しかし、サンダー社の人間なら気づきます。これはサンダー社に対する示威行為、ありていに言えば当てつけです」
栗瀬の声は落ち着いているが、とてもかぼそかった。
「もう、終わりですね。サンダー社も、残念ながら御社も。そしておそらくは、日本のインターネット全体も」
栗瀬はこちらを向き直って言った。
「雉谷さんとおっしゃいましたね」
「はい」
俺は改めて会釈した。
「熊倉さんはお元気ですか?」
「はい。おかげさまで」
やはり面識はあったのか。
栗瀬は訥々と語った。

「テクテクゴーの企画をしていた時のことです。テクテクゴーは人気アプリになる可能性がありました。しかし、どうしても採算が取れないのです。広告料というのは微々たるものです。その割にサーバー代もネットワーク代も高い。そんな時、帝都通信の方が営業にいらっしゃいました。そちらが提示したCDNの利用料は目を見張るほど安いものでした。なぜ帝都通信がそんなお値段でCDNを提供できるか分かりません」
確かに、CDN業界の中で後発の帝都通信が一気にシェアを拡大できたのは、安かったからだ。特に大口の顧客にはほとんどタダ同然にまで値下げしているという噂もある。
「おかげでテクテクゴーの企画は辛うじて見通しが立ちました。ところで、私の部下に蝉沼健太というものがおりました。とても真面目で正義感が強い人でした。ともすれば、数字が上がれば何をしてもいいという風潮の弊社にあって、決して流されない信念を持っていました。蝉沼は帝都通信の導入に反対しました。『テクテクゴーのアプリはユーザーの位置情報を取り扱う。CDNを導入するということは、ユーザーの位置情報を会社の外部に流出させるということだ。それは許されない』という理由でした。彼の意見には一理ありますが、柔軟性に欠けているとも思えます。現代のインターネットを使ったサービスの運営では、様々な業者で分業するのが主流です。そんなに深く考えなくてもと思いました。迷う私に、蝉沼は更に言いました。『昔から、帝都通信は利用者の情報を政府の捜査機関に売っているという疑惑がある。そもそも政府が世論形成や市民監視のために立ち上げた会社だったという見方さえある。そんな会社と係わるべきではない』と。その真相は私にはわかりませんでした」
そんな話は、俺も初めて聞いた。
「そんな時、御社の熊倉さんが来られたのです。熊倉さんは声を潜めて私にこうおっしゃいました。『もし帝都通信のCDNを採用してくれたら、あなたに個人的にキックバックができる』」
俺は驚いた。熊倉がそんな裏の顔を持っていたことに。しかし言われてみれば、熊倉が願う願わないにかかわらず、それが会社の意向であれば熊倉は躊躇わないだろう。そういう男だ。
「もしテクテクゴーの事業が失敗して、私が会社の食堂では冷や飯しか食べられなくなっても、家で毎晩大きなお肉を食べて暮らすには十分な額でした。私は……それを受け取ってしまいました」
栗瀬は目を伏せた。
「蝉沼は何かに気づいたのでしょう。更に大きな声で反対運動を展開しました。私は彼の顔を見るのも辛くなってきました。それで……コネがある人事部の知り合いに頼み、蝉沼を解雇してもらいました。不祥事を捏造して」
そこで少し間が開いた。
「昨日、蝉沼から連絡がありました。蝉沼は、サンダーと帝都通信の密約をすべて公表するように求めています」
もう一度向かいのビルの屋上を見上げる。さっきまで天然水の広告が表示されていたディスプレイには、サンダー社のロゴにナイフを突き刺した禍々しいイラストが表示されていた。そのディスプレイだけではない。渋谷中の屋外広告版にそのイラストが映されている。
全ては蝉沼健太という人物の、正義感ゆえの暴走だったのだ。蝉沼は帝都通信社員である鳩川に目を付け、クラッキングで弱みを握り、熊倉のアクセス権限を奪い、その力で栗瀬を脅していたのだ。

俺は会議室を辞した。通りに出て熊倉に電話を掛ける。
「今、栗瀬メグミから話を聞きました」
熊倉は『そうか』と呟いただけだった。
「蝉沼健太という人物のことも知っていますか?」
『先ほど聞いた。蝉沼健太の行方は政府が追っている。既に出国しているらしいが、いずれ見つけだすだろう。こうなったら任せるしかない』
俺は語気を強めて熊倉に聞いた。
「栗瀬にキックバックを送ったというのは本当なんですか?」
熊倉ははっきりと言った。
『君の知らなくてもいいことだ』
「ユーザーの位置情報を政府の捜査機関に共有していたこともですか?」
『それも君には関係ないことだ』
「関係ないということはないでしょう。従業員ですよ」
熊倉は噛んで含めるように言った。
『君たち従業員はCDNを作るのが仕事だ。君たちはまっとうなCDNを作った。よくやってくれた。それをまっとうな事に使うかどうかは、持ち主次第だ。持ち主は君ではない。何があったとしても、君を矢面に立たせることはない。約束だ。君はオフィスに戻って、落ち着いて復旧作業をしてくれ』
落ち着いて、という言葉が俺の神経を逆なでた。普通の上司なら「急いで復旧しろ。何とかしろ。徹夜しろ」とでも言うだろう。だが、彼には責任を部下に押し付けるつもりなどない。そういう矜持を持った男である。だが、それはつまり会社ぐるみの不正についても、一切合切『お前の問題ではない』と言ったに等しいのだ。
「ああそうですか」
俺は腹が立ったので電話を切ってやった。

タクシーが停まった。一人のサラリーマン風の男が降りる。男はスマートフォンの操作に集中したまま、殆ど周りを見ずに歩道を歩き始めた。タクシーが走り去る。ふと、男は顔を上げた。そしてキョロキョロと頭上を見渡す。ハッとして振り返りタクシーに向かって手を振った。
「新宿だってば!」
男の叫びは渋谷の喧騒に掻き消された。タクシーの配車アプリは帝都通信のCDNを使っている。

SNSでは、首相が今朝の党内会合での発言が話題を呼んでいた。消費税率20%を決断したという。もしやと思って首相官邸のHPを開いてみる。ちなみに官邸HPはCDNを経由していない。首相動静を見ると、そもそも今日は党内会合などしていない。完全なデマだ。一方、SNSは帝都通信のCDNを使っている。ということは、改竄されたのはSNSの方だろう。どんどんインターネットが壊れている。

すれ違ったOL風の女二人組のうち一人がダルそうな声で言った。
「サラダサンク、臨時休業だって」
「ええー」という声を上げたもう一人の女が言った。
「別のところ行こうか」
多分サラダサンクというのはこの辺りの昼飯処だろう。だが、HPに臨時休業と書いてあったからと言ってそれが本当かは分からない。
そのOLの名札ストラップには、Thunder Gamesと書かれていた。サンダー社への嫌がらせに、一飲食店を巻き込むのか。

俺を追い抜いた女子高生が言った。
「横浜の次の監督、黒木らしいよ」
こんな世界で、何が正解か分からない。

俺はもう一度熊倉に電話を掛けてやった。電話に出た熊倉に捲し立てる。
「熊倉さん、CDNを止めましょう」
『それはできない』
熊倉はまるで用意していたように即答した。
「できます。しなければいけません」
熊倉は厳かに言った。
『CDNを止めれば、日本の様々なWebサイトが止まる。スマートフォンアプリも止まる』
「ですが、改竄された情報を流し続けるより止めた方がましでしょう。俺は技術者として、犯罪者の手にかかったシステムをユーザーに提供し続けるわけにはいきません」
『これは社会の問題だ。潔癖を求めるだけが正解ではなく、目をつぶって国民の日常を守らなければならない時もある』
話にならない。
『政府の意向でもある』
「CDNの運営に政府は関係ないじゃないですか」
『政府も帝都通信の顧客だ。もしCDNの運営に瑕疵があれば、政府も発注責任を問われる』
「しかし……」
『蝉沼は政府が秘密裏に抹殺する、それまで隠し通せ。政府はそう仰せだ』
「さっき蝉沼は高飛びしたと言いましたよね。いつまでかかるんですか」
『分からない』
俺は再び電話を切った。もういい。こうなったらサーバールームに乗り込んで電源を引っこ抜いてやる。

有楽町線でオフィスのある飯田橋に戻る。
改札で、人の流れにちょっとした違和感を抱いた。列が不自然に乱れたような気がしたのだ。よく観察すると、切符で改札を出た人がいた。なるほど。このの人は切符を使えるレーンを選んだことによって列を乱したのか。まあ、中には切符を使う人もいるだろう。俺は改札にスマートフォンをタッチして出る。
俺は切符の人の後を付けてみることにした。その人は帽子を被っていた。切符の人は柱の陰に立ち止まると、ポケットから小さなメモ帳を取り出した。スマートフォンを持っていないのだろうか。メモを用意してあるということは、不慮の事故でスマホを落としたのではなく、最初から持たずに家を出たと想像できる。

俺は視界の端に切符の人を捉えつつ、失踪した後輩鳩川について考えた。
入社したときから、すこし暗くて真面目過ぎるところはあったが、しっかり働いていた。俺にとっては、それなりに手を掛けた後輩だ。はっきり言って彼の責任は重大だ。もし彼にもう一度会って、贖罪の機会を提供できるとするならば、それはどんなものだろうか。自分だったらどう思う。ごめんなさいで許して欲しいわけがない。自分の失敗で他人が責められるというのは、見ようによってはラッキーだが、やはり気が済まない。腹を切るのは自分でなければならない。鳩川もそう思うだろう。
帽子の男はより帽子を深くし、出口に向かった。地上に上がったところで、俺は帽子の男に声を掛けた。
「おい、鳩川」
俺は切符の人が鳩川だと気づいていた。鳩川は驚いて振り返った。
「お前、CDNのサーバーを止めてこい」
鳩川は顔を伏せて弱弱しく首を振った。
「そのために来たんだろ」
鳩川は何かに押しつぶされるように「はい」と答えた。そうするべきなのはわかっているが、まだ決意が固まってないのだろう。
「お前のICカードを使うと察知される。俺の後についてこい」
俺はオフィスビルに足を踏み入れた。ゲートに自分のICカードをかざし、鳩川を招き入れる。エレベーターホールはたまたま無人だった。エレベーターに乗り、自分たちのオフィスフロアではなく13階のサーバールームを目指す。
サーバールームにはたくさんの機材がある。鳩川はCDNの中央制御コンピューターがどれか分かるだろうか。
「一番西側のラックだ。分からなかったら、その辺全部の電源引っこ抜け」
鳩川は顔面を蒼白にしているが、強く頷いた。やる気はあるのだろう。
エレベーターが13階に辿り着いた。そこには熊倉が待っていた。熊倉は重々しくいった。
「来ると思っていた。だが、それは許されないことだ」
俺は熊倉の両肩を掴んだ。
「行かせてください。もう、こうするしかないんです」
「ダメだ」
俺はICカードを鳩川に投げた。熊倉は鳩川に掴みかかる。俺は熊倉を力ずくで押さえた。鳩川はICカードを拾うと、俺たち二人の脇をすり抜ける。鳩川がセキュリティ装置にICカードを押し当てると、自動ドアが開く。鳩川は飛び込んだ。

日本のインターネットが止まった。

 

文字数:15735

課題提出者一覧