CXX.SV.PWD_INPUT.REVIEW

应通过检查密码验证来阻止暴力破解攻击。

在应用程序中使用密码验证时,Klocwork 会报告 CXX.SV.PWD_INPUT.REVIEW 缺陷。设计人员能够检查缺陷,以此保障公司的身份验证策略得到实施。

漏洞与风险

如果不限制密码验证的失败尝试次数,则可能会遭到暴力破解攻击。黑客可以通过反复尝试新密码来发现正确的用户密码。如果不对多次身份验证尝试进行限制,攻击者便可在未经授权的情况下访问应用程序。

缓解与预防

检查密码验证流程,确保符合贵公司的身份验证策略。Klocwork 通常建议允许用户在 15 分钟间隔内最多进行 3 次身份验证尝试。如果 3 次尝试均失败,用户帐户将被锁定。

漏洞代码示例

复制
void login_form1()
{
    QLineEdit *editPassword;
    editPassword = new QLineEdit();
    editPassword->setEchoMode(QLineEdit::Password);
    QString password = editPassword->text();
}

Klocwork 在第 6 行报告 CXX.SV.PWD_INPUT.REVIEW 缺陷,因为在第 5 行识别到密码字段。审阅者的职责是确保此密码与应用程序的身份验证失败尝试策略相匹配。

扩展

此检查器可通过 Klocwork 知识库进行扩展。有关详情,请参阅调整 C/C++ 分析和 PWD_INPUT 记录。