インターフェイスを実装するクラスISerializer
のFortify SourceAnalyzer から、以下の警告が表示されます。IDeSerializer
「SecurityManager チェックの欠落: シリアライズ可能」。
これはセキュリティ上の脆弱性です。これは、機密データをシリアル化し、クラスのコンストラクターにセキュリティ マネージャー チェックを入れて、新しいオブジェクト インスタンスの未チェックの作成を回避するためです。書き込みメソッドをオーバーライドし、書き込みメソッドにも同じセキュリティ マネージャー チェックを入れる必要があります。(シリアライズされたバイトから作成されたオブジェクトに対する Java コントロールがないため、シリアライズされたバイトから新しいインスタンスを作成することができ、それらのバイトを単純にデシリアライズするため、回避する唯一の方法は、書き込みに同じセキュリティ マネージャー チェックを入れることです。方法)。
上記の説明は、機密データをシリアル化し、コンストラクター内にセキュリティマンガーチェックを入れている場合はまったく問題ありません。しかし、機密ではないデータがあり、コンストラクターでセキュリティマネージャーのチェックを行わずにそれをシリアル化したい場合。それでも、Fortify レポートから上記の警告を受けました。この警告を取り除く方法がわかりません。これは Fortify ツールのバグですか、それとも何か不足していますか?
注:- コンストラクターでセキュリティ マネージャーをチェックしたくありません。