Operations | Definition |
Crypto Authenticate | Sing plainttext data digitally with a source private key, or using MAC with a key. |
Crypto Verify | Check signed data are not altered or prove source using source public key or MAC with a key. |
Operands | Definition |
Data | The data value of an object -- stored in object's memory. |
Causes | Definition |
Code Defect Bug | The 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 Code | The entire operation implementation or a part of its specification is absent. |
Added Code | The operation implementation adds a step to its specification. |
Erroneous Code | The operation implementation has a bug. |
Specification Defect Bug | A 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 Algorithm | An inadequate, weak (incl. due to Insecure Mode of Operation), risky, or broken cryptographic algorithm or step. |
Weak Protocol | xxx. |
Data Fault | The object data has harmed semantics or inconsistent or wrong value |
Weak Ciphertext | yyyddd. |
Weak Key | The key is of an insufficiant length. |
Weak Random Bits | yyyddd. |
Consequences | Definition |
Data Error | The object data has harmed semantics or inconsistent or wrong value |
Unverified Data | yyyddd. |
Unverified Key | yyyddd. |
Data Security Final Error | yyyddd |
Revealed Key | An initialization vectors (IVs) is exposed. |
Forged Signature | |
Spoofed Identity | yyyddd |
Operations Attributes | Definition |
Mechanism | Shows how the buggy/faulty operation code is performed. |
Hash + RND | Hash Function + Random Numbers. |
MAC | Message Authentication Code. |
Digital Signature | yyyddd. |
Source Code | Shows where the buggy/faulty operation code is in the program -- in what kind of software. |
Codebase | The operation is in the programmer's code - in the application itself. |
Third-Party | The operation is in a third-party software. |
Standard Library | The operation is in the standard library for a particular programming language. |
Compiler/Interpreter | The operation is in the language processor that allows execution or creates executables (compiler, assembler, interpreter). |
Execution Space | Shows where the buggy/faulty operation code is running or with what privilege level). |
Userland | The bugged code runs in an environment with privilege levels, but in unprivileged mode (e.g., ring 3 in x86 architecture). |
Kernel | The bugged code runs in an environment with privilege levels with access privileged instructions (e.g., ring 0 in x86 architecture). |
Bare-Metal | 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 Attributes | Definition |
Data Kind | Shows what the data value is. |
Secret | Known only by its more than one owners. |
Private | Known only by its only owner. |
Public | Published for all the world to see. |
Data State | Shows where the data come from. |
Stored | The data are from a permanent storage (e.g., file, database on a storage device). |
In Use | The data are from a volatile storage (e.g., RAM, cache memory). |
Transferred | The data are from another device via a network (e.g., connecting analog device or another computer). |