SV.SERIAL.NON

SV.SERIAL.NON は、クラスが Serializable インターフェイスを実装している場合に発生します。

脆弱性とリスク

オブジェクトはシリアル化される場合、Java ランタイム環境の制御外、つまり Java によるセキュリティの制御外にあります。リスクは、企業のポリシーで決定されます。

Klocwork セキュリティ脆弱性 (SV) チェッカーは、潜在的に危険なデータを生成する呼び出しを特定します。このような呼び出しは安全でないソースと考えられます。ユーザーは攻撃者になる可能性があり、ヒューマンエラーを取り込む可能性があるため、安全でないソースはユーザーが指定した任意のデータである可能性があります。

軽減と防止

必要がない限り、Serializable の実装は避けます。Serializable を実装する場合には、システムリソースへのハンドルやアドレス空間に関連した情報を含むフィールドに対して transient を使用します。

例 1

コピー
 public class SV_SERIAL_NON_Sample_1 implements Serializable {
 }

SV.SERIAL.NON が 10 行目のクラス宣言に対して報告されています。クラス 'SV_SERIAL_NON_Sample_1' が 'java.io.Serializable' を実装しています。