Javaにはウイルス対策が組み込まれていますか?
私の友人の 1 人は、JVM 自体に「サンドボックス」と呼ばれるものがあると教えてくれました。本当ですか?
9 に答える
Java には「サンドボックス」と呼ばれるセキュリティ関連の概念がありますが、一般的なウイルス対策製品とは大きく異なる動作をします。後者は通常、実行前にシグネチャまたはコード分析を介してウイルスを捕捉しようとします。
一方、Java サンドボックスを使用すると、Java コードを実行しながら、システム リソースへのアクセスを差し控えることができます。システム リソースは、ファイルへのアクセスがないなど、悪いことに使用される可能性があります。
ただし、デフォルトでは、サンドボックスで実行されるのは Java アプレットと Java Web Start アプリケーションのみです。通常の Java アプリケーションは、システムに完全にアクセスできます。
疑わしい。おそらく彼は、JVM が Java プログラムの実行を (ある程度) サンドボックス化して、ホスト OS に損害を与えないようにしているという事実に言及していたのでしょう。
いいえ、ウイルス対策は組み込まれていません。彼はこれを4月1日にあなたに話しましたか?
疑問を解消するために、サンドボックスはウイルス対策ではありません.
Javaにはアンチウイルスが組み込まれていますか?
いいえ。
Java には、信頼されていないコードを実行できるセキュリティ モデルが組み込まれています。このモデルは「サンドボックス モデル」と呼ばれます。
ウイルススキャナーではありません。代わりに、信頼できないコードの可能性を制限して、Web ページ上のアプレットがコンピュータのハード ドライブ上のファイルにアクセスできないようにします。
Java のセキュリティ アーキテクチャについて詳しく読むことができます。
java は SecurityManager と呼ばれるクラスを使用して、プログラムができることとできないことを判断します。そのため、ある意味ではアンチ エクスプロイト コードを実装しますが、具体的にはアンチ ウイルスではありません。
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/SecurityManager.html
通常の意味でのウイルス対策は、ファイル内のウイルスを検出して削除します。これは Java に組み込まれていません。
いいえ。それは、オペレーティング システムから (ある程度) 分離された環境でプログラムを実行することです。これにより、ほとんどの場合、悪意のあるコードが損害を与えるのを防ぐことができます。VMware を実行するのと同じように、virii やその他のマルウェアはホスト OS に影響を与えません。
JRE で文字どおりの「ウイルス対策」に最も近いのは、署名付き jar のブラックリスト機能です。署名付き jar がセキュリティ上の問題を引き起こすことが判明した場合は、ブロックすることができます。これは、故意に悪意のあるコードをブロックするのではなく、偶発的なセキュリティ上の欠陥のために設計されています。また、CRL (Certificate Revocation List) または OCSP (Online Certificate Status Protocol) が有効になっている場合は、それらを使用して証明書を取り消すこともできます。従来のウイルス対策は、中途半端な代替品を作ろうとするのではなく、専門のウイルス対策製品に任せています。
(現在のウイルス対策製品は、既知のウイルスをチェックするだけではありません。)
ガベージ コレクションは便利な抗菌剤としても機能し、アプリケーションを 99.99% 無菌にできると聞きました。
使用後は毎回洗ってください。