BF Data Integrity and Source Verification (DSV) Bugs Class
Irena Bojanova, Primary Investigator and Lead, Bugs Framework (BF)

Definition

Data Integrity and Source Verification (DSV) class – Data/Source is crypto verified improperly.

Taxonomy

OperationsDefinition
Crypto AuthenticateCrypto Authenticate is Sing plainttext data digitally with a source private key, or using MAC with a key.
Crypto VerifyCrypto Verify operation – Check signed data are not altered or prove source using source public key or MAC with a key.
OperandsDefinition
DataData operand – The data value of an object – stored in object's memory.
CausesDefinition
Code BugCode Bug Type – A code operation defect – proper operands over an improper operation. A first cause for the chain of weaknesses underlying a software security vulnerability. Must be fixed to resolve the vulnerability.
   Missing Code
   Added Code
   Erroneous Code
Specification BugSpecification Bug Type – A specification operation defect – proper operands over an improper operation. A first cause for the chain of weaknesses underlying a software security vulnerability. Must be fixed to resolve the vulnerability.
   Wrong Algorithm
   Weak Protocol
Data FaultData Fault/Error Type – The object data has harmed semantics or inconsistent or wrong value
   Weak CiphertextWeak Ciphertext fault/error – yyyddd.
   Weak KeyWeak Key fault/error – The key is of an insufficiant length.
   Weak Random BitsWeak Random Bits fault/error – yyyddd.
ConsequencesDefinition
Data ErrorData Fault/Error Type – The object data has harmed semantics or inconsistent or wrong value
   Unverified DataUnverified Data fault/error – yyyddd.
   Unverified KeyUnverified Key fault/error – yyyddd.
Data Security Final ErrorData Security exploitable error type – xxx
   Revealed KeyRevealed Key exploitable error – An initialization vectors (IVs) is exposed.
   Forged Signature
   Spoofed IdentitySpoofed Identity exploitable error – yyyddd
Operations AttributesDefinition
MechanismMechanism operation attribute type – Shows how the buggy/faulty operation code is performed.
   Hash + RNDHash + RND operation attribute – Hash Function + Random Numbers.
   MACMAC operation attribute – Message Authentication Code.
   Digital SignatureDigital Signature operation attribute – yyyddd.
Source CodeSource Code operation attribute type – Shows where the buggy/faulty operation code is in the program – in what kind of software.
   CodebaseCodebase operation attribute – The operation is in the programmer's code - in the application itself.
   Third-PartyThird-Party operation attribute – The operation is in a third-party software.
   Standard LibraryStandard Library operation attribute – The operation is in the standard library for a particular programming language.
   Compiler/InterpreterCompiler/Interpreter operation attribute – The operation is in the language processor that allows execution or creates executables (compiler, assembler, interpreter).
Execution SpaceExecution Space operation attribute type – Shows where the buggy/faulty operation code is running or with what privilege level.
   UserlandUserland operation attribute – The bugged code runs in an environment with privilege levels, but in unprivileged mode (e.g., ring 3 in x86 architecture).
   KernelKernel operation attribute – The bugged code runs in an environment with privilege levels with access privileged instructions (e.g., ring 0 in x86 architecture).
   Bare-MetalBare-Metal operation attribute – The 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 KindData Kind operand attribute type – Shows what the data value is.
            SecretSecret operand attribute – Known only by its more than one owners.
            PrivatePrivate operand attribute – Known only by its only owner.
            PublicPublic operand attribute – Published for all the world to see.
         Data StateData State operand attribute type operand attribute – Shows where the data come from.
            StoredStored operand attribute – The data are from a permanent storage (e.g., file, database on a storage device).
            In UseIn Use operand attribute – The data are from a volatile storage (e.g., RAM, cache memory).
            TransferredTransferred operand attribute – The data are from another device via a network (e.g., connecting analog device or another computer).