アプリケーションでセキュリティ スキャンを実行したところ、「整合性チェックなしのコードのダウンロード」というセキュリティ問題が発生しました。ラインのこのリスクポイントClass.forName("SimpleClass");
上記のコード行を保護するにはどうすればよいですか? forName("")
パラメータがロードしようとしている悪意のあるクラスではないことを確認するにはどうすればよいですか。
編集: 使用されるセキュリティ スキャンは Checkmarx です。
外部からクラスを取得しない場合、この弱点はここでは当てはまりません。この場合、悪意のあるクラスが既にクラスパスにある場合は、そのクラスをロードできます。つまり、攻撃者はすでにクラスパスにアクセスできます。この場合、抵抗は無意味です。
外部からクラスを取得した場合 (どこかからダウンロードしたり、ユーザーがクラスやソース コードをアップロードしてコンパイルできるようにするなど)、この脆弱性にさらされることになり、対策を講じる必要があります。ユーザーからクラスを取得すると、問題が発生します。:) 安全だと思われる場所からそれらを取得する場合は、HTTPS を使用するか、自分で署名を確認できます。しかし、これはあなたの場合ではないと思います。
信頼できないクラスを含む jar をクラスパスに配置しないでください。
メッセージが正しくありません。これでは何もダウンロードされません。正常にロードされるためには、すでにクラスパスにある必要があるクラスをロードするだけです。