6.プロジェクト
セキュリティの穴を見つけるためには、実際に外部からハッキングしてみるのがいい。それがウチの会社の売り文句だ。
D-genesの仕事を受注して、一か月後。俺はデスクトップパソコンを繰りながら、仕事を進めていた。
モニタには特に飾り気のないアプリケーションのウィンドウが起動していた。この仕事の為に俺が自作したモノだ。
ハッキング、というのは新規の発明を常に取り入れ、最新を維持する技術と思われがちだ。その考えは外れているわけではないが、当然のことながら基礎の基礎、通信技術の手順や構造を知り尽くしている必要がある。
そして、意外にも古くからある手口のハッキングが通じてしまう事もよくある。例えば、USBメモリをターゲットのPCルームに紛れ込ませる方法。中身を確認しようとパソコンに挿したら最後、USBメモリの中のマルウェアが発動する。
そして、それは今回俺が採用した手法の一つでもあった。
D-genes本社のPCルームにUSBスティックを何本かばらまいた。何本かはマルウェア入りのメモリで、残りはWi-Fiルータだ。情報リテラシーが高くない誰かが中身をPCルームのパソコンで確認してくれれば、俺の作ったプログラムが作動し、リモートで先方のパソコンを操作することを可能にしてくれる。
こうしてスーパーユーザーの権限を取ってしまえば、データベースをいじることも、勝手に仕様を変更することも、データを破壊することも容易だ。データを抜き取ることなんて造作もない。
これは物理的な難易度が高い手段だが、効果的である。人的なエラーを誘う手口は古くから存在し、今でもちゃっかり現役だったりする。
この手のハッキングを防ぐためには、何よりシステムを運用する人間のルールが守られていることが重要である。システムにおいて、人間は一番の不確定要素なのだ。今回であればD-genesの情報システム部に”出所不明のメモリをパソコンに挿さない”というルールが、社員に周知・徹底されているかがこのハッキングを防ぐことになる。
モニタに表示されているアプリケーションが、”You have succeeded.”の文字を映した。
つまり、D-genesの社内の人間が出自不明のUSBを会社のPCに差してしまったことを意味する。俺の自作したマルウェアが先方のシステムに展開され、外部からのアクセスを可能にしてしまった。
そんなわけで、俺はハッキングを成功させた。自分の仕事をこなせたことを喜ぶべきか、依頼主のセキュリティが弱いことを嘆くべきか、微妙なところだ。どちらにせよ間違いなく仕事は増えるのだが。
セキュリティは当然ながら、人が運用することが前提で組むべきだ。それにはルール作りのみならず、コミュニケーションが大事になってくる。そんな説教くさいことをレポートに書くことを決めた。
今回は人的原因によりセキュリティを破ることができたが、ほかにもリスクになりそうな箇所がいくつかあった。テキストエディタに今回のペネトレーションテストの結果をまとめる。
システムの脆弱性を列挙していく。一般に、脆弱性、脅威、リスクは同じような捉え方をされているが、実はそれぞれ異なる意味合いがある。情報セキュリティに関する欠陥を脆弱性といい、実際に危険な事象につながると判断されたものが脅威、そして脅威と判定されたものがもたらす被害の大きさの見積もりがリスク。これらを適正に整理し対処するプライオリティを判定するのは楽な仕事ではない。鉄壁のセキュリティはコストの無駄だ。ハッカーの攻撃手法と心理を読むことで効果的な対策が可能になる。
レポートの骨子を整えるためにキーボードを叩いていく中で、ずっとあった違和感が頭をもたげた。
なぜあの日、俺は簡単にサーバールームへ招かれたのだろうか?
もちろん最低限のセキュリティが構築されているかを確認するために俺が水を向けたから、という理由はある。アカサカは技術者ではあるが元々の専門は遺伝学だ。だからセキュリティへの意識が薄く、部外者をサーバールームに招いてしまったのだろうか。
そう考えれば納得はできる。だからこそ俺のようなセキュリティエンジニアに仕事が回ってくるのだ。だが何かが不自然だ。これは本当にただのコンピュータサイエンスに慣れていない人間のミス、で片付けて良いのか。
うっすらとした懸念。だが、目の前の仕事をやっつけることが何よりも優先である。
マキタは今日、事務所に来ていなかった。
だからというのも変だが、パソコンからラジオを流す。適当なニュースが流れていた。ダラダラしながら仕事を始めるのには適している。作業に興が乗ってきたらどうせラジオは切るのだが。
ラジオのポップスに乗せて、キーボードのタイプ音が事務所に静かに響く。
セキュリティ調査のレポートを書いていると自分の携帯端末の通知音が鳴った。画面を見るとマキタからだった。テキストメッセージではなく、通話のようだ。
「珍しいな、電話なんて」
俺はキーボードを打つ手を止め、端末に手を伸ばしかけたが、寸のところで思いとどまった。集中力を要する作業中に電話をとってしまい、雑談を二三して作業内容を忘れてしまった経験は枚挙にいとまがない。気心知れた仕事仲間ならなおのこと話し込んでしまいそうだ。
結局、端末の音声をオフにして、パソコンのモニタに向かい合うことにした。愚痴交じりの雑談はするべきことをあらかた終えてからでも遅くはない。
しばらく作業を進めていたが、D-genesメインデータサーバーに侵入した俺は違和感に気が付き手を止めた。
「あれ?なんでこんな容量のデータベースがあるんだ?」
今回の仕事は、新設したシステムのセキュリティを確認したいという依頼だったはず。システムのデータは動作確認のためのダミーだったはずだ。それにもかかわらず、ダミーのデータにしては明らかに容量が大きいデータベースがD-genesのサーバー内に存在している。
コマンドでデータベースの名前を呼び出す。
Project_SynD-rome.
もちろん実運用で想定される大容量のデータをきちんと捌けるかという事を確認するためのダミーデータという事もあるだろう。しかし、それにしてもこんなに必要だろうか。
ふと、俺は自分で破ったセキュリティの中にあるデータベースが気にかかった。ちょっとした出来心だった。このデータの重要さ如何では、セキュリティの重みづけが変わってくる。
それに事前に俺は先方には、今回のセキュリティ調査の対象のサーバーに重要なデータを置いておかないように伝えていたはずだ。という事は見ても問題ないデータだろう。そんな言い訳と、ちょっとした好奇心を携えて、依頼主のデータベースを覗くことにした。
『好奇心は猫を殺す』という諺を知っていたはずなのに。
コマンドを打ち、表示されたデータベース内。どうやらこれは遺伝子データベースのようだ。おそらく顧客データだろうか?
違和感が大きくなったのは、このデータベースのアクセス権限を見た時だ。ユーザーとして登録するためにはメールアドレスの登録が必須である仕様になっていた。データベースのアクセス権限を与えられているほかのユーザー一覧を呼び出す。ユーザーのメールアドレスのほとんどはD-genesの日本法人のドメインだ。時々他国のもあるが、調べてみるとD-genesの海外支社であった。
流石にあまりに覗き見するのは趣味が悪い。セキュリティ調査に必要ない情報であれば必要以上に知って、依頼主を怒らせるのは得策ではないだろう。
そう思って、ユーザーの確認の作業を打ち切ろうとしたが、一件、目につくメールアドレスがあった。
masaki.asuka@npa.go.jp
「なんだ、これ……」
メールのドメイン名を見た驚きが声になっていた。
メールのドメインにはgo.jpとある。これは行政機関しか取得できないドメインだったはずだ。民間の、それも開発中のデータベースになぜ行政機関のアクセス権限が?
前のnpaというのはなんだったか。俺はドメインをサーチエンジンで検索した。
検索エンジンのトップに出てきたサイトに俺は再び声が出た。
「嘘だろ」
検索結果の最上位に出てきたサイトには、旭日章の画像が載っていた。
NPA。National Police Agency.
それは警察庁のホームページだった。




