Java を廃止すべき時期が来たのでしょうか? 専門家はそう答えています。

ウェブを楽しくインタラクティブなものにするために設計されたプログラミング言語であるJavaは、PCとMacの外部脅威に対する防御における最も脆弱な部分の一つとなっています。マルウェア配信者が現在悪用している最新のJavaの脆弱性を考えてみましょう。Javaの開発元であるOracleがソフトウェアを修正するための緊急アップデートをリリースした際、セキュリティアナリストは、リリース直後のコードにも新たな脆弱性が含まれていると報告しました。
しかし、Javaの最近のセキュリティ問題は、決して珍しいものではありません。例えば、セキュリティ企業Sophosは、昨年4月にMacの5台に1台を感染させたFlashbackマルウェアによる攻撃は、Javaの根本的な脆弱性に起因すると指摘しています。
セキュリティ専門家は、リスクはメリットを上回らないと指摘する。「ユーザーの90%はもはやJavaを必要としていないと言えるでしょう」と、セキュリティソフトウェア企業AlienVaultの創業者兼最高ハッキング責任者であるドミニク・カーグ氏は語る。「私は自分を『パワーユーザー』だと考えていますが、MacにJavaがインストールされていることに気づいたのは、アップデートが必要になった時だけでした。」
パソコンをお持ちの方なら、Windows PCのアップデートを何度も求められるたびに、あの不安な気持ちがこみ上げてくることをご存知でしょう。それほど煩わしい作業ではないかもしれませんが、毎月、あなたのパソコンとそこに保存されている個人情報が犯罪者の標的になっていることを改めて思い知らされるのです。
AppleとMicrosoftは長年にわたり、システムの防御力を強化してきました。Macオペレーティングシステムは脆弱性に対してほぼ完璧な防御力を備えており、同社はJavaをプリインストールした新製品を出荷していません。Microsoftは2008年後半のConfickerワームの大流行以来、オペレーティングシステムレベルの脆弱性の排除に全力を注いでおり、それ以来、Windowsシステムを攻撃する同様のワームは発生していません。
MozillaとOpera、そしてInternet Explorerの開発元であるMicrosoftは、過去10年間の大部分を、執拗なアップデートを通じてブラウザの攻撃対策を強化してきました。例えばMozillaは、8月28日に公開されたFirefoxブラウザのバージョン15で修正されたバグを2,237件(すべてがセキュリティ関連のバグではない)と発表しています。
しかし、OS とブラウザのセキュリティがフォートノックスにヒントを得たものであっても、悪者は常に防御の新たな隙間を見つけるようです。
Java: セキュリティチェーンの弱点
ブラウザやOSへの侵入が困難になった今、データ窃盗犯は戦術を変え、残る2つの最も脆弱な部分、つまりサードパーティ製のブラウザプラグインやアドオン、そしてユーザー自身を標的にしています。サードパーティ製プラグインに関しては、Javaは依然として自動化された「ドライブバイ」攻撃の手段として悪用されており、多くの場合、ブラックマーケットで販売されている安価なエクスプロイトキットによって実行されます。Forbes誌は3月に、いわゆるゼロデイ脆弱性への独占アクセスに対して悪意のある買い手が支払う価格表を公開しました。4万ドルから10万ドルという報酬は、エクスプロイトコード作成者にとって、朝早くから夜遅くまで作業する十分な動機となっています。

