BF Cipher (CPH) Bugs Class
Irena Bojanova, Inventor, Creator, PI, Bugs Framework (BF)

Definition

Sensitive data are improperly encrypted or ciphertext is improperly decrypted.

Taxonomy

OperationsDefinition
EncryptTransform (encipher) intelligible data (plaintext) into unintelligible form (ciphertext) using a cryptographic algorithm and key(s). The goal is to ensure confidentiality.
DecryptTransform(decipher) encripted data (ciphertext) into plaintext using a cryptographic algorithm and key(s).
OperandsDefinition
DataThe data value of an object -- stored in object's memory.
CausesDefinition
Code Defect BugThe operation has a bug, which is the first cause for the chain of weaknesses underlying a software security vulnerability. The bug must be fixed to resolve the vulnerability.
   Missing CodeThe entire operation implementation or a part of its specification is absent.
   Added CodeThe operation implementation adds a step to its specification.
   Erroneous CodeThe operation implementation has a bug.
Specification Defect BugA specification (algorithm, protocol) of an operation an error or a rule (policy, keying material) used by the operation has an error, which when implemented becomes the bug causing the chain of weaknesses underlying a software security vulnerability. It must be fixed to fix the bug and to resolve the vulnerability.
   Hardcoded Key
   Wrong AlgorithmAn inadequate, weak (incl. due to Insecure Mode of Operation), risky, or broken cryptographic algorithm or step.
   Weak Protocolxxx.
Data FaultThe object data has harmed semantics or inconsistent or wrong value
   Weak Ciphertextyyyddd.
   Unverified Datayyyddd.
   Weak KeyThe key is of an insufficiant length.
   Weak Random Bitsyyyddd.
   Repeated IVThe initialization vector (IV) -- the starting nonce of an encryption cryptographic algorithm -- is not unique.
   Weak Shared Secretsyyyddd.
   Revealed Key
ConsequencesDefinition
Data ErrorThe object data has harmed semantics or inconsistent or wrong value
   Corrupted DataUnintentionally modified data due to a previous weakness (e.g., with a decompress or a decrypt operation); would lead to invalid data for next weakness.
   Meaningless Datayyyddd.
   Weak Ciphertextyyyddd.
   Revealed Key
Data Security Final Erroryyyddd
   Revealed PlaintextIntelligible data that has meaning and can be understood without the application of decryption is exposed.
Operations AttributesDefinition
MechanismShows how the buggy/faulty operation code is performed.
   Symmetric AlgorithmA key encryption scheme that uses one shared key. Known also as 'secret key algorithm' (e.g. Serpent, Blowfish).
   Asymmetric AlgorithmA key encryption scheme that uses two keys: public and private. Known also as 'public key algorithm' (e.g. Diffie-Hellman, RSA).
Source CodeShows where the buggy/faulty operation code is in the program -- in what kind of software.
   CodebaseThe operation is in the programmer's code - in the application itself.
   Third-PartyThe operation is in a third-party software.
   Standard LibraryThe operation is in the standard library for a particular programming language.
   Compiler/InterpreterThe operation is in the language processor that allows execution or creates executables (compiler, assembler, interpreter).
Execution SpaceShows where the buggy/faulty operation code is running or with what privilege level).
   UserlandThe bugged code runs in an environment with privilege levels, but in unprivileged mode (e.g., ring 3 in x86 architecture).
   KernelThe bugged code runs in an environment with privilege levels with access privileged instructions (e.g., ring 0 in x86 architecture).
   Bare-MetalThe bugged code runs in an environment without privilege control. Usually, the program is the only software running and has total access to the hardware.
Operands AttributesDefinition
         Data KindShows what the data value is.
            CredentialsPasswords, tokens, smart cards, digital certificates, biometrics (fingerprint, hand configuration, retina, iris, voice.) They are sensitive data.
            System DataOS's configurations, logs, Web usage. They are sensitive data.
            State DataA snapshot of software behavior. They are sensitive data.
            CryptographicHashes, keys (secret, public, private) and other crypto algorithm parameters (initialization vectors (IVs), shared secrets (e.g. pre-master secrets), domain parameters, and random bits (eandom number - RBG seeds, salt, nonce). They are sensitive data.
            Digital Documentyyyddd They are sensitive data.
         Data StateShows where the data come from.
            StoredThe data are from a permanent storage (e.g., file, database on a storage device).
            TransferredThe data are from another device via a network (e.g., connecting analog device or another computer).
            In UseThe data are from a volatile storage (e.g., RAM, cache memory).