BF Key Management (KMN) Bugs Class
Irena Bojanova, Inventor, Creator, PI, Bugs Framework (BF)

Definition

Cryptographic keying material is generated, stored, distributed, used, or destroyed improperly.

Taxonomy

OperationsDefinition
Generate/Selectyyyddd.
Storeyyyddd.
Distributeyyyddd.
Useyyyddd.
Destroyyyyddd.
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.
   Wrong AlgorithmAn inadequate, weak (incl. due to Insecure Mode of Operation), risky, or broken cryptographic algorithm or step.
Data FaultThe object data has harmed semantics or inconsistent or wrong value
   Weak Keying Materialyyyddd.
ConsequencesDefinition
Data ErrorThe object data has harmed semantics or inconsistent or wrong value
   Weak Keying Materialyyyddd.
Data Security Final Erroryyyddd
   Revealed IVA secret, public, or private key is exposed.
   Revealed Shared SecretsA pre-master or other secret is exposed.
   Revealed Domain ParameterA xxx is exposed.
   Revealed Random BitsA random number (inlc. a salt or a nonce) is exposed.
Operations AttributesDefinition
MechanismShows how the buggy/faulty operation code is performed.
   Hash + RNDHash Function + Random Numbers.
   MACMessage Authentication Code.
   Digital Signatureyyyddd.
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.
            HashesFixed-length bit strings mapped by a hash function from arbitrary length bit strings. They are used for integrity authentication. They are cryptographic data.
            Keying MaterialCryptographic 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).
            Digital Certificateyyyddd They are sensitive data.
         Data StateShows where the data come from.
            EnteredThe data are from a user via a user interface (e.g., text field).
            StoredThe data are from a permanent storage (e.g., file, database on a storage device).
            In UseThe data are from a volatile storage (e.g., RAM, cache memory).
            TransferredThe data are from another device via a network (e.g., connecting analog device or another computer).