Javaの魅力の一つは、その普遍性です。「Java開発者への賛辞と言ってもいいでしょう」と、フロリダ州のセキュリティ研究非営利団体Team Cymruのグローバルアウトリーチ担当ディレクター、スティーブ・サントレッリ氏は言います。Javaは他のブラウザプラグインとは異なり、ほぼあらゆるOSで動作します。「結局のところ、マルウェアの経済性の問題なのです」とサントレッリ氏は言います。マルウェア作成者は開発投資から最大限の利益を得ようとしており、それはつまり、可能な限り幅広い市場をターゲットとするマルウェアを生み出すことを意味します。
Javaはその投資に見合う成果を上げているが、その成果は(おそらく)オラクルCEOのラリー・エリソン氏をうんざりさせるようなものだった。オラクルは2009年のサン・マイクロシステムズ買収時にJavaも継承したが、本稿へのコメントは控えた。
Javaの修正、プラグイン、パッチ適用
Oracle (およびそれ以前の Sun) は、Java のセキュリティ問題を修正するためのアップデートを定期的に提供していますが、それらのアップデートを何百万ものエンドユーザーのコンピューターやデバイスにインストールするのは依然として課題です。
エンドユーザーのPCにインストールされているソフトウェアを追跡するセキュリティ企業Secuniaは、Javaの脆弱性とその修正速度について四半期ごとに報告しています。同社の第4四半期Javaセキュリティファクトシートによると、2011年にOracleは5件のアドバイザリ速報を発表し、Javaに関連する58件の脆弱性について警告しました。速報公開日にパッチまたはアップデートが提供されたのは5件のうち3件のみでした。2011年のマルウェア攻撃の78%は、JavaだけでなくAdobeのFlashやAcrobatなどの脆弱なサードパーティ製アプリケーションを標的としていました。

インターネットに接続するソフトウェアの古くて脆弱なバージョンをコンピューターにインストールしたままにしておくと、災害の原因になります。
「多くの場合、Java の組み込みアップグレード機能は完全に失敗し、一般ユーザーは困った状況に陥ります」と、マルウェア対策企業 FireEye のシニアスタッフサイエンティスト、ダリエン・キンドルンド氏は語る。
「64ビット版Windows 7が主流になって以来、Java(およびFlashなどのアドオン)は32ビットと64ビットの『分断化』に悩まされています」とKindlund氏は説明する。「パッチ適用済みの64ビット版Javaをインストールしたからといって、脆弱な32ビット版Javaがシステムにインストールされている場合(あるいはその逆の場合)、完全に保護されているとは限りません。」
AlienVaultのKarg氏は、JavaがもはやほとんどのOSに含まれていないのは当然だと指摘する。「Javaは一般的なOSにプリインストールされるべきではない」とKarg氏は言う。「LinuxにはデフォルトでJavaは搭載されておらず、最新のWindowsにもバンドルされていない」
Flashback マルウェアの発生が OSX を襲ってから数週間が経ち、Apple が独自の Java アップデートをリリースしていることは周知の事実です。そのため、Mac ユーザーは Windows ユーザーに比べて数週間または数か月遅れて最新バージョンにアクセスできないこともあります。
Javaのジッター
これらすべてから、エンド ユーザー (つまりあなた) が Java をコンピューターに残し、更新するのではなく完全にアンインストールするべきかどうかという疑問が残ります。
「自宅のパソコンを Facebook や YouTube に使用している場合、悪意のあるユーザーの関心の対象になる可能性は依然としてありますが、企業の給与計算や財務管理を行っている場合ほど関心は高くありません」とサントレッリ氏は言います。

ただし、Java は Android オペレーティング システムの基盤となるフレームワークを実行し、Citrix などの企業ではブラウザー経由で読み込まれたときに GoToMeeting、GoToWebinar、GoToMyPC サービスを起動するために使用されています。
一部の専門家は、Javaベースのサービスを利用する必要がある企業にとって、仮想化を回避策として推奨しています。仮想マシンにインストールすることで、重要なシステムから隔離することができます。特にFacebookやWebを主に利用する個人ユーザーであれば、Javaを全く使わなくても済むかもしれません。
HTML 5の支持者は、Web開発の初期段階でJavaが実現したマルチメディア機能の代替として、HTML 5を挙げています。これはAdobeの開発とAT&Tの両社の取り組みの焦点であり、JavaよりもFlashをターゲットとしているものの、今年は勢いを増しているようです。
Javaを維持するかどうかは、「リスクプロファイルと、そのシステムの重要度」にかかっているとTeam Cymruのサントレッリ氏は言います。「もしセキュリティ侵害の結果が壊滅的なものになるなら」、Javaをアンインストールしましょう。
Andrew Brandt はフリーランスのライターであり、セキュリティ専門家です。