exploit

Share

4Xと呼ばれるゲームのジャンルがある。

字義としては、explore(探索)/ expand(拡張)/ exploit(開発)/ exterminate(殲滅)の4つの要素を含む戦略ゲームのことだ。その祖はMaster of Orionとされているが、現在ではCivilizationというゲームのシリーズが最も有名だろう。

このCivilizationというゲームは実に面白く、僕も人生を狂わされたクチだ。このゲームについてだけでも延々と語ることは出来るが、本題ではないのでここではやめておく。

さて、先程あげた4つのex-のうち、3つめのexploitという単語が、今回の話題だ。

実に訳しにくい単語だ。まず、名詞と動詞で意味が違う。名詞としては、何か物事を達成した功績、といった意味で、この名詞としての用法の方が、言葉としては古い。

動詞としての用法、特に現在の意味での用法は新しく、18世紀~19世紀に出来上がっていったようだ。その根底にある意味は、ある物事・状況から自分の利益を引き出す、というものだ。そして、その抽象的な意味合いから、社会状況の影響なども受けた結果、目的語の種類によってそれぞれ違った意味合いを持つようになっていった。

土地や資源を目的語とした場合は、開拓・開発・採掘といった意味合いになる。”exploit land”なら土地を開拓、”exploit a mine”なら鉱山を開発といった感じだ。

状況・環境などが目的語の場合には、利用・活用といった意味だ。面白い用法としては、例えば”exploit opponent’s weakness”といえば、相手の弱点を突く、といった意味になる。

人や集団を目的語としたときには、いいように使う、搾取する、といった意味になる。日本語でも、誰かを「利用する」といった言い方をすると、このニュアンスに近い意味になるのがが興味深い。”exploit”にしても”利用”にしても、本来は、人を目的語としては使わない単語だからだろうか。

さて、このexploitだが、近年になって生まれた用法がある。コンピュータプログラムを目的語とした場合に、脆弱性を利用して攻撃を仕掛ける、といった意味になるのだ。これは厳密には”exploit a vulnerability of (computer program)”という表現になるのだろう。ここでのvulnerabilityは、プログラム上の不備、いわゆる脆弱性という意味だ。だが、単純に”exploit the OS”だとか”exploit ATMs”などというふうに使われるようになっている。

そして、この「脆弱性を利用した攻撃をする」という意味の動詞が名詞化し、「脆弱性攻撃」という名詞として使われるようになった。この場合、具体的な手法が形容詞的に頭に付くことが多い。例えば、”SQL injection exploit”といったように。

さらに面白いことに、この用法が一般的になってきた結果、今度は、攻撃という意味ではなく、「ある攻撃に対する脆弱性」という意味で使われるようになりつつある。これはおそらく、例えば”using SQL injection exploits”といった言い方をした場合、SQLインジェクション攻撃を使用すると解釈しても、SQLインジェクション脆弱性を利用する(ことで攻撃をする)と解釈しても、結局同じ意味になってしまうからだと思われる。
また、名詞としての「偉業」という意味合いが影響している可能性もある(クラッカーにとって脆弱性を発見して攻撃を成功させるのは「偉業」というわけだ)。

そんなわけで、現在コンピュータまわりでは、exploitという単語は、名詞としては「脆弱性」という意味で訳すことも多い。かくして”fix an exploit”とか”exploit patch”という表現が、「脆弱性を修正する」「脆弱性の修正」という意味になるわけだ。
とはいえ、本来の意味としてはexploitは攻撃、vulnerabilityが脆弱性ということになるので、そこは抑えておきたい。

ちなみに、ゲームのバグを利用した裏技もexploitと呼ぶ。いろいろな場面で使われる、面白い単語だ。

コメントを残す

メールアドレスが公開されることはありません。