ハッカー対ハッカー
このPCはシステム管理課主任の千葉によってゲーム専用に組み上げられた水冷モンスターマシンなのだが、コイツの凄いところはそこではない。
コイツは社内ネットワークから隔離された、スタンドアローン機なのだ。一切社内LANとの通信ができないこのPCの唯一の接続先は、日本のインターネットの核であるNSPIXPなのだ。一般のISPの上位ISP、バックボーンと呼ばれる場所だ。
現在は『dix-ie』として分散処理されているうちの一つで、そこのルーターと専用線で結ばれている。ISPを通さないため、余計なサーバーをいくつも通る必要がない。従って、通信レスポンスは国内最高であり、なにより日本のインターネットの頂点に立つことができるのだ。この端末からアクセスすれば、海底ケーブルでつながる外国のサーバーとはワンクッション無しで通信できる。もちろん、国内のISPの中核サーバーともワンクッション無しでアクセスできる。その上、ルーターにダイレクトに接続されているため、あらゆる制御コードを送ることができるのだ。
インターネットを少しでも深く知る者、インターネットに興味がある者にとっては夢の端末であり、全国のネットワーク管理者の憧れのマシンなのだ。
処理能力もモンスター、遅延無しの通信レスポンス、日本のインターネットが集約される頂点のルーター。与えられた環境に不足無し。神崎はその最高の環境でハッカーとしての能力を遺憾なく発揮した。
常人とは思えない速度でキーを叩く神崎。これは決められた文章を入力しているのではない。処理に対応したコードの入力、必要に合わせたスクリプトの入力、時には必要なプログラムをその場で組み、それを実行しているのだ。それと共に必要なデータを呼び出し、それを見た結果の処理の入力など、考えながらの入力作業なのだ。
天才ハッカーと恐れられ、世界のハッカー達とシノギを削った神崎の姿が、そこにはあった。
その天才ハッカーがいとも簡単に敵のPCを見つけ出す。
「あー、課長。相手のマシン、特定できましたよ」
キーを叩きながら神崎が報告した。
「なにっ! 誰だ」小室が叫んだ。
「それは、これからですよ。とりあえず、場所は海外からですねえ」神崎がこたえる。
神崎にモンスターマシンを触られ、怒り心頭の千葉が声だけで割り込んだ。
「そんなのはわかってんだよ、バーカ。こっちだっで、さっきからトレースしてんだからよ! その先が串が多くて追いきれねーんだろーが!」
串とはプロキシサーバーのことである。
「あー、すいません。そうっすよね。敵は串を偽装して、アメリカ側から来てると思わせてますから」と、神崎。
「なにーっ! そっちは偽装なのかよっ!」
千葉がより大声で叫んだ。
「千葉! そんな大声だすな。ちゃんと聞えてる」
小室が千葉をたしなめた。
「は……すいません」
「で、特定できたと言ったが、どこからの攻撃なんだ、神崎」小室が聞いた。
「はい。中国からです」神崎が即答する。
「ちっ! またかっ!」
舌打ちした小室が苦虫を噛んだ表情になった。
「またアイツらですか」
神崎に顔を向けた伊藤も言った。
「そうじゃないかもしれないぞ。中国っつっても香港からだから」
神崎は伊藤に返した。
「神崎さん。突き止めたってことは、相手に神崎さんのこともバレたんじゃないですか? だとすると、ヤツらすぐ逃げますよ」
白石が必死にキーボードとマウス操作をしながら大きな声で言ってきた。
「それはまだ大丈夫だ。なにせこっちはこの会社からではなく、ディクシーの中枢ルーターから秒単位で中継サーバー変えて覗いてるんだ。並みのハッカーからは見つからないさ。世界最速の日本のインターネット網なめんじゃねえってことだな」
神崎は冷静にこたえ、キーを打ち続ける。
「あっ。先輩! じゃあ、敵の攻撃方法もわかったってことっすか?」
と、伊藤が聞いた。
「ああ、それはお前のモニター見たときから、わかってた」
「え――! そうなんすか? じゃあ、教えておいてくださいよ。意地悪だなあ、先輩」
伊藤が苦笑いを浮かべた。
「あはは。それじゃ、お前の腕がいつまでも上がらないだろう」
神崎は笑顔で答えたが、その目つきは笑っていなかった。いつまでも獲物を追い続けるハッカーの目つきだった。
「そうっすけど……」
「いいか、伊藤。やり方教えるから、お前も解析してみろ」
「はーい。お願いしまーす」
どんな時も明るく振舞う伊藤だった。
「まず、ルーターのポート情報を視覚化できるツールを使え。お前には、そのHEXデータをBINで読むのは辛いだろう」
「そうっすね。了解です。あ、ツールは知ってます」
「よし、そいつを使ってポートを見るんだ。いいか、四つまとめて見てみろ。何週かするうちに、ある規則的なことがわかるはずだ」
「いまツール起動しました! ちょっと待ってください……」
伊藤がモニターにしばらく見入った。
「どうだ? 見えてくるだろ」神崎が問いかける。
「ああっ! ほんとだ! 四ポートつづアタックされてますね」
興奮ぎみの伊藤。
「最終ポートまできたら、また先頭ポートに戻る。そのまま何週か見続けてみろ。特に80と8080は意識しろよ。Webサーバーのポートだからな」
「わかりました」
「どうだ、白石。攻撃が減ってるはずだが」
神崎が白石に問いかけた。
「はい。さっきより思いっきり減りました」
白石がこたえた。
「敵の使ってた三十二台の偽装サーバーのうち、五台だけウイルスを仕込んだ。いまは逆に相手に攻撃している」
「了解です。でも、それやっちゃうんですか?」
「まあ仕方ないだろう。この件が終わったらウイルスは休眠させておくよ」
「そうですけど……」
「どうせ使ってないサーバーなんだ。たまに俺が使うぐらいいいだろう?」
「でも仕込んだってことは、どこのサーバーかわかったんですか?」
白石が尋ねた。
「ああ、いくつかな。ひとつはシアトルの会社の使ってないサーバーみたいだ。他の三つはテキサスの田舎の個人サーバーだろう。もうひとつはフィラデルフィアだったが、誰の所有かまではわからない」
「へー。西海岸のサーバーまで使ってたんですね」
「ああ、そうだ。それ以降は大西洋を渡ってイギリスからフランス経由だったが、正直、その先の中東までトレースするとPINGが遅すぎて使い物にならん」
「ああ、そうですね」
「敵は大陸の横だから、そのまま西に向けて使ってるんだろうが、日本からだと辛いからな」
「中東のどっかにボトルネックありますよね」と、白石。
「あるなあ。正直、あそこら辺は俺にも正確にはわかんねーんだよ。ていうか、アメリカ周りで行っても大西洋を越えると辛くなってくるな。いまはディクシーからだから、なんとか使えてるが、普段は遅すぎてダイレクトでは無理だな。ウイルス仕込んで、チェーンでのんびりやるにはいいだろうがな」
「そうですね」
「ロシアが太いのを入れてくれれば、ヨーロッパを裏庭にできるんだけどな」と、目を細めて言う神崎。
「日本からだと、ロシアと特亜が邪魔ですね」と、白石が言うが、神崎からは白石の顔は見えない。
「だよなあ。日本はもっと金使って、北極海周りでヨーロッパ直通の海底ケーブルひいてくれねーかなあ。そうなれば、ヨーロッパは裏庭になって余裕で制覇できるんだけどなあ」
子供が夢を語るように話す神崎。それでも、キーを叩く速度は落ちていない。いまもスクリプトを考えながら打ち込み続けているのだ。時折、データを表示させ、一瞬考えた後にプログラムを作っている。それを実行して、望む結果が出ないと、別のプログラムを作成し再び試す。
神崎の頭には無限とも言えるハッキング手法が入っていた。どの手法を使うかは考える前に指が動いていた。いままで、幾万通りの手法でハッキングしてきた神崎にとって、どれが最適なのかは考えるまでもないことだった。
次々と試すハッキング手法。神崎は楽しくて仕方が無かった。自分の攻撃を相手はどうやって防ぐのか、相手の攻撃はどんなテクニックを使ってくるのか。それを見るのは神崎にとって無上の喜びだった。
知識欲。未知のテクニックや未知の情報に、神崎は異常に執着する。それは、ソフトとハードの両面にも及ぶのだ。
「ああ、そうなったらいいですね」
白石も同じ考えのようだった。
[用語説明]
※NSPIXP【ネットワーク・サービス・プロバイダ・インターネット・エクスチェンジ・ポイントの略】
※ISP【インターネット・サービス・プロバイダの略】(インターネット接続業者のこと。単にプロバイダのこと)
串(プロキシサーバーの日本の隠語。プロキシ、キシ、くし、串と変化。プロキシとは代理という意味で、プロキシサーバーとは代理サーバーのこと。本来、インターネット上で相手のサーバーに接続するさいにプロキシサーバーを通して接続すると高速に見えるように作られた中継サーバー。プロキシサーバーは接続先のサーバーの情報を常に保持しており、接続元からの要求に対し自ら保持した情報を返す。従って、接続元は目的のサーバーに直接接続しなくてもプロキシサーバーから情報を得られるので高速に感じるのである。その仕組みのため、プロキシサーバーを通して接続すると、接続先の相手サーバーから見た場合、接続元PCはプロキシサーバーに見える)
中継サーバー(インターネット上でコンピュータ同士の通信を中継するサーバーのこと。インターネットの仕組み上、その中継サーバーはいくつも通すことが可能で、敢えてたくさんの中継サーバーを通すことによって、相手から追跡しにくくする効果がある。作中では中継サーバーをなんらかの方法で偽装して追跡者をかく乱する目的で使っている。余談だが、日本では高速光回線が普及したため中継サーバーの一種であるプロキシサーバーは減ったが、海外では未だに電話回線とモデムなどで接続しているところがたくさん残っており、現役のプロキシサーバーも大量に使われている)
※BIN(2進数のこと。コンピュータは0と1しかわからないので、2進数で計算をする)
※HEX(16進数のこと。人間には2進数ではわかりずらいので、それを4桁まとめて16進数として見るとわかりやすい。例えば50は2進数では00110010だが、16進数で表すと32になりわかりやすい)
※PING(ネットワークがつながっているかを確認するためのコマンド)