まず悪いニュースです。Macユーザーは、Flashbackトロイの木馬を誘発したJavaの脆弱性に類似した脆弱性により、再び危険にさらされています。さらに悪いことに、この脆弱性を修正するパッチは(まだ)存在しません。しかし、ご心配なく。今回はMacユーザーにとって朗報があります。Appleが行った変更のおかげで、ほとんどのユーザーはこの脅威から安全である可能性が高いのです。
とはいえ、現時点ではリスクにさらされていない可能性が高いものの、Javaは依然としてあらゆるオペレーティングシステムのユーザーが直面する最大かつ最も根深いセキュリティ問題の一つであることは明らかです。そのため、以下に提案する予防策の実施を検討することをお勧めします。
どうしたの
8月26日(日)、セキュリティベンダーのFireEyeは、これまで知られていなかったJavaの脆弱性を悪用した新たなJava攻撃に関する情報を公開しました。中国を起点とするこの攻撃は、最新バージョンのJava Runtime Environment(Java 7、バージョン1.7)に影響を与えました。この攻撃は、悪意のあるサイトを閲覧したWebブラウザを介して実行され、攻撃者がユーザーのコンピュータを密かに完全に制御できるようになります。
FireEyeによる最初の投稿後、脆弱性の詳細は急速に公開され、複数の攻撃ツールでこの脆弱性を悪用したエクスプロイトが出現しました。セキュリティベンダーのImmunity Inc.によるさらなる調査では、実際に有効なエクスプロイトは、パッチ未適用のJava脆弱性(業界ではゼロデイ脆弱性と呼ぶ)を2つ別々に悪用していたことが示されました。
最初の脆弱性を悪用するエクスプロイトは、最も広く使用されている悪意のあるハッキングツールの一つであるBlackHoleエクスプロイトキットにすぐに追加されました。このエクスプロイトは現在、Metasploit侵入テストフレームワークの攻撃としても利用可能です。Metasploitは無料で利用可能で、世界中のスクリプトキディやセキュリティ専門家(私も含む)に愛用されています。
サン・マイクロシステムズを買収した際にJavaも継承したオラクルは、現時点ではこれらの脆弱性についてコメントしていませんが、同社が4月からこれらの脆弱性を認識しており、10月のアップデートでパッチをリリースする予定だったことは明らかです。同社が四半期ごとのパッチサイクルを中断し、より早く緊急アップデートをリリースするかどうかは、時が経てば分かるでしょう。(私は早期リリースに賭けます。)
まとめると、最新バージョンのJavaを実行しているすべてのシステムに影響を及ぼす、悪用可能な脆弱性が少なくとも2つ存在します。どちらも現在も活発な攻撃に利用されており、そのうち1つは市場で最も人気のある攻撃ツールキット(BlackHole)と、非常に人気の高い(そして無料の)セキュリティテストツールにバンドルされています。どちらの脆弱性もパッチを適用することはできません。
それはまさに「悪い」の定義です。
ほとんどのMacユーザーが危険にさらされていない理由
そうは言っても、適切な条件が整っていれば簡単に悪用されるにもかかわらず、Mac が他のプラットフォームのユーザーよりもリスクが低い理由は 2 つあります。
まず第一に、そして最も重要な理由は、脆弱なバージョンのJavaを実行しているMacが比較的少ないことです。JRE 1.7を実行しているオペレーティングシステムはすべて影響を受けますが、この攻撃はJRE 1.6には効果がありません。JRE 1.6は、Macユーザーがインストールしているバージョンです(そもそもJavaを使用していると仮定した場合)。
Appleがサポートする最後のバージョンであるJava 6 (1.6)からJava 7にアップデートする唯一の方法は、Oracleから手動でダウンロードしてインストールすることです。そして、どうやらMacユーザーでこれを実行した人はほとんどいないようです。例えば、クライアントアプリにJavaを使用しているオンラインバックアップサービスCrashplanの担当者によると、同社のユーザー(Javaがインストールされている必要がある)で、脆弱性のあるバージョンを使用している人は一人もいないとのことです。
Java 7がインストールされていても心配する必要がない2つ目の理由は、Appleが最新のJavaセキュリティアップデートで、WebブラウザでのJavaアプレットのサポートをデフォルトで無効にしたことです。OS X 10.7 Lion以降では、Javaはデフォルトでインストールされません。また、Javaを有効にしたとしても、しばらく使用しないとOS Xによって自動的に無効になります。
多くのユーザーは、Javaを必要とするウェブサイトやアプリケーション(Crashplanなど)のためにJavaをインストールしています。しかし、繰り返しますが、たとえJavaをインストールしたとしても、脆弱なバージョンを実行している可能性は非常に低いでしょう。
あなたがすべきこと
この最新の脅威に対して脆弱であるかどうかを確認する簡単な方法が 2 つあります。

