逆恨み
ハッキング事件から二週間経ち、神崎の記憶からも徐々に事件のことが薄らいでいた。
藤沢からの連絡によると、例の車のことは現在調査中とのことだった。いまはまだ、個人の車だということしか分からないという。引き続き調べてみるわね、という言葉を最後に、まだ連絡は来ていない。
チンピラとはあの翌日に会い、カード十枚と二万円を受け取った。手始めに一枚二千円にしてやったのだ。十日後再び会う約束をし、チンピラとは別れた。
土曜の夜、珍しく白石が神崎の家に来たいというので、夕飯を外で取った後、二人で家に入った。
「何年ぶりだ?」神崎が聞いた。
「えーと。二年ぶりぐらいです。僕が入社した時の歓迎会の後、お邪魔しました」
「そうか。もうそんなに経つのか。ちょっと待ってろ。いま、コーヒー淹れるから」
「はい。すみません」
神崎はコーヒーを二つのマグカップに入れて、一つを白石の前に置いた。
「ありがとうございます」
会釈したあと、白石はマグカップに手を伸ばした。
「それにしても、凄い部屋ですね」
白石は苦笑いを浮かべて、一口飲んだマグカップをサイドテーブルに置いて立ち上がった。
「なんだよ。散らかってるってか」
神崎も苦笑した。
立ち上がった白石は、テーブルに散乱するガラクタのような電子基盤を見渡した。
「ええ……。あ、これなんて、まだ出たばっかりのマザーじゃないですか……。このルーターなんて原型ないですね。チップ剥がしちゃったんですか? もったいないなあ……。あっ、こっちのマザーにICEつながってる。やっぱりこれで見ないと気がすまないんですね神崎さん……。あ、これとこれとこれ、同じグラフィックカードが三枚も……、これって一枚十万ぐらいしますよね。やっぱりSLIですか……。メインのルーターまで筐体から出ちゃってるし……。ああ、でも、なんか楽しいですよね。この部屋って」
白石はテーブル周りを移動しながら、ガラクタを次々に手に取って感想を言ったあと、楽しそうに笑った。
「ああ、楽しいよ」
神崎は笑顔でコーヒーをすすった。
「なあ白石。お前、まだハッキングされた時のルーターログ観てるんだって?」
「ええ、まあ。解析はやりましたけど、その方法が……」
白石が椅子に腰掛けて言った。
「ポート攻撃のとき、敵はビットずれを利用したが、その辺は理解できたか?」
コーヒーを口元へ運ぶ神崎。
「理屈ではわかるんです。でも、どうやって敵はわざとビットずれを起こせるんですか? オーバーフローしたデータはキューにたまるだけじゃないですか」
マグカップを手に持ち、そのまま話す白石。
「お前の作るウイルスだって、相手のメモリに展開するときはビットずれデータで書き込むじゃないか、そのあと自分の持ってるサムで元に戻すんだろ?」
再び神崎はコーヒーを口へ運んだ。
「そうですけど、でもそれって通信しているときはビットずれとか関係ないじゃないですか。それに、僕の方法なんて初歩的な方法ですよ?」
「もし、ビットずれのデータがまたビットずれ起こしたらどうなるんだ? それを繰り返したら? 別の方向にビットずれ起こしたデータが隣り合って流れてきたら? 要は確率の問題だな。どうだ? わかるだろう?」
「え? もう、頭が混乱してきますよ、神崎さん」
「ハッハッハッハッ。もう少しだから。自分でわかったほうが気持ちいいぞお」
神崎はコーヒーを見ながら美味しそうに飲んだ。
「もう……」
神崎は楽しくて仕方がなかった。こんな話ができるのも相手が白石だからだった。
「ところで、神崎さん」
白石が神崎の方を向いた。
「ん?」
「課長のことなんですけど」
神妙な表情の白石。
「どうした」
「すっかり落ち込んじゃって、毎日見てるのが辛いんですよ」
それを聞いた神崎は無言で考え込んだ。
白石は続けた。
「データを取れって言ったのは課長ですけど、なんか、それ自体がいけなかったとか言うんですよ」
「んむ……」神崎は小さく唸った。
「もし、あのままルーターを落としてしまえば、こんな大事にならなかったんじゃないか的なことを言うんですよ」
「まあ……な」
「でも、僕にはそうは思えないんですよね……」
そう言った後、白石は黙ってしまった。
神崎は立ち上がって窓辺に歩いた。窓を開けて、タバコに火をつけた。椅子を引き寄せて腰掛けると、しばらく夜景を見つめた。その後、静かに話し始めた。
「確かに課長の言うとおり、あの時、ルーターを落とせばそれで攻撃は終わっただろう。しかし、その場限りだろう? 逃げてばかりだと、敵はまた仕掛けてくるんじゃないか? 何度でもな。あの時、データを吸い上げて、ディスクも潰しておいたから、敵も簡単には手を出せないと思い知ったはずだ。それに俺はあの時、課長に時間をくれと何度も頼んだ。課長はそれでいいと判断した。データをダウンロードしたのだって、だからこそ敵の目的がわかりそうなんじゃないか。俺は間違ったとは思ってない。多分、部長も同じ考えだろうさ」
「ですよね……」
「それに、お前が気をもんでも仕方ないだろう。気にするなよ」
「そうなんですけど……」
「話を変えよう! 白石」
その後は話題を変え、二人は楽しく談笑したのだった。
神崎のメインPCの前に座っていた白石が何かに気付いた。
「あ、神崎さん。窓、開きましたけど」
モニターに黒い小さな窓が開き、コマンドラインに数字の羅列が表示され始めた。
「なにっ!」
叫んだ神崎が窓辺からモニターの前に飛んできた。
テーブルに片手を付いて、モニターを見る神崎。
「おいおいおい!」大声を出す神崎。
「これって……DMZですよね」
横目で神崎を見ながら白石が言った。
「ああ! 本来は外部から内部ネットワークを守るためのエリアがDMZだが、そこに中継サーバーでも立てるつもりなんだろう」
神崎は固まったようにモニターを凝視した。
「なるほど。やっぱりDMZ内を書き換えようとしてますね……」
白石も同じ窓を見ながら言った。
「だな。……おい! これ見ろ。わかるか、白石」神崎が数字の羅列を指で横になぞった。「よく見てみろ。わかるだろう? ルーターログを解析したんだろう?」
白石が目を見開いた。
「あ、四ポートづつアタックしてますね。同じやつですかね?」
「だろうなあ」
神崎が嬉しそうにこたえた。
「あ、僕、どきましょうか?」白石が小声で提案した。
「ん? ああ」
そう言って、白石が立った席に神崎が座った。
「あれ? 神崎さん? 笑ってます?」
立ち上がって、神崎の顔がよく見えるようになった白石が、少し呆れ顔で聞いてきた。
「ん? 笑ってるか? 俺」
モニターを凝視しながらこたえる神崎。
神崎は笑っていた。ハッカーの目つきをしながら。
「よしよしよし。性懲りもなく、俺んちまで来ちゃったかあー」
手のひらをさすった神崎は、指を鳴らすと、キーボードのホームポジションに指を置いた。
「今度は容赦しねーぞ」
途端にすごい速さでキーを打ち始める神崎。キートップの文字が光るパンタグラフのキーボードが軋み始めた。
「あれで、容赦してたんですか」と、白石が呟いた。
「おい白石!」神崎が叫んだ。
「はい!」
白石は驚いたように返事をした。
「お前。二号機立ち上げてくれ。それとノートPCも。床に転がってる黒のガンメタのデカイやつ」
「あ、はい」
弾かれたように動く白石がテーブルの反対側に置いてある二号機のPCの電源ボタンを押した。
「あれ? 神崎さん。電源入りませんよ?」
何度か電源ボタンを押し込みながら、白石が聞いてきた。
「ああ、わりい。それ蓋開けて、マザーのスイッチ入れて」
モニターから目を外さず、神崎はこたえた。
「え――――。わかりました」
返事をして急いでPCの横にしゃがみ込む白石。PCの横蓋を開けて驚く。
「うわー。中は凄いですね。全部、最近発売されたヤツで組んだんですね。何枚同じやつを……」
そう言った後、筐体の中に手を入れて、マザーの赤いスタートボタンを押し込んだ。
ピッという音と共にBIOSが立ち上がり、一瞬でOSのデスクトップが表示された。
それを確認した白石は、本棚の下に転がっていたガンメタのノートPCをテーブルに置き、電源を入れた。
「ルーターは本棚の横の青いやつだ。LANケーブルが挿さってるから、そいつをノートPCにつないでくれ」と、神崎が指示した。
またもや弾かれるようにLANケーブルを持ってきた白石が、ノートPCにそれを挿し込んだ。
「つなぎました。あれ? このノートはFreeBSDなんですね」
ノートPCが立ち上がったのを見た白石が言った。
「そうだ。大丈夫だよな」神崎が白石に確認した。
「はい。オッケーです」
そうこたえて、白石もキーを打ち始めた。
白石は二号機とノートPCの二台を操作している。
「あ、これって専用線ですか?」ノートPCのキーを打っていた白石が聞いてきた。
「そうだ」
「へえ……。しかも、IJIだし」
白石が少し呆れ気味に言った。
「まあ、いいじゃねえか」
神崎も自分に少し呆れて言った。
「これなら、会社の専用線PCと変わらないじゃないですか」
「いや、違うな。そいつだと、ワンクッション入っちまう」
「それでも、日本のネット創成期からの大手ISPだし、回線もずば抜けて安定しているじゃないですか。いいなあ」
そう言いながら、キーを打つ白石。
「俺は防御にまわるから、白石は中継サーバー使って監視してくれ。できれば、もう一台で特定を急いでくれ」
「了解です」
部屋には二人のキーを打つ音だけが響いていた。
窓の夜景は、相変わらず巨大な高層ビルの光る窓だけだ。その暗い窓ガラスに、卓上スタンドとモニターの灯りを受けた、二人の姿がはっきりと反射していた。
防御に徹していた神崎が、あることに気付いた。
「おいおい。なんだこいつら。おもしれーじゃねーか」と、神崎が言った。
「はい、なんかそうみたいですね。ちょっと待って下さい」監視していた白石も気付いたらしく、二号機のキーを打っていた手を止め、ノートPCのキーを打ち始めた。
「二人、いや、三人だな」神崎がより明るくなった笑顔で言った。
「えー……はい。そうです。三人っぽいです。でも、他の二人はトレース信号を打ってるだけみたいです」
「いっぱい来てくれて、嬉しいじゃねえか。仲間なんだろうが、様子見してるんだろうな。白石、その二人は串とおしてるか?」
「はい」
「なら、中継サーバー使って、こっちもピンガー打ってやれ」
神崎の言うピンガーとはトレースコマンドのことである。
「了解」白石がエンターキーを叩いた。「打ちました。あ、相手が反応しました」
「おうし。反応したやつを、攻撃サーバー使って総攻撃しろ」
攻撃サーバーとは、あらかじめ攻撃用のウィルスなどを仕込んであるサーバーで、使用者が攻撃対象のIPアドレスを入力するとすぐに発動し、入力されたIPアドレスに向かって攻撃し始めるサーバーのことだ。
「了解。えっと、神崎さんのを使っていいんですか?」と、白石が聞いてきた。
「構わないが、たまには自分のを使ってみたらどうだ?」
「わかりました」
白石は意を決した。
「おーし。容赦すんな。ロックオンしたら即ウイルス発動しろ」
「了解。ロックオン完了してます。じゃあ、やっちゃいます!」白石が叫んだ。
「やれっ!」神崎も叫ぶ。
白石はエンターキーを叩いた。白石の攻撃型ウイルスは敵のPCに侵入した瞬間、全ディクスのファイル情報エリアをランダムデータで書き換えていく。同時にディスクIOドライバーを書き換えて、ヘッドシーク命令を無限に繰り返すように変更した。敵のHDDからは無限シークにより異音が発生し、電源を落とすしかない。しかし、再起動してもファイル情報エリアが滅茶苦茶に書き換えられているため、OSもまともに立ち上がらないだろう。こうして、敵の一人は完全に沈黙した。
「もう一人はどうだ?」神崎が聞いた。
「まだ反応しません。それより、そろそろ特定できそうです」
「おしおし。分かったら知らせてくれ。こっちもそろそろ反撃したいからな」
「はい。えっと。もう一回、ピンガー打ちますか?」
「そうだな。やってくれ」
「あ、敵の本体、串はずしました。IPアドレス見えます」
「なぜ急に外したんだろうな。まあいい。そのアドレス教えてくれ」
「はい。あ、消えちゃった……」
「くそ! ルーターを切って逃げたな。じゃあ、残りのトレース野郎にピンガー」
「了解」キーを叩く白石。「打ちましたが駄目です。反応しません」
「そうか。本体が居ない間に敵の中継サーバーの書き換えでもするか」
「そうですね」
数分後、椅子の背もたれに身体を預けた神崎がため息をついた。
「終わったが、二つぐらいしか使えるのがなかったなあ」
神崎が愚痴った。
「ええ、こっちなんてゼロでした」
白石は成果がなかったようだ。
「このトレースしてるやつって人間か? なんかプログラムっぽいな」
少し落ち着いた神崎が白石に語りかけた。
「うーん。そうかもしれません。トレース間隔をランダムにしてるだけかもしれませんね」
「面倒だが、俺達もトレースするか」
神崎が眉をしかめて言った。
「そうですね。僕がやりますよ」と、白石。
「ああ、頼む」
そう言って、神崎は腕を上げ、椅子の上で背伸びをした。
しばらくすると白石が叫んだ。
「見つけました」
「よーし、やったな。アドレス教えてくれ」
白石が口頭で敵のIPアドレスを読み上げた。
「了解」
神崎がそのIPアドレスを打ち込んで、最後にエンターキーを叩いた。
「オッケー、ロックオン完了」
そう言って、コマンドラインにウイルス名を打ち込む神崎。手をモニターまで上げた。
「人間かプログラムか知らないが、ウイルス発動…………するしかねーよな」
腕を振り下ろし、エンターキーを叩いた。
今回、神崎が使った中継サーバーは約二千台。一斉に降り注ぐデータの嵐。敵のPCはあっと言う間に神崎のウイルスに侵された。
そして、敵のPCは一分後に強制再起動するのだった。
コマンドラインに表示されたOK。改行したカーソルがブリンクを開始した。
しかし、再起動した敵のPCは、何事も無かったように動作しているはずだった。
「今回はゆっくり死んでもらおう」
そう言って、新たなプログラム名をコマンドラインに打ち込む神崎。
「何するんですか?」
白石が聞いてくる。
「全ドライブのファームのアップデート。でかいHDDが三台あるみたいだからさ。ははは」
神崎のアップデートは、改善するためではなく、使い物にならなくするためのアップデートである。
「仕方ないですよね」と、それを理解している白石がつぶいた。
「それじゃ、アップデート開始……ポチっとな」
エンターキーを押し込む神崎。
コマンドラインでピリオドがひとつづづ増えていくのを、白石がぼんやりと見つめてた。
全てが終わった室内は、静寂に包まれ、PCのファンの音だけが微かに聞えるだけになった。
[用語説明]
※ICE(CPUデバッカー。CPUとソケットの間に挟み込み、ブレークポイントを設定し各種レジスターやメモリ内を見ることができる装置)
※FreeBSD【フリー・ビー・エス・ディ】(Unix系のOS)
ピンガー(本来は潜水艦などで敵艦を索敵する時に使う音波信号で、それをもじった隠語。トレース信号のこと。トレース信号を受信したPCは返信してしまうため、IPアドレスが知られてしまう)