タイトルMacintosh Runtime for Java(MRJ)2.2.3にセキュリティホールカテゴリーJava, ブラウザ
作成日2000/12/18 22:38:6作成者阪倉 一
Javaに関するメーリングリストJavaHouse Brewers MLの高木氏によって、Mac用のJava VMであるMacintosh Runtime for Javaの最新版であるバージョン2.2.3にセキュリティホールがあることが確認されており、高木氏は警告をしている。このセキュリティホールは、Javaアプレットを使うWebページにおいて、Javaアプレットを使うために記述するAppleタグのCodebase属性とArchive属性を同時に記述した時の実装仕様のバグのを利用したもの。このバグは、これまでにもSunのJDK1.1.4や、以前のバージョンのMicrosoft JavaVMでも存在し、SunやMicrosoftの内部では認知されていた。
今回のセキュリティホールは、これまでに報告されているセキュリティホールと同様に、ローカルコンピュータのファイルが盗まれたり、ブラウザが乗っ取られ任意のWebサイトにアクセス可能になる。このため、仮にFirewallで守られた内部ネットワークの情報であっても、悪意を持った人であれば簡単に盗み出すことは可能である。
現在のところ、このセキュリティホールを修正したMRJはリリースされていない。現在可能な対応策は、MRJをJava VMとして仕様するWebブラウザ(IE、iCab、 Netscape6、Netscape+MRJ Plug-in)においてはJavaを使わない設定にすることである。また、このセキュリティホールを修正したMRJがリリースされるまでは、MRJを使わないことが重要である。また、この件に対するAppleの回答については、事実を調査しているとするだけで、12月13日現在修正に関する回答はない。
これまでに確認されている、セキュリティホールが発生する組み合わせは以下の通りである。基本的にMRJ2.2.3を使う環境では再現すると考えた方がよい。

  • Mac OS + MRJ 2.2.3 + Internet Explorer 4.01
  • Mac OS + MRJ 2.2.3 + Internet Explorer 4.5
  • Mac OS + MRJ 2.2.3 + Internet Explorer 5
  • Mac OS + MRJ 2.2.3 + Netscape 6
  • Mac OS + MRJ 2.2.3 + iCab pre2.2
  • Mac OS + MRJ 2.2.3 + Mozilla MRJ Plug-in 1.0b1 + Netscape 4.76

高木氏は、セキュリティホールの危険性を知らせることと、セキュリティホールが発生する組み合わせを見つけるために、セキュリティホールを利用したサンプルの不正Javaアプレットを含むWebページを公開している。このアプレットでは、あるフォルダの中にあるファイル一覧を実際に別のサーバに転送してしまう。そのため、試験目的以外では使わない方がよい。また、JavaHouse Brewers MLでは、現在でも様々な環境での追試を呼びかけている。
最後に、Javaにおけるセキュリティホールは、Javaのフレームワークや、Java言語そのものの問題ではなく、あくまでも実装上のバグが原因である。これまでJavaはセキュリティ上安全であるという主張がなされてきたが、今回だけでなく、最近は他のプラットフォームで既知のバグが、他のプラットフォームでかなり時間がたっても修正されていないケースが多い。セキュリティホールは、Internet利用普及の大きな妨げとなるだけに、Javaのセキュリティホールの情報公開、対策の効率化が求められる。

◇高木氏による警告文:
 http://java-house.etl.go.jp/ml/archive/j-h-b/039434.html
◇セキュリティホールを確かめるためのテストページ:
 http://java-house.etl.go.jp/~takagi/java/security/mrj-codebase1/Test.html
◇JavaHouse Brewers ML案内:
 http://java-house.etl.go.jp/ml/

[阪倉 一/Java Security Report]
関連リンク