WIKI

11.4 IVParameterSpec不安全初始化向量检测

(1)描述

使用IVParameterSpec函数,如果使用了固定的初始化向量,那么密码文本可预测性高得多,容易受到字典攻击等。

(2)风险等级

低危

(3)影响范围

所有

(4)检测方法

检测类型:静态分析+人工确认

初始化向量时,使用了硬编码到程序的常量。风险代码如下:

byte[] iv = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };
IvParameterSpec ips = new IvParameterSpec(iv)

匹配Ljavax/crypto/spec/IvParameterSpec;-><init>([B)V函数

(5)修复建议

IVParameterSpec初始化时,不使用常量vector

(6)参考资料

http://wolfeye.baidu.com/blog/weak-encryption/