Java Security を読んでいるときに、以下の文に出くわしましたが、インターネット上で満足のいく説明を得ることができませんでした。誰か説明してくれませんか
- バイトコードを含むクラスのロードを防ぎます
- 不正なパッケージでのロードを防止
ただし、クラス自体が安全であることを確認することはできません。クラスがネットワークやローカル ハードディスクなどの保護されたリソースにアクセスするのを防ぐ SecurityManager のセーフティ ネットはまだありますが、それだけでは十分ではありません。クラスに不正なバイトコードが含まれている、保護されたメモリへのポインタが偽造されている、プログラム スタックがオーバーフローまたはアンダーフローしている、またはその他の方法で JVM の整合性が損なわれている可能性があります。[1]のトピックThe Class File Verifierを確認してください: http://medialab.di.unipi.it/doc/JNetSec/jns_ch5.htm
バイトコードベリファイアは、次のチェックを行います。
ソースコードはバイトコードにコンパイルされ、ユーザーに配布されます。バイトコードが破損している場合、または Java コンパイラによって作成されたものではない場合、不正である可能性があり、バイトが意味をなさないことを意味します。