C and C++ Binaries


BADFUNC.WEAKCRYPTO : 脆弱な暗号関数の使用

要旨

以下の関数のいずれかが使用されており、 暗号として脆弱であるため、 セキュアなアプリケーションでは信頼されません。

DESファミリ (チェックでは、関数名の接頭辞である DES_ を大文字・小文字で区別しません)。

MD5ファミリ

Use of crypt も参照してください。

プロパティ

クラス名 Weak Cryptography
日本語クラス名 脆弱な暗号関数の使用
クラス分類 セキュリティ (security)
ニーモニック BADFUNC.WEAKCRYPTO
カテゴリー
CWE CWE:326 Inadequate Encryption Strength
  CWE:327 Use of a Broken or Risky Cryptographic Algorithm
  CWE:330 Use of Insufficiently Random Values
  CWE:338 Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)
  CWE:676 Use of Potentially Dangerous Function
CERT-C CERT-C:MSC25-C Do not use insecure or weak cryptographic algorithms
DISA-6r1 DISA-6r1:V-222397 The application must implement cryptographic mechanisms to protect the integrity of remote access sessions.
  DISA-6r1:V-222570 The application must utilize FIPS-validated cryptographic modules when signing application components.
  DISA-6r1:V-222571 The application must utilize FIPS-validated cryptographic modules when generating cryptographic hashes.
  DISA-6r1:V-222572 The application must utilize FIPS-validated cryptographic modules when protecting unclassified information that requires cryptographic protection.
  DISA-6r1:V-222583 The application must use the Federal Information Processing Standard (FIPS) 140-2-validated cryptographic modules and random number generator if the application implements encryption, key exchange, digital signature, and hash functionality.
  DISA-6r1:V-222589 The application must use appropriate cryptography in order to protect stored DoD information when required by the information owner or DoD policy.
DISA-5r3 DISA-5r3:V-69259 The application must implement cryptographic mechanisms to protect the integrity of remote access sessions.
  DISA-5r3:V-70191 The application must utilize FIPS-validated cryptographic modules when signing application components.
  DISA-5r3:V-70193 The application must utilize FIPS-validated cryptographic modules when generating cryptographic hashes.
  DISA-5r3:V-70195 The application must utilize FIPS-validated cryptographic modules when protecting unclassified information that requires cryptographic protection.
  DISA-5r3:V-70217 The application must use the Federal Information Processing Standard (FIPS) 140-2-validated cryptographic modules and random number generator if the application implements encryption, key exchange, digital signature, and hash functionality.
  DISA-5r3:V-70229 The application must use appropriate cryptography in order to protect stored DoD information when required by the information owner or DoD policy.
DISA-4r3 DISA-4r3:V-69259 The application must implement cryptographic mechanisms to protect the integrity of remote access sessions.
  DISA-4r3:V-70191 The application must utilize FIPS-validated cryptographic modules when signing application components.
  DISA-4r3:V-70193 The application must utilize FIPS-validated cryptographic modules when generating cryptographic hashes.
  DISA-4r3:V-70195 The application must utilize FIPS-validated cryptographic modules when protecting unclassified information that requires cryptographic protection.
  DISA-4r3:V-70217 The application must use the Federal Information Processing Standard (FIPS) 140-2-validated cryptographic modules and random number generator if the application implements encryption, key exchange, digital signature, and hash functionality.
  DISA-4r3:V-70229 The application must use appropriate cryptography in order to protect stored DoD information when required by the information owner or DoD policy.
OWASP-2017 OWASP-2017:A2 Broken authentication
  OWASP-2017:A3 Sensitive data exposure
  OWASP-2017:A5 Broken access control
  OWASP-2017:A9 Using components with known vulnerabilities
OWASP-2021 OWASP-2021:A1 Broken access control
  OWASP-2021:A2 Cryptographic failures
  OWASP-2021:A6 Vulnerable and outdated components
  OWASP-2021:A7 Identification and authorization failures
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Weak Cryptography"

#include <openssl/md2.h>

void weakcrypto(MD2_CTX *ctx){
  if (MD2_Init(ctx)){  /* 'Weak Cryptography' warning issued here */
    /* ... */
  }
  /* ... */
}
  

関連のある設定ファイルパラメータ

このクラスは一般テンプレート設定ファイルで BAD_FUNCTION_* ルールセットによって実装されています。

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。