続:ハッキング ◆bH5ADDHScw



 スーパーを出て、三村信史とジョセフの二人は近くの民家に身を寄せていた。
 時刻は放送間近の午前5時50分である。
 民家に着いてから二人は、一言も声を出していない。
 理由は一つ。三村信史が、深刻な顔で何かを考えているからだ。

「もしも~し? シンジちゃん、聞こえてる?」
「あ、あぁ……」

 生返事の三村。彼は今、先ほどのハッキングについて考えている。
 といっても、それは入手したデータや、ハッキングから分かった盗聴のことではない。
 もっと根本的に、『なぜ自分はハッキングできたのか』についてだ。

 さて、ここで読者にハッキングというものを説明しなければならない。
 貴方はハッキングと聴いて何を想像するだろうか。
 企業や国の大事なデータを盗んでいくネットワーク版のアルセーヌ・ルパンでも思い浮かべるだろうか。
 実は全く違う。
 ハッキングとはソフトウェア版のリバースエンジニアリングである。
 リバースエンジニアリングと言われても、全く分からないなら、ここから説明しよう。
 例えば、道を行く自動車があったとして、その自動車がどういう原理で動いているのかを解析する事。
 例えば、空を飛ぶ飛行機があったとして、その飛行機がどういう原理で飛んでいるのかを解析する事。
 つまり、通常は原理から物を作るのだが、リバースエンジニアリングはその逆で、物から原理を見つけ出すのである。
 ライバルの自動車会社が革命的な新車を発表した後には、当然その新車の動作原理を明かさなければならない。
 恐らく、ト●タ自動車がプリ●スを発表した直後の他社技術者たちは寝る間も惜しんでリバースエンジニアリングに勤しんだであろう。
 こういったものがリバースエンジニアリングである。

 さて、上記のものがリバースエンジニアリングなのだが、これをソフトウェアに適用するとはどういうことだろう。
 当然、ソフトウェアの動作原理を解明する事がそれにあたる。
 ソフトウェアを見たとき、そのソフトウェアがどんな目的のものであるか。どう言った職種の人が使うのか。
と言った基本的なことから、内部のデータはどう処理されているのかといった複雑な事まで、とことん解明する事をハッキングという。
 このハッキングを悪用すれば何が出来るか……まぁ、想像に難くないだろう

 では、悪用目的のハッキングについて説明する。
 例えば貴方が、どこかのデータベースにあるファイルを盗み見たいと考えたとしよう。
 調べなければならないのは、『どこかのデータベース』についての詳細だ。
 ネットワーク上のアドレスや、本来の利用形態。データベースに用いられているミドルウェアや、データベースがインストールされているOS、等々。
 これらの情報を調べ、続けてミドルウェアやOSのバグを確認する。
 当然、ミドルウェアやOSの開発者たちもデータを盗み見られないように注意しているはずなので、彼らのミス=バグが無ければデータを盗む事は出来ないからだ。
 ここで運良く、既に発見されているバグがあれば、それを利用してデータを盗む事が出来るかもしれない。
 だが、運悪くそのようなバグが無ければ自分で探す事になる。
 対象となるOSやミドルウェアを実際に購入(※2)、ないし、不正入手し、とことんまで使い込んでみる。そして、動作原理を洗い出す。
 その際、手動で使い込むだけでは無理と思うのなら、特殊なツール(※1)も併せて入手する必要があるだろうし、
場合によっては、そのようなツールを自作する必要に迫られるかもしれないが、
ともかくも、徹底的に使い倒し、内部構造を洗い出すのだ。
 その結果、運良くバグや設計ミスが見つかれば、そこからデータを盗み出せる可能性が出てくる。
 さて、貴方は実際にバグを見つけ出せたとしよう。そして、そのバグはデータ流出につながるバグであったとしよう。
 実は、これだけではデータを盗む事など出来ない。
 この手のバグはたいてい、手動では突くことが出来ないようになっており、このバグを突いて不正利用するためには、特殊なツールが必要になるのである。
 そして、バグに合わせてツールを作る事になるのだから当然、そのツールはバグごとに新規に作る必要がある。
 貴方自身が見つけたバグなら、ツールを作るのは貴方だ。無論、ここまで出来た貴方なら、ツール作成ぐらい苦も無く出来るはずだが……

 以上のステップを終え、ツールを作り終えた貴方は無事にデータベースからファイルを盗む事が出来るだろう。

 これが不正利用のためのハッキングについてである。
 この説明を聞いておかしいと思った貴方は賢い。
 実は、ハッキングとは当たり前だが、誰にでも出来る事ではないのだ。
 ハッキングして、不正アクセスするためには技術力以上に環境が物を言う。

 上記説明中※1の『特殊なツール』とはたいていデバッガであったりスニッファであったりするわけだ。
 だが、スニッファは普通のスニッファを買ってくればいいとしてもデバッガはそうは行かない。
 プログラミングツール付属のデバッガでは力不足の場合がほとんどであるため、解析専用の強力なデバッガツールが必要になる。
 そのようなツールはきわめて高い。数十万は軽くする上に、そもそも量販店には中々ない。
 この手のツールを利用しようと思えば、開発用途として会社で購入し、社の空き時間に利用するほかは無いだろう。
 とすると、この時点でハッキングできる人種は限られてくる。

 限られてくるのは、もう一つ※2でもそうだ。
 単純にOSやミドルウェアを買ってくるといっても、そのOSが市販されているものならいい。
 だが、サーバーに付属のOSで、サーバーとセットでなければ入手できないものだったら?
 数百万もするサーバーと抱き合わせのOSとミドルウェア。こんなものを買って不正利用だけに使用する、そんな奇特な人間は恐らく世界中探しても見つからないだろう。
 だから、これも上と同じで会社で買ってきたものを利用することになる。

 この時点で、よほど環境に恵まれた人間で無い限り正規のハッキングが不可能と分かったと思う。

 では、たいていのハッカーはどうやっているのだろうか。
 答えは簡単だ。優れたハッカーの業績を利用しているだけなのである。
 優れたハッカーが作成したツールを入手して、ハッキングを行う似非ハッカー。
 優れたハッカーが見つけ出したバグを利用して、ハッキングを行う似非ハッカー。
 これが世の大半を占めている。

 ここに、一人の少年がいる。
 彼の名は三村信史。彼もまた、そんな似非ハッカーの一人だ。
 彼はいま、自分がなぜハッキングできたのかについて考えている。
 今後もハッキングするつもりなのだが、そもそも、どうしてそれが可能だったのだろうか。

 実はそこには大きな偶然が重なっていた。

 ハッキングに詳しくない読者も、どこかのコンピュータからデータを盗むためには、
