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();
}

パスワードフィールドが 5 行目で識別されているため、Klocwork は 6 行目で CXX.SV.PWD_INPUT.REVIEW の欠陥を報告します。認証に失敗する試みに対して、このパスワードをアプリケーションのポリシーと確実に一致させるようにするのは、レビュー担当者の役割です。

拡張機能

このチェッカーは、Klocwork knowledge base (ナレッジベース) を利用して拡張できます。詳細については、C/C++ 解析のチューニングおよび PWD_INPUT レコードを参照してください。