エクスプロイトコード
別名:エクスプロイト
【英】Exploit code
エクスプロイトコードとは、プログラムのセキュリティ上の脆弱性(セキュリティホール)を攻撃するために作成された簡易なプログラムの総称である。単にエクスプロイトとも呼ばれ、多くの場合、悪意を持って利用されるプログラムを指す。
エクスプロイトコードは、元来、セキュリティホールを検査するために作成される検証用のプログラムコードである。セキュリティホールの存在を発見した人が、自分のコンピュータ環境以外の環境でセキュリティホールがどのように動作してどのような影響を及ぼすのかを、他の人に実証してもらうために作成する。エクスプロイトコード受け取った開発者は、それぞれ自分の使用しているバージョンやプラットオフォームにおいてエクスプロイトコードを実行し、その動作を検証し、対策を講じる。さまざまな環境下でエクスプロイトコードが研究されたセキュリティホールは、十分な対策が取られて、安全性を確保することができる。
他方エクスプロイトコードは、悪用されれば、システムを攻撃するための恰好のツールとなる。エクスプロイトコードを下地に用いれば、迅速かつ効率的な攻撃用プログラムを作成することも可能である。
善意で配布されるエクスプロイトコードは、検知された異状に対して報告を表示する程度の動作しか行なわないが、クラッカーに改造されることによって容易にシステムを破壊したり増殖を繰り返したりするツールに様変わりする。そのためエクスプロイトコードはしばしば「諸刃の刃」と形容される。
エクスプロイトコードが悪用されたウィルスの登場は、2001年に猛威を振るった「コードレッド」に初まるといわれる。それ以来エクスプロイトコードの悪用によるセキュリティホールの攻撃は、クラッカーたちにとっての常套手段となった。シマンテック社の報告によれば、脆弱性が発表されてから悪玉エクスプロイトコードが出現するまでには、おおよそ6日程度しか日を経ないとされる。(中には、発表からわずか2日後に登場した例もある)。
エクスプロイトコードを悪用したウィルスやワームの出回る速度が、対処策を確立するよりも上回ってしまうケースも少なくないので、「エクスプロイトコードは公にすべきではない」という声も多々上がっている。しかし欠陥は秘密にしてもすぐに知れわたってしまうわけだから、「むしろ積極的に公開して多くの人に対処への協力を仰ぐべきだ」とする声も多い。いずれにせよ、セキュリティホールの改善者と攻撃者の間では、果てしなくせめぎ会いが繰り広げられている。
参照リンク
シマンテック・インターネット・セキュリティ脅威レポート(2004年10月5日)
|