私は、攻撃者がなぜゼロデイ・エクスプロイトの使用を待ちたがるのかを理解しようとしています。
そもそもゼロデイの入手には非常にコストがかかるため、攻撃者はゼロデイを無駄にしたくないと読んだことがありますが、ここでいう「無駄」とは何を意味するのか、私にはよくわかりません。ゼロデイは、コミュニティ(セキュリティ研究者など)によって発見され、それが役に立たなくなる可能性があります。この意味で、ゼロデイは攻撃者の不作為によって無駄になってしまったのです。ゼロデイの利用が早すぎることによるリスクはありますか?攻撃者は、ゼロデイが発見される可能性を最小限に抑え、できるだけ早く利用したいと考えていると思われます。
質問:攻撃者がゼロデイ・エクスプロイトの使用を待つのはどのような要因からですか?
**机の上に置いておくよりも、実際に使ってみたほうが、より多くのことがわかる。
0dayをずっと待っていて誰かに発見されてパッチを当てられるのと、早すぎて不必要に使ってburn itになるのとでは、微妙なバランスがあります。このバランスは、長く待つことに有利に働く傾向があります。なぜなら、優れた0dayは、すぐに発見されないほど曖昧だからです。最大のリスクは、発見されることではなく、全く関係のない理由で脆弱なコードが書き換えられたり削除されたりして、0day exploitが機能しなくなる陳腐化です。
しかし、ほとんどの場合、攻撃者は単にそれを使う必要がありません。もし私が貴重なLinuxローカル特権拡大のためのエクスプロイトを持っているとしたら、ちょっとした偵察で、不適切なパッチを当てられた特権デーモンに対して古いエクスプロイトが使えることがわかったとしても、なぜそれを使うのでしょうか?雨の日の資金にしておいた方がいいですよね。
他にも、0日を長期保存する理由がいくつかあります。
1.1.単純に0日をためる人がいる。これはよくあることです。
2.誰かから0dayを借りたのかもしれませんが、その場合は燃やすと怒られてしまいます。
3.0日のブローカーが、適切なクライアントを待っている間、0日を放置していることがある。
4.0dayは単独では役に立たず、他のエクスプロイトと連携しないと機能しないことがある。
BH USでは、0dayの寿命を分析した[興味深い研究](
攻撃者の立場からすると、ゼロデイ・ エクスプロイトは、公に知られていないため、貴重なリソースとなります。これにより、攻撃者は、実際にこのエクスプロイトが展開されたときに、ターゲットが積極的に防御することができないため、驚きの要素を得ることができます。
ゼロデイが使用されるたびに、ターゲットがそれを発見し、ソフトウェア・ベンダーがその脆弱性にパッチを当てるという可能性があります。脆弱性が解消されると、その脆弱性を利用した攻撃の有用性は大幅に低下し、ソフトウェアを更新していないターゲットに限定されます。これは、「エクスプロイトの焼き増し」と呼ばれています1。
今日、ほとんどの攻撃者の目的は、直接的または間接的に金銭を得ることであるため(例えば、ターゲットから個人情報を盗み、それを使ってID詐欺を行うなど)、ゼロデイ・エクスプロイトには経済的価値があります。エクスプロイトは、燃やされて効果がなくなってしまうと、その価値を失います。要するに、ゼロデイは貴重な消耗品であり、一般に知られている脆弱性を利用できない高価値のターゲットに使用するために保存しておくべき武器なのです。
例えば、既知の脆弱性を持つ古いバージョンのソフトウェアを実行しているシステムを標的とする攻撃者は、ゼロデイ・エクスプロイトを使用して危険を冒すよりも、一般に利用可能な既存のエクスプロイトを使用することを望むでしょう。より安価なソリューションで仕事を終わらせることができるなら、貴重な資源を無駄にする必要はありません。