第26話「杭と指紋」
2001年6月12日。火曜日。三郷。マギ・ハブ。午後5時17分。
F501iが鳴った。
航は、サーバールームのモニターの前にいた。プロメテウスのパケット解析。3ヶ月分のデータが、1.5Mbpsの回線で蓄積されている。
番号を見た。佐伯事務所。
通話ボタンを押した。
「佐伯さん」
「渡辺から連絡があった」
佐伯の声は短かった。煙草を咥えていない時の、乾いた声。
「判決が出た」
航の指が、キーボードの上で止まった。
「テクノウェーブの特許侵害訴訟。欠席裁判。原告勝訴。損害賠償3,200万円。被告・霧島怜。出廷なし」
航は、目を閉じた。
勝った。
「判決文は渡辺が持っている。写しが要るなら、取りに行け」
「行きます」
「もう一つ」
佐伯の声が、わずかに変わった。
「渡辺が言っていた。判決は出たが、執行は難しい。霧島は所在不明で、国内に差し押さえ可能な資産が確認できない。ケイマンの8,700万には、日本の判決が及ばない」
航は、黙った。
「つまり、金は取れない」
「金は取れない。だが、判決は残る」
佐伯が、煙草に火をつける音がした。
「前に言ったな。判決は武器じゃない。杭だ。地面に打ち込んでおけば、霧島がどこに行っても引っかかる。今日、杭が一本、打たれた」
電話が切れた。
航は、F501iをポケットに戻した。
「アイリス」
「はい、マスター」
「聞いていたな」
「はい。テクノウェーブ対霧島怜。原告勝訴。損害賠償3,200万円。ただし執行の見込みは——」
「ゼロに近い。知ってる」
航は、椅子の背にもたれた。
3,200万円の判決。紙の上の数字。霧島の手元には届かない。だが、霧島怜という名前に、裁判所の印が押された。
霧島がどこにいても、この判決は消えない。
「勝訴、おめでとうございます。ただし、おめでたいのは紙の上だけですが」
「毒舌のタイミングが最悪だな」
「品質管理です」
---
神崎が、仮眠室から出てきた。
「今の電話、何だ」
「霧島の訴訟、勝った」
神崎の顔が、一瞬だけ明るくなった。
「マジか。欠席裁判?」
「ああ。出てこなかった。3,200万の賠償判決」
「3,200万か。取れるのか」
「取れない。霧島は消えてる。金はケイマンだ」
神崎は、壁にもたれた。
「……勝って、取れない。なんだそれ」
「杭だよ」
「杭?」
「佐伯さんの言葉だ。判決は武器じゃない。杭だと。地面に打ち込んでおけば、相手がどこに行っても引っかかる」
神崎は、腕を組んだ。
「引っかかる、か。霧島が表に出てきた瞬間に、ってことか」
「そうだ。銀行口座を開く時。会社を作る時。不動産を買う時。3,200万の判決が、霧島の名前にぶら下がり続ける」
「永遠に」
「永遠じゃない。時効はある。だが、10年は持つ」
神崎が、小さく口笛を吹いた。
「10年の杭か。悪くないな」
航は、モニターに向き直った。
「悪くない。だが、足りない」
「足りない?」
「霧島は駒だ。杭を打ったのは霧島に対してだけだ。本体はまだ、指一本触れていない」
神崎の顔が、引き締まった。
「L、か」
「ああ。判決が出た今、次はLだ」
---
2001年6月12日。火曜日。マギ・ハブ。午後7時。
「アイリス。3ヶ月分のパケットデータ、解析はどこまで進んだ」
「ADSL開通以降、プロメテウス関連ボットの通信メタデータを継続取得しています。総データ量は約4.2GB。解析完了率は68%です」
「残り32%の推定所要時間は」
「現在の処理速度で、約10日です」
「待てない。優先度を上げろ。プロメテウスのボット解析を最優先タスクに設定」
「了解しました。ただし、VOのサーバー監視とreprompt.comの管理に割く帯域が低下します」
「構わない。今夜はボットだ」
航は、キーボードに手を置いた。
1月にADSLが開通した時、最初に設定した優先タスク。第一優先、プロメテウスのボットネットの発信元解析。
あの時は128kbpsから1.5Mbpsに変わったばかりで、データの蓄積が足りなかった。喜楽の支援に時間を取られた。投資ファンドの罠に佐伯を巻き込んだ。
3ヶ月が経った。データは溜まっている。判決も出た。
ここから、攻める。
「メティス。ボットの投稿タイムスタンプのパターン解析、最新の結果を出せ」
〈了解しました。1月の初回解析から、データ量が約12倍に増加しています。パターンの精度が向上しました〉
画面に、グラフが表示された。
〈プロメテウス関連ボットの投稿パターンを、テクノウェーブの特許明細書に記載された暗号化通信プロトコルと照合しました。一致率は、1月時点の構造的一致から、87.3%のアルゴリズム一致に精度が上がっています〉
「87%か。前回と同じだな」
〈いいえ。精度が違います。1月はメタデータ312件からの構造分析でした。現在は4,891件のメタデータに基づくアルゴリズム照合です。87%の信頼度が、根本的に変わっています〉
航は、画面を凝視した。
「何が見えた」
〈ボットの投稿アルゴリズムに、固有の「署名」があります。テクノウェーブのプロトコルをベースにしていますが、独自の改変が加えられています。この改変パターンから、プログラマーの「癖」を抽出できました〉
神崎が、モニターに張り付いた。
「癖?」
〈変数名の命名規則、ループ構造の書き方、エラーハンドリングの手法。コードを書く人間には、指紋のように固有の癖があります。DDoSの時に分離した「化け物」のボットネットと、今回のプロメテウスのボットには、同一の癖が確認されました〉
「同一人物だ」
神崎が、呟いた。
「DDoSのボットネットと、2ちゃんねるの世論操作ボットを書いたのは、同じ人間だ」
「マスター」
アイリスの声が、割り込んだ。
「もう一つ、報告があります」
「言え」
「この『癖』を、テクノウェーブの特許明細書の実装コードと照合しました」
航の目が、細くなった。
「特許明細書には、発明者の名前が記載されています」
〔補足します〕
テミスの声が響いた。
〔テクノウェーブ株式会社の特許出願記録を検索しました。「分散ノード間の暗号化通信プロトコル」の発明者として記載されている氏名は3名。代表取締役1名と、技術者2名です〕
「代表は破産後に死亡している。技術者2名の名前は」
〔白石隆。及川誠。いずれも、破産後の消息は公開情報では追えていません〕
航は、立ち上がった。
「メティス。この2人の名前で、検索をかけろ。住民票、電話帳、学術論文、技術系掲示板、何でもいい。2001年時点で生存を確認できる情報を全部拾え」
〈了解しました。推定所要時間、2時間〉
「神崎」
「ああ」
「コードの癖を、もっと細かく分析できるか。白石と及川、どっちの癖に近いか」
神崎が、キーボードに向かった。
「やってみる。ただ、特許明細書の実装コードは短い。癖を比較するには、他のコードサンプルが要る」
「テクノウェーブが公開していた技術文書、学会発表、何でもいい。白石か及川が個人名義で書いたコードがないか探せ」
「了解」
サーバールームに、キーボードの打鍵音が響いた。
航と神崎が、並んでモニターに向かっている。
1.5Mbpsの回線が、データを吸い込んでいく。
---
午後11時。
〈マスター。検索結果が出ました〉
メティスの声。
航は、コーヒーのカップを置いた。冷めている。
「報告しろ」
〈白石隆。テクノウェーブ破産後、2000年4月に都内のIT企業に再就職しています。ソースは、NIKKEI NETの人事異動欄。ただし、2001年1月時点で退職しています〉
「退職後は」
〈不明です。住民票の異動は公開情報からは追えません〉
「及川誠は」
〈及川誠。公開情報にヒットしません。ただし——〉
メティスの声が、わずかに変わった。
〈1999年の技術系掲示板「fj.comp.security」に、「M.Oikawa」名義の投稿が4件確認されました。内容は、分散システムの暗号化に関する技術的な議論です〉
航の背中が、伸びた。
「fj。ネットニュースか」
fjはUsenetの日本語グループ。2ちゃんねるが普及する前の、技術者コミュニティ。1999年にまだ使っていた人間がいる。
「その投稿の内容は」
〈分散ノード間の通信における、タイムスタンプを利用した認証プロトコルの提案です。テクノウェーブの特許と、主題が一致します〉
「投稿のIPアドレスは」
〈1999年当時のfjの投稿にはIPアドレスは直接記録されていません。ただし、投稿ヘッダのNNTP-Posting-Hostにホスト名が残っています。逆引きすると——〉
メティスが、一瞬止まった。
〈——OCNの東京都文京区アクセスポイントです〉
航は、椅子から立ち上がった。
文京区。
「アイリス。プロメテウスのボットネットが経由したプロキシサーバーのうち、国内のものはあったか」
「はい。多重プロキシの最内層で、2件の国内プロキシを検出しています。うち1件のホスティング事業者の所在地は——東京都文京区です」
サーバールームが、静かになった。
ファンの音だけが響いている。
及川誠。テクノウェーブの元技術者。1999年に文京区のプロバイダからfjに投稿していた。プロメテウスのボットネットの国内プロキシも、文京区。
偶然か。
航は、窓の外を見た。
6月の三郷。暗い。田んぼの向こうに、わずかな灯りが点在している。
「断定はできるか」
〈できません。文京区のOCNアクセスポイントは、同区内の数千世帯が利用しています。また、fjの投稿は1999年、プロキシの検出は2001年。2年の時間差があります〉
「だが、繋がる可能性がある」
〈はい。及川誠がプロメテウスのボットネットの作者——神崎さんが「化け物」と呼んだ人物——である可能性は、否定できません〉
航は、拳を握った。
初めてだ。
Lの影に、名前がついた。
まだ確定ではない。及川誠がLである保証はない。文京区というエリアが重なっただけだ。だが、これまで「void」「1337」「echo」としか呼べなかった存在に、初めて人間の名前が紐づいた。
「神崎。及川誠の名前で、コードの照合を進めてくれ。fjの投稿にコードの断片があるなら、ボットネットの癖と比較できるはずだ」
「了解。明日の朝までにやる」
「アイリス。及川誠に関する情報を全件インデックスしろ。タグは『L候補・及川誠・文京区・テクノウェーブ』」
「了解しました」
「それと、佐伯さんに報告する。明日、本所に行く」
「判決の写しの受け取りと合わせて、ですね」
「ああ。渡辺弁護士のところで判決文を受け取って、佐伯さんにLの手がかりを報告する」
航は、モニターを見つめていた。
画面に、2つの名前が並んでいる。
白石隆。及川誠。
テクノウェーブが破産した時、この2人に何が起きたのか。誰が霧島にテクノウェーブの技術を渡したのか。そして、誰がプロメテウスのボットネットを書いたのか。
3ヶ月間、航は守りに回っていた。喜楽の支援。投資ファンドの罠の回避。Lの観測に耐える日々。
今日、杭が一本打たれた。そして、指紋が一つ浮かんだ。
「マスター」
「なんだ」
「本日の戦果を総括してもよろしいですか」
「言ってみろ」
「霧島への判決——杭が一本。及川誠——指紋が一つ。そして、マスターの睡眠時間——推定3時間。戦果としてはプラスですが、残機の消費が過大です」
「……わかった。寝る」
「本当ですか」
「本当だ」
航は、椅子を引いた。
「木村さんを起こすな。明日、報告する」
「了解しました」
航は、仮眠室に向かう前に、サーバールームの隅にある棚からカップ麺を取り出した。
木村が秋葉原から持ってきた段ボールの中にあった。「チキンラーメン」。袋ではなく、カップ。木村が「非常食だ」と言って棚に積んでいた。
ポットの湯を注ぐ。3分待つ。
蓋を開けた。
鶏ガラの匂いが、サーバールームに広がった。
熱い。舌が焼ける。
39歳の舌が「インスタント麺。栄養価は最低」と判定する。14歳の胃が「うまい」と答える。
不思議だった。
先月のウイダーinゼリーは、何の味もしなかった。同じ一人の夜食なのに、今夜のチキンラーメンは味がする。
違いは一つだ。
今日、前に進んだ。
杭が打たれた。指紋が浮かんだ。3ヶ月の「守り」が終わって、攻めに転じた。
その手応えが、安いインスタント麺に味をつけていた。
航は、スープを最後まで飲んだ。塩辛い。体に悪い。でも、胃の底に溜まる熱が、悪くなかった。
空のカップをゴミ箱に捨てた。今度は、入った。
午前0時12分。
アイリスのアラートが鳴る前に、航は仮眠室のベッドに倒れ込んだ。
明日、本所に行く。判決文を受け取る。佐伯に及川誠の名前を伝える。
初めて、Lに「足」がついた。
佐伯なら、こう言うだろう。
「足がある」と。