最初の選択肢は、Java設定アプリ(/アプリケーション/ユーティリティ/)を実行することです。「一般」タブにインストールされているJavaのバージョンが表示されます。Java SE 7と表示され、「アプレットプラグインとWeb Startアプリケーションの有効化」オプションにチェックが入っている場合は、脆弱性が存在します。Java SE 6と表示されている場合、またはアプレットオプションにチェックが入っていない場合は安全です。
ターミナルを開いて と入力することでもバージョンを確認できますjava -version。今回は、応答が ではないことを確認してください1.7。 だったとしても、あまり心配する必要はありません。Java設定アプリでそのブラウザサポートが有効になっていなければ、攻撃を受けることはありません。
脆弱性がある場合は、Java環境設定アプリで「アプレットプラグインとWeb Startアプリケーションを有効にする」オプションのチェックを直ちに外してください。これは完璧な防御策ではありませんが、悪意のあるウェブサイトによる攻撃を防ぐことはできます。
手動で実行するエクスプロイトをダウンロードするように騙される可能性は依然としてあります。
Java設定アプリケーションを使用すると、ブラウザでJavaを無効にするよりも信頼性が高く、すべてのブラウザでJavaを一括ブロックできます。これにより、MacでJavaを引き続き使用しながら、Webブラウザ経由で感染するリスクを回避できます。
Javaを使い続けるための最も安全な方法
私のように、WebブラウザでJavaを使用する必要がある場合は、以下の手順をお勧めします。これらの手順はリスクを軽減するだけでなく、脆弱なバージョンのJavaを使用していない場合でも、継続的なセキュリティ対策としてお勧めします。正直なところ、これらのJava攻撃はすぐには衰える気配がありません。
まず、WebブラウザでJavaを手動で無効にしてください。Javaの設定で無効にしていたとしても、この設定変更(これから変更します)によってJavaが動作しなくなるため、この設定変更は不要です。Google Chromeの場合は、chrome://pluginsアドレスバーに入力してリンクをクリックし、Javaを無効にしてください。Safariの場合は、「Safari」>「環境設定」に移動し、「セキュリティ」パネルで「Javaを有効にする」のチェックを外してください。Firefoxの場合は、「ツール」>「アドオン」>「プラグイン」に移動し、「Javaプラグイン」のチェックを外してください。
次に、Java 設定アプリケーションで Java アプレットのサポートを再度有効にします (または、次回必要になったときに Mac が自動的にプロンプトを表示するまで待ちます)。
3つ目に、普段使わない別のブラウザを選び、そこでJavaを再度有効にします。例えば、私はChromeをメインブラウザとして使っていますが、そこではJavaを無効にしています。Firefoxはほとんど使いませんが、インストールしてあり、Javaを有効にしています。こうすることで、Webを閲覧する際にセキュリティを確保できます。(開発テストにはSafariも使っているので、そちらでは無効にしています。)どのブラウザをサブブラウザとして選ぶにしても、Javaを使う必要があることが分かっていて、かつよく知っているWebサイトにアクセスする場合にのみ使用してください。私の場合、Javaは主にWebキャストのプレゼンテーションで必要になるので、どうしてもJavaが必要なサイトにアクセスした時は、バックアップブラウザを使用します。
普段使っているブラウザでJavaを無効にして、Java用に別のブラウザを用意するのは完璧ではありませんが、かなりの保護効果があります。個々のページでJavaをブロックするNoScriptのようなツールをインストールするよりも覚えやすいですが、技術に詳しくないユーザーにとっては面倒だと感じることが多いです。(私はセキュリティオタクなので、Firefoxで別の保護レイヤーとしてNoScriptを使用しています。)
もう一つの選択肢は、Javaサイトへのアクセスを仮想マシン内からのみ行うことです。私はVMWare Fusion ( )(そして時々Parallels Desktop [ ])を使っており、仕事でMac非対応のウェブサイト(これもたいていは古いウェブキャストシステム)にアクセスする際にはWindows仮想マシンを頻繁に使用しています。仮想マシンのベースラインスナップショットを保存しておき、リスクのあるアクティビティを行った後は、そのスナップショットに戻しています。
危機を回避した
今回、ソフトウェアバージョンが1つ遅れていることがMacユーザーにとって有利に働き、最新のJavaエクスプロイトの危険にさらされるMacユーザーはほとんどいません。しかし、Flashbackや今回の攻撃で明らかになったように、Javaは依然として主要な標的です。そのため、現在危険にさらされていなくても、すべてのユーザーに自衛を推奨します。Javaが必要ない場合は無効にし、ブラウザで不要な場合は無効にするか、他に選択肢がない場合は管理された状況下でのみ使用してください。
リッチ・モーグルは17年間セキュリティ業界で働いています。TidBITS に寄稿するほか、Securosis.com でセキュリティアナリストとして活動しています。