[Java] Maintaining the security-worthiness of Java is Oracle’s priority

原文はこちら。
https://blogs.oracle.com/security/entry/maintaining_the_security_worthiness_of

私はNandini Ramani、Javaプラットフォームを開発するソフトウェア開発チームを率いています。私の職責はJavaプラットフォーム全体にわたり、プラットフォームセキュリティも含みます。
この1年、Javaのセキュリティ脆弱性、主としてWebブラウザで実行するJavaに対し影響する脆弱性が報告されました。このエントリでは、Sun Microsystemsの買収後、OracleがWebブラウザやその他の場所でのJavaのセキュリティに伴う問題に対しとってきた手順を紹介します。
Oracleが買収するたびに、買収製品ラインをOracleポリシーや手続き(この中にはOracle Software Security Assuranceも含みます)に準拠させる必要があります。結果として、Java開発組織はOracleのSecurity Fixing Policyを採用する必要がありました。このポリシーはとりわけ、問題を優先度をつけて特定の期間内に解決しなければならないことを規定しています。
Oracle Software Security Assurance
http://www.oracle.com/us/support/assurance/index.html
Security Fixing Policies
http://www.oracle.com/us/support/assurance/fixing-policies/index.html
こうした厳格な手続きを採用するだけでなく、OracleのJava全体への投資が増えた結果、Java開発チームはセキュリティの修正の生産をすばらしく加速させました。最近リリースされたCritical Patch Update for Java SEにはこれまでにないほど多くのセキュリティ修正が含まれています。さらに、Oracleは追加のセキュリティリリースを公開することを決めました。2013年4月のCritical Patch Update for Java SEの結果、当初計画されていた3回のリリースではなく、4回のリリースがJavaにもたらされることになりました。念のため、2012年2月のCritical Patch Update for Java SEでは14個のセキュリティ修正が、2012年6月は14個、2012年10月は30個リリースされました(結果として2012年にCritical Patch Updates for Javaで提供された新しいセキュリティ修正は58個でした)。これらの個数に対し、2013年2月のセキュリティリリースでは55個の新しいセキュリティ修正がリリースされ、2013年4月のCritical Patch Update for Java SEでは42個の新しいセキュリティ修正が提供されています。この結果、2013年上半期でCritical Patch Update for Javaによって提供されているセキュリティ修正の個数は97個になりました。
April 2013 Critical Patch Update for Java SE Released
https://blogs.oracle.com/security/entry/april_2013_critical_patch_update1
Oracle Java SE Critical Patch Update Advisory - February 2012
http://www.oracle.com/technetwork/topics/security/javacpufeb2012-366318.html
Oracle Java SE Critical Patch Update Advisory - June 2012
http://www.oracle.com/technetwork/topics/security/javacpujun2012-1515912.html
Oracle Java SE Critical Patch Update Advisory - October 2012
http://www.oracle.com/technetwork/topics/security/javacpuoct2012-1515924.html
Updated Release of the February 2013 Oracle Java SE Critical Patch Update
http://www.oracle.com/technetwork/topics/security/javacpufeb2013update-1905892.html
Oracle Java SE Critical Patch Update Advisory - April 2013
http://www.oracle.com/technetwork/topics/security/javacpuapr2013-1928497.html
Java SEのセキュリティ修正のリリースの加速に加え、ゼロデイ脆弱性やその他の特に重大な脆弱性の報告により迅速に対応できるよう、Oracleは組織に対し追加投資しています。Java開発チームは個々のセキュリティ修正をより迅速にテスト、リリースできるようになりました。これは最近のJava Security Alertsの迅速なリリースが証拠になっています。言い換えると、Java開発チーム全体に対する手続きや技術的な変更の結果、組織がCritical Patch Updateプログラム(数多くのセキュリティ修正の定期的なリリース)やSecurity Alertプログラム(ゼロデイもしくは特に深刻な脆弱性に対応するための、予定外のセキュリティ修正の迅速なリリース)の両方で改善しました。
2013年10月から、Javaセキュリティ修正は、他のOracle製品と同様、Oracle Critical Patch Updateのスケジュールにあわせてリリースされます。つまり、Javaは年4回セキュリティリリースが出る、ということです。明らかに、OracleはSecurity Alertプログラムを通じて、緊急の「帯域外」のセキュリティ修正をリリースすることもできます。
Oracle's Security Vulnerability Remediation Practices
http://www.oracle.com/us/support/assurance/remediation/index.html
Java開発チームによるOracle Software Security Assuranceポリシーおよびプラクティスの実装は、新しい脆弱性をJavaコードベースに持ち込ませないことを意図するものでもあります。例えば、Java開発チームは自動化されたセキュリティテストツールの利用範囲を拡大し、通常のJavaプラットフォームのコードの大部分をカバーするようにしてきました。JavaチームはOracleの主要なソースコード解析プロバイダーと協力してJava環境で動作するツールの能力を強化してきましたし、洗練された解析ツールを開発して、特定の種類の脆弱性(例えばfuzzingツール)を取り除くようにしました。
Comprehensive Security Analysis and Testing
http://www.oracle.com/us/support/assurance/testing/index.html
Oracleは、ブラウザの信頼/権限モデルで既存のJavaの制限にも取り組んでいます。数多くの製品機能の強化を実施してデフォルトでセキュアにするとともに、セキュリティに対するエンドユーザーの制御をより多く提供しています。 JDK 7 Update 2では、Oracleは古いJavaランタイムを使うアプレットを実行する前に、強化されたセキュリティの警告を追加しました。JDK 7 Update 6では、Oracleは、動的にセキュリティベースラインに関する情報を更新し始めました。この情報とは、Javaの現行バージョンに最新のセキュリティ修正プログラムがあるかどうかを判断するために使用します。JDK 7 Update 10では、Oracleは、セキュリティスライダー設定オプションを導入し、自動的に古いJavaバージョンのセキュリティの有効期限を規定しました(これは、古いバージョンよりもより制限された信頼モデルでユーザーがJavaの最新バージョンを実行していることを確認するためです)。
Update Release Notes - JavaTM SE 7 Update 2
http://www.oracle.com/technetwork/java/javase/7u2-relnotes-1394228.html
Update Release Notes - JavaTM SE 7 Update 6
http://www.oracle.com/technetwork/java/javase/7u6-relnotes-1729681.html
Update Release Notes - JavaTM SE 7 Update 10
http://www.oracle.com/technetwork/java/javase/7u10-relnotes-1880995.html
さらに、JDK 7 Update  21では、Oracleは次のような変更を導入しました。
Update Release Notes - JavaTM SE 7 Update 21
http://www.oracle.com/technetwork/java/javase/7u21-relnotes-1932873.html
  1. 署名済みアプレットのセキュリティモデルを変更しました。以前は署名アプレットをアプリケーションの権限追加のためだけに利用していましたが、このアップデートにより、署名アプレットは署名者のアイデンティティを確立しますが、必ずしも追加の権限を付与しません。その結果、サンドボックス外で実行させずに署名済みアプレットを実行することが可能になりました。そして利用者は署名のない任意のアプレットの実行を防ぐことができます。
  2. プラグインのデフォルトセキュリティ設定が変更され、署名無しもしくは自己署名アプレットの実行が阻止されるようになりました。この変更はほとんどのJavaユーザーに影響を与えると思います。そして現在未署名のJavaアプレットを含むWebサイトを持つ組織に対し、Oracleは文書化された勧告に従ってアプレットに署名をつけるよう強く促します。
    Java Applet & Web Start - Code Signing
    http://www.oracle.com/technetwork/java/javase/tech/java-code-signing-1915323.html
    とは言いつつも、ご注意頂きたいのは、利用者と管理者は具体的に個別にこの設定をオプトアウトでき、未署名のアプレットの実行を可能とする、安全性の低い展開モードを選択することができるようになります。近い将来、デフォルトでJavaは未署名コードもしくは自己署名コードの実行を許可しなくなるでしょう。
  3. Javaが署名済みアプレットの実行前に証明書執行リスト(Certificate revocation Lists / CRLs)やオンライン証明書状態プロトコル(Online Certificate Status Protocol / OCSP)の呼びだしを通じて、署名済み証明書の妥当性をチェックする機能を提供しているのに対し、潜在的に性能に影響を与えることが原因で、この機能はデフォルトで無効になっています。Oracleは失効サービスを標準化して改善し、将来リリースではこの機能をデフォルトで有効にする予定です。その間、静的なブラックリストから、ブラックリストに入ったjarファイルや証明書の両方のために日々のアップデートを含む動的なブラックリスト機構に改善してきました。
