エクスプロイト
エクスプロイトが利用するのは脆弱性である。すなわち、常に脆弱性に関する最新情報に注意を払い、脆弱性を解消するパッチなどを適用する、パッチが適用されるまでに時間が必要な場合や、テスト系でのパッチの評価に時間がかかるために運用系に適用できないような場合は、回避策が公開されている場合は回避策を施し、回避策が公開されていない場合にはそのソフトウェアの脆弱性を持った機能あるいはそのソフトウェア自体の使用を一時中止するというのも検討候補に挙げられる。コンピュータセキュリティに深く関与する者、企業などの団体のネットワーク管理者などであれば、このような対策となるであろう。
コンピュータセキュリティに深く関与していない一般ユーザーの視点では、上記のようなことを継続的に行うのは現実的でないと言える。
また、クロスサイトスクリプティングのように、クライアントソフトウェアを対象としたリモートエクスプロイトも登場するようになった。JavaScriptはテキストベースの言語であるため、前記同様、バイナリベースのエクスプロイトにくらべて攻撃に必要な知識量が少ないことなどから、クライアントを対象としたエクスプロイトを成功させる上で重宝された。
これらの分類は、主流や傾向はあるが、特定一部のものを除いて独立した概念である。「DoS攻撃」で「リモートエクスプロイト」であるものには「Land攻撃」などが挙げられる。「DoS攻撃」で「ローカルエクスプロイト」であるものには「Pentium F00F バグ」や「CONCON問題」を用いたエクスプロイトが挙げられる。「テキストコンテンツ」を対象としたものは総じて「リモートエクスプロイト」に限定されがちである。「SQLインジェクション」はほとんどの場合「リモートエクスプロイト」の「権限昇格攻撃」となるが、「SQL解釈に不具合を持つ、特定のSQLを発行するとサーバが高負荷となり、正常なサービスを提供できなくなる」といった形で「DoS攻撃」となることも全くないわけではない。
エクスプロイト、とりわけ権限昇格攻撃は、空き巣に例えれば、窓や扉を無化する工具であると言えよう。これらを実行することにより、攻撃者たちは、被害者のパソコンに侵入する突破口をこじ開けることが可能となる。エクスプロイトの中でも、 未知である脆弱性を利用するものは通称ゼロデイ(0day)と呼ばれる。
エクスプロイトとは、コンピュータのソフトウェアやハードウェアの脆弱性を利用し、コンピュータに異常な動作をさせるために書かれた、スクリプトまたはコードである。脆弱性を検証するための実証コード(Proof of concept:PoC)を指すこともある。また、前記のようなスクリプトやプログラムを用いて攻撃すること自体もエクスプロイトと呼ばれる。そのため、前記のようなスクリプトやプログラムについては、エクスプロイトコード(exploit code)と呼んで区別する場合もある。エクスプロイトコードは、コンピューターに害をなす不正プログラムの一種であるため、エクスプロイトコードを表示、取得、記述、保存等した場合は、アンチウイルスソフトウェアによってマルウェアとして検知される場合があるほか、不正指令電磁的記録取得罪として処罰の対象となる可能性がある。
エクスプロイトは、英語で偉業・手柄・功績を意味し、元々はクラッカーの間で用いられていたスラングであった。2014年上半期において悪用されたエクスプロイトのうち9割以上が、javaに関するものである。