Sun、開発コミュニティに "Java 6" セキュリティ機能の問題発見を求む

    後藤大地  [2005/11/01]

    Sun Microsystemsは10月31日(米国時間)、開発コミュニティに対して現在開発中の次期Java、Java Standard Edition 6 "Mustang"において助力を求める旨を発表した。Sun Microsystemsが助力を求めた対象はJava Standard Edition 6 "Mustang"で開発されているType Checking Verifier(TCV)機能。Sun MicrosystemsはJava Standard Edition 6 "Mustang"を安全で高速という両方を両立する要の技術として、バイトコードベリファイアの改造を推進している。

    Javaはこれまで、"Java Sandbox"と呼ばれるセキュリティアーキテクチャをベースにしてJavaのセキュリティを確保してきた。"Java Sandbox"アーキテクチャに従うことでJavaでは遠隔地のクラスファイルをロードして実行したり、Java Appletのようなアプリケーションでも安全に実行することができた。

    "Java Sandbox"の中核となる機能がバイトコードベリファイア。実行時にバイトコードに対し、不正なコードでないか、許可されていない処理を実行しようとしていないかどうかを調査し、安全性を確保している。"Java Sandbox"はJavaにおけるセキュリティアーキテクチャとして極めて重要であるが、セキュリティを高める反面、実行速度に影響を与えてきたこともまた事実だ。

    現在開発が行われてるJava Standard Edition 6 "Mustang"では、Javaセキュリティアーキテクチャの要であるバイトコードベリファイアの改造に取り組み、セキュリティレベルのそのままで、実行速度を向上させようとしている。

    高速化の発想は、端的に言ってしまえば、実行時にチェックする量を減らしコンパイル時にチェックする量を増やそうというもの。バイトコードベリファイアではコンパイルされたものを信用するわけにはいかないため、話はそれほど単純ではないが、コンパイルされたものを、よりチェックしやすい形式に変更することで、実行時の調査処理にかかる時間を軽減しようとする取り組みだ。

    バイトコードベリファイアにおける処理を軽減するため、Java Standard Edition 6 "Mustang"ではクラスファイルの形式に変更を加える予定になっている。現在検討されている仕様は"JSR 202: Java Class File Specification Update"で確認することができる。

    今回、Sun Microsystemsが求めた助力は、大まかに分けて次のとおり。JSR 202はJavaのセキュリティの中核となる機能であるだけに、改めて検討を求めた形になる。

    • JSR 202に仕様上の問題点がないか
    • JSR 202に記述の曖昧性に起因する実装の食い違いが発生しそうな点はないか
    • Java Standard Edition 6 "Mustang"スナップショットに実装上のバグはないか

    Type Checking Verifierの問題点指摘やバグ報告などは2006年1月31日まで受付がおこなわれる。仕様上の大きな欠陥を発見した方にはJavaOne基調講演ステージへの招待、実装上のバグを発見した方にはjava.netサイト上での謝辞やソースコードにおける謝辞掲載などの、名誉的謝辞が予定されている。

    現在主流のJavaはJava 2 Standard Edition 5.0 "Tiger"だ。次期JavaであるJava Standard Edition 6 "Mustang"は、JSR 270: JavaTM SE 6 ("Mustang") Release Contentsにその特徴がまとめられ、現在活発に開発が進められている。

    Java Standard Edition 6 "Mustang"にはこれまでのJava開発と比べて特記に値する変更が行われている。これまでJavaの開発はSun Microsystems主流で進められ、スナップショットリリースの回数は少なく、開発中のソースコードは限られた者だけがアクセスできた。

    Java Standard Edition 6 "Mustang"ではこの方法を大きく変更。ソースコードをJava Research License (JRL)のもと誰でもアクセスできるように変更したほか、一週間おきにソースコード、バイナリ、ドキュメントのスナップショットを公開している。バグの修正や小さい機能であれば、直接報告し、Sun Microsystemsの担当開発者の認証が得られればJava Standard Edition 6 "Mustang"に取り組んでもらうことができる。ただし、大きな機能追加についてはJava Community Processを通じて策定される必要がある。これはProject Peabodyとして発足されたプロジェクトで、現在活発に活動が行われている。

    Javaはエンタープライズシステムの開発に欠かせない存在にあり、なんらかの形での広い協業開発が求められてきた。Java Standard Edition 6 "Mustang"やProject Peabody、Java Community Processはそういった要求に答えるためのSun Microsystemsの取り組みのひとつ。Sun MicrosystemsはJavaプラットフォームの互換性を保ちつつ、オープンソースソフトウェア的な取り組みができないか模索している段階にあり、今後の取り組みも注目に値する。

    Javaと競合する技術にはMicrosoftの.NET Frameworkがある。エンタープライズではJavaに一日の長がある。Sunではこうした取り組みを行うことで、Javaの立場は揺るぎ無いものにしたいと考えられる。また、最近ではデスクトップ技術への注力も進められ、Mustangへ至る今後の展開が注目される。

    関連記事

    関連サイト

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン