Microsoft の研究者であるHolly Stewart 氏が今週彼のブログで、マルウェアの最も共通の標的として、 今やJavaが Adobe Readerを追い越した 、と指摘した。氏は、「野生で」見られる大抵のJavaのセキュリティ攻撃は、すでに修正が入手できる問題を標的にしている、と報告している。特に、 Oracle JVM周りに長く存在していた3つの問題 Calendarのデシリアライゼーション, 長いfile URL、そして RMI コネクション は、攻撃数が桁違いである。
セキュリティ研究者の Brian Krebs氏は、 彼のブログで仮説を立てている 。これら長い間開いたままの穴に、攻撃が急激に増えているのは、「攻撃パック」メーカーが最近、これらの問題を特に標的にした機能を入れ始めたからである。攻撃パックは、ハッカーによって、あらかじめ構成されたいくつかのソフトウェアで、犯罪組織に売られている。そして犯罪組織は、攻撃パックを使って、汚染したwebサイトにやってきたコンピュータを乗っ取る。もっとも洗練されている攻撃パックは、プロ級の管理と統計のコンソールを持っていて、買った人にどれだけ乗っ取りに成功したかを教える。氏は、これらのコンソールの実際のスクリーンショットをJavaが良い標的になっている証拠として、ブログに載せている。
3つの人気のJavaセキュリティ ホールのすべては、 遅くとも3月には修正されていて、2009年の4月に直っているものもある。しかし、報告によると、多くのコンピュータが修正のパッチを当てていない、という。非常に多くの割合のコンピュータが古いバージョンのJavaで走っている。統計サイトのStatOwlの調べでは、Oracleが1年以上も前にサポートを止めたJava 1.4や1.5をインストールしているユーザが10%以上もいる 。バージョン1.6を走らせているコンピュータでさえ、 半分以上が最悪の脆弱性に対応する最新のパッチを当てていない。
コンピュータがアップグレードされない理由は、いろいろある。しばしば、利用している人がJavaを走らせていることを知らないことがあり、どのバージョンかなど更に知らないし、そのアップグレード方法も知らない。企業では、アップグレードされない社内製のアプリケーションを動かすために、あるいは、アップグレードされないベンダー製のアプリケーションを動かし続けるために、古いバージョンのJavaを使い続ける必要のある場合がある。例えば、Oracleによると、もし1.6 update 22 にアップグレードすると、「 CVE-2010-3560の修正で、新しい Java Plug-inで走っているあるJavaアップレットが止まる場合がある。それは、ネットワーク セキュリティの許可を要求するアクションを実行するために、Javaを呼ぶJavaScript を含むwebページに Java Plug-inが組込まれている場合である。」Oracle製品でさえ、 小さなJavaの一時的なリリースで問題があることがある ので、ITマネージャは、いつも用心深くしているようである。同様に、今だに Java 1.5で走っている古いアプリケーションは、脆弱である。Oracleが2009年の11月に1.5のサポートを止め、 Java for Business の購買者に対してのみ、問題に対するパッチを提供しているからである。
今週、Oracleは、 update 22 to JDK 1.6 をリリースした。これは、いくつかの大きなものを含んで29のセキュリティ問題を修正している。Javaの開発者は、しばしば、JVMが提供するサンドボックスのために、自分たちのアプリケーションは、セキュリティ ホールには、影響されないと、思っている。しかし、バイトコードの下で、JVMの実装自身は、尚もメモリーに直接アクセスしているし、Cのようなサンドボックスのない言語で実装されている。