したがって、私は、Windows 8/8.1アプリケーションとWindows 10アプリケーションのサンドボックスモデルの違いについて(もしあれば)、少し興味深いことを行っていました。かなり興味深いものに出会ったときです。Oracleが出荷されたときJavaパッケージ8 51を数か月更新すると、レーダーの下を飛んでいるように見える新機能が追加されました。
新機能と変更点
オペレーティングシステムの制限された環境(ネイティブサンドボックス)
JDK 8u51では、ネイティブサンドボックスに次の変更が導入されました。
ネイティブサンドボックスは、Windowsプラットフォームでのみ使用できます。
Javaコントロールパネル->詳細設定->オペレーティングシステムの制限された環境(ネイティブサンドボックス)を有効にする)を使用するか、deployment.security.use.native.sandboxプロパティをdeployment.propertiesファイルでtrue。
ネイティブサンドボックスはデフォルトで無効になっています。
ネイティブサンドボックスが有効な場合、サンドボックスアプレットまたはWebスタートアプリケーションは、オペレーティングシステムによって提供される制限された環境で実行されます。これはすべての権限のアプリケーションには影響せず、以前と同様に実行され続けます。
リンクは here です。これには、もう少し(非常に少ない)情報が含まれています。そして、他の場所でドキュメンテーションやディスカッションを見つけようとすることは判明しました...まあ、基本的には何もありません。何もない。上記のリリースノートのそのようなテキストがなく、UIに新しいオプションが存在していなければ、新しい機能がリリースされたと考える理由はありません。奇妙な。
とにかく、なぜこの「ネイティブサンドボックス」機能について驚くほど情報が不足しているのかはさておき、実際にそれが何であり、何をしているのかについて誰かが実際にさらに知っていますか? Java VM and libraries are a sorta-semi-sandbox "Protected Mode" privilege area into IEはWindows 8/8.1またはWindows 10アプリモデルを利用してJava VMおよびそれに付随するものを新しいWindowsアプリケーションサンドボックスに入れます(Microsoftは2016年に従来のデスクトッププログラムをサンドボックスに入れてWindows 10ストアで配布する機能を出荷する予定であることを知っているので、おそらくJavaプレーヤーをWindows 10に入れますサンドボックスは問題外ではないかもしれません。)他に完全に何か?どちらの場合でも、VMはまだあり、追加のサンドボックス内で実行されますか?)ちょっと困惑します。
そして、なぜオラクルは、(どうやら)単一のページを除いて、これについて何も言わなかったのですか?機能は明らかに製品にあります。デフォルトで無効になっているのはなぜですか?なんとかテスト中なのでしょうか?誰か?
編集:
皮肉にも、非常によく似た質問 すでに尋ねられた で、少し異なるGoogle検索を実行すると、他の誰かがStack Exchangeで回答したが未回答でした。その質問を複製した場合の謝罪...しかし、誰かこれについてもっと何か知っていますか?
あなたはJava開発者のように聞こえるので、Javaコードがシステムレベルのものを変更できることを知っています。アプレットが悪意のある場合、この事実を利用してクライアントシステムにアクセスしようとします。この種の攻撃は、アプレットの実行時にはすでに遅れているため、阻止するのが困難です。このネイティブサンドボックスは、Windows OSによって提供される別のレベルの保護です。これにより、アプレットがブラウザーから抜け出した場合でも、サンドボックス内にあるため、何か悪いことはできません。システムと対話するように設計されており、サンドボックスが設定されている場合でもそれが許可されると、例外サイトリストまたはランタイム環境のアプレットによってこれを実行できるようになります。展開ルールセット。したがって、デフォルトでこの設定を使用してサンドボックスでアプレットを実行すると、Oracleがすべてのユーザーに対してオンにすることを決定するまで、追加の保護が確実に行われるようになりますが、これを行う場合は、彼らが承認されるか、あなたもそれらを許可するようにあなたに言わない限り、システムは機能しません。
デフォルトで無効にすると、レガシーアプレットは、Oracleがそれを選択した場合、または意識の高いユーザーのセキュリティが「危険な」アプレットを使用したい場合、デフォルトで有効になる前に更新および(利用/準備)できます。それが(うまくいけば)システムを台無しにしないという自信を持ってそうすることができます。
現在、多くのアプレットはおそらくESLにないか、多くの環境がDRSを使用するように設定されていないため、デフォルトで無効に設定することで、(まだ)何も壊さないようにすることができます。別の理由としては、このオプションがまだWindowsで完全にサポートされておらず、Windowsがその役割を果たしており、Windowsが今追いつく必要があるか、スイッチを切り替える前に詳細を解決していることが考えられます。現在デフォルトで設定することが理にかなっている理由はまだまだたくさんありますが、彼らがもっと言うまではわかりません。 ESLが十分に大きくなり、パッチノートを読まない人がなぜそのようなWebサイトで動作しないのかについての質問の洪水を尋ねることなく安全に設定できるようになるまで、彼らはそれを開始していると思います。
編集:もう少し掘り下げた後、Windows 10サンドボックスがすでにWindowsストアアプリケーションに存在していることがわかりました。info here および here は、Javaアプレットが正しく記述され、問題なくセットアップされた場合。そのため、WindowsストアアプリケーションとWindows 10の新しいデスクトップアプリケーションで使用されるApp-Vサンドボックスに配置されます。これは、新しいデフォルトのWindowsサンドボックスのようです。
私の知る限り、これでOracleがリリースしたのはこれだけです。これは、アプレットとWebスタートアプリにのみ適用可能であると述べており、ブラウザープラグインがOracleの唯一の部分であるJavaが最近オープンソースではないためです。ネイティブのWindows機能を使用してアプレットサンドボックスを強化しようとする試みのようです。
コードがブラウザプラグインに限定されているように見えるため、SecurityManager
を使用している場合でも、デスクトップアプリケーションやサーバーアプリケーションなどの他のJavaの使用には影響しません。
気になったので調べてみました。これらのタイプのJavaアプリは常にJVMで分離されているという意味でサンドボックスで実行されます。したがって、問題は彼らが使用しているWindowsサポートです。各プロジェクトはこれを行うようです。少し異なります。Windowsのユーザーモード、カーネルモード、サンドボックス、およびChromeモデルが表示されます。ここから多くのことを学びます。そこから、新しいWindowsバージョンのセキュリティ機能のハイライト。
https://media.blackhat.com/bh-ad-10/Ridley/BlackHat-AD-2010-Ridley-Escaping-The-Sandbox-slides.pdf
私があなたのために見つけることができたすべて。私がWindowsを使用していたとき、私たちは主にサンドボックス化にSandboxie、DefenseWallなどを使用しました。まだプラットフォームを使用している場合は、おそらくMicrosoftのEMETとXAXも使用しようとするでしょう。