そのコンピュータとネットワーク的につながっていない限り無理だという事ぐらい判ると思う。
 極端な話、有線・無線問わず全くつながっていないコンピュータからはデータを盗む事など出来ない。
 何らかのデータや、最低限どんな物でもいいから、何かが外部と繋がっていない限り、データを盗む事は決して出来ないのである。
 これが成立している時点で、大きな偶然なのだが、偶然は他にもある。

 仮に、データを盗むコンピュータと繋がっていたとしても、そのコンピュータがどこにあるのか分からなければ盗む事など出来ない。
 ネットワーク上には何万、何百万どころではないコンピュータが接続されているのだ。
 そのどこにデータがあるのか分からなければ、盗む事など出来るわけも無い。
 三村信史はたまたま、PC上に残っているキャッシュからアドレスを割り出したが、そのアドレスにデータベースが含まれていたこと自体、
奇跡的な偶然といえる。
 なんせ、ただのWEBサーバーかも知れないアドレスだ。アクセスしたところで、主婦のお料理日記があるぐらいかもしれないわけで、
そこに戦争の記録が残っていたと言うのは、奇跡といっていい偶然だろう。
 偶然は、これだけに留まらない。
 三村信史は実際に、データベースに不正アクセスを行ったわけだが、そのために必要なツールは検索エンジンで探してきた。
 実のところ、検索エンジンで簡単に見つかる程度のツールでハッキングできるデータベースなど高が知れている。
 データベースの管理者がよほど杜撰か、さもなくば、意図的にバグを残しておかない限り、このような事は滅多に起こらない。
 だから、これも大きな偶然なのである。

 偶然が重なりすぎている。

 当初、データの印象に頭を引きずられて気づかなかったが。
 考えてみれば、ハッキングそれ自体が既に異常な自体だったのである。


「なぁ、シンジ? どうしたの? ねぇ」
 ジョセフが声をかけてくる。だが、三村はしばらく俯いたままだった。
(まさか、最初からハッキングさせるつもりでPCを用意していたのか……)
 一瞬、三村にそんな考えが浮かんでくる。しかし、仮にそうしたところで、あの老人に何のメリットがあるのだろう?
 分からない。
 やはり、もう一度ハッキングを試みるほかは無いのだろうか。


 三村が頭を悩ませているとき、友の死を告げる無常なる放送が流れ始めた。

【D-6 民家 1日目 朝(放送中)】
【ジョセフ・ジョースター@ジョジョの奇妙な冒険】
[状態]:健康。
[装備]:ハイパーヨーヨー*2(ハイパーミレニアム、ファイヤーボール)、江頭2:50のタイツ
[道具]:支給品一式
[思考・状況]
基本:あのスカタンに一発ぶん殴ってやらねぇと気が済まねぇ~~。
1:シンジどうしたの?
2:「DIO」は警戒する、一応赤石も探しとくか……無いと思うけど。
3:ところで、何で義手じゃないんだ?
[備考]
※二部終了から連れてこられていますが、義手ではありません。
※承太郎、吉良、DIOの名前に何か引っかかっているようです。

【三村信史@BATTLE ROYALE】
[状態]:精神、肉体的に疲労。ハッキングに疑問
[装備]:トランプ銃@名探偵コナン、クレイジー・ダイヤモンドのDISC@ジョジョの奇妙な冒険
[道具]:七原秋也のギター@BATTLE ROYALE(紙状態)、バスケットボール(現地調達品)、ハードディスクを抜き取ったデスクトップ型パソコン(現地調達品)、壊れたハードディスク(現地調達品)基本支給品。
[思考・状況]
基本:老人の野望を打ち砕く。
1:再度ハッキングを挑む為、携帯電話を探す。
2:あの老人が「プログラム」をするメリットを考える。
3:集められた人間の「共通点」を探す。
4:可能なら杉村と合流する、「DIO」は警戒する。
5:他参加者と接触し、情報を得る
6:『ハッキング』について考える。
[備考]
※本編開始前から連れて来られています。
※この世界が現実世界ではないという考えを持っています。
※クレイジー・ダイヤモンドは物を治す能力のみ使用可能です。
復元には復元するものの大きさに比例して体力を消費します。
戦闘する事も可能ですが、大きく体力を消費します。


091:Justice to Believe 投下順 093:デッド・ライン
091:Justice to Believe 時系列順 093:デッド・ライン
069:ハッキング ジョセフ・ジョースター 097:COOL EDITION
069:ハッキング 三村信史 097:COOL EDITION