Operations | Definition |
Verify | Verify operation – Check data semantics (proper value/meaning) in order to accept (and possibly correct) or reject it. |
Correct | Correct operation – Modify data (assign new value, remove) to make it accurate. |
Operands | Definition |
Data | Data operand – The data value of an object – stored in object's memory. |
Causes | Definition |
Code Bug | Code 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 | |
Erroneous Code | |
Specification Bug | Specification 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. |
Under-Restrictive Policy | |
Over-Restrictive Policy | |
Data Fault | Data Fault/Error Type – The object data has harmed semantics or inconsistent or wrong value |
Invalid Data | Invalid Data fault/error – Data with harmed syntax due to sanitization errors. |
Consequences | Definition |
Data Error | Data Fault/Error Type – The object data has harmed semantics or inconsistent or wrong value |
Wrong Value | Wrong Value fault/error – The value of the data is not accurate (e.g., outside of a range). |
Inconsistent Value | Inconsistent Value fault/error – Data value does not correspond to the value of a related data (e.g., inconstancy between the value of a size variable and the actual buffer size). |
Type Error | Type Fault/Error Type – The the set or range of allowed values 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 buggy/faulty operation code is performed. |
Value | Value operation attribute – Checking data for a specific value (incl. NULL or list of values). |
Quantity | Quantity operation attribute – Checking data for a specific measurable value (e.g., size, time, rate, frequency). |
Range | Range operation attribute – Checking data are within a (min, max) interval. |
Data Type | Data Type operation attribute – A set of allowed values and the operations allowed over them. |
Other Rules | Other Rules operation attribute – Check data against other business logic. |
Source Code | Source Code operation attribute type – Shows where the buggy/faulty operation code is in the program – in what kind of software. |
Codebase | Codebase operation attribute – The operation is in the programmer's code - in the application itself. |
Third-Party | Third-Party operation attribute – The operation is in a third-party software. |
Standard Library | Standard Library operation attribute – The operation is in the standard library for a particular programming language. |
Compiler/Interpreter | Compiler/Interpreter operation attribute – The operation is in the language processor that allows execution or creates executables (compiler, assembler, interpreter). |
Execution Space | Execution Space operation attribute type – Shows where the buggy/faulty operation code is running or with what privilege level. |
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 operand attribute – Shows where the data come from. |
Entered | Entered operand attribute – The data are from a user via a user interface (e.g., input field of a dialog or a command prompt). |
Stored | Stored operand attribute – The data are from a permanent storage (e.g., file, database on a storage device). |
In Use | In Use operand attribute – The data are from a volatile storage (e.g., RAM, cache memory). |
Transferred | Transferred operand attribute – The data are from another device via a network (e.g., connecting analog device or another computer). |