6-7:深夜の大反省会と、最強の暗号化(HTTPS)パッチ
小説投稿サイト「あいぺん」に投稿された作品
あらすじ
デバックオペレーター - 6-7:深夜の大反省会と、最強の暗号化(HTTPS)パッチ
本文
深夜の荒野に停めた魔導車の車内は、焼け焦げた基板の匂いと、重苦しい沈黙に包まれていた。
ダッシュボードの明かりだけが、トラブルシューターたちの険しい顔を青白く照らしている。
命からがら持ち帰ったノートPCのファンは、過負荷でキィィィィンと不気味な高音を立てて回り続け、キーボードの隙間からはうっすらと熱気が立ち上っている。
『……現在の魔導車のフレーム耐久値、残り12%。これ以上の物理衝撃は致命的(デッド)です。生存確率、計測不能(エラー)に陥りました』
イータが感情の抜け落ちた声で、残酷なステータスをダンプする。アルファは悔しさに唇を強く噛み締め、ゼータはタイピングで血が滲んだ指先を震わせたまま、コンソールを力なく睨んでいた。
「さて。泣き言は後だ。ログ(事実)だけを見よう」
俺は冷え切ったコーヒーを喉に流し込み、ヨレヨレのYシャツのボタンをさらに一つ外して、ひび割れた液晶画面を仮想長机のホワイトボードに投影した。
『……アニキ。アンタ、あの絶望的なクラッシュを食らって、まだ瞬き一つしてないのか……?』
ゼータが呆れたように言う。ハッカーとしてのプライドを粉々に砕かれた彼の声には、深い疲労が滲んでいた。
『僕のステルスレイヤー、紙切れみたいに剥がされたんだぞ。完敗だ。仕様の次元が違いすぎる』
「俺たちヘルプデスクは、エラーを吐かれたら喜んでデバッグする生き物だからな。それに、次元が違う魔法なんざ使われてない。敵の理不尽な仕様(ルール)の正体は、ログに全部残ってる」
俺はYシャツの袖をまくり上げ、青いマーカーでホワイトボードを叩いた。
「こっちもそのルールを逆手にとってハックする。まずは第一の関門、外周を覆う『IDS魔鳥』と『WAF魔導巨兵』の多層防御だ。ゼータ、あいつらの検知ロジックをもう一度説明しろ」
『……あいつらは、ただの壁じゃない。通信の中身まで深くえぐり出して検査する「DPI(深層パケット解析)」をやってやがる』
ゼータが重々しく口を開く。
『分かりやすく言うなら……荷物の宛名(ヘッダ)だけじゃなく、箱を全部こじ開けて「パンツの柄」まで徹底的に調べる、超厳格な変態国境警備隊だ。地球の技術の匂いが1ビットでもすれば、一斉射撃してくる』
『ぱ、パンツの柄まで!? な、なんて破廉恥な仕様ですの! レディのプライベートデータまで丸裸にするなんて、帝国の防衛プログラムとして恥ずかしくないのかしら!』
アルファが顔を真っ赤にして叫び、ガンマも『ひえええっ、私のエプロンの下のお料理データまで見られちゃうんですかぁ!?』と、タワワな胸にお盆を押し当てて後ずさった。
『がはは! そりゃあドワーフの俺のパンツなんざ見たら、敵のシステムもエラー吐いて自爆するかもしれねえな!』
イプシロンが豪快に笑い飛ばすが、シグマに『不謹慎です、通信帯域の無駄遣いをやめなさい』と冷たく一蹴される。
「なるほど、全員が手荷物フル検査の変態警備隊か。なら、デルタ。お前の出番だ」
『ひゃはは! 任せなアニキ!』
デルタがサングラスを指で押し上げ、不敵な笑みを浮かべる。
『国境の変態警備員が荷物を全部開けようとするなら、俺が「宛名デタラメの空箱(デコイ)」を一秒間に数千万個、空からばら撒いてやる! 警備員どもが全部の箱を開けてパンツの柄をチェックしようとしたら、必ずパニックになって処理が追いつかなくなる(フリーズする)ッスよ!』
『……承知。敵の警備が空箱の処理で硬直した「数フレームの隙間」だけを縫って、私が魔導車で強行突破します。サスペンションの遊びは、すでにミリ単位で切り詰めてあります。一瞬のラグさえあれば、弾幕はすり抜けられる』
シグマがナビ画面の奥で静かに頷いた。
「よし、フェーズ1は『空箱の雨(DDoS)で警備員をパンクさせる』で決まりだ。次はフェーズ2――さっき俺たちをボコボコにした、絶対の門番『403 Forbidden』だ」
俺は赤黒い壁のアイコンを描き、太いバツ印をつけた。
「ゼータ。さっき俺たちの攻撃が逆流したカラクリ、解析できたか?」
『ああ。門番の奴、普通なら防げない僕らの攻撃(暗号)を、ルールの穴を突いて無理やり「平文」で覗き見してやがった。……要するに、俺たちの攻撃は「ハガキ」みたいな状態だったってことだ』
「ハガキ?」
『そうだ。帝国インフラは本来「身内はみんな善人」という前提で組まれてる。だから、セキュリティのガワを無視して中身を直接覗き込める特権があるんだ。配達員(門番)に中身の文章を丸読みされた挙句、宛先を勝手に「俺たち自身」に書き換えられて送り返された(逆流した)んだよ』
『地球のネットワーク技術で言うところの、国家レベルの「中間者攻撃(MITM)」ですね。インフラそのものが悪意を持っている……なんてタチの悪い配達員ですか』
エイジスがスマホの画面奥で、波形を険しく尖らせる。
『ふざけやがって! 俺たちのハガキを勝手に書き換えるようなクソ配達員なら、郵便局ごと俺のスパナで叩き潰してやるぜ!』
イプシロンがギリッと歯を鳴らし、デルタも『俺の回線でそんなことやったら即刻クビだぜ』と呆れたように息を吐く。
「性善説が生んだ最悪のバグだな。だが、カラクリが『覗き見』と『宛先の書き換え』だと分かれば、対処法(パッチ)はめちゃくちゃシンプルだ」
俺はキーボードを叩き、二つの単語を大書した。
『常時暗号化(HTTPS)』&『絶対署名(DNSSEC)』
「ハガキが読まれるなら、絶対に中身が開けられない『黒塗りの鋼鉄の金庫』に入れればいい。そして、宛先が書き換えられるなら、アルファの権限(Root)で作った『絶対に偽造できないハンコ』で封をして、座標を固定する」
『……なるほど! 中身が読めないただの「黒い箱」になれば、門番は俺たちの攻撃意図を検知できない! しかも宛先に絶対のハンコが押してあれば、座標を書き換えようとした瞬間に、門番自身がエラーを起こして自爆する……!』
ゼータが顔を上げ、ハッカーとしての狂気的な笑みを浮かべた。
「その通りだ。地球のインターネットじゃ、悪意のある配達員が荷物を覗き見るなんてのは日常茶飯事だからな。泥臭い防衛術を見せてやる」
対抗策(パッチ)の骨組みが組み上がり、仮想会議室のメンバーたちの表情に再び闘志の光が戻り始めた。俺もキーボードの上で「修正パッチのビルド」のコマンドを叩こうと、指を構えた。
だが、その時だった。
『……待ってください。データに矛盾(アノマリー)があります』
イータがパチリと瞬きをし、空間のホログラムに複雑な数式を弾き出した。
「どうした、イータ」
『先ほどの衝突時、敵の門番が私たちの暗号を平文に戻し、例外処理の穴を見つけて座標を書き換えるまでにかかった時間は「0.14秒」。……ですが、門番単体の演算リソース(ハードウェアスペック)から逆算すると、この処理には最低でも「3.2秒」はかかるはずです。統計学的にあり得ない速度(オーバースペック)です』
『……ああ。イータの言う通りだ。おかしい。ロジックが狂ってるんだ』
ゼータが震える指でタイピングの手を止め、血走った目でコンソールを凝視する。
『ハガキが読まれた(平文だった)のは分かった。でも、僕の組んだウイルスコードは数万行に及ぶ複雑な魔力配列だ。いくら中身が平文で読めたとしても、あの単細胞な門番プログラム単体で、僕のtry-catch(例外処理)の脆弱性をピンポイントで見抜いて逆流させるなんて……絶対に不可能なんだよ!』
イータとゼータの言葉に、会議室の空気が再びスッと冷え込んだ。
ゼータは、命からがら引っこ抜いてきた【不完全なダンプログ】の最後の数バイトを、恐る恐るデコードしてホワイトボードに表示した。
『……見てくれ。門番の背後で動いていた、不可解な「通信セッション」の痕跡だ』