今できる最善を(3/7)

 八月九日、十四時を少し過ぎた頃のこと。モニタールームから少し離れたところで、良亮と晃一が話し合っていた。話題にしているのは、先程回収を終えたばかりの不審物について。犯人が置いたとされる不審物は、一癖も二癖もあるような代物だった。


 発見されたのは、爆発物が八つと真新しいミストシャワーの機械が一つ。これらは全て、関係者に知らされていないにも関わらず設置されていたものだ。爆発物は指定時間で爆発するように設計され、ご丁寧に一つずつ紙袋に入れられていた。


 爆発物の方はまだ対処可能である。本当に問題なのは、真新しいミストシャワーの噴霧装置の方であった。噴霧装置には天然痘ウイルスか、天然痘ウイルスより強力なウイルスが仕込まれているらしく、少しでも扱いを間違えればウイルスがばらまかれ、大惨事となってしまう。


 噴霧装置は爆発物と同様に時間がくれば動くようになっている。ウイルスの拡散を防ぐには、噴霧装置の起動そのものを止める必要があった。そして、噴霧装置の仕組みこそが良亮と晃一を苦しめる。


『噴霧装置の起動はネット上のプログラムで管理されているようです。犯人たちのノートパソコンのデスクトップ上にあるアイコンから、その起動システムにアクセス出来るのだとか。他にもアクセス手段があるようですが……』


 スピーカー越しに聞こえる警官の声は弱々しい。


『起動システムに入るには、パスワードが必要なようです。パスワードは数字と小文字のアルファベットを組み合わせた八桁のものなんだとか。システムの詳しいこと、パスワード、については口を割りませんでした』


 八桁のパスワードを破る必要がある。対象となる文字の種類は三十六種類。ダメ元で考えられるパスワードを片っ端から試すにしても、これまでの犯人の動向からパスワードを推測するにしても、起動システムにログインするまでにそれなりの時間がかかる。


 起動システムにアクセスする手段も問題であった。現在、良亮や晃一が使用できるのは関係者一人一人に支給されたノートパソコンと、観客席スペースから回収したミストシャワーの機械のみ。あとは犯人の一人である僚一こと恵比寿のパソコンが手元にあるだけ。


 すでにユーザー名とパスワードを把握している恵比寿のパソコンを立ち上げた。デスクトップには大したアイコンはない。オリンピック関係者専用サイト、メールアプリ、典型的なオフィスアプリ、といったメジャーなアイコンばかりが並んでいる。だがその中に一つ、異様なアイコンを見つけた。


 アイコンの名前は「システム管理」。何かのアプリケーションのようだが、このアイコンは他の関係者のパソコンには存在しないものだ。アイコンのダブルクリックを試みると、アプリの起動にパスワードを要求された。思わぬ発見に良亮と晃一が顔を見合わせる。


「晃一さん、俺より詳しいっスよね。総当たりで試してください。俺は、緊急チームの方々と一緒にパスワードを推測して試すっス」

「良亮の指示が最善だな。対策チームは他の非常時に備えてくれ。緊急チームは良亮と一緒にパスワードの手がかりを探して、考えられるパスワードを全部試してくれ。俺はツールを使って総当りを試す」


 総当りと言うのは別名「ブルートフォース攻撃」とも呼ばれ、可能な組み合わせを全て試すという力任せな暗号解読方法である。パソコンの性能にもよるが、アルファベット小文字のみ八桁のパスワードであれば約一分で突破出来る方法らしい。これが同じ桁数でアルファベット大小と数字が組み合わさると、かかる時間は約十四時間にまで延びる。


 総当り攻撃はあくまでも最終手段でしかなく、桁数やパスワードの条件によっては時間がかかる。漏洩したパスワードなどを試すパスワードリスト攻撃、あらかじめパスワードに使われそうな文字列を試す辞書攻撃、などは当たれば総当りより解析時間が短く済む。


 晃一が最も時間がかかるとされる総当り攻撃を行うのと同時に、良亮と緊急チーム構成員が犯人のパソコンから盗んだ情報を元にパスワードを予測し、片っ端から入力していく。緊迫した状況であるはずなのに、パスワード解析作業にあたる技術者達の顔は楽しげだ。



 作業はお世辞にも派手とは言えなかった。パソコンに向かい、キーボードやマウスを操作する。ウインドウ越しに現れた情報を元にパスワードを推測したり、専用のツールを使って力ずくでパスワード解除を行ったり、全て液晶画面の中で完結する行為だ。


 作業開始から一時間が経過した頃のこと。突如、沈黙に包まれたモニタールームの扉が開いた。二台のノートパソコンを両手に抱え、良亮達に近寄る男性。がたいのいい男性が奏でる物音に、対策チームの視線が集まる。


「犯人が持っていたノートパソコン二台、持ってきました。よかったらお使いください。状況を説明し、無理やり使用許可を取りました」


 モニタールームを訪れたのは筋肉質な身体をした男性、東新である。先の信号トラブルに巻き込まれてしまった東新は、晃一に指示され、証拠品であるノートパソコンを持ってこようと奮闘していたのだ。


 犯人のパソコンには、晃一が仕掛けたハッキングで抜き取れなかった情報が残っている。噴霧装置の解除コードを見つけなければならない今、小さな手がかりですら喉から手が出るほど欲しい。緊急チームの何人かが持ってこられたばかりのノートパソコンに群がっていく。




 事態が動いたのは起爆システムのパスワード解除を始めてから一時間後、十五時のことだった。モニタールームに良亮の歓声が響く。続けて晃一の驚きと喜びが混じった声がした。


「ログイン成功したっス。起動システムに侵入したっスよ」

「よくやったな、良亮。問題は、このアプリが何を目的としているかだな。すぐにプログラム解析を始める」

「そんなこと出来るんスか?」

「出来るもなにも、逆コンパイルしてからソースコードの解析をするんだよ。どっちも専用のツールがあるからな」


 逆コンパイルとは、「0」と「1」で表現される機械語で記述されたプログラムを、プログラミング言語で記述されたソースコードというものに変換する作業のことである。ソースコードに変換することにより、プログラミング言語のわかる人間がそのプログラムの内容を調べることが出来るようになる。


 機械語プログラムを人間が理解することは極めて難しい。それ故に、バグの修正や改良の際には元となるソースコードを使うのが一般的だ。世の中にはソースコード解析ツールなるものも存在するが、最後の改変は人の手で行うことが多い。


「ソースコード解析ツールが手元にある人はいますか? ……私を入れて六人、ですか。では私達で分担して解析を行いましょう。他の人達は、東新が持ってきたパソコンへのログインを試みてください。何か情報がわかり次第伝えてください」


 解析ツールがあるとないでは、解析にかかる時間に大きく差が出る。フローチャートなどにしてプログラムをわかりやすくするもの、動作確認を行えるもの、プログラミング言語の検索に長けたもの。様々なツールが存在する現代では、いかにそれらを有効利用するかが大事になってくる。

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る