最後に、ブラウザでJavaに影響を与えるセキュリティ問題は、一般にサーバーで実行するJavaには影響を与えていませんが、最近のブラウザで実行するJavaに影響を与える脆弱性がレポートされると、サーバー上で実行するJavaアプリケーションを利用する組織に懸念を引き起こしていることもOracleは承知しています。その結果、Oracleは、Javaのクライアント/ブラウザ利用(例:ホームユーザに影響を与える)とサーバ利用(例:企業の展開に影響を与える)をさらに分離して、幅広いJavaのディストリビューションモデルのセキュリティの影響に対処する措置を講じています。Java 7 update 21から、Oracleは新しいタイプのJavaのディストリビューションである"Server JRE"を導入しました。

Oracleは、Server JREディストリビューションからプラグインを取り除いて、攻撃対象を減らすだけでなく、サーバー乗っ取りの危険因子を評価する上で、顧客の混乱を減らしています。将来的には、Oracleは、サーバの動作のために一般的に不必要な特定のライブラリの除去を含め、攻撃ポイントをさらに低減するための強力な対策を探る予定です。このような重要な措置は、現在のJava仕様に違反するために、現在のJavaのバージョンで実装することはできませんが、Oracleは、Java Community Processの他のメンバーと共にこうした変更をJavaの将来バージョンで可能とするように取り組んできました。

またOracleは、エンタープライズデプロイメントにおいてJavaの管理性を向上したいと考えています。Local Security Policy機能をまもなくJavaに追加する予定なので、システム管理者は、組織内のJavaのJavaインストール時ならびに組織への展開時のセキュリティポリシー設定をより細かく管理することができるようになります。例えばポリシー機能を使うと、システム管理者が特定のホスト(例えば、企業のサーバ資産、パートナーなど)にあるJavaアプレットの実行を制限でき、その結果、許可されていないホストや悪意のあるホストにアクセスするデスクトップが原因で発生するマルウェア感染のリスクを軽減します。

我々の信念は、この継続的なセキュリティに対する努力の結果として、デスクトップ環境における、潜在的なJavaの脆弱性の悪用や重大性を削減し、サーバー環境でのJava動作のために追加のセキュリティ保護を提供することです。 Oracleの努力により、すでにJavaの開発チームがセキュリティ修正をより迅速に提供できるようになり、その結果未解決のJavaのセキュリティバグは少なくなっています。

詳細情報
Oracle Software Security Assuranceに関する詳細は以下のページをご覧下さい。
Oracle Software Security Assurance
http://www.oracle.com/us/support/assurance/index.html
Javaセキュリティ文書は以下をどうぞ。
Java SE Security
http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136007.html
JDK 7リリースのリリースノートは以下のリンクからどうぞ。
Update Release Notes
http://www.oracle.com/technetwork/java/javase/7u-relnotes-515228.html

0 件のコメント:

コメントを投稿