Operations | Definition |
Verify | Verify operation – Check data semantics (e.g., proper value/meaning) in order to accept (and possibly correct) or reject it. |
Correct | Correct operation – Modify data (e.g., assign new value, remove) to make it accurate. |
Operands | Definition |
Data | Data operand – The data value of an object – i.e., the actual value that is stored in memory. |
Causes | Definition |
Code Bug | Code Bug type – An error in the implementation of an operation – proper operands over an improper operation. It is the roor cause of a security vulnerability. Must be fixed to resolve the vulnerability. |
Missing Code | Missing Code bug - The operation is misplaced entirely absent. |
Erroneous Code | Erroneous Code bug - There is a coding error in the implementation of the operation. |
Specification Bug | Specification Bug type – A defect in the metadata or algorithm of an operation – proper operands over an improper operation. It is the roor cause of a security vulnerability. It must be fixed to resolve the vulnerability. |
Under-Restrictive Policy | Accepts bad data. |
Over-Restrictive Policy | Rejects good data. |
Data Fault | Data Fault/Error type – The data of an object has harmed semantics or inconsistent or wrong value. |
Invalid Data | Invalid Data fault/error – The data has harmed syntax due to validation or sanitization errors. |
Consequences | Definition |
Data Error | Data Fault/Error type – The data of an object has harmed semantics or inconsistent or wrong value. |
Wrong Value | Wrong Value fault/error – The data value is not accurate (e.g., outside of a range). |
Inconsistent Value | Inconsistent Value fault/error – The data value does not correspond to related data value (e.g., inconstancy between the value of a size variable and the actual buffer size). |
Type Error | Type Fault/Error type – The set or range of allowed values of an entity is wrong or the operations allowed on them are wrong. |
Wrong Type | Wrong Type fault/error – A data type range or structure is not correct. |
Operations Attributes | Definition |
Mechanism | Mechanism operation attribute type – Shows how the operation the operation with a bug or faulty operand is performed. |
Value | Value operation attribute – The operation checks data for a specific value (incl. NULL or list of values). |
Quantity | Quantity operation attribute – The operation checks data for a specific measurable value (e.g., size, time, rate, frequency). |
Range | Range operation attribute – The operation checks data are within a (min, max) interval. |
Data Type | Data Type operation attribute – The operation checks data for a specific data type. |
Other Rules | Other Rules operation attribute – The operation checks data against other business logic. |
Source Code | Source Code operation attribute type – Shows where the code of the operation with a bug or faulty operand resides within the software, firmware, or hardware. |
Codebase | Codebase operation attribute – The operation is in the programmer's code - in the application itself. |
Third-Party | Third-Party operation attribute – The operation code is in a third-party source. |
Standard Library | Standard Library operation attribute – The operation code is in the standard library for a particular programming language. |
Compiler/Interpreter | Compiler/Interpreter operation attribute – The operation code is in the language processor that allows execution or creates executables (interpreter, compiler, assembler). |
Execution Space | Execution Space operation attribute type – Shows where the operation with a bug or faulty operand is executed and the privilege level at which it runs. |
Local | Local operation attribute – The bugged code runs in an environment with access control policy with limited (local user) permission. |
Admin | Admin operation attribute – The bugged code runs in an environment with access control policy with unlimited (admin user) permission. |
Bare-Metal | Bare-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 Attributes | Definition |
Data State | Data State operand attribute type – Shows where the data comes from. |
Entered | Entered operand attribute – Data are from a user via a user interface (e.g., input field of a dialog or a command prompt). |
Stored | Stored operand attribute – Data are from a permanent storage (e.g., file, database on a storage device); they are at rest. |
In Use | In Use operand attribute – Data are from a volatile storage (e.g., RAM, cache memory). |
Transferred | Transferred operand attribute – Data are from another device via a network (e.g., connecting analog device or another computer). |