問題タブ [securitymanager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - System.exitへの呼び出しを禁止する
System.exit(int);
一部のjarファイルでの呼び出しを禁止しようとしています。
これらのjarは外部チームによって開発され、「コンテナ」アプリケーションによってロードされます。
私の最初の反射神経は、Javaセキュリティマネージャーを使用することです。
最も単純な${user.home}/.java.policy
ファイルで:
System.getProperties()などを呼び出すことはできなくなりましたが(java.util.PropertyPermissionがないため)、System.exit(0)を実行できます。
このオプションjava.security.debug=all
は、次のコンソールを提供します。
my-bin-pathのすべてのクラスが許可されているのはなぜですかjava.lang.RuntimePermission exitVM
?????
ありがとう
java - アクセスが拒否されました( "java.io.FilePermission" "" "読む")
フレームワークpulpcoreを使用してJavaでゲームを作成していますが、次のエラーが発生し続けます。
誰かがこれを修正する方法を知っていますか?私はそれが警察と関係があることを知っていますが、私は以前にそれらを使用したことがないので、これを修正する方法がわかりません。どんな助けでも大歓迎です。
java - 1つのメソッドのみにJavaSecurityManagerを設定する
私は次のように見えるかもしれない方法Aを持っています:
問題は、SecurityManagerが設定されると、プロジェクト全体に適用されることですが、このメソッドが含まれるクラスにのみ必要です。このメソッド/クラスのアクセス許可のみを確認するようにSecurityManagerに指示するにはどうすればよいですか。
java - JavaSecurityManager-カスタムポリシーファイルの設定
どこにでも配置できるJavaSecurityManagerのカスタムポリシーファイルを作成する方法はありますか?もしそうなら、どのようにそれを行うのでしょうか、そしてどのようにセキュリティマネージャーをそのファイルにプログラムでバインドするのでしょうか?それはコマンドラインを介さないのですか?
java - Java スタック イントロスペクション
誰かが次のことで私を助けてくれることを望んでいました:
Java スタック イントロスペクションに関する私の理解 (ここでは少し単純化されている可能性があります) は、プロセスがスタック フレームを生成し、それがスタックに追加されるということです。プロセスがシステム コールを行う必要がある場合、スタック イントロスペクション アルゴリズムは、プリンシパル (つまり、リソースにアクセスしようとしているプロセス) が特定のリソースの使用を許可されているかどうかを確認し、それに応じてフレームに注釈を付けます (アクセスの許可または禁止)。 )。
私の質問は次のとおりです。
- 上記は正しいですか、何か不足していますか?
- JVM はアクセスを許可するか制限するかをどのように決定しますか? ユーザーはこの決定に関与していますか?
- この研究では、フレームが前のフレームの「信念セット」を継承/伝えられている例 (図 2) があります。この例で、悪意のあるコードの実行を阻止するものは何ですか?
java - 別のスレッドから System.exit(-1) を「キャプチャ」するにはどうすればよいですか?
私は次のものを持っています
some3rdPartyStaticMethod の生成されたスレッドの System.exit() 呼び出しが jvm を停止するのを防ぐ方法はありますか?
scala - 指定されたSecurityManagerを使用してAkka Futureを実行するには?
ファイルからプラグイン システムを介してプレイヤーのボット コードを読み込む、Scala で書かれたオープンソースのマルチプレイヤー プログラミング ゲームの場合.jar
、ボットのコードを制限付きで実行することにより、サーバー システムに害を及ぼさないようにしたいと考えています。SecurityManager
実装。
現在の実装では、URLClassLoader を使用して、関連するプラグイン .jar ファイルから各ボットの制御関数ファクトリを抽出します。次に、ファクトリを使用して、ゲームの新しいラウンドごとにボット コントロール関数インスタンスをインスタンス化します。次に、シミュレーション サイクルごとに 1 回、すべてのボット コントロール関数が同時に呼び出され、環境に対するボットの応答が取得されます。Future.traverse()
同時呼び出しは、暗黙的に提供ActorSystem
され、同時に動作する他のコンポーネント (コンパイル サービス、Web サーバー、レンダリング) によって共有されるAkka を使用して行われます。
ボット プラグインに含まれる潜在的に悪意のあるコードの実行を制限するには、この StackOverflow の質問とこの質問で取られたパスに従って、適切に制限された実装の下で実行されるスレッドでボット制御機能を実行する必要があるようSecurityManager
です。
ここで問題です: システム内の他のアクタ(バックグラウンド コンパイル サービスを実行しているアクタなど) が現在と同じように実行し続けている間に、Akka が現在実行中の作業をFuture.traverse()
目的の を持つスレッドで実行されているアクターで処理するにはどうすればよいでしょうか?つまり無制限?SecurityManager
java - java.security.AccessControlException : アクセスが拒否されました (java.lang.RuntimePermission modifyThread)
バッチ アプリケーション プログラムで ThreadPoolExecutor を使用しているバッチ アプリケーション プログラムがあります。だから、それがヒットするとすぐに-
バッチ アプリケーション プログラムで次の行を実行すると、バッチ アプリケーション プログラムで常に以下のエラーが発生します。また、自分の Executor Service をシャットダウンできません。このエラーをどのように克服すればよいか、誰かに提案してもらえますか。
更新 -私はこの方法でやろうとしましたが、まだ運がありません-
java - Java を使用したアプリケーション ラッパー
Java を使用して他の (Java) アプリケーション用のラッパー アプリケーションを実装することは可能ですか?
目的は、特定のドキュメントの操作に使用されるアプリケーションとは無関係に、ドキュメントの使用ポリシーを適用することです。
EG 暗号化されたファイルを復号化し、何らかのエディタで開く必要があります。そのため、ラッパー アプリケーションはファイルを復号化し、アプリケーション内でエディターを起動して、たとえばアプリケーションへの書き込みアクセスを拒否することで読み取り専用ポリシーを適用します。したがって、このRuntime.getRuntime().exec(<command>)
方法はうまく適合しません:)
同じアプリケーション内でメソッド呼び出しをインターセプトする方法もいくつかありますが、他のアプリケーション全体をラップする方法はありません。
また、ファイル アクセスをインターセプトするために JVM 自体を変更することについても読みました。それはかなりいいですね。しかし、ユーザーに応じてポリシーを動的に変更する必要があります。私が今までに知っている限り、それはうまくいかないかもしれません。
Java コードを使用してこれを行う方法はないかもしれませんが、何らかのヒントやヘルプをいただければ幸いです。
java - Java https 接続とセキュリティ ポップアップ
私のアプリケーションは署名付きアプレットであり、Java 1.6 でコンパイルされています
私のアプリでは、https get リクエストを作成しています。証明書の検証を無視しても、JRE でセキュリティ ポップアップが表示されます。
Internet Explorer で同じ要求を試みても、セキュリティ警告は表示されません。
1)このセキュリティポップアップをなくすためにプログラムでできることはありますか?
2) すべての証明書を受け入れても、JRE が警告ポップアップを表示するのはなぜですか?.
証明書の有効性を無視するコードは次のとおりです。
セキュリティ警告のスクリーンショットは次のとおりです。