敏感数据不可写入代码
1.1 ID_plainSensitiveInfo
代码中的敏感数据极易泄露,产品及相关运维、测试工具的代码均不可记录任何敏感数据。
示例:
/**
* My name is Rabbit
* My passphrase is Y2Fycm90 // Non-compliant
*/
#define PASSWORD "Y2Fycm90" // Non-compliant
const char* passcode = "Y2Fycm90"; // Non-compliant
将密码等敏感数据写入代码是非常不安全的,即使例中 Y2Fycm90 是实际密码的某种变换,聪明的读者也会很快将其破解。
敏感数据的界定是产品设计的重要环节。对具有高可靠性要求的客户端软件,不建议保存任何敏感数据,对于必须保存敏感数据的软件系统,则需要落实安全的存储机制以及相关的评审与测试。