31
UAV撃墜時点からおよそ一〇分前──
三つ巴、四つ巴の混沌とした交戦状況に叩き込まれつつある現場から、五〇〇メートルほど離れた場所にある雑居ビル。フロアの半分をカラオケ店のスペースで占められた、周囲から頭ひとつ突き出たそのビルの屋上に繋がるドアを勢いよく蹴り開けて、劉と久住がフロアに転がり出る。
「クリア!」
「こっちも良し、だ!」
狙撃ライフルを肩付けにした劉と、短銃身の自動拳銃を手にした久住がほぼ同時に叫ぶ。
と、ほっとしたのか、久住が膝からその場にへたり込む。
「大丈夫ですか?」
「……だ、大丈夫。さすがに、この歳でビルの階段駆け上がったんで、ちょっと息が切れただけだ。そっちは、そっちの仕事をしてくれ」
小さく肯くと、劉はヘッドセットの送信ボタンを押した。
「こちら劉です。着陸地点を確保しました!」
『劉! そこから敵のUAVを確認できるか?』
「……UAVですか?」
いきなり武藤に言われてざっと周囲を見廻すが、それらしきものは見当たらない。遠くから銃声や爆発音らしき乾いた破裂音は聴こえてくるが、エンジン音らしきものは聴こえない。勿論、この手の機体が航空灯など点けて飛ぶわけもない。この夜中に、サイズ自体さほど大きくもない機体で地上すれすれを飛ばれては、肉眼で見つけ出すのはまず無理だ。
肉眼での捜索にさっさと見切りをつけて、跳ね上げていたモニターグラスおろす。チャンネルを切り替えるように、微光量増幅モード、熱源映像モードと次々に切り替えてゆくが、それらしきものは見つけられなかった。
「駄目ですね」
『結城!』
「こちらはリアルタイムで捕捉してます。通信飛行船の前方監視赤外線装置がエンジンの排熱を拾えてますんで」
虎ノ門のオフィスでカチャカチャとキィボードを叩きながら、バリケードのように周囲を取り囲む大型モニターの片隅に視線を流しつつ、結城が応える。
『よし。敵UAVの座標情報を劉に流して、狙撃させろ』
「いや、それは……」
また何言いだしてくれてんだ、このおっさん──という正直な感情を台詞に滲ませつつ、指摘する。
「平面位置の座標情報だけあっても、狙撃には使えませんよ」
『通信飛行船は立体視映像カメラを積んでる。それで高度情報を拾え』
「そんな話、初めて聞き……あった」
呻くように認める。元より民間非公開の通信飛行船の対地監視システムの、更に強固に防御された領域に、技術試験中の情報として立体視映像のリアルタイム動画情報が存在していたのを発見したのだ。それをあっさりと暴き出す結城のハッキング能力もとんでもないが──
「……そもそも何で、こんなこと、武藤さんが知ってるんです?」
『気が向いたらそのうち話してやる。それよりそれで狙撃に必要な情報は揃ったな?』
「まだ駄目です。僕らが使える民間公開のGPS情報じゃ、誤差が大きすぎて、高速移動するこんな小物の狙撃には使えない」
米軍が針の穴を通すような精密爆撃に使用する軍用精度の座標情報ならともかく、民間開放されているGPS情報の座標精度は平均して数メートルの誤差が生じる。時速六〇キロと原付バイクほどの低速とは言え、飛行する全長一メートル強のUAVを、音速以上で飛翔する数センチのライフル弾で狙撃するには精度が粗すぎる。
『準天頂衛星からの補助情報を掛け合わせてみろ』
GPS情報にJAXAが公開している準天頂衛星システムからの情報を掛け合わせれば、座標精度はぐっと高まる。
「それでもまだ誤差が七〇センチもあります!」
『………………』
武藤が押し黙る。
これでやっと諦めたかと思いきや、再び口を開いた。
『……確かオリンピック対策の名目で、防衛省と国交省が共同事業で都心部の画像測距をやってたはずだ。あれはどうなった?』
画像測距とは、特徴物となる地形や建物にあらかじめ絶対座標を割り振って、そこを起点に現在地からその特徴物が「どう見えるか」の画像情報をもって、測定地点との相対距離や高度の情報を得る座標測定方法のことである。元々、米軍が巡航ミサイルや戦略偵察用UAVの航法誘導に使う目的で開発してきたものだ。GPSと違って外部からの電波を必要とするわけではないので、電波妨害やハッキングに強いという特徴がある。
「どうって……精度を落とした民間向けの情報提供なら、国土地理院のサイト上で二~三年前から始まってます。でも狙撃に使えるような誤差数ミリ精度の座標情報は、防衛秘密扱いの暗号キィがないと解放されない仕組みになってるんで──」
『その暗号キィってのは、どこが握ってる?』
「そりゃあ、防衛省か国交省……まぁ、ガードの甘さで言えば、国交省側から当たるのが手っ取り早いのかもしれませんが、事前の仕込みもなしに、中央官庁のハッキングなんか、突然やれ、と言われてもですねぇ──」
『新庄!』
武藤がいきなり怒鳴る。
『……聞いている』それに応えるように、どこかでモニターしていたらしき新庄の冷やかな声が回線に割り込んできた。
『結城、霞が関WAN上にある国交省サーバのバックドア情報をそちらに送る。そこから入れ』
「バックドア情報って……何で、そんなもの、警視が持ってるんですか!?」
絶句する結城の手元に、班内SNSを通じて霞が関WANのアドレスとログイン情報が記載されたメッセージが届く。
半信半疑でログインしてみて驚いた。
「げ。何ですか、この高位アカウント?」
『貴様が気にする必要はない』
「………………」
新庄の妻が国交省の現役キャリア官僚だったことをちらりと思いだしたが、そこへ突っ込んでも誰も幸せになれなさそうなので黙っていた。そんなことより──
「これ、本当に使って大丈夫なんでしょうね?」
ハッキング・プログラム(ボット)に入手したログイン情報と検索式を打ち込みながら、訊ねる。
『まずいに決まってんだろうが、どアホぅ』
『足跡を残すようなヘマはするな』
突き放すような台詞が、即座に返ってきた。
「あああああああっ! 本当にこの人たちわっ!」
中央官庁サーバへのハッキングなどという、下手をすれば日本中の公的サイバー部隊から総出で追撃を受けかねない業務命令が平気で下される職場環境に戦慄する。ブラックだ。ブラックすぎる。
「……畜生、国家機密扱いの非公開暗号キィのハッキングなんて、秘密保護法とか、あれとか、これとかの法律に思いっきし引っかかってんじゃないスか!」
『ごちゃごちゃ言ってないで、手を動かせ』
「やってますよ!」
回線の向こうに怒鳴り返しながら、超絶技巧のピアニスト張りの指さばきで、滑らかにキィボード上に指先を走らせる。機能ごとに役割分担された複数のプログラムに、これもハッキングで確保した外部スパコンの演算資産を割り振って、次々に国交省サーバ内へと送り出す。
公式のアカウントを装って国交省サーバに潜り込んだプログラム群は、セキュリティ・システムの探索を避けつつ、サーバ内のどこに何のファイルがあるかの配置をつかさどるインデックス情報を奪取。内部からポートを開いて、外部スパコン上に確保した解析プログラムにインデックス情報を送り、ファイル名やファイルの種類から検索対象を絞り込む。そうやって絞り込んだターゲット情報をサーバ内で活動するプログラムに戻し、更に効率よく探索を進める。
曲がりなりにも中央官庁レベルの国家機関のサーバである。本来ならインデックス情報の解析と再構築だけで、数日はかかりかねないところを、不法取得した大学や企業が持つスパコンに分散処理させて力づくで解析し、瞬く間に目的の暗号キィの在り処に辿り着く。
「よし、見つけた!」
『劉の狙撃システムに座標情報を流し込め』
「簡単に……言わないでくださいっ!」
周囲の大型モニター群上に視線を走らせながら、手元も見ずに複数のキィボードを猛然と叩く。既にマウスなど使ってる余裕はないので、画面上のポインターはカメラを使った視線誘導で動いていた。
座標情報を得られても、データの書式が狙撃システムの規格とは必ずしも合致していないので変換処理が必要だ。加えて、元々、UAVのような飛翔体を、それも夜間に狙うようなモードは、劉の使っている狙撃システムには実装されていない。なので、前に代理店の担当者を丸め込んで入手していたプログラム仕様に基づいて、この場でアプリケーションを組み上げねばならない。
勿論、いちからプログラムを書き上げるわけではない。あらかじめ機能別に用意されたモジュール・ライブラリから必要な機能を選び、簡単なスクリプトを書いて呼び出すだけだ。
それでも、一刻を争う戦闘中にやれる作業ではない。ほとんど正気の沙汰ではないが、その筋から畏怖と驚嘆とともに密かに「魔術師級」と称されてきた凄まじい集中力と才能で、結城はそれをやり遂げようとしていた。
「テストも何にもなしに、即興で組んだアプリなんて……どうなったって、知りませんよ!」
血管が切れそうになるほどの集中力でスクリプトの最後の一行を書き上げて、コンパイル開始──出来た端から、ネットワーク越しに現場の劉のシステム上に送り込んで遠隔操作でインストール。コードを記述しながら論理チェックのツールは走らせてたので、起動しないということはないだろうが、動かしてみるまでは作った本人にもどうなるかは判らない。
「さあって、こんな急拵えのアプリで、うまくいきますかどうか……」
銃身下の支持架を開いた狙撃銃を屋上の角に据え、膝立ちの姿勢で構える劉のモニターグラスの裏側で、虎ノ門からの遠隔操作によって狙撃システムが強制終了して再起動する。
立ち上がった起動メニューの中から、視線誘導のポインタで新しく表示された対空邀撃モードを選択。画面上に標的UAVの方角を示す矢印と、相対距離や座標の数値が表示される。その指示に従って、劉は狙撃銃の銃口を向けた。
「駄目だ。やはり機影は確認できない」
『カメラ機能を強化するわけじゃないからね。予測される機体の座標情報に基づいて、照準を誘導するだけだよ』
回線越しに結城が説明する。
「それで撃ち落とせ、と」
『そういうこと』
「……日本人は無茶を言いますね」
『日本人がみんなそうだ、ってわけじゃないけどね──初弾は曳光弾を使って。こちらから弾道補正する』
「了解」
劉は狙撃銃の槓桿を引いて薬室を開放し、胸ポケットにおさめてあった曳光弾を押し込む。
『間もなく標的UAVがそっちの射界に入る』
「照準固定した。第一射──っ!」
ずしりと肩にくる重い反動を残し、オレンジ色の光の尾を曳きながら曳光弾が銃口から飛び出してゆく。
「……外した?」
『大丈夫。弾道は通信飛行船とUAVのセンサー群で捕捉してる。これで誤差は修正できた──次は本番の銃弾を使って!』
槓桿を引いて薬室から熱を帯びた空薬きょうを弾きだし、今度は弾倉から長距離狙撃専用に火薬から特別調合されたM118ライフル弾を送り込む。
『よし。UAVが周回して戻ってくる──すぐに射界に入るぞ!』
「確認した。照準固定。第二射──」
闇夜の真っ暗な画面上には、照準固定を示す記号と各種パラメーターを示す数字のみ。それで見えない標的に当てろというのも大概に無茶な話だと思いながら、すみやかに呼吸を整え、肺を空気で満たす。見えないはずの闇の彼方にあるUAVに意識を集束させる。呼吸による身体のぶれが一番安定するその瞬間を捉え、静かに引き金を落とす。
再びの反動を肩から全身で受け留めながら、その時点で劉は撃墜の成功を確信していた。
狙撃システムの示した未来予測に従って数百メートルの距離を飛翔したライフル弾は、後方にプロペラを持つ推進式のUAVの真横から繊維強化プラスチック製のエンジンカウルをぶち抜いて、内部のエンジン機構をぐじゃぐじゃに叩き壊した。
推進力を一気に喪失したUAVのAIは、それでも機位を安定させようと試みる。フラップや翼を動かして少しでも揚力を稼ごうと必死に足掻いて見せたが、それにも限界があった。元よりさほど高度を取ってなかったこともあって、ほどなく民家の屋根に頭から突っ込み、機体情報のログもそこで途絶えた。
「狙撃だと? どこからだ?」
浅田の問いに、戦術分析官がタブレット端末上の航空写真の一角を指し示す。
「おそらくここです。狙撃を受けた場所から東に五〇〇メートル。カラオケ店舗の入っているビルの屋上からかと」
「追い払ったはずのあの狙撃兵の仕業か。こんなところから、どうやってあのサイズのUAVの位置を把握……いや、今はそれはいい。ここで間違いないんだな?」
地形情報を見ただけで一発で判った。着陸地点だ。周囲に同じ高さのビルがなく、屋上フロアもそこそこに広い。おそらくヘリか何かで乗り付けて、要員ごと回収するつもりだ。
ならば──
「奴らが動くぞ!」
それは呉の身柄を抱えたあの謎の男女二人組を意識してのものだったが、認識が甘かった。
UAVの撃墜を察知した〈14K〉とNPAの兵士たちも、一斉に攻勢を開始してきたのである。
邀撃捜査班による、ハッキングを駆使したUAV撃墜作戦──
夜間、高速で移動する小さなUAVを劉の狙撃システムで狙撃すべく、結城の魔術師級のハッカー能力が炸裂する回です。
「映画とかアニメとかで、ハッカーががーってキィボード叩くの、もう止めない? 今時そんなハッカーいねーよ」
と普段から口にしていたわけですが、いざ、自分がその手の場面を書く羽目になったら、それやらないと間が持たなかったという……orz
いや、本来のハッキングって、事前に準備したツールを起動して対処しているだけだろうし、その場でパスだのパラメーターだの入力するにしたって、手動でやっていたら誤入力しかねないし、なるべく自動で処理するように、あらかじめ準備しとくと思うんですよね。
そんなわけで、「キィーボードの入力をさせるために」その場でスクリプトを組む展開にしました。
まぁ、後は、これから職場でも戦場でも、前線に近い場所で、ニーズに合わせてその場で臨機応変にアプリを組んで仕事を効率化してゆくワークスタイルっていうのが、出てくるんじゃないかなというのがあります。
実際に、戦闘機なんか、機体制御のプログラムを、機体整備スタッフがプログラミングして最適化するなんて、やってますし。
オフィスの事務仕事でも、WordとかExcelのマクロが書ける人がひとりいると、ぐっと作業効率が上がりますしね。
さすがに戦闘中にプログラム書くのはリアリティないかもしれませんが、そういう近未来のワークスタイルの理想像なんかも、本作ではちょいちょい作品に反映させていっています。
次回は、UAVの撃墜を受けて、一気に攻勢を強める〈14K〉部隊やNPA部隊、そしてそこへ遂に介入を開始する新勢力が──というお話。
まだまだ上げていきますよー!
次回は来週7月21日(月)6時更新予定です。




