AMD64 Code Segment
type: Image Code Segment
type: ProcessCodeSegment
type: NamedIndividual

ARIMA Model
type: Class
type: NamedIndividual
d3fend-id: D3A-AM
definition: An autoregressive integrated moving average (ARIMA) model is a generalization of an autoregressive moving average (ARMA) model.
kb-article: ## References Wikipedia. (n.d.). Autoregressive integrated moving average. [Link](https://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average)
synonym: Autoregressive Integrated Moving Average Model
subclass of: Time Series Analysis

ARM32 Code Segment
type: Image Code Segment
type: ProcessCodeSegment
type: NamedIndividual

ARMA Model
type: Time Series Analysis
type: Class
type: NamedIndividual
d3fend-id: D3-ARMA
definition: Autoregressive-moving-average (ARMA) models provide a parsimonious description of a (weakly) stationary stochastic process in terms of two polynomials, one for the autoregression (AR) and the second for the moving average (MA).
kb-article: ## References Wikipedia. (n.d.). Autoregressive-moving-average model. [Link](https://en.wikipedia.org/wiki/Autoregressive%E2%80%93moving-average_model)
synonym: Autoregressive moving average model
subclass of: Time Series Analysis

ASCII Domain Name
type: Domain Name
type: NamedIndividual

ATTACK Merged Thing
type: Class
subclass of: ATTACK Thing

Activity Dependency
type: Class
definition: An activity dependency is a dependency that indicates an activity has an activity or agent which relies on it in order to be functional.
subclass of: Dependency

Actor-Critic
type: Class
type: NamedIndividual
d3fend-id: D3A-AC
definition: Actor-Critic is a Temporal Difference(TD) version of Policy gradient. It has two networks: Actor and Critic. The actor decided which action should be taken and critic inform the actor how good was the action and how it should adjust. The learning of the actor is based on policy gradient approach. In comparison, critics evaluate the action produced by the actor by computing the value function.
kb-article: ## References The Actor-Critic Reinforcement Learning Algorithm. Medium. [Link](https://medium.com/intro-to-artificial-intelligence/the-actor-critic-reinforcement-learning-algorithm-c8095a655c14).
subclass of: Policy Gradient
subclass of: Temporal Difference Learning

Adaptive Resonance Theory Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-ARTC
definition: Adaptive Resonance Theory (ART) Clustering is a neural network algorithm used for clustering data and is open to new learning(i.e. adaptive) without discarding the previous or the old information(i.e. resonance).
kb-article: ## References GeeksforGeeks. (n.d.). Adaptive Resonance Theory (ART). [Link](https://www.geeksforgeeks.org/adaptive-resonance-theory-art/)
subclass of: ANN-based Clustering

Adobe PDF File 1.3
type: DocumentFile
type: NamedIndividual
may-contain: Javascript File

Agglomerative Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-AC
definition: Agglomerative Clustering is a type of hierarchical clustering method where data points are grouped together based on similarity. Initially, each data point is treated as an individual cluster, and then in successive iterations, the closest clusters are merged until only one large cluster remains or until a specified stopping criterion is met.
kb-article: ## How it works Agglomerative clustering starts with each data point as its own cluster. The algorithm then iterates, identifying the two clusters that are closest to each other based on a defined distance metric (e.g., Euclidean, Manhattan). These two clusters are then merged into a single cluster. This process continues iteratively, merging the closest pairs of clusters in each step until all data points are merged into a single cluster or until other stopping criteria are achieved. A dendrogram, which is a tree-like diagram, can be used to represent the sequence of merges, providing a visual representation of the hierarchical structure of data. ## Considerations - **Choice of Distance Metric**: The outcome can vary significantly depending on the chosen distance metric (e.g., Euclidean, Manhattan). - **Scalability**: Agglomerative clustering can be computationally intensive for large datasets. - **Sensitivity**: The method can be sensitive to outliers, which might affect the quality of the clusters formed. ## Key Test Considerations - **Unsupervised Learning**: - **Number of Clusters**: Determine an optimal number of clusters using the dendrogram and techniques like the elbow method. - **Cluster Analysis**: - **Silhouette Score**: Evaluates how similar an object is to its own cluster compared to other clusters. A higher silhouette score indicates that the object is well matched to its own cluster and poorly matched to neighboring clusters. - **Dunn Index**: Measures the ratio between the smallest distance between observations not in the same cluster to the largest intra-cluster distance. - **Hierarchical Clustering**: - **Cophenetic Correlation Coefficient**: Measures the correlation between the distances of points in feature space and their distances on the dendrogram. Helps assess the fidelity of the dendrogram in preserving pairwise distances between samples. - **Agglomerative Clustering**: - **Linkage Criteria**: Test different linkage criteria (e.g., single, …
subclass of: Hierarchical Clustering

Alethic Logic
type: Class
type: NamedIndividual
d3fend-id: D3A-AL
definition: Alethic logic is a modal logic that addresses the modalities of necessity and possibility.
kb-article: ## References 1. Alethic logic. (2023, June 4). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Modal_logic#Alethic_logic)
subclass of: Modal Logic

Alias
type: Class
definition: In macOS, an alias is a small file that represents another object in a local, remote, or removable[1] file system and provides a dynamic link to it; the target object may be moved or renamed, and the alias will still link to it (unless the original file is recreated; such an alias is ambiguous and how it is resolved depends on the version of macOS).
subclass of: Slow Symbolic Link

Analysis of Alternatives
type: Class
subclass of: Restriction
  on property: analyzes
  some values from: Portfolio Assessment
subclass of: Restriction
  on property: author
  some values from: Agent
subclass of: D3FEND Catalog Thing

Answer Set Programming
type: Class
type: NamedIndividual
d3fend-id: D3A-ASP
definition: Answer set programming is a form of declarative programming based on the stable model (answer set) semantics of logic programming.
kb-article: ## How it works Answer set programming (ASP) is oriented towards difficult (primarily NP-hard) search problems. The computational process employed in the design of many answer set solvers is an enhancement of the DPLL algorithm and, in principle, it always terminates (unlike Prolog query evaluation, which may lead to an infinite loop). In a more general sense, ASP includes all applications of answer sets to knowledge representation and the use of Prolog-style query evaluation for solving problems arising in these applications. ## References 1. Answer set programming. (2023, April 27). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Answer_set_programming)
synonym: ASP
subclass of: Logic Programming

Appliance
type: Class
subclass of: Product

Application Inventory Sensor
type: Class
type: NamedIndividual
definition: Collects information on applications on an endpoint.
monitors: Application
subclass of: Restriction
  on property: monitors
  some values from: Application
subclass of: Endpoint Sensor

Application Layer Link
type: Class
subclass of: Logical Link

Application Process Configuration
type: Class
definition: The current configuration of an application process, stored in memory. It may have been sourced from other types of application configurations, e.g. Application Configuration Files or Application Configuration Database Records.
subclass of: ApplicationConfiguration

Application Shim
type: Class
definition: An application shim adapts an application program to run on a version of a platform for which they were not originally created. Most commonly "Application Shimming" refers to use of The Windows Application Compatibility Toolkit (ACT) provides backward compatibility by simulating the behavior of older version of Windows.
subclass of: Shim

Association Rule Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-ARL
definition: Association rule learning is a rule-based machine learning method for discovering interesting relations between variables in large databases.
kb-article: ## References Association rule learning. (n.d.). Wikipedia. [Link](https://en.wikipedia.org/wiki/Association_rule_learning)
subclass of: Unsupervised Learning

Asymmetric Feature-based Transfer Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-AFTL
definition: Homogeneous (where the metrics are the same for both source and target) asymmetric transformation mapping transforms the source feature space to align with that of the target or the target to that of the source. This, in effect, bridges the feature space gap and reduces the problem into a homogeneous transfer problem when further distribution differences need to be corrected.
kb-article: ## References Day, O., & Khoshgoftaar, T.M. (2017). A survey on heterogeneous transfer learning. Journal of Big Data, 4(1), 29. [Link](https://doi.org/10.1186/s40537-017-0089-0).
subclass of: Homogenous Transfer Learning

Authenticate User
type: Class
type: NamedIndividual
authenticates: UserAccount
subclass of: Restriction
  on property: authenticates
  some values from: UserAccount
subclass of: SystemCall

Authentication Server
type: Class
definition: An authentication server provides a network service that applications use to authenticate the credentials, usually account names and passwords, of their users. When a client submits a valid set of credentials, it receives a cryptographic ticket that it can subsequently use to access various services. Major authentication algorithms include passwords, Kerberos, and public key encryption.
subclass of: Server

Authorization Log
type: Class
type: NamedIndividual
definition: A log of authorization events.
records: Network Resource Access
subclass of: Restriction
  on property: records
  some values from: Network Resource Access
subclass of: Log

Autoencoding
type: Class
type: NamedIndividual
d3fend-id: D3A-AUT
definition: Autoencoders are specific type of deep learning architecture used for learning representation of data, typically for the purpose of dimensionality reduction. This is achieved by designing deep learning architecture that aims that copying input layer at its output layer.
kb-article: ## References SOCR. (n.d.). ABIDE Autoencoder. [Link](https://socr.umich.edu/HTML5/ABIDE_Autoencoder/#:~:text=In%20simple%20words%2C%20autoencoders%20are,layer%20at%20its%20output%20layer.)
subclass of: Dimension Reduction

Autoregressive Model
type: Class
type: NamedIndividual
d3fend-id: D3A-AM
definition: An autoregressive (AR) model is a representation of a type of random process; as such, it is used to describe certain time-varying processes in nature, economics, behavior, etc.
kb-article: ## References Wikipedia. (n.d.). Autoregressive model. [Link](https://en.wikipedia.org/wiki/Autoregressive_model)
synonym: AR Model
subclass of: Time Series Analysis

BERT
type: Class
type: NamedIndividual
d3fend-id: D3A-BER
definition: Bidirectional Encoder Representations from Transformers (BERT) is based on a deep learning model in which every output element is connected to every input element, and the weightings between them are dynamically calculated based upon their connection.
kb-article: ## References BERT (language model). (n.d.). In TechTarget. [Link](https://www.techtarget.com/searchenterpriseai/definition/BERT-language-model) BERT (language model). (n.d.). In Wikipedia. [Link](https://en.wikipedia.org/wiki/BERT_(language_model))
synonym: Bidirectional Encoder Representations from Transformers
subclass of: Transformer-based Learning

BSD Process
type: Process
type: NamedIndividual

Barcode Scanner Input Device
type: Class
definition: A barcode reader (or barcode scanner) is an optical scanner that can read printed barcodes, decode the data contained in the barcode and send the data to a computer. Like a flatbed scanner, it consists of a light source, a lens and a light sensor translating for optical impulses into electrical signals. Additionally, nearly all barcode readers contain decoder circuitry that can analyze the barcode's image data provided by the sensor and sending the barcode's content to the scanner's output port.
subclass of: Image Scanner Input Device
alternative label: Barcode Reader

Bash Script File
type: ExecutableScript
type: NamedIndividual

Bayes Optimal Classifier
type: Class
type: NamedIndividual
d3fend-id: D3A-BOC
definition: A probabilistic model that makes the most probable prediction for a new example.
kb-article: ## References Bayes Optimal Classifier. Machine Learning Mastery. [Link](https://machinelearningmastery.com/bayes-optimal-classifier/). Ensemble learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Ensemble_learning).
subclass of: Ensemble Learning

Bayesian Estimation
type: Class
type: NamedIndividual
d3fend-id: D3A-BE
definition: A Bayes estimator or a Bayes action is an estimator or decision rule that minimizes the posterior expected value of a loss function (i.e., the posterior expected loss).
kb-article: ## References Wikipedia. (n.d.). Bayes estimator. [Link](https://en.wikipedia.org/wiki/Bayes_estimator)
subclass of: Bayesian Method

Bayesian Hypothesis Testing
type: Class
type: NamedIndividual
d3fend-id: D3A-BHT
definition: Bayesian hypothesis testing can be framed as a special case of model comparison where a model refers to a likelihood function and a prior distribution.
kb-article: ## How it works Given two competing hypotheses and some relevant data, Bayesian hypothesis testing begins by specifying separate prior distributions to quantitatively describe each hypothesis. The combination of the likelihood function for the observed data with each of the prior distributions yields hypothesis-specific models. For each of the hypothesis-specific models, averaging (ie, integrating) the likelihood with respect to the prior distribution across the entire parameter space yields the probability of the data under the model and, therefore, the corresponding hypothesis. This quantity is more commonly referred to as the marginal likelihood and represents the average fit of the model to the data. The ratio of the marginal likelihoods for both hypothesis-specific models is known as the Bayes factor. ## References Baig, S. A., PhD. (2020). Bayesian Inference: An Introduction to Hypothesis Testing Using Bayes Factors. Nicotine & Tobacco Research, 22(7), 1244-1246. [Link](https://academic.oup.com/ntr/article/22/7/1244/5613971)
subclass of: Bayesian Method

Bayesian Linear Regression Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-BLRL
definition: A supervised learning method that builds a Bayesian linear regression model using training data.
kb-article: ## References Wikipedia. (n.d.). Bayesian linear regression. [Link](https://en.wikipedia.org/wiki/Bayesian_linear_regression)
subclass of: Regression Analysis Learning

Bayesian Model Averaging
type: Class
type: NamedIndividual
d3fend-id: D3A-BMA
definition: A parameter estimate (or a prediction of new observations) obtained by averaging the estimates (or predictions) of the different models under consideration, each weighted by its model probability.
kb-article: ## References Ensemble learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Ensemble_learning). Bayesian model average: A parameter estimation approach to model agnostic ensemble learning. (2019). Journal of Machine Learning for Modeling and Computing, 1(2), 61-70. [Link](https://journals.sagepub.com/doi/full/10.1177/2515245919898657#:~:text=Bayesian%20model%20average%3A%20A%20parameter,weighted%20by%20its%20model%20probability).
subclass of: Ensemble Learning

Bayesian Model Combination
type: Class
type: NamedIndividual
d3fend-id: D3A-BMC
definition: Bayesian model combination (BMC) is an algorithmic correction to Bayesian model averaging (BMA). Instead of sampling each model in the ensemble individually, it samples from the space of possible ensembles (with model weights drawn randomly from a Dirichlet distribution having uniform parameters)
kb-article: ## References Ensemble learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Ensemble_learning). Shultz, K. M., & Peterson, L. E. (2011). Model-averaged confidence intervals for ensemble learning. In *International Joint Conference on Neural Networks* (pp. 2677-2684). [Link](https://axon.cs.byu.edu/papers/Kristine.ijcnn2011.pdf).
subclass of: Ensemble Learning

Binary Classification
type: Class
subclass of: Classifying

Boolean Expression Matching
type: Class
type: NamedIndividual
d3fend-id: D3A-BEM
definition: Boolean expression matching produces a Boolean truth value for a given boolean expression and assignment of values to variables in the expression.
kb-article: ## How it works A Boolean expression is an expression used in programming languages that produces a Boolean value when evaluated. A Boolean value is either true or false. A Boolean expression may be composed of a combination of the Boolean constants true or false, Boolean-typed variables, Boolean-valued operators, and Boolean-valued functions. Boolean expressions correspond to propositional formulas in logic and are a special case of Boolean circuits. ## References 1. Boolean expression. (2022, April 25). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Boolean_expression) 2. Boolean algebra. (2022, May 19). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Boolean_expression)
subclass of: Logical Rules

Boosting
type: Class
type: NamedIndividual
d3fend-id: D3A-BOO
definition: Boosting is a sequential process where each subsequent model attempts to correct the errors of the previous model
kb-article: ## How it works Boosting consists of using sequentially weak learners where each iteration’s training focuses on previously misclassified instances in order to improve on the previous iteration. This process is continued iteratively until the final prediction is made by aggregating the previous predictions. ## Considerations Boosting can be computationally expensive, prone to overfitting, and slower to train compared to other ensemble methods. There are three main types of Boosting algorithms - Adaptive Boosting Adaptive Boosting (sometimes called AdaBoost) works by adding equal importance to each piece of a dataset and running it through the base learning algorithms. Every algorithm that errors, the boosting algorithm assigns a higher importance to. This continues until an acceptable level of confidence is reached. - Gradient Boosting Gradient Boosting starts by training multiple models simultaneously to gather a strong estimate of strength to build new base learning algorithms. - XGBoosting XGBoosting is a scalable tree boosting model. Using decision trees, weight is assigned to each variable and put into a decision tree. Outputs that are classified by the algorithm as wrong or weak are put into a second decision tree and the results form a stronger model. ## References Sciencedirect. (n.d.). Semi-supervised learning: An overview. [Link](https://www.sciencedirect.com/science/article/pii/S1319157823000228)
subclass of: Ensemble Learning

Bucket of Models
type: Class
type: NamedIndividual
d3fend-id: D3A-BOM
definition: A "bucket of models" is an ensemble technique in which a model selection algorithm is used to choose the best model for each problem. When tested with only one problem, a bucket of models can produce no better results than the best model in the set, but when evaluated across many problems, it will typically produce much better results, on average, than any model in the set.
kb-article: ## References Ensemble learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Ensemble_learning).
subclass of: Ensemble Learning

Business Communication Platform Client
type: Class
definition: Client software to enable the process of sharing information between employees within and outside a company. Business communication encompasses topics such as marketing, brand management, customer relations, consumer behavior, advertising, public relations, corporate communication, community engagement, reputation management, interpersonal communication, employee engagement, and event management. It is closely related to the fields of professional communication and technical communication.
subclass of: Collaborative Software

C4.5
type: Class
type: NamedIndividual
d3fend-id: D3A-C4.
definition: C4.5 is an algorithm that is strongly based off ID3. It creates decision trees the same way as ID3. C4.5 improves on several aspects of ID3, including handling discreet variables, handling training data with missing values, and has the ability to automatically prune the decision trees it creates.
kb-article: ## References C4.5 algorithm. Wikipedia. [Link](https://en.wikipedia.org/wiki/C4.5_algorithm).
subclass of: Decision Tree

C5.0
type: Class
type: NamedIndividual
d3fend-id: D3A-C5.
definition: C5.0 is the next version of C4.5, which in turn is the upgrade from ID3. The only difference between C5.0 and C4.5 is some improvements made to C5.0.
kb-article: ## References C4.5 algorithm. Wikipedia. [Link](https://en.wikipedia.org/wiki/C4.5_algorithm).
subclass of: Decision Tree

CA Certificate File
type: Class
definition: A file containing a digital certificate issued by a certificate authority (CA). Certificate authorities store, issue, and sign digital certificates used as part of the public key infrastructure.
subclass of: CertificateFile

Exploitation of Transient Instruction Execution
type: Common Attack Pattern
type: Class
type: NamedIndividual
capec-id: CAPEC-553
subclass of: Common Attack Pattern

Sensitive Cookie Without 'HttpOnly' Flag
type: Class
cwe-id: CWE-1004
subclass of: Incorrect Permission Assignment for Critical Resource

Insufficient Visual Distinction of Homoglyphs Presented to User
type: Class
cwe-id: CWE-1007
subclass of: User Interface (UI) Misrepresentation of Critical Information

Struts: Duplicate Validation Forms
type: Class
cwe-id: CWE-102
subclass of: Improper Use of Validation Framework
subclass of: Use of Multiple Resources with Duplicate Identifier

Improper Restriction of Rendered UI Layers or Frames
type: Class
cwe-id: CWE-1021
subclass of: Unintended Proxy or Intermediary ('Confused Deputy')
subclass of: User Interface (UI) Misrepresentation of Critical Information

Use of Web Link to Untrusted Target with window.opener Access
type: Class
cwe-id: CWE-1022
subclass of: Incorrect Privilege Assignment

Comparison of Incompatible Types
type: Class
cwe-id: CWE-1024
subclass of: Incorrect Comparison

Struts: Incomplete validate() Method Definition
type: Class
cwe-id: CWE-103
subclass of: CWE-573

Processor Optimization Removal or Modification of Security-critical Code
type: Class
cwe-id: CWE-1037
subclass of: Insecure Automated Optimizations

Automated Recognition Mechanism with Inadequate Detection or Handling of Adversarial Input Perturbations
type: Class
cwe-id: CWE-1039
subclass of: CWE-693
subclass of: Incorrect Comparison

Struts: Form Bean Does Not Extend Validation Class
type: Class
cwe-id: CWE-104
subclass of: CWE-573

Use of Redundant Code
type: Class
cwe-id: CWE-1041
subclass of: CWE-710

Static Member Data Element outside of a Singleton Class Element
type: Class
cwe-id: CWE-1042
subclass of: Inefficient CPU Computation

Data Element Aggregating an Excessively Large Number of Non-Primitive Elements
type: Class
cwe-id: CWE-1043
subclass of: Excessively Complex Data Representation

Architecture with Number of Horizontal Layers Outside of Expected Range
type: Class
cwe-id: CWE-1044
subclass of: CWE-710

Parent Class with a Virtual Destructor and a Child Class without a Virtual Destructor
type: Class
cwe-id: CWE-1045
subclass of: Insufficient Adherence to Expected Conventions

Creation of Immutable Text Using String Concatenation
type: Class
cwe-id: CWE-1046
subclass of: Inefficient CPU Computation

Modules with Circular Dependencies
type: Class
cwe-id: CWE-1047
subclass of: CWE-1120

Invokable Control Element with Large Number of Outward Calls
type: Class
cwe-id: CWE-1048
subclass of: CWE-710

Excessive Data Query Operations in a Large Data Table
type: Class
cwe-id: CWE-1049
subclass of: Inefficient CPU Computation

Struts: Form Field Without Validator
type: Class
cwe-id: CWE-105
subclass of: Improper Use of Validation Framework

Excessive Platform Resource Consumption within a Loop
type: Class
cwe-id: CWE-1050
subclass of: CWE-405

Initialization with Hard-Coded Network Resource Configuration Data
type: Class
cwe-id: CWE-1051
subclass of: Improper Initialization

Excessive Use of Hard-Coded Literals in Initialization
type: Class
cwe-id: CWE-1052
subclass of: Improper Initialization

Missing Documentation for Design
type: Class
cwe-id: CWE-1053
subclass of: Insufficient Technical Documentation

Invocation of a Control Element at an Unnecessarily Deep Horizontal Layer
type: Class
cwe-id: CWE-1054
subclass of: Insufficient Encapsulation

Multiple Inheritance from Concrete Classes
type: Class
cwe-id: CWE-1055
subclass of: Excessively Complex Data Representation

Invokable Control Element with Variadic Parameters
type: Class
cwe-id: CWE-1056
subclass of: CWE-1120

Data Access Operations Outside of Expected Data Manager Component
type: Class
cwe-id: CWE-1057
subclass of: Insufficient Encapsulation

Invokable Control Element in Multi-Thread Context with non-Final Static Storable or Member Element
type: Class
cwe-id: CWE-1058
subclass of: Improper Synchronization

Struts: Plug-in Framework not in Use
type: Class
cwe-id: CWE-106
subclass of: Improper Use of Validation Framework

Excessive Number of Inefficient Server-Side Data Accesses
type: Class
cwe-id: CWE-1060
subclass of: CWE-1120

Parent Class with References to Child Class
type: Class
cwe-id: CWE-1062
subclass of: Insufficient Encapsulation

Creation of Class Instance within a Static Code Block
type: Class
cwe-id: CWE-1063
subclass of: Inefficient CPU Computation

Invokable Control Element with Signature Containing an Excessive Number of Parameters
type: Class
cwe-id: CWE-1064
subclass of: CWE-1120

Runtime Resource Management Control Element in a Component Built to Run on Application Servers
type: Class
cwe-id: CWE-1065
subclass of: CWE-710

Missing Serialization Control Element
type: Class
cwe-id: CWE-1066
subclass of: CWE-710

Excessive Execution of Sequential Searches of Data Resource
type: Class
cwe-id: CWE-1067
subclass of: Inefficient CPU Computation

Inconsistency Between Implementation and Documented Design
type: Class
cwe-id: CWE-1068
subclass of: CWE-710

Empty Exception Block
type: Class
cwe-id: CWE-1069
subclass of: Empty Code Block

Struts: Unused Validation Form
type: Class
cwe-id: CWE-107
subclass of: Irrelevant Code

Serializable Data Element Containing non-Serializable Item Elements
type: Class
cwe-id: CWE-1070
subclass of: CWE-710

Data Resource Access without Use of Connection Pooling
type: Class
cwe-id: CWE-1072
subclass of: CWE-405

Non-SQL Invokable Control Element with Excessive Number of Data Resource Accesses
type: Class
cwe-id: CWE-1073
subclass of: CWE-405

Class with Excessively Deep Inheritance
type: Class
cwe-id: CWE-1074
subclass of: Excessively Complex Data Representation

Unconditional Control Flow Transfer outside of Switch Block
type: Class
cwe-id: CWE-1075
subclass of: CWE-1120

Floating Point Comparison with Incorrect Operator
type: Class
cwe-id: CWE-1077
subclass of: Incorrect Comparison

Parent Class without Virtual Destructor Method
type: Class
cwe-id: CWE-1079
subclass of: Insufficient Adherence to Expected Conventions

Struts: Unvalidated Action Form
type: Class
cwe-id: CWE-108
subclass of: Improper Use of Validation Framework

Source Code File with Excessive Number of Lines of Code
type: Class
cwe-id: CWE-1080
subclass of: CWE-1120

Class Instance Self Destruction Control Element
type: Class
cwe-id: CWE-1082
subclass of: Insufficient Adherence to Expected Conventions

Data Access from Outside Expected Data Manager Component
type: Class
cwe-id: CWE-1083
subclass of: Insufficient Encapsulation

Invokable Control Element with Excessive File or Data Access Operations
type: Class
cwe-id: CWE-1084
subclass of: CWE-405

Invokable Control Element with Excessive Volume of Commented-out Code
type: Class
cwe-id: CWE-1085
subclass of: CWE-1078

Class with Excessive Number of Child Classes
type: Class
cwe-id: CWE-1086
subclass of: Excessively Complex Data Representation

Class with Virtual Method without a Virtual Destructor
type: Class
cwe-id: CWE-1087
subclass of: Insufficient Adherence to Expected Conventions

Synchronous Access of Remote Resource without Timeout
type: Class
cwe-id: CWE-1088
subclass of: Incorrect Synchronization

Large Data Table with Excessive Number of Indices
type: Class
cwe-id: CWE-1089
subclass of: CWE-405

Struts: Validator Turned Off
type: Class
cwe-id: CWE-109
subclass of: Improper Use of Validation Framework

Method Containing Access of a Member Element from Another Class
type: Class
cwe-id: CWE-1090
subclass of: Insufficient Encapsulation

Use of Object without Invoking Destructor Method
type: Class
cwe-id: CWE-1091
subclass of: Insufficient Adherence to Expected Conventions
subclass of: Missing Release of Resource after Effective Lifetime

Use of Same Invokable Control Element in Multiple Architectural Layers
type: Class
cwe-id: CWE-1092
subclass of: CWE-710

Excessive Index Range Scan for a Data Resource
type: Class
cwe-id: CWE-1094
subclass of: CWE-405

Loop Condition Value Update within the Loop
type: Class
cwe-id: CWE-1095
subclass of: CWE-1120

Singleton Class Instance Creation without Proper Locking or Synchronization
type: Class
cwe-id: CWE-1096
subclass of: Missing Synchronization

Persistent Storable Data Element without Associated Comparison Control Element
type: Class
cwe-id: CWE-1097
subclass of: Insufficient Adherence to Expected Conventions

Data Element containing Pointer Item without Proper Copy Control Element
type: Class
cwe-id: CWE-1098
subclass of: Insufficient Adherence to Expected Conventions

Inconsistent Naming Conventions for Identifiers
type: Class
cwe-id: CWE-1099
subclass of: CWE-1078

ASP.NET Misconfiguration: Creating Debug Binary
type: Class
cwe-id: CWE-11
subclass of: Active Debug Code

Struts: Validator Without Form Field
type: Class
cwe-id: CWE-110
subclass of: Irrelevant Code

Insufficient Isolation of System-Dependent Functions
type: Class
cwe-id: CWE-1100
subclass of: Insufficient Encapsulation

Reliance on Runtime Component in Generated Code
type: Class
cwe-id: CWE-1101
subclass of: CWE-710

Reliance on Machine-Dependent Data Representation
type: Class
cwe-id: CWE-1102
subclass of: Reliance on Undefined, Unspecified, or Implementation-Defined Behavior

Use of Platform-Dependent Third Party Components
type: Class
cwe-id: CWE-1103
subclass of: Reliance on Undefined, Unspecified, or Implementation-Defined Behavior

Use of Unmaintained Third Party Components
type: Class
cwe-id: CWE-1104
subclass of: Reliance on Insufficiently Trustworthy Component

Insufficient Use of Symbolic Constants
type: Class
cwe-id: CWE-1106
subclass of: CWE-1078

Insufficient Isolation of Symbolic Constant Definitions
type: Class
cwe-id: CWE-1107
subclass of: CWE-1078

Excessive Reliance on Global Variables
type: Class
cwe-id: CWE-1108
subclass of: Insufficient Adherence to Expected Conventions

Use of Same Variable for Multiple Purposes
type: Class
cwe-id: CWE-1109
subclass of: CWE-1078

Direct Use of Unsafe JNI
type: Class
cwe-id: CWE-111
subclass of: Use of Low-Level Functionality

Incomplete Design Documentation
type: Class
cwe-id: CWE-1110
subclass of: Insufficient Technical Documentation

Incomplete I/O Documentation
type: Class
cwe-id: CWE-1111
subclass of: Insufficient Technical Documentation

Incomplete Documentation of Program Execution
type: Class
cwe-id: CWE-1112
subclass of: Insufficient Technical Documentation

Inappropriate Comment Style
type: Class
cwe-id: CWE-1113
subclass of: CWE-1078

Inappropriate Whitespace Style
type: Class
cwe-id: CWE-1114
subclass of: CWE-1078

Source Code Element without Standard Prologue
type: Class
cwe-id: CWE-1115
subclass of: CWE-1078

Inaccurate Comments
type: Class
cwe-id: CWE-1116
subclass of: CWE-1078

Callable with Insufficient Behavioral Summary
type: Class
cwe-id: CWE-1117
subclass of: CWE-1078

Insufficient Documentation of Error Handling Techniques
type: Class
cwe-id: CWE-1118
subclass of: Insufficient Technical Documentation

Excessive Use of Unconditional Branching
type: Class
cwe-id: CWE-1119
subclass of: CWE-1120

Missing XML Validation
type: Class
cwe-id: CWE-112
subclass of: Improper Validation of Syntactic Correctness of Input

Excessive McCabe Cyclomatic Complexity
type: Class
cwe-id: CWE-1121
subclass of: CWE-1120

Excessive Halstead Complexity
type: Class
cwe-id: CWE-1122
subclass of: CWE-1120

Excessive Use of Self-Modifying Code
type: Class
cwe-id: CWE-1123
subclass of: CWE-1120

Excessively Deep Nesting
type: Class
cwe-id: CWE-1124
subclass of: CWE-1120

Excessive Attack Surface
type: Class
cwe-id: CWE-1125
subclass of: CWE-1120

Declaration of Variable with Unnecessarily Wide Scope
type: Class
cwe-id: CWE-1126
subclass of: CWE-710

Compilation with Insufficient Warnings or Errors
type: Class
cwe-id: CWE-1127
subclass of: CWE-710

Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting')
type: Class
cwe-id: CWE-113
subclass of: Interpretation Conflict
subclass of: Improper Neutralization of CRLF Sequences ('CRLF Injection')

Process Control
type: Class
cwe-id: CWE-114
subclass of: External Control of File Name or Path

Misinterpretation of Input
type: Class
cwe-id: CWE-115
subclass of: Interpretation Conflict

Improper Output Neutralization for Logs
type: Class
cwe-id: CWE-117
subclass of: Improper Encoding or Escaping of Output

ASP.NET Misconfiguration: Improper Model Validation
type: Class
cwe-id: CWE-1174
subclass of: Improper Use of Validation Framework

DMA Device Enabled Too Early in Boot Phase
type: Class
cwe-id: CWE-1190
subclass of: Incorrect Behavior Order

On-Chip Debug and Test Interface With Improper Access Control
type: Class
cwe-id: CWE-1191
subclass of: CWE-284

System-on-Chip (SoC) Using Components without Unique, Immutable Identifiers
type: Class
cwe-id: CWE-1192
subclass of: Violation of Secure Design Principles

Power-On of Untrusted Execution Core Before Enabling Fabric Access Control
type: Class
cwe-id: CWE-1193
subclass of: Incorrect Behavior Order

ASP.NET Misconfiguration: Missing Custom Error Page
type: Class
cwe-id: CWE-12
subclass of: Missing Custom Error Page

Failure to Disable Reserved Bits
type: Class
cwe-id: CWE-1209
subclass of: CWE-710

Stack-based Buffer Overflow
type: Class
cwe-id: CWE-121
subclass of: Out-of-bounds Write
subclass of: Access of Memory Location After End of Buffer

Heap-based Buffer Overflow
type: Class
cwe-id: CWE-122
subclass of: Out-of-bounds Write
subclass of: Access of Memory Location After End of Buffer

Incorrect Register Defaults or Module Parameters
type: Class
cwe-id: CWE-1221
subclass of: Improper Initialization

Insufficient Granularity of Address Regions Protected by Register Locks
type: Class
cwe-id: CWE-1222
subclass of: Insufficient Granularity of Access Control

Race Condition for Write-Once Attributes
type: Class
cwe-id: CWE-1223
subclass of: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

Improper Restriction of Write-Once Bit Fields
type: Class
cwe-id: CWE-1224
subclass of: CWE-284

Write-what-where Condition
type: Class
cwe-id: CWE-123
subclass of: Out-of-bounds Write

Improper Prevention of Lock Bit Modification
type: Class
cwe-id: CWE-1231
subclass of: CWE-284

Improper Lock Behavior After Power State Transition
type: Class
cwe-id: CWE-1232
subclass of: Improper Locking

Security-Sensitive Hardware Controls with Missing Lock Bit Protection
type: Class
cwe-id: CWE-1233
subclass of: CWE-284
subclass of: Improper Locking

Hardware Internal or Debug Modes Allow Override of Locks
type: Class
cwe-id: CWE-1234
subclass of: Improper Locking

Incorrect Use of Autoboxing and Unboxing for Performance Critical Operations
type: Class
cwe-id: CWE-1235
subclass of: Uncontrolled Resource Consumption

Improper Neutralization of Formula Elements in a CSV File
type: Class
cwe-id: CWE-1236
subclass of: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')

Improper Zeroization of Hardware Register
type: Class
cwe-id: CWE-1239
subclass of: Sensitive Information in Resource Not Removed Before Reuse

Buffer Underwrite ('Buffer Underflow')
type: Class
cwe-id: CWE-124
subclass of: Access of Memory Location Before Start of Buffer
subclass of: Out-of-bounds Write

Use of a Cryptographic Primitive with a Risky Implementation
type: Class
cwe-id: CWE-1240
subclass of: Use of a Broken or Risky Cryptographic Algorithm

Use of Predictable Algorithm in Random Number Generator
type: Class
cwe-id: CWE-1241
subclass of: Use of Insufficiently Random Values

Inclusion of Undocumented Features or Chicken Bits
type: Class
cwe-id: CWE-1242
subclass of: CWE-284

Sensitive Non-Volatile Information Not Protected During Debug
type: Class
cwe-id: CWE-1243
subclass of: Improper Physical Access Control

Internal Asset Exposed to Unsafe Debug Access Level or State
type: Class
cwe-id: CWE-1244
subclass of: Incorrect Authorization

Improper Finite State Machines (FSMs) in Hardware Logic
type: Class
cwe-id: CWE-1245
subclass of: Incorrect Provision of Specified Functionality

Improper Write Handling in Limited-write Non-Volatile Memories
type: Class
cwe-id: CWE-1246
subclass of: Uncontrolled Resource Consumption

Improper Protection Against Voltage and Clock Glitches
type: Class
cwe-id: CWE-1247
subclass of: Improper Handling of Physical or Environmental Conditions

Semiconductor Defects in Hardware Logic with Security-Sensitive Implications
type: Class
cwe-id: CWE-1248
subclass of: CWE-693

Application-Level Admin Tool with Inconsistent View of Underlying Operating System
type: Class
cwe-id: CWE-1249
subclass of: Improper Preservation of Consistency Between Independent Representations of Shared State

Mirrored Regions with Different Values
type: Class
cwe-id: CWE-1251
subclass of: Improper Preservation of Consistency Between Independent Representations of Shared State

CPU Hardware Not Configured to Support Exclusivity of Write and Execute Operations
type: Class
cwe-id: CWE-1252
subclass of: CWE-284

Incorrect Selection of Fuse Values
type: Class
cwe-id: CWE-1253
subclass of: CWE-693

Incorrect Comparison Logic Granularity
type: Class
cwe-id: CWE-1254
subclass of: Observable Timing Discrepancy
subclass of: Incorrect Comparison

Comparison Logic is Vulnerable to Power Side-Channel Attacks
type: Class
cwe-id: CWE-1255
subclass of: Improper Protection of Physical Side Channels

Improper Restriction of Software Interfaces to Hardware Features
type: Class
cwe-id: CWE-1256
subclass of: Improper Authorization

Improper Access Control Applied to Mirrored or Aliased Memory Regions
type: Class
cwe-id: CWE-1257
subclass of: CWE-284

Exposure of Sensitive System Information Due to Uncleared Debug Information
type: Class
cwe-id: CWE-1258
subclass of: Exposure of Sensitive Information to an Unauthorized Actor
subclass of: Improper Removal of Sensitive Information Before Storage or Transfer

Improper Restriction of Security Token Assignment
type: Class
cwe-id: CWE-1259
subclass of: CWE-284

Buffer Over-read
type: Class
cwe-id: CWE-126
subclass of: Out-of-bounds Read
subclass of: Access of Memory Location After End of Buffer

Improper Handling of Overlap Between Protected Memory Ranges
type: Class
cwe-id: CWE-1260
subclass of: CWE-284

Improper Handling of Single Event Upsets
type: Class
cwe-id: CWE-1261
subclass of: Improper Handling of Physical or Environmental Conditions

Improper Access Control for Register Interface
type: Class
cwe-id: CWE-1262
subclass of: CWE-284

Hardware Logic with Insecure De-Synchronization between Control and Data Channels
type: Class
cwe-id: CWE-1264
subclass of: Incorrect Synchronization

Unintended Reentrant Invocation of Non-reentrant Code Via Nested Calls
type: Class
cwe-id: CWE-1265
subclass of: CWE-691

Improper Scrubbing of Sensitive Data from Decommissioned Device
type: Class
cwe-id: CWE-1266
subclass of: Improper Resource Shutdown or Release

Policy Uses Obsolete Encoding
type: Class
cwe-id: CWE-1267
subclass of: CWE-284

Policy Privileges are not Assigned Consistently Between Control and Data Agents
type: Class
cwe-id: CWE-1268
subclass of: CWE-284

Product Released in Non-Release Configuration
type: Class
cwe-id: CWE-1269
subclass of: CWE-693

Buffer Under-read
type: Class
cwe-id: CWE-127
subclass of: Out-of-bounds Read
subclass of: Access of Memory Location Before Start of Buffer

Generation of Incorrect Security Tokens
type: Class
cwe-id: CWE-1270
subclass of: CWE-284

Uninitialized Value on Reset for Registers Holding Security Settings
type: Class
cwe-id: CWE-1271
subclass of: Missing Initialization of Resource

Sensitive Information Uncleared Before Debug/Power State Transition
type: Class
cwe-id: CWE-1272
subclass of: Sensitive Information in Resource Not Removed Before Reuse

Device Unlock Credential Sharing
type: Class
cwe-id: CWE-1273
subclass of: Exposure of Sensitive Information to an Unauthorized Actor

Improper Access Control for Volatile Memory Containing Boot Code
type: Class
cwe-id: CWE-1274
subclass of: CWE-284

Sensitive Cookie with Improper SameSite Attribute
type: Class
cwe-id: CWE-1275
subclass of: Improper Restriction of Communication Channel to Intended Endpoints

Hardware Child Block Incorrectly Connected to Parent System
type: Class
cwe-id: CWE-1276
subclass of: CWE-284

Firmware Not Updateable
type: Class
cwe-id: CWE-1277
subclass of: Reliance on Component That is Not Updateable

Missing Protection Against Hardware Reverse Engineering Using Integrated Circuit (IC) Imaging Techniques
type: Class
cwe-id: CWE-1278
subclass of: CWE-693

Cryptographic Operations are run Before Supporting Units are Ready
type: Class
cwe-id: CWE-1279
subclass of: Improper Initialization

Wrap-around Error
type: Class
cwe-id: CWE-128
subclass of: Incorrect Calculation

Access Control Check Implemented After Asset is Accessed
type: Class
cwe-id: CWE-1280
subclass of: CWE-284
subclass of: Incorrect Behavior Order

Sequence of Processor Instructions Leads to Unexpected Behavior
type: Class
cwe-id: CWE-1281
subclass of: CWE-691

Assumed-Immutable Data is Stored in Writable Memory
type: Class
cwe-id: CWE-1282
subclass of: CWE-668

Mutable Attestation or Measurement Reporting Data
type: Class
cwe-id: CWE-1283
subclass of: CWE-284

Improper Validation of Specified Type of Input
type: Class
cwe-id: CWE-1287
subclass of: Improper Input Validation

Improper Validation of Consistency within Input
type: Class
cwe-id: CWE-1288
subclass of: Improper Input Validation

Improper Validation of Unsafe Equivalence in Input
type: Class
cwe-id: CWE-1289
subclass of: Improper Input Validation

Improper Validation of Array Index
type: Class
cwe-id: CWE-129
subclass of: Improper Validation of Specified Index, Position, or Offset in Input

Incorrect Decoding of Security Identifiers
type: Class
cwe-id: CWE-1290
subclass of: CWE-284

Public Key Re-Use for Signing both Debug and Production Code
type: Class
cwe-id: CWE-1291
subclass of: CWE-693

Incorrect Conversion of Security Identifiers
type: Class
cwe-id: CWE-1292
subclass of: CWE-284

Missing Source Correlation of Multiple Independent Data
type: Class
cwe-id: CWE-1293
subclass of: CWE-345

Debug Messages Revealing Unnecessary Information
type: Class
cwe-id: CWE-1295
subclass of: Exposure of Sensitive Information to an Unauthorized Actor

Incorrect Chaining or Granularity of Debug Components
type: Class
cwe-id: CWE-1296
subclass of: CWE-284

Unprotected Confidential Information on Device is Accessible by OSAT Vendors
type: Class
cwe-id: CWE-1297
subclass of: Improper Authorization

Hardware Logic Contains Race Conditions
type: Class
cwe-id: CWE-1298
subclass of: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

Missing Protection Mechanism for Alternate Hardware Interface
type: Class
cwe-id: CWE-1299
subclass of: Authentication Bypass Using an Alternate Path or Channel
subclass of: Unprotected Alternate Channel

ASP.NET Misconfiguration: Password in Configuration File
type: Class
cwe-id: CWE-13
subclass of: Password in Configuration File

Improper Handling of Length Parameter Inconsistency
type: Class
cwe-id: CWE-130
subclass of: Improper Handling of Inconsistent Structural Elements

Missing Security Identifier
type: Class
cwe-id: CWE-1302
subclass of: Insecure Security Identifier Mechanism

Non-Transparent Sharing of Microarchitectural Resources
type: Class
cwe-id: CWE-1303
subclass of: Improper Isolation of Shared Resources on System-on-a-Chip (SoC)
subclass of: Observable Discrepancy

Improperly Preserved Integrity of Hardware Configuration State During a Power Save/Restore Operation
type: Class
cwe-id: CWE-1304
subclass of: CWE-284

Missing Ability to Patch ROM Code
type: Class
cwe-id: CWE-1310
subclass of: Reliance on Component That is Not Updateable

Improper Translation of Security Attributes by Fabric Bridge
type: Class
cwe-id: CWE-1311
subclass of: CWE-284

Missing Protection for Mirrored Regions in On-Chip Fabric Firewall
type: Class
cwe-id: CWE-1312
subclass of: CWE-284

Hardware Allows Activation of Test or Debug Logic at Runtime
type: Class
cwe-id: CWE-1313
subclass of: CWE-284

Missing Write Protection for Parametric Data Values
type: Class
cwe-id: CWE-1314
subclass of: Missing Authorization

Improper Setting of Bus Controlling Capability in Fabric End-point
type: Class
cwe-id: CWE-1315
subclass of: CWE-284

Fabric-Address Map Allows Programming of Unwarranted Overlaps of Protected and Unprotected Ranges
type: Class
cwe-id: CWE-1316
subclass of: CWE-284

Improper Access Control in Fabric Bridge
type: Class
cwe-id: CWE-1317
subclass of: CWE-284

Missing Support for Security Features in On-chip Fabrics or Buses
type: Class
cwe-id: CWE-1318
subclass of: CWE-693

Improper Protection against Electromagnetic Fault Injection (EM-FI)
type: Class
cwe-id: CWE-1319
subclass of: CWE-693

Improper Protection for Outbound Error Messages and Alert Signals
type: Class
cwe-id: CWE-1320
subclass of: CWE-284

Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')
type: Class
cwe-id: CWE-1321
subclass of: Improperly Controlled Modification of Dynamically-Determined Object Attributes

Use of Blocking Code in Single-threaded, Non-blocking Context
type: Class
cwe-id: CWE-1322
subclass of: Excessive Iteration

Improper Management of Sensitive Trace Data
type: Class
cwe-id: CWE-1323
subclass of: CWE-284

Improperly Controlled Sequential Memory Allocation
type: Class
cwe-id: CWE-1325
subclass of: Allocation of Resources Without Limits or Throttling

Missing Immutable Root of Trust in Hardware
type: Class
cwe-id: CWE-1326
subclass of: CWE-693

Binding to an Unrestricted IP Address
type: Class
cwe-id: CWE-1327
subclass of: CWE-668

Security Version Number Mutable to Older Versions
type: Class
cwe-id: CWE-1328
subclass of: Improper Authorization

Remanent Data Readable after Memory Erase
type: Class
cwe-id: CWE-1330
subclass of: Insufficient or Incomplete Data Removal within Hardware Component

Improper Isolation of Shared Resources in Network On Chip (NoC)
type: Class
cwe-id: CWE-1331
subclass of: Improper Isolation or Compartmentalization
subclass of: CWE-668

Improper Handling of Faults that Lead to Instruction Skips
type: Class
cwe-id: CWE-1332
subclass of: Improper Handling of Physical or Environmental Conditions

Inefficient Regular Expression Complexity
type: Class
cwe-id: CWE-1333
subclass of: Inefficient Algorithmic Complexity

Unauthorized Error Injection Can Degrade Hardware Redundancy
type: Class
cwe-id: CWE-1334
subclass of: CWE-284

Incorrect Bitwise Shift of Integer
type: Class
cwe-id: CWE-1335
subclass of: Incorrect Calculation

Improper Neutralization of Special Elements Used in a Template Engine
type: Class
cwe-id: CWE-1336
subclass of: Improper Control of Generation of Code ('Code Injection')

Improper Protections Against Hardware Overheating
type: Class
cwe-id: CWE-1338
subclass of: CWE-693

Insufficient Precision or Accuracy of a Real Number
type: Class
cwe-id: CWE-1339
subclass of: Incorrect Calculation

Use of Externally-Controlled Format String
type: Class
cwe-id: CWE-134
subclass of: CWE-668

Information Exposure through Microarchitectural State after Transient Execution
type: Class
cwe-id: CWE-1342
subclass of: Sensitive Information in Resource Not Removed Before Reuse

Incorrect Calculation of Multi-Byte String Length
type: Class
cwe-id: CWE-135
subclass of: Incorrect Calculation

Improper Handling of Hardware Behavior in Exceptionally Cold Environments
type: Class
cwe-id: CWE-1351
subclass of: Improper Handling of Physical or Environmental Conditions

Missing Origin Validation in WebSockets
type: Class
cwe-id: CWE-1385
subclass of: Origin Validation Error

Insecure Operation on Windows Junction / Mount Point
type: Class
cwe-id: CWE-1386
subclass of: Improper Link Resolution Before File Access ('Link Following')

Incorrect Parsing of Numbers with Different Radices
type: Class
cwe-id: CWE-1389
subclass of: Incorrect Type Conversion or Cast

Use of Default Password
type: Class
cwe-id: CWE-1393
subclass of: Use of Default Credentials

Use of Default Cryptographic Key
type: Class
cwe-id: CWE-1394
subclass of: Use of Default Credentials

Dependency on Vulnerable Third-Party Component
type: Class
cwe-id: CWE-1395
subclass of: Violation of Secure Design Principles

Compiler Removal of Code to Clear Buffers
type: Class
cwe-id: CWE-14
subclass of: Compiler Optimization Removal or Modification of Security-critical Code

Improper Neutralization of Parameter/Argument Delimiters
type: Class
cwe-id: CWE-141
subclass of: Improper Neutralization of Delimiters

Improper Neutralization of Value Delimiters
type: Class
cwe-id: CWE-142
subclass of: Improper Neutralization of Delimiters

Improper Neutralization of Record Delimiters
type: Class
cwe-id: CWE-143
subclass of: Improper Neutralization of Delimiters

Improper Neutralization of Line Delimiters
type: Class
cwe-id: CWE-144
subclass of: Improper Neutralization of Delimiters

Improper Neutralization of Section Delimiters
type: Class
cwe-id: CWE-145
subclass of: Improper Neutralization of Delimiters

Improper Neutralization of Expression/Command Delimiters
type: Class
cwe-id: CWE-146
subclass of: Improper Neutralization of Delimiters

Improper Neutralization of Input Leaders
type: Class
cwe-id: CWE-148
subclass of: CWE-138

Improper Neutralization of Quoting Syntax
type: Class
cwe-id: CWE-149
subclass of: CWE-138

External Control of System or Configuration Setting
type: Class
cwe-id: CWE-15
subclass of: Externally Controlled Reference to a Resource in Another Sphere
subclass of: External Control of Critical State Data

Improper Neutralization of Escape, Meta, or Control Sequences
type: Class
cwe-id: CWE-150
subclass of: CWE-138

Improper Neutralization of Comment Delimiters
type: Class
cwe-id: CWE-151
subclass of: CWE-138

Improper Neutralization of Macro Symbols
type: Class
cwe-id: CWE-152
subclass of: CWE-138

Improper Neutralization of Substitution Characters
type: Class
cwe-id: CWE-153
subclass of: CWE-138

Improper Neutralization of Variable Name Delimiters
type: Class
cwe-id: CWE-154
subclass of: CWE-138

Improper Neutralization of Whitespace
type: Class
cwe-id: CWE-156
subclass of: CWE-138

Failure to Sanitize Paired Delimiters
type: Class
cwe-id: CWE-157
subclass of: CWE-138

Improper Neutralization of Null Byte or NUL Character
type: Class
cwe-id: CWE-158
subclass of: CWE-138

Improper Handling of Missing Special Element
type: Class
cwe-id: CWE-166
subclass of: Improper Handling of Invalid Use of Special Elements
subclass of: CWE-703

Improper Handling of Additional Special Element
type: Class
cwe-id: CWE-167
subclass of: Improper Handling of Invalid Use of Special Elements
subclass of: CWE-703

Improper Handling of Inconsistent Special Elements
type: Class
cwe-id: CWE-168
subclass of: Improper Handling of Invalid Use of Special Elements
subclass of: CWE-703

Improper Null Termination
type: Class
cwe-id: CWE-170
subclass of: Improper Neutralization

Improper Handling of Alternate Encoding
type: Class
cwe-id: CWE-173
subclass of: Encoding Error

Double Decoding of the Same Data
type: Class
cwe-id: CWE-174
subclass of: Encoding Error
subclass of: Multiple Operations on Resource in Single-Operation Context

Improper Handling of Mixed Encoding
type: Class
cwe-id: CWE-175
subclass of: Encoding Error

Improper Handling of Unicode Encoding
type: Class
cwe-id: CWE-176
subclass of: Encoding Error

Improper Handling of URL Encoding (Hex Encoding)
type: Class
cwe-id: CWE-177
subclass of: Encoding Error

Improper Handling of Case Sensitivity
type: Class
cwe-id: CWE-178
subclass of: Use of Incorrectly-Resolved Name or Reference

Incorrect Behavior Order: Validate Before Canonicalize
type: Class
cwe-id: CWE-180
subclass of: Incorrect Behavior Order: Early Validation

Incorrect Behavior Order: Validate Before Filter
type: Class
cwe-id: CWE-181
subclass of: Incorrect Behavior Order: Early Validation

Collapse of Data into Unsafe Value
type: Class
cwe-id: CWE-182
subclass of: CWE-693

Incomplete List of Disallowed Inputs
type: Class
cwe-id: CWE-184
subclass of: Incomplete Comparison with Missing Factors
subclass of: CWE-693

Overly Restrictive Regular Expression
type: Class
cwe-id: CWE-186
subclass of: Incorrect Regular Expression

Partial String Comparison
type: Class
cwe-id: CWE-187
subclass of: Incomplete Comparison with Missing Factors

Integer Overflow or Wraparound
type: Class
type: NamedIndividual
cwe-id: CWE-190
weakness-of: Mathematical Function
subclass of: Restriction
  on property: weakness-of
  some values from: Mathematical Function
subclass of: Incorrect Calculation

Integer Underflow (Wrap or Wraparound)
type: Class
cwe-id: CWE-191
subclass of: Incorrect Calculation

Integer Coercion Error
type: Class
cwe-id: CWE-192
subclass of: Incorrect Conversion between Numeric Types

Off-by-one Error
type: Class
cwe-id: CWE-193
subclass of: Incorrect Calculation

Unexpected Sign Extension
type: Class
cwe-id: CWE-194
subclass of: Incorrect Conversion between Numeric Types

Signed to Unsigned Conversion Error
type: Class
cwe-id: CWE-195
subclass of: Incorrect Conversion between Numeric Types

Unsigned to Signed Conversion Error
type: Class
cwe-id: CWE-196
subclass of: Incorrect Conversion between Numeric Types

Numeric Truncation Error
type: Class
cwe-id: CWE-197
subclass of: Incorrect Conversion between Numeric Types

Use of Incorrect Byte Ordering
type: Class
cwe-id: CWE-198
subclass of: Reliance on Data/Memory Layout

Exposure of Sensitive Information Through Data Queries
type: Class
cwe-id: CWE-202
subclass of: Exposure of Sensitive Information Through Metadata

Observable Response Discrepancy
type: Class
cwe-id: CWE-204
subclass of: Observable Discrepancy

Observable Internal Behavioral Discrepancy
type: Class
cwe-id: CWE-206
subclass of: Observable Behavioral Discrepancy

Observable Behavioral Discrepancy With Equivalent Products
type: Class
cwe-id: CWE-207
subclass of: Observable Behavioral Discrepancy

Self-generated Error Message Containing Sensitive Information
type: Class
cwe-id: CWE-210
subclass of: Generation of Error Message Containing Sensitive Information

Exposure of Sensitive Information Due to Incompatible Policies
type: Class
cwe-id: CWE-213
subclass of: Exposure of Sensitive Information to an Unauthorized Actor

Invocation of Process Using Visible Sensitive Information
type: Class
cwe-id: CWE-214
subclass of: Exposure of Sensitive System Information to an Unauthorized Control Sphere

Insertion of Sensitive Information Into Debugging Code
type: Class
cwe-id: CWE-215
subclass of: Exposure of Sensitive Information to an Unauthorized Actor

Storage of File With Sensitive Data Under FTP Root
type: Class
cwe-id: CWE-220
subclass of: Files or Directories Accessible to External Parties

Truncation of Security-relevant Information
type: Class
cwe-id: CWE-222
subclass of: Information Loss or Omission

Obscured Security-relevant Information by Alternate Name
type: Class
cwe-id: CWE-224
subclass of: Information Loss or Omission

Improper Handling of Missing Values
type: Class
cwe-id: CWE-230
subclass of: Improper Handling of Values

Improper Handling of Extra Values
type: Class
cwe-id: CWE-231
subclass of: Improper Handling of Values

Improper Handling of Undefined Values
type: Class
cwe-id: CWE-232
subclass of: Improper Handling of Values

Failure to Handle Missing Parameter
type: Class
cwe-id: CWE-234
subclass of: Improper Handling of Parameters

Improper Handling of Extra Parameters
type: Class
cwe-id: CWE-235
subclass of: Improper Handling of Parameters

Improper Handling of Undefined Parameters
type: Class
cwe-id: CWE-236
subclass of: Improper Handling of Parameters

Improper Handling of Incomplete Structural Elements
type: Class
cwe-id: CWE-238
subclass of: Improper Handling of Structural Elements

Failure to Handle Incomplete Element
type: Class
cwe-id: CWE-239
subclass of: Improper Handling of Structural Elements

Path Traversal: '../filedir'
type: Class
cwe-id: CWE-24
subclass of: CWE-23

Improper Handling of Unexpected Data Type
type: Class
cwe-id: CWE-241
subclass of: Improper Handling of Syntactically Invalid Structure

Use of Inherently Dangerous Function
type: Class
cwe-id: CWE-242
subclass of: Use of Prohibited Code

Creation of chroot Jail Without Changing Working Directory
type: Class
cwe-id: CWE-243
subclass of: CWE-573
subclass of: Incorrect Resource Transfer Between Spheres

Improper Clearing of Heap Memory Before Release ('Heap Inspection')
type: Class
cwe-id: CWE-244
subclass of: Sensitive Information in Resource Not Removed Before Reuse

J2EE Bad Practices: Direct Management of Connections
type: Class
cwe-id: CWE-245
subclass of: Use of Low-Level Functionality

J2EE Bad Practices: Direct Use of Sockets
type: Class
cwe-id: CWE-246
subclass of: Use of Low-Level Functionality

Path Traversal: '/../filedir'
type: Class
cwe-id: CWE-25
subclass of: CWE-23

Execution with Unnecessary Privileges
type: Class
cwe-id: CWE-250
subclass of: Improper Privilege Management
subclass of: Violation of Secure Design Principles

Unchecked Return Value
type: Class
cwe-id: CWE-252
subclass of: Improper Check for Unusual or Exceptional Conditions

Incorrect Check of Function Return Value
type: Class
cwe-id: CWE-253
subclass of: CWE-573
subclass of: Improper Check for Unusual or Exceptional Conditions

Plaintext Storage of a Password
type: Class
cwe-id: CWE-256
subclass of: Insufficiently Protected Credentials

Storing Passwords in a Recoverable Format
type: Class
cwe-id: CWE-257
subclass of: Insufficiently Protected Credentials

Empty Password in Configuration File
type: Class
cwe-id: CWE-258
subclass of: Password in Configuration File
subclass of: Weak Password Requirements

Use of Hard-coded Password
type: Class
cwe-id: CWE-259
subclass of: Use of Hard-coded Credentials

Path Traversal: '/dir/../filename'
type: Class
cwe-id: CWE-26
subclass of: CWE-23

Weak Encoding for Password
type: Class
cwe-id: CWE-261
subclass of: Insufficiently Protected Credentials

Not Using Password Aging
type: Class
cwe-id: CWE-262
subclass of: CWE-1390

Password Aging with Long Expiration
type: Class
cwe-id: CWE-263
subclass of: CWE-1390

Privilege Chaining
type: Class
cwe-id: CWE-268
subclass of: Improper Privilege Management

Path Traversal: 'dir/../../filename'
type: Class
cwe-id: CWE-27
subclass of: CWE-23

Privilege Context Switching Error
type: Class
cwe-id: CWE-270
subclass of: Improper Privilege Management

Least Privilege Violation
type: Class
cwe-id: CWE-272
subclass of: Privilege Dropping / Lowering Errors

Improper Check for Dropped Privileges
type: Class
cwe-id: CWE-273
subclass of: Privilege Dropping / Lowering Errors
subclass of: Improper Check for Unusual or Exceptional Conditions

Improper Handling of Insufficient Privileges
type: Class
cwe-id: CWE-274
subclass of: Improper Privilege Management
subclass of: Improper Handling of Exceptional Conditions

Incorrect Default Permissions
type: Class
type: NamedIndividual
cwe-id: CWE-276
weakness-of: Application Installer
subclass of: Restriction
  on property: weakness-of
  some values from: Application Installer
subclass of: Incorrect Permission Assignment for Critical Resource

Insecure Inherited Permissions
type: Class
cwe-id: CWE-277
subclass of: Incorrect Permission Assignment for Critical Resource

Insecure Preserved Inherited Permissions
type: Class
cwe-id: CWE-278
subclass of: Incorrect Permission Assignment for Critical Resource

Incorrect Execution-Assigned Permissions
type: Class
cwe-id: CWE-279
subclass of: Incorrect Permission Assignment for Critical Resource

Path Traversal: '..\filedir'
type: Class
cwe-id: CWE-28
subclass of: CWE-23

Improper Handling of Insufficient Permissions or Privileges
type: Class
cwe-id: CWE-280
subclass of: Improper Handling of Exceptional Conditions

Improper Preservation of Permissions
type: Class
cwe-id: CWE-281
subclass of: Incorrect Permission Assignment for Critical Resource

Unverified Ownership
type: Class
cwe-id: CWE-283
subclass of: Improper Ownership Management

Authentication Bypass by Alternate Name
type: Class
cwe-id: CWE-289
subclass of: CWE-1390

Path Traversal: '\..\filename'
type: Class
cwe-id: CWE-29
subclass of: CWE-23

Reliance on IP Address for Authentication
type: Class
cwe-id: CWE-291
subclass of: Authentication Bypass by Spoofing
subclass of: Modification of Assumed-Immutable Data (MAID)
subclass of: Improper Restriction of Communication Channel to Intended Endpoints

Using Referer Field for Authentication
type: Class
cwe-id: CWE-293
subclass of: Authentication Bypass by Spoofing

Authentication Bypass by Capture-replay
type: Class
cwe-id: CWE-294
subclass of: CWE-1390

Improper Following of a Certificate's Chain of Trust
type: Class
cwe-id: CWE-296
subclass of: Improper Certificate Validation
subclass of: CWE-573

Improper Validation of Certificate with Host Mismatch
type: Class
cwe-id: CWE-297
subclass of: Improper Certificate Validation
subclass of: Improper Restriction of Communication Channel to Intended Endpoints

Improper Validation of Certificate Expiration
type: Class
cwe-id: CWE-298
subclass of: Improper Certificate Validation
subclass of: Operation on a Resource after Expiration or Release

Path Traversal: '\dir\..\filename'
type: Class
cwe-id: CWE-30
subclass of: CWE-23

Channel Accessible by Non-Endpoint
type: Class
cwe-id: CWE-300
subclass of: Improper Restriction of Communication Channel to Intended Endpoints

Reflection Attack in an Authentication Protocol
type: Class
cwe-id: CWE-301
subclass of: CWE-1390

Authentication Bypass by Assumed-Immutable Data
type: Class
cwe-id: CWE-302
subclass of: CWE-1390
subclass of: Reliance on Untrusted Inputs in a Security Decision

Missing Critical Step in Authentication
type: Class
cwe-id: CWE-304
subclass of: Incorrect Implementation of Authentication Algorithm
subclass of: CWE-573

Authentication Bypass by Primary Weakness
type: Class
cwe-id: CWE-305
subclass of: CWE-1390

Improper Restriction of Excessive Authentication Attempts
type: Class
cwe-id: CWE-307
subclass of: CWE-1390
subclass of: Improper Control of Interaction Frequency

Use of Single-factor Authentication
type: Class
cwe-id: CWE-308
subclass of: CWE-1390
subclass of: Reliance on a Single Factor in a Security Decision

Use of Password System for Primary Authentication
type: Class
cwe-id: CWE-309
subclass of: CWE-1390
subclass of: Reliance on a Single Factor in a Security Decision

Path Traversal: 'dir\..\..\filename'
type: Class
cwe-id: CWE-31
subclass of: CWE-23

Cleartext Storage in a File or on Disk
type: Class
cwe-id: CWE-313
subclass of: Cleartext Storage of Sensitive Information

Cleartext Storage in the Registry
type: Class
cwe-id: CWE-314
subclass of: Cleartext Storage of Sensitive Information

Cleartext Storage of Sensitive Information in a Cookie
type: Class
cwe-id: CWE-315
subclass of: Cleartext Storage of Sensitive Information

Cleartext Storage of Sensitive Information in Memory
type: Class
cwe-id: CWE-316
subclass of: Cleartext Storage of Sensitive Information

Cleartext Storage of Sensitive Information in GUI
type: Class
cwe-id: CWE-317
subclass of: Cleartext Storage of Sensitive Information

Cleartext Storage of Sensitive Information in Executable
type: Class
cwe-id: CWE-318
subclass of: Cleartext Storage of Sensitive Information

Path Traversal: '...' (Triple Dot)
type: Class
cwe-id: CWE-32
subclass of: CWE-23

Use of Hard-coded Cryptographic Key
type: Class
cwe-id: CWE-321
subclass of: Use of Hard-coded Credentials

Key Exchange without Entity Authentication
type: Class
cwe-id: CWE-322
subclass of: Missing Authentication for Critical Function

Reusing a Nonce, Key Pair in Encryption
type: Class
cwe-id: CWE-323
subclass of: Use of Invariant Value in Dynamically Changing Context

Use of a Key Past its Expiration Date
type: Class
cwe-id: CWE-324
subclass of: Operation on a Resource after Expiration or Release

Missing Cryptographic Step
type: Class
cwe-id: CWE-325
subclass of: CWE-573

Use of Weak Hash
type: Class
cwe-id: CWE-328
subclass of: Inadequate Encryption Strength
subclass of: Use of a Broken or Risky Cryptographic Algorithm

Generation of Predictable IV with CBC Mode
type: Class
cwe-id: CWE-329
subclass of: Generation of Weak Initialization Vector (IV)
subclass of: CWE-573

Path Traversal: '....' (Multiple Dot)
type: Class
cwe-id: CWE-33
subclass of: CWE-23

Insufficient Entropy in PRNG
type: Class
cwe-id: CWE-332
subclass of: Insufficient Entropy

Improper Handling of Insufficient Entropy in TRNG
type: Class
cwe-id: CWE-333
subclass of: Insufficient Entropy
subclass of: CWE-703

Same Seed in Pseudo-Random Number Generator (PRNG)
type: Class
cwe-id: CWE-336
subclass of: Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)

Predictable Seed in Pseudo-Random Number Generator (PRNG)
type: Class
cwe-id: CWE-337
subclass of: Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)

Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)
type: Class
cwe-id: CWE-338
subclass of: Use of Insufficiently Random Values

Small Seed Space in PRNG
type: Class
cwe-id: CWE-339
subclass of: Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)

Path Traversal: '....//'
type: Class
cwe-id: CWE-34
subclass of: CWE-23

Predictable from Observable State
type: Class
cwe-id: CWE-341
subclass of: Generation of Predictable Numbers or Identifiers

Predictable Exact Value from Previous Values
type: Class
cwe-id: CWE-342
subclass of: Generation of Predictable Numbers or Identifiers

Predictable Value Range from Previous Values
type: Class
cwe-id: CWE-343
subclass of: Generation of Predictable Numbers or Identifiers

Improper Verification of Cryptographic Signature
type: Class
cwe-id: CWE-347
subclass of: CWE-345

Use of Less Trusted Source
type: Class
cwe-id: CWE-348
subclass of: CWE-345

Acceptance of Extraneous Untrusted Data With Trusted Data
type: Class
cwe-id: CWE-349
subclass of: CWE-345

Path Traversal: '.../...//'
type: Class
cwe-id: CWE-35
subclass of: CWE-23

Reliance on Reverse DNS Resolution for a Security-Critical Action
type: Class
cwe-id: CWE-350
subclass of: Authentication Bypass by Spoofing
subclass of: Reliance on Untrusted Inputs in a Security Decision

Insufficient Type Distinction
type: Class
cwe-id: CWE-351
subclass of: CWE-345

Cross-Site Request Forgery (CSRF)
type: Class
type: NamedIndividual
cwe-id: CWE-352
weakness-of: UserInputFunction
subclass of: Restriction
  on property: weakness-of
  some values from: UserInputFunction
subclass of: CWE-345

Missing Support for Integrity Check
type: Class
cwe-id: CWE-353
subclass of: CWE-345

Improper Validation of Integrity Check Value
type: Class
cwe-id: CWE-354
subclass of: CWE-345
subclass of: Improper Check for Unusual or Exceptional Conditions

Product UI does not Warn User of Unsafe Actions
type: Class
cwe-id: CWE-356
subclass of: Information Loss or Omission

Improperly Implemented Security Check for Standard
type: Class
cwe-id: CWE-358
subclass of: CWE-573
subclass of: CWE-693

Exposure of Private Personal Information to an Unauthorized Actor
type: Class
cwe-id: CWE-359
subclass of: Exposure of Sensitive Information to an Unauthorized Actor

Race Condition Enabling Link Following
type: Class
cwe-id: CWE-363
subclass of: Time-of-check Time-of-use (TOCTOU) Race Condition

Race Condition within a Thread
type: Class
cwe-id: CWE-366
subclass of: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

Context Switching Race Condition
type: Class
cwe-id: CWE-368
subclass of: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

Divide By Zero
type: Class
cwe-id: CWE-369
subclass of: Incorrect Calculation

Path Traversal: '/absolute/pathname/here'
type: Class
cwe-id: CWE-37
subclass of: Improper Neutralization of Leading Special Elements
subclass of: Absolute Path Traversal

Missing Check for Certificate Revocation after Initial Check
type: Class
cwe-id: CWE-370
subclass of: Improper Check for Certificate Revocation

Incomplete Internal State Distinction
type: Class
cwe-id: CWE-372
subclass of: CWE-664

Passing Mutable Objects to an Untrusted Method
type: Class
cwe-id: CWE-374
subclass of: CWE-668

Returning a Mutable Object to an Untrusted Caller
type: Class
cwe-id: CWE-375
subclass of: CWE-668

Creation of Temporary File With Insecure Permissions
type: Class
cwe-id: CWE-378
subclass of: Insecure Temporary File

Creation of Temporary File in Directory with Insecure Permissions
type: Class
cwe-id: CWE-379
subclass of: Insecure Temporary File

Path Traversal: '\absolute\pathname\here'
type: Class
cwe-id: CWE-38
subclass of: Absolute Path Traversal

J2EE Bad Practices: Use of System.exit()
type: Class
cwe-id: CWE-382
subclass of: Incorrect Control Flow Scoping

J2EE Bad Practices: Direct Use of Threads
type: Class
cwe-id: CWE-383
subclass of: Use of Low-Level Functionality

Session Fixation
type: Class
cwe-id: CWE-384
subclass of: Externally Controlled Reference to a Resource in Another Sphere

Covert Timing Channel
type: Class
cwe-id: CWE-385
subclass of: Covert Channel

Symbolic Name not Mapping to Correct Object
type: Class
cwe-id: CWE-386
subclass of: Use of Incorrectly-Resolved Name or Reference

Path Traversal: 'C:dirname'
type: Class
cwe-id: CWE-39
subclass of: Absolute Path Traversal

Detection of Error Condition Without Action
type: Class
cwe-id: CWE-390
subclass of: Improper Handling of Exceptional Conditions

Unchecked Error Condition
type: Class
cwe-id: CWE-391
subclass of: Improper Check for Unusual or Exceptional Conditions

Missing Report of Error Condition
type: Class
cwe-id: CWE-392
subclass of: Incorrect Provision of Specified Functionality
subclass of: CWE-703

Return of Wrong Status Code
type: Class
cwe-id: CWE-393
subclass of: Incorrect Provision of Specified Functionality
subclass of: CWE-703

Unexpected Status Code or Return Value
type: Class
cwe-id: CWE-394
subclass of: Improper Check for Unusual or Exceptional Conditions

Use of NullPointerException Catch to Detect NULL Pointer Dereference
type: Class
cwe-id: CWE-395
subclass of: Incorrect Control Flow Scoping
subclass of: Improper Handling of Exceptional Conditions

Declaration of Catch for Generic Exception
type: Class
cwe-id: CWE-396
subclass of: Information Loss or Omission
subclass of: Incorrect Control Flow Scoping
subclass of: Improper Handling of Exceptional Conditions

Declaration of Throws for Generic Exception
type: Class
cwe-id: CWE-397
subclass of: Information Loss or Omission
subclass of: CWE-703
subclass of: Incorrect Control Flow Scoping

Path Traversal: '\\UNC\share\name\' (Windows UNC Share)
type: Class
cwe-id: CWE-40
subclass of: Absolute Path Traversal

Missing Release of Memory after Effective Lifetime
type: Class
cwe-id: CWE-401
subclass of: Missing Release of Resource after Effective Lifetime

Exposure of File Descriptor to Unintended Control Sphere ('File Descriptor Leak')
type: Class
cwe-id: CWE-403
subclass of: Transmission of Private Resources into a New Sphere ('Resource Leak')

Insufficient Control of Network Message Volume (Network Amplification)
type: Class
cwe-id: CWE-406
subclass of: CWE-405

Incorrect Behavior Order: Early Amplification
type: Class
cwe-id: CWE-408
subclass of: CWE-405
subclass of: Incorrect Behavior Order

Improper Handling of Highly Compressed Data (Data Amplification)
type: Class
cwe-id: CWE-409
subclass of: CWE-405

Insufficient Resource Pool
type: Class
cwe-id: CWE-410
subclass of: CWE-664

Unrestricted Externally Accessible Lock
type: Class
cwe-id: CWE-412
subclass of: Improper Locking

Missing Lock Check
type: Class
cwe-id: CWE-414
subclass of: Improper Locking

Double Free
type: Class
cwe-id: CWE-415
subclass of: Multiple Releases of Same Resource or Handle
subclass of: Operation on Resource in Wrong Phase of Lifetime
subclass of: Expired Pointer Dereference

Use After Free
type: Class
cwe-id: CWE-416
subclass of: Expired Pointer Dereference

Unprotected Primary Channel
type: Class
cwe-id: CWE-419
subclass of: Improper Restriction of Communication Channel to Intended Endpoints

Race Condition During Access to Alternate Channel
type: Class
cwe-id: CWE-421
subclass of: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
subclass of: Unprotected Alternate Channel

Unprotected Windows Messaging Channel ('Shatter')
type: Class
cwe-id: CWE-422
subclass of: Trust of System Event Data
subclass of: Unprotected Alternate Channel

Direct Request ('Forced Browsing')
type: Class
cwe-id: CWE-425
subclass of: Authentication Bypass Using an Alternate Path or Channel
subclass of: Improper Protection of Alternate Path
subclass of: Missing Authorization

Untrusted Search Path
type: Class
cwe-id: CWE-426
subclass of: External Control of Critical State Data
subclass of: External Influence of Sphere Definition

Uncontrolled Search Path Element
type: Class
cwe-id: CWE-427
subclass of: CWE-668

Unquoted Search Path or Element
type: Class
cwe-id: CWE-428
subclass of: CWE-668

Path Equivalence: 'filename....' (Multiple Trailing Dot)
type: Class
cwe-id: CWE-43
subclass of: Improper Neutralization of Multiple Trailing Special Elements
subclass of: Path Equivalence: 'filename.' (Trailing Dot)

Deployment of Wrong Handler
type: Class
cwe-id: CWE-430
subclass of: CWE-691

Missing Handler
type: Class
cwe-id: CWE-431
subclass of: CWE-691

Dangerous Signal Handler not Disabled During Sensitive Operations
type: Class
cwe-id: CWE-432
subclass of: Signal Handler Race Condition

Unparsed Raw Web Content Delivery
type: Class
cwe-id: CWE-433
subclass of: Storage of File with Sensitive Data Under Web Root

Unrestricted Upload of File with Dangerous Type
type: Class
type: NamedIndividual
cwe-id: CWE-434
weakness-of: UserInputFunction
subclass of: Restriction
  on property: weakness-of
  some values from: UserInputFunction
subclass of: Incorrect Resource Transfer Between Spheres

Incomplete Model of Endpoint Features
type: Class
cwe-id: CWE-437
subclass of: Interpretation Conflict

Behavioral Change in New Version or Environment
type: Class
cwe-id: CWE-439
subclass of: Improper Interaction Between Multiple Correctly-Behaving Entities

Expected Behavior Violation
type: Class
cwe-id: CWE-440
subclass of: Incorrect Provision of Specified Functionality

Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')
type: Class
cwe-id: CWE-444
subclass of: Interpretation Conflict

Unimplemented or Unsupported Feature in UI
type: Class
cwe-id: CWE-447
subclass of: UI Discrepancy for Security Feature
subclass of: Lack of Administrator Control over Security

Obsolete Feature in UI
type: Class
cwe-id: CWE-448
subclass of: UI Discrepancy for Security Feature

The UI Performs the Wrong Action
type: Class
cwe-id: CWE-449
subclass of: UI Discrepancy for Security Feature

Path Equivalence: 'file...name' (Multiple Internal Dot)
type: Class
cwe-id: CWE-45
subclass of: Improper Neutralization of Multiple Internal Special Elements
subclass of: Path Equivalence: 'file.name' (Internal Dot)

Multiple Interpretations of UI Input
type: Class
cwe-id: CWE-450
subclass of: Insufficient UI Warning of Dangerous Operations

Insecure Default Variable Initialization
type: Class
cwe-id: CWE-453
subclass of: Insecure Default Initialization of Resource

External Initialization of Trusted Variables or Data Stores
type: Class
cwe-id: CWE-454
subclass of: Improper Initialization

Non-exit on Failed Initialization
type: Class
cwe-id: CWE-455
subclass of: Not Failing Securely ('Failing Open')
subclass of: Improper Initialization
subclass of: Incorrect Control Flow Scoping

Missing Initialization of a Variable
type: Class
cwe-id: CWE-456
subclass of: Missing Initialization of Resource

Use of Uninitialized Variable
type: Class
cwe-id: CWE-457
subclass of: Use of Uninitialized Resource

Path Equivalence: 'filename ' (Trailing Space)
type: Class
cwe-id: CWE-46
subclass of: Improper Neutralization of Trailing Special Elements
subclass of: CWE-41

Improper Cleanup on Thrown Exception
type: Class
cwe-id: CWE-460
subclass of: Incomplete Cleanup
subclass of: Improper Handling of Exceptional Conditions

Duplicate Key in Associative List (Alist)
type: Class
cwe-id: CWE-462
subclass of: Use of Multiple Resources with Duplicate Identifier

Deletion of Data Structure Sentinel
type: Class
cwe-id: CWE-463
subclass of: Improper Neutralization

Addition of Data Structure Sentinel
type: Class
cwe-id: CWE-464
subclass of: CWE-138

Return of Pointer Value Outside of Expected Range
type: Class
cwe-id: CWE-466
subclass of: CWE-119

Use of sizeof() on a Pointer Type
type: Class
cwe-id: CWE-467
subclass of: Incorrect Calculation of Buffer Size

Incorrect Pointer Scaling
type: Class
cwe-id: CWE-468
subclass of: Incorrect Calculation

Use of Pointer Subtraction to Determine Size
type: Class
cwe-id: CWE-469
subclass of: Incorrect Calculation

Path Equivalence: ' filename' (Leading Space)
type: Class
cwe-id: CWE-47
subclass of: CWE-41

Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')
type: Class
cwe-id: CWE-470
subclass of: Externally Controlled Reference to a Resource in Another Sphere
subclass of: Improper Control of Dynamically-Managed Code Resources

External Control of Assumed-Immutable Web Parameter
type: Class
cwe-id: CWE-472
subclass of: Modification of Assumed-Immutable Data (MAID)
subclass of: External Control of Critical State Data

PHP External Variable Modification
type: Class
cwe-id: CWE-473
subclass of: Modification of Assumed-Immutable Data (MAID)

Undefined Behavior for Input to API
type: Class
cwe-id: CWE-475
subclass of: CWE-573

Use of Obsolete Function
type: Class
cwe-id: CWE-477
subclass of: CWE-710

Missing Default Case in Multiple Condition Expression
type: Class
cwe-id: CWE-478
subclass of: Incomplete Comparison with Missing Factors

Signal Handler Use of a Non-reentrant Function
type: Class
cwe-id: CWE-479
subclass of: Use of a Non-reentrant Function in a Concurrent Context
subclass of: Signal Handler with Functionality that is not Asynchronous-Safe

Path Equivalence: 'file name' (Internal Whitespace)
type: Class
cwe-id: CWE-48
subclass of: CWE-41

Assigning instead of Comparing
type: Class
cwe-id: CWE-481
subclass of: Use of Incorrect Operator

Comparing instead of Assigning
type: Class
cwe-id: CWE-482
subclass of: Use of Incorrect Operator

Incorrect Block Delimitation
type: Class
cwe-id: CWE-483
subclass of: Always-Incorrect Control Flow Implementation

Omitted Break Statement in Switch
type: Class
cwe-id: CWE-484
subclass of: Always-Incorrect Control Flow Implementation
subclass of: CWE-710

Comparison of Classes by Name
type: Class
cwe-id: CWE-486
subclass of: Comparison Using Wrong Factors

Reliance on Package-level Scope
type: Class
cwe-id: CWE-487
subclass of: CWE-664

Exposure of Data Element to Wrong Session
type: Class
cwe-id: CWE-488
subclass of: CWE-668

Path Equivalence: 'filename/' (Trailing Slash)
type: Class
cwe-id: CWE-49
subclass of: Improper Neutralization of Trailing Special Elements
subclass of: CWE-41

Public cloneable() Method Without Final ('Object Hijack')
type: Class
cwe-id: CWE-491
subclass of: CWE-668

Use of Inner Class Containing Sensitive Data
type: Class
cwe-id: CWE-492
subclass of: CWE-668

Download of Code Without Integrity Check
type: Class
cwe-id: CWE-494
subclass of: CWE-345
subclass of: Incorrect Resource Transfer Between Spheres

Private Data Structure Returned From A Public Method
type: Class
cwe-id: CWE-495
subclass of: CWE-664

Public Data Assigned to Private Array-Typed Field
type: Class
cwe-id: CWE-496
subclass of: CWE-664

Cloneable Class Containing Sensitive Information
type: Class
cwe-id: CWE-498
subclass of: CWE-668

Serializable Class Containing Sensitive Data
type: Class
cwe-id: CWE-499
subclass of: CWE-668

J2EE Misconfiguration: Data Transmission Without Encryption
type: Class
cwe-id: CWE-5
subclass of: Cleartext Transmission of Sensitive Information

Path Equivalence: '//multiple/leading/slash'
type: Class
cwe-id: CWE-50
subclass of: Improper Neutralization of Multiple Leading Special Elements
subclass of: CWE-41

Public Static Field Not Marked Final
type: Class
cwe-id: CWE-500
subclass of: Critical Public Variable Without Final Modifier

Trust Boundary Violation
type: Class
cwe-id: CWE-501
subclass of: CWE-664

Deserialization of Untrusted Data
type: Class
type: NamedIndividual
cwe-id: CWE-502
may-be-weakness-of: UserInputFunction
weakness-of: Deserialization Function
subclass of: Restriction
  on property: weakness-of
  some values from: Deserialization Function
subclass of: Restriction
  on property: may-be-weakness-of
  some values from: UserInputFunction
subclass of: Improper Control of Dynamically-Managed Code Resources

Non-Replicating Malicious Code
type: Class
cwe-id: CWE-508
subclass of: Trojan Horse

Replicating Malicious Code (Virus or Worm)
type: Class
cwe-id: CWE-509
subclass of: Trojan Horse

Path Equivalence: '/multiple//internal/slash'
type: Class
cwe-id: CWE-51
subclass of: CWE-41

Trapdoor
type: Class
cwe-id: CWE-510
subclass of: Embedded Malicious Code

Logic/Time Bomb
type: Class
cwe-id: CWE-511
subclass of: Embedded Malicious Code

Spyware
type: Class
cwe-id: CWE-512
subclass of: Embedded Malicious Code

Covert Storage Channel
type: Class
cwe-id: CWE-515
subclass of: Covert Channel

Path Equivalence: '/multiple/trailing/slash//'
type: Class
cwe-id: CWE-52
subclass of: Improper Neutralization of Multiple Trailing Special Elements
subclass of: CWE-41

.NET Misconfiguration: Use of Impersonation
type: Class
cwe-id: CWE-520
subclass of: Incorrect Privilege Assignment

Unprotected Transport of Credentials
type: Class
cwe-id: CWE-523
subclass of: Insufficiently Protected Credentials

Use of Web Browser Cache Containing Sensitive Information
type: Class
cwe-id: CWE-525
subclass of: Use of Cache Containing Sensitive Information

Cleartext Storage of Sensitive Information in an Environment Variable
type: Class
cwe-id: CWE-526
subclass of: Cleartext Storage of Sensitive Information

Exposure of Version-Control Repository to an Unauthorized Control Sphere
type: Class
cwe-id: CWE-527
subclass of: Files or Directories Accessible to External Parties

Exposure of Core Dump File to an Unauthorized Control Sphere
type: Class
cwe-id: CWE-528
subclass of: Files or Directories Accessible to External Parties

Exposure of Access Control List Files to an Unauthorized Control Sphere
type: Class
cwe-id: CWE-529
subclass of: Files or Directories Accessible to External Parties

Path Equivalence: '\multiple\\internal\backslash'
type: Class
cwe-id: CWE-53
subclass of: Improper Neutralization of Multiple Internal Special Elements
subclass of: CWE-41

Exposure of Backup File to an Unauthorized Control Sphere
type: Class
cwe-id: CWE-530
subclass of: Files or Directories Accessible to External Parties

Inclusion of Sensitive Information in Test Code
type: Class
cwe-id: CWE-531
subclass of: Inclusion of Sensitive Information in Source Code

Insertion of Sensitive Information into Log File
type: Class
cwe-id: CWE-532
subclass of: Insertion of Sensitive Information into Externally-Accessible File or Directory

Exposure of Information Through Shell Error Message
type: Class
cwe-id: CWE-535
subclass of: Externally-Generated Error Message Containing Sensitive Information

Servlet Runtime Error Message Containing Sensitive Information
type: Class
cwe-id: CWE-536
subclass of: Externally-Generated Error Message Containing Sensitive Information

Java Runtime Error Message Containing Sensitive Information
type: Class
cwe-id: CWE-537
subclass of: Externally-Generated Error Message Containing Sensitive Information

Use of Persistent Cookies Containing Sensitive Information
type: Class
cwe-id: CWE-539
subclass of: Files or Directories Accessible to External Parties

Path Equivalence: 'filedir\' (Trailing Backslash)
type: Class
cwe-id: CWE-54
subclass of: Improper Neutralization of Trailing Special Elements
subclass of: CWE-41

Inclusion of Sensitive Information in an Include File
type: Class
cwe-id: CWE-541
subclass of: Inclusion of Sensitive Information in Source Code

Use of Singleton Pattern Without Synchronization in a Multithreaded Context
type: Class
cwe-id: CWE-543
subclass of: Missing Synchronization

Missing Standardized Error Handling Mechanism
type: Class
cwe-id: CWE-544
subclass of: Improper Handling of Exceptional Conditions

Suspicious Comment
type: Class
cwe-id: CWE-546
subclass of: CWE-1078

Use of Hard-coded, Security-relevant Constants
type: Class
cwe-id: CWE-547
subclass of: CWE-1078

Exposure of Information Through Directory Listing
type: Class
cwe-id: CWE-548
subclass of: Exposure of Sensitive System Information to an Unauthorized Control Sphere

Missing Password Field Masking
type: Class
cwe-id: CWE-549
subclass of: Insufficiently Protected Credentials

Path Equivalence: '/./' (Single Dot Directory)
type: Class
cwe-id: CWE-55
subclass of: CWE-41

Server-generated Error Message Containing Sensitive Information
type: Class
cwe-id: CWE-550
subclass of: Generation of Error Message Containing Sensitive Information

Incorrect Behavior Order: Authorization Before Parsing and Canonicalization
type: Class
cwe-id: CWE-551
subclass of: Incorrect Behavior Order
subclass of: Incorrect Authorization

Command Shell in Externally Accessible Directory
type: Class
cwe-id: CWE-553
subclass of: Files or Directories Accessible to External Parties

ASP.NET Misconfiguration: Not Using Input Validation Framework
type: Class
cwe-id: CWE-554
subclass of: Improper Use of Validation Framework

J2EE Misconfiguration: Plaintext Password in Configuration File
type: Class
cwe-id: CWE-555
subclass of: Password in Configuration File

ASP.NET Misconfiguration: Use of Identity Impersonation
type: Class
cwe-id: CWE-556
subclass of: Incorrect Privilege Assignment

Use of getlogin() in Multithreaded Application
type: Class
cwe-id: CWE-558
subclass of: Use of a Non-reentrant Function in a Concurrent Context

Path Equivalence: 'filedir*' (Wildcard)
type: Class
cwe-id: CWE-56
subclass of: Improper Neutralization of Wildcards or Matching Symbols
subclass of: CWE-41

Use of umask() with chmod-style Argument
type: Class
cwe-id: CWE-560
subclass of: Function Call With Incorrectly Specified Argument Value

Dead Code
type: Class
cwe-id: CWE-561
subclass of: Irrelevant Code

Return of Stack Variable Address
type: Class
cwe-id: CWE-562
subclass of: Reliance on Undefined, Unspecified, or Implementation-Defined Behavior

Assignment to Variable without Use
type: Class
cwe-id: CWE-563
subclass of: Irrelevant Code

SQL Injection: Hibernate
type: Class
cwe-id: CWE-564
subclass of: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Authorization Bypass Through User-Controlled SQL Primary Key
type: Class
cwe-id: CWE-566
subclass of: Authorization Bypass Through User-Controlled Key

Unsynchronized Access to Shared Data in a Multithreaded Context
type: Class
cwe-id: CWE-567
subclass of: Missing Synchronization

finalize() Method Without super.finalize()
type: Class
cwe-id: CWE-568
subclass of: Incomplete Cleanup
subclass of: CWE-573

Path Equivalence: 'fakedir/../realdir/filename'
type: Class
cwe-id: CWE-57
subclass of: CWE-41

Expression is Always False
type: Class
cwe-id: CWE-570
subclass of: CWE-710

Expression is Always True
type: Class
cwe-id: CWE-571
subclass of: CWE-710

Call to Thread run() instead of start()
type: Class
cwe-id: CWE-572
subclass of: Incorrect Synchronization

EJB Bad Practices: Use of Synchronization Primitives
type: Class
cwe-id: CWE-574
subclass of: Use of Low-Level Functionality
subclass of: Incorrect Synchronization

EJB Bad Practices: Use of AWT Swing
type: Class
cwe-id: CWE-575
subclass of: Use of Low-Level Functionality

EJB Bad Practices: Use of Java I/O
type: Class
cwe-id: CWE-576
subclass of: Use of Low-Level Functionality

EJB Bad Practices: Use of Sockets
type: Class
cwe-id: CWE-577
subclass of: CWE-573

EJB Bad Practices: Use of Class Loader
type: Class
cwe-id: CWE-578
subclass of: CWE-573

J2EE Bad Practices: Non-serializable Object Stored in Session
type: Class
cwe-id: CWE-579
subclass of: CWE-573

Path Equivalence: Windows 8.3 Filename
type: Class
cwe-id: CWE-58
subclass of: CWE-41

clone() Method Without super.clone()
type: Class
cwe-id: CWE-580
subclass of: CWE-573
subclass of: CWE-664

Object Model Violation: Just One of Equals and Hashcode Defined
type: Class
cwe-id: CWE-581
subclass of: CWE-573
subclass of: Incorrect Comparison

Array Declared Public, Final, and Static
type: Class
cwe-id: CWE-582
subclass of: CWE-668

finalize() Method Declared Public
type: Class
cwe-id: CWE-583
subclass of: CWE-668

Return Inside Finally Block
type: Class
cwe-id: CWE-584
subclass of: Incorrect Control Flow Scoping

Empty Synchronized Block
type: Class
cwe-id: CWE-585
subclass of: Empty Code Block

Explicit Call to Finalize()
type: Class
cwe-id: CWE-586
subclass of: Insufficient Adherence to Expected Conventions

Assignment of a Fixed Address to a Pointer
type: Class
cwe-id: CWE-587
subclass of: Use of Invariant Value in Dynamically Changing Context
subclass of: Reliance on Undefined, Unspecified, or Implementation-Defined Behavior

Attempt to Access Child of a Non-structure Pointer
type: Class
cwe-id: CWE-588
subclass of: Incorrect Type Conversion or Cast
subclass of: Reliance on Undefined, Unspecified, or Implementation-Defined Behavior

Call to Non-ubiquitous API
type: Class
cwe-id: CWE-589
subclass of: Use of Function with Inconsistent Implementations

Free of Memory not on the Heap
type: Class
cwe-id: CWE-590
subclass of: Mismatched Memory Management Routines

Sensitive Data Storage in Improperly Locked Memory
type: Class
cwe-id: CWE-591
subclass of: Improper Resource Locking

Authentication Bypass: OpenSSL CTX Object Modified after SSL Objects are Created
type: Class
cwe-id: CWE-593
subclass of: CWE-1390
subclass of: Operation on Resource in Wrong Phase of Lifetime

J2EE Framework: Saving Unserializable Objects to Disk
type: Class
cwe-id: CWE-594
subclass of: CWE-710

Use of Wrong Operator in String Comparison
type: Class
cwe-id: CWE-597
subclass of: Use of Incorrect Operator
subclass of: Comparison of Object References Instead of Object Contents

Use of GET Request Method With Sensitive Query Strings
type: Class
cwe-id: CWE-598
subclass of: Insertion of Sensitive Information Into Sent Data

Missing Validation of OpenSSL Certificate
type: Class
cwe-id: CWE-599
subclass of: Improper Certificate Validation

J2EE Misconfiguration: Insufficient Session-ID Length
type: Class
cwe-id: CWE-6
subclass of: Small Space of Random Values

Uncaught Exception in Servlet
type: Class
cwe-id: CWE-600
subclass of: Uncaught Exception

URL Redirection to Untrusted Site ('Open Redirect')
type: Class
cwe-id: CWE-601
subclass of: Externally Controlled Reference to a Resource in Another Sphere

Use of Client-Side Authentication
type: Class
cwe-id: CWE-603
subclass of: CWE-1390
subclass of: Client-Side Enforcement of Server-Side Security

Multiple Binds to the Same Port
type: Class
cwe-id: CWE-605
subclass of: Operation on Resource in Wrong Phase of Lifetime
subclass of: Multiple Operations on Resource in Single-Operation Context

Unchecked Input for Loop Condition
type: Class
cwe-id: CWE-606
subclass of: Improper Validation of Specified Quantity in Input

Public Static Final Field References Mutable Object
type: Class
cwe-id: CWE-607
subclass of: Modification of Assumed-Immutable Data (MAID)

Struts: Non-private Field in ActionForm Class
type: Class
cwe-id: CWE-608
subclass of: CWE-668

Double-Checked Locking
type: Class
cwe-id: CWE-609
subclass of: Improper Locking

UNIX Symbolic Link (Symlink) Following
type: Class
cwe-id: CWE-61
subclass of: Improper Link Resolution Before File Access ('Link Following')

Improper Restriction of XML External Entity Reference
type: Class
type: NamedIndividual
cwe-id: CWE-611
weakness-of: External Content Inclusion Function
subclass of: Restriction
  on property: weakness-of
  some values from: External Content Inclusion Function
subclass of: Externally Controlled Reference to a Resource in Another Sphere

Improper Authorization of Index Containing Sensitive Information
type: Class
cwe-id: CWE-612
subclass of: Exposure of Sensitive Information Through Metadata

Insufficient Session Expiration
type: Class
cwe-id: CWE-613
subclass of: Operation on a Resource after Expiration or Release

Sensitive Cookie in HTTPS Session Without 'Secure' Attribute
type: Class
cwe-id: CWE-614
subclass of: Cleartext Transmission of Sensitive Information

Inclusion of Sensitive Information in Source Code Comments
type: Class
cwe-id: CWE-615
subclass of: Inclusion of Sensitive Information in Source Code

Incomplete Identification of Uploaded File Variables (PHP)
type: Class
cwe-id: CWE-616
subclass of: CWE-345

Reachable Assertion
type: Class
cwe-id: CWE-617
subclass of: Always-Incorrect Control Flow Implementation

Exposed Unsafe ActiveX Method
type: Class
cwe-id: CWE-618
subclass of: Exposed Dangerous Method or Function

Dangling Database Cursor ('Cursor Injection')
type: Class
cwe-id: CWE-619
subclass of: Transmission of Private Resources into a New Sphere ('Resource Leak')

UNIX Hard Link
type: Class
cwe-id: CWE-62
subclass of: Improper Link Resolution Before File Access ('Link Following')

Unverified Password Change
type: Class
cwe-id: CWE-620
subclass of: CWE-1390

Variable Extraction Error
type: Class
cwe-id: CWE-621
subclass of: Improper Control of Dynamically-Identified Variables

Improper Validation of Function Hook Arguments
type: Class
cwe-id: CWE-622
subclass of: Improper Input Validation

Unsafe ActiveX Control Marked Safe For Scripting
type: Class
cwe-id: CWE-623
subclass of: Privilege Defined With Unsafe Actions

Executable Regular Expression Error
type: Class
cwe-id: CWE-624
subclass of: Improper Neutralization of Special Elements used in a Command ('Command Injection')

Null Byte Interaction Error (Poison Null Byte)
type: Class
cwe-id: CWE-626
subclass of: Improper Neutralization of Input Terminators
subclass of: Interpretation Conflict

Dynamic Variable Evaluation
type: Class
cwe-id: CWE-627
subclass of: Improper Control of Dynamically-Identified Variables

Unnecessary Complexity in Protection Mechanism (Not Using 'Economy of Mechanism')
type: Class
cwe-id: CWE-637
subclass of: Violation of Secure Design Principles

Windows Shortcut Following (.LNK)
type: Class
cwe-id: CWE-64
subclass of: Improper Link Resolution Before File Access ('Link Following')

Weak Password Recovery Mechanism for Forgotten Password
type: Class
cwe-id: CWE-640
subclass of: CWE-1390

Improper Restriction of Names for Files and Other Resources
type: Class
cwe-id: CWE-641
subclass of: Improper Control of Resource Identifiers ('Resource Injection')

Improper Neutralization of Data within XPath Expressions ('XPath Injection')
type: Class
cwe-id: CWE-643
subclass of: XML Injection (aka Blind XPath Injection)
subclass of: Improper Neutralization of Special Elements in Data Query Logic

Improper Neutralization of HTTP Headers for Scripting Syntax
type: Class
cwe-id: CWE-644
subclass of: Improper Encoding or Escaping of Output

Overly Restrictive Account Lockout Mechanism
type: Class
cwe-id: CWE-645
subclass of: Improper Authentication

Reliance on File Name or Extension of Externally-Supplied File
type: Class
cwe-id: CWE-646
subclass of: CWE-345

Use of Non-Canonical URL Paths for Authorization Decisions
type: Class
cwe-id: CWE-647
subclass of: Incorrect Authorization

Incorrect Use of Privileged APIs
type: Class
cwe-id: CWE-648
subclass of: Improper Privilege Management

Reliance on Obfuscation or Encryption of Security-Relevant Inputs without Integrity Checking
type: Class
cwe-id: CWE-649
subclass of: CWE-345

Windows Hard Link
type: Class
cwe-id: CWE-65
subclass of: Improper Link Resolution Before File Access ('Link Following')

Trusting HTTP Permission Methods on the Server Side
type: Class
cwe-id: CWE-650
subclass of: Interpretation Conflict

Exposure of WSDL File Containing Sensitive Information
type: Class
cwe-id: CWE-651
subclass of: Insertion of Sensitive Information into Externally-Accessible File or Directory

Improper Neutralization of Data within XQuery Expressions ('XQuery Injection')
type: Class
cwe-id: CWE-652
subclass of: XML Injection (aka Blind XPath Injection)
subclass of: Improper Neutralization of Special Elements in Data Query Logic

Insufficient Psychological Acceptability
type: Class
cwe-id: CWE-655
subclass of: Violation of Secure Design Principles
subclass of: CWE-693

Reliance on Security Through Obscurity
type: Class
cwe-id: CWE-656
subclass of: Violation of Secure Design Principles
subclass of: CWE-693

Improper Handling of Windows Device Names
type: Class
cwe-id: CWE-67
subclass of: Improper Handling of File Names that Identify Virtual Resources

Integer Overflow to Buffer Overflow
type: Class
cwe-id: CWE-680
subclass of: CWE-119

Function Call With Incorrect Order of Arguments
type: Class
cwe-id: CWE-683
subclass of: Function Call with Incorrectly Specified Arguments

Function Call With Incorrect Number of Arguments
type: Class
cwe-id: CWE-685
subclass of: Function Call with Incorrectly Specified Arguments

Function Call With Incorrect Argument Type
type: Class
cwe-id: CWE-686
subclass of: Function Call with Incorrectly Specified Arguments

Function Call With Incorrect Variable or Reference as Argument
type: Class
cwe-id: CWE-688
subclass of: Function Call with Incorrectly Specified Arguments

Permission Race Condition During Resource Copy
type: Class
cwe-id: CWE-689
subclass of: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

Improper Handling of Windows ::DATA Alternate Data Stream
type: Class
cwe-id: CWE-69
subclass of: Improper Handling of File Names that Identify Virtual Resources

Unchecked Return Value to NULL Pointer Dereference
type: Class
cwe-id: CWE-690
subclass of: NULL Pointer Dereference

Incomplete Denylist to Cross-Site Scripting
type: Class
cwe-id: CWE-692
subclass of: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Execution After Redirect (EAR)
type: Class
cwe-id: CWE-698
subclass of: Always-Incorrect Control Flow Implementation
subclass of: Incorrect Control Flow Scoping

J2EE Misconfiguration: Missing Custom Error Page
type: Class
cwe-id: CWE-7
subclass of: Missing Custom Error Page

Incorrect Ownership Assignment
type: Class
cwe-id: CWE-708
subclass of: Improper Ownership Management

Improper Handling of Apple HFS+ Alternate Data Stream Path
type: Class
cwe-id: CWE-72
subclass of: Improper Handling of File Names that Identify Virtual Resources

Selection of Less-Secure Algorithm During Negotiation ('Algorithm Downgrade')
type: Class
cwe-id: CWE-757
subclass of: CWE-693

Use of a One-Way Hash without a Salt
type: Class
cwe-id: CWE-759
subclass of: Use of Password Hash With Insufficient Computational Effort

Improper Neutralization of Equivalent Special Elements
type: Class
cwe-id: CWE-76
subclass of: Failure to Sanitize Special Elements into a Different Plane (Special Element Injection)

Use of a One-Way Hash with a Predictable Salt
type: Class
cwe-id: CWE-760
subclass of: Use of Password Hash With Insufficient Computational Effort

Free of Pointer not at Start of Buffer
type: Class
cwe-id: CWE-761
subclass of: Release of Invalid Pointer or Reference

Multiple Locks of a Critical Resource
type: Class
cwe-id: CWE-764
subclass of: Improper Locking
subclass of: Multiple Operations on Resource in Single-Operation Context

Multiple Unlocks of a Critical Resource
type: Class
cwe-id: CWE-765
subclass of: Improper Locking
subclass of: Multiple Operations on Resource in Single-Operation Context

Critical Data Element Declared Public
type: Class
cwe-id: CWE-766
subclass of: Insufficient Encapsulation

Access to Critical Private Variable via Public Method
type: Class
cwe-id: CWE-767
subclass of: CWE-668

Incorrect Short Circuit Evaluation
type: Class
cwe-id: CWE-768
subclass of: CWE-691

Missing Reference to Active File Descriptor or Handle
type: Class
cwe-id: CWE-773
subclass of: Missing Reference to Active Allocated Resource

Allocation of File Descriptors or Handles Without Limits or Throttling
type: Class
cwe-id: CWE-774
subclass of: Allocation of Resources Without Limits or Throttling

Missing Release of File Descriptor or Handle after Effective Lifetime
type: Class
cwe-id: CWE-775
subclass of: Missing Release of Resource after Effective Lifetime

Improper Restriction of Recursive Entity References in DTDs ('XML Entity Expansion')
type: Class
cwe-id: CWE-776
subclass of: CWE-405
subclass of: Uncontrolled Recursion

Regular Expression without Anchors
type: Class
cwe-id: CWE-777
subclass of: Permissive Regular Expression

Insufficient Logging
type: Class
cwe-id: CWE-778
subclass of: Omission of Security-relevant Information
subclass of: CWE-693

Logging of Excessive Data
type: Class
cwe-id: CWE-779
subclass of: Uncontrolled Resource Consumption

Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
type: Class
type: NamedIndividual
cwe-id: CWE-78
may-be-weakness-of: Eval Function
may-be-weakness-of: Process Start Function
may-be-weakness-of: UserInputFunction
subclass of: Restriction
  on property: may-be-weakness-of
  some values from: Process Start Function
subclass of: Restriction
  on property: may-be-weakness-of
  some values from: UserInputFunction
subclass of: Restriction
  on property: may-be-weakness-of
  some values from: Eval Function
subclass of: Improper Neutralization of Special Elements used in a Command ('Command Injection')

Use of RSA Algorithm without OAEP
type: Class
cwe-id: CWE-780
subclass of: Use of a Broken or Risky Cryptographic Algorithm

Improper Address Validation in IOCTL with METHOD_NEITHER I/O Control Code
type: Class
cwe-id: CWE-781
subclass of: Improper Validation of Specified Index, Position, or Offset in Input

Exposed IOCTL with Insufficient Access Control
type: Class
cwe-id: CWE-782
subclass of: Exposed Dangerous Method or Function

Operator Precedence Logic Error
type: Class
cwe-id: CWE-783
subclass of: Always-Incorrect Control Flow Implementation

Reliance on Cookies without Validation and Integrity Checking in a Security Decision
type: Class
cwe-id: CWE-784
subclass of: Reliance on Cookies without Validation and Integrity Checking
subclass of: Reliance on Untrusted Inputs in a Security Decision

Use of Path Manipulation Function without Maximum-sized Buffer
type: Class
cwe-id: CWE-785
subclass of: Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
subclass of: Use of Potentially Dangerous Function

Memory Allocation with Excessive Size Value
type: Class
cwe-id: CWE-789
subclass of: Improper Validation of Specified Quantity in Input
subclass of: Allocation of Resources Without Limits or Throttling

Only Filtering One Instance of a Special Element
type: Class
cwe-id: CWE-793
subclass of: Incomplete Filtering of One or More Instances of Special Elements

Incomplete Filtering of Multiple Instances of Special Elements
type: Class
cwe-id: CWE-794
subclass of: Incomplete Filtering of One or More Instances of Special Elements

Only Filtering Special Elements Relative to a Marker
type: Class
cwe-id: CWE-796
subclass of: Only Filtering Special Elements at a Specified Location

Only Filtering Special Elements at an Absolute Position
type: Class
cwe-id: CWE-797
subclass of: Only Filtering Special Elements at a Specified Location

J2EE Misconfiguration: Entity Bean Declared Remote
type: Class
cwe-id: CWE-8
subclass of: CWE-668

Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS)
type: Class
cwe-id: CWE-80
subclass of: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Guessable CAPTCHA
type: Class
cwe-id: CWE-804
subclass of: CWE-1390
subclass of: Incorrect Authorization

Buffer Access Using Size of Source Buffer
type: Class
cwe-id: CWE-806
subclass of: Buffer Access with Incorrect Length Value

Improper Neutralization of Script in an Error Message Web Page
type: Class
cwe-id: CWE-81
subclass of: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Improper Neutralization of Script in Attributes of IMG Tags in a Web Page
type: Class
cwe-id: CWE-82
subclass of: Improper Neutralization of Script in Attributes in a Web Page

Untrusted Pointer Dereference
type: Class
cwe-id: CWE-822
subclass of: CWE-119

Use of Out-of-range Pointer Offset
type: Class
cwe-id: CWE-823
subclass of: CWE-119

Access of Uninitialized Pointer
type: Class
cwe-id: CWE-824
subclass of: CWE-119

Premature Release of Resource During Expected Lifetime
type: Class
cwe-id: CWE-826
subclass of: Operation on Resource in Wrong Phase of Lifetime

Improper Control of Document Type Definition
type: Class
cwe-id: CWE-827
subclass of: Use of Incorrectly-Resolved Name or Reference
subclass of: Inclusion of Functionality from Untrusted Control Sphere

Inclusion of Web Functionality from an Untrusted Source
type: Class
cwe-id: CWE-830
subclass of: Inclusion of Functionality from Untrusted Control Sphere

Signal Handler Function Associated with Multiple Signals
type: Class
cwe-id: CWE-831
subclass of: Signal Handler Race Condition

Unlock of a Resource that is not Locked
type: Class
cwe-id: CWE-832
subclass of: Improper Locking

Deadlock
type: Class
cwe-id: CWE-833
subclass of: Improper Locking

Loop with Unreachable Exit Condition ('Infinite Loop')
type: Class
cwe-id: CWE-835
subclass of: Excessive Iteration

Use of Password Hash Instead of Password for Authentication
type: Class
cwe-id: CWE-836
subclass of: CWE-1390

Improper Enforcement of a Single, Unique Action
type: Class
cwe-id: CWE-837
subclass of: Improper Control of Interaction Frequency

Inappropriate Encoding for Output Context
type: Class
cwe-id: CWE-838
subclass of: Improper Encoding or Escaping of Output

Numeric Range Comparison Without Minimum Check
type: Class
cwe-id: CWE-839
subclass of: Incomplete Comparison with Missing Factors

Improper Neutralization of Encoded URI Schemes in a Web Page
type: Class
cwe-id: CWE-84
subclass of: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Improper Enforcement of Behavioral Workflow
type: Class
cwe-id: CWE-841
subclass of: CWE-691

Placement of User into Incorrect Group
type: Class
cwe-id: CWE-842
subclass of: Incorrect User Management

Access of Resource Using Incompatible Type ('Type Confusion')
type: Class
cwe-id: CWE-843
subclass of: Incorrect Type Conversion or Cast

Doubled Character XSS Manipulations
type: Class
cwe-id: CWE-85
subclass of: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Improper Neutralization of Invalid Characters in Identifiers in Web Pages
type: Class
cwe-id: CWE-86
subclass of: Interpretation Conflict
subclass of: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Improper Neutralization of Alternate XSS Syntax
type: Class
cwe-id: CWE-87
subclass of: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')
type: Class
cwe-id: CWE-88
subclass of: Improper Neutralization of Special Elements used in a Command ('Command Injection')

J2EE Misconfiguration: Weak Access Permissions for EJB Methods
type: Class
cwe-id: CWE-9
subclass of: Incorrect Privilege Assignment

Improper Neutralization of Special Elements used in an LDAP Query ('LDAP Injection')
type: Class
cwe-id: CWE-90
subclass of: Improper Neutralization of Special Elements in Data Query Logic

Use of Expired File Descriptor
type: Class
cwe-id: CWE-910
subclass of: Operation on a Resource after Expiration or Release

Improper Update of Reference Count
type: Class
cwe-id: CWE-911
subclass of: CWE-664

Improper Neutralization of Special Elements used in an Expression Language Statement ('Expression Language Injection')
type: Class
cwe-id: CWE-917
subclass of: Improper Neutralization of Special Elements used in a Command ('Command Injection')

Server-Side Request Forgery (SSRF)
type: Class
type: NamedIndividual
cwe-id: CWE-918
weakness-of: UserInputFunction
subclass of: Restriction
  on property: weakness-of
  some values from: UserInputFunction
subclass of: Unintended Proxy or Intermediary ('Confused Deputy')

Improper Restriction of Power Consumption
type: Class
cwe-id: CWE-920
subclass of: Uncontrolled Resource Consumption

Storage of Sensitive Data in a Mechanism without Access Control
type: Class
cwe-id: CWE-921
subclass of: Insecure Storage of Sensitive Information

Improper Enforcement of Message Integrity During Transmission in a Communication Channel
type: Class
cwe-id: CWE-924
subclass of: CWE-345

Improper Verification of Intent by Broadcast Receiver
type: Class
cwe-id: CWE-925
subclass of: Improper Verification of Source of a Communication Channel

Improper Export of Android Application Components
type: Class
cwe-id: CWE-926
subclass of: Improper Authorization

Use of Implicit Intent for Sensitive Communication
type: Class
cwe-id: CWE-927
subclass of: Improper Authorization
subclass of: CWE-668

Improper Authorization in Handler for Custom URL Scheme
type: Class
cwe-id: CWE-939
subclass of: Missing Authorization

Incorrectly Specified Destination in a Communication Channel
type: Class
cwe-id: CWE-941
subclass of: Improper Restriction of Communication Channel to Intended Endpoints

Permissive Cross-domain Policy with Untrusted Domains
type: Class
cwe-id: CWE-942
subclass of: Permissive List of Allowed Inputs
subclass of: Improper Restriction of Communication Channel to Intended Endpoints

Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')
type: Class
cwe-id: CWE-95
subclass of: Improper Control of Generation of Code ('Code Injection')

Improper Neutralization of Server-Side Includes (SSI) Within a Web Page
type: Class
cwe-id: CWE-97
subclass of: Improper Neutralization of Directives in Statically Saved Code ('Static Code Injection')

Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion')
type: Class
cwe-id: CWE-98
subclass of: Use of Incorrectly-Resolved Name or Reference
subclass of: Inclusion of Functionality from Untrusted Control Sphere

Canopy Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-CC
definition: The canopy clustering algorithm is an unsupervised pre-clustering algorithm often used as preprocessing step for the K-means algorithm or the Hierarchical clustering algorithm. It is intended to speed up clustering operations on large data sets.
kb-article: ## References Wikipedia. (n.d.). Canopy clustering algorithm. [Link](https://en.wikipedia.org/wiki/Canopy_clustering_algorithm)
subclass of: Cluster Analysis

Chatroom Client
type: Class
definition: Client software used to describe conduct any form of synchronous conferencing, occasionally even asynchronous conferencing. The term can thus mean any technology ranging from real-time online chat and online interaction with strangers (e.g., online forums) to fully immersive graphical social environments.
subclass of: Collaborative Software
alternative label: Chat Room Client

Child Process
type: Class
definition: A child process in computing is a process created by another process (the parent process). This technique pertains to multitasking operating systems, and is sometimes called a subprocess or traditionally a subtask. There are two major procedures for creating a child process: the fork system call (preferred in Unix-like systems and the POSIX standard) and the spawn (preferred in the modern (NT) kernel of Microsoft Windows, as well as in some historical operating systems).
subclass of: Process

Cloud Service Sensor
type: Class
type: NamedIndividual
definition: Senses data from cloud service platforms. Including data from cloud service authentications, authorizations, and other activities.
monitors: Cloud Service Authentication
monitors: Cloud Service Authorization
subclass of: Restriction
  on property: monitors
  some values from: Cloud Service Authentication
subclass of: Restriction
  on property: monitors
  some values from: Cloud Service Authorization
subclass of: Cyber Sensor

Computing Server
type: Class
definition: A compute server is a system specifically designed to undertake large amounts of computation, usually but not necessarily in a client/server environment.
subclass of: Server

Conference Paper
type: Class
subclass of: Academic Article

Configuration Management Database
type: Class
definition: A database used to store configuration records throughout their lifecycle. The Configuration Management System (CMS) maintains one or more CMDBs, and each CMDB stores attributes of configuration items (CIs), and relationships with other CIs.
subclass of: Configuration Database

Connection-basedClustering
type: NamedIndividual
d3fend-id: D3A-CBC

Console Output Function
type: Class
definition: Outputs characters to a computer console.
subclass of: Subroutine

Container Build Tool
type: Class
definition: A software build tool that creates a container (e.g., Docker container) for deployment.
subclass of: Software Packaging Tool

Container Process
type: Class
definition: A running instance of a d3f:ContainerImage
subclass of: Application Process

Container Runtime
type: Class
type: NamedIndividual
definition: A software layer between d3f:ContainerProcess and d3f:Kernel which often mediates the invocation of d3f:SystemCall
runs: Container Image
subclass of: Restriction
  on property: runs
  some values from: Container Image
subclass of: ServiceApplication

Copy Memory Function
type: Class
type: NamedIndividual
copies: MemoryBlock
definition: Copies a memory block from one location to another.
subclass of: Restriction
  on property: copies
  some values from: MemoryBlock
subclass of: Subroutine

Cramer's V
type: Class
type: NamedIndividual
d3fend-id: D3A-CV
definition: Cramér's V (sometimes referred to as Cramér's phi and denoted as φc) is a measure of association between two nominal variables, giving a value between 0 and +1 (inclusive) and is based on Pearson's chi-squared statistic.
kb-article: ## References Wikipedia. (n.d.). Cramér's V. [Link](https://en.wikipedia.org/wiki/Cram%C3%A9r%27s_V)
synonym: Cramer's Phi
subclass of: Correlation

CycleGAN
type: Class
type: NamedIndividual
d3fend-id: D3A-CYC
definition: The Cycle Generative Adversarial Network (CycleGAN) is an approach to training a deep convolutional neural network for image-to-image translation tasks by mapping between input and output images using unpaired dataset.
kb-article: ## References Esri. (n.d.). How CycleGAN Works. [Link](https://developers.arcgis.com/python/guide/how-cyclegan-works/)
subclass of: Image-to-Image Translation GAN

DBSCAN
type: Class
type: NamedIndividual
d3fend-id: D3A-DBS
definition: A density-based clustering algorithm that works on the assumption that clusters are dense regions in space separated by regions of lower density.
kb-article: ## References Analytics Vidhya. (2020, September 15). How DBSCAN Clustering Works: A Comprehensive Guide with Implementations in Python. [Link](https://www.analyticsvidhya.com/blog/2020/09/how-dbscan-clustering-works/#:~:text=DBSCAN%20is%20a%20density%2Dbased,points%20into%20a%20single%20cluster.)
subclass of: Density-based Clustering

DHCP Server
type: Class
definition: A Dynamic Host Configuration Protocol (DHCP) server is a type of server that assigns IP addresses to computers. DHCP servers are used to assign IP addresses to computers and other devices automatically. The DHCP server is responsible for assigning the unique IP address to each device.
subclass of: Server

DNN-based Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-DBC
definition: DNNs serve for clustering as mappings to better representations. The features of these representations can be drawn from different layers of the network or even from several layers.
kb-article: ## References OpenReview. (n.d.). Unsupervised Clustering using Pseudo Ensemble Models. [Link](https://openreview.net/pdf?id=B1eT9VMgOX)
subclass of: ANN-based Clustering

DNS Server
type: Class
definition: A Domain Name System (DNS) name server is a kind of name server. Domain names are one of the two principal namespaces of the Internet. The most important function of DNS servers is the translation (resolution) of human-memorable domain names and hostnames into the corresponding numeric Internet Protocol (IP) addresses, the second principal name space of the Internet which is used to identify and locate computer systems and resources on the Internet. (en). More generally, a name server is a computer application that implements a network service for providing responses to queries against a directory service. It translates an often humanly meaningful, text-based identifier to a system-internal, often numeric identification or addressing component. This service is performed by the server in response to a service protocol request.
subclass of: Server

Data Artifact Server
type: Class
definition: A data artifact server provides access services to content in a content repository. The content repository or content store is a database of digital content with an associated set of data management, search and access methods allowing application-independent access to the content, rather like a digital library, but with the ability to store and modify content in addition to searching and retrieving. The content repository acts as the storage engine for a larger application such as a content management system or a document management system, which adds a user interface on top of the repository's application programming interface.
subclass of: Artifact Server

Data Link Link
type: Class
definition: A communication link between two network devices connected directly at the physical layer and on the same network segment; i.e., an OSI Layer 2 link.
synonym: Data Link Layer Link
synonym: Layer-2 Link
synonym: Link Layer Link
subclass of: Logical Link

Database Server
type: Class
type: NamedIndividual
contains: Database
definition: A database server is a server which uses a database application that provides database services to other computer programs or to computers, as defined by the client-server model. Database management systems (DBMSs) frequently provide database-server functionality, and some database management systems (such as MySQL) rely exclusively on the client-server model for database access (while others e.g. SQLite are meant for using as an embedded database). For clarification, a database server is simply a server that maintains services related to clients via database applications.
subclass of: Restriction
  on property: contains
  some values from: Database
subclass of: Server
alternative label: Network Database Resource

Datalog
type: Class
type: NamedIndividual
d3fend-id: D3A-DAT
definition: Datalog is a declarative logic programming language that is a syntactically a subset of Prolog.
kb-article: ## How it works Datalog generally uses a bottom-up rather than top-down evaluation model. This difference yields significantly different behavior and properties from Prolog. It is often used as a query language for deductive databases. Datalog has been applied to problems in data integration, networking, program analysis, and more. ## References 1. Datalog. (2023, April 20). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Datalog)
subclass of: Logic Programming

Decision Tree Regression
type: Class
type: NamedIndividual
d3fend-id: D3A-DTR
definition: Decision Trees Regression is asupervised learning method with the goal to create a model that predicts the value of a target variable by learning simple decision rules inferred from the data features
kb-article: ## References scikit-learn. (n.d.). Decision Trees. [Link](https://scikit-learn.org/stable/modules/tree.html#tree)
subclass of: Regression Analysis Learning

Deep Convolutional GAN
type: Class
type: NamedIndividual
d3fend-id: D3A-DCG
definition: Deep Convolutional GAN (DCGAN) uses convolutional and convolutional-transpose layers in the generator and discriminator, respectively.
kb-article: ## References Analytics Vidhya. (2021). Deep Convolutional Generative Adversarial Network (DCGAN) for Beginners. [Link](https://www.analyticsvidhya.com/blog/2021/07/deep-convolutional-generative-adversarial-network-dcgan-for-beginners/)
synonym: DCGAN
subclass of: Image Synthesis GAN

Deep Q-learning
type: Class
type: NamedIndividual
d3fend-id: D3A-DQL
definition: Uses a deep convolutional neural network, with layers of tiled convolutional filters to mimic the effects of receptive fields.
kb-article: ## References Q-learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Q-learning#Deep_Q-learning).
subclass of: Q-Learning

Density-weighted Method
type: Class
type: NamedIndividual
d3fend-id: D3A-DWM
definition: An Actvie Learning technique that uses a density estimate meta-parameter to avoid sampling sparsely populated regions of the feature space and can be based parametrically or from a parameter free model.
kb-article: ## References Intro to Active Learning. inovex Blog. [Link](https://www.inovex.de/de/blog/intro-to-active-learning/).
subclass of: Active Learning

Deontic Logic
type: Class
type: NamedIndividual
d3fend-id: D3A-DL
definition: Deontic logic addresses the modality of obligations and norms; i.e., the modality of morality.
kb-article: ## References 1. Deontic logic. (2023, June 4). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Modal_logic#Deontic_logic)
subclass of: Modal Logic

Desktop Computer
type: Class
definition: A desktop computer is a personal computer designed for regular use at a single location on or near a desk or table due to its size and power requirements. The most common configuration has a case that houses the power supply, motherboard (a printed circuit board with a microprocessor as the central processing unit (CPU), memory, bus, and other electronic components, disk storage (usually one or more hard disk drives, solid state drives, optical disc drives, and in early models a floppy disk drive); a keyboard and mouse for input; and a computer monitor, speakers, and, often, a printer for output. The case may be oriented horizontally or vertically and placed either underneath, beside, or on top of a desk.
subclass of: Personal Computer

Dial Up Modem
type: Class
definition: A dial-up modem transmits computer data over an ordinary switched telephone line that has not been designed for data use. This contrasts with leased line modems, which also operate over lines provided by a telephone company, but ones which are intended for data use and do not impose the same signaling constraints. The modulated data must fit the frequency constraints of a normal voice audio signal, and the modem must be able to perform the actions needed to connect a call through a telephone exchange, namely: picking up the line, dialing, understanding signals sent back by phone company equipment (dial tone, ringing, busy signal,) and on the far end of the call, the second modem in the connection must be able to recognize the incoming ring signal and answer the line.
subclass of: Modem

Discriminant Analysis
type: Class
type: NamedIndividual
d3fend-id: D3A-DA
definition: Discriminant analysis attempts to establish whether a set of variables can be used to distinguish between two or more groups of cases.
kb-article: ## References Wikipedia. (n.d.). Multivariate statistics. [Link](https://en.wikipedia.org/wiki/Multivariate_statistics)
subclass of: Multivariate Analysis

Display Device Driver
type: Class
type: NamedIndividual
definition: A device driver for a display adapter.
drives: Display Adapter
subclass of: Restriction
  on property: drives
  some values from: Display Adapter
subclass of: Hardware Driver

Divisive Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-DC
definition: A divisive clustering approach is a hierarchical, top-down approach to clustering a dataset.
subclass of: Hierarchical Clustering

Dyna-Q
type: Class
type: NamedIndividual
d3fend-id: D3A-DQ
definition: A Dyna-Q agent combines acting, learning, and planning.
kb-article: ## References CompNeuro Neuromatch Academy Tutorials. [Link](https://compneuro.neuromatch.io/tutorials/W3D4_ReinforcementLearning/student/W3D4_Tutorial4.html)
subclass of: Model-based Reinforcement Learning

Dynamic Analysis Tool
type: Class
definition: Dynamic program analysis is the analysis of computer software that is performed by executing programs on a real or virtual processor.
subclass of: Code Analyzer

Email Attachment
type: Class
type: NamedIndividual
attached-to: Email
definition: An email attachment is a computer file sent along with an email message. One or more files can be attached to any email message, and be sent along with it to the recipient. This is typically used as a simple method to share documents and images.
subclass of: Restriction
  on property: attached-to
  some values from: Email
subclass of: DocumentFile

Embedded Computer
type: Class
definition: An embedded computer is a computer system -- a combination of a computer processor, computer memory, and input/output peripheral devices-that has a dedicated function within a larger mechanical or electrical system. It is embedded as part of a complete device often including electrical or electronic hardware and mechanical parts. Because an embedded system typically controls physical operations of the machine that it is embedded within, it often has real-time computing constraints. Embedded systems control many devices in common use today. Ninety-eight percent of all microprocessors manufactured are used in embedded systems.
subclass of: Client Computer
alternative label: Embedded System

Enclave
type: Class
type: NamedIndividual
definition: Network enclaves consist of standalone assets that do not interact with other information systems or networks. A major difference between a DMZ or demilitarized zone and a network enclave is a DMZ allows inbound and outbound traffic access, where firewall boundaries are traversed. In an enclave, firewall boundaries are not traversed. Enclave protection tools can be used to provide protection within specific security domains. These mechanisms are installed as part of an Intranet to connect networks that have similar security requirements.
may-contain: Local Area Network
subclass of: Restriction
  on property: may-contain
  some values from: Local Area Network
subclass of: DigitalInformationBearer
alternative label: Network Enclave

Encrypted Password
type: Class
subclass of: Encrypted Credential
subclass of: Password

Epistemic Logic
type: Class
type: NamedIndividual
d3fend-id: D3A-EL
definition: Epistemic logic addresses modalities of knowledge; i.e., the certainty of sentences.
kb-article: ## References 1. Epistemic logic. (2023, June 4). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Modal_logic#Epistemic_logic)
synonym: Epistemic Modal Logic
subclass of: Modal Logic

Exact Matching
type: Class
type: NamedIndividual
d3fend-id: D3A-EM
definition: Exact matching for numeric types is just the simple test for mathematical equivalence of the values being matched.
kb-article: ## References 1. Equality (mathematics). (2023, May 31). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Equality_(mathematics)]
synonym: Numeric Equivalence Matching
subclass of: Equivalence Matching
subclass of: Numeric Pattern Matching

Exception Handler
type: Class
definition: An exception handler is a code segment that processes an exception.
subclass of: Subroutine

Expectation-maximization Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-EMC
definition: An unsupervised clustering algorithm and extends to NLP applications like Latent Dirichlet Allocation, the Baum-Welch algorithm for Hidden Markov Models, and medical imaging.
kb-article: ## References Towards Data Science. (n.d.). Expectation Maximization Explained. [Link](https://towardsdatascience.com/expectation-maximization-explained-c82f5ed438e5#:~:text=Expectation%20Maximization%20(EM)%20is%20a,Markov%20Models%2C%20and%20medical%20imaging.)
subclass of: Distribution-based Clustering

Expected Error Reduction
type: Class
type: NamedIndividual
d3fend-id: D3A-EER
definition: Expected Error Reduction (EER) follows similar ideas as EMC, but again looks at the model output instead of the model itself and also takes the other data into account. In particular, a sample x is considered useful, if we can expect that knowing the label will reduce the future error on unseen samples
kb-article: ## References Intro to Active Learning. inovex Blog. [Link](https://www.inovex.de/de/blog/intro-to-active-learning/).
subclass of: Active Learning

Expected Model Change
type: Class
type: NamedIndividual
d3fend-id: D3A-EMC
definition: Supervised learning establishes a relationship between the known input and output variables to conduct a predictive analysis.
kb-article: nal Consiterations ## References Intro to Active Learning. inovex Blog. [Link](https://www.inovex.de/de/blog/intro-to-active-learning/).
subclass of: Active Learning

FQDN Domain Name
type: Domain Name
type: NamedIndividual

Fast Symbolic Link
type: Class
definition: Fast symbolic links, allow storage of the target path within the data structures used for storing file information on disk (e.g., within the inodes). This space normally stores a list of disk block addresses allocated to a file. Thus, symlinks with short target paths are accessed quickly. Systems with fast symlinks often fall back to using the original method if the target path exceeds the available inode space.
subclass of: Symbolic Link
subclass of: Unix Link
disjoint with: Slow Symbolic Link
alternative label: Fast Symlink

File Path Open Function
type: Class
type: NamedIndividual
accesses: File
definition: Has an input of a file path, and opens a file handle for reading or writing.
invokes: Open File
subclass of: Restriction
  on property: accesses
  some values from: File
subclass of: Restriction
  on property: invokes
  some values from: Open File
subclass of: Subroutine

File Server
type: Class
definition: The term server highlights the role of the machine in the traditional client-server scheme, where the clients are the workstations using the storage. A file server does not normally perform computational tasks or run programs on behalf of its client workstations. File servers are commonly found in schools and offices, where users use a local area network to connect their client computers.
subclass of: Server

File Share Service
type: Class
definition: A file sharing service (or file share service) provides the ability to share data across a network.
subclass of: Network Service

File System Sensor
type: Class
type: NamedIndividual
definition: Collects files and file metadata on an endpoint.
monitors: File
subclass of: Restriction
  on property: monitors
  some values from: File
subclass of: Endpoint Sensor

Finger Print Scanner Input Device
type: Class
definition: A fingerprint sensor is an electronic device used to capture a digital image of the fingerprint pattern. The captured image is called a live scan. This live scan is digitally processed to create a biometric template (a collection of extracted features) which is stored and used for matching. Many technologies have been used including optical, capacitive, RF, thermal, piezoresistive, ultrasonic, piezoelectric, and MEMS.
subclass of: Image Scanner Input Device
alternative label: Fingerprint Sensor

Firmware Sensor
type: Class
type: NamedIndividual
definition: Collects information on firmware installed on an Endpoint.
monitors: Firmware
subclass of: Restriction
  on property: monitors
  some values from: Firmware
subclass of: Endpoint Sensor

First-order Logic
type: Class
type: NamedIndividual
d3fend-id: D3A-FOL
definition: First-order logic is a collection of formal systems used in mathematics, philosophy, linguistics, and computer science. First-order logic uses quantified variables over non-logical objects, and allows the use of sentences that contain variables.
kb-article: ## How it works For propositions such as "Socrates is a man", one can have expressions in the form "there exists x such that x is Socrates and x is a man", where "there exists" is a quantifier, while x is a variable. This distinguishes it from propositional logic, which does not use quantifiers or relations. The term "first-order" distinguishes first-order logic from higher-order logic, in which there are predicates having predicates or functions as arguments, or in which quantification over predicates, functions, or both, are permitted. ## Considerations - Advantages: -- First-order logic is more expressive than propositional logic; one can talk about objects and their properties, relations between objects. -- First-order logic is able to make use of variables and quantifiers (e.g., "for all" and "exists".) -- First-order logic supports power forms of reasoning, such as inferring the properties of an unknown object from the properties of known objects. - Disadvantages: -- First-order logic is more difficult to learn and use than propositional logic, due to its greater complexity. -- First-order logic is also less tractable than propositional logic in many cases; reasoning about quantifiers and variables adds complexity. -- First-order logic can be difficult to apply in practice, due to the need to find appropriate axioms and rules for each application. ### Verification Approach - Automated theorem provers can assist in formal verification, performing automated reasoning over system modeled in first-order logic and explore a complete space of system behaviors - First-order logic may be more expressive than necessary for many types of problems and may be more difficult to verify by SMEs. - Theorem provers based in FOL are capable of use in software verification tasks, but an SMT solver such as Z3 might be more appropriate. - Defining a set of competency questions (i.e., query use cases for a first-order logic ontology) can help scope the logic required for a complete…
synonym: FOL
synonym: First-order Predicate Calculus
synonym: Quantificational Logic
subclass of: Predicate Logic

First-stage Boot Loader
type: Class
definition: The very first routine run in order to load the operating system.
subclass of: Boot Loader

Flash Memory
type: Class
definition: Flash memory is an electronic non-volatile computer memory storage medium that can be electrically erased and reprogrammed.
subclass of: Secondary Storage

Forward Proxy Server
type: Class
definition: An forward (or open) proxy is a proxy server that is accessible by any Internet user. Generally, a proxy server only allows users within a network group (i.e. a closed proxy) to store and forward Internet services such as DNS or web pages to reduce and control the bandwidth used by the group. With an open proxy, however, any user on the Internet is able to use this forwarding service.
subclass of: Proxy Server

Fuzzy Logic
type: Class
type: NamedIndividual
d3fend-id: D3A-FL
definition: Fuzzy logic is a form of many-valued logic in which the truth value of variables may be any real number between 0 and 1.
kb-article: ## How it works It is employed to handle the concept of partial truth, where the truth value may range between completely true and completely false.[1] By contrast, in Boolean logic, the truth values of variables may only be the integer values 0 or 1. ## References 1. Fuzzy logic. (2023, May 28). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Fuzzy_logic)
subclass of: Symbolic AI

GPT
type: Class
type: NamedIndividual
d3fend-id: D3A-GPT
definition: Generative pre-trained transformers (GPT) are a type of large language model (LLM) and a prominent framework for generative artificial intelligence.
kb-article: ## References Generative pre-trained transformer. (n.d.). In Wikipedia. [Link](https://en.wikipedia.org/wiki/Generative_pre-trained_transformer)
synonym: Generative Pre-trained Transformer
subclass of: Transformer-based Learning

Gated Recurrent Unit
type: Class
type: NamedIndividual
d3fend-id: D3A-GRU
definition: The GRU is like a long short-term memory (LSTM) with a forget gate, but has fewer parameters than LSTM, as it lacks an output gate. GRU's performance on certain tasks of polyphonic music modeling, speech signal modeling and natural language processing was found to be similar to that of LSTM
kb-article: ## References Wikipedia. (2021, September 20). Gated Recurrent Unit. [Link](https://en.wikipedia.org/wiki/Gated_recurrent_unit)
subclass of: Recurrent Neural Network

Goodman and Kruskal's Gamma
type: Class
type: NamedIndividual
d3fend-id: D3A-GAKG
definition: Goodman-Kruskal $\\gamma$ is a measure of rank correlation between x and y and is given by $(n_c -n_d) / (n_c + n_d)$, where $n_c$ is the number of concordant pairs of the observations and $n_d$ is the number of discordant pairs.
kb-article: ## References 1. Wolfram Research. (2012). GoodmanKruskalGamma. Wolfram Language function. [Link](https://reference.wolfram.com/language/ref/GoodmanKruskalGamma.html) 1. Goodman and Kruskal's gamma. (2022, Nov 23). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Goodman_and_Kruskal%27s_gamma]
subclass of: Rank Correlation

Gradient-Boosted Decision Tree
type: Class
type: NamedIndividual
d3fend-id: D3A-GBDT
definition: A gradient-boosted decision tree is, as in other bagging and boosting methods, a method where the relatively 'weak' machine learning model (a decision tree) is used in an ensemble to form a 'strong' machine learning model.
kb-article: ## Reference 1. Google. (28 Sep 2023). Gradient Boosted Decision Trees. [Link](https://developers.google.com/machine-learning/decision-forests/intro-to-gbdt).
subclass of: CART

Graph-based Semi-supervised Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-GBSSL
definition: Graph-based Semi-Supervised Learning (GSSL) methods aim to classify unlabeled data by learning the graph structure and labeled data jointly.
kb-article: ## References Yang, S., Pan, L., & Cheng, J. (2021). Graph-based Semi-Supervised Learning Methods for Imbalanced Data Classification. [Link](https://www.sciencedirect.com/science/article/pii/S0031320321002132?viewFullText=true).
subclass of: Semi-supervised Transductive Learning

Graphics Card Firmware
type: Class
definition: Firmware that is installed on computer graphics card.
subclass of: Peripheral Firmware
alternative label: Video Card Firmware

Graphics Processing Unit
type: Class
synonym: GPU
subclass of: Processor

Grid-CNN
type: Class
type: NamedIndividual
d3fend-id: D3A-GC
definition: A class of neural networks that specializes in processing data that has a grid-like topology, such as an image.
kb-article: ## References Talukdar, P. (2020, June 10). Convolutional Neural Networks Explained. Towards Data Science. [Link](https://towardsdatascience.com/convolutional-neural-networks-explained-9cc5188c4939)
subclass of: Convolutional Neural Network

Grid-based Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-GBC
definition: Divides the entire data space into a finite number of cells reducing the complexity of the data and focuses on the cells rather than the data.
kb-article: ## References TechVidvan. (n.d.). Clustering in Machine Learning Tutorial. [Link](https://techvidvan.com/tutorials/clustering-in-machine-learning/)
subclass of: High-dimension Clustering

Guidance
type: Class
subclass of: Policy

HTTPS URL
type: URL
type: NamedIndividual

HTTP URL
type: URL
type: NamedIndividual

Hard Disk Firmware
type: Class
definition: Firmware that is installed on a hard disk device.
subclass of: Peripheral Firmware
alternative label: Hard Drive Firmware

Heap Segment
type: Class
definition: The heap segment (or free store) is a large pool of memory from which dynamic memory requests of a process are allocated and satisfied.
subclass of: ProcessSegment

Heterogeneous Asymmetric Feature-based Transfer Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-HAFBTL
definition: Asymmetric transformation mapping transforms the source feature space to align with that of the target or the target to that of the source. This, in effect, bridges the feature space gap and reduces the problem into a homogeneous transfer problem when further distribution differences need to be corrected.
kb-article: ## References Wang, Q., Mao, K. Z., Wang, B., & Guan, J. (2017). Big data clustering by hybrid optimization algorithm. Journal of Big Data, 4(1), 25. [Link](https://journalofbigdata.springeropen.com/articles/10.1186/s40537-017-0089-0).
subclass of: Heterogeneous Transfer Learning

Heterogeneous Feature-based Transfer Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-HFBTL
definition: Symmetric transformation takes both the source feature space Xs and target feature space Xt and learns feature transformations as to project each onto a common subspace Xc for adaptation purposes. This derived subspace becomes a domain-invariant feature subspace to associate cross-domain data, and in effect, reduces marginal distribution differences.
kb-article: ## References Wang, Q., Mao, K. Z., Wang, B., & Guan, J. (2017). Big data clustering by hybrid optimization algorithm. Journal of Big Data, 4(1), 25. [Link](https://journalofbigdata.springeropen.com/articles/10.1186/s40537-017-0089-0).
subclass of: Heterogeneous Transfer Learning

Higher-order Logic
type: Class
type: NamedIndividual
d3fend-id: D3A-HOL
definition: Higher-order logic is a form of predicate logic that is distinguished from first-order logic by additional quantifiers and, sometimes, stronger semantics. Higher-order logics with their standard semantics are more expressive, but their model-theoretic properties are less well-behaved than those of first-order logic.
kb-article: ## References 1. Higher-order logic. (2023, May 13). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Higher-order_logic)
synonym: HOL
subclass of: Predicate Logic

Host Configuration Sensor
type: Class
type: NamedIndividual
definition: Collects the configuration data on an endpoint.
monitors: ApplicationConfiguration
monitors: Operating System Configuration
subclass of: Restriction
  on property: monitors
  some values from: Operating System Configuration
subclass of: Restriction
  on property: monitors
  some values from: ApplicationConfiguration
subclass of: Endpoint Sensor

Host Group
type: Class
type: NamedIndividual
contains: Host
definition: A collection of Hosts used to allow operations such as access control to be applied to the entire group.
subclass of: Restriction
  on property: contains
  some values from: Host
subclass of: Access Control Group

Hostname
type: Domain Name
type: Class
type: NamedIndividual
definition: In computer networking, a hostname (archaically nodename) is a label that is assigned to a device connected to a computer network and that is used to identify the device in various forms of electronic communication, such as the World Wide Web. Hostnames may be simple names consisting of a single word or phrase, or they may be structured.
identifies: Host
subclass of: Restriction
  on property: identifies
  some values from: Host
subclass of: Identifier
alternative label: Nodename

Human Input Device Firmware
type: Class
definition: Firmware that is installed on an HCI device such as a mouse or keyboard.
subclass of: Peripheral Firmware

Hybrid-based Transfer Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-HBTL
definition: This method creates an asymmetric mapping from the target to the source and takes into account bias issues of cross-domain correspondences.
kb-article: ## References Day, O., & Khoshgoftaar, T.M. (2017). A survey on heterogeneous transfer learning. Journal of Big Data, 4(1), 29. [Link](https://doi.org/10.1186/s40537-017-0089-0).
subclass of: Homogenous Transfer Learning

ID3
type: Class
type: NamedIndividual
d3fend-id: D3A-ID3
definition: ID3 stands for Iterative Dichotomiser 3 and is named such because the algorithm iteratively (repeatedly) dichotomizes(divides) features into two or more groups at each step.
kb-article: ## Addtional Consiterations ID3 is the basis of C4.5, and is best used in natural language processing. ## References Decision Trees for Classification: ID3 Algorithm Explained. Towards Data Science. [Link](https://towardsdatascience.com/decision-trees-for-classification-id3-algorithm-explained-89df76e72df1).
subclass of: Decision Tree

IP Phone
type: Class
definition: A VoIP phone or IP phone uses voice over IP technologies for placing and transmitting telephone calls over an IP network, such as the Internet, instead of the traditional public switched telephone network (PSTN). Digital IP-based telephone service uses control protocols such as the Session Initiation Protocol (SIP), Skinny Client Control Protocol (SCCP) or various other proprietary protocols.
subclass of: Personal Computer
alternative label: VoIP Phone

Import Library Function
type: Class
type: NamedIndividual
definition: Loads an external software library to enable the invocations of its methods.
loads: SharedLibraryFile
subclass of: Restriction
  on property: loads
  some values from: SharedLibraryFile
subclass of: Subroutine

Instance-based Transfer Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-IBTL
definition: Instance-based transfer learning methods try to reweight the samples in the source domain in an attempt to correct for marginal distribution differences. These reweighted instances are then directly used in the target domain for training.
kb-article: ## References Georgian Impact Blog. (n.d.). Transfer Learning Part 1. [Link](https://medium.com/georgian-impact-blog/transfer-learning-part-1-ed0c174ad6e7#:~:text=Homogeneous%20Transfer%20Learning-,1.,the%20target%20domain%20for%20training).
subclass of: Homogenous Transfer Learning

Instant Messaging Client
type: Class
definition: Client software used to engage in Instant Messaging, a type of online chat that offers real-time text transmission over the Internet. A LAN messenger operates in a similar way over a local area network. Short messages are typically transmitted between two parties, when each user chooses to complete a thought and select "send". Some IM applications can use push technology to provide real-time text, which transmits messages character by character, as they are composed. More advanced instant messaging can add file transfer, clickable hyperlinks, Voice over IP, or video chat.
subclass of: Collaborative Software

Integration Test Execution Tool
type: Class
definition: An integration test execution tool automatically performs integration testing. Integration testing (sometimes called integration and testing, abbreviated I&T) is the phase in software testing in which individual software modules are combined and tested as a group.
subclass of: Test Execution Tool

Internationalized Domain Name
type: Domain Name
type: NamedIndividual

Internet DNS Lookup
type: Class
definition: An internet Domain Name System (DNS) lookup is a DNS lookup made from a host on a network that is resolved after querying a DNS name server hosted on a different network.
subclass of: DNS Lookup

Internet File Transfer Traffic
type: Class
definition: Internet file transfer network traffic is network traffic related to file transfers between network nodes that crosses a boundary between networks. This includes only network traffic conforming to standard file transfer protocols, not custom transfer protocols.
subclass of: File Transfer Network Traffic
subclass of: InternetNetworkTraffic

Internet Network
type: Class
definition: A network of multiple, connected networks. Internetworking is the practice of connecting a computer network with other networks through the use of gateways that provide a common method of routing information packets between the networks. The resulting system of interconnected networks are called an internetwork, or simply an internet. Internetworking is a combination of the words inter ("between") and networking; not internet-working or international-network.
subclass of: Network
alternative label: Interconnected Network
alternative label: Internet
alternative label: Internetwork

Interval Estimation
type: Class
type: NamedIndividual
d3fend-id: D3A-IE
definition: Interval estimation is the use of sample data to estimate an interval of possible values of a parameter of interest.
kb-article: ## References Wikipedia. (n.d.). Interval estimation. [Link](https://en.wikipedia.org/wiki/Interval_estimation)
subclass of: Estimation

Intranet DNS Lookup
type: Class
definition: An Intranet Domain Name System (DNS) lookup is a DNS lookup made from a host on a network that is resolved after querying a DNS name server hosted on a that same network.
subclass of: DNS Lookup

Intranet RPC Network Traffic
type: Class
definition: Intranet RPC network traffic is network traffic that does not cross a given network's boundaries and uses a standard remote procedure call (e.g., RFC 1050) protocol.
subclass of: IntranetNetworkTraffic
subclass of: RPC Network Traffic

Intrusion Prevention System
type: Class
definition: Intrusion prevention systems (IPS), also known as intrusion detection and prevention systems (IDPS), are network security appliances that monitor network or system activities for malicious activity. The main functions of intrusion prevention systems are to identify malicious activity, log information about this activity, report it and attempt to block or stop it. Intrusion prevention systems are considered extensions of intrusion detection systems because they both monitor network traffic and/or system activities for malicious activity. The main differences are, unlike intrusion detection systems, intrusion prevention systems are placed in-line and are able to actively prevent or block intrusions that are detected. IPS can take such actions as sending an alarm, dropping detected malicious packets, resetting a connection or blocking traffic from the offending IP address. An IPS also can correct cyclic redundancy check (CRC) errors, defragment packet streams, mitigate TCP sequencing issues, and clean up unwanted transport and network layer options.
subclass of: Intrusion Detection System
alternative label: IDPS
alternative label: IPS
alternative label: Intrusion Detection and Prevention System

Java Archive
type: Class
definition: A JAR (Java ARchive) is a package file format typically used to aggregate many Java class files and associated metadata and resources (text, images, etc.) into one file for distribution.
subclass of: Archive File
subclass of: Software Package

Journal Article
type: Class
subclass of: Academic Article

K-Center Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-KCC
definition: K-center Clustering is a type of clustering based on an combinatorial optimization methods. It clusters a set of points so as to minimize the maximum intercluster distance.
kb-article: ## How it works An example K-center Clustering problem is to mimimize the number of points in a set that are necessary so that a every other point in the set is within some fixed distance of those points. For instance, given n cities with specified distances, one wants to build k warehouses in different cities and minimize the maximum distance of a city to a warehouse. ## Considerations - **Scalability**: Exact solutions are NP-hard. However, algorithms that have been proven effective and create no more than 2x the optimal set of clusters can run in O(kn) proportional to k*n where k is the minimum number of clusters and n is the number of data points being clustered. ## Key Test Considerations - **Unsupervised Learning**: - **Number of Clusters**: The Gonzalez (Gon) algorithm guarantees creating no more than twice the optimal number of clusters, where the optimal number is the minimum number of clusters to minimize total distance between representative points in the clusters [1]. - **Cluster Analysis**: - **Rand Index and Adjusted Rand Index**: Given ground truth set of class labels for the data, the Rand Index is a measure of the similarity between two data clusterings. The Rand Index is the accuracy of determining if a link belongs within a cluster or not. A form of the Rand Index may be defined that is adjusted for the chance grouping of elements, this is the Adjusted Rand Index [5]. - **Adjusted Mutual Information**: Given ground truth set of class labels for the data, Adjusted Mutual Information corrects the effect of agreement solely due to chance between clusterings, similar to the way the Adjusted Rand Index corrects the Rand Index [6]. - **Connection-based Clustering**: - **Choice of Distance Metric**: The outcome can vary significantly depending on the chosen distance metric (e.g., Euclidean, Manhattan). - **Sensitivity**: Connection-based method can be sensitive to outliers, which might affect the quality of the clusters formed. - **K-center Clustering**:…
subclass of: Graph-based Clustering

K-Fold Cross-Validation
type: Class
type: NamedIndividual
d3fend-id: D3A-KFCV
definition: Cross-validation is a resampling procedure used to evaluate machine learning models on a limited data sample. The procedure has a single parameter called k that refers to the number of groups that a given data sample is to be split into. As such, the procedure is often called k-fold cross-validation. When a specific value for k is chosen, it may be used in place of k in the reference to the model, such as k=10 becoming 10-fold cross-validation
kb-article: ## References K-Fold Cross-Validation. Machine Learning Mastery. [Link](https://machinelearningmastery.com/k-fold-cross-validation/#:~:text=Cross%2Dvalidation%20is%20a%20resampling,k%2Dfold%20cross%2Dvalidation).
subclass of: Resampling Ensemble

K-Nearest Neighbors
type: Class
type: NamedIndividual
d3fend-id: D3A-KNN
definition: The k-nearest neighbors algorithm, also known as KNN or k-NN, is a non-parametric, supervised learning classifier, which uses proximity to make classifications or predictions about the grouping of an individual data point.
kb-article: ## **How it works** The goal of the k-nearest neighbor algorithm is to identify the nearest neighbors of a given query point, so that we can assign a class label to that point. To determine which data points are closest to a given query point, the distance between the query point and the other data points will need to be calculated. The distance measures used can vary depending on the data set or implementation and help inform decision boundaries, which query points into different regions. Then, by defining the k-value (the number of neighbors to be checked to determine the classification of a specific query point), the data can be assigned its class label. For classification problems, a class label is assigned on the basis of a majority vote—i.e. the label that is most frequently represented around a given data point is used (the term “majority vote” is commonly used in literature, however, the technique is more technically considered “plurality voting”). Regression problems use a similar concept as classification problem, but in this case, the average the k nearest neighbors is taken to make a prediction about a classification. The main distinction here is that classification is used for discrete values, whereas regression is used with continuous ones. Unlike other algorithms that explicitly model the problem, such as linear regression, KNN is instance-based. It means that the algorithm doesn't explicitly learn a model. Instead, it memorizes the training instances and uses them as "knowledge" for the prediction phase. It's also worth noting that the KNN algorithm is also part of a family of “lazy learning” models, meaning that it only stores a training dataset versus undergoing a training stage. ## **Considerations** * **Scaling:** Scaling is a problem as KNN is a lazy algorithm and takes up more memory and storage compared to other classification methods. * **Implementation and Hyperparameters:** As KNN only requires a k-value and a distance metric, it is often a…
subclass of: Classification

K-means Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-KMC
definition: K-means algorithm identifies k number of centroids, and then allocates every data point to the nearest cluster, while keeping the centroids as small as possible.
kb-article: ## References Towards Data Science. (n.d.). Understanding K-means Clustering in Machine Learning. [Link](https://towardsdatascience.com/understanding-k-means-clustering-in-machine-learning-6a6e67336aa1)
subclass of: Centroid-based Clustering

Kendall's Rank Correlation Coefficient
type: Class
type: NamedIndividual
d3fend-id: D3A-KRCC
definition: Kendall's $\\tau$ between and is given by $(n_c - n_d) / \\sqrt((n_c+n_d+n_x)(n_c+n_d+n_y)$, where is the number of concordant pairs of observations, is the number of discordant pairs, is the number of ties involving only the variable, and is the number of ties involving only the variable." ;
kb-article: ## References 1. Wolfram Research. (2012). KendallTau. Wolfram Language function. [Link](https://reference.wolfram.com/language/ref/KendallTau.html) 1. Kendall's Tau. (2023, May 23). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Kendall_rank_correlation_coefficient]""",
synonym: Kendall's Tau Coefficient
subclass of: Rank Correlation

Kerberos Ticket Granting Service Ticket
type: Class
definition: A Kerberos ticket-granting service (TGS) ticket is given in response to requesting a Kerberos TGS request.
subclass of: Kerberos Ticket
alternative label: TGS Ticket

Kerberos Ticket Granting Ticket Account
type: Class
type: NamedIndividual
creates: Kerberos Ticket Granting Ticket
definition: KRBTGT is an account used by Key Distribution Center (KDC) service to issue Ticket Granting Tickets (TGTs) as part of the Kerberos authentication protocol.
synonym: krbtgt
subclass of: Restriction
  on property: creates
  some values from: Kerberos Ticket Granting Ticket
subclass of: Service Account

Kernel API Sensor
type: Class
type: NamedIndividual
definition: Monitors system calls (operating system api functions).
monitors: SystemCall
subclass of: Restriction
  on property: monitors
  some values from: SystemCall
subclass of: Endpoint Sensor

Kiosk Computer
type: Class
definition: An interactive kiosk is a computer terminal featuring specialized hardware and software that provides access to information and applications for communication, commerce, entertainment, or education. Early interactive kiosks sometimes resembled telephone booths, but have been embraced by retail, food service and hospitality to improve customer service and streamline operations. Interactive kiosks are typically placed in high foot traffic settings such as shops, hotel lobbies or airports.
subclass of: Shared Computer
alternative label: Interactive Kiosk

LDIF Record
type: UserAccount
type: NamedIndividual

Laptop Computer
type: Class
definition: A laptop computer (also laptop), is a small, portable personal computer (PC) with a "clamshell" form factor, typically having a thin LCD or LED computer screen mounted on the inside of the upper lid of the clamshell and an alphanumeric keyboard on the inside of the lower lid. The clamshell is opened up to use the computer. Laptops are folded shut for transportation, and thus are suitable for mobile use. Its name comes from lap, as it was deemed to be placed on a person's lap when being used. Although originally there was a distinction between laptops and notebooks (the former being bigger and heavier than the latter), as of 2014, there is often no longer any difference. Today, laptops are commonly used in a variety of settings, such as at work, in education, for playing games, web browsing
subclass of: Personal Computer
alternative label: Laptop
alternative label: Notebook

Levenschtein Matching
type: Class
type: NamedIndividual
d3fend-id: D3A-LM
definition: The Levenshtein distance (LD) is a metric for measuring the differences between two sequences - or strings. Informally, the LD is the number of individual edits one would have to make to turn one sequence into another.
kb-article: ## References 1. Navarro, G. (2001). A guided tour to approximate string matching. _ACM Computing Surveys_, 33(1), 31-88. [Link](https://doi.org/10.1145/375360.375365)
synonym: Edit Distance
subclass of: Approximate String Matching

Linear Classifier
type: Class
type: NamedIndividual
d3fend-id: D3A-LC
definition: A linear classifier is a model that makes a decision to categories a set of data points to a discrete class based on a linear combination of its explanatory variables
kb-article: ## References A Look at the Maths Behind Linear Classification. Towards Data Science. [Link](https://towardsdatascience.com/a-look-at-the-maths-behind-linear-classification-166e99a9e5fb).
subclass of: Classification

Linear Logic Programming
type: Class
type: NamedIndividual
d3fend-id: D3A-LLP
definition: Linear logic programming is a form of logic programming that uses linear logic, that is, it emphasizes the use of formulas as resources.
kb-article: ## References 1. Cosmo, R. and Miller D. (2019, May 24). _Linear logic_. Stanford Encyclopedia of Philosophy. [Link](https://plato.stanford.edu/entries/logic-linear/#LinLogComSci) 2. Linear logic programming. (2023, May 16). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Logic_programming#Linear_logic_programming)
subclass of: Logic Programming

Linear Regression Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-LRL
definition: A supervised learning method that builds a linear regression model using training data.
kb-article: ## References - Gawali, Suvarna. “Linear Regression Algorithm to Make Predictions Easily.” Analytics Vidhya, 22 July 2022, https://www.analyticsvidhya.com/blog/2021/06/linear-regression-in-machine-learning/. - Nau, Robert. “Statistical Forecasting: Notes On Regression and Time Series Analysis.” Introduction to Linear Regression Analysis, Duke University Fuqua School of Business, 18 Aug. 2020, https://people.duke.edu/~rnau/regintro.htm. - Ng, Ritchie. “Evaluating a Linear Regression Model.” Ritchieng.github.io, 8 Jan. 2023, https://www.ritchieng.com/machine-learning-evaluate-linear-regression-model/. - Bochkarev, Alexei. "A New Typology Design of Performance Metrics to Measure Errors in Machine Learning Regression Algorithms", 2019, https://www.researchgate.net/publication/330661543_A_New_Typology_Design_of_Performance_Metrics_to_Measure_Errors_in_Machine_Learning_Regression_Algorithms.
subclass of: Regression Analysis Learning

Linux Clone
type: Class
definition: Creates a child process and provides more precise control over the data shared between the parent and child processes
subclass of: OS API Create Process

Linux Clone3
type: Class
definition: Creates a child process and provides more precise control over the data shared between the parent and child processes. Newer system call.
subclass of: OS API Create Process

Linux Clone3 Argument CLONE_THREAD
type: Class
definition: A flag parameter to the Clone3 syscall. If set, the child is placed in the same thread group as the calling process.
subclass of: OS API Create Thread

Linux Clone Argument CLONE_THREAD
type: Class
definition: A flag parameter to the Clone syscall. If set, the child is placed in the same thread group as the calling process.
subclass of: OS API Create Thread

Linux Connect
type: Class
definition: Initiate a connection on a socket.
subclass of: OS API Connect Socket

Linux Creat
type: Class
definition: Equivalent to calling Linux Open with flags equal to O_CREAT|O_WRONLY|O_TRUNC.
subclass of: OS API Create File

Linux Delete Module
type: Class
definition: Attempts to remove the unused loadable module entry identified by name. If the module has an exit function, then that function is executed before unloading the module.
subclass of: OS API Unload Module

Linux ELF File 32bit
type: ExecutableBinary
type: NamedIndividual
definition: test

Linux ELF File 64bit
type: ExecutableBinary
type: NamedIndividual

Linux Execve
type: Class
definition: Executes a program by replacing the calling process with a new program, with newly initialized stack, heap, and (initialized and uninitialized) data segments. The PID stays the same.
subclass of: OS API Exec

Linux Execveat
type: Class
definition: Execute program relative to a directory file descriptor. Behavior is similar to Linux Execve.
subclass of: OS API Exec

Linux Fork
type: Class
definition: Creates a child process with unique PID but retains parent PID as Parent Process Identifier (PPID)
subclass of: OS API Create Process

Linux Init Module
type: Class
definition: Loads an ELF image into kernel space, performs any necessary symbol relocations, initializes module parameters to values provided by the caller, and then runs the module's init function.
subclass of: OS API Load Module

Linux Kill Argument SIGKILL
type: Class
definition: Send SIGKILL signal to a process.
subclass of: OS API Terminate Process

Linux Mmap
type: Class
definition: Map files or devices into memory.
subclass of: OS API Allocate Memory

Linux Mmap2
type: Class
definition: Map files or devices into memory.
subclass of: OS API Allocate Memory

Linux Munmap
type: Class
definition: Unmap files or devices from memory.
subclass of: OS API Free Memory

Linux Open Argument O_CREAT
type: Class
definition: Create a regular file.
subclass of: OS API Create File

Linux Open Argument O_RDONLY, O_WRONLY, O_RDWR
type: Class
definition: Opens a file specified by pathname.
subclass of: OS API Open File

Linux OpenAt2 Argument O_CREAT
type: Class
definition: Create a regular file. Extension of Linux Openat.
subclass of: OS API Create File

Linux OpenAt2 Argument O_RDONLY, O_WRONLY, O_RDWR
type: Class
definition: Extension of Linux Openat.
subclass of: OS API Open File

Linux OpenAt Argument O_CREAT
type: Class
definition: Create a regular file. Same functionality as Linux Open but slight differences in parameter.
subclass of: OS API Create File

Linux OpenAt Argument O_RDONLY, O_WRONLY, O_RDWR
type: Class
definition: Same functionality as Linux Open but slight differences in parameter.
subclass of: OS API Open File

Linux Pause Process
type: Class
definition: Causes the calling process to sleep until a signal is delivered that either terminates the process or causes the invocation of a signal-catching function.
subclass of: OS API Suspend Process

Linux Pause Thread
type: Class
definition: Causes the calling thread to sleep until a signal is delivered that either terminates the thread or causes the invocation of a signal-catching function.
subclass of: OS API Suspend Thread

Linux Process
type: Process
type: NamedIndividual

Linux Ptrace Argument PTRACE_ATTACH
type: Class
definition: Attach to the process specified in pid, making it a tracee of the calling process.
subclass of: OS API Access Process

Linux Ptrace Argument PTRACE_CONT
type: Class
definition: Restart the stopped tracee process.
subclass of: OS API Resume Process

Linux Ptrace Argument PTRACE_GETREGS
type: Class
definition: Copy the tracee's general-purpose or floating-point registers, respectively, to the address data in the tracer.
subclass of: OS API Save Registers

Linux Ptrace Argument PTRACE_INTERRUPT
type: Class
definition: Stops a tracee.
subclass of: OS API Suspend Process

Linux Ptrace Argument PTRACE_PEEKTEXT
type: Class
definition: Read a word at the address addr in the tracee's memory, returning the word as the result of the ptrace() call.
subclass of: OS API Read Memory

Linux Ptrace Argument PTRACE_POKETEXT
type: Class
definition: Copy the word data to the address addr in the tracee's memory.
subclass of: OS API Write Memory

Linux Ptrace Argument PTRACE_SETREGS
type: Class
definition: Modify the tracee's general-purpose or floating-point registers, respectively, from the address data in the tracer.
subclass of: OS API Set Registers

Linux Ptrace Argument PTRACE_DETACH
type: Class
definition: Restart the stopped tracee as for PTRACE_CONT, but first detach from it.
subclass of: OS API Resume Process

Linux Ptrace Argument PTRACE_TRACEME
type: Class
definition: Indicates that the process is to be traced by its parent.
subclass of: OS API Trace Process

Linux Read
type: Class
definition: Read from a file descriptor.
subclass of: OS API Read File

Linux Readv
type: Class
definition: Read data into multiple buffers.
subclass of: OS API Read File

Linux Rename
type: Class
definition: Change the name or location of a file
subclass of: OS API Move File

Linux Renameat
type: Class
definition: Change the name or location of a file. Different parameter handling than Linux Rename.
subclass of: OS API Move File

Linux Renameat2
type: Class
definition: Change the name or location of a file. Additional flags argument.
subclass of: OS API Move File

Linux Socket
type: Class
definition: Create an endpoint for communication.
subclass of: OS API Create Socket

Linux Socketcall Argument SYS_CONNECT
type: Class
subclass of: OS API Connect Socket

Linux Socketcall Argument SYS_SOCKET
type: Class
subclass of: OS API Create Socket

Linux Time
type: Class
definition: Get time in seconds.
subclass of: OS API Get System Time

Linux Unlink
type: Class
definition: Delete a name and possibly the file it refers to.
subclass of: OS API Delete File

Linux Unlinkat
type: Class
definition: Delete a name and possibly the file it refers to. Different parameter handling than Linux Unlink
subclass of: OS API Delete File

Linux Vfork
type: Class
definition: Create child process that temp suspends parent process until it terminates
subclass of: OS API Create Process

Linux Write
type: Class
definition: Write to a file descriptor.
subclass of: OS API Write File

Linux Writev
type: Class
definition: Write data into multiple buffers.
subclass of: OS API Write File

Linux _Exit
type: Class
definition: Terminate the calling process.
subclass of: OS API Terminate Process

Local Authentication Service
type: Class
definition: A local authentication service running on a host can authenticate a user logged into just that local host computer.
subclass of: AuthenticationService
subclass of: System Service Software

Local Authorization Service
type: Class
definition: A local authorization service running on a host can authorize a user logged into just that local host computer.
subclass of: Authorization Service
subclass of: System Service Software

Log Message Function
type: Class
definition: Produces an entry in a log.
subclass of: Subroutine

Logistic Regression Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-LRL
definition: A supervised learning method that builds a logistic regression model using training data.
kb-article: ## References Wikipedia. (n.d.). Logistic regression. [Link](https://en.wikipedia.org/wiki/Logistic_regression)
subclass of: Regression Analysis Learning

Logon User
type: Class
type: NamedIndividual
authenticates: UserAccount
subclass of: Restriction
  on property: authenticates
  some values from: UserAccount
subclass of: SystemCall

Long Short-term Memory
type: Class
type: NamedIndividual
d3fend-id: D3A-LSTM
definition: Unlike standard feedforward neural networks, LSTM has feedback connections. Such a recurrent neural network (RNN) can process not only single data points (such as images), but also entire sequences of data (such as speech or video). This characteristic makes LSTM networks ideal for processing and predicting data
kb-article: ## References Wikipedia. (2021, September 29). Long short-term memory. [Link](https://en.wikipedia.org/wiki/Long_short-term_memory)
subclass of: Recurrent Neural Network

Lua Script File
type: ExecutableScript
type: NamedIndividual

Application Developer Guidance
type: ATTACKEnterpriseMitigation
type: NamedIndividual
d3fend-comment: A future release of D3FEND will define a taxonomy of Source Code Hardening Techniques.

Active Directory Configuration
type: ATTACKEnterpriseMitigation
type: NamedIndividual
d3fend-comment: M1015 scope is broad, touches on an wide variety of techniques in D3FEND.
related: Authentication Cache Invalidation
related: DomainTrustPolicy
related: UserAccountPermissions

Vulnerability Scanning
type: ATTACKEnterpriseMitigation
type: NamedIndividual
d3fend-comment: Future D3FEND releases will model the scanning and inventory domains.

User Training
type: ATTACKEnterpriseMitigation
type: NamedIndividual
d3fend-comment: Modeling user training is outside the scope of D3FEND.

User Account Management
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: LocalFilePermissions
related: MandatoryAccessControl
related: SystemConfigurationPermissions

Threat Intelligence Program
type: ATTACKEnterpriseMitigation
type: NamedIndividual
d3fend-comment: Establishing and running a Threat Intelligence Program is outside the scope of D3FEND.

SSL/TLS Inspection
type: ATTACKEnterpriseMitigation
type: NamedIndividual
d3fend-comment: D3FEND models this as an infrastructure dependency to support D3-NTA.
related: NetworkTrafficAnalysis

Restrict Web-Based Content
type: ATTACKEnterpriseMitigation
type: NamedIndividual
d3fend-comment: M1021 scope is broad, touches on an wide variety of techniques in d3fend.
related: DNS Allowlisting
related: DNS Denylisting
related: FileAnalysis
related: InboundTrafficFiltering
related: NetworkTrafficAnalysis
related: OutboundTrafficFiltering
related: URL Analysis

Restrict File and Directory Permissions
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: LocalFilePermissions

Restrict Registry Permission
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: SystemConfigurationPermissions

Privileged Process Integrity
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: Bootloader Authentication
related: DriverLoadIntegrityChecking
related: MandatoryAccessControl
related: Process Segment Execution Prevention

Privileged Account Management
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: DomainAccountMonitoring
related: LocalAccountMonitoring
related: StrongPasswordPolicy

Password Policies
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: One-time Password
related: StrongPasswordPolicy

Operating System Configuration
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: PlatformHardening

Remote Data Storage
type: ATTACKEnterpriseMitigation
type: NamedIndividual
d3fend-comment: IT disaster recovery plans are outside the current scope of D3FEND.

Network Segmentation
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: Broadcast Domain Isolation
related: EncryptedTunnels
related: Inbound Session Volume Analysis
related: InboundTrafficFiltering

Network Intrusion Prevention
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: InboundTrafficFiltering
related: NetworkTrafficAnalysis
related: OutboundTrafficFiltering

Multi-factor Authentication
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: Multi-factorAuthentication

Limit Software Installation
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: ExecutableAllowlisting
related: ExecutableDenylisting

Limit Hardware Installation
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: IO Port Restriction

Limit Access to Resource Over Network
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: Network Isolation

Account Use Policies
type: ATTACKEnterpriseMitigation
type: NamedIndividual
d3fend-comment: D3-AZET may be related (is potentially related though not called out in ATT&CK definition.)
related: AccountLocking
related: Authentication Cache Invalidation
related: Authentication Event Thresholding

Filter Network Traffic
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: Network Isolation

Execution Prevention
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: DriverLoadIntegrityChecking
related: ExecutableAllowlisting
related: ExecutableDenylisting
related: Process Segment Execution Prevention

Environment Variable Permissions
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: Application Configuration Hardening
related: System File Analysis

Behavior Prevention on Endpoint
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: Authentication Event Thresholding
related: Authorization Event Thresholding
related: Job Function Access Pattern Analysis
related: Resource Access Pattern Analysis
related: Session Duration Analysis
related: User Data Transfer Analysis
related: User Geolocation Logon Pattern Analysis
related: Web Session Activity Analysis

Encrypt Sensitive Information
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: DiskEncryption
related: EncryptedTunnels
related: FileEncryption
related: Message Encryption

Disable or Remove Feature or Program
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: Application Configuration Hardening
related: ExecutableDenylisting
related: MandatoryAccessControl

Credential Access Protection
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: Hardware-basedProcessIsolation

Restrict Library Loading
type: ATTACKEnterpriseMitigation
type: NamedIndividual
d3fend-comment: D3-SCF is one possible way to filter library loading.
related: System Call Filtering

Code Signing
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: DriverLoadIntegrityChecking
related: ExecutableAllowlisting
related: Service Binary Verification

Boot Integrity
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: Bootloader Authentication
related: TPMBootIntegrity

Audit
type: ATTACKEnterpriseMitigation
type: NamedIndividual
d3fend-comment: M1047 scope is broad, touches on an wide variety of techniques in d3fend.
related: DomainAccountMonitoring
related: LocalAccountMonitoring
related: System File Analysis

Application Isolation and Sandboxing
type: ATTACKEnterpriseMitigation
type: NamedIndividual
d3fend-comment: "Sandboxing" is often used to describe a detection environment which includes some forms of analysis (see D3-DA.)" Many forms of isolation (e.g., quarantining) are more static in nature and simply limit software's access to system resources.
related: Dynamic Analysis
related: Hardware-basedProcessIsolation
related: MandatoryAccessControl
related: System Call Filtering

Antivirus/Antimalware
type: ATTACKEnterpriseMitigation
type: NamedIndividual
d3fend-comment: Process Analysis and subclasses.
related: FileContentRules
related: FileHashing
related: ProcessAnalysis

Exploit Protection
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: Application Hardening
related: Exception Handler Pointer Validation
related: InboundTrafficFiltering
related: Shadow Stack Comparisons

Update Software
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: SoftwareUpdate

User Account Control
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: MandatoryAccessControl

Data Backup
type: ATTACKEnterpriseMitigation
type: NamedIndividual
d3fend-comment: Comprehensive IT disaster recovery plans are outside the current scope of D3FEND.

Software Configuration
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: Application Configuration Hardening
related: Certificate Pinning

Do Not Mitigate
type: ATTACKEnterpriseMitigation
type: NamedIndividual

Pre-compromise
type: ATTACKEnterpriseMitigation
type: NamedIndividual
related: Decoy Environment
related: Decoy Object

MSG Email File
type: Email
type: NamedIndividual

Maximum-margin Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-MML
definition: Maximum-margin classifiers attempt to maximize the distance between the given data points and the decision boundary
kb-article: ## References Engelen, S., & Hoos, H. (2020). A survey on semi-supervised learning. Machine Learning, 109(2), 299-337. [Link](https://link.springer.com/article/10.1007/s10994-019-05855-6). Support Vector Machines for Machine Learning. [Link](https://machinelearningmastery.com/support-vector-machines-for-machine-learning/#:~:text=The%20distance%20between%20the%20line,called%20the%20Maximal%2DMargin%20hyperplane.)
subclass of: Intrinsically Semi-supervised Learning

Media Generation
type: Class
subclass of: Media Generation
disjoint with: Simulation

Media Server
type: Class
definition: A media server is a computer appliance or an application software that stores digital media (video, audio or images) and makes it available over a network. Media servers range from servers that provide video on demand to smaller personal computers or NAS (Network Attached Storage) for the home.
subclass of: Server

Memory Allocation Function
type: Class
type: NamedIndividual
definition: Reserves memory for a running process to use.
invokes: Allocate Memory
subclass of: Restriction
  on property: invokes
  some values from: Allocate Memory
subclass of: Subroutine

Memory Free Function
type: Class
type: NamedIndividual
definition: Releases previously reserved memory associated with a process.
invokes: Free Memory
subclass of: Restriction
  on property: invokes
  some values from: Free Memory
subclass of: Subroutine

Memory Pool
type: Class
type: NamedIndividual
contains: MemoryBlock
definition: Memory pools, also called fixed-size blocks allocation, is the use of pools for memory management… preallocating a number of memory blocks with the same size called the memory pool. The application can allocate, access, and free blocks represented by handles at run time.
subclass of: Restriction
  on property: contains
  some values from: MemoryBlock
subclass of: Memory Extent

Microcode
type: Class
definition: Microcode is a computer hardware technique that interposes a layer of organization between the CPU hardware and the programmer-visible instruction set architecture of the computer. As such, the microcode is a layer of hardware-level instructions that implement higher-level machine code instructions or internal state machine sequencing in many digital processing elements.
subclass of: Firmware

Microsoft Word DOCB File
type: DocumentFile
type: NamedIndividual

Microsoft Word DOC File
type: DocumentFile
type: NamedIndividual

Microsoft Word DOCM File
type: DocumentFile
type: NamedIndividual

Microsoft Word DOCX File
type: DocumentFile
type: NamedIndividual

Microsoft Word DOT File
type: DocumentFile
type: NamedIndividual

Microsoft Word DOTM File
type: DocumentFile
type: NamedIndividual

Microsoft Word DOTX File
type: DocumentFile
type: NamedIndividual

Microsoft Word WBK File
type: DocumentFile
type: NamedIndividual

Mobile Phone
type: Class
definition: A mobile phone, cellular phone, cell phone, cellphone or hand phone, sometimes shortened to simply mobile, cell or just phone, is a portable telephone that can make and receive calls over a radio frequency link while the user is moving within a telephone service area. The radio frequency link establishes a connection to the switching systems of a mobile phone operator, which provides access to the public switched telephone network (PSTN). Modern mobile telephone services use a cellular network architecture and, therefore, mobile telephones are called cellular telephones or cell phones in North America. In addition to telephony, digital mobile phones (2G) support a variety of other services, such as text messaging, MMS, email, Internet access, short-range wireless communications (infrared,
subclass of: Personal Computer
alternative label: Cellphone
alternative label: Cellular Phone

Model-based Policy Optimization
type: Class
type: NamedIndividual
d3fend-id: D3A-MBPO
definition: Model-based policy optimization (MBPO) is a model-based, online, off-policy reinforcement learning algorithm. For more information on the different types of reinforcement learning agents
kb-article: ## References MBPO Agents. MathWorks. [Link](https://www.mathworks.com/help/reinforcement-learning/ug/mbpo-agents.html).
subclass of: Model-based Reinforcement Learning

Model-based Value Iteration
type: Class
type: NamedIndividual
d3fend-id: D3A-MBVI
definition: Value Iteration effectively reducesthe evaluation stage down to a single sweep of the states. Additionally, to improve things further, it combines the Policy Evaluation and Policy Improvement stages into a single update.
kb-article: ## References Policy and Value Iteration. Towards Data Science. [Link](https://towardsdatascience.com/policy-and-value-iteration-78501afb41d2).
synonym: MBVI
subclass of: Model-based Reinforcement Learning

Mouse Input Device
type: Class
definition: A computer mouse (plural mice or mouses) is a hand-held pointing device that detects two-dimensional motion relative to a surface. This motion is typically translated into the motion of a pointer on a display, which allows a smooth control of the graphical user interface of a computer. In addition to moving a cursor, computer mice have one or more buttons to allow operations such as selection of a menu item on a display. Mice often also feature other elements, such as touch surfaces and scroll wheels, which enable additional control and dimensional input.
subclass of: Input Device
alternative label: Computer Mouse

Moving Average Model
type: Class
type: NamedIndividual
d3fend-id: D3A-MAM
definition: the moving-average model (MA model) is an approach for modeling univariate time series and specifies that the output variable is cross-correlated with a non-identical to itself random-variable.
kb-article: ## Refrences Wikipedia. (n.d.). Moving average model. [Link](https://en.wikipedia.org/wiki/Moving_average_model)
synonym: MA Model
subclass of: Time Series Analysis

Multiclass Classification
type: Class
subclass of: Classifying

Multilayer Perceptron Classification
type: Class
type: NamedIndividual
d3fend-id: D3A-MPC
definition: A multilayer perceptron (MLP) is a fully connected class of feedforward artificial neural network (ANN).An MLP consists of at least three layers of nodes: an input layer, a hidden layer and an output layer.
kb-article: ## References Multilayer perceptron. Wikipedia. [Link](https://en.wikipedia.org/wiki/Multilayer_perceptron).
subclass of: Artificial Neural Network Classification

Multimedia Document File
type: Class
definition: Digital video files which often contain audio.
subclass of: DocumentFile

Multiple Regression Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-MRL
definition: A supervised learning method that builds a multiple regression model using training data.
kb-article: ## References Yale University Department of Statistics. (1997-98). Linear regression and multivariate analysis. [Link](http://www.stat.yale.edu/Courses/1997-98/101/linmult.htm)
subclass of: Regression Analysis Learning

NIST SP 800-53 R3
type: NIST SP 800-53 Control Catalog
type: NamedIndividual
archived-at: https://csrc.nist.gov/publications/detail/sp/800-53/rev-4/archive/2013-04-30
version: 3

NIST SP 800-53 R4
type: NIST SP 800-53 Control Catalog
type: NamedIndividual
archived-at: https://csrc.nist.gov/publications/detail/sp/800-53/rev-4/archive/2013-04-30
version: 4

NTFS Hard Link
type: Class
definition: An NTFS hard link points to another file, and files share the same MFT entry (inode), in the same filesystem.
subclass of: Hard Link
subclass of: NTFS Link

NTFS Junction Point
type: Class
definition: NTFS junction points are are similar to NTFS symlinks but are defined only for directories. Only accepts local absolute paths.
subclass of: NTFS Link
subclass of: Symbolic Link
alternative label: Junction Point

NTFS Symbolic Link
type: Class
definition: An NTFS symbolic link records the path of another file that the links contents should show. Can accept relative paths. SMB networking (UNC path) and directory support added in NTFS 3.1.
subclass of: NTFS Link
subclass of: Symbolic Link
alternative label: NTFS Symlink

Naive Bayes Classifier
type: Class
type: NamedIndividual
d3fend-id: D3A-NBC
definition: The Naïve Bayes classifier is a supervised machine learning algorithm, which is used for classification tasks, like text classification. It is also part of a family of generative learning algorithms, meaning that it seeks to model the distribution of inputs of a given class or category.
kb-article: ## References Naive Bayes. IBM. [Link](https://www.ibm.com/topics/naive-bayes?mhsrc=ibmsearch_a&mhq=naive%20bayes).
subclass of: Classification

Network Card Firmware
type: Class
definition: Firmware that is installed on a network card (network interface controller).
subclass of: Peripheral Firmware
alternative label: Network Controller Firmware

Network Directory Resource
type: Class
type: NamedIndividual
contains: Directory
definition: A directory resource made available from one host to other hosts on a computer network.
subclass of: Restriction
  on property: contains
  some values from: Directory
subclass of: Network File Share Resource

Network Flow Sensor
type: Class
type: NamedIndividual
definition: Monitors network traffic and produces summaries of data flows traversing the network.
monitors: Network Flow
subclass of: Restriction
  on property: monitors
  some values from: Network Flow
subclass of: Network Sensor

Network Link
type: Class
definition: A network link is a link within the network layer, which is responsible for packet forwarding including routing through intermediate routers.
synonym: Layer-3 Link
synonym: Network Layer Link
subclass of: Logical Link

Network Printer
type: Class
definition: In computing, a network printer is a device that can be accessed over a network which makes a persistent representation of graphics or text, usually on paper. While most output is human-readable, bar code printers are an example of an expanded use for printers. The different types of printers include 3D printer, inkjet printer, laser printer, thermal printer, etc. Note that not all printers are networked and the digital information to be printed must be passed either by removable media or as directly connecting the printer to a computer (e.g., by USB.)
subclass of: Shared Computer

Network Protocol Analyzer
type: Class
type: NamedIndividual
definition: Monitors and parses network protocols to extract values from various network protocol layers.
monitors: NetworkTraffic
subclass of: Restriction
  on property: monitors
  some values from: NetworkTraffic
subclass of: Network Sensor

Network Time Server
type: Class
definition: A network time server is a server computer that reads the actual time from a reference clock and distributes this information to its clients using a computer network. The time server may be a local network time server or an internet time server. The time server may also be a stand-alone hardware device. It can use NTP (RFC5905) or other protocols.
subclass of: Server

Network Traffic Analysis Software
type: Digital Artifact
type: Class
type: NamedIndividual
definition: A packet analyzer, also known as packet sniffer, protocol analyzer, or network analyzer, is a computer program or computer hardware such as a packet capture appliance, that can intercept and log traffic that passes over a computer network or part of a network.
subclass of: Developer Application
alternative label: Network Sniffer

Non-Parametric Tests
type: Class
type: NamedIndividual
d3fend-id: D3A-NPT
definition: A non-parametric test relies is used when the underlying distribution of data is non-symmetric (non-normal distribution).
kb-article: ## References Newcastle University. (n.d.). Parametric Hypothesis Tests. [Link](https://www.ncl.ac.uk/webtemplate/ask-assets/external/maths-resources/psychology/non-parametric-hypothesis-tests.html)
subclass of: Hypothesis Testing

Non-monotonic Logic
type: Class
type: NamedIndividual
d3fend-id: D3A-NML
definition: Non-monotonic logic is a formal logic whose conclusion relation is not monotonic. In other words, non-monotonic logics are devised to capture and represent defeasible inferences (cf. defeasible reasoning), i.e., a kind of inference in which reasoners draw tentative conclusions, enabling reasoners to retract their conclusion(s) based on further evidence.
kb-article: ## References 1. Non-monotonic logic. (2023, June 1). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Non-monotonic_logic)
subclass of: Symbolic AI

Nonlinear Regression Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-NRL
definition: A supervised learning method that builds a non-linear regression model using training data.
kb-article: ## References Wikipedia. (n.d.). Nonlinear regression. [Link](https://en.wikipedia.org/wiki/Nonlinear_regression)
subclass of: Regression Analysis Learning

OWL
type: Class
type: NamedIndividual
d3fend-id: D3A-OWL
definition: The Web Ontology Language (OWL) is a family of knowledge representation languages for authoring ontologies.
kb-article: ## How it works Ontologies are a formal way to describe taxonomies and classification networks, essentially defining the structure of knowledge for various domains: the nouns representing classes of objects and the verbs representing relations between the objects. The OWL languages are characterized by formal semantics. They are built upon the World Wide Web Consortium's (W3C) standard for objects called the Resource Description Framework (RDF). OWL classes correspond to description logic (DL) _concepts_. OWL properties to DL _roles_, and individuals are named the same way in OWL and other DLs. ## References 1. Web Ontology Language. (2023, April 23). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Web_Ontology_Language)
synonym: Web Ontology Language
subclass of: Description Logic

Open-source Developer
type: Class
subclass of: Product Developer

Open Source License
type: Class
subclass of: License

Operating System Packaging Tool
type: Class
definition: A software packaging tool oriented on building a software package for a particular operating system (e.g. rpmbuild.)
subclass of: Software Packaging Tool

Operations Center Computer
type: Class
definition: Mainframe computers or mainframes (colloquially referred to as "big iron") are computers used primarily by large organizations for critical applications; bulk data processing, such as census, industry and consumer statistics, and enterprise resource planning; and transaction processing. They are larger and have more processing power than some other classes of computers: minicomputers, servers, workstations, and personal computers.
subclass of: Shared Computer
alternative label: Mainframe

Optical Modem
type: Class
definition: A modem that connects to a fiber optic network is known as an optical network terminal (ONT) or optical network unit (ONU). These are commonly used in fiber to the home installations, installed inside or outside a house to convert the optical medium to a copper Ethernet interface, after which a router or gateway is often installed to perform authentication, routing, NAT, and other typical consumer internet functions, in addition to "triple play" features such as telephony and television service.
subclass of: Modem

Orchestration Controller
type: Class
type: NamedIndividual
contains: Container Orchestration Software
definition: An orchestration server provides orchestration services that automate the configuration, coordination, and management of computer systems and software.
subclass of: Restriction
  on property: contains
  some values from: Container Orchestration Software
subclass of: Orchestration Server

Orchestration Worker
type: Class
definition: A d3f:Server which receives commands from a d3f:OrchestrationController to execute workloads.
subclass of: Orchestration Server

Outbound Internet RPC Traffic
type: Class
definition: Outbound internet RPC traffic is RPC traffic that is: (a) on an outgoing connection initiated from a host within a network to a host outside the network, and (b) using a standard RPC protocol.
subclass of: OutboundInternetNetworkTraffic
subclass of: Outbound Network Traffic
subclass of: RPC Network Traffic

PE32 Executable File
type: ExecutableBinary
type: NamedIndividual

PE32+ Executable File
type: ExecutableBinary
type: NamedIndividual

POSIX Symbolic Link
type: Class
definition: A POSIX-compliant symbolic link. These are often fast symbolic links, but need not be.
subclass of: Symbolic Link
subclass of: Unix Link

Packet Log
type: Class
type: NamedIndividual
definition: A log of all the network packet data captured from a network by a network sensor (i.e., packet analyzer),
records: Network Session
subclass of: Restriction
  on property: records
  some values from: Network Session
subclass of: Log

Page
type: Class
definition: A page, memory page, logical page, or virtual page is a fixed-length contiguous block of virtual memory, described by a single entry in the page table. It is the smallest unit of data for memory management in a virtual memory operating system.
subclass of: MemoryBlock

Parameter-based Transfer Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-PBTL
definition: The idea behind parameter-based methods is that a well-trained model on the source domain has learned a well-defined structure, and if two tasks are related, this structure can be transferred to the target model.
kb-article: ## References Georgian Impact Blog. (n.d.). Transfer Learning Part 1. [Link](https://medium.com/georgian-impact-blog/transfer-learning-part-1-ed0c174ad6e7#:~:text=Homogeneous%20Transfer%20Learning-,1.,the%20target%20domain%20for%20training).
subclass of: Homogenous Transfer Learning

Parametric Tests
type: Class
type: NamedIndividual
d3fend-id: D3A-PT
definition: A parametric test relies upon the assumption that the data you want to test is (or approximately is) normally distributed.
kb-article: ## References Newcastle University. (n.d.). Parametric Hypothesis Tests. [Link](https://www.ncl.ac.uk/webtemplate/ask-assets/external/maths-resources/psychology/parametric-hypothesis-tests.html)
subclass of: Hypothesis Testing

Parent Process
type: Class
definition: In computing, a parent process is a process that has created one or more child processes.
subclass of: Process

Password Manager
type: Class
definition: A password manager is a software application or hardware that helps a user store and organize passwords. Password managers usually store passwords encrypted, requiring the user to create a master password: a single, ideally very strong password which grants the user access to their entire password database. Some password managers store passwords on the user's computer (called offline password managers), whereas others store data in the provider's cloud (often called online password managers). However offline password managers also offer data storage in the user's own cloud accounts rather than the provider's cloud. While the core functionality of a password manager is to securely store large collections of passwords, many provide additional features such as form filling and password generation.
subclass of: Application

Pearson's Correlation Coefficient
type: Class
type: NamedIndividual
d3fend-id: D3A-PCC
kb-article: ## References Wolfram MathWorld. (n.d.). Correlation Coefficient. [Link](https://mathworld.wolfram.com/CorrelationCoefficient.html)
subclass of: Correlation

Peripheral Hub Firmware
type: Class
definition: Firmware that is installed on peripheral hub device such as a USB or Firewire hub.
subclass of: Peripheral Firmware
alternative label: USB Hub Firmware

Perturbation-based Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-PBL
definition: Perturbation based methods are proposed under the smoothness assumption, which indicates that two data points close to each other in feature space are likely to have the same label.
kb-article: ## References Zheng, Y., & Song, Y. (2021). An Effective Perturbation-Based Semi-Supervised Learning Method for Acoustic Event Classification. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 29, 3580-3591. [Link](https://www.semanticscholar.org/paper/An-Effective-Perturbation-Based-Semi-Supervised-for-Zheng-Song/b75ae37d137ac354eb2ed42917e461b4dccdc977). Engelen, S., & Hoos, H. (2020). A survey on semi-supervised learning. Machine Learning, 109(2), 299-337. [Link](https://link.springer.com/article/10.1007/s10994-019-05855-6).
subclass of: Intrinsically Semi-supervised Learning

Phi Coefficient
type: Class
type: NamedIndividual
d3fend-id: D3A-PC
definition: The phi coefficient (or mean square contingency coefficient is a measure of association for two binary variables.
kb-article: ## References \Wikipedia. (n.d.). Phi coefficient. [Link](https://en.wikipedia.org/wiki/Phi_coefficient)
synonym: MCC
synonym: Matthews Correlation Coefficient (in machine learning)
subclass of: Correlation

Pix2Pix
type: Class
type: NamedIndividual
d3fend-id: D3A-PIX
definition: Pix2Pix is based on condtional GAN architecture and are trained on paired set of images or scenes from two domains to be used for translation.
kb-article: ## References Esri. (n.d.). How Pix2Pix Works. [Link](https://developers.arcgis.com/python/guide/how-pix2pix-works/)
subclass of: Image-to-Image Translation GAN

Point-biserial Correlation Coefficient
type: Class
type: NamedIndividual
d3fend-id: D3A-PBCC
definition: The point biserial correlation coefficient (rpb) is a correlation coefficient used when one variable (e.g. Y) is dichotomous; Y can either be "naturally" dichotomous, like whether a coin lands heads or tails, or an artificially dichotomized variable.
kb-article: ## References Wikipedia. (n.d.). Point-biserial correlation coefficient. [Link](https://en.wikipedia.org/wiki/Point-biserial_correlation_coefficient)
subclass of: Correlation

Point Estimation
type: Class
type: NamedIndividual
d3fend-id: D3A-PE
definition: A point estimation is a single value that estimates the parameter. Point estimates are single values calculated from the sample
kb-article: ## References Pennsylvania State University. (n.d.). Statistical Inference and Estimation. [Link](https://online.stat.psu.edu/stat504/lesson/statistical-inference-and-estimation)
subclass of: Estimation

Powershell Script File
type: ExecutableScript
type: NamedIndividual

Principal Component Analysis
type: Class
type: NamedIndividual
d3fend-id: D3A-PCA
definition: Principal components analysis (PCA) creates a new set of orthogonal variables that contain the same information as the original set. It rotates the axes of variation to give a new set of orthogonal axes, ordered so that they summarize decreasing proportions of the variation.
kb-article: ## References Wikipedia. (n.d.). Multivariate statistics. [Link](https://en.wikipedia.org/wiki/Multivariate_statistics)
synonym: PCA
subclass of: Multivariate Analysis

Principal Components Analysis
type: Class
type: NamedIndividual
d3fend-id: D3A-PCA
definition: Principal Component Analysis (PCA) is a statistic-based method of identifying patterns in a large dataset while increasing interpretability and preserving information.
kb-article: ## References Wikipedia. (n.d.). Principal component analysis. [Link](https://en.wikipedia.org/wiki/Principal_component_analysis)
subclass of: Dimension Reduction

Print Server
type: Class
definition: A print server, or printer server, is a device that connects printers to client computers over a network. It accepts print jobs from the computers and sends the jobs to the appropriate printers, queuing the jobs locally to accommodate the fact that work may arrive more quickly than the printer can actually handle.
subclass of: Server

Privileged User Account
type: Class
definition: A privileged account is a user account that has more privileges than ordinary users. Privileged accounts might, for example, be able to install or remove software, upgrade the operating system, or modify system or application configurations. They might also have access to files that are not normally accessible to standard users. Typical examples are root and administrator accounts. But there also service accounts, system accounts, etc. Privileged accounts are especially powerful, and should be monitored especially closely.
subclass of: UserAccount

Probabilistic Logic
type: Class
type: NamedIndividual
d3fend-id: D3A-PL
definition: Probabilistic logic extends traditional logic truth tables with probabilistic expressions.
kb-article: ## References 1. Probabilistic logic. (2023, June 5). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Probabilistic_logic)
subclass of: Symbolic AI

Progressively Growing GAN
type: Class
type: NamedIndividual
d3fend-id: D3A-PGG
definition: Progressive Growing GAN (ProGAN) is an extension to the GAN training process that allows for the stable training of generator models that can output large high-quality images.
kb-article: ## References Machine Learning Mastery. (n.d.). Introduction to Progressive Growing Generative Adversarial Networks. [Link](https://machinelearningmastery.com/introduction-to-progressive-growing-generative-adversarial-networks/)
synonym: ProGAN
subclass of: Image Synthesis GAN

Projected Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-PC
definition: Projected clustering is a dimension reduction subspace clustering method.
kb-article: ## References GeeksforGeeks. (n.d.). Projected Clustering in Data Analytics. [Link](https://www.geeksforgeeks.org/projected-clustering-in-data-analytics/)
subclass of: High-dimension Clustering

Prolog
type: Class
type: NamedIndividual
d3fend-id: D3A-PRO
definition: Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages.
kb-article: ## How it works Prolog is intended primarily as a declarative programming language: the program logic is expressed in terms of relations, represented as facts and rules. A computation is initiated by running a query over these relations. ## References 1. Prolog. (2023, April 5). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Prolog)
subclass of: Logic Programming

Propositional Logic
type: Class
type: NamedIndividual
d3fend-id: D3A-PL
definition: Propositional logic deals with statements (i.e., propositions, which can be true or false) and relations between propositions, including the construction of arguments based on them.
kb-article: ## How it works Compound propositions are formed by connecting propositions by logical connectives. Propositions that contain no logical connectives are called atomic propositions. ## References 1. Propositional Calculus. (2022, May 31). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Propositional_calculus)
synonym: Propositional Calculus
subclass of: Symbolic AI

Proprietary License
type: Class
subclass of: License

Python Package
type: Class
definition: A Python package is an aggregation of many Python files - either in source code or in bytecode - and associated metadata and resources (text, images, etc.). Python packages can be distributed in different file formats.
subclass of: Software Package

Python Script File
type: Class
subclass of: ExecutableScript

Query By Committee
type: Class
type: NamedIndividual
d3fend-id: D3A-QBC
definition: Query by Committee (QBC) takes inspiration from ensemble methods. Instead of just one classifier, it takes into account the decision of a committee C=ℎ1,…,ℎc of classifiers ℎi. Each classifier has the same target classes, but a different underlying model or a different view on the data.
kb-article: ## References Intro to Active Learning. inovex Blog. [Link](https://www.inovex.de/de/blog/intro-to-active-learning/).
subclass of: Active Learning

RAM
type: Class
definition: Random-access memory (RAM) is a form of computer memory that can be read and changed in any order, typically used to store working data and machine code.
synonym: Random-access Memory
subclass of: Primary Storage

RF Receiver
type: Class
subclass of: RF Node

RF Transceiver
type: Class
subclass of: RF Node

ROM
type: Class
definition: Read-only memory (ROM) is a type of non-volatile memory used in computers and other electronic devices. Data stored in ROM cannot be electronically modified after the manufacture of the memory device. Read-only memory is useful for storing software that is rarely changed during the life of the system, also known as firmware.
synonym: Read-only Memory
subclass of: Primary Storage

Radio Modem
type: Class
definition: A radio modem provides the means to send digital data wirelessly. Radio modems are used to communicate by direct broadcast satellite, WiFi, WiMax, mobile phones, GPS, Bluetooth and NFC. Modern telecommunications and data networks also make extensive use of radio modems where long distance data links are required. Such systems are an important part of the PSTN, and are also in common use for high-speed computer network links to outlying areas where fiber optic is not economical.
subclass of: Modem

Random Forest
type: Class
type: NamedIndividual
d3fend-id: D3A-RF
definition: Random Forest is a ML method that combines several other ML methods. At its core, Random Forest is an ensemble method of multiple bootstrapped decision trees filled with training data and random feature selection.
kb-article: ## References Random forest. Wikipedia. [Link](https://en.wikipedia.org/wiki/Random_forest).
subclass of: Bootstrap Aggregating

Random Splits
type: Class
type: NamedIndividual
d3fend-id: D3A-RS
definition: The dataset is repeatedly sampled with a random split of the data into train and test sets.
kb-article: ## References How to Create a Random Split Cross-Validation and Bagging Ensemble for Deep Learning in Keras."*Machine Learning Mastery*. [Link](https://machinelearningmastery.com/how-to-create-a-random-split-cross-validation-and-bagging-ensemble-for-deep-learning-in-keras/).
subclass of: Resampling Ensemble

Range Matching
type: Class
type: NamedIndividual
d3fend-id: D3A-RM
definition: Numeric Range Matching determines if a value lies with an interval of values (i.e., within the range of values.)
subclass of: Numeric Pattern Matching

Reference - Apparatus for to provide content to and query a reverse domain name system server - Barrracuda Networks
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20100174829A1/en
kb-abstract: An apparatus is disclosed for to provide content to and query a reverse domain name system (DNS) server without depending on the kindness of domain name system registrars, registrants. DNS replies are observed by firewalls or filters, analyzed, and transmitted to a reverse domain name system server. An embodiment of the present invention can be within a DNS server or SMTP server.
kb-author: Dean Danko
kb-mitre-analysis: This patent includes the description of a method of blocking email traffic from untrusted domains by analyzing the TCP/IP source IP addresses and blocking traffic for IPs whose reverse lookup response FQDN matches a denylist.
kb-reference-title: Apparatus for to provide content to and query a reverse domain name system server

Reference - Biometric Challenge-Response Authentication - Accenture
type: PatentReference
type: NamedIndividual
has-link: https://www.patentguru.com/US2021110015A1
kb-abstract: Secret biometric responses to authentication challenges for MFA. Methods, systems, and apparatus, including computer programs encoded on computer storage media, for authenticating users based on a sequence of biometric authentication challenges. In one aspect, a process includes receiving a first image of the face of the user and processing the first image according to a first authentication process to determine whether the face of the user shown in the first image matches the face of an authorized user. A second authentication process including a sequence of biometric authentication challenges is identified. The sequence includes at least one facial expression challenge. The user is authenticated in response to determining that the first authentication process is satisfied based on the face of the user shown in the first image matching the face of the authorized user and the second authentication process is satisfied based on the user providing a valid biometric response to each biometric authentication challenge.
kb-author: Ben McCarty, Ellie Daw
kb-mitre-analysis: MITRE Analysis was not found.
kb-organization: Accenture
kb-reference-of: Multi-factorAuthentication
kb-reference-title: Biometric Challenge-Response Authentication

Reference - CAR-2020-11-010: CMSTP - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-11-010/
kb-abstract: CMSTP.exe is the Microsoft Connection Manager Profile Installer, which can be leveraged to setup listeners that will receive and install malware from remote sources in trusted fashion. When CMSTP.exe is seen in combination with an external connection, it is a good indication of this TTP.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2020-11-010: CMSTP

Reference - Embedding contexts for on-line threats into response policy zones - Verisign Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US10440059B1
kb-abstract: Hierarchical threat intelligence embedded in subdomain CNAMEs of a DNS denylist. In one embodiment, a response policy zone (RPZ) application generates an RPZ that includes contexts for the on-line threats that are associated with domain names. For a domain name that is associated with an on-line threat, the RPZ application determines a threat specification that describes a characteristic of the on-line threat. The RPZ application then generates an alias based on the domain name and the threat specification. Subsequently, the RPZ application generates a domain name system (DNS) resource record that maps the domain name to the alias, includes the resource record in the RPZ, and transmits the RPZ to a DNS name server that implements the RPZ. Upon receiving a DNS query associated with the domain name, the DNS name server generates a DNS response based on the alias. Because the domain name and the threat specification is reflected in the alias, the DNS response automatically provides a relevant context.
kb-author: Ben McCarty
kb-mitre-analysis: MITRE Analysis was not found.
kb-reference-of: Hierarchical Domain Denylisting
kb-reference-title: Embedding contexts for on-line threats into response policy zones

Reference - FWTK Documentation - fwtk.org
type: TechniqueReference
type: NamedIndividual
has-link: https://web.archive.org/web/20070510153306/http://www.fwtk.org/fwtk/docs/documentation.html#1.1
kb-abstract: In case you don't already know, FWTK stands for the FireW all Tool Kit. It is used as a base to create a secure firewall system. If you need good documentation, please read the source code. If you are not familiar with C or do not feel comfortable with performing the configuration and security verification yourself, then I would suggest that you purchase a commercial firewall from a vendor (such as TIS, Checkpoint, Raptor, etc.). A machine needs other tools to secure it, including, but hardly limited to, tools to check files (tripwire), audit tools (tiger/cops), secure access methods (kerberos/ssh), something to watch logs and machine states (swatch/watcher some to mind) and filtering and routing tools such as screend/ipfilterd/ipacl. Again, I would recommend that you do not proceed to build a production FWTK firewall unless you are familiar with UNIX security.
kb-author: fwtk.org
kb-organization: fwtk.org
kb-reference-of: InboundTrafficFiltering
kb-reference-title: FWTK Documentation

Reference - Identification of visual international domain name collisions - Verisign Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US10599836B2/en
kb-abstract: Fuzzy OCR to detect domain name homoglyph attacks. Various embodiments of the invention disclosed herein provide techniques for detecting a homograph attack. An IDN collision detection server retrieves a first domain name that includes a punycode element. The IDN collision detection server converts the first domain into a second domain name that includes a Unicode character corresponding to the punycode element. The IDN collision detection server converts the second domain name into an image. The IDN collision detection server performs one or more optical character recognition operations on the image to generate a textual string associated with the image. The IDN collision detection server determines that the textual string matches at least a portion of a third domain name.
kb-author: Ben McCarty, Preston Zeh
kb-mitre-analysis: MITRE Analysis was not found.
kb-organization: Verisign Inc
kb-reference-of: Homoglyph Detection
kb-reference-title: Identification of visual international domain name collisions

Reference - Intrusion and misuse deterrence system employing a virtual network
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US7240368B1
kb-reference-of: Network Traffic Signature Analysis
kb-reference-title: Intrusion and misuse deterrence system employing a virtual network

Reference - Libre NMS - Oxidized Extension
type: UserManualReference
type: NamedIndividual
has-link: https://docs.librenms.org/Extensions/Oxidized/
kb-abstract: Integrating LibreNMS with Oxidized brings the following benefits: * Config viewing: Current, History, and Diffs all under the Configs tab of each device * Automatic addition of devices to Oxidized: Including filtering and grouping to ease credential management * Configuration searching
kb-organization: LibreNMS.org
kb-reference-of: DiskEncryption
kb-reference-title: LibreNMSDocs - Oxidized Extension

Reference - Remotely Triggered Black Hole FIltering - Cisco
type: AcademicPaperReference
type: NamedIndividual
has-link: https://www.cisco.com/c/dam/en_us/about/security/intelligence/blackhole.pdf
kb-organization: Cisco
kb-reference-title: Remotely Triggered Black Hole Filtering - Destination Based and Source Based

Reference - Securing Web Transactions TLS Server Certificate Management - Appendix A Passive Inspection
type: GuidelineReference
type: NamedIndividual
has-link: https://www.nccoe.nist.gov/publication/1800-16/VolD/vol-d-appendix.html
kb-abstract: The example implementation demonstrates the ability to perform passive inspection of encrypted TLS connections. The question of whether or not to perform such an inspection is complex. There are important tradeoffs between traffic security and traffic visibility that each organization should consider. Some organizations prefer to decrypt internal TLS traffic, so it can be inspected to detect attacks that may be hiding within encrypted connections. Such inspection can detect intrusion, malware, and fraud, and can conduct troubleshooting, forensics, and performance monitoring. For these organizations, TLS inspection may serve as both a standard practice and a critical component of their threat detection and service assurance strategies.
kb-author: NIST
kb-reference-of: Passive Certificate Analysis
kb-reference-title: Securing Web Transactions TLS Server Certificate Management - Appendix A Passive Inspection

Reference - System and method for managed security assessment and mitigation
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US9544324B2
kb-abstract: In an embodiment of the invention, a system for assessing vulnerabilities includes: a security management system; a network device in a system under test (SUT), wherein the network device is privy to traffic in the SUT; and wherein the SMS is privy to traffic that is known by the network device and/or to one or more traffic observations that is known by the network device.
kb-author: Scott Parcel
kb-organization: Cenzic Inc, Trustwave Holdings Inc
kb-reference-of: Network Vulnerability Assessment
kb-reference-title: System and method for managed security assessment and mitigation

Reference - System and methods thereof for detection of persistent threats in a computerized environment background - Palo Alto Networks IncCyber Secdo Ltd
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20170206358A1/en
kb-abstract: A system is used for detection of advanced persistent and non-persistent threats in a computerized environment. The system is connected to a plurality of user devices coupled to an enterprise's network. The system receives via an interface an electronic notification of at least one event in the operating system of the computer. The system then analyzes the at least one event. The system then generates a causality chain for the at least one event respective of the analysis. The causality chain comprises all the threads that attributed to the at least one event in a chronological order. The system then identifies a main thread that started the causality chain that led to the at least one event. Then, the system determines whether the main thread is associated with malicious software. Upon determination that the main thread is associated with malicious software, the causality chain is marked as infected.
kb-author: Gil BARAK
kb-mitre-analysis: The patent describes detecting malicious events on a host. For each new event (e.x. new file request received from a user device, a change in an existing file in a container) a causality chain is developed for all threads associated with the event. The causality chain identifies the thread that started the process of the event (main thread). If a thread in the causality chain has no parent, i.e. no main thread associated with it, the process is identified as malicious.
kb-organization: Palo Alto Networks IncCyber Secdo Ltd
kb-reference-title: System and methods thereof for detection of persistent threats in a computerized environment background

Reference - Techniques for impeding and detecting network threats - Verisign Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US10904273B1/
kb-abstract: Infinite DNS decoy trap resource to catch threats scanning for network resources to attack. In various embodiments, a name server transmits a canonical name as resolution to another canonical name. In operation, when a resource name is requested for resolution, a determination is made that the resource name corresponds to a trap resource name. A first canonical name is transmitted as resolution to the trap resource name. The first canonical name is requested for resolution, and a second canonical name is transmitted as resolution. By providing trap canonical names as resolutions to trap canonical names, unauthorized software making the resolution requests is kept occupied with requesting resolution of canonical name after canonical name, impeding the ability of the unauthorized software from traversing a network.
kb-author: Ben McCarty, James Graham
kb-mitre-analysis: MITRE Analysis was not found.
kb-organization: Verisign Inc
kb-reference-of: Decoy Network Resource
kb-reference-title: Techniques for impeding and detecting network threats

Reference - Trusted Communications With Child Processes - Microsoft Technology Licensing LLC
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20120174210A1
kb-abstract: A method to identify a child process to a parent process in an operating system includes obtaining a token and login identifier from the operating system. The parent process creates a remote procedure call communications endpoint to communicate with the child process. Thereafter, a child process is spawned by the parent process. A child-initiated request to communicate with the parent process is then received by the parent process. In order to verify the identity of the child-initiated request, the parent process impersonates the child process and receives as identifier that identifies the requestor child process. The requestor process identifier and the spawned child identifier are compared. Based on the comparison, the parent process responds to the child-initiated request. In another embodiment, process identifiers are used by the parent process to verify the identity of a child process the requests communication with the parent process.
kb-author: Kedarnath Atmaram Dubhashi, Jonathan D. Schwartz, Sambavi Muthukrishnan, Simon Skaria
kb-mitre-analysis: This patent describes a technique for detecting malicious processes that claim to be the child process of a legitimate parent process. During the spawning of a child process, a child process identifier is generated. The child process identifier is a unique identifier that can be used to identify a child process. The child process identifier is transmitted by the security system of the operating system to the parent process. The parent process keeps track of the child process identifier. When a new child-initiated communications request is received by the parent process, the parent process checks if the requesting child process identifier and the child process identifier that the parent process is tracking are the same. If the identifiers are not the same, the parent process refuses the request.
kb-organization: Microsoft Technology Licensing LLC
kb-reference-title: Trusted Communications With Child Processes

Reference - Use Rkill to Stop Malware Processes - ghacks.net
type: TechniqueReference
type: NamedIndividual
has-link: https://www.ghacks.net/2011/07/29/use-rkill-to-stop-malware-processes/
kb-author: Melanie Gross
kb-organization: ghacks.net
kb-reference-of: Process Termination
kb-reference-title: Use Rkill to Stop Malware Processes

Regex Matching
type: Class
type: NamedIndividual
d3fend-id: D3A-RM
definition: Regular expression matching is type of partial string matching using a regular expression, which is a sequence of characters that specifies a match pattern in text.
kb-article: ## How it works A regular expression (shortened as regex or regexp) is a sequence of characters that specifies a match pattern in text. Usually such patterns are used by string-searching algorithms for "find" or "find and replace" operations on strings, or for input validation. ## Key Test Considerations - **External review of regular expressions**: Regular expressions used in rules should be reviewed by a independent developer SME. Regex testing and visualization tools may be used to aid this review. Back-tests for failure modes identified during the review shoud be developed. Regular expressions are easy to get wrong and may appear to work on limited tests; small mistakes can lead to unintended misses and matches.] - **Processing Performance Review**: Review of resource-intensive rules may be necessary if system performance degraded. Look for cases of “exponential backtracking” Some regexes are computationally expensive. ## References 1. Regular expression. (2023, June 1). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Regular_expression). 2. String-searching algorithm. (2023, April 8). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/String-searching_algorithm).
synonym: Regex
synonym: Regexp
subclass of: Partial Matching

Relational-based Transfer Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-RBTL
definition: Relational-based Transfer Learning is a subfield of machine learning where knowledge and patterns learned from one domain, characterized by relational and structured data, are transferred to enhance the learning of another related domain. This approach leverages shared concepts, relations, and structures across domains, taking advantage of the rich semantic knowledge within relational data to improve learning performance in the target task.
kb-article: ## References V7 Labs. (n.d.). Transfer Learning Guide. [Link](https://www.v7labs.com/blog/transfer-learning-guide#:~:text=Relational%2Dbased%20transfer%20learning%20approaches,domain%20to%20the%20target%20domain).
subclass of: Homogenous Transfer Learning

Remote Authentication Service
type: Class
definition: A remote authentication service provides for the authentication of a user across a network (i.e., remotely).
subclass of: AuthenticationService
subclass of: Network Service

Remote Authorization Service
type: Class
definition: A remote authorization service provides for the authorization of a user across a network (i.e., remotely).
subclass of: Authorization Service

Remote Database Query
type: Class
definition: A remote query session enabling a user to make an SQL, SPARQL, or similar query over the network from one host to another.
subclass of: Database Query
subclass of: Remote Command

Remote Procedure Call
type: Class
definition: In distributed computing a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in another address space (commonly on another computer on a shared network), which is coded as if it were a normal (local) procedure call, without the programmer explicitly coding the details for the remote interaction. That is, the programmer writes essentially the same code whether the subroutine is local to the executing program, or remote. This is a form of client-server interaction (caller is client, executor is server), typically implemented via a request-response message-passing system. The object-oriented programming analog is remote method invocation (RMI). The RPC model implies a level of location transparency.
subclass of: Remote Command

Remote Terminal Session
type: Class
definition: A remote terminal session is a session that provides a user access from one host to another host via a terminal.
subclass of: Network Session

Residual Neural Network
type: Class
type: NamedIndividual
d3fend-id: D3A-RNN
definition: A residual neural network (ResNet) is an artificial neural network (ANN). It is a gateless or open-gated variant of the HighwayNet, the first working very deep feedforward neural network with hundreds of layers, much deeper than previous neural networks.
kb-article: ## References Wikipedia contributors. (2021, August 23). Residual neural network. In Wikipedia, The Free Encyclopedia. [Link](https://en.wikipedia.org/wiki/Residual_neural_network)
subclass of: Convolutional Neural Network

Reverse Proxy Server
type: Class
definition: In computer networks, a reverse proxy is a type of proxy server that retrieves resources on behalf of a client from one or more servers. These resources are then returned to the client, appearing as if they originated from the proxy server itself. Unlike a forward proxy, which is an intermediary for its associated clients to contact any server, a reverse proxy is an intermediary for its associated servers to be contacted by any client. In other words, a proxy acts on behalf of the client(s), while a reverse proxy acts on behalf of the server(s); a reverse proxy is usually an internal-facing proxy used as a 'front-end' to control and protect access to a server on a private network.
subclass of: Proxy Server

Ruby Script File
type: ExecutableScript
type: NamedIndividual

SARSA
type: Class
type: NamedIndividual
d3fend-id: D3A-SAR
definition: State-action-reward-state-action (SARSA) is an algorithm for learning a Markov decision process policy, used in the reinforcement learning area of machine learning.
kb-article: ## References State-action-reward-state-action. Wikipedia. [Link](https://en.wikipedia.org/wiki/State%E2%80%93action%E2%80%93reward%E2%80%93state%E2%80%93action).
subclass of: Model-free Reinforcement Learning

SPARTA Thing
type: Class
subclass of: External Threat Model Thing

Saved Instruction Pointer
type: Class
definition: A saved instruction pointer points to the instruction that generated an exception (trap or fault).
subclass of: Pointer
subclass of: Stack Component

Scheduling
type: Class
subclass of: Planning

Second-stage Boot Loader
type: Class
definition: An optional, often feature rich, second stage set of routines run in order to load the operating system.
subclass of: Boot Loader

Self-organizing Map
type: Class
type: NamedIndividual
d3fend-id: D3A-SOM
definition: A Self-Organizing Map (SOM) is a unsupervised learning model in Artificial Neural Network where the feature maps are the generated two-dimensional discretized form of an input space during the model training (based on competitive learning)
kb-article: ## References GeeksforGeeks. (n.d.). ANN - Self Organizing Neural Network (SONN). [Link](https://www.geeksforgeeks.org/ann-self-organizing-neural-network-sonn/)
subclass of: ANN-based Clustering

Semi-supervised Boosting
type: Class
type: NamedIndividual
d3fend-id: D3A-SSB
definition: Boosting methods can be readily extended to the semi-supervised setting, by introducing pseudo-labeled data after each learning step; which gives rise to the idea of semi-supervised boosting methods. The pseudo-labeling approach of self- training and co-training can be easily extended to boosting methods. Several boosting methods such as SSMBoost, ASSEMBLE, SemiBoost, RegBoost, etc can be found which can be applied for utilizing unlabeled datasets for supervised classifiers.
kb-article: ## References Jashish Shrestha. (n.d.). Beginner's Guide to Semi-Supervised Learning. [Link](http://jashish.com.np/blog/posts/beginners-guide-to-semi-supervised-learning/)
subclass of: Semi-supervised Wrapper Method

Semi-supervised Cluster-then-label
type: Class
type: NamedIndividual
d3fend-id: D3A-SSCTL
definition: Pre-training methods are aimed to guide the parameters of a network towards interesting regions in model space using unlabeled data, before fine-tuning the parameters with the labeled data.
kb-article: ## References Jashish Shrestha. (n.d.). Beginner's Guide to Semi-Supervised Learning. [Link](http://jashish.com.np/blog/posts/beginners-guide-to-semi-supervised-learning/)
subclass of: Unsupervised Preprocessing

Semi-supervised Co-training
type: Class
type: NamedIndividual
d3fend-id: D3A-SSCT
definition: Multi-view co-training involves training the classifiers in completely different views of training data. On the other hand, single-view co-training methods are generally applied as ensemble methods.
kb-article: ## References Jashish Shrestha. (n.d.). Beginner's Guide to Semi-Supervised Learning. [Link](http://jashish.com.np/blog/posts/beginners-guide-to-semi-supervised-learning/)
subclass of: Semi-supervised Wrapper Method

Semi-supervised Feature Extraction
type: Class
type: NamedIndividual
d3fend-id: D3A-SSFE
definition: Feature extraction refers to reducing the number of dimensions in a data point so that it is computationally feasible and effective to learn a model.
kb-article: ## References Jashish Shrestha. (n.d.). Beginner's Guide to Semi-Supervised Learning. [Link](http://jashish.com.np/blog/posts/beginners-guide-to-semi-supervised-learning/)
subclass of: Unsupervised Preprocessing

Semi-supervised Generative Model Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-SSGML
definition: A Semi Supervised Machine Learning model which assume that the distributions take some particular form p(x|y,theta) parameterized by the vector. If these assumptions are incorrect, the unlabeled data may actually decrease the accuracy of the solution relative to what would have been obtained from labeled data alone. However, if the assumptions are correct, then the unlabeled data necessarily improves performance.
kb-article: ## References Weak supervision. Wikipedia. [Link](https://en.wikipedia.org/wiki/Weak_supervision#Generative_models).
subclass of: Intrinsically Semi-supervised Learning

Semi-supervised Inductive Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-SSIL
definition: The goal of inductive learning is to infer the correct mapping from X to Y
kb-article: ## References Semi-Supervised Learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Semi-Supervised_Learning#Semi-supervised_learning). Zhou, D., & Li, M. (2005). Semi-supervised learning by higher order regularization. In Proceedings of the 43rd Annual Meeting of the Association for Computational Linguistics (ACL) (pp. 1-9). [Link](https://www.cs.sfu.ca/~anoop/papers/pdf/semisup_naacl.pdf).
subclass of: Semi-Supervised Learning

Semi-supervised Manifold Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-SSML
definition: A version of Semi-Supervised Learning that applies the Manifold assumption that the data like approximately on a manifold of much lower dimension than the input space.
kb-article: ## References Weak supervision. Wikipedia. [Link](https://en.wikipedia.org/wiki/Weak_supervision#Generative_models).
subclass of: Intrinsically Semi-supervised Learning

Semi-supervised Pre-training
type: Class
type: NamedIndividual
d3fend-id: D3A-SSPT
definition: Pre-training methods are aimed to guide the parameters of a network towards interesting regions in model space using unlabeled data, before fine-tuning the parameters with the labeled data
kb-article: ## References Jashish Shrestha. (n.d.). Beginner's Guide to Semi-Supervised Learning. [Link](http://jashish.com.np/blog/posts/beginners-guide-to-semi-supervised-learning/)
subclass of: Unsupervised Preprocessing

Semi-supervised Self-training
type: Class
type: NamedIndividual
d3fend-id: D3A-SSST
definition: Self-training is the procedure in which a supervised method for classification or regression is modified it to work in a semi-supervised manner, taking advantage of labeled and unlabeled data
kb-article: ## References AltexSoft. (n.d.). Semi-Supervised Learning: A Technical Guide with Python Examples. [Link](https://www.altexsoft.com/blog/semi-supervised-learning/#:~:text=One%20of%20the%20simplest%20examples,of%20labeled%20and%20unlabeled%20data.)
subclass of: Semi-supervised Wrapper Method

SeqGAN
type: Class
type: NamedIndividual
d3fend-id: D3A-SEQ
definition: Sequence Generation Framework (SeqGAN) models the data generator as a stochastic policy in reinforcement learning (RL), SeqGAN bypasses the generator differentiation problem by directly performing gradient policy update.
kb-article: ## References Yu, L., Zhang, W., Wang, J., & Yu, Y. (2017). SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient. ArXiv preprint ArXiv:1609.05473. [Link](https://arxiv.org/abs/1609.05473)
synonym: Sequence GAN
subclass of: Generative Adversarial Network

Serialization Function
type: Class
definition: A function which has an operation that serializes data.
subclass of: Subroutine

Service Provider
type: Class
subclass of: Restriction
  on property: provides
  some values from: Service
subclass of: Provider

Shadow Stack
type: Class
type: NamedIndividual
copy-of: Call Stack
definition: A shadow stack is a mechanism for protecting a procedure's stored return address, such as from a stack buffer overflow. The shadow stack itself is a second, separate stack that "shadows" the program call stack. In the function prologue, a function stores its return address to both the call stack and the shadow stack. In the function epilogue, a function loads the return address from both the call stack and the shadow stack, and then compares them. If the two records of the return address differ, then an attack is detected.
subclass of: Restriction
  on property: copy-of
  some values from: Call Stack
subclass of: DigitalInformationBearer

Singular Value Decomposition
type: Class
type: NamedIndividual
d3fend-id: D3A-SVD
definition: Singular Value Decomposition (SVD) is an algorithm that represents a matrix as a linear series of data and to find the set of factors that will best predict an outcome
kb-article: ## References Wikipedia. (n.d.). Singular value decomposition. [Link](https://en.wikipedia.org/wiki/Singular_value_decomposition)
subclass of: Dimension Reduction

Software Artifact Server
type: Class
definition: A software artifact server provides access to the software artifacts in a software repository. A software repository, or "repo" for short, is a storage location for software packages. Often a table of contents is stored, as well as metadata. Repositories group packages. Sometimes the grouping is for a programming language, such as CPAN for the Perl programming language, sometimes for an entire operating system, sometimes the license of the contents is the criteria. At client side, a package manager helps installing from and updating the repositories.
subclass of: Artifact Server

Software Library
type: Class
type: NamedIndividual
contains: Software Library File
definition: A software library is a collection of software components that are used to build a software product.
subclass of: Restriction
  on property: contains
  some values from: Software Library File
subclass of: Software

Software Patch
type: Class
definition: A patch is a piece of software designed to update a computer program or its supporting data, to fix or improve it. This includes fixing security vulnerabilities and other bugs, with such patches usually called bugfixes or bug fixes, and improving the usability or performance. Although meant to fix problems, poorly designed patches can sometimes introduce new problems (see software regressions). In some special cases updates may knowingly break the functionality, for instance, by removing components for which the update provider is no longer licensed or disabling a device.
subclass of: Software
alternative label: Patch

Software Product
type: Class
subclass of: Product
alternative label: SaaP

Software Service
type: Class
subclass of: Service
alternative label: SaaS

Somers' D
type: Class
type: NamedIndividual
d3fend-id: D3A-SD
subclass of: Rank Correlation

Soundex Matching
type: Class
type: NamedIndividual
d3fend-id: D3A-SM
definition: Soundex is a phonetic algorithm for indexing names by sound, as pronounced in English.
kb-article: ## How it works The goal is for homophones to be encoded to the same representation so that they can be matched despite minor differences in spelling. The algorithm mainly encodes consonants; a vowel will not be encoded unless it is the first letter. Soundex is the most widely known of all phonetic algorithms (in part because it is a standard feature of popular database software. Improvements to Soundex are the basis for many modern phonetic algorithms. ## References 1. Soundex. (2023, April 19). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Soundex)
subclass of: Partial Matching

Source Code Analyzer Tool
type: Class
definition: A source code analyzer tool is a static analysis tool that operates specifically on source code, but not object code.
subclass of: Static Analysis Tool

Spearman's Rank Correlation Coefficient
type: Class
type: NamedIndividual
d3fend-id: D3A-SRCC
synonym: Spearman's Rho
subclass of: Rank Correlation

Specification
type: Class
subclass of: Document

Spectral Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-SC
definition: Spectral clustering is a technique that identifies communities of nodes in a graph based on the edges connecting them.
kb-article: ## References Towards Data Science. (n.d.). Spectral Clustering. [Link](https://towardsdatascience.com/spectral-clustering-aba2640c0d5b)
subclass of: Graph-based Clustering

Stack Segment
type: Class
type: NamedIndividual
contains: StackFrame
definition: The stack segment contains the program stack, a last-in-first-out structure, typically allocated in the higher parts of memory for the process.
subclass of: Restriction
  on property: contains
  some values from: StackFrame
subclass of: ProcessSegment

Stacking
type: Class
type: NamedIndividual
d3fend-id: D3A-STA
definition: Stacking is a method of using the results and predictions from one layer of ML models as inputs to another layer of ML models. Stacking (sometimes called stacked generalization) involves training a model to combine the predictions of several other learning algorithms.
kb-article: ## References Ensemble learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Ensemble_learning).
subclass of: Ensemble Learning

Startup Directory
type: Class
definition: A startup directory is a directory containing executable files or links to executable files which are run when a user logs in or when a system component or service is started.
subclass of: Directory
subclass of: Local Resource

String Equivalence Matching
type: Class
type: NamedIndividual
d3fend-id: D3A-SEM
definition: String equivalence matching is a type of string pattern matching which is exact; that is, the strings being compared must have the same value for each character in their sequence and be of the same length.
kb-article: ## References 1. String-searching algorithm. (2023, April 8). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/String-searching_algorithm) 2. Types of Equality. (2007, March 2). In _WikiWikiWeb_. [Link](https://wiki.c2.com/?TypesOfEquality)
subclass of: Equivalence Matching
subclass of: String Pattern Matching

String Format Function
type: Class
definition: A function which creates a new string based on a format specification and correspondingi specified values.
subclass of: Subroutine

StyleGAN
type: Class
type: NamedIndividual
d3fend-id: D3A-STY
definition: Successor to the ProGAN.
kb-article: ## References Wikipedia. (n.d.). StyleGAN. [Link](https://en.wikipedia.org/wiki/StyleGAN)
synonym: Style GAN
subclass of: Image Synthesis GAN

Subspace Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-SC
definition: Subspace clustering is an extension of traditional clustering that seeks to find clusters in different subspaces within a dataset.
kb-article: ## References Parsons, L., Haque, E., & Liu, H. (2004). Subspace Clustering for High Dimensional Data: A Review. [Link](https://www.kdd.org/exploration_files/parsons.pdf)
subclass of: Correlation Clustering

Substring Matching
type: Class
type: NamedIndividual
d3fend-id: D3A-SM
definition: String-searching algorithms, sometimes called string-matching algorithms, are an important class of string algorithms that try to find a place where one or several strings (also called patterns) are found within a larger string or text.
kb-article: ## References 1. String-searching algorithm. (2023, April 8). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/String-searching_algorithm)
subclass of: Partial Matching

Support Vector Machine Classification
type: Class
type: NamedIndividual
d3fend-id: D3A-SVMC
definition: Support Vector Machine (SVM) is a robust classification and regression technique that maximizes the predictive accuracy of a model without overfitting the training data. SVM is particularly suited to analyzing data with very large numbers (for example, thousands) of predictor fields.
kb-article: ## References About Support Vector Machine (SVM). IBM SPSS Modeler SaaS Documentation. [Link](https://www.ibm.com/docs/en/spss-modeler/saas?topic=models-about-svm&mhsrc=ibmsearch_a&mhq=support%20vector%20machine).
subclass of: Classification

Switch
type: Class
definition: A network switch (also called switching hub, bridging hub, and by the IEEE MAC bridge) is networking hardware that connects devices on a computer network by using packet switching to receive and forward data to the destination device. A network switch is a multiport network bridge that uses MAC addresses to forward data at the data link layer (layer 2) of the OSI model. Some switches can also forward data at the network layer (layer 3) by additionally incorporating routing functionality. Such switches are commonly known as layer-3 switches or multilayer switches.
subclass of: Computer Network Node
alternative label: Bridging Hub
alternative label: MAC Bridge
alternative label: Network Switch
alternative label: Switching Hub

Symmetric Feature-based Transfer Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-SFTL
definition: Homogeneous symmetric transformation takes both the source feature space Xs and target feature space Xt and learns feature transformations as to project each onto a common subspace Xc for adaptation purposes. This derived subspace becomes a domain-invariant feature subspace to associate cross-domain data, and in effect, reduces marginal distribution differences.
kb-article: ## References Day, O., & Khoshgoftaar, T.M. (2017). A survey on heterogeneous transfer learning. *Journal of Big Data, 4*(1), 29. [Link](https://doi.org/10.1186/s40537-017-0089-0).
subclass of: Homogenous Transfer Learning

Symmetric Key
type: Class
definition: A symmetric key is a single key used for both encryption and decryption and used with a symmetric-key algorithm. Symmetric-key algorithms are algorithms for cryptography that use the same cryptographic keys for both encryption of plaintext and decryption of ciphertext. The keys may be identical or there may be a simple transformation to go between the two keys. The keys, in practice, represent a shared secret between two or more parties that can be used to maintain a private information link. This requirement that both parties have access to the secret key is one of the main drawbacks of symmetric key encryption, in comparison to public-key encrytption (also known as asymmetric key encryption).
subclass of: Cryptographic Key

System Init Process
type: Class
definition: A system initialization process is a process that executes to initialize (boot) an operating system.
subclass of: Operating System Process
alternative label: System Initialization Process
alternative label: System Startup Process

System Utilization Record
type: Class
definition: A system utilization record is a record for the tracking of resource utilization e.g. CPU, Disk, Network, Memory Bandwidth, GPU, or other resources for a given time period.
subclass of: Record

Junk Data
type: Class
attack-id: T1001.001
definition: Adversaries may add junk data to protocols used for command and control to make detection more difficult.(Citation: FireEye SUNBURST Backdoor December 2020) By adding random or meaningless data to the protocols used for command and control, adversaries can prevent trivial methods for decoding, deciphering, or otherwise analyzing the traffic. Examples may include appending/prepending data with junk characters or writing junk characters between significant characters.
subclass of: Data Obfuscation

Steganography
type: Class
attack-id: T1001.002
definition: Adversaries may use steganographic techniques to hide command and control traffic to make detection efforts more difficult. Steganographic techniques can be used to hide data in digital messages that are transferred between systems. This hidden information can be used for command and control of compromised systems. In some cases, the passing of files embedded using steganography, such as image or document files, can be used for command and control.
subclass of: Data Obfuscation

Protocol Impersonation
type: Class
attack-id: T1001.003
definition: Adversaries may impersonate legitimate protocols or web service traffic to disguise command and control activity and thwart analysis efforts. By impersonating legitimate protocols or web services, adversaries can make their command and control traffic blend in with legitimate network traffic.
subclass of: Data Obfuscation

Data Compressed
type: Class
attack-id: T1002
definition: An adversary may compress data (e.g., sensitive documents) that is collected prior to exfiltration in order to make it portable and minimize the amount of data sent over the network. The compression is done separately from the exfiltration channel and is performed using a custom program or algorithm, or a more common compression library or utility such as 7zip, RAR, ZIP, or zlib.
comment: This technique has been revoked by T1560
subclass of: Exfiltration Technique
deprecated: true

LSASS Memory
type: Class
type: NamedIndividual
accesses: AuthenticationService
accesses: Process
attack-id: T1003.001
definition: Adversaries may attempt to access credential material stored in the process memory of the Local Security Authority Subsystem Service (LSASS). After a user logs on, the system generates and stores a variety of credential materials in LSASS process memory. These credential materials can be harvested by an administrative user or SYSTEM and used to conduct [Lateral Movement](https://attack.mitre.org/tactics/TA0008) using [Use Alternate Authentication Material](https://attack.mitre.org/techniques/T1550).
subclass of: Restriction
  on property: accesses
  some values from: Process
subclass of: Restriction
  on property: accesses
  some values from: AuthenticationService
subclass of: OS Credential Dumping

Security Account Manager
type: Class
type: NamedIndividual
attack-id: T1003.002
definition: Adversaries may attempt to extract credential material from the Security Account Manager (SAM) database either through in-memory techniques or through the Windows Registry where the SAM database is stored. The SAM is a database file that contains local accounts for the host, typically those found with the net user command. Enumerating the SAM database requires SYSTEM level access.
may-access: AuthenticationService
may-access: Process
may-access: System Password Database
subclass of: Restriction
  on property: may-access
  some values from: Process
subclass of: Restriction
  on property: may-access
  some values from: System Password Database
subclass of: Restriction
  on property: may-access
  some values from: AuthenticationService
subclass of: OS Credential Dumping

NTDS
type: Class
type: NamedIndividual
accesses: Encrypted Credential
attack-id: T1003.003
definition: Adversaries may attempt to access or create a copy of the Active Directory domain database in order to steal credential information, as well as obtain other information about domain members such as devices, users, and access rights. By default, the NTDS file (NTDS.dit) is located in %SystemRoot%\NTDS\Ntds.dit of a domain controller.(Citation: Wikipedia Active Directory)
subclass of: Restriction
  on property: accesses
  some values from: Encrypted Credential
subclass of: OS Credential Dumping

LSA Secrets
type: Class
type: NamedIndividual
attack-id: T1003.004
definition: Adversaries with SYSTEM access to a host may attempt to access Local Security Authority (LSA) secrets, which can contain a variety of different credential materials, such as credentials for service accounts.(Citation: Passcape LSA Secrets)(Citation: Microsoft AD Admin Tier Model)(Citation: Tilbury Windows Credentials) LSA secrets are stored in the registry at HKEY_LOCAL_MACHINE\SECURITY\Policy\Secrets. LSA secrets can also be dumped from memory.(Citation: ired Dumping LSA Secrets)
may-access: Process
may-access: System Password Database
subclass of: Restriction
  on property: may-access
  some values from: System Password Database
subclass of: Restriction
  on property: may-access
  some values from: Process
subclass of: OS Credential Dumping

Cached Domain Credentials
type: Class
type: NamedIndividual
accesses: Encrypted Credential
attack-id: T1003.005
definition: Adversaries may attempt to access cached domain credentials used to allow authentication to occur in the event a domain controller is unavailable.(Citation: Microsoft - Cached Creds)
may-modify: Log
subclass of: Restriction
  on property: may-modify
  some values from: Log
subclass of: Restriction
  on property: accesses
  some values from: Encrypted Credential
subclass of: OS Credential Dumping

DCSync
type: Class
type: NamedIndividual
attack-id: T1003.006
definition: Adversaries may attempt to access credentials and other sensitive information by abusing a Windows Domain Controller's application programming interface (API)(Citation: Microsoft DRSR Dec 2017) (Citation: Microsoft GetNCCChanges) (Citation: Samba DRSUAPI) (Citation: Wine API samlib.dll) to simulate the replication process from a remote domain controller using a technique called DCSync.
may-modify: EventLog
produces: IntranetAdministrativeNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: IntranetAdministrativeNetworkTraffic
subclass of: Restriction
  on property: may-modify
  some values from: EventLog
subclass of: OS Credential Dumping

Proc Filesystem
type: Class
type: NamedIndividual
accesses: OperatingSystemFile
accesses: Process Image
attack-id: T1003.007
definition: Adversaries may gather credentials from the proc filesystem or `/proc`. The proc filesystem is a pseudo-filesystem used as an interface to kernel data structures for Linux based systems managing virtual memory. For each process, the `/proc/<PID>/maps` file shows how memory is mapped within the process’s virtual address space. And `/proc/<PID>/mem`, exposed for debugging purposes, provides access to the process’s virtual address space.(Citation: Picus Labs Proc cump 2022)(Citation: baeldung Linux proc map 2022)
subclass of: Restriction
  on property: accesses
  some values from: Process Image
subclass of: Restriction
  on property: accesses
  some values from: OperatingSystemFile
subclass of: OS Credential Dumping

/etc/passwd and /etc/shadow
type: Class
type: NamedIndividual
accesses: Encrypted Credential
accesses: Password File
attack-id: T1003.008
definition: Adversaries may attempt to dump the contents of /etc/passwd and /etc/shadow to enable offline password cracking. Most modern Linux operating systems use a combination of /etc/passwd and /etc/shadow to store user account information including password hashes in /etc/shadow. By default, /etc/shadow is only readable by the root user.(Citation: Linux Password and Shadow File Formats)
subclass of: Restriction
  on property: accesses
  some values from: Password File
subclass of: Restriction
  on property: accesses
  some values from: Encrypted Credential
subclass of: OS Credential Dumping

Winlogon Helper DLL
type: Class
attack-id: T1004
definition: Winlogon.exe is a Windows component responsible for actions at logon/logoff as well as the secure attention sequence (SAS) triggered by Ctrl-Alt-Delete. Registry entries in HKLM\Software\[Wow6432Node\]Microsoft\Windows NT\CurrentVersion\Winlogon\ and HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ are used to manage additional helper programs and functionalities that support Winlogon. (Citation: Cylance Reg Persistence Sept 2013)
comment: This technique has been revoked by T1547.004
subclass of: PersistenceTechnique
deprecated: true

Data from Local System
type: Class
type: NamedIndividual
accesses: File
accesses: Local Resource
attack-id: T1005
definition: Adversaries may search local system sources, such as file systems and configuration files or local databases, to find files of interest and sensitive data prior to Exfiltration.
subclass of: Restriction
  on property: accesses
  some values from: Local Resource
subclass of: Restriction
  on property: accesses
  some values from: File
subclass of: CollectionTechnique

Direct Volume Access
type: Class
type: NamedIndividual
accesses: Volume
attack-id: T1006
definition: Adversaries may directly access a volume to bypass file access controls and file system monitoring. Windows allows programs to have direct access to logical volumes. Programs with direct access may read and write files directly from the drive by analyzing file system data structures. This technique may bypass Windows file access controls as well as file system monitoring tools. (Citation: Hakobyan 2009)
subclass of: Restriction
  on property: accesses
  some values from: Volume
subclass of: DefenseEvasionTechnique

System Service Discovery
type: Class
type: NamedIndividual
attack-id: T1007
definition: Adversaries may try to gather information about registered local system services. Adversaries may obtain information about services using tools as well as OS utility commands such as sc query, tasklist /svc, systemctl --type=service, and net start.
may-invoke: CreateProcess
may-invoke: Get Running Processes
subclass of: Restriction
  on property: may-invoke
  some values from: CreateProcess
subclass of: Restriction
  on property: may-invoke
  some values from: Get Running Processes
subclass of: DiscoveryTechnique

Fallback Channels
type: Class
type: NamedIndividual
attack-id: T1008
definition: Adversaries may use fallback or alternate communication channels if the primary channel is compromised or inaccessible in order to maintain reliable command and control and to avoid data transfer thresholds.
produces: OutboundInternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetNetworkTraffic
subclass of: CommandAndControlTechnique

Binary Padding
type: Class
attack-id: T1009
definition: Adversaries can use binary padding to add junk data and change the on-disk representation of malware without affecting the functionality or behavior of the binary. This will often increase the size of the binary beyond what some security tools are capable of handling due to file size limitations.
comment: This technique has been revoked by T1027.001
subclass of: DefenseEvasionTechnique
deprecated: true

Application Window Discovery
type: Class
type: NamedIndividual
attack-id: T1010
definition: Adversaries may attempt to get a listing of open application windows. Window listings could convey information about how the system is used.(Citation: Prevailion DarkWatchman 2021) For example, information about application windows could be used identify potential data to collect as well as identifying security tooling ([Security Software Discovery](https://attack.mitre.org/techniques/T1518/001)) to evade.(Citation: ESET Grandoreiro April 2020)
may-invoke: CreateProcess
may-invoke: Get Open Windows
subclass of: Restriction
  on property: may-invoke
  some values from: CreateProcess
subclass of: Restriction
  on property: may-invoke
  some values from: Get Open Windows
subclass of: DiscoveryTechnique

Exfiltration Over Bluetooth
type: Class
attack-id: T1011.001
definition: Adversaries may attempt to exfiltrate data over Bluetooth rather than the command and control channel. If the command and control network is a wired Internet connection, an adversary may opt to exfiltrate data using a Bluetooth communication channel.
subclass of: Exfiltration Over Other Network Medium

Query Registry
type: Class
type: NamedIndividual
accesses: SystemConfigurationDatabase
attack-id: T1012
definition: Adversaries may interact with the Windows Registry to gather information about the system, configuration, and installed software.
may-invoke: Get System Config Value
subclass of: Restriction
  on property: may-invoke
  some values from: Get System Config Value
subclass of: Restriction
  on property: accesses
  some values from: SystemConfigurationDatabase
subclass of: DiscoveryTechnique

Port Monitors
type: Class
attack-id: T1013
definition: A port monitor can be set through the (Citation: AddMonitor) API call to set a DLL to be loaded at startup. (Citation: AddMonitor) This DLL can be located in C:\Windows\System32 and will be loaded by the print spooler service, spoolsv.exe, on boot. The spoolsv.exe process also runs under SYSTEM level permissions. (Citation: Bloxham) Alternatively, an arbitrary DLL can be loaded if permissions allow writing a fully-qualified pathname for that DLL to HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors.
comment: This technique has been revoked by T1547.010
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

Rootkit
type: Class
type: NamedIndividual
attack-id: T1014
definition: Adversaries may use rootkits to hide the presence of programs, files, network connections, services, drivers, and other system components. Rootkits are programs that hide the existence of malware by intercepting/hooking and modifying operating system API calls that supply system information. (Citation: Symantec Windows Rootkits)
may-modify: Boot Sector
may-modify: Firmware
may-modify: Kernel
may-modify: Kernel Module
may-modify: SharedLibraryFile
subclass of: Restriction
  on property: may-modify
  some values from: Firmware
subclass of: Restriction
  on property: may-modify
  some values from: SharedLibraryFile
subclass of: Restriction
  on property: may-modify
  some values from: Kernel
subclass of: Restriction
  on property: may-modify
  some values from: Boot Sector
subclass of: Restriction
  on property: may-modify
  some values from: Kernel Module
subclass of: DefenseEvasionTechnique

Accessibility Features
type: Class
attack-id: T1015
definition: Windows contains accessibility features that may be launched with a key combination before a user has logged in (for example, when the user is on the Windows logon screen). An adversary can modify the way these programs are launched to get a command prompt or backdoor without logging in to the system.
comment: This technique has been revoked by T1546.008
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

Internet Connection Discovery
type: Class
attack-id: T1016.001
definition: Adversaries may check for Internet connectivity on compromised systems. This may be performed during automated discovery and can be accomplished in numerous ways such as using [Ping](https://attack.mitre.org/software/S0097), tracert, and GET requests to websites.
subclass of: System Network Configuration Discovery

Wi-Fi Discovery
type: Class
attack-id: T1016.002
definition: Adversaries may search for information about Wi-Fi networks, such as network names and passwords, on compromised systems. Adversaries may use Wi-Fi information as part of [Account Discovery](https://attack.mitre.org/techniques/T1087), [Remote System Discovery](https://attack.mitre.org/techniques/T1018), and other discovery or [Credential Access](https://attack.mitre.org/tactics/TA0006) activity to support both ongoing and future campaigns.
subclass of: System Network Configuration Discovery

Application Deployment Software
type: Class
attack-id: T1017
definition: Adversaries may deploy malicious software to systems within a network using application deployment systems employed by enterprise administrators. The permissions required for this action vary by system configuration; local credentials may be sufficient with direct access to the deployment server, or specific domain credentials may be required. However, the system may require an administrative account to log in or to perform software deployment.
comment: This technique has been revoked by T1072
subclass of: LateralMovementTechnique
deprecated: true

Remote System Discovery
type: Class
type: NamedIndividual
attack-id: T1018
definition: Adversaries may attempt to get a listing of other systems by IP address, hostname, or other logical identifier on a network that may be used for Lateral Movement from the current system. Functionality could exist within remote access tools to enable this, but utilities available on the operating system could also be used such as [Ping](https://attack.mitre.org/software/S0097) or net view using [Net](https://attack.mitre.org/software/S0039).
may-access: OperatingSystemConfigurationFile
may-invoke: CreateProcess
may-invoke: Create Socket
produces: NetworkTraffic
subclass of: Restriction
  on property: may-invoke
  some values from: Create Socket
subclass of: Restriction
  on property: may-access
  some values from: OperatingSystemConfigurationFile
subclass of: Restriction
  on property: produces
  some values from: NetworkTraffic
subclass of: Restriction
  on property: may-invoke
  some values from: CreateProcess
subclass of: DiscoveryTechnique

System Firmware
type: Class
attack-id: T1019
definition: The BIOS (Basic Input/Output System) and The Unified Extensible Firmware Interface (UEFI) or Extensible Firmware Interface (EFI) are examples of system firmware that operate as the software interface between the operating system and hardware of a computer. (Citation: Wikipedia BIOS) (Citation: Wikipedia UEFI) (Citation: About UEFI)
comment: This technique has been revoked by T1542.001
subclass of: PersistenceTechnique
deprecated: true

Traffic Duplication
type: Class
attack-id: T1020.001
definition: Adversaries may leverage traffic mirroring in order to automate data exfiltration over compromised infrastructure. Traffic mirroring is a native feature for some devices, often used for network analysis. For example, devices may be configured to forward network traffic to one or more destinations for analysis by a network analyzer or other monitoring device. (Citation: Cisco Traffic Mirroring)(Citation: Juniper Traffic Mirroring)
subclass of: Automated Exfiltration

Remote Desktop Protocol
type: Class
type: NamedIndividual
attack-id: T1021.001
creates: RDP Session
definition: Adversaries may use [Valid Accounts](https://attack.mitre.org/techniques/T1078) to log into a computer using the Remote Desktop Protocol (RDP). The adversary may then perform actions as the logged-on user.
produces: Administrative Network Traffic
subclass of: Restriction
  on property: produces
  some values from: Administrative Network Traffic
subclass of: Restriction
  on property: creates
  some values from: RDP Session
subclass of: Remote Services

SMB/Windows Admin Shares
type: Class
attack-id: T1021.002
definition: Adversaries may use [Valid Accounts](https://attack.mitre.org/techniques/T1078) to interact with a remote network share using Server Message Block (SMB). The adversary may then perform actions as the logged-on user.
subclass of: Remote Services

Distributed Component Object Model
type: Class
attack-id: T1021.003
definition: Adversaries may use [Valid Accounts](https://attack.mitre.org/techniques/T1078) to interact with remote machines by taking advantage of Distributed Component Object Model (DCOM). The adversary may then perform actions as the logged-on user.
subclass of: Remote Services

SSH
type: Class
type: NamedIndividual
attack-id: T1021.004
creates: SSH Session
definition: Adversaries may use [Valid Accounts](https://attack.mitre.org/techniques/T1078) to log into remote machines using Secure Shell (SSH). The adversary may then perform actions as the logged-on user.
produces: Administrative Network Traffic
subclass of: Restriction
  on property: produces
  some values from: Administrative Network Traffic
subclass of: Restriction
  on property: creates
  some values from: SSH Session
subclass of: Remote Services

VNC
type: Class
attack-id: T1021.005
definition: Adversaries may use [Valid Accounts](https://attack.mitre.org/techniques/T1078) to remotely control machines using Virtual Network Computing (VNC). VNC is a platform-independent desktop sharing system that uses the RFB (“remote framebuffer”) protocol to enable users to remotely control another computer’s display by relaying the screen, mouse, and keyboard inputs over the network.(Citation: The Remote Framebuffer Protocol)
subclass of: Remote Services

Windows Remote Management
type: Class
attack-id: T1021.006
definition: Adversaries may use [Valid Accounts](https://attack.mitre.org/techniques/T1078) to interact with remote systems using Windows Remote Management (WinRM). The adversary may then perform actions as the logged-on user.
subclass of: Remote Services

Cloud Services
type: Class
attack-id: T1021.007
definition: Adversaries may log into accessible cloud services within a compromised environment using [Valid Accounts](https://attack.mitre.org/techniques/T1078) that are synchronized with or federated to on-premises user identities. The adversary may then perform management actions or access cloud-hosted resources as the logged-on user.
subclass of: Remote Services

Direct Cloud VM Connections
type: Class
attack-id: T1021.008
definition: Adversaries may leverage [Valid Accounts](https://attack.mitre.org/techniques/T1078) to log directly into accessible cloud hosted compute infrastructure through cloud native methods. Many cloud providers offer interactive connections to virtual infrastructure that can be accessed through the [Cloud API](https://attack.mitre.org/techniques/T1059/009), such as Azure Serial Console(Citation: Azure Serial Console), AWS EC2 Instance Connect(Citation: EC2 Instance Connect)(Citation: lucr-3: Getting SaaS-y in the cloud), and AWS System Manager.(Citation: AWS System Manager).
subclass of: Remote Services

Data Encrypted
type: Class
attack-id: T1022
definition: Data is encrypted before being exfiltrated in order to hide the information that is being exfiltrated from detection or to make the exfiltration less conspicuous upon inspection by a defender. The encryption is performed by a utility, programming library, or custom algorithm on the data itself and is considered separate from any encryption performed by the command and control or file transfer protocol. Common file archive formats that can encrypt files are RAR and zip.
comment: This technique has been revoked by T1560
subclass of: Exfiltration Technique
deprecated: true

Shortcut Modification
type: Class
attack-id: T1023
definition: Shortcuts or symbolic links are ways of referencing other files or programs that will be opened or executed when the shortcut is clicked or executed by a system startup process. Adversaries could use shortcuts to execute their tools for persistence. They may create a new shortcut as a means of indirection that may use [Masquerading](https://attack.mitre.org/techniques/T1036) to look like a legitimate program. Adversaries could also edit the target path or entirely replace an existing shortcut so their tools will be executed instead of the intended legitimate program.
comment: This technique has been revoked by T1547.009
subclass of: PersistenceTechnique
deprecated: true

Custom Cryptographic Protocol
type: Class
attack-id: T1024
definition: Adversaries may use a custom cryptographic protocol or algorithm to hide command and control traffic. A simple scheme, such as XOR-ing the plaintext with a fixed key, will produce a very weak ciphertext.
comment: This technique has been revoked by T1573
subclass of: CommandAndControlTechnique
deprecated: true

Data from Removable Media
type: Class
type: NamedIndividual
accesses: Removable Media Device
attack-id: T1025
definition: Adversaries may search connected removable media on computers they have compromised to find files of interest. Sensitive data can be collected from any removable media (optical disk drive, USB memory, etc.) connected to the compromised system prior to Exfiltration. Interactive command shells may be in use, and common functionality within [cmd](https://attack.mitre.org/software/S0106) may be used to gather information.
subclass of: Restriction
  on property: accesses
  some values from: Removable Media Device
subclass of: CollectionTechnique

Multiband Communication
type: Class
attack-id: T1026
definition: **This technique has been deprecated and should no longer be used.**
comment: **This technique has been deprecated and should no longer be used.**
subclass of: CommandAndControlTechnique
deprecated: true

Binary Padding
type: Class
type: NamedIndividual
attack-id: T1027.001
definition: Adversaries may use binary padding to add junk data and change the on-disk representation of malware. This can be done without affecting the functionality or behavior of a binary, but can increase the size of the binary beyond what some security tools are capable of handling due to file size limitations.
modifies: ExecutableBinary
subclass of: Restriction
  on property: modifies
  some values from: ExecutableBinary
subclass of: T1027

Software Packing
type: Class
type: NamedIndividual
attack-id: T1027.002
definition: Adversaries may perform software packing or virtual machine software protection to conceal their code. Software packing is a method of compressing or encrypting an executable. Packing an executable changes the file signature in an attempt to avoid signature-based detection. Most decompression techniques decompress the executable code in memory. Virtual machine software protection translates an executable's original code into a special format that only a special virtual machine can run. A virtual machine is then called to run this code.(Citation: ESET FinFisher Jan 2018)
obfuscates: ExecutableFile
subclass of: Restriction
  on property: obfuscates
  some values from: ExecutableFile
subclass of: T1027

Steganography
type: Class
attack-id: T1027.003
definition: Adversaries may use steganography techniques in order to prevent the detection of hidden information. Steganographic techniques can be used to hide data in digital media such as images, audio tracks, video clips, or text files.
subclass of: T1027

Compile After Delivery
type: Class
type: NamedIndividual
attack-id: T1027.004
creates: ExecutableFile
definition: Adversaries may attempt to make payloads difficult to discover and analyze by delivering files to victims as uncompiled code. Text-based source code files may subvert analysis and scrutiny from protections targeting executables/binaries. These payloads will need to be compiled before execution; typically via native utilities such as csc.exe or GCC/MinGW.(Citation: ClearSky MuddyWater Nov 2018)
subclass of: Restriction
  on property: creates
  some values from: ExecutableFile
subclass of: T1027

Indicator Removal from Tools
type: Class
attack-id: T1027.005
definition: Adversaries may remove indicators from tools if they believe their malicious tool was detected, quarantined, or otherwise curtailed. They can modify the tool by removing the indicator and using the updated version that is no longer detected by the target's defensive systems or subsequent targets that may use similar systems.
subclass of: T1027

HTML Smuggling
type: Class
type: NamedIndividual
attack-id: T1027.006
creates: JavaScript Blob
definition: Adversaries may smuggle data and files past content filters by hiding malicious payloads inside of seemingly benign HTML files. HTML documents can store large binary objects known as JavaScript Blobs (immutable data that represents raw bytes) that can later be constructed into file-like objects. Data may also be stored in Data URLs, which enable embedding media type or MIME files inline of HTML documents. HTML5 also introduced a download attribute that may be used to initiate file downloads.(Citation: HTML Smuggling Menlo Security 2020)(Citation: Outlflank HTML Smuggling 2018)
hides: Digital Artifact
subclass of: Restriction
  on property: creates
  some values from: JavaScript Blob
subclass of: Restriction
  on property: hides
  some values from: Digital Artifact
subclass of: T1027

Dynamic API Resolution
type: Class
attack-id: T1027.007
definition: Adversaries may obfuscate then dynamically resolve API functions called by their malware in order to conceal malicious functionalities and impair defensive analysis. Malware commonly uses various [Native API](https://attack.mitre.org/techniques/T1106) functions provided by the OS to perform various tasks such as those involving processes, files, and other system artifacts.
subclass of: T1027

Stripped Payloads
type: Class
attack-id: T1027.008
definition: Adversaries may attempt to make a payload difficult to analyze by removing symbols, strings, and other human readable information. Scripts and executables may contain variables names and other strings that help developers document code functionality. Symbols are often created by an operating system’s `linker` when executable payloads are compiled. Reverse engineers use these symbols and strings to analyze code and to identify functionality in payloads.(Citation: Mandiant golang stripped binaries explanation)(Citation: intezer stripped binaries elf files 2018)
subclass of: T1027

Embedded Payloads
type: Class
attack-id: T1027.009
definition: Adversaries may embed payloads within other files to conceal malicious content from defenses. Otherwise seemingly benign files (such as scripts and executables) may be abused to carry and obfuscate malicious payloads and content. In some cases, embedded payloads may also enable adversaries to [Subvert Trust Controls](https://attack.mitre.org/techniques/T1553) by not impacting execution controls such as digital signatures and notarization tickets.(Citation: Sentinel Labs)
subclass of: T1027

Command Obfuscation
type: Class
attack-id: T1027.010
definition: Adversaries may obfuscate content during command execution to impede detection. Command-line obfuscation is a method of making strings and patterns within commands and scripts more difficult to signature and analyze. This type of obfuscation can be included within commands executed by delivered payloads (e.g., [Phishing](https://attack.mitre.org/techniques/T1566) and [Drive-by Compromise](https://attack.mitre.org/techniques/T1189)) or interactively via [Command and Scripting Interpreter](https://attack.mitre.org/techniques/T1059).(Citation: Akamai JS)(Citation: Malware Monday VBE)
subclass of: T1027

Fileless Storage
type: Class
attack-id: T1027.011
definition: Adversaries may store data in "fileless" formats to conceal malicious activity from defenses. Fileless storage can be broadly defined as any format other than a file. Common examples of non-volatile fileless storage include the Windows Registry, event logs, or WMI repository.(Citation: Microsoft Fileless)(Citation: SecureList Fileless)
subclass of: T1027

LNK Icon Smuggling
type: Class
attack-id: T1027.012
definition: Adversaries may smuggle commands to download malicious payloads past content filters by hiding them within otherwise seemingly benign windows shortcut files. Windows shortcut files (.LNK) include many metadata fields, including an icon location field (also known as the `IconEnvironmentDataBlock`) designed to specify the path to an icon file that is to be displayed for the LNK file within a host directory.
subclass of: T1027

Encrypted/Encoded File
type: Class
attack-id: T1027.013
definition: Adversaries may encrypt or encode files to obfuscate strings, bytes, and other specific patterns to impede detection. Encrypting and/or encoding file content aims to conceal malicious artifacts within a file used in an intrusion. Many other techniques, such as [Software Packing](https://attack.mitre.org/techniques/T1027/002), [Steganography](https://attack.mitre.org/techniques/T1027/003), and [Embedded Payloads](https://attack.mitre.org/techniques/T1027/009), share this same broad objective. Encrypting and/or encoding files could lead to a lapse in detection of static signatures, only for this malicious content to be revealed (i.e., [Deobfuscate/Decode Files or Information](https://attack.mitre.org/techniques/T1140)) at the time of execution/use.
subclass of: T1027

Windows Remote Management
type: Class
attack-id: T1028
definition: Windows Remote Management (WinRM) is the name of both a Windows service and a protocol that allows a user to interact with a remote system (e.g., run an executable, modify the Registry, modify services). (Citation: Microsoft WinRM) It may be called with the winrm command or by any number of programs such as PowerShell. (Citation: Jacobsen 2014)
comment: This technique has been revoked by T1021.006
subclass of: ExecutionTechnique
subclass of: LateralMovementTechnique
deprecated: true

Scheduled Transfer
type: Class
type: NamedIndividual
attack-id: T1029
definition: Adversaries may schedule data exfiltration to be performed only at certain times of day or at certain intervals. This could be done to blend traffic patterns with normal activity or availability.
produces: InternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: InternetNetworkTraffic
subclass of: Exfiltration Technique

Data Transfer Size Limits
type: Class
type: NamedIndividual
attack-id: T1030
definition: An adversary may exfiltrate data in fixed size chunks instead of whole files or limit packet sizes below certain thresholds. This approach may be used to avoid triggering network data transfer threshold alerts.
produces: InternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: InternetNetworkTraffic
subclass of: Exfiltration Technique

Modify Existing Service
type: Class
attack-id: T1031
definition: Windows service configuration information, including the file path to the service's executable or recovery programs/commands, is stored in the Registry. Service configurations can be modified using utilities such as sc.exe and [Reg](https://attack.mitre.org/software/S0075).
comment: This technique has been revoked by T1543.003
subclass of: PersistenceTechnique
deprecated: true

Standard Cryptographic Protocol
type: Class
attack-id: T1032
definition: Adversaries may explicitly employ a known encryption algorithm to conceal command and control traffic rather than relying on any inherent protections provided by a communication protocol. Despite the use of a secure algorithm, these implementations may be vulnerable to reverse engineering if necessary secret keys are encoded and/or generated within malware samples/configuration files.
comment: This technique has been revoked by T1573
subclass of: CommandAndControlTechnique
deprecated: true

System Owner/User Discovery
type: Class
type: NamedIndividual
attack-id: T1033
definition: Adversaries may attempt to identify the primary user, currently logged in user, set of users that commonly uses a system, or whether a user is actively using the system. They may do this, for example, by retrieving account usernames or by using [OS Credential Dumping](https://attack.mitre.org/techniques/T1003). The information may be collected in a number of different ways using other Discovery techniques, because user and username details are prevalent throughout a system and include running process ownership, file/directory ownership, session information, and system logs. Adversaries may use the information from [System Owner/User Discovery](https://attack.mitre.org/techniques/T1033) during automated discovery to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions.
may-access: Directory Service
may-access: Get System Config Value
may-access: Password File
may-access: ProcessSegment
may-invoke: Copy Token
may-invoke: CreateProcess
subclass of: Restriction
  on property: may-access
  some values from: Get System Config Value
subclass of: Restriction
  on property: may-access
  some values from: ProcessSegment
subclass of: Restriction
  on property: may-access
  some values from: Directory Service
subclass of: Restriction
  on property: may-invoke
  some values from: Copy Token
subclass of: Restriction
  on property: may-access
  some values from: Password File
subclass of: Restriction
  on property: may-invoke
  some values from: CreateProcess
subclass of: DiscoveryTechnique

Path Interception
type: Class
attack-id: T1034
definition: **This technique has been deprecated. Please use [Path Interception by PATH Environment Variable](https://attack.mitre.org/techniques/T1574/007), [Path Interception by Search Order Hijacking](https://attack.mitre.org/techniques/T1574/008), and/or [Path Interception by Unquoted Path](https://attack.mitre.org/techniques/T1574/009).**
comment: **This technique has been deprecated. Please use [Path Interception by PATH Environment Variable](https://attack.mitre.org/techniques/T1574/007), [Path Interception by Search Order Hijacking](https://attack.mitre.org/techniques/T1574/008), and/or [Path Interception by Unquoted Path](https://attack.mitre.org/techniques/T1574/009).**
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

Service Execution
type: Class
attack-id: T1035
definition: Adversaries may execute a binary, command, or script via a method that interacts with Windows services, such as the Service Control Manager. This can be done by either creating a new service or modifying an existing service. This technique is the execution used in conjunction with [New Service](https://attack.mitre.org/techniques/T1050) and [Modify Existing Service](https://attack.mitre.org/techniques/T1031) during service persistence or privilege escalation.
comment: This technique has been revoked by T1569.002
subclass of: ExecutionTechnique
deprecated: true

Invalid Code Signature
type: Class
type: NamedIndividual
attack-id: T1036.001
creates: ExecutableBinary
definition: Adversaries may attempt to mimic features of valid code signatures to increase the chance of deceiving a user, analyst, or tool. Code signing provides a level of authenticity on a binary from the developer and a guarantee that the binary has not been tampered with. Adversaries can copy the metadata and signature information from a signed program, then use it as a template for an unsigned program. Files with invalid code signatures will fail digital signature validation checks, but they may appear more legitimate to users and security tools may improperly handle these files.(Citation: Threatexpress MetaTwin 2017)
subclass of: Restriction
  on property: creates
  some values from: ExecutableBinary
subclass of: Masquerading

Right-to-Left Override
type: Class
type: NamedIndividual
attack-id: T1036.002
definition: Adversaries may abuse the right-to-left override (RTLO or RLO) character (U+202E) to disguise a string and/or file name to make it appear benign. RTLO is a non-printing Unicode character that causes the text that follows it to be displayed in reverse. For example, a Windows screensaver executable named March 25 xcod.scr will display as March 25 rcs.docx. A JavaScript file named photo_high_regnp.js will be displayed as photo_high_resj.png.(Citation: Infosecinstitute RTLO Technique)
modifies: FileSystemMetadata
subclass of: Restriction
  on property: modifies
  some values from: FileSystemMetadata
subclass of: Masquerading

Rename System Utilities
type: Class
type: NamedIndividual
attack-id: T1036.003
definition: Adversaries may rename legitimate system utilities to try to evade security mechanisms concerning the usage of those utilities. Security monitoring and control mechanisms may be in place for system utilities adversaries are capable of abusing. (Citation: LOLBAS Main Site) It may be possible to bypass those security mechanisms by renaming the utility prior to utilization (ex: rename rundll32.exe). (Citation: Elastic Masquerade Ball) An alternative case occurs when a legitimate utility is copied or moved to a different directory and renamed to avoid detections based on system utilities executing from non-standard paths. (Citation: F-Secure CozyDuke)
may-create: ExecutableFile
may-modify: Operating System Executable File
subclass of: Restriction
  on property: may-modify
  some values from: Operating System Executable File
subclass of: Restriction
  on property: may-create
  some values from: ExecutableFile
subclass of: Masquerading

Masquerade Task or Service
type: Class
type: NamedIndividual
attack-id: T1036.004
definition: Adversaries may attempt to manipulate the name of a task or service to make it appear legitimate or benign. Tasks/services executed by the Task Scheduler or systemd will typically be given a name and/or description.(Citation: TechNet Schtasks)(Citation: Systemd Service Units) Windows services will have a service name as well as a display name. Many benign tasks and services exist that have commonly associated names. Adversaries may give tasks or services names that are similar or identical to those of legitimate ones.
modifies: Job Schedule
subclass of: Restriction
  on property: modifies
  some values from: Job Schedule
subclass of: Masquerading

Match Legitimate Name or Location
type: Class
type: NamedIndividual
attack-id: T1036.005
definition: Adversaries may match or approximate the name or location of legitimate files or resources when naming/placing them. This is done for the sake of evading defenses and observation. This may be done by placing an executable in a commonly trusted directory (ex: under System32) or giving it the name of a legitimate, trusted program (ex: svchost.exe). In containerized environments, this may also be done by creating a resource in a namespace that matches the naming convention of a container pod or cluster. Alternatively, a file or container image name given may be a close approximation to legitimate programs/images or something innocuous.
invokes: Move File
may-create: File
subclass of: Restriction
  on property: may-create
  some values from: File
subclass of: Restriction
  on property: invokes
  some values from: Move File
subclass of: Masquerading

Space after Filename
type: Class
type: NamedIndividual
attack-id: T1036.006
creates: File
definition: Adversaries can hide a program's true filetype by changing the extension of a file. With certain file types (specifically this does not work with .app extensions), appending a space to the end of a filename will change how the file is processed by the operating system.
subclass of: Restriction
  on property: creates
  some values from: File
subclass of: Masquerading

Double File Extension
type: Class
type: NamedIndividual
attack-id: T1036.007
definition: Adversaries may abuse a double extension in the filename as a means of masquerading the true file type. A file name may include a secondary file type extension that may cause only the first extension to be displayed (ex: File.txt.exe may render in some views as just File.txt). However, the second extension is the true file type that determines how the file is opened and executed. The real file extension may be hidden by the operating system in the file browser (ex: explorer.exe), as well as in any software configured using or similar to the system’s policies.(Citation: PCMag DoubleExtension)(Citation: SOCPrime DoubleExtension)
modifies: FileSystemMetadata
subclass of: Restriction
  on property: modifies
  some values from: FileSystemMetadata
subclass of: Masquerading

Masquerade File Type
type: Class
attack-id: T1036.008
definition: Adversaries may masquerade malicious payloads as legitimate files through changes to the payload's formatting, including the file’s signature, extension, and contents. Various file types have a typical standard format, including how they are encoded and organized. For example, a file’s signature (also known as header or magic bytes) is the beginning bytes of a file and is often used to identify the file’s type. For example, the header of a JPEG file, is 0xFF 0xD8 and the file extension is either `.JPE`, `.JPEG` or `.JPG`.
subclass of: Masquerading

Break Process Trees
type: Class
attack-id: T1036.009
definition: An adversary may attempt to evade process tree-based analysis by modifying executed malware's parent process ID (PPID). If endpoint protection software leverages the “parent-child" relationship for detection, breaking this relationship could result in the adversary’s behavior not being associated with previous process tree activity. On Unix-based systems breaking this process tree is common practice for administrators to execute software using scripts and programs.(Citation: 3OHA double-fork 2022)
subclass of: Masquerading

Logon Script (Windows)
type: Class
type: NamedIndividual
attack-id: T1037.001
definition: Adversaries may use Windows logon scripts automatically executed at logon initialization to establish persistence. Windows allows logon scripts to be run whenever a specific user or group of users log into a system.(Citation: TechNet Logon Scripts) This is done via adding a path to a script to the HKCU\Environment\UserInitMprLogonScript Registry key.(Citation: Hexacorn Logon Scripts)
modifies: User Init Script
subclass of: Restriction
  on property: modifies
  some values from: User Init Script
subclass of: Boot or Logon Initialization Scripts

Login Hook
type: Class
type: NamedIndividual
attack-id: T1037.002
definition: Adversaries may use a Login Hook to establish persistence executed upon user logon. A login hook is a plist file that points to a specific script to execute with root privileges upon user logon. The plist file is located in the /Library/Preferences/com.apple.loginwindow.plist file and can be modified using the defaults command-line utility. This behavior is the same for logout hooks where a script can be executed upon user logout. All hooks require administrator permissions to modify or create hooks.(Citation: Login Scripts Apple Dev)(Citation: LoginWindowScripts Apple Dev)
modifies: User Init Script
subclass of: Restriction
  on property: modifies
  some values from: User Init Script
subclass of: Boot or Logon Initialization Scripts

Network Logon Script
type: Class
type: NamedIndividual
attack-id: T1037.003
definition: Group Policy Object / Active Directory Users and Computers are both Active Directory-based
modifies: Network Init Script File Resource
subclass of: Restriction
  on property: modifies
  some values from: Network Init Script File Resource
subclass of: Boot or Logon Initialization Scripts

RC Scripts
type: Class
type: NamedIndividual
attack-id: T1037.004
definition: Adversaries may establish persistence by modifying RC scripts which are executed during a Unix-like system’s startup. These files allow system administrators to map and start custom services at startup for different run levels. RC scripts require root privileges to modify.
modifies: System Init Script
subclass of: Restriction
  on property: modifies
  some values from: System Init Script
subclass of: Boot or Logon Initialization Scripts

Startup Items
type: Class
type: NamedIndividual
attack-id: T1037.005
definition: Adversaries may use startup items automatically executed at boot initialization to establish persistence. Startup items execute during the final phase of the boot process and contain shell scripts or other executable files along with configuration information used by the system to determine the execution order for all startup items.(Citation: Startup Items)
modifies: System Startup Directory
subclass of: Restriction
  on property: modifies
  some values from: System Startup Directory
subclass of: Boot or Logon Initialization Scripts

DLL Search Order Hijacking
type: Class
attack-id: T1038
definition: Windows systems use a common method to look for required DLLs to load into a program. (Citation: Microsoft DLL Search) Adversaries may take advantage of the Windows DLL search order and programs that ambiguously specify DLLs to gain privilege escalation and persistence.
comment: This technique has been revoked by T1574.001
subclass of: DefenseEvasionTechnique
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

Data from Network Shared Drive
type: Class
type: NamedIndividual
accesses: Network File Share Resource
attack-id: T1039
definition: Adversaries may search network shares on computers they have compromised to find files of interest. Sensitive data can be collected from remote systems via shared network drives (host shared directory, network file server, etc.) that are accessible from the current system prior to Exfiltration. Interactive command shells may be in use, and common functionality within [cmd](https://attack.mitre.org/software/S0106) may be used to gather information.
subclass of: Restriction
  on property: accesses
  some values from: Network File Share Resource
subclass of: CollectionTechnique

Network Sniffing
type: Class
type: NamedIndividual
attack-id: T1040
definition: Adversaries may passively sniff network traffic to capture information about an environment, including authentication material passed over the network. Network sniffing refers to using the network interface on a system to monitor or capture information sent over a wired or wireless connection. An adversary may place a network interface into promiscuous mode to passively access data in transit over the network, or use span ports to capture a larger amount of data.
may-produce: DNS Lookup
subclass of: Restriction
  on property: may-produce
  some values from: DNS Lookup
subclass of: CredentialAccessTechnique
subclass of: DiscoveryTechnique

Exfiltration Over C2 Channel
type: Class
type: NamedIndividual
attack-id: T1041
definition: Adversaries may steal data by exfiltrating it over an existing command and control channel. Stolen data is encoded into the normal communications channel using the same protocol as command and control communications.
may-transfer: CertificateFile
produces: InternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: InternetNetworkTraffic
subclass of: Restriction
  on property: may-transfer
  some values from: CertificateFile
subclass of: Exfiltration Technique

Change Default File Association
type: Class
attack-id: T1042
definition: When a file is opened, the default program used to open the file (also called the file association or handler) is checked. File association selections are stored in the Windows Registry and can be edited by users, administrators, or programs that have Registry access (Citation: Microsoft Change Default Programs) (Citation: Microsoft File Handlers) or by administrators using the built-in assoc utility. (Citation: Microsoft Assoc Oct 2017) Applications can modify the file association for a given file extension to call an arbitrary program when a file with the given extension is opened.
comment: This technique has been revoked by T1546.001
subclass of: PersistenceTechnique
deprecated: true

Commonly Used Port
type: Class
attack-id: T1043
definition: **This technique has been deprecated. Please use [Non-Standard Port](https://attack.mitre.org/techniques/T1571) where appropriate.**
comment: **This technique has been deprecated. Please use [Non-Standard Port](https://attack.mitre.org/techniques/T1571) where appropriate.**
subclass of: CommandAndControlTechnique
deprecated: true

File System Permissions Weakness
type: Class
attack-id: T1044
definition: Processes may automatically execute specific binaries as part of their functionality or to perform other actions. If the permissions on the file system directory containing a target binary, or permissions on the binary itself, are improperly set, then the target binary may be overwritten with another binary using user-level permissions and executed by the original process. If the original process and thread are running under a higher permissions level, then the replaced binary will also execute under higher-level permissions, which could include SYSTEM.
comment: This technique has been revoked by T1574.010
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

Software Packing
type: Class
attack-id: T1045
definition: Software packing is a method of compressing or encrypting an executable. Packing an executable changes the file signature in an attempt to avoid signature-based detection. Most decompression techniques decompress the executable code in memory.
comment: This technique has been revoked by T1027.002
subclass of: DefenseEvasionTechnique
deprecated: true

Network Service Discovery
type: Class
attack-id: T1046
definition: Adversaries may attempt to get a listing of services running on remote hosts and local network infrastructure devices, including those that may be vulnerable to remote software exploitation. Common methods to acquire this information include port and/or vulnerability scans using tools that are brought onto a system.(Citation: CISA AR21-126A FIVEHANDS May 2021)
subclass of: DiscoveryTechnique

Windows Management Instrumentation
type: Class
type: NamedIndividual
attack-id: T1047
definition: Adversaries may abuse Windows Management Instrumentation (WMI) to execute malicious commands and payloads. WMI is designed for programmers and is the infrastructure for management data and operations on Windows systems.(Citation: WMI 1-3) WMI is an administration feature that provides a uniform environment to access Windows system components.
may-create: IntranetAdministrativeNetworkTraffic
may-invoke: CreateProcess
subclass of: Restriction
  on property: may-invoke
  some values from: CreateProcess
subclass of: Restriction
  on property: may-create
  some values from: IntranetAdministrativeNetworkTraffic
subclass of: ExecutionTechnique

Exfiltration Over Symmetric Encrypted Non-C2 Protocol
type: Class
type: NamedIndividual
attack-id: T1048.001
definition: Adversaries may steal data by exfiltrating it over a symmetrically encrypted network protocol other than that of the existing command and control channel. The data may also be sent to an alternate network location from the main command and control server.
produces: OutboundInternetEncryptedTraffic
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetEncryptedTraffic
subclass of: Exfiltration Over Alternative Protocol

Exfiltration Over Asymmetric Encrypted Non-C2 Protocol
type: Class
type: NamedIndividual
attack-id: T1048.002
definition: Adversaries may steal data by exfiltrating it over an asymmetrically encrypted network protocol other than that of the existing command and control channel. The data may also be sent to an alternate network location from the main command and control server.
may-transfer: CertificateFile
produces: OutboundInternetEncryptedTraffic
subclass of: Restriction
  on property: may-transfer
  some values from: CertificateFile
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetEncryptedTraffic
subclass of: Exfiltration Over Alternative Protocol

Exfiltration Over Unencrypted Non-C2 Protocol
type: Class
type: NamedIndividual
attack-id: T1048.003
definition: Adversaries may steal data by exfiltrating it over an un-encrypted network protocol other than that of the existing command and control channel. The data may also be sent to an alternate network location from the main command and control server.(Citation: copy_cmd_cisco)
produces: OutboundInternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetNetworkTraffic
subclass of: Exfiltration Over Alternative Protocol

System Network Connections Discovery
type: Class
type: NamedIndividual
attack-id: T1049
definition: Adversaries may attempt to get a listing of network connections to or from the compromised system they are currently accessing or from remote systems by querying for information over the network.
may-invoke: Get Open Sockets
subclass of: Restriction
  on property: may-invoke
  some values from: Get Open Sockets
subclass of: DiscoveryTechnique

New Service
type: Class
attack-id: T1050
definition: When operating systems boot up, they can start programs or applications called services that perform background system functions. (Citation: TechNet Services) A service's configuration information, including the file path to the service's executable, is stored in the Windows Registry.
comment: This technique has been revoked by T1543.003
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

Shared Webroot
type: Class
attack-id: T1051
definition: **This technique has been deprecated and should no longer be used.**
comment: **This technique has been deprecated and should no longer be used.**
subclass of: LateralMovementTechnique
deprecated: true

Exfiltration over USB
type: Class
type: NamedIndividual
attack-id: T1052.001
definition: Adversaries may attempt to exfiltrate data over a USB connected physical device. In certain circumstances, such as an air-gapped network compromise, exfiltration could occur via a USB device introduced by a user. The USB device could be used as the final exfiltration point or to hop between otherwise disconnected systems.
modifies: Removable Media Device
subclass of: Restriction
  on property: modifies
  some values from: Removable Media Device
subclass of: Exfiltration Over Physical Medium

At (Linux) Execution
type: Class
attack-id: T1053.001
definition: Adversaries may abuse the [at](https://attack.mitre.org/software/S0110) utility to perform task scheduling for initial, recurring, or future execution of malicious code. The [at](https://attack.mitre.org/software/S0110) command within Linux operating systems enables administrators to schedule tasks.(Citation: Kifarunix - Task Scheduling in Linux)
comment: This technique has been revoked by T1053.002
subclass of: Scheduled Task/Job
deprecated: true

At
type: Class
attack-id: T1053.002
definition: Adversaries may abuse the [at](https://attack.mitre.org/software/S0110) utility to perform task scheduling for initial or recurring execution of malicious code. The [at](https://attack.mitre.org/software/S0110) utility exists as an executable within Windows, Linux, and macOS for scheduling tasks at a specified time and date. Although deprecated in favor of [Scheduled Task](https://attack.mitre.org/techniques/T1053/005)'s [schtasks](https://attack.mitre.org/software/S0111) in Windows environments, using [at](https://attack.mitre.org/software/S0110) requires that the Task Scheduler service be running, and the user to be logged on as a member of the local Administrators group.
subclass of: Scheduled Task/Job

Cron
type: Class
attack-id: T1053.003
definition: Adversaries may abuse the cron utility to perform task scheduling for initial or recurring execution of malicious code.(Citation: 20 macOS Common Tools and Techniques) The cron utility is a time-based job scheduler for Unix-like operating systems. The crontab file contains the schedule of cron entries to be run and the specified times for execution. Any crontab files are stored in operating system-specific file paths.
subclass of: Scheduled Task/Job

Launchd
type: Class
type: NamedIndividual
attack-id: T1053.004
creates: PropertyListFile
definition: This technique is deprecated due to the inaccurate usage. The report cited did not provide technical detail as to how the malware interacted directly with launchd rather than going through known services. Other system services are used to interact with launchd rather than launchd being used by itself.
comment: This technique is deprecated due to the inaccurate usage. The report cited did not provide technical detail as to how the malware interacted directly with launchd rather than going through known services. Other system services are used to interact with launchd rather than launchd being used by itself.
subclass of: Restriction
  on property: creates
  some values from: PropertyListFile
subclass of: Scheduled Task/Job
deprecated: true

Scheduled Task
type: Class
type: NamedIndividual
attack-id: T1053.005
definition: Renamed from ATT&CK to be consistent with at, launchd, cron siblings; name as is looks like parent. Not sure why parent is not just Scheduled Task [Execution[.
executes: Scheduled Job
subclass of: Restriction
  on property: executes
  some values from: Scheduled Job
subclass of: Scheduled Task/Job

Systemd Timers
type: Class
attack-id: T1053.006
definition: Adversaries may abuse systemd timers to perform task scheduling for initial or recurring execution of malicious code. Systemd timers are unit files with file extension .timer that control services. Timers can be set to run on a calendar event or after a time span relative to a starting point. They can be used as an alternative to [Cron](https://attack.mitre.org/techniques/T1053/003) in Linux environments.(Citation: archlinux Systemd Timers Aug 2020) Systemd timers may be activated remotely via the systemctl command line utility, which operates over [SSH](https://attack.mitre.org/techniques/T1021/004).(Citation: Systemd Remote Control)
subclass of: Scheduled Task/Job

Container Orchestration Job
type: Class
attack-id: T1053.007
definition: Adversaries may abuse task scheduling functionality provided by container orchestration tools such as Kubernetes to schedule deployment of containers configured to execute malicious code. Container orchestration jobs run these automated tasks at a specific date and time, similar to cron jobs on a Linux system. Deployments of this type can also be configured to maintain a quantity of containers over time, automating the process of maintaining persistence within a cluster.
subclass of: Scheduled Task/Job

Indicator Blocking
type: Class
attack-id: T1054
definition: An adversary may attempt to block indicators or events typically captured by sensors from being gathered and analyzed. This could include maliciously redirecting (Citation: Microsoft Lamin Sept 2017) or even disabling host-based sensors, such as Event Tracing for Windows (ETW),(Citation: Microsoft About Event Tracing 2018) by tampering settings that control the collection and flow of event telemetry. (Citation: Medium Event Tracing Tampering 2018) These settings may be stored on the system in configuration files and/or in the Registry as well as being accessible via administrative utilities such as [PowerShell](https://attack.mitre.org/techniques/T1086) or [Windows Management Instrumentation](https://attack.mitre.org/techniques/T1047).
comment: This technique has been revoked by T1562.006
subclass of: DefenseEvasionTechnique
deprecated: true

Dynamic-link Library Injection
type: Class
type: NamedIndividual
adds: SharedLibraryFile
attack-id: T1055.001
definition: Adversaries may inject dynamic-link libraries (DLLs) into processes in order to evade process-based defenses as well as possibly elevate privileges. DLL injection is a method of executing arbitrary code in the address space of a separate live process.
invokes: SystemCall
loads: SharedLibraryFile
subclass of: Restriction
  on property: loads
  some values from: SharedLibraryFile
subclass of: Restriction
  on property: invokes
  some values from: SystemCall
subclass of: Restriction
  on property: adds
  some values from: SharedLibraryFile
subclass of: T1055

Portable Executable Injection
type: Class
type: NamedIndividual
attack-id: T1055.002
definition: Adversaries may inject portable executables (PE) into processes in order to evade process-based defenses as well as possibly elevate privileges. PE injection is a method of executing arbitrary code in the address space of a separate live process.
may-add: Object File
subclass of: Restriction
  on property: may-add
  some values from: Object File
subclass of: T1055

Thread Execution Hijacking
type: Class
type: NamedIndividual
attack-id: T1055.003
definition: Adversaries may inject malicious code into hijacked processes in order to evade process-based defenses as well as possibly elevate privileges. Thread Execution Hijacking is a method of executing arbitrary code in the address space of a separate live process.
invokes: SystemCall
may-add: ExecutableBinary
subclass of: Restriction
  on property: may-add
  some values from: ExecutableBinary
subclass of: Restriction
  on property: invokes
  some values from: SystemCall
subclass of: T1055

Asynchronous Procedure Call
type: Class
type: NamedIndividual
attack-id: T1055.004
definition: Adversaries may inject malicious code into processes via the asynchronous procedure call (APC) queue in order to evade process-based defenses as well as possibly elevate privileges. APC injection is a method of executing arbitrary code in the address space of a separate live process.
may-invoke: CreateProcess
subclass of: Restriction
  on property: may-invoke
  some values from: CreateProcess
subclass of: T1055

Thread Local Storage
type: Class
type: NamedIndividual
attack-id: T1055.005
definition: Adversaries may inject malicious code into processes via thread local storage (TLS) callbacks in order to evade process-based defenses as well as possibly elevate privileges. TLS callback injection is a method of executing arbitrary code in the address space of a separate live process.
invokes: SystemCall
subclass of: Restriction
  on property: invokes
  some values from: SystemCall
subclass of: T1055

Ptrace System Calls
type: Class
type: NamedIndividual
attack-id: T1055.008
definition: Adversaries may inject malicious code into processes via ptrace (process trace) system calls in order to evade process-based defenses as well as possibly elevate privileges. Ptrace system call injection is a method of executing arbitrary code in the address space of a separate live process.
invokes: SystemCall
subclass of: Restriction
  on property: invokes
  some values from: SystemCall
subclass of: T1055

Proc Memory
type: Class
type: NamedIndividual
accesses: OperatingSystemFile
attack-id: T1055.009
definition: Adversaries may inject malicious code into processes via the /proc filesystem in order to evade process-based defenses as well as possibly elevate privileges. Proc memory injection is a method of executing arbitrary code in the address space of a separate live process.
may-modify: OperatingSystemFile
subclass of: Restriction
  on property: may-modify
  some values from: OperatingSystemFile
subclass of: Restriction
  on property: accesses
  some values from: OperatingSystemFile
subclass of: T1055

Extra Window Memory Injection
type: Class
attack-id: T1055.011
definition: Adversaries may inject malicious code into process via Extra Window Memory (EWM) in order to evade process-based defenses as well as possibly elevate privileges. EWM injection is a method of executing arbitrary code in the address space of a separate live process.
subclass of: T1055

Process Hollowing
type: Class
type: NamedIndividual
attack-id: T1055.012
definition: Adversaries may inject malicious code into suspended and hollowed processes in order to evade process-based defenses. Process hollowing is a method of executing arbitrary code in the address space of a separate live process.
modifies: ProcessCodeSegment
subclass of: Restriction
  on property: modifies
  some values from: ProcessCodeSegment
subclass of: T1055

Process Doppelgänging
type: Class
type: NamedIndividual
attack-id: T1055.013
definition: Adversaries may inject malicious code into process via process doppelgänging in order to evade process-based defenses as well as possibly elevate privileges. Process doppelgänging is a method of executing arbitrary code in the address space of a separate live process.
invokes: CreateProcess
subclass of: Restriction
  on property: invokes
  some values from: CreateProcess
subclass of: T1055

VDSO Hijacking
type: Class
type: NamedIndividual
accesses: SharedLibraryFile
attack-id: T1055.014
definition: Adversaries may inject malicious code into processes via VDSO hijacking in order to evade process-based defenses as well as possibly elevate privileges. Virtual dynamic shared object (vdso) hijacking is a method of executing arbitrary code in the address space of a separate live process.
invokes: SystemCall
subclass of: Restriction
  on property: accesses
  some values from: SharedLibraryFile
subclass of: Restriction
  on property: invokes
  some values from: SystemCall
subclass of: T1055

ListPlanting
type: Class
attack-id: T1055.015
definition: Adversaries may abuse list-view controls to inject malicious code into hijacked processes in order to evade process-based defenses as well as possibly elevate privileges. ListPlanting is a method of executing arbitrary code in the address space of a separate live process. Code executed via ListPlanting may also evade detection from security products since the execution is masked under a legitimate process.
subclass of: T1055

Keylogging
type: Class
type: NamedIndividual
accesses: Keyboard Input Device
attack-id: T1056.001
definition: Adversaries may log user keystrokes to intercept credentials as the user types them. Keylogging is likely to be used to acquire credentials for new access opportunities when [OS Credential Dumping](https://attack.mitre.org/techniques/T1003) efforts are not effective, and may require an adversary to intercept keystrokes on a system for a substantial period of time before credentials can be successfully captured. In order to increase the likelihood of capturing credentials quickly, an adversary may also perform actions such as clearing browser cookies to force users to reauthenticate to systems.(Citation: Talos Kimsuky Nov 2021)
subclass of: Restriction
  on property: accesses
  some values from: Keyboard Input Device
subclass of: Input Capture

GUI Input Capture
type: Class
type: NamedIndividual
accesses: Graphical User Interface
attack-id: T1056.002
definition: Adversaries may mimic common operating system GUI components to prompt users for credentials with a seemingly legitimate prompt. When programs are executed that need additional privileges than are present in the current user context, it is common for the operating system to prompt the user for proper credentials to authorize the elevated privileges for the task (ex: [Bypass User Account Control](https://attack.mitre.org/techniques/T1548/002)).
subclass of: Restriction
  on property: accesses
  some values from: Graphical User Interface
subclass of: Input Capture

Web Portal Capture
type: Class
type: NamedIndividual
attack-id: T1056.003
definition: Adversaries may install code on externally facing portals, such as a VPN login page, to capture and transmit credentials of users who attempt to log into the service. For example, a compromised login page may log provided user credentials before logging the user in to the service.
modifies: Web Server Application
subclass of: Restriction
  on property: modifies
  some values from: Web Server Application
subclass of: Input Capture

Credential API Hooking
type: Class
type: NamedIndividual
attack-id: T1056.004
definition: Adversaries may hook into Windows application programming interface (API) functions to collect user credentials. Malicious hooking mechanisms may capture API calls that include parameters that reveal user authentication credentials.(Citation: Microsoft TrojanSpy:Win32/Ursnif.gen!I Sept 2017) Unlike [Keylogging](https://attack.mitre.org/techniques/T1056/001), this technique focuses specifically on API functions that include parameters that reveal user credentials. Hooking involves redirecting calls to these functions and can be implemented via:
may-modify: ProcessCodeSegment
subclass of: Restriction
  on property: may-modify
  some values from: ProcessCodeSegment
subclass of: Input Capture

Process Discovery
type: Class
type: NamedIndividual
attack-id: T1057
definition: Adversaries may attempt to get information about running processes on a system. Information obtained could be used to gain an understanding of common software/applications running on systems within the network. Administrator or otherwise elevated access may provide better process details. Adversaries may use the information from [Process Discovery](https://attack.mitre.org/techniques/T1057) during automated discovery to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions.
may-invoke: CreateProcess
may-invoke: Get Running Processes
subclass of: Restriction
  on property: may-invoke
  some values from: Get Running Processes
subclass of: Restriction
  on property: may-invoke
  some values from: CreateProcess
subclass of: DiscoveryTechnique

Service Registry Permissions Weakness
type: Class
attack-id: T1058
definition: Windows stores local service configuration information in the Registry under HKLM\SYSTEM\CurrentControlSet\Services. The information stored under a service's Registry keys can be manipulated to modify a service's execution parameters through tools such as the service controller, sc.exe, [PowerShell](https://attack.mitre.org/techniques/T1086), or [Reg](https://attack.mitre.org/software/S0075). Access to Registry keys is controlled through Access Control Lists and permissions. (Citation: MSDN Registry Key Security)
comment: This technique has been revoked by T1574.011
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

PowerShell
type: Class
attack-id: T1059.001
definition: Adversaries may abuse PowerShell commands and scripts for execution. PowerShell is a powerful interactive command-line interface and scripting environment included in the Windows operating system.(Citation: TechNet PowerShell) Adversaries can use PowerShell to perform a number of actions, including discovery of information and execution of code. Examples include the Start-Process cmdlet which can be used to run an executable and the Invoke-Command cmdlet which runs a command locally or on a remote computer (though administrator permissions are required to use PowerShell to connect to remote systems).
subclass of: Command and Scripting Interpreter

AppleScript
type: Class
attack-id: T1059.002
definition: Adversaries may abuse AppleScript for execution. AppleScript is a macOS scripting language designed to control applications and parts of the OS via inter-application messages called AppleEvents.(Citation: Apple AppleScript) These AppleEvent messages can be sent independently or easily scripted with AppleScript. These events can locate open windows, send keystrokes, and interact with almost any open application locally or remotely.
subclass of: Command and Scripting Interpreter

Windows Command Shell
type: Class
attack-id: T1059.003
definition: Adversaries may abuse the Windows command shell for execution. The Windows command shell ([cmd](https://attack.mitre.org/software/S0106)) is the primary command prompt on Windows systems. The Windows command prompt can be used to control almost any aspect of a system, with various permission levels required for different subsets of commands. The command prompt can be invoked remotely via [Remote Services](https://attack.mitre.org/techniques/T1021) such as [SSH](https://attack.mitre.org/techniques/T1021/004).(Citation: SSH in Windows)
subclass of: Command and Scripting Interpreter

Unix Shell
type: Class
attack-id: T1059.004
definition: Adversaries may abuse Unix shell commands and scripts for execution. Unix shells are the primary command prompt on Linux and macOS systems, though many variations of the Unix shell exist (e.g. sh, bash, zsh, etc.) depending on the specific OS or distribution.(Citation: DieNet Bash)(Citation: Apple ZShell) Unix shells can control every aspect of a system, with certain commands requiring elevated privileges.
subclass of: Command and Scripting Interpreter
alternative label: Bash Execution

Visual Basic
type: Class
attack-id: T1059.005
definition: Adversaries may abuse Visual Basic (VB) for execution. VB is a programming language created by Microsoft with interoperability with many Windows technologies such as [Component Object Model](https://attack.mitre.org/techniques/T1559/001) and the [Native API](https://attack.mitre.org/techniques/T1106) through the Windows API. Although tagged as legacy with no planned future evolutions, VB is integrated and supported in the .NET Framework and cross-platform .NET Core.(Citation: VB .NET Mar 2020)(Citation: VB Microsoft)
subclass of: Command and Scripting Interpreter

Python
type: Class
attack-id: T1059.006
definition: Adversaries may abuse Python commands and scripts for execution. Python is a very popular scripting/programming language, with capabilities to perform many functions. Python can be executed interactively from the command-line (via the python.exe interpreter) or via scripts (.py) that can be written and distributed to different systems. Python code can also be compiled into binary executables.(Citation: Zscaler APT31 Covid-19 October 2020)
subclass of: Command and Scripting Interpreter

JavaScript
type: Class
attack-id: T1059.007
definition: Adversaries may abuse various implementations of JavaScript for execution. JavaScript (JS) is a platform-independent scripting language (compiled just-in-time at runtime) commonly associated with scripts in webpages, though JS can be executed in runtime environments outside the browser.(Citation: NodeJS)
subclass of: Command and Scripting Interpreter

Network Device CLI
type: Class
attack-id: T1059.008
definition: Adversaries may abuse scripting or built-in command line interpreters (CLI) on network devices to execute malicious command and payloads. The CLI is the primary means through which users and administrators interact with the device in order to view system information, modify device operations, or perform diagnostic and administrative functions. CLIs typically contain various permission levels required for different commands.
subclass of: Command and Scripting Interpreter

Cloud API
type: Class
attack-id: T1059.009
definition: Adversaries may abuse cloud APIs to execute malicious commands. APIs available in cloud environments provide various functionalities and are a feature-rich method for programmatic access to nearly all aspects of a tenant. These APIs may be utilized through various methods such as command line interpreters (CLIs), in-browser Cloud Shells, [PowerShell](https://attack.mitre.org/techniques/T1059/001) modules like Azure for PowerShell(Citation: Microsoft - Azure PowerShell), or software developer kits (SDKs) available for languages such as [Python](https://attack.mitre.org/techniques/T1059/006).
subclass of: Command and Scripting Interpreter

AutoHotKey & AutoIT
type: Class
attack-id: T1059.010
definition: Adversaries may execute commands and perform malicious tasks using AutoIT and AutoHotKey automation scripts. AutoIT and AutoHotkey (AHK) are scripting languages that enable users to automate Windows tasks. These automation scripts can be used to perform a wide variety of actions, such as clicking on buttons, entering text, and opening and closing programs.(Citation: AutoIT)(Citation: AutoHotKey)
subclass of: Command and Scripting Interpreter

Registry Run Keys / Startup Folder
type: Class
attack-id: T1060
definition: Adversaries may achieve persistence by adding a program to a startup folder or referencing it with a Registry run key. Adding an entry to the "run keys" in the Registry or startup folder will cause the program referenced to be executed when a user logs in. (Citation: Microsoft Run Key) These programs will be executed under the context of the user and will have the account's associated permissions level.
comment: This technique has been revoked by T1547.001
subclass of: PersistenceTechnique
deprecated: true

Graphical User Interface
type: Class
attack-id: T1061
definition: **This technique has been deprecated. Please use [Remote Services](https://attack.mitre.org/techniques/T1021) where appropriate.**
comment: **This technique has been deprecated. Please use [Remote Services](https://attack.mitre.org/techniques/T1021) where appropriate.**
subclass of: ExecutionTechnique
deprecated: true

Hypervisor
type: Class
attack-id: T1062
definition: **This technique has been deprecated and should no longer be used.**
comment: **This technique has been deprecated and should no longer be used.**
subclass of: PersistenceTechnique
deprecated: true

Security Software Discovery
type: Class
attack-id: T1063
definition: Adversaries may attempt to get a listing of security software, configurations, defensive tools, and sensors that are installed on the system. This may include things such as local firewall rules and anti-virus. Adversaries may use the information from [Security Software Discovery](https://attack.mitre.org/techniques/T1063) during automated discovery to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions.
comment: This technique has been revoked by T1518.001
subclass of: DiscoveryTechnique
deprecated: true

Scripting
type: Class
attack-id: T1064
definition: **This technique has been deprecated. Please use [Command and Scripting Interpreter](https://attack.mitre.org/techniques/T1059) where appropriate.**
comment: **This technique has been deprecated. Please use [Command and Scripting Interpreter](https://attack.mitre.org/techniques/T1059) where appropriate.**
subclass of: DefenseEvasionTechnique
subclass of: ExecutionTechnique
deprecated: true

Uncommonly Used Port
type: Class
attack-id: T1065
definition: Adversaries may conduct C2 communications over a non-standard port to bypass proxies and firewalls that have been improperly configured.
comment: This technique has been revoked by T1571
subclass of: CommandAndControlTechnique
deprecated: true

Indicator Removal from Tools
type: Class
attack-id: T1066
definition: If a malicious tool is detected and quarantined or otherwise curtailed, an adversary may be able to determine why the malicious tool was detected (the indicator), modify the tool by removing the indicator, and use the updated version that is no longer detected by the target's defensive systems or subsequent targets that may use similar systems.
comment: This technique has been revoked by T1027.005
subclass of: DefenseEvasionTechnique
deprecated: true

Bootkit
type: Class
attack-id: T1067
definition: A bootkit is a malware variant that modifies the boot sectors of a hard drive, including the Master Boot Record (MBR) and Volume Boot Record (VBR). (Citation: MTrends 2016)
comment: This technique has been revoked by T1542.003
subclass of: PersistenceTechnique
deprecated: true

Exploitation for Privilege Escalation
type: Class
type: NamedIndividual
attack-id: T1068
definition: Adversaries may exploit software vulnerabilities in an attempt to elevate privileges. Exploitation of a software vulnerability occurs when an adversary takes advantage of a programming error in a program, service, or within the operating system software or kernel itself to execute adversary-controlled code. Security constructs such as permission levels will often hinder access to information and use of certain techniques, so adversaries will likely need to perform privilege escalation to include use of software exploitation to circumvent those restrictions.
enables: Privilege Escalation
may-modify: StackFrame
modifies: ProcessCodeSegment
subclass of: Restriction
  on property: enables
  some values from: Privilege Escalation
subclass of: Restriction
  on property: modifies
  some values from: ProcessCodeSegment
subclass of: Restriction
  on property: may-modify
  some values from: StackFrame
subclass of: PrivilegeEscalationTechnique

Local Groups
type: Class
attack-id: T1069.001
definition: Adversaries may attempt to find local system groups and permission settings. The knowledge of local system permission groups can help adversaries determine which groups exist and which users belong to a particular group. Adversaries may use this information to determine which users have elevated permissions, such as the users found within the local administrators group.
subclass of: Permission Groups Discovery

Domain Groups
type: Class
attack-id: T1069.002
definition: Adversaries may attempt to find domain-level groups and permission settings. The knowledge of domain-level permission groups can help adversaries determine which groups exist and which users belong to a particular group. Adversaries may use this information to determine which users have elevated permissions, such as domain administrators.
subclass of: Permission Groups Discovery

Cloud Groups
type: Class
attack-id: T1069.003
definition: Adversaries may attempt to find cloud groups and permission settings. The knowledge of cloud permission groups can help adversaries determine the particular roles of users and groups within an environment, as well as which users are associated with a particular group.
subclass of: Permission Groups Discovery

Clear Windows Event Logs
type: Class
type: NamedIndividual
attack-id: T1070.001
definition: Adversaries may clear Windows Event Logs to hide the activity of an intrusion. Windows Event Logs are a record of a computer's alerts and notifications. There are three system-defined sources of events: System, Application, and Security, with five event types: Error, Warning, Information, Success Audit, and Failure Audit.
modifies: EventLog
subclass of: Restriction
  on property: modifies
  some values from: EventLog
subclass of: Indicator Removal

Clear Linux or Mac System Logs
type: Class
type: NamedIndividual
attack-id: T1070.002
definition: Adversaries may clear system logs to hide evidence of an intrusion. macOS and Linux both keep track of system or user-initiated actions via system logs. The majority of native system logging is stored under the /var/log/ directory. Subfolders in this directory categorize logs by their related functions, such as:(Citation: Linux Logs)
modifies: Operating System Log File
subclass of: Restriction
  on property: modifies
  some values from: Operating System Log File
subclass of: Indicator Removal

Clear Command History
type: Class
type: NamedIndividual
attack-id: T1070.003
definition: In addition to clearing system logs, an adversary may clear the command history of a compromised account to conceal the actions undertaken during an intrusion. Various command interpreters keep track of the commands users type in their terminal so that users can retrace what they've done.
modifies: Command History Log
subclass of: Restriction
  on property: modifies
  some values from: Command History Log
subclass of: Indicator Removal

File Deletion
type: Class
type: NamedIndividual
attack-id: T1070.004
definition: Adversaries may delete files left behind by the actions of their intrusion activity. Malware, tools, or other non-native files dropped or created on a system by an adversary (ex: [Ingress Tool Transfer](https://attack.mitre.org/techniques/T1105)) may leave traces to indicate to what was done within a network and how. Removal of these files can occur during an intrusion, or as part of a post-intrusion process to minimize the adversary's footprint.
deletes: File
may-modify: File
subclass of: Restriction
  on property: may-modify
  some values from: File
subclass of: Restriction
  on property: deletes
  some values from: File
subclass of: Indicator Removal

Network Share Connection Removal
type: Class
type: NamedIndividual
attack-id: T1070.005
definition: Adversaries may remove share connections that are no longer useful in order to clean up traces of their operation. Windows shared drive and [SMB/Windows Admin Shares](https://attack.mitre.org/techniques/T1021/002) connections can be removed when no longer needed. [Net](https://attack.mitre.org/software/S0039) is an example utility that can be used to remove network share connections with the net use \\system\share /delete command. (Citation: Technet Net Use)
unmounts: Network File Share Resource
subclass of: Restriction
  on property: unmounts
  some values from: Network File Share Resource
subclass of: Indicator Removal

Timestomp
type: Class
type: NamedIndividual
attack-id: T1070.006
definition: Adversaries may modify file time attributes to hide new or changes to existing files. Timestomping is a technique that modifies the timestamps of a file (the modify, access, create, and change times), often to mimic files that are in the same folder. This is done, for example, on files that have been modified or created by the adversary so that they do not appear conspicuous to forensic investigators or file analysis tools.
forges: FileSystemMetadata
subclass of: Restriction
  on property: forges
  some values from: FileSystemMetadata
subclass of: Indicator Removal

Clear Network Connection History and Configurations
type: Class
attack-id: T1070.007
definition: Adversaries may clear or remove evidence of malicious network connections in order to clean up traces of their operations. Configuration settings as well as various artifacts that highlight connection history may be created on a system and/or in application logs from behaviors that require network connections, such as [Remote Services](https://attack.mitre.org/techniques/T1021) or [External Remote Services](https://attack.mitre.org/techniques/T1133). Defenders may use these artifacts to monitor or otherwise analyze network connections created by adversaries.
subclass of: Indicator Removal

Clear Mailbox Data
type: Class
attack-id: T1070.008
definition: Adversaries may modify mail and mail application data to remove evidence of their activity. Email applications allow users and other programs to export and delete mailbox data via command line tools or use of APIs. Mail application data can be emails, email metadata, or logs generated by the application or operating system, such as export requests.
subclass of: Indicator Removal

Clear Persistence
type: Class
attack-id: T1070.009
definition: Adversaries may clear artifacts associated with previously established persistence on a host system to remove evidence of their activity. This may involve various actions, such as removing services, deleting executables, [Modify Registry](https://attack.mitre.org/techniques/T1112), [Plist File Modification](https://attack.mitre.org/techniques/T1647), or other methods of cleanup to prevent defenders from collecting evidence of their persistent presence.(Citation: Cylance Dust Storm) Adversaries may also delete accounts previously created to maintain persistence (i.e. [Create Account](https://attack.mitre.org/techniques/T1136)).(Citation: Talos - Cisco Attack 2022)
subclass of: Indicator Removal

Web Protocols
type: Class
type: NamedIndividual
attack-id: T1071.001
definition: Adversaries may communicate using application layer protocols associated with web traffic to avoid detection/network filtering by blending in with existing traffic. Commands to the remote system, and often the results of those commands, will be embedded within the protocol traffic between the client and server.
may-transfer: CertificateFile
produces: Outbound Internet Web Traffic
subclass of: Restriction
  on property: may-transfer
  some values from: CertificateFile
subclass of: Restriction
  on property: produces
  some values from: Outbound Internet Web Traffic
subclass of: Application Layer Protocol

File Transfer Protocols
type: Class
type: NamedIndividual
attack-id: T1071.002
definition: Adversaries may communicate using application layer protocols associated with transferring files to avoid detection/network filtering by blending in with existing traffic. Commands to the remote system, and often the results of those commands, will be embedded within the protocol traffic between the client and server.
produces: Outbound Internet File Transfer Traffic
subclass of: Restriction
  on property: produces
  some values from: Outbound Internet File Transfer Traffic
subclass of: Application Layer Protocol

Mail Protocols
type: Class
type: NamedIndividual
attack-id: T1071.003
definition: Adversaries may communicate using application layer protocols associated with electronic mail delivery to avoid detection/network filtering by blending in with existing traffic. Commands to the remote system, and often the results of those commands, will be embedded within the protocol traffic between the client and server.
produces: Outbound Internet Mail Traffic
subclass of: Restriction
  on property: produces
  some values from: Outbound Internet Mail Traffic
subclass of: Application Layer Protocol

DNS
type: Class
type: NamedIndividual
attack-id: T1071.004
definition: Adversaries may communicate using the Domain Name System (DNS) application layer protocol to avoid detection/network filtering by blending in with existing traffic. Commands to the remote system, and often the results of those commands, will be embedded within the protocol traffic between the client and server.
produces: OutboundInternetDNSLookupTraffic
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetDNSLookupTraffic
subclass of: Application Layer Protocol

Software Deployment Tools
type: Class
type: NamedIndividual
adds: File
attack-id: T1072
definition: Adversaries may gain access to and use centralized software suites installed within an enterprise to execute commands and move laterally through the network. Configuration management and software deployment applications may be used in an enterprise network or cloud environment for routine administration purposes. These systems may also be integrated into CI/CD pipelines. Examples of such solutions include: SCCM, HBSS, Altiris, AWS Systems Manager, Microsoft Intune, Azure Arc, and GCP Deployment Manager.
executes: Software Deployment Tool
installs: Software
subclass of: Restriction
  on property: adds
  some values from: File
subclass of: Restriction
  on property: executes
  some values from: Software Deployment Tool
subclass of: Restriction
  on property: installs
  some values from: Software
subclass of: ExecutionTechnique
subclass of: LateralMovementTechnique

DLL Side-Loading
type: Class
attack-id: T1073
definition: Programs may specify DLLs that are loaded at runtime. Programs that improperly or vaguely specify a required DLL may be open to a vulnerability in which an unintended DLL is loaded. Side-loading vulnerabilities specifically occur when Windows Side-by-Side (WinSxS) manifests (Citation: MSDN Manifests) are not explicit enough about characteristics of the DLL to be loaded. Adversaries may take advantage of a legitimate program that is vulnerable to side-loading to load a malicious DLL. (Citation: Stewart 2014)
comment: This technique has been revoked by T1574.002
subclass of: DefenseEvasionTechnique
deprecated: true

Local Data Staging
type: Class
type: NamedIndividual
attack-id: T1074.001
definition: Adversaries may stage collected data in a central location or directory on the local system prior to Exfiltration. Data may be kept in separate files or combined into one file through techniques such as [Archive Collected Data](https://attack.mitre.org/techniques/T1560). Interactive command shells may be used, and common functionality within [cmd](https://attack.mitre.org/software/S0106) and bash may be used to copy data into a staging location.
may-create: File
may-invoke: Create File
subclass of: Restriction
  on property: may-invoke
  some values from: Create File
subclass of: Restriction
  on property: may-create
  some values from: File
subclass of: Data Staged

Remote Data Staging
type: Class
type: NamedIndividual
attack-id: T1074.002
definition: Adversaries may stage data collected from multiple systems in a central location or directory on one system prior to Exfiltration. Data may be kept in separate files or combined into one file through techniques such as [Archive Collected Data](https://attack.mitre.org/techniques/T1560). Interactive command shells may be used, and common functionality within [cmd](https://attack.mitre.org/software/S0106) and bash may be used to copy data into a staging location.
modifies: NetworkResource
subclass of: Restriction
  on property: modifies
  some values from: NetworkResource
subclass of: Data Staged

Pass the Hash
type: Class
attack-id: T1075
definition: Pass the hash (PtH) is a method of authenticating as a user without having access to the user's cleartext password. This method bypasses standard authentication steps that require a cleartext password, moving directly into the portion of the authentication that uses the password hash. In this technique, valid password hashes for the account being used are captured using a Credential Access technique. Captured hashes are used with PtH to authenticate as that user. Once authenticated, PtH may be used to perform actions on local or remote systems.
comment: This technique has been revoked by T1550.002
subclass of: LateralMovementTechnique
deprecated: true

Remote Desktop Protocol
type: Class
attack-id: T1076
definition: Remote desktop is a common feature in operating systems. It allows a user to log into an interactive session with a system desktop graphical user interface on a remote system. Microsoft refers to its implementation of the Remote Desktop Protocol (RDP) as Remote Desktop Services (RDS). (Citation: TechNet Remote Desktop Services) There are other implementations and third-party tools that provide graphical access [Remote Services](https://attack.mitre.org/techniques/T1021) similar to RDS.
comment: This technique has been revoked by T1021.001
subclass of: LateralMovementTechnique
deprecated: true

Windows Admin Shares
type: Class
attack-id: T1077
definition: Windows systems have hidden network shares that are accessible only to administrators and provide the ability for remote file copy and other administrative functions. Example network shares include C$, ADMIN$, and IPC$.
comment: This technique has been revoked by T1021.002
subclass of: LateralMovementTechnique
deprecated: true

Default Accounts
type: Class
type: NamedIndividual
attack-id: T1078.001
definition: Adversaries may obtain and abuse credentials of a default account as a means of gaining Initial Access, Persistence, Privilege Escalation, or Defense Evasion. Default accounts are those that are built-into an OS, such as the Guest or Administrator accounts on Windows systems. Default accounts also include default factory/provider set accounts on other types of systems, software, or devices, including the root user account in AWS and the default service account in Kubernetes.(Citation: Microsoft Local Accounts Feb 2019)(Citation: AWS Root User)(Citation: Threat Matrix for Kubernetes)
uses: Default User Account
subclass of: Restriction
  on property: uses
  some values from: Default User Account
subclass of: Valid Accounts

Domain Accounts
type: Class
type: NamedIndividual
attack-id: T1078.002
definition: Adversaries may obtain and abuse credentials of a domain account as a means of gaining Initial Access, Persistence, Privilege Escalation, or Defense Evasion.(Citation: TechNet Credential Theft) Domain accounts are those managed by Active Directory Domain Services where access and permissions are configured across systems and services that are part of that domain. Domain accounts can cover users, administrators, and services.(Citation: Microsoft AD Accounts)
uses: Domain User Account
subclass of: Restriction
  on property: uses
  some values from: Domain User Account
subclass of: Valid Accounts

Local Accounts
type: Class
type: NamedIndividual
attack-id: T1078.003
definition: Adversaries may obtain and abuse credentials of a local account as a means of gaining Initial Access, Persistence, Privilege Escalation, or Defense Evasion. Local accounts are those configured by an organization for use by users, remote support, services, or for administration on a single system or service.
uses: Local User Account
subclass of: Restriction
  on property: uses
  some values from: Local User Account
subclass of: Valid Accounts

Cloud Accounts
type: Class
type: NamedIndividual
attack-id: T1078.004
definition: Valid accounts in cloud environments may allow adversaries to perform actions to achieve Initial Access, Persistence, Privilege Escalation, or Defense Evasion. Cloud accounts are those created and configured by an organization for use by users, remote support, services, or for administration of resources within a cloud service provider or SaaS application. Cloud Accounts can exist solely in the cloud; alternatively, they may be hybrid-joined between on-premises systems and the cloud through syncing or federation with other identity sources such as Windows Active Directory. (Citation: AWS Identity Federation)(Citation: Google Federating GC)(Citation: Microsoft Deploying AD Federation)
uses: Cloud User Account
subclass of: Restriction
  on property: uses
  some values from: Cloud User Account
subclass of: Valid Accounts

Multilayer Encryption
type: Class
attack-id: T1079
definition: An adversary performs C2 communications using multiple layers of encryption, typically (but not exclusively) tunneling a custom encryption scheme within a protocol encryption scheme such as HTTPS or SMTPS.
comment: This technique has been revoked by T1573
subclass of: CommandAndControlTechnique
deprecated: true

Taint Shared Content
type: Class
type: NamedIndividual
attack-id: T1080
modifies: NetworkResource
subclass of: Restriction
  on property: modifies
  some values from: NetworkResource
subclass of: LateralMovementTechnique

Credentials in Files
type: Class
attack-id: T1081
definition: Adversaries may search local file systems and remote file shares for files containing passwords. These can be files created by users to store their own credentials, shared credential stores for a group of individuals, configuration files containing passwords for a system or service, or source code/binary files containing embedded passwords.
comment: This technique has been revoked by T1552.001
subclass of: CredentialAccessTechnique
deprecated: true

System Information Discovery
type: Class
type: NamedIndividual
attack-id: T1082
definition: An adversary may attempt to get detailed information about the operating system and hardware, including version, patches, hotfixes, service packs, and architecture. Adversaries may use the information from [System Information Discovery](https://attack.mitre.org/techniques/T1082) during automated discovery to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions.
may-access: Decoy Artifact
may-invoke: CreateProcess
subclass of: Restriction
  on property: may-access
  some values from: Decoy Artifact
subclass of: Restriction
  on property: may-invoke
  some values from: CreateProcess
subclass of: DiscoveryTechnique

File and Directory Discovery
type: Class
type: NamedIndividual
accesses: Directory
accesses: File
attack-id: T1083
definition: Adversaries may enumerate files and directories or may search in specific locations of a host or network share for certain information within a file system. Adversaries may use the information from [File and Directory Discovery](https://attack.mitre.org/techniques/T1083) during automated discovery to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions.
subclass of: Restriction
  on property: accesses
  some values from: File
subclass of: Restriction
  on property: accesses
  some values from: Directory
subclass of: DiscoveryTechnique

Windows Management Instrumentation Event Subscription
type: Class
attack-id: T1084
definition: Windows Management Instrumentation (WMI) can be used to install event filters, providers, consumers, and bindings that execute code when a defined event occurs. Adversaries may use the capabilities of WMI to subscribe to an event and execute arbitrary code when that event occurs, providing persistence on a system. Adversaries may attempt to evade detection of this technique by compiling WMI scripts into Windows Management Object (MOF) files (.mof extension). (Citation: Dell WMI Persistence) Examples of events that may be subscribed to are the wall clock time or the computer's uptime. (Citation: Kazanciyan 2014) Several threat groups have reportedly used this technique to maintain persistence. (Citation: Mandiant M-Trends 2015)
comment: This technique has been revoked by T1546.003
subclass of: PersistenceTechnique
deprecated: true

Rundll32
type: Class
attack-id: T1085
definition: The rundll32.exe program can be called to execute an arbitrary binary. Adversaries may take advantage of this functionality to proxy execution of code to avoid triggering security tools that may not monitor execution of the rundll32.exe process because of whitelists or false positives from Windows using rundll32.exe for normal operations.
comment: This technique has been revoked by T1218.011
subclass of: DefenseEvasionTechnique
subclass of: ExecutionTechnique
deprecated: true

PowerShell
type: Class
attack-id: T1086
definition: PowerShell is a powerful interactive command-line interface and scripting environment included in the Windows operating system. (Citation: TechNet PowerShell) Adversaries can use PowerShell to perform a number of actions, including discovery of information and execution of code. Examples include the Start-Process cmdlet which can be used to run an executable and the Invoke-Command cmdlet which runs a command locally or on a remote computer.
comment: This technique has been revoked by T1059.001
subclass of: ExecutionTechnique
deprecated: true

Local Account
type: Class
type: NamedIndividual
attack-id: T1087.001
creates: Local User Account
definition: Adversaries may attempt to get a listing of local system accounts. This information can help adversaries determine which local accounts exist on a system to aid in follow-on behavior.
subclass of: Restriction
  on property: creates
  some values from: Local User Account
subclass of: Create Account

Email Account
type: Class
attack-id: T1087.003
definition: Adversaries may attempt to get a listing of email addresses and accounts. Adversaries may try to dump Exchange address lists such as global address lists (GALs).(Citation: Microsoft Exchange Address Lists)
subclass of: Account Discovery

Cloud Account
type: Class
type: NamedIndividual
attack-id: T1087.004
creates: Cloud User Account
definition: Adversaries may attempt to get a listing of cloud accounts. Cloud accounts are those created and configured by an organization for use by users, remote support, services, or for administration of resources within a cloud service provider or SaaS application.
subclass of: Restriction
  on property: creates
  some values from: Cloud User Account
subclass of: Create Account

Bypass User Account Control
type: Class
attack-id: T1088
definition: Windows User Account Control (UAC) allows a program to elevate its privileges to perform a task under administrator-level permissions by prompting the user for confirmation. The impact to the user ranges from denying the operation under high enforcement to allowing the user to perform the action if they are in the local administrators group and click through the prompt or allowing them to enter an administrator password to complete the action. (Citation: TechNet How UAC Works)
comment: This technique has been revoked by T1548.002
subclass of: DefenseEvasionTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

Disabling Security Tools
type: Class
attack-id: T1089
definition: Adversaries may disable security tools to avoid possible detection of their tools and activities. This can take the form of killing security software or event logging processes, deleting Registry keys so that tools do not start at run time, or other methods to interfere with security scanning or event reporting.
comment: This technique has been revoked by T1562.001
subclass of: DefenseEvasionTechnique
deprecated: true

Internal Proxy
type: Class
type: NamedIndividual
attack-id: T1090.001
definition: Adversaries may use an internal proxy to direct command and control traffic between two or more systems in a compromised environment. Many tools exist that enable traffic redirection through proxies or port redirection, including [HTRAN](https://attack.mitre.org/software/S0040), ZXProxy, and ZXPortMap. (Citation: Trend Micro APT Attack Tools) Adversaries use internal proxies to manage command and control communications inside a compromised environment, to reduce the number of simultaneous outbound network connections, to provide resiliency in the face of connection loss, or to ride over existing trusted communications paths between infected systems to avoid suspicion. Internal proxy connections may use common peer-to-peer (p2p) networking protocols, such as SMB, to better blend in with the environment.
produces: IntranetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: IntranetNetworkTraffic
subclass of: Proxy

External Proxy
type: Class
type: NamedIndividual
attack-id: T1090.002
definition: Adversaries may use an external proxy to act as an intermediary for network communications to a command and control server to avoid direct connections to their infrastructure. Many tools exist that enable traffic redirection through proxies or port redirection, including [HTRAN](https://attack.mitre.org/software/S0040), ZXProxy, and ZXPortMap. (Citation: Trend Micro APT Attack Tools) Adversaries use these types of proxies to manage command and control communications, to provide resiliency in the face of connection loss, or to ride over existing trusted communications paths to avoid suspicion.
produces: OutboundInternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetNetworkTraffic
subclass of: Proxy

Multi-hop Proxy
type: Class
type: NamedIndividual
attack-id: T1090.003
definition: Adversaries may chain together multiple proxies to disguise the source of malicious traffic. Typically, a defender will be able to identify the last proxy traffic traversed before it enters their network; the defender may or may not be able to identify any previous proxies before the last-hop proxy. This technique makes identifying the original source of the malicious traffic even more difficult by requiring the defender to trace malicious traffic through several proxies to identify its source.
produces: OutboundInternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetNetworkTraffic
subclass of: Proxy

Domain Fronting
type: Class
type: NamedIndividual
attack-id: T1090.004
definition: Adversaries may take advantage of routing schemes in Content Delivery Networks (CDNs) and other services which host multiple domains to obfuscate the intended destination of HTTPS traffic or traffic tunneled through HTTPS. (Citation: Fifield Blocking Resistent Communication through domain fronting 2015) Domain fronting involves using different domain names in the SNI field of the TLS header and the Host field of the HTTP header. If both domains are served from the same CDN, then the CDN may route to the address specified in the HTTP header after unwrapping the TLS header. A variation of the the technique, "domainless" fronting, utilizes a SNI field that is left blank; this may allow the fronting to work even when the CDN attempts to validate that the SNI and HTTP Host fields match (if the blank SNI fields are ignored).
produces: Outbound Internet Encrypted Web Traffic
subclass of: Restriction
  on property: produces
  some values from: Outbound Internet Encrypted Web Traffic
subclass of: Proxy

Replication Through Removable Media
type: Class
type: NamedIndividual
attack-id: T1091
definition: Adversaries may move onto systems, possibly those on disconnected or air-gapped networks, by copying malware to removable media and taking advantage of Autorun features when the media is inserted into a system and executes. In the case of Lateral Movement, this may occur through modification of executable files stored on removable media or by copying malware and renaming it to look like a legitimate file to trick users into executing it on a separate system. In the case of Initial Access, this may occur through manual manipulation of the media, modification of systems used to initially format the media, or modification to the media's firmware itself.
executes: Removable Media Device
subclass of: Restriction
  on property: executes
  some values from: Removable Media Device
subclass of: InitialAccessTechnique
subclass of: LateralMovementTechnique

Communication Through Removable Media
type: Class
type: NamedIndividual
attack-id: T1092
definition: Adversaries can perform command and control between compromised hosts on potentially disconnected networks using removable media to transfer commands from system to system.(Citation: ESET Sednit USBStealer 2014) Both systems would need to be compromised, with the likelihood that an Internet-connected system was compromised first and the second through lateral movement by [Replication Through Removable Media](https://attack.mitre.org/techniques/T1091). Commands and files would be relayed from the disconnected system to the Internet-connected system to which the adversary has direct access.
modifies: Removable Media Device
subclass of: Restriction
  on property: modifies
  some values from: Removable Media Device
subclass of: CommandAndControlTechnique

Process Hollowing
type: Class
attack-id: T1093
definition: Process hollowing occurs when a process is created in a suspended state then its memory is unmapped and replaced with malicious code. Similar to [Process Injection](https://attack.mitre.org/techniques/T1055), execution of the malicious code is masked under a legitimate process and may evade defenses and detection analysis. (Citation: Leitch Hollowing) (Citation: Elastic Process Injection July 2017)
comment: This technique has been revoked by T1055.012
subclass of: DefenseEvasionTechnique
deprecated: true

Custom Command and Control Protocol
type: Class
attack-id: T1094
definition: Adversaries may communicate using a custom command and control protocol instead of encapsulating commands/data in an existing [Application Layer Protocol](https://attack.mitre.org/techniques/T1071). Implementations include mimicking well-known protocols or developing custom protocols (including raw sockets) on top of fundamental protocols provided by TCP/IP/another standard network stack.
comment: This technique has been revoked by T1095
subclass of: CommandAndControlTechnique
deprecated: true

Non-Application Layer Protocol
type: Class
type: NamedIndividual
attack-id: T1095
definition: Adversaries may use an OSI non-application layer protocol for communication between host and C2 server or among infected hosts within a network. The list of possible protocols is extensive.(Citation: Wikipedia OSI) Specific examples include use of network layer protocols, such as the Internet Control Message Protocol (ICMP), transport layer protocols, such as the User Datagram Protocol (UDP), session layer protocols, such as Socket Secure (SOCKS), as well as redirected/tunneled protocols, such as Serial over LAN (SOL).
produces: OutboundInternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetNetworkTraffic
subclass of: CommandAndControlTechnique

NTFS File Attributes
type: Class
attack-id: T1096
definition: Every New Technology File System (NTFS) formatted partition contains a Master File Table (MFT) that maintains a record for every file/directory on the partition. (Citation: SpectorOps Host-Based Jul 2017) Within MFT entries are file attributes, (Citation: Microsoft NTFS File Attributes Aug 2010) such as Extended Attributes (EA) and Data [known as Alternate Data Streams (ADSs) when more than one Data attribute is present], that can be used to store arbitrary data (and even complete files). (Citation: SpectorOps Host-Based Jul 2017) (Citation: Microsoft File Streams) (Citation: MalwareBytes ADS July 2015) (Citation: Microsoft ADS Mar 2014)
comment: This technique has been revoked by T1564.004
subclass of: DefenseEvasionTechnique
deprecated: true

Pass the Ticket
type: Class
attack-id: T1097
definition: Pass the ticket (PtT) is a method of authenticating to a system using Kerberos tickets without having access to an account's password. Kerberos authentication can be used as the first step to lateral movement to a remote system.
comment: This technique has been revoked by T1550.003
subclass of: LateralMovementTechnique
deprecated: true

Additional Cloud Credentials
type: Class
type: NamedIndividual
attack-id: T1098.001
creates: Credential
definition: Adversaries may add adversary-controlled credentials to a cloud account to maintain persistent access to victim accounts and instances within the environment.
produces: IntranetAdministrativeNetworkTraffic
subclass of: Restriction
  on property: creates
  some values from: Credential
subclass of: Restriction
  on property: produces
  some values from: IntranetAdministrativeNetworkTraffic
subclass of: Account Manipulation

Additional Email Delegate Permissions
type: Class
type: NamedIndividual
attack-id: T1098.002
definition: Adversaries may grant additional permission levels to maintain persistent access to an adversary-controlled email account.
modifies: Domain User Account
subclass of: Restriction
  on property: modifies
  some values from: Domain User Account
subclass of: Account Manipulation

Additional Cloud Roles
type: Class
type: NamedIndividual
attack-id: T1098.003
definition: An adversary may add additional roles or permissions to an adversary-controlled cloud account to maintain persistent access to a tenant. For example, adversaries may update IAM policies in cloud-based environments or add a new global administrator in Office 365 environments.(Citation: AWS IAM Policies and Permissions)(Citation: Google Cloud IAM Policies)(Citation: Microsoft Support O365 Add Another Admin, October 2019)(Citation: Microsoft O365 Admin Roles) With sufficient permissions, a compromised account can gain almost unlimited access to data and settings (including the ability to reset the passwords of other admins).(Citation: Expel AWS Attacker)
modifies: Global User Account
subclass of: Restriction
  on property: modifies
  some values from: Global User Account
subclass of: Account Manipulation

SSH Authorized Keys
type: Class
attack-id: T1098.004
definition: Adversaries may modify the SSH authorized_keys file to maintain persistence on a victim host. Linux distributions and macOS commonly use key-based authentication to secure the authentication process of SSH sessions for remote management. The authorized_keys file in SSH specifies the SSH keys that can be used for logging into the user account for which the file is configured. This file is usually found in the user's home directory under <user-home>/.ssh/authorized_keys.(Citation: SSH Authorized Keys) Users may edit the system’s SSH config file to modify the directives PubkeyAuthentication and RSAAuthentication to the value “yes” to ensure public key and RSA authentication are enabled. The SSH config file is usually located under /etc/ssh/sshd_config.
subclass of: Account Manipulation

Device Registration
type: Class
attack-id: T1098.005
definition: Adversaries may register a device to an adversary-controlled account. Devices may be registered in a multifactor authentication (MFA) system, which handles authentication to the network, or in a device management system, which handles device access and compliance.
subclass of: Account Manipulation

Additional Container Cluster Roles
type: Class
attack-id: T1098.006
definition: An adversary may add additional roles or permissions to an adversary-controlled user or service account to maintain persistent access to a container orchestration system. For example, an adversary with sufficient permissions may create a RoleBinding or a ClusterRoleBinding to bind a Role or ClusterRole to a Kubernetes account.(Citation: Kubernetes RBAC)(Citation: Aquasec Kubernetes Attack 2023) Where attribute-based access control (ABAC) is in use, an adversary with sufficient permissions may modify a Kubernetes ABAC policy to give the target account additional permissions.(Citation: Kuberentes ABAC)
subclass of: Account Manipulation

Timestomp
type: Class
attack-id: T1099
definition: Adversaries may take actions to hide the deployment of new, or modification of existing files to obfuscate their activities. Timestomping is a technique that modifies the timestamps of a file (the modify, access, create, and change times), often to mimic files that are in the same folder. This is done, for example, on files that have been modified or created by the adversary so that they do not appear conspicuous to forensic investigators or file analysis tools. Timestomping may be used along with file name [Masquerading](https://attack.mitre.org/techniques/T1036) to hide malware and tools. (Citation: WindowsIR Anti-Forensic Techniques)
comment: This technique has been revoked by T1070.006
subclass of: DefenseEvasionTechnique
deprecated: true

Web Shell
type: Class
attack-id: T1100
definition: A Web shell is a Web script that is placed on an openly accessible Web server to allow an adversary to use the Web server as a gateway into a network. A Web shell may provide a set of functions to execute or a command-line interface on the system that hosts the Web server. In addition to a server-side script, a Web shell may have a client interface program that is used to talk to the Web server (see, for example, China Chopper Web shell client). (Citation: Lee 2013)
comment: This technique has been revoked by T1505.003
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

Security Support Provider
type: Class
attack-id: T1101
definition: Windows Security Support Provider (SSP) DLLs are loaded into the Local Security Authority (LSA) process at system start. Once loaded into the LSA, SSP DLLs have access to encrypted and plaintext passwords that are stored in Windows, such as any logged-on user's Domain password or smart card PINs. The SSP configuration is stored in two Registry keys: HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages and HKLM\SYSTEM\CurrentControlSet\Control\Lsa\OSConfig\Security Packages. An adversary may modify these Registry keys to add new SSPs, which will be loaded the next time the system boots, or when the AddSecurityPackage Windows API function is called.
comment: This technique has been revoked by T1547.005
subclass of: PersistenceTechnique
deprecated: true

Dead Drop Resolver
type: Class
attack-id: T1102.001
definition: Adversaries may use an existing, legitimate external Web service to host information that points to additional command and control (C2) infrastructure. Adversaries may post content, known as a dead drop resolver, on Web services with embedded (and often obfuscated/encoded) domains or IP addresses. Once infected, victims will reach out to and be redirected by these resolvers.
subclass of: Web Service

Bidirectional Communication
type: Class
attack-id: T1102.002
definition: Adversaries may use an existing, legitimate external Web service as a means for sending commands to and receiving output from a compromised system over the Web service channel. Compromised systems may leverage popular websites and social media to host command and control (C2) instructions. Those infected systems can then send the output from those commands back over that Web service channel. The return traffic may occur in a variety of ways, depending on the Web service being utilized. For example, the return traffic may take the form of the compromised system posting a comment on a forum, issuing a pull request to development project, updating a document hosted on a Web service, or by sending a Tweet.
subclass of: Web Service

One-Way Communication
type: Class
attack-id: T1102.003
definition: Adversaries may use an existing, legitimate external Web service as a means for sending commands to a compromised system without receiving return output over the Web service channel. Compromised systems may leverage popular websites and social media to host command and control (C2) instructions. Those infected systems may opt to send the output from those commands back over a different C2 channel, including to another distinct Web service. Alternatively, compromised systems may return no output at all in cases where adversaries want to send instructions to systems and do not want a response.
subclass of: Web Service

AppInit DLLs
type: Class
attack-id: T1103
definition: Dynamic-link libraries (DLLs) that are specified in the AppInit_DLLs value in the Registry keys HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows or HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows are loaded by user32.dll into every process that loads user32.dll. In practice this is nearly every program, since user32.dll is a very common library. (Citation: Elastic Process Injection July 2017) Similar to [Process Injection](https://attack.mitre.org/techniques/T1055), these values can be abused to obtain persistence and privilege escalation by causing a malicious DLL to be loaded and run in the context of separate processes on the computer. (Citation: AppInit Registry)
comment: This technique has been revoked by T1546.010
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

Multi-Stage Channels
type: Class
type: NamedIndividual
attack-id: T1104
definition: Adversaries may create multiple stages for command and control that are employed under different conditions or for certain functions. Use of multiple stages may obfuscate the command and control channel to make detection more difficult.
produces: OutboundInternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetNetworkTraffic
subclass of: CommandAndControlTechnique

Ingress Tool Transfer
type: Class
type: NamedIndividual
attack-id: T1105
definition: Session is initiated by the client, and may be a custom protocol which is why it is related to generic network traffic instead of file transfer network traffic.
produces: OutboundInternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetNetworkTraffic
subclass of: CommandAndControlTechnique

Native API
type: Class
type: NamedIndividual
attack-id: T1106
definition: Adversaries may interact with the native OS application programming interface (API) to execute behaviors. Native APIs provide a controlled means of calling low-level OS services within the kernel, such as those involving hardware/devices, memory, and processes.(Citation: NT API Windows)(Citation: Linux Kernel API) These native APIs are leveraged by the OS during system boot (when other system components are not yet initialized) as well as carrying out tasks and requests during routine operations.
invokes: SystemCall
subclass of: Restriction
  on property: invokes
  some values from: SystemCall
subclass of: ExecutionTechnique

File Deletion
type: Class
attack-id: T1107
definition: Adversaries may delete files left behind by the actions of their intrusion activity. Malware, tools, or other non-native files dropped or created on a system by an adversary may leave traces to indicate to what was done within a network and how. Removal of these files can occur during an intrusion, or as part of a post-intrusion process to minimize the adversary's footprint.
comment: This technique has been revoked by T1070.004
subclass of: DefenseEvasionTechnique
deprecated: true

Redundant Access
type: Class
attack-id: T1108
definition: **This technique has been deprecated. Please use [Create Account](https://attack.mitre.org/techniques/T1136), [Web Shell](https://attack.mitre.org/techniques/T1505/003), and [External Remote Services](https://attack.mitre.org/techniques/T1133) where appropriate.**
comment: **This technique has been deprecated. Please use [Create Account](https://attack.mitre.org/techniques/T1136), [Web Shell](https://attack.mitre.org/techniques/T1505/003), and [External Remote Services](https://attack.mitre.org/techniques/T1133) where appropriate.**
subclass of: DefenseEvasionTechnique
subclass of: PersistenceTechnique
deprecated: true

Component Firmware
type: Class
attack-id: T1109
definition: Some adversaries may employ sophisticated means to compromise computer components and install malicious firmware that will execute adversary code outside of the operating system and main system firmware or BIOS. This technique may be similar to [System Firmware](https://attack.mitre.org/techniques/T1019) but conducted upon other system components that may not have the same capability or level of integrity checking. Malicious device firmware could provide both a persistent level of access to systems despite potential typical failures to maintain access and hard disk re-images, as well as a way to evade host software-based defenses and integrity checks.
comment: This technique has been revoked by T1542.002
subclass of: DefenseEvasionTechnique
subclass of: PersistenceTechnique
deprecated: true

Password Guessing
type: Class
type: NamedIndividual
accesses: Password
attack-id: T1110.001
definition: Adversaries with no prior knowledge of legitimate credentials within the system or environment may guess passwords to attempt access to accounts. Without knowledge of the password for an account, an adversary may opt to systematically guess the password using a repetitive or iterative mechanism. An adversary may guess login credentials without prior knowledge of system or environment passwords during an operation by using a list of common passwords. Password guessing may or may not take into account the target's policies on password complexity or use policies that may lock accounts out after a number of failed attempts.
modifies: Authentication Log
produces: Authentication
subclass of: Restriction
  on property: accesses
  some values from: Password
subclass of: Restriction
  on property: modifies
  some values from: Authentication Log
subclass of: Restriction
  on property: produces
  some values from: Authentication
subclass of: Brute Force

Password Cracking
type: Class
type: NamedIndividual
accesses: Password
attack-id: T1110.002
definition: Adversaries may use password cracking to attempt to recover usable credentials, such as plaintext passwords, when credential material such as password hashes are obtained. [OS Credential Dumping](https://attack.mitre.org/techniques/T1003) can be used to obtain password hashes, this may only get an adversary so far when [Pass the Hash](https://attack.mitre.org/techniques/T1550/002) is not an option. Further, adversaries may leverage [Data from Configuration Repository](https://attack.mitre.org/techniques/T1602) in order to obtain hashed credentials for network devices.(Citation: US-CERT-TA18-106A)
subclass of: Restriction
  on property: accesses
  some values from: Password
subclass of: Brute Force

Password Spraying
type: Class
type: NamedIndividual
accesses: Password
attack-id: T1110.003
definition: Adversaries may use a single or small list of commonly used passwords against many different accounts to attempt to acquire valid account credentials. Password spraying uses one password (e.g. 'Password01'), or a small list of commonly used passwords, that may match the complexity policy of the domain. Logins are attempted with that password against many different accounts on a network to avoid account lockouts that would normally occur when brute forcing a single account with many passwords. (Citation: BlackHillsInfosec Password Spraying)
may-create: IntranetAdministrativeNetworkTraffic
modifies: Authentication Log
produces: Authentication
subclass of: Restriction
  on property: may-create
  some values from: IntranetAdministrativeNetworkTraffic
subclass of: Restriction
  on property: accesses
  some values from: Password
subclass of: Restriction
  on property: modifies
  some values from: Authentication Log
subclass of: Restriction
  on property: produces
  some values from: Authentication
subclass of: Brute Force

Credential Stuffing
type: Class
type: NamedIndividual
attack-id: T1110.004
definition: Adversaries may use credentials obtained from breach dumps of unrelated accounts to gain access to target accounts through credential overlap. Occasionally, large numbers of username and password pairs are dumped online when a website or service is compromised and the user account credentials accessed. The information may be useful to an adversary attempting to compromise accounts by taking advantage of the tendency for users to use the same passwords across personal and business accounts.
may-create: IntranetAdministrativeNetworkTraffic
modifies: Authentication Log
produces: Authentication
subclass of: Restriction
  on property: produces
  some values from: Authentication
subclass of: Restriction
  on property: may-create
  some values from: IntranetAdministrativeNetworkTraffic
subclass of: Restriction
  on property: modifies
  some values from: Authentication Log
subclass of: Brute Force

Multi-Factor Authentication Interception
type: Class
type: NamedIndividual
attack-id: T1111
definition: Adversaries may target multi-factor authentication (MFA) mechanisms, (i.e., smart cards, token generators, etc.) to gain access to credentials that can be used to access systems, services, and network resources. Use of MFA is recommended and provides a higher level of security than usernames and passwords alone, but organizations should be aware of techniques that could be used to intercept and bypass these security mechanisms.
may-access: Security Token
subclass of: Restriction
  on property: may-access
  some values from: Security Token
subclass of: CredentialAccessTechnique

Modify Registry
type: Class
type: NamedIndividual
attack-id: T1112
definition: Adversaries may interact with the Windows Registry to hide configuration information within Registry keys, remove information as part of cleaning up, or as part of other techniques to aid in persistence and execution.
modifies: Windows Registry
subclass of: Restriction
  on property: modifies
  some values from: Windows Registry
subclass of: DefenseEvasionTechnique

Screen Capture
type: Class
type: NamedIndividual
attack-id: T1113
definition: Adversaries may attempt to take screen captures of the desktop to gather information over the course of an operation. Screen capturing functionality may be included as a feature of a remote access tool used in post-compromise operations. Taking a screenshot is also typically possible through native utilities or API calls, such as CopyFromScreen, xwd, or screencapture.(Citation: CopyFromScreen .NET)(Citation: Antiquated Mac Malware)
may-access: Display Server
may-invoke: Get Screen Capture
subclass of: Restriction
  on property: may-access
  some values from: Display Server
subclass of: Restriction
  on property: may-invoke
  some values from: Get Screen Capture
subclass of: CollectionTechnique

Local Email Collection
type: Class
type: NamedIndividual
attack-id: T1114.001
definition: Adversaries may target user email on local systems to collect sensitive information. Files containing email data can be acquired from a user’s local system, such as Outlook storage or cache files.
reads: Email
subclass of: Restriction
  on property: reads
  some values from: Email
subclass of: Email Collection

Remote Email Collection
type: Class
type: NamedIndividual
accesses: Mail Server
attack-id: T1114.002
definition: Adversaries may target an Exchange server, Office 365, or Google Workspace to collect sensitive information. Adversaries may leverage a user's credentials and interact directly with the Exchange server to acquire information from within a network. Adversaries may also access externally facing Exchange services, Office 365, or Google Workspace to access email using credentials or access tokens. Tools such as [MailSniper](https://attack.mitre.org/software/S0413) can be used to automate searches for specific keywords.
subclass of: Restriction
  on property: accesses
  some values from: Mail Server
subclass of: Email Collection

Email Forwarding Rule
type: Class
type: NamedIndividual
attack-id: T1114.003
definition: Adversaries may setup email forwarding rules to collect sensitive information. Adversaries may abuse email forwarding rules to monitor the activities of a victim, steal information, and further gain intelligence on the victim or the victim’s organization to use as part of further exploits or operations.(Citation: US-CERT TA18-068A 2018) Furthermore, email forwarding rules can allow adversaries to maintain persistent access to victim's emails even after compromised credentials are reset by administrators.(Citation: Pfammatter - Hidden Inbox Rules) Most email clients allow users to create inbox rules for various email functions, including forwarding to a different recipient. These rules may be created through a local email application, a web interface, or by command-line interface. Messages can be forwarded to internal or external recipients, and there are no restrictions limiting the extent of this rule. Administrators may also create forwarding rules for user accounts with the same considerations and outcomes.(Citation: Microsoft Tim McMichael Exchange Mail Forwarding 2)(Citation: Mac Forwarding Rules)
modifies: ApplicationConfiguration
subclass of: Restriction
  on property: modifies
  some values from: ApplicationConfiguration
subclass of: Email Collection

Clipboard Data
type: Class
type: NamedIndividual
attack-id: T1115
definition: Adversaries may collect data stored in the clipboard from users copying information within or between applications.
reads: Clipboard
subclass of: Restriction
  on property: reads
  some values from: Clipboard
subclass of: CollectionTechnique

Code Signing
type: Class
attack-id: T1116
definition: Code signing provides a level of authenticity on a binary from the developer and a guarantee that the binary has not been tampered with. (Citation: Wikipedia Code Signing) However, adversaries are known to use code signing certificates to masquerade malware and tools as legitimate binaries (Citation: Janicab). The certificates used during an operation may be created, forged, or stolen by the adversary. (Citation: Securelist Digital Certificates) (Citation: Symantec Digital Certificates)
comment: This technique has been revoked by T1553.002
subclass of: DefenseEvasionTechnique
deprecated: true

Regsvr32
type: Class
attack-id: T1117
definition: Regsvr32.exe is a command-line program used to register and unregister object linking and embedding controls, including dynamic link libraries (DLLs), on Windows systems. Regsvr32.exe can be used to execute arbitrary binaries. (Citation: Microsoft Regsvr32)
comment: This technique has been revoked by T1218.010
subclass of: DefenseEvasionTechnique
subclass of: ExecutionTechnique
deprecated: true

InstallUtil
type: Class
attack-id: T1118
definition: InstallUtil is a command-line utility that allows for installation and uninstallation of resources by executing specific installer components specified in .NET binaries. (Citation: MSDN InstallUtil) InstallUtil is located in the .NET directories on a Windows system: C:\Windows\Microsoft.NET\Framework\v<version>\InstallUtil.exe and C:\Windows\Microsoft.NET\Framework64\v<version>\InstallUtil.exe. InstallUtil.exe is digitally signed by Microsoft.
comment: This technique has been revoked by T1218.004
subclass of: DefenseEvasionTechnique
subclass of: ExecutionTechnique
deprecated: true

Automated Collection
type: Class
type: NamedIndividual
accesses: File
attack-id: T1119
definition: Once established within a system or network, an adversary may use automated techniques for collecting internal data. Methods for performing this technique could include use of a [Command and Scripting Interpreter](https://attack.mitre.org/techniques/T1059) to search for and copy information fitting set criteria such as file type, location, or name at specific time intervals.
subclass of: Restriction
  on property: accesses
  some values from: File
subclass of: CollectionTechnique

Peripheral Device Discovery
type: Class
attack-id: T1120
definition: Adversaries may attempt to gather information about attached peripheral devices and components connected to a computer system.(Citation: Peripheral Discovery Linux)(Citation: Peripheral Discovery macOS) Peripheral devices could include auxiliary resources that support a variety of functionalities such as keyboards, printers, cameras, smart card readers, or removable storage. The information may be used to enhance their awareness of the system and network environment or may be used for further actions.
subclass of: DiscoveryTechnique

Regsvcs/Regasm
type: Class
attack-id: T1121
definition: Regsvcs and Regasm are Windows command-line utilities that are used to register .NET Component Object Model (COM) assemblies. Both are digitally signed by Microsoft. (Citation: MSDN Regsvcs) (Citation: MSDN Regasm)
comment: This technique has been revoked by T1218.009
subclass of: DefenseEvasionTechnique
subclass of: ExecutionTechnique
deprecated: true

Component Object Model Hijacking
type: Class
attack-id: T1122
definition: The Component Object Model (COM) is a system within Windows to enable interaction between software components through the operating system. (Citation: Microsoft Component Object Model) Adversaries can use this system to insert malicious code that can be executed in place of legitimate software through hijacking the COM references and relationships as a means for persistence. Hijacking a COM object requires a change in the Windows Registry to replace a reference to a legitimate system component which may cause that component to not work when executed. When that system component is executed through normal system operation the adversary's code will be executed instead. (Citation: GDATA COM Hijacking) An adversary is likely to hijack objects that are used frequently enough to maintain a consistent level of persistence, but are unlikely to break noticeable functionality within the system as to avoid system instability that could lead to detection.
comment: This technique has been revoked by T1546.015
subclass of: DefenseEvasionTechnique
subclass of: PersistenceTechnique
deprecated: true

Audio Capture
type: Class
type: NamedIndividual
accesses: Audio Input Device
attack-id: T1123
definition: An adversary can leverage a computer's peripheral devices (e.g., microphones and webcams) or applications (e.g., voice and video call services) to capture audio recordings for the purpose of listening into sensitive conversations to gather information.(Citation: ESET Attor Oct 2019)
subclass of: Restriction
  on property: accesses
  some values from: Audio Input Device
subclass of: CollectionTechnique

System Time Discovery
type: Class
type: NamedIndividual
attack-id: T1124
definition: An adversary may gather the system time and/or time zone settings from a local or remote system. The system time is set and stored by services, such as the Windows Time Service on Windows or systemsetup on macOS.(Citation: MSDN System Time)(Citation: Technet Windows Time Service)(Citation: systemsetup mac time) These time settings may also be synchronized between systems and services in an enterprise network, typically accomplished with a network time server within a domain.(Citation: Mac Time Sync)(Citation: linux system time)
may-invoke: CreateProcess
may-invoke: Get System Time
subclass of: Restriction
  on property: may-invoke
  some values from: Get System Time
subclass of: Restriction
  on property: may-invoke
  some values from: CreateProcess
subclass of: DiscoveryTechnique

Video Capture
type: Class
type: NamedIndividual
accesses: Video Input Device
attack-id: T1125
definition: An adversary can leverage a computer's peripheral devices (e.g., integrated cameras or webcams) or applications (e.g., video call services) to capture video recordings for the purpose of gathering information. Images may also be captured from devices or applications, potentially in specified intervals, in lieu of video files.
subclass of: Restriction
  on property: accesses
  some values from: Video Input Device
subclass of: CollectionTechnique

Network Share Connection Removal
type: Class
attack-id: T1126
definition: Adversaries may remove share connections that are no longer useful in order to clean up traces of their operation. Windows shared drive and [Windows Admin Shares](https://attack.mitre.org/techniques/T1077) connections can be removed when no longer needed. [Net](https://attack.mitre.org/software/S0039) is an example utility that can be used to remove network share connections with the net use \\system\share /delete command. (Citation: Technet Net Use)
comment: This technique has been revoked by T1070.005
subclass of: DefenseEvasionTechnique
deprecated: true

MSBuild
type: Class
type: NamedIndividual
attack-id: T1127.001
definition: Adversaries may use MSBuild to proxy execution of code through a trusted Windows utility. MSBuild.exe (Microsoft Build Engine) is a software build platform used by Visual Studio. It handles XML formatted project files that define requirements for loading and building various platforms and configurations.(Citation: MSDN MSBuild)
modifies: Compiler Configuration File
runs: Compiler
subclass of: Restriction
  on property: modifies
  some values from: Compiler Configuration File
subclass of: Restriction
  on property: runs
  some values from: Compiler
subclass of: Trusted Developer Utilities Proxy Execution

Netsh Helper DLL
type: Class
attack-id: T1128
definition: Netsh.exe (also referred to as Netshell) is a command-line scripting utility used to interact with the network configuration of a system. It contains functionality to add helper DLLs for extending functionality of the utility. (Citation: TechNet Netsh) The paths to registered netsh.exe helper DLLs are entered into the Windows Registry at HKLM\SOFTWARE\Microsoft\Netsh.
comment: This technique has been revoked by T1546.007
subclass of: PersistenceTechnique
deprecated: true

Shared Modules
type: Class
attack-id: T1129
definition: Adversaries may execute malicious payloads via loading shared modules. Shared modules are executable files that are loaded into processes to provide access to reusable code, such as specific custom functions or invoking OS API functions (i.e., [Native API](https://attack.mitre.org/techniques/T1106)).
subclass of: ExecutionTechnique

Install Root Certificate
type: Class
attack-id: T1130
definition: Root certificates are used in public key cryptography to identify a root certificate authority (CA). When a root certificate is installed, the system or application will trust certificates in the root's chain of trust that have been signed by the root certificate. (Citation: Wikipedia Root Certificate) Certificates are commonly used for establishing secure TLS/SSL communications within a web browser. When a user attempts to browse a website that presents a certificate that is not trusted an error message will be displayed to warn the user of the security risk. Depending on the security settings, the browser may not allow the user to establish a connection to the website.
comment: This technique has been revoked by T1553.004
subclass of: DefenseEvasionTechnique
deprecated: true

Authentication Package
type: Class
attack-id: T1131
definition: Windows Authentication Package DLLs are loaded by the Local Security Authority (LSA) process at system start. They provide support for multiple logon processes and multiple security protocols to the operating system. (Citation: MSDN Authentication Packages)
comment: This technique has been revoked by T1547.002
subclass of: PersistenceTechnique
deprecated: true

Standard Encoding
type: Class
attack-id: T1132.001
definition: Adversaries may encode data with a standard data encoding system to make the content of command and control traffic more difficult to detect. Command and control (C2) information can be encoded using a standard data encoding system that adheres to existing protocol specifications. Common data encoding schemes include ASCII, Unicode, hexadecimal, Base64, and MIME.(Citation: Wikipedia Binary-to-text Encoding)(Citation: Wikipedia Character Encoding) Some data encoding systems may also result in data compression, such as gzip.
subclass of: Data Encoding

Non-Standard Encoding
type: Class
attack-id: T1132.002
definition: Adversaries may encode data with a non-standard data encoding system to make the content of command and control traffic more difficult to detect. Command and control (C2) information can be encoded using a non-standard data encoding system that diverges from existing protocol specifications. Non-standard data encoding schemes may be based on or related to standard data encoding schemes, such as a modified Base64 encoding for the message body of an HTTP request.(Citation: Wikipedia Binary-to-text Encoding) (Citation: Wikipedia Character Encoding)
subclass of: Data Encoding

External Remote Services
type: Class
type: NamedIndividual
attack-id: T1133
definition: Adversaries may leverage external-facing remote services to initially access and/or persist within a network. Remote services such as VPNs, Citrix, and other access mechanisms allow users to connect to internal enterprise network resources from external locations. There are often remote service gateways that manage connections and credential authentication for these services. Services such as [Windows Remote Management](https://attack.mitre.org/techniques/T1021/006) and [VNC](https://attack.mitre.org/techniques/T1021/005) can also be used externally.(Citation: MacOS VNC software for Remote Desktop)
produces: Authentication
produces: Authorization
produces: Network Session
subclass of: Restriction
  on property: produces
  some values from: Network Session
subclass of: Restriction
  on property: produces
  some values from: Authentication
subclass of: Restriction
  on property: produces
  some values from: Authorization
subclass of: InitialAccessTechnique
subclass of: PersistenceTechnique

Create Process with Token
type: Class
type: NamedIndividual
attack-id: T1134.002
copies: AccessToken
definition: Adversaries may create a new process with an existing token to escalate privileges and bypass access controls. Processes can be created with the token and resulting security context of another user using features such as CreateProcessWithTokenW and runas.(Citation: Microsoft RunAs)
may-modify: EventLog
subclass of: Restriction
  on property: may-modify
  some values from: EventLog
subclass of: Restriction
  on property: copies
  some values from: AccessToken
subclass of: Access Token Manipulation

Make and Impersonate Token
type: Class
type: NamedIndividual
attack-id: T1134.003
copies: AccessToken
creates: Login Session
definition: Adversaries may make new tokens and impersonate users to escalate privileges and bypass access controls. For example, if an adversary has a username and password but the user is not logged onto the system the adversary can then create a logon session for the user using the `LogonUser` function.(Citation: LogonUserW function) The function will return a copy of the new session's access token and the adversary can use `SetThreadToken` to assign the token to a thread.
may-modify: EventLog
subclass of: Restriction
  on property: creates
  some values from: Login Session
subclass of: Restriction
  on property: may-modify
  some values from: EventLog
subclass of: Restriction
  on property: copies
  some values from: AccessToken
subclass of: Access Token Manipulation

Parent PID Spoofing
type: Class
type: NamedIndividual
attack-id: T1134.004
definition: Adversaries may spoof the parent process identifier (PPID) of a new process to evade process-monitoring defenses or to elevate privileges. New processes are typically spawned directly from their parent, or calling, process unless explicitly specified. One way of explicitly assigning the PPID of a new process is via the CreateProcess API call, which supports a parameter that defines the PPID to use.(Citation: DidierStevens SelectMyParent Nov 2009) This functionality is used by Windows features such as User Account Control (UAC) to correctly set the PPID after a requested elevated process is spawned by SYSTEM (typically via svchost.exe or consent.exe) rather than the current user context.(Citation: Microsoft UAC Nov 2018)
invokes: CreateProcess
subclass of: Restriction
  on property: invokes
  some values from: CreateProcess
subclass of: Access Token Manipulation

SID-History Injection
type: Class
type: NamedIndividual
attack-id: T1134.005
definition: Adversaries may use SID-History Injection to escalate privileges and bypass access controls. The Windows security identifier (SID) is a unique value that identifies a user or group account. SIDs are used by Windows security in both security descriptors and access tokens. (Citation: Microsoft SID) An account can hold additional SIDs in the SID-History Active Directory attribute (Citation: Microsoft SID-History Attribute), allowing inter-operable account migration between domains (e.g., all values in SID-History are included in access tokens).
modifies: AccessControlConfiguration
subclass of: Restriction
  on property: modifies
  some values from: AccessControlConfiguration
subclass of: Access Token Manipulation

Network Share Discovery
type: Class
attack-id: T1135
definition: Adversaries may look for folders and drives shared on remote systems as a means of identifying sources of information to gather as a precursor for Collection and to identify potential systems of interest for Lateral Movement. Networks often contain shared network drives and folders that enable users to access file directories on various systems across a network.
subclass of: DiscoveryTechnique

Local Account
type: Class
attack-id: T1136.001
definition: Adversaries may create a local account to maintain access to victim systems. Local accounts are those configured by an organization for use by users, remote support, services, or for administration on a single system or service.
subclass of: Create Account

Domain Account
type: Class
attack-id: T1136.002
definition: Adversaries may create a domain account to maintain access to victim systems. Domain accounts are those managed by Active Directory Domain Services where access and permissions are configured across systems and services that are part of that domain. Domain accounts can cover user, administrator, and service accounts. With a sufficient level of access, the net user /add /domain command can be used to create a domain account.(Citation: Savill 1999)
subclass of: Create Account

Cloud Account
type: Class
attack-id: T1136.003
definition: Adversaries may create a cloud account to maintain access to victim systems. With a sufficient level of access, such accounts may be used to establish secondary credentialed access that does not require persistent remote access tools to be deployed on the system.(Citation: Microsoft O365 Admin Roles)(Citation: Microsoft Support O365 Add Another Admin, October 2019)(Citation: AWS Create IAM User)(Citation: GCP Create Cloud Identity Users)(Citation: Microsoft Azure AD Users)
subclass of: Create Account

Office Template Macros
type: Class
type: NamedIndividual
attack-id: T1137.001
definition: Adversaries may abuse Microsoft Office templates to obtain persistence on a compromised system. Microsoft Office contains templates that are part of common Office applications and are used to customize styles. The base templates within the application are used each time an application starts. (Citation: Microsoft Change Normal Template)
may-add: ExecutableScript
may-modify: ExecutableScript
may-modify: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: may-add
  some values from: ExecutableScript
subclass of: Restriction
  on property: may-modify
  some values from: ExecutableScript
subclass of: Restriction
  on property: may-modify
  some values from: SystemConfigurationDatabaseRecord
subclass of: Office Application Startup

Office Test
type: Class
type: NamedIndividual
attack-id: T1137.002
definition: Adversaries may abuse the Microsoft Office "Office Test" Registry key to obtain persistence on a compromised system. An Office Test Registry location exists that allows a user to specify an arbitrary DLL that will be executed every time an Office application is started. This Registry key is thought to be used by Microsoft to load DLLs for testing and debugging purposes while developing Office applications. This Registry key is not created by default during an Office installation.(Citation: Hexacorn Office Test)(Citation: Palo Alto Office Test Sofacy)
modifies: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabaseRecord
subclass of: Office Application Startup

Outlook Forms
type: Class
type: NamedIndividual
adds: Office Application File
attack-id: T1137.003
definition: Adversaries may abuse Microsoft Outlook forms to obtain persistence on a compromised system. Outlook forms are used as templates for presentation and functionality in Outlook messages. Custom Outlook forms can be created that will execute code when a specifically crafted email is sent by an adversary utilizing the same custom Outlook form.(Citation: SensePost Outlook Forms)
subclass of: Restriction
  on property: adds
  some values from: Office Application File
subclass of: Office Application Startup

Outlook Home Page
type: Class
type: NamedIndividual
attack-id: T1137.004
definition: Adversaries may abuse Microsoft Outlook's Home Page feature to obtain persistence on a compromised system. Outlook Home Page is a legacy feature used to customize the presentation of Outlook folders. This feature allows for an internal or external URL to be loaded and presented whenever a folder is opened. A malicious HTML page can be crafted that will execute code when loaded by Outlook Home Page.(Citation: SensePost Outlook Home Page)
modifies: Application Configuration Database
subclass of: Restriction
  on property: modifies
  some values from: Application Configuration Database
subclass of: Office Application Startup

Outlook Rules
type: Class
type: NamedIndividual
attack-id: T1137.005
definition: Adversaries may abuse Microsoft Outlook rules to obtain persistence on a compromised system. Outlook rules allow a user to define automated behavior to manage email messages. A benign rule might, for example, automatically move an email to a particular folder in Outlook if it contains specific words from a specific sender. Malicious Outlook rules can be created that can trigger code execution when an adversary sends a specifically crafted email to that user.(Citation: SilentBreak Outlook Rules)
modifies: Application Configuration Database
subclass of: Restriction
  on property: modifies
  some values from: Application Configuration Database
subclass of: Office Application Startup

Add-ins
type: Class
type: NamedIndividual
adds: Software
attack-id: T1137.006
definition: Adversaries may abuse Microsoft Office add-ins to obtain persistence on a compromised system. Office add-ins can be used to add functionality to Office programs. (Citation: Microsoft Office Add-ins) There are different types of add-ins that can be used by the various Office products; including Word/Excel add-in Libraries (WLL/XLL), VBA add-ins, Office Component Object Model (COM) add-ins, automation add-ins, VBA Editor (VBE), Visual Studio Tools for Office (VSTO) add-ins, and Outlook add-ins. (Citation: MRWLabs Office Persistence Add-ins)(Citation: FireEye Mail CDS 2018)
may-modify: SystemConfigurationDatabase
modifies: Office Application
subclass of: Restriction
  on property: adds
  some values from: Software
subclass of: Restriction
  on property: may-modify
  some values from: SystemConfigurationDatabase
subclass of: Restriction
  on property: modifies
  some values from: Office Application
subclass of: Office Application Startup

Application Shimming
type: Class
attack-id: T1138
definition: The Microsoft Windows Application Compatibility Infrastructure/Framework (Application Shim) was created to allow for backward compatibility of software as the operating system codebase changes over time. For example, the application shimming feature allows developers to apply fixes to applications (without rewriting code) that were created for Windows XP so that it will work with Windows 10. (Citation: Elastic Process Injection July 2017) Within the framework, shims are created to act as a buffer between the program (or more specifically, the Import Address Table) and the Windows OS. When a program is executed, the shim cache is referenced to determine if the program requires the use of the shim database (.sdb). If so, the shim database uses [Hooking](https://attack.mitre.org/techniques/T1179) to redirect the code as necessary in order to communicate with the OS.
comment: This technique has been revoked by T1546.011
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

Bash History
type: Class
attack-id: T1139
definition: Bash keeps track of the commands users type on the command-line with the "history" utility. Once a user logs out, the history is flushed to the user’s .bash_history file. For each user, this file resides at the same location: ~/.bash_history. Typically, this file keeps track of the user’s last 500 commands. Users often type usernames and passwords on the command-line as parameters to programs, which then get saved to this file when they log out. Attackers can abuse this by looking through the file for potential credentials. (Citation: External to DA, the OS X Way)
comment: This technique has been revoked by T1552.003
subclass of: CredentialAccessTechnique
deprecated: true

Deobfuscate/Decode Files or Information
type: Class
type: NamedIndividual
attack-id: T1140
definition: Adversaries may use [Obfuscated Files or Information](https://attack.mitre.org/techniques/T1027) to hide artifacts of an intrusion from analysis. They may require separate mechanisms to decode or deobfuscate that information depending on how they intend to use it. Methods for doing that include built-in functionality of malware or by using utilities present on the system.
invokes: CreateProcess
may-add: ExecutableFile
may-modify: EventLog
subclass of: Restriction
  on property: may-modify
  some values from: EventLog
subclass of: Restriction
  on property: invokes
  some values from: CreateProcess
subclass of: Restriction
  on property: may-add
  some values from: ExecutableFile
subclass of: DefenseEvasionTechnique

Input Prompt
type: Class
attack-id: T1141
definition: When programs are executed that need additional privileges than are present in the current user context, it is common for the operating system to prompt the user for proper credentials to authorize the elevated privileges for the task (ex: [Bypass User Account Control](https://attack.mitre.org/techniques/T1088)).
comment: This technique has been revoked by T1056.002
subclass of: CredentialAccessTechnique
deprecated: true

Keychain
type: Class
type: NamedIndividual
accesses: Encrypted Credential
attack-id: T1142
definition: Keychains are the built-in way for macOS to keep track of users' passwords and credentials for many services and features such as WiFi passwords, websites, secure notes, certificates, and Kerberos. Keychain files are located in ~/Library/Keychains/,/Library/Keychains/, and /Network/Library/Keychains/. (Citation: Wikipedia keychain) The security command-line utility, which is built into macOS by default, provides a useful way to manage these credentials.
comment: This technique has been revoked by T1555.001
subclass of: Restriction
  on property: accesses
  some values from: Encrypted Credential
subclass of: CredentialAccessTechnique
deprecated: true

Hidden Window
type: Class
attack-id: T1143
definition: Adversaries may implement hidden windows to conceal malicious activity from the plain sight of users. In some cases, windows that would typically be displayed when an application carries out an operation can be hidden. This may be utilized by system administrators to avoid disrupting user work environments when carrying out administrative tasks. Adversaries may abuse operating system functionality to hide otherwise visible windows from users so as not to alert the user to adversary activity on the system.
comment: This technique has been revoked by T1564.003
subclass of: DefenseEvasionTechnique
deprecated: true

Gatekeeper Bypass
type: Class
attack-id: T1144
definition: In macOS and OS X, when applications or programs are downloaded from the internet, there is a special attribute set on the file called com.apple.quarantine. This attribute is read by Apple's Gatekeeper defense program at execution time and provides a prompt to the user to allow or deny execution.
comment: This technique has been revoked by T1553.001
subclass of: DefenseEvasionTechnique
deprecated: true

Private Keys
type: Class
attack-id: T1145
definition: Private cryptographic keys and certificates are used for authentication, encryption/decryption, and digital signatures. (Citation: Wikipedia Public Key Crypto)
comment: This technique has been revoked by T1552.004
subclass of: CredentialAccessTechnique
deprecated: true

Clear Command History
type: Class
attack-id: T1146
definition: In addition to clearing system logs, an adversary may clear the command history of a compromised account to conceal the actions undertaken during an intrusion. macOS and Linux both keep track of the commands users type in their terminal so that users can retrace what they've done. These logs can be accessed in a few different ways. While logged in, this command history is tracked in a file pointed to by the environment variable HISTFILE. When a user logs off a system, this information is flushed to a file in the user's home directory called ~/.bash_history. The benefit of this is that it allows users to go back to commands they've used before in different sessions. Since everything typed on the command-line is saved, passwords passed in on the command line are also saved. Adversaries can abuse this by searching these files for cleartext passwords. Additionally, adversaries can use a variety of methods to prevent their own commands from appear in these logs such as unset HISTFILE, export HISTFILESIZE=0, history -c, rm ~/.bash_history.
comment: This technique has been revoked by T1070.003
subclass of: DefenseEvasionTechnique
deprecated: true

Hidden Users
type: Class
attack-id: T1147
definition: Every user account in macOS has a userID associated with it. When creating a user, you can specify the userID for that account. There is a property value in /Library/Preferences/com.apple.loginwindow called Hide500Users that prevents users with userIDs 500 and lower from appearing at the login screen. By using the [Create Account](https://attack.mitre.org/techniques/T1136) technique with a userID under 500 and enabling this property (setting it to Yes), an adversary can hide their user accounts much more easily: sudo dscl . -create /Users/username UniqueID 401 (Citation: Cybereason OSX Pirrit).
comment: This technique has been revoked by T1564.002
subclass of: DefenseEvasionTechnique
deprecated: true

HISTCONTROL
type: Class
attack-id: T1148
definition: The HISTCONTROL environment variable keeps track of what should be saved by the history command and eventually into the ~/.bash_history file when a user logs out. This setting can be configured to ignore commands that start with a space by simply setting it to "ignorespace". HISTCONTROL can also be set to ignore duplicate commands by setting it to "ignoredups". In some Linux systems, this is set by default to "ignoreboth" which covers both of the previous examples. This means that “ ls” will not be saved, but “ls” would be saved by history. HISTCONTROL does not exist by default on macOS, but can be set by the user and will be respected. Adversaries can use this to operate without leaving traces by simply prepending a space to all of their terminal commands.
comment: This technique has been revoked by T1562.003
subclass of: DefenseEvasionTechnique
deprecated: true

LC_MAIN Hijacking
type: Class
attack-id: T1149
definition: **This technique has been deprecated and should no longer be used.**
comment: **This technique has been deprecated and should no longer be used.**
subclass of: DefenseEvasionTechnique
deprecated: true

Plist Modification
type: Class
attack-id: T1150
definition: Property list (plist) files contain all of the information that macOS and OS X uses to configure applications and services. These files are UTF-8 encoded and formatted like XML documents via a series of keys surrounded by < >. They detail when programs should execute, file paths to the executables, program arguments, required OS permissions, and many others. plists are located in certain locations depending on their purpose such as /Library/Preferences (which execute with elevated privileges) and ~/Library/Preferences (which execute with a user's privileges).
comment: This technique has been revoked by T1547.011
subclass of: DefenseEvasionTechnique
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

Space after Filename
type: Class
attack-id: T1151
definition: Adversaries can hide a program's true filetype by changing the extension of a file. With certain file types (specifically this does not work with .app extensions), appending a space to the end of a filename will change how the file is processed by the operating system. For example, if there is a Mach-O executable file called evil.bin, when it is double clicked by a user, it will launch Terminal.app and execute. If this file is renamed to evil.txt, then when double clicked by a user, it will launch with the default text editing application (not executing the binary). However, if the file is renamed to "evil.txt " (note the space at the end), then when double clicked by a user, the true file type is determined by the OS and handled appropriately and the binary will be executed (Citation: Mac Backdoors are back).
comment: This technique has been revoked by T1036.006
subclass of: DefenseEvasionTechnique
subclass of: ExecutionTechnique
deprecated: true

Launchctl
type: Class
attack-id: T1152
definition: Launchctl controls the macOS launchd process which handles things like launch agents and launch daemons, but can execute other commands or programs itself. Launchctl supports taking subcommands on the command-line, interactively, or even redirected from standard input. By loading or reloading launch agents or launch daemons, adversaries can install persistence or execute changes they made (Citation: Sofacy Komplex Trojan). Running a command from launchctl is as simple as launchctl submit -l <labelName> -- /Path/to/thing/to/execute "arg" "arg" "arg". Loading, unloading, or reloading launch agents or launch daemons can require elevated privileges.
comment: This technique has been revoked by T1569.001
subclass of: DefenseEvasionTechnique
subclass of: ExecutionTechnique
subclass of: PersistenceTechnique
deprecated: true

Source
type: Class
attack-id: T1153
definition: **This technique has been deprecated and should no longer be used.**
comment: **This technique has been deprecated and should no longer be used.**
subclass of: ExecutionTechnique
deprecated: true

Trap
type: Class
attack-id: T1154
definition: The trap command allows programs and shells to specify commands that will be executed upon receiving interrupt signals. A common situation is a script allowing for graceful termination and handling of common keyboard interrupts like ctrl+c and ctrl+d. Adversaries can use this to register code to be executed when the shell encounters specific interrupts either to gain execution or as a persistence mechanism. Trap commands are of the following format trap 'command list' signals where "command list" will be executed when "signals" are received.(Citation: Trap Manual)(Citation: Cyberciti Trap Statements)
comment: This technique has been revoked by T1546.005
subclass of: ExecutionTechnique
subclass of: PersistenceTechnique
deprecated: true

AppleScript
type: Class
attack-id: T1155
definition: macOS and OS X applications send AppleEvent messages to each other for interprocess communications (IPC). These messages can be easily scripted with AppleScript for local or remote IPC. Osascript executes AppleScript and any other Open Scripting Architecture (OSA) language scripts. A list of OSA languages installed on a system can be found by using the osalang program.
comment: This technique has been revoked by T1059.002
subclass of: ExecutionTechnique
deprecated: true

Malicious Shell Modification
type: Class
attack-id: T1156
definition: Adversaries may establish persistence through executing malicious commands triggered by a user’s shell. User shells execute several configuration scripts at different points throughout the session based on events. For example, when a user opens a command line interface or remotely logs in (such as SSH) a login shell is initiated. The login shell executes scripts from the system (/etc) and the user’s home directory (~/) to configure the environment. All login shells on a system use /etc/profile when initiated. These configuration scripts run at the permission level of their directory and are often used to set environment variables, create aliases, and customize the user’s environment. When the shell exits or terminates, additional shell scripts are executed to ensure the shell exits appropriately.
comment: This technique has been revoked by T1546.004
subclass of: PersistenceTechnique
deprecated: true

Dylib Hijacking
type: Class
attack-id: T1157
definition: macOS and OS X use a common method to look for required dynamic libraries (dylib) to load into a program based on search paths. Adversaries can take advantage of ambiguous paths to plant dylibs to gain privilege escalation or persistence.
comment: This technique has been revoked by T1574.004
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

Hidden Files and Directories
type: Class
attack-id: T1158
definition: To prevent normal users from accidentally changing special files on a system, most operating systems have the concept of a ‘hidden’ file. These files don’t show up when a user browses the file system with a GUI or when using normal commands on the command line. Users must explicitly ask to show the hidden files either via a series of Graphical User Interface (GUI) prompts or with command line switches (dir /a for Windows and ls –a for Linux and macOS).
comment: This technique has been revoked by T1564.001
subclass of: DefenseEvasionTechnique
subclass of: PersistenceTechnique
deprecated: true

Launch Agent
type: Class
attack-id: T1159
definition: Per Apple’s developer documentation, when a user logs in, a per-user launchd process is started which loads the parameters for each launch-on-demand user agent from the property list (plist) files found in /System/Library/LaunchAgents, /Library/LaunchAgents, and $HOME/Library/LaunchAgents (Citation: AppleDocs Launch Agent Daemons) (Citation: OSX Keydnap malware) (Citation: Antiquated Mac Malware). These launch agents have property list files which point to the executables that will be launched (Citation: OSX.Dok Malware).
comment: This technique has been revoked by T1543.001
subclass of: PersistenceTechnique
deprecated: true

Launch Daemon
type: Class
attack-id: T1160
definition: Per Apple’s developer documentation, when macOS and OS X boot up, launchd is run to finish system initialization. This process loads the parameters for each launch-on-demand system-level daemon from the property list (plist) files found in /System/Library/LaunchDaemons and /Library/LaunchDaemons (Citation: AppleDocs Launch Agent Daemons). These LaunchDaemons have property list files which point to the executables that will be launched (Citation: Methods of Mac Malware Persistence).
comment: This technique has been revoked by T1543.004
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

LC_LOAD_DYLIB Addition
type: Class
attack-id: T1161
definition: Mach-O binaries have a series of headers that are used to perform certain operations when a binary is loaded. The LC_LOAD_DYLIB header in a Mach-O binary tells macOS and OS X which dynamic libraries (dylibs) to load during execution time. These can be added ad-hoc to the compiled binary as long adjustments are made to the rest of the fields and dependencies (Citation: Writing Bad Malware for OSX). There are tools available to perform these changes. Any changes will invalidate digital signatures on binaries because the binary is being modified. Adversaries can remediate this issue by simply removing the LC_CODE_SIGNATURE command from the binary so that the signature isn’t checked at load time (Citation: Malware Persistence on OS X).
comment: This technique has been revoked by T1546.006
subclass of: PersistenceTechnique
deprecated: true

Login Item
type: Class
attack-id: T1162
definition: MacOS provides the option to list specific applications to run when a user logs in. These applications run under the logged in user's context, and will be started every time the user logs in. Login items installed using the Service Management Framework are not visible in the System Preferences and can only be removed by the application that created them (Citation: Adding Login Items). Users have direct control over login items installed using a shared file list which are also visible in System Preferences (Citation: Adding Login Items). These login items are stored in the user's ~/Library/Preferences/ directory in a plist file called com.apple.loginitems.plist (Citation: Methods of Mac Malware Persistence). Some of these applications can open visible dialogs to the user, but they don’t all have to since there is an option to ‘Hide’ the window. If an adversary can register their own login item or modified an existing one, then they can use it to execute their code for a persistence mechanism each time the user logs in (Citation: Malware Persistence on OS X) (Citation: OSX.Dok Malware). The API method SMLoginItemSetEnabled can be used to set Login Items, but scripting languages like [AppleScript](https://attack.mitre.org/techniques/T1155) can do this as well (Citation: Adding Login Items).
comment: This technique has been revoked by T1547.011
subclass of: PersistenceTechnique
deprecated: true

Rc.common
type: Class
attack-id: T1163
definition: During the boot process, macOS executes source /etc/rc.common, which is a shell script containing various utility functions. This file also defines routines for processing command-line arguments and for gathering system settings, and is thus recommended to include in the start of Startup Item Scripts (Citation: Startup Items). In macOS and OS X, this is now a deprecated technique in favor of launch agents and launch daemons, but is currently still used.
comment: This technique has been revoked by T1037.004
subclass of: PersistenceTechnique
deprecated: true

Re-opened Applications
type: Class
attack-id: T1164
definition: Starting in Mac OS X 10.7 (Lion), users can specify certain applications to be re-opened when a user reboots their machine. While this is usually done via a Graphical User Interface (GUI) on an app-by-app basis, there are property list files (plist) that contain this information as well located at ~/Library/Preferences/com.apple.loginwindow.plist and ~/Library/Preferences/ByHost/com.apple.loginwindow.* .plist.
comment: This technique has been revoked by T1547.007
subclass of: PersistenceTechnique
deprecated: true

Startup Items
type: Class
attack-id: T1165
definition: Per Apple’s documentation, startup items execute during the final phase of the boot process and contain shell scripts or other executable files along with configuration information used by the system to determine the execution order for all startup items (Citation: Startup Items). This is technically a deprecated version (superseded by Launch Daemons), and thus the appropriate folder, /Library/StartupItems isn’t guaranteed to exist on the system by default, but does appear to exist by default on macOS Sierra. A startup item is a directory whose executable and configuration property list (plist), StartupParameters.plist, reside in the top-level directory.
comment: This technique has been revoked by T1037.005
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

Setuid and Setgid
type: Class
attack-id: T1166
definition: When the setuid or setgid bits are set on Linux or macOS for an application, this means that the application will run with the privileges of the owning user or group respectively (Citation: setuid man page). Normally an application is run in the current user’s context, regardless of which user or group owns the application. There are instances where programs need to be executed in an elevated context to function properly, but the user running them doesn’t need the elevated privileges. Instead of creating an entry in the sudoers file, which must be done by root, any user can specify the setuid or setgid flag to be set for their own applications. These bits are indicated with an "s" instead of an "x" when viewing a file's attributes via ls -l. The chmod program can set these bits with via bitmasking, chmod 4777 [file] or via shorthand naming, chmod u+s [file].
comment: This technique has been revoked by T1548.001
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

Securityd Memory
type: Class
attack-id: T1167
definition: In OS X prior to El Capitan, users with root access can read plaintext keychain passwords of logged-in users because Apple’s keychain implementation allows these credentials to be cached so that users are not repeatedly prompted for passwords. (Citation: OS X Keychain) (Citation: External to DA, the OS X Way) Apple’s securityd utility takes the user’s logon password, encrypts it with PBKDF2, and stores this master key in memory. Apple also uses a set of keys and algorithms to encrypt the user’s password, but once the master key is found, an attacker need only iterate over the other values to unlock the final password. (Citation: OS X Keychain)
comment: This technique has been revoked by T1555.002
subclass of: CredentialAccessTechnique
deprecated: true

Local Job Scheduling
type: Class
attack-id: T1168
definition: On Linux and macOS systems, multiple methods are supported for creating pre-scheduled and periodic background jobs: cron, (Citation: Die.net Linux crontab Man Page) at, (Citation: Die.net Linux at Man Page) and launchd. (Citation: AppleDocs Scheduling Timed Jobs) Unlike [Scheduled Task/Job](https://attack.mitre.org/techniques/T1053) on Windows systems, job scheduling on Linux-based systems cannot be done remotely unless used in conjunction within an established remote session, like secure shell (SSH).
comment: This technique has been revoked by T1053
subclass of: ExecutionTechnique
subclass of: PersistenceTechnique
deprecated: true

Sudo
type: Class
attack-id: T1169
definition: The sudoers file, /etc/sudoers, describes which users can run which commands and from which terminals. This also describes which commands users can run as other users or groups. This provides the idea of least privilege such that users are running in their lowest possible permissions for most of the time and only elevate to other users or permissions as needed, typically by prompting for a password. However, the sudoers file can also specify when to not prompt users for passwords with a line like user1 ALL=(ALL) NOPASSWD: ALL (Citation: OSX.Dok Malware).
comment: This technique has been revoked by T1548.003
subclass of: PrivilegeEscalationTechnique
deprecated: true

Mshta
type: Class
attack-id: T1170
definition: Mshta.exe is a utility that executes Microsoft HTML Applications (HTA). HTA files have the file extension .hta. (Citation: Wikipedia HTML Application) HTAs are standalone applications that execute using the same models and technologies of Internet Explorer, but outside of the browser. (Citation: MSDN HTML Applications)
comment: This technique has been revoked by T1218.005
subclass of: DefenseEvasionTechnique
subclass of: ExecutionTechnique
deprecated: true

LLMNR/NBT-NS Poisoning and Relay
type: Class
attack-id: T1171
definition: Link-Local Multicast Name Resolution (LLMNR) and NetBIOS Name Service (NBT-NS) are Microsoft Windows components that serve as alternate methods of host identification. LLMNR is based upon the Domain Name System (DNS) format and allows hosts on the same local link to perform name resolution for other hosts. NBT-NS identifies systems on a local network by their NetBIOS name. (Citation: Wikipedia LLMNR) (Citation: TechNet NetBIOS)
comment: This technique has been revoked by T1557.001
subclass of: CredentialAccessTechnique
deprecated: true

Domain Fronting
type: Class
attack-id: T1172
definition: Domain fronting takes advantage of routing schemes in Content Delivery Networks (CDNs) and other services which host multiple domains to obfuscate the intended destination of HTTPS traffic or traffic tunneled through HTTPS. (Citation: Fifield Blocking Resistent Communication through domain fronting 2015) The technique involves using different domain names in the SNI field of the TLS header and the Host field of the HTTP header. If both domains are served from the same CDN, then the CDN may route to the address specified in the HTTP header after unwrapping the TLS header. A variation of the the technique, "domainless" fronting, utilizes a SNI field that is left blank; this may allow the fronting to work even when the CDN attempts to validate that the SNI and HTTP Host fields match (if the blank SNI fields are ignored).
comment: This technique has been revoked by T1090.004
subclass of: CommandAndControlTechnique
deprecated: true

Dynamic Data Exchange
type: Class
attack-id: T1173
definition: Windows Dynamic Data Exchange (DDE) is a client-server protocol for one-time and/or continuous inter-process communication (IPC) between applications. Once a link is established, applications can autonomously exchange transactions consisting of strings, warm data links (notifications when a data item changes), hot data links (duplications of changes to a data item), and requests for command execution.
comment: This technique has been revoked by T1559.002
subclass of: ExecutionTechnique
deprecated: true

Password Filter DLL
type: Class
attack-id: T1174
definition: Windows password filters are password policy enforcement mechanisms for both domain and local accounts. Filters are implemented as dynamic link libraries (DLLs) containing a method to validate potential passwords against password policies. Filter DLLs can be positioned on local computers for local accounts and/or domain controllers for domain accounts.
comment: This technique has been revoked by T1556.002
subclass of: CredentialAccessTechnique
deprecated: true

Component Object Model and Distributed COM
type: Class
attack-id: T1175
definition: **This technique has been deprecated. Please use [Distributed Component Object Model](https://attack.mitre.org/techniques/T1021/003) and [Component Object Model](https://attack.mitre.org/techniques/T1559/001).**
comment: **This technique has been deprecated. Please use [Distributed Component Object Model](https://attack.mitre.org/techniques/T1021/003) and [Component Object Model](https://attack.mitre.org/techniques/T1559/001).**
subclass of: ExecutionTechnique
subclass of: LateralMovementTechnique
deprecated: true

Browser Extensions
type: Class
type: NamedIndividual
attack-id: T1176
definition: Adversaries may abuse Internet browser extensions to establish persistent access to victim systems. Browser extensions or plugins are small programs that can add functionality and customize aspects of Internet browsers. They can be installed directly or through a browser's app store and generally have access and permissions to everything that the browser can access.(Citation: Wikipedia Browser Extension)(Citation: Chrome Extensions Definition)
modifies: Browser Extension
subclass of: Restriction
  on property: modifies
  some values from: Browser Extension
subclass of: PersistenceTechnique

LSASS Driver
type: Class
attack-id: T1177
definition: The Windows security subsystem is a set of components that manage and enforce the security policy for a computer or domain. The Local Security Authority (LSA) is the main component responsible for local security policy and user authentication. The LSA includes multiple dynamic link libraries (DLLs) associated with various other security functions, all of which run in the context of the LSA Subsystem Service (LSASS) lsass.exe process. (Citation: Microsoft Security Subsystem)
comment: This technique has been revoked by T1547.008
subclass of: ExecutionTechnique
subclass of: PersistenceTechnique
deprecated: true

SID-History Injection
type: Class
attack-id: T1178
definition: The Windows security identifier (SID) is a unique value that identifies a user or group account. SIDs are used by Windows security in both security descriptors and access tokens. (Citation: Microsoft SID) An account can hold additional SIDs in the SID-History Active Directory attribute (Citation: Microsoft SID-History Attribute), allowing inter-operable account migration between domains (e.g., all values in SID-History are included in access tokens).
comment: This technique has been revoked by T1134.005
subclass of: PrivilegeEscalationTechnique
deprecated: true

Hooking
type: Class
attack-id: T1179
definition: Windows processes often leverage application programming interface (API) functions to perform tasks that require reusable system resources. Windows API functions are typically stored in dynamic-link libraries (DLLs) as exported functions.
comment: This technique has been revoked by T1056.004
subclass of: CredentialAccessTechnique
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

Screensaver
type: Class
attack-id: T1180
definition: Screensavers are programs that execute after a configurable time of user inactivity and consist of Portable Executable (PE) files with a .scr file extension.(Citation: Wikipedia Screensaver) The Windows screensaver application scrnsave.scr is located in C:\Windows\System32\, and C:\Windows\sysWOW64\ on 64-bit Windows systems, along with screensavers included with base Windows installations.
comment: This technique has been revoked by T1546.002
subclass of: PersistenceTechnique
deprecated: true

Extra Window Memory Injection
type: Class
attack-id: T1181
definition: Before creating a window, graphical Windows-based processes must prescribe to or register a windows class, which stipulate appearance and behavior (via windows procedures, which are functions that handle input/output of data). (Citation: Microsoft Window Classes) Registration of new windows classes can include a request for up to 40 bytes of extra window memory (EWM) to be appended to the allocated memory of each instance of that class. This EWM is intended to store data specific to that window and has specific application programming interface (API) functions to set and get its value. (Citation: Microsoft GetWindowLong function) (Citation: Microsoft SetWindowLong function)
comment: This technique has been revoked by T1055.011
subclass of: DefenseEvasionTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

AppCert DLLs
type: Class
attack-id: T1182
definition: Dynamic-link libraries (DLLs) that are specified in the AppCertDLLs Registry key under HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager are loaded into every process that calls the ubiquitously used application programming interface (API) functions CreateProcess, CreateProcessAsUser, CreateProcessWithLoginW, CreateProcessWithTokenW, or WinExec. (Citation: Elastic Process Injection July 2017)
comment: This technique has been revoked by T1546.009
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

Image File Execution Options Injection
type: Class
attack-id: T1183
definition: Image File Execution Options (IFEO) enable a developer to attach a debugger to an application. When a process is created, a debugger present in an application’s IFEO will be prepended to the application’s name, effectively launching the new process under the debugger (e.g., “C:\dbg\ntsd.exe -g notepad.exe”). (Citation: Microsoft Dev Blog IFEO Mar 2010)
comment: This technique has been revoked by T1546.012
subclass of: DefenseEvasionTechnique
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

SSH Hijacking
type: Class
attack-id: T1184
definition: Secure Shell (SSH) is a standard means of remote access on Linux and macOS systems. It allows a user to connect to another system via an encrypted tunnel, commonly authenticating through a password, certificate or the use of an asymmetric encryption key pair.
comment: This technique has been revoked by T1563.001
subclass of: LateralMovementTechnique
deprecated: true

Browser Session Hijacking
type: Class
type: NamedIndividual
attack-id: T1185
definition: Adversaries may take advantage of security vulnerabilities and inherent functionality in browser software to change content, modify user-behaviors, and intercept information as part of various browser session hijacking techniques.(Citation: Wikipedia Man in the Browser)
produces: Web Network Traffic
subclass of: Restriction
  on property: produces
  some values from: Web Network Traffic
subclass of: CollectionTechnique

Process Doppelgänging
type: Class
attack-id: T1186
definition: Windows Transactional NTFS (TxF) was introduced in Vista as a method to perform safe file operations. (Citation: Microsoft TxF) To ensure data integrity, TxF enables only one transacted handle to write to a file at a given time. Until the write handle transaction is terminated, all other handles are isolated from the writer and may only read the committed version of the file that existed at the time the handle was opened. (Citation: Microsoft Basic TxF Concepts) To avoid corruption, TxF performs an automatic rollback if the system or application fails during a write transaction. (Citation: Microsoft Where to use TxF)
comment: This technique has been revoked by T1055.013
subclass of: DefenseEvasionTechnique
deprecated: true

Forced Authentication
type: Class
type: NamedIndividual
attack-id: T1187
definition: Adversaries may gather credential material by invoking or forcing a user to automatically provide authentication information through a mechanism in which they can intercept.
may-modify: Windows Shortcut File
modifies: Authentication Log
produces: Authentication
subclass of: Restriction
  on property: produces
  some values from: Authentication
subclass of: Restriction
  on property: may-modify
  some values from: Windows Shortcut File
subclass of: Restriction
  on property: modifies
  some values from: Authentication Log
subclass of: CredentialAccessTechnique

Multi-hop Proxy
type: Class
attack-id: T1188
definition: To disguise the source of malicious traffic, adversaries may chain together multiple proxies. Typically, a defender will be able to identify the last proxy traffic traversed before it enters their network; the defender may or may not be able to identify any previous proxies before the last-hop proxy. This technique makes identifying the original source of the malicious traffic even more difficult by requiring the defender to trace malicious traffic through several proxies to identify its source.
comment: This technique has been revoked by T1090.003
subclass of: CommandAndControlTechnique
deprecated: true

Drive-by Compromise
type: Class
type: NamedIndividual
attack-id: T1189
definition: Adversaries may gain access to a system through a user visiting a website over the normal course of browsing. With this technique, the user's web browser is typically targeted for exploitation, but adversaries may also use compromised websites for non-exploitation behavior such as acquiring [Application Access Token](https://attack.mitre.org/techniques/T1550/001).
modifies: ProcessSegment
produces: OutboundInternetNetworkTraffic
produces: URL
subclass of: Restriction
  on property: produces
  some values from: URL
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetNetworkTraffic
subclass of: Restriction
  on property: modifies
  some values from: ProcessSegment
subclass of: InitialAccessTechnique

Exploit Public-Facing Application
type: Class
type: NamedIndividual
attack-id: T1190
definition: Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network. The weakness in the system can be a software bug, a temporary glitch, or a misconfiguration.
injects: Database Query
modifies: ProcessSegment
produces: InboundInternetNetworkTraffic
subclass of: Restriction
  on property: modifies
  some values from: ProcessSegment
subclass of: Restriction
  on property: produces
  some values from: InboundInternetNetworkTraffic
subclass of: Restriction
  on property: injects
  some values from: Database Query
subclass of: InitialAccessTechnique

CMSTP
type: Class
attack-id: T1191
definition: The Microsoft Connection Manager Profile Installer (CMSTP.exe) is a command-line program used to install Connection Manager service profiles. (Citation: Microsoft Connection Manager Oct 2009) CMSTP.exe accepts an installation information file (INF) as a parameter and installs a service profile leveraged for remote access connections.
comment: This technique has been revoked by T1218.003
subclass of: DefenseEvasionTechnique
subclass of: ExecutionTechnique
deprecated: true

Spearphishing Link
type: Class
attack-id: T1192
definition: Spearphishing with a link is a specific variant of spearphishing. It is different from other forms of spearphishing in that it employs the use of links to download malware contained in email, instead of attaching malicious files to the email itself, to avoid defenses that may inspect email attachments.
comment: This technique has been revoked by T1566.002
subclass of: InitialAccessTechnique
deprecated: true

Spearphishing Attachment
type: Class
attack-id: T1193
definition: Spearphishing attachment is a specific variant of spearphishing. Spearphishing attachment is different from other forms of spearphishing in that it employs the use of malware attached to an email. All forms of spearphishing are electronically delivered social engineering targeted at a specific individual, company, or industry. In this scenario, adversaries attach a file to the spearphishing email and usually rely upon [User Execution](https://attack.mitre.org/techniques/T1204) to gain execution.
comment: This technique has been revoked by T1566.001
subclass of: InitialAccessTechnique
deprecated: true

Spearphishing via Service
type: Class
attack-id: T1194
definition: Spearphishing via service is a specific variant of spearphishing. It is different from other forms of spearphishing in that it employs the use of third party services rather than directly via enterprise email channels.
comment: This technique has been revoked by T1566.003
subclass of: InitialAccessTechnique
deprecated: true

Compromise Software Dependencies and Development Tools
type: Class
type: NamedIndividual
attack-id: T1195.001
definition: Adversaries may manipulate software dependencies and development tools prior to receipt by a final consumer for the purpose of data or system compromise. Applications often depend on external software to function properly. Popular open source projects that are used as dependencies in many applications may be targeted as a means to add malicious code to users of the dependency.(Citation: Trendmicro NPM Compromise)
modifies: Software
subclass of: Restriction
  on property: modifies
  some values from: Software
subclass of: Supply Chain Compromise

Compromise Software Supply Chain
type: Class
type: NamedIndividual
attack-id: T1195.002
definition: Adversaries may manipulate application software prior to receipt by a final consumer for the purpose of data or system compromise. Supply chain compromise of software can take place in a number of ways, including manipulation of the application source code, manipulation of the update/distribution mechanism for that software, or replacing compiled releases with a modified version.
modifies: Software
subclass of: Restriction
  on property: modifies
  some values from: Software
subclass of: Supply Chain Compromise

Compromise Hardware Supply Chain
type: Class
type: NamedIndividual
attack-id: T1195.003
definition: Adversaries may manipulate hardware components in products prior to receipt by a final consumer for the purpose of data or system compromise. By modifying hardware or firmware in the supply chain, adversaries can insert a backdoor into consumer networks that may be difficult to detect and give the adversary a high degree of control over the system. Hardware backdoors may be inserted into various devices, such as servers, workstations, network infrastructure, or peripherals.
modifies: HardwareDevice
subclass of: Restriction
  on property: modifies
  some values from: HardwareDevice
subclass of: Supply Chain Compromise

Control Panel Items
type: Class
attack-id: T1196
definition: Windows Control Panel items are utilities that allow users to view and adjust computer settings. Control Panel items are registered executable (.exe) or Control Panel (.cpl) files, the latter are actually renamed dynamic-link library (.dll) files that export a CPlApplet function. (Citation: Microsoft Implementing CPL) (Citation: TrendMicro CPL Malware Jan 2014) Control Panel items can be executed directly from the command line, programmatically via an application programming interface (API) call, or by simply double-clicking the file. (Citation: Microsoft Implementing CPL) (Citation: TrendMicro CPL Malware Jan 2014) (Citation: TrendMicro CPL Malware Dec 2013)
comment: This technique has been revoked by T1218.002
subclass of: DefenseEvasionTechnique
subclass of: ExecutionTechnique
deprecated: true

BITS Jobs
type: Class
type: NamedIndividual
attack-id: T1197
definition: Adversaries may abuse BITS jobs to persistently execute code and perform various background tasks. Windows Background Intelligent Transfer Service (BITS) is a low-bandwidth, asynchronous file transfer mechanism exposed through [Component Object Model](https://attack.mitre.org/techniques/T1559/001) (COM).(Citation: Microsoft COM)(Citation: Microsoft BITS) BITS is commonly used by updaters, messengers, and other applications preferred to operate in the background (using available idle bandwidth) without interrupting other networked applications. File transfer tasks are implemented as BITS jobs, which contain a queue of one or more file operations.
may-produce: Intranet IPC Network Traffic
may-produce: Intranet Web Network Traffic
may-produce: Outbound Internet Web Traffic
subclass of: Restriction
  on property: may-produce
  some values from: Intranet IPC Network Traffic
subclass of: Restriction
  on property: may-produce
  some values from: Outbound Internet Web Traffic
subclass of: Restriction
  on property: may-produce
  some values from: Intranet Web Network Traffic
subclass of: DefenseEvasionTechnique
subclass of: PersistenceTechnique

SIP and Trust Provider Hijacking
type: Class
attack-id: T1198
definition: In user mode, Windows Authenticode (Citation: Microsoft Authenticode) digital signatures are used to verify a file's origin and integrity, variables that may be used to establish trust in signed code (ex: a driver with a valid Microsoft signature may be handled as safe). The signature validation process is handled via the WinVerifyTrust application programming interface (API) function, (Citation: Microsoft WinVerifyTrust) which accepts an inquiry and coordinates with the appropriate trust provider, which is responsible for validating parameters of a signature. (Citation: SpectorOps Subverting Trust Sept 2017)
comment: This technique has been revoked by T1553.003
subclass of: DefenseEvasionTechnique
subclass of: PersistenceTechnique
deprecated: true

Trusted Relationship
type: Class
type: NamedIndividual
attack-id: T1199
creates: Login Session
definition: Adversaries may breach or otherwise leverage organizations who have access to intended victims. Access through trusted third party relationship abuses an existing connection that may not be protected or receives less scrutiny than standard mechanisms of gaining access to a network.
produces: IntranetNetworkTraffic
subclass of: Restriction
  on property: creates
  some values from: Login Session
subclass of: Restriction
  on property: produces
  some values from: IntranetNetworkTraffic
subclass of: InitialAccessTechnique

Hardware Additions
type: Class
type: NamedIndividual
attack-id: T1200
connects: HardwareDevice
definition: Adversaries may introduce computer accessories, networking hardware, or other computing devices into a system or network that can be used as a vector to gain access. Rather than just connecting and distributing payloads via removable storage (i.e. [Replication Through Removable Media](https://attack.mitre.org/techniques/T1091)), more robust hardware additions can be used to introduce new functionalities and/or features into a system that can then be abused.
subclass of: Restriction
  on property: connects
  some values from: HardwareDevice
subclass of: InitialAccessTechnique

Password Policy Discovery
type: Class
attack-id: T1201
definition: Adversaries may attempt to access detailed information about the password policy used within an enterprise network or cloud environment. Password policies are a way to enforce complex passwords that are difficult to guess or crack through [Brute Force](https://attack.mitre.org/techniques/T1110). This information may help the adversary to create a list of common passwords and launch dictionary and/or brute force attacks which adheres to the policy (e.g. if the minimum password length should be 8, then not trying passwords such as 'pass123'; not checking for more than 3-4 passwords per account if the lockout is set to 6 as to not lock out accounts).
subclass of: DiscoveryTechnique

Indirect Command Execution
type: Class
attack-id: T1202
definition: Adversaries may abuse utilities that allow for command execution to bypass security restrictions that limit the use of command-line interpreters. Various Windows utilities may be used to execute commands, possibly without invoking [cmd](https://attack.mitre.org/software/S0106). For example, [Forfiles](https://attack.mitre.org/software/S0193), the Program Compatibility Assistant (pcalua.exe), components of the Windows Subsystem for Linux (WSL), as well as other utilities may invoke the execution of programs and commands from a [Command and Scripting Interpreter](https://attack.mitre.org/techniques/T1059), Run window, or via scripts. (Citation: VectorSec ForFiles Aug 2017) (Citation: Evi1cg Forfiles Nov 2017)
subclass of: DefenseEvasionTechnique

Exploitation for Client Execution
type: Class
type: NamedIndividual
attack-id: T1203
definition: Adversaries may exploit software vulnerabilities in client applications to execute code. Vulnerabilities can exist in software due to unsecure coding practices that can lead to unanticipated behavior. Adversaries can take advantage of certain vulnerabilities through targeted exploitation for the purpose of arbitrary code execution. Oftentimes the most valuable exploits to an offensive toolkit are those that can be used to obtain code execution on a remote system because they can be used to gain access to that system. Users will expect to see files related to the applications they commonly used to do work, so they are a useful target for exploit research and development because of their high utility.
modifies: ProcessCodeSegment
modifies: StackFrame
subclass of: Restriction
  on property: modifies
  some values from: StackFrame
subclass of: Restriction
  on property: modifies
  some values from: ProcessCodeSegment
subclass of: ExecutionTechnique

Malicious Link
type: Class
type: NamedIndividual
accesses: URL
attack-id: T1204.001
definition: An adversary may rely upon a user clicking a malicious link in order to gain execution. Users may be subjected to social engineering to get them to click on a link that will lead to code execution. This user action will typically be observed as follow-on behavior from [Spearphishing Link](https://attack.mitre.org/techniques/T1566/002). Clicking on a link may also lead to other execution techniques such as exploitation of a browser or application vulnerability via [Exploitation for Client Execution](https://attack.mitre.org/techniques/T1203). Links may also lead users to download files that require execution via [Malicious File](https://attack.mitre.org/techniques/T1204/002).
produces: Outbound Internet Web Traffic
subclass of: Restriction
  on property: produces
  some values from: Outbound Internet Web Traffic
subclass of: Restriction
  on property: accesses
  some values from: URL
subclass of: User Execution

Malicious File
type: Class
type: NamedIndividual
attack-id: T1204.002
definition: An adversary may rely upon a user opening a malicious file in order to gain execution. Users may be subjected to social engineering to get them to open a file that will lead to code execution. This user action will typically be observed as follow-on behavior from [Spearphishing Attachment](https://attack.mitre.org/techniques/T1566/001). Adversaries may use several types of files that require a user to execute them, including .doc, .pdf, .xls, .rtf, .scr, .exe, .lnk, .pif, and .cpl.
executes: ExecutableFile
subclass of: Restriction
  on property: executes
  some values from: ExecutableFile
subclass of: User Execution

Malicious Image
type: Class
attack-id: T1204.003
definition: Adversaries may rely on a user running a malicious image to facilitate execution. Amazon Web Services (AWS) Amazon Machine Images (AMIs), Google Cloud Platform (GCP) Images, and Azure Images as well as popular container runtimes such as Docker can be backdoored. Backdoored images may be uploaded to a public repository via [Upload Malware](https://attack.mitre.org/techniques/T1608/001), and users may then download and deploy an instance or container from the image without realizing the image is malicious, thus bypassing techniques that specifically achieve Initial Access. This can lead to the execution of malicious code, such as code that executes cryptocurrency mining, in the instance or container.(Citation: Summit Route Malicious AMIs)
subclass of: User Execution

Port Knocking
type: Class
type: NamedIndividual
attack-id: T1205.001
definition: Adversaries may use port knocking to hide open ports used for persistence or command and control. To enable a port, an adversary sends a series of attempted connections to a predefined sequence of closed ports. After the sequence is completed, opening a port is often accomplished by the host based firewall, but could also be implemented by custom software.
produces: NetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: NetworkTraffic
subclass of: Traffic Signaling

Socket Filters
type: Class
attack-id: T1205.002
definition: Adversaries may attach filters to a network socket to monitor then activate backdoors used for persistence or command and control. With elevated permissions, adversaries can use features such as the `libpcap` library to open sockets and install filters to allow or disallow certain types of data to come through the socket. The filter may apply to all traffic passing through the specified network interface (or every interface if not specified). When the network interface receives a packet matching the filter criteria, additional actions can be triggered on the host, such as activation of a reverse shell.
subclass of: Traffic Signaling

Sudo Caching
type: Class
attack-id: T1206
definition: The sudo command "allows a system administrator to delegate authority to give certain users (or groups of users) the ability to run some (or all) commands as root or another user while providing an audit trail of the commands and their arguments." (Citation: sudo man page 2018) Since sudo was made for the system administrator, it has some useful configuration features such as a timestamp_timeout that is the amount of time in minutes between instances of sudo before it will re-prompt for a password. This is because sudo has the ability to cache credentials for a period of time. Sudo creates (or touches) a file at /var/db/sudo with a timestamp of when sudo was last run to determine this timeout. Additionally, there is a tty_tickets variable that treats each new tty (terminal session) in isolation. This means that, for example, the sudo timeout of one tty will not affect another tty (you will have to type the password again).
comment: This technique has been revoked by T1548.003
subclass of: PrivilegeEscalationTechnique
deprecated: true

Rogue Domain Controller
type: Class
type: NamedIndividual
attack-id: T1207
definition: Adversaries may register a rogue Domain Controller to enable manipulation of Active Directory data. DCShadow may be used to create a rogue Domain Controller (DC). DCShadow is a method of manipulating Active Directory (AD) data, including objects and schemas, by registering (or reusing an inactive registration) and simulating the behavior of a DC. (Citation: DCShadow Blog) Once registered, a rogue DC may be able to inject and replicate changes into AD infrastructure for any domain object, including credentials and keys.
modifies: SystemConfigurationDatabase
produces: IntranetAdministrativeNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: IntranetAdministrativeNetworkTraffic
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabase
subclass of: DefenseEvasionTechnique

Kerberoasting
type: Class
attack-id: T1208
definition: Service principal names (SPNs) are used to uniquely identify each instance of a Windows service. To enable authentication, Kerberos requires that SPNs be associated with at least one service logon account (an account specifically tasked with running a service (Citation: Microsoft Detecting Kerberoasting Feb 2018)). (Citation: Microsoft SPN) (Citation: Microsoft SetSPN) (Citation: SANS Attacking Kerberos Nov 2014) (Citation: Harmj0y Kerberoast Nov 2016)
comment: This technique has been revoked by T1558.003
subclass of: CredentialAccessTechnique
deprecated: true

Time Providers
type: Class
attack-id: T1209
definition: The Windows Time service (W32Time) enables time synchronization across and within domains. (Citation: Microsoft W32Time Feb 2018) W32Time time providers are responsible for retrieving time stamps from hardware/network resources and outputting these values to other network clients. (Citation: Microsoft TimeProvider)
comment: This technique has been revoked by T1547.003
subclass of: PersistenceTechnique
deprecated: true

Exploitation of Remote Services
type: Class
type: NamedIndividual
attack-id: T1210
definition: Adversaries may exploit remote services to gain unauthorized access to internal systems once inside of a network. Exploitation of a software vulnerability occurs when an adversary takes advantage of a programming error in a program, service, or within the operating system software or kernel itself to execute adversary-controlled code. A common goal for post-compromise exploitation of remote services is for lateral movement to enable access to a remote system.
may-modify: ProcessCodeSegment
may-modify: ProcessSegment
may-modify: StackFrame
produces: IntranetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: IntranetNetworkTraffic
subclass of: Restriction
  on property: may-modify
  some values from: StackFrame
subclass of: Restriction
  on property: may-modify
  some values from: ProcessCodeSegment
subclass of: Restriction
  on property: may-modify
  some values from: ProcessSegment
subclass of: LateralMovementTechnique

Exploitation for Defense Evasion
type: Class
type: NamedIndividual
attack-id: T1211
definition: Adversaries may exploit a system or application vulnerability to bypass security features. Exploitation of a vulnerability occurs when an adversary takes advantage of a programming error in a program, service, or within the operating system software or kernel itself to execute adversary-controlled code. Vulnerabilities may exist in defensive security software that can be used to disable or circumvent them.
may-modify: ProcessCodeSegment
may-modify: StackFrame
subclass of: Restriction
  on property: may-modify
  some values from: StackFrame
subclass of: Restriction
  on property: may-modify
  some values from: ProcessCodeSegment
subclass of: DefenseEvasionTechnique

Exploitation for Credential Access
type: Class
type: NamedIndividual
attack-id: T1212
definition: Adversaries may exploit software vulnerabilities in an attempt to collect credentials. Exploitation of a software vulnerability occurs when an adversary takes advantage of a programming error in a program, service, or within the operating system software or kernel itself to execute adversary-controlled code.
may-access: AuthenticationService
may-access: Credential Management System
may-modify: ProcessCodeSegment
may-modify: StackFrame
subclass of: Restriction
  on property: may-access
  some values from: Credential Management System
subclass of: Restriction
  on property: may-access
  some values from: AuthenticationService
subclass of: Restriction
  on property: may-modify
  some values from: ProcessCodeSegment
subclass of: Restriction
  on property: may-modify
  some values from: StackFrame
subclass of: CredentialAccessTechnique

Confluence
type: Class
type: NamedIndividual
accesses: Web File Resource
attack-id: T1213.001
subclass of: Restriction
  on property: accesses
  some values from: Web File Resource
subclass of: Data from Information Repositories

Sharepoint
type: Class
type: NamedIndividual
accesses: Web File Resource
attack-id: T1213.002
definition: Adversaries may leverage the SharePoint repository as a source to mine valuable information. SharePoint will often contain useful information for an adversary to learn about the structure and functionality of the internal network and systems. For example, the following is a list of example information that may hold potential value to an adversary and may also be found on SharePoint:
subclass of: Restriction
  on property: accesses
  some values from: Web File Resource
subclass of: Data from Information Repositories

Code Repositories
type: Class
type: NamedIndividual
attack-id: T1213.003
definition: Adversaries may leverage code repositories to collect valuable information. Code repositories are tools/services that store source code and automate software builds. They may be hosted internally or privately on third party sites such as Github, GitLab, SourceForge, and BitBucket. Users typically interact with code repositories through a web application or command-line utilities such as git.
reads: Code Repository
subclass of: Restriction
  on property: reads
  some values from: Code Repository
subclass of: Data from Information Repositories

Credentials in Registry
type: Class
attack-id: T1214
definition: The Windows Registry stores configuration information that can be used by the system or other programs. Adversaries may query the Registry looking for credentials and passwords that have been stored for use by other programs or services. Sometimes these credentials are used for automatic logons.
comment: This technique has been revoked by T1552.002
subclass of: CredentialAccessTechnique
deprecated: true

Kernel Modules and Extensions
type: Class
attack-id: T1215
definition: Loadable Kernel Modules (or LKMs) are pieces of code that can be loaded and unloaded into the kernel upon demand. They extend the functionality of the kernel without the need to reboot the system. For example, one type of module is the device driver, which allows the kernel to access hardware connected to the system. (Citation: Linux Kernel Programming) When used maliciously, Loadable Kernel Modules (LKMs) can be a type of kernel-mode [Rootkit](https://attack.mitre.org/techniques/T1014) that run with the highest operating system privilege (Ring 0). (Citation: Linux Kernel Module Programming Guide) Adversaries can use loadable kernel modules to covertly persist on a system and evade defenses. Examples have been found in the wild and there are some open source projects. (Citation: Volatility Phalanx2) (Citation: CrowdStrike Linux Rootkit) (Citation: GitHub Reptile) (Citation: GitHub Diamorphine)
comment: This technique has been revoked by T1547.006
subclass of: PersistenceTechnique
deprecated: true

PubPrn
type: Class
attack-id: T1216.001
definition: Adversaries may use PubPrn to proxy execution of malicious remote files. PubPrn.vbs is a [Visual Basic](https://attack.mitre.org/techniques/T1059/005) script that publishes a printer to Active Directory Domain Services. The script may be signed by Microsoft and is commonly executed through the [Windows Command Shell](https://attack.mitre.org/techniques/T1059/003) via Cscript.exe. For example, the following code publishes a printer within the specified domain: cscript pubprn Printer1 LDAP://CN=Container1,DC=Domain1,DC=Com.(Citation: pubprn)
subclass of: System Script Proxy Execution

SyncAppvPublishingServer
type: Class
attack-id: T1216.002
definition: Adversaries may abuse SyncAppvPublishingServer.vbs to proxy execution of malicious [PowerShell](https://attack.mitre.org/techniques/T1059/001) commands. SyncAppvPublishingServer.vbs is a Visual Basic script associated with how Windows virtualizes applications (Microsoft Application Virtualization, or App-V).(Citation: 1 - appv) For example, Windows may render Win32 applications to users as virtual applications, allowing users to launch and interact with them as if they were installed locally.(Citation: 2 - appv)(Citation: 3 - appv)
subclass of: System Script Proxy Execution

Browser Information Discovery
type: Class
attack-id: T1217
definition: Adversaries may enumerate information about browsers to learn more about compromised environments. Data saved by browsers (such as bookmarks, accounts, and browsing history) may reveal a variety of personal information about users (e.g., banking sites, relationships/interests, social media, etc.) as well as details about internal network resources such as servers, tools/dashboards, or other related infrastructure.(Citation: Kaspersky Autofill)
subclass of: DiscoveryTechnique

Compiled HTML File
type: Class
type: NamedIndividual
attack-id: T1218.001
definition: Adversaries may abuse Compiled HTML files (.chm) to conceal malicious code. CHM files are commonly distributed as part of the Microsoft HTML Help system. CHM files are compressed compilations of various content such as HTML documents, images, and scripting/web related programming languages such VBA, JScript, Java, and ActiveX. (Citation: Microsoft HTML Help May 2018) CHM content is displayed using underlying components of the Internet Explorer browser (Citation: Microsoft HTML Help ActiveX) loaded by the HTML Help executable program (hh.exe). (Citation: Microsoft HTML Help Executable Program)
invokes: Create File
invokes: CreateProcess
subclass of: Restriction
  on property: invokes
  some values from: CreateProcess
subclass of: Restriction
  on property: invokes
  some values from: Create File
subclass of: T1218

Control Panel
type: Class
type: NamedIndividual
attack-id: T1218.002
definition: Adversaries may abuse control.exe to proxy execution of malicious payloads. The Windows Control Panel process binary (control.exe) handles execution of Control Panel items, which are utilities that allow users to view and adjust computer settings.
invokes: CreateProcess
may-modify: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: may-modify
  some values from: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: invokes
  some values from: CreateProcess
subclass of: T1218

CMSTP
type: Class
type: NamedIndividual
attack-id: T1218.003
definition: Adversaries may abuse CMSTP to proxy execution of malicious code. The Microsoft Connection Manager Profile Installer (CMSTP.exe) is a command-line program used to install Connection Manager service profiles. (Citation: Microsoft Connection Manager Oct 2009) CMSTP.exe accepts an installation information file (INF) as a parameter and installs a service profile leveraged for remote access connections.
invokes: CreateProcess
may-produce: NetworkTraffic
subclass of: Restriction
  on property: invokes
  some values from: CreateProcess
subclass of: Restriction
  on property: may-produce
  some values from: NetworkTraffic
subclass of: T1218

InstallUtil
type: Class
attack-id: T1218.004
definition: Adversaries may use InstallUtil to proxy execution of code through a trusted Windows utility. InstallUtil is a command-line utility that allows for installation and uninstallation of resources by executing specific installer components specified in .NET binaries. (Citation: MSDN InstallUtil) The InstallUtil binary may also be digitally signed by Microsoft and located in the .NET directories on a Windows system: C:\Windows\Microsoft.NET\Framework\v<version>\InstallUtil.exe and C:\Windows\Microsoft.NET\Framework64\v<version>\InstallUtil.exe.
subclass of: T1218

Mshta
type: Class
type: NamedIndividual
attack-id: T1218.005
definition: Adversaries may abuse mshta.exe to proxy execution of malicious .hta files and Javascript or VBScript through a trusted Windows utility. There are several examples of different types of threats leveraging mshta.exe during initial compromise and for execution of code (Citation: Cylance Dust Storm) (Citation: Red Canary HTA Abuse Part Deux) (Citation: FireEye Attacks Leveraging HTA) (Citation: Airbus Security Kovter Analysis) (Citation: FireEye FIN7 April 2017)
interprets: Microsoft HTML Application
invokes: CreateProcess
subclass of: Restriction
  on property: invokes
  some values from: CreateProcess
subclass of: Restriction
  on property: interprets
  some values from: Microsoft HTML Application
subclass of: T1218

Msiexec
type: Class
attack-id: T1218.007
definition: Adversaries may abuse msiexec.exe to proxy execution of malicious payloads. Msiexec.exe is the command-line utility for the Windows Installer and is thus commonly associated with executing installation packages (.msi).(Citation: Microsoft msiexec) The Msiexec.exe binary may also be digitally signed by Microsoft.
subclass of: T1218

Odbcconf
type: Class
attack-id: T1218.008
definition: Adversaries may abuse odbcconf.exe to proxy execution of malicious payloads. Odbcconf.exe is a Windows utility that allows you to configure Open Database Connectivity (ODBC) drivers and data source names.(Citation: Microsoft odbcconf.exe) The Odbcconf.exe binary may be digitally signed by Microsoft.
subclass of: T1218

Regsvcs/Regasm
type: Class
attack-id: T1218.009
definition: Adversaries may abuse Regsvcs and Regasm to proxy execution of code through a trusted Windows utility. Regsvcs and Regasm are Windows command-line utilities that are used to register .NET [Component Object Model](https://attack.mitre.org/techniques/T1559/001) (COM) assemblies. Both are binaries that may be digitally signed by Microsoft. (Citation: MSDN Regsvcs) (Citation: MSDN Regasm)
subclass of: T1218

Regsvr32
type: Class
attack-id: T1218.010
definition: Adversaries may abuse Regsvr32.exe to proxy execution of malicious code. Regsvr32.exe is a command-line program used to register and unregister object linking and embedding controls, including dynamic link libraries (DLLs), on Windows systems. The Regsvr32.exe binary may also be signed by Microsoft. (Citation: Microsoft Regsvr32)
subclass of: T1218

Rundll32
type: Class
type: NamedIndividual
attack-id: T1218.011
definition: Adversaries may abuse rundll32.exe to proxy execution of malicious code. Using rundll32.exe, vice executing directly (i.e. [Shared Modules](https://attack.mitre.org/techniques/T1129)), may avoid triggering security tools that may not monitor execution of the rundll32.exe process because of allowlists or false positives from normal operations. Rundll32.exe is commonly associated with executing DLL payloads (ex: rundll32.exe {DLLname, DLLfunction}).
invokes: CreateProcess
loads: SharedLibraryFile
subclass of: Restriction
  on property: invokes
  some values from: CreateProcess
subclass of: Restriction
  on property: loads
  some values from: SharedLibraryFile
subclass of: T1218

Verclsid
type: Class
attack-id: T1218.012
definition: Adversaries may abuse verclsid.exe to proxy execution of malicious code. Verclsid.exe is known as the Extension CLSID Verification Host and is responsible for verifying each shell extension before they are used by Windows Explorer or the Windows Shell.(Citation: WinOSBite verclsid.exe)
subclass of: T1218

Mavinject
type: Class
type: NamedIndividual
attack-id: T1218.013
definition: Adversaries may abuse mavinject.exe to proxy execution of malicious code. Mavinject.exe is the Microsoft Application Virtualization Injector, a Windows utility that can inject code into external processes as part of Microsoft Application Virtualization (App-V).(Citation: LOLBAS Mavinject)
invokes: Create Thread
modifies: ProcessSegment
subclass of: Restriction
  on property: invokes
  some values from: Create Thread
subclass of: Restriction
  on property: modifies
  some values from: ProcessSegment
subclass of: T1218

MMC
type: Class
type: NamedIndividual
attack-id: T1218.014
definition: Adversaries may abuse mmc.exe to proxy execution of malicious .msc files. Microsoft Management Console (MMC) is a binary that may be signed by Microsoft and is used in several ways in either its GUI or in a command prompt.(Citation: win_mmc)(Citation: what_is_mmc) MMC can be used to create, open, and save custom consoles that contain administrative tools created by Microsoft, called snap-ins. These snap-ins may be used to manage Windows systems locally or remotely. MMC can also be used to open Microsoft created .msc files to manage system configuration.(Citation: win_msc_files_overview)
executes: Command
may-add: Software
may-modify: SystemConfigurationDatabase
subclass of: Restriction
  on property: executes
  some values from: Command
subclass of: Restriction
  on property: may-modify
  some values from: SystemConfigurationDatabase
subclass of: Restriction
  on property: may-add
  some values from: Software
subclass of: T1218

Electron Applications
type: Class
attack-id: T1218.015
definition: Adversaries may abuse components of the Electron framework to execute malicious code. The Electron framework hosts many common applications such as Signal, Slack, and Microsoft Teams.(Citation: Electron 2) Originally developed by GitHub, Electron is a cross-platform desktop application development framework that employs web technologies like JavaScript, HTML, and CSS.(Citation: Electron 3) The Chromium engine is used to display web content and Node.js runs the backend code.(Citation: Electron 1)
subclass of: T1218

Remote Access Software
type: Class
type: NamedIndividual
attack-id: T1219
definition: An adversary may use legitimate desktop support and remote access software to establish an interactive command and control channel to target systems within networks. These services, such as `VNC`, `Team Viewer`, `AnyDesk`, `ScreenConnect`, `LogMein`, `AmmyyAdmin`, and other remote monitoring and management (RMM) tools, are commonly used as legitimate technical support software and may be allowed by application control within a target environment.(Citation: Symantec Living off the Land)(Citation: CrowdStrike 2015 Global Threat Report)(Citation: CrySyS Blog TeamSpy)
produces: OutboundInternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetNetworkTraffic
subclass of: CommandAndControlTechnique

XSL Script Processing
type: Class
type: NamedIndividual
adds: File
attack-id: T1220
definition: Adversaries may bypass application control and obscure execution of code by embedding scripts inside XSL files. Extensible Stylesheet Language (XSL) files are commonly used to describe the processing and rendering of data within XML files. To support complex operations, the XSL standard includes support for embedded scripting in various languages. (Citation: Microsoft XSLT Script Mar 2017)
interprets: ExecutableScript
invokes: CreateProcess
subclass of: Restriction
  on property: interprets
  some values from: ExecutableScript
subclass of: Restriction
  on property: adds
  some values from: File
subclass of: Restriction
  on property: invokes
  some values from: CreateProcess
subclass of: DefenseEvasionTechnique

Template Injection
type: Class
attack-id: T1221
definition: Adversaries may create or modify references in user document templates to conceal malicious code or force authentication attempts. For example, Microsoft’s Office Open XML (OOXML) specification defines an XML-based format for Office documents (.docx, xlsx, .pptx) to replace older binary formats (.doc, .xls, .ppt). OOXML files are packed together ZIP archives compromised of various XML files, referred to as parts, containing properties that collectively define how a document is rendered.(Citation: Microsoft Open XML July 2017)
subclass of: DefenseEvasionTechnique

Windows File and Directory Permissions Modification
type: Class
attack-id: T1222.001
definition: Adversaries may modify file or directory permissions/attributes to evade access control lists (ACLs) and access protected files.(Citation: Hybrid Analysis Icacls1 June 2018)(Citation: Hybrid Analysis Icacls2 May 2018) File and directory permissions are commonly managed by ACLs configured by the file or directory owner, or users with the appropriate permissions. File and directory ACL implementations vary by platform, but generally explicitly designate which users or groups can perform which actions (read, write, execute, etc.).
subclass of: File and Directory Permissions Modification

Linux and Mac File and Directory Permissions Modification
type: Class
attack-id: T1222.002
definition: Adversaries may modify file or directory permissions/attributes to evade access control lists (ACLs) and access protected files.(Citation: Hybrid Analysis Icacls1 June 2018)(Citation: Hybrid Analysis Icacls2 May 2018) File and directory permissions are commonly managed by ACLs configured by the file or directory owner, or users with the appropriate permissions. File and directory ACL implementations vary by platform, but generally explicitly designate which users or groups can perform which actions (read, write, execute, etc.).
subclass of: File and Directory Permissions Modification

Compiled HTML File
type: Class
attack-id: T1223
definition: Compiled HTML files (.chm) are commonly distributed as part of the Microsoft HTML Help system. CHM files are compressed compilations of various content such as HTML documents, images, and scripting/web related programming languages such VBA, JScript, Java, and ActiveX. (Citation: Microsoft HTML Help May 2018) CHM content is displayed using underlying components of the Internet Explorer browser (Citation: Microsoft HTML Help ActiveX) loaded by the HTML Help executable program (hh.exe). (Citation: Microsoft HTML Help Executable Program)
comment: This technique has been revoked by T1218.001
subclass of: DefenseEvasionTechnique
subclass of: ExecutionTechnique
deprecated: true

Environmental Keying
type: Class
attack-id: T1480.001
definition: Adversaries may environmentally key payloads or other features of malware to evade defenses and constraint execution to a specific target environment. Environmental keying uses cryptography to constrain execution or actions based on adversary supplied environment specific conditions that are expected to be present on the target. Environmental keying is an implementation of [Execution Guardrails](https://attack.mitre.org/techniques/T1480) that utilizes cryptographic techniques for deriving encryption/decryption keys from specific types of values in a given computing environment.(Citation: EK Clueless Agents)
subclass of: Execution Guardrails

Domain Trust Discovery
type: Class
attack-id: T1482
definition: Adversaries may attempt to gather information on domain trust relationships that may be used to identify lateral movement opportunities in Windows multi-domain/forest environments. Domain trusts provide a mechanism for a domain to allow access to resources based on the authentication procedures of another domain.(Citation: Microsoft Trusts) Domain trusts allow the users of the trusted domain to access resources in the trusting domain. The information discovered may help the adversary conduct [SID-History Injection](https://attack.mitre.org/techniques/T1134/005), [Pass the Ticket](https://attack.mitre.org/techniques/T1550/003), and [Kerberoasting](https://attack.mitre.org/techniques/T1558/003).(Citation: AdSecurity Forging Trust Tickets)(Citation: Harmj0y Domain Trusts) Domain trusts can be enumerated using the `DSEnumerateDomainTrusts()` Win32 API call, .NET methods, and LDAP.(Citation: Harmj0y Domain Trusts) The Windows utility [Nltest](https://attack.mitre.org/software/S0359) is known to be used by adversaries to enumerate domain trusts.(Citation: Microsoft Operation Wilysupply)
subclass of: DiscoveryTechnique

Domain Generation Algorithms
type: Class
attack-id: T1483
definition: Adversaries may make use of Domain Generation Algorithms (DGAs) to dynamically identify a destination for command and control traffic rather than relying on a list of static IP addresses or domains. This has the advantage of making it much harder for defenders block, track, or take over the command and control channel, as there potentially could be thousands of domains that malware can check for instructions.(Citation: Cybereason Dissecting DGAs)(Citation: Cisco Umbrella DGA)(Citation: Unit 42 DGA Feb 2019)
comment: This technique has been revoked by T1568.002
subclass of: CommandAndControlTechnique
deprecated: true

Group Policy Modification
type: Class
attack-id: T1484.001
definition: Adversaries may modify Group Policy Objects (GPOs) to subvert the intended discretionary access controls for a domain, usually with the intention of escalating privileges on the domain. Group policy allows for centralized management of user and computer settings in Active Directory (AD). GPOs are containers for group policy settings made up of files stored within a predictable network path `\<DOMAIN>\SYSVOL\<DOMAIN>\Policies\`.(Citation: TechNet Group Policy Basics)(Citation: ADSecurity GPO Persistence 2016)
subclass of: Domain or Tenant Policy Modification

Trust Modification
type: Class
attack-id: T1484.002
definition: Adversaries may add new domain trusts, modify the properties of existing domain trusts, or otherwise change the configuration of trust relationships between domains and tenants to evade defenses and/or elevate privileges.Trust details, such as whether or not user identities are federated, allow authentication and authorization properties to apply between domains or tenants for the purpose of accessing shared resources.(Citation: Microsoft - Azure AD Federation) These trust objects may include accounts, credentials, and other authentication material applied to servers, tokens, and domains.
subclass of: Domain or Tenant Policy Modification

Data Destruction
type: Class
attack-id: T1485
definition: Adversaries may destroy data and files on specific systems or in large numbers on a network to interrupt availability to systems, services, and network resources. Data destruction is likely to render stored data irrecoverable by forensic techniques through overwriting files or data on local and remote drives.(Citation: Symantec Shamoon 2012)(Citation: FireEye Shamoon Nov 2016)(Citation: Palo Alto Shamoon Nov 2016)(Citation: Kaspersky StoneDrill 2017)(Citation: Unit 42 Shamoon3 2018)(Citation: Talos Olympic Destroyer 2018) Common operating system file deletion commands such as del and rm often only remove pointers to files without wiping the contents of the files themselves, making the files recoverable by proper forensic methodology. This behavior is distinct from [Disk Content Wipe](https://attack.mitre.org/techniques/T1561/001) and [Disk Structure Wipe](https://attack.mitre.org/techniques/T1561/002) because individual files are destroyed rather than sections of a storage disk or the disk's logical structure.
subclass of: ImpactTechnique

Data Encrypted for Impact
type: Class
attack-id: T1486
definition: Adversaries may encrypt data on target systems or on large numbers of systems in a network to interrupt availability to system and network resources. They can attempt to render stored data inaccessible by encrypting files or data on local and remote drives and withholding access to a decryption key. This may be done in order to extract monetary compensation from a victim in exchange for decryption or a decryption key (ransomware) or to render data permanently inaccessible in cases where the key is not saved or transmitted.(Citation: US-CERT Ransomware 2016)(Citation: FireEye WannaCry 2017)(Citation: US-CERT NotPetya 2017)(Citation: US-CERT SamSam 2018)
subclass of: ImpactTechnique

Disk Structure Wipe
type: Class
attack-id: T1487
definition: Adversaries may corrupt or wipe the disk data structures on hard drive necessary to boot systems; targeting specific critical systems as well as a large number of systems in a network to interrupt availability to system and network resources.
comment: This technique has been revoked by T1561.002
subclass of: ImpactTechnique
deprecated: true

Disk Content Wipe
type: Class
attack-id: T1488
definition: Adversaries may erase the contents of storage devices on specific systems as well as large numbers of systems in a network to interrupt availability to system and network resources.
comment: This technique has been revoked by T1561.001
subclass of: ImpactTechnique
deprecated: true

Service Stop
type: Class
attack-id: T1489
definition: Adversaries may stop or disable services on a system to render those services unavailable to legitimate users. Stopping critical services or processes can inhibit or stop response to an incident or aid in the adversary's overall objectives to cause damage to the environment.(Citation: Talos Olympic Destroyer 2018)(Citation: Novetta Blockbuster)
subclass of: ImpactTechnique

Inhibit System Recovery
type: Class
attack-id: T1490
definition: Adversaries may delete or remove built-in data and turn off services designed to aid in the recovery of a corrupted system to prevent recovery.(Citation: Talos Olympic Destroyer 2018)(Citation: FireEye WannaCry 2017) This may deny access to available backups and recovery options.
subclass of: ImpactTechnique

Internal Defacement
type: Class
type: NamedIndividual
attack-id: T1491.001
definition: An adversary may deface systems internal to an organization in an attempt to intimidate or mislead users, thus discrediting the integrity of the systems. This may take the form of modifications to internal websites, or directly to user systems with the replacement of the desktop wallpaper.(Citation: Novetta Blockbuster) Disturbing or offensive images may be used as a part of [Internal Defacement](https://attack.mitre.org/techniques/T1491/001) in order to cause user discomfort, or to pressure compliance with accompanying messages. Since internally defacing systems exposes an adversary's presence, it often takes place after other intrusion goals have been accomplished.(Citation: Novetta Blockbuster Destructive Malware)
modifies: Resource
subclass of: Restriction
  on property: modifies
  some values from: Resource
subclass of: Defacement

External Defacement
type: Class
type: NamedIndividual
attack-id: T1491.002
definition: An adversary may deface systems external to an organization in an attempt to deliver messaging, intimidate, or otherwise mislead an organization or users. [External Defacement](https://attack.mitre.org/techniques/T1491/002) may ultimately cause users to distrust the systems and to question/discredit the system’s integrity. Externally-facing websites are a common victim of defacement; often targeted by adversary and hacktivist groups in order to push a political message or spread propaganda.(Citation: FireEye Cyber Threats to Media Industries)(Citation: Kevin Mandia Statement to US Senate Committee on Intelligence)(Citation: Anonymous Hackers Deface Russian Govt Site) [External Defacement](https://attack.mitre.org/techniques/T1491/002) may be used as a catalyst to trigger events, or as a response to actions taken by an organization or government. Similarly, website defacement may also be used as setup, or a precursor, for future attacks such as [Drive-by Compromise](https://attack.mitre.org/techniques/T1189).(Citation: Trend Micro Deep Dive Into Defacement)
modifies: NetworkResource
subclass of: Restriction
  on property: modifies
  some values from: NetworkResource
subclass of: Defacement

Stored Data Manipulation
type: Class
attack-id: T1492
definition: Adversaries may insert, delete, or manipulate data at rest in order to manipulate external outcomes or hide activity.(Citation: FireEye APT38 Oct 2018)(Citation: DOJ Lazarus Sony 2018) By manipulating stored data, adversaries may attempt to affect a business process, organizational understanding, and decision making.
comment: This technique has been revoked by T1565.001
subclass of: ImpactTechnique
deprecated: true

Transmitted Data Manipulation
type: Class
attack-id: T1493
definition: Adversaries may alter data en route to storage or other systems in order to manipulate external outcomes or hide activity.(Citation: FireEye APT38 Oct 2018)(Citation: DOJ Lazarus Sony 2018) By manipulating transmitted data, adversaries may attempt to affect a business process, organizational understanding, and decision making.
comment: This technique has been revoked by T1565.002
subclass of: ImpactTechnique
deprecated: true

Runtime Data Manipulation
type: Class
attack-id: T1494
definition: Adversaries may modify systems in order to manipulate the data as it is accessed and displayed to an end user.(Citation: FireEye APT38 Oct 2018)(Citation: DOJ Lazarus Sony 2018) By manipulating runtime data, adversaries may attempt to affect a business process, organizational understanding, and decision making.
comment: This technique has been revoked by T1565.003
subclass of: ImpactTechnique
deprecated: true

Firmware Corruption
type: Class
attack-id: T1495
definition: Adversaries may overwrite or corrupt the flash memory contents of system BIOS or other firmware in devices attached to a system in order to render them inoperable or unable to boot, thus denying the availability to use the devices and/or the system.(Citation: Symantec Chernobyl W95.CIH) Firmware is software that is loaded and executed from non-volatile memory on hardware devices in order to initialize and manage device functionality. These devices may include the motherboard, hard drive, or video cards.
subclass of: ImpactTechnique

Resource Hijacking
type: Class
attack-id: T1496
definition: Adversaries may leverage the resources of co-opted systems to complete resource-intensive tasks, which may impact system and/or hosted service availability.
subclass of: ImpactTechnique

System Checks
type: Class
attack-id: T1497.001
definition: Adversaries may employ various system checks to detect and avoid virtualization and analysis environments. This may include changing behaviors based on the results of checks for the presence of artifacts indicative of a virtual machine environment (VME) or sandbox. If the adversary detects a VME, they may alter their malware to disengage from the victim or conceal the core functions of the implant. They may also search for VME artifacts before dropping secondary or additional payloads. Adversaries may use the information learned from [Virtualization/Sandbox Evasion](https://attack.mitre.org/techniques/T1497) during automated discovery to shape follow-on behaviors.(Citation: Deloitte Environment Awareness)
subclass of: Virtualization/Sandbox Evasion

User Activity Based Checks
type: Class
attack-id: T1497.002
definition: Adversaries may employ various user activity checks to detect and avoid virtualization and analysis environments. This may include changing behaviors based on the results of checks for the presence of artifacts indicative of a virtual machine environment (VME) or sandbox. If the adversary detects a VME, they may alter their malware to disengage from the victim or conceal the core functions of the implant. They may also search for VME artifacts before dropping secondary or additional payloads. Adversaries may use the information learned from [Virtualization/Sandbox Evasion](https://attack.mitre.org/techniques/T1497) during automated discovery to shape follow-on behaviors.(Citation: Deloitte Environment Awareness)
subclass of: Virtualization/Sandbox Evasion

Time Based Evasion
type: Class
type: NamedIndividual
attack-id: T1497.003
definition: Adversaries may employ various time-based methods to detect and avoid virtualization and analysis environments. This may include enumerating time-based properties, such as uptime or the system clock, as well as the use of timers or other triggers to avoid a virtual machine environment (VME) or sandbox, specifically those that are automated or only operate for a limited amount of time.
may-invoke: Get System Time
may-run: System Time Application
subclass of: Restriction
  on property: may-run
  some values from: System Time Application
subclass of: Restriction
  on property: may-invoke
  some values from: Get System Time
subclass of: Virtualization/Sandbox Evasion

Direct Network Flood
type: Class
type: NamedIndividual
attack-id: T1498.001
creates: InboundInternetNetworkTraffic
definition: Adversaries may attempt to cause a denial of service (DoS) by directly sending a high-volume of network traffic to a target. This DoS attack may also reduce the availability and functionality of the targeted system(s) and network. [Direct Network Flood](https://attack.mitre.org/techniques/T1498/001)s are when one or more systems are used to send a high-volume of network packets towards the targeted service's network. Almost any network protocol may be used for flooding. Stateless protocols such as UDP or ICMP are commonly used but stateful protocols such as TCP can be used as well.
subclass of: Restriction
  on property: creates
  some values from: InboundInternetNetworkTraffic
subclass of: Network Denial of Service

Reflection Amplification
type: Class
type: NamedIndividual
attack-id: T1498.002
definition: Adversaries may attempt to cause a denial of service (DoS) by reflecting a high-volume of network traffic to a target. This type of Network DoS takes advantage of a third-party server intermediary that hosts and will respond to a given spoofed source IP address. This third-party server is commonly termed a reflector. An adversary accomplishes a reflection attack by sending packets to reflectors with the spoofed address of the victim. Similar to Direct Network Floods, more than one system may be used to conduct the attack, or a botnet may be used. Likewise, one or more reflectors may be used to focus traffic on the target.(Citation: Cloudflare ReflectionDoS May 2017) This Network DoS attack may also reduce the availability and functionality of the targeted system(s) and network.
produces: InboundInternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: InboundInternetNetworkTraffic
subclass of: Network Denial of Service

OS Exhaustion Flood
type: Class
attack-id: T1499.001
definition: Adversaries may launch a denial of service (DoS) attack targeting an endpoint's operating system (OS). A system's OS is responsible for managing the finite resources as well as preventing the entire system from being overwhelmed by excessive demands on its capacity. These attacks do not need to exhaust the actual resources on a system; the attacks may simply exhaust the limits and available resources that an OS self-imposes.
subclass of: Endpoint Denial of Service

Service Exhaustion Flood
type: Class
type: NamedIndividual
attack-id: T1499.002
definition: Adversaries may target the different network services provided by systems to conduct a denial of service (DoS). Adversaries often target the availability of DNS and web services, however others have been targeted as well.(Citation: Arbor AnnualDoSreport Jan 2018) Web server software can be attacked through a variety of means, some of which apply generally while others are specific to the software being used to provide the service.
produces: InboundInternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: InboundInternetNetworkTraffic
subclass of: Network Denial of Service

Application Exhaustion Flood
type: Class
attack-id: T1499.003
definition: Adversaries may target resource intensive features of applications to cause a denial of service (DoS), denying availability to those applications. For example, specific features in web applications may be highly resource intensive. Repeated requests to those features may be able to exhaust system resources and deny access to the application or the server itself.(Citation: Arbor AnnualDoSreport Jan 2018)
subclass of: Endpoint Denial of Service

Application or System Exploitation
type: Class
attack-id: T1499.004
definition: Adversaries may exploit software vulnerabilities that can cause an application or system to crash and deny availability to users. (Citation: Sucuri BIND9 August 2015) Some systems may automatically restart critical applications and services when crashes occur, but they can likely be re-exploited to cause a persistent denial of service (DoS) condition.
subclass of: Endpoint Denial of Service

Compile After Delivery
type: Class
attack-id: T1500
definition: Adversaries may attempt to make payloads difficult to discover and analyze by delivering files to victims as uncompiled code. Similar to [Obfuscated Files or Information](https://attack.mitre.org/techniques/T1027), text-based source code files may subvert analysis and scrutiny from protections targeting executables/binaries. These payloads will need to be compiled before execution; typically via native utilities such as csc.exe or GCC/MinGW.(Citation: ClearSky MuddyWater Nov 2018)
comment: This technique has been revoked by T1027.004
subclass of: DefenseEvasionTechnique
deprecated: true

Systemd Service
type: Class
attack-id: T1501
definition: Systemd services can be used to establish persistence on a Linux system. The systemd service manager is commonly used for managing background daemon processes (also known as services) and other system resources.(Citation: Linux man-pages: systemd January 2014)(Citation: Freedesktop.org Linux systemd 29SEP2018) Systemd is the default initialization (init) system on many Linux distributions starting with Debian 8, Ubuntu 15.04, CentOS 7, RHEL 7, Fedora 15, and replaces legacy init systems including SysVinit and Upstart while remaining backwards compatible with the aforementioned init systems.
comment: This technique has been revoked by T1543.002
subclass of: PersistenceTechnique
deprecated: true

Parent PID Spoofing
type: Class
attack-id: T1502
definition: Adversaries may spoof the parent process identifier (PPID) of a new process to evade process-monitoring defenses or to elevate privileges. New processes are typically spawned directly from their parent, or calling, process unless explicitly specified. One way of explicitly assigning the PPID of a new process is via the CreateProcess API call, which supports a parameter that defines the PPID to use.(Citation: DidierStevens SelectMyParent Nov 2009) This functionality is used by Windows features such as User Account Control (UAC) to correctly set the PPID after a requested elevated process is spawned by SYSTEM (typically via svchost.exe or consent.exe) rather than the current user context.(Citation: Microsoft UAC Nov 2018)
comment: This technique has been revoked by T1134.004
subclass of: DefenseEvasionTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

Credentials from Web Browsers
type: Class
attack-id: T1503
definition: Adversaries may acquire credentials from web browsers by reading files specific to the target browser. (Citation: Talos Olympic Destroyer 2018)
comment: This technique has been revoked by T1555.003
subclass of: CredentialAccessTechnique
deprecated: true

PowerShell Profile
type: Class
attack-id: T1504
definition: Adversaries may gain persistence and elevate privileges in certain situations by abusing [PowerShell](https://attack.mitre.org/techniques/T1086) profiles. A PowerShell profile (profile.ps1) is a script that runs when PowerShell starts and can be used as a logon script to customize user environments. PowerShell supports several profiles depending on the user or host program. For example, there can be different profiles for PowerShell host programs such as the PowerShell console, PowerShell ISE or Visual Studio Code. An administrator can also configure a profile that applies to all users and host programs on the local computer. (Citation: Microsoft About Profiles)
comment: This technique has been revoked by T1546.013
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

SQL Stored Procedures
type: Class
type: NamedIndividual
attack-id: T1505.001
creates: Stored Procedure
definition: Adversaries may abuse SQL stored procedures to establish persistent access to systems. SQL Stored Procedures are code that can be saved and reused so that database users do not waste time rewriting frequently used SQL queries. Stored procedures can be invoked via SQL statements to the database using the procedure name or via defined events (e.g. when a SQL server application is started/restarted).
invokes: CreateProcess
subclass of: Restriction
  on property: invokes
  some values from: CreateProcess
subclass of: Restriction
  on property: creates
  some values from: Stored Procedure
subclass of: Server Software Component

Transport Agent
type: Class
type: NamedIndividual
adds: Message Transfer Agent
attack-id: T1505.002
definition: Adversaries may abuse Microsoft transport agents to establish persistent access to systems. Microsoft Exchange transport agents can operate on email messages passing through the transport pipeline to perform various tasks such as filtering spam, filtering malicious attachments, journaling, or adding a corporate signature to the end of all outgoing emails.(Citation: Microsoft TransportAgent Jun 2016)(Citation: ESET LightNeuron May 2019) Transport agents can be written by application developers and then compiled to .NET assemblies that are subsequently registered with the Exchange server. Transport agents will be invoked during a specified stage of email processing and carry out developer defined tasks.
modifies: Mail Server
subclass of: Restriction
  on property: modifies
  some values from: Mail Server
subclass of: Restriction
  on property: adds
  some values from: Message Transfer Agent
subclass of: Server Software Component

Web Shell
type: Class
type: NamedIndividual
adds: Web Script File
attack-id: T1505.003
definition: Adversaries may backdoor web servers with web shells to establish persistent access to systems. A Web shell is a Web script that is placed on an openly accessible Web server to allow an adversary to access the Web server as a gateway into a network. A Web shell may provide a set of functions to execute or a command-line interface on the system that hosts the Web server.(Citation: volexity_0day_sophos_FW)
modifies: Web Server
produces: Process
subclass of: Restriction
  on property: modifies
  some values from: Web Server
subclass of: Restriction
  on property: produces
  some values from: Process
subclass of: Restriction
  on property: adds
  some values from: Web Script File
subclass of: Server Software Component

IIS Components
type: Class
type: NamedIndividual
adds: Software
attack-id: T1505.004
definition: Adversaries may install malicious components that run on Internet Information Services (IIS) web servers to establish persistence. IIS provides several mechanisms to extend the functionality of the web servers. For example, Internet Server Application Programming Interface (ISAPI) extensions and filters can be installed to examine and/or modify incoming and outgoing IIS web requests. Extensions and filters are deployed as DLL files that export three functions: Get{Extension/Filter}Version, Http{Extension/Filter}Proc, and (optionally) Terminate{Extension/Filter}. IIS modules may also be installed to extend IIS web servers.(Citation: Microsoft ISAPI Extension Overview 2017)(Citation: Microsoft ISAPI Filter Overview 2017)(Citation: IIS Backdoor 2011)(Citation: Trustwave IIS Module 2013)
subclass of: Restriction
  on property: adds
  some values from: Software
subclass of: Server Software Component

Terminal Services DLL
type: Class
attack-id: T1505.005
definition: Adversaries may abuse components of Terminal Services to enable persistent access to systems. Microsoft Terminal Services, renamed to Remote Desktop Services in some Windows Server OSs as of 2022, enable remote terminal connections to hosts. Terminal Services allows servers to transmit a full, interactive, graphical user interface to clients via RDP.(Citation: Microsoft Remote Desktop Services)
subclass of: Server Software Component

Web Session Cookie
type: Class
attack-id: T1506
definition: Adversaries can use stolen session cookies to authenticate to web applications and services. This technique bypasses some multi-factor authentication protocols since the session is already authenticated.(Citation: Pass The Cookie)
comment: This technique has been revoked by T1550.004
subclass of: DefenseEvasionTechnique
subclass of: LateralMovementTechnique
deprecated: true

Elevated Execution with Prompt
type: Class
attack-id: T1514
definition: Adversaries may leverage the AuthorizationExecuteWithPrivileges API to escalate privileges by prompting the user for credentials.(Citation: AppleDocs AuthorizationExecuteWithPrivileges) The purpose of this API is to give application developers an easy way to perform operations with root privileges, such as for application installation or updating. This API does not validate that the program requesting root privileges comes from a reputable source or has been maliciously modified. Although this API is deprecated, it still fully functions in the latest releases of macOS. When calling this API, the user will be prompted to enter their credentials but no checks on the origin or integrity of the program are made. The program calling the API may also load world writable files which can be modified to perform malicious behavior with elevated privileges.
comment: This technique has been revoked by T1548.004
subclass of: PrivilegeEscalationTechnique
deprecated: true

Security Software Discovery
type: Class
type: NamedIndividual
attack-id: T1518.001
definition: Adversaries may attempt to get a listing of security software, configurations, defensive tools, and sensors that are installed on a system or in a cloud environment. This may include things such as cloud monitoring agents and anti-virus. Adversaries may use the information from [Security Software Discovery](https://attack.mitre.org/techniques/T1518/001) during automated discovery to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions.
may-access: FileSystemMetadata
may-access: Kernel Process Table
may-access: SystemConfigurationDatabaseRecord
may-access: System Firewall Configuration
may-invoke: Get Running Processes
subclass of: Restriction
  on property: may-access
  some values from: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: may-access
  some values from: System Firewall Configuration
subclass of: Restriction
  on property: may-access
  some values from: FileSystemMetadata
subclass of: Restriction
  on property: may-access
  some values from: Kernel Process Table
subclass of: Restriction
  on property: may-invoke
  some values from: Get Running Processes
subclass of: Software Discovery

Emond
type: Class
attack-id: T1519
definition: Adversaries may use Event Monitor Daemon (emond) to establish persistence by scheduling malicious commands to run on predictable event triggers. Emond is a [Launch Daemon](https://attack.mitre.org/techniques/T1160) that accepts events from various services, runs them through a simple rules engine, and takes action. The emond binary at /sbin/emond will load any rules from the /etc/emond.d/rules/ directory and take action once an explicitly defined event takes place. The rule files are in the plist format and define the name, event type, and action to take. Some examples of event types include system startup and user authentication. Examples of actions are to run a system command or send an email. The emond service will not launch if there is no file present in the QueueDirectories path /private/var/db/emondClients, specified in the [Launch Daemon](https://attack.mitre.org/techniques/T1160) configuration file at/System/Library/LaunchDaemons/com.apple.emond.plist.(Citation: xorrior emond Jan 2018)(Citation: magnusviri emond Apr 2016)(Citation: sentinelone macos persist Jun 2019)
comment: This technique has been revoked by T1546.014
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique
deprecated: true

Cloud Instance Metadata API
type: Class
attack-id: T1522
definition: Adversaries may attempt to access the Cloud Instance Metadata API to collect credentials and other sensitive data.
comment: This technique has been revoked by T1552.005
subclass of: CredentialAccessTechnique
deprecated: true

Implant Internal Image
type: Class
type: NamedIndividual
adds: Container Image
attack-id: T1525
definition: Adversaries may implant cloud or container images with malicious code to establish persistence after gaining access to an environment. Amazon Web Services (AWS) Amazon Machine Images (AMIs), Google Cloud Platform (GCP) Images, and Azure Images as well as popular container runtimes such as Docker can be implanted or backdoored. Unlike [Upload Malware](https://attack.mitre.org/techniques/T1608/001), this technique focuses on adversaries implanting an image in a registry within a victim’s environment. Depending on how the infrastructure is provisioned, this could provide persistent access if the infrastructure provisioning tool is instructed to always use the latest image.(Citation: Rhino Labs Cloud Image Backdoor Technique Sept 2019)
subclass of: Restriction
  on property: adds
  some values from: Container Image
subclass of: PersistenceTechnique

Cloud Service Discovery
type: Class
type: NamedIndividual
attack-id: T1526
definition: An adversary may attempt to enumerate the cloud services running on a system after gaining access. These methods can differ from platform-as-a-service (PaaS), to infrastructure-as-a-service (IaaS), or software-as-a-service (SaaS). Many services exist throughout the various cloud providers and can include Continuous Integration and Continuous Delivery (CI/CD), Lambda Functions, Azure AD, etc. They may also include security services, such as AWS GuardDuty and Microsoft Defender for Cloud, and logging services, such as AWS CloudTrail and Google Cloud Audit Logs.
reads: Cloud Configuration
subclass of: Restriction
  on property: reads
  some values from: Cloud Configuration
subclass of: DiscoveryTechnique

Application Access Token
type: Class
attack-id: T1527
definition: Adversaries may use application access tokens to bypass the typical authentication process and access restricted accounts, information, or services on remote systems. These tokens are typically stolen from users and used in lieu of login credentials.
comment: This technique has been revoked by T1550.001
subclass of: DefenseEvasionTechnique
subclass of: LateralMovementTechnique
deprecated: true

Steal Application Access Token
type: Class
type: NamedIndividual
accesses: AccessToken
attack-id: T1528
definition: Adversaries can steal application access tokens as a means of acquiring credentials to access remote systems and resources.
subclass of: Restriction
  on property: accesses
  some values from: AccessToken
subclass of: CredentialAccessTechnique

System Shutdown/Reboot
type: Class
attack-id: T1529
definition: Adversaries may shutdown/reboot systems to interrupt access to, or aid in the destruction of, those systems. Operating systems may contain commands to initiate a shutdown/reboot of a machine or network device. In some cases, these commands may also be used to initiate a shutdown/reboot of a remote computer or network device via [Network Device CLI](https://attack.mitre.org/techniques/T1059/008) (e.g. reload).(Citation: Microsoft Shutdown Oct 2017)(Citation: alert_TA18_106A)
subclass of: ImpactTechnique

Data from Cloud Storage
type: Class
attack-id: T1530
definition: Adversaries may access data from cloud storage.
subclass of: CollectionTechnique

Account Access Removal
type: Class
type: NamedIndividual
attack-id: T1531
definition: Adversaries may interrupt availability of system and network resources by inhibiting access to accounts utilized by legitimate users. Accounts may be deleted, locked, or manipulated (ex: changed credentials) to remove access to accounts. Adversaries may also subsequently log off and/or perform a [System Shutdown/Reboot](https://attack.mitre.org/techniques/T1529) to set malicious changes into place.(Citation: CarbonBlack LockerGoga 2019)(Citation: Unit42 LockerGoga 2019)
modifies: UserAccount
subclass of: Restriction
  on property: modifies
  some values from: UserAccount
subclass of: ImpactTechnique

Internal Spearphishing
type: Class
type: NamedIndividual
attack-id: T1534
definition: After they already have access to accounts or systems within the environment, adversaries may use internal spearphishing to gain access to additional information or compromise other users within the same organization. Internal spearphishing is multi-staged campaign where a legitimate account is initially compromised either by controlling the user's device or by compromising the account credentials of the user. Adversaries may then attempt to take advantage of the trusted internal account to increase the likelihood of tricking more victims into falling for phish attempts, often incorporating [Impersonation](https://attack.mitre.org/techniques/T1656).(Citation: Trend Micro - Int SP)
produces: Email
subclass of: Restriction
  on property: produces
  some values from: Email
subclass of: LateralMovementTechnique

Unused/Unsupported Cloud Regions
type: Class
attack-id: T1535
definition: Adversaries may create cloud instances in unused geographic service regions in order to evade detection. Access is usually obtained through compromising accounts used to manage cloud infrastructure.
subclass of: DefenseEvasionTechnique

Revert Cloud Instance
type: Class
attack-id: T1536
definition: An adversary may revert changes made to a cloud instance after they have performed malicious activities in attempt to evade detection and remove evidence of their presence. In highly virtualized environments, such as cloud-based infrastructure, this may be accomplished by restoring virtual machine (VM) or data storage snapshots through the cloud management dashboard or cloud APIs.
comment: This technique has been revoked by T1578.004
subclass of: DefenseEvasionTechnique
deprecated: true

Transfer Data to Cloud Account
type: Class
attack-id: T1537
definition: Adversaries may exfiltrate data by transferring the data, including through sharing/syncing and creating backups of cloud environments, to another cloud account they control on the same service.
subclass of: Exfiltration Technique

Cloud Service Dashboard
type: Class
type: NamedIndividual
accesses: Cloud Configuration
attack-id: T1538
definition: An adversary may use a cloud service dashboard GUI with stolen credentials to gain useful information from an operational cloud environment, such as specific services, resources, and features. For example, the GCP Command Center can be used to view all assets, findings of potential security risks, and to run additional queries, such as finding public IP addresses and open ports.(Citation: Google Command Center Dashboard)
subclass of: Restriction
  on property: accesses
  some values from: Cloud Configuration
subclass of: DiscoveryTechnique

Steal Web Session Cookie
type: Class
type: NamedIndividual
accesses: Session Cookie
attack-id: T1539
definition: An adversary may steal web application or service session cookies and use them to gain access to web applications or Internet services as an authenticated user without needing credentials. Web applications and services often use session cookies as an authentication token after a user has authenticated to a website.
subclass of: Restriction
  on property: accesses
  some values from: Session Cookie
subclass of: CredentialAccessTechnique

System Firmware
type: Class
type: NamedIndividual
attack-id: T1542.001
definition: Adversaries may modify system firmware to persist on systems.The BIOS (Basic Input/Output System) and The Unified Extensible Firmware Interface (UEFI) or Extensible Firmware Interface (EFI) are examples of system firmware that operate as the software interface between the operating system and hardware of a computer.(Citation: Wikipedia BIOS)(Citation: Wikipedia UEFI)(Citation: About UEFI)
modifies: System Firmware
subclass of: Restriction
  on property: modifies
  some values from: System Firmware
subclass of: Pre-OS Boot

Component Firmware
type: Class
type: NamedIndividual
attack-id: T1542.002
definition: Adversaries may modify component firmware to persist on systems. Some adversaries may employ sophisticated means to compromise computer components and install malicious firmware that will execute adversary code outside of the operating system and main system firmware or BIOS. This technique may be similar to [System Firmware](https://attack.mitre.org/techniques/T1542/001) but conducted upon other system components/devices that may not have the same capability or level of integrity checking.
modifies: Firmware
subclass of: Restriction
  on property: modifies
  some values from: Firmware
subclass of: Pre-OS Boot

Bootkit
type: Class
type: NamedIndividual
attack-id: T1542.003
definition: Adversaries may use bootkits to persist on systems. Bootkits reside at a layer below the operating system and may make it difficult to perform full remediation unless an organization suspects one was used and can act accordingly.
may-modify: Boot Loader
may-modify: Boot Sector
may-modify: Volume Boot Record
subclass of: Restriction
  on property: may-modify
  some values from: Boot Loader
subclass of: Restriction
  on property: may-modify
  some values from: Boot Sector
subclass of: Restriction
  on property: may-modify
  some values from: Volume Boot Record
subclass of: Pre-OS Boot

ROMMONkit
type: Class
type: NamedIndividual
attack-id: T1542.004
definition: Adversaries may abuse the ROM Monitor (ROMMON) by loading an unauthorized firmware with adversary code to provide persistent access and manipulate device behavior that is difficult to detect. (Citation: Cisco Synful Knock Evolution)(Citation: Cisco Blog Legacy Device Attacks)
modifies: System Firmware
subclass of: Restriction
  on property: modifies
  some values from: System Firmware
subclass of: Pre-OS Boot

TFTP Boot
type: Class
type: NamedIndividual
attack-id: T1542.005
creates: TFTP Network Traffic
definition: Adversaries may abuse netbooting to load an unauthorized network device operating system from a Trivial File Transfer Protocol (TFTP) server. TFTP boot (netbooting) is commonly used by network administrators to load configuration-controlled network device images from a centralized management server. Netbooting is one option in the boot sequence and can be used to centralize, manage, and control device images.
subclass of: Restriction
  on property: creates
  some values from: TFTP Network Traffic
subclass of: Pre-OS Boot

Launch Agent
type: Class
type: NamedIndividual
attack-id: T1543.001
creates: PropertyListFile
definition: Adversaries may create or modify launch agents to repeatedly execute malicious payloads as part of persistence. When a user logs in, a per-user launchd process is started which loads the parameters for each launch-on-demand user agent from the property list (.plist) file found in /System/Library/LaunchAgents, /Library/LaunchAgents, and ~/Library/LaunchAgents.(Citation: AppleDocs Launch Agent Daemons)(Citation: OSX Keydnap malware) (Citation: Antiquated Mac Malware) Property list files use the Label, ProgramArguments , and RunAtLoad keys to identify the Launch Agent's name, executable location, and execution time.(Citation: OSX.Dok Malware) Launch Agents are often installed to perform updates to programs, launch user specified programs at login, or to conduct other developer tasks.
subclass of: Restriction
  on property: creates
  some values from: PropertyListFile
subclass of: Create or Modify System Process

Systemd Service
type: Class
type: NamedIndividual
attack-id: T1543.002
definition: Adversaries may create or modify systemd services to repeatedly execute malicious payloads as part of persistence. Systemd is a system and service manager commonly used for managing background daemon processes (also known as services) and other system resources.(Citation: Linux man-pages: systemd January 2014) Systemd is the default initialization (init) system on many Linux distributions replacing legacy init systems, including SysVinit and Upstart, while remaining backwards compatible.
may-create: OperatingSystemConfigurationFile
may-modify: OperatingSystemConfigurationFile
subclass of: Restriction
  on property: may-create
  some values from: OperatingSystemConfigurationFile
subclass of: Restriction
  on property: may-modify
  some values from: OperatingSystemConfigurationFile
subclass of: Create or Modify System Process

Windows Service
type: Class
type: NamedIndividual
attack-id: T1543.003
definition: Adversaries may create or modify Windows services to repeatedly execute malicious payloads as part of persistence. When Windows boots up, it starts programs or applications called services that perform background system functions.(Citation: TechNet Services) Windows service configuration information, including the file path to the service's executable or recovery programs/commands, is stored in the Windows Registry.
modifies: SystemConfigurationDatabase
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabase
subclass of: Create or Modify System Process

Launch Daemon
type: Class
type: NamedIndividual
attack-id: T1543.004
definition: Adversaries may create or modify Launch Daemons to execute malicious payloads as part of persistence. Launch Daemons are plist files used to interact with Launchd, the service management framework used by macOS. Launch Daemons require elevated privileges to install, are executed for every user on a system prior to login, and run in the background without the need for user interaction. During the macOS initialization startup, the launchd process loads the parameters for launch-on-demand system-level daemons from plist files found in /System/Library/LaunchDaemons/ and /Library/LaunchDaemons/. Required Launch Daemons parameters include a Label to identify the task, Program to provide a path to the executable, and RunAtLoad to specify when the task is run. Launch Daemons are often used to provide access to shared resources, updates to software, or conduct automation tasks.(Citation: AppleDocs Launch Agent Daemons)(Citation: Methods of Mac Malware Persistence)(Citation: launchd Keywords for plists)
modifies: PropertyListFile
subclass of: Restriction
  on property: modifies
  some values from: PropertyListFile
subclass of: Create or Modify System Process

Container Service
type: Class
attack-id: T1543.005
definition: Adversaries may create or modify container or container cluster management tools that run as daemons, agents, or services on individual hosts. These include software for creating and managing individual containers, such as Docker and Podman, as well as container cluster node-level agents such as kubelet. By modifying these services, an adversary may be able to achieve persistence or escalate their privileges on a host.
subclass of: Create or Modify System Process

Change Default File Association
type: Class
type: NamedIndividual
attack-id: T1546.001
definition: Adversaries may establish persistence by executing malicious content triggered by a file type association. When a file is opened, the default program used to open the file (also called the file association or handler) is checked. File association selections are stored in the Windows Registry and can be edited by users, administrators, or programs that have Registry access or by administrators using the built-in assoc utility.(Citation: Microsoft Change Default Programs)(Citation: Microsoft File Handlers)(Citation: Microsoft Assoc Oct 2017) Applications can modify the file association for a given file extension to call an arbitrary program when a file with the given extension is opened.
modifies: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabaseRecord
subclass of: T1546

Screensaver
type: Class
type: NamedIndividual
attack-id: T1546.002
creates: ExecutableFile
definition: Adversaries may establish persistence by executing malicious content triggered by user inactivity. Screensavers are programs that execute after a configurable time of user inactivity and consist of Portable Executable (PE) files with a .scr file extension.(Citation: Wikipedia Screensaver) The Windows screensaver application scrnsave.scr is located in C:\Windows\System32\, and C:\Windows\sysWOW64\ on 64-bit Windows systems, along with screensavers included with base Windows installations.
modifies: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: creates
  some values from: ExecutableFile
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabaseRecord
subclass of: T1546

Windows Management Instrumentation Event Subscription
type: Class
type: NamedIndividual
attack-id: T1546.003
definition: Adversaries may establish persistence and elevate privileges by executing malicious content triggered by a Windows Management Instrumentation (WMI) event subscription. WMI can be used to install event filters, providers, consumers, and bindings that execute code when a defined event occurs. Examples of events that may be subscribed to are the wall clock time, user login, or the computer's uptime.(Citation: Mandiant M-Trends 2015)
modifies: EventLog
produces: IntranetAdministrativeNetworkTraffic
subclass of: Restriction
  on property: modifies
  some values from: EventLog
subclass of: Restriction
  on property: produces
  some values from: IntranetAdministrativeNetworkTraffic
subclass of: T1546

Unix Shell Configuration Modification
type: Class
type: NamedIndividual
attack-id: T1546.004
definition: Adversaries may establish persistence through executing malicious commands triggered by a user’s shell. User [Unix Shell](https://attack.mitre.org/techniques/T1059/004)s execute several configuration scripts at different points throughout the session based on events. For example, when a user opens a command-line interface or remotely logs in (such as via SSH) a login shell is initiated. The login shell executes scripts from the system (/etc) and the user’s home directory (~/) to configure the environment. All login shells on a system use /etc/profile when initiated. These configuration scripts run at the permission level of their directory and are often used to set environment variables, create aliases, and customize the user’s environment. When the shell exits or terminates, additional shell scripts are executed to ensure the shell exits appropriately.
modifies: User Init Configuration File
subclass of: Restriction
  on property: modifies
  some values from: User Init Configuration File
subclass of: T1546

Trap
type: Class
type: NamedIndividual
attack-id: T1546.005
definition: Adversaries may establish persistence by executing malicious content triggered by an interrupt signal. The trap command allows programs and shells to specify commands that will be executed upon receiving interrupt signals. A common situation is a script allowing for graceful termination and handling of common keyboard interrupts like ctrl+c and ctrl+d.
executes: Command
may-create: ExecutableScript
may-modify: ExecutableScript
modifies: EventLog
subclass of: Restriction
  on property: may-modify
  some values from: ExecutableScript
subclass of: Restriction
  on property: may-create
  some values from: ExecutableScript
subclass of: Restriction
  on property: executes
  some values from: Command
subclass of: Restriction
  on property: modifies
  some values from: EventLog
subclass of: T1546

LC_LOAD_DYLIB Addition
type: Class
type: NamedIndividual
attack-id: T1546.006
definition: Adversaries may establish persistence by executing malicious content triggered by the execution of tainted binaries. Mach-O binaries have a series of headers that are used to perform certain operations when a binary is loaded. The LC_LOAD_DYLIB header in a Mach-O binary tells macOS and OS X which dynamic libraries (dylibs) to load during execution time. These can be added ad-hoc to the compiled binary as long as adjustments are made to the rest of the fields and dependencies.(Citation: Writing Bad Malware for OSX) There are tools available to perform these changes.
modifies: ExecutableBinary
subclass of: Restriction
  on property: modifies
  some values from: ExecutableBinary
subclass of: T1546

Netsh Helper DLL
type: Class
type: NamedIndividual
attack-id: T1546.007
definition: Adversaries may establish persistence by executing malicious content triggered by Netsh Helper DLLs. Netsh.exe (also referred to as Netshell) is a command-line scripting utility used to interact with the network configuration of a system. It contains functionality to add helper DLLs for extending functionality of the utility.(Citation: TechNet Netsh) The paths to registered netsh.exe helper DLLs are entered into the Windows Registry at HKLM\SOFTWARE\Microsoft\Netsh.
modifies: SystemConfigurationDatabaseRecord
produces: Process
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: produces
  some values from: Process
subclass of: T1546

Accessibility Features
type: Class
type: NamedIndividual
attack-id: T1546.008
definition: Adversaries may establish persistence and/or elevate privileges by executing malicious content triggered by accessibility features. Windows contains accessibility features that may be launched with a key combination before a user has logged in (ex: when the user is on the Windows logon screen). An adversary can modify the way these programs are launched to get a command prompt or backdoor without logging in to the system.
may-create: IntranetAdministrativeNetworkTraffic
may-modify: ExecutableBinary
may-modify: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: may-modify
  some values from: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: may-modify
  some values from: ExecutableBinary
subclass of: Restriction
  on property: may-create
  some values from: IntranetAdministrativeNetworkTraffic
subclass of: T1546

AppCert DLLs
type: Class
type: NamedIndividual
attack-id: T1546.009
definition: Adversaries may establish persistence and/or elevate privileges by executing malicious content triggered by AppCert DLLs loaded into processes. Dynamic-link libraries (DLLs) that are specified in the AppCertDLLs Registry key under HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\ are loaded into every process that calls the ubiquitously used application programming interface (API) functions CreateProcess, CreateProcessAsUser, CreateProcessWithLoginW, CreateProcessWithTokenW, or WinExec. (Citation: Elastic Process Injection July 2017)
invokes: CreateProcess
loads: SharedLibraryFile
modifies: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: invokes
  some values from: CreateProcess
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: loads
  some values from: SharedLibraryFile
subclass of: T1546

AppInit DLLs
type: Class
type: NamedIndividual
attack-id: T1546.010
definition: Adversaries may establish persistence and/or elevate privileges by executing malicious content triggered by AppInit DLLs loaded into processes. Dynamic-link libraries (DLLs) that are specified in the AppInit_DLLs value in the Registry keys HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows or HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows are loaded by user32.dll into every process that loads user32.dll. In practice this is nearly every program, since user32.dll is a very common library. (Citation: Elastic Process Injection July 2017)
invokes: CreateProcess
loads: SharedLibraryFile
modifies: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: invokes
  some values from: CreateProcess
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: loads
  some values from: SharedLibraryFile
subclass of: T1546

Application Shimming
type: Class
type: NamedIndividual
attack-id: T1546.011
creates: Shim
definition: Adversaries may establish persistence and/or elevate privileges by executing malicious content triggered by application shims. The Microsoft Windows Application Compatibility Infrastructure/Framework (Application Shim) was created to allow for backward compatibility of software as the operating system codebase changes over time. For example, the application shimming feature allows developers to apply fixes to applications (without rewriting code) that were created for Windows XP so that it will work with Windows 10. (Citation: Elastic Process Injection July 2017)
modifies: Shim Database
subclass of: Restriction
  on property: modifies
  some values from: Shim Database
subclass of: Restriction
  on property: creates
  some values from: Shim
subclass of: T1546

Image File Execution Options Injection
type: Class
type: NamedIndividual
attack-id: T1546.012
definition: Adversaries may establish persistence and/or elevate privileges by executing malicious content triggered by Image File Execution Options (IFEO) debuggers. IFEOs enable a developer to attach a debugger to an application. When a process is created, a debugger present in an application’s IFEO will be prepended to the application’s name, effectively launching the new process under the debugger (e.g., C:\dbg\ntsd.exe -g notepad.exe). (Citation: Microsoft Dev Blog IFEO Mar 2010)
modifies: SystemConfigurationDatabase
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabase
subclass of: T1546

PowerShell Profile
type: Class
type: NamedIndividual
attack-id: T1546.013
definition: Adversaries may gain persistence and elevate privileges by executing malicious content triggered by PowerShell profiles. A PowerShell profile (profile.ps1) is a script that runs when [PowerShell](https://attack.mitre.org/techniques/T1059/001) starts and can be used as a logon script to customize user environments.
modifies: PowerShell Profile Script
subclass of: Restriction
  on property: modifies
  some values from: PowerShell Profile Script
subclass of: T1546

Emond
type: Class
type: NamedIndividual
attack-id: T1546.014
definition: Adversaries may gain persistence and elevate privileges by executing malicious content triggered by the Event Monitor Daemon (emond). Emond is a [Launch Daemon](https://attack.mitre.org/techniques/T1543/004) that accepts events from various services, runs them through a simple rules engine, and takes action. The emond binary at /sbin/emond will load any rules from the /etc/emond.d/rules/ directory and take action once an explicitly defined event takes place.
may-create: PropertyListFile
may-modify: PropertyListFile
modifies: ConfigurationResource
subclass of: Restriction
  on property: may-create
  some values from: PropertyListFile
subclass of: Restriction
  on property: modifies
  some values from: ConfigurationResource
subclass of: Restriction
  on property: may-modify
  some values from: PropertyListFile
subclass of: T1546

Component Object Model Hijacking
type: Class
type: NamedIndividual
attack-id: T1546.015
definition: Adversaries may establish persistence by executing malicious content triggered by hijacked references to Component Object Model (COM) objects. COM is a system within Windows to enable interaction between software components through the operating system.(Citation: Microsoft Component Object Model) References to various COM objects are stored in the Registry.
loads: ExecutableBinary
modifies: SystemConfigurationDatabase
subclass of: Restriction
  on property: loads
  some values from: ExecutableBinary
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabase
subclass of: T1546

Installer Packages
type: Class
attack-id: T1546.016
definition: Adversaries may establish persistence and elevate privileges by using an installer to trigger the execution of malicious content. Installer packages are OS specific and contain the resources an operating system needs to install applications on a system. Installer packages can include scripts that run prior to installation as well as after installation is complete. Installer scripts may inherit elevated permissions when executed. Developers often use these scripts to prepare the environment for installation, check requirements, download dependencies, and remove files after installation.(Citation: Installer Package Scripting Rich Trouton)
subclass of: T1546

Registry Run Keys / Startup Folder
type: Class
type: NamedIndividual
attack-id: T1547.001
definition: Adversaries may achieve persistence by adding a program to a startup folder or referencing it with a Registry run key. Adding an entry to the "run keys" in the Registry or startup folder will cause the program referenced to be executed when a user logs in.(Citation: Microsoft Run Key) These programs will be executed under the context of the user and will have the account's associated permissions level.
may-modify: System Configuration Init Database Record
may-modify: User Startup Script File
subclass of: Restriction
  on property: may-modify
  some values from: System Configuration Init Database Record
subclass of: Restriction
  on property: may-modify
  some values from: User Startup Script File
subclass of: T1547

Authentication Package
type: Class
type: NamedIndividual
attack-id: T1547.002
definition: Adversaries may abuse authentication packages to execute DLLs when the system boots. Windows authentication package DLLs are loaded by the Local Security Authority (LSA) process at system start. They provide support for multiple logon processes and multiple security protocols to the operating system.(Citation: MSDN Authentication Packages)
modifies: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabaseRecord
subclass of: T1547

Time Providers
type: Class
type: NamedIndividual
attack-id: T1547.003
definition: Adversaries may abuse time providers to execute DLLs when the system boots. The Windows Time service (W32Time) enables time synchronization across and within domains.(Citation: Microsoft W32Time Feb 2018) W32Time time providers are responsible for retrieving time stamps from hardware/network resources and outputting these values to other network clients.(Citation: Microsoft TimeProvider)
modifies: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabaseRecord
subclass of: T1547

Winlogon Helper DLL
type: Class
type: NamedIndividual
attack-id: T1547.004
definition: Adversaries may abuse features of Winlogon to execute DLLs and/or executables when a user logs in. Winlogon.exe is a Windows component responsible for actions at logon/logoff as well as the secure attention sequence (SAS) triggered by Ctrl-Alt-Delete. Registry entries in HKLM\Software[\\Wow6432Node\\]\Microsoft\Windows NT\CurrentVersion\Winlogon\ and HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ are used to manage additional helper programs and functionalities that support Winlogon.(Citation: Cylance Reg Persistence Sept 2013)
modifies: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabaseRecord
subclass of: T1547

Security Support Provider
type: Class
type: NamedIndividual
attack-id: T1547.005
definition: Adversaries may abuse security support providers (SSPs) to execute DLLs when the system boots. Windows SSP DLLs are loaded into the Local Security Authority (LSA) process at system start. Once loaded into the LSA, SSP DLLs have access to encrypted and plaintext passwords that are stored in Windows, such as any logged-on user's Domain password or smart card PINs.
modifies: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabaseRecord
subclass of: T1547

Kernel Modules and Extensions
type: Class
type: NamedIndividual
attack-id: T1547.006
definition: Adversaries may modify the kernel to automatically execute programs on system boot. Loadable Kernel Modules (LKMs) are pieces of code that can be loaded and unloaded into the kernel upon demand. They extend the functionality of the kernel without the need to reboot the system. For example, one type of module is the device driver, which allows the kernel to access hardware connected to the system.(Citation: Linux Kernel Programming)
modifies: Kernel Module
subclass of: Restriction
  on property: modifies
  some values from: Kernel Module
subclass of: T1547

Re-opened Applications
type: Class
type: NamedIndividual
attack-id: T1547.007
definition: Adversaries may modify plist files to automatically run an application when a user logs in. When a user logs out or restarts via the macOS Graphical User Interface (GUI), a prompt is provided to the user with a checkbox to "Reopen windows when logging back in".(Citation: Re-Open windows on Mac) When selected, all applications currently open are added to a property list file named com.apple.loginwindow.[UUID].plist within the ~/Library/Preferences/ByHost directory.(Citation: Methods of Mac Malware Persistence)(Citation: Wardle Persistence Chapter) Applications listed in this file are automatically reopened upon the user’s next logon.
modifies: Application Configuration File
subclass of: Restriction
  on property: modifies
  some values from: Application Configuration File
subclass of: T1547

LSASS Driver
type: Class
type: NamedIndividual
attack-id: T1547.008
definition: Adversaries may modify or add LSASS drivers to obtain persistence on compromised systems. The Windows security subsystem is a set of components that manage and enforce the security policy for a computer or domain. The Local Security Authority (LSA) is the main component responsible for local security policy and user authentication. The LSA includes multiple dynamic link libraries (DLLs) associated with various other security functions, all of which run in the context of the LSA Subsystem Service (LSASS) lsass.exe process.(Citation: Microsoft Security Subsystem)
may-create: SharedLibraryFile
modifies: System Service Software
subclass of: Restriction
  on property: modifies
  some values from: System Service Software
subclass of: Restriction
  on property: may-create
  some values from: SharedLibraryFile
subclass of: T1547

Shortcut Modification
type: Class
type: NamedIndividual
attack-id: T1547.009
definition: Adversaries may create or modify shortcuts that can execute a program during system boot or user login. Shortcuts or symbolic links are used to reference other files or programs that will be opened or executed when the shortcut is clicked or executed by a system startup process.
may-modify: Symbolic Link
may-modify: User Startup Script File
subclass of: Restriction
  on property: may-modify
  some values from: User Startup Script File
subclass of: Restriction
  on property: may-modify
  some values from: Symbolic Link
subclass of: T1547

Port Monitors
type: Class
type: NamedIndividual
attack-id: T1547.010
definition: Adversaries may use port monitors to run an adversary supplied DLL during system boot for persistence or privilege escalation. A port monitor can be set through the AddMonitor API call to set a DLL to be loaded at startup.(Citation: AddMonitor) This DLL can be located in C:\Windows\System32 and will be loaded and run by the print spooler service, `spoolsv.exe`, under SYSTEM level permissions on boot.(Citation: Bloxham)
modifies: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabaseRecord
subclass of: T1547

Plist Modification
type: Class
type: NamedIndividual
attack-id: T1547.011
definition: Adversaries can modify property list files (plist files) to execute their code as part of establishing persistence. Plist files are used by macOS applications to store properties and configuration settings for applications and services. Applications use information plist files, Info.plist, to tell the operating system how to handle the application at runtime using structured metadata in the form of keys and values. Plist files are formatted in XML and based on Apple's Core Foundation DTD and can be saved in text or binary format.(Citation: fileinfo plist file description)
modifies: Application Configuration File
comment: This technique has been revoked by T1647
subclass of: Restriction
  on property: modifies
  some values from: Application Configuration File
subclass of: T1547
deprecated: true

Print Processors
type: Class
attack-id: T1547.012
definition: Adversaries may abuse print processors to run malicious DLLs during system boot for persistence and/or privilege escalation. Print processors are DLLs that are loaded by the print spooler service, `spoolsv.exe`, during boot.(Citation: Microsoft Intro Print Processors)
subclass of: T1547

XDG Autostart Entries
type: Class
attack-id: T1547.013
definition: Adversaries may add or modify XDG Autostart Entries to execute malicious programs or commands when a user’s desktop environment is loaded at login. XDG Autostart entries are available for any XDG-compliant Linux system. XDG Autostart entries use Desktop Entry files (`.desktop`) to configure the user’s desktop environment upon user login. These configuration files determine what applications launch upon user login, define associated applications to open specific file types, and define applications used to open removable media.(Citation: Free Desktop Application Autostart Feb 2006)(Citation: Free Desktop Entry Keys)
subclass of: T1547

Active Setup
type: Class
attack-id: T1547.014
definition: Adversaries may achieve persistence by adding a Registry key to the Active Setup of the local machine. Active Setup is a Windows mechanism that is used to execute programs when a user logs in. The value stored in the Registry key will be executed after a user logs into the computer.(Citation: Klein Active Setup 2010) These programs will be executed under the context of the user and will have the account's associated permissions level.
subclass of: T1547

Login Items
type: Class
type: NamedIndividual
attack-id: T1547.015
definition: Adversaries may add login items to execute upon user login to gain persistence or escalate privileges. Login items are applications, documents, folders, or server connections that are automatically launched when a user logs in.(Citation: Open Login Items Apple) Login items can be added via a shared file list or Service Management Framework.(Citation: Adding Login Items) Shared file list login items can be set using scripting languages such as [AppleScript](https://attack.mitre.org/techniques/T1059/002), whereas the Service Management Framework uses the API call SMLoginItemSetEnabled.
modifies: User Logon Init Resource
subclass of: Restriction
  on property: modifies
  some values from: User Logon Init Resource
subclass of: T1547

Setuid and Setgid
type: Class
type: NamedIndividual
attack-id: T1548.001
definition: An adversary may abuse configurations where an application has the setuid or setgid bits set in order to get code running in a different (and possibly more privileged) user’s context. On Linux or macOS, when the setuid or setgid bits are set for an application binary, the application will run with the privileges of the owning user or group respectively.(Citation: setuid man page) Normally an application is run in the current user’s context, regardless of which user or group owns the application. However, there are instances where programs need to be executed in an elevated context to function properly, but the user running them may not have the specific required privileges.
modifies: AccessControlConfiguration
subclass of: Restriction
  on property: modifies
  some values from: AccessControlConfiguration
subclass of: Abuse Elevation Control Mechanism

Bypass User Account Control
type: Class
type: NamedIndividual
attack-id: T1548.002
definition: Adversaries may bypass UAC mechanisms to elevate process privileges on system. Windows User Account Control (UAC) allows a program to elevate its privileges (tracked as integrity levels ranging from low to high) to perform a task under administrator-level permissions, possibly by prompting the user for confirmation. The impact to the user ranges from denying the operation under high enforcement to allowing the user to perform the action if they are in the local administrators group and click through the prompt or allowing them to enter an administrator password to complete the action.(Citation: TechNet How UAC Works)
executes: ExecutableFile
invokes: CreateProcess
may-modify: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: invokes
  some values from: CreateProcess
subclass of: Restriction
  on property: may-modify
  some values from: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: executes
  some values from: ExecutableFile
subclass of: Abuse Elevation Control Mechanism

Sudo and Sudo Caching
type: Class
type: NamedIndividual
attack-id: T1548.003
definition: Adversaries may perform sudo caching and/or use the sudoers file to elevate privileges. Adversaries may do this to execute commands as other users or spawn processes with higher privileges.
may-modify: EventLog
modifies: OperatingSystemConfigurationFile
subclass of: Restriction
  on property: may-modify
  some values from: EventLog
subclass of: Restriction
  on property: modifies
  some values from: OperatingSystemConfigurationFile
subclass of: Abuse Elevation Control Mechanism

Elevated Execution with Prompt
type: Class
type: NamedIndividual
attack-id: T1548.004
creates: SystemConfigurationDatabase
definition: Adversaries may leverage the AuthorizationExecuteWithPrivileges API to escalate privileges by prompting the user for credentials.(Citation: AppleDocs AuthorizationExecuteWithPrivileges) The purpose of this API is to give application developers an easy way to perform operations with root privileges, such as for application installation or updating. This API does not validate that the program requesting root privileges comes from a reputable source or has been maliciously modified.
invokes: SystemCall
subclass of: Restriction
  on property: invokes
  some values from: SystemCall
subclass of: Restriction
  on property: creates
  some values from: SystemConfigurationDatabase
subclass of: Abuse Elevation Control Mechanism

Temporary Elevated Cloud Access
type: Class
attack-id: T1548.005
definition: Adversaries may abuse permission configurations that allow them to gain temporarily elevated access to cloud resources. Many cloud environments allow administrators to grant user or service accounts permission to request just-in-time access to roles, impersonate other accounts, pass roles onto resources and services, or otherwise gain short-term access to a set of privileges that may be distinct from their own.
subclass of: Abuse Elevation Control Mechanism

TCC Manipulation
type: Class
attack-id: T1548.006
definition: Adversaries can manipulate or abuse the Transparency, Consent, & Control (TCC) service or database to execute malicious applications with elevated permissions. TCC is a Privacy & Security macOS control mechanism used to determine if the running process has permission to access the data or services protected by TCC, such as screen sharing, camera, microphone, or Full Disk Access (FDA).
subclass of: Abuse Elevation Control Mechanism

Application Access Token
type: Class
type: NamedIndividual
attack-id: T1550.001
definition: Adversaries may use stolen application access tokens to bypass the typical authentication process and access restricted accounts, information, or services on remote systems. These tokens are typically stolen from users or services and used in lieu of login credentials.
may-produce: NetworkTraffic
uses: AccessToken
subclass of: Restriction
  on property: may-produce
  some values from: NetworkTraffic
subclass of: Restriction
  on property: uses
  some values from: AccessToken
subclass of: Use Alternate Authentication Material

Pass the Hash
type: Class
type: NamedIndividual
attack-id: T1550.002
creates: Authentication
definition: Adversaries may “pass the hash” using stolen password hashes to move laterally within an environment, bypassing normal system access controls. Pass the hash (PtH) is a method of authenticating as a user without having access to the user's cleartext password. This method bypasses standard authentication steps that require a cleartext password, moving directly into the portion of the authentication that uses the password hash.
subclass of: Restriction
  on property: creates
  some values from: Authentication
subclass of: Use Alternate Authentication Material

Pass the Ticket
type: Class
type: NamedIndividual
attack-id: T1550.003
creates: Authentication
definition: Adversaries may “pass the ticket” using stolen Kerberos tickets to move laterally within an environment, bypassing normal system access controls. Pass the ticket (PtT) is a method of authenticating to a system using Kerberos tickets without having access to an account's password. Kerberos authentication can be used as the first step to lateral movement to a remote system.
subclass of: Restriction
  on property: creates
  some values from: Authentication
subclass of: Use Alternate Authentication Material

Web Session Cookie
type: Class
type: NamedIndividual
adds: Session Cookie
attack-id: T1550.004
definition: Adversaries can use stolen session cookies to authenticate to web applications and services. This technique bypasses some multi-factor authentication protocols since the session is already authenticated.(Citation: Pass The Cookie)
produces: Web Network Traffic
subclass of: Restriction
  on property: produces
  some values from: Web Network Traffic
subclass of: Restriction
  on property: adds
  some values from: Session Cookie
subclass of: Use Alternate Authentication Material

Credentials In Files
type: Class
type: NamedIndividual
accesses: File
attack-id: T1552.001
definition: Adversaries may search local file systems and remote file shares for files containing insecurely stored credentials. These can be files created by users to store their own credentials, shared credential stores for a group of individuals, configuration files containing passwords for a system or service, or source code/binary files containing embedded passwords.
subclass of: Restriction
  on property: accesses
  some values from: File
subclass of: Unsecured Credentials

Credentials in Registry
type: Class
type: NamedIndividual
accesses: SystemConfigurationDatabase
attack-id: T1552.002
definition: Adversaries may search the Registry on compromised systems for insecurely stored credentials. The Windows Registry stores configuration information that can be used by the system or other programs. Adversaries may query the Registry looking for credentials and passwords that have been stored for use by other programs or services. Sometimes these credentials are used for automatic logons.
subclass of: Restriction
  on property: accesses
  some values from: SystemConfigurationDatabase
subclass of: Unsecured Credentials

Bash History
type: Class
type: NamedIndividual
accesses: Command History Log File
attack-id: T1552.003
definition: Adversaries may search the bash command history on compromised systems for insecurely stored credentials. Bash keeps track of the commands users type on the command-line with the "history" utility. Once a user logs out, the history is flushed to the user’s .bash_history file. For each user, this file resides at the same location: ~/.bash_history. Typically, this file keeps track of the user’s last 500 commands. Users often type usernames and passwords on the command-line as parameters to programs, which then get saved to this file when they log out. Adversaries can abuse this by looking through the file for potential credentials. (Citation: External to DA, the OS X Way)
subclass of: Restriction
  on property: accesses
  some values from: Command History Log File
subclass of: Unsecured Credentials

Private Keys
type: Class
type: NamedIndividual
accesses: Private Key
attack-id: T1552.004
definition: Adversaries may search for private key certificate files on compromised systems for insecurely stored credentials. Private cryptographic keys and certificates are used for authentication, encryption/decryption, and digital signatures.(Citation: Wikipedia Public Key Crypto) Common key and certificate file extensions include: .key, .pgp, .gpg, .ppk., .p12, .pem, .pfx, .cer, .p7b, .asc.
subclass of: Restriction
  on property: accesses
  some values from: Private Key
subclass of: Unsecured Credentials

Cloud Instance Metadata API
type: Class
type: NamedIndividual
accesses: Cloud Instance Metadata
attack-id: T1552.005
definition: Adversaries may attempt to access the Cloud Instance Metadata API to collect credentials and other sensitive data.
subclass of: Restriction
  on property: accesses
  some values from: Cloud Instance Metadata
subclass of: Unsecured Credentials

Group Policy Preferences
type: Class
type: NamedIndividual
accesses: Group Policy
attack-id: T1552.006
definition: Adversaries may attempt to find unsecured credentials in Group Policy Preferences (GPP). GPP are tools that allow administrators to create domain policies with embedded credentials. These policies allow administrators to set local accounts.(Citation: Microsoft GPP 2016)
subclass of: Restriction
  on property: accesses
  some values from: Group Policy
subclass of: Unsecured Credentials

Container API
type: Class
attack-id: T1552.007
definition: Adversaries may gather credentials via APIs within a containers environment. APIs in these environments, such as the Docker API and Kubernetes APIs, allow a user to remotely manage their container resources and cluster components.(Citation: Docker API)(Citation: Kubernetes API)
subclass of: Unsecured Credentials

Chat Messages
type: Class
attack-id: T1552.008
definition: Adversaries may directly collect unsecured credentials stored or passed through user communication services. Credentials may be sent and stored in user chat communication applications such as email, chat services like Slack or Teams, collaboration tools like Jira or Trello, and any other services that support user communication. Users may share various forms of credentials (such as usernames and passwords, API keys, or authentication tokens) on private or public corporate internal communications channels.
subclass of: Unsecured Credentials

Gatekeeper Bypass
type: Class
type: NamedIndividual
attack-id: T1553.001
definition: Adversaries may modify file attributes and subvert Gatekeeper functionality to evade user prompts and execute untrusted programs. Gatekeeper is a set of technologies that act as layer of Apple’s security model to ensure only trusted applications are executed on a host. Gatekeeper was built on top of File Quarantine in Snow Leopard (10.6, 2009) and has grown to include Code Signing, security policy compliance, Notarization, and more. Gatekeeper also treats applications running for the first time differently than reopened applications.(Citation: TheEclecticLightCompany Quarantine and the flag)(Citation: TheEclecticLightCompany apple notarization )
modifies: FileSystemMetadata
subclass of: Restriction
  on property: modifies
  some values from: FileSystemMetadata
subclass of: Subvert Trust Controls

Code Signing
type: Class
type: NamedIndividual
attack-id: T1553.002
definition: Adversaries may create, acquire, or steal code signing materials to sign their malware or tools. Code signing provides a level of authenticity on a binary from the developer and a guarantee that the binary has not been tampered with. (Citation: Wikipedia Code Signing) The certificates used during an operation may be created, acquired, or stolen by the adversary. (Citation: Securelist Digital Certificates) (Citation: Symantec Digital Certificates) Unlike [Invalid Code Signature](https://attack.mitre.org/techniques/T1036/001), this activity will result in a valid signature.
enables: Defense Evasion
subclass of: Restriction
  on property: enables
  some values from: Defense Evasion
subclass of: Subvert Trust Controls

SIP and Trust Provider Hijacking
type: Class
type: NamedIndividual
attack-id: T1553.003
definition: Adversaries may tamper with SIP and trust provider components to mislead the operating system and application control tools when conducting signature validation checks. In user mode, Windows Authenticode (Citation: Microsoft Authenticode) digital signatures are used to verify a file's origin and integrity, variables that may be used to establish trust in signed code (ex: a driver with a valid Microsoft signature may be handled as safe). The signature validation process is handled via the WinVerifyTrust application programming interface (API) function, (Citation: Microsoft WinVerifyTrust) which accepts an inquiry and coordinates with the appropriate trust provider, which is responsible for validating parameters of a signature. (Citation: SpectorOps Subverting Trust Sept 2017)
modifies: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabaseRecord
subclass of: Subvert Trust Controls

Install Root Certificate
type: Class
type: NamedIndividual
attack-id: T1553.004
definition: Adversaries may install a root certificate on a compromised system to avoid warnings when connecting to adversary controlled web servers. Root certificates are used in public key cryptography to identify a root certificate authority (CA). When a root certificate is installed, the system or application will trust certificates in the root's chain of trust that have been signed by the root certificate.(Citation: Wikipedia Root Certificate) Certificates are commonly used for establishing secure TLS/SSL communications within a web browser. When a user attempts to browse a website that presents a certificate that is not trusted an error message will be displayed to warn the user of the security risk. Depending on the security settings, the browser may not allow the user to establish a connection to the website.
modifies: Certificate Trust Store
subclass of: Restriction
  on property: modifies
  some values from: Certificate Trust Store
subclass of: Subvert Trust Controls

Mark-of-the-Web Bypass
type: Class
attack-id: T1553.005
definition: Adversaries may abuse specific file formats to subvert Mark-of-the-Web (MOTW) controls. In Windows, when files are downloaded from the Internet, they are tagged with a hidden NTFS Alternate Data Stream (ADS) named Zone.Identifier with a specific value known as the MOTW.(Citation: Microsoft Zone.Identifier 2020) Files that are tagged with MOTW are protected and cannot perform certain actions. For example, starting in MS Office 10, if a MS Office file has the MOTW, it will open in Protected View. Executables tagged with the MOTW will be processed by Windows Defender SmartScreen that compares files with an allowlist of well-known executables. If the file is not known/trusted, SmartScreen will prevent the execution and warn the user not to run it.(Citation: Beek Use of VHD Dec 2020)(Citation: Outflank MotW 2020)(Citation: Intezer Russian APT Dec 2020)
subclass of: Subvert Trust Controls

Code Signing Policy Modification
type: Class
attack-id: T1553.006
definition: Adversaries may modify code signing policies to enable execution of unsigned or self-signed code. Code signing provides a level of authenticity on a program from a developer and a guarantee that the program has not been tampered with. Security controls can include enforcement mechanisms to ensure that only valid, signed code can be run on an operating system.
subclass of: Subvert Trust Controls

Keychain
type: Class
type: NamedIndividual
accesses: MacOS Keychain
attack-id: T1555.001
definition: Adversaries may acquire credentials from Keychain. Keychain (or Keychain Services) is the macOS credential management system that stores account names, passwords, private keys, certificates, sensitive application data, payment data, and secure notes. There are three types of Keychains: Login Keychain, System Keychain, and Local Items (iCloud) Keychain. The default Keychain is the Login Keychain, which stores user passwords and information. The System Keychain stores items accessed by the operating system, such as items shared among users on a host. The Local Items (iCloud) Keychain is used for items synced with Apple’s iCloud service.
subclass of: Restriction
  on property: accesses
  some values from: MacOS Keychain
subclass of: Credentials from Password Stores

Securityd Memory
type: Class
type: NamedIndividual
accesses: In-memory Password Store
attack-id: T1555.002
definition: An adversary with root access may gather credentials by reading `securityd`’s memory. `securityd` is a service/daemon responsible for implementing security protocols such as encryption and authorization.(Citation: Apple Dev SecurityD) A privileged adversary may be able to scan through `securityd`'s memory to find the correct sequence of keys to decrypt the user’s logon keychain. This may provide the adversary with various plaintext passwords, such as those for users, WiFi, mail, browsers, certificates, secure notes, etc.(Citation: OS X Keychain)(Citation: OSX Keydnap malware)
subclass of: Restriction
  on property: accesses
  some values from: In-memory Password Store
subclass of: Credentials from Password Stores

Credentials from Web Browsers
type: Class
type: NamedIndividual
accesses: Database File
attack-id: T1555.003
definition: Adversaries may acquire credentials from web browsers by reading files specific to the target browser.(Citation: Talos Olympic Destroyer 2018) Web browsers commonly save credentials such as website usernames and passwords so that they do not need to be entered manually in the future. Web browsers typically store the credentials in an encrypted format within a credential store; however, methods exist to extract plaintext credentials from web browsers.
may-access: In-memory Password Store
may-invoke: Read File
subclass of: Restriction
  on property: may-access
  some values from: In-memory Password Store
subclass of: Restriction
  on property: accesses
  some values from: Database File
subclass of: Restriction
  on property: may-invoke
  some values from: Read File
subclass of: Credentials from Password Stores

Windows Credential Manager
type: Class
attack-id: T1555.004
definition: Adversaries may acquire credentials from the Windows Credential Manager. The Credential Manager stores credentials for signing into websites, applications, and/or devices that request authentication through NTLM or Kerberos in Credential Lockers (previously known as Windows Vaults).(Citation: Microsoft Credential Manager store)(Citation: Microsoft Credential Locker)
subclass of: Credentials from Password Stores

Password Managers
type: Class
attack-id: T1555.005
definition: Adversaries may acquire user credentials from third-party password managers.(Citation: ise Password Manager February 2019) Password managers are applications designed to store user credentials, normally in an encrypted database. Credentials are typically accessible after a user provides a master password that unlocks the database. After the database is unlocked, these credentials may be copied to memory. These databases can be stored as files on disk.(Citation: ise Password Manager February 2019)
subclass of: Credentials from Password Stores

Cloud Secrets Management Stores
type: Class
attack-id: T1555.006
definition: Adversaries may acquire credentials from cloud-native secret management solutions such as AWS Secrets Manager, GCP Secret Manager, Azure Key Vault, and Terraform Vault.
subclass of: Credentials from Password Stores

Domain Controller Authentication
type: Class
attack-id: T1556.001
definition: Adversaries may patch the authentication process on a domain controller to bypass the typical authentication mechanisms and enable access to accounts.
subclass of: Modify Authentication Process

Password Filter DLL
type: Class
type: NamedIndividual
attack-id: T1556.002
creates: SharedLibraryFile
definition: Adversaries may register malicious password filter dynamic link libraries (DLLs) into the authentication process to acquire user credentials as they are validated.
modifies: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: creates
  some values from: SharedLibraryFile
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabaseRecord
subclass of: Modify Authentication Process

Pluggable Authentication Modules
type: Class
type: NamedIndividual
attack-id: T1556.003
definition: Adversaries may modify pluggable authentication modules (PAM) to access user credentials or enable otherwise unwarranted access to accounts. PAM is a modular system of configuration files, libraries, and executable files which guide authentication for many services. The most common authentication module is pam_unix.so, which retrieves, sets, and verifies account authentication information in /etc/passwd and /etc/shadow.(Citation: Apple PAM)(Citation: Man Pam_Unix)(Citation: Red Hat PAM)
may-modify: OperatingSystemConfigurationFile
may-modify: Operating System Shared Library File
subclass of: Restriction
  on property: may-modify
  some values from: Operating System Shared Library File
subclass of: Restriction
  on property: may-modify
  some values from: OperatingSystemConfigurationFile
subclass of: Modify Authentication Process

Network Device Authentication
type: Class
attack-id: T1556.004
definition: Adversaries may use [Patch System Image](https://attack.mitre.org/techniques/T1601/001) to hard code a password in the operating system, thus bypassing of native authentication mechanisms for local accounts on network devices.
subclass of: Modify Authentication Process

Reversible Encryption
type: Class
attack-id: T1556.005
definition: An adversary may abuse Active Directory authentication encryption properties to gain access to credentials on Windows systems. The AllowReversiblePasswordEncryption property specifies whether reversible password encryption for an account is enabled or disabled. By default this property is disabled (instead storing user credentials as the output of one-way hashing functions) and should not be enabled unless legacy or other software require it.(Citation: store_pwd_rev_enc)
subclass of: Modify Authentication Process

Multi-Factor Authentication
type: Class
attack-id: T1556.006
definition: Adversaries may disable or modify multi-factor authentication (MFA) mechanisms to enable persistent access to compromised accounts.
subclass of: Modify Authentication Process

Hybrid Identity
type: Class
attack-id: T1556.007
definition: Adversaries may patch, modify, or otherwise backdoor cloud authentication processes that are tied to on-premises user identities in order to bypass typical authentication mechanisms, access credentials, and enable persistent access to accounts.
subclass of: Modify Authentication Process

Network Provider DLL
type: Class
attack-id: T1556.008
definition: Adversaries may register malicious network provider dynamic link libraries (DLLs) to capture cleartext user credentials during the authentication process. Network provider DLLs allow Windows to interface with specific network protocols and can also support add-on credential management functions.(Citation: Network Provider API) During the logon process, Winlogon (the interactive logon module) sends credentials to the local `mpnotify.exe` process via RPC. The `mpnotify.exe` process then shares the credentials in cleartext with registered credential managers when notifying that a logon event is happening.(Citation: NPPSPY - Huntress)(Citation: NPPSPY Video)(Citation: NPLogonNotify)
subclass of: Modify Authentication Process

Conditional Access Policies
type: Class
attack-id: T1556.009
definition: Adversaries may disable or modify conditional access policies to enable persistent access to compromised accounts. Conditional access policies are additional verifications used by identity providers and identity and access management systems to determine whether a user should be granted access to a resource.
subclass of: Modify Authentication Process

LLMNR/NBT-NS Poisoning and SMB Relay
type: Class
type: NamedIndividual
attack-id: T1557.001
definition: By responding to LLMNR/NBT-NS network traffic, adversaries may spoof an authoritative source for name resolution to force communication with an adversary controlled system. This activity may be used to collect or relay authentication materials.
produces: Intranet Multicast Network Traffic
subclass of: Restriction
  on property: produces
  some values from: Intranet Multicast Network Traffic
subclass of: Adversary-in-the-Middle

ARP Cache Poisoning
type: Class
attack-id: T1557.002
definition: Adversaries may poison Address Resolution Protocol (ARP) caches to position themselves between the communication of two or more networked devices. This activity may be used to enable follow-on behaviors such as [Network Sniffing](https://attack.mitre.org/techniques/T1040) or [Transmitted Data Manipulation](https://attack.mitre.org/techniques/T1565/002).
subclass of: Adversary-in-the-Middle

DHCP Spoofing
type: Class
type: NamedIndividual
attack-id: T1557.003
creates: DHCP Network Traffic
definition: Adversaries may redirect network traffic to adversary-owned systems by spoofing Dynamic Host Configuration Protocol (DHCP) traffic and acting as a malicious DHCP server on the victim network. By achieving the adversary-in-the-middle (AiTM) position, adversaries may collect network communications, including passed credentials, especially those sent over insecure, unencrypted protocols. This may also enable follow-on behaviors such as [Network Sniffing](https://attack.mitre.org/techniques/T1040) or [Transmitted Data Manipulation](https://attack.mitre.org/techniques/T1565/002).
subclass of: Restriction
  on property: creates
  some values from: DHCP Network Traffic
subclass of: Adversary-in-the-Middle

Golden Ticket
type: Class
type: NamedIndividual
attack-id: T1558.001
definition: Adversaries who have the KRBTGT account password hash may forge Kerberos ticket-granting tickets (TGT), also known as a golden ticket.(Citation: AdSecurity Kerberos GT Aug 2015) Golden tickets enable adversaries to generate authentication material for any account in Active Directory.(Citation: CERT-EU Golden Ticket Protection)
forges: Kerberos Ticket Granting Ticket
subclass of: Restriction
  on property: forges
  some values from: Kerberos Ticket Granting Ticket
subclass of: Steal or Forge Kerberos Tickets

Silver Ticket
type: Class
attack-id: T1558.002
definition: Adversaries who have the password hash of a target service account (e.g. SharePoint, MSSQL) may forge Kerberos ticket granting service (TGS) tickets, also known as silver tickets. Kerberos TGS tickets are also known as service tickets.(Citation: ADSecurity Silver Tickets)
subclass of: Steal or Forge Kerberos Tickets

Kerberoasting
type: Class
type: NamedIndividual
attack-id: T1558.003
definition: Service Provider Name (SPN) scanning is one way to gather hashes, which results in RPC calls conforming to the NSPI protocol.
may-produce: RPC Network Traffic
subclass of: Restriction
  on property: may-produce
  some values from: RPC Network Traffic
subclass of: Steal or Forge Kerberos Tickets

AS-REP Roasting
type: Class
attack-id: T1558.004
definition: Adversaries may reveal credentials of accounts that have disabled Kerberos preauthentication by [Password Cracking](https://attack.mitre.org/techniques/T1110/002) Kerberos messages.(Citation: Harmj0y Roasting AS-REPs Jan 2017)
subclass of: Steal or Forge Kerberos Tickets

Component Object Model
type: Class
attack-id: T1559.001
definition: Adversaries may use the Windows Component Object Model (COM) for local code execution. COM is an inter-process communication (IPC) component of the native Windows application programming interface (API) that enables interaction between software objects, or executable code that implements one or more interfaces.(Citation: Fireeye Hunting COM June 2019) Through COM, a client object can call methods of server objects, which are typically binary Dynamic Link Libraries (DLL) or executables (EXE).(Citation: Microsoft COM) Remote COM execution is facilitated by [Remote Services](https://attack.mitre.org/techniques/T1021) such as [Distributed Component Object Model](https://attack.mitre.org/techniques/T1021/003) (DCOM).(Citation: Fireeye Hunting COM June 2019)
subclass of: Inter-Process Communication

Dynamic Data Exchange
type: Class
attack-id: T1559.002
definition: Adversaries may use Windows Dynamic Data Exchange (DDE) to execute arbitrary commands. DDE is a client-server protocol for one-time and/or continuous inter-process communication (IPC) between applications. Once a link is established, applications can autonomously exchange transactions consisting of strings, warm data links (notifications when a data item changes), hot data links (duplications of changes to a data item), and requests for command execution.
subclass of: Inter-Process Communication

XPC Services
type: Class
attack-id: T1559.003
definition: Adversaries can provide malicious content to an XPC service daemon for local code execution. macOS uses XPC services for basic inter-process communication between various processes, such as between the XPC Service daemon and third-party application privileged helper tools. Applications can send messages to the XPC Service daemon, which runs as root, using the low-level XPC Service C API or the high level NSXPCConnection API in order to handle tasks that require elevated privileges (such as network connections). Applications are responsible for providing the protocol definition which serves as a blueprint of the XPC services. Developers typically use XPC Services to provide applications stability and privilege separation between the application client and the daemon.(Citation: creatingXPCservices)(Citation: Designing Daemons Apple Dev)
subclass of: Inter-Process Communication

Archive via Utility
type: Class
type: NamedIndividual
attack-id: T1560.001
creates: Archive File
definition: Adversaries may use utilities to compress and/or encrypt collected data prior to exfiltration. Many utilities include functionalities to compress, encrypt, or otherwise package data into a format that is easier/more secure to transport.
subclass of: Restriction
  on property: creates
  some values from: Archive File
subclass of: Archive Collected Data

Archive via Library
type: Class
type: NamedIndividual
attack-id: T1560.002
creates: Archive File
definition: An adversary may compress or encrypt data that is collected prior to exfiltration using 3rd party libraries. Many libraries exist that can archive data, including [Python](https://attack.mitre.org/techniques/T1059/006) rarfile (Citation: PyPI RAR), libzip (Citation: libzip), and zlib (Citation: Zlib Github). Most libraries include functionality to encrypt and/or compress data.
subclass of: Restriction
  on property: creates
  some values from: Archive File
subclass of: Archive Collected Data

Archive via Custom Method
type: Class
type: NamedIndividual
attack-id: T1560.003
creates: Custom Archive File
definition: An adversary may compress or encrypt data that is collected prior to exfiltration using a custom method. Adversaries may choose to use custom archival methods, such as encryption with XOR or stream ciphers implemented with no external library or utility references. Custom implementations of well-known compression algorithms have also been used.(Citation: ESET Sednit Part 2)
subclass of: Restriction
  on property: creates
  some values from: Custom Archive File
subclass of: Archive Collected Data

Disk Content Wipe
type: Class
type: NamedIndividual
attack-id: T1561.001
definition: Adversaries may erase the contents of storage devices on specific systems or in large numbers in a network to interrupt availability to system and network resources.
may-modify: Boot Sector
may-modify: Partition
may-modify: Partition Table
may-modify: Volume
modifies: Block Device
subclass of: Restriction
  on property: may-modify
  some values from: Volume
subclass of: Restriction
  on property: may-modify
  some values from: Partition Table
subclass of: Restriction
  on property: modifies
  some values from: Block Device
subclass of: Restriction
  on property: may-modify
  some values from: Partition
subclass of: Restriction
  on property: may-modify
  some values from: Boot Sector
subclass of: Disk Wipe

Disk Structure Wipe
type: Class
type: NamedIndividual
attack-id: T1561.002
definition: Adversaries may corrupt or wipe the disk data structures on a hard drive necessary to boot a system; targeting specific critical systems or in large numbers in a network to interrupt availability to system and network resources.
may-modify: Boot Sector
may-modify: Partition Table
subclass of: Restriction
  on property: may-modify
  some values from: Partition Table
subclass of: Restriction
  on property: may-modify
  some values from: Boot Sector
subclass of: Disk Wipe

Disable or Modify Tools
type: Class
type: NamedIndividual
attack-id: T1562.001
definition: Adversaries may modify and/or disable security tools to avoid possible detection of their malware/tools and activities. This may take many forms, such as killing security software processes or services, modifying / deleting Registry keys or configuration files so that tools do not operate properly, or other methods to interfere with security tools scanning or reporting information. Adversaries may also disable updates to prevent the latest security patches from reaching tools on victim systems.(Citation: SCADAfence_ransomware)
disables: Operating System Process
subclass of: Restriction
  on property: disables
  some values from: Operating System Process
subclass of: Impair Defenses

Disable Windows Event Logging
type: Class
type: NamedIndividual
attack-id: T1562.002
definition: Adversaries may disable Windows event logging to limit data that can be leveraged for detections and audits. Windows event logs record user and system activity such as login attempts, process creation, and much more.(Citation: Windows Log Events) This data is used by security tools and analysts to generate detections.
may-modify: ApplicationConfiguration
may-modify: Operating System Configuration Component
subclass of: Restriction
  on property: may-modify
  some values from: Operating System Configuration Component
subclass of: Restriction
  on property: may-modify
  some values from: ApplicationConfiguration
subclass of: Impair Defenses

Impair Command History Logging
type: Class
type: NamedIndividual
attack-id: T1562.003
definition: Adversaries may impair command history logging to hide commands they run on a compromised system. Various command interpreters keep track of the commands users type in their terminal so that users can retrace what they've done.
may-modify: User Init Script
may-modify: Windows Registry Key
modifies: Process Environment Variable
subclass of: Restriction
  on property: modifies
  some values from: Process Environment Variable
subclass of: Restriction
  on property: may-modify
  some values from: Windows Registry Key
subclass of: Restriction
  on property: may-modify
  some values from: User Init Script
subclass of: Impair Defenses

Disable or Modify System Firewall
type: Class
type: NamedIndividual
attack-id: T1562.004
definition: Adversaries may disable or modify system firewalls in order to bypass controls limiting network usage. Changes could be disabling the entire mechanism as well as adding, deleting, or modifying particular rules. This can be done numerous ways depending on the operating system, including via command-line, editing Windows Registry keys, and Windows Control Panel.
modifies: System Firewall Configuration
subclass of: Restriction
  on property: modifies
  some values from: System Firewall Configuration
subclass of: Impair Defenses

Indicator Blocking
type: Class
attack-id: T1562.006
definition: An adversary may attempt to block indicators or events typically captured by sensors from being gathered and analyzed. This could include maliciously redirecting(Citation: Microsoft Lamin Sept 2017) or even disabling host-based sensors, such as Event Tracing for Windows (ETW)(Citation: Microsoft About Event Tracing 2018), by tampering settings that control the collection and flow of event telemetry.(Citation: Medium Event Tracing Tampering 2018) These settings may be stored on the system in configuration files and/or in the Registry as well as being accessible via administrative utilities such as [PowerShell](https://attack.mitre.org/techniques/T1059/001) or [Windows Management Instrumentation](https://attack.mitre.org/techniques/T1047).
subclass of: Impair Defenses

Disable or Modify Cloud Firewall
type: Class
attack-id: T1562.007
definition: Adversaries may disable or modify a firewall within a cloud environment to bypass controls that limit access to cloud resources. Cloud firewalls are separate from system firewalls that are described in [Disable or Modify System Firewall](https://attack.mitre.org/techniques/T1562/004).
subclass of: Impair Defenses

Disable or Modify Cloud Logs
type: Class
attack-id: T1562.008
definition: An adversary may disable or modify cloud logging capabilities and integrations to limit what data is collected on their activities and avoid detection. Cloud environments allow for collection and analysis of audit and application logs that provide insight into what activities a user does within the environment. If an adversary has sufficient permissions, they can disable or modify logging to avoid detection of their activities.
subclass of: Impair Defenses

Safe Mode Boot
type: Class
type: NamedIndividual
attack-id: T1562.009
definition: Adversaries may abuse Windows safe mode to disable endpoint defenses. Safe mode starts up the Windows operating system with a limited set of drivers and services. Third-party security software such as endpoint detection and response (EDR) tools may not start after booting Windows in safe mode. There are two versions of safe mode: Safe Mode and Safe Mode with Networking. It is possible to start additional services after a safe mode boot.(Citation: Microsoft Safe Mode)(Citation: Sophos Snatch Ransomware 2019)
disables: Endpoint Sensor
disables: System Configuration Init Database Record
may-modify: Endpoint Health Beacon
subclass of: Restriction
  on property: disables
  some values from: System Configuration Init Database Record
subclass of: Restriction
  on property: disables
  some values from: Endpoint Sensor
subclass of: Restriction
  on property: may-modify
  some values from: Endpoint Health Beacon
subclass of: Impair Defenses

Downgrade Attack
type: Class
type: NamedIndividual
accesses: Legacy System
attack-id: T1562.010
definition: Adversaries may downgrade or use a version of system features that may be outdated, vulnerable, and/or does not support updated security controls. Downgrade attacks typically take advantage of a system’s backward compatibility to force it into less secure modes of operation.
subclass of: Restriction
  on property: accesses
  some values from: Legacy System
subclass of: Impair Defenses

Spoof Security Alerting
type: Class
attack-id: T1562.011
definition: Adversaries may spoof security alerting from tools, presenting false evidence to impair defenders’ awareness of malicious activity.(Citation: BlackBasta) Messages produced by defensive tools contain information about potential security events as well as the functioning status of security software and the system. Security reporting messages are important for monitoring the normal operation of a system and identifying important events that can signal a security incident.
subclass of: Impair Defenses

Disable or Modify Linux Audit System
type: Class
attack-id: T1562.012
definition: Adversaries may disable or modify the Linux audit system to hide malicious activity and avoid detection. Linux admins use the Linux Audit system to track security-relevant information on a system. The Linux Audit system operates at the kernel-level and maintains event logs on application and system activity such as process, network, file, and login events based on pre-configured rules.
subclass of: Impair Defenses

SSH Hijacking
type: Class
type: NamedIndividual
accesses: SSH Session
attack-id: T1563.001
definition: Adversaries may hijack a legitimate user's SSH session to move laterally within an environment. Secure Shell (SSH) is a standard means of remote access on Linux and macOS systems. It allows a user to connect to another system via an encrypted tunnel, commonly authenticating through a password, certificate or the use of an asymmetric encryption key pair.
subclass of: Restriction
  on property: accesses
  some values from: SSH Session
subclass of: Remote Service Session Hijacking

RDP Hijacking
type: Class
type: NamedIndividual
accesses: RDP Session
attack-id: T1563.002
definition: Adversaries may hijack a legitimate user’s remote desktop session to move laterally within an environment. Remote desktop is a common feature in operating systems. It allows a user to log into an interactive session with a system desktop graphical user interface on a remote system. Microsoft refers to its implementation of the Remote Desktop Protocol (RDP) as Remote Desktop Services (RDS).(Citation: TechNet Remote Desktop Services)
subclass of: Restriction
  on property: accesses
  some values from: RDP Session
subclass of: Remote Service Session Hijacking

Hidden Files and Directories
type: Class
type: NamedIndividual
attack-id: T1564.001
definition: Adversaries may set files and directories to be hidden to evade detection mechanisms. To prevent normal users from accidentally changing special files on a system, most operating systems have the concept of a ‘hidden’ file. These files don’t show up when a user browses the file system with a GUI or when using normal commands on the command line. Users must explicitly ask to show the hidden files either via a series of Graphical User Interface (GUI) prompts or with command line switches (dir /a for Windows and ls –a for Linux and macOS).
modifies: FileSystemMetadata
subclass of: Restriction
  on property: modifies
  some values from: FileSystemMetadata
subclass of: T1564

Hidden Users
type: Class
type: NamedIndividual
attack-id: T1564.002
definition: Adversaries may use hidden users to hide the presence of user accounts they create or modify. Administrators may want to hide users when there are many user accounts on a given system or if they want to hide their administrative or other management accounts from other users.
modifies: User Init Configuration File
subclass of: Restriction
  on property: modifies
  some values from: User Init Configuration File
subclass of: T1564

Hidden Window
type: Class
type: NamedIndividual
attack-id: T1564.003
definition: Adversaries may use hidden windows to conceal malicious activity from the plain sight of users. In some cases, windows that would typically be displayed when an application carries out an operation can be hidden. This may be utilized by system administrators to avoid disrupting user work environments when carrying out administrative tasks.
may-modify: PropertyListFile
may-modify: SystemConfigurationDatabase
subclass of: Restriction
  on property: may-modify
  some values from: PropertyListFile
subclass of: Restriction
  on property: may-modify
  some values from: SystemConfigurationDatabase
subclass of: T1564

NTFS File Attributes
type: Class
type: NamedIndividual
attack-id: T1564.004
definition: Adversaries may use NTFS file attributes to hide their malicious data in order to evade detection. Every New Technology File System (NTFS) formatted partition contains a Master File Table (MFT) that maintains a record for every file/directory on the partition. (Citation: SpectorOps Host-Based Jul 2017) Within MFT entries are file attributes, (Citation: Microsoft NTFS File Attributes Aug 2010) such as Extended Attributes (EA) and Data [known as Alternate Data Streams (ADSs) when more than one Data attribute is present], that can be used to store arbitrary data (and even complete files). (Citation: SpectorOps Host-Based Jul 2017) (Citation: Microsoft File Streams) (Citation: MalwareBytes ADS July 2015) (Citation: Microsoft ADS Mar 2014)
modifies: FileSystemMetadata
subclass of: Restriction
  on property: modifies
  some values from: FileSystemMetadata
subclass of: T1564

Hidden File System
type: Class
type: NamedIndividual
attack-id: T1564.005
definition: Adversaries may use a hidden file system to conceal malicious activity from users and security tools. File systems provide a structure to store and access data from physical storage. Typically, a user engages with a file system through applications that allow them to access files and directories, which are an abstraction from their physical location (ex: disk sector). Standard file systems include FAT, NTFS, ext4, and APFS. File systems can also contain other structures, such as the Volume Boot Record (VBR) and Master File Table (MFT) in NTFS.(Citation: MalwareTech VFS Nov 2014)
may-modify: SystemConfigurationDatabase
modifies: Storage
subclass of: Restriction
  on property: modifies
  some values from: Storage
subclass of: Restriction
  on property: may-modify
  some values from: SystemConfigurationDatabase
subclass of: T1564

Run Virtual Instance
type: Class
type: NamedIndividual
attack-id: T1564.006
creates: File
definition: Adversaries may carry out malicious operations using a virtual instance to avoid detection. A wide variety of virtualization technologies exist that allow for the emulation of a computer or computing environment. By running malicious code inside of a virtual instance, adversaries can hide artifacts associated with their behavior from security tools that are unable to monitor activity inside the virtual instance. Additionally, depending on the virtual networking implementation (ex: bridged adapter), network traffic generated by the virtual instance can be difficult to trace back to the compromised host as the IP address and hostname might not match known values.(Citation: SingHealth Breach Jan 2019)
executes: Virtualization Software
may-add: Virtualization Software
may-create: Directory
subclass of: Restriction
  on property: may-create
  some values from: Directory
subclass of: Restriction
  on property: may-add
  some values from: Virtualization Software
subclass of: Restriction
  on property: executes
  some values from: Virtualization Software
subclass of: Restriction
  on property: creates
  some values from: File
subclass of: T1564

VBA Stomping
type: Class
type: NamedIndividual
attack-id: T1564.007
definition: Adversaries may hide malicious Visual Basic for Applications (VBA) payloads embedded within MS Office documents by replacing the VBA source code with benign data.(Citation: FireEye VBA stomp Feb 2020)
modifies: Office Application File
subclass of: Restriction
  on property: modifies
  some values from: Office Application File
subclass of: T1564

Email Hiding Rules
type: Class
type: NamedIndividual
attack-id: T1564.008
definition: Adversaries may use email rules to hide inbound emails in a compromised user's mailbox. Many email clients allow users to create inbox rules for various email functions, including moving emails to other folders, marking emails as read, or deleting emails. Rules may be created or modified within email clients or through external features such as the New-InboxRule or Set-InboxRule [PowerShell](https://attack.mitre.org/techniques/T1059/001) cmdlets on Windows systems.(Citation: Microsoft Inbox Rules)(Citation: MacOS Email Rules)(Citation: Microsoft New-InboxRule)(Citation: Microsoft Set-InboxRule)
may-create: Email Rule
may-modify: Email Rule
modifies: ApplicationConfiguration
subclass of: Restriction
  on property: may-create
  some values from: Email Rule
subclass of: Restriction
  on property: modifies
  some values from: ApplicationConfiguration
subclass of: Restriction
  on property: may-modify
  some values from: Email Rule
subclass of: T1564

Resource Forking
type: Class
type: NamedIndividual
attack-id: T1564.009
definition: Adversaries may abuse resource forks to hide malicious code or executables to evade detection and bypass security applications. A resource fork provides applications a structured way to store resources such as thumbnail images, menu definitions, icons, dialog boxes, and code.(Citation: macOS Hierarchical File System Overview) Usage of a resource fork is identifiable when displaying a file’s extended attributes, using ls -l@ or xattr -l commands. Resource forks have been deprecated and replaced with the application bundle structure. Non-localized resources are placed at the top level directory of an application bundle, while localized resources are placed in the /Resources folder.(Citation: Resource and Data Forks)(Citation: ELC Extended Attributes)
may-create: Resource Fork
may-modify: Resource Fork
subclass of: Restriction
  on property: may-create
  some values from: Resource Fork
subclass of: Restriction
  on property: may-modify
  some values from: Resource Fork
subclass of: T1564

Process Argument Spoofing
type: Class
attack-id: T1564.010
definition: Adversaries may attempt to hide process command-line arguments by overwriting process memory. Process command-line arguments are stored in the process environment block (PEB), a data structure used by Windows to store various information about/used by a process. The PEB includes the process command-line arguments that are referenced when executing the process. When a process is created, defensive tools/sensors that monitor process creations may retrieve the process arguments from the PEB.(Citation: Microsoft PEB 2021)(Citation: Xpn Argue Like Cobalt 2019)
subclass of: T1564

Ignore Process Interrupts
type: Class
attack-id: T1564.011
definition: Adversaries may evade defensive mechanisms by executing commands that hide from process interrupt signals. Many operating systems use signals to deliver messages to control process behavior. Command interpreters often include specific commands/flags that ignore errors and other hangups, such as when the user of the active session logs off.(Citation: Linux Signal Man) These interrupt signals may also be used by defensive tools and/or analysts to pause or terminate specified running processes.
subclass of: T1564

File/Path Exclusions
type: Class
attack-id: T1564.012
definition: Adversaries may attempt to hide their file-based artifacts by writing them to specific folders or file names excluded from antivirus (AV) scanning and other defensive capabilities. AV and other file-based scanners often include exclusions to optimize performance as well as ease installation and legitimate use of applications. These exclusions may be contextual (e.g., scans are only initiated in response to specific triggering events/alerts), but are also often hardcoded strings referencing specific folders and/or files assumed to be trusted and legitimate.(Citation: Microsoft File Folder Exclusions)
subclass of: T1564

Stored Data Manipulation
type: Class
type: NamedIndividual
attack-id: T1565.001
definition: Adversaries may insert, delete, or manipulate data at rest in order to influence external outcomes or hide activity, thus threatening the integrity of the data.(Citation: FireEye APT38 Oct 2018)(Citation: DOJ Lazarus Sony 2018) By manipulating stored data, adversaries may attempt to affect a business process, organizational understanding, and decision making.
modifies: File
subclass of: Restriction
  on property: modifies
  some values from: File
subclass of: Data Manipulation

Transmitted Data Manipulation
type: Class
type: NamedIndividual
attack-id: T1565.002
definition: Adversaries may alter data en route to storage or other systems in order to manipulate external outcomes or hide activity, thus threatening the integrity of the data.(Citation: FireEye APT38 Oct 2018)(Citation: DOJ Lazarus Sony 2018) By manipulating transmitted data, adversaries may attempt to affect a business process, organizational understanding, and decision making.
may-modify: NetworkTraffic
subclass of: Restriction
  on property: may-modify
  some values from: NetworkTraffic
subclass of: Data Manipulation

Runtime Data Manipulation
type: Class
type: NamedIndividual
attack-id: T1565.003
definition: Adversaries may modify systems in order to manipulate the data as it is accessed and displayed to an end user, thus threatening the integrity of the data.(Citation: FireEye APT38 Oct 2018)(Citation: DOJ Lazarus Sony 2018) By manipulating runtime data, adversaries may attempt to affect a business process, organizational understanding, and decision making.
may-modify: ExecutableFile
subclass of: Restriction
  on property: may-modify
  some values from: ExecutableFile
subclass of: Data Manipulation

Spearphishing Attachment
type: Class
type: NamedIndividual
attack-id: T1566.001
definition: Adversaries may send spearphishing emails with a malicious attachment in an attempt to gain access to victim systems. Spearphishing attachment is a specific variant of spearphishing. Spearphishing attachment is different from other forms of spearphishing in that it employs the use of malware attached to an email. All forms of spearphishing are electronically delivered social engineering targeted at a specific individual, company, or industry. In this scenario, adversaries attach a file to the spearphishing email and usually rely upon [User Execution](https://attack.mitre.org/techniques/T1204) to gain execution.(Citation: Unit 42 DarkHydrus July 2018) Spearphishing may also involve social engineering techniques, such as posing as a trusted source.
produces: Email
produces: Inbound Internet Mail Traffic
subclass of: Restriction
  on property: produces
  some values from: Email
subclass of: Restriction
  on property: produces
  some values from: Inbound Internet Mail Traffic
subclass of: Phishing

Spearphishing Link
type: Class
type: NamedIndividual
attack-id: T1566.002
definition: Adversaries may send spearphishing emails with a malicious link in an attempt to gain access to victim systems. Spearphishing with a link is a specific variant of spearphishing. It is different from other forms of spearphishing in that it employs the use of links to download malware contained in email, instead of attaching malicious files to the email itself, to avoid defenses that may inspect email attachments. Spearphishing may also involve social engineering techniques, such as posing as a trusted source.
produces: Email
produces: Inbound Internet Mail Traffic
produces: URL
subclass of: Restriction
  on property: produces
  some values from: URL
subclass of: Restriction
  on property: produces
  some values from: Inbound Internet Mail Traffic
subclass of: Restriction
  on property: produces
  some values from: Email
subclass of: Phishing

Spearphishing via Service
type: Class
type: NamedIndividual
attack-id: T1566.003
definition: Adversaries may send spearphishing messages via third-party services in an attempt to gain access to victim systems. Spearphishing via service is a specific variant of spearphishing. It is different from other forms of spearphishing in that it employs the use of third party services rather than directly via enterprise email channels.
produces: File
produces: URL
subclass of: Restriction
  on property: produces
  some values from: URL
subclass of: Restriction
  on property: produces
  some values from: File
subclass of: Phishing

Spearphishing Voice
type: Class
attack-id: T1566.004
definition: Adversaries may use voice communications to ultimately gain access to victim systems. Spearphishing voice is a specific variant of spearphishing. It is different from other forms of spearphishing in that is employs the use of manipulating a user into providing access to systems through a phone call or other forms of voice communications. Spearphishing frequently involves social engineering techniques, such as posing as a trusted source (ex: [Impersonation](https://attack.mitre.org/techniques/T1656)) and/or creating a sense of urgency or alarm for the recipient.
subclass of: Phishing

Exfiltration to Code Repository
type: Class
type: NamedIndividual
attack-id: T1567.001
definition: Adversaries may exfiltrate data to a code repository rather than over their primary command and control channel. Code repositories are often accessible via an API (ex: https://api.github.com). Access to these APIs are often over HTTPS, which gives the adversary an additional level of protection.
may-produce: Outbound Internet Encrypted Remote Terminal Traffic
may-produce: Outbound Internet Encrypted Web Traffic
subclass of: Restriction
  on property: may-produce
  some values from: Outbound Internet Encrypted Remote Terminal Traffic
subclass of: Restriction
  on property: may-produce
  some values from: Outbound Internet Encrypted Web Traffic
subclass of: Exfiltration Over Web Service

Exfiltration to Cloud Storage
type: Class
type: NamedIndividual
attack-id: T1567.002
definition: Adversaries may exfiltrate data to a cloud storage service rather than over their primary command and control channel. Cloud storage services allow for the storage, edit, and retrieval of data from a remote cloud storage server over the Internet.
produces: Outbound Internet Encrypted Web Traffic
subclass of: Restriction
  on property: produces
  some values from: Outbound Internet Encrypted Web Traffic
subclass of: Exfiltration Over Web Service

Exfiltration to Text Storage Sites
type: Class
attack-id: T1567.003
definition: Adversaries may exfiltrate data to text storage sites instead of their primary command and control channel. Text storage sites, such as pastebin[.]com, are commonly used by developers to share code and other information.
subclass of: Exfiltration Over Web Service

Exfiltration Over Webhook
type: Class
attack-id: T1567.004
definition: Adversaries may exfiltrate data to a webhook endpoint rather than over their primary command and control channel. Webhooks are simple mechanisms for allowing a server to push data over HTTP/S to a client without the need for the client to continuously poll the server.(Citation: RedHat Webhooks) Many public and commercial services, such as Discord, Slack, and `webhook.site`, support the creation of webhook endpoints that can be used by other services, such as Github, Jira, or Trello.(Citation: Discord Intro to Webhooks) When changes happen in the linked services (such as pushing a repository update or modifying a ticket), these services will automatically post the data to the webhook endpoint for use by the consuming application.
subclass of: Exfiltration Over Web Service

Fast Flux DNS
type: Class
attack-id: T1568.001
definition: Adversaries may use Fast Flux DNS to hide a command and control channel behind an array of rapidly changing IP addresses linked to a single domain resolution. This technique uses a fully qualified domain name, with multiple IP addresses assigned to it which are swapped with high frequency, using a combination of round robin IP addressing and short Time-To-Live (TTL) for a DNS resource record.(Citation: MehtaFastFluxPt1)(Citation: MehtaFastFluxPt2)(Citation: Fast Flux - Welivesecurity)
subclass of: Dynamic Resolution

Domain Generation Algorithms
type: Class
attack-id: T1568.002
definition: Adversaries may make use of Domain Generation Algorithms (DGAs) to dynamically identify a destination domain for command and control traffic rather than relying on a list of static IP addresses or domains. This has the advantage of making it much harder for defenders to block, track, or take over the command and control channel, as there potentially could be thousands of domains that malware can check for instructions.(Citation: Cybereason Dissecting DGAs)(Citation: Cisco Umbrella DGA)(Citation: Unit 42 DGA Feb 2019)
subclass of: Dynamic Resolution

DNS Calculation
type: Class
attack-id: T1568.003
definition: Adversaries may perform calculations on addresses returned in DNS results to determine which port and IP address to use for command and control, rather than relying on a predetermined port number or the actual returned IP address. A IP and/or port number calculation can be used to bypass egress filtering on a C2 channel.(Citation: Meyers Numbered Panda)
subclass of: Dynamic Resolution

Launchctl
type: Class
attack-id: T1569.001
definition: Adversaries may abuse launchctl to execute commands or programs. Launchctl interfaces with launchd, the service management framework for macOS. Launchctl supports taking subcommands on the command-line, interactively, or even redirected from standard input.(Citation: Launchctl Man)
subclass of: System Services

Service Execution
type: Class
attack-id: T1569.002
definition: Adversaries may abuse the Windows service control manager to execute malicious commands or payloads. The Windows service control manager (services.exe) is an interface to manage and manipulate services.(Citation: Microsoft Service Control Manager) The service control manager is accessible to users via GUI components as well as system utilities such as sc.exe and [Net](https://attack.mitre.org/software/S0039).
subclass of: System Services

Lateral Tool Transfer
type: Class
type: NamedIndividual
attack-id: T1570
definition: Adversaries may transfer tools or other files between systems in a compromised environment. Once brought into the victim environment (i.e., [Ingress Tool Transfer](https://attack.mitre.org/techniques/T1105)) files may then be copied from one system to another to stage adversary tools or other files over the course of an operation.
produces: Intranet File Transfer Traffic
subclass of: Restriction
  on property: produces
  some values from: Intranet File Transfer Traffic
subclass of: LateralMovementTechnique

Non-Standard Port
type: Class
type: NamedIndividual
attack-id: T1571
definition: Adversaries may communicate using a protocol and port pairing that are typically not associated. For example, HTTPS over port 8088(Citation: Symantec Elfin Mar 2019) or port 587(Citation: Fortinet Agent Tesla April 2018) as opposed to the traditional port 443. Adversaries may make changes to the standard port used by a protocol to bypass filtering or muddle analysis/parsing of network data.
produces: OutboundInternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetNetworkTraffic
subclass of: CommandAndControlTechnique

Protocol Tunneling
type: Class
type: NamedIndividual
attack-id: T1572
definition: Adversaries may tunnel network communications to and from a victim system within a separate protocol to avoid detection/network filtering and/or enable access to otherwise unreachable systems. Tunneling involves explicitly encapsulating a protocol within another. This behavior may conceal malicious traffic by blending in with existing traffic and/or provide an outer layer of encryption (similar to a VPN). Tunneling could also enable routing of network packets that would otherwise not reach their intended destination, such as SMB, RDP, or other traffic that would be filtered by network appliances or not routed over the Internet.
produces: OutboundInternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetNetworkTraffic
subclass of: CommandAndControlTechnique

Symmetric Cryptography
type: Class
type: NamedIndividual
attack-id: T1573.001
creates: OutboundInternetEncryptedTraffic
definition: Adversaries may employ a known symmetric encryption algorithm to conceal command and control traffic rather than relying on any inherent protections provided by a communication protocol. Symmetric encryption algorithms use the same key for plaintext encryption and ciphertext decryption. Common symmetric encryption algorithms include AES, DES, 3DES, Blowfish, and RC4.
subclass of: Restriction
  on property: creates
  some values from: OutboundInternetEncryptedTraffic
subclass of: Encrypted Channel

Asymmetric Cryptography
type: Class
type: NamedIndividual
attack-id: T1573.002
creates: OutboundInternetEncryptedTraffic
definition: Adversaries may employ a known asymmetric encryption algorithm to conceal command and control traffic rather than relying on any inherent protections provided by a communication protocol. Asymmetric cryptography, also known as public key cryptography, uses a keypair per party: one public that can be freely distributed, and one private. Due to how the keys are generated, the sender encrypts data with the receiver’s public key and the receiver decrypts the data with their private key. This ensures that only the intended recipient can read the encrypted data. Common public key encryption algorithms include RSA and ElGamal.
may-transfer: CertificateFile
subclass of: Restriction
  on property: creates
  some values from: OutboundInternetEncryptedTraffic
subclass of: Restriction
  on property: may-transfer
  some values from: CertificateFile
subclass of: Encrypted Channel

DLL Search Order Hijacking
type: Class
type: NamedIndividual
attack-id: T1574.001
definition: Adversaries may execute their own malicious payloads by hijacking the search order used to load DLLs. Windows systems use a common method to look for required DLLs to load into a program. (Citation: Microsoft Dynamic Link Library Search Order)(Citation: FireEye Hijacking July 2010) Hijacking DLL loads may be for the purpose of establishing persistence as well as elevating privileges and/or evading restrictions on file execution.
may-create: SharedLibraryFile
subclass of: Restriction
  on property: may-create
  some values from: SharedLibraryFile
subclass of: T1574

DLL Side-Loading
type: Class
type: NamedIndividual
attack-id: T1574.002
definition: Adversaries may execute their own malicious payloads by side-loading DLLs. Similar to [DLL Search Order Hijacking](https://attack.mitre.org/techniques/T1574/001), side-loading involves hijacking which DLL a program loads. But rather than just planting the DLL within the search order of a program then waiting for the victim application to be invoked, adversaries may directly side-load their payloads by planting then invoking a legitimate application that executes their payload(s).
may-create: SharedLibraryFile
may-modify: SharedLibraryFile
subclass of: Restriction
  on property: may-create
  some values from: SharedLibraryFile
subclass of: Restriction
  on property: may-modify
  some values from: SharedLibraryFile
subclass of: T1574

Dylib Hijacking
type: Class
type: NamedIndividual
attack-id: T1574.004
definition: Adversaries may execute their own payloads by placing a malicious dynamic library (dylib) with an expected name in a path a victim application searches at runtime. The dynamic loader will try to find the dylibs based on the sequential order of the search paths. Paths to dylibs may be prefixed with @rpath, which allows developers to use relative paths to specify an array of search paths used at runtime based on the location of the executable. Additionally, if weak linking is used, such as the LC_LOAD_WEAK_DYLIB function, an application will still execute even if an expected dylib is not present. Weak linking enables developers to run an application on multiple macOS versions as new APIs are added.
may-create: SharedLibraryFile
may-modify: SharedLibraryFile
subclass of: Restriction
  on property: may-modify
  some values from: SharedLibraryFile
subclass of: Restriction
  on property: may-create
  some values from: SharedLibraryFile
subclass of: T1574

Executable Installer File Permissions Weakness
type: Class
type: NamedIndividual
attack-id: T1574.005
definition: Adversaries may execute their own malicious payloads by hijacking the binaries used by an installer. These processes may automatically execute specific binaries as part of their functionality or to perform other actions. If the permissions on the file system directory containing a target binary, or permissions on the binary itself, are improperly set, then the target binary may be overwritten with another binary using user-level permissions and executed by the original process. If the original process and thread are running under a higher permissions level, then the replaced binary will also execute under higher-level permissions, which could include SYSTEM.
modifies: ServiceApplication
subclass of: Restriction
  on property: modifies
  some values from: ServiceApplication
subclass of: T1574

Dynamic Linker Hijacking
type: Class
type: NamedIndividual
attack-id: T1574.006
definition: Adversaries may execute their own malicious payloads by hijacking environment variables the dynamic linker uses to load shared libraries. During the execution preparation phase of a program, the dynamic linker loads specified absolute paths of shared libraries from environment variables and files, such as LD_PRELOAD on Linux or DYLD_INSERT_LIBRARIES on macOS. Libraries specified in environment variables are loaded first, taking precedence over system libraries with the same function name.(Citation: Man LD.SO)(Citation: TLDP Shared Libraries)(Citation: Apple Doco Archive Dynamic Libraries) These variables are often used by developers to debug binaries without needing to recompile, deconflict mapped symbols, and implement custom functions without changing the original library.(Citation: Baeldung LD_PRELOAD)
modifies: OperatingSystemConfigurationFile
subclass of: Restriction
  on property: modifies
  some values from: OperatingSystemConfigurationFile
subclass of: T1574

Path Interception by PATH Environment Variable
type: Class
type: NamedIndividual
attack-id: T1574.007
creates: ExecutableFile
definition: Adversaries may execute their own malicious payloads by hijacking environment variables used to load libraries. The PATH environment variable contains a list of directories (User and System) that the OS searches sequentially through in search of the binary that was called from a script or the command line.
subclass of: Restriction
  on property: creates
  some values from: ExecutableFile
subclass of: T1574

Path Interception by Search Order Hijacking
type: Class
type: NamedIndividual
attack-id: T1574.008
creates: ExecutableFile
definition: Adversaries may execute their own malicious payloads by hijacking the search order used to load other programs. Because some programs do not call other programs using the full path, adversaries may place their own file in the directory where the calling program is located, causing the operating system to launch their malicious software at the request of the calling program.
subclass of: Restriction
  on property: creates
  some values from: ExecutableFile
subclass of: T1574

Path Interception by Unquoted Path
type: Class
type: NamedIndividual
attack-id: T1574.009
creates: ExecutableFile
definition: Adversaries may execute their own malicious payloads by hijacking vulnerable file path references. Adversaries can take advantage of paths that lack surrounding quotations by placing an executable in a higher level directory within the path, so that Windows will choose the adversary's executable to launch.
subclass of: Restriction
  on property: creates
  some values from: ExecutableFile
subclass of: T1574

Services File Permissions Weakness
type: Class
type: NamedIndividual
attack-id: T1574.010
definition: Adversaries may execute their own malicious payloads by hijacking the binaries used by services. Adversaries may use flaws in the permissions of Windows services to replace the binary that is executed upon service start. These service processes may automatically execute specific binaries as part of their functionality or to perform other actions. If the permissions on the file system directory containing a target binary, or permissions on the binary itself are improperly set, then the target binary may be overwritten with another binary using user-level permissions and executed by the original process. If the original process and thread are running under a higher permissions level, then the replaced binary will also execute under higher-level permissions, which could include SYSTEM.
modifies: ServiceApplication
subclass of: Restriction
  on property: modifies
  some values from: ServiceApplication
subclass of: T1574
alternative label: Service Registry Permissions Weakness

Services Registry Permissions Weakness
type: Class
type: NamedIndividual
attack-id: T1574.011
definition: Adversaries may execute their own malicious payloads by hijacking the Registry entries used by services. Adversaries may use flaws in the permissions for Registry keys related to services to redirect from the originally specified executable to one that they control, in order to launch their own code when a service starts. Windows stores local service configuration information in the Registry under HKLM\SYSTEM\CurrentControlSet\Services. The information stored under a service's Registry keys can be manipulated to modify a service's execution parameters through tools such as the service controller, sc.exe, [PowerShell](https://attack.mitre.org/techniques/T1059/001), or [Reg](https://attack.mitre.org/software/S0075). Access to Registry keys is controlled through access control lists and user permissions. (Citation: Registry Key Security)(Citation: malware_hides_service)
modifies: System Configuration Init Database Record
subclass of: Restriction
  on property: modifies
  some values from: System Configuration Init Database Record
subclass of: T1574

COR_PROFILER
type: Class
type: NamedIndividual
adds: SharedLibraryFile
attack-id: T1574.012
definition: Adversaries may leverage the COR_PROFILER environment variable to hijack the execution flow of programs that load the .NET CLR. The COR_PROFILER is a .NET Framework feature which allows developers to specify an unmanaged (or external of .NET) profiling DLL to be loaded into each .NET process that loads the Common Language Runtime (CLR). These profilers are designed to monitor, troubleshoot, and debug managed code executed by the .NET CLR.(Citation: Microsoft Profiling Mar 2017)(Citation: Microsoft COR_PROFILER Feb 2013)
modifies: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: adds
  some values from: SharedLibraryFile
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabaseRecord
subclass of: T1574

KernelCallbackTable
type: Class
attack-id: T1574.013
definition: Adversaries may abuse the KernelCallbackTable of a process to hijack its execution flow in order to run their own payloads.(Citation: Lazarus APT January 2022)(Citation: FinFisher exposed ) The KernelCallbackTable can be found in the Process Environment Block (PEB) and is initialized to an array of graphic functions available to a GUI process once user32.dll is loaded.(Citation: Windows Process Injection KernelCallbackTable)
subclass of: T1574

AppDomainManager
type: Class
attack-id: T1574.014
definition: Adversaries may execute their own malicious payloads by hijacking how the .NET `AppDomainManager` loads assemblies. The .NET framework uses the `AppDomainManager` class to create and manage one or more isolated runtime environments (called application domains) inside a process to host the execution of .NET applications. Assemblies (`.exe` or `.dll` binaries compiled to run as .NET code) may be loaded into an application domain as executable code.(Citation: Microsoft App Domains)
subclass of: T1574

Create Snapshot
type: Class
attack-id: T1578.001
definition: An adversary may create a snapshot or data backup within a cloud account to evade defenses. A snapshot is a point-in-time copy of an existing cloud compute component such as a virtual machine (VM), virtual hard drive, or volume. An adversary may leverage permissions to create a snapshot in order to bypass restrictions that prevent access to existing compute service infrastructure, unlike in [Revert Cloud Instance](https://attack.mitre.org/techniques/T1578/004) where an adversary may revert to a snapshot to evade detection and remove evidence of their presence.
subclass of: Modify Cloud Compute Infrastructure

Create Cloud Instance
type: Class
attack-id: T1578.002
definition: An adversary may create a new instance or virtual machine (VM) within the compute service of a cloud account to evade defenses. Creating a new instance may allow an adversary to bypass firewall rules and permissions that exist on instances currently residing within an account. An adversary may [Create Snapshot](https://attack.mitre.org/techniques/T1578/001) of one or more volumes in an account, create a new instance, mount the snapshots, and then apply a less restrictive security policy to collect [Data from Local System](https://attack.mitre.org/techniques/T1005) or for [Remote Data Staging](https://attack.mitre.org/techniques/T1074/002).(Citation: Mandiant M-Trends 2020)
subclass of: Modify Cloud Compute Infrastructure

Delete Cloud Instance
type: Class
attack-id: T1578.003
definition: An adversary may delete a cloud instance after they have performed malicious activities in an attempt to evade detection and remove evidence of their presence. Deleting an instance or virtual machine can remove valuable forensic artifacts and other evidence of suspicious behavior if the instance is not recoverable.
subclass of: Modify Cloud Compute Infrastructure

Revert Cloud Instance
type: Class
attack-id: T1578.004
definition: An adversary may revert changes made to a cloud instance after they have performed malicious activities in attempt to evade detection and remove evidence of their presence. In highly virtualized environments, such as cloud-based infrastructure, this may be accomplished by restoring virtual machine (VM) or data storage snapshots through the cloud management dashboard or cloud APIs.
subclass of: Modify Cloud Compute Infrastructure

Modify Cloud Compute Configurations
type: Class
attack-id: T1578.005
definition: Adversaries may modify settings that directly affect the size, locations, and resources available to cloud compute infrastructure in order to evade defenses. These settings may include service quotas, subscription associations, tenant-wide policies, or other configurations that impact available compute. Such modifications may allow adversaries to abuse the victim’s compute resources to achieve their goals, potentially without affecting the execution of running instances and/or revealing their activities to the victim.
subclass of: Modify Cloud Compute Infrastructure

Cloud Infrastructure Discovery
type: Class
attack-id: T1580
definition: An adversary may attempt to discover infrastructure and resources that are available within an infrastructure-as-a-service (IaaS) environment. This includes compute service resources such as instances, virtual machines, and snapshots as well as resources of other services including the storage and database services.
subclass of: DiscoveryTechnique

Domains
type: Class
attack-id: T1583.001
definition: Adversaries may acquire domains that can be used during targeting. Domain names are the human readable names used to represent one or more IP addresses. They can be purchased or, in some cases, acquired for free.
subclass of: Acquire Infrastructure

DNS Server
type: Class
attack-id: T1583.002
definition: Adversaries may set up their own Domain Name System (DNS) servers that can be used during targeting. During post-compromise activity, adversaries may utilize DNS traffic for various tasks, including for Command and Control (ex: [Application Layer Protocol](https://attack.mitre.org/techniques/T1071)). Instead of hijacking existing DNS servers, adversaries may opt to configure and run their own DNS servers in support of operations.
subclass of: Acquire Infrastructure

Virtual Private Server
type: Class
attack-id: T1583.003
definition: Adversaries may rent Virtual Private Servers (VPSs) that can be used during targeting. There exist a variety of cloud service providers that will sell virtual machines/containers as a service. By utilizing a VPS, adversaries can make it difficult to physically tie back operations to them. The use of cloud infrastructure can also make it easier for adversaries to rapidly provision, modify, and shut down their infrastructure.
subclass of: Acquire Infrastructure

Server
type: Class
attack-id: T1583.004
definition: Adversaries may buy, lease, rent, or obtain physical servers that can be used during targeting. Use of servers allows an adversary to stage, launch, and execute an operation. During post-compromise activity, adversaries may utilize servers for various tasks, such as watering hole operations in [Drive-by Compromise](https://attack.mitre.org/techniques/T1189), enabling [Phishing](https://attack.mitre.org/techniques/T1566) operations, or facilitating [Command and Control](https://attack.mitre.org/tactics/TA0011). Instead of compromising a third-party [Server](https://attack.mitre.org/techniques/T1584/004) or renting a [Virtual Private Server](https://attack.mitre.org/techniques/T1583/003), adversaries may opt to configure and run their own servers in support of operations. Free trial periods of cloud servers may also be abused.(Citation: Free Trial PurpleUrchin)(Citation: Freejacked)
subclass of: Acquire Infrastructure

Botnet
type: Class
attack-id: T1583.005
definition: Adversaries may buy, lease, or rent a network of compromised systems that can be used during targeting. A botnet is a network of compromised systems that can be instructed to perform coordinated tasks.(Citation: Norton Botnet) Adversaries may purchase a subscription to use an existing botnet from a booter/stresser service. With a botnet at their disposal, adversaries may perform follow-on activity such as large-scale [Phishing](https://attack.mitre.org/techniques/T1566) or Distributed Denial of Service (DDoS).(Citation: Imperva DDoS for Hire)(Citation: Krebs-Anna)(Citation: Krebs-Bazaar)(Citation: Krebs-Booter)
subclass of: Acquire Infrastructure

Web Services
type: Class
attack-id: T1583.006
definition: Adversaries may register for web services that can be used during targeting. A variety of popular websites exist for adversaries to register for a web-based service that can be abused during later stages of the adversary lifecycle, such as during Command and Control ([Web Service](https://attack.mitre.org/techniques/T1102)), [Exfiltration Over Web Service](https://attack.mitre.org/techniques/T1567), or [Phishing](https://attack.mitre.org/techniques/T1566). Using common services, such as those offered by Google or Twitter, makes it easier for adversaries to hide in expected noise.(Citation: FireEye APT29) By utilizing a web service, adversaries can make it difficult to physically tie back operations to them.
subclass of: Acquire Infrastructure

Serverless
type: Class
attack-id: T1583.007
definition: Adversaries may purchase and configure serverless cloud infrastructure, such as Cloudflare Workers or AWS Lambda functions, that can be used during targeting. By utilizing serverless infrastructure, adversaries can make it more difficult to attribute infrastructure used during operations back to them.
subclass of: Acquire Infrastructure

Malvertising
type: Class
attack-id: T1583.008
definition: Adversaries may purchase online advertisements that can be abused to distribute malware to victims. Ads can be purchased to plant as well as favorably position artifacts in specific locations online, such as prominently placed within search engine results. These ads may make it more difficult for users to distinguish between actual search results and advertisements.(Citation: spamhaus-malvertising) Purchased ads may also target specific audiences using the advertising network’s capabilities, potentially further taking advantage of the trust inherently given to search engines and popular websites.
subclass of: Acquire Infrastructure

Domains
type: Class
attack-id: T1584.001
definition: Adversaries may hijack domains and/or subdomains that can be used during targeting. Domain registration hijacking is the act of changing the registration of a domain name without the permission of the original registrant.(Citation: ICANNDomainNameHijacking) Adversaries may gain access to an email account for the person listed as the owner of the domain. The adversary can then claim that they forgot their password in order to make changes to the domain registration. Other possibilities include social engineering a domain registration help desk to gain access to an account or taking advantage of renewal process gaps.(Citation: Krebs DNS Hijack 2019)
subclass of: Compromise Infrastructure

DNS Server
type: Class
attack-id: T1584.002
definition: Adversaries may compromise third-party DNS servers that can be used during targeting. During post-compromise activity, adversaries may utilize DNS traffic for various tasks, including for Command and Control (ex: [Application Layer Protocol](https://attack.mitre.org/techniques/T1071)). Instead of setting up their own DNS servers, adversaries may compromise third-party DNS servers in support of operations.
subclass of: Compromise Infrastructure

Virtual Private Server
type: Class
attack-id: T1584.003
definition: Adversaries may compromise third-party Virtual Private Servers (VPSs) that can be used during targeting. There exist a variety of cloud service providers that will sell virtual machines/containers as a service. Adversaries may compromise VPSs purchased by third-party entities. By compromising a VPS to use as infrastructure, adversaries can make it difficult to physically tie back operations to themselves.(Citation: NSA NCSC Turla OilRig)
subclass of: Compromise Infrastructure

Server
type: Class
attack-id: T1584.004
definition: Adversaries may compromise third-party servers that can be used during targeting. Use of servers allows an adversary to stage, launch, and execute an operation. During post-compromise activity, adversaries may utilize servers for various tasks, including for Command and Control.(Citation: TrendMicro EarthLusca 2022) Instead of purchasing a [Server](https://attack.mitre.org/techniques/T1583/004) or [Virtual Private Server](https://attack.mitre.org/techniques/T1583/003), adversaries may compromise third-party servers in support of operations.
subclass of: Compromise Infrastructure

Botnet
type: Class
attack-id: T1584.005
definition: Adversaries may compromise numerous third-party systems to form a botnet that can be used during targeting. A botnet is a network of compromised systems that can be instructed to perform coordinated tasks.(Citation: Norton Botnet) Instead of purchasing/renting a botnet from a booter/stresser service, adversaries may build their own botnet by compromising numerous third-party systems.(Citation: Imperva DDoS for Hire) Adversaries may also conduct a takeover of an existing botnet, such as redirecting bots to adversary-controlled C2 servers.(Citation: Dell Dridex Oct 2015) With a botnet at their disposal, adversaries may perform follow-on activity such as large-scale [Phishing](https://attack.mitre.org/techniques/T1566) or Distributed Denial of Service (DDoS).
subclass of: Compromise Infrastructure

Web Services
type: Class
attack-id: T1584.006
definition: Adversaries may compromise access to third-party web services that can be used during targeting. A variety of popular websites exist for legitimate users to register for web-based services, such as GitHub, Twitter, Dropbox, Google, SendGrid, etc. Adversaries may try to take ownership of a legitimate user's access to a web service and use that web service as infrastructure in support of cyber operations. Such web services can be abused during later stages of the adversary lifecycle, such as during Command and Control ([Web Service](https://attack.mitre.org/techniques/T1102)), [Exfiltration Over Web Service](https://attack.mitre.org/techniques/T1567), or [Phishing](https://attack.mitre.org/techniques/T1566).(Citation: Recorded Future Turla Infra 2020) Using common services, such as those offered by Google or Twitter, makes it easier for adversaries to hide in expected noise. By utilizing a web service, particularly when access is stolen from legitimate users, adversaries can make it difficult to physically tie back operations to them. Additionally, leveraging compromised web-based email services may allow adversaries to leverage the trust associated with legitimate domains.
subclass of: Compromise Infrastructure

Serverless
type: Class
attack-id: T1584.007
definition: Adversaries may compromise serverless cloud infrastructure, such as Cloudflare Workers or AWS Lambda functions, that can be used during targeting. By utilizing serverless infrastructure, adversaries can make it more difficult to attribute infrastructure used during operations back to them.
subclass of: Compromise Infrastructure

Network Devices
type: Class
attack-id: T1584.008
definition: Adversaries may compromise third-party network devices that can be used during targeting. Network devices, such as small office/home office (SOHO) routers, may be compromised where the adversary's ultimate goal is not [Initial Access](https://attack.mitre.org/tactics/TA0001) to that environment -- instead leveraging these devices to support additional targeting.
subclass of: Compromise Infrastructure

Social Media Accounts
type: Class
attack-id: T1585.001
definition: Adversaries may create and cultivate social media accounts that can be used during targeting. Adversaries can create social media accounts that can be used to build a persona to further operations. Persona development consists of the development of public information, presence, history and appropriate affiliations.(Citation: NEWSCASTER2014)(Citation: BlackHatRobinSage)
subclass of: Establish Accounts

Email Accounts
type: Class
attack-id: T1585.002
definition: Adversaries may create email accounts that can be used during targeting. Adversaries can use accounts created with email providers to further their operations, such as leveraging them to conduct [Phishing for Information](https://attack.mitre.org/techniques/T1598) or [Phishing](https://attack.mitre.org/techniques/T1566).(Citation: Mandiant APT1) Establishing email accounts may also allow adversaries to abuse free services – such as trial periods – to [Acquire Infrastructure](https://attack.mitre.org/techniques/T1583) for follow-on purposes.(Citation: Free Trial PurpleUrchin)
subclass of: Establish Accounts

Cloud Accounts
type: Class
attack-id: T1585.003
definition: Adversaries may create accounts with cloud providers that can be used during targeting. Adversaries can use cloud accounts to further their operations, including leveraging cloud storage services such as Dropbox, MEGA, Microsoft OneDrive, or AWS S3 buckets for [Exfiltration to Cloud Storage](https://attack.mitre.org/techniques/T1567/002) or to [Upload Tool](https://attack.mitre.org/techniques/T1608/002)s. Cloud accounts can also be used in the acquisition of infrastructure, such as [Virtual Private Server](https://attack.mitre.org/techniques/T1583/003)s or [Serverless](https://attack.mitre.org/techniques/T1583/007) infrastructure. Establishing cloud accounts may allow adversaries to develop sophisticated capabilities without managing their own servers.(Citation: Awake Security C2 Cloud)
subclass of: Establish Accounts

Social Media Accounts
type: Class
attack-id: T1586.001
definition: Adversaries may compromise social media accounts that can be used during targeting. For operations incorporating social engineering, the utilization of an online persona may be important. Rather than creating and cultivating social media profiles (i.e. [Social Media Accounts](https://attack.mitre.org/techniques/T1585/001)), adversaries may compromise existing social media accounts. Utilizing an existing persona may engender a level of trust in a potential victim if they have a relationship, or knowledge of, the compromised persona.
subclass of: Compromise Accounts

Email Accounts
type: Class
attack-id: T1586.002
definition: Adversaries may compromise email accounts that can be used during targeting. Adversaries can use compromised email accounts to further their operations, such as leveraging them to conduct [Phishing for Information](https://attack.mitre.org/techniques/T1598), [Phishing](https://attack.mitre.org/techniques/T1566), or large-scale spam email campaigns. Utilizing an existing persona with a compromised email account may engender a level of trust in a potential victim if they have a relationship with, or knowledge of, the compromised persona. Compromised email accounts can also be used in the acquisition of infrastructure (ex: [Domains](https://attack.mitre.org/techniques/T1583/001)).
subclass of: Compromise Accounts

Cloud Accounts
type: Class
attack-id: T1586.003
definition: Adversaries may compromise cloud accounts that can be used during targeting. Adversaries can use compromised cloud accounts to further their operations, including leveraging cloud storage services such as Dropbox, Microsoft OneDrive, or AWS S3 buckets for [Exfiltration to Cloud Storage](https://attack.mitre.org/techniques/T1567/002) or to [Upload Tool](https://attack.mitre.org/techniques/T1608/002)s. Cloud accounts can also be used in the acquisition of infrastructure, such as [Virtual Private Server](https://attack.mitre.org/techniques/T1583/003)s or [Serverless](https://attack.mitre.org/techniques/T1583/007) infrastructure. Compromising cloud accounts may allow adversaries to develop sophisticated capabilities without managing their own servers.(Citation: Awake Security C2 Cloud)
subclass of: Compromise Accounts

Malware
type: Class
attack-id: T1587.001
definition: Adversaries may develop malware and malware components that can be used during targeting. Building malicious software can include the development of payloads, droppers, post-compromise tools, backdoors (including backdoored images), packers, C2 protocols, and the creation of infected removable media. Adversaries may develop malware to support their operations, creating a means for maintaining control of remote machines, evading defenses, and executing post-compromise behaviors.(Citation: Mandiant APT1)(Citation: Kaspersky Sofacy)(Citation: ActiveMalwareEnergy)(Citation: FBI Flash FIN7 USB)
subclass of: Develop Capabilities

Code Signing Certificates
type: Class
attack-id: T1587.002
definition: Adversaries may create self-signed code signing certificates that can be used during targeting. Code signing is the process of digitally signing executables and scripts to confirm the software author and guarantee that the code has not been altered or corrupted. Code signing provides a level of authenticity for a program from the developer and a guarantee that the program has not been tampered with.(Citation: Wikipedia Code Signing) Users and/or security tools may trust a signed piece of code more than an unsigned piece of code even if they don't know who issued the certificate or who the author is.
subclass of: Develop Capabilities

Digital Certificates
type: Class
attack-id: T1587.003
definition: Adversaries may create self-signed SSL/TLS certificates that can be used during targeting. SSL/TLS certificates are designed to instill trust. They include information about the key, information about its owner's identity, and the digital signature of an entity that has verified the certificate's contents are correct. If the signature is valid, and the person examining the certificate trusts the signer, then they know they can use that key to communicate with its owner. In the case of self-signing, digital certificates will lack the element of trust associated with the signature of a third-party certificate authority (CA).
subclass of: Develop Capabilities

Exploits
type: Class
attack-id: T1587.004
definition: Adversaries may develop exploits that can be used during targeting. An exploit takes advantage of a bug or vulnerability in order to cause unintended or unanticipated behavior to occur on computer hardware or software. Rather than finding/modifying exploits from online or purchasing them from exploit vendors, an adversary may develop their own exploits.(Citation: NYTStuxnet) Adversaries may use information acquired via [Vulnerabilities](https://attack.mitre.org/techniques/T1588/006) to focus exploit development efforts. As part of the exploit development process, adversaries may uncover exploitable vulnerabilities through methods such as fuzzing and patch analysis.(Citation: Irongeek Sims BSides 2017)
subclass of: Develop Capabilities

Malware
type: Class
attack-id: T1588.001
definition: Adversaries may buy, steal, or download malware that can be used during targeting. Malicious software can include payloads, droppers, post-compromise tools, backdoors, packers, and C2 protocols. Adversaries may acquire malware to support their operations, obtaining a means for maintaining control of remote machines, evading defenses, and executing post-compromise behaviors.
subclass of: Obtain Capabilities

Tool
type: Class
attack-id: T1588.002
definition: Adversaries may buy, steal, or download software tools that can be used during targeting. Tools can be open or closed source, free or commercial. A tool can be used for malicious purposes by an adversary, but (unlike malware) were not intended to be used for those purposes (ex: [PsExec](https://attack.mitre.org/software/S0029)). Tool acquisition can involve the procurement of commercial software licenses, including for red teaming tools such as [Cobalt Strike](https://attack.mitre.org/software/S0154). Commercial software may be obtained through purchase, stealing licenses (or licensed copies of the software), or cracking trial versions.(Citation: Recorded Future Beacon 2019)
subclass of: Obtain Capabilities

Code Signing Certificates
type: Class
attack-id: T1588.003
definition: Adversaries may buy and/or steal code signing certificates that can be used during targeting. Code signing is the process of digitally signing executables and scripts to confirm the software author and guarantee that the code has not been altered or corrupted. Code signing provides a level of authenticity for a program from the developer and a guarantee that the program has not been tampered with.(Citation: Wikipedia Code Signing) Users and/or security tools may trust a signed piece of code more than an unsigned piece of code even if they don't know who issued the certificate or who the author is.
subclass of: Obtain Capabilities

Digital Certificates
type: Class
attack-id: T1588.004
definition: Adversaries may buy and/or steal SSL/TLS certificates that can be used during targeting. SSL/TLS certificates are designed to instill trust. They include information about the key, information about its owner's identity, and the digital signature of an entity that has verified the certificate's contents are correct. If the signature is valid, and the person examining the certificate trusts the signer, then they know they can use that key to communicate with its owner.
subclass of: Obtain Capabilities

Exploits
type: Class
attack-id: T1588.005
definition: Adversaries may buy, steal, or download exploits that can be used during targeting. An exploit takes advantage of a bug or vulnerability in order to cause unintended or unanticipated behavior to occur on computer hardware or software. Rather than developing their own exploits, an adversary may find/modify exploits from online or purchase them from exploit vendors.(Citation: Exploit Database)(Citation: TempertonDarkHotel)(Citation: NationsBuying)
subclass of: Obtain Capabilities

Vulnerabilities
type: Class
attack-id: T1588.006
definition: Adversaries may acquire information about vulnerabilities that can be used during targeting. A vulnerability is a weakness in computer hardware or software that can, potentially, be exploited by an adversary to cause unintended or unanticipated behavior to occur. Adversaries may find vulnerability information by searching open databases or gaining access to closed vulnerability databases.(Citation: National Vulnerability Database)
subclass of: Obtain Capabilities

Artificial Intelligence
type: Class
attack-id: T1588.007
definition: Adversaries may obtain access to generative artificial intelligence tools, such as large language models (LLMs), to aid various techniques during targeting. These tools may be used to inform, bolster, and enable a variety of malicious tasks including conducting [Reconnaissance](https://attack.mitre.org/tactics/TA0043), creating basic scripts, assisting social engineering, and even developing payloads.(Citation: MSFT-AI)
subclass of: Obtain Capabilities

Credentials
type: Class
attack-id: T1589.001
definition: Adversaries may gather credentials that can be used during targeting. Account credentials gathered by adversaries may be those directly associated with the target victim organization or attempt to take advantage of the tendency for users to use the same passwords across personal and business accounts.
subclass of: Gather Victim Identity Information

Email Addresses
type: Class
attack-id: T1589.002
definition: Adversaries may gather email addresses that can be used during targeting. Even if internal instances exist, organizations may have public-facing email infrastructure and addresses for employees.
subclass of: Gather Victim Identity Information

Employee Names
type: Class
attack-id: T1589.003
definition: Adversaries may gather employee names that can be used during targeting. Employee names be used to derive email addresses as well as to help guide other reconnaissance efforts and/or craft more-believable lures.
subclass of: Gather Victim Identity Information

Domain Properties
type: Class
attack-id: T1590.001
definition: Adversaries may gather information about the victim's network domain(s) that can be used during targeting. Information about domains and their properties may include a variety of details, including what domain(s) the victim owns as well as administrative data (ex: name, registrar, etc.) and more directly actionable information such as contacts (email addresses and phone numbers), business addresses, and name servers.
subclass of: Gather Victim Network Information

DNS
type: Class
attack-id: T1590.002
definition: Adversaries may gather information about the victim's DNS that can be used during targeting. DNS information may include a variety of details, including registered name servers as well as records that outline addressing for a target’s subdomains, mail servers, and other hosts. DNS, MX, TXT, and SPF records may also reveal the use of third party cloud and SaaS providers, such as Office 365, G Suite, Salesforce, or Zendesk.(Citation: Sean Metcalf Twitter DNS Records)
subclass of: Gather Victim Network Information

Network Trust Dependencies
type: Class
attack-id: T1590.003
definition: Adversaries may gather information about the victim's network trust dependencies that can be used during targeting. Information about network trusts may include a variety of details, including second or third-party organizations/domains (ex: managed service providers, contractors, etc.) that have connected (and potentially elevated) network access.
subclass of: Gather Victim Network Information

Network Topology
type: Class
attack-id: T1590.004
definition: Adversaries may gather information about the victim's network topology that can be used during targeting. Information about network topologies may include a variety of details, including the physical and/or logical arrangement of both external-facing and internal network environments. This information may also include specifics regarding network devices (gateways, routers, etc.) and other infrastructure.
subclass of: Gather Victim Network Information

IP Addresses
type: Class
attack-id: T1590.005
definition: Adversaries may gather the victim's IP addresses that can be used during targeting. Public IP addresses may be allocated to organizations by block, or a range of sequential addresses. Information about assigned IP addresses may include a variety of details, such as which IP addresses are in use. IP addresses may also enable an adversary to derive other details about a victim, such as organizational size, physical location(s), Internet service provider, and or where/how their publicly-facing infrastructure is hosted.
subclass of: Gather Victim Network Information

Network Security Appliances
type: Class
attack-id: T1590.006
definition: Adversaries may gather information about the victim's network security appliances that can be used during targeting. Information about network security appliances may include a variety of details, such as the existence and specifics of deployed firewalls, content filters, and proxies/bastion hosts. Adversaries may also target information about victim network-based intrusion detection systems (NIDS) or other appliances related to defensive cybersecurity operations.
subclass of: Gather Victim Network Information

Determine Physical Locations
type: Class
attack-id: T1591.001
definition: Adversaries may gather the victim's physical location(s) that can be used during targeting. Information about physical locations of a target organization may include a variety of details, including where key resources and infrastructure are housed. Physical locations may also indicate what legal jurisdiction and/or authorities the victim operates within.
subclass of: Gather Victim Org Information

Business Relationships
type: Class
attack-id: T1591.002
definition: Adversaries may gather information about the victim's business relationships that can be used during targeting. Information about an organization’s business relationships may include a variety of details, including second or third-party organizations/domains (ex: managed service providers, contractors, etc.) that have connected (and potentially elevated) network access. This information may also reveal supply chains and shipment paths for the victim’s hardware and software resources.
subclass of: Gather Victim Org Information

Identify Business Tempo
type: Class
attack-id: T1591.003
definition: Adversaries may gather information about the victim's business tempo that can be used during targeting. Information about an organization’s business tempo may include a variety of details, including operational hours/days of the week. This information may also reveal times/dates of purchases and shipments of the victim’s hardware and software resources.
subclass of: Gather Victim Org Information

Identify Roles
type: Class
attack-id: T1591.004
definition: Adversaries may gather information about identities and roles within the victim organization that can be used during targeting. Information about business roles may reveal a variety of targetable details, including identifiable information for key personnel as well as what data/resources they have access to.
subclass of: Gather Victim Org Information

Hardware
type: Class
attack-id: T1592.001
definition: Adversaries may gather information about the victim's host hardware that can be used during targeting. Information about hardware infrastructure may include a variety of details such as types and versions on specific hosts, as well as the presence of additional components that might be indicative of added defensive protections (ex: card/biometric readers, dedicated encryption hardware, etc.).
subclass of: Gather Victim Host Information

Software
type: Class
attack-id: T1592.002
definition: Adversaries may gather information about the victim's host software that can be used during targeting. Information about installed software may include a variety of details such as types and versions on specific hosts, as well as the presence of additional components that might be indicative of added defensive protections (ex: antivirus, SIEMs, etc.).
subclass of: Gather Victim Host Information

Firmware
type: Class
attack-id: T1592.003
definition: Adversaries may gather information about the victim's host firmware that can be used during targeting. Information about host firmware may include a variety of details such as type and versions on specific hosts, which may be used to infer more information about hosts in the environment (ex: configuration, purpose, age/patch level, etc.).
subclass of: Gather Victim Host Information

Client Configurations
type: Class
attack-id: T1592.004
definition: Adversaries may gather information about the victim's client configurations that can be used during targeting. Information about client configurations may include a variety of details and settings, including operating system/version, virtualization, architecture (ex: 32 or 64 bit), language, and/or time zone.
subclass of: Gather Victim Host Information

Social Media
type: Class
attack-id: T1593.001
definition: Adversaries may search social media for information about victims that can be used during targeting. Social media sites may contain various information about a victim organization, such as business announcements as well as information about the roles, locations, and interests of staff.
subclass of: Search Open Websites/Domains

Search Engines
type: Class
attack-id: T1593.002
definition: Adversaries may use search engines to collect information about victims that can be used during targeting. Search engine services typical crawl online sites to index context and may provide users with specialized syntax to search for specific keywords or specific types of content (i.e. filetypes).(Citation: SecurityTrails Google Hacking)(Citation: ExploitDB GoogleHacking)
subclass of: Search Open Websites/Domains

Code Repositories
type: Class
attack-id: T1593.003
definition: Adversaries may search public code repositories for information about victims that can be used during targeting. Victims may store code in repositories on various third-party websites such as GitHub, GitLab, SourceForge, and BitBucket. Users typically interact with code repositories through a web application or command-line utilities such as git.
subclass of: Search Open Websites/Domains

Search Victim-Owned Websites
type: Class
attack-id: T1594
definition: Adversaries may search websites owned by the victim for information that can be used during targeting. Victim-owned websites may contain a variety of details, including names of departments/divisions, physical locations, and data about key employees such as names, roles, and contact info (ex: [Email Addresses](https://attack.mitre.org/techniques/T1589/002)). These sites may also have details highlighting business operations and relationships.(Citation: Comparitech Leak)
subclass of: Reconnaissance Technique

Scanning IP Blocks
type: Class
attack-id: T1595.001
definition: Adversaries may scan victim IP blocks to gather information that can be used during targeting. Public IP addresses may be allocated to organizations by block, or a range of sequential addresses.
subclass of: Active Scanning

Vulnerability Scanning
type: Class
attack-id: T1595.002
definition: Adversaries may scan victims for vulnerabilities that can be used during targeting. Vulnerability scans typically check if the configuration of a target host/application (ex: software and version) potentially aligns with the target of a specific exploit the adversary may seek to use.
subclass of: Active Scanning

Wordlist Scanning
type: Class
attack-id: T1595.003
definition: Adversaries may iteratively probe infrastructure using brute-forcing and crawling techniques. While this technique employs similar methods to [Brute Force](https://attack.mitre.org/techniques/T1110), its goal is the identification of content and infrastructure rather than the discovery of valid credentials. Wordlists used in these scans may contain generic, commonly used names and file extensions or terms specific to a particular software. Adversaries may also create custom, target-specific wordlists using data gathered from other Reconnaissance techniques (ex: [Gather Victim Org Information](https://attack.mitre.org/techniques/T1591), or [Search Victim-Owned Websites](https://attack.mitre.org/techniques/T1594)).
subclass of: Active Scanning

DNS/Passive DNS
type: Class
attack-id: T1596.001
definition: Adversaries may search DNS data for information about victims that can be used during targeting. DNS information may include a variety of details, including registered name servers as well as records that outline addressing for a target’s subdomains, mail servers, and other hosts.
subclass of: Search Open Technical Databases

WHOIS
type: Class
attack-id: T1596.002
definition: Adversaries may search public WHOIS data for information about victims that can be used during targeting. WHOIS data is stored by regional Internet registries (RIR) responsible for allocating and assigning Internet resources such as domain names. Anyone can query WHOIS servers for information about a registered domain, such as assigned IP blocks, contact information, and DNS nameservers.(Citation: WHOIS)
subclass of: Search Open Technical Databases

Digital Certificates
type: Class
attack-id: T1596.003
definition: Adversaries may search public digital certificate data for information about victims that can be used during targeting. Digital certificates are issued by a certificate authority (CA) in order to cryptographically verify the origin of signed content. These certificates, such as those used for encrypted web traffic (HTTPS SSL/TLS communications), contain information about the registered organization such as name and location.
subclass of: Search Open Technical Databases

CDNs
type: Class
attack-id: T1596.004
definition: Adversaries may search content delivery network (CDN) data about victims that can be used during targeting. CDNs allow an organization to host content from a distributed, load balanced array of servers. CDNs may also allow organizations to customize content delivery based on the requestor’s geographical region.
subclass of: Search Open Technical Databases

Scan Databases
type: Class
attack-id: T1596.005
definition: Adversaries may search within public scan databases for information about victims that can be used during targeting. Various online services continuously publish the results of Internet scans/surveys, often harvesting information such as active IP addresses, hostnames, open ports, certificates, and even server banners.(Citation: Shodan)
subclass of: Search Open Technical Databases

Threat Intel Vendors
type: Class
attack-id: T1597.001
definition: Adversaries may search private data from threat intelligence vendors for information that can be used during targeting. Threat intelligence vendors may offer paid feeds or portals that offer more data than what is publicly reported. Although sensitive details (such as customer names and other identifiers) may be redacted, this information may contain trends regarding breaches such as target industries, attribution claims, and successful TTPs/countermeasures.(Citation: D3Secutrity CTI Feeds)
subclass of: Search Closed Sources

Purchase Technical Data
type: Class
attack-id: T1597.002
definition: Adversaries may purchase technical information about victims that can be used during targeting. Information about victims may be available for purchase within reputable private sources and databases, such as paid subscriptions to feeds of scan databases or other data aggregation services. Adversaries may also purchase information from less-reputable sources such as dark web or cybercrime blackmarkets.
subclass of: Search Closed Sources

Spearphishing Service
type: Class
attack-id: T1598.001
definition: Adversaries may send spearphishing messages via third-party services to elicit sensitive information that can be used during targeting. Spearphishing for information is an attempt to trick targets into divulging information, frequently credentials or other actionable information. Spearphishing for information frequently involves social engineering techniques, such as posing as a source with a reason to collect information (ex: [Establish Accounts](https://attack.mitre.org/techniques/T1585) or [Compromise Accounts](https://attack.mitre.org/techniques/T1586)) and/or sending multiple, seemingly urgent messages.
subclass of: Phishing for Information

Spearphishing Attachment
type: Class
attack-id: T1598.002
definition: Adversaries may send spearphishing messages with a malicious attachment to elicit sensitive information that can be used during targeting. Spearphishing for information is an attempt to trick targets into divulging information, frequently credentials or other actionable information. Spearphishing for information frequently involves social engineering techniques, such as posing as a source with a reason to collect information (ex: [Establish Accounts](https://attack.mitre.org/techniques/T1585) or [Compromise Accounts](https://attack.mitre.org/techniques/T1586)) and/or sending multiple, seemingly urgent messages.
subclass of: Phishing for Information

Spearphishing Link
type: Class
attack-id: T1598.003
definition: Adversaries may send spearphishing messages with a malicious link to elicit sensitive information that can be used during targeting. Spearphishing for information is an attempt to trick targets into divulging information, frequently credentials or other actionable information. Spearphishing for information frequently involves social engineering techniques, such as posing as a source with a reason to collect information (ex: [Establish Accounts](https://attack.mitre.org/techniques/T1585) or [Compromise Accounts](https://attack.mitre.org/techniques/T1586)) and/or sending multiple, seemingly urgent messages.
subclass of: Phishing for Information

Spearphishing Voice
type: Class
attack-id: T1598.004
definition: Adversaries may use voice communications to elicit sensitive information that can be used during targeting. Spearphishing for information is an attempt to trick targets into divulging information, frequently credentials or other actionable information. Spearphishing for information frequently involves social engineering techniques, such as posing as a source with a reason to collect information (ex: [Impersonation](https://attack.mitre.org/techniques/T1656)) and/or creating a sense of urgency or alarm for the recipient.
subclass of: Phishing for Information

Network Address Translation Traversal
type: Class
attack-id: T1599.001
definition: Adversaries may bridge network boundaries by modifying a network device’s Network Address Translation (NAT) configuration. Malicious modifications to NAT may enable an adversary to bypass restrictions on traffic routing that otherwise separate trusted and untrusted networks.
subclass of: Network Boundary Bridging

Reduce Key Space
type: Class
attack-id: T1600.001
definition: Adversaries may reduce the level of effort required to decrypt data transmitted over the network by reducing the cipher strength of encrypted communications.(Citation: Cisco Synful Knock Evolution)
subclass of: Weaken Encryption

Disable Crypto Hardware
type: Class
attack-id: T1600.002
definition: Adversaries disable a network device’s dedicated hardware encryption, which may enable them to leverage weaknesses in software encryption in order to reduce the effort involved in collecting, manipulating, and exfiltrating transmitted data.
subclass of: Weaken Encryption

Patch System Image
type: Class
attack-id: T1601.001
definition: Adversaries may modify the operating system of a network device to introduce new capabilities or weaken existing defenses.(Citation: Killing the myth of Cisco IOS rootkits) (Citation: Killing IOS diversity myth) (Citation: Cisco IOS Shellcode) (Citation: Cisco IOS Forensics Developments) (Citation: Juniper Netscreen of the Dead) Some network devices are built with a monolithic architecture, where the entire operating system and most of the functionality of the device is contained within a single file. Adversaries may change this file in storage, to be loaded in a future boot, or in memory during runtime.
subclass of: Modify System Image

Downgrade System Image
type: Class
attack-id: T1601.002
definition: Adversaries may install an older version of the operating system of a network device to weaken security. Older operating system versions on network devices often have weaker encryption ciphers and, in general, fewer/less updated defensive features. (Citation: Cisco Synful Knock Evolution)
subclass of: Modify System Image

SNMP (MIB Dump)
type: Class
attack-id: T1602.001
definition: Adversaries may target the Management Information Base (MIB) to collect and/or mine valuable information in a network managed using Simple Network Management Protocol (SNMP).
subclass of: Data from Configuration Repository

Network Device Configuration Dump
type: Class
attack-id: T1602.002
definition: Adversaries may access network configuration files to collect sensitive data about the device and the network. The network configuration is a file containing parameters that determine the operation of the device. The device typically stores an in-memory copy of the configuration while operating, and a separate configuration on non-volatile storage to load after device reset. Adversaries can inspect the configuration files to reveal information about the target network and its layout, the network device and its software, or identifying legitimate accounts and credentials for later use.
subclass of: Data from Configuration Repository

Web Cookies
type: Class
attack-id: T1606.001
definition: Adversaries may forge web cookies that can be used to gain access to web applications or Internet services. Web applications and services (hosted in cloud SaaS environments or on-premise servers) often use session cookies to authenticate and authorize user access.
subclass of: Forge Web Credentials

SAML Tokens
type: Class
attack-id: T1606.002
definition: An adversary may forge SAML tokens with any permissions claims and lifetimes if they possess a valid SAML token-signing certificate.(Citation: Microsoft SolarWinds Steps) The default lifetime of a SAML token is one hour, but the validity period can be specified in the NotOnOrAfter value of the conditions ... element in a token. This value can be changed using the AccessTokenLifetime in a LifetimeTokenPolicy.(Citation: Microsoft SAML Token Lifetimes) Forged SAML tokens enable adversaries to authenticate across services that use SAML 2.0 as an SSO (single sign-on) mechanism.(Citation: Cyberark Golden SAML)
subclass of: Forge Web Credentials

Upload Malware
type: Class
attack-id: T1608.001
definition: Adversaries may upload malware to third-party or adversary controlled infrastructure to make it accessible during targeting. Malicious software can include payloads, droppers, post-compromise tools, backdoors, and a variety of other malicious content. Adversaries may upload malware to support their operations, such as making a payload available to a victim network to enable [Ingress Tool Transfer](https://attack.mitre.org/techniques/T1105) by placing it on an Internet accessible web server.
subclass of: Stage Capabilities

Upload Tool
type: Class
attack-id: T1608.002
definition: Adversaries may upload tools to third-party or adversary controlled infrastructure to make it accessible during targeting. Tools can be open or closed source, free or commercial. Tools can be used for malicious purposes by an adversary, but (unlike malware) were not intended to be used for those purposes (ex: [PsExec](https://attack.mitre.org/software/S0029)). Adversaries may upload tools to support their operations, such as making a tool available to a victim network to enable [Ingress Tool Transfer](https://attack.mitre.org/techniques/T1105) by placing it on an Internet accessible web server.
subclass of: Stage Capabilities

Install Digital Certificate
type: Class
attack-id: T1608.003
definition: Adversaries may install SSL/TLS certificates that can be used during targeting. SSL/TLS certificates are files that can be installed on servers to enable secure communications between systems. Digital certificates include information about the key, information about its owner's identity, and the digital signature of an entity that has verified the certificate's contents are correct. If the signature is valid, and the person examining the certificate trusts the signer, then they know they can use that key to communicate securely with its owner. Certificates can be uploaded to a server, then the server can be configured to use the certificate to enable encrypted communication with it.(Citation: DigiCert Install SSL Cert)
subclass of: Stage Capabilities

Drive-by Target
type: Class
attack-id: T1608.004
definition: Adversaries may prepare an operational environment to infect systems that visit a website over the normal course of browsing. Endpoint systems may be compromised through browsing to adversary controlled sites, as in [Drive-by Compromise](https://attack.mitre.org/techniques/T1189). In such cases, the user's web browser is typically targeted for exploitation (often not requiring any extra user interaction once landing on the site), but adversaries may also set up websites for non-exploitation behavior such as [Application Access Token](https://attack.mitre.org/techniques/T1550/001). Prior to [Drive-by Compromise](https://attack.mitre.org/techniques/T1189), adversaries must stage resources needed to deliver that exploit to users who browse to an adversary controlled site. Drive-by content can be staged on adversary controlled infrastructure that has been acquired ([Acquire Infrastructure](https://attack.mitre.org/techniques/T1583)) or previously compromised ([Compromise Infrastructure](https://attack.mitre.org/techniques/T1584)).
subclass of: Stage Capabilities

Link Target
type: Class
attack-id: T1608.005
definition: Adversaries may put in place resources that are referenced by a link that can be used during targeting. An adversary may rely upon a user clicking a malicious link in order to divulge information (including credentials) or to gain execution, as in [Malicious Link](https://attack.mitre.org/techniques/T1204/001). Links can be used for spearphishing, such as sending an email accompanied by social engineering text to coax the user to actively click or copy and paste a URL into a browser. Prior to a phish for information (as in [Spearphishing Link](https://attack.mitre.org/techniques/T1598/003)) or a phish to gain initial access to a system (as in [Spearphishing Link](https://attack.mitre.org/techniques/T1566/002)), an adversary must set up the resources for a link target for the spearphishing link.
subclass of: Stage Capabilities

SEO Poisoning
type: Class
attack-id: T1608.006
definition: Adversaries may poison mechanisms that influence search engine optimization (SEO) to further lure staged capabilities towards potential victims. Search engines typically display results to users based on purchased ads as well as the site’s ranking/score/reputation calculated by their web crawlers and algorithms.(Citation: Atlas SEO)(Citation: MalwareBytes SEO)
subclass of: Stage Capabilities

Container Administration Command
type: Class
attack-id: T1609
definition: Adversaries may abuse a container administration service to execute commands within a container. A container administration service such as the Docker daemon, the Kubernetes API server, or the kubelet may allow remote management of containers within an environment.(Citation: Docker Daemon CLI)(Citation: Kubernetes API)(Citation: Kubernetes Kubelet)
subclass of: ExecutionTechnique

Deploy Container
type: Class
attack-id: T1610
definition: Adversaries may deploy a container into an environment to facilitate execution or evade defenses. In some cases, adversaries may deploy a new container to execute processes associated with a particular image or deployment, such as processes that execute or download malware. In others, an adversary may deploy a new container configured without network rules, user limitations, etc. to bypass existing defenses within the environment. In Kubernetes environments, an adversary may attempt to deploy a privileged or vulnerable container into a specific node in order to [Escape to Host](https://attack.mitre.org/techniques/T1611) and access other containers running on the node. (Citation: AppSecco Kubernetes Namespace Breakout 2020)
subclass of: DefenseEvasionTechnique
subclass of: ExecutionTechnique

Escape to Host
type: Class
attack-id: T1611
definition: Adversaries may break out of a container to gain access to the underlying host. This can allow an adversary access to other containerized resources from the host level or to the host itself. In principle, containerized resources should provide a clear separation of application functionality and be isolated from the host environment.(Citation: Docker Overview)
subclass of: PrivilegeEscalationTechnique

Build Image on Host
type: Class
attack-id: T1612
definition: Adversaries may build a container image directly on a host to bypass defenses that monitor for the retrieval of malicious images from a public registry. A remote build request may be sent to the Docker API that includes a Dockerfile that pulls a vanilla base image, such as alpine, from a public or local registry and then builds a custom image upon it.(Citation: Docker Build Image)
subclass of: DefenseEvasionTechnique

Container and Resource Discovery
type: Class
attack-id: T1613
definition: Adversaries may attempt to discover containers and other resources that are available within a containers environment. Other resources may include images, deployments, pods, nodes, and other information such as the status of a cluster.
subclass of: DiscoveryTechnique

System Language Discovery
type: Class
type: NamedIndividual
attack-id: T1614.001
definition: Adversaries may attempt to gather information about the system language of a victim in order to infer the geographical location of that host. This information may be used to shape follow-on behaviors, including whether the adversary infects the target and/or attempts specific actions. This decision may be employed by malware developers and operators to reduce their risk of attracting the attention of specific law enforcement agencies or prosecution/scrutiny from other entities.(Citation: Malware System Language Check)
queries: SystemConfigurationDatabase
subclass of: Restriction
  on property: queries
  some values from: SystemConfigurationDatabase
subclass of: System Location Discovery

Group Policy Discovery
type: Class
type: NamedIndividual
attack-id: T1615
definition: Adversaries may gather information on Group Policy settings to identify paths for privilege escalation, security measures applied within a domain, and to discover patterns in domain objects that can be manipulated or used to blend in the environment. Group Policy allows for centralized management of user and computer settings in Active Directory (AD). Group policy objects (GPOs) are containers for group policy settings made up of files stored within a predictable network path `\<DOMAIN>\SYSVOL\<DOMAIN>\Policies\`.(Citation: TechNet Group Policy Basics)(Citation: ADSecurity GPO Persistence 2016)
reads: Group Policy
subclass of: Restriction
  on property: reads
  some values from: Group Policy
subclass of: DiscoveryTechnique

Cloud Storage Object Discovery
type: Class
type: NamedIndividual
accesses: Cloud Storage
attack-id: T1619
definition: Adversaries may enumerate objects in cloud storage infrastructure. Adversaries may use this information during automated discovery to shape follow-on behaviors, including requesting all or specific objects from cloud storage. Similar to [File and Directory Discovery](https://attack.mitre.org/techniques/T1083) on a local host, after identifying available storage services (i.e. [Cloud Infrastructure Discovery](https://attack.mitre.org/techniques/T1580)) adversaries may access the contents/objects stored in cloud infrastructure.
subclass of: Restriction
  on property: accesses
  some values from: Cloud Storage
subclass of: DiscoveryTechnique

Reflective Code Loading
type: Class
type: NamedIndividual
attack-id: T1620
definition: Adversaries may reflectively load code into a process in order to conceal the execution of malicious payloads. Reflective loading involves allocating then executing payloads directly within the memory of the process, vice creating a thread or process backed by a file path on disk (e.g., [Shared Modules](https://attack.mitre.org/techniques/T1129)).
modifies: ProcessSegment
subclass of: Restriction
  on property: modifies
  some values from: ProcessSegment
subclass of: DefenseEvasionTechnique

Multi-Factor Authentication Request Generation
type: Class
attack-id: T1621
definition: Adversaries may attempt to bypass multi-factor authentication (MFA) mechanisms and gain access to accounts by generating MFA requests sent to users.
subclass of: CredentialAccessTechnique

Debugger Evasion
type: Class
attack-id: T1622
definition: Adversaries may employ various means to detect and avoid debuggers. Debuggers are typically used by defenders to trace and/or analyze the execution of potential malware payloads.(Citation: ProcessHacker Github)
subclass of: DefenseEvasionTechnique
subclass of: DiscoveryTechnique

Plist File Modification
type: Class
attack-id: T1647
definition: Adversaries may modify property list files (plist files) to enable other malicious activity, while also potentially evading and bypassing system defenses. macOS applications use plist files, such as the info.plist file, to store properties and configuration settings that inform the operating system how to handle the application at runtime. Plist files are structured metadata in key-value pairs formatted in XML based on Apple's Core Foundation DTD. Plist files can be saved in text or binary format.(Citation: fileinfo plist file description)
subclass of: DefenseEvasionTechnique

Serverless Execution
type: Class
attack-id: T1648
definition: Adversaries may abuse serverless computing, integration, and automation services to execute arbitrary code in cloud environments. Many cloud providers offer a variety of serverless resources, including compute engines, application integration services, and web servers.
subclass of: ExecutionTechnique

Steal or Forge Authentication Certificates
type: Class
attack-id: T1649
definition: Adversaries may steal or forge certificates used for authentication to access remote systems or resources. Digital certificates are often used to sign and encrypt messages and/or files. Certificates are also used as authentication material. For example, Azure AD device certificates and Active Directory Certificate Services (AD CS) certificates bind to an identity and can be used as credentials for domain accounts.(Citation: O365 Blog Azure AD Device IDs)(Citation: Microsoft AD CS Overview)
subclass of: CredentialAccessTechnique

Acquire Access
type: Class
attack-id: T1650
definition: Adversaries may purchase or otherwise acquire an existing access to a target system or network. A variety of online services and initial access broker networks are available to sell access to previously compromised systems.(Citation: Microsoft Ransomware as a Service)(Citation: CrowdStrike Access Brokers)(Citation: Krebs Access Brokers Fortune 500) In some cases, adversary groups may form partnerships to share compromised systems with each other.(Citation: CISA Karakurt 2022)
subclass of: Resource Development Technique

Cloud Administration Command
type: Class
attack-id: T1651
definition: Adversaries may abuse cloud management services to execute commands within virtual machines. Resources such as AWS Systems Manager, Azure RunCommand, and Runbooks allow users to remotely run scripts in virtual machines by leveraging installed virtual machine agents. (Citation: AWS Systems Manager Run Command)(Citation: Microsoft Run Command)
subclass of: ExecutionTechnique

Device Driver Discovery
type: Class
attack-id: T1652
definition: Adversaries may attempt to enumerate local device drivers on a victim host. Information about device drivers may highlight various insights that shape follow-on behaviors, such as the function/purpose of the host, present security tools (i.e. [Security Software Discovery](https://attack.mitre.org/techniques/T1518/001)) or other defenses (e.g., [Virtualization/Sandbox Evasion](https://attack.mitre.org/techniques/T1497)), as well as potential exploitable vulnerabilities (e.g., [Exploitation for Privilege Escalation](https://attack.mitre.org/techniques/T1068)).
subclass of: DiscoveryTechnique

Power Settings
type: Class
attack-id: T1653
definition: Adversaries may impair a system's ability to hibernate, reboot, or shut down in order to extend access to infected machines. When a computer enters a dormant state, some or all software and hardware may cease to operate which can disrupt malicious activity.(Citation: Sleep, shut down, hibernate)
subclass of: PersistenceTechnique

Log Enumeration
type: Class
attack-id: T1654
definition: Adversaries may enumerate system and service logs to find useful data. These logs may highlight various types of valuable insights for an adversary, such as user authentication records ([Account Discovery](https://attack.mitre.org/techniques/T1087)), security or vulnerable software ([Software Discovery](https://attack.mitre.org/techniques/T1518)), or hosts within a compromised network ([Remote System Discovery](https://attack.mitre.org/techniques/T1018)).
subclass of: DiscoveryTechnique

Impersonation
type: Class
attack-id: T1656
definition: Adversaries may impersonate a trusted person or organization in order to persuade and trick a target into performing some action on their behalf. For example, adversaries may communicate with victims (via [Phishing for Information](https://attack.mitre.org/techniques/T1598), [Phishing](https://attack.mitre.org/techniques/T1566), or [Internal Spearphishing](https://attack.mitre.org/techniques/T1534)) while impersonating a known sender such as an executive, colleague, or third-party vendor. Established trust can then be leveraged to accomplish an adversary’s ultimate goals, possibly against multiple victims.
subclass of: DefenseEvasionTechnique

Financial Theft
type: Class
attack-id: T1657
definition: Adversaries may steal monetary resources from targets through extortion, social engineering, technical theft, or other methods aimed at their own financial gain at the expense of the availability of these resources for victims. Financial theft is the ultimate objective of several popular campaign types including extortion by ransomware,(Citation: FBI-ransomware) business email compromise (BEC) and fraud,(Citation: FBI-BEC) "pig butchering,"(Citation: wired-pig butchering) bank hacking,(Citation: DOJ-DPRK Heist) and exploiting cryptocurrency networks.(Citation: BBC-Ronin)
subclass of: ImpactTechnique

Content Injection
type: Class
attack-id: T1659
definition: Adversaries may gain access and continuously communicate with victims by injecting malicious content into systems through online network traffic. Rather than luring victims to malicious payloads hosted on a compromised website (i.e., [Drive-by Target](https://attack.mitre.org/techniques/T1608/004) followed by [Drive-by Compromise](https://attack.mitre.org/techniques/T1189)), adversaries may initially access victims through compromised data-transfer channels where they can manipulate traffic and/or inject their own content. These compromised online network channels may also be used to deliver additional payloads (i.e., [Ingress Tool Transfer](https://attack.mitre.org/techniques/T1105)) and other data to already compromised systems.(Citation: ESET MoustachedBouncer)
subclass of: CommandAndControlTechnique
subclass of: InitialAccessTechnique

Hide Infrastructure
type: Class
attack-id: T1665
definition: Adversaries may manipulate network traffic in order to hide and evade detection of their C2 infrastructure. This can be accomplished in various ways including by identifying and filtering traffic from defensive tools,(Citation: TA571) masking malicious domains to obfuscate the true destination from both automated scanning tools and security researchers,(Citation: Schema-abuse)(Citation: Facad1ng)(Citation: Browser-updates) and otherwise hiding malicious artifacts to delay discovery and prolong the effectiveness of adversary infrastructure that could otherwise be identified, blocked, or taken down entirely.
subclass of: CommandAndControlTechnique

TFTP Server
type: Class
definition: Trivial File Transfer Protocol (TFTP) is a simple file transfer protocol, typically used to automatically transfer configuration or boot files between machines. It is used where user authentication and directory visibility are not required.
subclass of: Server

Tablet Computer
type: Class
definition: A tablet computer, commonly shortened to tablet, is a mobile device, typically with a mobile operating system and touchscreen display processing circuitry, and a rechargeable battery in a single, thin and flat package. Tablets, being computers, do what other personal computers do, but lack some input/output (I/O) abilities that others have. Modern tablets largely resemble modern smartphones, the only differences being that tablets are relatively larger than smartphones, with screens 7 inches (18 cm) or larger, measured diagonally, and may not support access to a cellular network.
subclass of: Personal Computer
alternative label: Tablet

Temporal Logic
type: Class
type: NamedIndividual
d3fend-id: D3A-TL
definition: Temporal logic addresses the semantics of tense; i.e., qualifying expressions of when.
kb-article: ## References 1. Temporal logic. (2023, June 4). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Modal_logic#Temporal_logic)
subclass of: Modal Logic

Tertiary Storage
type: Class
definition: Tertiary storage or tertiary memory is memory primarily used for archiving rarely accessed information. It is primarily useful for extraordinarily large data stores. Typical examples include tape libraries and optical jukeboxes.
subclass of: HardwareDevice
subclass of: MemoryBlock
subclass of: Secondary Storage

Thread Start Function
type: Class
type: NamedIndividual
definition: A function which invokes a create thread system call.
executes: Thread
subclass of: Restriction
  on property: executes
  some values from: Thread
subclass of: Subroutine

Trajectory Prediction
type: Class
subclass of: Forecasting

Transducer Sensor
type: Class
subclass of: Sensor

Transformer-XL
type: Class
type: NamedIndividual
d3fend-id: D3A-TX
definition: Transformer-XL is a transformer architecture that introduces the notion of recurrence to the deep self-attention network. Instead of computing the hidden states from scratch for each new segment, Transformer-XL reuses the hidden states obtained in previous segments.
kb-article: ## References Transformer-XL. (n.d.). Papers with Code. [Link](https://paperswithcode.com/method/transformer-xl)
subclass of: Transformer-based Learning

Transport Link
type: Class
subclass of: Logical Link

Uncertainty Sampling
type: Class
type: NamedIndividual
d3fend-id: D3A-US
definition: Makes the utility inversely proportional to the uncertainty of the model with respect to the sample and will work with any model provided it can assess its uncertainty of a predection.
kb-article: ## References Intro to Active Learning. inovex Blog. [Link](https://www.inovex.de/de/blog/intro-to-active-learning/).
subclass of: Active Learning

Unit Test Execution Tool
type: Class
definition: An unit test execution tool automatically performs unit testing. Unit testing is a software testing method by which individual units of source code are tested to determine whether they are fit for use. Unit test execution tools work with sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures. This contrasts with integration testing, which tests inter-unit dependencies and the modules as a group.
subclass of: Test Execution Tool

Unix Hard Link
type: Class
definition: A Unix hard link is a hard link on a Unix file system.
subclass of: Hard Link
subclass of: Unix Link

User Behavior
type: Class
type: NamedIndividual
contains: User Action
definition: A user behavior is a pattern of user actions, or set of such patterns. Modeling and analyzing these patterns and monitoring a users actions for meaningful anomalies is known as user behavior analytics (UBA).
subclass of: Restriction
  on property: contains
  some values from: User Action
subclass of: DigitalInformationBearer

User Startup Directory
type: Class
type: NamedIndividual
contains: User Startup Script File
definition: A user startup directory holds information necessary to start the users session with the system.
subclass of: Restriction
  on property: contains
  some values from: User Startup Script File
subclass of: User Logon Init Resource

VPN Server
type: Class
definition: A VPN server is a type of server that enables hosting and delivery of VPN services. It is a combination of VPN hardware and software technologies that provides VPN clients with connectivity to a secure and/or private network, or rather, the VPN.
subclass of: Server

Variance Reduction
type: Class
type: NamedIndividual
d3fend-id: D3A-VR
definition: Leverages a well-known result from statistical learning and decomposes the model error into a data noise term, a model bias term and a model variance term. As the noise term only depends on the data and the bias is induced by the choice of model, any reduction in the error can only come from the variance term.
kb-article: ## References Intro to Active Learning. inovex Blog. [Link](https://www.inovex.de/de/blog/intro-to-active-learning/).
subclass of: Active Learning

Vendor
type: Class
subclass of: Restriction
  on property: sells
  some values from: Capability Implementation
subclass of: Provider

Version Control Tool
type: Class
definition: Version control tools are tools that used to conduct version control. A component of software configuration management, version control, also known as revision control, source control, or source code management systems are systems responsible for the management of changes to documents, computer programs, large web sites, and other collections of information. Changes are usually identified by a number or letter code, termed the "revision number", "revision level", or simply "revision". For example, an initial set of files is "revision 1". When the first change is made, the resulting set is "revision 2", and so on. Each revision is associated with a timestamp and the person making the change. Revisions can be compared, restored, and with some types of files, merged.
subclass of: Developer Application
alternative label: Revision Control
alternative label: Source Control

Virtual Memory Space
type: Class
definition: Virtual memory is a memory management technique where secondary memory can be used as if it were a part of the main memory. Virtual memory uses hardware and software to enable a computer to compensate for physical memory shortages
subclass of: Memory Address Space

Voting
type: Class
type: NamedIndividual
d3fend-id: D3A-VOT
definition: Voting is another form of ensembling.
kb-article: ## References Ensemble learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Ensemble_learning).
subclass of: Ensemble Learning

WHOIS Compatible Domain Registration
type: Domain Registration
type: NamedIndividual

Web API Resource
type: Class
definition: A web API resource is an API resource identified by a Uniform Resource Identifier (URI) and made available from one host to another host via a web protocol and across a network or networks.
subclass of: Web Resource

Web Application Firewall
type: Class
definition: A web application firewall (or WAF) filters, monitors, and blocks HTTP traffic to and from a web application. A WAF is differentiated from a regular firewall in that a WAF is able to filter the content of specific web applications while regular firewalls serve as a safety gate between servers. By inspecting HTTP traffic, it can prevent attacks stemming from web application security flaws, such as SQL injection, cross-site scripting (XSS), file inclusion, and security misconfigurations.
subclass of: Application Layer Firewall
alternative label: WAF

Web Application Server
type: Class
definition: A web application server is a web server that hosts applications. Application server frameworks are software frameworks for building application servers. An application server framework provides both facilities to create web applications and a server environment to run them. In the case of Java application servers, the server behaves like an extended virtual machine for running applications, transparently handling connections to the database on one side, and, often, connections to the Web client on the other.
subclass of: Web Server

Web Socket URL
type: URL
type: NamedIndividual

Wide Area Network
type: Class
definition: By contrast to a local area network (LAN), a wide area network (WAN), not only covers a larger geographic distance, but also generally involves leased telecommunication circuits or Internet links.
subclass of: Network
alternative label: WAN

Windows OpenFile
type: Class
type: NamedIndividual
definition: Creates, opens, reopens, or deletes a file.
invokes: Windows NtOpenFile
subclass of: Restriction
  on property: invokes
  some values from: Windows NtOpenFile
subclass of: OS API Create File
subclass of: OS API Open File

Windows Batch File
type: ExecutableScript
type: NamedIndividual

Windows CreateFileA
type: Class
type: NamedIndividual
definition: Creates or opens a file or I/O device. The most commonly used I/O devices are as follows: file, file stream, directory, physical disk, volume, console buffer, tape drive, communications resource, mailslot, and pipe. The function returns a handle that can be used to access the file or device for various types of I/O depending on the file or device and the flags and attributes specified.
invokes: Windows NtCreateFile
invokes: Windows NtCreateMailslotFile
invokes: Windows NtCreateNamedPipeFile
invokes: Windows NtCreatePagingFile
subclass of: Restriction
  on property: invokes
  some values from: Windows NtCreateFile
subclass of: Restriction
  on property: invokes
  some values from: Windows NtCreatePagingFile
subclass of: Restriction
  on property: invokes
  some values from: Windows NtCreateNamedPipeFile
subclass of: Restriction
  on property: invokes
  some values from: Windows NtCreateMailslotFile
subclass of: OS API Create File
subclass of: OS API Open File

Windows CreateProcessA
type: Class
type: NamedIndividual
definition: Creates a new process and its primary thread. The new process runs in the security context of the calling process.
invokes: Windows NtCreateProcess
invokes: Windows NtCreateProcessEx
subclass of: Restriction
  on property: invokes
  some values from: Windows NtCreateProcessEx
subclass of: Restriction
  on property: invokes
  some values from: Windows NtCreateProcess
subclass of: OS API Create Process

Windows CreateRemoteThread
type: Class
type: NamedIndividual
invokes: Windows NtCreateThreadEx
subclass of: Restriction
  on property: invokes
  some values from: Windows NtCreateThreadEx
subclass of: OS API Create Thread

Windows CreateThread
type: Class
type: NamedIndividual
definition: Creates a thread to execute within the virtual address space of the calling process.
invokes: Windows NtCreateThread
invokes: Windows NtCreateThreadEx
subclass of: Restriction
  on property: invokes
  some values from: Windows NtCreateThread
subclass of: Restriction
  on property: invokes
  some values from: Windows NtCreateThreadEx
subclass of: OS API Create Thread

Windows DeleteFile
type: Class
type: NamedIndividual
definition: Deletes an existing file.
invokes: Windows NtDeleteFile
subclass of: Restriction
  on property: invokes
  some values from: Windows NtDeleteFile
subclass of: OS API Delete File

Windows DuplicateToken
type: Class
type: NamedIndividual
definition: The DuplicateToken function creates a new access token that duplicates one already in existence.
invokes: Windows NtDuplicateToken
subclass of: Restriction
  on property: invokes
  some values from: Windows NtDuplicateToken
subclass of: OS API Copy Token

Windows GetThreadContext
type: Class
type: NamedIndividual
definition: Retrieves the context of the specified thread.
invokes: Windows NtGetThreadContext
subclass of: Restriction
  on property: invokes
  some values from: Windows NtGetThreadContext
subclass of: OS API Get Thread Context

Windows NtAllocateVirtualMemoryEx
type: Class
subclass of: OS API Allocate Memory

Windows NtSetInformationFile Argument FileDispositionInformation
type: Class
definition: Request to delete the file when it is closed or cancel a previously requested deletion.
subclass of: OS API Delete File

Windows NtSuspendProcess
type: Class
subclass of: OS API Suspend Process

Windows OpenProcess
type: Class
type: NamedIndividual
definition: Opens an existing local process object.
invokes: Windows NtOpenProcess
subclass of: Restriction
  on property: invokes
  some values from: Windows NtOpenProcess
subclass of: OS API Trace Process

Windows OpenThread
type: Class
type: NamedIndividual
definition: Opens an existing thread object.
invokes: Windows NtOpenThread
subclass of: Restriction
  on property: invokes
  some values from: Windows NtOpenThread
subclass of: OS API Trace Thread

Windows Process
type: Process
type: NamedIndividual

Windows QueryPerformanceCounter
type: Class
type: NamedIndividual
definition: Retrieves the current value of the performance counter, which is a high resolution (<1us) time stamp that can be used for time-interval measurements.
invokes: Windows NtQuerySystemTime
subclass of: Restriction
  on property: invokes
  some values from: Windows NtQuerySystemTime
subclass of: OS API Get System Time

Windows ReadFile
type: Class
type: NamedIndividual
definition: Reads data from the specified file or input/output (I/O) device. Reads occur at the position specified by the file pointer if supported by the device.
invokes: Windows NtReadFile
invokes: Windows NtReadFileScatter
subclass of: Restriction
  on property: invokes
  some values from: Windows NtReadFile
subclass of: Restriction
  on property: invokes
  some values from: Windows NtReadFileScatter
subclass of: OS API Read File

Windows ResumeThread
type: Class
type: NamedIndividual
definition: Decrements a thread's suspend count. When the suspend count is decremented to zero, the execution of the thread is resumed.
invokes: Windows NtResumeThread
subclass of: Restriction
  on property: invokes
  some values from: Windows NtResumeThread
subclass of: OS API Resume Thread

Windows SetThreadContext
type: Class
type: NamedIndividual
definition: Sets the context for the specified thread.
invokes: Windows NtSetThreadContext
subclass of: Restriction
  on property: invokes
  some values from: Windows NtSetThreadContext
subclass of: OS API Set Thread Context

Windows SuspendThread
type: Class
type: NamedIndividual
definition: Suspends the specified thread.
invokes: Windows NtSuspendThread
subclass of: Restriction
  on property: invokes
  some values from: Windows NtSuspendThread
subclass of: OS API Suspend Thread

Windows TerminateProcess
type: Class
type: NamedIndividual
definition: Terminates the specified process and all of its threads.
invokes: Windows NtTerminateProcess
subclass of: Restriction
  on property: invokes
  some values from: Windows NtTerminateProcess
subclass of: OS API Terminate Process

Windows VirtualAllocEx
type: Class
type: NamedIndividual
definition: Reserves, commits, or changes the state of a region of memory within the virtual address space of a specified process. The function initializes the memory it allocates to zero.
invokes: Windows NtAllocateVirtualMemory
invokes: Windows NtProtectVirtualMemory
subclass of: Restriction
  on property: invokes
  some values from: Windows NtAllocateVirtualMemory
subclass of: Restriction
  on property: invokes
  some values from: Windows NtProtectVirtualMemory
subclass of: OS API Allocate Memory

Windows VirtualFree
type: Class
type: NamedIndividual
definition: Releases, decommits, or releases and decommits a region of pages within the virtual address space of the calling process.
invokes: Windows NtFreeVirtualMemory
subclass of: Restriction
  on property: invokes
  some values from: Windows NtFreeVirtualMemory
subclass of: OS API Free Memory

Windows VirtualProtectEx
type: Class
type: NamedIndividual
definition: Changes the protection on a region of committed pages in the virtual address space of a specified process.
invokes: Windows NtAllocateVirtualMemory
invokes: Windows NtProtectVirtualMemory
subclass of: Restriction
  on property: invokes
  some values from: Windows NtAllocateVirtualMemory
subclass of: Restriction
  on property: invokes
  some values from: Windows NtProtectVirtualMemory
subclass of: OS API Allocate Memory

Windows WriteFile
type: Class
type: NamedIndividual
definition: Writes data to the specified file or input/output (I/O) device.
invokes: Windows NtWriteFile
invokes: Windows NtWriteFileGather
subclass of: Restriction
  on property: invokes
  some values from: Windows NtWriteFile
subclass of: Restriction
  on property: invokes
  some values from: Windows NtWriteFileGather
subclass of: OS API Write File

Windows WriteProcessMemory
type: Class
type: NamedIndividual
definition: Writes data to an area of memory in a specified process. The entire area to be written to must be accessible or the operation fails.
invokes: Windows NtFlushInstructionCache
invokes: Windows NtProtectVirtualMemory
invokes: Windows NtWriteVirtualMemory
subclass of: Restriction
  on property: invokes
  some values from: Windows NtWriteVirtualMemory
subclass of: Restriction
  on property: invokes
  some values from: Windows NtProtectVirtualMemory
subclass of: Restriction
  on property: invokes
  some values from: Windows NtFlushInstructionCache
subclass of: OS API Write Memory

Wireless Router
type: Class
definition: A wireless router is a device that performs the functions of a router and also includes the functions of a wireless access point. It is used to provide access to the Internet or a private computer network. Depending on the manufacturer and model, it can function in a wired local area network, in a wireless-only LAN, or in a mixed wired and wireless network.
subclass of: Router
subclass of: Wireless Access Point

X86 Code Segment
type: Image Code Segment
type: ProcessCodeSegment
type: NamedIndividual

Zero Client Computer
type: Class
definition: Zero client is also referred as ultra thin client, contains no moving parts but centralizes all processing and storage to just what is running on the server. As a result, it requires no local driver to install, no patch management, and no local operating system licensing fees or updates. The device consumes very little power and is tamper-resistant and completely incapable of storing any data locally, providing a more secure endpoint.
subclass of: Thin Client Computer

abuses
type: ObjectProperty
definition: x abuses y: The entity x applies an artifact y to a wrong thing or person; x applies y badly or incorrectly.
sub property of: uses
alternative label: misapplies
alternative label: misuses

attack-id
type: AnnotationProperty
definition: x attack-id y: The offensive technique x has the att&ck unique id of y.
domain: OffensiveTechnique
range: string
sub property of: attack-kb-annotation

attack-kb-data-property
type: DatatypeProperty
sub property of: topDataProperty
alternative label: attack-kb-property

date available
type: DatatypeProperty
definition: Date that the resource became or will become available.
range: dateTime
sub property of: date

broader
type: ObjectProperty
sub property of: semantic-relation

broader-transitive
type: ObjectProperty
sub property of: semantic-relation

capec-id
type: DatatypeProperty
definition: Unique identifier for a CAPEC technique, i.e. a common attack pattern identified by the pattern CAPEC-[number].
sub property of: d3fend-kb-data-property

cited-by
type: ObjectProperty
sub property of: d3fend-catalog-object-property
inverse of: cites

claimed-by
type: ObjectProperty
sub property of: d3fend-catalog-object-property
inverse of: claims

cwe-id
type: AnnotationProperty
sub property of: cwe-kb-annotation

d3fend-display-property
type: DatatypeProperty
definition: x d3fend-display-property y: An object x should be displayed using the display property y, when it applies.
sub property of: d3fend-data-property

deceives
type: ObjectProperty
sub property of: counters

definition
type: AnnotationProperty
definition: x definition y: The d3fend object x has the definition y.
sub property of: d3fend-annotation

depends-on
type: ObjectProperty
definition: x depends-on y: The entity x is contingent on y being available; x relies on y.
sub property of: associated-with
inverse of: has-dependent

description
type: AnnotationProperty
definition: A statement that represents something in words.
sub property of: d3fend-catalog-annotation-property

display-baseurl
type: AnnotationProperty
definition: A base string to use as prefix to create a full URL for an entity. The baseurl must end in a forward slash: /
sub property of: d3fend-display-annotation

display-order
type: AnnotationProperty
definition: x display-order y: An object x should be displayed in ordinal position y when placed or listed in a d3fend display with other objects of its kind.
sub property of: d3fend-display-annotation

display-priority
type: AnnotationProperty
sub property of: d3fend-display-annotation

employed-by
type: ObjectProperty
definition: x employed-by y: An entity x is put into service by a technique or agent y. Inverse of y employs x.
sub property of: associated-with
inverse of: employs

evaluated-by
type: ObjectProperty
sub property of: associated-with
inverse of: evaluates

evaluator
type: ObjectProperty
sub property of: contributor

exactly
type: ObjectProperty
sub property of: semantic-relation

executed-by
type: ObjectProperty
sub property of: associated-with
inverse of: executes

has-contribution
type: ObjectProperty
sub property of: d3fend-kb-object-property

has-contributor
type: ObjectProperty
sub property of: d3fend-kb-object-property

has-weakness
type: ObjectProperty
sub property of: may-have-weakness
inverse of: weakness-of

iOS Process
type: Process
type: NamedIndividual

identified-by
type: ObjectProperty
sub property of: associated-with
inverse of: identifies

identifier
type: DatatypeProperty
range: string
sub property of: d3fend-catalog-data-property

impairs
type: ObjectProperty
sub property of: associated-with

inventoried-by
type: ObjectProperty
sub property of: associated-with
inverse of: inventories

invoked-by
type: ObjectProperty
sub property of: associated-with
sub property of: may-be-invoked-by
inverse of: invokes

date issued
type: DatatypeProperty
definition: Date of formal issuance of the resource.
range: dateTime
sub property of: date

kb-abstract
type: AnnotationProperty
definition: x kb-abstract y: The reference x has the abstract y.
domain: Reference
range: string
sub property of: d3fend-kb-reference-annotation

kb-article
type: AnnotationProperty
definition: The technique x has the kb-article y, where y is written in Markdown.
domain: Technique
range: string
sub property of: d3fend-kb-reference-annotation

kb-author
type: AnnotationProperty
definition: x kb-author y: The reference x has some author y.
domain: Reference
range: string
sub property of: d3fend-kb-reference-annotation

kb-mitre-analysis
type: AnnotationProperty
definition: x kb-mitre-analysis y: The reference x has the mitre d3fend analysis y.
domain: Reference
range: string
sub property of: d3fend-kb-annotation-property

kb-organization
type: AnnotationProperty
definition: x kb-organization y: The reference x was created or owned by the organization y.
sub property of: d3fend-kb-annotation-property

label
type: AnnotationProperty
sub property of: label

loaded-by
type: ObjectProperty
sub property of: associated-with
inverse of: loads

macOS Process
type: Process
type: NamedIndividual

mapped-by
type: ObjectProperty
sub property of: associated-with
inverse of: maps

may-be-deceived-by
type: ObjectProperty
pref-label: may be deceived by
sub property of: attack-may-be-countered-by
inverse of: may-deceive

may-be-detected-by
type: ObjectProperty
pref-label: may be detected by
sub property of: attack-may-be-countered-by
inverse of: may-detect

may-be-evicted-by
type: ObjectProperty
pref-label: may be evicted by
sub property of: attack-may-be-countered-by
inverse of: may-evict

may-be-hardened-against-by
type: ObjectProperty
pref-label: may be hardened against by
sub property of: attack-may-be-countered-by
inverse of: may-harden

may-be-isolated-by
type: ObjectProperty
pref-label: may be isolated by
sub property of: attack-may-be-countered-by
inverse of: may-isolate

modifies-part
type: ObjectProperty
definition: x modifies-part y: The entity x modifies a part of y. [Note: This is a rolification property for the rule 'if one modifies a part of a whole, they modify the whole.' Reasoning for this and similar semantics to come are under evaluation and not part of current d3fend inferences.]
sub property of: may-modify
property chain axiom: modifies
property chain axiom: contains

narrower
type: ObjectProperty
sub property of: semantic-relation

narrower-transitive
type: ObjectProperty
sub property of: semantic-relation

pref-label
type: AnnotationProperty
definition: x pref-label y: The preferred display value for x is y in d3fend tools.
sub property of: d3fend-annotation

Procedure 1 - T1134.001 Access Token Manipulation
type: Procedure
type: NamedIndividual
implements: Token Impersonation/Theft
start: Step 1 - Copy Token

process-parent
type: ObjectProperty
definition: x process-parent y: The process y created the process x (directly) with a create process event.
sub property of: process-ancestor
alternative label: processParent

produced-by
type: ObjectProperty
sub property of: associated-with
inverse of: produces

producer
type: ObjectProperty
sub property of: d3fend-catalog-object-property
inverse of: produces

publisher
type: ObjectProperty
sub property of: d3fend-catalog-object-property
inverse of: publishes

recorded-in
type: ObjectProperty
sub property of: associated-with

related
type: ObjectProperty
definition: x related y: x has a symmetric associative relation to y.
sub property of: semantic-relation

release-date
type: AnnotationProperty
definition: x release-date y: The object x has the release-date y.
sub property of: d3fend-annotation
sub property of: versionInfo

resume
type: ObjectProperty
definition: The agent or technique x continues a previous action on entity y. Usually occurs after suspension on y.
sub property of: d3fend-process-object-property

seller
type: ObjectProperty
sub property of: d3fend-catalog-object-property
inverse of: sells

submitter
type: ObjectProperty
sub property of: contributor

synonym
type: AnnotationProperty
definition: an equivalent term.
sub property of: d3fend-annotation

t-SNE Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-TSC
definition: T-distributed Stochastic Neighbor Embedding (t-SNE) is a statistical method for visualizing high-dimensional data by giving each datapoint a location in a two or three-dimensional map.
kb-article: ## References Wikipedia. (n.d.). T-distributed stochastic neighbor embedding. [Link](https://en.wikipedia.org/wiki/T-distributed_stochastic_neighbor_embedding)
subclass of: Projection-based Clustering

text
type: DatatypeProperty
definition: The text of the document (i.e., terms of license.)
sub property of: d3fend-catalog-data-property

title
type: DatatypeProperty
definition: A name given to the resource.
range: string
sub property of: d3fend-catalog-data-property

date valid
type: DatatypeProperty
definition: Date (often a range) of validity of a resource.
range: dateTime
sub property of: date

validator
type: ObjectProperty
sub property of: contributor

writes
type: ObjectProperty
definition: x writes y: The subject x takes the action of writing to a digital artifact y to store data and placing it into persistent memory for later reference.
sub property of: accesses

isDefinedBy
type: AnnotationProperty

Reference - CAR-2016-04-004: Successful Local Account Login
kb-organization: MITRE/NSA

Reference - DNS Whitelist (DNSWL) Email Authentication Method Extension
kb-author: Alessandro Vesely

D3FEND™ - A knowledge graph of cybersecurity countermeasures
type: Ontology
release-date: 2024-07-10T00:00:00+00:00
description: D3FEND is a framework which encodes a countermeasure knowledge base as a knowledge graph. The graph contains the types and relations that define key concepts in the cybersecurity countermeasure domain and the relations necessary to link those concepts to each other. Each of these concepts and relations are linked to references in the cybersecurity literature.
license: MIT
comment: Use of the D3FEND Knowledge Graph, and the associated references from this ontology are subject to the Terms of Use. D3FEND is funded by the National Security Agency (NSA) Cybersecurity Directorate and managed by the National Security Engineering Center (NSEC) which is operated by The MITRE Corporation. D3FEND™ and the D3FEND logo are trademarks of The MITRE Corporation. This software was produced for the U.S. Government under Basic Contract No. W56KGU-18-D0004, and is subject to the Rights in Noncommercial Computer Software and Noncommercial Computer Software Documentation Clause 252.227-7014 (FEB 2012) Copyright 2022 The MITRE Corporation.
version IRI: d3fend.owl
version info: 0.16.0

Access
type: Class
subclass of: Restriction
  on property: accesses
  some values from: Resource
subclass of: Restriction
  on property: has-mediator
  some values from: Access Mediator
subclass of: Digital Event

Access Mediator
type: Class
type: NamedIndividual
mediates-access-to: Resource
used-by: Agent
subclass of: Restriction
  on property: mediates-access-to
  some values from: Resource
subclass of: Restriction
  on property: used-by
  some values from: Agent
subclass of: Restriction
  on property: implements
  some values from: AccessControlConfiguration
subclass of: D3FENDCore
subclass of: DigitalInformationBearer

Address Space
type: Class
definition: An address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, a memory cell or other logical or physical entity. For software programs to save and retrieve stored data, each unit of data must have an address where it can be located. The number of address spaces available depends on the underlying address structure, which is usually limited by the computer architecture being used.
subclass of: DigitalInformationBearer

Admin Feature Assessment
type: Class
subclass of: Restriction
  on property: assesses
  some values from: Admin Feature Claim
subclass of: Feature Assessment

Admin Feature Claim
type: Class
subclass of: Restriction
  on property: claims
  some values from: Administrative Feature
subclass of: Restriction
  all values from: Administrative Feature
  on property: features
subclass of: Restriction
  on property: cites
  some values from: Information Content Entity
subclass of: Capability Feature Claim

Agent Group
type: Class
subclass of: Restriction
  on property: contains
  some values from: Agent
subclass of: Group

Application Layer Firewall
type: Class
definition: An application firewall is a form of firewall that controls input, output, and/or access from, to, or by an application or service. It operates by monitoring and potentially blocking the input, output, or system service calls that do not meet the configured policy of the firewall. The application firewall is typically built to control all network traffic on any OSI layer up to the application layer. It is able to control applications or services specifically, unlike a stateful network firewall, which is - without additional software - unable to control network traffic regarding a specific application. There are two primary categories of application firewalls, network-based application firewalls and host-based application firewalls.
subclass of: Firewall
alternative label: Application Firewall

Application Rule
type: Class
definition: A configuration of an application which is used to apply logical or data processing functions to data processed by the application.
subclass of: ApplicationConfiguration

Approximate String Matching
type: Class
type: NamedIndividual
d3fend-id: D3A-ASM
definition: Approximate string matching is a form of string matching that allows errrors.
kb-article: ## References 1. Navarro, G. (2001). A guided tour to approximate string matching. _ACM Computing Surveys_, 33(1), 31-88. [Link](https://doi.org/10.1145/375360.375365)
subclass of: Partial Matching

Bayesian Linear Regression
type: Class
type: NamedIndividual
d3fend-id: D3A-BLR
definition: Bayesian linear regression is a type of conditional modeling in which the mean of one variable is described by a linear combination of other variables, with the goal of obtaining the posterior probability of the regression coefficients.
kb-article: ## References Wikipedia. (n.d.). Bayesian linear regression. [Link](https://en.wikipedia.org/wiki/Bayesian_linear_regression)
subclass of: Regression Analysis

Binary Large Object
type: Class
definition: A binary large object (BLOB) is a collection of binary data stored as a single entity. Blobs are typically images, audio or other multimedia objects, though sometimes binary executable code is stored as a blob.
subclass of: DigitalInformationBearer
alternative label: BLOB
alternative label: Blob

Book Reference
type: Class
pref-label: Book
subclass of: TechniqueReference

Bootstrap Aggregating
type: Class
type: NamedIndividual
d3fend-id: D3A-BA
definition: Bootstrap aggregating, also called bagging (from bootstrap aggregating), is a machine learning ensemble meta-algorithm designed to improve the stability and accuracy of machine learning algorithms used in statistical classification and regression. It also reduces variance and helps to avoid overfitting. Although it is usually applied to decision tree methods, it can be used with any type of method. Bagging is a special case of the model averaging approach.
kb-article: ## References Bootstrap aggregating. Wikipedia. [Link](https://en.wikipedia.org/wiki/Bootstrap_aggregating).
subclass of: Resampling Ensemble

CAPEC Thing
type: Class
subclass of: External Threat Model Thing

CART
type: Class
type: NamedIndividual
d3fend-id: D3A-CAR
definition: The CART algorithm is a type of classification algorithm that is required to build a decision tree on the basis of Gini’s impurity index.
kb-article: ## References Classification and Regression Tree (CART) Algorithm. Analytics Steps. [Link](https://www.analyticssteps.com/blogs/classification-and-regression-tree-cart-algorithm).
subclass of: Decision Tree

CCI-000015
type: CCIControl
type: NamedIndividual
broader: AccountLocking
broader: DomainAccountMonitoring
broader: LocalAccountMonitoring
contributor: DISA FSO
definition: The organization employs automated mechanisms to support the information system account management functions.
member-of: CCICatalog v2022-04-05
date published: 2009-05-13T00:00:00

CCI-000016
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system automatically removes or disables temporary accounts after an organization-defined time period for each type of account.
member-of: CCICatalog v2022-04-05
narrower: AccountLocking
date published: 2009-05-13T00:00:00

CCI-000017
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system automatically disables inactive accounts after an organization-defined time period.
member-of: CCICatalog v2022-04-05
narrower: AccountLocking
date published: 2009-05-13T00:00:00

CCI-000018
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system automatically audits account creation actions.
exactly: DomainAccountMonitoring
member-of: CCICatalog v2022-04-05
date published: 2009-05-13T00:00:00

CCI-000020
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
contributor: DISA FSO
definition: The information system dynamically manages user privileges and associated access authorizations.
member-of: CCICatalog v2022-04-05
date published: 2009-09-14T00:00:00

CCI-000022
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
contributor: DISA FSO
definition: The information system enforces one or more organization-defined nondiscretionary access control policies over an organization-defined set of users and resources.
member-of: CCICatalog v2022-04-05
date published: 2009-05-13T00:00:00

CCI-000025
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces information flow control using explicit security attributes on information, source, and destination objects as a basis for flow control decisions.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-09-14T00:00:00

CCI-000027
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces dynamic information flow control based on organization-defined policies.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-05-13T00:00:00

CCI-000029
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces organization-defined limitations on the embedding of data types within other data types.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-05-13T00:00:00

CCI-000030
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces information flow control based on organization-defined metadata.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-05-13T00:00:00

CCI-000032
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces information flow control using organization-defined security policy filters as a basis for flow control decisions for organization-defined information flows.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-09-14T00:00:00

CCI-000034
type: CCIControl
type: NamedIndividual
broader: InboundTrafficFiltering
broader: OutboundTrafficFiltering
contributor: DISA FSO
definition: The information system provides the capability for a privileged administrator to enable/disable organization-defined security policy filters under organization-defined conditions.
member-of: CCICatalog v2022-04-05
date published: 2009-05-13T00:00:00

CCI-000035
type: CCIControl
type: NamedIndividual
broader: InboundTrafficFiltering
broader: OutboundTrafficFiltering
contributor: DISA FSO
definition: The information system provides the capability for privileged administrators to configure the organization-defined security policy filters to support different security policies.
member-of: CCICatalog v2022-04-05
date published: 2009-09-14T00:00:00

CCI-000037
type: CCIControl
type: NamedIndividual
broader: LocalFilePermissions
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The organization implements separation of duties through assigned information system access authorizations.
member-of: CCICatalog v2022-04-05
date published: 2009-09-14T00:00:00

CCI-000040
type: CCIControl
type: NamedIndividual
broader: Authorization Event Thresholding
broader: LocalAccountMonitoring
contributor: DISA FSO
definition: The organization audits any use of privileged accounts, or roles, with access to organization-defined security functions or security-relevant information, when accessing other system functions.
member-of: CCICatalog v2022-04-05
date published: 2009-09-14T00:00:00

CCI-000044
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces the organization-defined limit of consecutive invalid logon attempts by a user during the organization-defined time period.
member-of: CCICatalog v2022-04-05
narrower: AccountLocking
date published: 2009-09-14T00:00:00

CCI-000047
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system delays next login prompt according to the organization-defined delay algorithm, when the maximum number of unsuccessful attempts is exceeded, automatically locks the account/node for an organization-defined time period or locks the account/node until released by an Administrator IAW organizational policy.
member-of: CCICatalog v2022-04-05
narrower: AccountLocking
date published: 2009-09-14T00:00:00

CCI-000056
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system retains the session lock until the user reestablishes access using established identification and authentication procedures.
member-of: CCICatalog v2022-04-05
narrower: AccountLocking
date published: 2009-09-14T00:00:00

CCI-000057
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system initiates a session lock after the organization-defined time period of inactivity.
member-of: CCICatalog v2022-04-05
narrower: AccountLocking
date published: 2009-05-19T00:00:00

CCI-000058
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system provides the capability for users to directly initiate session lock mechanisms.
member-of: CCICatalog v2022-04-05
narrower: AccountLocking
date published: 2009-05-19T00:00:00

CCI-000060
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system conceals, via the session lock, information previously visible on the display with a publicly viewable image.
member-of: CCICatalog v2022-04-05
narrower: AccountLocking
date published: 2009-05-19T00:00:00

CCI-000066
type: CCIControl
type: NamedIndividual
broader: Remote Terminal Session Detection
contributor: DISA FSO
definition: The organization enforces requirements for remote connections to the information system.
member-of: CCICatalog v2022-04-05
date published: 2009-09-14T00:00:00

CCI-000067
type: CCIControl
type: NamedIndividual
broader: Remote Terminal Session Detection
contributor: DISA FSO
definition: The information system monitors remote access methods.
member-of: CCICatalog v2022-04-05
date published: 2009-09-14T00:00:00

CCI-000068
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements cryptographic mechanisms to protect the confidentiality of remote access sessions.
member-of: CCICatalog v2022-04-05
narrower: EncryptedTunnels
date published: 2009-09-14T00:00:00

CCI-000071
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization monitors for unauthorized remote connections to the information system on an organization-defined frequency.
member-of: CCICatalog v2022-04-05
narrower: Remote Terminal Session Detection
date published: 2009-05-19T00:00:00

CCI-000139
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system alerts designated organization-defined personnel or roles in the event of an audit processing failure.
member-of: CCICatalog v2022-04-05
narrower: System Daemon Monitoring
date published: 2009-09-15T00:00:00

CCI-000143
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system provides a warning when allocated audit record storage volume reaches an organization-defined percentage of maximum audit record storage capacity.
member-of: CCICatalog v2022-04-05
narrower: System Daemon Monitoring
date published: 2009-05-20T00:00:00

CCI-000144
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system provides a real-time alert when organization-defined audit failure events occur.
member-of: CCICatalog v2022-04-05
narrower: System Daemon Monitoring
date published: 2009-05-20T00:00:00

CCI-000162
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system protects audit information from unauthorized access.
member-of: CCICatalog v2022-04-05
narrower: CredentialHardening
date published: 2009-05-22T00:00:00

CCI-000163
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system protects audit information from unauthorized modification.
member-of: CCICatalog v2022-04-05
narrower: PlatformHardening
narrower: SystemConfigurationPermissions
date published: 2009-05-22T00:00:00

CCI-000164
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system protects audit information from unauthorized deletion.
member-of: CCICatalog v2022-04-05
narrower: PlatformHardening
date published: 2009-05-22T00:00:00

CCI-000185
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, for PKI-based authentication, validates certifications by constructing and verifying a certification path to an accepted trust anchor including checking certificate status information.
member-of: CCICatalog v2022-04-05
narrower: CredentialHardening
date published: 2009-09-15T00:00:00

CCI-000186
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, for PKI-based authentication, enforces authorized access to the corresponding private key.
member-of: CCICatalog v2022-04-05
narrower: CredentialHardening
date published: 2009-09-15T00:00:00

CCI-000187
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, for PKI-based authentication, maps the authenticated identity to the account of the individual or group.
member-of: CCICatalog v2022-04-05
narrower: CredentialHardening
date published: 2009-09-15T00:00:00

CCI-000192
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces password complexity by the minimum number of upper case characters used.
member-of: CCICatalog v2022-04-05
narrower: StrongPasswordPolicy
date published: 2009-09-15T00:00:00

CCI-000193
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces password complexity by the minimum number of lower case characters used.
member-of: CCICatalog v2022-04-05
narrower: StrongPasswordPolicy
date published: 2009-09-15T00:00:00

CCI-000194
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces password complexity by the minimum number of numeric characters used.
member-of: CCICatalog v2022-04-05
narrower: StrongPasswordPolicy
date published: 2009-09-15T00:00:00

CCI-000195
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, for password-based authentication, when new passwords are created, enforces that at least an organization-defined number of characters are changed.
member-of: CCICatalog v2022-04-05
narrower: StrongPasswordPolicy
date published: 2009-09-15T00:00:00

CCI-000196
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, for password-based authentication, stores only cryptographically-protected passwords.
member-of: CCICatalog v2022-04-05
narrower: StrongPasswordPolicy
date published: 2009-09-15T00:00:00

CCI-000197
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, for password-based authentication, transmits only cryptographically-protected passwords.
member-of: CCICatalog v2022-04-05
narrower: StrongPasswordPolicy
date published: 2009-09-15T00:00:00

CCI-000198
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces minimum password lifetime restrictions.
member-of: CCICatalog v2022-04-05
narrower: StrongPasswordPolicy
date published: 2009-09-15T00:00:00

CCI-000199
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces maximum password lifetime restrictions.
member-of: CCICatalog v2022-04-05
narrower: StrongPasswordPolicy
date published: 2009-09-15T00:00:00

CCI-000200
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system prohibits password reuse for the organization-defined number of generations.
member-of: CCICatalog v2022-04-05
narrower: StrongPasswordPolicy
date published: 2009-05-22T00:00:00

CCI-000205
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces minimum password length.
member-of: CCICatalog v2022-04-05
narrower: StrongPasswordPolicy
date published: 2009-05-22T00:00:00

CCI-000213
type: CCIControl
type: NamedIndividual
broader: BiometricAuthentication
broader: Certificate-basedAuthentication
broader: Multi-factorAuthentication
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system enforces approved authorizations for logical access to information and system resources in accordance with applicable access control policies.
member-of: CCICatalog v2022-04-05
date published: 2009-09-14T00:00:00

CCI-000218
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, when transferring information between different security domains, identifies information flows by data type specification and usage.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-09-14T00:00:00

CCI-000219
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, when transferring information between different security domains, decomposes information into organization-defined policy-relevant subcomponents for submission to policy enforcement mechanisms.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-09-14T00:00:00

CCI-000226
type: CCIControl
type: NamedIndividual
broader: Execution Isolation
contributor: DISA FSO
definition: The information system provides the capability for a privileged administrator to configure organization-defined security policy filters to support different security policies.
member-of: CCICatalog v2022-04-05
date published: 2009-09-14T00:00:00

CCI-000346
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization employs automated mechanisms to enforce access restrictions.
member-of: CCICatalog v2022-04-05
narrower: LocalFilePermissions
narrower: MandatoryAccessControl
narrower: UserAccountPermissions
date published: 2009-09-18T00:00:00

CCI-000352
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system prevents the installation of organization-defined critical software programs that are not signed with a certificate that is recognized and approved by the organization.
member-of: CCICatalog v2022-04-05
narrower: ExecutableAllowlisting
narrower: ExecutableDenylisting
date published: 2009-09-18T00:00:00

CCI-000374
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization employs automated mechanisms to respond to unauthorized changes to organization-defined configuration settings.
member-of: CCICatalog v2022-04-05
narrower: OperatingSystemMonitoring
date published: 2009-09-18T00:00:00

CCI-000381
type: CCIControl
type: NamedIndividual
broader: PlatformHardening
contributor: DISA FSO
definition: The organization configures the information system to provide only essential capabilities.
member-of: CCICatalog v2022-04-05
date published: 2009-09-18T00:00:00

CCI-000382
type: CCIControl
type: NamedIndividual
broader: PlatformHardening
contributor: DISA FSO
definition: The organization configures the information system to prohibit or restrict the use of organization-defined functions, ports, protocols, and/or services.
member-of: CCICatalog v2022-04-05
date published: 2009-09-18T00:00:00

CCI-000386
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization employs automated mechanisms to prevent program execution on the information system in accordance with the organization-defined specifications.
exactly: ExecutableDenylisting
member-of: CCICatalog v2022-04-05
date published: 2009-09-18T00:00:00

CCI-000417
type: CCIControl
type: NamedIndividual
broader: Execution Isolation
broader: Network Isolation
contributor: DISA FSO
definition: The organization disables network access by unauthorized components/devices or notifies designated organizational officials.
member-of: CCICatalog v2022-04-05
date published: 2009-09-18T00:00:00

CCI-000663
type: CCIControl
type: NamedIndividual
broader: Execution Isolation
contributor: DISA FSO
definition: The organization (or information system) enforces explicit rules governing the installation of software by users.
member-of: CCICatalog v2022-04-05
date published: 2009-09-21T00:00:00

CCI-000764
type: CCIControl
type: NamedIndividual
broader: BiometricAuthentication
broader: Certificate-basedAuthentication
broader: Multi-factorAuthentication
broader: One-time Password
contributor: DISA FSO
definition: The information system uniquely identifies and authenticates organizational users (or processes acting on behalf of organizational users).
member-of: CCICatalog v2022-04-05
date published: 2009-09-17T00:00:00

CCI-000765
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements multifactor authentication for network access to privileged accounts.
member-of: CCICatalog v2022-04-05
narrower: Multi-factorAuthentication
date published: 2009-09-17T00:00:00

CCI-000766
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements multifactor authentication for network access to non-privileged accounts.
member-of: CCICatalog v2022-04-05
narrower: Multi-factorAuthentication
date published: 2009-09-17T00:00:00

CCI-000767
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements multifactor authentication for local access to privileged accounts.
member-of: CCICatalog v2022-04-05
narrower: Multi-factorAuthentication
date published: 2009-09-17T00:00:00

CCI-000768
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements multifactor authentication for local access to non-privileged accounts.
member-of: CCICatalog v2022-04-05
narrower: Multi-factorAuthentication
date published: 2009-09-17T00:00:00

CCI-000771
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system uses multifactor authentication for network access to privileged accounts where one of the factors is provided by a device separate from the information system being accessed.
member-of: CCICatalog v2022-04-05
narrower: Multi-factorAuthentication
date published: 2009-09-17T00:00:00

CCI-000772
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system uses multifactor authentication for network access to non-privileged accounts where one of the factors is provided by a device separate from the information system being accessed.
member-of: CCICatalog v2022-04-05
narrower: Multi-factorAuthentication
date published: 2009-09-17T00:00:00

CCI-000774
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system uses organization-defined replay-resistant authentication mechanisms for network access to privileged accounts.
member-of: CCICatalog v2022-04-05
narrower: One-time Password
date published: 2009-09-17T00:00:00

CCI-000776
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system uses organization-defined replay-resistant authentication mechanisms for network access to non-privileged accounts.
member-of: CCICatalog v2022-04-05
narrower: One-time Password
date published: 2009-09-17T00:00:00

CCI-000804
type: CCIControl
type: NamedIndividual
broader: BiometricAuthentication
broader: Certificate-basedAuthentication
broader: Multi-factorAuthentication
broader: One-time Password
contributor: DISA FSO
definition: The information system uniquely identifies and authenticates non-organizational users (or processes acting on behalf of non-organizational users).
member-of: CCICatalog v2022-04-05
date published: 2009-09-17T00:00:00

CCI-000831
type: CCIControl
type: NamedIndividual
broader: Credential Eviction
broader: Process Eviction
contributor: DISA FSO
definition: The organization implements a configurable capability to automatically disable the information system if organization-defined security violations are detected.
member-of: CCICatalog v2022-04-05
date published: 2009-09-18T00:00:00

CCI-000877
type: CCIControl
type: NamedIndividual
broader: BiometricAuthentication
broader: Certificate-basedAuthentication
broader: Multi-factorAuthentication
contributor: DISA FSO
definition: The organization employs strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions.
member-of: CCICatalog v2022-04-05
date published: 2009-09-18T00:00:00

CCI-000880
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization audits non-local maintenance and diagnostic sessions.
member-of: CCICatalog v2022-04-05
narrower: OperatingSystemMonitoring
date published: 2009-09-18T00:00:00

CCI-000884
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization protects nonlocal maintenance sessions by employing organization-defined authenticators that are replay resistant.
member-of: CCICatalog v2022-04-05
narrower: CredentialHardening
date published: 2009-09-18T00:00:00

CCI-000888
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization employs cryptographic mechanisms to protect the integrity and confidentiality of non-local maintenance and diagnostic communications.
member-of: CCICatalog v2022-04-05
narrower: EncryptedTunnels
date published: 2009-09-18T00:00:00

CCI-001009
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system uses cryptographic mechanisms to protect and restrict access to information on portable digital media.
member-of: CCICatalog v2022-04-05
narrower: FileEncryption
date published: 2009-09-21T00:00:00

CCI-001019
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization employs cryptographic mechanisms to protect information in storage.
member-of: CCICatalog v2022-04-05
narrower: DiskEncryption
narrower: FileEncryption
date published: 2009-09-21T00:00:00

CCI-001067
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements privileged access authorization to organization-identified information system components for selected organization-defined vulnerability scanning activities.
member-of: CCICatalog v2022-04-05
narrower: PlatformHardening
date published: 2009-09-21T00:00:00

CCI-001069
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization employs automated mechanisms to detect the presence of unauthorized software on organizational information systems and notify designated organizational officials in accordance with the organization-defined frequency.
member-of: CCICatalog v2022-04-05
narrower: ExecutableAllowlisting
narrower: ExecutableDenylisting
date published: 2009-09-21T00:00:00

CCI-001082
type: CCIControl
type: NamedIndividual
broader: LocalFilePermissions
broader: MandatoryAccessControl
broader: SystemConfigurationPermissions
contributor: DISA FSO
definition: The information system separates user functionality (including user interface services) from information system management functionality.
member-of: CCICatalog v2022-04-05
date published: 2009-09-21T00:00:00

CCI-001083
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system prevents the presentation of information system management-related functionality at an interface for non-privileged users.
member-of: CCICatalog v2022-04-05
narrower: LocalFilePermissions
narrower: MandatoryAccessControl
narrower: SystemConfigurationPermissions
date published: 2009-09-21T00:00:00

CCI-001084
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system isolates security functions from nonsecurity functions.
member-of: CCICatalog v2022-04-05
narrower: SystemConfigurationPermissions
date published: 2009-09-21T00:00:00

CCI-001085
type: CCIControl
type: NamedIndividual
broader: Hardware-basedProcessIsolation
contributor: DISA FSO
definition: The information system utilizes underlying hardware separation mechanisms to implement security function isolation.
member-of: CCICatalog v2022-04-05
date published: 2009-09-21T00:00:00

CCI-001086
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system isolates security functions enforcing access and information flow control from both nonsecurity functions and from other security functions.
member-of: CCICatalog v2022-04-05
narrower: SystemConfigurationPermissions
date published: 2009-09-21T00:00:00

CCI-001087
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization implements an information system isolation boundary to minimize the number of nonsecurity functions included within the boundary containing security functions.
member-of: CCICatalog v2022-04-05
narrower: SystemConfigurationPermissions
date published: 2009-09-21T00:00:00

CCI-001089
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization implements security functions as a layered structure minimizing interactions between layers of the design and avoiding any dependence by lower layers on the functionality or correctness of higher layers.
member-of: CCICatalog v2022-04-05
narrower: SystemConfigurationPermissions
date published: 2009-09-21T00:00:00

CCI-001090
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system prevents unauthorized and unintended information transfer via shared system resources.
member-of: CCICatalog v2022-04-05
narrower: Network Traffic Filtering
date published: 2009-09-21T00:00:00

CCI-001092
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system protects against or limits the effects of the organization-defined or referenced types of denial of service attacks.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-09-21T00:00:00

CCI-001094
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system restricts the ability of individuals to launch organization-defined denial of service attacks against other information systems.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-09-21T00:00:00

CCI-001096
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system limits the use of resources by priority.
member-of: CCICatalog v2022-04-05
narrower: LocalFilePermissions
narrower: SystemConfigurationPermissions
date published: 2009-09-21T00:00:00

CCI-001100
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system prevents public access into the organization's internal networks except as appropriately mediated by managed interfaces employing boundary protection devices.
member-of: CCICatalog v2022-04-05
narrower: MandatoryAccessControl
date published: 2009-09-21T00:00:00

CCI-001109
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system at managed interfaces denies network communications traffic by default and allows network communications traffic by exception (i.e., deny all, permit by exception).
exactly: InboundTrafficFiltering
exactly: OutboundTrafficFiltering
member-of: CCICatalog v2022-04-05
date published: 2009-09-21T00:00:00

CCI-001111
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system prevents remote devices that have established a non-remote connection with the system from communicating outside of that communications path with resources in external networks.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-09-21T00:00:00

CCI-001115
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, at managed interfaces, denies network traffic and audits internal users (or malicious code) posing a threat to external information systems.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-09-21T00:00:00

CCI-001117
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system checks incoming communications to ensure the communications are coming from an authorized source and routed to an authorized destination.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-09-21T00:00:00

CCI-001118
type: CCIControl
type: NamedIndividual
broader: Network Isolation
contributor: DISA FSO
definition: The information system implements host-based boundary protection mechanisms for servers, workstations, and mobile devices.
member-of: CCICatalog v2022-04-05
date published: 2009-09-21T00:00:00

CCI-001124
type: CCIControl
type: NamedIndividual
broader: Broadcast Domain Isolation
contributor: DISA FSO
definition: The information system prevents discovery of specific system components composing a managed interface.
member-of: CCICatalog v2022-04-05
date published: 2009-09-21T00:00:00

CCI-001125
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces adherence to protocol format.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-09-21T00:00:00

CCI-001127
type: CCIControl
type: NamedIndividual
broader: EncryptedTunnels
contributor: DISA FSO
definition: The information system protects the integrity of transmitted information.
member-of: CCICatalog v2022-04-05
date published: 2009-09-21T00:00:00

CCI-001128
type: CCIControl
type: NamedIndividual
broader: EncryptedTunnels
contributor: DISA FSO
definition: The organization employs cryptographic mechanisms to recognize changes to information during transmission unless otherwise protected by alternative physical measures.
member-of: CCICatalog v2022-04-05
date published: 2009-09-21T00:00:00

CCI-001133
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system terminates the network connection associated with a communications session at the end of the session or after an organization-defined time period of inactivity.
member-of: CCICatalog v2022-04-05
narrower: Session Duration Analysis
date published: 2009-09-21T00:00:00

CCI-001144
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements required cryptographic protections using cryptographic modules that comply with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance.
member-of: CCICatalog v2022-04-05
narrower: DiskEncryption
narrower: FileEncryption
date published: 2009-09-21T00:00:00

CCI-001145
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization employs, at a minimum, FIPS-validated cryptography to protect unclassified information.
member-of: CCICatalog v2022-04-05
narrower: DiskEncryption
narrower: FileEncryption
date published: 2009-09-21T00:00:00

CCI-001146
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization employs NSA-approved cryptography to protect classified information.
member-of: CCICatalog v2022-04-05
narrower: DiskEncryption
narrower: FileEncryption
date published: 2009-09-21T00:00:00

CCI-001147
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization employs, at a minimum, FIPS-validated cryptography to protect information when such information must be separated from individuals who have the necessary clearances yet lack the necessary access approvals.
member-of: CCICatalog v2022-04-05
narrower: DiskEncryption
narrower: FileEncryption
date published: 2009-09-21T00:00:00

CCI-001150
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system prohibits remote activation of collaborative computing devices, excluding the organization-defined exceptions where remote activation is to be allowed.
member-of: CCICatalog v2022-04-05
narrower: Remote Terminal Session Detection
date published: 2009-09-21T00:00:00

CCI-001166
type: CCIControl
type: NamedIndividual
broader: Dynamic Analysis
broader: Emulated File Analysis
broader: FileContentRules
contributor: DISA FSO
definition: The information system identifies organization-defined unacceptable mobile code.
member-of: CCICatalog v2022-04-05
date published: 2009-09-21T00:00:00

CCI-001169
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system prevents the download of organization-defined unacceptable mobile code.
member-of: CCICatalog v2022-04-05
narrower: ExecutableDenylisting
date published: 2009-09-21T00:00:00

CCI-001170
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system prevents the automatic execution of mobile code in organization-defined software applications.
member-of: CCICatalog v2022-04-05
narrower: ExecutableDenylisting
date published: 2009-09-21T00:00:00

CCI-001178
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system provides additional data origin authentication artifacts along with the authoritative name resolution data the system returns in response to external name/address resolution queries.
member-of: CCICatalog v2022-04-05
narrower: DomainTrustPolicy
date published: 2009-09-21T00:00:00

CCI-001185
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system invalidates session identifiers upon user logout or other session termination.
member-of: CCICatalog v2022-04-05
narrower: Authentication Cache Invalidation
date published: 2009-09-21T00:00:00

CCI-001199
type: CCIControl
type: NamedIndividual
broader: DiskEncryption
broader: FileContentRules
broader: FileEncryption
broader: FileHashing
broader: LocalFilePermissions
contributor: DISA FSO
definition: The information system protects the confidentiality and/or integrity of organization-defined information at rest.
member-of: CCICatalog v2022-04-05
date published: 2009-09-21T00:00:00

CCI-001200
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization employs cryptographic mechanisms to prevent unauthorized disclosure of information at rest unless otherwise protected by alternative physical measures.
member-of: CCICatalog v2022-04-05
narrower: DiskEncryption
narrower: FileEncryption
date published: 2009-09-21T00:00:00

CCI-001210
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, at organization-defined information system components, loads and executes the operating environment from hardware-enforced, read-only media.
member-of: CCICatalog v2022-04-05
narrower: DriverLoadIntegrityChecking
date published: 2009-09-21T00:00:00

CCI-001211
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, at organization-defined information system components, loads and executes organization-defined applications from hardware-enforced, read-only media.
member-of: CCICatalog v2022-04-05
narrower: Application Configuration Hardening
date published: 2009-09-21T00:00:00

CCI-001233
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization employs automated mechanisms on an organization-defined frequency to determine the state of information system components with regard to flaw remediation.
member-of: CCICatalog v2022-04-05
narrower: SoftwareUpdate
date published: 2009-09-22T00:00:00

CCI-001237
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization employs automated patch management tools to facilitate flaw remediation to organization-defined information system components.
member-of: CCICatalog v2022-04-05
narrower: SoftwareUpdate
date published: 2009-09-22T00:00:00

CCI-001239
type: CCIControl
type: NamedIndividual
broader: FileAnalysis
broader: NetworkTrafficAnalysis
broader: PlatformMonitoring
broader: ProcessAnalysis
contributor: DISA FSO
definition: The organization employs malicious code protection mechanisms at information system entry and exit points to detect and eradicate malicious code transported by electronic mail, electronic mail attachments, web accesses, removable media, or other common means or inserted through the exploitation of information system vulnerabilities.
member-of: CCICatalog v2022-04-05
date published: 2009-09-22T00:00:00

CCI-001242
type: CCIControl
type: NamedIndividual
broader: Dynamic Analysis
broader: Emulated File Analysis
broader: FileContentRules
contributor: DISA FSO
definition: The organization configures malicious code protection mechanisms to perform real-time scans of files from external sources at endpoints as the files are downloaded, opened, or executed in accordance with organizational security policy.
member-of: CCICatalog v2022-04-05
date published: 2009-09-22T00:00:00

CCI-001262
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system monitors inbound and outbound communications for unusual or unauthorized activities or conditions.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-09-22T00:00:00

CCI-001297
type: CCIControl
type: NamedIndividual
broader: DriverLoadIntegrityChecking
broader: FileHashing
broader: Pointer Authentication
broader: TPMBootIntegrity
contributor: DISA FSO
definition: The information system detects unauthorized changes to software and information.
member-of: CCICatalog v2022-04-05
date published: 2009-09-22T00:00:00

CCI-001305
type: CCIControl
type: NamedIndividual
broader: Message Authentication
broader: Sender MTA Reputation Analysis
broader: Sender Reputation Analysis
broader: Transfer Agent Authentication
contributor: DISA FSO
definition: The organization employs spam protection mechanisms at information system entry and exit points to detect and take action on unsolicited messages transported by electronic mail, electronic mail attachments, web accesses, removable media, or other common means.
member-of: CCICatalog v2022-04-05
date published: 2009-09-22T00:00:00

CCI-001310
type: CCIControl
type: NamedIndividual
broader: Database Query String Analysis
contributor: DISA FSO
definition: The information system checks the validity of organization-defined inputs.
member-of: CCICatalog v2022-04-05
date published: 2009-09-22T00:00:00

CCI-001350
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements cryptographic mechanisms to protect the integrity of audit information.
member-of: CCICatalog v2022-04-05
narrower: FileEncryption
date published: 2009-09-22T00:00:00

CCI-001352
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization protects the audit records of non-local accesses to privileged accounts and the execution of privileged functions.
member-of: CCICatalog v2022-04-05
narrower: MandatoryAccessControl
date published: 2009-09-22T00:00:00

CCI-001356
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization monitors for atypical usage of information system accounts.
exactly: Authentication Event Thresholding
exactly: Authorization Event Thresholding
member-of: CCICatalog v2022-04-05
date published: 2009-09-22T00:00:00

CCI-001368
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces approved authorizations for controlling the flow of information within the system based on organization-defined information flow control policies.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-09-22T00:00:00

CCI-001372
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, when transferring information between different security domains, implements organization-defined security policy filters requiring fully enumerated formats that restrict data structure and content.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-09-22T00:00:00

CCI-001373
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, when transferring information between different security domains, examines the information for the presence of organization-defined unsanctioned information.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-09-22T00:00:00

CCI-001374
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, when transferring information between different security domains, prohibits the transfer of organization-defined unsanctioned information in accordance with the organization-defined security policy.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-09-22T00:00:00

CCI-001376
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system uniquely identifies source domains for information transfer.
member-of: CCICatalog v2022-04-05
narrower: DomainTrustPolicy
date published: 2009-09-22T00:00:00

CCI-001377
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system uniquely authenticates source domains for information transfer.
member-of: CCICatalog v2022-04-05
narrower: DomainTrustPolicy
date published: 2009-09-22T00:00:00

CCI-001399
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system supports and maintains the binding of organization-defined security attributes to information in storage.
member-of: CCICatalog v2022-04-05
date published: 2009-09-22T00:00:00

CCI-001400
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system supports and maintains the binding of organization-defined security attributes to information in process.
member-of: CCICatalog v2022-04-05
date published: 2009-09-22T00:00:00

CCI-001401
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system supports and maintains the binding of organization-defined security attributes to information in transmission.
member-of: CCICatalog v2022-04-05
date published: 2009-09-22T00:00:00

CCI-001403
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system automatically audits account modification actions.
exactly: DomainAccountMonitoring
member-of: CCICatalog v2022-04-05
date published: 2009-09-24T00:00:00

CCI-001404
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system automatically audits account disabling actions.
exactly: DomainAccountMonitoring
member-of: CCICatalog v2022-04-05
date published: 2009-09-24T00:00:00

CCI-001405
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system automatically audits account removal actions.
exactly: DomainAccountMonitoring
member-of: CCICatalog v2022-04-05
date published: 2009-09-24T00:00:00

CCI-001414
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces approved authorizations for controlling the flow of information between interconnected systems based on organization-defined information flow control policies.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-09-24T00:00:00

CCI-001424
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system dynamically associates security attributes with organization-defined subjects in accordance with organization-defined security policies as information is created and combined.
member-of: CCICatalog v2022-04-05
date published: 2009-09-25T00:00:00

CCI-001425
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system provides authorized individuals (or processes acting on behalf of individuals) the capability to change the value of associated security attributes.
member-of: CCICatalog v2022-04-05
date published: 2009-09-25T00:00:00

CCI-001426
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system maintains the binding of security attributes to information with sufficient assurance that the information--attribute association can be used as the basis for automated policy actions.
member-of: CCICatalog v2022-04-05
date published: 2009-09-25T00:00:00

CCI-001427
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system allows authorized users to associate security attributes with information.
member-of: CCICatalog v2022-04-05
date published: 2009-09-25T00:00:00

CCI-001428
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system displays security attributes in human-readable form on each object that the system transmits to output devices to identify organization-identified special dissemination, handling, or distribution instructions using organization-identified human-readable, standard naming conventions.
member-of: CCICatalog v2022-04-05
date published: 2009-09-25T00:00:00

CCI-001436
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization disables organization-defined networking protocols within the information system deemed to be nonsecure except for explicitly identified components in support of specific operational requirements.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2009-09-25T00:00:00

CCI-001452
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces the organization-defined time period during which the limit of consecutive invalid access attempts by a user is counted.
member-of: CCICatalog v2022-04-05
narrower: AccountLocking
date published: 2009-05-25T00:00:00

CCI-001453
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements cryptographic mechanisms to protect the integrity of remote access sessions.
exactly: EncryptedTunnels
member-of: CCICatalog v2022-04-05
date published: 2009-09-29T00:00:00

CCI-001454
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization ensures that remote sessions for accessing an organization-defined list of security functions and security-relevant information are audited.
member-of: CCICatalog v2022-04-05
narrower: Remote Terminal Session Detection
date published: 2009-09-29T00:00:00

CCI-001493
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system protects audit tools from unauthorized access.
member-of: CCICatalog v2022-04-05
narrower: MandatoryAccessControl
date published: 2009-09-29T00:00:00

CCI-001494
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system protects audit tools from unauthorized modification.
member-of: CCICatalog v2022-04-05
narrower: PlatformHardening
narrower: SystemConfigurationPermissions
date published: 2009-09-29T00:00:00

CCI-001495
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system protects audit tools from unauthorized deletion.
member-of: CCICatalog v2022-04-05
narrower: PlatformHardening
date published: 2009-09-29T00:00:00

CCI-001496
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements cryptographic mechanisms to protect the integrity of audit tools.
member-of: CCICatalog v2022-04-05
narrower: FileEncryption
date published: 2009-09-29T00:00:00

CCI-001499
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization limits privileges to change software resident within software libraries.
member-of: CCICatalog v2022-04-05
narrower: SystemConfigurationPermissions
narrower: UserAccountPermissions
date published: 2009-09-29T00:00:00

CCI-001555
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system uniquely identifies destination domains for information transfer.
member-of: CCICatalog v2022-04-05
narrower: DomainTrustPolicy
date published: 2010-05-11T00:00:00

CCI-001556
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system uniquely authenticates destination domains for information transfer.
member-of: CCICatalog v2022-04-05
narrower: DomainTrustPolicy
date published: 2010-05-11T00:00:00

CCI-001557
type: CCIControl
type: NamedIndividual
broader: NetworkTrafficAnalysis
contributor: DISA FSO
definition: The information system tracks problems associated with the information transfer.
member-of: CCICatalog v2022-04-05
date published: 2010-05-11T00:00:00

CCI-001574
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system rejects or delays, as defined by the organization, network traffic which exceed the organization-defined thresholds.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2010-05-11T00:00:00

CCI-001589
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization incorporates detection of unauthorized, security-relevant configuration changes into the organization‚Äôs incident response capability to ensure they are tracked.
member-of: CCICatalog v2022-04-05
narrower: OperatingSystemMonitoring
date published: 2010-05-12T00:00:00

CCI-001619
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces password complexity by the minimum number of special characters used.
member-of: CCICatalog v2022-04-05
narrower: StrongPasswordPolicy
date published: 2010-05-12T00:00:00

CCI-001632
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization protects nonlocal maintenance sessions by separating the maintenance session from other network sessions with the information system by either physically separated communications paths or logically separated communications paths based upon encryption.
exactly: EncryptedTunnels
member-of: CCICatalog v2022-04-05
date published: 2010-05-12T00:00:00

CCI-001662
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system takes organization-defined corrective action when organization-defined unacceptable mobile code is identified.
member-of: CCICatalog v2022-04-05
narrower: Dynamic Analysis
narrower: Emulated File Analysis
narrower: FileContentRules
date published: 2010-05-12T00:00:00

CCI-001668
type: CCIControl
type: NamedIndividual
broader: FileAnalysis
broader: NetworkTrafficAnalysis
broader: PlatformMonitoring
broader: ProcessAnalysis
contributor: DISA FSO
definition: The organization employs malicious code protection mechanisms at workstations, servers, or mobile computing devices on the network to detect and eradicate malicious code transported by electronic mail, electronic mail attachments, web accesses, removable media, or other common means or inserted through the exploitation of information system vulnerabilities.
member-of: CCICatalog v2022-04-05
date published: 2010-05-12T00:00:00

CCI-001677
type: CCIControl
type: NamedIndividual
broader: Message Authentication
broader: Sender MTA Reputation Analysis
broader: Sender Reputation Analysis
broader: Transfer Agent Authentication
contributor: DISA FSO
definition: The organization employs spam protection mechanisms at workstations, servers, or mobile computing devices on the network to detect and take action on unsolicited messages transported by electronic mail, electronic mail attachments, web accesses, removable media, or other common means.
member-of: CCICatalog v2022-04-05
date published: 2010-05-12T00:00:00

CCI-001682
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system automatically removes or disables emergency accounts after an organization-defined time period for each type of account.
member-of: CCICatalog v2022-04-05
narrower: AccountLocking
date published: 2011-05-03T00:00:00

CCI-001683
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system notifies organization-defined personnel or roles for account creation actions.
member-of: CCICatalog v2022-04-05
narrower: DomainAccountMonitoring
date published: 2011-05-03T00:00:00

CCI-001684
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system notifies organization-defined personnel or roles for account modification actions.
member-of: CCICatalog v2022-04-05
narrower: DomainAccountMonitoring
date published: 2011-05-03T00:00:00

CCI-001685
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system notifies organization-defined personnel or roles for account disabling actions.
member-of: CCICatalog v2022-04-05
narrower: DomainAccountMonitoring
date published: 2011-05-03T00:00:00

CCI-001686
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system notifies organization-defined personnel or roles for account removal actions.
member-of: CCICatalog v2022-04-05
narrower: DomainAccountMonitoring
date published: 2011-05-03T00:00:00

CCI-001695
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system prevents the execution of organization-defined unacceptable mobile code.
member-of: CCICatalog v2022-04-05
narrower: ExecutableDenylisting
date published: 2011-10-07T00:00:00

CCI-001744
type: CCIControl
type: NamedIndividual
broader: OperatingSystemMonitoring
contributor: DISA FSO
definition: The information system implements organization-defined security responses automatically if baseline configurations are changed in an unauthorized manner.
member-of: CCICatalog v2022-04-05
date published: 2013-02-28T00:00:00

CCI-001749
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system prevents the installation of organization-defined software components without verification the software component has been digitally signed using a certificate that is recognized and approved by the organization.
member-of: CCICatalog v2022-04-05
narrower: ExecutableAllowlisting
narrower: ExecutableDenylisting
date published: 2013-02-28T00:00:00

CCI-001762
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization disables organization-defined functions, ports, protocols, and services within the information system deemed to be unnecessary and/or nonsecure.
member-of: CCICatalog v2022-04-05
narrower: SystemConfigurationPermissions
date published: 2013-02-28T00:00:00

CCI-001764
type: CCIControl
type: NamedIndividual
broader: ExecutableAllowlisting
broader: ExecutableDenylisting
contributor: DISA FSO
definition: The information system prevents program execution in accordance with organization-defined policies regarding software program usage and restrictions, and/or rules authorizing the terms and conditions of software program usage.
member-of: CCICatalog v2022-04-05
date published: 2013-02-28T00:00:00

CCI-001767
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization employs an allow-all, deny-by-exception policy to prohibit the execution of unauthorized software programs on the information system.
member-of: CCICatalog v2022-04-05
narrower: ExecutableDenylisting
date published: 2013-02-28T00:00:00

CCI-001774
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization employs a deny-all, permit-by-exception policy to allow the execution of authorized software programs on the information system.
member-of: CCICatalog v2022-04-05
narrower: ExecutableAllowlisting
date published: 2013-02-28T00:00:00

CCI-001811
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system alerts organization-defined personnel or roles when the unauthorized installation of software is detected.
member-of: CCICatalog v2022-04-05
narrower: FileAnalysis
date published: 2013-03-01T00:00:00

CCI-001812
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system prohibits user installation of software without explicit privileged status.
member-of: CCICatalog v2022-04-05
narrower: ExecutableAllowlisting
narrower: ExecutableDenylisting
date published: 2013-03-01T00:00:00

CCI-001813
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system enforces access restrictions.
member-of: CCICatalog v2022-04-05
date published: 2013-03-01T00:00:00

CCI-001855
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system provides a warning to organization-defined personnel, roles, and/or locations within an organization-defined time period when allocated audit record storage volume reaches an organization-defined percentage of repository maximum audit record storage capacity.
member-of: CCICatalog v2022-04-05
narrower: System Daemon Monitoring
date published: 2013-03-14T00:00:00

CCI-001858
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system provides a real-time alert in an organization-defined real-time period to organization-defined personnel, roles, and/or locations when organization-defined audit failure events requiring real-time alerts occur.
member-of: CCICatalog v2022-04-05
narrower: System Daemon Monitoring
date published: 2013-03-14T00:00:00

CCI-001936
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements multifactor authentication for network access to privileged accounts such that one of the factors is provided by a device separate from the system gaining access.
member-of: CCICatalog v2022-04-05
narrower: Multi-factorAuthentication
date published: 2013-05-03T00:00:00

CCI-001937
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The device used in the information system implementation of multifactor authentication for network access to privileged accounts meets organization-defined strength of mechanism requirements.
member-of: CCICatalog v2022-04-05
narrower: Multi-factorAuthentication
date published: 2013-05-03T00:00:00

CCI-001941
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements replay-resistant authentication mechanisms for network access to privileged accounts.
member-of: CCICatalog v2022-04-05
narrower: One-time Password
date published: 2013-05-03T00:00:00

CCI-001953
type: CCIControl
type: NamedIndividual
broader: BiometricAuthentication
broader: Certificate-basedAuthentication
contributor: DISA FSO
definition: The information system accepts Personal Identity Verification (PIV) credentials.
member-of: CCICatalog v2022-04-05
date published: 2013-05-03T00:00:00

CCI-001954
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system electronically verifies Personal Identity Verification (PIV) credentials.
member-of: CCICatalog v2022-04-05
narrower: BiometricAuthentication
narrower: Certificate-basedAuthentication
date published: 2013-05-03T00:00:00

CCI-001957
type: CCIControl
type: NamedIndividual
broader: One-time Password
contributor: DISA FSO
definition: The information system implements organization-defined out-of-band authentication under organization-defined conditions.
member-of: CCICatalog v2022-04-05
date published: 2013-05-03T00:00:00

CCI-001991
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, for PKI-based authentication, implements a local cache of revocation data to support path discovery and validation in case of inability to access revocation information via the network.
member-of: CCICatalog v2022-04-05
narrower: Certificate-basedAuthentication
date published: 2013-05-03T00:00:00

CCI-002005
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, for biometric-based authentication, employs mechanisms that satisfy organization-defined biometric quality requirements.
member-of: CCICatalog v2022-04-05
narrower: BiometricAuthentication
date published: 2013-05-03T00:00:00

CCI-002009
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system accepts Personal Identity Verification (PIV) credentials from other federal agencies.
member-of: CCICatalog v2022-04-05
narrower: BiometricAuthentication
narrower: Certificate-basedAuthentication
date published: 2013-05-03T00:00:00

CCI-002010
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system electronically verifies Personal Identity Verification (PIV) credentials from other federal agencies.
member-of: CCICatalog v2022-04-05
narrower: BiometricAuthentication
narrower: Certificate-basedAuthentication
date published: 2013-05-03T00:00:00

CCI-002015
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system accepts Personal Identity Verification-I (PIV-I) credentials.
member-of: CCICatalog v2022-04-05
narrower: BiometricAuthentication
narrower: Certificate-basedAuthentication
date published: 2013-05-03T00:00:00

CCI-002016
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system electronically verifies Personal Identity Verification-I (PIV-I) credentials.
member-of: CCICatalog v2022-04-05
narrower: BiometricAuthentication
narrower: Certificate-basedAuthentication
date published: 2013-05-03T00:00:00

CCI-002041
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system allows the use of a temporary password for system logons with an immediate change to a permanent password.
member-of: CCICatalog v2022-04-05
narrower: StrongPasswordPolicy
date published: 2013-05-03T00:00:00

CCI-002145
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces organization-defined circumstances and/or usage conditions for organization-defined information system accounts.
member-of: CCICatalog v2022-04-05
narrower: UserAccountPermissions
date published: 2013-06-24T00:00:00

CCI-002165
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces organization-defined discretionary access control policies over defined subjects and objects.
member-of: CCICatalog v2022-04-05
narrower: MandatoryAccessControl
date published: 2013-06-24T00:00:00

CCI-002169
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces a role-based access control policy over defined subjects and objects.
member-of: CCICatalog v2022-04-05
narrower: MandatoryAccessControl
date published: 2013-06-24T00:00:00

CCI-002178
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces the revocation of access authorizations resulting from changes to the security attributes of subjects based on organization-defined rules governing the timing of revocations of access authorizations.
member-of: CCICatalog v2022-04-05
narrower: MandatoryAccessControl
narrower: System Call Filtering
date published: 2013-06-24T00:00:00

CCI-002179
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces the revocation of access authorizations resulting from changes to the security attributes of objects based on organization-defined rules governing the timing of revocations of access authorizations.
member-of: CCICatalog v2022-04-05
narrower: MandatoryAccessControl
narrower: System Call Filtering
date published: 2013-06-24T00:00:00

CCI-002201
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, when transferring information between different security domains, uses organization-defined data type identifiers to validate data essential for information flow decisions.
member-of: CCICatalog v2022-04-05
narrower: DomainTrustPolicy
date published: 2013-06-24T00:00:00

CCI-002205
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system uniquely identifies and authenticates source by organization, system, application, and/or individual for information transfer.
member-of: CCICatalog v2022-04-05
narrower: DomainTrustPolicy
date published: 2013-06-24T00:00:00

CCI-002207
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system uniquely identifies and authenticates destination by organization, system, application, and/or individual for information transfer.
member-of: CCICatalog v2022-04-05
narrower: DomainTrustPolicy
date published: 2013-06-24T00:00:00

CCI-002211
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, when transferring information between different security domains, applies the same security policy filtering to metadata as it applies to data payloads.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2013-06-24T00:00:00

CCI-002218
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system provides access from a single device to computing platforms, applications, or data residing on multiple different security domains, while preventing any information flow between the different security domains.
member-of: CCICatalog v2022-04-05
narrower: DomainTrustPolicy
date published: 2013-06-24T00:00:00

CCI-002233
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system prevents organization-defined software from executing at higher privilege levels than users executing the software.
member-of: CCICatalog v2022-04-05
narrower: ExecutableDenylisting
date published: 2013-06-24T00:00:00

CCI-002235
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system prevents non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures.
member-of: CCICatalog v2022-04-05
narrower: MandatoryAccessControl
narrower: SystemConfigurationPermissions
date published: 2013-06-24T00:00:00

CCI-002238
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system automatically locks the account or node for either an organization-defined time period, until the locked account or node is released by an administrator, or delays the next logon prompt according to the organization-defined delay algorithm when the maximum number of unsuccessful logon attempts is exceeded.
member-of: CCICatalog v2022-04-05
narrower: AccountLocking
date published: 2013-06-24T00:00:00

CCI-002262
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The organization provides the means to associate organization-defined types of security attributes having organization-defined security attribute values with information in storage.
member-of: CCICatalog v2022-04-05
date published: 2013-06-24T00:00:00

CCI-002263
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The organization provides the means to associate organization-defined types of security attributes having organization-defined security attribute values with information in process.
member-of: CCICatalog v2022-04-05
date published: 2013-06-24T00:00:00

CCI-002264
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The organization provides the means to associate organization-defined types of security attributes having organization-defined security attribute values with information in transmission.
member-of: CCICatalog v2022-04-05
date published: 2013-06-24T00:00:00

CCI-002272
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system dynamically associates security attributes with organization-defined objects in accordance with organization-defined security policies as information is created and combined.
member-of: CCICatalog v2022-04-05
date published: 2013-06-24T00:00:00

CCI-002277
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system provides authorized individuals (or processes acting on behalf of individuals) the capability to define the value of associated security attributes.
member-of: CCICatalog v2022-04-05
date published: 2013-06-24T00:00:00

CCI-002281
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system maintains the association of organization-defined security attributes to organization-defined subjects.
member-of: CCICatalog v2022-04-05
date published: 2013-06-24T00:00:00

CCI-002282
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system maintains the association of organization-defined security attributes to organization-defined objects.
member-of: CCICatalog v2022-04-05
date published: 2013-06-24T00:00:00

CCI-002283
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system maintains the integrity of organization-defined security attributes associated with organization-defined subjects.
member-of: CCICatalog v2022-04-05
date published: 2013-06-24T00:00:00

CCI-002284
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system maintains the integrity of organization-defined security attributes associated with organization-defined objects.
member-of: CCICatalog v2022-04-05
date published: 2013-06-24T00:00:00

CCI-002289
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system supports the association of organization-defined security attributes with organization-defined subjects by authorized individuals (or processes acting on behalf of individuals).
member-of: CCICatalog v2022-04-05
date published: 2013-06-24T00:00:00

CCI-002290
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system supports the association of organization-defined security attributes with organization-defined objects by authorized individuals (or processes acting on behalf of individuals).
member-of: CCICatalog v2022-04-05
date published: 2013-06-24T00:00:00

CCI-002302
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system implements organization-defined techniques or technologies with an organization-defined level of assurance in associating security attributes to information.
member-of: CCICatalog v2022-04-05
date published: 2013-06-24T00:00:00

CCI-002306
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: SystemConfigurationPermissions
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system provides authorized individuals the capability to define or change the type of security attributes available for association with subjects.
member-of: CCICatalog v2022-04-05
date published: 2013-06-24T00:00:00

CCI-002307
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: SystemConfigurationPermissions
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system provides authorized individuals the capability to define or change the value of security attributes available for association with subjects.
member-of: CCICatalog v2022-04-05
date published: 2013-06-24T00:00:00

CCI-002308
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: SystemConfigurationPermissions
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system provides authorized individuals the capability to define or change the type of security attributes available for association with objects.
member-of: CCICatalog v2022-04-05
date published: 2013-06-24T00:00:00

CCI-002309
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: SystemConfigurationPermissions
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system provides authorized individuals the capability to define or change the value of security attributes available for association with objects.
member-of: CCICatalog v2022-04-05
date published: 2013-06-24T00:00:00

CCI-002322
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization provides the capability to expeditiously disconnect or disable remote access to the information system within the organization-defined time period.
member-of: CCICatalog v2022-04-05
narrower: Remote Terminal Session Detection
date published: 2013-06-24T00:00:00

CCI-002346
type: CCIControl
type: NamedIndividual
broader: Database Query String Analysis
broader: DiskEncryption
broader: FileEncryption
contributor: DISA FSO
definition: The organization employs organization-defined data mining prevention techniques for organization-defined data storage objects to adequately protect against data mining.
member-of: CCICatalog v2022-04-05
date published: 2013-06-25T00:00:00

CCI-002347
type: CCIControl
type: NamedIndividual
broader: File Access Pattern Analysis
broader: Input Device Analysis
broader: Resource Access Pattern Analysis
broader: User Data Transfer Analysis
contributor: DISA FSO
definition: The organization employs organization-defined data mining detection techniques for organization-defined data storage objects to adequately detect data mining attempts.
member-of: CCICatalog v2022-04-05
date published: 2013-06-25T00:00:00

CCI-002353
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system transmits organization-defined access authorization information using organization-defined security safeguards to organization-defined information systems which enforce access control decisions.
member-of: CCICatalog v2022-04-05
date published: 2013-06-25T00:00:00

CCI-002355
type: CCIControl
type: NamedIndividual
broader: MandatoryAccessControl
broader: UserAccountPermissions
contributor: DISA FSO
definition: The information system enforces access control decisions based on organization-defined security attributes that do not include the identity of the user or process acting on behalf of the user.
member-of: CCICatalog v2022-04-05
date published: 2013-06-25T00:00:00

CCI-002357
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements a reference monitor for organization-defined access control policies that is tamperproof.
member-of: CCICatalog v2022-04-05
narrower: MandatoryAccessControl
narrower: UserAccountPermissions
date published: 2013-06-25T00:00:00

CCI-002358
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements a reference monitor for organization-defined access control policies that is always invoked.
member-of: CCICatalog v2022-04-05
narrower: MandatoryAccessControl
narrower: UserAccountPermissions
date published: 2013-06-25T00:00:00

CCI-002359
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements a reference monitor for organization-defined access control policies that is small enough to be subject to analysis and testing, the completeness of which can be assured.
member-of: CCICatalog v2022-04-05
narrower: MandatoryAccessControl
narrower: UserAccountPermissions
date published: 2013-06-25T00:00:00

CCI-002361
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system automatically terminates a user session after organization-defined conditions or trigger events requiring session disconnect.
member-of: CCICatalog v2022-04-05
narrower: Process Termination
date published: 2013-06-26T00:00:00

CCI-002363
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system provides a logout capability for user-initiated communications sessions whenever authentication is used to gain access to organization-defined information resources.
member-of: CCICatalog v2022-04-05
narrower: Process Termination
date published: 2013-06-26T00:00:00

CCI-002364
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system displays an explicit logout message to users indicating the reliable termination of authenticated communications sessions.
member-of: CCICatalog v2022-04-05
narrower: Process Termination
date published: 2013-06-26T00:00:00

CCI-002381
type: CCIControl
type: NamedIndividual
broader: Hardware-basedProcessIsolation
broader: Kernel-based Process Isolation
contributor: DISA FSO
definition: The organization minimizes the number of nonsecurity functions included within the isolation boundary containing security functions.
member-of: CCICatalog v2022-04-05
date published: 2013-07-02T00:00:00

CCI-002382
type: CCIControl
type: NamedIndividual
broader: Hardware-basedProcessIsolation
broader: Kernel-based Process Isolation
contributor: DISA FSO
definition: The organization implements security functions as largely independent modules that maximize internal cohesiveness within modules and minimize coupling between modules.
member-of: CCICatalog v2022-04-05
date published: 2013-07-02T00:00:00

CCI-002384
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system prevents unauthorized information transfer via shared resources in accordance with organization-defined procedures when system processing explicitly switches between different information classification levels or security categories.
member-of: CCICatalog v2022-04-05
narrower: Network Traffic Filtering
date published: 2013-07-02T00:00:00

CCI-002385
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system protects against or limits the effects of organization-defined types of denial of service attacks by employing organization-defined security safeguards.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2013-07-02T00:00:00

CCI-002394
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system protects the availability of resources by allocating organization-defined resources based on priority, quota, and/or organization-defined security safeguards.
member-of: CCICatalog v2022-04-05
narrower: SystemConfigurationPermissions
date published: 2013-07-02T00:00:00

CCI-002397
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, in conjunction with a remote device, prevents the device from simultaneously establishing non-remote connections with the system and communicating via some other connection to resources in external networks.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2013-07-02T00:00:00

CCI-002400
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system audits the identity of internal users associated with denied outgoing communications traffic posing a threat to external information systems.
member-of: CCICatalog v2022-04-05
narrower: OutboundTrafficFiltering
date published: 2013-07-02T00:00:00

CCI-002403
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system only allows incoming communications from organization-defined authorized sources routed to organization-defined authorized destinations.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2013-07-02T00:00:00

CCI-002409
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system blocks both inbound and outbound communications traffic between organization-defined communication clients that are independently configured by end users and external service providers.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering
date published: 2013-07-02T00:00:00

CCI-002411
type: CCIControl
type: NamedIndividual
broader: Hardware-basedProcessIsolation
broader: IO Port Restriction
broader: Kernel-based Process Isolation
contributor: DISA FSO
definition: The information system provides the capability to dynamically isolate/segregate organization-defined information system components from other components of the system.
member-of: CCICatalog v2022-04-05
date published: 2013-07-02T00:00:00

CCI-002420
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system maintains the confidentiality and/or integrity of information during preparation for transmission.
member-of: CCICatalog v2022-04-05
narrower: EncryptedTunnels
date published: 2013-07-02T00:00:00

CCI-002421
type: CCIControl
type: NamedIndividual
broader: EncryptedTunnels
contributor: DISA FSO
definition: The information system implements cryptographic mechanisms to prevent unauthorized disclosure of information and/or detect changes to information during transmission unless otherwise protected by organization-defined alternative physical safeguards.
member-of: CCICatalog v2022-04-05
date published: 2013-07-02T00:00:00

CCI-002422
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system maintains the confidentiality and/or integrity of information during reception.
member-of: CCICatalog v2022-04-05
narrower: EncryptedTunnels
date published: 2013-07-02T00:00:00

CCI-002423
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements cryptographic mechanisms to protect message externals (e.g., message headers and routing information) unless otherwise protected by organization-defined alternative physical safeguards.
member-of: CCICatalog v2022-04-05
narrower: EncryptedTunnels
date published: 2013-07-02T00:00:00

CCI-002425
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements cryptographic mechanisms to conceal or randomize communication patterns unless otherwise protected by organization-defined alternative physical safeguards.
member-of: CCICatalog v2022-04-05
narrower: EncryptedTunnels
date published: 2013-07-02T00:00:00

CCI-002426
type: CCIControl
type: NamedIndividual
broader: EncryptedTunnels
contributor: DISA FSO
definition: The information system provides a trusted communications path that is logically isolated and distinguishable from other paths.
member-of: CCICatalog v2022-04-05
date published: 2013-07-02T00:00:00

CCI-002460
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces organization-defined actions prior to executing mobile code.
member-of: CCICatalog v2022-04-05
narrower: ExecutableDenylisting
date published: 2013-07-02T00:00:00

CCI-002462
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system provides additional data integrity verification artifacts along with the authoritative name resolution data the system returns in response to external name/address resolution queries.
member-of: CCICatalog v2022-04-05
narrower: DomainTrustPolicy
date published: 2013-07-02T00:00:00

CCI-002463
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system provides data origin artifacts for internal name/address resolution queries.
member-of: CCICatalog v2022-04-05
narrower: DomainTrustPolicy
date published: 2013-07-02T00:00:00

CCI-002464
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system provides data integrity protection artifacts for internal name/address resolution queries.
member-of: CCICatalog v2022-04-05
narrower: DomainTrustPolicy
date published: 2013-07-02T00:00:00

CCI-002465
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system requests data origin authentication verification on the name/address resolution responses the system receives from authoritative sources.
member-of: CCICatalog v2022-04-05
narrower: DomainTrustPolicy
date published: 2013-07-02T00:00:00

CCI-002466
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system requests data integrity verification on the name/address resolution responses the system receives from authoritative sources.
member-of: CCICatalog v2022-04-05
narrower: DomainTrustPolicy
date published: 2013-07-02T00:00:00

CCI-002467
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system performs data integrity verification on the name/address resolution responses the system receives from authoritative sources.
member-of: CCICatalog v2022-04-05
narrower: DNS Traffic Analysis
date published: 2013-07-02T00:00:00

CCI-002468
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system performs data origin verification authentication on the name/address resolution responses the system receives from authoritative sources.
member-of: CCICatalog v2022-04-05
narrower: DNS Traffic Analysis
date published: 2013-07-02T00:00:00

CCI-002470
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system only allows the use of organization-defined certificate authorities for verification of the establishment of protected sessions.
member-of: CCICatalog v2022-04-05
narrower: Certificate-basedAuthentication
narrower: Certificate Pinning
date published: 2013-07-02T00:00:00

CCI-002475
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements cryptographic mechanisms to prevent unauthorized modification of organization-defined information at rest on organization-defined information system components.
member-of: CCICatalog v2022-04-05
narrower: DiskEncryption
narrower: FileEncryption
date published: 2013-07-02T00:00:00

CCI-002476
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements cryptographic mechanisms to prevent unauthorized disclosure of organization-defined information at rest on organization-defined information system components.
member-of: CCICatalog v2022-04-05
narrower: DiskEncryption
narrower: FileEncryption
date published: 2013-07-02T00:00:00

CCI-002530
type: CCIControl
type: NamedIndividual
broader: Hardware-basedProcessIsolation
broader: Kernel-based Process Isolation
contributor: DISA FSO
definition: The information system maintains a separate execution domain for each executing process.
member-of: CCICatalog v2022-04-05
date published: 2013-07-02T00:00:00

CCI-002531
type: CCIControl
type: NamedIndividual
broader: Hardware-basedProcessIsolation
contributor: DISA FSO
definition: The information system implements underlying hardware separation mechanisms to facilitate process separation.
member-of: CCICatalog v2022-04-05
date published: 2013-07-02T00:00:00

CCI-002533
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system maintains a separate execution domain for each thread in organization-defined multi-threaded processing.
member-of: CCICatalog v2022-04-05
narrower: Kernel-based Process Isolation
date published: 2013-07-02T00:00:00

CCI-002536
type: CCIControl
type: NamedIndividual
broader: RF Shielding
contributor: DISA FSO
definition: The information system protects organization-defined external and internal wireless links from organization-defined types of signal parameter attacks or references to sources for such attacks.
member-of: CCICatalog v2022-04-05
date published: 2013-07-02T00:00:00

CCI-002546
type: CCIControl
type: NamedIndividual
broader: IO Port Restriction
contributor: DISA FSO
definition: The organization physically disables or removes organization-defined connection ports or input/output devices on organization-defined information systems or information system components.
member-of: CCICatalog v2022-04-05
date published: 2013-07-02T00:00:00

CCI-002605
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization installs security-relevant software updates within an organization-defined time period of the release of the updates.
member-of: CCICatalog v2022-04-05
narrower: SoftwareUpdate
date published: 2013-07-11T00:00:00

CCI-002607
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization installs security-relevant firmware updates within an organization-defined time period of the release of the updates.
member-of: CCICatalog v2022-04-05
narrower: SoftwareUpdate
date published: 2013-07-11T00:00:00

CCI-002613
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization installs organization-defined security-relevant software updates automatically to organization-defined information system components.
member-of: CCICatalog v2022-04-05
narrower: SoftwareUpdate
date published: 2013-07-11T00:00:00

CCI-002614
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization installs organization-defined security-relevant firmware updates automatically to organization-defined information system components.
member-of: CCICatalog v2022-04-05
narrower: SoftwareUpdate
date published: 2013-07-11T00:00:00

CCI-002617
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization removes organization-defined software components (e.g., previous versions) after updated versions have been installed.
member-of: CCICatalog v2022-04-05
narrower: SoftwareUpdate
date published: 2013-07-11T00:00:00

CCI-002618
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The organization removes organization-defined firmware components (e.g., previous versions) after updated versions have been installed.
member-of: CCICatalog v2022-04-05
narrower: SoftwareUpdate
date published: 2013-07-11T00:00:00

CCI-002630
type: CCIControl
type: NamedIndividual
broader: Script Execution Analysis
contributor: DISA FSO
definition: The information system detects organization-defined unauthorized operating system commands through the kernel application programming interface at organization-defined information system hardware components.
member-of: CCICatalog v2022-04-05
date published: 2013-07-11T00:00:00

CCI-002631
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system issues a warning, audits the command execution, or prevents the execution of the command when organization-defined unauthorized operating system commands are detected.
member-of: CCICatalog v2022-04-05
narrower: Script Execution Analysis
date published: 2013-07-11T00:00:00

CCI-002661
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system monitors inbound communications traffic per organization-defined frequency for unusual or unauthorized activities or conditions.
member-of: CCICatalog v2022-04-05
narrower: InboundTrafficFiltering
date published: 2013-07-11T00:00:00

CCI-002662
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system monitors outbound communications traffic per organization-defined frequency for unusual or unauthorized activities or conditions.
member-of: CCICatalog v2022-04-05
narrower: OutboundTrafficFiltering
date published: 2013-07-11T00:00:00

CCI-002684
type: CCIControl
type: NamedIndividual
broader: NetworkTrafficAnalysis
broader: PlatformMonitoring
contributor: DISA FSO
definition: The information system audits and/or alerts organization-defined personnel when unauthorized network services are detected.
member-of: CCICatalog v2022-04-05
date published: 2013-07-11T00:00:00

CCI-002688
type: CCIControl
type: NamedIndividual
broader: FileContentRules
contributor: DISA FSO
definition: The information system discovers indicators of compromise.
member-of: CCICatalog v2022-04-05
date published: 2013-07-11T00:00:00

CCI-002689
type: CCIControl
type: NamedIndividual
broader: FileContentRules
contributor: DISA FSO
definition: The information system collects indicators of compromise.
member-of: CCICatalog v2022-04-05
date published: 2013-07-11T00:00:00

CCI-002690
type: CCIControl
type: NamedIndividual
broader: FileContentRules
contributor: DISA FSO
definition: The information system distributes indicators of compromise.
member-of: CCICatalog v2022-04-05
date published: 2013-07-11T00:00:00

CCI-002691
type: CCIControl
type: NamedIndividual
broader: FileContentRules
contributor: DISA FSO
definition: The information system uses indicators of compromise.
member-of: CCICatalog v2022-04-05
date published: 2013-07-11T00:00:00

CCI-002710
type: CCIControl
type: NamedIndividual
broader: DriverLoadIntegrityChecking
broader: FileHashing
broader: Pointer Authentication
broader: TPMBootIntegrity
contributor: DISA FSO
definition: The information system performs an integrity check of organization-defined software at startup, at organization-defined transitional states or security-relevant events, or on an organization-defined frequency.
member-of: CCICatalog v2022-04-05
date published: 2013-07-11T00:00:00

CCI-002711
type: CCIControl
type: NamedIndividual
broader: TPMBootIntegrity
contributor: DISA FSO
definition: The information system performs an integrity check of organization-defined firmware at startup, at organization-defined transitional states or security-relevant events, or on an organization-defined frequency.
member-of: CCICatalog v2022-04-05
date published: 2013-07-11T00:00:00

CCI-002712
type: CCIControl
type: NamedIndividual
broader: DriverLoadIntegrityChecking
broader: FileHashing
broader: Pointer Authentication
broader: TPMBootIntegrity
contributor: DISA FSO
definition: The information system performs an integrity check of organization-defined information at startup, at organization-defined transitional states or security-relevant events, or on an organization-defined frequency.
member-of: CCICatalog v2022-04-05
date published: 2013-07-11T00:00:00

CCI-002715
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system automatically shuts the information system down, restarts the information system, and/or implements organization-defined security safeguards when integrity violations are discovered.
member-of: CCICatalog v2022-04-05
narrower: DriverLoadIntegrityChecking
narrower: FileHashing
narrower: Pointer Authentication
narrower: TPMBootIntegrity
date published: 2013-07-11T00:00:00

CCI-002716
type: CCIControl
type: NamedIndividual
broader: FileHashing
contributor: DISA FSO
definition: The information system implements cryptographic mechanisms to detect unauthorized changes to software.
member-of: CCICatalog v2022-04-05
date published: 2013-07-11T00:00:00

CCI-002717
type: CCIControl
type: NamedIndividual
broader: FileHashing
contributor: DISA FSO
definition: The information system implements cryptographic mechanisms to detect unauthorized changes to firmware.
member-of: CCICatalog v2022-04-05
date published: 2013-07-11T00:00:00

CCI-002718
type: CCIControl
type: NamedIndividual
broader: FileHashing
contributor: DISA FSO
definition: The information system implements cryptographic mechanisms to detect unauthorized changes to information.
member-of: CCICatalog v2022-04-05
date published: 2013-07-11T00:00:00

CCI-002723
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, upon detection of a potential integrity violation, provides the capability to audit the event.
member-of: CCICatalog v2022-04-05
narrower: DriverLoadIntegrityChecking
narrower: FileHashing
narrower: Pointer Authentication
narrower: TPMBootIntegrity
date published: 2013-07-11T00:00:00

CCI-002724
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system, upon detection of a potential integrity violation, initiates one or more of the following actions: generates an audit record; alerts the current user; alerts organization-defined personnel or roles; and/or organization-defined other actions.
member-of: CCICatalog v2022-04-05
narrower: DriverLoadIntegrityChecking
narrower: FileHashing
narrower: Pointer Authentication
narrower: TPMBootIntegrity
date published: 2013-07-11T00:00:00

CCI-002726
type: CCIControl
type: NamedIndividual
broader: DriverLoadIntegrityChecking
broader: TPMBootIntegrity
contributor: DISA FSO
definition: The information system verifies the integrity of the boot process of organization-defined devices.
member-of: CCICatalog v2022-04-05
date published: 2013-07-11T00:00:00

CCI-002729
type: CCIControl
type: NamedIndividual
broader: DriverLoadIntegrityChecking
broader: TPMBootIntegrity
contributor: DISA FSO
definition: The information system implements organization-defined security safeguards to protect the integrity of boot firmware in organization-defined devices.
member-of: CCICatalog v2022-04-05
date published: 2013-07-11T00:00:00

CCI-002740
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements cryptographic mechanisms to authenticate organization-defined software or firmware components prior to installation.
member-of: CCICatalog v2022-04-05
narrower: ExecutableAllowlisting
date published: 2013-07-11T00:00:00

CCI-002743
type: CCIControl
type: NamedIndividual
broader: Sender MTA Reputation Analysis
broader: Sender Reputation Analysis
contributor: DISA FSO
definition: The information system implements spam protection mechanisms with a learning capability to more effectively identify legitimate communications traffic.
member-of: CCICatalog v2022-04-05
date published: 2013-07-11T00:00:00

CCI-002746
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system provides a manual override capability for input validation of organization-defined inputs.
member-of: CCICatalog v2022-04-05
narrower: Database Query String Analysis
date published: 2013-07-11T00:00:00

CCI-002748
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system restricts the use of the manual override capability to only organization-defined authorized individuals.
member-of: CCICatalog v2022-04-05
narrower: Database Query String Analysis
date published: 2013-07-11T00:00:00

CCI-002749
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system audits the use of the manual override capability.
member-of: CCICatalog v2022-04-05
narrower: Database Query String Analysis
date published: 2013-07-11T00:00:00

CCI-002771
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system validates information output from organization-defined software programs and/or applications to ensure that the information is consistent with the expected content.
member-of: CCICatalog v2022-04-05
narrower: OutboundTrafficFiltering
date published: 2013-07-11T00:00:00

CCI-002824
type: CCIControl
type: NamedIndividual
broader: Dead Code Elimination
broader: Process Segment Execution Prevention
broader: Segment Address Offset Randomization
broader: Stack Frame Canary Validation
contributor: DISA FSO
definition: The information system implements organization-defined security safeguards to protect its memory from unauthorized code execution.
member-of: CCICatalog v2022-04-05
date published: 2013-07-12T00:00:00

CCI-002883
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system restricts the use of maintenance tools to authorized personnel only.
member-of: CCICatalog v2022-04-05
narrower: UserAccountPermissions
date published: 2013-07-22T00:00:00

CCI-002890
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications.
member-of: CCICatalog v2022-04-05
narrower: EncryptedTunnels
date published: 2013-07-22T00:00:00

CCI-002891
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements remote disconnect verification at the termination of nonlocal maintenance and diagnostic sessions.
member-of: CCICatalog v2022-04-05
narrower: Remote Terminal Session Detection
date published: 2013-07-22T00:00:00

CCI-003014
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system enforces organization-defined mandatory access control policies over all subjects and objects.
exactly: MandatoryAccessControl
member-of: CCICatalog v2022-04-05
date published: 2013-08-30T00:00:00

CCI-003123
type: CCIControl
type: NamedIndividual
contributor: DISA FSO
definition: The information system implements cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications.
member-of: CCICatalog v2022-04-05
narrower: EncryptedTunnels
date published: 2013-09-24T00:00:00

Insufficient Encapsulation of Machine-Dependent Functionality
type: Class
cwe-id: CWE-1105
subclass of: Insufficient Encapsulation
subclass of: Reliance on Undefined, Unspecified, or Implementation-Defined Behavior

Incorrect Access of Indexable Resource ('Range Error')
type: Class
cwe-id: CWE-118
subclass of: CWE-664

Insecure Default Initialization of Resource
type: Class
cwe-id: CWE-1188
subclass of: Improper Initialization

Improper Isolation of Shared Resources on System-on-a-Chip (SoC)
type: Class
cwe-id: CWE-1189
subclass of: Improper Isolation or Compartmentalization
subclass of: CWE-668

Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
type: Class
cwe-id: CWE-120
subclass of: CWE-119

Generation of Weak Initialization Vector (IV)
type: Class
cwe-id: CWE-1204
subclass of: Use of Insufficiently Random Values

Insufficient Granularity of Access Control
type: Class
cwe-id: CWE-1220
subclass of: CWE-284

Creation of Emergent Resource
type: Class
cwe-id: CWE-1229
subclass of: CWE-664

Improper Physical Access Control
type: Class
cwe-id: CWE-1263
subclass of: CWE-284

Improper Validation of Syntactic Correctness of Input
type: Class
cwe-id: CWE-1286
subclass of: Improper Input Validation

Insecure Security Identifier Mechanism
type: Class
cwe-id: CWE-1294
subclass of: CWE-284

Improper Protection of Physical Side Channels
type: Class
cwe-id: CWE-1300
subclass of: Observable Discrepancy

Insufficient or Incomplete Data Removal within Hardware Component
type: Class
cwe-id: CWE-1301
subclass of: Sensitive Information in Resource Not Removed Before Reuse

Incorrect Calculation of Buffer Size
type: Class
cwe-id: CWE-131
subclass of: Incorrect Calculation

Multiple Releases of Same Resource or Handle
type: Class
cwe-id: CWE-1341
subclass of: Multiple Operations on Resource in Single-Operation Context

Improper Neutralization of Input Terminators
type: Class
cwe-id: CWE-147
subclass of: CWE-138

Improper Neutralization of Wildcards or Matching Symbols
type: Class
cwe-id: CWE-155
subclass of: CWE-138

Improper Neutralization of Multiple Leading Special Elements
type: Class
cwe-id: CWE-161
subclass of: Improper Neutralization of Leading Special Elements

Improper Neutralization of Internal Special Elements
type: Class
cwe-id: CWE-164
subclass of: CWE-138

Permissive List of Allowed Inputs
type: Class
cwe-id: CWE-183
subclass of: Incorrect Comparison

Reliance on Data/Memory Layout
type: Class
cwe-id: CWE-188
subclass of: Insufficient Encapsulation of Machine-Dependent Functionality
subclass of: Improper Interaction Between Multiple Correctly-Behaving Entities

Insertion of Sensitive Information Into Sent Data
type: Class
cwe-id: CWE-201
subclass of: Exposure of Sensitive Information to an Unauthorized Actor

Observable Timing Discrepancy
type: Class
cwe-id: CWE-208
subclass of: Observable Discrepancy

Storage of File with Sensitive Data Under Web Root
type: Class
cwe-id: CWE-219
subclass of: Files or Directories Accessible to External Parties

Omission of Security-relevant Information
type: Class
cwe-id: CWE-223
subclass of: Information Loss or Omission

Improper Handling of Inconsistent Structural Elements
type: Class
cwe-id: CWE-240
subclass of: Improper Handling of Structural Elements
subclass of: Improper Neutralization

Uncaught Exception
type: Class
cwe-id: CWE-248
subclass of: CWE-703
subclass of: Incorrect Control Flow Scoping

Privilege Defined With Unsafe Actions
type: Class
cwe-id: CWE-267
subclass of: Improper Privilege Management

Incorrect User Management
type: Class
cwe-id: CWE-286
subclass of: CWE-284

Improper Check for Certificate Revocation
type: Class
cwe-id: CWE-299
subclass of: Improper Certificate Validation
subclass of: Improper Resource Shutdown or Release

Incorrect Implementation of Authentication Algorithm
type: Class
cwe-id: CWE-303
subclass of: CWE-1390

Inadequate Encryption Strength
type: Class
cwe-id: CWE-326
subclass of: CWE-693

Small Space of Random Values
type: Class
cwe-id: CWE-334
subclass of: Use of Insufficiently Random Values

Origin Validation Error
type: Class
cwe-id: CWE-346
subclass of: CWE-284
subclass of: CWE-345

Insufficient UI Warning of Dangerous Operations
type: Class
cwe-id: CWE-357
subclass of: CWE-693

Trust of System Event Data
type: Class
cwe-id: CWE-360
subclass of: CWE-345

Time-of-check Time-of-use (TOCTOU) Race Condition
type: Class
cwe-id: CWE-367
subclass of: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

Inefficient Algorithmic Complexity
type: Class
cwe-id: CWE-407
subclass of: CWE-405

Improper Resource Locking
type: Class
cwe-id: CWE-413
subclass of: Improper Locking

Path Equivalence: 'filename.' (Trailing Dot)
type: Class
cwe-id: CWE-42
subclass of: Improper Neutralization of Trailing Special Elements
subclass of: CWE-41

Improper Protection of Alternate Path
type: Class
cwe-id: CWE-424
subclass of: Not Using Complete Mediation
subclass of: CWE-693

Path Equivalence: 'file.name' (Internal Dot)
type: Class
cwe-id: CWE-44
subclass of: CWE-41

Use of Function with Inconsistent Implementations
type: Class
cwe-id: CWE-474
subclass of: Reliance on Undefined, Unspecified, or Implementation-Defined Behavior

NULL Pointer Dereference
type: Class
type: NamedIndividual
cwe-id: CWE-476
weakness-of: Pointer Dereferencing Function
subclass of: Restriction
  on property: weakness-of
  some values from: Pointer Dereferencing Function
subclass of: CWE-710
subclass of: Improper Check for Unusual or Exceptional Conditions

Active Debug Code
type: Class
cwe-id: CWE-489
subclass of: CWE-710

Critical Public Variable Without Final Modifier
type: Class
cwe-id: CWE-493
subclass of: CWE-668

Weak Password Requirements
type: Class
cwe-id: CWE-521
subclass of: Use of Weak Credentials

Use of Cache Containing Sensitive Information
type: Class
cwe-id: CWE-524
subclass of: CWE-668

Reliance on Cookies without Validation and Integrity Checking
type: Class
cwe-id: CWE-565
subclass of: Client-Side Enforcement of Server-Side Security
subclass of: External Control of Critical State Data

Comparison of Object References Instead of Object Contents
type: Class
cwe-id: CWE-595
subclass of: Comparison Using Wrong Factors

Permissive Regular Expression
type: Class
cwe-id: CWE-625
subclass of: Incorrect Regular Expression

Not Failing Securely ('Failing Open')
type: Class
cwe-id: CWE-636
subclass of: Violation of Secure Design Principles
subclass of: Improper Handling of Exceptional Conditions

Not Using Complete Mediation
type: Class
cwe-id: CWE-638
subclass of: Violation of Secure Design Principles
subclass of: Missing Authorization

Authorization Bypass Through User-Controlled Key
type: Class
cwe-id: CWE-639
subclass of: Incorrect Authorization

External Influence of Sphere Definition
type: Class
cwe-id: CWE-673
subclass of: CWE-664

Uncontrolled Recursion
type: Class
cwe-id: CWE-674
subclass of: Excessive Iteration

Use of Potentially Dangerous Function
type: Class
cwe-id: CWE-676
subclass of: Use of Prohibited Code

Function Call With Incorrectly Specified Argument Value
type: Class
cwe-id: CWE-687
subclass of: Function Call with Incorrectly Specified Arguments

External Control of File Name or Path
type: Class
cwe-id: CWE-73
subclass of: Externally Controlled Reference to a Resource in Another Sphere
subclass of: External Control of Critical State Data

Compiler Optimization Removal or Modification of Security-critical Code
type: Class
cwe-id: CWE-733
subclass of: Insecure Automated Optimizations

Failure to Sanitize Special Elements into a Different Plane (Special Element Injection)
type: Class
cwe-id: CWE-75
subclass of: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')

Mismatched Memory Management Routines
type: Class
cwe-id: CWE-762
subclass of: Release of Invalid Pointer or Reference

Missing Reference to Active Allocated Resource
type: Class
cwe-id: CWE-771
subclass of: Uncontrolled Resource Consumption

Improper Filtering of Special Elements
type: Class
cwe-id: CWE-790
subclass of: CWE-138

Buffer Access with Incorrect Length Value
type: Class
cwe-id: CWE-805
subclass of: CWE-119

Signal Handler with Functionality that is not Asynchronous-Safe
type: Class
cwe-id: CWE-828
subclass of: Signal Handler Race Condition

Improper Neutralization of Script in Attributes in a Web Page
type: Class
cwe-id: CWE-83
subclass of: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
type: Class
type: NamedIndividual
cwe-id: CWE-89
weakness-of: UserInputFunction
subclass of: Restriction
  on property: weakness-of
  some values from: UserInputFunction
subclass of: Improper Neutralization of Special Elements in Data Query Logic

Use of Uninitialized Resource
type: Class
cwe-id: CWE-908
subclass of: Improper Initialization

Hidden Functionality
type: Class
cwe-id: CWE-912
subclass of: Incorrect Provision of Specified Functionality

Improperly Controlled Modification of Dynamically-Determined Object Attributes
type: Class
cwe-id: CWE-915
subclass of: Improper Control of Dynamically-Managed Code Resources

Improper Neutralization of CRLF Sequences ('CRLF Injection')
type: Class
cwe-id: CWE-93
subclass of: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')

Improper Verification of Source of a Communication Channel
type: Class
cwe-id: CWE-940
subclass of: Improper Restriction of Communication Channel to Intended Endpoints

Improper Neutralization of Directives in Statically Saved Code ('Static Code Injection')
type: Class
cwe-id: CWE-96
subclass of: Improper Control of Generation of Code ('Code Injection')

Capability
type: Class
subclass of: Restriction
  on property: assessed-by
  some values from: Capability Assessment
subclass of: Restriction
  on property: has-feature
  some values from: Capability Feature
subclass of: External Thing

Centroid-based Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-CBC
definition: Centroid-based clustering organizes the data into non-hierarchical clusters, in contrast to hierarchical clustering defined below. K-means is the most widely-used centroid-based clustering algorithm. Centroid-based algorithms are efficient but sensitive to initial conditions and outliers.
kb-article: ## References Google Developers. (n.d.). Clustering Algorithms. [Link](https://developers.google.com/machine-learning/clustering/clustering-algorithms)
subclass of: Cluster Analysis

Clustering
type: Class
subclass of: Summarizing

Coefficient of Variation
type: Class
type: NamedIndividual
d3fend-id: D3A-COV
definition: The coefficient of variation (CV), also known as relative standard deviation (RSD), is a standardized measure of dispersion of a probability distribution or frequency distribution. The coefficient of variation (CV) is defined as the ratio of the standard deviation to the mean .
kb-article: ## References Wikipedia. (n.d.). Coefficient of variation. [Link](https://en.wikipedia.org/wiki/Coefficient_of_variation)
synonym: RSD
synonym: Relative Standard Deviation
subclass of: Variability

Command Line Interface
type: Class
definition: A command-line interface or command language interpreter (CLI), also known as command-line user interface, console user interface, and character user interface (CUI), is a means of interacting with a computer program where the user (or client) issues commands to the program in the form of successive lines of text (command lines). Command-line interfaces to computer operating systems are less widely used by casual computer users, who favor graphical user interfaces. Programs with command-line interfaces are generally easier to automate via scripting.
subclass of: User Interface
alternative label: CLI
alternative label: CUI
alternative label: Command-line Interface

Condition
type: Class
definition: An assumption on which rests the validity or effect of something else.
comment: Less common usage versus state, meant to superclass precondition, postcondition, and effect.
subclass of: D3FENDCore

Correlation Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-CC
definition: Correlation clustering provides a method for clustering a set of objects into the optimum number of clusters without specifying that number in advance.
kb-article: ## References Wikipedia. (n.d.). Correlation clustering. [Link](https://en.wikipedia.org/wiki/Correlation_clustering)
subclass of: High-dimension Clustering

D3FEND Use Case
type: Class
subclass of: Restriction
  on property: has-procedure
  some values from: Use Case Procedure
subclass of: Restriction
  on property: has-audience
  some values from: Target Audience
subclass of: Restriction
  on property: has-prerequisite
  some values from: Use Case Prerequisite
subclass of: Restriction
  on property: has-goal
  some values from: Use Case Goal
subclass of: Use Case

Density-based Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-DBC
definition: Density-based clustering connects areas of high example density into clusters. This allows for arbitrary-shaped distributions as long as dense areas can be connected.
kb-article: ## References Google Developers. (n.d.). Clustering algorithms. [Link](https://developers.google.com/machine-learning/clustering/clustering-algorithms)
subclass of: Cluster Analysis

Description Logic
type: Class
type: NamedIndividual
d3fend-id: D3A-DL
definition: A description logic (DL) is a form of logic usually more expressive than propositional logic but less expressive than first-order logic.
kb-article: ## How it works The core reasoning problems for description logics (DLs) are (usually) decidable, and efficient decision procedures have been designed and implemented for these problems. There are general, spatial, temporal, spatiotemporal, and fuzzy description logics, and each description logic features a different balance between expressive power and reasoning complexity by supporting different sets of mathematical constructors. DLs are used in artificial intelligence to describe and reason about the relevant concepts of an application domain (known as terminological knowledge). It is of particular importance in providing a logical formalism for ontologies and the Semantic Web: the Web Ontology Language (OWL) and its profiles are based on DLs. ## References 1. Description logic. (2023, April 16). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Description_logic)
subclass of: Symbolic AI

Digital Fingerprint
type: Class
definition: A digital signature uniquely identifies data and has the property that changing a single bit in the data will cause a completely different message digest to be generated.
subclass of: Identifier

Distribution-based Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-DBC
definition: Distribution-based clustering creates and groups data points based on their likely hood of belonging to the same probability distribution (Gaussian, Binomial, etc.) in the data.
kb-article: ## References AnalytixLabs. (n.d.). Types of Clustering Algorithms. [Link](https://www.analytixlabs.co.in/blog/types-of-clustering-algorithms/#:~:text=Distribution-Based)
subclass of: Cluster Analysis

Firewall
type: Class
definition: In computing, a firewall is a network security system that monitors and controls incoming and outgoing network traffic based on predetermined security rules. A firewall typically establishes a barrier between a trusted internal network and untrusted external network, such as the Internet. Firewalls are often categorized as either network firewalls or host-based firewalls. Network firewalls filter traffic between two or more networks and run on network hardware. Host-based firewalls run on host computers and control network traffic in and out of those machines. This definition refers to network firewalls.
subclass of: Computer Network Node
alternative label: Network Firewall

Forward Resolution IP Denylisting
type: Class
type: NamedIndividual
blocks: Inbound Internet DNS Response Traffic
d3fend-id: D3-FRIDL
definition: Blocking a DNS lookup's answer's IP address value.
kb-article: ## How it works This technique prevents a client from learning IP addresses deemed to be potentially malicious, which would have been delivered via forward resolution responses. Responses to forward resolution requests (that is, requests where a domain is sent and IP(s) are returned) are collected, and the IP address(es) included as a response are examined. If the IP address(es) are in a range included in the blacklist, then the response is dropped and not forwarded to the client. The DNS lookup can be blocked by either dropping the network traffic with an inline device, or modifying the value of the response sent by the DNS server. To transparently prevent client applications from hanging on a request, it is common practice to replace malicious values with addresses in the range 127.0.0.0/8 or the address of a honeypot maintained by the network administrators. ## Considerations * This technique does not prevent the client from contacting the blacklisted IP, only from learning about this IP address via a nameserver lookup request. * DNS Response traffic can be transmitted over many different protocols, which presents a challenge to implementing methods to extract all DNS answer IP address value(s). * DNS has historically used UDP port 53, with TCP port 53 instead used for responses over 512 bytes or after a lack of response over UDP. * Usage of new protocols to provide confidentiality for DNS traffic, such as DoH (DNS over HTTPS) and DoT (DNS over TLS), complicates collection of the IP address(es) in DNS responses. These protocols have often been enabled in browser settings transparently after a browser update, with DNS requests proxied over one of these cryptographic protocols through a specified host. * This technique must be implemented logically between the application that receives the response and the server which sent the response. * DNS responses sent in an encrypted manner, such as those using DoH or DoT, will require interception of the TLS connections in …
kb-reference: Reference - Use DNS Policy for Applying Filters on DNS Queries
synonym: Forward Resolution IP Blacklisting
subclass of: Restriction
  on property: blocks
  some values from: Inbound Internet DNS Response Traffic
subclass of: DNS Denylisting

Geometric Mean
type: Class
type: NamedIndividual
d3fend-id: D3A-GM
definition: The nth root of the product of the data values, where there are n of these. This measure is valid only for data that are measured absolutely on a strictly positive scale.
kb-article: ## References Wikipedia. (n.d.). Central tendency. [Link](https://en.wikipedia.org/wiki/Central_tendency)
subclass of: Central Tendency

Grouping
type: Class
subclass of: Summarizing

HTML File
type: Class
definition: A document file encoded in HTML.The HyperText Markup Language, or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScript. Web browsers receive HTML documents from a web server or from local storage and render the documents into multimedia web pages. HTML describes the structure of a web page semantically and originally included cues for the appearance of the document.
subclass of: DocumentFile

Harmonic Mean
type: Class
type: NamedIndividual
d3fend-id: D3A-HM
definition: The reciprocal of the arithmetic mean of the reciprocals of the data values. This measure too is valid only for data that are measured absolutely on a strictly positive scale.
kb-article: ## References Wikipedia. (n.d.). Central tendency. [Link](https://en.wikipedia.org/wiki/Central_tendency)
subclass of: Central Tendency

Histogramming
type: Class
subclass of: Summarizing

Host Reboot
type: Class
type: NamedIndividual
d3fend-id: D3-HR
definition: Initiating a host's reboot sequence to terminate all running processes.
kb-article: ## How It Works Host reboot can either be initiated in the physical presence of the device using the power functions or remotely using the provided user interface or an installed EDR agent (with the available function). This process may allow for the removal of specific types of malware, such as fileless malware, and can also prevent further damage, for example, if the system is part of a botnet. ## Considerations - If the attacker has achieved persistence techniques, this technique may not be effective - Compromised systems may not respond to remote commands to shutdown or reboot, requiring physical intervention. - Shutting down a system will usually result in the memory losing its state which can be useful in forensic activities so this should be considered when deciding to shutdown. - Shutting down or rebooting systems may disrupt access to computer resources for legitimate users.
kb-reference: Reference - Near-Memory & In-Memory Detection of Fileless Malware
terminates: Process
subclass of: Restriction
  on property: terminates
  some values from: Process
subclass of: Host Shutdown

IPC Network Traffic
type: Class
definition: IPC network traffic is network traffic related to inter-process communication (IPC) between network nodes..This includes only network traffic conforming to a standard IPC protocol; not custom protocols.
subclass of: NetworkTraffic

Impersonate User
type: SystemCall
type: Class
type: NamedIndividual
forges: UserAccount
subclass of: Restriction
  on property: forges
  some values from: UserAccount
subclass of: SystemCall

Input Function
type: Class
definition: Generic function that receives input from an untrusted source.
subclass of: Subroutine

Interquartile Range
type: Class
type: NamedIndividual
d3fend-id: D3A-IR
definition: The interquartile range (IQR) is a measure of statistical dispersion, which is the spread of the data and is defined as the difference between the 75th and 25th percentiles of the data.
kb-article: ## References Wikipedia. (n.d.). Interquartile range. [Link](https://en.wikipedia.org/wiki/Interquartile_range)
synonym: IQR
subclass of: Variability

Intrusion Detection System
type: Class
definition: An intrusion detection system (IDS) is a device or software application that monitors a network or systems for malicious activity or policy violations. Any intrusion activity or violation is typically reported either to an administrator or collected centrally using a security information and event management (SIEM) system. A SIEM system combines outputs from multiple sources and uses alarm filtering techniques to distinguish malicious activity from false alarms.
subclass of: DigitalInformationBearer
alternative label: IDS

Javascript File
type: ExecutableScript
type: NamedIndividual

Kurtosis
type: Class
type: NamedIndividual
d3fend-id: D3A-KUR
definition: The measure of the "fatness" of the tails of a pmf or pdf. The fourth standardized moment of the distribution.
kb-article: ## References Wikipedia. (n.d.). Probability distribution. [Link](https://en.wikipedia.org/wiki/Probability_distribution)
subclass of: Distribution Properties

Linear Regression
type: Class
type: NamedIndividual
d3fend-id: D3A-LR
definition: Statistical regression method used for predictive analysis by modeling the linear relationship between independent and dependent variables.
kb-article: ## How it works Takes independent variables (i.e. covariate, features, predictors, input variables) and dependent variables (i.e. response, output, “thing to be estimated”) and produces the coefficient(s) and intercept for a linear equation (e.g. (β1, β0) for y = β1x + β0) which predicts the relationship between the independent and independent variables by minimizing a cost function, Mean Squared Error, either directly in the case of univariate linear regression or by gradient descent* in the case of multivariate linear regression. ## Considerations - There are four principal assumptions required for good results using linear regression (the first letters of the four principal assumptions form the "LINE" mnemonic): - Linearity and Additivity - Independent Residuals - Normal Residual Distributions - Equal Variances (i.e. homoscedasticity) - Linear regression is a low variance/high bias model. - Optimizers like Adam, Batch, and Mini-Batch and others are available for certain applications and data sets. - A large learning ratio or training coefficient may lead to divergent behavior of the model and too small of values may lead to long run times and inefficiency. ## Verification Approach - Models are often evaluated by examining one or more of the metrics of R2, Root Mean Squared Error (RMSE), Mean Absolute Error (MAE), and Mean Absolute Percentage Error (MAPE). - While there is no generally accepted single best performance metric as a criterion, users of linear regression should consider the suitability of one or more of these metrics for assessing the performance of their model. - Use well known data sets to verify model execution. ## Validation Approach - Violating the principal assumptions of linear regression results in poor or misleading results. - Ensure data is truly representative and if there are any known biases. ## References 1. Gawali, Suvarna. “Linear Regression Algorithm to Make Predictions Easily.” Analytics Vidhya, 22 July 2022, https://www.analyticsvid…
subclass of: Regression Analysis

Logistic Regression
type: Class
type: NamedIndividual
d3fend-id: D3A-LR
definition: Logistic regression is estimating the parameters of a logistic model.
kb-article: ## References Wikipedia. (n.d.). Logistic regression. [Link](https://en.wikipedia.org/wiki/Logistic_regression)
subclass of: Regression Analysis

Mail Network Traffic
type: Class
type: NamedIndividual
contains: Email
definition: Mail traffic is network traffic that uses a standard mail transfer protocol.
subclass of: Restriction
  on property: contains
  some values from: Email
subclass of: NetworkTraffic

Mail Service
type: Class
definition: A mail service provides the ability to send and receive mail across a computer network. The mail service runs on message transfer agents (i.e., mail servers) and is accessed by users through an email client.
subclass of: Network Service
alternative label: Email Service

Matching
type: Class
subclass of: Analytical Purpose

Mean
type: Class
type: NamedIndividual
d3fend-id: D3A-MEA
definition: The sum of all measurements divided by the number of observations in the data set.
kb-article: ## References Wikipedia. (n.d.). Central tendency. [Link](https://en.wikipedia.org/wiki/Central_tendency)
subclass of: Central Tendency

Mean Absolute Deviation
type: Class
type: NamedIndividual
d3fend-id: D3A-MAD
definition: The mean absolute deviation (MAD), also referred to as the "mean deviation" or sometimes "average absolute deviation", is the mean of the data's absolute deviations around the data's mean: the average (absolute) distance from the mean.
kb-article: ## References Wikipedia. (n.d.). Average absolute deviation. [Link](https://en.wikipedia.org/wiki/Average_absolute_deviation)
synonym: MAD
subclass of: Average Absolute Deviation

Median
type: Class
type: NamedIndividual
d3fend-id: D3A-MED
definition: The middle value that separates the higher half from the lower half of the data set. The median and the mode are the only measures of central tendency that can be used for ordinal data, in which values are ranked relative to each other but are not measured absolutely.
kb-article: ## References Wikipedia. (n.d.). Central tendency. [Link](https://en.wikipedia.org/wiki/Central_tendency)
subclass of: Central Tendency

Median Absolute Deviation
type: Class
type: NamedIndividual
d3fend-id: D3A-MAD
definition: The median absolute deviation (also MAD) is the median of the absolute deviation from the median.
kb-article: ## References Wikipedia. (n.d.). Average absolute deviation. [Link](https://en.wikipedia.org/wiki/Average_absolute_deviation)
subclass of: Average Absolute Deviation

Memory Address Space
type: Class
type: NamedIndividual
contains: Memory Address
definition: A memory address space is a space containing memory addresses.
subclass of: Restriction
  on property: contains
  some values from: Memory Address
subclass of: Address Space

Memory Management Unit Component
type: Class
subclass of: HardwareDevice

Metadata
type: Class
definition: Metadata is "data [information] that provides information about other data". Three distinct types of metadata exist: structural metadata, descriptive metadata, and administrative metadata. Structural metadata is data about the containers of data. For instance a "book" contains data, and data about the book is metadata about that container of data. Descriptive metadata uses individual instances of application data or the data content.
subclass of: Digital Information

Mode
type: Class
type: NamedIndividual
d3fend-id: D3A-MOD
definition: The most frequent value in the data set. This is the only central tendency measure that can be used with nominal data, which have purely qualitative category assignments.
kb-article: ## References Wikipedia. (n.d.). Central tendency. [Link](https://en.wikipedia.org/wiki/Central_tendency)
subclass of: Central Tendency

Moments
type: Class
type: NamedIndividual
d3fend-id: D3A-MOM
definition: With a probability distribution function, the the first moment is the expected value, the second central moment is the variance, the third standardized moment is the skewness, and the fourth standardized moment is the kurtosis.
kb-article: ## References Wikipedia. (n.d.). Moment (mathematics). [Link](https://en.wikipedia.org/wiki/Moment_(mathematics))
subclass of: Distribution Properties

Multiple Regression
type: Class
type: NamedIndividual
d3fend-id: D3A-MR
definition: Multiple (linear) regression attempts to model the relationship between two or more explanatory variables and a response variable by fitting a linear equation to observed data.
kb-article: ## References Yale University Department of Statistics. (1997-98). Linear regression and multivariate analysis. [Link](http://www.stat.yale.edu/Courses/1997-98/101/linmult.htm)
synonym: Multiple Linear Regression
subclass of: Regression Analysis

AC-17(8)
type: NISTControl
type: NamedIndividual
broader: ExecutableDenylisting
control-name: Remote Access | Disable Nonsecure Network Protocols
member-of: NIST SP 800-53 R5

AC-23
type: NISTControl
type: NamedIndividual
control-name: Data Mining Protection
member-of: NIST SP 800-53 R5
narrower: Job Function Access Pattern Analysis
narrower: LocalAccountMonitoring
narrower: Resource Access Pattern Analysis
narrower: User Data Transfer Analysis

AC-24
type: NISTControl
type: NamedIndividual
control-name: Access Control Decisions
member-of: NIST SP 800-53 R5
narrower: MandatoryAccessControl

AC-24(1)
type: NISTControl
type: NamedIndividual
control-name: Access Control Decisions | Transmit Access Authorization Information
member-of: NIST SP 800-53 R5
narrower: MandatoryAccessControl
narrower: UserAccountPermissions

AC-24(2)
type: NISTControl
type: NamedIndividual
control-name: Access Control Decisions | No User or Process Identity
member-of: NIST SP 800-53 R5
narrower: MandatoryAccessControl
narrower: UserAccountPermissions

AC-2(1)
type: NISTControl
type: NamedIndividual
broader: AccountLocking
broader: Multi-factorAuthentication
control-name: Account Management | Automated System Account Management
member-of: NIST SP 800-53 R5

AC-2(13)
type: NISTControl
type: NamedIndividual
control-name: Account Management | Disable Accounts for High-risk Individuals
member-of: NIST SP 800-53 R5
narrower: AccountLocking

AC-2(2)
type: NISTControl
type: NamedIndividual
broader: AccountLocking
control-name: Account Management | Automated Temporary and Emergency Account Management
member-of: NIST SP 800-53 R5

AC-2(3)
type: NISTControl
type: NamedIndividual
broader: AccountLocking
control-name: Account Management | Disable Accounts
member-of: NIST SP 800-53 R5

AC-2(4)
type: NISTControl
type: NamedIndividual
control-name: Account Management | Automated Audit Actions
member-of: NIST SP 800-53 R5
related: DomainAccountMonitoring

AC-2(5)
type: NISTControl
type: NamedIndividual
control-name: Account Management | Inactivity Logout
member-of: NIST SP 800-53 R5
related: AccountLocking

AC-2(6)
type: NISTControl
type: NamedIndividual
broader: MandatoryAccessControl
control-name: Account Management | Dynamic Privilege Management
member-of: NIST SP 800-53 R5

AC-2(7)
type: NISTControl
type: NamedIndividual
control-name: Account Management | Privileged User Accounts
member-of: NIST SP 800-53 R5
narrower: UserAccountPermissions

AC-2(9)
type: NISTControl
type: NamedIndividual
control-name: Account Management | Restrictions on Use of Shared and Group Accounts
member-of: NIST SP 800-53 R5
narrower: MandatoryAccessControl
narrower: UserAccountPermissions

AC-3
type: NISTControl
type: NamedIndividual
control-name: Access Enforcement
member-of: NIST SP 800-53 R5
narrower: ExecutableAllowlisting
narrower: ExecutableDenylisting
narrower: MandatoryAccessControl

AC-3(11)
type: NISTControl
type: NamedIndividual
control-name: Access Enforcement | Restrict Access to Specific Information Types
member-of: NIST SP 800-53 R5
narrower: MandatoryAccessControl

AC-3(13)
type: NISTControl
type: NamedIndividual
control-name: Access Enforcement | Attribute-based Access Control
member-of: NIST SP 800-53 R5
narrower: MandatoryAccessControl

AC-3(3)
type: NISTControl
type: NamedIndividual
control-name: Access Enforcement | Mandatory Access Control
exactly: MandatoryAccessControl
member-of: NIST SP 800-53 R5

AC-3(7)
type: NISTControl
type: NamedIndividual
control-name: Access Enforcement | Role-based Access Control
member-of: NIST SP 800-53 R5
narrower: MandatoryAccessControl

AC-3(8)
type: NISTControl
type: NamedIndividual
control-name: Access Enforcement | Revocation of Access Authorizations
member-of: NIST SP 800-53 R5
narrower: MandatoryAccessControl
narrower: System Call Filtering

AC-4
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement
member-of: NIST SP 800-53 R5
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering

AC-4(1)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Object Security and Privacy Attributes
member-of: NIST SP 800-53 R5
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering

AC-4(10)
type: NISTControl
type: NamedIndividual
broader: InboundTrafficFiltering
broader: OutboundTrafficFiltering
control-name: Information Flow Enforcement | Enable and Disable Security or Privacy Policy Filters
member-of: NIST SP 800-53 R5

AC-4(11)
type: NISTControl
type: NamedIndividual
broader: InboundTrafficFiltering
broader: OutboundTrafficFiltering
control-name: Information Flow Enforcement | Configuration of Security or Privacy Policy Filters
member-of: NIST SP 800-53 R5

AC-4(12)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Data Type Identifiers
member-of: NIST SP 800-53 R5
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering

AC-4(13)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Decomposition into Policy-relevant Subcomponents
member-of: NIST SP 800-53 R5
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering

AC-4(14)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Security or Privacy Policy Filter Constraints
member-of: NIST SP 800-53 R5
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering

AC-4(15)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Detection of Unsanctioned Information
member-of: NIST SP 800-53 R5
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering

AC-4(17)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Domain Authentication
member-of: NIST SP 800-53 R5
narrower: DomainTrustPolicy

AC-4(19)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Validation of Metadata
member-of: NIST SP 800-53 R5
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering

AC-4(20)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Approved Solutions
member-of: NIST SP 800-53 R5
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering

AC-4(21)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Physical or Logical Separation of Information Flows
member-of: NIST SP 800-53 R5
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering

AC-4(26)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Audit Filtering Actions
member-of: NIST SP 800-53 R5
narrower: FileContentRules

AC-4(27)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Redundant/independent Filtering Mechanisms
exactly: InboundTrafficFiltering
exactly: OutboundTrafficFiltering
member-of: NIST SP 800-53 R5

AC-4(28)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Linear Filter Pipelines
member-of: NIST SP 800-53 R5
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering

AC-4(29)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Filter Orchestration Engines
member-of: NIST SP 800-53 R5
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering

AC-4(3)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Dynamic Information Flow Control
member-of: NIST SP 800-53 R5
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering

AC-4(30)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Filter Mechanisms Using Multiple Processes
member-of: NIST SP 800-53 R5
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering

AC-4(32)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Process Requirements for Information Transfer
member-of: NIST SP 800-53 R5
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering

AC-4(4)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Flow Control of Encrypted Information
member-of: NIST SP 800-53 R5
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering

AC-4(5)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Embedded Data Types
member-of: NIST SP 800-53 R5
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering

AC-4(6)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Metadata
member-of: NIST SP 800-53 R5
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering

AC-4(8)
type: NISTControl
type: NamedIndividual
control-name: Information Flow Enforcement | Security and Privacy Policy Filters
member-of: NIST SP 800-53 R5
narrower: InboundTrafficFiltering
narrower: OutboundTrafficFiltering

AC-5
type: NISTControl
type: NamedIndividual
broader: LocalFilePermissions
broader: MandatoryAccessControl
broader: UserAccountPermissions
control-name: Separation of Duties
member-of: NIST SP 800-53 R5

AC-6
type: NISTControl
type: NamedIndividual
broader: LocalFilePermissions
broader: MandatoryAccessControl
broader: UserAccountPermissions
control-name: Least Privilege
member-of: NIST SP 800-53 R5

AC-6(1)
type: NISTControl
type: NamedIndividual
control-name: Least Privilege | Authorize Access to Security Functions
exactly: SystemConfigurationPermissions
member-of: NIST SP 800-53 R5

AC-6(10)
type: NISTControl
type: NamedIndividual
control-name: Least Privilege | Prohibit Non-privileged Users from Executing Privileged Functions
member-of: NIST SP 800-53 R5
narrower: LocalFilePermissions
narrower: MandatoryAccessControl
narrower: SystemConfigurationPermissions

AC-6(3)
type: NISTControl
type: NamedIndividual
control-name: Least Privilege | Network Access to Privileged Commands
exactly: SystemConfigurationPermissions
member-of: NIST SP 800-53 R5

AC-6(4)
type: NISTControl
type: NamedIndividual
control-name: Least Privilege | Separate Processing Domains
member-of: NIST SP 800-53 R5
narrower: Hardware-basedProcessIsolation

AC-6(5)
type: NISTControl
type: NamedIndividual
control-name: Least Privilege | Privileged Accounts
member-of: NIST SP 800-53 R5
narrower: LocalFilePermissions
narrower: MandatoryAccessControl
narrower: SystemConfigurationPermissions

AC-6(6)
type: NISTControl
type: NamedIndividual
control-name: Least Privilege | Privileged Access by Non-organizational Users
member-of: NIST SP 800-53 R5
narrower: LocalFilePermissions
narrower: MandatoryAccessControl
narrower: SystemConfigurationPermissions

AC-6(9)
type: NISTControl
type: NamedIndividual
broader: LocalAccountMonitoring
broader: UserBehaviorAnalysis
control-name: Least Privilege | Log Use of Privileged Functions
member-of: NIST SP 800-53 R5

AC-7
type: NISTControl
type: NamedIndividual
control-name: Unsuccessful Logon Attempts
exactly: AccountLocking
member-of: NIST SP 800-53 R5

AC-7(3)
type: NISTControl
type: NamedIndividual
control-name: Unsuccessful Logon Attempts | Biometric Attempt Limiting
member-of: NIST SP 800-53 R5
narrower: AccountLocking

AC-7(4)
type: NISTControl
type: NamedIndividual
broader: AccountLocking
control-name: Unsuccessful Logon Attempts | Use of Alternate Authentication Factor
member-of: NIST SP 800-53 R5

AU-10(5)
type: NISTControl
type: NamedIndividual
broader: DriverLoadIntegrityChecking
control-name: Non-repudiation | Digital Signatures
member-of: NIST SP 800-53 R5

AU-14(2)
type: NISTControl
type: NamedIndividual
control-name: Session Audit | Capture and Record Content
member-of: NIST SP 800-53 R5
narrower: LocalAccountMonitoring

AU-15
type: NISTControl
type: NamedIndividual
control-name: Alternate Audit Logging Capability
member-of: NIST SP 800-53 R5
narrower: LocalAccountMonitoring

AU-2
type: NISTControl
type: NamedIndividual
control-name: Event Logging
exactly: LocalAccountMonitoring
member-of: NIST SP 800-53 R5

AU-2(1)
type: NISTControl
type: NamedIndividual
control-name: Event Logging | Compilation of Audit Records from Multiple Sources
exactly: LocalAccountMonitoring
member-of: NIST SP 800-53 R5

AU-2(2)
type: NISTControl
type: NamedIndividual
control-name: Event Logging | Selection of Audit Events by Component
exactly: LocalAccountMonitoring
member-of: NIST SP 800-53 R5

AU-3
type: NISTControl
type: NamedIndividual
control-name: Content of Audit Records
exactly: LocalAccountMonitoring
member-of: NIST SP 800-53 R5

AU-4
type: NISTControl
type: NamedIndividual
control-name: Audit Log Storage Capacity
member-of: NIST SP 800-53 R5
narrower: LocalAccountMonitoring

CM-14
type: NISTControl
type: NamedIndividual
control-name: Signed Components
member-of: NIST SP 800-53 R5
related: DriverLoadIntegrityChecking
related: Message Authentication

CM-5
type: NISTControl
type: NamedIndividual
control-name: Access Restrictions for Change
member-of: NIST SP 800-53 R5
narrower: ExecutableAllowlisting
narrower: ExecutableDenylisting
narrower: LocalAccountMonitoring
narrower: MandatoryAccessControl

CM-5(1)
type: NISTControl
type: NamedIndividual
control-name: Access Restrictions for Change | Automated Access Enforcement and Audit Records
member-of: NIST SP 800-53 R5
narrower: LocalAccountMonitoring

CM-5(3)
type: NISTControl
type: NamedIndividual
control-name: Access Restrictions for Change | Signed Components
member-of: NIST SP 800-53 R5
narrower: LocalAccountMonitoring
narrower: SystemConfigurationPermissions

CM-5(5)
type: NISTControl
type: NamedIndividual
control-name: Access Restrictions for Change | Privilege Limitation for Production and Operation
member-of: NIST SP 800-53 R5
narrower: LocalAccountMonitoring
narrower: SystemConfigurationPermissions

CM-5(6)
type: NISTControl
type: NamedIndividual
control-name: Access Restrictions for Change | Limit Library Privileges
member-of: NIST SP 800-53 R5
narrower: LocalAccountMonitoring
narrower: SystemConfigurationPermissions

CM-6(3)
type: NISTControl
type: NamedIndividual
broader: Application Configuration Hardening
control-name: Configuration Settings | Unauthorized Change Detection
member-of: NIST SP 800-53 R5

IA-2(1)
type: NISTControl
type: NamedIndividual
control-name: Identification and Authentication (organizational Users) | Multi-factor Authentication to Privileged Accounts
member-of: NIST SP 800-53 R5
narrower: Multi-factorAuthentication

IA-2(2)
type: NISTControl
type: NamedIndividual
control-name: Identification and Authentication (organizational Users) | Multi-factor Authentication to Non-privileged Accounts
member-of: NIST SP 800-53 R5
narrower: Multi-factorAuthentication

IA-2(4)
type: NISTControl
type: NamedIndividual
control-name: Identification and Authentication (organizational Users) | Local Access to Non-privileged Accounts
member-of: NIST SP 800-53 R5
narrower: LocalAccountMonitoring

IA-2(6)
type: NISTControl
type: NamedIndividual
control-name: Identification and Authentication (organizational Users) | Access to Accounts —separate Device
member-of: NIST SP 800-53 R5
narrower: Multi-factorAuthentication

IR-4(12)
type: NISTControl
type: NamedIndividual
control-name: Incident Handling | Malicious Code and Forensic Analysis
member-of: NIST SP 800-53 R5
related: Dynamic Analysis

IR-4(13)
type: NISTControl
type: NamedIndividual
control-name: Incident Handling | Behavior Analysis
member-of: NIST SP 800-53 R5
related: Decoy Environment
related: Decoy Object

MA-3(3)
type: NISTControl
type: NamedIndividual
control-name: Maintenance Tools | Prevent Unauthorized Removal
member-of: NIST SP 800-53 R5
narrower: UserAccountPermissions

MA-3(4)
type: NISTControl
type: NamedIndividual
control-name: Maintenance Tools | Restricted Tool Use
member-of: NIST SP 800-53 R5
narrower: UserAccountPermissions

MA-3(5)
type: NISTControl
type: NamedIndividual
control-name: Maintenance Tools | Execution with Privilege
member-of: NIST SP 800-53 R5
narrower: UserAccountPermissions

MA-3(6)
type: NISTControl
type: NamedIndividual
control-name: Maintenance Tools | Software Updates and Patches
member-of: NIST SP 800-53 R5
narrower: SoftwareUpdate

MA-4(1)
type: NISTControl
type: NamedIndividual
control-name: Nonlocal Maintenance | Logging and Review
member-of: NIST SP 800-53 R5
narrower: LocalAccountMonitoring

MA-6
type: NISTControl
type: NamedIndividual
control-name: Timely Maintenance
member-of: NIST SP 800-53 R5
narrower: SoftwareUpdate

MA-6(1)
type: NISTControl
type: NamedIndividual
control-name: Timely Maintenance | Preventive Maintenance
member-of: NIST SP 800-53 R5
narrower: SoftwareUpdate

MA-6(2)
type: NISTControl
type: NamedIndividual
control-name: Timely Maintenance | Predictive Maintenance
member-of: NIST SP 800-53 R5
narrower: SoftwareUpdate

MA-6(3)
type: NISTControl
type: NamedIndividual
control-name: Timely Maintenance | Automated Support for Predictive Maintenance
member-of: NIST SP 800-53 R5
narrower: SoftwareUpdate

RA-3(3)
type: NISTControl
type: NamedIndividual
broader: FileAnalysis
broader: Identifier Analysis
broader: Message Analysis
broader: NetworkTrafficAnalysis
broader: PlatformMonitoring
broader: ProcessAnalysis
broader: UserBehaviorAnalysis
control-name: Risk Assessment | Dynamic Threat Awareness
member-of: NIST SP 800-53 R5

RA-3(4)
type: NISTControl
type: NamedIndividual
control-name: Risk Assessment | Predictive Cyber Analytics
member-of: NIST SP 800-53 R5
narrower: FileAnalysis
narrower: Identifier Analysis
narrower: Message Analysis
narrower: NetworkTrafficAnalysis
narrower: PlatformMonitoring
narrower: ProcessAnalysis
narrower: UserBehaviorAnalysis

RA-5
type: NISTControl
type: NamedIndividual
broader: NetworkTrafficAnalysis
control-name: Vulnerability Monitoring and Scanning
member-of: NIST SP 800-53 R5

RA-5(2)
type: NISTControl
type: NamedIndividual
control-name: Vulnerability Monitoring and Scanning | Update Vulnerabilities to Be Scanned
member-of: NIST SP 800-53 R5
narrower: NetworkTrafficAnalysis

RA-5(3)
type: NISTControl
type: NamedIndividual
control-name: Vulnerability Monitoring and Scanning | Breadth and Depth of Coverage
member-of: NIST SP 800-53 R5
narrower: NetworkTrafficAnalysis

RA-5(4)
type: NISTControl
type: NamedIndividual
control-name: Vulnerability Monitoring and Scanning | Discoverable Information
member-of: NIST SP 800-53 R5
related: Decoy Environment
related: Decoy Object

RA-5(5)
type: NISTControl
type: NamedIndividual
control-name: Vulnerability Monitoring and Scanning | Privileged Access
member-of: NIST SP 800-53 R5
narrower: PlatformHardening

RA-5(6)
type: NISTControl
type: NamedIndividual
control-name: Vulnerability Monitoring and Scanning | Automated Trend Analyses
member-of: NIST SP 800-53 R5
narrower: PlatformHardening

RA-5(7)
type: NISTControl
type: NamedIndividual
control-name: Vulnerability Monitoring and Scanning | Automated Detection and Notification of Unauthorized Components
member-of: NIST SP 800-53 R5
narrower: ExecutableAllowlisting
narrower: ExecutableDenylisting

SA-10(1)
type: NISTControl
type: NamedIndividual
control-name: Developer Configuration Management | Software and Firmware Integrity Verification
member-of: NIST SP 800-53 R5
related: FirmwareVerification
related: PlatformHardening

SA-10(3)
type: NISTControl
type: NamedIndividual
control-name: Developer Configuration Management | Hardware Integrity Verification
member-of: NIST SP 800-53 R5
related: FirmwareVerification

SA-10(4)
type: NISTControl
type: NamedIndividual
control-name: Developer Configuration Management | Trusted Generation
member-of: NIST SP 800-53 R5
related: FirmwareVerification

SA-10(5)
type: NISTControl
type: NamedIndividual
control-name: Developer Configuration Management | Mapping Integrity for Version Control
member-of: NIST SP 800-53 R5
related: FirmwareVerification
related: PlatformHardening

SA-10(6)
type: NISTControl
type: NamedIndividual
control-name: Developer Configuration Management | Trusted Distribution
member-of: NIST SP 800-53 R5
related: FirmwareVerification
related: PlatformHardening

SA-11(1)
type: NISTControl
type: NamedIndividual
control-name: Developer Testing and Evaluation | Static Code Analysis
member-of: NIST SP 800-53 R5
related: Application Hardening

SA-11(8)
type: NISTControl
type: NamedIndividual
control-name: Developer Testing and Evaluation | Dynamic Code Analysis
member-of: NIST SP 800-53 R5
related: Application Hardening

SA-8(18)
type: NISTControl
type: NamedIndividual
control-name: Security and Privacy Engineering Principles | Trusted Communications Channels
member-of: NIST SP 800-53 R5
related: EncryptedTunnels

SA-8(22)
type: NISTControl
type: NamedIndividual
control-name: Security and Privacy Engineering Principles | Accountability and Traceability
member-of: NIST SP 800-53 R5
related: DomainAccountMonitoring

SC-2
type: NISTControl
type: NamedIndividual
broader: LocalFilePermissions
broader: MandatoryAccessControl
broader: SystemConfigurationPermissions
control-name: Separation of System and User Functionality
member-of: NIST SP 800-53 R5

SC-2(1)
type: NISTControl
type: NamedIndividual
control-name: Separation of System and User Functionality | Interfaces for Non-privileged Users
member-of: NIST SP 800-53 R5
narrower: LocalFilePermissions
narrower: MandatoryAccessControl
narrower: SystemConfigurationPermissions

SC-3
type: NISTControl
type: NamedIndividual
broader: Execution Isolation
broader: Network Isolation
control-name: Security Function Isolation
member-of: NIST SP 800-53 R5

SC-3(1)
type: NISTControl
type: NamedIndividual
control-name: Security Function Isolation | Hardware Separation
member-of: NIST SP 800-53 R5
narrower: Execution Isolation

SI-2(4)
type: NISTControl
type: NamedIndividual
control-name: Flaw Remediation | Automated Patch Management Tools
member-of: NIST SP 800-53 R5
narrower: SoftwareUpdate

SI-2(5)
type: NISTControl
type: NamedIndividual
control-name: Flaw Remediation | Automatic Software and Firmware Updates
exactly: FirmwareVerification
exactly: Peripheral Firmware Verification
exactly: SoftwareUpdate
exactly: System Firmware Verification
member-of: NIST SP 800-53 R5

SI-2(6)
type: NISTControl
type: NamedIndividual
control-name: Flaw Remediation | Removal of Previous Versions of Software and Firmware
member-of: NIST SP 800-53 R5
narrower: FirmwareVerification
narrower: Peripheral Firmware Verification
narrower: SoftwareUpdate
narrower: System Firmware Verification

SI-3
type: NISTControl
type: NamedIndividual
broader: FileAnalysis
broader: NetworkTrafficAnalysis
broader: PlatformMonitoring
broader: ProcessAnalysis
control-name: Malicious Code Protection
member-of: NIST SP 800-53 R5

SI-3(10)
type: NISTControl
type: NamedIndividual
control-name: Malicious Code Protection | Malicious Code Analysis
exactly: Dynamic Analysis
member-of: NIST SP 800-53 R5

SI-3(4)
type: NISTControl
type: NamedIndividual
control-name: Malicious Code Protection | Updates Only by Privileged Users
member-of: NIST SP 800-53 R5
narrower: LocalFilePermissions
narrower: MandatoryAccessControl
narrower: SystemConfigurationPermissions

SI-3(8)
type: NISTControl
type: NamedIndividual
control-name: Malicious Code Protection | Detect Unauthorized Commands
member-of: NIST SP 800-53 R5
narrower: UserBehaviorAnalysis

SI-4
type: NISTControl
type: NamedIndividual
broader: OperatingSystemMonitoring
control-name: System Monitoring
member-of: NIST SP 800-53 R5

SI-4(2)
type: NISTControl
type: NamedIndividual
control-name: System Monitoring | Automated Tools and Mechanisms for Real-time Analysis
member-of: NIST SP 800-53 R5
narrower: NetworkTrafficAnalysis

SI-4(4)
type: NISTControl
type: NamedIndividual
control-name: System Monitoring | Inbound and Outbound Communications Traffic
member-of: NIST SP 800-53 R5
narrower: NetworkTrafficAnalysis

News Article
type: Class
subclass of: Article

Non-Person Entity
type: Class
definition: An entity related to information technology with a digital identity that acts in cyberspace, but is not a human actor. This can include organizations, hardware objects (physical entities/devices), software objects (virtual/logical entities), and information artifacts.
synonym: NPE
comment: CNSSI 4009 aka "Committee on National Security Systems (CNSS) Glossary" (March 2, 2002)
subclass of: Agent

Nonlinear Regression
type: Class
type: NamedIndividual
d3fend-id: D3A-NR
definition: Nonlinear regression is a form of regression analysis in which observational data are modeled by a function which is a nonlinear combination of the model parameters and depends on one or more independent variables.
kb-article: ## References Wikipedia. (n.d.). Nonlinear regression. [Link](https://en.wikipedia.org/wiki/Nonlinear_regression)
subclass of: Regression Analysis

OS API Access Process
type: Class
type: NamedIndividual
invokes: Access Process
subclass of: Restriction
  on property: invokes
  some values from: Access Process
subclass of: OSAPISystemFunction

OS API Function
type: Class
subclass of: Software

OS API Load Module
type: Class
type: NamedIndividual
invokes: Load Module
subclass of: Restriction
  on property: invokes
  some values from: Load Module
subclass of: OSAPISystemFunction

OS API Read Memory
type: Class
type: NamedIndividual
invokes: Read Memory
subclass of: Restriction
  on property: invokes
  some values from: Read Memory
subclass of: OSAPISystemFunction

OS API Save Registers
type: Class
type: NamedIndividual
invokes: Save Registers
subclass of: Restriction
  on property: invokes
  some values from: Save Registers
subclass of: OSAPISystemFunction

OS API Set Registers
type: Class
type: NamedIndividual
invokes: Set Registers
subclass of: Restriction
  on property: invokes
  some values from: Set Registers
subclass of: OSAPISystemFunction

OS API Unload Module
type: Class
type: NamedIndividual
invokes: UnloadModule
subclass of: Restriction
  on property: invokes
  some values from: UnloadModule
subclass of: OSAPISystemFunction

Output Device
type: Class
definition: An output device is any piece of computer hardware equipment which converts information into human-readable form. It can be text, graphics, tactile, audio, and video. Some of the output devices are Visual Display Units (VDU) i.e. a Monitor, Printer, Graphic Output devices, Plotters, Speakers etc. A new type of Output device is been developed these days, known as Speech synthesizer, a mechanism attached to the computer which produces verbal output sounding almost like human speeches.
subclass of: HardwareDevice

Planning
type: Class
subclass of: Analytical Purpose

Policy
type: Class
subclass of: Document

Policy Gradient
type: Class
type: NamedIndividual
d3fend-id: D3A-PG
definition: The objective of a Reinforcement Learning Policy Gradient agent is to maximize the “expected” reward when following a policy
kb-article: ## References Policy Gradients in a Nutshell. Towards Data Science. [Link](https://towardsdatascience.com/policy-gradients-in-a-nutshell-8b72f9743c5d).
subclass of: Model-free Reinforcement Learning

Policy Reference
type: Class
pref-label: Policy
subclass of: TechniqueReference

Portfolio Assessment
type: Class
subclass of: Restriction
  on property: has-evidence
  some values from: Capability Assessment
subclass of: Assessment

Process Data Segment
type: Class
definition: A process data segment, is a portion of the program's virtual address space that contains executable instructions and corresponds to the loaded image data segment.
subclass of: ProcessSegment

Product Developer
type: Class
subclass of: Restriction
  on property: produces
  some values from: Product
subclass of: Provider

Projection-based Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-PBC
definition: Projection Based Clustering is a clustering framework based on a chosen projection method and projection method a parameter-free high-dimensional data visualization technique.
kb-article: ## References R Core Team. (2021). ProjectionBasedClustering: Projection Based Clustering. [Link](https://cran.r-project.org/web/packages/ProjectionBasedClustering/ProjectionBasedClustering.pdf) Lai, J. H., Liu, Y., & Wu, W. (2017). Projection Based Clustering. [Link](https://www.researchgate.net/publication/319006501_Projection_Based_Clustering)
subclass of: High-dimension Clustering

Proposition
type: Class
subclass of: D3FEND Catalog Thing

Q-Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-QL
definition: Q-learning is a model-free reinforcement learning algorithm to learn the value of an action in a particular state. It does not require a model of the environment (hence "model-free"), and it can handle problems with stochastic transitions and rewards without requiring adaptations.
kb-article: ## References Q-learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Q-learning).
subclass of: Model-free Reinforcement Learning

Range
type: Class
type: NamedIndividual
d3fend-id: D3A-RAN
definition: The range of a set of data is the difference between the largest and smallest value.
kb-article: ## References Wikipedia. (n.d.). Range (statistics). [Link](https://en.wikipedia.org/wiki/Range_(statistics))
subclass of: Variability

Reference - CAR-2019-07-001: Access Permission Modification - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2019-07-001/
kb-abstract: Adversaries sometimes modify object access rights at the operating system level. There are varying motivations behind this action - they may not want some files/objects to be changed on systems for persistence reasons and therefore provide admin only rights; also, they may want files to be accessible with lower levels of permissions.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: System File Analysis
kb-reference-title: CAR-2019-07-001: Access Permission Modification

Reference - CAR-2019-08-002: Active Directory Dumping via NTDSUtil - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2019-08-002/
kb-abstract: The NTDSUtil tool may be used to dump a Microsoft Active Directory database to disk for processing with a credential access tool such as Mimikatz. This is performed by launching ntdsutil.exe as a privileged user with command line arguments indicating that media should be created for offline Active Directory installation and specifying a folder path. This process will create a copy of the Active Directory database, ntds.dit, to the specified folder path.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2019-08-002: Active Directory Dumping via NTDSUtil

Reference - Advanced device matching system
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US10892951B2/
kb-abstract: Disclosed is a device management system for discovery and management of components added to computer systems and sub-systems. The device management system provides for recognizing a newly added component, and determining if the newly added component is already a part of the system inventory. The newly added component is matched with a component currently on the system, based on at least one matching attribute. A point total is calculated for each match level and a final match score is provided. The match score is compared with an aggressiveness level to determine if a match does indeed exist.
kb-author: Rajneesh Jalan, Joseph M. Schmitt, and Marco Simoes
kb-organization: Device42 Inc
kb-reference-of: Hardware Component Inventory
kb-reference-title: Advanced device matching system

Reference - CAR-2015-07-001: All Logins Since Last Boot - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2015-07-001/
kb-abstract: Once a credential dumper like mimikatz runs, every user logged on since boot is potentially compromised, because the credentials were accessed via the memory of lsass.exe. When such an event occurs, this analytic will give the forensic context to identify compromised users. Those users could potentially be used in later events for additional logons. The time field indicates the first and last time a system reported a user logged into a given system. This means that activity could be intermittent between the times given and should not be considered a duration.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: Credential Compromise Scope Analysis
kb-reference-title: CAR-2015-07-001: All Logins Since Last Boot

Reference - Analysis of the Windows Vista Security Model - Symantec Corporation
type: AcademicPaperReference
type: NamedIndividual
has-link: https://web.archive.org/web/20140407025337/http://www.symantec.com/avcenter/reference/Windows_Vista_Security_Model_Analysis.pdf
kb-abstract: This paper provides an in-depth technical assessment of the security improvements implemented in Windows Vista, focusing primarily on the areas of User Account Protection and User Interface Privilege Isolation. This paper discusses these features and touches on several of their shortcomings. It then demonstrates how it is possible to combine these attacks to gain full control over the machine from low integrity, low privilege process.
kb-author: Matthew Conover
kb-organization: Symantec Corporation
kb-reference-of: MandatoryAccessControl
kb-reference-title: Analysis of the Windows Vista Security Model

Reference - Anomaly Detection Using Adaptive Behavioral Profiles - Securonix Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20160226901A1
kb-abstract: The invention provides a system and method for automatic creation of adaptive behavioral profiles for observables associated with resource states and events in a computer network (IT) infrastructure of an enterprise and for detecting anomalies that represent potential malicious activity and threats as deviations from normal behavior. Separate profiles may be created for each behavioral indicator, as well as for each time series of measurements, and aggregated to create an overall behavioral profile. An anomaly probability is determined from the behavioral profile and used to evaluate the data values of observables. Outlier data values which deviate from normal behavior by more than a predetermined probability threshold are identified for risk analysis as possible threats while inliers within the range of normal behavior are used to update the behavioral profile. Behavioral profiles are created for behavioral indicators based upon observables measured over predetermined time periods using algorithms employing statistical analysis approaches that work for any type of data distribution, and profiles are adapted over time using data aging to more closely represent current behavior. Algorithm parameters for creating profiles are based on the type of data, i.e., its metadata.
kb-author: Igor A. Baikalov; Tanuj Gulati; Sachin Nayyar; Anjaneya Shenoy; Ganpatrao H. Patwardhan
kb-mitre-analysis: The patent describes a technique for detecting anomalous activity within an organization's IT infrastructure to identify threats. Behavioral profiles can be grouped by peer groups that identify functionally similar groups of actors (users or resources) based on their attributes and pre-defined grouping rules. For example, users can be grouped by their job title, organizational hierarchy, or location and can be observed for similarities in access patterns, based on granted access entitlements or actual logged resource access. Behavioral profiles are created from measurements of events over a time period for example: * Transaction counts * Concurrent users per hour * Daily volume of data Outlier data values which deviate from behavioral profile by more than a predetermined probability threshold are identified for risk analysis as possible threats.
kb-organization: Securonix Inc
kb-reference-of: Job Function Access Pattern Analysis
kb-reference-title: Anomaly Detection Using Adaptive Behavioral Profiles

Reference - Anti-tamper system with self-adjusting guards - ARXAN TECHNOLOGIES Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20150052603A1
kb-abstract: An anti-tamper system is disclosed that includes self-adjusting guards inserted in software. Self-adjusting guards include invocation criteria and guard function. During run-time, each time the self-adjusting guard is invoked, the invocation criteria is evaluated and the guard function is only executed if the invocation criteria is satisfied. The invocation criteria can be static or dynamic, satisfied randomly with fixed or varying probability, a monotonically or exponentially decreasing function or most any other type of function. The invocation criteria can be satisfied based on elapsed inter-guard invocation time (time since last guard function execution), target inter-guard invocation time, and/or guard execution time. A method is disclosed of inserting self-adjusting guards into software, and executing the software. Evaluating the invocation criteria can include adjusting the invocation criteria when satisfied. The self-adjusting guards can be inserted into the software at a source or object code level.
kb-author: Kevin Dale Morgan
kb-organization: ARXAN TECHNOLOGIES Inc
kb-reference-of: Process Code Segment Verification
kb-reference-title: Anti-tamper system with self-adjusting guards

Reference - Approaches for securing an internet endpoint using fine-grained operating system virtualization - Bromium, Inc.
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20110296412A1
kb-abstract: Approaches for executing untrusted software on a client without compromising the client using micro-virtualization to execute untrusted software in isolated contexts. A template for instantiating a virtual machine on a client is identified in response to receiving a request to execute an application. After the template is identified, without human intervention, a virtual machine is instantiated, using the template, in which the application is to be executed. The template may be selected from a plurality of templates based on the nature of the request, as each template describe characteristics of a virtual machine suitable for a different type of activity. Selected resources such as files are displayed to the virtual machines according to user and organization policies and controls. When the client determines that the application has ceased to execute, the client ceases execution of the virtual machine without human intervention.
kb-author: Gaurav Banga, Ian Pratt, Kiran Bondalapati, Vikram Kapoor
kb-organization: Bromium, Inc.
kb-reference-of: Hardware-basedProcessIsolation
kb-reference-title: Approaches for securing an internet endpoint using fine-grained operating system virtualization

Reference - Architecture of transparent network security for application containers - Neuvector Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20170093922A1
kb-abstract: A system comprises one or more application containers, each application container including computer-readable instructions and initiated via a container service and isolated using operating system-level virtualization. The system also comprises one or more virtual switches configured to route traffic from the application containers. The system further comprises one or more security containers, each security container configured to transparently intercept traffic from the one or more application containers for analysis of network security. The system further comprises a user interface (UI) container configured to receive configuration settings from a user. The system also comprises an analytics container configured to perform analysis on data received from the one or more security containers. The system also comprises a management container configured to configure settings for the one or more security containers and the analytics container.
kb-author: Gang Duan
kb-organization: Neuvector Inc
kb-reference-of: MandatoryAccessControl
kb-reference-title: Architecture of transparent network security for application containers

Reference - Automated computer vulnerability resolution system
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US7308712B2
kb-abstract: A system and process for addressing computer security vulnerabilities. The system and process generally comprise aggregating vulnerability information on a plurality of computer vulnerabilities; constructing a remediation database of said plurality of computer vulnerabilities; constructing a remediation signature to address the computer vulnerabilities; and deploying said remediation signature to a client computer. The remediation signature essentially comprises a sequence of actions to address a corresponding vulnerability. A managed automated approach to the process is contemplated in which the system is capable of selective deployment of remediation signatures; selective resolution of vulnerabilities; scheduled deployment of remediation signatures; and scheduled scanning of client computers for vulnerabilities.
kb-author: Carl E. Banzhof
kb-organization: McAfee LLC
kb-reference-of: Asset Vulnerability Enumeration
kb-reference-title: Automated computer vulnerability resolution system

Reference - Automatically generating network resource groups and assigning customized decoy policies thereto - Illusive Networks Ltd
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20170310689A1
kb-abstract: A cyber security system comprising circuitry of a decoy deployer planting one or more decoy lateral attack vectors in each of a first and a second group of resources within a common enterprise network of resources, the first and second groups of resources having different characteristics in terms of subnets, naming conventions, DNS aliases, listening ports, users and their privileges, and installed applications, wherein a lateral attack vector is an object of a first resource within the network that has a potential to be used by an attacker who discovered the first resource to further discover information regarding a second resource within the network, the second resource being previously undiscovered by the attacker, and wherein the decoy lateral attack vectors in the first group conform to the characteristics of the first group, and the decoy lateral attack vectors in the second group conform to the characteristics of the second group.
kb-author: Shlomo Touboul; Hanan Levin; Stephane Roubach; Assaf Mischari; Itai Ben David; Itay Avraham; Adi Ozer; Chen Kazaz; Ofer Israeli; Olga Vingurt; Liad Gareh; Israel Grimberg; Cobby Cohen; Sharon Sultan; Matan Kubovsky
kb-organization: Illusive Networks Ltd
kb-reference-of: Decoy Network Resource
kb-reference-title: Automatically generating network resource groups and assigning customized decoy policies thereto

Reference - Broadcast isolation and level 3 network switch - Hewlett Packard Enterprise Development LP
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US5920699A
kb-abstract: A network switch comprising a switching Application Specific Integrated Circuit (ASIC) and a Virtual Switching Engine (VSE) connected to a plurality of ports. The switching ASIC has a high-speed memory table which enables it to look up addresses that it has previously obtained and to forward unicast packets to said addresses. The VSE is a CPU that makes switching decisions outside of the ASIC and keeps track of any unknown addresses, forwarding the packets out the appropriate ports and answers broadcast packets by proxy for all known addresses without forwarding any of the packets down the VLANs, thereby freeing the VLAN bandwidth from excessive traffic. The system requires no user configuration because the switching methodology is self-adaptive to the network in which it is inserted and has the ability to perform router functions such as level 2 and 3 switching, spanning tree protocols and compatibility with Internetwork Packet and Internetwork Packet Exchange networks.
kb-author: Ballard C. Bare
kb-organization: Hewlett Packard Enterprise Development LP
kb-reference-of: Broadcast Domain Isolation
kb-reference-title: Broadcast isolation and level 3 network switch

Reference - CAR-2014-05-001: RPC Activity - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2014-05-001/
kb-abstract: Microsoft Windows uses its implementation of Distributed Computing Environment/Remote Procedure Call (DCE/RPC), which it calls Microsoft RPC, to call certain APIs remotely. A Remote Procedure Call is initiated by communicating to the RPC Endpoint Mapper, which exists as the Windows service RpcEptMapper and listens on the port 135/tcp. The endpoint mapper resolves a requested endpoint/interface and responds to the client with the port that the service is listening on. Since the RPC endpoints are assigned ports when the services start, these ports are dynamically assigned from 49152 to 65535. The connection to the endpoint mapper then terminates and the client program can communicate directly with the requested service. RPC is a legitimate functionality of Windows that allows remote interaction with a variety of services. For a Windows environment to be properly configured, several programs use RPC to communicate legitimately with servers. The background and benign RPC activity may be enormous, but must be learned, especially peer-to-peer RPC between workstations, which is often indicative of Lateral Movement.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: RPC Traffic Analysis
kb-reference-title: CAR-2014-05-001: RPC Activity

Reference - CAR-2014-11-007: Remote Windows Management Instrumentation (WMI) over RPC - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
kb-abstract: As described in ATT&CK, an adversary can use Windows Management Instrumentation (WMI) to view or manipulate objects on a remote host. It can be used to remotely edit configuration, start services, query files, and anything that can be done with a WMI class. When remote WMI requests are over RPC (CAR-2014-05-001), it connects to a DCOM interface within the RPC group netsvcs. To detect this activity, a sensor is needed at the network level that can decode RPC traffic or on the host where the communication can be detected more natively, such as Event Tracing for Windows. Using wireshark/tshark decoders, the WMI interfaces can be extracted so that WMI activity over RPC can be detected. Although the description details how to detect remote WMI precisely, a decent estimate has been to look for the string RPCSS within the initial RPC connection on 135/tcp. It returns a superset of this activity, and will trigger on all DCOM-related services running within RPC, which is likely to also be activity that should be detected between hosts. More about RPCSS at : rpcss_dcom_interfaces.html
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: RPC Traffic Analysis
kb-reference-title: CAR-2014-11-007: Remote Windows Management Instrumentation (WMI) over RPC

Reference - CAR-2015-04-001: Remotely Scheduled Tasks via AT - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2015-04-001/
kb-abstract: When AT.exe is used to remotely schedule tasks, Windows uses named pipes over SMB to communicate with the API on the remote machine. After authentication over SMB, the Named Pipe “ATSVC” is opened, over which the JobAdd function is called. On the remote host, the job files are created by the Task Scheduler and follow the convention C:\Windows\System32\AT<job\_id>. Unlike CAR-2013-05-004, this analytic specifically focuses on uses of AT that can be detected between hosts, indicating remotely gained execution. This pipe activity could be discovered with a network decoder, such as that in wireshark, that can inspect SMB traffic to identify the use of pipes. It could also be detected by looking for raw packet capture streams or from a custom sensor on the host that hooks the appropriate API functions. If no network or API level of visibility is possible, this traffic may inferred by looking at SMB connections over 445/tcp followed by the creation of files matching the pattern C:\Windows\System32\AT\<job_id\>.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: IPC Traffic Analysis
kb-reference-title: CAR-2015-04-001: Remotely Scheduled Tasks via AT

Reference - CAR-2016-04-004: Successful Local Account Login
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2016-04-004/
kb-reference-of: LocalAccountMonitoring
kb-reference-title: Reference - CAR-2016-04-004: Successful Local Account Login

Reference - CAR-2020-04-001: Shadow Copy Deletion - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-04-001/
kb-abstract: The Windows Volume Shadow Copy Service is a built-in OS feature that can be used to create backup copies of files and volumes. Adversaries may delete these shadow copies, typically through the usage of system utilities such as vssadmin.exe or wmic.exe, in order prevent file and data recovery. This technique is commonly employed for this purpose by ransomware.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2020-04-001: Shadow Copy Deletion

Reference - CAR-2020-05-001: MiniDump of LSASS - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-05-001/
kb-abstract: This analytic detects the minidump variant of credential dumping where a process opens lsass.exe in order to extract credentials using the Win32 API call MiniDumpWriteDump. Tools like SafetyKatz, SafetyDump, and Outflank-Dumpert default to this variant and may be detected by this analytic, though keep in mind that not all options for using those tools will result in this specific behavior. The analytic is based on a Sigma analytic contributed by Samir Bousseaden and written up in a blog on MENASEC. It looks for a call trace that includes either dbghelp.dll or dbgcore.dll, which export the relevant functions/permissions to perform the dump. It also detects using the Windows Task Manager (taskmgr.exe) to dump lsass, which is described in CAR-2019-08-001. In this iteration of the Sigma analytic, the GrantedAccess filter isn’t included because it didn’t seem to filter out any false positives and introduces the potential for evasion. This analytic was tested both in a lab and in a production environment with a very low false-positive rate. werfault.exe and tasklist.exe, both standard Windows processes, showed up multiple times as false positives.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: System Call Analysis
kb-reference-title: CAR-2020-05-001: MiniDump of LSASS

Reference - CAR-2020-05-003: Rare LolBAS Command Lines - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-05-003/
kb-abstract: LoLBAS are binaries and scripts that are built in to Windows, frequently are signed by Microsoft, and may be used by an attacker. Some LoLBAS are used very rarely and it might be possible to alert every time they’re used (this would depend on your environment), but many others are very common and can’t be simply alerted on. This analytic takes all instances of LoLBAS execution and then looks for instances of command lines that are not normal in the environment. This can detect attackers (which will tend to need the binaries for something different than normal usage) but will also tend to have false positives. The analytic needs to be tuned. The 1.5 in the query is the number of standard deviations away to look. It can be tuned up to filter out more noise and tuned down to get more results. This means it is probably best as a hunting analytic when you have analysts looking at the screen and able to tune the analytic up and down, because the threshold may not be stable for very long.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2020-05-003: Rare LolBAS Command Lines

Reference - CAR-2020-08-001: NTFS Alternate Data Stream Execution - System Utilities - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-08-001/
kb-abstract: NTFS Alternate Data Streams (ADSs) may be used by adversaries as a means of evading security tools by storing malicious data or binaries in file attribute metadata. ADSs are also powerful because they can be directly executed by various Windows tools; accordingly, this analytic looks at common ways of executing ADSs using system utilities such as powershell.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2020-08-001: NTFS Alternate Data Stream Execution - System Utilities

Reference - CAR-2020-09-001: Scheduled Task - FileAccess - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-09-001/
kb-abstract: In order to gain persistence, privilege escalation, or remote execution, an adversary may use the Windows Task Scheduler to schedule a command to be run at a specified time, date, and even host. Task Scheduler stores tasks as files in two locations - C:\Windows\Tasks (legacy) or C:\Windows\System32\Tasks. Accordingly, this analytic looks for the creation of task files in these two locations.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: File Creation Analysis
kb-reference-title: CAR-2020-09-001: Scheduled Task - FileAccess

Reference - CAR-2020-09-002: Component Object Model Hijacking - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-09-002/
kb-abstract: Adversaries may establish persistence or escalate privileges by executing malicious content triggered by hijacked references to Component Object Model (COM) objects. This is typically done by replacing COM object registry entries under the HKEY_CURRENT_USER\Software\Classes\CLSID or HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID keys. Accordingly, this analytic looks for any changes under these keys.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: User Session Init Config Analysis
kb-reference-title: CAR-2020-09-002: Component Object Model Hijacking

Reference - CAR-2020-09-003: Indicator Blocking - Driver Unloaded - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-09-003/
kb-abstract: Adversaries may attempt to evade system defenses by unloading minifilter drivers used by host-based sensors such as Sysmon through the use of the fltmc command-line utility. Accordingly, this analytic looks for command-line invocations of this utility when used to unload minifilter drivers.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2020-09-003: Indicator Blocking - Driver Unloaded

Reference - CAR-2020-09-004: Credentials in Files & Registry - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-09-004/
kb-abstract: Adversaries may search the Windows Registry on compromised systems for insecurely stored credentials for credential access. This can be accomplished using the query functionality of the reg.exe system utility, by looking for keys and values that contain strings such as “password”. In addition, adversaries may use toolkits such as PowerSploit in order to dump credentials from various applications such as IIS.Accordingly, this analytic looks for invocations of reg.exe in this capacity as well as that of several powersploit modules with similar functionality.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2020-09-004: Credentials in Files & Registry

Reference - CAR-2020-09-005: AppInit DLLs - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-09-005/
kb-abstract: Adversaries may establish persistence and/or elevate privileges by executing malicious content triggered by AppInit DLLs loaded into processes. Dynamic-link libraries (DLLs) that are specified in the AppInit_DLLs value in the Registry keys HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows or HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows are loaded by user32.dll into every process that loads user32.dll. These values can be abused to obtain elevated privileges by causing a malicious DLL to be loaded and run in the context of separate processes. Accordingly, this analytic looks for modifications to these registry keys that may be indicative of this type of abuse.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: System Init Config Analysis
kb-reference-title: CAR-2020-09-005: AppInit DLLs

Reference - CAR-2020-11-002: Local Network Sniffing - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-11-002/
kb-abstract: Adversaries may use a variety of tools to gain visibility on the current status of things on the network: which processes are listening on which ports, which services are running on other hosts, etc. This analytic looks for the names of the most common network sniffing tools. While this may be noisy on networks where sysadmins are using any of these tools on a regular basis, in most networks their use is noteworthy.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessLineageAnalysis
kb-reference-title: CAR-2020-11-002: Local Network Sniffing

Reference - CAR-2020-11-003: DLL Injection with Mavinject - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-11-003/
kb-abstract: Injecting a malicious DLL into a process is a common adversary TTP. Although the ways of doing this are numerous, mavinject.exe is a commonly used tool for doing so because it roles up many of the necessary steps into one, and is available within Windows. Attackers may rename the executable, so we also use the common argument “INJECTRUNNING” as a related signature here. Whitelisting certain applications may be necessary to reduce noise for this analytic.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2020-11-003: DLL Injection with Mavinject

Reference - CAR-2020-11-004: Processes Started From Irregular Parent - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-11-004/
kb-abstract: Adversaries may start legitimate processes and then use their memory space to run malicious code. This analytic looks for common Windows processes that have been abused this way in the past; when the processes are started for this purpose they may not have the standard parent that we would expect. This list is not exhaustive, and it is possible for cyber actors to avoid this discepency. These signatures only work if Sysmon reports the parent process, which may not always be the case if the parent dies before sysmon processes the event.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessLineageAnalysis
kb-reference-title: CAR-2020-11-004: Processes Started From Irregular Parent

Reference - CAR-2020-11-005: Clear Powershell Console Command History - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-11-005/
kb-abstract: Adversaries may attempt to conceal their tracks by deleting the history of commands run within the Powershell console, or turning off history saving to begin with. This analytic looks for several commands that would do this. This does not capture the event if it is done within the console itself; only commandline-based commands are detected. Note that the command to remove the history file directly may very a bit if the history file is not saved in the default path on a particular system.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2020-11-005: Clear Powershell Console Command History

Reference - CAR-2020-11-006: Local Permission Group Discovery - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-11-006/
kb-abstract: Cyber actors frequently enumerate local or domain permissions groups. The net utility is usually used for this purpose. This analytic looks for any instances of net.exe, which is not normally used for benign purposes, although system administrator actions may trigger false positives.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2020-11-006: Local Permission Group Discovery

Reference - CAR-2020-11-007: Network Share Connection Removal - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-11-007/
kb-abstract: Adversaries may use network shares to exfliltrate date; they will then remove the shares to cover their tracks. This analytic looks for the removal of network shares via commandline, which is otherwise a rare event.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2020-11-007: Network Share Connection Removal

Reference - CAR-2020-11-008: MSBuild and msxsl - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-11-008/
kb-abstract: Trusted developer utilities such as MSBuild may be leveraged to run malicious code with elevated privileges. This analytic looks for any instances of msbuild.exe, which will execute any C# code placed within a given XML document; and msxsl.exe, which processes xsl transformation specifications for XML files and will execute a variaty of scripting languages contained within the XSL file. Both of these executables are rarely used outside of Visual Studio.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2020-11-008: MSBuild and msxsl

Reference - CAR-2020-11-009: Compiled HTML Access - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-11-009/
kb-abstract: Adversaries may hide malicious code in .chm compiled HTML files. When these files are read, Windows uses the HTML help executable named hh.exe, which is the signature for this analytic.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2020-11-009: Compiled HTML Access

Reference - CAR-2020-11-011: Registry Edit from Screensaver
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-11-011/
kb-abstract: Adversaries may use screensaver files to run malicious code. This analytic triggers on suspicious edits to the screensaver registry keys, which dictate which .scr file the screensaver runs.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: User Session Init Config Analysis
kb-reference-title: CAR-2020-11-011: Registry Edit from Screensaver

Reference - CAR-2021-01-002: Unusually Long Command Line Strings - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-01-002/
kb-abstract: Often, after a threat actor gains access to a system, they will attempt to run some kind of malware to further infect the victim machine. These malware often have long command line strings, which could be a possible indicator of attack. Here, we use sysmon and Splunk to first find the average command string length and search for command strings that stretch over multiple lines, thus identifying anomalies and possibly malicious commands.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-01-002: Unusually Long Command Line Strings

Reference - CAR-2021-01-003: Clearing Windows Logs with Wevtutil - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-01-003/
kb-abstract: In an attempt to clear traces after compromising a machine, threat actors often try to clear Windows Event logs. This is often done using “wevtutil”, a legitimate tool provided by Microsoft. This action interferes with event collection and notification, and may lead to a security event going undetected, thereby potentially leading to further compromise of the network.
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-01-003: Clearing Windows Logs with Wevtutil

Reference - CAR-2021-01-004: Unusual Child Process for Spoolsv.Exe or Connhost.Exe - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-01-004/
kb-abstract: After gaining initial access to a system, threat actors attempt to escalate privileges as they may be operating within a lower privileged process which does not allow them to access protected information or carry out tasks which require higher permissions. A common way of escalating privileges in a system is by externally invoking and exploiting spoolsv or connhost executables, both of which are legitimate Windows applications. This query searches for an invocation of either of these executables by a user, thus alerting us of any potentially malicious activity.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-01-004: Unusual Child Process for Spoolsv.Exe or Connhost.Exe

Reference - CAR-2021-01-006: Unusual Child Process spawned using DDE exploit - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-01-006/
kb-abstract: Adversaries may use Windows Dynamic Data Exchange (DDE) to execute arbitrary commands. DDE is a client-server protocol for one-time and/or continuous inter-process communication (IPC) between applications. Once a link is established, applications can autonomously exchange transactions consisting of strings, warm data links (notifications when a data item changes), hot data links (duplications of changes to a data item), and requests for command execution.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-01-006: Unusual Child Process spawned using DDE exploit

Reference - CAR-2021-01-007: Detecting Tampering of Windows Defender Command Prompt - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-01-007/
kb-abstract: In an attempt to avoid detection after compromising a machine, threat actors often try to disable Windows Defender. This is often done using “sc” [service control], a legitimate tool provided by Microsoft for managing services. This action interferes with event detection and may lead to a security event going undetected, thereby potentially leading to further compromise of the network.
kb-author: MITRE
kb-mitre-analysis: d
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-01-007: Detecting Tampering of Windows Defender Command Prompt

Reference - CAR-2021-01-008: Disable UAC - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-01-008/
kb-abstract: Threat actors often, after compromising a machine, try to disable User Access Control (UAC) to escalate privileges. This is often done by changing the registry key for system policies using “reg.exe”, a legitimate tool provided by Microsoft for modifying the registry via command prompt or scripts. This action interferes with UAC and may enable a threat actor to escalate privileges on the compromised system, thereby allowing further exploitation of the system.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-01-008: Disable UAC

Reference - CAR-2021-01-009: Detecting Shadow Copy Deletion via Vssadmin.exe - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-01-009/
kb-abstract: After compromising a network of systems, threat actors often try to delete Shadow Copy in an attempt to prevent administrators from restoring the systems to versions present before the attack. This is often done via vssadmin, a legitimate Windows tool to interact with shadow copies. This non-detection of this technique, which is often employed by ransomware strains such as “Olympic Destroyer”, may lead to a failure in recovering systems after an attack.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-01-009: Detecting Shadow Copy Deletion via Vssadmin.exe

Reference - CAR-2021-02-001: Webshell-Indicative Process Tree - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-02-001/
kb-abstract: A web shell is a web script placed on an openly accessible web server to allow an adversary to use the server as a gatway in a network. As the shell operates, commands will be issued from within the web application into the broader server operating system. This analytic looks for host enumeration executables initiated by any web service that would not normally be executed within that environment.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-02-001: Webshell-Indicative Process Tree

Reference - CAR-2021-02-002: Get System Elevation - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-02-002/
kb-abstract: Cyber actors frequently escalate to the SYSTEM account after gaining entry to a Windows host, to enable them to carry out various attacks more effectively. Tools such as Meterpreter, Cobalt Strike, and Empire carry out automated steps to “Get System”, which is the same as switching over to the System user account. Most of these tools utilize multiple techniques to try and attain SYSTEM: in the first technique, they create a named pipe and connects an instance of cmd.exe to it, which allows them to impersonate the security context of cmd.exe, which is SYSTEM. In the second technique, a malicious DLL is injected into a process that is running as SYSTEM; the injected DLL steals the SYSTEM token and applies it where necessary to escalate privileges. This analytic looks for both of these techniques.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessLineageAnalysis
kb-reference-title: CAR-2021-02-002: Get System Elevation

Reference - CAR-2021-04-001: Common Windows Process Masquerading - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-04-001/
kb-abstract: Masquerading (T1036) is defined by ATT&CK as follows: “Masquerading occurs when the name or location of an object, legitimate or malicious, is manipulated or abused for the sake of evading defenses and observation. This may include manipulating file metadata, tricking users into misidentifying the file type, and giving legitimate task or service names.” Malware authors often use this technique to hide malicious executables behind legitimate Windows executable names (e.g. lsass.exe, svchost.exe, etc). There are several sub-techniques, but this analytic focuses on Match Legitimate Name or Location only.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-04-001: Common Windows Process Masquerading

Reference - CAR-2021-05-001: Attempt To Add Certificate To Untrusted Store - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-05-001/
kb-abstract: Adversaries may add their own root certificate to the certificate store, to cause the web browser to trust that certificate and not display a security warning when it encounters the previously unseen certificate. This action may be the precursor to malicious activity.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-05-001: Attempt To Add Certificate To Untrusted Store

Reference - CAR-2021-05-002: Batch File Write to System32 - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-05-002/
kb-abstract: While batch files are not inherently malicious, it is uncommon to see them created after OS installation, especially in the Windows directory. This analytic looks for the suspicious activity of a batch file being created within the C:\Windows\System32 directory tree. There will be only occasional false positives due to administrator actions.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-05-002: Batch File Write to System32

Reference - CAR-2021-05-004: BITS Job Persistence - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-05-004/
kb-abstract: The following query identifies Microsoft Background Intelligent Transfer Service utility bitsadmin.exe scheduling a BITS job to persist on an endpoint. The query identifies the parameters used to create, resume or add a file to a BITS job. Typically seen combined in a oneliner or ran in sequence. If identified, review the BITS job created and capture any files written to disk. It is possible for BITS to be used to upload files and this may require further network data analysis to identify. You can use bitsadmin /list /verbose to list out the jobs during investigation.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-05-004: BITS Job Persistence

Reference - CAR-2021-05-005: BITSAdmin Download File - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-05-005/
kb-abstract: The following query identifies Microsoft Background Intelligent Transfer Service utility bitsadmin.exe using the transfer parameter to download a remote object. In addition, look for download or upload on the command-line, the switches are not required to perform a transfer. Capture any files downloaded. Review the reputation of the IP or domain used. Typically once executed, a follow on command will be used to execute the dropped file. Note that the network connection or file modification events related will not spawn or create from bitsadmin.exe, but the artifacts will appear in a parallel process of svchost.exe with a command-line similar to svchost.exe -k netsvcs -s BITS. It’s important to review all parallel and child processes to capture any behaviors and artifacts. In some suspicious and malicious instances, BITS jobs will be created. You can use bitsadmin /list /verbose to list out the jobs during investigation.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-05-005: BITSAdmin Download File

Reference - CAR-2021-05-006: CertUtil Download With URLCache and Split Arguments - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-05-006/
kb-abstract: Certutil.exe may download a file from a remote destination using -urlcache. This behavior does require a URL to be passed on the command-line. In addition, -f (force) and -split (Split embedded ASN.1 elements, and save to files) will be used. It is not entirely common for certutil.exe to contact public IP space. However, it is uncommon for certutil.exe to write files to world writeable paths.\ During triage, capture any files on disk and review. Review the reputation of the remote IP or domain in question.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-05-006: CertUtil Download With URLCache and Split Arguments

Reference - CAR-2021-05-007: CertUtil Download With VerifyCtl and Split Arguments - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-05-007/
kb-abstract: Certutil.exe may download a file from a remote destination using -VerifyCtl. This behavior does require a URL to be passed on the command-line. In addition, -f (force) and -split (Split embedded ASN.1 elements, and save to files) will be used. It is not entirely common for certutil.exe to contact public IP space. \ During triage, capture any files on disk and review. Review the reputation of the remote IP or domain in question. Using -VerifyCtl, the file will either be written to the current working directory or %APPDATA%\..\LocalLow\Microsoft\CryptnetUrlCache\Content\<hash>.
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-05-007: CertUtil Download With VerifyCtl and Split Arguments

Reference - CAR-2021-05-008: Certutil exe certificate extraction - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-05-008/
kb-abstract: This search looks for arguments to certutil.exe indicating the manipulation or extraction of Certificate. This certificate can then be used to sign new authentication tokens specially inside Federated environments such as Windows ADFS.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-05-008: Certutil exe certificate extraction

Reference - CAR-2021-05-009: CertUtil With Decode Argument - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-05-009/
kb-abstract: CertUtil.exe may be used to encode and decode a file, including PE and script code. Encoding will convert a file to base64 with -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- tags. Malicious usage will include decoding a encoded file that was downloaded. Once decoded, it will be loaded by a parallel process. Note that there are two additional command switches that may be used - encodehex and decodehex. Similarly, the file will be encoded in HEX and later decoded for further execution. During triage, identify the source of the file being decoded. Review its contents or execution behavior for further analysis.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-05-009: CertUtil With Decode Argument

Reference - CAR-2021-05-010: Create local admin accounts using net exe - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-05-010/
kb-abstract: This search looks for the creation of local administrator accounts using net.exe.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-05-010: Create local admin accounts using net exe

Reference - CAR-2021-05-011: Create Remote Thread into LSASS - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-05-011/
kb-abstract: Actors may create a remote thread into the LSASS service as part of a workflow to dump credentials.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: System Call Analysis
kb-reference-title: CAR-2021-05-011: Create Remote Thread into LSASS

Reference - Certificate and Public Key Pinning
type: TechniqueReference
type: NamedIndividual
has-link: https://owasp.org/www-community/controls/Certificate_and_Public_Key_Pinning
kb-abstract: Certificate and Public Key Pinning technical guide to implementing certificate and public key pinning.
kb-author: OWASP
kb-organization: OWASP
kb-reference-of: Certificate Pinning
kb-reference-title: Certificate and Public Key Pinning

Reference - Certificate Transparency
type: TechniqueReference
type: NamedIndividual
has-link: https://www.certificate-transparency.org/
kb-abstract: Google's Certificate Transparency project fixes several structural flaws in the SSL certificate system, which is the main cryptographic system that underlies all HTTPS connections. These flaws weaken the reliability and effectiveness of encrypted Internet connections and can compromise critical TLS/SSL mechanisms, including domain validation, end-to-end encryption, and the chains of trust set up by certificate authorities.
kb-author: Google
kb-organization: Google
kb-reference-of: Passive Certificate Analysis
kb-reference-title: Certificate Transparency

Reference - Cisco ASR 9000 Series Aggregation Services Routers - Access List Commands
type: UserManualReference
type: NamedIndividual
has-link: https://www.cisco.com/c/en/us/td/docs/routers/asr9000/software/asr9k_r4-0/addr_serv/command/reference/ir40asrbook_chapter1.html
kb-abstract: An access control list (ACL) consists of one or more access control entries (ACEs) that collectively define the network traffic profile. This profile can then be referenced by Cisco IOS XR Software software features such as traffic filtering, priority or custom queueing, and dynamic access control. Each ACL includes an action element (permit or deny) and a filter element based on criteria such as source address, destination address, protocol, and protocol-specific parameters.
kb-organization: Cisco
kb-reference-of: Network Traffic Policy Mapping
kb-reference-title: Cisco ASR 9000 Series Aggregation Services Routers - Access List Commands

Reference - CAR-2014-11-008: Command Launched from WinLogon - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2014-11-008/
kb-abstract: An adversary can use accessibility features (Ease of Access), such as StickyKeys or Utilman, to launch a command shell from the logon screen and gain SYSTEM access. Since an adversary does not have physical access to the machine, this technique must be run within Remote Desktop. To prevent an adversary from getting to the login screen without first authenticating, Network-Level Authentication (NLA) must be enabled. If a debugger is set up for one of the accessibility features, then it will intercept the process launch of the feature and instead execute a new command line. This analytic looks for instances of cmd.exe or powershell.exe launched directly from the logon process, winlogon.exe. It should be used in tandem with CAR-2014-11-003, which detects the accessibility programs in the command line.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessLineageAnalysis
kb-reference-title: CAR-2014-11-008: Command Launched from WinLogon

Reference - CAR-2013-07-005: Command Line Usage of Archiving Software - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-07-005/
kb-abstract: Before exfiltrating data that an adversary has collected, it is very likely that a compressed archive will be created, so that transfer times are minimized and fewer files are transmitted. There is variety between the tools used to compress data, but the command line usage and context of archiving tools, such as ZIP, RAR, and 7ZIP, should be monitored. In addition to looking for RAR or 7z program names, command line usage of 7Zip or RAR can be detected with the flag usage of "\* a \*". This is helpful, as adversaries may change program names.
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2013-07-005: Command Line Usage of Archiving Software

Reference - Computational modeling and classification of data streams - Crowdstrike Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20180197089A1/en
kb-abstract: Example techniques described herein determine a signature or classification of a data stream such as a file. The classification can indicate whether the data stream is associated with malware. A processor can locate training analysis regions of training data streams based on predetermined structure data, and determining training model inputs based on the training analysis regions. The processor can determine a computational model based on the training model inputs. The computational model can receive an input vector and provide a corresponding feature vector. The processor can then locate a trial analysis region of a trial data stream based on the predetermined structure data and determine a trial model input. The processor can operate the computational model based on the trial model input to provide a trial feature vector, e.g., a signature. The processor can operate a second computational model to provide a classification based on the signature.
kb-author: Sven Krasser; David Elkind; Patrick Crenshaw; Brett Meyer
kb-mitre-analysis: Provides a mechanism to classify files using file signatures based on a computational model. Training data that comprises at least a portion of a file, e.g. number of bytes, is used as input to the computational model to develop a file signature and classify the file as malware.
kb-organization: Crowdstrike Inc
kb-reference-of: FileContentRules
kb-reference-title: Computational modeling and classification of data streams

Reference - Computer-implemented methods and systems for identifying visually similar text character strings - Greathorn Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US10320815B2/en
kb-abstract: Methods and systems are disclosed for selecting text character strings from a corpus of relevant strings that would commonly be considered to be visually similar to human viewer to an input string. The initial corpus may be any sufficiently broad or specific source of text, e.g., the names of users in a computer application system. The character strings in the corpus are classified such that direct, character-by-character comparisons may be limited to a small subset of likely-similar strings. The input string is then directly compared to strings that are likely to be similar to it, taking into account individual characters' similarities, combinations of characters that look similar to individual characters, transposition of characters, and simple additions and deletions.
kb-author: Raymond W. Wallace, III
kb-mitre-analysis: Text input is compared to an engine of look-alike sets of text characters. An estimate of similar characters based on the engine is conducted, and an alert is triggered if the estimated similarity is lower than a given threshold.
kb-organization: Greathorn Inc
kb-reference-of: Homoglyph Detection
kb-reference-title: Computer-implemented methods and systems for identifying visually similar text character strings

Reference - Computer motherboard having peripheral security functions
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US8869308B2/en
kb-abstract: A secure motherboard for a computer, wherein each user accessible peripheral port is protected by hardware based peripheral protection circuitry soldered to the motherboard.
kb-author: Aviv Soffer
kb-organization: High Sec Labs Ltd
kb-reference-of: IO Port Restriction
kb-reference-title: Computer motherboard having peripheral security functions

Reference - Computer Worm Defense System and Method - FireEye Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20130036472A1
kb-abstract: "A computer worm defense system comprises multiple containment systems tied together by a management system. Each containment system is deployed on a separate communication network and contains a worm sensor and a blocking system. In various embodiments, the computer worm may be transported from a production network, where the computer worm is not readily identifiable, to an alternate network in the worm sensor where the computer worm may be readily identifiable. Computer worm identifiers generated by a worm sensor of one containment system can be provided not only to the blocking system of the same containment system, but can also be distributed by the management system to blocking systems of other containment systems."
kb-author: Ashar Aziz
kb-mitre-analysis: This patent describes network data being copied by a tap and then analyzed in an analysis environment to determine whether the network data is suspicious using a heuristic module. The analysis environment replays transmission of the suspicious network data between a configured replayer and a virtual machine to detect unauthorized activity.
kb-organization: FireEye Inc
kb-reference-of: File Carving
kb-reference-title: Computer Worm Defense System and Method

Reference - Computing apparatus with automatic integrity reference generation and maintenance - Tripwire, Inc.
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20040060046A1
kb-abstract: An apparatus is equipped to automatically update one or more integrity references of a software entity, when the software entity is installed onto the apparatus. The apparatus is further equipped to periodically determine whether the integrity of the apparatus has been compromised based at least in part on the one or more integrity references of the software entity that are automatically updated during installation of the software entity.
kb-author: Thomas Good, Robert DiFalco, Gene Kim
kb-organization: Tripwire, Inc.
kb-reference-of: ExecutableAllowlisting
kb-reference-title: Computing apparatus with automatic integrity reference generation and maintenance

Reference - Configure User Access Control and Permissions
type: InternetArticleReference
type: NamedIndividual
has-link: https://docs.microsoft.com/en-us/windows-server/manage/windows-admin-center/configure/user-access-control
kb-abstract: When deployed on Windows Server, Windows Admin Center provides a centralized point of management for your server environment. By controlling access to Windows Admin Center, you can improve the security of your management landscape.
kb-author: Microsoft
kb-reference-of: UserAccountPermissions
kb-reference-title: Configure User Access Control and Permissions

Reference - Container Image Analysis
type: InternetArticleReference
type: NamedIndividual
has-link: https://media.defense.gov/2021/Aug/03/2002820425/-1/-1/0/CTR_Kubernetes_Hardening_Guidance_1.1_20220315.PDF
kb-abstract: Container Images can contain unneeded, unsecured or insecure files. By analyzing the container image, we can identify whether it respects a specific set of predefined policies.
kb-author: National Security Agency
kb-reference-of: Container Image Analysis
kb-reference-title: Kubernetes Hardening Guide

Reference - Content extractor and analysis system - Bit 9 Inc, Carbon Black Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20070028110A1
kb-abstract: A security system provides a defense from known and unknown viruses, worms, spyware, hackers, and unwanted software. The system can implement centralized policies that allow an administrator to approve, block, quarantine, and log file activities. The system can extract content of interest from a file container, repackage the content of interest as another valid file type, perform hashes on the content of interest, associate the hash of the container with the hash of the repackaged content, transfer the repackaged content, and store the hash with other security-related information.
kb-author: Todd Brennan
kb-organization: Bit 9 Inc, Carbon Black Inc
kb-reference-of: ExecutableDenylisting
kb-reference-title: Content extractor and analysis system

Reference - Continuous authentication by analysis of keyboard typing characteristics - Bradford Univ., UK
type: AcademicPaperReference
type: NamedIndividual
has-link: https://ieeexplore.ieee.org/document/491588
kb-abstract: This paper describes a simple, software based keyboard monitoring system for the IBM PC for the continuous analysis of the typing characteristics of the user for the purpose of continuous authentication. By exploiting the electrical characteristics of the PC keyboard interface together with modifications to the internal system timer, very accurate measurements can be made of keystroke interval and duration, including measurements of rollover. Rollover patterns, particularly when typing common diphthongs, can be highly characteristic of individual users and provide quite an accurate indication of the users identity. Published in: European Convention on Security and Detection, 1995.
kb-author: S.J. Shepherd
kb-organization: Bradford Univ., UK
kb-reference-of: Input Device Analysis
kb-reference-title: Continuous authentication by analysis of keyboard typing characteristics

Reference - CAR-2019-04-004: Credential Dumping via Mimikatz - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2019-04-004/
kb-abstract: Credential dumpers like Mimikatz can be loaded into memory and from there read data from another processes. This analytic looks for instances where processes are requesting specific permissions to read parts of the LSASS process in order to detect when credential dumping is occurring. One weakness is that all current implementations are "overtuned" to look for common access patterns used by Mimikatz.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2019-04-004: Credential Dumping via Mimikatz

Reference - CAR-2019-08-001: Credential Dumping via Windows Task Manager - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2019-08-001/
kb-abstract: The Windows Task Manager may be used to dump the memory space of lsass.exe to disk for processing with a credential access tool such as Mimikatz. This is performed by launching Task Manager as a privileged user, selecting lsass.exe, and clicking "Create dump file". This saves a dump file to disk with a deterministic name that includes the name of the process being dumped. This requires filesystem data to determine whether files have been created.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: System Call Analysis
kb-reference-title: CAR-2019-08-001: Credential Dumping via Windows Task Manager

Reference - Cyber Command System (CYCS)
type: InternetArticleReference
type: NamedIndividual
has-link: https://www.mitre.org/research/technology-transfer/technology-licensing/cyber-command-system-cycs
kb-abstract: MITRE’s Cyber Command System (CyCS) tool addresses the objective of improved mission assurance in cyberspace by enabling the mapping of mission operations to the network operations that support those missions. This tool provides mission-impact assessment through situational awareness and impact analysis. CyCS addresses mission-assurance challenges for highly distributed enterprise systems of systems through vulnerability, threat, and consequence management.
kb-organization: MITRE
kb-reference-of: Operational Dependency Mapping
kb-reference-title: Cyber Command System (CYCS)

Reference - Cyber vaccine and predictive-malware-defense methods and systems
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US10848519B2/
kb-abstract: Methods and systems for Predictive Malware Defense (PMD) are described. The systems and methods can utilize advanced machine-learning (ML) techniques to generate malware defenses preemptively. Embodiments of PMD can utilize models, which are trained on features extracted from malware families, to predict possible courses of malware evolution. PMD captures these predicted future evolutions in signatures of as yet unseen malware variants to function as a malware vaccine. These signatures of predicted future malware “evolutions” can be added to the training set of a machine-learning (ML) based malware detection and/or mitigation system so that it can detect these new variants as they arrive.
kb-author: Michael Howard, Avi Pfeifer, Mukesh Dalal, Michael Reposa
kb-organization: Charles River Analytics Inc.
kb-reference-of: File Content Analysis
kb-reference-title: Cyber vaccine and predictive-malware-defense methods and systems

Reference - CAR-2013-10-002: DLL Injection via Load Library - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-10-002/
kb-abstract: Microsoft Windows allows for processes to remotely create threads within other processes of the same privilege level. This functionality is provided via the Windows API CreateRemoteThread. Both Windows and third-party software use this ability for legitimate purposes. For example, the Windows process csrss.exe creates threads in programs to send signals to registered callback routines. Both adversaries and host-based security software use this functionality to inject DLLs, but for very different purposes. An adversary is likely to inject into a program to evade defenses or bypass User Account Control, but a security program might do this to gain increased monitoring of API calls. One of the most common methods of DLL Injection is through the Windows API LoadLibrary. Allocate memory in the target program with VirtualAllocEx Write the name of the DLL to inject into this program with WriteProcessMemory Create a new thread and set its entry point to LoadLibrary using the API CreateRemoteThread. This behavior can be detected by looking for thread creations across processes, and resolving the entry point to determine the function name. If the function is LoadLibraryA or LoadLibraryW, then the intent of the remote thread is clearly to inject a DLL. When this is the case, the source process must be examined so that it can be ignored when it is both expected and a trusted process.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: System Call Analysis
kb-reference-title: CAR-2013-10-002: DLL Injection via Load Library

Reference - DNS Whitelist (DNSWL) Email Authentication Method Extension
type: SpecificationReference
type: NamedIndividual
has-link: https://datatracker.ietf.org/doc/html/rfc8904
kb-reference-of: DNS Allowlisting
kb-reference-title: DNS Whitelist (DNSWL) Email Authentication Method Extension

Reference - /DYNAMICBASE (Use address space layout randomization) - Microsoft Docs
type: UserManualReference
type: NamedIndividual
has-link: https://docs.microsoft.com/en-us/cpp/build/reference/dynamicbase-use-address-space-layout-randomization
kb-author: Microsoft
kb-organization: Microsoft
kb-reference-of: Segment Address Offset Randomization
kb-reference-title: /DYNAMICBASE (Use address space layout randomization)

Reference - Dagger Fact Sheet
type: InternetArticleReference
type: NamedIndividual
has-link: https://www.jhuapl.edu/dagger/documents/DaggerFactSheet.pdf
kb-abstract: Dagger is a modeling and visualization tool suite that shows how system failures impact mission status. Updated with manual or real-time status, Dagger is used for mission/system planning, situational awareness during mission execution, and course-of-action analysis.
kb-author: Jackie Soenneker
kb-organization: JHU APL
kb-reference-of: Operational Dependency Mapping
kb-reference-title: Dagger Fact Sheet

Reference - Dagger: Modeling and visualization for mission impact situational awareness
type: AcademicPaperReference
type: NamedIndividual
has-link: https://ieeexplore.ieee.org/document/7795296
kb-abstract: Dagger is a modeling and visualization framework that addresses the challenge of representing knowledge and information for decision-makers, enabling them to better comprehend the operational context of network security data. It allows users to answer critical questions such as “Given that I care about mission X, is there any reason I should be worried about what is going on in cyberspace?” or “If this system fails, will I still be able to accomplish my mission?”.
kb-author: Elisha Peterson
kb-organization: JHU APL
kb-reference-of: Operational Dependency Mapping
kb-reference-title: Dagger: Modeling and visualization for mission impact situational awareness

Reference - Mitigate threats by using Windows 10 security features: Data Execution Prevention - Microsoft
type: UserManualReference
type: NamedIndividual
has-link: https://docs.microsoft.com/en-us/windows/security/threat-protection/overview-of-threat-mitigations-in-windows-10#data-execution-prevention
kb-abstract: Malware depends on its ability to insert a malicious payload into memory with the hope that it will be executed later. Wouldn't it be great if you could prevent malware from running if it wrote to an area that has been allocated solely for the storage of information? Data Execution Prevention (DEP) does exactly that, by substantially reducing the range of memory that malicious code can use for its benefit. DEP uses the No eXecute bit on modern CPUs to mark blocks of memory as read-only so that those blocks can't be used to execute malicious code that may be inserted by means of a vulnerability exploit.
kb-author: Nick Schonning, Daniel Simpson, Marty Hernandez Avedon, Trond B. Krokli, jreeds, jcaparas, Andres Mariano Gorzelany, Tina Burden, Thomas Raya, Justin Hall, justanotheranonymoususer, Liza Poggemeyer, Dani Halfin, imba-tjd (Authors for entire page)
kb-organization: Microsoft
kb-reference-of: Process Segment Execution Prevention
kb-reference-title: Mitigate threats by using Windows 10 security features: Data Execution Prevention

Reference - Data processing and scanning systems for generating and populating a data inventory
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US11240273B2/
kb-abstract: In particular embodiments, a data processing data inventory generation system is configured to: (1) generate a data model (e.g., a data inventory) for one or more data assets utilized by a particular organization; (2) generate a respective data inventory for each of the one or more data assets; and (3) map one or more relationships between one or more aspects of the data inventory, the one or more data assets, etc. within the data model. In particular embodiments, a data asset (e.g., data system, software application, etc.) may include, for example, any entity that collects, processes, contains, and/or transfers personal data (e.g., such as a software application, “internet of things” computerized device, database, website, data-center, server, etc.). The system may be configured to identify particular data assets and/or personal data in data repositories using any suitable intelligent identity scanning technique.
kb-author: Kabir A. Barday, Mihir S. Karanjkar, Steven W. Finch, Ken A. Browne, Nathan W. Heard, Aakash H. Patel, Jason L. Sabourin, Richard L. Daniel, Dylan D. Patton-Kuhl, Jonathan Blake Brannon
kb-organization: OneTrust LLC
kb-reference-of: Data Inventory
kb-reference-title: Data processing and scanning systems for generating and populating a data inventory

Reference - Dead code elimination
type: AcademicPaperReference
type: NamedIndividual
has-link: https://nebelwelt.net/files/15LangSec.pdf
kb-abstract: There is a significant body of work devoted to testing, verifying, and certifying the correctness of optimizing compilers. The focus of such work is to determine if source code and optimized code have the same functional semantics. In this paper, we introduce the correctness-security gap, which arises when a compiler optimization preserves the functionality of but violates a security guarantee made by source code. We show with concrete code examples that several standard optimizations, which have been formally proved correct, inhabit this correctness-security gap. We analyze this gap and conclude that it arises due to techniques that model the state of the program but not the state of the underlying machine. We propose a broad research program whose goal is to identify, understand, and mitigate the impact of security errors introduced by compiler optimizations. Our proposal includes research in testing, program analysis, theorem proving, and the development of new, accurate machine models for reasoning about the impact of compiler optimizations on security.
kb-author: Vijay D'Silva, Mathias Payer, Dawn Song
kb-organization: Google Inc, Purdue University, UC Berkeley
kb-reference-of: Dead Code Elimination
kb-reference-title: The Correctness-Security Gap in Compiler Optimization

Reference - CAR-2014-11-003: Debuggers for Accessibility Applications - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2014-11-006/
kb-abstract: The Windows Registry location HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options allows for parameters to be set for applications during execution. One feature used by malicious actors is the "Debugger" option. When a key has this value enabled, a Debugging command line can be specified. Windows will launch the Debugging command line, and pass the original command line in as an argument. Adversaries can set a Debugger for Accessibility Applications. The analytic looks for the original command line as an argument to the Debugger. When the strings "sethc.exe", "utilman.exe", "osk.exe", "narrator.exe", and "Magnify.exe" are detected in the arguments, but not as the main executable, it is very likely that a Debugger is set. This analytic could depend on the possibility of the known strings used as arguments for other applications used in the day-to-day environment. Although the chance of the string "sethc.exe" being used as an argument for another application is unlikely, it still is a possibility.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessLineageAnalysis
kb-reference-title: CAR-2014-11-003: Debuggers for Accessibility Applications

Reference - Deception-Based Responses to Security Attacks - Crowdstrike Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20140250524A1/en
kb-abstract: Deception-based techniques for responding to security attacks are described herein. The techniques include transitioning a security attack to a monitored computing device posing as a computing device impacted by the security attack and enabling the adversary to obtain deceptive information from the monitored computing device. Also, the adversary may obtain a document configured to report identifying information of an entity opening the document, thereby identifying the adversary associated with the attack. Further, the techniques include determining that a domain specified in a domain name request is associated with malicious activity and responding to the request with a network address of a monitored computing device to cause the requesting process to communicate with the monitored computing device in place of an adversary server. Additionally, a service may monitor dormant domains names associated with malicious activity and, in response to a change, respond with an alert or a configuration update.
kb-author: Adam S. Meyers; Dmitri Alperovitch; George Robert Kurtz; David F. Diehl; Sven Krasser
kb-organization: Crowdstrike Inc
kb-reference-of: Decoy Network Resource
kb-reference-title: Deception-Based Responses to Security Attacks

Reference - Decoy and deceptive data object technology - Cymmetria, Inc.
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20170134423A1
kb-abstract: A computer implemented method of detecting unauthorized access to a protected network by monitoring a dynamically updated deception environment, comprising launching, on one or more decoy endpoints, one or more decoy operating system (OS) managing one or more of a plurality of deception applications mapping a plurality of applications executed in a protected network, updating dynamically a usage indication for a plurality of deception data objects deployed in the protected network to emulate usage of the plurality of deception data objects for accessing the deception application(s) wherein the plurality of deception data objects are configured to trigger an interaction with the deception application(s) when used, detecting usage of data contained in the deception data object(s) by monitoring the interaction and identifying one or more potential unauthorized operations based on analysis of the detection. In order to convince the potential attacker that the deception environment is the real (valid) processing environment and/or part thereof, the campaign manager may construct the false identity according to the public information of the certain user that may typically be available to the potential attacker. By exposing the real (public) information of the certain user to the potential attacker, the false identity may seem consistent and legitimate to the potential attacker. For example, the campaign manager may create a false account, for example, a Facebook account of the certain user that includes the same public information that is publicly available to other Facebook users from the real (genuine) Facebook account of the certain user. The fake company account may include information specific to the role and/or job title of certain user within the company, for example, a programmer, an accountant, an IT person and/or the like.
kb-author: Dean Sysman, Gadi Evron, Imri Goldberg, Itamar Sher, Shmuel Ur
kb-organization: Cymmetria, Inc.
kb-reference-of: Decoy Persona
kb-reference-title: Decoy and deceptive data object technology

Reference - Decoy Network-Based Service for Deceiving Attackers - Amazon Technologies
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US10873601B1
kb-abstract: A decoy network-based service uses a decoy credential to lure an attacker to access the decoy network-based service, and monitors the attacker's activity with respect to the decoy network-based service to determine the attacker's motivation. In various examples, a decoy credential is published on an Internet-accessible site, and a system that provides a network-based service (e.g., a service provider network) subsequently receives an access request from a computing device that includes the decoy credential. Based on the decoy credential, the computing device may be provided access to a decoy network-based service, and application programming interface (API) calls made by the computing device may be routed through a decoy control plane. The data relating to the API calls may be stored and analyzed to determine a motivation of the attacker, which may be used in various downstream applications to improve security for customers of the network-based service.
kb-author: Thomas Stickle
kb-mitre-analysis: MITRE analysis was not found.
kb-organization: Amazon Technologies
kb-reference-of: Decoy User Credential
kb-reference-title: Decoy network-based service for deceiving attackers

Reference - Decoy Personas for Safeguarding Online Identity Using Deception - MITRE
type: InternetArticleReference
type: NamedIndividual
has-link: https://web.archive.org/web/20180407204216/https://isc.sans.edu/diary/Decoy+Personas+for+Safeguarding+Online+Identity+Using+Deception/16159
kb-abstract: What if online scammers weren't sure whether the user account they are targeting is really yours, or whether the information they compiled about you is real? It's worth considering whether decoy online personas might help in the quest to safeguard our digital identities and data. I believe deception tactics, such as selective and careful use of honeypots, holds promise for defending enterprise IT resources. Some forms of deception could also protect individuals against online scammers and other attackers. This approach might not be quite practical today for most people, but in the future we might find it both necessary and achievable. Human attackers and malicious software pursue user accounts and data on-line through harvesting, phishing, password-guessing, software vulnerabilities, and various other means. How might we use decoys to confuse, misdirect, slow down and detect adversaries engaged in such activities? ... The wealth of personal details available on social networking sites allows attackers to target individuals using social engineering, secret question-guessing and other techniques. For some examples of such approaches, see The Use of Fake or Fraudulent LinkedIn Profiles and Data Mining Resumes for Computer Attack Reconnaissance. Setting up one or more fake social network profiles (e.g., on Facebook) that use the person's real name can help the individual deflect the attack or can act as an early warning of an impending attack. A decoy profile could purposefully expose some inaccurate information, while the person's real profile would be more carefully concealed using the site's privacy settings. Decoy profiles would be associated with spamtrap email addresses. Similarly, the person could expose decoy profiles on other sites, for instance those reveal shopping habits (e.g., Amazon), musings (e.g., Twitter), skills (e.g., GitHub), travel (e.g., TripIt), affections (e.g., Pinterest), music taste (e.g., Pandora) and so on. The person's decoy identities coul…
kb-author: Lenny Zeltser
kb-organization: SANS
kb-reference-of: Decoy Persona
kb-reference-title: Decoy Personas for Safeguarding Online Identity Using Deception

Reference - Detecting DDoS Attack Using Snort
type: AcademicPaperReference
type: NamedIndividual
has-link: https://www.researchgate.net/publication/338660054_DETECTING_DDoS_ATTACK_USING_Snort
kb-abstract: A DDoS (Distributed Denial-of-Service) attack is very common and easy toexecute and does not require any sophisticated tools. It can happen to anyone. In this project we deploy snort in our home network as a NIDS (Network Intrusion Detection System) to detect a DDoS attack and prevent it.
kb-author: Manas Gogoi, Sourav Mishra
kb-organization: Indian Institute of Information Technology Allahabad
kb-reference-of: Inbound Session Volume Analysis
kb-reference-title: DETECTING DDoS ATTACK USING Snort

Reference - Detecting network reconnaissance by tracking intranet dark-net communications - VECTRA NETWORKS Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20150264078A1
kb-abstract: A method and system for detecting network reconnaissance is disclosed wherein network traffic can be parsed into unidirectional flows that correspond to sessions. A learning module may categorize computing entities inside the network into assets and generate asset data to monitor the computing entities. If one or more computing entities address a flow to an address of a host that no longer exists, ghost asset data may be recorded and updated in the asset data. When a computing entity inside the network contacts an object in the dark-net, the computing entity may be recorded a potential mapper. When the computing entity tries to contact a number of objects in the dark-net, such that a computed threshold is exceeded, the computing entity is identified a malicious entity performing network reconnaissance.
kb-author: Nicolas BEAUCHESNE; Sungwook Yoon
kb-mitre-analysis: This patent describes detecting an attacker performing internal reconnaissance within an organization's network to gather intelligence about the configuration of the network or identify the next target. Network packets are collected (ex. tapped from a network switch) and processed to create flows that are used to map out the network to identify network assets as well as ghost assets (addresses not assigned to a device or an existing device that is temporarily disabled). Once this mapping is complete it is used to monitor the network to determine if an attacker is attempting to connect to a ghost asset. If an attacker attempts to connect to a ghost asset over a threshold (ex. contacting four ghost assets in less than seven minutes), an alert is generated.
kb-organization: VECTRA NETWORKS Inc
kb-reference-of: Connection Attempt Analysis
kb-reference-title: Detecting network reconnaissance by tracking intranet dark-net communications

Reference - Detection of Malicious IDNHomoglyph Domains
type: InternetArticleReference
type: NamedIndividual
has-link: http://essay.utwente.nl/79263/1/Yazdani_MA_EEMCS.pdf
kb-abstract: At early stages of Internet development, users were only able to register or access domains with ASCII characters. The introduction of IDN (Internationalized Domain Name) which uses the larger Unicode character set, made it possible for regional users to deal with domain names using their local language alphabet. Beside the advantages provided by IDN, a new type of network threats has also emerged. The reason behind this is that there are many similar-looking characters in Unicode system, called homoglyphs. These characters could be used by an attacker to lure users by replacing one or more characters of a benign domain.
kb-author: Ramin Yazdani
kb-organization: University of Twente
kb-reference-of: Homoglyph Denylisting
kb-reference-title: Detection of Malicious IDN Homoglyph Domains Using Active DNS Measurements

Reference - Deterministic method for detecting and blocking of exploits on interpreted code - K2 Cyber Security Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20190180036A1/en
kb-abstract: In one aspect, a method useful for preventing exploitation of a vulnerability in an interpreted code by monitoring and validating an execution of the interpreted code in a script file by an application server, includes the step of generating a mapping for an incoming network connection to a specified script file to be executed by an application server. The computerized method includes the step of inserting a hook for monitoring an application programming interface (API) call or a privileged instruction executed by the application server. The computerized method includes the step of inserting a validation code configured to validate the API call or the privileged instruction executed by the interpreted code in a script.
kb-author: Jayant Shukla
kb-mitre-analysis: This patent describes a technique for monitoring API calls. During execution of interpreted code the observed API calls are validated against a whitelist of API calls for that interpreted code file. Action is taken if the observed API call is not in accordance with the list.
kb-organization: K2 Cyber Security Inc
kb-reference-of: System Call Analysis
kb-reference-title: Deterministic method for detecting and blocking of exploits on interpreted code

Reference - Digital Identity Guidelines 800-63-3
type: GuidelineReference
type: NamedIndividual
has-link: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-63-3.pdf
kb-author: NIST
kb-organization: NIST
kb-reference-of: StrongPasswordPolicy
kb-reference-title: Digital Identity Guidelines

Reference - Distributed meta-information query in a network - Bit 9 Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20070028302A1/en
kb-abstract: A security system provides a defense from known and unknown viruses, worms, spyware, hackers, and social engineering attacks. The system can implement centralized policies that allow an administrator to approve, block, quarantine, and log file activities. A server associated with a number of hosts can provide a query for host computers to access security-related meta-information in local host stores. The query is pulled from the server by the hosts. The results of the distributed host query are stored and merged on the server, and exported for display, reports, or security response.
kb-author: Todd Brennan; John Hanratty
kb-mitre-analysis: Provides a mechanism to detect, monitor, locate, and control files installed on host computers. Each host has a host agent that analyzes file system activity and takes action based on policies configured on a server. The policies identify whether to block, log, allow, or quarantine actions such as file accesses and execution of executables. Examples of policies include: * Block/log execution of new executables and detached scripts (e.g., .exe or .bat) * Block/log reading/execution of new embedded content (e.g., macros in .doc) * Block/log installation/modification of Web content (alteration of content in .html or .cgi files) * Block/log execution of new files in an administratively defined 'class'; e.g., an administrator might want to block screen savers .scr, but not the entire class of executables .exe, .dll, .sys, etc . . .
kb-organization: Bit 9 Inc
kb-reference-of: FileContentRules
kb-reference-title: Distributed meta-information query in a network

Reference - Domain age registration alert - Inc Rapid7 Inc RAPID7 Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20170026400A1/
kb-abstract: Systems and methods of identifying a security risk by monitoring and generating alerts based on attempts to access web domains that have been registered within a short period of time and are therefore identified as "high-risk," including identifying an attempt to access a domain; receiving a registration date of the domain; and detecting a security risk based on the registration date of the domain.
kb-author: Samuel Adams; H D. Moore
kb-organization: Rapid7 Inc.
kb-reference-of: DNS Traffic Analysis
kb-reference-title: Domain age registration alert

Reference - End-to-end certificate pinning
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US9847992B2/en
kb-abstract: Some embodiments implement end-to-end certificate pinning for content intake from various content providers and for content distribution to various end users. To ensure secure retrieval of content provider content, the content distributor pins the content provider to one or more certificate authorities.
kb-author: Tin Zaw, Reed Morrison, Robert J. Peters
kb-organization: Verizon Digital Media Services Inc
kb-reference-of: Certificate Pinning
kb-reference-title: End-to-end Certificate Pinning

Reference - Enhancing Network Security By Preventing User-Initiated Malware Execution - MITRE
type: AcademicPaperReference
type: NamedIndividual
has-link: https://ieeexplore.ieee.org/document/1425209
kb-abstract: In this paper, we describe characteristics of the most widely used defense techniques for the blocking of user-initiated malware and why these techniques are insufficient. We then introduce a module verification strategy that will eliminate, or at least severely reduce, this problem by extending the classic "defense in depth" network security strategy. We then describe how the augmentation of a standard operating system loader to include references to a database of cryptographic hashes of module executables can be used to implement this strategy. Finally, we describe our efforts towards the creation of a prototype system that implements the module verification strategy.
kb-author: John V. Harrison
kb-mitre-analysis: This paper describes application whitelisting. New software executable code is compared to a database of allowed software to determine if the new executable code should be loaded and executed. A database of cryptographic hashes is first created for all allowed software executables. Prior to loading any new executable code, a hash is computed and compared against the hash database. If the hash for the new code does not appear in the database, the executable is not loaded and executed.
kb-reference-of: ExecutableAllowlisting
kb-reference-title: Enhancing Network Security By Preventing User-Initiated Malware Execution

Reference - CAR-2013-05-004: Execution with AT - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-05-004/
kb-abstract: In order to gain persistence, privilege escalation, or remote execution, an adversary may use the Windows built-in command AT (at.exe) to schedule a command to be run at a specified time, date, and even host. This method has been used by adversaries and administrators alike. Its use may lead to detection of compromised hosts and compromised users if it is used to move laterally. The built-in Windows tool schtasks.exe (CAR-2013-08-001) offers greater flexibility when creating, modifying, and enumerating tasks. For these reasons, schtasks.exe is more commonly used by administrators, tools/scripts, and power users.
kb-reference-of: Scheduled Job Analysis
kb-reference-title: CAR-2013-05-004: Execution with AT

Reference - CAR-2013-08-001: Execution with schtasks - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-08-001/
kb-abstract: The Windows built-in tool schtasks.exe provides the creation, modification, and running of scheduled tasks on a local or remote computer. It is provided as a more flexible alternative to at.exe, described in CAR-2013-05-004. Although used by adversaries, the tool is also legitimately used by administrators, scripts, and software configurations. The scheduled tasks tool can be used to gain Persistence and can be used in combination with a Lateral Movement technique to remotely gain execution. Additionally, the command has parameters to specify the user and password responsible for creating the task, as well as the user and password combination that the task will run as. The /s flag will cause a task to run as the SYSTEM user, usually indicating privilege escalation.
kb-reference-of: Scheduled Job Analysis
kb-reference-title: CAR-2013-08-001: Execution with schtasks

Reference - Federal Public Key Infrastructrure 101
type: GuidelineReference
type: NamedIndividual
has-link: https://www.idmanagement.gov/university/fpki/
kb-author: Identity, Credential, and Access Management Subcommittee (ICAMSC)
kb-reference-of: Certificate-basedAuthentication
kb-reference-title: Federal Public Key Infrastructure 101

Reference - File-modifying malware detection - Crowdstrike Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20180121650A1/en
kb-abstract: A security agent implemented on a computing device is described herein. The security agent is configured to detect file-modifying malware by detecting that a process is traversing a directory of the memory of the computing device and detecting that the process is accessing files in the memory according to specified file access patterns. The security agent can also be configured to correlate actions of multiple processes that correspond to a specified file access pattern and detect that one or more of the multiple processes are malware by correlating their behavior.
kb-author: Daniel W. Brown
kb-mitre-analysis: This patent describes a technique for detecting file modifying malware such as wipers and ransomware that overwrite portions of files and encrypt portions of a computer's memory, respectively. Processes that are traversing a directory are identified along with file access patterns. Processes executing on a computing device that are traversing a directory include: * changing a directory of a process (e.g., iteratively, systematically, repeatedly) * detecting that a process is conducting an "open directory" operation repeatedly * the same process traversing through a directory and recording the locations of data files encountered in each sub - directory In addition to identifying processes traversing a directory, particular file access patterns are also detected that may be indicative of malicious behavior including: * multiple file types being accessed * accessing a large number of files * files located in multiple locations in the directory being accessed If a process is conducting a traversal of the directory and accessing files according to a defined access pattern associated with malicious behavior, a preventative action is performed.
kb-organization: Crowdstrike Inc
kb-reference-of: File Access Pattern Analysis
kb-reference-title: File-modifying malware detection

Reference - File and Folder Permissions
type: UserManualReference
type: NamedIndividual
has-link: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-2000-server/bb727008(v=technet.10)
kb-organization: Microsoft
kb-reference-of: LocalFilePermissions
kb-reference-title: File and Folder Permissions

Reference - File Integrity Monitoring in Microsoft Defender for Cloud - Microsoft
type: UserManualReference
type: NamedIndividual
has-link: https://learn.microsoft.com/en-us/azure/defender-for-cloud/file-integrity-monitoring-overview
kb-organization: Microsoft
kb-reference-of: File Integrity Monitoring
kb-reference-title: File Integrity Monitoring in Microsoft Defender for Cloud

Reference - Firmware Behavior Analysis ConFirm
type: AcademicPaperReference
type: NamedIndividual
has-link: http://sites.nyuad.nyu.edu/moma/pdfs/pubs/C22.pdf
kb-abstract: The modernization of various critical infrastructure components has dictated the use of microprocessor-based embedded control systems in critical applications. It is often infeasible, however, to employ the same level of security measures used in general purpose computing systems, due to the stringent performance and resource constraints of embedded devices. Furthermore, as software relies on the firmware for proper operation, no software-level technique can detect malicious behavior of the firmware. In this work, we propose ConFirm, a low-cost technique to detect malicious modifications in the firmware of embedded systems by measuring the number of low-level hardware events that occur during the execution of the firmware.
kb-author: Xueyang Wang, Charalambos Konstantinou, Michail Maniatakos, Ramesh Karri
kb-organization: Department of Electrical and Computer Engineering, Polytechnic School of Engineering, New York University and Department of Electrical and Computer Engineering, New York University Abu Dhabi
kb-reference-of: Firmware Behavior Analysis
kb-reference-title: ConFirm: Detecting Firmware Modifications in Embedded Systems using Hardware Performance Counters

Reference - Firmware Behavior Analysis VIPER
type: AcademicPaperReference
type: NamedIndividual
has-link: https://dl.acm.org/doi/pdf/10.1145/2046707.2046711
kb-abstract: Recent research demonstrates that malware can infect peripherals' firmware in a typical x86 computer system, e.g., by exploiting vulnerabilities in the firmware itself or in the firmware update tools. Verifying the integrity of peripherals' firmware is thus an important challenge. We propose software-only attestation protocols to verify the integrity of peripherals' firmware, and show that they can detect all known software-based attacks.
kb-author: Yanlin Li, Jonathan M. McCune, Adrian Perrig
kb-organization: CyLab, Carnegie Mellon University
kb-reference-of: Firmware Behavior Analysis
kb-reference-title: VIPER: Verifying the Integrity of PERipherals' Firmware

Reference - Firmware Embedded Monitoring Code Red Balloon
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US10657262B1/en
kb-abstract: Systems and methods for securing embedded devices via both online and offline defensive strategies. One or more security software components may be injected into firmware binary to create a modified firmware binary, which is functionally- and size-equivalent to the original firmware binary. The security software components may retrieve live forensic information related to embedded devices for use in live hardening of the modified firmware binary while the embedded device is online, dynamically patching the firmware
kb-author: Ang Cui, Salvatore J. Stolfo
kb-organization: Red Balloon Security, Inc
kb-reference-of: Firmware Embedded Monitoring Code
kb-reference-title: Method and apparatus for securing embedded device firmware

Reference - Firmware Embedded Monitoring Code Symbiotes
type: AcademicPaperReference
type: NamedIndividual
has-link: http://nsl.cs.columbia.edu/projects/minestrone/papers/Symbiotes.pdf
kb-abstract: A large number of embedded devices on the internet, such as routers and VOIP phones, are typically ripe for exploitation. Little to no defensive technology, such as AV scanners or IDS's, are available to protect these devices. We propose a host-based defense mechanism, which we call Symbiotic Embedded Machines (SEM), that is specifically designed to inject intrusion detection functionality into the firmware of the device.
kb-author: Ang Cui, Salvatore J. Stolfo
kb-organization: Department of Computer Science Columbia University
kb-reference-of: Firmware Embedded Monitoring Code
kb-reference-title: Defending Embedded Systems with Software Symbiotes

Reference - Framework for notifying a directory service of authentication events processed outside the directory service - Oracle International Corp
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20090077645A1
kb-abstract: Methods, systems and machine-readable media for authenticating an end user for a client application are disclosed. According to one embodiment of the invention, a method of authenticating an end user for a client application using a directory service having an authentication control policy that tracks failed authentication attempts and allows lock out of an account after a predetermined number of failures comprises receiving end user identity information and security information at the client application; sending a search request to the directory service for an entry associated with the end user identity information and, if a match is found, receiving a authentication token from the directory service associated with the end user identity information; comparing the received authentication token with the security information; if the authentication token matches the security information, sending a request to update the directory service to indicate that successful authentication of the end user has occurred; and if the authentication token does not match the security information, sending a request to update the directory service to indicate that a failed attempt at authentication of the end user has occurred.
kb-author: Buddhika Nandana Kottahachchi
kb-organization: Oracle International Corp
kb-reference-of: AccountLocking
kb-reference-title: Framework for notifying a directory service of authentication events processed outside the directory service

Reference - /GS (Buffer Security Check) - Microsoft Docs
type: UserManualReference
type: NamedIndividual
has-link: https://docs.microsoft.com/en-us/cpp/build/reference/gs-buffer-security-check
kb-organization: Microsoft Docs
kb-reference-of: Stack Frame Canary Validation
kb-reference-title: /GS (Buffer Security Check)

Reference - CAR-2019-04-002: Generic Regsvr32 - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2019-04-002/
kb-abstract: Regsvr32 can be used to execute arbitrary code in the context of a Windows signed binary, which can be used to bypass application whitelisting. This analytic looks for suspicious usage of the tool. It's not likely that you'll get millions of hits, but it does occur during normal activity so some form of baselining would be necessary for this to be an alerting analytic. Alternatively, it can be used for hunt by looking for new or anomalous DLLs manually.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessLineageAnalysis
kb-reference-title: CAR-2019-04-002: Generic Regsvr32

Reference - Guards for application in software tamperproofing - Purdue Research Foundation
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US7287166B1/en
kb-abstract: A method of protecting a software program from unauthorized modification, and a system for practicing the method. The method utilizes self-protecting software code. Armed internally with self-defensive mechanisms, a self-protecting software program is tamper-resistant. Whenever its integrity is compromised, a self-protecting software program may become unusable due to software program crashes or other errors, or may generate subtle errors that do not immediately result render the program unusable but still result in incorrect software program execution. A self-protecting software program also may be able to repair itself to restore the integrity of its damaged code. The system comprises a computer program for automatically adding self-protection features to a software program.
kb-author: Hoi Chang; Mikhail J. Atallah; John R. Rice
kb-organization: Purdue Research Foundation
kb-reference-of: Process Code Segment Verification
kb-reference-title: Guards for application in software tamperproofing

Reference - Hardware-assisted system and method for detecting and analyzing system calls made to an operting system kernel - Endgame Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20180032728A1/en
kb-abstract: The present disclosure relates to a system and method for monitoring system calls to an operating system kernel. A performance monitoring unit is used to monitor system calls and to gather information about each system call. The information is gathered upon interrupting the system call and can include system call type, parameters, and information about the calling thread/process, in order to determine whether the system call was generated by malicious software code. Potentially malicious software code is nullified by a malicious code counter-attack module.
kb-author: Matthew D. Spisak
kb-mitre-analysis: This patent describes a technique for monitoring system calls to detect malicious software code. A system call monitoring module operates at the kernel level and traps system calls. Monitoring data includes: * information about the path to the file to be accessed by a system call. * the memory address or range of addresses to be accessed by a system call. * the context for the thread within operating system that will be interrupted by a system call. * the type of system call information about the socket that is being used by system call in order to send or receive data. * the history of system calls in order to monitor for specific sequences of system calls. * the frequency or periodicity of a particular system call or set of systems calls. Captured system call data is analyzed using data analysis algorithms such as machine learning algorithms, artificial intelligence algorithms, pattern recognition algorithms, or other known data analysis techniques. An alert is generated if it is likely that the system call was generated by malicious software code.
kb-organization: Endgame Inc
kb-reference-of: System Call Analysis
kb-reference-title: Hardware-assisted system and method for detecting and analyzing system calls made to an operting system kernel

Reference - Heuristic botnet detection - Palo Alto Networks Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20160156644A1
kb-abstract: In some embodiments, heuristic botnet detection is provided. In some embodiments, heuristic botnet detection includes monitoring network traffic to identify suspicious network traffic; and detecting a bot based on a heuristic analysis of the suspicious network traffic behavior using a processor, in which the suspicious network traffic behavior includes command and control traffic associated with a bot master. In some embodiments, heuristic botnet detection further includes assigning a score to the monitored network traffic, in which the score corresponds to a botnet risk characterization of the monitored network traffic (e.g., based on one or more heuristic botnet detection techniques); increasing the score based on a correlation of additional suspicious behaviors associated with the monitored network traffic (e.g., based on one or more heuristic botnet detection techniques); and determining the suspicious behavior is associated with a botnet based on the score.
kb-author: Xinran Wang; Huagang Xie
kb-mitre-analysis: This patent describes detecting botnets using heuristic analysis techniques on collected network flows. The heuristic techniques include: * Identifying suspicious traffic patterns to detect command and control traffic ex. periodically visiting a known malware URL, a host visiting a malware domain twice every 5 hour and 14 minutes (this is a specific pattern for a variant of Swizzor botnets). * Identifying non-standard behaviors such as connecting to a non-standard HTTP port for HTTP traffic, visiting a non-existent domain, downloading executable files with non-standard executable file extensions, communicating using HTTP header with a shorter than common length * Analyzing visited domain information to identify the following: visiting a domain with a domain name that is longer than a common domain name length, visiting a dynamic DNS domain, visiting a fast-flux domain, and visiting a recently created domain. A score is determined based on these factors and if the score is over a threshold, a responsive action is performed.
kb-organization: Palo Alto Networks Inc
kb-reference-of: DNS Traffic Analysis
kb-reference-title: Heuristic botnet detection

Reference - CAR-2016-03-001: Host Discovery Commands - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2016-03-001/
kb-abstract: When entering on a host for the first time, an adversary may try to discover information about the host. There are several built-in Windows commands that can be used to learn about the software configurations, active users, administrators, and networking configuration. These commands should be monitored to identify when an adversary is learning information about the system and environment. The information returned may impact choices an adversary can make when establishing persistence, escalating privileges, or moving laterally. Because these commands are built in, they may be run frequently by power users or even by normal users. Thus, an analytic looking at this information should have well-defined white- or blacklists, and should consider looking at an anomaly detection approach, so that this information can be learned dynamically.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2016-03-001: Host Discovery Commands

Reference - How ASLR protects Linux systems from buffer overflow attacks - Network World
type: InternetArticleReference
type: NamedIndividual
has-link: https://www.networkworld.com/article/3331199/what-does-aslr-do-for-linux.html
kb-abstract: ASLR (Address Space Layout Randomization) is a memory exploitation mitigation technique used on both Linux and Windows systems. Learn how to tell if it's running, enable/disable it, and get a view of how it works.
kb-author: Sandra Henry-Stocker
kb-organization: Network World
kb-reference-of: Segment Address Offset Randomization
kb-reference-title: How ASLR protects Linux systems from buffer overflow attacks

Reference - How Does Antivirus Quarantine Work? - Safety Detectives
type: InternetArticleReference
type: NamedIndividual
has-link: https://www.safetydetectives.com/blog/how-does-antivirus-quarantine-work/
kb-abstract: Your antivirus has just finished a regular scan and it’s asking whether you want to quarantine the virus it’s found. You click ‘yes’ without putting much thought into what’s actually happening. But what does quarantining actually mean, what does it do and is it safe for your computer? It’s important to understand the details so that you know what’s happening when you send infected files into quarantine.
kb-author: Katarina Glamoslija
kb-reference-title: How Does Antivirus Quarantine Work?

Reference - How to change registry values or permissions from a command line or a script
type: InternetArticleReference
type: NamedIndividual
has-link: https://docs.microsoft.com/en-us/troubleshoot/windows-client/application-management/change-registry-values-permissions
kb-abstract: This article describes how to change registry values or permissions from a command line or a script. Applies to: Windows 10 - all editions, Windows Server 2012 R2 Original KB number: 264584
kb-organization: Microsoft
kb-reference-title: How to change registry values or permissions from a command line or a script

Reference - How trust relationships work for resource forests in Azure Active Directory Domain Services
type: InternetArticleReference
type: NamedIndividual
has-link: https://docs.microsoft.com/en-us/azure/active-directory-domain-services/concepts-forest-trust
kb-abstract: Active Directory Domain Services (AD DS) provides security across multiple domains or forests through domain and forest trust relationships. Before authentication can occur across trusts, Windows must first check if the domain being requested by a user, computer, or service has a trust relationship with the domain of the requesting account.
kb-author: Microsoft
kb-reference-of: DomainTrustPolicy
kb-reference-title: How trust relationships work for resource forests in Azure Active Directory Domain Services

Reference - IEEE Standard for Local and Metropolitan Area Networks - Station and Media Access Control Connectivity Discovery
type: SpecificationReference
type: NamedIndividual
has-link: https://standards.ieee.org/ieee/802.1AB/6047/
kb-organization: IEEE
kb-reference-of: Hardware Component Inventory
kb-reference-title: IEEE Standard for Local and Metropolitan Area Networks - Station and Media Access Control Connectivity Discovery

Reference - Identification and extraction of key forensics indicators of compromise using subject-specific filesystem views
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20200004962A1/en
kb-abstract: A stackable filesystem that transparently tracks process file writes for forensic analysis. The filesystem comprises a base filesystem, and an overlay filesystem. Processes see the union of the upper and lower filesystems, but process writes are only reflected in the overlay. By providing per-process views of the filesystem using this stackable approach, a forensic analyzer can record a process's file-based activity-i.e., file creation, deletion, modification. These activities are then analyzed to identify indicators of compromise (IoCs). These indicators are then fed into a forensics analysis engine, which then quickly decides whether a subject (e.g., process, user) is malicious. If so, the system takes some proactive action to alert a proper authority, to quarantine the potential attack, or to provide other remediation. The approach enables forensic analysis without requiring file access mediation, or conducting system event-level collection and analysis, making it a lightweight, and non-intrusive solution.
kb-author: Frederico Araujo; Anne E. Kohlbrenner; Marc Philippe Stoecklin; Teryl Paul Taylor
kb-reference-title: Identification and extraction of key forensics indicators of compromise using subject-specific filesystem views

Reference - Identifying a denial-of-service attack in a cloud-based proxy service - Cloudfare Inc.
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US8613089B1
kb-abstract: A cloud-based proxy service identifies a denial-of-service (DoS) attack including determining that there is a potential DoS attack being directed to an IP address of the cloud-based proxy service; and responsive to determining that there are a plurality of domains that resolve to that IP address, identifying the one of the plurality of domains that is the target of the DoS attack. The domain that is under attack is identified by scattering the plurality of domains to resolve to different IP addresses, where a result of the scattering is that each of those domains resolves to a different IP address, and identifying one of those plurality of domains as the target of the DoS attack by determining that there is an abnormally high amount of traffic being directed to the IP address in which that domain resolves.
kb-author: Lee Hahn Holloway, Srikanth N. Rao, Matthew Browning Prince, Matthieu Philippe Francois Tourne, Ian Gerald Pye, Ray Raymond Bejjani, Terry Paul Rodery, Jr.
kb-organization: Cloudfare Inc.
kb-reference-of: Inbound Session Volume Analysis
kb-reference-title: Identifying a denial-of-service attack in a cloud-based proxy service

Reference - Indirect Branching Calls
type: AcademicPaperReference
type: NamedIndividual
has-link: https://citeseerx.ist.psu.edu/viewdoc/download
kb-abstract: Return-oriented programming (ROP) has become the primary exploitation technique for system compromise in the presence of non-executable page protections. ROP exploits are facilitated mainly by the lack of complete address space randomization coverage or the presence of memory disclosure vulnerabilities, necessitating additional ROP-specific mitigations. In this paper we present a practical runtime ROP exploit prevention technique for the protection of thirdparty applications. Our approach is based on the detection of abnormal control transfers that take place during ROP code execution. This is achieved using hardware features of commodity processors, which incur negligible runtime overhead and allow for completely transparent operation without requiring any modifications to the protected applications. Our implementation for Windows 7, named kBouncer, can be selectively enabled for installed programs in the same fashion as user-friendly mitigation toolkits like Microsoft's EMET. The results of our evaluation demonstrate that kBouncer has low runtime overhead of up to 4%, when stressed with specially crafted workloads that continuously trigger its core detection component, while it has negligible overhead for actual user applications. In our experiments with in-thewild ROP exploits, kBouncer successfully protected all tested applications, including Internet Explorer, Adobe Flash Player, and Adobe Reader.
kb-author: Vasilis Pappas, Michalis Polychronakis, Angelos D. Keromytis Columbia University
kb-organization: Columbia University
kb-reference-of: Indirect Branch Call Analysis
kb-reference-title: Transparent ROP Exploit Mitigation using Indirect Branch Tracing

Reference - Inferential exploit attempt detection - Crowdstrike Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US10216934B2/en
kb-abstract: A security agent implemented on a monitored computing device is described herein. The security agent is configured to detect an action of interest (AoI) that may be probative of a security exploit and to determine a context in which that AoI occurred. Based on that context, the security agent is further configured to decide whether the AoI is a security exploit and can take preventative action to prevent the exploit from being completed. Determining that the AoI includes the security exploit is based at least in part on one or more of: determining that the return address is outside memory previously allocated for an object; determining that the object identifier is associated with a vulnerable object; determining that permissions of the memory region include two or more of read, write, and execute; or determining that the memory region is one page in length. Determining that the return address is outside memory previously allocated for an object and the method further including treating code that the return address points to as malicious code.
kb-author: Daniel W. Brown; Ion-Alexandru Ionescu; Loren C. Robinson
kb-organization: Crowdstrike Inc
kb-reference-of: Memory Boundary Tracking
kb-reference-title: Inferential exploit attempt detection

Reference - Instant process termination tool to recover control of an information handling system - Dell Products LP
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20060236108A1/en
kb-abstract: A method and system for automatic termination of unauthorized malevolent processes operating on an information handling system. A list of authenticated and essential process list is stored on the information handling system. Unauthorized processes not contained on the list can be automatically terminated by the user by invoking the present invention with a single click of a mouse or pointer device on an icon residing on the display screen of the information handling system. The offending processes are immediately terminated without generating a user prompt, which would ordinarily provide sufficient time for the malware to spawn additional offending processes. The present invention also provides significant means to recover control of a malware-infected information handling system in order to use repair tools and utilities. The present invention can be deployed at the time of manufacture of an information handling system or independently installed by a user.
kb-author: Carlton Andrews
kb-organization: Dell Products LP
kb-reference-of: Process Termination
kb-reference-title: Instant process termination tool to recover control of an information handling system

Reference - Integrity assurance through early loading in the boot phase - Crowdstrike Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20170061127A1
kb-abstract: Techniques utilizing library and pre-boot components to ensure that a driver associated with a kernel-mode component is initialized before other drivers during a boot phase are described herein. The library component is processed during a boot phase; the pre-boot component, which may be an alternative to the library component, is processed during a pre-boot phase. By ensuring that the driver is the first driver initialized, the components enable the driver to launch the kernel-mode component before other drivers are initialized. The library component may also determine whether another driver is to be initialized before the kernel-mode component driver, may ensure that kernel-mode component driver is initialized first, and may alert the kernel-mode component. Also, the library component may retrieve information that is to be deleted by the operating system before initialization of drivers and may provide that information to the kernel-mode component.
kb-author: Ion-Alexandru Ionescu
kb-mitre-analysis: To compromise software or to gain control of a host device, a security exploit can modify driver initialization order used by an operating system and place a driver associated with the security exploit first in a list of drivers initialized by the operating system. This patent describes ensuring that a driver associated with the agent is initialized first. To ensure the driver is initialized first, a dependent DLL associated with the driver is configured to be processed before other dependent DLLs. The dependent DLL can be configured to be processed first by various methods, for example if processing is done in alphabetical order, changing its name to be processed first. The dependent DLL, once processed, executes a number of operations to ensure the driver associated with the agent is initialized first. Furthermore, if the initialization order is modified, an alert is provided to the kernel-mode component that notifies the kernel-mode component it was not first and the order had to be altered. It can then take additional actions such as additional monitoring or remediation.
kb-organization: Crowdstrike Inc
kb-reference-of: DriverLoadIntegrityChecking
kb-reference-title: Integrity assurance through early loading in the boot phase

Reference - Intrusion detection using a heartbeat - Sophos Ltd
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20180191752A1
kb-abstract: A variety of techniques are disclosed for detection of advanced persistent threats and similar malware. In one aspect, the detection of certain network traffic at a gateway is used to trigger a query of an originating endpoint, which can use internal logs to identify a local process that is sourcing the network traffic. In another aspect, an endpoint is configured to periodically generate and transmit a secure heartbeat, so that an interruption of the heartbeat can be used to signal the possible presence of malware. In another aspect, other information such as local and global reputation information is used to provide context for more accurate malware detection.
kb-author: Kenneth D. Ray
kb-mitre-analysis: This patent describes a health monitor deployed on an endpoint that uses a heartbeat to periodically communicate status to a gateway's remote health monitor. The endpoint health monitor issues a heartbeat for satisfactory status of the endpoint using factors such as: * checking the status of individual software items executing on the endpoint * checking that antivirus and other security software is up to date (e. g., with current virus definition files) and running correctly * checking the integrity of cryptographic key stores * checking other hardware or software components of the endpoint as necessary or helpful for health monitoring A disappearance of the heartbeat from the endpoint may indicate that the endpoint has been compromised.
kb-organization: Sophos Ltd
kb-reference-of: Endpoint Health Beacon
kb-reference-title: Intrusion detection using a heartbeat

Reference - Isolation of applications within a virtual machine - Bromium, Inc.
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US9921860B1
kb-abstract: Approaches for launching an application within a virtual machine. In response to receiving a request to launch an application, a device instantiates, without human intervention and based on a policy, a virtual machine in which the application is to be launched. The policy determines which resources of a device, such as a mobile device or computer system, are accessible to the virtual machine. The policy may, but need not, determine whether the virtual machine has access to a type of resource which obligates the user of the device to make a monetary payment for the user of the resource.
kb-author: Gaurav Banga, Sergei Vorobiev, Deepak Khajuria, Vikram Kapoor, Ian Pratt, Simon Crosby, Adrian Taylor
kb-organization: Bromium, Inc.
kb-reference-of: Hardware-basedProcessIsolation
kb-reference-title: Isolation of applications within a virtual machine

Reference - LUKS1 On-Disk Format SpecificationVersion 1.2.3
type: SpecificationReference
type: NamedIndividual
has-link: https://mirrors.edge.kernel.org/pub/linux/utils/cryptsetup/LUKS_docs/on-disk-format.pdf
kb-abstract: LUKS is short for "Linux Unified Key Setup". It has initially been developed to remedy the unpleasantness a user experienced that arise from deriving the encryption setup from changing user space, and forgotten command line arguments. The result of this changes are an unaccessible encryption storage. The reason for this to happen was, a unstandardised way to read, process and set up encryption keys, and if the user was unlucky, he upgraded to an incompatible version of user space tools that needed a good deal of knowledge to use with old encryption volumes.
kb-author: Clemens Fruhwirth
kb-reference-of: DiskEncryption
kb-reference-title: LUKS1 On-Disk Format SpecificationVersion 1.2.3

Reference - MGT516: Managing Security Vulnerabilities: Enterprise and Cloud
type: InternetArticleReference
type: NamedIndividual
has-link: https://www.sans.org/cyber-security-courses/managing-enterprise-cloud-security-vulnerabilities/
kb-abstract: Vulnerability, patch, and configuration management are not new security topics. In fact, they are some of the oldest security functions. Yet, we still struggle to manage these capabilities effectively. The quantity of outstanding vulnerabilities for most large organizations is overwhelming, and all organizations struggle to keep up with the never-ending onslaught of new vulnerabilities in their infrastructure and applications. When you add in the cloud and the increasing speed with which all organizations must deliver systems, applications, and features to both their internal and external customers, security may seem unachievable. This course will show you the most effective ways to mature your vulnerability management program and move from identifying vulnerabilities to successfully treating them. 16 Cyber42 and lab exercises
kb-author: Jonathan Risto and David Hazar
kb-organization: SANS
kb-reference-of: Operational Risk Assessment
kb-reference-title: MGT516: Managing Security Vulnerabilities: Enterprise and Cloud

Reference - Malicious relay detection on networks - VECTRA NETWORKS Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20150264083A1
kb-abstract: A system and method for detecting malicious relay communications is disclosed. Network communications can be received and analyzed using such network components as a network switch. The received traffic can be parsed into sessions. Relay metadata can be extracted from the sessions and further be used to categorize the sessions into one or more types of relay metadata behaviors. Once a significant amount of sessions are detected an alarm may be triggered and/or alarm data may be generated for analysis by network security administrators.
kb-author: Ryan James PRENGER; Nicolas BEAUCHESNE; Karl Matthew LYNN
kb-mitre-analysis: This patent describes a technique for detecting relay networks, i.e. an attacker outside of the organization's network takes control of an internal host to be used as a source of attacks against other internal targets or exfiltrate data out of the organization. In this defensive technique, metadata from collected network packet captures is extracted to categorize network sessions using known relay behaviors. Information such as the number of bytes sent to and from a potential internal relay host, time of session initiation, packet contents, packet size, flow direction, and packet arrival time statistics are used to categorize the sessions and identify relay behavior. This technique assumes that relay network connections' inter-packet arrival times exhibit a high degree of variance in comparison to standard client-to-server connections. If enough evidence of relay behavior is gathered about a given internal host, the host is identified as suspicious and an alert is generated.
kb-organization: VECTRA NETWORKS Inc
kb-reference-of: Relay Pattern Analysis
kb-reference-title: Malicious relay detection on networks

Reference - Malware analysis system - Palo Alto Networks Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20150319136A1
kb-abstract: In some embodiments, a malware analysis system includes receiving a potential malware sample from a firewall; analyzing the potential malware sample using a virtual machine to determine if the potential malware sample is malware; and automatically generating a signature if the potential malware sample is determined to be malware. In some embodiments, the potential malware sample does not match a preexisting signature, and the malware is a zero-day attack.
kb-author: Huagang Xie; Xinran Wang; Jiangxia Liu
kb-mitre-analysis: This patent describes a VM sandbox environment that uses heuristic based analysis techniques performed in real-time during a file transfer to determine if the file is malicious. A new signature can then be generated and distributed to automatically block future file transfer requests to download the malicious file.
kb-organization: Palo Alto Networks Inc
kb-reference-of: Dynamic Analysis
kb-reference-title: Malware analysis system

Reference - Malware detection in event loops - Crowdstrike Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20190205530A1
kb-abstract: Example techniques locate or identify malware based on events from or at monitored computing devices. A control unit can detect a sequence of events of various types. The control unit can locate a loop within the sequence of events based at least in part on relative frequencies of the event types. The control unit can determine a distribution of event types of the events within the loop, and determining that software running the sequence is associated with malware based at least in part on the distribution of event types within the loop. In some examples, the control unit can locate a point of commonality among a plurality of stack traces associated with respective events within the loop. The control unit can determine a malware module comprising the point of commonality.
kb-author: Daniel W. Brown
kb-mitre-analysis: The patent describes determining if a sequence of events associated with a process are associated with malware. Based on the relative frequency of events, a loop within a sequence of events is located and a distribution of the events within the loop is determined. The distribution of events is then compared against a catalog of distributions to determine if it is associated with malware.
kb-organization: Crowdstrike Inc
kb-reference-of: System Call Analysis
kb-reference-title: Malware detection in event loops

Reference - Method and Apparatus for Detecting Malicious Websites - Endgame Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20140331319A1
kb-abstract: A method and apparatus for detecting malicious websites is disclosed.
kb-author: John Burnet MUNRO, IV; Jason Aaron Trost; Zachary Daniel HANIF
kb-mitre-analysis: This patent describes a domain classification engine on the host computer that analyzes URLs clicked by a user or entered into a web browser to visit a website. URL analysis is done by using a combination of techniques: * Feature extraction: A URL is analyzed against features associated with suspicious URLs such as % of longest consecutive digits in a subdomain, % of longest repeated characters in a subdomain, % of vowels in a high level domain. * Markov analysis: The probability of a digit occurring in normal language given the preceding two digits is determined. For example, if the received URL is google.com, the probability of a 'g' occurring at the beginning of a word, the probability of an 'o' occurring after a "g, the probability of an "o' occurring after a 'g' and "o, and so forth will be determined. The probability of each digit is then multiplied to get a probability for the whole domain name. Probabilities are determined based on a database of existing usage, such as a dictionary, or a list of known good domain names * Domain names are compared against an existing dataset of known unauthorized domain names. A rating is developed based on the results of these techniques, and if the rating is over a set threshold, an action is taken such as blocking access or generating an alert.
kb-organization: Endgame Inc
kb-reference-of: URL Analysis
kb-reference-title: Method and Apparatus for Detecting Malicious Websites

Reference - Method and apparatus for increasing the speed at which computer viruses are detected - McAfee LLC
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US5502815A
kb-abstract: The method and apparatus for increasing the speed at which computer viruses are detected stores initial state information concerning the file or volume which is being examined for a virus. This information is stored in a cache in a non-volatile storage medium and when files are subsequently scanned for viruses, the current state information is compared to the initial state information stored in the cache. If the initial state information differs from the current state information then the file or volume is scanned for viruses which change the state information of the file or volume. If the initial state information and current state information is the same then the file or volume is scanned for a subset of viruses which do not change the state information.
kb-author: Paul D. Cozza
kb-organization: McAfee LLC
kb-reference-of: ExecutableDenylisting
kb-reference-title: Method and apparatus for increasing the speed at which computer viruses are detected

Reference - Method and apparatus for utilizing a token for resource access - Rsa Security Inc.
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US5657388A/en
kb-abstract: A method and apparatus for utilizing a token which is preferably a "dumb token" to provide secure access by authorized users to a selected resource. The token stores a secret user code in machine readable form, which code is read by a token processor. The token processor also receives a time-varying value and an algorithm, both of which may be stored or generated at either the token or the token processor and preferably a secret personal identification code which may be inputted at the token, but is preferably inputted at the token processor. The secret user code, time-varying value and secret personal identification code are then algorithmically combined by the algorithm, preferably in the token processor, to generate a one-time nonpredictable code which is transmitted to a host processor. The host processor utilizes the received one-time nonpredictable code to determine if the user is authorized access to the resource and grants access to the resource if the user is determined to be authorized. The system may be modified to operate in query/response mode. The token processor may be any of a variety of available portable remote processors or may be a device such as a telephone which is equipped with card or other token reader and with processing capability.
kb-author: Kenneth P. Weiss
kb-organization: Rsa Security Inc.
kb-reference-of: Multi-factorAuthentication
kb-reference-title: Method and apparatus for utilizing a token for resource access

Reference - Method and system for controlling communication ports
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US8566924
kb-abstract: A method for limiting devices and controlling the applications executed from USB ports on personal computers (PCs).
kb-author: Steven V Bacastow
kb-organization: OL Security LLC
kb-reference-of: IO Port Restriction
kb-reference-title: Method and system for controlling communication ports

Reference - Method and system for detecting algorithm-generated domains - VECTRA NETWORKS Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20150264070A1
kb-abstract: A method and system for detecting algorithm-generated domains (AGDs) is disclosed wherein domain names requested by an internal host are categorized or classified using curated data sets, active services (e.g. Internet services), and certainty scores to match domain names to domain names or IP addresses used by command and control servers.
kb-author: James Patrick HARLACHER; Aditya Sood; Oskar Ibatullin
kb-mitre-analysis: This patent describes detecting algorithm generated domains (AGD). DNS requests and responses are analyzed by first checking whether the domain matches existing data sets that specify different types of AGDs with known characteristics, such as Evil Twin Domains, Sinkholed domains, sleeper cells, ghost domains, parked domains, and/or bulk-registered domains. In addition to comparing domains against known data sets, the following information is collected to perform analysis: * IP Information: checks for information known about the IP addresses returned in the DNS response, including the number of IP addresses returned, the registered owners of the IP addresses, or different IP addresses returned for the same domain (IP fluxing) * Domain Registration: examines the domain registration date, domain update date, domain expiration date, registrant identity, and authorized name servers associated with a specific domain name. * Domain Popularity: provides information on the popularity of a domain name. Based on analysis of these factors a score is developed; if the score is above a certain threshold, an alert is generated.
kb-organization: VECTRA NETWORKS Inc
kb-reference-of: DNS Traffic Analysis
kb-reference-title: Method and system for detecting algorithm-generated domains

Reference - Method and system for detecting external control of compromised hosts - VECTRA NETWORKS Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US9407647B2/en
kb-abstract: A detection engine may be implemented by receiving network traffic and processing the traffic into one or more session datasets. Sessions not initiated by an internal host may be discarded. The frequency between the communication packets from the internal host to external host may be grouped or processed into rapid-exchange instances. The number of rapid-exchange instances, the time intervals between them, and/or the rhythm and directions of the initiation of the instances may be analyzed to determine that a human actor is manually controlling the external host. In some embodiments, when it is determined that only one human actor is involved, alarm data may be generated that indicates that a network intrusion involving manual remote control has occurred or is underway.
kb-author: Nicolas BEAUCHESNE; Ryan James PRENGER
kb-mitre-analysis: This patent describes detecting an external attacker taking remote control of an internal host. Detection includes identifying sessions where the external host controls the internal host in the opposite direction the session was initiated. The number of rapid-exchange communication instances (i.e, communications that occur between the two hosts with little silence gap), the time intervals between them, and/or the rhythm and direction of the instances, are analyzed to determine if an external human actor is manually controlling the internal host.
kb-organization: VECTRA NETWORKS Inc
kb-reference-of: Remote Terminal Session Detection
kb-reference-title: Method and system for detecting external control of compromised hosts

Reference - Method and system for detecting malicious payloads - Vectra Networks Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/EP3293937A1/en
kb-abstract: Disclosed is an improved method, system, and computer program product for identifying malicious payloads. The disclosed approach identifies potentially malicious payload exchanges which may be associated with payload injection or root-kit magic key usage. Some examples of data inputs: Information for clients and servers, such as IP address and host information Payloads for both clients and servers Amount of data being transferred Duration of communications Length of time delay between client request and server response
kb-author: Nicolas Beauchesne; John Steven Mancini
kb-mitre-analysis: Extraction of network flow data and using unsupervised machine learning to create a standard baseline. During the monitoring phase, abnormal network metadata will result in an alert.
kb-organization: Vectra Networks Inc
kb-reference-of: Client-server Payload Profiling
kb-reference-title: Method and system for detecting malicious payloads

Reference - Method and system for detecting restricted content associated with retrieved content - Sophos Ltd
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20160359883A1
kb-abstract: In embodiments of the present invention improved capabilities are described for detecting restricted content associated with retrieved content. The method and system may include receiving a client request for content, saving contextual information from the client request, presenting retrieved content in response to the client request, and presenting the contextual information from the client request, and retrieved content, to a scanning facility. The scanning facility may utilize the contextual information from the client request to aid in the detection of restricted content associated with retrieved content.
kb-author: Fraser Howard; Paul Baccas; Vanja Svajcer; Benjamin John Godwood; William James McCourt
kb-mitre-analysis: This patent describes analyzing contextual information of a Uniform Resource Identifier (URI), such as source or origin of the request URI, patterns in the way the URI is delivered, and the locale of the URI. The contextual information is sent to a scanning facility which uses that information along with a blacklist of known malicious domain names, locations, patterns, etc. to block retrieved content associated with the request URI.
kb-organization: Sophos Ltd
kb-reference-of: URL Analysis
kb-reference-title: Method and system for detecting restricted content associated with retrieved content

Reference - Method and system for detecting suspicious administrative activity - Vectra Networks Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20180077186A1
kb-abstract: Disclosed is an improved approach for identifying suspicious administrative host activity within a network. Network traffic is examined to learn the behavior of hosts within a network. This provides an effective way of determining whether or not a host is performing suspicious activity over an administrative protocol.
kb-author: Nicolas Beauchesne; Kevin Song-Kai Ni
kb-mitre-analysis: Collect network traffic metadata directed at administrative services over a period of time to establish a baseline. This baseline is then used to determine suspicious activity that falls outside of the established baseline.
kb-organization: Vectra Networks Inc
kb-reference-of: Administrative Network Activity Analysis
kb-reference-title: Method and system for detecting suspicious administrative activity

Reference - Method and system for detecting threats using metadata vectors - VECTRA NETWORKS Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20160191551A1
kb-abstract: An approach for detecting network attacks using metadata vectors may initially involve receiving network communications or packets, extracting metadata items from the packets. The metadata items describe the communications without requiring deep content inspection of the data payload or contents. The communications may be clustered into groups using the metadata items. If a cluster exceeds a threshold, an alarm may be generated.
kb-author: Nicolas BEAUCHESNE; David Lopes Pegna; Karl Lynn
kb-mitre-analysis: This patent describes detecting network threats by first passively collecting network traffic and storing it for processing. Metadata from network traffic such as packet header information or information about a session (ex. time between request/responses) is extracted. After the metadata is extracted, the data is grouped into cluster maps of matching events to track how many instances of a network communication have occurred, such as five requests sent and five responses received. Threshold limits are set on the clusters to monitor them and if a cluster grows too large (ex. ten instances of requests and responses) this can correspond to unauthorized behavior. This method might detect, for example, a network attack using malicious payloads with automated scripts, in which a bot sends replicated malicious payloads to the same destination port.
kb-organization: VECTRA NETWORKS Inc
kb-reference-of: Protocol Metadata Anomaly Detection
kb-reference-title: Method and system for detecting threats using metadata vectors

Reference - Method and system for detecting threats using passive cluster mapping - Vectra Networks Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20160149936A1
kb-abstract: An approach for detecting network threats is disclosed, that may involve receiving network traffic, plotting the network traffic in a n-dimensional feature space to form a network map, generating a client signature at least by placing new client points in the map, setting a threshold, and generating an alarm if one or more client activity points exceed the threshold. In some embodiments, the network map and the client signature are updated using sliding windows and distance calculations.
kb-author: David Lopes PEGNA; Nicolas Beauchesne
kb-mitre-analysis: This patent describes detecting network threats by first passively collecting network traffic and storing it for processing. The stored network traffic data is used to map network events to create a cluster map. Events are network activity associated with clients, servers, or control modules such as a Kerberos Domain Controller (KDC); account information; services accessed by the client; or the number of times a service is accessed. Events that exceed a threshold from a center of gravity point of a cluster are identified as suspicious activity and an alert is generated.
kb-organization: Vectra Networks Inc
kb-reference-of: Protocol Metadata Anomaly Detection
kb-reference-title: Method and system for detecting threats using passive cluster mapping

Reference - Method and system for providing software updates to local machines
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US10474448B2/en
kb-author: John Melton Reynolds
kb-organization: Sophos Ltd
kb-reference-title: Method and system for providing software updates to local machines

Reference - Method and system for UDP flood attack detection - Riorey LLC
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US8307430B1
kb-abstract: A system and method is provided to identify UDP attacks. A processor determines a spectral density of packet timing intervals, a natural distance between the spectral density and a uniform distribution, and a non-linear amplifier applying a non-linear amplification to the natural distance to detect a denial-of-service attack. It uses the concept of traffic statistics analysis, i.e., spectral densities of arrived-packet timing intervals, calculates the KL-distance measurement and makes decision based on the output of a non-linear Gaussian amplifier, with which one can easily adjust the amplifier via selecting different parameters of mean and variance to satisfy system requirements of false-positive and false-negative UDP attack detections.
kb-author: Hongda Chen, Lijin Lu
kb-reference-of: Inbound Session Volume Analysis
kb-reference-title: Method and system for UDP flood attack detection

Reference - Method for file encryption
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US9521123B2/en
kb-abstract: A method for encryption and sealing of a plaintext file by hashing the plaintext file to produce a plaintext hash, encrypting the plaintext file to produce ciphertext, hashing the ciphertext to produce a ciphertext hash, hashing the plaintext hash and the ciphertext hash to produce a result hash, and sealing the ciphertext together with the result hash.
kb-author: Robert R. Jueneman, Duane J. LINSENBARDT, John N. Young, William Reid Carlisle, Burton George Tregub
kb-organization: New Kailung Gear Co Ltd
kb-reference-of: FileEncryption
kb-reference-title: Method for file encryption

Reference - Method using kernel mode assistance for the detection and removal of threats which are actively preventing detection and removal from a running system - Symantec Corporation
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US8239947B1
kb-abstract: A user mode application component invokes the assistance of a kernel mode driver component to detect and/or remediate malicious code on a computer system. The user mode application may include code that detects, for example, spyware and computer viruses, from user mode and when appropriate takes protective action when malicious code is detected. In one aspect, when the user mode application is unable to perform a selected operation in attempting to detect and/or take protective action, the user mode application invokes a kernel mode driver for assistance. The kernel mode driver assists user mode application in detecting malicious code and/or taking protective action by enabling or otherwise performing a selected operation for the user mode application.
kb-author: Adam Glick, Patrick Gardner, Pieter Viljoen
kb-mitre-analysis: This patent describes detecting registry changes using a prohibited change heuristic or a database of prohibited functions/function parameters.
kb-organization: Symantec Corporation
kb-reference-of: System Daemon Monitoring
kb-reference-title: Method using kernel mode assistance for the detection and removal of threats which are actively preventing detection and removal from a running system

Reference - Mission Dependency Modeling for Cyber Situational Awareness
type: AcademicPaperReference
type: NamedIndividual
has-link: https://csis.gmu.edu/noel/pubs/2016_NATO_IST_148.pdf
kb-abstract: This paper describes a hierarchical graph-based model that captures mission dependencies at various levels of abstraction, showing interdependencies among mission objectives, tasks, information, and cyber assets. For this work, we employ established tools within a structured methodology for cyber resiliency analysis. Our model is focused on a strategic-level military scenario defined in a formal Request for Information (RFI) to industry and research partners by the NATO Multinational Cyber Defense Capability Development (MN CD2) Work Package 2 (WP2). We enhance this scenario with additional mission and operational context, and then build a mission dependency model for the enhanced scenario. It is anticipated that our mission dependency model will be part of an upcoming demonstration of cyber defense situational awareness capabilities in a NATO Communications and Information (NCI) Agency test environment, integrated with data sources that represent the operational military environment.
kb-author: William Heinbockel, Steven Noel, James Curbo
kb-organization: JHU APL
kb-reference-of: Operational Dependency Mapping
kb-reference-title: Mission Dependency Modeling for Cyber Situational Awareness

Reference - Mock attack cybersecurity training system and methods - WOMBAT SECURITY TECHNOLOGIES Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US9558677B2/
kb-abstract: A training system senses a user action that may expose the user to a threat, such as a cybersecurity threat. The user action may be in response to a mock attack delivered via a messaging service, a wireless communication service, a fake malware application or another device, service, system or mechanism. The system selects a training action from a collection of available training actions and causes the training action to be delivered to the user.
kb-author: Norman Sadeh-Koniecpol, Kurt Wescoe, Jason Brubaker, Jason Hong
kb-organization: WOMBAT SECURITY TECHNOLOGIES Inc
kb-reference-of: Decoy Public Release
kb-reference-title: Mock attack cybersecurity training system and methods

Reference - Modeling user access to computer resources - Daedalus Group LLC (formerly IBM)
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US8214364B2
kb-abstract: Embodiments of the invention provide a method for detecting changes in behavior of authorized users of computer resources and reporting the detected changes to the relevant individuals. The method includes evaluating actions performed by each user against user behavioral models and business rules. As a result of the analysis, a subset of users may be identified and reported as having unusual or suspicious behavior. In response, the management may provide feedback indicating that the user behavior is due to the normal expected business needs or that the behavior warrants further review. The management feedback is available for use by machine learning algorithms to improve the analysis of user actions over time. Consequently, investigation of user actions regarding computer resources is facilitated and data loss is prevented more efficiently relative to the prior art approaches with only minimal disruption to the ongoing business processes.
kb-author: Joseph P. Bigus, Leon Gong, Christoph Lingenfelder
kb-organization: Daedalus Group LLC (formerly IBM)
kb-reference-of: Resource Access Pattern Analysis
kb-reference-title: Modeling user access to computer resources

Reference - Modification of a Server to Mimic a Deception Mechanism - Acalvio Technologies Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20170149825A1
kb-abstract: Provided are devices, computer-program products, and methods (e.g., methods implemented by a production system or security agent program or process) for providing services on a production system to mimic a deception mechanism. For example, a method can include determining a deception characteristic of a deception mechanism and determining a production characteristic of the production system. The method can further include determining an additional service or a modification of an existing service of the production system using the deception characteristic and the production characteristic. In some cases, the additional service and/or the modification can be a deterrent to potential attackers of the production system. The method can further include modifying the production system to mimic the deception mechanism, including adding the additional service to the production system or modifying the existing service using the modification.
kb-author: Sreenivas Gukal, Rammohan Varadarajan
kb-organization: Acalvio Technologies Inc
kb-reference-of: Connected Honeynet
kb-reference-title: Modification of a Server to Mimic a Deception Mechanism

Reference - Munin
type: Source Code Reference
type: NamedIndividual
has-link: https://github.com/Neo23x0/munin
kb-author: Florian Roth
kb-reference-title: Online Hash Checker for Virustotal and Other Services

Reference - NIST RMF Quick Start Guide - Assess Step - Frequently Asked Questions (FAQ)
type: InternetArticleReference
type: NamedIndividual
has-link: https://csrc.nist.gov/CSRC/media/Projects/risk-management/documents/05-Assess%20Step/NIST%20RMF%20Assess%20Step-FAQs.pdf
kb-abstract: Once security and privacy controls are implemented, they need to be evaluated for correctness and effectiveness. After the initial assessment is completed and the system enters the operations/maintenance phase of the system development life cycle, the controls are assessed on an ongoing basis according to the organization and system’s continuous monitoring plans. The ongoing assessment supports the authorizing official’s decision to continue or discontinue the system’s authorization to operate. Control effectiveness assessments are performed by an independent third-party assessor or assessment team if the system categorization is moderate or high.
kb-organization: NIST
kb-reference-of: Operational Risk Assessment
kb-reference-title: NIST RMF Quick Start Guide - Assess Step - Frequently Asked Questions (FAQ)

Reference - NIST Special Publication 800-160 Volume 1 - System Security Engineering
type: GuidelineReference
type: NamedIndividual
has-link: https://doi.org/10.6028/NIST.SP.800-160v1
kb-abstract: With the continuing frequency, intensity, and adverse consequences of cyber-attacks, disruptions, hazards, and other threats to federal, state, and local governments, the military, businesses, and the critical infrastructure, the need for trustworthy secure systems has never been more important to the long-term economic and national security interests of the United States. Engineering-based solutions are essential to managing the growing complexity, dynamicity, and interconnectedness of today’s systems, as exemplified by cyber-physical systems and systems-of-systems, including the Internet of Things. This publication addresses the engineering-driven perspective and actions necessary to develop more defensible and survivable systems, inclusive of the machine, physical, and human components that compose the systems and the capabilities and services delivered by those systems. It starts with and builds upon a set of well-established International Standards for systems and software engineering published by the International Organization for Standardization (ISO), the International Electrotechnical Commission (IEC), and the Institute of Electrical and Electronics Engineers (IEEE) and infuses systems security engineering methods, practices, and techniques into those systems and software engineering activities. The objective is to address security issues from a stakeholder protection needs, concerns, and requirements perspective and to use established engineering processes to ensure that such needs, concerns, and requirements are addressed with appropriate fidelity and rigor, early and in a sustainable manner throughout the life cycle of the system.
kb-author: Ron Ross, Michael McEvilley, and Janet Carrier Oren
kb-organization: NIST
kb-reference-of: Operational Risk Assessment
kb-reference-title: NIST Special Publication 800-160 Volume 1 - Systems Security Engineering

Reference - NIST Special Publication 800-37 Revision 2 - Risk Management Framework for Information Systems and Organizations
type: GuidelineReference
type: NamedIndividual
has-link: https://doi.org/10.6028/NIST.SP.800-37r2
kb-abstract: This publication describes the Risk Management Framework (RMF) and provides guidelines for applying the RMF to information systems and organizations. The RMF provides a disciplined, structured, and flexible process for managing security and privacy risk that includes information security categorization; control selection, implementation, and assessment; system and common control authorizations; and continuous monitoring. The RMF includes activities to prepare organizations to execute the framework at appropriate risk management levels. The RMF also promotes near real-time risk management and ongoing information system and common control authorization through the implementation of continuous monitoring processes; provides senior leaders and executives with the necessary information to make efficient, cost-effective, risk management decisions about the systems supporting their missions and business functions; and incorporates security and privacy into the system development life cycle. Executing the RMF tasks links essential risk management processes at the system level to risk management processes at the organization level. In addition, it establishes responsibility and accountability for the controls implemented within an organization’s information systems and inherited by those systems.
kb-organization: NIST
kb-reference-of: Operational Risk Assessment
kb-reference-title: NIST Special Publication 800-37 Revision 2 - Risk Management Framework for Information Systems and Organizations

Reference - NISTIR 8011 Volume 1 - Automation Support for Security Control Assessments
type: GuidelineReference
type: NamedIndividual
has-link: https://doi.org/10.6028/NIST.IR.8011-1
kb-abstract: This volume introduces concepts to support automated assessment of most of the security controls in NIST Special Publication (SP) 800-53. Referencing SP 800-53A, the controls are divided into more granular parts (determination statements) to be assessed. The parts of the control assessed by each determination statement are called control items. The control items are then grouped into the appropriate security capabilities. As suggested by SP 800-53 Revision 4, security capabilities are groups of controls that support a common purpose. For effective automated assessment, testable defect checks are defined that bridge the determination statements to the broader security capabilities to be achieved and to the SP 800-53 security control items themselves. The defect checks correspond to security sub-capabilities-called sub-capabilities because each is part of a larger capability. Capabilities and sub-capabilities are both designed with the purpose of addressing a series of attack steps. Automated assessments (in the form of defect checks) are performed using the test assessment method defined in SP 800-53A by comparing a desired and actual state (or behavior).
kb-author: Kelley Dempsey, Paul Eavy, and George Moore
kb-organization: NIST
kb-reference-of: Operational Risk Assessment
kb-reference-title: NIST Interagency Report 8011 Volume 1 - Automation Support for Security Control Assessments

Reference - Network-Based Buffer Overflow Detection by Exploit Code Analysis - Information Security Research Centre
type: AcademicPaperReference
type: NamedIndividual
has-link: https://eprints.qut.edu.au/21172/1/21172.pdf
kb-abstract: Buffer overflow attacks continue to be a major security problem and detecting attacks of this nature is therefore crucial to network security. Signature based network based intrusion detection systems (NIDS) compare network traffic to signatures modelling suspicious or attack traffic to detect network attacks. Since detection is based on pattern matching, a signature modelling the attack must exist for the NIDS to detect it, and it is therefore only capable of detecting known attacks. This paper proposes a method to detect buffer overflow attacks by parsing the payload of network packets in search of shellcode which is the remotely executable component of a buffer overflow attack. By analysing the shellcode it is possible to determine which system calls the exploit uses, and hence the operation of the exploit. Current NIDS-based buffer overflow detection techniques mainly rely upon specific signatures for each new attack. Our approach is able to detect previously unseen buffer overflow attacks, in addition to existing ones, without the need for specific signatures for each new attack. The method has been implemented and tested for buffer overflow attacks on Linux on the Intel x86 architecture using the Snort NIDS.
kb-author: Stig Andersson, Andrew Clark, and George Mohay
kb-organization: Information Security Research Centre
kb-reference-of: Byte Sequence Emulation
kb-reference-title: Network-Based Buffer Overflow Detection by Exploit Code Analysis

Reference - Network Mapping
type: InternetArticleReference
type: NamedIndividual
has-link: https://en.wikipedia.org/wiki/Network_mapping
kb-author: https://en.wikipedia.org/
kb-reference-title: Network Mapping

Reference - OS Query Windows User Collection Code
type: Source Code Reference
type: NamedIndividual
has-link: https://github.com/osquery/osquery/blob/d2be385d71f401c85872f00d479df8f499164c5a/osquery/tables/system/windows/users.cpp
kb-reference-title: OS Query Windows User Collection Code

Reference - Open source intelligence deceptions - Illusive Networks Ltd
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US10333976B1/en
kb-abstract: A system to detect attackers who attempt to breach an enterprise network and attackers who have already breached the enterprise network, including an open source intelligence (OSINT) discoverer scanning the Internet to discover data related to an enterprise that is available online, an OSINT replacer generating deceptive files by replacing placeholders within template files with deceptive information, based on the data discovered by the OSINT discoverer, an OSINT distributor planting the deceptive files generated by the OSINT replacer within designated OSINT resources, and a deception management server that alerts an administrator in response to an attacker attempting to make a connection within the network using information in a deceptive file planted by the OSINT distributor.
kb-author: Hadar Yudovich; Nimrod Lavi; Sharon Bittan; Tom Kahana; Tom Sela
kb-mitre-analysis: Seems to focus on configuration oriented files to put in decoy hostnames etc. to publish on internet sites, then monitor the decoy "objects".
kb-organization: Illusive Networks Ltd
kb-reference-of: Decoy File
kb-reference-title: Open source intelligence deceptions

Reference - Organizational Management in SAP ERP HCM
type: Book Reference
type: NamedIndividual
has-link: https://www.sap-press.com/organizational-management-in-sap-erp-hcm_3996/
kb-author: Soham Ray
kb-organization: SAP Press
kb-reference-of: Organization Mapping
kb-reference-title: Organization Mapping in SAP ERP HCM

Reference - CAR-2014-11-002: Outlier Parents of Cmd - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2014-11-002/
kb-abstract: Many programs create command prompts as part of their normal operation including malware used by attackers. This analytic attempts to identify suspicious programs spawning cmd.exe by looking for programs that do not normally create cmd.exe. While this analytic does not take the user into account, doing so could generate further interesting results. It is very common for some programs to spawn cmd.exe as a subprocess, for example to run batch files or windows commands. However many process don't routinely launch a command prompt - for example Microsoft Outlook. A command prompt being launched from a process that normally doesn't launch command prompts could be the result of malicious code being injected into that process, or of an attacker replacing a legitimate program with a malicious one.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessLineageAnalysis
kb-reference-title: CAR-2014-11-002: Outlier Parents of Cmd

Reference - Password and Key Rotation - SSH
type: InternetArticleReference
type: NamedIndividual
has-link: https://www.ssh.com/academy/iam/password-key-rotation
kb-organization: SSH
kb-reference-of: Credential Rotation
kb-reference-title: Password and Key Rotation

Reference - Pointer Authentication on ARMv8.3
type: SpecificationReference
type: NamedIndividual
has-link: https://www.qualcomm.com/media/documents/files/whitepaper-pointer-authentication-on-armv8-3.pdf
kb-abstract: The pointer authentication scheme introduced by ARM is a software security primitive that makes it much harder for an attacker to modify protected pointers in memory without being detected. In this document, we will provide more details about the Pointer Authentication mechanism, provide a security analysis, and discuss the implementation of certain software security countermeasures, such as stack protection and control flow integrity, using the Pointer Authentication primitives.
kb-author: Qualcomm Technologies, Inc
kb-organization: Qualcomm Technologies, Inc
kb-reference-of: Pointer Authentication
kb-reference-title: Pointer Authentication on ARMv8.3

Reference - Pointer Authentication Project Zero
type: InternetArticleReference
type: NamedIndividual
has-link: https://googleprojectzero.blogspot.com/2019/02/examining-pointer-authentication-on.html
kb-abstract: In this post I examine Apple's implementation of Pointer Authentication on the A12 SoC used in the iPhone XS, with a focus on how Apple has improved over the ARM standard. I then demonstrate a way to use an arbitrary kernel read/write primitive to forge kernel PAC signatures for the A keys, which is sufficient to execute arbitrary code in the kernel using JOP. The technique I discovered was (mostly) fixed in iOS 12.1.3. In fact, this fix first appeared in the 16D5032a beta while my research was still ongoing.
kb-author: Brandon Azad
kb-organization: Project Zero, Google, Inc
kb-reference-of: Pointer Authentication
kb-reference-title: Examining Pointer Authentication on the iPhone XS

Reference - Post sandbox methods and systems for detecting and blocking zero-day exploits via api call validation - K2 Cyber Security Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20190138715A1/
kb-abstract: In one aspect, a method useful for monitoring and validating execution of executable binary code, includes the step of disassembling an executable binary code of an application. The method includes the step of detecting and obtaining location and type of an application programming interface (API) call, system call, and privileged instruction that is executed by the executable binary code. The method includes the step of detecting and obtaining return address from an Al call and system call. The method includes the step of validating location of the API call system call, and privileged instruction. The method includes the step of validating return from the API call and system call.
kb-author: Jayant Shukla
kb-mitre-analysis: The patent describes a technique for monitoring API calls. Executable binary code of an application is first disassembled and scanned for API calls. Based on the recorded API calls, a rule list is generated. Software hooks are placed in the code for monitoring API calls during program execution and then each API call is validated using the generated rule list to permit or deny execution of API calls. Rules are created that specify the type and location of the API call. For example, data collected for an application can show an API call to libc at address 0x43e0 and an API call by libc at address 0xlfb47. Accordingly, two rules are generated. The first rule specifies the location type and target of the API call at address 0x43e0, as well as the return address. The second rule is for the API call to the kernel and states the target address, return address, instruction, and target type.
kb-organization: K2 Cyber Security Inc
kb-reference-of: System Call Analysis
kb-reference-title: Post sandbox methods and systems for detecting and blocking zero-day exploits via api call validation

Reference - CAR-2014-04-003: Powershell Execution - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2014-04-003/
kb-abstract: PowerShell is a scripting environment included with Windows that is used by both attackers and administrators. Execution of PowerShell scripts in most Windows versions is opaque and not typically secured by antivirus which makes using PowerShell an easy way to circumvent security measures. This analytic detects execution of PowerShell scripts. Powershell can be used to hide monitored command line execution such as: * net use * sc start
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2014-04-003: Powershell Execution

Reference - Predicting Domain Generation Algorithms with Long Short-Term Memory Networks
type: AcademicPaperReference
type: NamedIndividual
has-link: https://arxiv.org/abs/1611.007911
kb-abstract: Various families of malware use domain generation algorithms (DGAs) to generate a large number of pseudo-random domain names to connect to a command and control (C&C) server. In order to block DGA C&C traffic, security organizations must first discover the algorithm by reverse engineering malware samples, then generating a list of domains for a given seed. The domains are then either preregistered or published in a DNS blacklist. This process is not only tedious, but can be readily circumvented by malware authors using a large number of seeds in algorithms with multivariate recurrence properties (e.g., banjori) or by using a dynamic list of seeds (e.g., bedep). Another technique to stop malware from using DGAs is to intercept DNS queries on a network and predict whether domains are DGA generated. Such a technique will alert network administrators to the presence of malware on their networks. In addition, if the predictor can also accurately predict the family of DGAs, then network administrators can also be alerted to the type of malware that is on their networks. This paper presents a DGA classifier that leverages long short-term memory (LSTM) networks to predict DGAs and their respective families without the need for a priori feature extraction. Results are significantly better than state-of-the-art techniques, providing 0.9993 area under the receiver operating characteristic curve for binary classification and a micro-averaged F1 score of 0.9906. In other terms, the LSTM technique can provide a 90% detection rate with a 1:10000 false positive (FP) rate---a twenty times FP improvement over comparable methods. Experiments in this paper are run on open datasets and code snippets are provided to reproduce the results.
kb-author: Jonathan Woodbridge, Hyrum S. Anderson, Anjum Ahuja, Daniel Grant
kb-reference-of: DNS Traffic Analysis
kb-reference-title: Predicting Domain Generation Algorithms with Long Short-Term Memory Networks

Reference - Preventing execution of task scheduled malware - McAfee LLC
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20160105450A1
kb-abstract: A method for preventing malware attacks includes the steps of detecting an attempt on an electronic device to access a task scheduler, determining an entity associated with the attempt to access the task scheduler, determining a malware status of the entity, and, based on the malware status of the entity, allowing or denying the attempted access to the task scheduler. The task scheduler is configured to launch one or more applications at a specified time or interval.
kb-author: Anil Ramabhatta, Harinath Vishwanath Ramachetty, Nandi Dharma Kishore
kb-mitre-analysis: Access to a job scheduler is intercepted using hooking or file filters to identify and analyze the source files, processes, destination files, or destination servers associated with a scheduled job. The identified servers or files associated with a job are compared against an anti-malware signature database or reputation server to determine if it there is a match. If so, execution is denied and an alert is generated.
kb-organization: McAfee LLC
kb-reference-of: Scheduled Job Analysis
kb-reference-title: Preventing execution of task scheduled malware

Reference - Privacy and security systems and methods of use
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US10128890B2/en
kb-author: Teddy David Thomas
kb-reference-title: Privacy and security systems and methods of use

Reference - Private virtual local area network isolation - Cisco Technology Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20120331142A1
kb-abstract: In one embodiment, a method includes obtaining addresses of end hosts at a switch, the switch configured with a primary virtual local area network and a secondary virtual local area network, creating a private virtual local area network access list comprising the addresses of end hosts permitted to communicate on the secondary virtual local area network, and applying the private virtual local area network access list to interfaces connected to the end hosts permitted to communicate on the secondary virtual local area network. An apparatus is also disclosed.
kb-author: Anuraag Mittal, Huei-Ping Chen
kb-organization: Cisco Technology Inc
kb-reference-of: Broadcast Domain Isolation
kb-reference-title: Private virtual local area network isolation

Reference - CAR-2013-02-003: Processes Spawning cmd.exe - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-02-003/
kb-abstract: The Windows Command Prompt (cmd.exe) is a utility that provides a command line interface to Windows operating systems. It provides the ability to run additional programs and also has several built-in commands such as dir, copy, mkdir, and type, as well as batch scripts (.bat). Typically, when a user runs a command prompt, the parent process is explorer.exe or another instance of the prompt. There may be automated programs, logon scripts, or administrative tools that launch instances of the command prompt in order to run scripts or other built-in commands. Spawning the process cmd.exe from certain parents may be more indicative of malice. For example, if Adobe Reader or Outlook launches a command shell, this may suggest that a malicious document has been loaded and should be investigated. Thus, by looking for abnormal parent processes of cmd.exe, it may be possible to detect adversaries.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessLineageAnalysis
kb-reference-title: CAR-2013-02-003: Processes Spawning cmd.exe

Reference - Protected computing environment - Microsoft Technology Licensing LLC
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20060242406A1
kb-abstract: A method of establishing a protected environment within a computing device including validating a kernel component loaded into a kernel of the computing device, establishing a security state for the kernel based on the validation, creating a secure process and loading a software component into the secure process, periodically checking the security state of the kernel, and notifying the secure process when the security state of the kernel has changed.
kb-author: Sumedh Barde, Jonathan Schwartz, Reid Kuhn, Alexandre Grigorovitch, Kirt Debique, Chadd Knowlton, James Alkove, Geoffrey Dunbar, Michael Grier, Ming Ma, Chaitanya Upadhyay, Adil Sherwani, Arun Kishan
kb-organization: Microsoft Technology Licensing LLC
kb-reference-of: DriverLoadIntegrityChecking
kb-reference-title: Protected computing environment

Reference - Protecting against distributed denial of service attacks - Cisco Technology Inc.
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US7171683B2
kb-abstract: A method for authenticating packet communication traffic includes receiving a data packet sent over a network from a source address to a destination address and reading from the packet a value of a field that is indicative of a number of hops traversed by the packet since having been sent from the source address. The authenticity of the source address is assessed responsive to the value.
kb-author: Guy Pazi, Anat Bremler-Bar, Rami Rivlin, Dan Touitou
kb-organization: Cisco Technologies Inc.
kb-reference-of: Inbound Session Volume Analysis
kb-reference-title: Protecting against distributed denial of service attacks

Reference - Protecting against distributed network flood attacks - Juniper Networks Inc.
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US8789173B2
kb-abstract: A network security device performs a three-stage analysis of traffic to identify malicious clients. In one example, a device includes an attack detection module to, during a first stage, monitor network connections to a protected network device, during a second stage, to monitor a plurality of types of transactions for the plurality of network sessions when a parameter for the connections exceeds a connection threshold, and during a third stage, to monitor communications associated with network addresses from which transactions of the at least one of type of transactions originate when a parameter associated with the at least one type of transactions exceeds a transaction-type threshold. The device executes a programmed action with respect to at least one of the network addresses when the transactions of the at least one of the plurality of types of transactions originating from the at least one network address exceeds a client-transaction threshold.
kb-author: Krishna Narayanaswamy, Bryan Burns, Venkata Rama Raju Manthena
kb-organization: Juniper Networks Inc.
kb-reference-of: Inbound Session Volume Analysis
kb-reference-title: Protecting against distributed network flood attacks

Reference - PsSuspend - Microsoft
type: SpecificationReference
type: NamedIndividual
has-link: https://learn.microsoft.com/en-us/sysinternals/downloads/pssuspend
kb-author: Mark Russinovich
kb-organization: Microsoft
kb-reference-of: Process Suspension
kb-reference-title: PsSuspend

Reference - Public Key Pinning Extension for HTTP
type: PatentReference
type: NamedIndividual
has-link: https://datatracker.ietf.org/doc/html/rfc7469
kb-abstract: RFC 7469 describes an HTTP extension that allows web host operators to instruct user agents to remember ('pin') the hosts' cryptographic identities over a period of time. This decreases the risk of MITM attacks due to compromised Certificate Authorities.
kb-author: C. Evans, C. Palmer, R. Sleevi
kb-organization: Internet Engineering Task Force (IETF)
kb-reference-of: Certificate Pinning
kb-reference-title: Public Key Pinning Extension for HTTP

Reference - Qualys Network Passive Sensor Getting Started Guide
type: UserManualReference
type: NamedIndividual
has-link: https://www.qualys.com/passive-scanning-sensor/
kb-abstract: Qualys Passive Scanning Sensor (PS) continuously monitors all network traffic and flags any asset activity. It identifies and profiles devices the moment they connect to the network, including those difficult to scan, corporate owned, brought by employees, and rogue IT. The data is sent immediately to the Qualys Cloud Platform for centralized analysis.
kb-organization: Qualys
kb-reference-of: Hardware Component Inventory
kb-reference-of: Network Node Inventory
kb-reference-title: Qualys Network Passive Sensor Getting Started Guide

Reference - CAR-2013-04-002: Quick execution of a series of suspicious commands - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-04-002/
kb-abstract: Certain commands are frequently used by malicious actors and infrequently used by normal users. By looking for execution of these commands in short periods of time, we can not only see when a malicious user was on the system but also get an idea of what they were doing.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessLineageAnalysis
kb-reference-title: CAR-2013-04-002: Quick execution of a series of suspicious commands

Reference - CAR-2013-07-002: RDP Connection Detection - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-07-002
kb-abstract: The Remote Desktop Protocol (RDP), built in to Microsoft operating systems, allows a user to remotely log in to the desktop of another host. It allows for interactive access of the running windows, and forwards key presses, mouse clicks, etc. Network administrators, power users, and end-users may use RDP for day-to-day operations. From an adversary's perspective, RDP provides a means to laterally move to a new host. Determining which RDP connections correspond to adversary activity can be a difficult problem in highly dynamic environments, but will be useful in identifying the scope of a compromise.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: Remote Terminal Session Detection
kb-reference-title: CAR-2013-07-002: RDP Connection Detection

Reference - RFC 2289 - A One-Time Password System
type: SpecificationReference
type: NamedIndividual
has-link: https://tools.ietf.org/html/rfc2289
kb-organization: Internet Engineering Task Force (IETF)
kb-reference-of: One-time Password
kb-reference-title: A One-Time Password System

Reference - An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks
type: SpecificationReference
type: NamedIndividual
has-link: https://https://datatracker.ietf.org/doc/html/rfc3411
kb-author: D. Harrington, R. Presuhn, B. Wijnen
kb-organization: Internet Engineering Task Force (IETF)
kb-reference-of: Hardware Component Inventory
kb-reference-title: An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks

Reference - RFC 7208: Sender Policy Framework (SPF) for Authorizing Use of Domains in Email - IETF
type: SpecificationReference
type: NamedIndividual
has-link: https://tools.ietf.org/html/rfc7208
kb-abstract: Email on the Internet can be forged in a number of ways. In particular, existing protocols place no restriction on what a sending host can use as the "MAIL FROM" of a message or the domain given on the SMTP HELO/EHLO commands. This document describes version 1 of the Sender Policy Framework (SPF) protocol, whereby Administrative Management Domains (ADMDs) can explicitly authorize the hosts that are allowed to use their domain names, and a receiving host can check such authorization.
kb-author: S. Kitterman
kb-organization: Internet Engineering Task Force (IETF)
kb-reference-of: Transfer Agent Authentication
kb-reference-title: RFC 7208: Sender Policy Framework (SPF) for Authorizing Use of Domains in Email

Reference - RFC 7489: Domain-based Message Authentication, Reporting, and Conformance (DMARC) - IETF
type: SpecificationReference
type: NamedIndividual
has-link: https://tools.ietf.org/html/rfc7489
kb-abstract: Domain-based Message Authentication, Reporting, and Conformance(DMARC) is a scalable mechanism by which a mail-originating organization can express domain-level policies and preferences for message validation, disposition, and reporting, that a mail-receiving organization can use to improve mail handling. Originators of Internet Mail need to be able to associate reliable and authenticated domain identifiers with messages, communicate policies about messages that use those identifiers, and report about mail using those identifiers. These abilities have several benefits: Receivers can provide feedback to Domain Owners about the use of their domains; this feedback can provide valuable insight about the management of internal operations and the presence of external domain name abuse. DMARC does not produce or encourage elevated delivery privilege of authenticated email. DMARC is a mechanism for policy distribution that enables increasingly strict handling of messages that fail authentication checks, ranging from no action, through altered delivery, up to message rejection.
kb-author: M. Kucherawy, E. Zwicky
kb-organization: Internet Engineering Task Force (IETF)
kb-reference-of: Transfer Agent Authentication
kb-reference-title: RFC 7489: Domain-based Message Authentication, Reporting, and Conformance (DMARC)

Reference - RFC 7642: System for Cross-domain Identity Management: Definitions, Overview, Concepts, and Requirements
type: SpecificationReference
type: NamedIndividual
has-link: https://datatracker.ietf.org/doc/html/rfc7642
kb-abstract: The System for Cross-domain Identity Management (SCIM) specification is designed to manage user identity in cloud-based applications and services in a standardized way to enable interoperability, security, and scalability. The specification suite seeks to build upon experience with existing schemas and deployments, placing specific emphasis on simplicity of development and integration, while applying existing authentication, authorization, and privacy models. The intent of the SCIM specification is to reduce the cost and complexity of user management operations by providing a common user schema and extension model, as well as binding documents to provide patterns for exchanging this schema using standard protocols. In essence, make it fast, cheap, and easy to move users in to, out of, and around the cloud.
kb-author: K. LI, B. Khasnabish, A. Nadalin, Z. Zeltsan
kb-organization: IETF
kb-reference-of: Access Modeling
kb-reference-title: RFC7642: System for Cross-domain Identity Management: Definitions, Overview, Concepts, and Requirements

Reference - RPC call interception - Crowdstrike Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20150163109
kb-abstract: A service proxy is described herein. The service proxy is configured to act as an intermediary between a client and a service. The service proxy may observe communications, modify communications, log communications, or the like, particularly so as to enhance the security and reliability of the host device. In some implementations, the service proxy may cooperate with an operating system to take over a named port object. In some implementations, the service proxy may receive messages as an intermediary between the client and the server. In some implementations, the service proxy may attach to a shared memory to intercept communications. In some implementations, the service proxy may be injected into a client process to appear to be the client itself.
kb-author: Ion-Alexandru Ionescu
kb-organization: Crowdstrike Inc
kb-reference-of: RPC Traffic Analysis
kb-reference-title: RPC call interception

Reference - Red Hat Enterprise Linux 8 Security Technical Implementation Guide
type: GuidelineReference
type: NamedIndividual
has-link: https://www.stigviewer.com/stig/red_hat_enterprise_linux_8/
kb-abstract: Red Hat Enterprise Linux 8 Security Guidelines
kb-reference-of: Application Configuration Hardening
kb-reference-title: Red Hat Enterprise Linux 8 Security Technical Implementation Guide

Reference - CAR-2013-03-001: Reg.exe called from Command Shell - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-03-001/
kb-abstract: Registry modifications are often essential in establishing persistence via known Windows mechanisms. Many legitimate modifications are done graphically via regedit.exe or by using the corresponding channels, or even calling the Registry APIs directly. The built-in utility reg.exe provides a command-line interface to the registry, so that queries and modifications can be performed from a shell, such as cmd.exe. When a user is responsible for these actions, the parent of cmd.exe will likely be explorer.exe. Occasionally, power users and administrators write scripts that do this behavior as well, but likely from a different process tree. These background scripts must be learned so they can be tuned out accordingly.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessLineageAnalysis
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2013-03-001: Reg.exe called from Command Shell

Reference - Registry Key Security and Access Rights
type: UserManualReference
type: NamedIndividual
has-link: https://docs.microsoft.com/en-us/windows/win32/sysinfo/registry-key-security-and-access-rights
kb-abstract: The Windows security model enables you to control access to registry keys. For more information about security, see Access-Control Model.
kb-organization: Microsoft
kb-reference-of: User Session Init Config Analysis
kb-reference-title: Registry Key Security and Access Rights

Reference - CAR-2016-04-005: Remote Desktop Logon - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2016-04-005/
kb-abstract: A remote desktop logon, through RDP, may be typical of a system administrator or IT support, but only from select workstations. Monitoring remote desktop logons and comparing to known/approved originating systems can detect lateral movement of an adversary.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: Remote Terminal Session Detection
kb-reference-title: CAR-2016-04-005: Remote Desktop Logon

Reference - CAR-2014-11-005: Remote Registry - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2014-11-005/
kb-abstract: An adversary can remotely manipulate the registry of another machine if the RemoteRegistry service is enabled and valid credentials are obtained. While the registry is remotely accessed, it can be used to prepare a Lateral Movement technique, discover the configuration of a host, achieve Persistence, or anything that aids an adversary in achieving the mission. Like most ATT&CK techniques, this behavior can be used legitimately, and the reliability of an analytic depends on the proper identification of the pre-existing legitimate behaviors. Although this behavior is disabled in many Windows configurations, it is possible to remotely enable the RemoteRegistry service, which can be detected with CAR-2014-03-005. Remote access to the registry can be achieved via * Windows API function RegConnectRegistry * command line via reg.exe * graphically via regedit.exe All of these behaviors call into the Windows API, which uses the NamedPipe WINREG over SMB to handle the protocol information. This network can be decoded with wireshark or a similar sensor, and can also be detected by hooking the API function.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: Administrative Network Activity Analysis
kb-reference-title: CAR-2014-11-005: Remote Registry

Reference - CAR-2014-03-005: Remotely Launched Executables via Services - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2014-03-005/
kb-abstract: There are several ways to cause code to execute on a remote host. One of the most common methods is via the Windows Service Control Manager (SCM), which allows authorized users to remotely create and modify services. Several tools, such as PsExec, use this functionality. When a client remotely communicates with the Service Control Manager, there are two observable behaviors. First, the client connects to the RPC Endpoint Mapper over 135/tcp. This handles authentication, and tells the client what port the endpoint--in this case the SCM--is listening on. Then, the client connects directly to the listening port on services.exe. If the request is to start an existing service with a known command line, the the SCM process will run the corresponding command. This compound behavior can be detected by looking for services.exe receiving a network connection and immediately spawning a child process.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: RPC Traffic Analysis
kb-reference-title: CAR-2014-03-005: Remotely Launched Executables via Services

Reference - CAR-2015-04-002: Remotely Scheduled Tasks via Schtasks - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2015-04-002/
kb-abstract: An adversary can move laterally using the schtasks command to remotely schedule tasks. Although these events can be detected with command line analytics CAR-2013-08-001, it is possible for an adversary to use the API directly, via the Task Scheduler GUI or with a scripting language such as PowerShell. In this cases, an additional source of data becomes necessary to detect adversarial behavior. When scheduled tasks are created remotely, Windows uses RPC (135/tcp) to communicate with the Task Scheduler on the remote machine. Once an RPC connection is established (CAR-2014-05-001), the client communicates with the Scheduled Tasks endpoint, which runs within the service group netsvcs. With packet capture and the right packet decoders or byte-stream based signatures, remote invocations of these functions can be identified. Certain strings can be identifiers of the schtasks, by looking up the interface UUID of ITaskSchedulerService in different formats * UUID 86d35949-83c9-4044-b424-db363231fd0c (decoded) * Hex 49 59 d3 86 c9 83 44 40 b4 24 db 36 32 31 fd 0c (raw) * ASCII IYD@$621 (printable bytes only) This identifier is present three times during the RPC request phase. Any sensor that has access to the byte code as raw, decoded, or ASCII could implement this analytic.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: RPC Traffic Analysis
kb-reference-title: CAR-2015-04-002: Remotely Scheduled Tasks via Schtasks

Reference - Reputation of an entity associated with a content item
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20060253584A1
kb-author: Christopher Dixon, Thomas Pinckney
kb-reference-of: File Hash Reputation Analysis
kb-reference-title: Reputation of an entity associated with a content item

Reference - Revoke a previously issued verifiable credential - Microsoft
type: SpecificationReference
type: NamedIndividual
has-link: https://learn.microsoft.com/en-us/azure/active-directory/verifiable-credentials/how-to-issuer-revoke
kb-author: Barclay Neira, Christer Ljung, Juan Camilo Ruiz, John Flores
kb-organization: Microsoft
kb-reference-of: Credential Revocation
kb-reference-title: Revoke a previously issued verifiable credential

Reference - CAR-2014-03-006: RunDLL32.exe monitoring - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2014-03-006/
kb-abstract: Adversaries may find it necessary to use Dyanamic-link Libraries (DLLs) to evade defenses. One way these DLLs can be "executed" is through the use of the built-in Windows utility RunDLL32, which allows a user to execute code in a DLL, providing the name and optional arguments to an exported entry point. Windows uses RunDll32 legitimately in its normal operation, but with a proper baseline and understanding of the environment, monitoring its usage could be fruitful.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2014-03-006: RunDLL32.exe monitoring

Reference - /SAFESEH (Image has Safe Exception Handlers) - Microsoft Docs
type: UserManualReference
type: NamedIndividual
has-link: https://docs.microsoft.com/en-us/cpp/build/reference/safeseh-image-has-safe-exception-handlers
kb-abstract: When /SAFESEH is specified, the linker will only produce an image if it can also produce a table of the image's safe exception handlers. This table specifies for the operating system which exception handlers are valid for the image.
kb-author: Mike Blome, Saisang Cai, Colin Robertson, Mike Jones, NextTurn, Gordon Hogenson
kb-organization: Microsoft
kb-reference-of: Exception Handler Pointer Validation
kb-reference-title: /SAFESEH (Image has Safe Exception Handlers)

Reference - CAR-2013-05-005: SMB Copy and Execution - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-05-005/
kb-abstract: An adversary needs to gain access to other hosts to move throughout an environment. In many cases, this is a twofold process. First, a file is remotely written to a host via an SMB share (detected by CAR-2013-05-003). Then, a variety of Execution techniques can be used to remotely establish execution of the file or script. To detect this behavior, look for files that are written to a host over SMB and then later run directly as a process or in the command line arguments. SMB File Writes and Remote Execution may happen normally in an environment, but the combination of the two behaviors is less frequent and more likely to indicate adversarial activity. This can possibly extend to more copy protocols in order to widen its reach, or it could be tuned more finely to focus on specific program run locations (e.g. %SYSTEMROOT%\system32) to gain a higher detection rate.
kb-reference-of: IPC Traffic Analysis
kb-reference-title: CAR-2013-05-005: SMB Copy and Execution

Reference - CAR-2013-01-003: SMB Events Monitoring - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-01-003/
kb-abstract: Server Message Block (SMB) is used by Windows to allow for file, pipe, and printer sharing over port 445/tcp. It allows for enumerating, and reading from and writing to file shares for a remote computer. Although it is heavily used by Windows servers for legitimate purposes and by users for file and printer sharing, many adversaries also use SMB to achieve Lateral Movement. Looking at this activity more closely to obtain an adequate sense of situational awareness may make it possible to detect adversaries moving between hosts in a way that deviates from normal activity. Because SMB traffic is heavy in many environments, this analytic may be difficult to turn into something that can be used to quickly detect an APT. In some cases, it may make more sense to run this analytic in a forensic fashion. Looking through and filtering its output after an intrusion has been discovered may be helpful in identifying the scope of compromise. Output Description: The source, destination, content, and time of each event.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: IPC Traffic Analysis
kb-reference-title: CAR-2013-01-003: SMB Events Monitoring

Reference - CAR-2013-05-003: SMB Write Request - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-05-003/
kb-abstract: As described in CAR-2013-01-003, SMB provides a means of remotely managing a file system. Adversaries often use SMB to move laterally to a host. SMB is commonly used to upload files. It may be used for staging in Exfiltration or as a Lateral Movement technique. Unlike SMB Reads, SMB Write requests typically require an additional level of access, resulting in less activity. Focusing on SMB Write activity narrows the field to find techniques that actively change remote hosts, instead of passively reading files.
kb-reference-of: IPC Traffic Analysis
kb-reference-title: CAR-2013-05-003: SMB Write Request

Reference - SNMP - Network Auto-Discovery
type: UserManualReference
type: NamedIndividual
has-link: https://docs.device42.com/auto-discovery/network-auto-discovery/
kb-abstract: SNMP, or Simple Network Management Protocol, is a protocol and a standard that is supported by just about any managed network-connected hardware. There are three widely deployed versions: SNMP v1, v2c (most commonly used), and v3. SNMP is typically utilized read-only, but supports read/write, and by default utilized port 161. SNMP exposes management data in the form of ‘variables’, which are organized in what is known as a MIB, or “Management Information Base”. A MIB essentially describes the variables available on a given system, each of which can be remotely queried via SNMP.
kb-organization: Device 42
kb-reference-of: Active Logical Link Mapping
kb-reference-title: SNMP - Network Auto Discovery

Reference - Secure caching of server credentials - Dell Products LP
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20100107241A1
kb-abstract: A credential caching system includes receiving a set of authentication credentials, storing the set of authentication credentials in a credential cache memory, wherein the credential cache memory is coupled with a management controller, and supplying the set of authentication credentials for automatic authentication during a reset or reboot. In the event of a security breach, the credential caching system clears the set of authentication credentials from the credential cache memory so that the set of authentication credentials may no longer be used for a reset or reboot.
kb-author: Muhammed K. JaberMukund P. KhatriKevin T. MarksDon Charles McCall
kb-organization: Dell Products LP
kb-reference-of: Authentication Cache Invalidation
kb-reference-title: Secure caching of server credentials

Reference - Security Architecture for the Internet Protocol
type: SpecificationReference
type: NamedIndividual
has-link: https://datatracker.ietf.org/doc/html/rfc1825
kb-abstract: This memo describes the security mechanisms for IP version 4 (IPv4) and IP version 6 (IPv6) and the services that they provide. Each security mechanism is specified in a separate document. This document also describes key management requirements for systems implementing those security mechanisms. This document is not an overall Security Architecture for the Internet and is instead focused on IP-layer security.
kb-author: Randall Atkinson
kb-reference-of: EncryptedTunnels
kb-reference-title: Security Architecture for the Internet Protocol

Reference - Security System with Methodology for Interprocess Communication Control - Check Point Software Tech Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20040199763
kb-abstract: A security system with methodology for interprocess communication control is described. In one embodiment, a method for controlling interprocess communication is provided that includes steps of: defining rules indicating which system services a given application can invoke; trapping an attempt by a particular application to invoke a particular system service; identifying the particular application that is attempting to invoke the particular system service; and based on identity of the particular application and on the rules indicating which system services a given application can invoke, blocking the attempt when the rules indicate that the particular application cannot invoke the particular system service.
kb-author: Gregor Freund
kb-mitre-analysis: This patent describes a technique for monitoring interprocess communications to prevent malicious applications from requesting system services. API calls are monitored to detect malicious applications attempting to open a communication channel (port) to access system services or sending messages to other applications using user32 API functions. These requests are examined against an external rules engine or whitelist, matches deny or block access and produce an error message such as connection refused or service not available.
kb-organization: Check Point Software Tech Inc
kb-reference-of: IPC Traffic Analysis
kb-reference-title: Security System with Methodology for Interprocess Communication Control

Reference - Security vulnerability information aggregation
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US8544098B2
kb-abstract: Security vulnerability information aggregation techniques are disclosed. Vulnerability information associated with one or more security vulnerabilities is obtained from multiple sources and aggregated into respective unified vulnerability definitions for the one or more security vulnerabilities. Aggregation may involve format conversion, content aggregation, or both in some embodiments. Unified vulnerability definitions may be distributed to vulnerability information consumers in accordance with consumer-specific policies. Storage of vulnerability information received from the sources may allow the aggregation process to be performed on existing vulnerability information “retro-actively”. Related data structures and Graphical User Interfaces (GUIs) are also disclosed.
kb-author: Christophe Gustave, Stanley Taihai Chow, Douglas Wiemer
kb-organization: Nokia Technologies Oy
kb-reference-of: Asset Vulnerability Enumeration
kb-reference-title: Security vulnerability information aggregation

Reference - CAR-2014-02-001: Service Binary Modifications - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2014-02-001/
kb-abstract: Adversaries may modify the binary file for an existing service to achieve Persistence while potentially evading defenses. If a newly created or modified runs as a service, it may indicate APT activity. However, services are frequently installed by legitimate software. A well-tuned baseline is essential to differentiating between benign and malicious service modifications.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: Service Binary Verification
kb-reference-title: CAR-2014-02-001: Service Binary Modifications

Reference - CAR-2013-09-005: Service Outlier Executables - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-09-005/
kb-abstract: New executables that are started as a service are suspicious. This analytic looks for anomalous service executables.
kb-reference-of: ProcessLineageAnalysis
kb-reference-title: CAR-2013-09-005: Service Outlier Executables

Reference - CAR-2014-07-001: Service Search Path Interception - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2014-07-001/
kb-abstract: According to ATT&CK, an adversary may escalate privileges by intercepting the search path for legitimately installed services. As a result, Windows will launch the target executable instead of the desired binary and command line. This can be done when there are spaces in the binary path and the path is unquoted. Search path interception should never happen legitimately and will likely be the result of an adversary abusing a system misconfiguration. With a few regular expressions, it is possible to identify the execution of services with intercepted search paths.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessLineageAnalysis
kb-reference-title: CAR-2014-07-001: Service Search Path Interception

Reference - CAR-2014-05-002: Services launching Cmd - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
kb-abstract: Windows runs the Service Control Manager (SCM) within the process services.exe. Windows launches services as independent processes or DLL loads within a svchost.exe group. To be a legitimate service, a process (or DLL) must have the appropriate service entry point SvcMain. If an application does not have the entry point, then it will timeout (default is 30 seconds) and the process will be killed. To survive the timeout, adversaries and red teams can create services that direct to cmd.exe with the flag /c, followed by the desired command. The /c flag causes the command shell to run a command and immediately exit. As a result, the desired program will remain running and it will report an error starting the service. This analytic will catch that command prompt instance that is used to launch the actual malicious executable. Additionally, the children and descendants of services.exe will run as a SYSTEM user by default. Thus, services are a convenient way for an adversary to gain Persistence and Privilege Escalation.
kb-reference-of: ProcessLineageAnalysis
kb-reference-title: CAR-2014-05-002: Services launching Cmd

Reference - CAR-2013-02-008: Simultaneous Logins on a Host - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-02-008/
kb-abstract: Multiple users logged into a single machine at the same time, or even within the same hour, do not typically occur in networks we have observed. Logon events are Windows Event Code 4624 for Windows Vista and above, 518 for pre-Vista. Logoff events are 4634 for Windows Vista and above, 538 for pre-Vista. Logon types 2, 3, 9 and 10 are of interest. For more details see the Logon Types table on Microsoft's Audit Logon Events page.
kb-author: MITRE
kb-reference-of: Authentication Event Thresholding
kb-reference-title: CAR-2013-02-008: Simultaneous Logins on a Host

Reference - Sinkholing bad network domains by registering the bad network domains on the internet - Palo Alto Networks Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20160381065A1
kb-abstract: Techniques for sinkholing bad network domains by registering the bad network domains on the Internet are provided. In some embodiments, sinkholing bad network domains by registering the bad network domains on the Internet includes determining a network domain is a bad network domain, in which the bad network domain is determined to be associated with an identified malware (e.g., malware that has been identified and has been determined to be associated with the bad domain), and the bad network domain is sinkholed by registering the bad network domain with a sinkholed IP address; and identifying a host that is infected with the identified malware based on an attempt by the host to connect to the sinkholed IP address.
kb-author: Huagang Xie; Wei Xu; Nir Zuk
kb-mitre-analysis: This patent describes a technique to identify bad domains that are associated with malware and sinkhole the bad domain. Bad domains are identified by receiving malware samples and executing the malware sample in a virtual execution environment to identify network domains that the malware sample attempts to connect to during execution. Network domains that are identified during malware execution are then generated into signatures to identity bad domains for other hosts. Once identified, the bad domains are sinkholed by translating the domain to a valid IP address that is associated with a device controlled by a cloud security provider.
kb-organization: Palo Alto Networks Inc
kb-reference-of: DNS Traffic Analysis
kb-reference-title: Sinkholing bad network domains by registering the bad network domains on the internet

Reference - CAR-2019-04-003: Squiblydoo - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2019-04-003/
kb-abstract: Squiblydoo is a specific usage of regsvr32.dll to load a COM scriptlet directly from the internet and execute it in a way that bypasses application whitelisting. It can be seen by looking for regsvr32.exe executions that load the scrobj.dll (which execute the COM scriptlet) or, if that is too noisy, those that also load content directly via HTTP or HTTPS.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2019-04-003: Squiblydoo

Reference - Security Technologies: Stack Smashing Protection (StackGuard) - Red Hat
type: InternetArticleReference
type: NamedIndividual
has-link: https://access.redhat.com/blogs/766093/posts/3548631
kb-abstract: In our previous blog, we saw how arbitrary code execution resulting from stack-buffer overflows can be partly mitigated by marking segments of memory as non-executable, a technology known as Execshield. However stack-buffer overflow exploits can still effectively overwrite the function return address, which leads to several interesting exploitation techniques like ret2libc, ret2gets, and ret2plt. With all of these methods, the function return address is overwritten and attacker controlled code is executed when the program control transfers to overwritten address on the stack.
kb-author: Huzaifa Sidhpurwala
kb-organization: Red Hat
kb-reference-of: Stack Frame Canary Validation
kb-reference-title: Security Technologies: Stack Smashing Protection (StackGuard)

Reference - StreamingPhish
type: TechniqueReference
type: NamedIndividual
has-link: https://github.com/wesleyraptor/streamingphish
kb-abstract: This is a utility that uses supervised machine learning to detect phishing domains from the Certificate Transparency log network.
kb-author: Wes Connell
kb-organization: Uber
kb-reference-of: Passive Certificate Analysis
kb-reference-title: StreamingPhish

Reference - Supply chain cyber-deception - Cymmetria, Inc.
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/WO2017187379A1
kb-abstract: A computer implemented method of detecting unauthorized access to a protected network from external endpoints, comprising monitoring, at a protected network, communication with one or more external endpoints using one or more access clients to access one or more of a plurality of resources of the protected networked, where one or more deception resources created in the protected network map one or more of the plurality of resources, detecting usage of data contained in one or more of a plurality of deception data objects deployed in the one or more access clients by monitoring an interaction triggered by one or more of the deception data objects with the one or more deception resources when used and identifying one or more potential unauthorized operations based on analysis of the detection.
kb-author: Gadi EVRON; Dean SYSMAN; Imri Goldberg; Shmuel Ur
kb-organization: Cymmetria, Inc.
kb-reference-of: Decoy File
kb-reference-title: Supply chain cyber-deception

Reference - CAR-2013-07-001: Suspicious Arguments - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-07-001/
kb-abstract: Malicious actors may rename built-in commands or external tools, such as those provided by SysInternals, to better blend in with the environment. In those cases, the file path name is arbitrary and may blend in well with the background. If the arguments are closely inspected, it may be possible to infer what tools are running and understand what an adversary is doing. When any legitimate software shares the same command lines, it must be whitelisted according to the expected parameters.
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2013-07-001: Suspicious Arguments

Reference - CAR-2013-05-002: Suspicious Run Locations - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-05-002/
kb-abstract: In Windows, files should never execute out of certain directory locations. Any of these locations may exist for a variety of reasons, and executables may be present in the directory but should not execute. As a result, some defenders make the mistake of ignoring these directories and assuming that a process will never run from one. There are known TTPs that have taken advantage of this fact to go undetected. This fact should inform defenders to monitor these directories more closely, knowing that they should never contain running processes.
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2013-05-002: Suspicious Run Locations

Reference - Synchronizing a honey network configuration to reflect a target network environment - Palo Alto Networks Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20170019425A1
kb-abstract: Techniques for synchronizing a honey network configuration to reflect a target network environment are disclosed. In some embodiments, a system for synchronizing a honey network configuration to reflect a target network environment includes a device profile data store that includes a plurality of attributes of each of a plurality of devices in the target network environment; a virtual machine (VM) image library that includes one or more VM images; and a virtual clone manager executed on a processor that instantiates a virtual clone of one or more devices in the target enterprise network using a VM image selected from the VM image library that is customized based on one or more attributes for a target device in the device profile data store.
kb-author: Taylor Ettema, Huagang Xie
kb-organization: Palo Alto Networks Inc
kb-reference-of: Integrated Honeynet
kb-reference-title: Synchronizing a honey network configuration to reflect a target network environment

Reference - System and a method for identifying the presence of malware and ransomware using mini-traps set at network endpoints - Fidelis Cybersecurity Solutions Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US9807115B2/en
kb-abstract: A system for identifying the presence of ransomware on a network, including a plurality of resources, interconnected to form a network and at least one decoy drive.The decoy drive includes a plurality of decoy files to be encrypted by the ransomware, and wherein the decoy drive continuously provides the decoy files thereby continuously occupying the ransomware.
kb-author: Doron Kolton; Rami Mizrahi; Omer Zohar; Benny Ben-Rabi; Alex Barbalat; Shlomi Gabai
kb-organization: Fidelis Cybersecurity Solutions Inc
kb-reference-of: Decoy File
kb-reference-title: System and a method for identifying the presence of malware and ransomware using mini-traps set at network endpoints

Reference - System and method for detecting homoglyph attacks with a siamese convolutional neural network - Endgame Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20190019058A1/
kb-abstract: The present invention utilizes computer vision technologies to identify potentially malicious URLs and executable files in a computing device. In one embodiment, a Siamese convolutional neural network is trained to identify the relative similarity between image versions of two strings of text. After the training process, a list of strings that are likely to be utilized in malicious attacks are provided (e.g., legitimate URLs for popular websites). When a new string is received, it is converted to an image and then compared against the image of list of strings. The relative similarity is determined, and if the similarity rating falls below a predetermined threshold, an alert is generated indicating that the string is potentially malicious.
kb-author: Jonathan Woodbridge; Anjum Ahuja; Daniel Grant
kb-mitre-analysis: This patent describes a mechanism to detect homoglyph strings that involves training a Siamese convolutional neural network to compare images of strings. Strings of legitimate URLs for websites along with known suspicious stings are converted to images during the training process to create an index. New strings are converted to images and then compared to the index for similarity, if the string deviates beyond a threshold an alert is triggered.
kb-organization: Endgame Inc
kb-reference-of: Homoglyph Detection
kb-reference-title: System and method for detecting homoglyph attacks with a siamese convolutional neural network

Reference - System and method for detecting malware injected into memory of a computing device - Endgame Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20190018958A1/en
kb-abstract: In the embodiments described herein, a malicious code detection module identifies potentially malicious instructions in memory of a computing device. The malicious code detection module examines the call stack for each thread running within the operating system of the computing device. Within each call stack, the malicious code detection module identifies the originating module for each stack frame and determines whether the originating module is backed by an image on disk. If an originating module is not backed by an image on disk, the thread containing that originating module is flagged as potentially malicious, execution of the thread optionally is suspended, and an alert is generated for the user or administrator.
kb-author: Joseph W. Desimone
kb-organization: Endgame Inc
kb-reference-of: Process Code Segment Verification
kb-reference-title: System and method for detecting malware injected into memory of a computing device

Reference - System and Method for Detection of a Change in Behavior in the Use of a Website Through Vector Velocity Analysis - Silver Tail Systems
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20100235909A1/en
kb-abstract: A system and software for identifying the change of user behavior on a website includes analyzing the actions of users on a website comprising a plurality of fields or input parameters that identify the actions performed on a website including fields related to previous actions by that user or other users of the website. The fields or input parameters are represented in a vector format where vectors represent different sessions of activity on the website, pages of the website, users of the website, or other attributes of the use of a website. Analysis is performed to determine if new sessions are similar or dissimilar to previously known sessions and if a session is converging or diverging from known sessions based on the velocity and direction of the velocity of the vectors in the vector space.
kb-author: Mike Eynon; Laura Mather; Erik Westland; Jim Lloyd
kb-mitre-analysis: This patent describes a technique for detecting fraudulent behavior on a website. Website behavior is mapped to build a multidimensional representation of user actions on a website that is updated as additional actions are recorded. Example actions on a website that are recorded include clicks by a user on the website and entering data into forms. Current behavior is compared against baseline recorded behavior and if current behavior deviates above a threshold, an alert is issued.
kb-organization: Silver Tail Systems
kb-reference-of: Web Session Activity Analysis
kb-reference-title: System and Method for Detection of a Change in Behavior in the Use of a Website Through Vector Velocity Analysis

Reference - System and method for internet security - Cylance Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20120117644A1
kb-abstract: A computer implemented method for preventing SQL injection attacks comprises intercepting a web request associated with a web service at a first software hook in a first web service execution context, persisting at least a portion of the intercepted web request in a storage location associated with the first software hook and accessible to at least one additional execution context, intercepting a database query generated by at least one web service processing operation at a second software hook associated with the execution of the query, wherein the query is generated in response to the intercepted web request and the second hook retrieves the persisted portion of the intercepted web request, comparing a portion of the persisted portion of the intercepted web request with at least a portion of the intercepted database query, and determining, prior to the query being executed, whether the query corresponds to a potential SQL injection attack.
kb-author: Derek A. Soeder
kb-mitre-analysis: This patent describes a technique for detecting SQL injection attacks. Software hooks are installed in a web service or application to intercept function calls, events, or messages that are passed between software components. Intercepted database queries associated with a web request are analyzed character by character and if it contains a character that would modify the syntax the query is rejected or sanitized. Security rules and policies may also determine rejection. For example, an administrator or developer may implement a rule that rejects any database query that is excessively long or that contains a particular string, such as "Xp cmdshell".
kb-organization: Cylance Inc
kb-reference-of: Database Query String Analysis
kb-reference-title: System and method for internet security

Reference - System and Method for Network Security Including Detection of Attacks Through Partner Websites - EMC IP Holding Co LLC
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20110302653A1/en
kb-abstract: A computer readable storage medium has instructions for execution on a computer. The instructions monitor transactions between a server and a set of clients. An evaluation of session indicators associated with the transactions is performed. Individual sessions between the server and individual clients of the plurality of clients are isolated in response to the evaluation.
kb-author: Matt Frantz; Andreas Wittenstein; Mike Eynon; Laura Mather; Jim Lloyd; James Schumacher; Duane Murphy
kb-mitre-analysis: This patent describes a technique for detecting man-in-the-browser attacks. Current user session data is compared with the average user session that is based on collected data representing average values across all user sessions over a data-collection period. User session data includes average time between clicks and the order in which website pages are viewed. The comparisons are combined to generate a score that indicates the likelihood that the current session is a man-in-the-browser attack.
kb-organization: EMC IP Holding Co LLC
kb-reference-of: Web Session Activity Analysis
kb-reference-title: System and Method for Network Security Including Detection of Attacks Through Partner Websites

Reference - System and Method for Process Hollowing Detection - Carbon Black Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20170272462A1
kb-abstract: A method and system for remediating a process hollowing intrusion on a user device comprising detecting a process starting on the user device, preparing the process to monitor Application Programming Interface (API) calls between the process and an operating system of the user device, determining whether the process is associated with a process hollowing intrusion based on information associated with the process and/or the API calls, and executing security policies against the process associated with the process hollowing intrusion. In examples, it is determined whether the child process is associated with a process hollowing intrusion in response to determining whether one or more API calls associated with known process hollowing intrusions modify executable memory of and/or modify an entry point address of the child process.
kb-author: Jeffrey Albin Kraemer, Paul Matthew Drapeau
kb-organization: Carbon Black Inc
kb-reference-of: Process Self-Modification Detection
kb-reference-title: System and Method for Process Hollowing Detection

Reference - System and method for providing an actively invalidated client-side network resource cache - IMVU
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US9578081B2/en
kb-abstract: A system and method for providing an actively invalidated client-side network resource cache are disclosed. A particular embodiment includes: a client configured to request, for a client application, data associated with an identifier from a server; the server configured to provide the data associated with the identifier and to establish a queue associated with the identifier at a scalable message queuing system, the client being configured to subscribe to the queue at the scalable message queuing system to receive invalidation information associated with the data; the server being further configured to signal the queue of an invalidation event associated with the data; the scalable message queuing system being configured to convey information indicative of the invalidation event to the client; and the client being further configured to re-request the data associated with the identifier from the server upon receipt of the information indicative of the invalidation event.
kb-author: Jon Watte
kb-organization: IMVU
kb-reference-of: Authentication Cache Invalidation
kb-reference-title: System and method for providing an actively invalidated client-side network resource cache

Reference - System and method for providing anonymous remailing and filtering of electronic mail - Nokia
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/JPH11161574A
kb-abstract: To make anonymous a sender name present on an actual transmission source address by including an alias transmission source address substitution unit and removing the actual transmission source address from an electronic mail message. SOLUTION: A hash value of the destination address of an electronic mail message is calculated (S330). Then, (n) blank bytes are added to a compressed actual transmission source address (S340). The true length of the actual transmission source address is hidden by adding blank bytes. Further, a 2nd bit field is added to a secret key saved locally in a remailer, and an extended secret key characteristic of the destination address is generated. Then, the compressed actual transmission source address is ciphered according to the data ciphering standards using the extended secret key characteristic of the destination address as a cipher key (S350). Further, the 2nd bit field is added to the ciphered and compressed actual transmission source address (S360).
kb-author: Eran Gabber, Phillip B Gibbons, David Morris Kristol, Yossi Matias, Alain J Mayer
kb-organization: Nokia of America Corp
kb-reference-of: Email Filtering
kb-reference-title: System and method for providing anonymous remailing and filtering of electronic mail

Reference - System and method for scanning remote services to locate stored objects with malware
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US11368475B1/
kb-abstract: A system and method for retrieval and analysis of stored objects for malware is described. The method involves receiving a scan request message from a customer to conduct analytics on one or more objects stored within a third-party controlled service. In response to receipt of the scan request message, the system generates a redirect message. The redirect message redirects the customer to an authentication portal of the third-party controlled service operating as a logon page and configures receipt by the system of access credentials for the third-party controlled service upon verification of the customer. Using the access credentials, the system is able to retrieve the one or more objects using the access credentials and performing analytics on each object of the one or more objects to classify each object as malicious or benign.
kb-author: Sai Vashisht
kb-organization: Mandiant Inc, FireEye Security Holdings US LLC
kb-reference-of: Email Removal
kb-reference-title: System and method for scanning remote services to locate stored objects with malware

Reference - System and method for validating in-memory integrity of executable files to identify malicious activity - Endgame Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20190018962A1/en
kb-abstract: In the embodiments described herein, a malicious code detection module identifies potentially malicious instructions in volatile memory of a computing device before the instructions are executed. The malicious code detection module identifies an executable file, such as an .exe file, in memory, validates one or more components of the executable file against the same file stored in non-volatile storage, and issues an alert if the validation fails.
kb-author: Joseph W. Desimone
kb-organization: Endgame Inc
kb-reference-of: Process Code Segment Verification
kb-reference-title: System and method for validating in-memory integrity of executable files to identify malicious activity

Reference - System and method for vulnerability risk analysis
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US9317692B2
kb-abstract: Embodiments of the present invention are directed to a method and system for automated risk analysis. The method includes accessing host configuration information of a host and querying a vulnerability database based on the host configuration information. The method further includes receiving a list of vulnerabilities and accessing a plurality of vulnerability scores. The list of vulnerabilities corresponds to vulnerabilities of the host. Vulnerabilities can be removed from the list based on checking for installed fixes corresponding to vulnerability. A composite risk score can then be determined for the host a nd each software product of the host based on the plurality of vulnerability scores. An aggregate risk score can then be determined for the host and each software product of the host based on the plurality of vulnerability scores.
kb-author: Matthew Cruz Elder, Darrell Martin Kienzle, Pratyusa K. Manadhata, Ryan Kumar Persaud
kb-organization: CA Inc
kb-reference-of: Asset Vulnerability Enumeration
kb-reference-title: System and method for vulnerability risk analysis

Reference - System and methods thereof for causality identification and attributions determination of processes in a network - Palo Alto Networks IncCyber Secdo Ltd
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20170195350A1/en
kb-abstract: A system is used for detection of advanced persistent and non-persistent threats in a computerized environment. The system is connected to a plurality of user devices coupled to an enterprise's network. The system receives via an interface an electronic notification of at least one event in the operating system of the computer. The system then analyzes the at least one event. The system then generates a causality chain for the at least one event respective of the analysis. The causality chain comprises all the threads that attributed to the at least one event in a chronological order. The system then identifies a main thread that started the causality chain that led to the at least one event. Then, the system determines whether the main thread is associated with malicious software. Upon determination that the main thread is associated with malicious software, the causality chain is marked as infected.
kb-author: Gil BARAK
kb-mitre-analysis: This patent describes detecting malicious processes on a host. Agents are deployed on hosts that monitor all initiated processes and determine whether a process was initiated at boot or initiated by another process. If not initiated at boot or by another process, the process is identified as suspicious and an alert is triggered.
kb-organization: Palo Alto Networks IncCyber Secdo Ltd
kb-reference-of: ProcessLineageAnalysis
kb-reference-title: System and methods thereof for causality identification and attributions determination of processes in a network

Reference - System and methods thereof for identification of suspicious system processes - Palo Alto Networks Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20170286683A1/en
kb-abstract: A computerized method for identification of suspicious processes executing on an end-point device communicatively connected to network, the network communicatively connected to a server, the method comprising receiving, by the server, a record of at least one process, initiated by and executing on by the end-point device. One or more parameters associated with the at least one process are identified. A first time pointer is identified corresponding to the identified one or more parameters, a first time pointer. A second time pointer at which a user associated with the end-point device initiated a user dependent process is identified. Whether the second time pointer occurred before the first time pointer is identified. It is determined whether the at least one process was initiated by the user based on identification of user dependent processes and corresponding attribution. An action is performed based on the above determination.
kb-author: Gil BARAK
kb-mitre-analysis: The patent describes detecting malicious processes by identifying the order of process initiation. The start of a user initiated process (user query, opening an application, etc.) is compared with the start of processes initiated by the device (ex. during boot). In addition, a determination is made on whether processes are not initiated by a user by examining process parameters such as type of process, its creator, source, etc. If it is determined that a user initiated process was started before a process initiated by the device and a process was not initiated by the user, the process is marked as suspicious.
kb-organization: Palo Alto Networks Inc
kb-reference-of: ProcessLineageAnalysis
kb-reference-title: System and methods thereof for identification of suspicious system processes

Reference-SystemAndMethodsThereofForLogicalIdentificationOfMaliciousThreatsAcrossAPluralityOfEnd-pointDevicesCommunicativelyConnectedByANetwork PaloAltoNetworksIncCyberSecdoLtd
type: PatentReference
type: NamedIndividual
label: Reference - System and methods thereof for logical identification of malicious threats across a plurality of end-point devices (epd) communicatively connected by a network - Palo Alto Networks IncCyber Secdo Ltd
has-link: https://patents.google.com/patent/US20180373870A1/en
kb-abstract: A computerized method for logical identification of malicious threats across a plurality of end-point devices (EPD) communicatively connected by a network, comprising collecting over the network an identifier associated with each file of a plurality of files, wherein each file of the plurality of files is installed on at least one of the plurality of EPDs and wherein the identifier is the same for each like file of the plurality of file. Information associated with an identified subset of files is collected, wherein the information indicates at least a time at which the at least one file was installed on one or more of the plurality of EPDs and the way the at least one file spread within the network. The collected information is analyzed according to a set of predetermined computerized investigation rules. The analysis is used to determine whether at least a file of the identified subset files is a suspicious file.
kb-author: Gil BARAK
kb-mitre-analysis: This patent describes detecting suspicious files using file metadata such as the prevalence of the file deployed on the network, file installation times, and how the file was spread within the network. The combination of these factors are used to determine a risk score of the file and if below a threshold, sends an alert.
kb-organization: Palo Alto Networks IncCyber Secdo Ltd
kb-reference-of: FileContentRules
kb-reference-title: System and methods thereof for logical identification of malicious threats across a plurality of end-point devices (epd) communicatively connected by a network

Reference - System and methods thereof for preventing ransomware from encrypting data elements stored in a memory of a computer-based system - Palo Alto Networks Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20170308711A1/en
kb-abstract: A computerized method for preventing ransomware from encrypting data elements stored in a memory of a computer-based system, the method comprising identifying at least one identifier for a data element, wherein the at least one identifier indicates at least a position of the data element within the memory. An optimal number of virtual traps is determined for the data element corresponding to the at least one identifier. An optimal position for each of the virtual traps is determined corresponding to the at least one identifier. The virtual traps are send to the determined optimal position within the memory.
kb-author: Gil BARAK
kb-organization: Palo Alto Networks Inc
kb-reference-of: Decoy File
kb-reference-title: System and methods thereof for preventing ransomware from encrypting data elements stored in a memory of a computer-based system

Reference - System for detecting threats using scenario-based tracking of internal and external network traffic - VECTRA NETWORKS Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20160191563A1
kb-abstract: Disclosed is an improved approach to implement a system and method for detecting insider threats, where models are constructed that is capable of defining what constitutes the normal behavior for any given hosts and quickly find anomalous behaviors that could constitute a potential threat to an organization. The disclosed approach provides a way to identify abnormal data transfers within and external to an organization without the need for individual monitoring software on each host, by leveraging metadata that describe the data exchange patterns observed in the network.
kb-author: Nicolas BEAUCHESNE; David Lopes Pegna
kb-mitre-analysis: Determination of anomalous data transfers is performed over a given time period. For example, a check of a pull vs. push data ratio can be established over a specific time period, e.g., over a three-hour period, over a one day period, over a one week period, etc. The system can also establish a baseline behavior for data exchange for each host in terms of pull vs. push data ratio for each resource contacted by the host. Network packet capture data is collected and metadata is extracted. Aggregate data push/pull information from the metadata is then analyzed for a given host versus specific client to server relationships. This technique can potentially catch lateral data transfers, and may have filtering on alerting logic to only raise alarms when external hosts receive large data transfers.
kb-organization: VECTRA NETWORKS Inc
kb-reference-of: Per Host Download-Upload Ratio Analysis
kb-reference-title: System for detecting threats using scenario-based tracking of internal and external network traffic

Reference - System for implementing threat detection using threat and risk assessment of asset-actor interactions - VECTRA NETWORKS Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20160191559A1
kb-abstract: Disclosed is an approach to detect insider threats, by tracking unusual access activity for a specific user or computer with regard to accessing key assets over time. In this way, malicious activity and the different preparation phases of attacks can be identified.
kb-author: Himanshu Mhatre; David Lopes Pegna; Oliver Brdiczka
kb-mitre-analysis: The patent describes an insider threat detection system that analyzes packets sent within a network to identify and isolate malicious behavior. Current network traffic is collected and developed into a baseline that establishes the amount of data sent and received between a specific asset and a host. Current data transfer values are then compared with the baseline to identify anomalies.
kb-organization: VECTRA NETWORKS Inc
kb-reference-of: User Data Transfer Analysis
kb-reference-title: System for implementing threat detection using threat and risk assessment of asset-actor interactions

Reference - Systems and methods for detecting credential theft - Symantec Corp
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US10162962B1
kb-abstract: The disclosed computer-implemented method for detecting credential theft may include (i) monitoring a secured computing system's credential store that may include at least one sensitive credential that may be used to facilitate authentication of a user that is attempting to access the secured computing system, (ii) gathering, while monitoring the credential store, primary evidence of an attempted theft of the sensitive credential from the credential store, (iii) gathering corroborating evidence of the attempted theft of the sensitive credential, and (iv) performing a security action in response to gathering the primary evidence and the corroborating evidence of the attempted theft. The primary evidence of the attempted theft of the sensitive credential may include evidence of any suspicious access of the sensitive credential from the credential store that occurs outside of a procedure of authenticating the user. Various other methods, systems, and computer-readable media are also disclosed.
kb-author: Adam Glick; Brian Schlatter; Feng Li; Akshata Krishnamoorthy Rao
kb-organization: Symantec Corp
kb-reference-of: Credential Compromise Scope Analysis
kb-reference-title: Systems and methods for detecting credential theft

Reference - TCG Trusted Attestation Protocol Use Cases for TPM Families 1.2 and 2.0 and DICE
type: SpecificationReference
type: NamedIndividual
has-link: https://trustedcomputinggroup.org/wp-content/uploads/TCG_TNC_TAP_Use_Cases_v1r0p35_published.pdf
kb-reference-title: TCG Trusted Attestation Protocol Use Cases for TPM Families 1.2 and 2.0 and DICE

Reference - TPM 2.0 Library Specification - Trusted Computing Group, Incorporated
type: SpecificationReference
type: NamedIndividual
has-link: https://trustedcomputinggroup.org/resource/tpm-library-specification/
kb-abstract: This specification defines the Trusted Platform Module (TPM) a device that enables trust in computing platforms in general. It is broken into parts to make the role of each part clear. All parts are required in order to constitute a complete standard. For a complete definition of all requirements necessary to build a TPM, the designer will need to use the appropriate platform-specific specification to understand all of the requirements for a TPM in a specific application or make appropriate choices as an implementer. Those wishing to create a TPM need to be aware that this specification does not provide a complete picture of the options and commands necessary to implement a TPM. To implement a TPM the designer needs to refer to the relevant platform-specific specification to understand the options and settings required for a TPM in a specific type of platform or make appropriate choices as an implementer.
kb-author: Trusted Computing Group
kb-organization: Trusted Computing Group, Incorporated
kb-reference-of: TPMBootIntegrity
kb-reference-title: TPM 2.0 Library Specification

Reference - Tamper proof mutating software - ARXAN TECHNOLOGIES Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US9262600B2/en
kb-abstract: System and method is disclosed for protecting client software running on a client computer from tampering using a secure server. Prior to or independent of executing the client software, the system integrates self-protection into the client software; removes functions from the client software for execution on the server; develops client software self-protection updates; and periodically distributes the updates. During execution of the client software, the system receives an initial request from the client computer for execution of the removed function; verifies the initial request; and cooperates with the client computer in execution of the client software if verification is successful. If verification is unsuccessful, the system can attempt to update the client software on the client computer; and require a new initial request. Client software can be updated on occurrence of a triggering event. Communications can be encrypted, and the encryption updated. Authenticating checksums can be used for verification.
kb-author: Kevin Dale Morgan
kb-organization: ARXAN TECHNOLOGIES Inc
kb-reference-of: Process Code Segment Verification
kb-reference-title: Tamper proof mutating software

Reference - Technical Specifications for Construction and Management of Sensitive Compartmented Information Facilities
type: SpecificationReference
type: NamedIndividual
has-link: https://www.dni.gov/files/Governance/IC-Tech-Specs-for-Const-and-Mgmt-of-SCIFs-v15.pdf
kb-author: National Counterintelligence and Security Center
kb-reference-of: RF Shielding
kb-reference-title: Technical Specifications for Construction and Management of Sensitive Compartmented Information Facilities

Reference - Tenable Passive Network Monitoring
type: InternetArticleReference
type: NamedIndividual
has-link: https://www.tenable.com/sites/default/files/solution-briefs/SB-Passive-Network-Monitoring.pdf
kb-abstract: Tenable Nessus® Network Monitor (NNM), a passive monitoring sensor, continuously discovers active assets on the network and assesses them for vulnerabilities. NNM is based on patented network discovery and vulnerability analysis technology that continuously monitors and profiles non-intrusively. It monitors IPv4, IPv6 and mixed network traffic at the packet layer to determine topology, services and vulnerabilities.
kb-organization: Tenable
kb-reference-of: Direct Physical Link Mapping
kb-reference-of: Passive Logical Link Mapping
kb-reference-title: Tenable Passive Network Monitoring

Reference - Testing Metrics for Password Creation Policies by Attacking Large Sets of Revealed Passwords
type: AcademicPaperReference
type: NamedIndividual
has-link: https://www.cs.umd.edu/~jkatz/security/downloads/passwords_revealed-weir.pdf
kb-author: Matt Weir, Sudhir Aggarwal, Michael Collins, Henry Stern
kb-reference-of: StrongPasswordPolicy
kb-reference-title: Testing Metrics for Password Creation Policies by Attacking Large Sets of Revealed Passwords

Reference - The Pyramid of Pain - David Bianco
type: InternetArticleReference
type: NamedIndividual
has-link: http://detect-respond.blogspot.com/2013/03/the-pyramid-of-pain.html
kb-abstract: This article identifies progressive levels of adversary difficulty encountered for various types of indicators.
kb-author: David Bianco
kb-reference-of: Identifier Activity Analysis
kb-reference-title: The Pyramid of Pain

Reference - Threat detection for return oriented programming - Crowdstrike Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20140075556A1
kb-abstract: This disclosure describes, in part, techniques for detecting security exploits associated with return-oriented programming. The techniques include determining that a retrieved count is indicative of malicious activity, such as return oriented programming. The count may be retrieved from a processor performance counter of prediction mismatches, the prediction mismatches resulting from comparisons of a call stack of a computing device and of a shadow call stack maintained by a processor of the computing device. The techniques further include performing at least one security response action in response to determining that the count indicates malicious activity.
kb-author: Georg WICHERSKI
kb-mitre-analysis: This patent describes a technique for detecting shellcode security exploits. A call stack of a computing device is compared with a shadow call stack maintained by a processor of the computing device since a return oriented program may only be able to control or spoof the call stack and not the shadow call stack. Mismatches between the two are counted and if the number of mismatches exceeds a certain threshold it is an indication of malicious activity and a security response action is performed.
kb-organization: Crowdstrike Inc
kb-reference-of: Shadow Stack Comparisons
kb-reference-title: Threat detection for return oriented programming

Reference - Threat detection through the accumulated detection of threat characteristics - Sophos Ltd
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US9104864B2/en
kb-abstract: Embodiments of the present disclosure provide for improved capabilities in the detection of malware, where malware threats are detected through the accumulated identification of threat characteristics for targeted computer objects. Methods and systems include dynamic threat detection providing a first database that correlates a plurality of threat characteristics to a threat, wherein a presence of the plurality of the threat characteristics confirms a presence of the threat; detecting a change event in a computer run-time process; testing the change event for a presence of one or more of the plurality of characteristics upon detection of the change event; storing a detection of one of the plurality of characteristics in a second database that accumulates detected characteristics for the computer run-time process; and identifying the threat when each one of the plurality of characteristics appears in the second database.
kb-author: Clifford Penton; Irene Michlin
kb-organization: Sophos Ltd
kb-reference-of: Process Code Segment Verification
kb-reference-title: Threat detection through the accumulated detection of threat characteristics

Reference - Tokenless biometric transaction authorization method and system
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US5870723A/
kb-abstract: A method and system for tokenless authorization of commercial transactions between a buyer and a seller using a computer system. A transaction is proposed by a seller, and the buyer signals his acceptance by entering his personal authentication information comprising a PIN and at least one biometric sample, forming a commercial transaction message. The commercial transaction message is forwarded to the computer system, where the computer system compares the personal authentication information in the commercial transaction message with previously registered buyer biometric samples. If the computer system successfully identifies the buyer, a financial account of the buyer is debited and a financial account of the seller is credited, and the results of the transaction are presented to both buyer and seller. As a result of the invention, a buyer can conduct commercial transactions without having to use any tokens such as portable man-made memory devices such as smartcards or swipe cards. The invention allows buyers to quickly select one of a group of different financial accounts from which to transfer funds. The invention further indicates to the user that the authentic computer system was accessed by the use of a private code that is returned to the buyer after the identification is complete. The invention additionally permits an authorized buyer to alert authorities in the event of an emergency, such as when a transaction is coerced.
kb-organization: SmartTouch Inc
kb-reference-of: BiometricAuthentication
kb-reference-title: Tokenless biometric transaction authorization method and system

Reference - Tripwire
type: UserManualReference
type: NamedIndividual
has-link: https://linux.die.net/man/8/tripwire
kb-reference-of: File Integrity Monitoring
kb-reference-title: Reference - Tripwire

Reference - Trusted Attestation Protocol Use Cases
type: SpecificationReference
type: NamedIndividual
has-link: https://trustedcomputinggroup.org/wp-content/uploads/TCG_TNC_TAP_Use_Cases_v1r0p35_published.pdf
kb-article: ## Document Abstract This specification defines the Trusted Platform Module (TPM) a device that enables trust in computing platforms in general. It is broken into parts to make the role of each part clear. All parts are required in order to constitute a complete standard. For a complete definition of all requirements necessary to build a TPM, the designer will need to use the appropriate platform-specific specification to understand all of the requirements for a TPM in a specific application or make appropriate choices as an implementer. Those wishing to create a TPM need to be aware that this specification does not provide a complete picture of the options and commands necessary to implement a TPM. To implement a TPM the designer needs to refer to the relevant platform-specific specification to understand the options and settings required for a TPM in a specific type of platform or make appropriate choices as an implementer.
kb-reference-title: Trusted Attestation Protocol Use Cases

Reference - CAR-2019-04-001: UAC Bypass - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2019-04-001/
kb-abstract: Bypassing user account control (UAC Bypass) is generally done by piggybacking on a system process that has auto-escalate privileges. This analytic looks to detect those cases as described by the open-source UACME tool.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessLineageAnalysis
kb-reference-title: CAR-2019-04-001: UAC Bypass

Reference - UEFI Platform Initialization (PI) Specification
type: SpecificationReference
type: NamedIndividual
has-link: https://uefi.org/sites/default/files/resources/PI_Spec_1_7_A_final_May1.pdf
kb-reference-of: Bootloader Authentication
kb-reference-title: UEFI Platform Initialization (PI) Specification

Reference - USB filter for hub malicious code prevention system
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US9990325B2/en
kb-abstract: The present invention relates generally to computer systems, and more specifically, to a universal serial bus (USB) filter hub for a computer system.
kb-author: Steven R Hetzler, Daniel F Smith
kb-organization: International Business Machines Corp
kb-reference-of: IO Port Restriction
kb-reference-title: Universal serial bus (USB) filter hub malicious code prevention system

Reference - Understanding the Domain Registration Behavior of Spammers
type: AcademicPaperReference
type: NamedIndividual
has-link: https://citeseerx.ist.psu.edu/document
kb-abstract: Spammers register a tremendous number of domains to evade blacklisting and takedown efforts. Current techniques to detect such domains rely on crawling spam URLs or monitoring lookup traffic. Such detection techniques are only effective after the spammers have already launched their campaigns, and thus these countermeasures may only come into play after the spammer has already reaped significant benefits from the dissemination of large volumes of spam. In this paper we examine the registration process of such domains, with a particular eye towards features that might indicate that a given domain likely has a malicious purpose at registration time, before it is ever used for an attack. Our assessment includes exploring the characteristics of registrars, domain life cycles, registration bursts, and naming patterns. By investigating zone changes from the .com TLD over a 5-month period, we discover that spammers employ bulk registration, that they often re-use domains previously registered by others, and that they tend to register and host their domains over a small set of registrars. Our findings suggest steps that registries or registrars could use to frustrate the efforts of miscreants to acquire domains in bulk, ultimately reducing their agility for mounting large-scale attacks.
kb-author: Hao S, Thomas M, Paxson V, Feamster N, Kreibich C, Grier C, Hollenbeck S
kb-reference-of: Domain Registration Takedown
kb-reference-title: Understanding the Domain Registration Behavior of Spammers

Reference - Use of an application controller to monitor and control software file and application environments - Sophos Ltd
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20180032727A1
kb-abstract: In embodiments of the present invention, a framework for an extensible, file-based security system is described for determining an appropriate application, application environment, and/or access or security control measure based at least in part on a file's reputation. In response to the selection of a file, an application controller may be used to select a software application from two or more software applications to open the selected file, based at least in part on the selected file's reputation. If launched, a software application may be configured to open the file in an environment, such as a virtual machine, quarantined environment, and the like, that is appropriate for the file based at least in part on the reputation information. A software application may be a secure software application configured to manage secure files, or an insecure software application configured to manage insecure files. The selected file, and communications relating to the selected software application, may be managed according to the selected software application's secure or insecure configuration. Further, the selected software application may associate reputation information with all files that are modified and/or created by the selected software application, including at least in part, reputation information matching that of the selected file.
kb-author: Andrew J. Thomas
kb-mitre-analysis: This patent describes received files being open in an environment such as a virtual machine or quarantined environment to associate file reputation information that determines if a file is a threat.
kb-organization: Sophos Ltd
kb-reference-of: Dynamic Analysis
kb-reference-title: Use of an application controller to monitor and control software file and application environments

Reference - CAR-2016-04-003: User Activity from Stopping Windows Defensive Services - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2016-04-003/
kb-abstract: Spyware and malware remain a serious problem and Microsoft developed security services, Windows Defender and Windows Firewall, to combat this threat. In the event Windows Defender or Windows Firewall is turned off, administrators should correct the issue immediately to prevent the possibility of infection or further infection and investigate to determine if caused by crash or user manipulation.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: System Daemon Monitoring
kb-reference-title: CAR-2016-04-003: User Activity from Stopping Windows Defensive Services

Reference - CAR-2013-10-001: User Login Activity Monitoring - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-10-001/
kb-abstract: Monitoring logon and logoff events for hosts on the network is very important for situational awareness. This information can be used as an indicator of unusual activity as well as to corroborate activity seen elsewhere. Could be applied to a number of different types of monitoring depending on what information is desired. Some use cases include monitoring for all remote connections and building login timelines for users. Logon events are Windows Event Code 4624 for Windows Vista and above, 518 for pre-Vista. Logoff events are 4634 for Windows Vista and above, 538 for pre-Vista.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: Authentication Event Thresholding
kb-reference-title: CAR-2013-10-001: User Login Activity Monitoring

Reference - Using spanning tree protocol (STP) to enhance layer-2 topology maps
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US8045488B2
kb-abstract: Spanning Tree Protocol (STP) data is obtained via network switch (SNMP) queries to enhance identification of switch-to-switch links in Layer-2 mapping. In particular, by analyzing the STP data, ambiguity in determining switch uplink ports may be reduced. Specifically, the STP data can be used in conjunction with other topography data to provide Layer-2 connectivity for nodes on a network topology. Layer-2 address mapping tables are collected from a topology mapping, and STP data is collected, along with address translation tables (ARP) tables. Using this information, switches are identified using Layer-2 address tables. The STP data can be correlated by comparing data in switches, identifying switch ports directly connected to other switch ports, and eliminating direct switch-to-switch port connections from consideration for further Layer-2 node mappings.
kb-author: Michael Jon Swan
kb-organization: SolarWinds Worldwide LLC
kb-reference-of: Active Physical Link Mapping
kb-reference-title: Using spanning tree protocol (STP) to enhance layer-2 topology maps

Reference - Virtualized process isolation - Advanced Micro Devices Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20180081829A1
kb-abstract: Systems, apparatuses, and methods for implementing virtualized process isolation are disclosed. A system includes a kernel and multiple guest VMs executing on the system's processing hardware. Each guest VM includes a vShim layer for managing kernel accesses to user space and guest accesses to kernel space. The vShim layer also maintains a separate set of page tables from the kernel page tables. In one embodiment, data in the user space is encrypted and the kernel goes through the vShim layer to access user space data. When the kernel attempts to access a user space address, the kernel exits and the vShim layer is launched to process the request. If the kernel has permission to access the address, the vShim layer copies the data to a region in kernel space and then returns execution to the kernel.
kb-author: David A. Kaplan
kb-organization: Advanced Micro Devices Inc
kb-reference-of: Hardware-basedProcessIsolation
kb-reference-title: Virtualized process isolation

Reference - Web Authentication: An API for accessing Public Key Credentials Level 2
type: SpecificationReference
type: NamedIndividual
has-link: https://www.w3.org/TR/webauthn-2/
kb-abstract: This specification defines an API enabling the creation and use of strong, attested, scoped, public key-based credentials by web applications, for the purpose of strongly authenticating users. Conceptually, one or more public key credentials, each scoped to a given WebAuthn Relying Party, are created by and bound to authenticators as requested by the web application. The user agent mediates access to authenticators and their public key credentials in order to preserve user privacy. Authenticators are responsible for ensuring that no operation is performed without user consent. Authenticators provide cryptographic proof of their properties to Relying Parties via attestation. This specification also describes the functional model for WebAuthn conformant authenticators, including their signature and attestation functionality.
kb-author: W3C
kb-reference-of: Credential Transmission Scoping
kb-reference-title: Web Authentication: An API for accessing Public Key Credentials Level 2

Reference - What is NX/XD feature?
type: InternetArticleReference
type: NamedIndividual
has-link: https://access.redhat.com/solutions/2936741
kb-abstract: What is NX/XD feature ? How to check whether NX/XD is enabled ? How to enable or disable NX/XD? NX/XD is a hardware cpu feature which is provided in almost all the hardware. Some BIOS has advanced option of enabling or disabling it. NX stands for No eXecute and XD stands for eXecute Disable. Both are same and is a technology used in processors to prevent execution of certain types of code.
kb-author: Red Hat
kb-organization: Red Hat
kb-reference-of: Process Segment Execution Prevention
kb-reference-title: What is NX/XD feature?

Reference - Windows 10 STIG
type: GuidelineReference
type: NamedIndividual
has-link: https://www.stigviewer.com/stig/windows_10/
kb-abstract: Windows 10 STIG guidance.
kb-reference-of: Application Configuration Hardening
kb-reference-title: Windows 10 Security Technical Implementation Guide

Reference - CAR-2014-11-006: Windows Remote Management (WinRM) - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: Administrative Network Activity Analysis
kb-reference-title: CAR-2014-11-006: Windows Remote Management (WinRM)

Reissue Credential
type: Class
type: NamedIndividual
d3fend-id: D3-RIC
definition: Issue a new credential to a user which supercedes their old credential.
kb-reference: Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks
restores: Credential
subclass of: Restriction
  on property: restores
  some values from: Credential
subclass of: Restore Access

Remote Resource
type: Class
definition: In computing, a remote resource is a computer resource made available from one host to other hosts on a computer network. It is a device or piece of information on a computer that can be remotely accessed from another computer, typically via a local area network or an enterprise intranet.
subclass of: Resource

Restore Configuration
type: Class
type: NamedIndividual
d3fend-id: D3-RC
definition: Restoring an software configuration.
kb-reference: Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks
restores: ConfigurationResource
subclass of: Restriction
  on property: restores
  some values from: ConfigurationResource
subclass of: Restore Object

Restore Database
type: Class
type: NamedIndividual
d3fend-id: D3-RD
definition: Restoring the data in a database.
kb-reference: Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks
restores: Database
subclass of: Restriction
  on property: restores
  some values from: Database
subclass of: Restore Object

Restore Disk Image
type: Class
type: NamedIndividual
d3fend-id: D3-RDI
definition: Restoring a previously captured disk image a hard drive.
kb-reference: Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks
subclass of: Restore Object

Restore Email
type: Class
type: NamedIndividual
d3fend-id: D3-RE
definition: Restoring an email for an entity to access.
kb-reference: Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks
restores: Email
subclass of: Restriction
  on property: restores
  some values from: Email
subclass of: Restore File

Restore Network Access
type: Class
type: NamedIndividual
d3fend-id: D3-RNA
definition: Restoring a entity's access to a computer network.
kb-reference: Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks
restores: Host
subclass of: Restriction
  on property: restores
  some values from: Host
subclass of: Restore Access

Restore Software
type: Class
type: NamedIndividual
d3fend-id: D3-RS
definition: Restoring software to a host.
kb-reference: Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks
restores: Software
subclass of: Restriction
  on property: restores
  some values from: Software
subclass of: Restore Object

Reverse Resolution IP Denylisting
type: Class
type: NamedIndividual
blocks: OutboundInternetDNSLookupTraffic
d3fend-id: D3-RRID
definition: Blocking a reverse lookup based on the query's IP address value.
kb-article: ## How it works This technique prevents a client from learning domains deemed to be potentially malicious, which would have been delivered via reverse resolution responses over the DNS protocol. Queries for reverse resolution requests (that is, requests where IP(s) are sent and a domain is returned) are collected, and the IP address(es) included in the query are examined. If the IP address(es) are in a range included in the blacklist, then the query is dropped. ## Considerations - The blacklist will have to be maintained and will need to be kept up to date with identified maintenance cycles to ensure lists are not stale. - DNS query traffic can be transmitted over many different protocols, which presents a challenge to implementing methods to extract all DNS query IP address value(s). - DNS has historically used UDP port 53, with TCP port 53 instead used for responses over 512 bytes or after a lack of response over UDP. - Usage of new protocols to provide confidentiality for DNS traffic, such as DoH (DNS over HTTPS) and DoT (DNS over TLS), complicates collection of the IP address(es) in DNS queries. These protocols have often been enabled in browser settings transparently after a browser update, with DNS queries proxied over one of these cryptographic protocols through a specified host.
kb-reference: Reference - Use DNS Policy for Applying Filters on DNS Queries
synonym: Reverse Resolution IP Blacklisting
subclass of: Restriction
  on property: blocks
  some values from: OutboundInternetDNSLookupTraffic
subclass of: DNS Denylisting

Router
type: Class
definition: A router is a networking device that forwards data packets between computer networks. Routers perform the traffic directing functions on the Internet. Data sent through the internet, such as a web page or email, is in the form of data packets. A packet is typically forwarded from one router to another router through the networks that constitute an internetwork (e.g. the Internet) until it reaches its destination node.
subclass of: Computer Network Node

Semi-supervised Transductive Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-SSTL
definition: The goal of transductive learning is to infer the correct labels for the given unlabeled data x_{l+1},... ,x_{l+u} only
kb-article: ## References Semi-Supervised Learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Semi-Supervised_Learning#Semi-supervised_learning). Zhou, D., & Li, M. (2005). Semi-supervised learning by higher order regularization. In Proceedings of the 43rd Annual Meeting of the Association for Computational Linguistics (ACL) (pp. 1-9). [Link](https://www.cs.sfu.ca/~anoop/papers/pdf/semisup_naacl.pdf).
subclass of: Semi-Supervised Learning

Service Account
type: Class
definition: A service account is a type of account used by an application or service to interact with the operating system.
synonym: System Account
subclass of: UserAccount

Session Termination
type: Class
type: NamedIndividual
d3fend-id: D3-ST
definition: Forcefully end all active sessions associated with compromised accounts or devices.
deletes: Session
kb-article: Defined in NIST 800-53 as AC-12.
kb-reference: Reference - NIST Special Publication 800-53A Revision 5 - Assessing Security and Privacy Controls in Information Systems and Organizations
subclass of: Restriction
  on property: deletes
  some values from: Session
subclass of: Process Eviction

Shortcut File
type: Class
definition: A shortcut file, or shortcut, is a handle that allows the user to find a file or resource located in a different directory or folder from the place where the shortcut is located. Shortcuts, which are supported by the graphical file browsers of some operating systems, may resemble symbolic links but differ in a number of important ways. One difference is what type of software is able to follow them: - Symbolic links are automatically resolved by the file system. Any software program, upon accessing a symbolic link, will see the target instead, whether the program is aware of symbolic links or not. - Shortcuts are treated like ordinary files by the file system and by software programs that are not aware of them. Only software programs that understand shortcuts (such as the Windows shell and file browsers) treat them as references to other files. Another difference are the capabilities of the mechanism: - Microsoft Windows shortcuts normally refer to a destination by an absolute path (starting from the root directory), whereas POSIX symbolic links can refer to destinations via either an absolute or a relative path. The latter is useful if both the location and destination of the symbolic link share a common path prefix[clarification needed], but that prefix is not yet known when the symbolic link is created (e.g., in an archive file that can be unpacked anywhere). - Microsoft Windows application shortcuts contain additional metadata that can be associated with the destination, whereas POSIX symbolic links are just strings that will be interpreted as absolute or relative pathnames. - Unlike symbolic links, Windows shortcuts maintain their references to their targets even when the target is moved or renamed. Windows domain clients may subscribe to a Windows service called Distributed Link Tracking to track the changes in files and folders to which they are interested. The service maintains the integrity of shortcuts, even when files and folders are moved across the netwo…
subclass of: File

Simulation
type: Class
subclass of: Media Generation

Skewness
type: Class
type: NamedIndividual
d3fend-id: D3A-SKE
definition: Skewness is a measure of the asymmetry of the probability distribution of a real-valued random variable about its mean. The standardized moment of a probability distribution function.
kb-article: ## References Wikipedia. (n.d.). Skewness. [Link](https://en.wikipedia.org/wiki/Skewness)
subclass of: Distribution Properties

Standard Deviation
type: Class
type: NamedIndividual
d3fend-id: D3A-SD
definition: The standard deviation is a measure of the amount of variation or dispersion of a set of values.
kb-article: ## References Wikipedia. (n.d.). Standard deviation. [Link](https://en.wikipedia.org/wiki/Standard_deviation)
synonym: SD
subclass of: Variability

Statement
type: Class
definition: A statement is a proposition that is either (a) a meaningful declarative sentence that is either true or false, or (b) that which a true or false declarative sentence asserts.
subclass of: Proposition

Static Analysis Tool
type: Class
definition: A static [program] analysis tool performs an automated analysis of computer software without actually executing programs, in contrast with dynamic analysis, which is analysis performed on programs while they are executing. In most cases the analysis is performed on some version of the source code, and in the other cases, some form of the object code.
subclass of: Code Analyzer
alternative label: Static Program Analysis Tool

System
type: Class
definition: An artifact (instrumentality) that combines interrelated interacting artifacts designed to work as a coherent entity. [Note that not all digital artifacts are systems nor are all systems digital artifacts.]
subclass of: Artifact

Exfiltration Over Other Network Medium
type: Class
type: NamedIndividual
attack-id: T1011
definition: Adversaries may attempt to exfiltrate data over a different network medium than the command and control channel. If the command and control network is a wired Internet connection, the exfiltration may occur, for example, over a WiFi connection, modem, cellular data connection, Bluetooth, or another radio frequency (RF) channel.
produces: InternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: InternetNetworkTraffic
subclass of: Exfiltration Technique

Automated Exfiltration
type: Class
type: NamedIndividual
attack-id: T1020
definition: Adversaries may exfiltrate data, such as sensitive documents, through the use of automated processing after being gathered during Collection.(Citation: ESET Gamaredon June 2020)
produces: InternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: InternetNetworkTraffic
subclass of: Exfiltration Technique

Exfiltration Over Physical Medium
type: Class
attack-id: T1052
definition: Adversaries may attempt to exfiltrate data via a physical medium, such as a removable drive. In certain circumstances, such as an air-gapped network compromise, exfiltration could occur via a physical medium or device introduced by a user. Such media could be an external hard drive, USB drive, cellular phone, MP3 player, or other removable storage and processing device. The physical medium or device could be used as the final exfiltration point or to hop between otherwise disconnected systems.
subclass of: Exfiltration Technique

Account Discovery
type: Class
attack-id: T1087
definition: Adversaries may attempt to get a listing of valid accounts, usernames, or email addresses on a system or within a compromised environment. This information can help adversaries determine which accounts exist, which can aid in follow-on behavior such as brute-forcing, spear-phishing attacks, or account takeovers (e.g., [Valid Accounts](https://attack.mitre.org/techniques/T1078)).
subclass of: DiscoveryTechnique

Trusted Developer Utilities Proxy Execution
type: Class
attack-id: T1127
definition: Adversaries may take advantage of trusted developer utilities to proxy execution of malicious payloads. There are many utilities used for software development related tasks that can be used to execute code in various forms to assist in development, debugging, and reverse engineering.(Citation: engima0x3 DNX Bypass)(Citation: engima0x3 RCSI Bypass)(Citation: Exploit Monday WinDbg)(Citation: LOLBAS Tracker) These utilities may often be signed with legitimate certificates that allow them to execute on a system and proxy execution of malicious code through a trusted process that effectively bypasses application control solutions.
subclass of: DefenseEvasionTechnique

Token Impersonation/Theft
type: AccessToken
type: Class
type: NamedIndividual
attack-id: T1134.001
copies: AccessToken
definition: Adversaries may duplicate then impersonate another user's existing token to escalate privileges and bypass access controls. For example, an adversary can duplicate an existing token using `DuplicateToken` or `DuplicateTokenEx`.(Citation: DuplicateToken function) The token can then be used with `ImpersonateLoggedOnUser` to allow the calling thread to impersonate a logged on user's security context, or with `SetThreadToken` to assign the impersonated token to a thread.
subclass of: Restriction
  on property: copies
  some values from: AccessToken
subclass of: Access Token Manipulation

Execution Guardrails
type: Class
attack-id: T1480
definition: Adversaries may use execution guardrails to constrain execution or actions based on adversary supplied and environment specific conditions that are expected to be present on the target. Guardrails ensure that a payload only executes against an intended target and reduces collateral damage from an adversary’s campaign.(Citation: FireEye Kevin Mandia Guardrails) Values an adversary can provide about a target system or environment to use as guardrails may include specific network share names, attached physical devices, files, joined Active Directory (AD) domains, and local/external IP addresses.(Citation: FireEye Outlook Dec 2019)
subclass of: DefenseEvasionTechnique

Software Discovery
type: Class
attack-id: T1518
definition: Adversaries may attempt to get a listing of software and software versions that are installed on a system or in a cloud environment. Adversaries may use the information from [Software Discovery](https://attack.mitre.org/techniques/T1518) during automated discovery to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions.
subclass of: DiscoveryTechnique

Compromise Host Software Binary
type: Class
type: NamedIndividual
attack-id: T1554
definition: Adversaries may modify host software binaries to establish persistent access to systems. Software binaries/executables provide a wide range of system commands or services, programs, and libraries. Common software binaries are SSH clients, FTP clients, email clients, web browsers, and many other user or server applications.
modifies: Client Application
subclass of: Restriction
  on property: modifies
  some values from: Client Application
subclass of: PersistenceTechnique

Network Boundary Bridging
type: Class
attack-id: T1599
definition: Adversaries may bridge network boundaries by compromising perimeter network devices or internal devices responsible for network segmentation. Breaching these devices may enable an adversary to bypass restrictions on traffic routing that otherwise separate trusted and untrusted networks.
subclass of: DefenseEvasionTechnique

System Location Discovery
type: Class
type: NamedIndividual
accesses: ConfigurationResource
attack-id: T1614
subclass of: Restriction
  on property: accesses
  some values from: ConfigurationResource
subclass of: DiscoveryTechnique

Temporal Difference Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-TDL
definition: Temporal difference (TD) learning refers to a class of model-free reinforcement learning methods which learn by bootstrapping from the current estimate of the value function. These methods sample from the environment, like Monte Carlo methods, and perform updates based on current estimates, like dynamic programming methods
kb-article: ## References Temporal difference learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Temporal_difference_learning).
comment: Temporal difference (TD) learning refers to a class of model-free reinforcement learning methods which learn by bootstrapping from the current estimate of the value function.
subclass of: Model-free Reinforcement Learning

Thin Client Computer
type: Class
definition: A thin client is a lightweight computer that has been optimized for establishing a remote connection with a server-based computing environment. The server does most of the work, which can include launching software programs, performing calculations, and storing data. This contrasts with a fat client or a conventional personal computer; the former is also intended for working in a client-server model but has significant local processing power, while the latter aims to perform its function mostly locally. Thin clients are shared computers as the thin client's computing resources are provided by a remote server.
subclass of: Shared Computer

Ticket Granting Ticket
type: Class
definition: In some computer security systems, a Ticket Granting Ticket or Ticket to Get Tickets (TGT) is a small, encrypted identification file with a limited validity period. After authentication, this file is granted to a user for data traffic protection by the key distribution center (KDC) subsystem of authentication services such as Kerberos. The TGT file contains the session key, its expiration date, and the user's IP address, which protects the user from man-in-the-middle attacks. The TGT is used to obtain a service ticket from Ticket Granting Service (TGS). User is granted access to network services only after this service ticket is provided.
subclass of: AccessToken
alternative label: Golden Ticket

Trimmed Mean
type: Class
type: NamedIndividual
d3fend-id: D3A-TM
definition: The arithmetic mean of data values after a certain number or proportion of the highest and lowest data values have been discarded.
kb-article: ## References Wikipedia. (n.d.). Central tendency. [Link](https://en.wikipedia.org/wiki/Central_tendency)
synonym: Truncated mean
subclass of: Central Tendency

Trust Store
type: Class
definition: Stores public information necessary to determine if another party can be trusted.
subclass of: DigitalInformationBearer

Unlock Account
type: Class
type: NamedIndividual
d3fend-id: D3-ULA
definition: Restoring a user account's access to resources by unlocking a locked User Account.
kb-reference: Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks
restores: UserAccount
subclass of: Restriction
  on property: restores
  some values from: UserAccount
subclass of: Restore User Account Access

Use Case
type: Class
subclass of: D3FEND KB Thing

Use Case Step
type: Class
subclass of: Step

Utility Software
type: Class
definition: Utility applications are software applications designed to help to analyze, configure, optimize or maintain a computer. It is used to support the computer infrastructure - in contrast to application software, which is aimed at directly performing tasks that benefit ordinary users. However, utilities often form part of the application systems. For example, a batch job may run user-written code to update a database and may then include a step that runs a utility to back up the database, or a job may run a utility to compress a disk before copying files.
subclass of: Software
alternative label: Utility Application

Variance
type: Class
type: NamedIndividual
d3fend-id: D3A-VAR
definition: Variance is a measure of dispersion, meaning it is a measure of how far a set of numbers is spread out from their average value.
kb-article: ## References Wikipedia. (n.d.). Variance. [Link](https://en.wikipedia.org/wiki/Variance)
subclass of: Variability

Web Authentication
type: Class
type: NamedIndividual
definition: A request-response comprising a user credential presentation to a system and a verification response where the verifying party is a web server.
may-create: Session Cookie
subclass of: Restriction
  on property: may-create
  some values from: Session Cookie
subclass of: Authentication

Weighted Mean
type: Class
type: NamedIndividual
d3fend-id: D3A-WM
definition: A mean that incorporates weighting to certain data elements.
kb-article: ## Considerations The arithmetic mean, geometric mean, and harmonic mean can all be weighted. ## References Wikipedia. (n.d.). Central tendency. [Link](https://en.wikipedia.org/wiki/Central_tendency)
subclass of: Central Tendency

Wireless Access Point
type: Class
type: NamedIndividual
contains: RF Transmitter
definition: In computer networking, a wireless access point (WAP), or more generally just access point (AP), is a networking hardware device that allows other Wi-Fi devices to connect to a wired network. The AP usually connects to a router (via a wired network) as a standalone device, but it can also be an integral component of the router itself. An AP is differentiated from a hotspot which is a physical location where Wi-Fi access is available.
subclass of: Restriction
  on property: contains
  some values from: RF Transmitter
subclass of: Computer Network Node
alternative label: WAP

accessed-by
type: ObjectProperty
sub property of: associated-with
sub property of: may-be-accessed-by
inverse of: accesses

addressed-by
type: ObjectProperty
definition: x addressed-by y: Relates a resource x (e.g., network host, peripheral device, disk sector, a memory cell or other logical or physical entity) to a discrete address y in an address space that points to it.
domain: Resource
range: Identifier
sub property of: associated-with
inverse of: addresses

archived-at
type: DatatypeProperty
range: anyURI
sub property of: d3fend-catalog-data-property

attached-to
type: ObjectProperty
definition: x attached-to y: A subject x is joined in close association to an object y.
sub property of: associated-with

attack-kb-annotation
type: AnnotationProperty
definition: x attack-kb-annotation y: The offensive technique x has the kb annotation of y.
domain: OffensiveTechnique
sub property of: d3fend-annotation

authorizes
type: ObjectProperty
definition: x authorizes y: A subject x grants authorization or clearance for an agent y to use an object. This relation indicates an authorization event has occurred.
sub property of: associated-with
sub property of: hardens

comments
type: DatatypeProperty
type: FunctionalProperty
definition: x comments y: x claim has provider comments y.
domain: Capability Feature Claim
range: string
sub property of: d3fend-catalog-data-property

confidence
type: DatatypeProperty
sub property of: d3fend-catalog-data-property

configures
type: ObjectProperty
sub property of: associated-with
sub property of: hardens

control-name
type: DatatypeProperty
definition: The control (or control enhancement) name.
sub property of: d3fend-external-control-data-property

copy-of
type: ObjectProperty
definition: x copy-of y: The subject x is a duplicate of the object y
sub property of: associated-with

date created
type: DatatypeProperty
definition: Date of creation of the resource.
range: dateTime
sub property of: date

created-by
type: ObjectProperty
sub property of: associated-with
sub property of: may-be-created-by
inverse of: creates

creator
type: ObjectProperty
sub property of: contributor

cwe-kb-annotation
type: AnnotationProperty
sub property of: d3fend-annotation

d3fend-catalog-annotation-property
type: AnnotationProperty
sub property of: d3fend-annotation
alternative label: d3fend-vendor-registry-annotation-property

d3fend-comment
type: DatatypeProperty
definition: x d3fend-comment y: The entity x has an D3FEND team written a public note about entity y.
sub property of: d3fend-kb-data-property

d3fend-general-object-property
type: ObjectProperty
sub property of: d3fend-object-property

d3fend-id
type: DatatypeProperty
definition: Unique identifier for a D3FEND technique. D3-[Acronym].
sub property of: d3fend-kb-data-property

deceives-with
type: ObjectProperty
sub property of: d3fend-tactical-verb-property

dependent
type: ObjectProperty
definition: x dependent y: A dependent y is an entity that requires the fulfillment of the requirements specified in dependency x.
sub property of: associated-with

employs
type: ObjectProperty
sub property of: associated-with

end
type: ObjectProperty
sub property of: d3fend-process-object-property

erases
type: ObjectProperty
description: x erases y: A technique x removes recorded data from storage device y creating space for new data.
sub property of: associated-with

extends
type: ObjectProperty
definition: x extends y: The entity x extend the scope or range or area of entity y, especially in the sense of widen the range of applications.
sub property of: modifies

fork
type: ObjectProperty
sub property of: d3fend-process-object-property

has-account
type: ObjectProperty
definition: x has-account y: The subject x has ownership or possession of some account y.
sub property of: owns

has-agent
type: ObjectProperty
sub property of: has-participant

has-dependent
type: ObjectProperty
sub property of: associated-with

has-feature
type: ObjectProperty
sub property of: d3fend-catalog-object-property

has-implementation
type: ObjectProperty
sub property of: d3fend-catalog-object-property

has-link
type: DatatypeProperty
definition: x has-link y: The d3fend analysis x has the link y.
range: anyURI
sub property of: d3fend-kb-data-property

has-location
type: ObjectProperty
definition: x has-location y: The entity x is situated in a particular spot or position y.
sub property of: associated-with
alternative label: located_in

has-mediator
type: ObjectProperty
sub property of: has-participant

has-procedure
type: ObjectProperty
sub property of: d3fend-general-object-property

has-recipient
type: ObjectProperty
definition: x has_recipient y: An agent y is the intended recipient and decoder of the information contained in communication x.
sub property of: associated-with

has-sender
type: ObjectProperty
definition: x has_sender y: An agent y is the sender and encoder of the information contained in communication x.
sub property of: associated-with

hides
type: ObjectProperty
definition: x hides y: A technique or operation x conceals the digital artifact y.
range: Digital Artifact
sub property of: associated-with

initiates
type: ObjectProperty
sub property of: associated-with

installs
type: ObjectProperty
definition: x installs y: An entity x sets up a digital artifact y for subsequent use. For example, an installation program can install application software.
sub property of: associated-with

instructed-by
type: ObjectProperty
definition: definition "x instructed-by y: A subject x takes machine instructions from object y."
sub property of: associated-with

instructs
type: ObjectProperty
definition: definition "x instructs y: A subject x delivers machine instructions to object y."
sub property of: associated-with

kb-reference
type: ObjectProperty
sub property of: d3fend-kb-object-property
inverse of: kb-reference-of
alternative label: has-technique-reference

kb-reference-title
type: DatatypeProperty
definition: x kb-reference-title y: The d3fend knowledge base reference x has the reference title string y.
range: string
sub property of: d3fend-kb-data-property

license
type: ObjectProperty
range: Restriction
  on property: license
  some values from: License
sub property of: d3fend-catalog-object-property

limits
type: ObjectProperty
definition: x limits y: An entity x specifies a designated limit beyond which some entity y cannot function or must be terminated.
sub property of: restricts
alternative label: cutoff

may-be-contained-by
type: ObjectProperty
type: TransitiveProperty
sub property of: may-be-associated-with
inverse of: may-contain

may-be-created-by
type: ObjectProperty
sub property of: may-be-associated-with
inverse of: may-create

may-be-invoked-by
type: ObjectProperty
sub property of: may-be-associated-with
inverse of: may-invoke

may-be-modified-by
type: ObjectProperty
sub property of: may-be-associated-with
inverse of: may-modify

may-deceive
type: ObjectProperty
pref-label: may deceive
sub property of: may-counter-attack

may-detect
type: ObjectProperty
pref-label: may detect
sub property of: may-counter-attack

may-disable
type: ObjectProperty
sub property of: may-evict

may-evaluate
type: ObjectProperty
sub property of: may-be-associated-with

may-harden
type: ObjectProperty
pref-label: may harden
sub property of: may-counter-attack

may-isolate
type: ObjectProperty
pref-label: may isolate
sub property of: may-counter-attack

date modified
type: DatatypeProperty
definition: Date on which the resource was changed.
range: dateTime
sub property of: date

name
type: DatatypeProperty
sub property of: d3fend-catalog-data-property

neutralizes
type: ObjectProperty
definition: x neutralizes y: The technique x makes the execution of actions of y ineffective by preventing or counterbalancing the effect of y.
sub property of: associated-with
sub property of: hardens

next
type: ObjectProperty
sub property of: d3fend-process-object-property

operating-system
type: DatatypeProperty
definition: x operating-system y: The product x is supported on operating system y.
domain: Capability Implementation
range: string
sub property of: d3fend-catalog-data-property

owns
type: ObjectProperty
definition: x owns y: The subject x has ownership or possession of some object y.
sub property of: associated-with
alternative label: possesses

process-ancestor
type: ObjectProperty
type: TransitiveProperty
definition: x process-ancestor y: The process y is a process ancestor of process x, indicating one or more process creation events were conducted were started at process y and subsequently created process x.
sub property of: process-property

process-command-line-arguments
type: DatatypeProperty
definition: x process-command-line-arguments y: The process x has the process command line arguments data y.
sub property of: process-data-property

process-environmental-variables
type: DatatypeProperty
definition: x process-environment-variables y: The process x has the process environmental variables data y.
sub property of: process-data-property
alternative label: process-environmental-variable

process-identifier
type: DatatypeProperty
definition: x process-identifier y: The process x has the process identifier y.
sub property of: process-data-property

process-image-path
type: ObjectProperty
definition: x process-image-path y: The filepath y is the process image path for the process x, indicating the path to the resource from which the process's image was loaded.
sub property of: process-property
alternative label: processImagePath

process-security-context
type: DatatypeProperty
definition: x process-security-context y: The process x has the process security context data y.
domain: Process
sub property of: process-data-property

process-user
type: ObjectProperty
definition: x process-user y: The process x has been executed by the user y.
sub property of: process-property
alternative label: processUser

provider
type: ObjectProperty
definition: x provider y: A provider y is an entity that supplies a service, system, or data resources to a dependent entity x.
sub property of: associated-with

provides
type: ObjectProperty
sub property of: d3fend-catalog-object-property

date published
type: DatatypeProperty
definition: Date of publication of the resource.
range: dateTime
sub property of: date

publishes
type: ObjectProperty
sub property of: d3fend-catalog-object-property

regenerates
type: ObjectProperty
definition: x regenerates y: The entity x discards the current digital artifact y and creates a new version that serves the same function.
sub property of: associated-with
sub property of: hardens

start
type: ObjectProperty
sub property of: d3fend-process-object-property

Step 1 - Copy Token
type: Step
type: NamedIndividual
invokes: Copy Token
next: Step 2 - Impersonate User

Step 2 - Impersonate User
type: Step
type: NamedIndividual
creates: Authentication
invokes: Impersonate User

summarizes
type: ObjectProperty
definition: x summarizes y: The sensor x summarizes a set y of events concerning digital artifacts over time
sub property of: associated-with

unmounts
type: ObjectProperty
definition: x unmounts y: An operation x removes the access via computer system's file system the availability of files and directories on a storage artifact y. Unmounts reverse or undo prior mount operations.
sub property of: associated-with

updates
type: ObjectProperty
definition: x updates y: The technique x updates the software for component y.
sub property of: hardens
sub property of: modifies

use-limits
type: ObjectProperty
definition: x use-limits y: An entity x specifies a designated number of uses beyond which some entity y cannot function or must be terminated.
sub property of: limits

used-by
type: ObjectProperty
definition: x used-by y: is inverse of y uses x.
sub property of: associated-with
inverse of: uses

windows-registry-key
type: DatatypeProperty
definition: x value y: The key-value pair x has the key y.
sub property of: windows-registry-data-property
alternative label: key

windows-registry-value
type: DatatypeProperty
definition: x value y: The key-value pair x has the data value y.
sub property of: windows-registry-data-property
alternative label: value

ATTACK Thing
type: Class
definition: ATTACK things are concepts defined in the ATT&CK Framework.
subclass of: External Threat Model Thing

Academic Article
type: Class
subclass of: Article

Access Control Group
type: Class
type: NamedIndividual
definition: A collection of objects that can have access controls placed on them.
restricted-by: Access Control List
subclass of: Restriction
  on property: restricted-by
  some values from: Access Control List
subclass of: AccessControlConfiguration

Access Modeling
type: Class
type: NamedIndividual
d3fend-id: D3-AM
definition: Access modeling identifies and records the access permissions granted to administrators, users, groups, and systems.
maps: AccessControlConfiguration
maps: UserAccount
subclass of: Restriction
  on property: maps
  some values from: UserAccount
subclass of: Restriction
  on property: maps
  some values from: AccessControlConfiguration
subclass of: Operational Activity Mapping

Access Process
type: Class
type: NamedIndividual
accesses: Process
subclass of: Restriction
  on property: accesses
  some values from: Process
subclass of: SystemCall

Action
type: Class
subclass of: Restriction
  on property: has-agent
  some values from: Agent
subclass of: Event

Active Certificate Analysis
type: Class
type: NamedIndividual
date created: 2020-08-05T00:00:00
d3fend-id: D3-ACA
definition: Actively collecting PKI certificates by connecting to the server and downloading its server certificates for analysis.
kb-article: ## How it works Analysis of server certificates using active methods to detect if certificates have been misconfigured or spoofed by using elements of the certificate, certificate authorities and signatures. ### Certificate validity analysis This can be accomplished by verifying the digital signature on certificate. ### Certificate path analysis The client's browser can perform path verification to ensure that the server's certificate contains a valid trust anchor. ### Certificate configuration analysis Some browsers can be configured to implement the key-usage extensions contained certificates. This can help to prevent a certificate from being misused. ### Certificate revocation status analysis Using either Certificate Revocation Lists (CRLs) or Online Certificate Status Protocol (OCSP) to determine the revocation status. OCSP Stapling, binding the status with the certificate, helps to mitigate potential delay in status verifications. ## Considerations * Management of the PKI across the enterprise typically requires automation to maintain scalability and flexibility * If the certificate authority, issuing the certificate, is compromised then all of the certificates issued by the CA are suspect * There may be delays associated with updates to certificates * Revoked certificates give the appearance of valid certificates until they are published to a trusted revocation service (OCSP or CRL) * The revocation service (OCSP or CRL) may be down during our connection and a browser will need to make a decision will need to be made about trusting the connection
kb-reference: Reference - Securing Web Transactions
subclass of: Certificate Analysis

Active Logical Link Mapping
type: Class
type: NamedIndividual
d3fend-id: D3-ALLM
definition: Active logical link mapping sends and receives network traffic as a means to map the whole data link layer, where the links represent logical data flows rather than physical connection
kb-article: ## How it works Active logical link mapping establishes awareness of logical links in the network by sending data over the network to gather information about logical connections in the network. Typically this will be achieved through network telemetry coordinated for network management and monitoring and will use a link layer discovery protocol such as LLDP and the information gathered and aggregated a higher levels using an application protocol such as SNMP. The information may be polled by network management softare or configured once and then pushed from network sensors (or agents.) Another means of establishing network connectivity is by means of sendingn traffic through the use of a tool such as traceroute, to determine the logical paths through the network architecture. ## Considerations * Best practice is to encrypte network monitoring data and require authentication for queries or admin/management functions. * Push notifications reduce bandwidth necessary to capture and maintain information if reliable transport is used. * Special consideration should be made before using of active scanning in OT networks and OT-safe options chosen where available.
kb-reference: Reference - Identification of traceroute nodes and associated devices
kb-reference: Reference - SNMP - Network Auto-Discovery
may-query: Network Agent
subclass of: Restriction
  on property: may-query
  some values from: Network Agent
subclass of: Logical Link Mapping

Active Physical Link Mapping
type: Class
type: NamedIndividual
d3fend-id: D3-APLM
definition: Active physical link mapping sends and receives network traffic as a means to map the physical layer.
kb-reference: Reference - Identification of traceroute nodes and associated devices
may-query: Network Agent
synonym: Active Physical Layer Mapping
subclass of: Restriction
  on property: may-query
  some values from: Network Agent
subclass of: Physical Link Mapping
disjoint with: Direct Physical Link Mapping

Administrative Feature
type: Class
subclass of: Capability Feature
alternative label: Administrative Capability

Application Configuration Database Record
type: Class
type: NamedIndividual
definition: A database record holding information used to configure the parameters and initial settings for an application.
subclass of: ApplicationConfiguration
subclass of: Configuration Database Record

Application Installer
type: Class
type: NamedIndividual
subclass of: User Application

Article
type: Class
subclass of: Document

Artifact Server
type: Class
definition: A digital artifact server provides access services to digital artifacts in a repository. It provides an associated set of data management, search and access methods allowing application-independent access to the content.
subclass of: Web Server

Artificial Neural Network Classification
type: Class
type: NamedIndividual
d3fend-annotation: Classification ANNs seek to classify an observation as belonging to some discrete class as a function of the inputs. The input features (independent variables) can be categorical or numeric types, however, we require a categorical feature as the dependent variable.
d3fend-id: D3A-ANNC
kb-article: ## References ANN Classification. [Link](http://uc-r.github.io/ann_classification).
subclass of: Classification

Asymmetric Key
type: Class
definition: Asymmetric keys are public and private keys, paired such that asymmetric (public-key) cryptography algorithms can be implemented using them. Public-key cryptography, or asymmetric cryptography, is any cryptographic system that uses pairs of keys: public keys that may be disseminated widely paired with private keys which are known only to the owner. There are two functions that can be achieved: using a public key to authenticate that a message originated with a holder of the paired private key; or encrypting a message with a public key to ensure that only the holder of the paired private key can decrypt it.
subclass of: Cryptographic Key

Audio Input Device
type: Class
type: NamedIndividual
definition: Audio input devices allow a user to send audio info to a computer for processing, recording, or carrying out commands. Devices such as microphones allow users to speak to the computer in order to record a voice message or navigate software. Aside from recording, audio input devices are also used with speech recognition software.
subclass of: Input Device

Authorization Service
type: Class
definition: An authorization service ensures that the user is authorized to have access to a particular resource. Authorization can be done through role-based access control (RBAC) or list-based access control (LBAC).
subclass of: Network Service
subclass of: Service Application Process

Average Absolute Deviation
type: Class
type: NamedIndividual
d3fend-id: D3A-AAD
definition: The average absolute deviation (AAD) of a data set is the average of the absolute deviations from a central point.
kb-article: ## References Wikipedia. (n.d.). Average absolute deviation. [Link](https://en.wikipedia.org/wiki/Average_absolute_deviation)
subclass of: Variability

Bayesian Method
type: Class
type: NamedIndividual
d3fend-id: D3A-BM
definition: Bayesian analysis is a statistical procedure which endeavors to estimate parameters of an underlying distribution based on the observed distribution.
kb-article: ## References Wolfram MathWorld. (n.d.). Bayesian Analysis. [Link](https://mathworld.wolfram.com/BayesianAnalysis.html)
subclass of: Statistical Method

Binary Segment
type: Class
definition: A binary segment is a partition of binary information within a larger binary object, which arranges a set of binary objects for its purpose. For example, code, data, heap, and stack segments are segments of the binary information used by a process. Code and data segments are also found in object files.
subclass of: DigitalInformationBearer

Block Device
type: Class
type: NamedIndividual
contains: Boot Sector
contains: Partition
contains: Partition Table
definition: A block device (or block special file) provides buffered access to hardware devices, and provides some abstraction from their specifics. IEEE Std 1003.1-2017: A file that refers to a device. A block special file is normally distinguished from a character special file by providing access to the device in a manner such that the hardware characteristics of the device are not visible.
may-contain: Volume
subclass of: Restriction
  on property: contains
  some values from: Partition
subclass of: Restriction
  on property: may-contain
  some values from: Volume
subclass of: Restriction
  on property: contains
  some values from: Boot Sector
subclass of: Restriction
  on property: contains
  some values from: Partition Table
subclass of: DigitalInformationBearer
alternative label: Block Special File

Browser
type: Class
type: NamedIndividual
definition: A web browser (commonly referred to as a browser) is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier (URI/URL) and may be a web page, image, video or other piece of content. Hyperlinks present in resources enable users easily to navigate their browsers to related resources. Although browsers are primarily intended to use the World Wide Web, they can also be used to access information provided by web servers in private networks or files in file systems.
may-contain: Browser Extension
subclass of: Restriction
  on property: may-contain
  some values from: Browser Extension
subclass of: User Application

Build Tool
type: Class
definition: A tool that automates the process of creating a software build and the associated processes including: compiling computer source code into binary code, packaging binary code, and running automated tests.
subclass of: Developer Application
alternative label: Build Automation Tool

Comparison Using Wrong Factors
type: Class
cwe-id: CWE-1025
subclass of: Incorrect Comparison

Insecure Automated Optimizations
type: Class
cwe-id: CWE-1038
subclass of: Improper Interaction Between Multiple Correctly-Behaving Entities
subclass of: Reliance on Undefined, Unspecified, or Implementation-Defined Behavior

Empty Code Block
type: Class
cwe-id: CWE-1071
subclass of: Irrelevant Code

Use of Prohibited Code
type: Class
cwe-id: CWE-1177
subclass of: CWE-710

Exposure of Sensitive Information Through Metadata
type: Class
cwe-id: CWE-1230
subclass of: Improper Authorization

Out-of-bounds Read
type: Class
type: NamedIndividual
cwe-id: CWE-125
weakness-of: Raw Memory Access Function
subclass of: Restriction
  on property: weakness-of
  some values from: Raw Memory Access Function
subclass of: CWE-119

Improper Preservation of Consistency Between Independent Representations of Shared State
type: Class
cwe-id: CWE-1250
subclass of: CWE-664

Improper Validation of Specified Quantity in Input
type: Class
cwe-id: CWE-1284
subclass of: Improper Input Validation

Improper Validation of Specified Index, Position, or Offset in Input
type: Class
cwe-id: CWE-1285
subclass of: Improper Input Validation

Reliance on Component That is Not Updateable
type: Class
cwe-id: CWE-1329
subclass of: Reliance on Insufficiently Trustworthy Component
subclass of: CWE-664

Reliance on Insufficiently Trustworthy Component
type: Class
cwe-id: CWE-1357
subclass of: CWE-710

Use of Default Credentials
type: Class
cwe-id: CWE-1392
subclass of: Use of Weak Credentials

Improper Neutralization of Leading Special Elements
type: Class
cwe-id: CWE-160
subclass of: CWE-138

Improper Neutralization of Multiple Trailing Special Elements
type: Class
cwe-id: CWE-163
subclass of: Improper Neutralization of Trailing Special Elements

Improper Neutralization of Multiple Internal Special Elements
type: Class
cwe-id: CWE-165
subclass of: Improper Neutralization of Internal Special Elements

Incorrect Behavior Order: Early Validation
type: Class
cwe-id: CWE-179
subclass of: Improper Input Validation
subclass of: Incorrect Behavior Order

Incorrect Regular Expression
type: Class
cwe-id: CWE-185
subclass of: Incorrect Comparison

Observable Behavioral Discrepancy
type: Class
cwe-id: CWE-205
subclass of: Observable Discrepancy

Improper Removal of Sensitive Information Before Storage or Transfer
type: Class
cwe-id: CWE-212
subclass of: Incorrect Resource Transfer Between Spheres

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
type: Class
type: NamedIndividual
cwe-id: CWE-22
weakness-of: UserInputFunction
subclass of: Restriction
  on property: weakness-of
  some values from: UserInputFunction
subclass of: CWE-668
subclass of: Use of Incorrectly-Resolved Name or Reference

Privilege Dropping / Lowering Errors
type: Class
cwe-id: CWE-271
subclass of: Improper Privilege Management

Improper Ownership Management
type: Class
cwe-id: CWE-282
subclass of: CWE-284

Authentication Bypass Using an Alternate Path or Channel
type: Class
cwe-id: CWE-288
subclass of: Missing Authentication for Critical Function

Missing Authentication for Critical Function
type: Class
cwe-id: CWE-306
subclass of: Improper Authentication

Missing Encryption of Sensitive Data
type: Class
cwe-id: CWE-311
subclass of: CWE-693

Cleartext Transmission of Sensitive Information
type: Class
cwe-id: CWE-319
subclass of: Missing Encryption of Sensitive Data

Insufficient Entropy
type: Class
cwe-id: CWE-331
subclass of: Use of Insufficiently Random Values

Insecure Temporary File
type: Class
cwe-id: CWE-377
subclass of: CWE-668

Transmission of Private Resources into a New Sphere ('Resource Leak')
type: Class
cwe-id: CWE-402
subclass of: CWE-668

Unintended Proxy or Intermediary ('Confused Deputy')
type: Class
cwe-id: CWE-441
subclass of: Externally Controlled Reference to a Resource in Another Sphere

User Interface (UI) Misrepresentation of Critical Information
type: Class
cwe-id: CWE-451
subclass of: Information Loss or Omission
subclass of: Incorrect Provision of Specified Functionality

Exposure of Sensitive System Information to an Unauthorized Control Sphere
type: Class
cwe-id: CWE-497
subclass of: Exposure of Sensitive Information to an Unauthorized Actor

Trojan Horse
type: Class
cwe-id: CWE-507
subclass of: Embedded Malicious Code

Covert Channel
type: Class
cwe-id: CWE-514
subclass of: Creation of Emergent Resource

Client-Side Enforcement of Server-Side Security
type: Class
cwe-id: CWE-602
subclass of: CWE-693

Improper Isolation or Compartmentalization
type: Class
cwe-id: CWE-653
subclass of: Violation of Secure Design Principles
subclass of: CWE-693

Reliance on a Single Factor in a Security Decision
type: Class
cwe-id: CWE-654
subclass of: Violation of Secure Design Principles
subclass of: CWE-693

Use of a Non-reentrant Function in a Concurrent Context
type: Class
cwe-id: CWE-663
subclass of: Improper Synchronization

Lack of Administrator Control over Security
type: Class
cwe-id: CWE-671
subclass of: Violation of Secure Design Principles

Use of Multiple Resources with Duplicate Identifier
type: Class
cwe-id: CWE-694
subclass of: CWE-573
subclass of: Improper Control of Resource Identifiers ('Resource Injection')

Exposed Dangerous Method or Function
type: Class
cwe-id: CWE-749
subclass of: CWE-284

Missing Custom Error Page
type: Class
cwe-id: CWE-756
subclass of: Improper Handling of Exceptional Conditions

Release of Invalid Pointer or Reference
type: Class
cwe-id: CWE-763
subclass of: Improper Resource Shutdown or Release

Access of Memory Location Before Start of Buffer
type: Class
cwe-id: CWE-786
subclass of: CWE-119

Incomplete Filtering of Special Elements
type: Class
cwe-id: CWE-791
subclass of: Improper Filtering of Special Elements

Incomplete Filtering of One or More Instances of Special Elements
type: Class
cwe-id: CWE-792
subclass of: Incomplete Filtering of Special Elements

Only Filtering Special Elements at a Specified Location
type: Class
cwe-id: CWE-795
subclass of: Incomplete Filtering of Special Elements

Use of Hard-coded Credentials
type: Class
type: NamedIndividual
cwe-id: CWE-798
weakness-of: Authentication Function
subclass of: Restriction
  on property: weakness-of
  some values from: Authentication Function
subclass of: Use of Weak Credentials
subclass of: Use of Invariant Value in Dynamically Changing Context
subclass of: Lack of Administrator Control over Security

Improper Control of Interaction Frequency
type: Class
cwe-id: CWE-799
subclass of: CWE-691

Expired Pointer Dereference
type: Class
cwe-id: CWE-825
subclass of: CWE-119
subclass of: Operation on a Resource after Expiration or Release

Missing Initialization of Resource
type: Class
cwe-id: CWE-909
subclass of: Improper Initialization

XML Injection (aka Blind XPath Injection)
type: Class
cwe-id: CWE-91
subclass of: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')

Improper Control of Dynamically-Identified Variables
type: Class
cwe-id: CWE-914
subclass of: Improper Control of Dynamically-Managed Code Resources
subclass of: Improper Control of Resource Identifiers ('Resource Injection')

Use of Password Hash With Insufficient Computational Effort
type: Class
cwe-id: CWE-916
subclass of: Use of a Broken or Risky Cryptographic Algorithm

Insecure Storage of Sensitive Information
type: Class
cwe-id: CWE-922
subclass of: CWE-664

Call Stack
type: Class
type: NamedIndividual
contains: StackFrame
definition: In computer science, a call stack is a stack data structure that stores information about the active subroutines of a computer program. This kind of stack is also known as an execution stack, program stack, control stack, run-time stack, or machine stack, and is often shortened to just "the stack". Although maintenance of the call stack is important for the proper functioning of most software, the details are normally hidden and automatic in high-level programming languages. Many computer instruction sets provide special instructions for manipulating stacks.
subclass of: Restriction
  on property: contains
  some values from: StackFrame
subclass of: DigitalInformationBearer

Certificate Trust Store
type: Class
type: NamedIndividual
contains: Certificate
definition: A certificate truststore is used to store public certificates used to authenticate clients by the server for an SSL connection.
subclass of: Restriction
  on property: contains
  some values from: Certificate
subclass of: Trust Store

Client-server Payload Profiling
type: Class
type: NamedIndividual
analyzes: NetworkTraffic
d3fend-id: D3-CSPP
definition: Comparing client-server request and response payloads to a baseline profile to identify outliers.
kb-article: ## How it works Profiling request and response payloads across multiple clients to a single server to develop a baseline of their characteristics. May take into account request/response sizes, entropy, frequency, and rhythm. Finally, identify outliers as they may indicate a malicious payload delivery and subsequent server exploitation. ## Considerations * Collecting metrics to establish a profile can be challenging since user behavior can change easily. * Employees may work different hours or inconsistent schedules which will cause false positives. * Collection of network activity to generate metrics is a computationally intensive process. * Users may log into different workstations which may cause false positives.
kb-reference: Reference - Method and system for detecting malicious payloads - Vectra Networks Inc
subclass of: Restriction
  on property: analyzes
  some values from: NetworkTraffic
subclass of: NetworkTrafficAnalysis

Client Application
type: Class
type: NamedIndividual
definition: A client application is software that accesses a service made available by a server. The server is often (but not always) on another computer system, in which case the client accesses the service by way of a network. The term applies to the role that programs or devices play in the client-server model
subclass of: Application

Clipboard
type: Class
type: NamedIndividual
definition: The clipboard is a buffer that some operating systems provide for short-term storage and transfer within and between application programs. The clipboard is usually temporary and unnamed, and its contents reside in the computer's RAM. The clipboard is sometimes called the paste buffer. Windows, Linux and macOS support a single clipboard transaction. Each cut or copy overwrites the previous contents. Normally, paste operations copy the contents, leaving the contents available in the clipboard for further pasting.
subclass of: DigitalInformationBearer

Cloud Instance Metadata
type: Class
type: NamedIndividual
definition: Cloud instance metadata is configuration information on the instance and users of the instance. This includes such information as security groups, public ip addresses, and private addresses, public keys configured, and event rotating security keys. User data can contain initialization scripts, variables, passwords, and more.
subclass of: Cloud Configuration

Cloud Service Authentication
type: Class
type: NamedIndividual
definition: A request-response comprising a user credential presentation to a system and a verification response where the verifying party is a cloud service.
subclass of: Web Authentication

Cloud Service Authorization
type: Class
type: NamedIndividual
definition: Cloud authorization is the function of specifying access rights to cloud resources.
subclass of: Authorization

Cloud Storage
type: Class
type: NamedIndividual
definition: Cloud storage is storage held within a computing cloud.
subclass of: Secondary Storage

Code Analyzer
type: Class
definition: Code analyzers automatically analyze the composition or behavior of computer programs regarding a property such as correctness, robustness, security, and safety. Program analysis can be performed without executing the program (static program analysis), during runtime (dynamic program analysis) or in a combination of both.
subclass of: Developer Application
alternative label: Program Analysis Tool

Code Repository
type: Class
type: NamedIndividual
contains: SourceCode
definition: A code repository is a form of database where code, typically source code, is stored and managed. In revision control systems, a repository is a data structure that stores metadata for a set of files or directory structure. Depending on whether the version control system in use is distributed like (Git or Mercurial) or centralized like (Subversion, CVS, or Perforce), the whole set of information in the repository may be duplicated on every user's system or may be maintained on a single server.
subclass of: Restriction
  on property: contains
  some values from: SourceCode
subclass of: Database
alternative label: Repository
alternative label: Version Control Repository

Command History Log File
type: Class
type: NamedIndividual
contains: Command History Log
definition: A command history log file is a file containing a command history, which the history of commands run in an operating system shell.
subclass of: Restriction
  on property: contains
  some values from: Command History Log
subclass of: Log File

Common Attack Pattern
type: Class
definition: A common attack pattern that is in the CAPEC knowledge base.
subclass of: CAPEC Thing

Compiler
type: Class
type: NamedIndividual
definition: In computing, a compiler is a computer program that translates computer code written in one programming language (the source language) into another language (the target language). The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a lower level language (e.g., assembly language, object code, or machine code) to create an executable program.
reads: Compiler Configuration File
subclass of: Restriction
  on property: reads
  some values from: Compiler Configuration File
subclass of: Build Tool

Computer Platform
type: Class
type: NamedIndividual
contains: Firmware
contains: HardwareDevice
contains: Operating System
definition: Platform includes the hardware and OS. The term computing platform can refer to different abstraction levels, including a certain hardware architecture, an operating system (OS), and runtime libraries. In total it can be said to be the stage on which computer programs can run.
synonym: Computing Platform
subclass of: Restriction
  on property: contains
  some values from: Firmware
subclass of: Restriction
  on property: contains
  some values from: Operating System
subclass of: Restriction
  on property: contains
  some values from: HardwareDevice
subclass of: DigitalInformationBearer

Configuration Database
type: Class
type: NamedIndividual
contains: Configuration Database Record
subclass of: Restriction
  on property: contains
  some values from: Configuration Database Record
subclass of: ConfigurationResource

Connect Socket
type: Class
type: NamedIndividual
connects: Pipe
definition: The connect socket system call connects the socket to a target address.
subclass of: Restriction
  on property: connects
  some values from: Pipe
subclass of: SystemCall

Connected Honeynet
type: Class
type: NamedIndividual
d3fend-id: D3-CHN
definition: A decoy service, system, or environment, that is connected to the enterprise network, and simulates or emulates certain functionality to the network, without exposing full access to a production system.
kb-article: ## How it works Decoy honeypots are deployed within the enterprise environment that emulate certain services or portions of an OS to attract attackers. ## Considerations A connected honeynet provides a tradeoff between emulating certain functionality but not being as sophisticated as an integrated honeynet. The connected honeynet may not provide enough functionality to detect new attack patterns or zero day exploits but could provide enough functionality for specific known vulnerabilities.
kb-reference: Reference - Modification of a Server to Mimic a Deception Mechanism - Acalvio Technologies Inc
spoofs: Local Area Network
subclass of: Restriction
  on property: spoofs
  some values from: Local Area Network
subclass of: Decoy Environment

Connection Attempt Analysis
type: Class
type: NamedIndividual
analyzes: IntranetNetworkTraffic
d3fend-id: D3-CAA
definition: Analyzing failed connections in a network to detect unauthorized activity.
kb-article: ## How it works Connection Attempt Analysis in multiple ways. ### Monitoring traffic to unallocated IP space One approach looks for failed connection attempts against unallocated IP space. First, network traffic is captured to map out the network to identify network assets as well as unallocated IP space. The map is then used to determine if connection attempts are being made to the unallocated IP space. ### Monitoring for sequentially transmitted traffic Another approach passively inspects network traffic with application protocol analyzers observing network activity characteristics such as volume of packets sent/ received, TCP session attributes, and connection information between hosts (start time, source/destination host, services, etc.). Then using pattern matching to identify traffic which appears to be probing for network hosts. ## Considerations * Implementations that rely on analysis of unallocated IP address space increase in their complexity with network size and decentralized network infrastructure. * Inventory of unallocated IP space should should be continuously updated to mitigate the risk of false positives. * IPv6 also introduces challenges including IPv6 traffic bypassing IPv4 specific protection systems (ex. firewalls and IDS) and complexity in managing both IPv6 and IPv4 addresses.
kb-reference: Reference - Detecting network reconnaissance by tracking intranet dark-net communications - VECTRA NETWORKS Inc
synonym: Network Scan Detection
subclass of: Restriction
  on property: analyzes
  some values from: IntranetNetworkTraffic
subclass of: NetworkTrafficAnalysis

Container Image Analysis
type: Class
type: NamedIndividual
analyzes: Container Image
d3fend-id: D3-CIA
definition: Analyzing a Container Image with respect to a set of policies.
kb-article: ## How it works Container images are standalone collections of the executable code and content that are used to populate a container environment. They are usually created by either building a container from scratch or by building on top of an existing image pulled from a repository. Throughout the container build workflow, images should be scanned to identify: - outdated libraries, - known vulnerabilities, - or misconfigurations, such as insecure ports or permissions. Scanning should also provide the flexibility to disregard false positives for vulnerability detection where knowledgeable cybersecurity professionals have deemed alerts to be inaccurate. One approach to implementing image scanning is to use an admission controller to block deployments if the image does not comply with the organization's security policies. An admission controller is a Container Orchestration feature that can intercept and process requests to the Container Orchestration API prior to persistence of the object, but after the request is authenticated and authorized. A webhook can be implemented to scan any image before it is deployed in the orchestrator. This admission controller ## Considerations * Image scanning is key to ensuring deployed containers are secure. * Using trusted repositories to build containers is a critical part of the container build workflow. * This technique does not necessarly prevent the build process to add insecure or unsecured files to the Image.
kb-reference: Reference - Container Image Analysis
synonym: Container Image Scanning
subclass of: Restriction
  on property: analyzes
  some values from: Container Image
subclass of: Asset Vulnerability Enumeration

Container Orchestration Software
type: Class
type: NamedIndividual
definition: A d3f:Software which manages and coordinates running one or more d3f:ContainerProcess.
subclass of: ServiceApplication

Control Correlation Identifier Catalog
type: Class
definition: A control correlation identifier (CCI) catalog provides a catalog of CCIs for a given release date.
subclass of: Restriction
  on property: has-member
  some values from: CCIControl
subclass of: Control Catalog

Convolutional Neural Network
type: Class
type: NamedIndividual
d3fend-id: D3A-CNN
definition: A class of artificial neural network most commonly applied to analyze visual imagery.CNNs use a mathematical operation called convolution in place of general matrix multiplication in at least one of their layers.
kb-article: ## References Wikipedia. (n.d.). Convolutional neural network. [Link](https://en.wikipedia.org/wiki/Convolutional_neural_network)
subclass of: Deep Neural Network Classification

Credential Management System
type: Class
type: NamedIndividual
definition: Credential Management, also referred to as a Credential Management System (CMS), is an established form of software that is used for issuing and managing credentials as part of public key infrastructure (PKI).
subclass of: ServiceApplication

Credential Revocation
type: Class
type: NamedIndividual
d3fend-id: D3-CR
definition: Deleting a set of credentials permanently to prevent them from being used to authenticate.
deletes: Credential
kb-article: ## How it works Management servers with enterprise policies for account management provide the ability remove permissions, accounts, or credentials. Compromised credentials should be revoked to prevent further malicious activity.
kb-reference: Reference - Revoke a previously issued verifiable credential - Microsoft
subclass of: Restriction
  on property: deletes
  some values from: Credential
subclass of: Credential Eviction

Credential Transmission Scoping
type: Class
type: NamedIndividual
d3fend-id: D3-CTS
definition: Limiting the transmission of a credential to a scoped set of relying parties.
restricts: Credential
synonym: Phishing Resistant Authentication
subclass of: Restriction
  on property: restricts
  some values from: Credential
subclass of: CredentialHardening

Cryptographic Key
type: Class
definition: In cryptography, a key is a piece of information (a parameter) that determines the functional output of a cryptographic algorithm. For encryption algorithms, a key specifies the transformation of plaintext into ciphertext, and vice versa for decryption algorithms. Keys also specify transformations in other cryptographic algorithms, such as digital signature schemes and message authentication codes.
subclass of: Digital Information

Custom Archive File
type: Class
type: NamedIndividual
definition: A custom archive file is an archive file conforming to a custom format; that is, an archive file that does not conform to a common standard.
subclass of: Archive File

DHCP Network Traffic
type: Class
type: NamedIndividual
definition: DHCP Network Traffic is network traffic related to the DHCP protocol, used by network nodes to negotiate and configure either IPv4 or IPv6 addresses.
subclass of: NetworkTraffic

DNS Cache Eviction
type: Class
type: NamedIndividual
d3fend-id: D3-DNSCE
definition: Flushing DNS to clear any IP addresses or other DNS records from the cache.
deletes: DNS Record
kb-article: # How it works Flushing the DNS Cache will clear the IP addresses of websites you have visited recently. This can help remediate DNS Cache Poisoning attacks, which is a type of cyber attack where corrupted DNS data is inserted into the cache, causing redirects to malicious websites. On windows, the DNS cache can be wiped by issuing the command `ipconfig /flushdns`.
synonym: Flush DNS Cache
subclass of: Restriction
  on property: deletes
  some values from: DNS Record
subclass of: Object Eviction

DNS Record
type: Class
type: NamedIndividual
definition: A Domain Name System (DNS) record is a record of information returned to clients seeking to find computers, services, and other resources connected to the Internet or a private network. Record information is stored on a domain name server so it can respond to DNS queries from clients.There are a variety of record types, depending on the client's information needs. Common types include Start of Authority, IP addresses, SMTP mail exchangers, name servers, reverse DNS lookup pointers, etc.
subclass of: Record

Data Dependency
type: Class
type: NamedIndividual
synonym: Transactional Dependency
subclass of: Dependency

Data Inventory
type: Class
type: NamedIndividual
d3fend-id: D3-DI
definition: Data inventorying identifies and records the schemas, formats, volumes, and locations of data stored and used on the organization's architecture.
inventories: Database
inventories: DocumentFile
kb-reference: Reference - Data processing and scanning systems for generating and populating a data inventory
synonym: Data Discovery
synonym: Data Inventorying
subclass of: Restriction
  on property: inventories
  some values from: Database
subclass of: Restriction
  on property: inventories
  some values from: DocumentFile
subclass of: Asset Inventory

Decoy Public Release
type: Class
type: NamedIndividual
d3fend-id: D3-DPR
definition: Issuing publicly released media to deceive adversaries.
kb-article: ## How it works Publicly released media includes press release, videos, or other marketing collateral. The media may include URLs, points of contact, or other identifiers to entice interaction from adversaries. ## Considerations * Information used in decoy public released media must contain enough realism to deceive and provide interaction from adversaries. * Continuous development, creation, and distribution of media and identifiers are needed to ensure adversary interaction continues over time. * Decoy public releases could be placed on platforms with different degrees of ownership, including entirely enterprise-owned infrastructure, IaaS, and SaaS (including social applications). Platforms that are not entirely enterprise-owned may be more likely to gather information
kb-reference: Reference - Mock attack cybersecurity training system and methods - WOMBAT SECURITY TECHNOLOGIES Inc
subclass of: Decoy Object

Decoy Session Token
type: Class
type: NamedIndividual
d3fend-id: D3-DST
definition: An authentication token created for the purposes of deceiving an adversary.
kb-article: ## How it works Usage of decoy session tokens may be monitored to track attacker behavior or otherwise control the beliefs of the attacker. ## Considerations * Interaction and activity with the decoy session token must be constantly monitored and analyzed to detect unauthorized activity. * Session tokens are typically short-lived and therefore the decoy must be continuously updated to provide the appearance of it being used in the production environment. * Automated tools can assist with maintenance and updates by automatically adjusting the decoy session token and environment to mimic the production environment.
kb-reference: Reference - Decoy and deceptive data object technology - Cymmetria Inc
spoofs: AccessToken
subclass of: Restriction
  on property: spoofs
  some values from: AccessToken
subclass of: Decoy Object

Deep Neural Network Classification
type: Class
type: NamedIndividual
d3fend-id: D3A-DNNC
definition: A deep neural network (DNN) is an artificial neural network (ANN) with multiple layers between the input and output layers. There are different types of neural networks but they always consist of the same components: neurons, synapses, weights, biases, and functions. These components as a whole function similarly to a human brain, and can be trained like any other ML algorithm
kb-article: ## References Deep learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Deep_learning).
subclass of: Artificial Neural Network Classification

Default User Account
type: Class
type: NamedIndividual
definition: Default accounts are those that are built-into an OS, such as the Guest or Administrator accounts on Windows systems or default factory/provider set accounts on other types of systems, software, or devices.
subclass of: UserAccount

Defensive Technique Claim
type: Class
subclass of: Restriction
  on property: cites
  some values from: Information Content Entity
subclass of: Restriction
  on property: claims
  some values from: DefensiveTechnique
subclass of: Capability Feature Claim
alternative label: Countermeasure Claim

Delete File
type: Class
type: NamedIndividual
definition: Remove a file from a machine.
deletes: File
subclass of: Restriction
  on property: deletes
  some values from: File
subclass of: SystemCall

Deserialization Function
type: Class
type: NamedIndividual
definition: Function with an input of serialized data which deserializes that data, usually with data parsing methods.
subclass of: Subroutine

Disk Erasure
type: Class
type: NamedIndividual
d3fend-id: D3-DKE
definition: Disk Erasure is the process of securely deleting all data on a disk to ensure that it cannot be recovered by any means.
erases: Secondary Storage
kb-article: ### How it works Disk Erasure involves overwriting the existing data with random or specific patterns multiple times. Disk erasure is crucial for data sanitization, ensuring that sensitive information is completely removed from storage devices before they are repurposed, disposed of, or transferred to another party.
kb-reference: Reference - Remembrance of data passed: A study of disk sanitization practices
subclass of: Restriction
  on property: erases
  some values from: Secondary Storage
subclass of: Disk Formatting

Disk Partitioning
type: Class
type: NamedIndividual
creates: Partition Table
d3fend-id: D3-DKP
definition: Disk Partitioning is the process of dividing a disk into multiple distinct sections, known as partitions.
kb-article: ### How it works Each partition can be managed separately and can have its own file system. Disk partitioning can be used to segregate sensitive data from less critical data, improve system performance, and enhance data management and recovery processes. It can also help in isolating different operating systems or environments on the same physical disk.
kb-reference: Reference - Remembrance of data passed: A study of disk sanitization practices
subclass of: Restriction
  on property: creates
  some values from: Partition Table
subclass of: Disk Formatting

Display Adapter
type: Class
type: NamedIndividual
definition: A graphics card (also called a display card, video card, display adapter, or graphics adapter) is an expansion card which generates a feed of output images to a display device (such as a computer monitor). Frequently, these are advertised as discrete or dedicated graphics cards, emphasizing the distinction between these and integrated graphics. At the core of both is the graphics processing unit (GPU), which is the main part that does the actual computations, but should not be confused with the video card as a whole, although "GPU" is often used to refer to video cards.
subclass of: Output Device
alternative label: Display Card
alternative label: Graphics Adapter
alternative label: Video Card

Display Server
type: Class
type: NamedIndividual
definition: A display server or window server is a program whose primary task is to coordinate the input and output of its clients to and from the rest of the operating system, the hardware, and each other. The display server communicates with its clients over the display server protocol, a communications protocol, which can be network-transparent or simply network-capable. The display server is a key component in any graphical user interface, specifically the windowing system.
subclass of: DigitalInformationBearer
alternative label: Window Server

Domain Registration Takedown
type: Class
type: NamedIndividual
d3fend-id: D3-DRT
definition: The process of performing a takedown of the attacker's domain registration infrastructure.
deletes: Domain Registration
kb-article: ## How it works Most nameserver hosts and domain name registrars comply with internationally recognised standards and supply their services based on terms and conditions that provide users and organisations protection from abuse and trademark infringement. Performing a WHOIS query on the attacker's domain will provide a contact that can be notified in the case of abuse. Formal takedown processes should be initiated to suspend or disable the normal function of the domain name. ## Considerations - Takedown notifications should clearly demonstrate (with evidence) that the nameserver or registrars Terms and Conditions have been breached. - Takedown processes are notoriously slow and sometimes unsuccessful. - Many government organisations will have takedown processes that should also be followed. They may use this for intelligence to assist other organisations suffering an attack. - Top level domain registrars will have takedown processes that can be followed, as an escalation path, when the nameserver host and/or registrar have not responded or complied timeously or inline with the TLD expectations. ## Examples of Domain Registration Abuse Attackers will create infrastructure from which to carry out their operations and this may include registering domain names to be used in the various attacks. Known misuse cases include: - Registering domain names that are similar to the victim's. This is known as typosquatting or URL hijacking. Legitimate looking mails or URLs could be sent using this domain in phishing campaigns. - Registring domain names that are used in C2 beacons.
kb-reference: Reference - Understanding the Domain Registration Behavior of Spammers
subclass of: Restriction
  on property: deletes
  some values from: Domain Registration
subclass of: Object Eviction

Email Filtering
type: Class
type: NamedIndividual
d3fend-id: D3-EF
definition: Filtering incoming email traffic based on specific criteria.
filters: Email
kb-article: ## How it works Mail filters can be implemented to scan inbound email messages at the initial SMTP connection stage to detect and reject email containing spam and malware. This technique is distinct from d3f:EmailDeletion because it prevents an email from reaching an user's inbox. This technique can also be used for outbound email traffic. ## Considerations * The effectiveness of mail filters depend on the completeness of the filter policies
kb-reference: Reference - System and method for providing anonymous remailing and filtering of electronic mail - Nokia
subclass of: Restriction
  on property: filters
  some values from: Email
subclass of: InboundTrafficFiltering

Email Removal
type: Class
type: NamedIndividual
d3fend-id: D3-ER
definition: The email removal technique deletes email files from system storage.
deletes: Email
kb-article: ## How it works Email removal is a technique that can be used to prevent a user from executing malware or responding to phishing attempts. Security software or users themselves may detect malicious or suspicious email in a local or remote mail folder email and then employ this technique. ## Considerations For email that needs to be removed, an infosec organization may choose to take additional follow-up actions (such as blocking the sources or notifying providers), rather than only relying on email deletion. For the case where users detect likely suspicious email files, the organization should consider implementing a means for reporting these emails to their infosec organization. Email files may propagate through many storage systems across the an organization's systems over time, so early detection and blocking helps avoid residual, latent stores of malicous email content in the enterprise.
kb-reference: Reference - System and method for scanning remote services to locate stored objects with malware
may-access: Mail Server
synonym: Email Deletion
subclass of: Restriction
  on property: deletes
  some values from: Email
subclass of: Restriction
  on property: may-access
  some values from: Mail Server
subclass of: File Eviction

Equivalence Matching
type: Class
type: NamedIndividual
d3fend-id: D3A-EM
definition: Equivalence matching is matching two values, which may be bound to variables, to see if they are equivalent.
kb-article: ## How it works Equality is a relationship between two quantities or, more generally two mathematical expressions, asserting that the quantities have the same value, or that the expressions represent the same mathematical object. Programming languages can have multiple senses of equality that may include, but are not limited to: - Identity: The objects are identical; often indicated by having values indicating the same logical address. - Equality: The values of the expessions and properties are equivalent when evaluated; they do not need to have the same logical address. ## References 1. Equality (mathematics). (2023, May 31). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Equality_(mathematics)] 2. Types of Equality. (2007, March 2). In _WikiWikiWeb_. [Link](https://wiki.c2.com/?TypesOfEquality)
subclass of: Logical Rules

Estimation
type: Class
type: NamedIndividual
d3fend-id: D3A-EST
definition: Estimation represents ways or a process of learning and determining the population parameter based on the model fitted to the data.
kb-article: ## References Pennsylvania State University. (n.d.). Statistical Inference and Estimation. [Link](https://online.stat.psu.edu/stat504/lesson/statistical-inference-and-estimation)
subclass of: Inferential Statistics

Event
type: Class
subclass of: D3FENDCore

Exec
type: Class
type: NamedIndividual
executes: ExecutableBinary
subclass of: Restriction
  on property: executes
  some values from: ExecutableBinary
subclass of: SystemCall

External Content Inclusion Function
type: Class
type: NamedIndividual
definition: External content, strings or data, are inserted into a local document (e.g. xml document) as if it were a native part of that document.
subclass of: Subroutine

External Control Thing
type: Class
subclass of: External Thing

Feature Assessment
type: Class
subclass of: Assessment

File Carving
type: Class
type: NamedIndividual
analyzes: File Transfer Network Traffic
d3fend-id: D3-FC
definition: Identifying and extracting files from network application protocols through the use of network stream reassembly software.
kb-article: ## How it works Protocol stream reassembly software recreates a directional byte stream by analyzing captured network packets. Once the stream is reassembled pattern matching is applied to determine if it contains a file of interest. Files of interest range from executable, archive, or document file formats. Once the file is captured, it is then processed with standard File Analysis Techniques. Example network protocols include HTTP, SMTP, FTP, HTTP/2, and TLS/HTTP/Dropbox. ## Considerations - This is an error prone process due to the intricacies of network protocols and network packet capture. For example reassembly may be done in real-time or streaming fashion, or packets may be written to disk, then bulk processed. The packets may arrive out of order, with fragmentation, duplicates, or re-transmissions. The reassembly software must compensate for the imperfect packet stream in order to recreate the well formed file which was transmitted. - File type identification can be a difficult process which can be exploited by adversaries.
kb-reference: Reference - Computer Worm Defense System and Method - FireEye Inc
subclass of: Restriction
  on property: analyzes
  some values from: File Transfer Network Traffic
subclass of: NetworkTrafficAnalysis

File Creation Analysis
type: Class
type: NamedIndividual
analyzes: Create File
d3fend-id: D3-FCA
definition: Analyzing the properties of file create system call invocations.
kb-reference: Reference - CAR-2020-09-001: Scheduled Task - FileAccess - MITRE
kb-reference: Reference - CAR-2019-07-002: Lsass Process Dump via Procdump - MITRE
subclass of: Restriction
  on property: analyzes
  some values from: Create File
subclass of: System Call Analysis

File Eviction
type: Class
type: NamedIndividual
d3fend-id: D3-FEV
definition: File eviction techniques delete files from system storage.
deletes: File
kb-article: ## How it works Adversaries may place files or programs into a computer's file system to perform malicious actions. As part of the eviction process, these files and programs should be removed to prevent further compromise or reinfection. Examples of malicious types of files are malware which is directly harmful and content files with the intent to deceive users (e.g., phishing.) On Windows systems, antivirus (AV) software should be used to safely and permanently remove malicious files. AV software may first quarantine a suspected malicious file, which is the process of moving a file from its original location to a new location and makes changes so that it cannot be executed. Users can then verify that the file is not benign and then permanently delete it. ## Considerations When it is determined that a file should be removed for security purposes, the organization--or systems implementing an organization's policies--may determine that the file should not simply be deleted from the enterprise's mission systems, but be quarantined to a secure system by an approved mechanism, so as to allow follow-up investigation by security staff. On Windows systems, deleting a file in File Explorer does not permanently delete a file - it sends it to the Recycle Bin instead. The Recycle Bin must be emptied, or alternative steps must be performed to remove files completely. Even then, in some cases the data may persist in disk, so data shredder tools may be needed to completely wipe a file. Thus, AV tools are recommended.
kb-reference: Reference - How Does Antivirus Quarantine Work? - Safety Detectives
subclass of: Restriction
  on property: deletes
  some values from: File
subclass of: Object Eviction

File Hash
type: Class
type: NamedIndividual
identifies: File
subclass of: Restriction
  on property: identifies
  some values from: File
subclass of: Digital Fingerprint

File Hash Reputation Analysis
type: Class
type: NamedIndividual
analyzes: File Hash
d3fend-id: D3-FHRA
definition: Analyzing the reputation of a file hash.
kb-reference: Reference - Reputation of an entity associated with a content item
subclass of: Restriction
  on property: analyzes
  some values from: File Hash
subclass of: Identifier Reputation Analysis

File System
type: Class
type: NamedIndividual
contains: Directory
contains: File
contains: File System Link
contains: FileSystemMetadata
definition: In computing, a file system or filesystem is used to control how data is stored and retrieved. Without a file system, information placed in a storage medium would be one large body of data with no way to tell where one piece of information stops and the next begins. By separating the data into pieces and giving each piece a name, the information is easily isolated and identified. Taking its name from the way paper-based information systems are named, each group of data is called a "file". The structure and logic rules used to manage the groups of information and their names is called a "file system".
subclass of: Restriction
  on property: contains
  some values from: File
subclass of: Restriction
  on property: contains
  some values from: File System Link
subclass of: Restriction
  on property: contains
  some values from: FileSystemMetadata
subclass of: Restriction
  on property: contains
  some values from: Directory
subclass of: DigitalInformationBearer

Forecasting
type: Class
subclass of: Analytical Purpose

Get Open Sockets
type: Class
type: NamedIndividual
enumerates: Pipe
subclass of: Restriction
  on property: enumerates
  some values from: Pipe
subclass of: SystemCall

Get Screen Capture
type: Class
type: NamedIndividual
subclass of: SystemCall

Get System Network Config Value
type: Class
type: NamedIndividual
subclass of: Get System Config Value

Get Thread Context
type: Class
type: NamedIndividual
queries: Thread
subclass of: Restriction
  on property: queries
  some values from: Thread
subclass of: SystemCall

Global User Account
type: Class
type: NamedIndividual
definition: A type of user account in Microsoft Windows (NT) that has a domain-wide scope.defines that user's access to a logical group of network objects (computers, users, devices) that share the same Active Directory databases; that is, a user's access to the domain.
subclass of: Domain User Account

Graph-based Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-GBC
definition: Graph-based Clustering is a form of clustering where data is represented with graphs to identify clusters. We include Connection-based Clustering in this class.
kb-article: ## References 1. Jagota, A. (13 Dec 2020). Density-based and Graph-based Clustering. towardsdatascience.com. [Link](https://towardsdatascience.com/density-based-and-graph-based-clustering-a1f0d45ff5fb) 1. Connectivity-Based Clustering. Sarang, P. (2023) in Thinking Data Science. The Springer Series in Applied Machine Learning. Springer, Cham. [Link](https://doi.org/10.1007/978-3-031-02363-7_10).
synonym: Connection-based Clustering
subclass of: Cluster Analysis

Graphical User Interface
type: Class
type: NamedIndividual
definition: A graphical user interface (GUI) is a type of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation, instead of text-based user interfaces, typed command labels or text navigation. GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on a computer keyboard.
subclass of: User Interface
alternative label: GUI

Hard Link
type: Class
definition: In computing, a hard link is a directory entry that associates a name with a file on a file system. All directory-based file systems must have at least one hard link giving the original name for each file. The term "hard link" is usually only used in file systems that allow more than one hard link for the same file. Multiple hard links -- that is, multiple directory entries to the same file -- are supported by POSIX-compliant and partially POSIX-compliant operating systems, such as Linux, Android, macOS, and also Windows NT4 and later Windows NT operating systems.
subclass of: File System Link

Heterogeneous Transfer Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-HTL
definition: Heterogeneous transfer learning is characterized by the source and target domains having differing feature spaces, but may also be combined with other issues such as differing data distributions and label spaces.
kb-article: ## References Wang, Q., Mao, K. Z., Wang, B., & Guan, J. (2017). Big data clustering by hybrid optimization algorithm. Journal of Big Data, 4(1), 25. [Link](https://journalofbigdata.springeropen.com/articles/10.1186/s40537-017-0089-0).
subclass of: Transfer Learning

Hierarchical Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-HC
definition: Hierarchical clustering (also called hierarchical cluster analysis or HCA) is a method of cluster analysis that seeks to build a hierarchy of clusters.
kb-article: ## References Wikipedia. (2021, August 10). Hierarchical clustering. [Link](https://en.wikipedia.org/wiki/Hierarchical_clustering) html)
subclass of: Cluster Analysis

Hierarchical Domain Denylisting
type: Class
type: NamedIndividual
d3fend-id: D3-HDDL
definition: Blocking the resolution of any subdomain of a specified domain name.
kb-article: ## How it works This technique is used to block DNS queries from related domains and subdomains that are unauthorized. Hierarchical domain blacklisting considers the blacklisting of second level domains and additional sub-domains and specific hosts for a given query value. A denylist is maintained that contains DNS names and corresponding subdomains, including wildcards, that should be blocked for a given lookup. ## Considerations * The denylist of domain names will have to be maintained and will need to be kept up to date * Other domains that resolve to the domain of interest for blocking (CNAME, etc). * Denylists should have identified maintenance cycles to ensure lists are not stale.
kb-reference: Reference - Use DNS Policy for Applying Filters on DNS Queries
synonym: Hierarchical Domain Blacklisting
subclass of: Forward Resolution Domain Denylisting

Homoglyph Denylisting
type: Class
type: NamedIndividual
d3fend-id: D3-HDL
definition: Blocking DNS queries that are deceptively similar to legitimate domain names.
kb-article: ## How it works Homoglyph domain blacklisting considers the domain and subdomain structure of a lookup and compares the named components to blacklisted named components. The blacklisted named components are typically crafted modifications of known good domains, e.g., gooogle.com versus google.com. The blacklisted domains typically resemble trusted domains, but have been altered slightly to deceive users. The blacklisted named components also include consideration for fonts or Unicode characters that can make certain characters appear very similar (zero vs capital O and the letter l vs the number one). The blacklisted domains under certain fonts will appear to be a trusted domain. ## Considerations * Maintaining the currency of the list can be a challenge especially with newly registered domain entries. * Blacklists should have identified maintenance cycles to ensure lists are not stale.
kb-reference: Reference - Detection of Malicious IDNHomoglyph Domains
synonym: Homoglyph Blacklisting
subclass of: Forward Resolution Domain Denylisting

Host-based Firewall
type: Class
type: NamedIndividual
definition: A software firewall which controls network inbound and outbound network traffic to the host computer.
subclass of: System Software

Hypothesis Testing
type: Class
type: NamedIndividual
d3fend-id: D3A-HT
definition: A statistical hypothesis test is a method of statistical inference used to decide whether the data at hand sufficiently support a particular hypothesis. Hypothesis testing allows us to make probabilistic statements about population parameters.
kb-article: ## References Wikipedia. (n.d.). Statistical hypothesis testing. [Link](https://en.wikipedia.org/wiki/Statistical_hypothesis_testing)
subclass of: Inferential Statistics

Identifier Activity Analysis
type: Class
type: NamedIndividual
analyzes: Identifier
d3fend-id: D3-IAA
definition: Taking known malicious identifiers and determining if they are present in a system.
kb-article: ## How it works Identifier activity analysis is the process of taking identifiers--typically known malicious identifiers--and determining the artifacts that have interacted with those identifiers. There are many open and closed source repositories of identifiers that represent indicators of compromise. For example, VirusTotal contains hash signatures of malware and IP Addresses used by threat actors. Defenders can search for these indicators of compromise their own systems to gain context on activity around an identifier. ## Considerations Indicator activity analysis is a good way to gain high precision analysis, but adversaries can modify their own signatures such as hashes quickly to evade detection. This is related to David Bianco’s Pyramid of Pain - Indicators on the lower level (hash values, IP addresses domain names) are easy for adversaries to change. Identifier activity data of interest for analysis with the identifier might include, but is not limited to: * network traffic activity where the identifier was used to identify communicating entities or referred to in the communication * process activity referencing the identifier, especially for resource access * file activity referencing the identifier * registry settings referencing the identifier
kb-reference: Reference - The Pyramid of Pain - David Bianco
subclass of: Restriction
  on property: analyzes
  some values from: Identifier
subclass of: Identifier Analysis

Image-to-Image Translation GAN
type: Class
type: NamedIndividual
d3fend-id: D3A-ITITG
definition: Image-to-image translation is the task of transferring styles and characteristics from one image domain to another.
kb-article: ## References MathWorks. (n.d.). Get Started with GANs for Image-to-Image Translation. [Link](https://www.mathworks.com/help/images/get-started-with-gans-for-image-to-image-translation.html)
subclass of: Generative Adversarial Network

Image Scanner Input Device
type: Class
definition: An image scanner -- often abbreviated to just scanner, is a device that optically scans images, printed text, handwriting or an object and converts it to a digital image. Commonly used in offices are variations of the desktop flatbed scanner where the document is placed on a glass window for scanning. Hand-held scanners, where the device is moved by hand, have evolved from text scanning "wands" to 3D scanners used for industrial design, reverse engineering, test and measurement, orthotics, gaming and other applications. Mechanically driven scanners that move the document are typically used for large-format documents, where a flatbed design would be impractical.
subclass of: Video Input Device
alternative label: Scanner

Image Segment
type: Class
definition: Image segments are distinct partitions of an object file. Both data and code segments are examples of image segments.
subclass of: Binary Segment
subclass of: File Section

Inbound Internet DNS Response Traffic
type: Class
type: NamedIndividual
definition: Inbound internet DNS response traffic is DNS response traffic from a host outside a given network initiated on an incoming connection to a host inside that network.
subclass of: InboundInternetNetworkTraffic

Indirect Branch Call Analysis
type: Class
type: NamedIndividual
d3fend-id: D3-IBCA
definition: Analyzing vendor specific branch call recording in order to detect ROP style attacks.
kb-article: ## How it works This technique is used to detect an attacker attempting to exploit and execute code on a target system's call stack using return-oriented programming (ROP). Modern processors that have the ability to maintain a list of the branching calls, e.g., Intel's Last Branch Recording (LBR), can be used to track and analyze indirect branching calls that are indicative of malicious activity. In order to reduce the number of indirect branch calls to analyze to a manageable set it is assumed that malicious ROP activity will involve the use of system calls. The technique observes indirect branch calls that are part of paths that lead to system calls, all others are ignored. Branching calls chained together is often referred to as gadgets and gadgets are often used in ROP attacks. Indirect branch calls that involve a transfer from user-space to kernel-space are of interest for this technique. Identification of potential ROP exploit execution includes: - Inspecting the LBR when a system function call is made - The LBR is configured to return only instruction of interest (ret, indirect jmp, indirect calls) - Behavior is analyzed for - Ret instructions that appear to target areas not preceded by the call sites - Sequences of small code fragments that appear to be chained through the indirect branching calls (gadgets) - Of interest are returns that appear to not render control back after calls - Typical ret-call are paired - gadgets will appear to have ret followed by instruction of next instruction of the following gadget ## Considerations * May be operating system dependent since specific system calls are used to scope branching behavoir * Processors need to support access to a Last Branch Recording list feature * The size of the LBR stack can limit the expected size of the analyzed execution stack * If processor does not support LBR then overhead costs for the analysis can be significant
kb-reference: Reference - Indirect Branching Calls
subclass of: ProcessAnalysis

Inferential Statistics
type: Class
type: NamedIndividual
d3fend-id: D3A-IS
definition: Statistical inference is the process of using data analysis to infer properties of an underlying distribution of probability.
kb-article: ## References Wikipedia. (n.d.). Statistical inference. [Link](https://en.wikipedia.org/wiki/Statistical_inference)
subclass of: Statistical Method

Init Script
type: Class
definition: An init script (or initialization script) is an executable script that initializes the an application, a process, or a service's state. Examples include scripts run at boot by Unix or Windows, or those run to initialize a shell.
subclass of: ExecutableScript
alternative label: Initialization Script

Integrated Honeynet
type: Class
type: NamedIndividual
d3fend-id: D3-IHN
definition: The practice of setting decoys in a production environment to entice interaction from attackers.
kb-article: ## How it works Integrated honeynets use full production environments connected to the enterprise network, that utilize computing resources or software that attract attackers, and allow full interaction and access that provides a complete view of an attack. ## Considerations An attacker with control of a system on an Integrated Honeynet could: * try to attack other connected hosts on the network, its IP range of internal hosts not properly configured to react to connections from machines on the integrated honeynet, or position behind the firewall. * exploit its position by eavesdropping on network traffic If an attacker manages to stop the processes used to log an attack without setting off any alarms. [1] 1. Honeypots for Windows, Roger Grimes, 2005
kb-reference: Reference - Synchronizing a honey network configuration to reflect a target network environment - Palo Alto Networks Inc
spoofs: Intranet Network
subclass of: Restriction
  on property: spoofs
  some values from: Intranet Network
subclass of: Decoy Environment

Intranet File Transfer Traffic
type: Class
type: NamedIndividual
definition: Intranet file transfer traffic is file transfer traffic that does not cross a given network's boundaries and uses a standard file transfer protocol.
subclass of: File Transfer Network Traffic
subclass of: IntranetNetworkTraffic

Intranet Multicast Network Traffic
type: Class
type: NamedIndividual
definition: Intranet IPC network traffic is multicast network traffic that does not cross a given network's boundaries.
subclass of: IntranetNetworkTraffic

Intranet Web Network Traffic
type: Class
type: NamedIndividual
definition: Intranet web network traffic is network traffic that does not cross a given network's boundaries and uses a standard web protocol.
may-contain: File
subclass of: Restriction
  on property: may-contain
  some values from: File
subclass of: IntranetNetworkTraffic
subclass of: Web Network Traffic

JavaScript Blob
type: Class
type: NamedIndividual
definition: A JavaScript Blob is a Blob that was created by a JavaScript Blob() constructor call or equivalent function.
subclass of: Binary Large Object

Keyboard Input Device
type: Class
type: NamedIndividual
definition: A computer keyboard is a typewriter-style device which uses an arrangement of buttons or keys to act as mechanical levers or electronic switches. Following the decline of punch cards and paper tape, interaction via teleprinter-style keyboards became the main input method for computers. A keyboard is also used to give commands to the operating system of a computer, such as Windows' Control-Alt-Delete combination. Although on Pre-Windows 95 Microsoft operating systems this forced a re-boot, now it brings up a system security options screen.
subclass of: Input Device
alternative label: Computer Keyboard
alternative label: Keyboard

Legacy System
type: Class
type: NamedIndividual
definition: In computing, a legacy system is an old method, technology, computer system, or application program, "of, relating to, or being a previous or outdated computer system," yet still in use. Often referencing a system as "legacy" means that it paved the way for the standards that would follow it. This can also imply that the system is out of date or in need of replacement.
synonym: Legacy Digital System
subclass of: Digital System

Link
type: Class
subclass of: D3FENDCore
subclass of: DigitalInformationBearer

Load Module
type: Class
type: NamedIndividual
definition: A system call that loads a driver or extension into the kernel.
loads: Hardware Driver
loads: Kernel Module
subclass of: Restriction
  on property: loads
  some values from: Kernel Module
subclass of: Restriction
  on property: loads
  some values from: Hardware Driver
subclass of: SystemCall

Local Area Network Traffic
type: Class
type: NamedIndividual
definition: Intranet local area network (LAN) traffic is network traffic that does not cross a given network's boundaries; where that network is defined as a LAN.
subclass of: IntranetNetworkTraffic

Local Resource Access
type: Class
type: NamedIndividual
accesses: Local Resource
definition: Ephemeral digital artifact comprising a request of a local resource and any response from that resource.
subclass of: Restriction
  on property: accesses
  some values from: Local Resource
subclass of: Resource Access
alternative label: Endpoint Resource Access

Log File
type: Class
type: NamedIndividual
contains: Log
definition: A log file is a file that records either events that occur in an operating system or other software runs, or messages between different users of a communication software. Logging is the act of keeping a log. In the simplest case, messages are written to a single log file. A transaction log is a file (i.e., log) of the communications between a system and the users of that system, or a data collection method that automatically captures the type, content, or time of transactions made by a person from a terminal with that system. For Web searching, a transaction log is an electronic record of interactions that have occurred during a searching episode between a Web search engine and users searching for information on that Web search engine. Many operating systems, software frameworks and programs include a logging system. A widely used logging standard is syslog, defined in Internet Engineering Task Force (IETF) RFC 5424). The syslog standard enables a dedicated, standardized subsystem to generate, filter, record, and analyze log messages. This relieves software developers of having to design and code their own ad hoc logging systems.
subclass of: Restriction
  on property: contains
  some values from: Log
subclass of: File

MacOS Keychain
type: Class
type: NamedIndividual
definition: Keychain is the password management system in macOS, developed by Apple. It was introduced with Mac OS 8.6, and has been included in all subsequent versions of the operating system, now known as macOS. A Keychain can contain various types of data: passwords (for websites, FTP servers, SSH accounts, network shares, wireless networks, groupware applications, encrypted disk images), private keys, certificates, and secure notes.
subclass of: Password Store
alternative label: Keychain

Mathematical Function
type: Class
type: NamedIndividual
definition: Computes mathematical expressions.
subclass of: Subroutine

Memory Boundary Tracking
type: Class
type: NamedIndividual
analyzes: ProcessCodeSegment
d3fend-id: D3-MBT
definition: Analyzing a call stack for return addresses which point to unexpected memory locations.
kb-article: ## How it works This technique monitors for indicators of whether a return address is outside memory previously allocated for an object (i.e. function, module, process, or thread). If so, code that the return address points to is treated as malicious code. ## Considerations Kernel malware can manipulate memory contents, for example modifying pointers to hide processes, and thereby impact the accuracy of memory allocation information used to perform the analysis.
kb-reference: Reference - Inferential exploit attempt detection - Crowdstrike Inc
subclass of: Restriction
  on property: analyzes
  some values from: ProcessCodeSegment
subclass of: OperatingSystemMonitoring

Memory Management Unit
type: Class
type: NamedIndividual
contains: Translation Lookaside Buffer
creates: Virtual Address
definition: A computer’s memory management unit (MMU) is the physical hardware that handles its virtual memory and caching operations. The MMU is usually located within the computer’s central processing unit (CPU), but sometimes operates in a separate integrated chip (IC).
manages: Page Table
manages: Storage
subclass of: Restriction
  on property: manages
  some values from: Storage
subclass of: Restriction
  on property: manages
  some values from: Page Table
subclass of: Restriction
  on property: creates
  some values from: Virtual Address
subclass of: Restriction
  on property: contains
  some values from: Translation Lookaside Buffer
subclass of: Processor Component

Memory Protection Unit
type: Class
type: NamedIndividual
subclass of: Processor Component

Message Encryption
type: Class
type: NamedIndividual
d3fend-id: D3-MENCR
definition: Encrypting a message body using a cryptographic key.
encrypts: User to User Message
kb-article: ## How it works ### Asymmetric Cryptography Asymmetric encryption is typically accomplished using public and private key certificates based on the X.509 standard. The sender encrypts messages using the recipient's public key and the receipt decrypts the message using their private key. Standards that can be used to implement message encryption include S/MIME (Secure/Multipurpose Internet Mail Extensions) and PGP. ### Symmetric Cryptography Symmetric encryption uses the same cryptographic key by both the sender and receiver to encrypt and decrypt a message. Asymmetric key exchange protocols such as Diffie-Hellman can be used to share the cryptographic key with the recipient. ## Considerations - Separate configuration settings to enable message encryption are often needed for each messenger client (e.g. webmail, desktop client, mobile). - Continuous monitoring to ensure private keys are not compromised and the certificate authority (CA) is trusted. - Secure transfer of private keys between multiple devices.
kb-reference: Reference - Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1
subclass of: Restriction
  on property: encrypts
  some values from: User to User Message
subclass of: Message Hardening

Microsoft HTML Application
type: Class
type: NamedIndividual
may-contain: ExecutableScript
subclass of: Restriction
  on property: may-contain
  some values from: ExecutableScript
subclass of: HTML File

Multivariate Analysis
type: Class
type: NamedIndividual
d3fend-id: D3A-MA
definition: Multivariate statistics encompassed the simultaneous observation and analysis of more than one outcome variable, i.e., multivariate random variables.
kb-article: ## References Wikipedia. (n.d.). Multivariate statistics. [Link](https://en.wikipedia.org/wiki/Multivariate_statistics)
subclass of: Statistical Method

Network File Resource
type: Class
type: NamedIndividual
contains: File
definition: A computer file resource made available from one host to other hosts on a computer network.
subclass of: Restriction
  on property: contains
  some values from: File
subclass of: Network File Share Resource

Network Flow
type: Class
type: NamedIndividual
definition: A summarization of network transactions between a client and server. It often summarizes bytes sent, bytes received, and protocol flags.
summarizes: NetworkTraffic
subclass of: Restriction
  on property: summarizes
  some values from: NetworkTraffic
subclass of: Digital Information

Network Init Script File Resource
type: Class
type: NamedIndividual
definition: A computer file resource made available from one host to other hosts on a computer network that is also an initialization script.
subclass of: Init Script
subclass of: Network File Resource

Network Packet
type: Class
type: NamedIndividual
definition: A network packet is a formatted unit of data carried by a packet-switched network. Computer communications links that do not support packets, such as traditional point-to-point telecommunications links, simply transmit data as a bit stream. When data is formatted into packets, packet switching is possible and the bandwidth of the communication medium can be better shared among users than with circuit switching.
subclass of: DigitalInformationBearer

Network Sensor
type: Class
subclass of: Cyber Sensor

Network Traffic Community Deviation
type: Class
type: NamedIndividual
analyzes: NetworkTraffic
d3fend-id: D3-NTCD
definition: Establishing baseline communities of network hosts and identifying statistically divergent inter-community communication.
kb-article: ## How it works Hosts/users within a computer network are analyzed to identify communities of hosts which frequently communicate. Future communications between communities that don't usually communicate can then be detected. For example, if a community of hosts that communicate in support of a company's finance division suddenly starts to access the code server usually accessed only by engineers, this may indicate unauthorized activity. ## Considerations * Potential for false positives in very dynamic network environments. * Attackers that move low and slow may not differentiate their behavior enough to trigger an alert.
kb-reference: Reference - System for implementing threat detection using daily network traffic community outliers - VECTRA NETWORKS Inc
subclass of: Restriction
  on property: analyzes
  some values from: NetworkTraffic
subclass of: NetworkTrafficAnalysis

Network Traffic Policy Mapping
type: Class
type: NamedIndividual
d3fend-id: D3-NTPM
definition: Network traffic policy mapping identifies and models the allowed pathways of data at the network, tranport, and/or application levels.
maps: AccessControlConfiguration
queries: Network Agent
synonym: DLP Policy Mapping
synonym: Firewall Mapping
synonym: IPS Policy Mapping
synonym: Web Security Gateway Policy Mapping
subclass of: Restriction
  on property: maps
  some values from: AccessControlConfiguration
subclass of: Restriction
  on property: queries
  some values from: Network Agent
subclass of: Network Mapping

Network Traffic Signature Analysis
type: Class
type: NamedIndividual
analyzes: NetworkTraffic
d3fend-id: D3-NTSA
definition: Analyzing network traffic and compares it to known signatures
kb-article: ## How it works Network signature analysis relies on predefined patterns, or signatures, to identify malicious network activity. These signatures typically match against specific byte sequences, packet header information, or protocol anomalies indicative of known threats. The process works as follows: * Packet Capture: Network traffic is captured on an interface or port, resulting in a stream of raw packets. * Preprocessing: The captured packets are preprocessed, cleaning and normalizing the data for efficient analysis. * Signature Matching: Each packet is compared against a database of signatures using dedicated engines. ## Considerations ### False Negatives Network signature analysis is susceptible to generating false negatives. These occur when malicious activity evades detection due to limitations in the signature-based approach. Here are some common causes: * Evolving threats: Attackers frequently modify their tactics, rendering existing signatures ineffective against new variants. * Obfuscation: Attackers may disguise malicious content using encryption, encoding, or other techniques to bypass signature detection. * Limited visibility: Signatures rely on specific patterns. If crucial information is encrypted or hidden, the signature might miss the threat. * Zero-day attacks: By definition, new and unknown attacks lack corresponding signatures, allowing them to pass undetected. ### False Positives Network signature analysis is susceptible to generating false positives. These occur when the signature analysis triggers an alert for benign traffic. Common causes include: * Overly broad signatures: Rules designed to be too general might match harmless activities, generating false alarms. * Network misconfigurations: Improperly configured devices or legitimate network activity can mimic malicious patterns, triggering false positives. * Data errors: Corrupted or incomplete network data can lead to misinterpretations and false alerts.
subclass of: Restriction
  on property: analyzes
  some values from: NetworkTraffic
subclass of: NetworkTrafficAnalysis

Network Vulnerability Assessment
type: Class
type: NamedIndividual
d3fend-id: D3-NVA
definition: Network vulnerability assessment relates all the vulnerabilities of a network's components in the context of their configuration and interdependencies and can also include assessing risk emerging from the network's design as a whole, not just the sum of individual network node or network segment vulnerabilities.
evaluates: Network
identifies: Vulnerability
subclass of: Restriction
  on property: evaluates
  some values from: Network
subclass of: Restriction
  on property: identifies
  some values from: Vulnerability
subclass of: Network Mapping

Numeric Pattern Matching
type: Class
type: NamedIndividual
d3fend-id: D3A-NPM
definition: Numeric pattern matching uses a pattern specification and sees if the numeric value matches that pattern--simple forms include exact matching and range matching.
subclass of: Pattern Matching

OS API Connect Socket
type: Class
type: NamedIndividual
invokes: Connect Socket
subclass of: Restriction
  on property: invokes
  some values from: Connect Socket
subclass of: OSAPISystemFunction

OS API Copy Token
type: Class
type: NamedIndividual
invokes: Copy Token
subclass of: Restriction
  on property: invokes
  some values from: Copy Token
subclass of: OSAPISystemFunction

OS API Create Socket
type: Class
type: NamedIndividual
invokes: Create Socket
subclass of: Restriction
  on property: invokes
  some values from: Create Socket
subclass of: OSAPISystemFunction

OS API Exec
type: Class
type: NamedIndividual
invokes: Exec
subclass of: Restriction
  on property: invokes
  some values from: Exec
subclass of: OSAPISystemFunction

OS API Get Thread Context
type: Class
type: NamedIndividual
invokes: Get Thread Context
subclass of: Restriction
  on property: invokes
  some values from: Get Thread Context
subclass of: OSAPISystemFunction

OS API Resume Process
type: Class
type: NamedIndividual
invokes: Resume Process
subclass of: Restriction
  on property: invokes
  some values from: Resume Process
subclass of: OSAPISystemFunction

OS API Resume Thread
type: Class
type: NamedIndividual
invokes: Resume Thread
subclass of: Restriction
  on property: invokes
  some values from: Resume Thread
subclass of: OSAPISystemFunction

OS API Set Thread Context
type: Class
type: NamedIndividual
invokes: Set Thread Context
subclass of: Restriction
  on property: invokes
  some values from: Set Thread Context
subclass of: OSAPISystemFunction

OS API Trace Thread
type: Class
type: NamedIndividual
invokes: Trace Thread
subclass of: Restriction
  on property: invokes
  some values from: Trace Thread
subclass of: OSAPISystemFunction

Operating System Executable File
type: Class
type: NamedIndividual
definition: An operating system executable is a critical executable that is part of the operating system, and without which, the operating system may not operate correctly.
subclass of: OperatingSystemFile

Operating System Log File
type: Class
type: NamedIndividual
definition: An operating system log file records events that occur in an operating system
subclass of: Log File
subclass of: OperatingSystemFile

Operating System Shared Library File
type: Class
type: NamedIndividual
definition: An operating system shared library file is a shared library file that is part of the operating system and that incorporates common operating system code for use by any application or to provide operating system services.
subclass of: OperatingSystemFile
subclass of: SharedLibraryFile

Orchestration Server
type: Class
definition: A d3f:Server which is involved with the orchestration of workloads or the execution of orchestrated workloads.
subclass of: Server

Outbound Internet Encrypted Remote Terminal Traffic
type: Class
type: NamedIndividual
definition: Outbound internet encrypted remote terminal traffic is encrypted network traffic for a standard remote terminal protocol on an outgoing connection initiated from a host within a network to a host outside the network.
subclass of: OutboundInternetEncryptedTraffic
alternative label: Outbound Internet Encrypted RDP Traffic
alternative label: Outbound Internet Encrypted SSH Traffic

Outbound Internet File Transfer Traffic
type: Class
type: NamedIndividual
contains: File
definition: Outbound internet file transfer traffic is file transfer traffic that is: (a) on an outgoing connection initiated from a host within a network to a host outside the network, and (b) using a standard file transfer protocol.
subclass of: Restriction
  on property: contains
  some values from: File
subclass of: File Transfer Network Traffic
subclass of: OutboundInternetNetworkTraffic
subclass of: Outbound Network Traffic

Outbound Internet Mail Traffic
type: Class
type: NamedIndividual
definition: Outbound internet DNS lookup traffic is network traffic using a standard email protocol on an outgoing connection initiated from a host within a network to a host outside the network.
subclass of: OutboundInternetNetworkTraffic
alternative label: Outbound Internet Email Traffic

Page Frame
type: Class
type: NamedIndividual
contained-by: Primary Storage
definition: A page frame is the smallest fixed-length contiguous block of physical memory into which memory pages are mapped by the operating system.
subclass of: Restriction
  on property: contained-by
  some values from: Primary Storage
subclass of: MemoryBlock

Page Table
type: Class
type: NamedIndividual
contains: Physical Address
contains: Virtual Address
definition: A page table is the data structure used by the MMU in a virtual memory computer system to store the mapping between virtual addresses (virtual pages) and physical addresses (page frames).
subclass of: Restriction
  on property: contains
  some values from: Virtual Address
subclass of: Restriction
  on property: contains
  some values from: Physical Address
subclass of: DigitalInformationBearer

Passive Logical Link Mapping
type: Class
type: NamedIndividual
d3fend-id: D3-PLLM
definition: Passive logical link mapping only listens to network traffic as a means to map the the whole data link layer, where the links represent logical data flows rather than physical connections.
kb-reference: Reference - Tenable Passive Network Monitoring
synonym: Passive Logical Layer Mapping
subclass of: Logical Link Mapping

Pattern Matching
type: Class
type: NamedIndividual
d3fend-id: D3A-PM
definition: Pattern matching is the act of checking a given sequence of tokens for the presence of the constituents of some pattern.
kb-article: ## References 1. Pattern matching. (2023, May 20). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Pattern_matching)
subclass of: Logical Rules

Per Host Download-Upload Ratio Analysis
type: Class
type: NamedIndividual
analyzes: NetworkTraffic
d3fend-id: D3-PHDURA
definition: Detecting anomalies that indicate malicious activity by comparing the amount of data downloaded versus data uploaded by a host.
kb-article: ## How it works Aggregate pull vs. push ratios from metadata are used to develop a baseline for a given host over a specific time period, e.g., over a three-hour period, one day, one week, etc. Anomalies identified over a threshold produce an alert. ## Considerations Collection and analysis of large network packet captures requires large storage and intensive computing power. The time windows used to calculate the ratio may vary in implementations, this consideration should take into account a threat model and likely effects (impacts) delivered by an adversary.
kb-reference: Reference - System for detecting threats using scenario-based tracking of internal and external network traffic - VECTRA NETWORKS Inc
subclass of: Restriction
  on property: analyzes
  some values from: NetworkTraffic
subclass of: NetworkTrafficAnalysis

Physical Address
type: Class
type: NamedIndividual
definition: In a computer supporting virtual memory, the term physical address is used mostly to differentiate from a virtual address. In particular, in computers utilizing a memory management unit(MMU) to translate memory addresses, the virtual and physical addresses refer to an address before and after translation performed by the MMU, respectively.
subclass of: Memory Address

Physical Link
type: Class
type: NamedIndividual
definition: A physical link is a dedicated connection for communication that uses some physical media (electrical, electromagnetic, optical, to include clear spaces or vacuums.) A physical link represents only a single hop (link) in any larger communcations path, circuit, or network. NOTE: not synonymous with data link as a data link can be over a telecommunications circuit, which may be a virtual circuit composed of multiple phyical links.
synonym: Layer-1 Link
subclass of: Link

Pointer Dereferencing Function
type: Class
type: NamedIndividual
addresses: MemoryBlock
addresses: Pointer
definition: A function which has an operation which dereferences a pointer.
comment: Note, this is not the actual code which performs the dereferencing operation internal to an application runtime.
subclass of: Restriction
  on property: addresses
  some values from: MemoryBlock
subclass of: Restriction
  on property: addresses
  some values from: Pointer
subclass of: Subroutine

PowerShell Profile Script
type: Class
type: NamedIndividual
definition: A PowerShell profile script is a script that runs when PowerShell starts and can be used as a logon script to customize user environments.
subclass of: User Init Script

Predicate Logic
type: Class
type: NamedIndividual
d3fend-id: D3A-PL
definition: Predicate logic is is collection of formal systems used in mathematics, philosophy, linguistics, and computer science. First-order logic and Higher-order logic both incorporate predicate logic.
kb-article: ## References 1. First-order logic. (2023, May 26). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/First-order_logic) 2. Higher-order logic. (2023, May 13) [Link](https://en.wikipedia.org/wiki/Higher-order_logic)
subclass of: Symbolic AI

Private Key
type: Class
type: NamedIndividual
definition: A private key can be used to decrypt messages encrypted using the corresponding public key, or used to sign a message that can be authenticated with the corresponding public key.
subclass of: Asymmetric Key

Process Environment Variable
type: Class
type: NamedIndividual
definition: An environment variable is a dynamic-named value that can affect the way running processes will behave on a computer. They are part of the environment in which a process runs.
subclass of: ApplicationConfiguration
alternative label: Environment Variable

Process Self-Modification Detection
type: Class
type: NamedIndividual
analyzes: Process
d3fend-id: D3-PSMD
definition: Detects processes that modify, change, or replace their own code at runtime.
kb-article: ## How it Works A security agent installed on the host machine intercepts API calls between a process and operating system. Intercepted API calls are then compared against attack signatures/patterns to identify API calls that modify executable memory or modify the entry point address of a suspended child process. Attack patterns include: * Executable code of a suspended child process removed from memory by one or more API calls. * New executable code injected and / or loaded into memory of a suspended child process by one or more API calls. * Executable code modified by one or more API calls. * Next instruction pointer value in memory modified by one or more API calls. ## Considerations Comparing loaded code segments of processes with what is expected to have been loaded from a file can result in false positives, due to legitimate uses of self-modification for decrypting or uncompressing code segments.
kb-reference: Reference - System and Method for Process Hollowing Detection - Carbon Black Inc
subclass of: Restriction
  on property: analyzes
  some values from: Process
subclass of: ProcessAnalysis

Process Start Function
type: Class
type: NamedIndividual
definition: A function creates a new computer process, usually by invoking a create process system call.
invokes: CreateProcess
subclass of: Restriction
  on property: invokes
  some values from: CreateProcess
subclass of: Subroutine

Process Suspension
type: Class
type: NamedIndividual
d3fend-id: D3-PS
definition: Suspending a running process on a computer system.
kb-article: ## How it works A running process might be suspended to mitigate its immediate effects if it is exhibiting anomalous, unauthorized, or malicious behavior. Defenders may choose to suspend rather than terminate to analyze the process first and resume the process if deemed benign. ### System-provided functions #### Windows tools In Windows, the `PsSuspend` command line utility from the SysInternals Suite provides functionality to suspend processes on a local or remote system.
kb-reference: Reference - PsSuspend - Microsoft
suspends: Process
subclass of: Restriction
  on property: suspends
  some values from: Process
subclass of: Process Eviction

Process Tree
type: Class
type: NamedIndividual
contains: Process
definition: A process tree is a tree structure representation of parent-child relationships established via process spawn operations.
subclass of: Restriction
  on property: contains
  some values from: Process
subclass of: DigitalInformationBearer

Processor
type: Class
synonym: Computer Processor
subclass of: HardwareDevice

Processor Component
type: Class
subclass of: HardwareDevice

Proxy Server
type: Class
definition: In computer networking, a proxy server is a server application or appliance that acts as an intermediary for requests from clients seeking resources from servers that provide those resources. A proxy server thus functions on behalf of the client when requesting service, potentially masking the true origin of the request to the resource server.
subclass of: Computer Network Node
subclass of: Server

RF Transmitter
type: Class
type: NamedIndividual
subclass of: RF Node

Read Memory
type: Class
type: NamedIndividual
reads: MemoryBlock
subclass of: Restriction
  on property: reads
  some values from: MemoryBlock
subclass of: SystemCall

Recurrent Neural Network
type: Class
type: NamedIndividual
d3fend-id: D3A-RNN
definition: Recurrent Nerual Networks (RNN) are a class of artificial neural networks where connections between nodes can create a cycle, allowing output from some nodes to affect subsequent input to the same nodes. This allows it to exhibit temporal dynamic behavior.
kb-article: ## References Wikipedia. (2021, September 7). Recurrent Neural Network. [Link](https://en.wikipedia.org/wiki/Recurrent_neural_network)
subclass of: Deep Neural Network Classification

Reference - Account monitoring - Forescout Technologies
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20190205511A1
kb-abstract: Systems, methods, and related technologies for account access monitoring are described. In certain aspects, a login request associated with a device can be analyzed and a score determined. The score and a threshold can be used to determine whether to initiate an action.
kb-author: Chunhui Zhan, Siying Yang
kb-organization: Forescout Technologies
kb-reference-of: AccountLocking
kb-reference-title: Account monitoring

Reference - Active firewall system and methodology - McAfee LLC
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US6550012B1
kb-abstract: System and methodology providing automated or "proactive" network security ("active" firewall) are described. The system implements methodology for verifying or authenticating communications, especially between network security components thereby allowing those components to share information. In one embodiment, a system implementing an active firewall is provided which includes methodology for verifying or authenticating communications between network components (e.g., sensor(s), arbiter, and actor(s)), using cryptographic keys or digital certificates. Certificates may be used to digitally sign a message or file and, in a complementary manner, to verify a digital signature. At the outset, particular software components that may participate in authenticated communication are specified, including creating a digital certificate for each such software component. Upon detection by a sensor that an event of interest that has occurred in the computer network system, the system may initiate authenticated communication between the sensor component and a central arbiter (e.g., "event orchestrator") component, so that the sensor may report the event to the arbiter or "brain." Thereafter, the arbiter (if it chooses to act on that information) initiates authenticated communication between itself and a third software component, an "actor" component (e.g., "firewall"). The arbiter may indicate to the actor how it should handle the event. The actor or firewall, upon receiving the information, may now undertake appropriate action, such as dynamically creating or modifying rules for appropriately handling the event, or it may choose to simply ignore the information.
kb-author: Emilio Villa, Adrian Zidaritz, Michael David Varga, Gerhard Eschelbeck, Michael Kevin Jones, Mark James McArdle
kb-organization: McAfee LLC
kb-reference-of: InboundTrafficFiltering
kb-reference-title: Active firewall system and methodology

Reference - Audit User Account Management
type: GuidelineReference
type: NamedIndividual
has-link: https://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/audit-user-account-management
kb-abstract: Audit User Account Management determines whether the operating system generates audit events when specific user account management tasks are performed.
kb-organization: Microsoft
kb-reference-of: DomainAccountMonitoring
kb-reference-of: LocalAccountMonitoring
kb-reference-title: Audit User Account Management

Reference - CAR-2013-01-002: Autorun Differences - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-01-002/
kb-abstract: The Sysinternals tool Autoruns checks the registry and file system for known identify persistence mechanisms. It will output any tools identified, including built-in or added-on Microsoft functionality and third party software. Many of these locations are known by adversaries and used to obtain Persistence. Running Autoruns periodically in an environment makes it possible to collect and monitor its output for differences, which may include the removal or addition of persistent tools. Depending on the persistence mechanism and location, legitimate software may be more likely to make changes than an adversary tool. Thus, this analytic may result in significant noise in a highly dynamic environment. While Autoruns is a convenient method to scan for programs using persistence mechanisms its scanning nature does not conform well to streaming based analytics. This analytic could be replaced with one that draws from sensors that collect registry and file information if streaming analytics are desired. Utilizes the Sysinternals autoruns tool (ignoring validated Microsoft entries). Primarily not a detection analytic by itself but through analysis of results by an analyst can be used for such. Building another analytic on top of this one identifying unusual entries would likely be a beneficial alternative.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: System File Analysis
kb-reference-title: CAR-2013-01-002: Autorun Differences

Reference - CAR-2020-11-001: Boot or Logon Initialization Scripts - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2020-11-001/
kb-abstract: Adversaries may schedule software to run whenever a user logs into the system; this is done to establish persistence and sometimes for lateral movement. This trigger is established through the registry key HKEY_CURRENT_USER\EnvironmentUserInitMprLogonScript. This signature looks edits to existing keys or creation of new keys in that path. Users purposefully adding benign scripts to this path will result in false positives; that case is rare, however. There are other ways of running a script at startup or login that are not covered in this signature. Note that this signature overlaps with the Windows Sysinternals Autoruns tool, which would also show changes to this registry path.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: System Init Config Analysis
kb-reference-title: CAR-2020-11-001: Boot or Logon Initialization Scripts

Reference - CAR-2021-05-003: BCDEdit Failure Recovery Modification - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2021-05-003/
kb-abstract: This search looks for flags passed to bcdedit.exe modifications to the built-in Windows error recovery boot configurations. This is typically used by ransomware to prevent recovery.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2021-05-003: BCDEdit Failure Recovery Modification

Reference - CAR-2016-03-002: Create Remote Process via WMIC - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2016-03-002/
kb-abstract: Adversaries may use Windows Management Instrumentation (WMI) to move laterally, by launching executables remotely.The analytic CAR-2014-12-001 describes how to detect these processes with network traffic monitoring and process monitoring on the target host. However, if the command line utility wmic.exe is used on the source host, then it can additionally be detected on an analytic. The command line on the source host is constructed into something like wmic.exe /node:"\<hostname\>" process call create "\<command line\>". It is possible to also connect via IP address, in which case the string "\<hostname\>" would instead look like IP Address. Although this analytic was created after CAR-2014-12-001, it is a much simpler (although more limited) approach. Processes can be created remotely via WMI in a few other ways, such as more direct API access or the built-in utility PowerShell.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-of: RPC Traffic Analysis
kb-reference-title: CAR-2016-03-002: Create Remote Process via WMIC

Reference - Database for receiving, storing and compiling information about email messages
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20050091319A1/
kb-author: Steven Kirsch
kb-reference-of: Domain Name Reputation Analysis
kb-reference-of: IP Reputation Analysis
kb-reference-title: Database for receiving, storing and compiling information about email messages

Reference - Decoy and deceptive data object technology - Cymmetria Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20170134423A1
kb-abstract: A computer implemented method of detecting unauthorized access to a protected network by monitoring a dynamically updated deception environment, comprising launching, on one or more decoy endpoints, one or more decoy operating system (OS) managing one or more of a plurality of deception applications mapping a plurality of applications executed in a protected network, updating dynamically a usage indication for a plurality of deception data objects deployed in the protected network to emulate usage of the plurality of deception data objects for accessing the deception application(s) wherein the plurality of deception data objects are configured to trigger an interaction with the deception application(s) when used, detecting usage of data contained in the deception data object(s) by monitoring the interaction and identifying one or more potential unauthorized operations based on analysis of the detection.
kb-author: Dean Sysman; Gadi Evron; Imri Goldberg; Itamar Sher; Shmuel Ur
kb-organization: Cymmetria Inc
kb-reference-of: Decoy Session Token
kb-reference-of: Decoy User Credential
kb-reference-title: Decoy and deceptive data object technology

Reference - Detecting script-based malware - Crowdstrike Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20190188384A1
kb-abstract: Described herein are systems, techniques, and computer program products for preventing execution, by a scripting engine, of harmful commands that may be introduced by computer malware or other mechanisms. The system identifies certain host processes that may attempt to utilize a hosted scripting engine. An unmanaged interface module is injected into an identified host process. The unmanaged interface module is configured to detect certain conditions indicating the likelihood that a scripting engine will be instantiated, and in response to inject a managed interface module into the host process. The managed interface module hooks into certain methods of the scripting engine to intercept commands before they are executed by the scripting engine. The managed and unmanaged interface components then communicate with a kernel-mode threat detection component to determine whether any commands should be blocked.
kb-author: Ion-Alexandru IONESCU; Satoshi Tanda
kb-mitre-analysis: The patent describes techniques that can be implemented to detect and block malicious commands and command scripts from being executed by scripting engines. ### Script Execution Monitoring explanation This patent describes software installed on the host system that hooks into methods of a scripting engine to intercept commands before they are executed and block commands if they are determined to be harmful. For example regular expression checking may be used to identify commands having malicious patterns. Expression checking may be used for script files as well as interactively - typed commands. ### File Content Signatures explanation This patent includes File Content Signatures because in the case of a script file, a hash of the file is compared against hashes of known malicious script files to determine whether the script file is malicious.
kb-organization: Crowdstrike Inc
kb-reference-of: FileContentRules
kb-reference-of: Script Execution Analysis
kb-reference-title: Detecting script-based malware

Reference - RFC 6376: DomainKeys Identified Mail (DKIM) Signatures - IETF
type: SpecificationReference
type: NamedIndividual
has-link: https://tools.ietf.org/html/rfc6376
kb-abstract: DomainKeys Identified Mail (DKIM) permits a person, role, or organization that owns the signing domain to claim some responsibility for a message by associating the domain with the message. This can be an author's organization, an operational relay, or one of their agents. DKIM separates the question of the identity of the Signer of the message from the purported author of the message. Assertion of responsibility is validated through a cryptographic signature and by querying the Signer's domain directly to retrieve the appropriate public key. Message transit from author to recipient is through relays that typically make no substantive change to the message content and thus preserve the DKIM signature.
kb-author: D. Crocker, T. Hansen, M. Kucherawy
kb-organization: Internet Engineering Task Force (IETF)
kb-reference-of: Transfer Agent Authentication
kb-reference-title: RFC 6376: DomainKeys Identified Mail (DKIM) Signatures

Reference - Dynamic selection and generation of a virtual clone for detonation of suspicious content within a honey network - Palo Alto Networks Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US9882929B1/en
kb-abstract: Techniques for dynamic selection and generation of detonation location of suspicious content with a honey network are disclosed. In some embodiments, a system for dynamic selection and generation of detonation location of suspicious content with a honey network includes a virtual machine (VM) instance manager that manages a plurality of virtual clones executed in an instrumented VM environment, in which the plurality of virtual clones executed in the instrumented VM environment correspond to the honey network that emulates a plurality of devices in an enterprise network; and an intelligent malware detonator that detonates a malware sample in at least one of the plurality of virtual clones executed in the instrumented VM environment.
kb-author: Taylor Ettema; Huagang Xie
kb-organization: Palo Alto Networks Inc
kb-reference-of: Decoy Network Resource
kb-reference-of: Standalone Honeynet
kb-reference-title: Dynamic selection and generation of a virtual clone for detonation of suspicious content within a honey network

Reference - Eviction Guidance for Networks Affected by the SolarWinds and Active Directory/M365 Compromise - CISA
type: InternetArticleReference
type: NamedIndividual
has-link: https://www.cisa.gov/news-events/analysis-reports/ar21-134a
kb-organization: CISA
kb-reference-of: Credential Rotation
kb-reference-of: DNS Cache Eviction
kb-reference-title: Eviction Guidance for Networks Affected by the SolarWinds and Active Directory/M365 Compromise

Reference - FWTK - Firewall Toolkit
type: InternetArticleReference
type: NamedIndividual
has-link: https://blogs.gartner.com/john_pescatore/2008/10/02/this-week-in-network-security-history-the-firewall-toolkit/
kb-abstract: delivered to DARPA in ~1993
kb-reference-title: FWTK - Firewall Toolkit

Reference - Firewall for interent access - Secure Computing LLC
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/GB2317539A
kb-abstract: Regulating the flow of internetwork connections through a firewall (10) having a network protocol stack (14,16,18) which includes an Internet Protocol (IP) layer (16). A determination is made of the parameters characteristic of a connection request, including a netelement parameter characteristic of where the connection request came from. A query is generated and a determination is made whether there is a rule corresponding to that query. If there is a rule corresponding to the query, a determination is made whether authentication is required by the rule. If authentication is required by the rule, an authentication protocol is activated and the connection is activated if the authentication protocol is completed successfully.
kb-author: Edward B Stockwell, Alan E Klietz
kb-organization: Secure Computing LLC
kb-reference-of: InboundTrafficFiltering
kb-reference-title: Firewall for interent access

Reference - Firewall for processing a connectionless network packet - National Security Agency
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US7073196B1
kb-abstract: The present invention is a device for and method of accessing a network by initializing a database, an approved list, and a disapproved list; receiving an connectionless network packet; computing a flow tag based on the connectionless network packet; discarding the connectionless network packet and returning to the second step if the flow tag is on the disapproved list; allowing access to the network and returning to the second step if the flow tag is on the approved list; comparing the flow tag to the database if the flow tag is not on the approved list or the disapproved list; discarding the connectionless network packet, adding the flow tag to the disapproved list, and returning to the second step if the database rejects the flow tag; and allowing access to the network, adding the flow tag to the approved list, and returning to the second step if the database accepts the flow tag.
kb-author: Patrick W. Dowd, John T. McHenry
kb-organization: National Security Agency
kb-reference-of: InboundTrafficFiltering
kb-reference-title: Firewall for processing a connectionless network packet

Reference - Firewall for processing connection-oriented and connectionless datagrams over a connection-oriented network - National Security Agency
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US6615358B1
kb-abstract: The present invention is a device for and method of accessing an information network by initializing a database, an ATM approved list, an IP approved list, and an IP disapproved list; receiving a datagram; discarding the datagram if it is not on the ATM approved list; determining the datagram's type; allowing access to the network and comparing the connection request, if any, to the database if the datagram is ATM signaling; discarding the datagram if the datagram is ATM signaling and the database denies the request; adding the request to the ATM approved list if the datagram is ATM signaling and the database allows the request; allowing access to the network if the datagram is ATM data that excludes IP data and the request is on the ATM approved list; computing a flow tag if the datagram is ATM data that includes IP data; discarding the datagram if the flow tag is on the IP disapproved list; allowing access to the network if the flow tag is on the IP approved list; comparing the flow tag to the database if the flow tag is neither on the IP approved list nor on the IP disapproved list; discarding the datagram and adding the flow tag to the IP disapproved list if the database rejects the flow tag; and allowing access to the network and adding the flow tag to the corresponding approved list if the database accepts the flow tag; and performing these steps on the next datagram
kb-author: Patrick W. Dowd, John T. McHenry
kb-organization: National Security Agency
kb-reference-of: InboundTrafficFiltering
kb-reference-title: Firewall for processing connection-oriented and connectionless datagrams over a connection-oriented network

Reference - Firewalls that filter based upon protocol commands - Intel Corp
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US6832256B1
kb-abstract: Data transfer is controlled between a first network and a second network of computers by a firewall-proxy combination. Active interpretation of protocol commands exchanged between the first network and the second network is performed to determine specific actions concerning completion of the protocol request. This active firewall-proxy combination may exist on either the first or second network of computers. This method of control provides centralized control and administration for all potentially reachable resources within a network.
kb-author: James E. Toga
kb-organization: Intel Corp
kb-reference-of: InboundTrafficFiltering
kb-reference-title: Firewalls that filter based upon protocol commands

Reference - Firmware Verification Trapezoid
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US9674183B2/en
kb-abstract: A trust control management method for security, operable on a computer system generates a unique Trust ID value by combining user-defined values with hardware-specific values associated with the user's computer system and storing the Trust ID value in a memory register physically associated with the hardware of the computer system.
kb-author: Michael J. Dyer, Jose E. Gonzalez, Albert Caballero
kb-organization: Trapezoid, Inc
kb-reference-of: FirmwareVerification
kb-reference-title: System and method for hardware-based trust control management

Reference - Identification of traceroute nodes and associated devices
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US10079749B2/en
kb-abstract: Various embodiments pertain to communication network systems. In particular, various embodiments relate to multi-path probing in communication network systems that can be used to estimate the complete topology of the network. A method includes receiving data at a source node from a tracerouting probe in a network. The data includes information about at least one network node. The method also includes determining an identification for the at least one network node based on information. In addition, the method includes using the identification of the at least one network node to determine an identification of at least one device.
kb-author: Tomas KUBIK, Lan Li, Tomas RYBKA, Karlo ZATYLNY, Chris O'Brien
kb-organization: SolarWinds Worldwide LLC
kb-reference-title: Identification of traceroute nodes and associated devices

Reference - Libre NMS - Network Map Extension
type: UserManualReference
type: NamedIndividual
has-link: https://docs.librenms.org/Extensions/Network-Map/
kb-abstract: LibreNMS has the ability to show you a network map based on: * xDP Discovery * MAC addresses
kb-organization: LibreNMS.org
kb-reference-of: Network Mapping
kb-reference-title: Libre NMS - Network Map Extension

Reference - CAR-2019-07-002: Lsass Process Dump via Procdump - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2019-07-002/
kb-abstract: ProcDump is a sysinternal command-line utility whose primary purpose is monitoring an application for CPU spikes and generating crash dumps during a spike that an administrator or developer can use to determine the cause of the spike. ProcDump may be used to dump the memory space of lsass.exe to disk for processing with a credential access tool such as Mimikatz. This is performed by launching procdump.exe as a privileged user with command line options indicating that lsass.exe should be dumped to a file with an arbitrary name.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessSpawnAnalysis
kb-reference-title: CAR-2019-07-002: Lsass Process Dump via Procdump

Reference - Malware detection using local computational models - Crowdstrike Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20190026466A1
kb-abstract: Example techniques herein determine that a trial data stream is associated with malware ("dirty") using a local computational model (CM). The data stream can be represented by a feature vector. A control unit can receive a first, dirty feature vector (e.g., a false miss) and determine the local CM based on the first feature vector. The control unit can receive a trial feature vector representing the trial data stream. The control unit can determine that the trial data stream is dirty if a broad CM or the local CM determines that the trial feature vector is dirty. In some examples, the local CM can define a dirty region in a feature space. The control unit can determine the local CM based on the first feature vector and other clean or dirty feature vectors, e.g., a clean feature vector nearest to the first feature vector.
kb-author: Sven Krasser,David Elkind, Patrick Crenshaw, Kirby James Koster
kb-organization: Crowdstrike Inc
kb-reference-of: Process Termination
kb-reference-title: Malware detection using local computational models

Reference - Method for controlling computer network security - Checkpoint Software Technologies Ltd
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/EP0658837B1/
kb-abstract: A method of operating a security system for a computer network in which data is passed in said network as data packets, said system controlling the passage of said data packets in the network according to a security rule, where each aspect of said network controlled by said security rule has been defined, said security rule has been defined in terms of said aspects and converted into a set of filter language instructions.
kb-author: Gil Shwed
kb-organization: Checkpoint Software Technologies Ltd
kb-reference-of: InboundTrafficFiltering
kb-reference-title: Method for controlling computer network security

Reference - NIST Special Publication 800-53A Revision 5 - Assessing Security and Privacy Controls in Information Systems and Organizations
type: GuidelineReference
type: NamedIndividual
has-link: https://doi.org/10.6028/NIST.SP.800-53Ar5
kb-abstract: This publication provides a methodology and set of procedures for conducting assessments of security and privacy controls employed within systems and organizations within an effective risk management framework. The assessment procedures, executed at various phases of the system development life cycle, are consistent with the security and privacy controls in NIST Special Publication 800-53, Revision 5. The procedures are customizable and can be easily tailored to provide organizations with the needed flexibility to conduct security and privacy control assessments that support organizational risk management processes and are aligned with the stated risk tolerance of the organization. Information on building effective security and privacy assessment plans is also provided with guidance on analyzing assessment results.
kb-organization: NIST
kb-reference-of: Operational Risk Assessment
kb-reference-title: NIST Special Publication 800-53A Revision 5 - Assessing Security and Privacy Controls in Information Systems and Organizations

Reference - Near-Memory & In-Memory Detection of Fileless Malware
type: AcademicPaperReference
type: NamedIndividual
has-link: https://web.inf.ufpr.br/mazalves/wp-content/uploads/sites/13/2021/03/memsys2020.pdf
kb-abstract: Fileless malware are recent threats to computer systems that load directly into memory, and whose aim is to prevent anti-viruses (AVs) from successfully matching byte patterns against suspicious files written on disk. Their detection requires that software-based AVs continuously scan memory, which is expensive due to repeated locks and polls. However, research advances introduced near-memory and in-memory processing, which allow memory controllers to trigger basic computations without moving data to the CPU. In this paper, we address AVs performance overhead by moving them to the hardware, i.e., we propose instrumenting processors’ memory controller or smart memories (near- and in-memory malware detection, respectively) to accelerate memory scanning procedures. To do so, we present MINI-ME, the Malware Identification based on Near- and In-Memory Evaluation mechanism, a hardware-based AV accelerator that interrupts the program’s execution if malicious patterns are discovered in their memory. We prototyped MINI-ME in a simulator and tested it with a set of 21 thousand in-the-wild malware samples, which resulted in multiple signatures matching with less than 1% of performance overhead and rates of 100% detection, and zero false-positives and false-negatives.
kb-author: Marcus Botacin, André Grégio, Marco Antonio Zanata Alves
kb-reference-of: Host Shutdown
kb-reference-title: Near-Memory & In-Memory Detection of Fileless Malware

Reference - Network-level polymorphic shellcode detection using emulation
type: AcademicPaperReference
type: NamedIndividual
has-link: https://www.cs.unc.edu/~fabian/course_papers/polymorphic-detect.pdf
kb-author: Michalis Polychronakis
kb-reference-of: Byte Sequence Emulation
kb-reference-title: Network-level polymorphic shellcode detection using emulation

Reference - Network firewall with proxy - Secure Computing LLC
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/GB2318031A
kb-abstract: A proxy which is part of a firewall controls exchanges of information between two application entities. The proxy interrogates attempts to establish a communication session by requesting entities with a server entity in lower layers in accordance with defined authentication procedures. The Proxy interfaces with networking software to direct a communication stack to monitor connection requests to any address on specific ports. The requestor's address, and the server's address are checked against a access control list. If either address is invalid, the proxy closes the connection. If both are valid, a new connection is setup such that both the requestor and server are transparently connected to the proxy with variable higher levels being connected in a relay mode. Protocol data units are interrogated for conformance to a protocol session, and optionally further decoded to add additional application specific filtering. In one embodiment, an OSI architecture comprises the levels.
kb-author: Michael W Green, Ricky Ronald Kruse
kb-organization: Secure Computing LLC
kb-reference-of: InboundTrafficFiltering
kb-reference-title: Network firewall with proxy

Reference - Overview of the seccomp sandbox
type: InternetArticleReference
type: NamedIndividual
has-link: https://code.google.com/archive/p/seccompsandbox/wikis/overview.wiki
kb-reference-of: System Call Filtering
kb-reference-title: Overview of the seccomp sandbox

Reference - Platform Firmware Resiliency Guidelines - NIST
type: GuidelineReference
type: NamedIndividual
has-link: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-193.pdf
kb-abstract: This document provides technical guidelines and recommendations supporting resiliency of platform firmware and data against potentially destructive attacks. The platform is a collection of fundamental hardware and firmware components needed to boot and operate a system. A successful attack on platform firmware could render a system inoperable, perhaps permanently, or requiring reprogramming by the original manufacturer, resulting in significant disruptions to users. The technical guidelines in this document promote resiliency in the platform by describing security mechanisms for protecting the platform against unauthorized changes, detecting unauthorized changes that occur, and recovering from attacks rapidly and securely. Implementers, including Original Equipment Manufacturers (OEMs) and component/device suppliers, can use these guidelines to build stronger security mechanisms into platforms. System administrators, security professionals, and users can use this document to guide procurement strategies and priorities for future systems.
kb-author: NIST
kb-organization: NIST
kb-reference-of: FirmwareVerification
kb-reference-title: Platform Firmware Resiliency Guidelines

Reference - CAR-2014-12-001: Remotely Launched Executables via WMI - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2014-12-001/
kb-abstract: Adversaries can use Windows Management Instrumentation (WMI) to move laterally by launching executables remotely. For adversaries to achieve this, they must open a WMI connection to a remote host. This RPC activity is currently detected by CAR-2014-11-007. After the WMI connection has been initialized, a process can be remotely launched using the command: wmic /node:"<hostname>" process call create "<command line>", which is detected via CAR-2016-03-002. This leaves artifacts at both a network (RPC) and process (command line) level. When wmic.exe (or the schtasks API) is used to remotely create processes, Windows uses RPC (135/tcp) to communicate with the the remote machine. After RPC authenticates, the RPC endpoint mapper opens a high port connection, through which the schtasks Remote Procedure Call is actually implemented. With the right packet decoders, or by looking for certain byte streams in raw data, these functions can be identified. When the command line is executed, it has the parent process of C:\windows\system32\wbem\WmiPrvSE.exe. This analytic looks for these two events happening in sequence, so that the network connection and target process are output.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: ProcessLineageAnalysis
kb-reference-of: RPC Traffic Analysis
kb-reference-title: CAR-2014-12-001: Remotely Launched Executables via WMI

Reference - CAR-2013-09-003: SMB Session Setups - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-09-003/
kb-abstract: Account usage within SMB can be used to identify compromised credentials, and the hosts accessed with them. This analytic monitors SMB activity that deals with user activity rather than file activity.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: Authorization Event Thresholding
kb-reference-of: IPC Traffic Analysis
kb-reference-title: CAR-2013-09-003: SMB Session Setups

Reference - CAR-2014-03-001: SMB Write Request - NamedPipes - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2014-03-001/
kb-abstract: An SMB write can be an indicator of lateral movement, especially when combined with other information such as execution of that written file. Named pipes are a subset of SMB write requests. Named pipes such as msftewds may not be alarming; however others, such as lsarpc, may. Monitoring SMB write requests still creates some noise, particularly with named pipes. As a result, SMB is now split between writing named pipes and writing other files.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: IPC Traffic Analysis
kb-reference-of: RPC Traffic Analysis
kb-reference-title: CAR-2014-03-001: SMB Write Request - NamedPipes

Reference - Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1
type: SpecificationReference
type: NamedIndividual
has-link: https://tools.ietf.org/html/rfc3851
kb-organization: Internet Engineering Task Force (IETF)
kb-reference-title: Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1 Message Specification

Reference - Securing Web Transactions
type: GuidelineReference
type: NamedIndividual
has-link: https://www.nccoe.nist.gov/sites/default/files/library/sp1800/tls-serv-cert-mgt-nist-sp1800-16b-final.pdf
kb-abstract: Organizations risk losing revenue, customers, and reputation, and exposing internal or customer data to attackers if they do not properly manage Transport Layer Security (TLS) server certificates. TLS is the most widely used security protocol to secure web transactions and other communications on the internet and internal networks. TLS server certificates are central to the security and operation of internet-facing and internal web services. Improper TLS server certificate management results in significant outages to web applications and services-such as government services, online banking, flight operations, and mission-critical services within an organization-and increased risk of security breaches.
kb-author: William Haag, Murugiah Souppaya, Paul Turner, William C. Barker, Brett Pleasant, Susan Symington
kb-organization: NIST
kb-reference-of: Active Certificate Analysis
kb-reference-title: Securing Web Transactions

Reference - Software vulnerability graph database
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/WO2020028535A1
kb-abstract: To analyze open-source code at a large scale, a security domain graph language ("GL") has been created that functions as a vulnerability description language and facilitates program analysis queries. The SGL facilitates building and maintaining a graph database to catalogue vulnerabilities found in open-source components. This graphical database can be accessed via a database interface directly or accessed by an agent that interacts with the database interface. To build the graph database, a database interface processes an open-source component and creates graph structures which represent relationships present in the open-source component. The database interface transforms a vulnerability description into a canonical form based on a schema for the graph database and updates the database based on a determination of whether the vulnerability is a duplicate. This ensures quality and consistency of the vulnerability dataset maintained in the graph database.
kb-author: Darius Tsien Wei FOO, Ming Yi ANG, Asankhaya Sharma, Jie Shun YEO
kb-organization: Veracode, Inc.
kb-reference-of: Asset Vulnerability Enumeration
kb-reference-of: System Dependency Mapping
kb-reference-of: System Vulnerability Assessment
kb-reference-title: Software vulnerability graph database

Reference - System and method for identifying the presence of malware using mini-traps set at network endpoints - Fidelis Cybersecurity Solutions Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US9807114B2/en
kb-abstract: A system for identifying the presence of advanced persistent threats on a network including a plurality of resources, interconnected to form a network, at least one decoy resource, at least one mini-trap installed on at least one of the plurality of resources and functionally associated with at one of the at least one decoy resource, the at least one mini-trap comprising deceptive information directing malware accessing the at least one mini-trap to the decoy resource associated therewith, and a manager node forming part of the network, locally or remotely, and configured to manage placement of the at least one mini-trap on the at least one of the plurality of resources and association between the at least one mini-trap and the decoy resource associated therewith.
kb-author: Doron Kolton; Rami Mizrahi; Omer Zohar; Benny Ben-Rabi; Alex Barbalat; Shlomi Gabai
kb-mitre-analysis: Questionable or all files (as determined by the enterprise) are forwarded to the decoy network. Using a manager node user interface, you can setup fake information (ex. IP address of a decoy FTP server) and deploy decoy physical or virtual endpoints.
kb-organization: Fidelis Cybersecurity Solutions Inc
kb-reference-of: Decoy Network Resource
kb-reference-of: Decoy User Credential
kb-reference-title: System and method for identifying the presence of malware using mini-traps set at network endpoints

Reference - System for implementing threat detection using daily network traffic community outliers - VECTRA NETWORKS Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20160191560A1
kb-abstract: A method and system for identifying insider threats within an organization is provided. The approach constructs an internal connectivity graph to identify communities of hosts/users, and checks for abnormal behavior relative to past behaviors.
kb-author: David Lopes Pegna; Himanshu Mhatre; Oliver Brdiczka
kb-mitre-analysis: This patent describes techniques for detecting insider attacks. Network packet capture data is collected and stored for processing. Metadata is extracted for each communication session on the organization's network and includes information on source and destination host destination port, number of connection attempts, size of data exchanged, duration and time of the communication. The metadata is used to build a connectivity graph of the network and identify groups of similar hosts that exhibit similar behavior. For each group of similar behavior identified, a baseline behavior pattern profile is developed. Network activity for a host within a group that deviates over a threshold from the baseline behavior patterns is identified as suspicious and an alert is generated.
kb-organization: VECTRA NETWORKS Inc
kb-reference-of: Network Traffic Community Deviation
kb-reference-of: Protocol Metadata Anomaly Detection
kb-reference-title: System for implementing threat detection using daily network traffic community outliers

Reference - Systems and methods for detecting and/or handling targeted attacks in the email channel - Graphus Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20170324767A1
kb-abstract: Techniques for detecting and/or handling target attacks in an enterprise's email channel are provided. The techniques include receiving aspects of an incoming email message addressed to a first email account holder, selecting a recipient interaction profile and/or a sender profile from a plurality of predetermined profiles stored in a memory based upon the received properties, determining a message trust rating associated with the incoming email message based upon the incoming email message and the selected recipient interaction profile and/or the sender profile; and generating an alert identifying the incoming email message as including a security risk based upon the determined message trust rating. The recipient interaction profile includes information associating the first email account holder and a plurality of email senders from whom email messages have previously been received for the first email account holder, and the sender profile includes information associating a sender of the incoming email message with characteristics determined from a plurality of email messages previously received from the sender.
kb-author: Manoj Kumar Srivastava
kb-mitre-analysis: The patent describes using sender trust rating and sender MTA trust rating as an indicator of level of email security risk. ### Sender Reputation explanation This patent includes Sender Reputation because it describes sender trust rating being used as an indicator of the level of security risk and/or trust level associated with an email sender. The sender trust rating may be determined based on one or more of: * length of time sender has known the enterprise * number of recipients in the enterprise the sender interacts with * sender vs. enterprise originated message ratio * sender messages open vs. not-open ratio * number of emails received from this sender * number of emails replied for this sender * number of emails from this sender not opened * number of emails from this sender not opened that contain an attachment * number of emails from this sender not opened that contain a URL * number of emails sent to this sender * number of email replies received from this sender Based on the trust rating an alert is generated identifying the incoming email message as a security risk. ### Sender MTA Reputation explanation This patent includes Sender MTA Reputation because it describes sender MTA trust rating as an indicator of the level of security risk and/or trust level associated with a sender MTA. The trust rating may be determined based on one or more of: * length of time MTA has interacted with the enterprise * number of sender domains sending emails from the MTA * number of recipients in the enterprise the MTA sends emails to * number of emails received from this MTA * number of email replies received from this MTA Based on the trust rating an alert is generated identifying the incoming email message as a security risk.
kb-organization: Graphus Inc
kb-reference-of: Sender MTA Reputation Analysis
kb-reference-of: Sender Reputation Analysis
kb-reference-title: Systems and methods for detecting and/or handling targeted attacks in the email channel

Reference - CAR-2016-04-002: User Activity from Clearing Event Logs - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2016-04-002/
kb-abstract: It is unlikely that event log data would be cleared during normal operations, and it is likely that malicious attackers may try to cover their tracks by clearing an event log. When an event log gets cleared, it is suspicious. Alerting when a "Clear Event Log" is generated could point to this intruder technique. Centrally collecting events has the added benefit of making it much harder for attackers to cover their tracks. Event Forwarding permits sources to forward multiple copies of a collected event to multiple collectors, thus enabling redundant event collection. Using a redundant event collection model can minimize the single point of failure risk.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: System File Analysis
kb-reference-title: CAR-2016-04-002: User Activity from Clearing Event Logs

Reference - CAR-2013-02-012: User Logged in to Multiple Hosts - MITRE
type: ExternalKnowledgeBase
type: NamedIndividual
has-link: https://car.mitre.org/analytics/CAR-2013-02-012/
kb-abstract: Most users use only one or two machines during the normal course of business. User accounts that log in to multiple machines, especially over a short period of time, may be compromised. Remote logins among multiple machines may be an indicator of Lateral Movement. Certain users will likely appear as being logged into several machines and may need to be "whitelisted." Such users would include network admins or user names that are common to many hosts.
kb-author: MITRE
kb-organization: MITRE
kb-reference-of: Authentication Event Thresholding
kb-reference-of: Authorization Event Thresholding
kb-reference-title: CAR-2013-02-012: User Logged in to Multiple Hosts

Reference - http://www.biometric-solutions.com/keystroke-dynamics.html - biometric-solutions.com
type: InternetArticleReference
type: NamedIndividual
has-link: http://www.biometric-solutions.com/keystroke-dynamics.html
kb-abstract: Keystroke dynamics or typing dynamics refers to the automated method of identifying or confirming the identity of an individual based on the manner and the rhythm of typing on a keyboard. Keystroke dynamics is a behavioral biometric, this means that the biometric factor is 'something you do'. Already during the second world war a technique known as The Fist of the Sender was used by military intelligence to distinguish based on the rhythm whether a morse code message was send by ally or enemy. These days each household has at least one computer keyboard, making keystroke dynamics the easiest biometric solution to implement in terms of hardware. With keystroke dynamics the biometric template used to identify an individual is based on the typing pattern, the rhythm and the speed of typing on a keyboard. The raw measurements used for keystroke dynamics are dwell time and flight time.
kb-author: Biometric Solutions
kb-organization: Biometric Solutions
kb-reference-of: Input Device Analysis
kb-reference-title: Keystroke Dynamics

Registry Key Deletion
type: Class
type: NamedIndividual
d3fend-id: D3-RKD
definition: Delete a registry key.
deletes: Windows Registry Key
kb-reference: Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks
subclass of: Restriction
  on property: deletes
  some values from: Windows Registry Key
subclass of: Object Eviction

Reinforcement Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-RL
definition: Reinforcement Learning is a subjugate technique of machine learning that uses feedback to reinforce good or valid rules and lessen the reliance of bad or ineffective rules
kb-article: ## References Reinforcement learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Reinforcement_learning).
subclass of: Machine Learning

Relay Pattern Analysis
type: Class
type: NamedIndividual
analyzes: OutboundInternetNetworkTraffic
d3fend-id: D3-RPA
definition: The detection of an internal host relaying traffic between the internal network and the external network.
kb-article: ## How it works A relay may use a variety of proxying, forwarding, or routing technologies to bridge a protected network with an external network. A defensive analytic to detect a relay network may compare the network sessions among multiple hosts. Hosts which have nearly similar network statistics may be part of a relay network. The statistics may include number of bytes sent to and from, time of session initiation, packet size, or packet arrival time data. ## Considerations Complex intranet VPNs or routing encapsulation may affect the detection analytics. In addition, unwanted packets might not be forwarded, and additional packets may be added at the relay, further complicating detection.
kb-reference: Reference - Malicious relay detection on networks - VECTRA NETWORKS Inc
synonym: Relay Network Detection
subclass of: Restriction
  on property: analyzes
  some values from: OutboundInternetNetworkTraffic
subclass of: NetworkTrafficAnalysis

Remote Command
type: Class
definition: A remote command is a command sent from one computer to another to be executed on the remote computer. One example of this, is through a command-line interface (CLI) like using Invoke-Command from PowerShell or a command sent through an ssh session. This class generalizes to all means of sending a command through an established protocol to control capabilities on a remote computer.
subclass of: Command

Restore File
type: Class
type: NamedIndividual
d3fend-id: D3-RF
definition: Restoring a file for an entity to access.
kb-reference: Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks
restores: File
subclass of: Restriction
  on property: restores
  some values from: File
subclass of: Restore Object

Restore User Account Access
type: Class
type: NamedIndividual
d3fend-id: D3-RUAA
definition: Restoring a user account's access to resources.
kb-reference: Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks
restores: UserAccount
subclass of: Restriction
  on property: restores
  some values from: UserAccount
subclass of: Restore Access

Resume Process
type: Class
type: NamedIndividual
resumes: Process
subclass of: Restriction
  on property: resumes
  some values from: Process
subclass of: SystemCall

Resume Thread
type: Class
type: NamedIndividual
resumes: Thread
subclass of: Restriction
  on property: resumes
  some values from: Thread
subclass of: SystemCall

Save Registers
type: Class
type: NamedIndividual
copies: Processor Register
subclass of: Restriction
  on property: copies
  some values from: Processor Register
subclass of: SystemCall

Script Application Process
type: Class
type: NamedIndividual
definition: A script application process is an application process interpreting an executable script.
interprets: ExecutableScript
subclass of: Restriction
  on property: interprets
  some values from: ExecutableScript
subclass of: Application Process
alternative label: Script Process

Security Token
type: Class
type: NamedIndividual
contains: AccessToken
definition: Security tokens are peripheral devices used to prove one's identity electronically (as in the case of a customer trying to access their bank account). The token is used in addition to or in place of a password to prove that the customer is who they claim to be. The token acts like an electronic key to access something.
subclass of: Restriction
  on property: contains
  some values from: AccessToken
subclass of: HardwareDevice

Sensor
type: Class
definition: In the broadest definition, a sensor is a device, module, machine, or subsystem that detects events or changes in its environment and sends the information to other electronics, frequently a computer processor.
subclass of: D3FENDCore
subclass of: DigitalInformationBearer

Service
type: Class
subclass of: Capability Implementation

Service Dependency
type: Class
type: NamedIndividual
definition: A service dependency indicates a service has an activity, agent, or another service which relies on it in order to be functional.
subclass of: Dependency

Set Registers
type: Class
type: NamedIndividual
modifies: Processor Register
subclass of: Restriction
  on property: modifies
  some values from: Processor Register
subclass of: SystemCall

Set Thread Context
type: Class
type: NamedIndividual
modifies: Thread
subclass of: Restriction
  on property: modifies
  some values from: Thread
subclass of: SystemCall

Shared Resource Access Function
type: Class
type: NamedIndividual
accesses: Resource
definition: A function which access a shared resource.
subclass of: Restriction
  on property: accesses
  some values from: Resource
subclass of: Subroutine

Shim Database
type: Class
type: NamedIndividual
definition: A application configuration database that contains or points to software shims (e.g., for backward compatibility, patches, etc.)
subclass of: Application Configuration Database

Slow Symbolic Link
type: Class
definition: A slow symbolic link is any symbolic link on a Unix filesystem that is not a fast symbolic link; slow symlink is thus retroactively termed from fast symlink. Slow symbolic links stored the symbolic link information as data in regular files.
subclass of: Symbolic Link
subclass of: Unix Link
alternative label: Slow Symlink

Software Deployment Tool
type: Class
type: NamedIndividual
definition: Software that coordinates the deployment process of software to systems, typically remotely.
subclass of: ServiceApplication

Software Library File
type: Class
type: NamedIndividual
contains: Subroutine
definition: A software library is a collection of software components that are used to build a software product.
may-contain: ExecutableBinary
may-contain: ExecutableScript
subclass of: Restriction
  on property: may-contain
  some values from: ExecutableBinary
subclass of: Restriction
  on property: may-contain
  some values from: ExecutableScript
subclass of: Restriction
  on property: contains
  some values from: Subroutine
subclass of: File

Software Packaging Tool
type: Class
definition: A tool that automates the process of packaging either or both binary code and source code for use on one or more target platforms.
subclass of: Build Tool

Source Code Reference
type: Class
pref-label: Source Code
subclass of: TechniqueReference

Stack Frame Canary
type: Class
type: NamedIndividual
definition: Stack canaries, named for their analogy to a canary in a coal mine, are used to detect a stack buffer overflow before execution of malicious code can occur. This method works by placing a small integer, the value of which is randomly chosen at program start, in memory just before the stack return pointer. Most buffer overflows overwrite memory from lower to higher memory addresses, so in order to overwrite the return pointer (and thus take control of the process) the canary value must also be overwritten. This value is checked to make sure it has not changed before a routine uses the return pointer on the stack. This technique can greatly increase the difficulty of exploiting a stack buffer overflow because it forces the attacker to gain control of the instruction pointer by some non-traditional means such as corrupting other important variables on the stack.
subclass of: Stack Component
alternative label: Stack Canary

Standalone Honeynet
type: Class
type: NamedIndividual
d3fend-id: D3-SHN
definition: An environment created for the purpose of attracting attackers and eliciting their behaviors that is not connected to any production enterprise systems.
kb-article: ## How it works A standalone honeynet does not directly interact with the real enterprise environment. It may be located near or in some portion of the enterprise address space, but it does not interact with enterprise resources. ## Considerations A standalone honeynet is a lower risk to deploy compared to connected or integrated honeynets due to its isolation from the enterprise network. However, this comes at cost in loss of fidelity and realism. Significant extra effort must be made in order to make the environment look realistic.
kb-reference: Reference - Dynamic selection and generation of a virtual clone for detonation of suspicious content within a honey network - Palo Alto Networks Inc
spoofs: Intranet Network
subclass of: Restriction
  on property: spoofs
  some values from: Intranet Network
subclass of: Decoy Environment

Stored Procedure
type: Class
type: NamedIndividual
definition: A stored procedure (also termed proc, storp, sproc, StoPro, StoredProc, StoreProc, sp, or SP) is a subroutine available to applications that access a relational database management system (RDBMS). Such procedures are stored in the database data dictionary.
subclass of: Subroutine

String Pattern Matching
type: Class
type: NamedIndividual
d3fend-id: D3A-SPM
definition: String pattern-matching algorithms, also known as string-matching algorithms, are an important class of string algorithms that try to find a place where one or several strings (also called patterns) are found within a larger string or text
kb-article: ## How it works A basic example of string searching is when the pattern and the searched text are arrays of elements of an alphabet (finite set) Σ. Σ may be a human language alphabet, for example, the letters A through Z and other applications may use a binary alphabet (Σ = {0,1}) or a DNA alphabet (Σ = {A,C,G,T}) in bioinformatics. In practice, the method of feasible string-search algorithm may be affected by the string encoding. In particular, if a variable-width encoding is in use, then it may be slower to find the Nth character, perhaps requiring time proportional to N. This may significantly slow some search algorithms. One of many possible solutions is to search for the sequence of code units instead, but doing so may produce false matches unless the encoding is specifically designed to avoid it. ## References 1. String-searching algorithm. (2023, April 8). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/String-searching_algorithm)
subclass of: Pattern Matching

Supervised Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-SL
definition: Supervised learning establishes a relationship between the known input and output variables to conduct a predictive analysis.
kb-article: ## References Supervised learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Supervised_learning).
subclass of: Machine Learning

Suspend Process
type: Class
type: NamedIndividual
suspends: Process
subclass of: Restriction
  on property: suspends
  some values from: Process
subclass of: SystemCall

Suspend Thread
type: Class
type: NamedIndividual
definition: Suspending a thread causes the thread to stop executing user-mode code.
suspends: Thread
subclass of: Restriction
  on property: suspends
  some values from: Thread
subclass of: SystemCall

Symbolic Logic
type: Class
type: NamedIndividual
d3fend-id: D3A-SL
definition: Symbolic Logic, also known as formal logic, is a branch of mathematics that uses symbolic representations for logical expressions and relationships. It provides a systematic method for examining the structure of arguments and reasoning, focusing on the relationships between propositions rather than the content of those propositions.
kb-article: ## How it Works ## References 1. Symbolic Logic. (2023, June 6). In _Wolfram Mathworld_. [Link](https://mathworld.wolfram.com/SymbolicLogic.html) 2. Hughes, G. and Schagrin, M. (2023, Apr 19). Formal Logic. _Encyclopedia Brittanica_. [Link](https://www.britannica.com/topic/formal-logic) 3. Carnap, R. (1953). Introduction to Symbolic Logic and Its Applications. Dover Publications. [Link](https://archive.org/details/rudolf-carnap-introduction-to-symbolic-logic-and-its-applications/page/3/mode/2up)
subclass of: Analytic Technique

System Config System Call
type: Class
subclass of: SystemCall

System Dependency
type: Class
type: NamedIndividual
definition: A system dependency indicates a system has an activity, agent, or another system which relies on it in order to be functional.
subclass of: Dependency

System Init Script
type: Class
type: NamedIndividual
definition: A script used to initialize and configure elements of the system's environment, applications, services, or its operating system.
subclass of: ExecutableScript
subclass of: System Configuration Init Resource
subclass of: System Init Configuration

System Software
type: Class
definition: Computer software which enables operating system or platform functionality.
subclass of: Software

System Startup Directory
type: Class
type: NamedIndividual
definition: A system startup directory is a directory containing executable files or links to executable files which are run when the system starts.
subclass of: Directory
subclass of: System Configuration Init Resource
subclass of: System Init Configuration

System Time Application
type: Class
type: NamedIndividual
definition: A system time utility is utility software that can get the system time, such as the Unix date command or Windows' Net utility.
subclass of: Utility Software

System Vulnerability Assessment
type: Class
type: NamedIndividual
d3fend-id: D3-SYSVA
definition: System vulnerability assessment relates all the vulnerabilities of a system's components in the context of their configuration and internal dependencies and can also include assessing risk emerging from the system's design as a whole, not just the sum of individual component vulnerabilities.
evaluates: Digital System
identifies: Vulnerability
kb-reference: Reference - Software vulnerability graph database
subclass of: Restriction
  on property: evaluates
  some values from: Digital System
subclass of: Restriction
  on property: identifies
  some values from: Vulnerability
subclass of: System Mapping

System Network Configuration Discovery
type: Class
type: NamedIndividual
attack-id: T1016
definition: Adversaries may look for details about the network configuration and settings, such as IP and/or MAC addresses, of systems they access or through information discovery of remote systems. Several operating system administration utilities exist that can be used to gather this information. Examples include [Arp](https://attack.mitre.org/software/S0099), [ipconfig](https://attack.mitre.org/software/S0100)/[ifconfig](https://attack.mitre.org/software/S0101), [nbtstat](https://attack.mitre.org/software/S0102), and [route](https://attack.mitre.org/software/S0103).
may-execute: ExecutableScript
may-invoke: CreateProcess
may-invoke: Get System Network Config Value
subclass of: Restriction
  on property: may-invoke
  some values from: CreateProcess
subclass of: Restriction
  on property: may-invoke
  some values from: Get System Network Config Value
subclass of: Restriction
  on property: may-execute
  some values from: ExecutableScript
subclass of: DiscoveryTechnique

Data Staged
type: Class
type: NamedIndividual
attack-id: T1074
definition: Adversaries may stage collected data in a central location or directory prior to Exfiltration. Data may be kept in separate files or combined into one file through techniques such as [Archive Collected Data](https://attack.mitre.org/techniques/T1560). Interactive command shells may be used, and common functionality within [cmd](https://attack.mitre.org/software/S0106) and bash may be used to copy data into a staging location.(Citation: PWC Cloud Hopper April 2017)
reads: Resource
subclass of: Restriction
  on property: reads
  some values from: Resource
subclass of: CollectionTechnique

Domain Account
type: Class
type: NamedIndividual
attack-id: T1087.002
creates: Domain User Account
definition: Adversaries may attempt to get a listing of domain accounts. This information can help adversaries determine which domain accounts exist to aid in follow-on behavior such as targeting specific accounts which possess particular privileges.
subclass of: Restriction
  on property: creates
  some values from: Domain User Account
subclass of: Create Account

Data Encoding
type: Class
type: NamedIndividual
attack-id: T1132
definition: Adversaries may encode data to make the content of command and control traffic more difficult to detect. Command and control (C2) information can be encoded using a standard data encoding system. Use of data encoding may adhere to existing protocol specifications and includes use of ASCII, Unicode, Base64, MIME, or other binary-to-text and character encoding systems.(Citation: Wikipedia Binary-to-text Encoding) (Citation: Wikipedia Character Encoding) Some data encoding systems may also result in data compression, such as gzip.
produces: OutboundInternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetNetworkTraffic
subclass of: CommandAndControlTechnique

Traffic Signaling
type: Class
type: NamedIndividual
attack-id: T1205
definition: Adversaries use traffic signaling techniques, such as sending specific network sequences or magic packets, to covertly trigger actions like opening ports, activating backdoors, or installing filters, facilitating command and control, persistence, and defense evasion.
produces: NetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: NetworkTraffic
subclass of: CommandAndControlTechnique
subclass of: DefenseEvasionTechnique
subclass of: PersistenceTechnique

System Script Proxy Execution
type: Class
attack-id: T1216
definition: Adversaries may use trusted scripts, often signed with certificates, to proxy the execution of malicious files. Several Microsoft signed scripts that have been downloaded from Microsoft or are default on Windows installations can be used to proxy execution of other files.(Citation: LOLBAS Project) This behavior may be abused by adversaries to execute malicious files that could bypass application control and signature validation on systems.(Citation: GitHub Ultimate AppLocker Bypass List)
subclass of: DefenseEvasionTechnique
subclass of: ExecutionTechnique

File and Directory Permissions Modification
type: Class
type: NamedIndividual
attack-id: T1222
definition: Adversaries may modify file or directory permissions/attributes to evade access control lists (ACLs) and access protected files.(Citation: Hybrid Analysis Icacls1 June 2018)(Citation: Hybrid Analysis Icacls2 May 2018) File and directory permissions are commonly managed by ACLs configured by the file or directory owner, or users with the appropriate permissions. File and directory ACL implementations vary by platform, but generally explicitly designate which users or groups can perform which actions (read, write, execute, etc.).
modifies: AccessControlConfiguration
subclass of: Restriction
  on property: modifies
  some values from: AccessControlConfiguration
subclass of: DefenseEvasionTechnique

Domain or Tenant Policy Modification
type: Class
type: NamedIndividual
attack-id: T1484
definition: Adversaries may modify the configuration settings of a domain or identity tenant to evade defenses and/or escalate privileges in centrally managed environments. Such services provide a centralized means of managing identity resources such as devices and accounts, and often include configuration settings that may apply between domains or tenants such as trust relationships, identity syncing, or identity federation.
modifies: Group Policy
subclass of: Restriction
  on property: modifies
  some values from: Group Policy
subclass of: DefenseEvasionTechnique
subclass of: PrivilegeEscalationTechnique

Defacement
type: Class
attack-id: T1491
definition: Adversaries may modify visual content available internally or externally to an enterprise network, thus affecting the integrity of the original content. Reasons for [Defacement](https://attack.mitre.org/techniques/T1491) include delivering messaging, intimidation, or claiming (possibly false) credit for an intrusion. Disturbing or offensive images may be used as a part of [Defacement](https://attack.mitre.org/techniques/T1491) in order to cause user discomfort, or to pressure compliance with accompanying messages.
subclass of: ImpactTechnique

Disk Wipe
type: Class
attack-id: T1561
definition: Adversaries may wipe or corrupt raw disk data on specific systems or in large numbers in a network to interrupt availability to system and network resources. With direct write access to a disk, adversaries may attempt to overwrite portions of disk data. Adversaries may opt to wipe arbitrary portions of disk data and/or wipe disk structures like the master boot record (MBR). A complete wipe of all disk sectors may be attempted.
subclass of: ImpactTechnique

Remote Service Session Hijacking
type: Class
type: NamedIndividual
accesses: Remote Session
attack-id: T1563
definition: Adversaries may take control of preexisting sessions with remote services to move laterally in an environment. Users may use valid credentials to log into a service specifically designed to accept remote connections, such as telnet, SSH, and RDP. When a user logs into a service, a session will be established that will allow them to maintain a continuous interaction with that service.
produces: Administrative Network Traffic
subclass of: Restriction
  on property: accesses
  some values from: Remote Session
subclass of: Restriction
  on property: produces
  some values from: Administrative Network Traffic
subclass of: LateralMovementTechnique

System Services
type: Class
attack-id: T1569
definition: This technique has been deprecated.
subclass of: ExecutionTechnique

Encrypted Channel
type: Class
type: NamedIndividual
attack-id: T1573
definition: Adversaries may employ an encryption algorithm to conceal command and control traffic rather than relying on any inherent protections provided by a communication protocol. Despite the use of a secure algorithm, these implementations may be vulnerable to reverse engineering if secret keys are encoded and/or generated within malware samples/configuration files.
produces: OutboundInternetEncryptedTraffic
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetEncryptedTraffic
subclass of: CommandAndControlTechnique
alternative label: Custom Command and Control Protocol
alternative label: Custom Cryptographic Protocol
alternative label: Multilayer Encryption

Search Closed Sources
type: Class
attack-id: T1597
definition: Adversaries may search and gather information about victims from closed sources that can be used during targeting. Information about victims may be available for purchase from reputable private sources and databases, such as paid subscriptions to feeds of technical/threat intelligence data.(Citation: D3Secutrity CTI Feeds) Adversaries may also purchase information from less-reputable sources such as dark web or cybercrime blackmarkets.(Citation: ZDNET Selling Data)
subclass of: Reconnaissance Technique

Weaken Encryption
type: Class
attack-id: T1600
definition: Adversaries may compromise a network device’s encryption capability in order to bypass encryption that would otherwise protect data communications. (Citation: Cisco Synful Knock Evolution)
subclass of: DefenseEvasionTechnique

Modify System Image
type: Class
attack-id: T1601
definition: Adversaries may make changes to the operating system of embedded network devices to weaken defenses and provide new capabilities for themselves. On such devices, the operating systems are typically monolithic and most of the device functionality and capabilities are contained within a single file.
subclass of: DefenseEvasionTechnique

Data from Configuration Repository
type: Class
attack-id: T1602
definition: Adversaries may collect data related to managed devices from configuration repositories. Configuration repositories are used by management systems in order to configure, manage, and control data on remote systems. Configuration repositories may also facilitate remote access and administration of devices.
subclass of: CollectionTechnique

Forge Web Credentials
type: Class
attack-id: T1606
definition: Adversaries may forge credential materials that can be used to gain access to web applications or Internet services. Web applications and services (hosted in cloud SaaS environments or on-premise servers) often use session cookies, tokens, or other materials to authenticate and authorize user access.
subclass of: CredentialAccessTechnique

Initial Access
type: OffensiveTactic
type: Class
type: NamedIndividual
display-order: 1
subclass of: ATTACKEnterpriseTactic
subclass of: OffensiveTactic

Execution
type: OffensiveTactic
type: Class
type: NamedIndividual
display-order: 2
subclass of: ATTACKEnterpriseTactic
subclass of: OffensiveTactic

Persistence
type: OffensiveTactic
type: Class
type: NamedIndividual
display-order: 3
subclass of: ATTACKEnterpriseTactic
subclass of: OffensiveTactic

Credential Access
type: OffensiveTactic
type: Class
type: NamedIndividual
display-order: 6
subclass of: ATTACKEnterpriseTactic
subclass of: OffensiveTactic

Discovery
type: OffensiveTactic
type: Class
type: NamedIndividual
display-order: 7
subclass of: ATTACKEnterpriseTactic
subclass of: OffensiveTactic

Lateral Movement
type: OffensiveTactic
type: Class
type: NamedIndividual
display-order: 8
subclass of: ATTACKEnterpriseTactic
subclass of: OffensiveTactic

Collection
type: OffensiveTactic
type: Class
type: NamedIndividual
display-order: 9
subclass of: ATTACKEnterpriseTactic
subclass of: OffensiveTactic

Exfiltration
type: OffensiveTactic
type: Class
type: NamedIndividual
display-order: 11
subclass of: ATTACKEnterpriseTactic
subclass of: OffensiveTactic

Command And Control
type: OffensiveTactic
type: Class
type: NamedIndividual
display-order: 10
subclass of: ATTACKEnterpriseTactic
subclass of: OffensiveTactic

Impact
type: OffensiveTactic
type: Class
type: NamedIndividual
display-order: 12
subclass of: ATTACKEnterpriseTactic
subclass of: OffensiveTactic

Resource Development
type: Class
type: NamedIndividual
display-order: 0
subclass of: ATTACKEnterpriseTactic
subclass of: OffensiveTactic

Reconnaissance
type: Class
type: NamedIndividual
display-order: -1
subclass of: ATTACKEnterpriseTactic
subclass of: OffensiveTactic

TFTP Network Traffic
type: Class
type: NamedIndividual
definition: TFTP Network Traffic is network traffic typically used to automatically transfer configuration or boot files between machines.
subclass of: NetworkTraffic

Terminate Process
type: Class
type: NamedIndividual
definition: On many computer operating systems, a computer process terminates its execution by making an exit system call. More generally, an exit in a multithreading environment means that a thread of execution has stopped running. For resource management, the operating system reclaims resources (memory, files, etc.) that were used by the process. The process is said to be a dead process after it terminates.
terminates: Process
subclass of: Restriction
  on property: terminates
  some values from: Process
subclass of: SystemCall

Test Execution Tool
type: Class
definition: A test execution tool is a type of software used to test software, hardware or complete systems. Synonyms of test execution tool include test execution engine, test executive, test manager, test sequencer. Two common forms in which a test execution engine may appear are as a: (a) module of a test software suite (test bench) or an integrated development environment, or (b) stand-alone application software.
subclass of: Developer Application
alternative label: Test Execution Engine
alternative label: Test Executive
alternative label: Test Manager

Trace Process
type: Class
type: NamedIndividual
definition: A trace system call provides a means by which one process (the "tracer") may observe and control the execution of another process (the "tracee"), and examine and change the tracee's memory and registers. It is primarily used to implement breakpoint debugging and system call tracing.
monitors: Process
subclass of: Restriction
  on property: monitors
  some values from: Process
subclass of: SystemCall
alternative label: Open Process

Trace Thread
type: Class
type: NamedIndividual
subclass of: SystemCall

Transfer Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-TL
definition: Transfer learning (TL) is a research problem in machine learning (ML) that focuses on storing knowledge gained while solving one problem and applying it to a different but related problem.
kb-article: ## References Transfer learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Transfer_learning).
subclass of: Machine Learning

Translation Lookaside Buffer
type: Class
type: NamedIndividual
definition: A translation lookaside buffer (TLB) is a memory cache that is used to reduce the time taken to access a user memory location. It is a part of the chip's memory-management unit (MMU).
subclass of: Memory Management Unit Component

URL Reputation Analysis
type: Class
type: NamedIndividual
analyzes: URL
d3fend-id: D3-URA
definition: Analyzing the reputation of a URL.
kb-reference: Reference - Finding phishing sites
subclass of: Restriction
  on property: analyzes
  some values from: URL
subclass of: Identifier Reputation Analysis

UnloadModule
type: Class
type: NamedIndividual
definition: A system call that unloads a driver or extension from the kernel.
unloads: Hardware Driver
unloads: Kernel Module
subclass of: Restriction
  on property: unloads
  some values from: Kernel Module
subclass of: Restriction
  on property: unloads
  some values from: Hardware Driver
subclass of: SystemCall

Use Case Goal
type: Class
subclass of: Goal

Use Case Prerequisite
type: Class
subclass of: Condition

Use Case Procedure
type: Class
subclass of: Procedure

User Group
type: Class
type: NamedIndividual
contains: User
definition: User groups are a way to collect user accounts and/or computer accounts into manageable units. Administrators can assign permissions, roles, or access to resources, as well as modify group membership, depending on the operating system.
synonym: Security Group
subclass of: Restriction
  on property: contains
  some values from: User
subclass of: Access Control Group

User Interface
type: Class
definition: The user interface (UI), in the industrial design field of human-machine interaction, is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine from the human end, whilst the machine simultaneously feeds back information that aids the operators' decision-making process. Examples of this broad concept of user interfaces include the interactive aspects of computer operating systems, hand tools, heavy machinery operator controls, and process controls. The design considerations applicable when creating user interfaces are related to or involve such disciplines as ergonomics and psychology.
subclass of: DigitalInformationBearer
alternative label: UI

Volume Boot Record
type: Class
type: NamedIndividual
definition: A volume boot record (VBR) (also known as a volume boot sector, a partition boot record or a partition boot sector) is a type of boot sector introduced by the IBM Personal Computer. It may be found on a partitioned data storage device, such as a hard disk, or an unpartitioned device, such as a floppy disk, and contains machine code for bootstrapping programs (usually, but not necessarily, operating systems) stored in other parts of the device. On non-partitioned storage devices, it is the first sector of the device. On partitioned devices, it is the first sector of an individual partition on the device, with the first sector of the entire device being a Master Boot Record (MBR) containing the partition table.
subclass of: Boot Record

Web Resource
type: Class
definition: A web resource is a resource identified by a Uniform Resource Identifier (URI) and made available from one host to another host via a web protocol and across a network or networks.
subclass of: NetworkResource

Web Resource Access
type: Class
type: NamedIndividual
definition: Ephemeral digital artifact comprising a request of a network resource and any response from that network resource using a standard web protocol.
subclass of: Network Resource Access

Web Script File
type: Class
type: NamedIndividual
definition: A file containing a script in a web-scripting programming language. Web scripts may be present and run on the client or on the server side.
subclass of: ExecutableScript
alternative label: Web Script

Web Server Application
type: Class
type: NamedIndividual
definition: A web server application (or web app) is an application software that runs on a web server, unlike computer-based software programs that are stored locally on the Operating System (OS) of the device. Web applications are accessed by the user through a web browser with an active internet connection. These applications are programmed using a client-server modeled structure-the user ("client") is provided services through an off-site server that is hosted by a third-party. Examples of commonly-used, web applications, include: web-mail, online retail sales, online banking, and online auctions.
subclass of: ServiceApplication
alternative label: Web App
alternative label: Web Application

Windows NtGetThreadContext
type: Class
type: NamedIndividual
subclass of: OS API Get Thread Context

Windows NtCreateFile
type: Class
type: NamedIndividual
subclass of: OS API Create File

Windows NtCreateMailslotFile
type: Class
type: NamedIndividual
definition: Creates a special File Object called Mailslot.
subclass of: OS API Create File

Windows NtCreateNamedPipeFile
type: Class
type: NamedIndividual
definition: Creates Named Pipe File Object.
subclass of: OS API Create File

Windows NtCreatePagingFile
type: Class
type: NamedIndividual
definition: Typically used by Control Panel's "System" applet for creating new paged files.
subclass of: OS API Create File

Windows NtCreateProcess
type: Class
type: NamedIndividual
subclass of: OS API Create Process

Windows NtCreateProcessEx
type: Class
type: NamedIndividual
subclass of: OS API Create Process

Windows NtCreateThread
type: Class
type: NamedIndividual
subclass of: OS API Create Thread

Windows NtDeleteFile
type: Class
type: NamedIndividual
definition: Deletes the specified file.
subclass of: OS API Delete File

Windows NtDuplicateToken
type: Class
type: NamedIndividual
subclass of: OS API Copy Token

Windows NtFlushInstructionCache
type: Class
type: NamedIndividual
subclass of: OS API Write Memory

Windows NtFreeVirtualMemory
type: Class
type: NamedIndividual
subclass of: OS API Free Memory

Windows NtOpenFile
type: Class
type: NamedIndividual
subclass of: OS API Open File

Windows NtOpenProcess
type: Class
type: NamedIndividual
definition: Opens a handle to process obj and sets the access rights to this object.
subclass of: OS API Trace Process

Windows NtOpenThread
type: Class
type: NamedIndividual
definition: Opens a handle to a thread object with the access specified.
subclass of: OS API Trace Thread

Windows NtQuerySystemTime
type: Class
type: NamedIndividual
definition: Returns current time in Coordinated Universal Time (UTC) 8-bytes format.
subclass of: OS API Get System Time

Windows NtReadFile
type: Class
type: NamedIndividual
subclass of: OS API Read File

Windows NtReadFileScatter
type: Class
type: NamedIndividual
definition: Reads specified block from file into multiple buffers. Each buffer must have one page length.
subclass of: OS API Read File

Windows NtResumeThread
type: Class
type: NamedIndividual
subclass of: OS API Resume Thread

Windows NtSetThreadContext
type: Class
type: NamedIndividual
subclass of: OS API Set Thread Context

Windows NtSuspendThread
type: Class
type: NamedIndividual
subclass of: OS API Suspend Thread

Windows NtTerminateProcess
type: Class
type: NamedIndividual
subclass of: OS API Terminate Process

Windows NtWriteFile
type: Class
type: NamedIndividual
subclass of: OS API Write File

Windows NtWriteFileGather
type: Class
type: NamedIndividual
definition: Writes specified block of file with data from memory pages.
subclass of: OS API Write File

Windows NtWriteVirtualMemory
type: Class
type: NamedIndividual
subclass of: OS API Write Memory

Windows Registry
type: Class
type: NamedIndividual
contains: Windows Registry Key
definition: The Windows Registry is a hierarchical database that stores low-level settings for the Microsoft Windows operating system and for applications that opt to use the registry. The kernel, device drivers, services, Security Accounts Manager, and user interface can all use the registry. The registry also allows access to counters for profiling system performance.
subclass of: Restriction
  on property: contains
  some values from: Windows Registry Key
subclass of: SystemConfigurationDatabase

Windows Registry Value
type: Class
type: NamedIndividual
contained-by: Windows Registry Key
definition: A Windows Registry Value is a data structure consisting of a name, type, data (as a pointer), and the length. Windows Registry Values are always associated with a Windows Registry Key. They store the actual configuration data for the operating system and the programs that run on the system.
subclass of: Restriction
  on property: contained-by
  some values from: Windows Registry Key
subclass of: Restriction
  on property: windows-registry-value
  some values from: string
subclass of: SystemConfigurationDatabaseRecord

Windows Shortcut File
type: Class
type: NamedIndividual
definition: A Microsoft Windows shortcut file.
subclass of: Shortcut File
alternative label: Shell Link

Write File
type: Class
type: NamedIndividual
definition: The write is one of the most basic routines provided by a Unix-like operating system kernel. It writes data from a buffer declared by the user to a given device, such as a file. This is the primary way to output data from a program by directly using a system call. The destination is identified by a numeric code. The data to be written, for instance a piece of text, is defined by a pointer and a size, given in number of bytes. write thus takes three arguments.
modifies: File
subclass of: Restriction
  on property: modifies
  some values from: File
subclass of: SystemCall

Write Memory
type: Class
type: NamedIndividual
modifies: MemoryBlock
subclass of: Restriction
  on property: modifies
  some values from: MemoryBlock
subclass of: SystemCall

d3fend-artifact-data-property
type: DatatypeProperty
definition: x d3fend-artifact-data-property y: The artifact x has the data property y.
domain: Digital Artifact
sub property of: d3fend-data-property

detects
type: ObjectProperty
sub property of: counters
sub property of: d3fend-tactical-verb-property

drives
type: ObjectProperty
definition: x drives y: The device driver x causes a system component y to function by controlling it.
sub property of: associated-with

enabled-by
type: ObjectProperty
definition: x enabled-by y: A top level technique y enables a tactic x, that is, the property indicates that a technique y is used to put a particular tactic x into action. In other words, y renders x capable or able for some task. Inverse of enables.
sub property of: associated-with
inverse of: enables

enumerates
type: ObjectProperty
definition: definition "x enumerates y: The subject x takes the action of reading from a digital source y to acquire data and create a list of its contents.
sub property of: reads

features
type: ObjectProperty
domain: Capability Feature Claim
range: Capability Feature
sub property of: claims

has-participant
type: ObjectProperty
sub property of: associated-with

implemented-by
type: ObjectProperty
range: Capability Implementation
sub property of: d3fend-catalog-object-property
inverse of: implements

injects
type: ObjectProperty
definition: x injects y: The subject x takes the action of exploiting a security flaw by introducing (injecting) y, which is code or data that will change the course of execution or state of a computing process to an alternate course or state. Typically code injection is associated with adversaries intending the alternate course to facilitate a malevolent purpose; however, code injection can be unintentional or the intentions behind it may be good or benign.
sub property of: executes

kb-reference-of
type: ObjectProperty
definition: x kb-is-example-of y: The reference x is an example of technique y.
range: Cyber Technique
sub property of: d3fend-kb-object-property
alternative label: kb-is-example-of

may-be-accessed-by
type: ObjectProperty
sub property of: may-be-associated-with

may-be-tactically-associated-with
type: ObjectProperty
definition: x may-be-tactically-associated-with y: the defensive technique x may be a tactic that counters offensive technique y.
domain: DefensiveTechnique
range: OffensiveTechnique
sub property of: may-be-associated-with

may-counter
type: ObjectProperty
sub property of: may-be-associated-with

may-have-weakness
type: ObjectProperty
domain: Artifact
range: Weakness
sub property of: may-be-associated-with

may-interpret
type: ObjectProperty
definition: x may-interpret y: They entity x may interpret the thing y; that is, 'x interprets y' may be true.
sub property of: may-be-associated-with

may-map
type: ObjectProperty
sub property of: may-be-associated-with

may-run
type: ObjectProperty
definition: x may-run y: They entity x may run the thing y; that is, 'x runs y' may be true.
sub property of: may-be-associated-with

modified-by
type: ObjectProperty
sub property of: associated-with
sub property of: may-be-modified-by
inverse of: modifies

obfuscates
type: ObjectProperty
definition: x obfuscates y: The technique x makes the digital artifact y unclear or obscure. Typically obfuscation is a way to hide a digital artifact from discovery, use, or both.
sub property of: evicts
sub property of: modifies

originates-from
type: ObjectProperty
definition: x originates-from y: The digital event or artifact x began its network transit from a physical location y.
sub property of: associated-with

rating
type: DatatypeProperty
type: FunctionalProperty
sub property of: d3fend-catalog-data-property

restricted-by
type: ObjectProperty
sub property of: associated-with
inverse of: restricts

resumes
type: ObjectProperty
definition: The agent or technique x continues a previous action on entity y. Usually occurs after suspension on y.
sub property of: associated-with

sells
type: ObjectProperty
sub property of: d3fend-catalog-object-property

stage
type: DatatypeProperty
type: FunctionalProperty
sub property of: d3fend-catalog-data-property

strengthens
type: ObjectProperty
definition: x strengthens y: The technique x make digital artifact y resistant (to harm or misuse.)
sub property of: associated-with
sub property of: hardens

unloads
type: ObjectProperty
definition: x unloads y: The technique or artifact performs the action of unloading some artifact (applications, kernel modules, or hardware drivers, etc.) from a computer's memory.
sub property of: evicts

validates
type: ObjectProperty
definition: x validates y: The technique x proves the digital artifact y is valid; that is, x shows or confirms the validity of y.
sub property of: associated-with
sub property of: hardens

version
type: DatatypeProperty
type: FunctionalProperty
definition: x version y: The product or service x has the version y.
domain: Class
  union of: Capability Implementation
  union of: Control Catalog
range: Datatype
  union of: integer
  union of: string
sub property of: d3fend-catalog-data-property
sub property of: d3fend-external-control-data-property

windows-registry-data-property
type: DatatypeProperty
definition: x windows-registry-data-property y: The windows registry entry x has the property y.
sub property of: d3fend-artifact-data-property

ANN-based Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-ABC
definition: Combines the principles of Artificial Neural Networks (ANN) and clustering methods.
kb-article: ## References Wikipedia. (n.d.). Artificial neural network. [Link](https://en.wikipedia.org/wiki/Artificial_neural_network)
subclass of: Cluster Analysis

ATTACK Enterprise Thing
type: Class
subclass of: ATTACK Thing

Analytic Technique
type: Class
definition: A process in which a computer examines information using mathematical methods in order to find useful patterns.
subclass of: Technique

Application Process
type: Class
type: NamedIndividual
definition: An application process is an instance of an application computer program that is being executed.
runs: Application
subclass of: Restriction
  on property: runs
  some values from: Application
subclass of: User Process

Assessment
type: Class
definition: The classification of someone or something with respect to its worth.
subclass of: Restriction
  on property: author
  some values from: Agent
subclass of: Restriction
  all values from: Datatype
    one of: below
    one of: exceeded
    one of: met
  on property: expectation-rating
subclass of: D3FEND Catalog Thing

Byte Sequence Emulation
type: Class
type: NamedIndividual
d3fend-id: D3-BSE
definition: Analyzing sequences of bytes and determining if they likely represent malicious shellcode.
kb-article: ## How it works Bytes are analyzed as if they are machine code instructions, and such instructions that are a common component of known shellcode are noted, such as stack pivots, reads from a Memory Address Table, and system calls for functions that disable protections or execute code. For example, the x86 instruction `b0 0b: mov $11, %ax`, with no further alterations to the `%ax` register, followed by `cd 80: syscall` executes the system call `execve()` in the Linux kernel, which replaces the current process with another one specified -- this is a common action in shellcode, so this sequence would be flagged. This technique detects shellcode despite whether or not it would cause a buffer overflow in the target binary. If the sequence of bytes contains a sequence similar to that used in malicious shellcode, the entire byte sequence is flagged and a follow-on technique may be invoked. ## Considerations ### False Negatives If the shellcode instructions are far apart, simple implementations might not detect the shellcode. Due to the nature of assembly instructions not having a defined start or end, implementations which do not process all start sequences (for example, when they a find byte sequence of interest, continue scanning forwards from the end of it) might not detect the shellcode. This technique might not detect more complex or obfuscated instructions. For that purpose, Dynamic Analysis or Emulated File Analysis could assist by analyzing the actual instruction function. This technique may not detect self-modifying code. To make it harder for a process to modify itself, Process Segment Execution Prevention should be used, while noting its considerations. This technique might not detect malicious shellcode which reuses instructions in the target binary for malicious effect, as memory references in the presumed assembly code are not dereferenced. Dynamic Analysis and Emulated File Analysis, when set up properly to fork from the running target binary, might detect …
kb-reference: Reference - Network-Based Buffer Overflow Detection by Exploit Code Analysis - Information Security Research Centre
kb-reference: Reference - Network-level polymorphic shellcode detection using emulation
synonym: Shellcode Transmission Detection
subclass of: NetworkTrafficAnalysis

Improper Encoding or Escaping of Output
type: Class
cwe-id: CWE-116
subclass of: Improper Neutralization

Use of Weak Credentials
type: Class
cwe-id: CWE-1391
subclass of: CWE-1390

Improper Handling of Invalid Use of Special Elements
type: Class
cwe-id: CWE-159
subclass of: CWE-138

Generation of Error Message Containing Sensitive Information
type: Class
cwe-id: CWE-209
subclass of: Exposure of Sensitive Information to an Unauthorized Actor
subclass of: Improper Handling of Exceptional Conditions

Externally-Generated Error Message Containing Sensitive Information
type: Class
cwe-id: CWE-211
subclass of: Generation of Error Message Containing Sensitive Information

Improper Handling of Values
type: Class
cwe-id: CWE-229
subclass of: Improper Handling of Syntactically Invalid Structure

Improper Handling of Parameters
type: Class
cwe-id: CWE-233
subclass of: Improper Handling of Syntactically Invalid Structure

Improper Handling of Structural Elements
type: Class
cwe-id: CWE-237
subclass of: Improper Handling of Syntactically Invalid Structure

Password in Configuration File
type: Class
cwe-id: CWE-260
subclass of: Insufficiently Protected Credentials

Authentication Bypass by Spoofing
type: Class
cwe-id: CWE-290
subclass of: CWE-1390

Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)
type: Class
cwe-id: CWE-335
subclass of: Use of Insufficiently Random Values

Generation of Predictable Numbers or Identifiers
type: Class
cwe-id: CWE-340
subclass of: Use of Insufficiently Random Values

Use of Invariant Value in Dynamically Changing Context
type: Class
cwe-id: CWE-344
subclass of: Use of Insufficiently Random Values

Signal Handler Race Condition
type: Class
cwe-id: CWE-364
subclass of: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

Unprotected Alternate Channel
type: Class
cwe-id: CWE-420
subclass of: Improper Restriction of Communication Channel to Intended Endpoints

UI Discrepancy for Security Feature
type: Class
cwe-id: CWE-446
subclass of: Incorrect Provision of Specified Functionality

Incomplete Cleanup
type: Class
cwe-id: CWE-459
subclass of: Improper Resource Shutdown or Release

Use of Incorrect Operator
type: Class
cwe-id: CWE-480
subclass of: Always-Incorrect Control Flow Implementation

Insertion of Sensitive Information into Externally-Accessible File or Directory
type: Class
cwe-id: CWE-538
subclass of: Exposure of Sensitive Information to an Unauthorized Actor

Inclusion of Sensitive Information in Source Code
type: Class
cwe-id: CWE-540
subclass of: Insertion of Sensitive Information into Externally-Accessible File or Directory

Improper Handling of File Names that Identify Virtual Resources
type: Class
cwe-id: CWE-66
subclass of: Use of Incorrectly-Resolved Name or Reference

Allocation of Resources Without Limits or Throttling
type: Class
cwe-id: CWE-770
subclass of: Uncontrolled Resource Consumption
subclass of: Improper Initialization

Missing Release of Resource after Effective Lifetime
type: Class
cwe-id: CWE-772
subclass of: Improper Resource Shutdown or Release

Access of Memory Location After End of Buffer
type: Class
cwe-id: CWE-788
subclass of: CWE-119

Reliance on Untrusted Inputs in a Security Decision
type: Class
cwe-id: CWE-807
subclass of: CWE-693

Missing Synchronization
type: Class
cwe-id: CWE-820
subclass of: Improper Synchronization

Inclusion of Functionality from Untrusted Control Sphere
type: Class
cwe-id: CWE-829
subclass of: Incorrect Resource Transfer Between Spheres

Excessive Iteration
type: Class
cwe-id: CWE-834
subclass of: CWE-691

Improper Control of Generation of Code ('Code Injection')
type: Class
type: NamedIndividual
cwe-id: CWE-94
may-be-weakness-of: Eval Function
may-be-weakness-of: UserInputFunction
subclass of: Restriction
  on property: may-be-weakness-of
  some values from: Eval Function
subclass of: Restriction
  on property: may-be-weakness-of
  some values from: UserInputFunction
subclass of: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')
subclass of: Improper Control of Dynamically-Managed Code Resources

Improper Control of Resource Identifiers ('Resource Injection')
type: Class
cwe-id: CWE-99
subclass of: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')

Capability Assessment
type: Class
subclass of: Restriction
  on property: has-evidence
  some values from: Admin Feature Assessment
subclass of: Restriction
  on property: assesses
  some values from: Capability
subclass of: Restriction
  on property: has-evidence
  some values from: Defensive Technique Assessment
subclass of: Restriction
  on property: has-implementation
  some values from: Capability Implementation
subclass of: Assessment

Certificate Analysis
type: Class
type: NamedIndividual
analyzes: CertificateFile
d3fend-id: D3-CA
definition: Analyzing Public Key Infrastructure certificates to detect if they have been misconfigured or spoofed using both network traffic, certificate fields and third-party logs.
kb-article: ## How it works Certificate Analysis ensures that the data elements of the certificate are current and anchored in a known trust model. Certificate authorities, revocation lists, and third-party secure logs are used in the analysis. Analysis includes detection of server impersonation, phishing domains, and forged certificates. TLS certificates are designed to expire to ensure that the cryptographic keys are forced to be changed on a regular basis. The certificates in the trust path also expire and can cause a break in the trust chain. This means that even if a server certificate is updated correctly, intermediate certificates can expire and the trust chain is not maintained. This can cause services to become unavailable.
kb-reference: Reference - Securing Web Transactions
subclass of: Restriction
  on property: analyzes
  some values from: CertificateFile
subclass of: NetworkTrafficAnalysis

Classifying
type: Class
subclass of: Analytical Purpose

Client Computer
type: Class
definition: A client computer is a host that accesses a service made available by a server. The server is often (but not always) on another computer system, in which case the client accesses the service by way of a network.
subclass of: Host

Collaborative Software
type: Class
definition: Collaborative software or groupware is application software designed to help people working on a common task to attain their goals. One of the earliest definitions of groupware is "intentional group processes plus software to support them". Collaborative software is a broad concept that overlaps considerably with computer-supported cooperative work (CSCW). According to Carstensen and Schmidt (1999) groupware is part of CSCW. The authors claim that CSCW, and thereby groupware, addresses "how collaborative activities and their coordination can be supported by means of computer systems."
subclass of: User Application

Credential Compromise Scope Analysis
type: Class
type: NamedIndividual
analyzes: Credential
d3fend-id: D3-CCSA
definition: Determining which credentials may have been compromised by analyzing the user logon history of a particular system.
kb-article: ## How it works #### Memory Credentials may be stored in memory for a variety of reasons; on Windows, they may be stored in lsass.exe. Once a credential dumper like mimikatz runs and dumps the memory of lsass.exe, the credentials of every account logged on since boot are potentially compromised. When such an event occurs, this analytic will give the forensic context to identify compromised users. Those users could potentially be used in later events for additional logons. #### Hard disk Operating System may cache a certain number of credentials onto the hard disk to use as a source of truth if it cannot contact the credential server. In many versions of Microsoft Windows, the 10 most recent are cached by default; this setting can be changed in the Microsoft Management Console's Local Security Policy: ```Computer Configuration -> Windows Settings -> Local Policy -> Security Options -> Interactive Logon: Number of previous logons to cache -> 0``` Here we are not concerned with the alteration of the credentials but the fact that they might be read. If the attacker has physical access to the machine they are unlikely to be stopped from reading files on the filesystem. "In the event that the domain controller is unavailable Windows will check the last password hashes that has been cached in order to authenticate the user with the system. These password hashes are cached in the following registry setting: HKEY_LOCAL_MACHINE\SECURITY\Cache Mimikatz can retrieve these hashes if the following command is executed: lsadump::cache" [1] The Registry Hive, HKEY_LOCAL_MACHINE\SAM, which is stored in the supporting files %systemroot%\System32\Config\{Sam,sam.log,sam.sav}, contains the SAM file. DC: This is stored in %systemroot%\ntds\ntds.dit. (https://www.ultimatewindowssecurity.com/blog/default.aspx?d=10/2017) Sometimes memory, which contains credentials, could get on the hard disk. Like with hiberfil.sys in Windows. Equivalent on Linux In Linux, an attacker could read the /etc/s…
kb-reference: Reference - CAR-2015-07-001: All Logins Since Last Boot - MITRE
kb-reference: Reference - Systems and methods for detecting credential theft - Symantec Corp
subclass of: Restriction
  on property: analyzes
  some values from: Credential
subclass of: UserBehaviorAnalysis

Credential Rotation
type: Class
type: NamedIndividual
d3fend-id: D3-CRO
definition: Expiring an existing set of credentials and reissuing a new valid set
kb-article: ## How it works Management servers with enterprise policies for account management provide the ability to change or reset passwords for accounts. Some organizations rotate credentials periodically to limit the risk of stolen credentials. ## Considerations - When responding to an incident, severity of compromise should be considered to determine what credentials to what accounts should be regenerated - If proactively rotating credentials periodically, several factors should be considered to determine the frequency. Also introduces some risk including promoting the creation of weak passwords and poor storage practices for employees and presents challenges in proper tracking.
kb-reference: Reference - Password and Key Rotation - SSH
regenerates: Credential
subclass of: Restriction
  on property: regenerates
  some values from: Credential
subclass of: CredentialHardening

Cyber Sensor
type: Class
subclass of: Sensor

Cyber Technique
type: Class
subclass of: Restriction
  on property: implemented-by
  some values from: Procedure
subclass of: Technique

D3FEND KB Thing
type: Class

DNS Allowlisting
type: Class
type: NamedIndividual
blocks: OutboundInternetDNSLookupTraffic
d3fend-id: D3-DNSAL
definition: Permitting only approved domains and their subdomains to be resolved.
kb-reference: Reference - DNS Whitelist (DNSWL) Email Authentication Method Extension
synonym: DNS Whitelisting
subclass of: Restriction
  on property: blocks
  some values from: OutboundInternetDNSLookupTraffic
subclass of: Network Isolation

DNS Network Traffic
type: Class
type: NamedIndividual
definition: DNS network traffic is network traffic related to queries and responses involving the Domain Name System. DNS traffic can involve clients, servers such as relays or resolvers. This includes only network traffic conforming to standard DNS protocol; not custom protocols.
subclass of: NetworkTraffic

Dead Code Elimination
type: Class
type: NamedIndividual
d3fend-id: D3-DCE
definition: Removing unreachable or "dead code" from compiled source code.
kb-article: ## How it works Dead code is code that is considered unreachable by normal program execution. Dead code can be created by adding code under a condition that never evaluates to true. Dead code should be removed since this type of code can produce unexpected results, if accidentally or maliciously forced to execute. Dead code identification is typically performed by algorithms that implement program flows analysis looking for unreachable code. The dead code is eliminated by instructing compilers to remove the code through compiler flags, i.e., '-fdce' is used for Dead Code Elimination. ## Considerations Code can also be deemed unreachable for certain run-time conditions. Different deployed systems and environments may contain some code that is unreachable for the given environment. This technique does not consider run-time conditions for unreachable code.
kb-reference: Reference - Dead code elimination
subclass of: Application Hardening

Decoy Persona
type: Class
type: NamedIndividual
d3fend-id: D3-DP
definition: Establishing a fake online identity to misdirect, deceive, and or interact with adversaries.
kb-article: ## How it works A false online identity is created for the purposes of interacting with adversaries in a direct or indirect manner. This includes the associated email addresses, social media accounts, and other online communication profiles. ## Considerations * Include phone numbers and online social profiles as well as automatically or manually responding to contact made to the persona to improve realism. * Continuous updating and managing the decoy personas and online activity streams to ensure personas do not become stale and outdated.
kb-reference: Reference - Decoy and deceptive data object technology - Cymmetria, Inc.
kb-reference: Reference - Decoy Personas for Safeguarding Online Identity Using Deception - MITRE
spoofs: User
subclass of: Restriction
  on property: spoofs
  some values from: User
subclass of: Decoy Object

Defensive Technique Assessment
type: Class
definition: Assessing how well a capability implementation's capability feature functions as a countermeasure.
subclass of: Restriction
  cardinality: 1
  on property: rating
subclass of: Restriction
  on property: confidence
  some values from: integer
subclass of: Restriction
  on property: assesses
  some values from: Defensive Technique Claim
subclass of: Restriction
  on data range: string
  on property: stage
  qualified cardinality: 1
subclass of: Restriction
  all values from: Datatype
    one of: Deceive
    one of: Detect
    one of: Evict
    one of: Harden
    one of: Isolate
  on property: stage
subclass of: Restriction
  on property: counters
  some values from: OffensiveTechnique
subclass of: Restriction
  all values from: Datatype
    one of: 0
    one of: 1
    one of: 2
    one of: 3
  on property: rating
subclass of: Feature Assessment

Digital System
type: Class
type: NamedIndividual
definition: A digital system is a group of interacting or interrelated digital artifacts that act according to a set of rules to form a unified whole. A digital system, surrounded and influenced by its environment, is described by its boundaries, structure and purpose and expressed in its functioning. Systems are the subjects of study of systems theory.
subclass of: DigitalInformationBearer
subclass of: System

Dimension Reduction
type: Class
type: NamedIndividual
d3fend-id: D3A-DR
definition: Dimensionality reduction is a key technique within unsupervised learning. It compresses the data by finding a smaller, different set of variables that capture what matters most in the original features, while minimizing the loss of information.
kb-article: ## References O'Reilly Media. (n.d.). Chapter 7. Machine Learning and Security: Protecting Systems with Data and Algorithms. [Link](https://www.oreilly.com/library/view/machine-learning-and/9781492073048/ch07.html)
subclass of: Unsupervised Learning

Direct Physical Link Mapping
type: Class
type: NamedIndividual
d3fend-id: D3-DPLM
definition: Direct physical link mapping creates a physical link map by direct observation and recording of the physical network links.
kb-article: ## How it works Direct Physical Link Mapping involves a manual process where a network engineer or administrator physically observes and documents the physical connections within the network infrastructure. ## Considerations * Constructing and maintaining physical topologies for extensive networks can be challenging and time-consuming using manual methods. Therefore, where feasible, automated methods like active physical link mapping should be considered as a partial or complete solution for physical link mapping processes. * In scenarios where active physical link mapping is not an option, physical inspection of networks is necessary to accomplish physical link mapping. This is due to the lack of reliable techniques to accurately map physical links solely through passive network traffic monitoring.
kb-reference: Reference - Network Mapping
synonym: Manual Physical Link Mapping
subclass of: Physical Link Mapping

Distribution Properties
type: Class
type: NamedIndividual
d3fend-id: D3A-DP
definition: The properties derived from a probability distribution.
kb-article: ## References Wikipedia. (n.d.). Probability distribution. [Link](https://en.wikipedia.org/wiki/Probability_distribution)
subclass of: Descriptive Statistics

Domain Name Reputation Analysis
type: Class
type: NamedIndividual
analyzes: Domain Name
d3fend-id: D3-DNRA
definition: Analyzing the reputation of a domain name.
kb-reference: Reference - Database for receiving, storing and compiling information about email messages
kb-reference: Reference - Finding phishing sites
subclass of: Restriction
  on property: analyzes
  some values from: Domain Name
subclass of: Identifier Reputation Analysis

Domain Registration
type: Class
type: NamedIndividual
definition: A domain registration, or domain name registration data, is the relevant registration data from Internet resources such as domain names, IP addresses, and autonomous system numbers. Registration data is typically retrieved by means of either the Registration Data Access Protocol (RDAP) or its predecessor, the WHOIS protocol.
may-contain: Domain Name
subclass of: Restriction
  on property: may-contain
  some values from: Domain Name
subclass of: Digital Information
alternative label: Domain Name Registration Data

Exception Handler Pointer Validation
type: Class
type: NamedIndividual
d3fend-id: D3-EHPV
definition: Validates that a referenced exception handler pointer is a valid exception handler.
kb-article: ## How It Works When a process encounters an exception, it calls an exception handler to deal with the exception. The method by which this exception handler is determined varies by the operating system. The exception handler is called, even if it is the default exception handler to terminate the program and display a message that the program stopped working. In the case that no valid exception handler is found, the program would fail to proceed as normal and could be programmed to terminate. In Windows, the address of the exception registration record is stored at the very start of the the Thread Information Block; the GS register points to this structure. The exception registration record contains two pointers: a pointer to the next exception registration record should this handler fail to handle the exception, and a pointer to the handler. A buffer overflow can overwrite the saved return pointer with an invalid location to execute memory; this often triggers the exception handler chain, which could also be corrupted by the buffer overflow. Although Process Exception Handler Validation does not make sure that the exception handler pointer or the code at the exception handler was unaltered, or that the exception handler code is secure, this technique does ensure that the pointer is at least an exception handler that could be called by the program. With Process Exception Handler Validation, before the handler is called, it checks the exception handler against a source of valid exception handlers. If the requested handler is not in this list, other techniques such as those in Process Eviction might be invoked, such as Process Termination to end the current process, or Executable Blacklisting to blacklist the potentially vulnerable or malfunctioning executable. ### Runtime valid exception handler source generation The source of valid exception handlers could be generated at runtime, with the risk of the information that is used to determine the validity of exception ha…
kb-reference: Reference - /SAFESEH (Image has Safe Exception Handlers) - Microsoft Docs
synonym: Exception Handler Validation
validates: Pointer
subclass of: Restriction
  on property: validates
  some values from: Pointer
subclass of: Application Hardening

External Control
type: Class
subclass of: Restriction
  on property: member-of
  some values from: Control Catalog
subclass of: Restriction
  on property: semantic-relation
  some values from: DefensiveTechnique
subclass of: External Control Thing

External Thing
type: Class

External Threat Model Thing
type: Class
subclass of: External Thing

File Access Pattern Analysis
type: Class
type: NamedIndividual
analyzes: Local Resource Access
d3fend-id: D3-FAPA
definition: Analyzing the files accessed by a process to identify unauthorized activity.
kb-article: ## How it works File modifying malware such as wipers and ransomware are detected by identifying file access patterns that are associated with a malicious process. Examples of file access patterns include accessing a large number of files, accessing multiple file types, files being accessed located in multiple locations in a directory, and copying a file and encrypting the contents of that file into a copy. ## Considerations Certain file access actions may not be statistically different from authorized activity.
kb-reference: Reference - File-modifying malware detection - Crowdstrike Inc
subclass of: Restriction
  on property: analyzes
  some values from: Local Resource Access
subclass of: ProcessAnalysis

File Content Analysis
type: Class
type: NamedIndividual
d3fend-id: D3-FCOA
definition: Employing a pattern matching algorithm to statically analyze the content of files.
kb-article: ## How it works Analyzing a piece of code without it being executed in a sandbox, virtual machine, or simulator. Patterns or signatures in the file can indicate whati kind of software it is, including whether it is malware.
kb-reference: Reference - Cyber vaccine and predictive-malware-defense methods and systems
subclass of: FileAnalysis

File Integrity Monitoring
type: Class
type: NamedIndividual
analyzes: File
d3fend-id: D3-FIM
definition: Detecting any suspicious changes to files in a computer system.
kb-article: ## How it Works There are a number of tools in Windows and Unix that can monitor specific files in a system and generate alerts if any artifacts have been created, modified, or removed. They accomplish this by comparing the current artifacts to a previous snapshot. Unix - Unix systems have a file integrity checker tool called tripwire. Tripwire first initializes a database that serves as a basis for comparison and can then scan the system to compare the state of the current file system against the initial baseline database. Additionally, users can define policies that specify potential violations. Windows - In Microsoft Azure, file integrity monitoring can be enabled which can track file and registry key creation, removals, and modifications of specific files. ## Considerations Files can change constantly due to the non-static nature of a computer system. File Integrity Monitoring works best when pointed at a narrow scope of critical files to limit the number of unneccessary files that may be modified over the course of normal use. The accuracy and precision of defined policies also affect the efficacy of this technique.
kb-reference: Reference - File Integrity Monitoring in Microsoft Defender for Cloud - Microsoft
kb-reference: Reference - Tripwire
subclass of: Restriction
  on property: analyzes
  some values from: File
subclass of: PlatformMonitoring

Firmware Behavior Analysis
type: Class
type: NamedIndividual
analyzes: Firmware
d3fend-id: D3-FBA
definition: Analyzing the behavior of embedded code in firmware and looking for anomalous behavior and suspicious activity.
kb-article: ## How it works Firmware behavior analysis provides protections by ensuring that installed firmware has not been tampered with or modified. Firmware analysis applies to mutable firmware and immutable read-only memory (ROMs). Firmware in deployed network devices is typically not analyzed and monitored for vulnerabilities and thus is subject to potential attacks. This technique makes use of known and measured behavioral attributes, including timing attributes, of analyzed firmware on deployed devices. A behavioral method that employs known timing measurements may use the timing results from a challenge and response protocol to detect the presence of malware in embedded firmware. Firmware device timing measurements are made, specific to the installed device, and are used in the verifying function. The original firmware image is modified by injecting a monitoring software component into the embedded firmware code. The injected software components will allow for a software root of trust, the challenge and response protocol, to be implement in the firmware. A challenge-response is issued and includes a nonce so that replays are not allowed. The firmware will calculate a checksum over all of memory, including the nonce, and return the result. The verification system will compare the computed checksum and the time it took for the computation of the checksum to determine if the firmware has been modified. ## Considerations * The firmware code will need to be modified to include the behavioral monitoring functionality. * This technique is sensitive to the device the embedded firmware is hosted on and it is expected that the devices and firmware will need to be profiled and analyzed to determine timing estimation. * This technique is not expected to be one hundred percent correct as you would expect in a hardware root of trust solution and may require some tuning.
kb-reference: Reference - Firmware Behavior Analysis ConFirm
kb-reference: Reference - Firmware Behavior Analysis VIPER
synonym: Firmware Timing Analysis
subclass of: Restriction
  on property: analyzes
  some values from: Firmware
subclass of: PlatformMonitoring

Firmware Embedded Monitoring Code
type: Class
type: NamedIndividual
analyzes: Firmware
d3fend-id: D3-FEMC
definition: Monitoring code is injected into firmware for integrity monitoring of firmware and firmware data.
kb-article: ## How it works Firmware in deployed network devices is typically not monitored for malicious changes. This technique provides a method to embed a software security component into the deployed firmware which provides a near real-time monitoring hook. The exception handling code, in the firmware, is typically used to expose any detected vulnerabilities. The injected software components provide a feature similar to intrusion detection systems for the firmware by detecting unauthorized modifications of the embedded firmware. The integrity of static code and firmware data are monitored continuously in the hosted devices. Comparisons are made to monitored elements like firmware memory addresses and data segments. Memory pages are scanned and if a modification is detected the software component may lock the page. This will protect subsequent attempted modifications to the firmware. The software component may utilize the exception handling code and thus be able to disclose the exact address of the modified memory. The injected software components are inserted during the firmware imaging process. The injected software is assumed to have knowledge of both the embedded code and the current execution state of the host program. The injected software will monitor and alert, in near real-time, on potential suspicious activity. The injected code is run alongside of the embedded code in the host. The injected software operates as an independent entity and is not dependent on the host software. Finally, this technique may implement other countermeasure techniques as part of their analytical processes. These should be identified by referencing other countermeasure techniques directly as necessary. ## Considerations * The firmware code will need to be modified and re-hosted on the device. * Exposing monitoring hooks to the injected code may introduce additional risk.
kb-reference: Reference - Firmware Embedded Monitoring Code Red Balloon
kb-reference: Reference - Firmware Embedded Monitoring Code Symbiotes
subclass of: Restriction
  on property: analyzes
  some values from: Firmware
subclass of: PlatformMonitoring

Forward Resolution Domain Denylisting
type: Class
type: NamedIndividual
blocks: OutboundInternetDNSLookupTraffic
d3fend-id: D3-FRDDL
definition: Blocking a lookup based on the query's domain name value.
kb-article: ## How it works Policies are created that filter DNS queries using fully qualified domain name (FQDN) of record in the query. A DNS policy can be created for blocking DNS queries from FQDNs that have been identified as unauthorized. ## Considerations Continuous maintenance of unauthorized domain lists is needed to keep up to date as updates occur.
kb-reference: Reference - Use DNS Policy for Applying Filters on DNS Queries
synonym: Forward Resolution Domain Blacklisting
subclass of: Restriction
  on property: blocks
  some values from: OutboundInternetDNSLookupTraffic
subclass of: DNS Denylisting

Media Generation
type: Class
subclass of: Analytical Purpose

Generative Adversarial Network
type: Class
type: NamedIndividual
d3fend-id: D3A-GAN
definition: Generative Adversarial Networks (GAN) are an approach to generative modeling using deep learning methods, such as convolutional neural networks.
kb-article: ## References Brownlee, J. (2019). What Are Generative Adversarial Networks (GANs)? Machine Learning Mastery. [Link](https://machinelearningmastery.com/what-are-generative-adversarial-networks-gans/)
synonym: GAN
subclass of: Unsupervised Learning

Get Open Windows
type: Class
type: NamedIndividual
subclass of: SystemCall

Host Shutdown
type: Process Termination
type: Class
type: NamedIndividual
d3fend-id: D3-HS
definition: Initiating a host's shutdown sequence to terminate all running processes.
kb-article: ## How It Works Host shutdown can either be initiated in the physical presence of the device using the power functions or remotely using the provided user interface or an installed EDR agent (with the available function). This process may allow for the removal of specific types of malware, such as fileless malware, and can also prevent further damage, for example, if the system is part of a botnet. ## Considerations - If the attacker has achieved persistence techniques, this technique may not be effective - Compromised systems may not respond to remote commands to shutdown or reboot, requiring physical intervention. - Shutting down a system will usually result in the memory losing its state which can be useful in forensic activities so this should be considered when deciding to shutdown. - Shutting down systems may disrupt access to computer resources for legitimate users.
kb-reference: Reference - Near-Memory & In-Memory Detection of Fileless Malware
terminates: Process
subclass of: Restriction
  on property: terminates
  some values from: Process
subclass of: Process Eviction

IP Reputation Analysis
type: Class
type: NamedIndividual
analyzes: IP Address
d3fend-id: D3-IPRA
definition: Analyzing the reputation of an IP address.
kb-reference: Reference - Database for receiving, storing and compiling information about email messages
kb-reference: Reference - Finding phishing sites
subclass of: Restriction
  on property: analyzes
  some values from: IP Address
subclass of: Identifier Reputation Analysis

Image Data Segment
type: Class
type: NamedIndividual
definition: An image data segment (often denoted .data) is a portion of an object file that contains initialized static variables, that is, global variables and static local variables. The size of this segment is determined by the size of the values in the program's source code, and does not change at run time. This segmenting of the memory space into discrete blocks with specific tasks carried over into the programming languages of the day and the concept is still widely in use within modern programming languages.
subclass of: Image Segment

Image Synthesis GAN
type: Class
type: NamedIndividual
d3fend-id: D3A-ISG
definition: Image synthesis thorugh the application of Generative Adversarial Networks.
kb-article: ## References Zhang, Q., Wang, H., Lu, H., Won, D., & Yoon, S. W. (2018). Medical Image Synthesis with Generative Adversarial Networks for Tissue Recognition. 2018 IEEE International Conference on Healthcare Informatics (ICHI), 199-207. doi: 10.1109/ICHI.2018.00030. [Link](https://ieeexplore.ieee.org/document/8419363)
subclass of: Generative Adversarial Network

Interprocess Communication
type: Class
type: NamedIndividual
definition: In computer science, inter-process communication or inter-process communication (IPC) refers specifically to the mechanisms an operating system provides to allow processes it manages to share data. Typically, applications can use IPC categorized as clients and servers, where the client requests data and the server responds to client requests. Many applications are both clients and servers, as commonly seen in distributed computing. Methods for achieving IPC are divided into categories which vary based on software requirements, such as performance and modularity requirements, and system circumstances, such as network bandwidth and latency.
subclass of: DigitalInformationBearer

License
type: Class
subclass of: Information Content Entity

Logical Link Mapping
type: Class
type: NamedIndividual
d3fend-id: D3-LLM
definition: Logical link mapping creates a model of existing or previous node-to-node connections using network-layer data or metadata.
kb-reference: Reference - Libre NMS - Network Map Extension
maps: Logical Link
maps: Network
maps: NetworkNode
subclass of: Restriction
  on property: maps
  some values from: Logical Link
subclass of: Restriction
  on property: maps
  some values from: NetworkNode
subclass of: Restriction
  on property: maps
  some values from: Network
subclass of: Network Mapping

Logical Rules
type: Class
type: NamedIndividual
d3fend-id: D3A-LR
definition: A logical rule matches event data or set of values to a conditional expression and results in the determination of a truth value, which may be used to determine the next action or step to take.
kb-article: ## How it works Logic rules define a set of patterns that in some patterns must match input data. If the the conditions are met, then the rule will "fire" and some action will be taken, usually notifying a person or another system that the event being monitored needs further processing or attention. ## Key Test Considerations - **Performance (Accuracy)** Identify instances in data where rule is expected to be triggered. Implement traceability and metrics for individual rule performance. Traceability of cases could be implemented as unit tests or as part of a fine-grained classification performance platform. For simple rule-based matching systems with many rules, individual rules may be unused or may create unusually high false positives (or false negatives relative to expectation. - **Performance (Computational)** Generate model performance measures (see Classification Performance Measures), esp. a confusion matrix for each rule and identify outliers and relative contribution of rule to overall performance. ## References 1. Event condition action. (2019, Nov 21). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Event_condition_action). 2. Business rule. (2023, April 10). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Business_rule). 3. YARA. (2023, June 5). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/YARA).
subclass of: Symbolic Logic

Memory Extent
type: Class
subclass of: Digital Information

Model-based Reinforcement Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-MBRL
definition: Model-based Reinforcement Learning refers to learning optimal behavior indirectly by learning a model of the environment by taking actions and observing the outcomes that include the next state and the immediate reward. The models predict the outcomes of actions and are used in lieu of or in addition to interaction with the environment to learn optimal policies.
kb-article: ## References Model-Based Reinforcement Learning. In *Encyclopedia of Machine Learning*, pp. 642-644. Springer, 2010. [Link](https://link.springer.com/referenceworkentry/10.1007/978-0-387-30164-8_556#:~:text=Model%2Dbased%20Reinforcement%20Learning%20refers,state%20and%20the%20immediate%20reward).
subclass of: Reinforcement Learning

Modem
type: Class
definition: A modem -- a portmanteau of "modulator-demodulator" -- is a hardware device that converts data into a format suitable for a transmission medium so that it can be transmitted from one computer to another (historically along telephone wires). A modem modulates one or more carrier wave signals to encode digital information for transmission and demodulates signals to decode the transmitted information. The goal is to produce a signal that can be transmitted easily and decoded reliably to reproduce the original digital data. Modems can be used with almost any means of transmitting analog signals from light-emitting diodes to radio. A common type of modem is one that turns the digital data of a computer into modulated electrical signal for transmission over telephone lines and demodulated by another modem at the receiver side to recover the digital data.
subclass of: Computer Network Node

NTFS Link
type: Class
definition: The NTFS filesystem defines various ways to link files, i.e. to make a file point to another file or its contents. The object being pointed to is called the target. There are three classes of NTFS links: (a) Hard links, which have files share the same MFT entry (inode), in the same filesystem; (b) Symbolic links, which record the path of another file that the links contents should show and can accept relative paths; and (c) Junction points, which are similar to symlinks but defined only for directories and only accepts local absolute paths
subclass of: File
subclass of: File System Link

OS API Free Memory
type: Class
type: NamedIndividual
invokes: Free Memory
subclass of: Restriction
  on property: invokes
  some values from: Free Memory
subclass of: OSAPISystemFunction

OS API Get System Time
type: Class
type: NamedIndividual
invokes: Get System Time
subclass of: Restriction
  on property: invokes
  some values from: Get System Time
subclass of: OSAPISystemFunction

OS API Move File
type: Class
type: NamedIndividual
invokes: Move File
subclass of: Restriction
  on property: invokes
  some values from: Move File
subclass of: OSAPISystemFunction

OS API Suspend Process
type: Class
type: NamedIndividual
invokes: Suspend Process
subclass of: Restriction
  on property: invokes
  some values from: Suspend Process
subclass of: OSAPISystemFunction

OS API Suspend Thread
type: Class
type: NamedIndividual
invokes: Suspend Thread
subclass of: Restriction
  on property: invokes
  some values from: Suspend Thread
subclass of: OSAPISystemFunction

OS API Trace Process
type: Class
type: NamedIndividual
invokes: Trace Process
subclass of: Restriction
  on property: invokes
  some values from: Trace Process
subclass of: OSAPISystemFunction

Office Application
type: Class
type: NamedIndividual
definition: An office application is one that is part of an application suite (e.g., Microsoft Office, Open Office).
subclass of: User Application

Operating System
type: Class
type: NamedIndividual
contains: Kernel
contains: System Service Software
definition: An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs. All computer programs, excluding firmware, require an operating system to function. Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software for cost allocation of processor time, mass storage, printing, and other resources.
may-contain: Operating System Configuration Component
subclass of: Restriction
  on property: may-contain
  some values from: Operating System Configuration Component
subclass of: Restriction
  on property: contains
  some values from: Kernel
subclass of: Restriction
  on property: contains
  some values from: System Service Software
subclass of: DigitalInformationBearer

Operating System Configuration
type: Class
type: NamedIndividual
definition: Information used to configure the services, parameters, and initial settings for an operating system.
subclass of: ConfigurationResource

Password Database
type: Class
definition: A password database is a database that holds passwords for user accounts and is usually encrypted (i.e.., the passwords are hashed). Password databases are found supporting system services (such as SAM) or part of user applications such as password managers.
subclass of: Database

Peripheral Firmware Verification
type: Class
type: NamedIndividual
d3fend-id: D3-PFV
definition: Cryptographically verifying peripheral firmware integrity.
kb-article: # How it works Peripherial firmware is collected and analyzed on a host either periodically or on demand. This information may be collected for future comparisons. Changes in firmware hash values may indicate that the firmware has been tampered with or that firmware images are not maintained to current baselined versions, or even known vulnerable versions are deployed. ## Considerations * Trust baselines will need to be generated for specific devices * Changes to trusted configurations will need to be managed across the enterprise
kb-reference: Reference - Firmware Verification Eclypsium
kb-reference: Reference - Firmware Verification Trapezoid
verifies: Peripheral Firmware
subclass of: Restriction
  on property: verifies
  some values from: Peripheral Firmware
subclass of: FirmwareVerification

Person
type: Class
type: NamedIndividual
subclass of: Restriction
  on property: name
  some values from: string
subclass of: Agent

Physical Artifact
type: Class
type: NamedIndividual
subclass of: Restriction
  on property: has-location
  some values from: Physical Location
subclass of: Artifact
alternative label: Physical Object

Physical Link Mapping
type: Class
type: NamedIndividual
d3fend-id: D3-PLM
definition: Physical link mapping identifies and models the link connectivity of the network devices within a physical network.
kb-reference: Reference - Libre NMS - Network Map Extension
maps: NetworkNode
maps: Physical Link
synonym: Layer 1 Mapping
subclass of: Restriction
  on property: maps
  some values from: Physical Link
subclass of: Restriction
  on property: maps
  some values from: NetworkNode
subclass of: Network Mapping

Product
type: Class
subclass of: Capability Implementation

Provider
type: Class
subclass of: Restriction
  on property: produces
  some values from: Capability Implementation
subclass of: Organization

RF Node
type: Class
subclass of: NetworkNode

RF Shielding
type: Class
type: NamedIndividual
d3fend-id: D3-RFS
definition: Adding physical barriers to a platform to prevent undesired radio interference.
kb-reference: Reference - Privacy and security systems and methods of use
kb-reference: Reference - Technical Specifications for Construction and Management of Sensitive Compartmented Information Facilities
subclass of: PlatformHardening

Reference - Automatically generating rules for connection security - Microsoft
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20120054825
kb-abstract: A method and system for creating security policies for firewall and connection policies in an integrated manner is provided. The security system provides a user interface through which a user can define a security rule that specifies both a firewall policy and a connection policy. After the security rule is specified, the security system automatically generates a firewall rule and a connection rule to implement the security rule. The security system provides the firewall rule to a firewall engine that is responsible for enforcing the firewall rules and provides the connection rule to an IPsec engine that is responsible for enforcing the connection rules
kb-author: Charles D. Bassett; Eran Yariv; Ian M. Carbaugh; Lokesh Srinivas Koppolu; Maksim Noy; Sarah A. Wahlert; Pradeep Bahl
kb-organization: Microsoft
kb-reference-of: InboundTrafficFiltering
kb-reference-of: OutboundTrafficFiltering
kb-reference-title: Automatically generating rules for connection security

Reference - Firmware Verification Eclypsium
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20200074086A1/en
kb-abstract: Systems and methods are provided herein for monitoring and identifying potential security vulnerabilities in hardware and / or firmware of host devices .
kb-author: Yuriy Bulygin, Oleksandr Bazhaniuk
kb-organization: ECLYPSIUM , Inc
kb-reference-of: FirmwareVerification
kb-reference-title: Methods and systems for hardware and firmware security monitoring

Reference - Remembrance of data passed: A study of disk sanitization practices
type: AcademicPaperReference
type: NamedIndividual
has-link: https://www.researchgate.net/profile/Simson-Garfinkel/publication/3437324_Remembrance_of_data_passed_A_study_of_disk_sanitization_practices/links/550de6d40cf2128741677d9f/Remembrance-of-data-passed-A-…
kb-author: Simson L Garfinkel, Abhi Shelat
kb-reference-of: Disk Erasure
kb-reference-of: Disk Formatting
kb-reference-of: Disk Partitioning
kb-reference-title: Remembrance of Data Passed: A Study of Disk Sanitization Practices

Reference - System and method thereof for identifying and responding to security incidents based on preemptive forensics - Palo Alto Networks Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20160142424A1
kb-abstract: A system is connected to a plurality of user devices coupled to an enterprise's network. The system continuously collects, stores, and analyzes forensic data related to the enterprise's network. Based on the analysis, the system is able to determine normal behavior of the network and portions thereof and thereby identify abnormal behaviors within the network. Upon identification of an abnormal behavior, the system determines whether the abnormal behavior relates to a security incident. Upon determining a security incident in any portion of the enterprise's network, the system extracts forensic data respective of the security incident and enables further assessment of the security incident as well as identification of the source of the security incident. The system provides real-time damage assessment respective of the security incident as well as the security incident's attributions.
kb-author: Gil BARAK; Shai MORAG
kb-mitre-analysis: This patent describes detecting abnormal behavior related to a security incident by collecting and analyzing forensic data in real time. Forensic data may include: * URLs visited * data downloaded or streamed * messages received and sent * amount of memory used for processing The data is then analyzed according to a set of dynamically created rules to determine normal behavior patterns associated with the network or user devices. Anomalies between current behavior and normal behavior patterns trigger an alert.
kb-organization: Palo Alto Networks Inc
kb-reference-of: Resource Access Pattern Analysis
kb-reference-of: User Data Transfer Analysis
kb-reference-of: Web Session Activity Analysis
kb-reference-title: System and method thereof for identifying and responding to security incidents based on preemptive forensics

Reference - Tivoli Application Dependency Discovery Manager 7.3.0 - Dependencies between resources
type: UserManualReference
type: NamedIndividual
has-link: https://www.ibm.com/docs/en/taddm/7.3.0
kb-organization: IBM
kb-reference-of: Data Exchange Mapping
kb-reference-of: Service Dependency Mapping
kb-reference-of: System Dependency Mapping
kb-reference-title: Tivoli Application Dependency Discovery Manager 7.3.0 - Dependencies between resources

Reference - Web-Based Enterprise Management
type: SpecificationReference
type: NamedIndividual
has-link: https://www.dmtf.org/standards/wbem
kb-organization: Distributed Management Task Force (DMTF)
kb-reference-of: Configuration Inventory
kb-reference-of: Hardware Component Inventory
kb-reference-of: Network Node Inventory
kb-reference-of: Software Inventory
kb-reference-title: Web-Based Enterprise Management

Reference - Windows Management Infrastructure (MI)
type: SpecificationReference
type: NamedIndividual
has-link: https://docs.microsoft.com/en-us/previous-versions/windows/desktop/wmi_v2/windows-management-infrastructure
kb-organization: Microsoft
kb-reference-of: Configuration Inventory
kb-reference-of: Hardware Component Inventory
kb-reference-of: Network Node Inventory
kb-reference-of: Software Inventory
kb-reference-title: Windows Management Infrastructure

Reference - Windows Management Instrumentation (WMI)
type: SpecificationReference
type: NamedIndividual
has-link: https://docs.microsoft.com/en-us/windows/win32/wmisdk/wmi-start-page
kb-organization: Microsoft
kb-reference-of: Configuration Inventory
kb-reference-of: Hardware Component Inventory
kb-reference-of: Network Node Inventory
kb-reference-of: Software Inventory
kb-reference-title: Windows Management Instrumentation

Resampling Ensemble
type: Class
type: NamedIndividual
d3fend-id: D3A-RE
definition: In the method, the small classes are oversampled and large classes are undersampled. The resampling scale is determined by the ratio of the min class number and max class number. And multiple machine learning methods are selected to construct the ensemble
kb-article: ## References Ensemble learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Ensemble_learning). Torgo, L. (2014). A resampling ensemble algorithm for improved accuracy. *Neurocomputing*, 134, 55-66. [Link](https://www.sciencedirect.com/science/article/pii/S0925231214007644#:~:text=A%20resampling%20ensemble%20algorithm%20is,and%20undersampling%20are%20empirically%20analyzed).
subclass of: Ensemble Learning

Semi-supervised Wrapper Method
type: Class
type: NamedIndividual
d3fend-id: D3A-SSWM
definition: The principle behind wrapper methods is that we train a model with labeled data and then generate pseudo-labels for the unlabeled data using the trained model iteratively.
kb-article: ## References Jashish, M. (n.d.). Beginner's Guide to Semi-Supervised Learning. Jashish Blog. [Link](http://jashish.com.np/blog/posts/beginners-guide-to-semi-supervised-learning/).
subclass of: Semi-Supervised Learning

Service Binary Verification
type: Class
type: NamedIndividual
d3fend-id: D3-SBV
definition: Analyzing changes in service binary files by comparing to a source of truth.
kb-article: ## How it works System service applications may originate from the operating system installation or third-party applications installed with administrative privileges. These services have an entry point of some executable file-- a binary or a script. Attackers sometimes modify these executables to launch their own code. Analyzing changes in these files may uncover unauthorized activity. ## Considerations * These files change for legitimate reasons when the system or software updates. * The source of truth must not be corrupted in order for this method to work.
kb-reference: Reference - CAR-2014-02-001: Service Binary Modifications - MITRE
verifies: ServiceApplication
subclass of: Restriction
  on property: verifies
  some values from: ServiceApplication
subclass of: System File Analysis

Shadow Stack Comparisons
type: Class
type: NamedIndividual
analyzes: StackFrame
d3fend-id: D3-SSC
definition: Comparing a call stack in system memory with a shadow call stack maintained by the processor to determine unauthorized shellcode activity.
kb-article: ## How it works This technique compares the call stack stored in system memory with the shadow call stack maintained in the cache memory of the processor. Mismatches between the two are compared since a return oriented programming attack may only be able to control or spoof the call stack and not the shadow call stack. Mismatches are counted and if the number of mismatches exceeds a certain threshold it is an indication of unauthorized activity and a security response action is performed. ## Considerations If the threshold for detecting a stack anomaly is low, it may not detect a return-oriented attack with just one gadget, such as a return-to-libc or return-to-plt attack. Additionally, this technique may not detect JOP (Jump-oriented programming), as the return instruction is not executed.
kb-reference: Reference - Threat detection for return oriented programming - Crowdstrike Inc
subclass of: Restriction
  on property: analyzes
  some values from: StackFrame
subclass of: ProcessAnalysis

Software Package
type: Class
subclass of: DigitalInformationBearer

Stack Component
type: Class
definition: A stack component is any component of a call stack used for stack-based memory allocation in a running process. Examples include saved instruction pointers, stack frames, and stack frame canaries.
subclass of: DigitalInformationBearer

System Configuration Init Resource
type: Class
definition: A system configuration initialization resource has information for initializing (booting) a system.
subclass of: Local Resource
alternative label: System Init Resource

System Firmware Verification
type: Class
type: NamedIndividual
d3fend-id: D3-SFV
definition: Cryptographically verifying installed system firmware integrity.
kb-article: ## How it works Cryptographic hash values are computed for system firmware. The hash values are compared against precomputed firmware hash values to determine if the firmware has been tampered with. When system firmware verification fails a set of predefined responses is typically invoked. The responses may direct the system to disable some devices or operations. ## Considerations * Requires the use of system provided security modules * Secure hash values will need to be computed for firmware
kb-reference: Reference - Firmware Verification Eclypsium
kb-reference: Reference - Platform Firmware Resiliency Guidelines - NIST
verifies: System Firmware
subclass of: Restriction
  on property: verifies
  some values from: System Firmware
subclass of: FirmwareVerification

System Init Config Analysis
type: Class
type: NamedIndividual
analyzes: System Init Configuration
d3fend-id: D3-SICA
definition: Analysis of any system process startup configuration.
kb-reference: Reference - CAR-2013-01-002: Autorun Differences - MITRE
kb-reference: Reference - CAR-2020-09-005: AppInit DLLs - MITRE
kb-reference: Reference - CAR-2020-11-001: Boot or Logon Initialization Scripts - MITRE
synonym: Autorun Analysis
synonym: Startup Analysis
subclass of: Restriction
  on property: analyzes
  some values from: System Init Configuration
subclass of: OperatingSystemMonitoring
alternative label: System Initialization Configuration Analysis

Data Obfuscation
type: Class
type: NamedIndividual
attack-id: T1001
definition: Adversaries may obfuscate command and control traffic to make it more difficult to detect.(Citation: Bitdefender FunnyDream Campaign November 2020) Command and control (C2) communications are hidden (but not necessarily encrypted) in an attempt to make the content more difficult to discover or decipher and to make the communication less conspicuous and hide commands from being seen. This encompasses many methods, such as adding junk data to protocol traffic, using steganography, or impersonating legitimate protocols.
produces: OutboundInternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetNetworkTraffic
subclass of: CommandAndControlTechnique

Exfiltration Over Alternative Protocol
type: Class
type: NamedIndividual
attack-id: T1048
definition: Adversaries may steal data by exfiltrating it over a different protocol than that of the existing command and control channel. The data may also be sent to an alternate network location from the main command and control server.
produces: InternetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: InternetNetworkTraffic
subclass of: Exfiltration Technique

Permission Groups Discovery
type: Class
attack-id: T1069
definition: Adversaries may attempt to discover group and permission settings. This information can help adversaries determine which user accounts and groups are available, the membership of users in particular groups, and which users and groups have elevated permissions.
subclass of: DiscoveryTechnique

Web Service
type: Class
type: NamedIndividual
attack-id: T1102
definition: Adversaries may use an existing, legitimate external Web service as a means for relaying data to/from a compromised system. Popular websites and social media acting as a mechanism for C2 may give a significant amount of cover due to the likelihood that hosts within a network are already communicating with them prior to a compromise. Using common services, such as those offered by Google or Twitter, makes it easier for adversaries to hide in expected noise. Web service providers commonly use SSL/TLS encryption, giving adversaries an added level of protection.
produces: Outbound Internet Web Traffic
subclass of: Restriction
  on property: produces
  some values from: Outbound Internet Web Traffic
subclass of: CommandAndControlTechnique

Email Collection
type: Class
type: NamedIndividual
accesses: Resource
attack-id: T1114
definition: Adversaries may target user email to collect sensitive information. Emails may contain sensitive data, including trade secrets or personal information, that can prove valuable to adversaries. Adversaries can collect or forward email from mail servers or clients.
subclass of: Restriction
  on property: accesses
  some values from: Resource
subclass of: CollectionTechnique

Supply Chain Compromise
type: Class
type: NamedIndividual
attack-id: T1195
definition: Adversaries may manipulate products or product delivery mechanisms prior to receipt by a final consumer for the purpose of data or system compromise.
modifies: Digital Artifact
subclass of: Restriction
  on property: modifies
  some values from: Digital Artifact
subclass of: InitialAccessTechnique

User Execution
type: Class
attack-id: T1204
definition: An adversary may rely upon specific actions by a user in order to gain execution. Users may be subjected to social engineering to get them to execute malicious code by, for example, opening a malicious document file or link. These user actions will typically be observed as follow-on behavior from forms of [Phishing](https://attack.mitre.org/techniques/T1566).
subclass of: ExecutionTechnique

Data from Information Repositories
type: Class
type: NamedIndividual
accesses: Resource
attack-id: T1213
definition: Adversaries may leverage information repositories to mine valuable information. Information repositories are tools that allow for storage of information, typically to facilitate collaboration or information sharing between users, and can store a wide variety of data that may aid adversaries in further objectives, or direct access to the target information. Adversaries may also abuse external sharing features to share sensitive documents with recipients outside of the organization.
subclass of: Restriction
  on property: accesses
  some values from: Resource
subclass of: CollectionTechnique
subclass of: DiscoveryTechnique

Virtualization/Sandbox Evasion
type: Class
attack-id: T1497
definition: Adversaries may employ various means to detect and avoid virtualization and analysis environments. This may include changing behaviors based on the results of checks for the presence of artifacts indicative of a virtual machine environment (VME) or sandbox. If the adversary detects a VME, they may alter their malware to disengage from the victim or conceal the core functions of the implant. They may also search for VME artifacts before dropping secondary or additional payloads. Adversaries may use the information learned from [Virtualization/Sandbox Evasion](https://attack.mitre.org/techniques/T1497) during automated discovery to shape follow-on behaviors.(Citation: Deloitte Environment Awareness)
subclass of: DefenseEvasionTechnique

Network Denial of Service
type: Class
attack-id: T1498
definition: Adversaries may perform Network Denial of Service (DoS) attacks to degrade or block the availability of targeted resources to users. Network DoS can be performed by exhausting the network bandwidth services rely on. Example resources include specific websites, email services, DNS, and web-based applications. Adversaries have been observed conducting network DoS attacks for political purposes(Citation: FireEye OpPoisonedHandover February 2016) and to support other malicious activities, including distraction(Citation: FSISAC FraudNetDoS September 2012), hacktivism, and extortion.(Citation: Symantec DDoS October 2014)
subclass of: ImpactTechnique

Endpoint Denial of Service
type: Class
attack-id: T1499
definition: Adversaries may perform Endpoint Denial of Service (DoS) attacks to degrade or block the availability of services to users. Endpoint DoS can be performed by exhausting the system resources those services are hosted on or exploiting the system to cause a persistent crash condition. Example services include websites, email services, DNS, and web-based applications. Adversaries have been observed conducting DoS attacks for political purposes(Citation: FireEye OpPoisonedHandover February 2016) and to support other malicious activities, including distraction(Citation: FSISAC FraudNetDoS September 2012), hacktivism, and extortion.(Citation: Symantec DDoS October 2014)
subclass of: ImpactTechnique

Adversary-in-the-Middle
type: Class
type: NamedIndividual
attack-id: T1557
definition: Adversaries may attempt to position themselves between two or more networked devices using an adversary-in-the-middle (AiTM) technique to support follow-on behaviors such as [Network Sniffing](https://attack.mitre.org/techniques/T1040), [Transmitted Data Manipulation](https://attack.mitre.org/techniques/T1565/002), or replay attacks ([Exploitation for Credential Access](https://attack.mitre.org/techniques/T1212)). By abusing features of common networking protocols that can determine the flow of network traffic (e.g. ARP, DNS, LLMNR, etc.), adversaries may force a device to communicate through an adversary controlled system so they can collect information or perform additional actions.(Citation: Rapid7 MiTM Basics)
produces: NetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: NetworkTraffic
subclass of: CollectionTechnique
subclass of: CredentialAccessTechnique

Inter-Process Communication
type: Class
type: NamedIndividual
attack-id: T1559
definition: Adversaries may abuse inter-process communication (IPC) mechanisms for local code or command execution. IPC is typically used by processes to share data, communicate with each other, or synchronize execution. IPC is also commonly used to avoid situations such as deadlocks, which occurs when processes are stuck in a cyclic waiting pattern.
injects: Interprocess Communication
subclass of: Restriction
  on property: injects
  some values from: Interprocess Communication
subclass of: ExecutionTechnique

Archive Collected Data
type: Class
type: NamedIndividual
attack-id: T1560
creates: Archive File
definition: An adversary may compress and/or encrypt data that is collected prior to exfiltration. Compressing the data can help to obfuscate the collected data and minimize the amount of data sent over the network.(Citation: DOJ GRU Indictment Jul 2018) Encryption can be used to hide information that is being exfiltrated from detection or make exfiltration less conspicuous upon inspection by a defender.
subclass of: Restriction
  on property: creates
  some values from: Archive File
subclass of: CollectionTechnique

Data Manipulation
type: Class
attack-id: T1565
definition: Adversaries may insert, delete, or manipulate data in order to influence external outcomes or hide activity, thus threatening the integrity of the data.(Citation: Sygnia Elephant Beetle Jan 2022) By manipulating data, adversaries may attempt to affect a business process, organizational understanding, or decision making.
subclass of: ImpactTechnique

Dynamic Resolution
type: Class
type: NamedIndividual
attack-id: T1568
definition: Adversaries may dynamically establish connections to command and control infrastructure to evade common detections and remediations. This may be achieved by using malware that shares a common algorithm with the infrastructure the adversary uses to receive the malware's communications. These calculations can be used to dynamically adjust parameters such as the domain name, IP address, or port number the malware uses for command and control.
produces: OutboundInternetDNSLookupTraffic
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetDNSLookupTraffic
subclass of: CommandAndControlTechnique

Establish Accounts
type: Class
attack-id: T1585
definition: Adversaries may create and cultivate accounts with services that can be used during targeting. Adversaries can create accounts that can be used to build a persona to further operations. Persona development consists of the development of public information, presence, history and appropriate affiliations. This development could be applied to social media, website, or other publicly available information that could be referenced and scrutinized for legitimacy over the course of an operation using that persona or identity.(Citation: NEWSCASTER2014)(Citation: BlackHatRobinSage)
subclass of: Resource Development Technique

Compromise Accounts
type: Class
attack-id: T1586
definition: Adversaries may compromise accounts with services that can be used during targeting. For operations incorporating social engineering, the utilization of an online persona may be important. Rather than creating and cultivating accounts (i.e. [Establish Accounts](https://attack.mitre.org/techniques/T1585)), adversaries may compromise existing accounts. Utilizing an existing persona may engender a level of trust in a potential victim if they have a relationship, or knowledge of, the compromised persona.
subclass of: Resource Development Technique

Gather Victim Identity Information
type: Class
attack-id: T1589
definition: Adversaries may gather information about the victim's identity that can be used during targeting. Information about identities may include a variety of details, including personal data (ex: employee names, email addresses, security question responses, etc.) as well as sensitive details such as credentials or multi-factor authentication (MFA) configurations.
subclass of: Reconnaissance Technique

Search Open Websites/Domains
type: Class
attack-id: T1593
definition: Adversaries may search freely available websites and/or domains for information about victims that can be used during targeting. Information about victims may be available in various online sites, such as social media, new sites, or those hosting information about business operations such as hiring or requested/rewarded contracts.(Citation: Cyware Social Media)(Citation: SecurityTrails Google Hacking)(Citation: ExploitDB GoogleHacking)
subclass of: Reconnaissance Technique

Active Scanning
type: Class
attack-id: T1595
definition: Adversaries may execute active reconnaissance scans to gather information that can be used during targeting. Active scans are those where the adversary probes victim infrastructure via network traffic, as opposed to other forms of reconnaissance that do not involve direct interaction.
subclass of: Reconnaissance Technique

Target Audience
type: Class
subclass of: Agent Group

Transformer-based Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-TBL
definition: A transformer is a deep learning model. It is distinguished by its adoption of self-attention, differentially weighting the significance of each part of the input (which includes the recursive output) data.
kb-article: ## References "Transformer (machine learning model)." Wikipedia. [Link](https://en.wikipedia.org/wiki/Transformer_(machine_learning_model)).
subclass of: Machine Learning

Unsupervised Preprocessing
type: Class
type: NamedIndividual
d3fend-id: D3A-UP
definition: When performing unsupervised learning, the machine is presented with unlabeled data. (Unlabeled data has no target.) Unsupervised learning algorithms seek to discover intrinsic patterns that underlie the data, such as a clustering parameter or a redundant parameter (dimension) that can be reduced.
kb-article: ## References SAS Institute Inc. (n.d.). Decision Trees. In SAS® Visual Data Mining and Machine Learning.[Link](https://documentation.sas.com/doc/en/vdmmlcdc/8.4/vdmmladvug/n1e4spzcnv1f0fn1vsxhbzgdp1bb.htm).
subclass of: Semi-Supervised Learning

User Process
type: Class
type: NamedIndividual
definition: A user process is a process running to perform functions in the name of on particular user and user account, such as run an application or application service serving any number users. This is in contrast to a system process, which executes software to fulfill operating system functions.
subclass of: Process

Video Input Device
type: Class
type: NamedIndividual
definition: Video input devices are used to digitize images or video from the outside world into the computer. The information can be stored in a multitude of formats depending on the user's requirement.
subclass of: Input Device

assessed-by
type: ObjectProperty
sub property of: d3fend-catalog-object-property
inverse of: assesses

author
type: ObjectProperty
sub property of: creator

cites
type: ObjectProperty
range: Information Content Entity
sub property of: d3fend-catalog-object-property
inverse of: d3fend-catalog-object-property

connects
type: ObjectProperty
definition: x connects y: The subject x joins system y by means of communication equipment (to some other system, typically the adversary-targeted host).
sub property of: associated-with

d3fend-display-annotation
type: AnnotationProperty
sub property of: d3fend-annotation

d3fend-external-control-data-property
type: DatatypeProperty
sub property of: d3fend-data-property

d3fend-kb-annotation-property
type: AnnotationProperty
definition: x d3fend-kb-annotation-property y: The entity x had the d3fend kb annotation y.
sub property of: d3fend-annotation

d3fend-kb-reference-annotation
type: AnnotationProperty
definition: x d3fend-kb-data-property y: The reference x has the data property y.
domain: Reference
range: string
sub property of: d3fend-kb-annotation-property

encrypts
type: ObjectProperty
definition: x encrypts y: The entity x converts the ordinary representation of a digital artifact y into a secret code.
sub property of: associated-with
sub property of: hardens

forges
type: ObjectProperty
definition: x forges y: An technique or agent x counterfeits a digital artifact y, such as a fake credential, with the intent to deceive.
sub property of: creates

has-evidence
type: ObjectProperty
sub property of: d3fend-catalog-object-property

interprets
type: ObjectProperty
definition: x interprets y: The subject x interprets the executable script y. The sense of interprets is here 'Parse the source code and perform its behavior directly.'
sub property of: executes
sub property of: may-interpret

may-evict
type: ObjectProperty
pref-label: may evict
sub property of: may-counter
sub property of: may-counter-attack

may-execute
type: ObjectProperty
definition: x may execute y: The subject x might take the action of carrying out (executing) y, which is a single software module, function, or instruction.
sub property of: may-be-associated-with

may-query
type: ObjectProperty
sub property of: may-be-associated-with

process-property
type: ObjectProperty
definition: x process-property y: Process x has the a process-property y. This is generalization for specific process object properties.
sub property of: associated-with

queries
type: ObjectProperty
sub property of: associated-with
sub property of: may-query

records
type: ObjectProperty
definition: x records y: The digital artifact x makes a record of events y; set down in permanent form.
sub property of: associated-with

suspends
type: ObjectProperty
definition: x suspends y: The agent or technique x pauses entity y.
sub property of: evicts

Access Control List
type: Class
type: NamedIndividual
definition: A list of permissions attached to an object.
restricts: User Group
subclass of: Restriction
  on property: restricts
  some values from: User Group
subclass of: AccessControlConfiguration

Administrative Network Activity Analysis
type: Class
type: NamedIndividual
analyzes: IntranetAdministrativeNetworkTraffic
date created: 2020-08-05T00:00:00
d3fend-id: D3-ANAA
definition: Detection of unauthorized use of administrative network protocols by analyzing network activity against a baseline.
kb-article: ## How it works Network protocols such as RDP, IPMI, SSH, SNMP, VNC, MOSH, NX, TeamViewer, SPICE, PCoIP, and others are used by system administrators to remotely manage servers. Defenders monitor administrative network activity to determine if the use of remote protocols is malicious. Attackers can abuse administrative protocols and leverage them for initial access to various endpoints. For example, an attacker with valid credentials will remotely SSH or RDP into a server and attempt to blend in with existing traffic from system administrators. By monitoring the traffic activity, it is possible to detect when the protocols are behaving differently from a known baseline of system administration activity. ## Considerations * Administrative traffic can be encrypted, making network protocol analysis a challenge * False alarms can be mitigated by integration with inventory management systems
kb-reference: Reference - Method and system for detecting suspicious administrative activity - Vectra Networks Inc
kb-reference: Reference - CAR-2014-11-005: Remote Registry - MITRE
kb-reference: Reference - CAR-2014-11-006: Windows Remote Management (WinRM) - MITRE
subclass of: Restriction
  on property: analyzes
  some values from: IntranetAdministrativeNetworkTraffic
subclass of: NetworkTrafficAnalysis

Allocate Memory
type: Class
type: NamedIndividual
creates: MemoryBlock
subclass of: Restriction
  on property: creates
  some values from: MemoryBlock
subclass of: SystemCall

Authentication Function
type: Class
type: NamedIndividual
authenticates: UserAccount
definition: Authenticates a user account by verifying a presented credential.
subclass of: Restriction
  on property: authenticates
  some values from: UserAccount
subclass of: Subroutine

Boot Record
type: Class
type: NamedIndividual
definition: A d3f:Record which is an essential component of the early boot (system initialization) process.
subclass of: Record

Bootloader Authentication
type: Class
type: NamedIndividual
authenticates: Boot Loader
d3fend-id: D3-BA
definition: Cryptographically authenticating the bootloader software before system boot.
kb-reference: Reference - UEFI Platform Initialization (PI) Specification
synonym: Secure Boot
subclass of: Restriction
  on property: authenticates
  some values from: Boot Loader
subclass of: PlatformHardening

Browser Extension
type: Class
type: NamedIndividual
definition: A browser extension is a plug-in that extends the functionality of a web browser in some way. Some extensions are authored using web technologies such as HTML, JavaScript, and CSS. Browser extensions can change the user interface of the web browser without directly affecting viewable content of a web page; for example, by adding a "toolbar."
extends: Browser
subclass of: Restriction
  on property: extends
  some values from: Browser
subclass of: User Application

Incomplete Comparison with Missing Factors
type: Class
cwe-id: CWE-1023
subclass of: Incorrect Comparison

Excessively Complex Data Representation
type: Class
cwe-id: CWE-1093
subclass of: CWE-710

Improper Handling of Physical or Environmental Conditions
type: Class
cwe-id: CWE-1384
subclass of: CWE-703

Improper Handling of Syntactically Invalid Structure
type: Class
cwe-id: CWE-228
subclass of: CWE-703
subclass of: Improper Neutralization

Incorrect Privilege Assignment
type: Class
cwe-id: CWE-266
subclass of: Improper Privilege Management

Improper Authentication
type: Class
type: NamedIndividual
cwe-id: CWE-287
weakness-of: Authentication Function
subclass of: Restriction
  on property: weakness-of
  some values from: Authentication Function
subclass of: CWE-284

Use of a Broken or Risky Cryptographic Algorithm
type: Class
cwe-id: CWE-327
subclass of: CWE-693

Absolute Path Traversal
type: Class
cwe-id: CWE-36
subclass of: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Improper Interaction Between Multiple Correctly-Behaving Entities
type: Class
cwe-id: CWE-435
subclass of: Weakness

Modification of Assumed-Immutable Data (MAID)
type: Class
cwe-id: CWE-471
subclass of: CWE-664

Embedded Malicious Code
type: Class
cwe-id: CWE-506
subclass of: Hidden Functionality

Incorrect Type Conversion or Cast
type: Class
cwe-id: CWE-704
subclass of: CWE-664

Improper Neutralization of Special Elements used in a Command ('Command Injection')
type: Class
type: NamedIndividual
cwe-id: CWE-77
weakness-of: UserInputFunction
subclass of: Restriction
  on property: weakness-of
  some values from: UserInputFunction
subclass of: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')

Out-of-bounds Write
type: Class
type: NamedIndividual
cwe-id: CWE-787
weakness-of: Raw Memory Access Function
subclass of: Restriction
  on property: weakness-of
  some values from: Raw Memory Access Function
subclass of: CWE-119

Incorrect Synchronization
type: Class
cwe-id: CWE-821
subclass of: Improper Synchronization

Missing Authorization
type: Class
cwe-id: CWE-862
comment: Broad and could apply to all resource accesses.
subclass of: Improper Authorization

Improper Neutralization of Special Elements in Data Query Logic
type: Class
cwe-id: CWE-943
subclass of: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')

Processor Cache Memory
type: Class
type: NamedIndividual
accessed-by: Central Processing Unit
definition: Cache memory is temporary storage that is more readily available to the processor than the computer's main memory source, located between the main memory and the processor. It is typically either integrated directly into the CPU chip (level 1 cache) or placed on a separate chip with a bus interconnect with the CPU (level 2 cache).
may-contain: ProcessSegment
subclass of: Restriction
  on property: may-contain
  some values from: ProcessSegment
subclass of: Restriction
  on property: accessed-by
  some values from: Central Processing Unit
subclass of: Restriction
  on property: modifies
  some values from: Processor Cache Memory
subclass of: Primary Storage

Capability Feature Claim
type: Class
subclass of: Restriction
  on property: implemented-by
  some values from: Capability Implementation
subclass of: Restriction
  on property: comments
  some values from: string
subclass of: Restriction
  on property: author
  some values from: Agent
subclass of: Restriction
  on property: assessed-by
  some values from: Defensive Technique Assessment
subclass of: Restriction
  on property: date created
  some values from: dateTime
subclass of: Restriction
  on property: date modified
  some values from: dateTime
subclass of: Statement
alternative label: Provider Claim

Central Processing Unit
type: Class
type: NamedIndividual
contains: Processor Register
definition: A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and input/output (I/O) operations specified by the instructions in the program. This contrasts with external components such as main memory and I/O circuitry, and specialized processors such as graphics
may-contain: Processor Cache Memory
may-contain: Memory Management Unit
may-contain: Memory Protection Unit
synonym: CPU
synonym: Central Processor
synonym: Main Processor
subclass of: Restriction
  on property: may-contain
  some values from: Memory Protection Unit
subclass of: Restriction
  on property: may-contain
  some values from: Memory Management Unit
subclass of: Restriction
  on property: may-contain
  some values from: Processor Cache Memory
subclass of: Restriction
  on property: contains
  some values from: Processor Register
subclass of: Processor

Cloud User Account
type: Class
type: NamedIndividual
definition: A user account on a given host is a local user account for a given cloud and specified resources within that cloud.
subclass of: UserAccount

Command History Log
type: Class
type: NamedIndividual
definition: A log of commands run in an operating system shell.
subclass of: EventLog

Compiler Configuration File
type: Class
type: NamedIndividual
definition: A file containing Information used to configure the parameters and initial settings for a compiler.
subclass of: Application Configuration File

Configuration Database Record
type: Class
type: NamedIndividual
synonym: Configuration Record
subclass of: ConfigurationResource
subclass of: Record

Configuration Inventory
type: Class
type: NamedIndividual
d3fend-id: D3-CI
definition: Configuration inventory identifies and records the configuration of software and hardware and their components throughout the organization.
inventories: ConfigurationResource
kb-article: ## How it works The organization retrieves configuration information through means of SNMP (MIB records), WBEM (CIM records), other protocols, or custom scripts and captures that information in a repository, typically known as a Configuration Management Database (CMDB)."
kb-reference: Reference - Web-Based Enterprise Management
kb-reference: Reference - Windows Management Infrastructure (MI)
kb-reference: Reference - Windows Management Instrumentation (WMI)
subclass of: Restriction
  on property: inventories
  some values from: ConfigurationResource
subclass of: Asset Inventory

Control Catalog
type: Class
definition: A control catalog is a complete list of protective measures for systems, organizations, or individuals for subject domains (e.g., security and privacy.)
subclass of: Restriction
  on property: version
  some values from: Datatype
    union of: integer
    union of: string
subclass of: Restriction
  on property: has-member
  some values from: External Control
subclass of: External Control Thing

Create Socket
type: Class
type: NamedIndividual
creates: Pipe
definition: A create socket system call creates an endpoint for communication and returns a file descriptor that refers to that endpoint.
subclass of: Restriction
  on property: creates
  some values from: Pipe
subclass of: SystemCall

Create Thread
type: Class
type: NamedIndividual
creates: Thread
definition: Threads are an execution model that exists independently from a language, as well as a parallel execution model. They enable a program to control multiple different flows of work that overlap in time.
subclass of: Restriction
  on property: creates
  some values from: Thread
subclass of: SystemCall

Data Exchange Mapping
type: Class
type: NamedIndividual
d3fend-id: D3-DEM
definition: Data exchange mapping identifies and models the organization's intended design for the flows of the data types, formats, and volumes between systems at the application layer.
kb-reference: Reference - Catia UAF Plugin
kb-reference: Reference - Unified Architecture Framework (UAF)
maps: Data Dependency
synonym: Data Flow Mapping
synonym: Information Exchange Mapping
subclass of: Restriction
  on property: maps
  some values from: Data Dependency
subclass of: System Mapping

Database File
type: Class
type: NamedIndividual
subclass of: File

Deceive
type: DefensiveTactic
type: Class
type: NamedIndividual
definition: The deceive tactic is used to advertise, entice, and allow potential attackers access to an observed or controlled environment.
display-order: 3
display-priority: 0
subclass of: DefensiveTactic

Decision Tree
type: Class
type: NamedIndividual
d3fend-id: D3A-DT
definition: Decision tree learning is a supervised learning approach used in statistics, data mining, and machine learning. In this formalism, a classification or regression decision tree is used as a predictive model to draw conclusions about a set of observations.
kb-article: ## How it works A decision tree starts with a root node, which does not have any incoming branches. The outgoing branches from the root node then feed into the internal nodes, also known as decision nodes. Based on the available features, both node types conduct evaluations to form homogenous subsets, which are denoted by leaf nodes, or terminal nodes. The leaf nodes represent all the possible outcomes within the dataset. ## Considerations While the basic underlying model is that of a decision tree, the decision tree node criteria, and the method for identifying splits varies significantly depending on the learning algorithm selected (e.g., CART, ID3, C4.5, C5.0, CHAID, MARS.) Extensions like linear and logistic trees can add additional expressiveness as well. ## Key Test Considerations - **Machine Learning**: - **Verify the dataset quality**: Check the data to make sure it is free of errors. Quantify the degree of missing values, outliers, and noise in the data collection. If the data quality is low, it may be difficult or impossible to create models and systems with the desired performance. - **Verify development datasets are representative**: of expected operational environment and data collection means. Compare distributions of dataset features and labels with exploratory data analysis and assess the difference in tests on training data and tests on evaluation data (where the evaluation data must be drawn from a representative dataset.) - **Use a variety of data sets**: where available and applicable, to reflect different operating and environment conditions that are likley to be be encountered. - **Use software libraries**: and tools built for ML where possible, so that the underlying code is verified by prior use.** - **Diagnose model errors with domain SMEs**: Have problem domain SMEs investigate model errors for conditions for which the model may underperform and suggest refinements. - **Classification**: - **Use Standard Classification Performance Measures*…
subclass of: Classification

Decoy Artifact
type: Class
type: NamedIndividual
definition: A decoy is an imitation digital artifact in any sense of a digital artifact, object, or phenomenon that is intended to deceive a cyber attacker's surveillance devices or mislead their evaluation. Examples include fake files, accounts, hosts (honeypots), and network segments (honeynets).
may-contain: Digital Artifact
subclass of: Restriction
  on property: may-contain
  some values from: Digital Artifact
subclass of: DigitalInformationBearer
alternative label: Decoy
alternative label: Decoy Object
alternative label: Lure
alternative label: Trap

Decoy User Credential
type: Class
type: NamedIndividual
d3fend-id: D3-DUC
definition: A Credential created for the purpose of deceiving an adversary.
kb-article: ## How it works A detection analytic is developed to determine when a user uses decoy credentials. Subsequent actions by that user may be monitored or controlled by the defender. A credential may be: * Domain username and password * Local system username and password ## Considerations * Decoy credentials should be integrated with a larger decoy environment to ensure that when decoy credentials are compromised, the credentials are used to interact with a decoy asset that is being monitored. * Continuous maintenance and updates are needed to ensure the legitimacy of the larger decoy environment and specifically the assets that utilize the decoy credentials.
kb-reference: Reference - Decoy and deceptive data object technology - Cymmetria Inc
kb-reference: Reference - Decoy Network-Based Service for Deceiving Attackers - Amazon Technologies
kb-reference: Reference - System and method for identifying the presence of malware using mini-traps set at network endpoints - Fidelis Cybersecurity Solutions Inc
spoofs: Credential
subclass of: Restriction
  on property: spoofs
  some values from: Credential
subclass of: Decoy Object

Descriptive Statistics
type: Class
type: NamedIndividual
d3fend-id: D3A-DS
definition: Descriptive statistics provide simple summaries about the sample and about the observations that have been made.
kb-article: ## References Wikipedia. (n.d.). Descriptive statistics. [Link](https://en.wikipedia.org/wiki/Descriptive_statistics)
subclass of: Statistical Method

Directory Service
type: Class
type: NamedIndividual
definition: In computing, directory service or name service maps the names of network resources to their respective network addresses. It is a shared information infrastructure for locating, managing, administering and organizing everyday items and network resources, which can include volumes, folders, files, printers, users, groups, devices, telephone numbers and other objects. A directory service is a critical component of a network operating system. A directory server or name server is a server which provides such a service. Each resource on the network is considered an object by the directory server. Information about a particular resource is stored as a collection of attributes associated with that resource or object.
subclass of: Network Service

Disk Formatting
type: Class
type: NamedIndividual
d3fend-id: D3-DKF
definition: Disk Formatting is the process of preparing a data storage device, such as a hard drive, solid-state drive, or USB flash drive, for initial use.
kb-article: ### How it works This process involves setting up an empty file system on the disk, which includes creating a directory structure and initializing metadata structures. In cybersecurity, disk formatting can be used to remove all existing data on a disk, making it a clean slate for new data storage or to prevent unauthorized access to previously stored data.
kb-reference: Reference - Remembrance of data passed: A study of disk sanitization practices
modifies: Secondary Storage
subclass of: Restriction
  on property: modifies
  some values from: Secondary Storage
subclass of: Object Eviction

Email Rule
type: Class
type: NamedIndividual
definition: A configuration of an email application which is used to apply logical or data processing functions to data processed by the email application.
subclass of: Application Rule

Emulated File Analysis
type: Class
type: NamedIndividual
analyzes: DocumentFile
analyzes: ExecutableFile
d3fend-id: D3-EFA
definition: Emulating instructions in a file looking for specific patterns.
kb-reference: Reference - Network-level polymorphic shellcode detection using emulation
subclass of: Restriction
  on property: analyzes
  some values from: ExecutableFile
subclass of: Restriction
  on property: analyzes
  some values from: DocumentFile
subclass of: FileAnalysis

Endpoint Health Beacon
type: Class
type: NamedIndividual
d3fend-id: D3-EHB
definition: Monitoring the security status of an endpoint by sending periodic messages with health status, where absence of a response may indicate that the endpoint has been compromised.
kb-article: ## How it works Endpoints are configured to periodically generate and transmit a secure heartbeat that is delivered on a configured schedule and provides endpoint status information. Status information can include software details (version, configuration, etc), endpoint identification (MAC, IP address, machine ID) or other hardware/software configuration information. Interruption of the heartbeat can signal that the endpoint has been compromised. ## Considerations * Security of heartbeat messages to ensure message integrity * Disappearance of the heartbeat could simply mean that the endpoint is powered off or intentionally disconnected from the network. Therefore other criteria may need to be used to accurately detect endpoint compromise. * Attacker presence on the machine may leave the heartbeat intact. * An attacker may determine the format of the heartbeat and continue to send it even after the machine is compromised.
kb-reference: Reference - Intrusion detection using a heartbeat - Sophos Ltd
monitors: NetworkNode
synonym: Endpoint Health Telemetry
subclass of: Restriction
  on property: monitors
  some values from: NetworkNode
subclass of: OperatingSystemMonitoring

Eval Function
type: Class
type: NamedIndividual
definition: Takes inputs of strings and evaluations them as expressions.
invokes: Subroutine
subclass of: Restriction
  on property: invokes
  some values from: Subroutine
subclass of: Subroutine

File Section
type: Class
type: NamedIndividual
definition: A file section is one of the portions of a file in which the file is regarded as divided and where together the file sections constitute the whole file.
subclass of: DigitalInformationBearer
alternative label: File Part

Free Memory
type: Class
type: NamedIndividual
deletes: MemoryBlock
subclass of: Restriction
  on property: deletes
  some values from: MemoryBlock
subclass of: SystemCall

Goal
type: Class
subclass of: D3FENDCore

High-dimension Clustering
type: Class
type: NamedIndividual
d3fend-id: D3A-HDC
definition: The cluster analysis of data with anywhere from a few dozen to many thousands of dimensions.
kb-article: ## References Wikipedia. (n.d.). Clustering high-dimensional data. [Link](https://en.wikipedia.org/wiki/Clustering_high-dimensional_data)
subclass of: Cluster Analysis

Homoglyph Detection
type: Class
type: NamedIndividual
analyzes: Email
analyzes: URL
d3fend-id: D3-HD
definition: Comparing strings using a variety of techniques to determine if a deceptive or malicious string is being presented to a user.
kb-article: ## How it works A homoglyph, in this context, is a deceptive string or word which looks like a trusted word, but is composed of different characters, for example: goooogle.com versus google.com. This is commonly found in phishing and typo squatting attacks where a human exploiting through a social engineering campaign. ## Considerations * In very large environments processing DNS queries can be computationally expensive due to the amount of traffic that is generated * Legitimate companies and products use non-dictionary words in their names that could result in many false positives
kb-reference: Reference - Computer-implemented methods and systems for identifying visually similar text character strings - Greathorn Inc
kb-reference: Reference - System and method for detecting homoglyph attacks with a siamese convolutional neural network - Endgame Inc
subclass of: Restriction
  on property: analyzes
  some values from: URL
subclass of: Restriction
  on property: analyzes
  some values from: Email
subclass of: Identifier Analysis

IP Address
type: Class
type: NamedIndividual
definition: An Internet Protocol address (IP address) is a numerical label assigned to each device connected to a computer network that uses the Internet Protocol for communication.An IP address serves two main functions: host or network interface identification and location addressing. Internet Protocol version 4 (IPv4) defines an IP address as a 32-bit number. However, because of the growth of the Internet and the depletion of available IPv4 addresses, a new version of IP (IPv6), using 128 bits for the IP address, was standardized in 1998. IPv6 deployment has been ongoing since the mid-2000s.
identifies: NetworkNode
subclass of: Restriction
  on property: identifies
  some values from: NetworkNode
subclass of: Identifier

In-memory Password Store
type: Class
type: NamedIndividual
definition: A password store held in memory.
subclass of: Password Store

Inbound Internet Mail Traffic
type: Class
type: NamedIndividual
definition: Inbound internet mail traffic is network traffic that is: (a) coming from a host outside a given network via an incoming connection to a host inside that same network, and (b) using a standard protocol for email.
subclass of: InboundInternetNetworkTraffic
subclass of: Inbound Network Traffic
subclass of: Mail Network Traffic

Inbound Network Traffic
type: Class
type: NamedIndividual
definition: Inbound traffic is network traffic originating from another host (client), to the host of interest (server).
subclass of: NetworkTraffic

Input Device Analysis
type: Class
type: NamedIndividual
analyzes: Input Device
d3fend-id: D3-IDA
definition: Operating system level mechanisms to prevent abusive input device exploitation.
kb-article: ## How it works Input Device Hardening techniques filter certain commands, or disable related operating system functionality. ### Analytics All of these values can be analyzed and compared to a baseline: * Amount of input * Duration of a single input * Durations between inputs * Value of input Context can also include: * User which is logged in, to include attributes such as physical location of the user * Date and time * System which is processing the input * Source device of input, to include its properties (eg. manufacturer), configuration (eg. keyboard layout) and behavioral attributes of this device (eg. first use) * Source system of input (local or remote system) * Other hardware devices attached to the system ### Actions Actions can include: * Disabling the source device * Sending an alert * Locking the current session (eg. system screen lock, or returning to an authentication screen in a web app) and requiring one or more methods of authentication to continue * Administratively disabling credentials for the account or the entire account -- the technique *Account Locking* ### Examples A malicious input device sends many keystrokes with approximately the same delay between each. This does not match the normal cadence of input, and the device is disabled. Input to type the session user's name takes abnormally longer for each keystroke. The system is locked to the password prompt screen. A system receives key press events from two different devices -- one device sends keystrokes after the other has been idle for a long time. A system receives physical input in a user session, while that user has sent input from a device located out of the country in the past hour. Network traffic is suddenly routed through a new external device, and nearly the same volume of network traffic is subsequently sent out the previously existing interface. The new external device is disabled, and an alert is raised to investigate the network configuration for a potential compromise. ##…
kb-reference: Reference - Continuous authentication by analysis of keyboard typing characteristics - Bradford Univ., UK
kb-reference: Reference - http://www.biometric-solutions.com/keystroke-dynamics.html - biometric-solutions.com
subclass of: Restriction
  on property: analyzes
  some values from: Input Device
subclass of: OperatingSystemMonitoring

Intranet IPC Network Traffic
type: Class
type: NamedIndividual
definition: Intranet IPC network traffic is network traffic that does not cross a given network's boundaries and uses a standard inter-process communication (IPC) networking protocol.
may-contain: File
subclass of: Restriction
  on property: may-contain
  some values from: File
subclass of: IPC Network Traffic
subclass of: IntranetNetworkTraffic

Intrinsically Semi-supervised Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-ISSL
definition: These methods directly optimize an objective function with components for labeled and unlabeled samples and do not rely on any intermediate steps or supervised base learners. Basically, these methods are extension of existing supervised methods to include the effect of unlabeled data samples in the objective function.
kb-article: ## References Beginner's Guide to Semi-Supervised Learning. Jashish Blog. [Link](http://jashish.com.np/blog/posts/beginners-guide-to-semi-supervised-learning/).
subclass of: Semi-Supervised Learning

Isolate
type: DefensiveTactic
type: Class
type: NamedIndividual
definition: The isolate tactic creates logical or physical barriers in a system which reduces opportunities for adversaries to create further accesses.
display-order: 2
display-priority: 0
subclass of: DefensiveTactic

Job Function Access Pattern Analysis
type: Class
type: NamedIndividual
analyzes: Authorization
d3fend-id: D3-JFAPA
definition: Detecting anomalies in user access patterns by comparing user access activity to behavioral profiles that categorize users by role such as job title, function, department.
kb-article: ## How it works Peer group analysis identifies functionally similar groups of actors (users or resources) based on categorizations such as job title, organizational hierarchy, or other attribute that indicates similarity of job function. Current user access activity is then compared to the appropriate peer group behavior profile to identify anomalies. ## Considerations Potential for false positives from anomalies that are not associated with malicious activity.
kb-reference: Reference - Anomaly Detection Using Adaptive Behavioral Profiles - Securonix Inc
subclass of: Restriction
  on property: analyzes
  some values from: Authorization
subclass of: UserBehaviorAnalysis

Kerberos Ticket Granting Ticket
type: Class
type: NamedIndividual
definition: A ticket granting ticket issued by a Kerberos system; that is, a ticket that grants a user domain admin access.
subclass of: Kerberos Ticket
subclass of: Ticket Granting Ticket

Kernel
type: Class
type: NamedIndividual
contains: Kernel Process Table
definition: The kernel is a computer program that constitutes the central core of a computer's operating system. It has complete control over everything that occurs in the system. As such, it is the first program loaded on startup, and then manages the remainder of the startup, as well as input/output requests from software, translating them into data processing instructions for the central processing unit. It is also responsible for managing memory, and for managing and communicating with computing peripherals, like printers, speakers, etc. The kernel is a fundamental part of a modern computer's operating system.
loads: Application
manages: Operating System Process
manages: User Process
may-contain: Hardware Driver
may-contain: Kernel Module
subclass of: Restriction
  on property: may-contain
  some values from: Hardware Driver
subclass of: Restriction
  on property: manages
  some values from: Operating System Process
subclass of: Restriction
  on property: loads
  some values from: Application
subclass of: Restriction
  on property: manages
  some values from: User Process
subclass of: Restriction
  on property: may-contain
  some values from: Kernel Module
subclass of: Restriction
  on property: contains
  some values from: Kernel Process Table
subclass of: System Software

Kernel Process Table
type: Class
type: NamedIndividual
definition: A data structure in the kernel which is a table containing all of the information that must be saved when the CPU switches from running one process to another in a multitasking system. It allows the operating system to track all the process's execution status, and contains the For every process managed by the kernel, there is a process control block (PCB) in the process table.
subclass of: DigitalInformationBearer

Local Area Network
type: Class
type: NamedIndividual
definition: A local area network (LAN) is a computer network that interconnects computers within a limited area such as a residence, school, laboratory, university campus or office building and has its network equipment and interconnects locally managed. Ethernet and Wi-Fi are the two most common transmission technologies in use for local area networks. Historical technologies include ARCNET, Token ring, and AppleTalk.
may-contain: Host
subclass of: Restriction
  on property: may-contain
  some values from: Host
subclass of: Network
alternative label: LAN

Logic Programming
type: Class
type: NamedIndividual
d3fend-id: D3A-LP
definition: Logic programming is a programming paradigm which is largely based on formal logic.
kb-article: ## How it works Any program written in a logic programming language is a set of sentences in logical form, expressing facts and rules about some problem domain. Major logic programming language families include Prolog, answer set programming (ASP) and Datalog. In all of these languages, rules are written in the form of clauses: H :- B_1, ..., B_n. ## References 1. Logic programming. (2023, May 29). In _Wikipedia_. [Link]( https://en.wikipedia.org/wiki/Logic_programming)
subclass of: Symbolic AI

Login Session
type: Class
type: NamedIndividual
definition: In computing, a login session is the period of activity between a user logging in and logging out of a (multi-user) system. On Unix and Unix-like operating systems, a login session takes one of two main forms: (a) When a textual user interface is used, a login session is represented as a kernel session -- a collection of process groups with the logout action managed by a session leader, and (b) Where an X display manager is employed, a login session is considered to be the lifetime of a designated user process that the display manager invokes.
subclass of: Session

Memory Address
type: Class
type: NamedIndividual
addresses: Memory Word
definition: In computing, a memory address is a reference to a specific memory location used at various levels by software and hardware.
subclass of: Restriction
  on property: addresses
  some values from: Memory Word
subclass of: Digital Information

Memory Word
type: Class
type: NamedIndividual
definition: A memory word is the natural unit of data used by a particular computer processor design; a fixed-size piece of data handled as a unit by the instruction set or the hardware of the processor.
subclass of: Memory Extent

Message Authentication
type: Class
type: NamedIndividual
authenticates: User to User Message
d3fend-id: D3-MAN
definition: Authenticating the sender of a message and ensuring message integrity.
kb-article: ## How it works ### Digital Signature Digital signatures are used to verifying a message is from the expected sender. In email, Secure/Multipurpose Internet Mail Extensions (S/MIME) protocol is typically used to digitally sign messages. A hash value of the sender's message is created and encrypted with the sender's private key to create a digital signature. The message and the digital signature are sent to the recipient where the sender's public key is used to decrypt the digital signature and compute the hash of the message. The computed hash is compared with the hash from the received message, and any difference in the hash values signify the message did not originate from the sender and has been alerted in transit. ### Message Authentication Code (MAC) MAC is a fixed size string that is appended to a message to provide message authentication and integrity. The sender MAC signing algorithm takes as input a secret symmetric key shared between sender and recipient and the message to calculate a short tag that is appended to the message. The recipient receives the message with the appended tag, and a MAC verification algorithm is run using the symmetric key to verify the message came from the stated sender and ensure the message has not been tampered with. ## Considerations - Public keys associated with digital signatures should be verified by a Certification Authority (CA) to prevent impersonation. The CA verifies the owner of a public key and puts the sender's identity and public key into a certificate that is signed by the CA. - Digital signatures provide non-repudiation where a third party can verify the authenticity of the message using the sender's digital certificate signed by the CA. - Symmetric keys must be exchanged securely via a private channel and management of new symmetric keys are needed for each pair of participants wishing to exchange messages.
kb-reference: Reference - RFC 6376: DomainKeys Identified Mail (DKIM) Signatures - IETF
kb-reference: Reference - Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1
subclass of: Restriction
  on property: authenticates
  some values from: User to User Message
subclass of: Message Hardening

Message Hardening
type: Class
type: NamedIndividual
d3fend-id: D3-MH
definition: Email or Messaging Hardening includes measures taken to ensure the confidentiality and integrity of user to user computer messages.
enables: Harden
synonym: Email Or Messaging Hardening
subclass of: Restriction
  on property: enables
  some values from: Harden
subclass of: DefensiveTechnique

Message Transfer Agent
type: Class
type: NamedIndividual
definition: A message transfer agent or mail transfer agent (MTA) or mail relay is software that transfers electronic mail messages from one computer to another using a client-server application architecture. An MTA implements both the client (sending) and server (receiving) portions of the Simple Mail Transfer Protocol.
subclass of: Mail Service
alternative label: MTA
alternative label: Mail Transfer Agent

Modal Logic
type: Class
type: NamedIndividual
d3fend-id: D3A-ML
definition: Modal logic is a collection of formal systems developed to represent statements about necessity and possibility. It plays a major role in philosophy of language, epistemology, metaphysics, and natural language semantics.
kb-article: ## References 1. Modal logic. (2023, June 4). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Modal_logic)
subclass of: Symbolic AI

Model-free Reinforcement Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-MFRL
definition: In reinforcement learning (RL), a model-free algorithm (as opposed to a model-based one) is an algorithm which does not use the transition probability distribution (and the reward function) associated with the Markov decision process (MDP),which, in RL, represents the problem to be solved. The transition probability distribution (or transition model) and the reward function are often collectively called the "model" of the environment (or MDP), hence the name "model-free". A model-free RL algorithm can be thought of as an "explicit" trial-and-error algorithm. An example of a model-free algorithm is Q-learning.
kb-article: ## References Model-free (reinforcement learning). Wikipedia. [Link](https://en.wikipedia.org/wiki/Model-free_(reinforcement_learning)).)
subclass of: Reinforcement Learning

Move File
type: Class
type: NamedIndividual
definition: A system call to rename or move a file. Linux's rename() is an example of this kind of system call. Another way of handling it is to call a copy file system call followed by a delete file system call.
modifies: FileSystemMetadata
subclass of: Restriction
  on property: modifies
  some values from: FileSystemMetadata
subclass of: SystemCall
alternative label: Rename File

NIST SP 800-53 Control Catalog
type: Class
definition: A NIST SP 800-53 control catalog provides the entire set of security and privacy controls for a version of NIST SP 800-53.
subclass of: Restriction
  on property: has-member
  some values from: NISTControl
subclass of: Control Catalog

OS API Terminate Process
type: Class
type: NamedIndividual
invokes: Terminate Process
subclass of: Restriction
  on property: invokes
  some values from: Terminate Process
subclass of: OSAPISystemFunction

OS API Write Memory
type: Class
type: NamedIndividual
invokes: Write Memory
subclass of: Restriction
  on property: invokes
  some values from: Write Memory
subclass of: OSAPISystemFunction

Office Application File
type: Class
type: NamedIndividual
definition: A document file in a format associated with an d3f:OfficeApplication.
subclass of: DocumentFile

Open File
type: Class
type: NamedIndividual
accesses: File
definition: For most file systems, a program initializes access to a file in a file system using the open system call. This allocates resources associated to the file (the file descriptor), and returns a handle that the process will use to refer to that file. In some cases the open is performed by the first access. During the open, the filesystem may allocate memory for buffers, or it may wait until the first operation. Various other errors which may occur during the open include directory update failures, un-permitted multiple connections, media failures, communication link failures and device failures.
subclass of: Restriction
  on property: accesses
  some values from: File
subclass of: SystemCall

Organization Mapping
type: Class
type: NamedIndividual
d3fend-id: D3-OM
definition: Organization mapping identifies and models the people, roles, and groups with an organization and the relations between them.
display-order: 4
kb-reference: Reference - Catia UAF Plugin
kb-reference: Reference - Organizational Management in SAP ERP HCM
kb-reference: Reference - Unified Architecture Framework (UAF)
maps: Dependency
maps: Organization
maps: Person
may-map: Organizational Activity
subclass of: Restriction
  on property: may-map
  some values from: Organizational Activity
subclass of: Restriction
  on property: maps
  some values from: Person
subclass of: Restriction
  on property: maps
  some values from: Organization
subclass of: Restriction
  on property: maps
  some values from: Dependency
subclass of: Operational Activity Mapping

Organizational Activity
type: Class
type: NamedIndividual
definition: An activity is a specific behavior representing a set of actions that may be accomplished by an agent.
synonym: Business Process
synonym: Mission Function
see also: Mission Critical Function
subclass of: Plan

Partial Matching
type: Class
type: NamedIndividual
d3fend-id: D3A-PM
definition: Partial string pattern matching is a special case of string pattern matching where one seeks to find a pattern within a larger string (text). It allows for the detection of patterns that occur as substrings or partial segments within the full string, rather than requiring an exact match across the entire string.
kb-article: ## References 1. String-searching algorithm. (2023, April 8). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/String-searching_algorithm)
kb-article: Numeric pattern matching is a method of matching some defined pattern specification against a numeric value.
subclass of: String Pattern Matching

Passive Certificate Analysis
type: Class
type: NamedIndividual
d3fend-id: D3-PCA
definition: Collecting host certificates from network traffic or other passive sources like a certificate transparency log and analyzing them for unauthorized activity.
kb-article: ## How it works Certificates are analyzed outside of a TLS server connection using third-party secure update logs, domain name analysis and analytics. ### Secure update certificate logs * Certificate Logs The key enabling feature is a secure service that maintains record logs of certificate activities. The logs allow users to only append certificates and never to delete or modify the log entries. The logs use Merkle Tree Hashes to ensure they have not been tampered with. The logging service also allows for public auditing by any user. The logging service, upon receipt of a certificate to log, will respond with a signed certificate timestamp (SCT). The SCT guarantees the certificate will be added to the log within the time specified. The SCT must be present with the certificate during a TLS handshake. * Certificate Monitoring Certificate monitoring, of the logs, is typically done by the CA and they watch for suspicious certificate logging and unusual certificates or extensions or permissions. Monitors are also responsible for verifying the logs are accurate and public. * Certificate Auditors Log integrity is verified by log auditors. Auditors make use of log proofs are used to validate the cryptographic hashes (Merkle Trees) that the log employs are consistent. In order to ensure consistency throughout multiple monitors and auditors, sharing a common logging service, gossip protocol is employed. ### Phishing domain name analysis * A curated corpus of known benign domains and phishing domain names is used as training text for machine learning. Through the use of feature set extraction, vectors labels are created with scoring to indicated if they are considered benign or phishing domains. * A stream of new or updated SSL certificates with fully qualified domain names (FQDN) is analyzed against the feature vectors and a predictive model determines a score for the domains. The scoring considers distance measures such as Levenshtein distance to help in determining the fin…
kb-reference: Reference - Certificate Transparency
kb-reference: Reference - StreamingPhish
subclass of: Certificate Analysis

Password Store
type: Class
type: NamedIndividual
definition: A user repository of account passwords, often accessed via a password manager.
subclass of: Password Database

Plan
type: Class
subclass of: D3FENDCore

Process Image
type: Class
type: NamedIndividual
contains: ProcessSegment
definition: A process image is a copy of a given process's state at a given point in time. It is often used to create persistence within an otherwise volatile system.
subclass of: Restriction
  on property: contains
  some values from: ProcessSegment
subclass of: DigitalInformationBearer

Protocol Metadata Anomaly Detection
type: Class
type: NamedIndividual
analyzes: NetworkTraffic
d3fend-id: D3-PMAD
definition: Collecting network communication protocol metadata and identifying statistical outliers.
kb-article: ## How it works Network protocol metadata is first collected and processed in real-time or post-facto. Metadata may include packet header information or information about a session (ex. time between requests/responses). Metadata is then grouped based on shared characteristics and those groups are compared to each other. If particular metadata differs significantly from other data, an alert is generated, identifying the network event as anomalous. Anomalous activity may indicate unauthorized activity. ## Considerations Metadata collection on enterprises can yield large data sets. Storage, indexing, querying, and aging should be considered prior to implementation.
kb-reference: Reference - Method and system for detecting threats using metadata vectors - VECTRA NETWORKS Inc
kb-reference: Reference - Method and system for detecting threats using passive cluster mapping - Vectra Networks Inc
kb-reference: Reference - System for implementing threat detection using daily network traffic community outliers - VECTRA NETWORKS Inc
subclass of: Restriction
  on property: analyzes
  some values from: NetworkTraffic
subclass of: NetworkTrafficAnalysis

Public Key
type: Class
type: NamedIndividual
definition: A public key can be disseminated widely as part of an asymmetric cryptography framework and be used to encrypt messages to send to the public key's owner or to authenticate signed messages from that sender.
subclass of: Asymmetric Key

RDP Session
type: Class
type: NamedIndividual
definition: A Remote Desktop Protocol (RDP) session is a session established using the RDP protocol to access Remove Desktop Services (RDS).
subclass of: Remote Session
alternative label: Remote Desktop Session
alternative label: Terminal Services

Rank Correlation
type: Class
type: NamedIndividual
d3fend-id: D3A-RC
definition: A rank correlation is any of several statistics that measure an ordinal association-the relationship between rankings of different ordinal variables or different rankings of the same variable, where a "ranking" is the assignment of the ordering labels "first", "second", "third", etc. to different observations of a particular variable.
kb-article: Wikipedia. (n.d.). Rank correlation. [Link](https://en.wikipedia.org/wiki/Rank_correlation)
subclass of: Correlation

Read File
type: Class
type: NamedIndividual
definition: A program that needs to access data from a file stored in a file system uses the read system call. The file is identified by a file descriptor that is normally obtained from a previous call to open. This system call reads in data in bytes, the number of which is specified by the caller, from the file and stores then into a buffer supplied by the calling process.
reads: File
subclass of: Restriction
  on property: reads
  some values from: File
subclass of: SystemCall

Reference - Finding phishing sites
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US8839418B2/
kb-author: Geoffrey John Hulten, Paul Stephen Rehfuss, Robert Rounthwaite, Joshua Theodore Goodman, Gopalakrishnan Seshadrinathan, Anthony P. Penta, Manav Mishra, Roderic C. Deyo, Elliott Jeb Haber, David Aaron Ward Snelling
kb-reference-of: Domain Name Reputation Analysis
kb-reference-of: IP Reputation Analysis
kb-reference-of: URL Reputation Analysis
kb-reference-title: Finding phishing sites

Reference - Host intrusion prevention system using software and user behavior analysis - Sophos Ltd
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20110023115A1
kb-abstract: In embodiments of the present invention improved capabilities are described for threat detection using a behavioral-based host-intrusion prevention method and system for monitoring a user interaction with a computer, software application, operating system, graphic user interface, or some other component or client of a computer network, and performing an action to protect the computer network based at least in part on the user interaction and a computer code process executing during or in association with a computer usage session.
kb-author: Clifford C. Wright
kb-mitre-analysis: The patent describes a technique for performing behavior based threat detection. User and code behavior data is collected and stored to create baseline user and code behavior profiles. User behavior data collected over a user session or over multiple sessions can include a user: * clicking on a link * scrolling down a page * opening or closing a window * downloading a file * saving a file * running a file * typing a keyword Code behavior monitored includes code: * copying itself to a system folder * setting a run key to itself in the registry * setting a second runkey to itself in the registry in a different location * disabling OS tools in the registry * opening a hidden file The user interaction and the code process executed during the user session are monitored and compared with predetermined malicious behavior profiles that are typically present in a malicious user session. The predetermined collection of malicious behaviors are created based on analysis of families of malware in run time in a threat research facility. If a match is made an action is taken that can include isolating the computer on which the user interaction occurs and limiting network access to or from the computer.
kb-organization: Sophos Ltd
kb-reference-of: Resource Access Pattern Analysis
kb-reference-of: System Daemon Monitoring
kb-reference-of: Web Session Activity Analysis
kb-reference-title: Host intrusion prevention system using software and user behavior analysis

Remote Session
type: Class
type: NamedIndividual
definition: A remote login session is a login session where a client has logged in from their local host machine to a server via a network.
subclass of: Network Session

Resource Access
type: Class
type: NamedIndividual
definition: Ephemeral digital artifact comprising a request of a resource and any response from that resource.
subclass of: Digital Event
subclass of: User Action

Resource Fork
type: Class
type: NamedIndividual
definition: The resource fork is a fork or section of a file on Apple's classic Mac OS operating system, which was also carried over to the modern macOS for compatibility, used to store structured data along with the unstructured data stored within the data fork.
subclass of: File Section

Restore
type: DefensiveTactic
type: Class
type: NamedIndividual
definition: The restore tactic is used to return the system to a better state.
display-order: 5
display-priority: 0
subclass of: DefensiveTactic

Restore Access
type: Class
type: NamedIndividual
d3fend-id: D3-RA
definition: Restoring an entity's access to resources.
enables: Restore
kb-reference: Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks
subclass of: Restriction
  on property: enables
  some values from: Restore
subclass of: DefensiveTechnique

SSH Session
type: Class
type: NamedIndividual
definition: A Secure Shell Protocol (SSH) session is a session over a secure channel established using SSH to connect a client to a server and establish the remote session.
subclass of: Remote Session

Scheduled Job Analysis
type: Class
type: NamedIndividual
analyzes: Job Schedule
d3fend-id: D3-SJA
definition: Analysis of source files, processes, destination files, or destination servers associated with a scheduled job to detect unauthorized use of job scheduling.
kb-article: ## How it works Scheduled job execution can be utilized by adversaries for the purpose of persistence, conducting remote execution, or gaining privileges. Details of a scheduled job such as associated source files, processes, destination files, or destination servers are first identified and analyzed and then compared against an anti-malware signature database, whitelist, or reputation server. For example, a file associated with a scheduled job to be executed at a specified time or a remote server that is accessed as part of a scheduled task is compared against an anti-malware signature database, whitelist, or reputation server, and if a match is found, execution is denied and an alert is generated. In addition to traditional scheduled jobs, triggers can be set to execute a specific command after detecting a specific event in the system, such as with WMI Event Subscriptions in Windows. ## Considerations Jobs can be scheduled in many different and sometimes creative ways through operating system capabilities.
kb-reference: Reference - CAR-2013-05-004: Execution with AT - MITRE
kb-reference: Reference - CAR-2013-08-001: Execution with schtasks - MITRE
kb-reference: Reference - Preventing execution of task scheduled malware - McAfee LLC
synonym: Scheduled Job Execution
subclass of: Restriction
  on property: analyzes
  some values from: Job Schedule
subclass of: OperatingSystemMonitoring

Script Execution Analysis
type: Class
type: NamedIndividual
analyzes: Script Application Process
d3fend-id: D3-SEA
definition: Analyzing the execution of a script to detect unauthorized user activity.
kb-article: ## How it works Software installed on the host system hooks into a scripting engine to intercept commands before they are executed and block commands if they are determined to be harmful. Pattern matching is used to identify unauthorized commands or in the case of script files, a hash of the file is compared against hashes of known unauthorized script files. ## Considerations List of known unauthorized script files or regular expression patterns must be kept up to date to ensure detection of new threats.
kb-reference: Reference - Detecting script-based malware - Crowdstrike Inc
subclass of: Restriction
  on property: analyzes
  some values from: Script Application Process
subclass of: ProcessAnalysis

Segment Address Offset Randomization
type: Class
type: NamedIndividual
d3fend-id: D3-SAOR
definition: Randomizing the base (start) address of one or more segments of memory during the initialization of a process.
kb-article: ## How it works Many application exploits rely on an attacker specifying a location in memory, which points to data or code used by the attacker. If the addresses are changed each time the program is run, then it becomes more difficult for the attacker to determine the location that will contain the code they wish to run. Imported modules may be similarly realigned if their default memory addresses conflict with other modules, in a process known as "rebasing." Just as not all code is built for participation in ASLR, not all modules can be rebased; instead, modules must indicate whether they implement support for rebasing. Such information to relocate the executable is typically stored in the ".reloc" segment -- each of the addresses pointed to in this segment has its address increased by the amount of the offset. (An alternative method for relocation would be to add an amount to a global variable each time -- leading to less overhead in the module load, but more for each access. Still another implementation could instead contain code to deference each changeable memory location on the fly, so that each of the references do not need to be updated. ## Considerations As the offset for each segment is constant, it is possible to guess at the value of the address given the address of another variable. Alternatively, memory pointers may be kept around, which contain the address of another variable. Another bypass technique is known as an "egg hunt," whereby the attacker searches for a rather unique piece of the data or code in memory to determine its likely address. The program needs to store these addresses for the functions somewhere. In Linux, the PLT contains a "trampoline" to these addresses. If an attacker desires to jump to the start of an existing function, they can jump directly to the trampoline anyway, and may have the opportunity to provide their own stack frame to the function with a write to the stack. If they overwrite a saved stack pointer which is loaded …
kb-reference: Reference - /DYNAMICBASE (Use address space layout randomization) - Microsoft Docs
kb-reference: Reference - How ASLR protects Linux systems from buffer overflow attacks - Network World
obfuscates: ProcessSegment
synonym: ASLR
synonym: Address Space Layout Randomization
subclass of: Restriction
  on property: obfuscates
  some values from: ProcessSegment
subclass of: Application Hardening

Service Dependency Mapping
type: Class
type: NamedIndividual
d3fend-id: D3-SVCDM
definition: Service dependency mapping determines the services on which each given service relies.
kb-article: ## How it works The organization collects and models architectural information about the services and consumers of services and maps the dependencies between the services. ## Considerations * Architectural design artifacts and SMEs may need to be consulted to determine if dependencies are intended or otherwise essential. * Service dependencies for critical systems--those supporting critical organizational activities--should be prioritized for supply chain risk analysis. * Service dependencies in cloud or microservice architectures may be discovered using distributed tracing capabilities
kb-reference: Reference - Catia UAF Plugin
kb-reference: Reference - Unified Architecture Framework (UAF)
maps: Service Dependency
synonym: Distributed Tracing
subclass of: Restriction
  on property: maps
  some values from: Service Dependency
subclass of: System Mapping

Session
type: Class
type: NamedIndividual
definition: In computer science, in particular networking, a session is a semi-permanent interactive information interchange, also known as a dialogue, a conversation or a meeting, between two or more communicating devices, or between a computer and user (see Login session). A session is set up or established at a certain point in time, and then torn down at some later point. An established communication session may involve more than one message in each direction. A session is typically, but not always, stateful, meaning that at least one of the communicating parts needs to save information about the session history in order to be able to communicate, as opposed to stateless communication, where the communication consists of independent requests with responses.
subclass of: DigitalInformationBearer

Shared Computer
type: Class
definition: A computer whose resources are intended to be shared widely.
subclass of: Client Computer

Shim
type: Class
type: NamedIndividual
definition: In computer programming, a shim is a small library that transparently intercepts API calls and changes the arguments passed, handles the operation itself, or redirects the operation elsewhere. Shims can be used to support an old API in a newer environment, or a new API in an older environment. Shims can also be used for running programs on different software platforms than those for which they were developed.
subclass of: Software

Software Inventory
type: Class
type: NamedIndividual
d3fend-id: D3-SWI
definition: Software inventorying identifies and records the software items in the organization's architecture.
inventories: Software
kb-article: ## How it works Administrators collect information on software items in their architecture using a variety of administrative and management tools that query network nodes for information. In limited cases, where such queries are not supported or provide specific information of interest, an administrator may also collect this information through network enumeration methods to determine services responding on network nodes. ## Considerations * Scanning and probing techniques using mapping tools can result in side effects to information technology (IT) and operational technology (OT) systems. * An adversary conducting network enumeration may engage in activities that parallel normal software inventorying activities, but would require escalating to admin privileges for most of the operations requiting administrative tools. ## Examples Application-layer discovery: * Simple Network Management Protocol (SNMP) collects MIB information * Web-based Enterprise Management (WBEM) collects CIM information * Windows Management Instrumentation (WMI) * Windows Management Infrastructure (MI)
kb-reference: Reference - Web-Based Enterprise Management
kb-reference: Reference - Windows Management Infrastructure (MI)
kb-reference: Reference - Windows Management Instrumentation (WMI)
synonym: Software Discovery
synonym: Software Inventorying
subclass of: Restriction
  on property: inventories
  some values from: Software
subclass of: Asset Inventory

Stack Frame Canary Validation
type: Class
type: NamedIndividual
d3fend-id: D3-SFCV
definition: Comparing a value stored in a stack frame with a known good value in order to prevent or detect a memory segment overwrite.
kb-article: ## How it works This defense must be applied at compile-time, or via a patch to the program binary. Stack Frame Canary Verification inserts instructions at the prologue and epilogue of desired functions. In the prologue, a canary value, typically with the same size as the register size, is stored in the system of record and on the stack. Typically, the canary is loaded to where it has a memory address just below that of the saved instruction pointer and base pointer. In the epilogue, the canary value stored on the stack and, is compared to the canary value in the system of record. If the values are different, other techniques such as those in Process Eviction might be invoked, such as Process Termination to end the current process, or Executable Blacklisting to blacklist the potentially vulnerable or malfunctioning executable. Stack Frame Canary Verification is commonly used to detect potential tampering of a saved register value on the stack before it has been restored. Examples of registers with values commonly saved to the stack include the instruction pointer and the base pointer. The canary should be stored between where the start of a buffer overrun is likely, and the data to protect, in cases where the buffer size increases it will overwrite the data to be protected. On most processor architectures, including x86, x64, and ARM, a "push" operation to store data to the stack grows the stack towards a lower memory address. As in these architectures, saved register values are stored to the stack at a point in time just before space is made for the local function variables, the saved register values have a higher address than that of the local function variables. Values at increasing indexes of a buffer are written to increasing memory addresses; therefore, an overwrite in the local variable buffer could overwrite saved register values, and a stack canary between these two would be useful in detecting an overwrite. On some other processor architectures such as the…
kb-reference: Reference - /GS (Buffer Security Check) - Microsoft Docs
kb-reference: Reference - Security Technologies: Stack Smashing Protection (StackGuard) - Red Hat
validates: StackFrame
subclass of: Restriction
  on property: validates
  some values from: StackFrame
subclass of: Application Hardening

Summarizing
type: Class
subclass of: Analytical Purpose

System Firewall Configuration
type: Class
type: NamedIndividual
configures: Host-based Firewall
definition: The configuration for a individual host operating system's firewall.
subclass of: Restriction
  on property: configures
  some values from: Host-based Firewall
subclass of: Operating System Configuration Component

System Password Database
type: Class
type: NamedIndividual
definition: A password database used by a system service or process to authenticate users (e.g., Security Account Manager)
subclass of: Password Database

Input Capture
type: Class
attack-id: T1056
definition: Adversaries may use methods of capturing user input to obtain credentials or collect information. During normal system usage, users often provide credentials to various different locations, such as login pages/portals or system dialog boxes. Input capture mechanisms may be transparent to the user (e.g. [Credential API Hooking](https://attack.mitre.org/techniques/T1056/004)) or rely on deceiving the user into providing input into what they believe to be a genuine service (e.g. [Web Portal Capture](https://attack.mitre.org/techniques/T1056/003)).
subclass of: CollectionTechnique
subclass of: CredentialAccessTechnique

Application Layer Protocol
type: Class
type: NamedIndividual
attack-id: T1071
definition: Adversaries may communicate using OSI application layer protocols to avoid detection/network filtering by blending in with existing traffic. Commands to the remote system, and often the results of those commands, will be embedded within the protocol traffic between the client and server.
may-transfer: CertificateFile
pref-label: Application Layer Protocol C2
produces: OutboundInternetNetworkTraffic
subclass of: Restriction
  on property: may-transfer
  some values from: CertificateFile
subclass of: Restriction
  on property: produces
  some values from: OutboundInternetNetworkTraffic
subclass of: CommandAndControlTechnique

Valid Accounts
type: Class
type: NamedIndividual
attack-id: T1078
definition: Adversaries may obtain and abuse credentials of existing accounts as a means of gaining Initial Access, Persistence, Privilege Escalation, or Defense Evasion. Compromised credentials may be used to bypass access controls placed on various resources on systems within the network and may even be used for persistent access to remote systems and externally available services, such as VPNs, Outlook Web Access, network devices, and remote desktop.(Citation: volexity_0day_sophos_FW) Compromised credentials may also grant an adversary increased privilege to specific systems or access to restricted areas of the network. Adversaries may choose not to use malware or tools in conjunction with the legitimate access those credentials provide to make it harder to detect their presence.
produces: Authentication
produces: Authorization
uses: UserAccount
subclass of: Restriction
  on property: produces
  some values from: Authentication
subclass of: Restriction
  on property: produces
  some values from: Authorization
subclass of: Restriction
  on property: uses
  some values from: UserAccount
subclass of: DefenseEvasionTechnique
subclass of: InitialAccessTechnique
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique

Proxy
type: Class
attack-id: T1090
definition: Adversaries may use a connection proxy to direct network traffic between systems or act as an intermediary for network communications to a command and control server to avoid direct connections to their infrastructure. Many tools exist that enable traffic redirection through proxies or port redirection, including [HTRAN](https://attack.mitre.org/software/S0040), ZXProxy, and ZXPortMap. (Citation: Trend Micro APT Attack Tools) Adversaries use these types of proxies to manage command and control communications, reduce the number of simultaneous outbound network connections, provide resiliency in the face of connection loss, or to ride over existing trusted communications paths between victims to avoid suspicion. Adversaries may chain together multiple proxies to further disguise the source of malicious traffic.
subclass of: CommandAndControlTechnique

Brute Force
type: Class
attack-id: T1110
definition: Adversaries may use brute force techniques to gain access to accounts when passwords are unknown or when password hashes are obtained.(Citation: TrendMicro Pawn Storm Dec 2020) Without knowledge of the password for an account or set of accounts, an adversary may systematically guess the password using a repetitive or iterative mechanism.(Citation: Dragos Crashoverride 2018) Brute forcing passwords can take place via interaction with a service that will check the validity of those credentials or offline against previously acquired credential data, such as password hashes.
subclass of: CredentialAccessTechnique

Use Alternate Authentication Material
type: Class
type: NamedIndividual
accesses: AuthenticationService
attack-id: T1550
definition: Adversaries may use alternate authentication material, such as password hashes, Kerberos tickets, and application access tokens, in order to move laterally within an environment and bypass normal system access controls.
subclass of: Restriction
  on property: accesses
  some values from: AuthenticationService
subclass of: DefenseEvasionTechnique
subclass of: LateralMovementTechnique

Steal or Forge Kerberos Tickets
type: Class
type: NamedIndividual
attack-id: T1558
definition: Adversaries may attempt to subvert Kerberos authentication by stealing or forging Kerberos tickets to enable [Pass the Ticket](https://attack.mitre.org/techniques/T1550/003). Kerberos is an authentication protocol widely used in modern Windows domain environments. In Kerberos environments, referred to as “realms”, there are three basic participants: client, service, and Key Distribution Center (KDC).(Citation: ADSecurity Kerberos Ring Decoder) Clients request access to a service and through the exchange of Kerberos tickets, originating from KDC, they are granted access after having successfully authenticated. The KDC is responsible for both authentication and ticket granting. Adversaries may attempt to abuse Kerberos by stealing tickets or forging tickets to enable unauthorized access.
may-access: Kerberos Ticket
may-create: Kerberos Ticket
subclass of: Restriction
  on property: may-access
  some values from: Kerberos Ticket
subclass of: Restriction
  on property: may-create
  some values from: Kerberos Ticket
subclass of: CredentialAccessTechnique

Phishing
type: Class
attack-id: T1566
definition: Adversaries may send phishing messages to gain access to victim systems. All forms of phishing are electronically delivered social engineering. Phishing can be targeted, known as spearphishing. In spearphishing, a specific individual, company, or industry will be targeted by the adversary. More generally, adversaries can conduct non-targeted phishing, such as in mass malware spam campaigns.
subclass of: InitialAccessTechnique

Exfiltration Over Web Service
type: Class
type: NamedIndividual
attack-id: T1567
definition: Adversaries may use an existing, legitimate external Web service to exfiltrate data rather than their primary command and control channel. Popular Web services acting as an exfiltration mechanism may give a significant amount of cover due to the likelihood that hosts within a network are already communicating with them prior to compromise. Firewall rules may also already exist to permit traffic to these services.
produces: Outbound Internet Web Traffic
subclass of: Restriction
  on property: produces
  some values from: Outbound Internet Web Traffic
subclass of: Exfiltration Technique

Develop Capabilities
type: Class
attack-id: T1587
definition: Adversaries may build capabilities that can be used during targeting. Rather than purchasing, freely downloading, or stealing capabilities, adversaries may develop their own capabilities in-house. This is the process of identifying development requirements and building solutions such as malware, exploits, and self-signed certificates. Adversaries may develop capabilities to support their operations throughout numerous phases of the adversary lifecycle.(Citation: Mandiant APT1)(Citation: Kaspersky Sofacy)(Citation: Bitdefender StrongPity June 2020)(Citation: Talos Promethium June 2020)
subclass of: Resource Development Technique

Gather Victim Org Information
type: Class
attack-id: T1591
definition: Adversaries may gather information about the victim's organization that can be used during targeting. Information about an organization may include a variety of details, including the names of divisions/departments, specifics of business operations, as well as the roles and responsibilities of key employees.
subclass of: Reconnaissance Technique

Gather Victim Host Information
type: Class
attack-id: T1592
definition: Adversaries may gather information about the victim's hosts that can be used during targeting. Information about hosts may include a variety of details, including administrative data (ex: name, assigned IP, functionality, etc.) as well as specifics regarding its configuration (ex: operating system, language, etc.).
subclass of: Reconnaissance Technique

Phishing for Information
type: Class
attack-id: T1598
definition: Adversaries may send phishing messages to elicit sensitive information that can be used during targeting. Phishing for information is an attempt to trick targets into divulging information, frequently credentials or other actionable information. Phishing for information is different from [Phishing](https://attack.mitre.org/techniques/T1566) in that the objective is gathering data from the victim rather than executing malicious code.
subclass of: Reconnaissance Technique

Privilege Escalation
type: OffensiveTactic
type: Class
type: NamedIndividual
display-order: 4
subclass of: ATTACKEnterpriseTactic
subclass of: OffensiveTactic

Defense Evasion
type: OffensiveTactic
type: Class
type: NamedIndividual
display-order: 5
subclass of: ATTACKEnterpriseTactic
subclass of: OffensiveTactic

Technique
type: Class
subclass of: Plan

URL Analysis
type: Class
type: NamedIndividual
analyzes: URL
d3fend-id: D3-UA
definition: Determining if a URL is benign or malicious by analyzing the URL or its components.
kb-article: ## How it works URLs may contain components, for example: * scheme * userinfo * host name * port * path * query * fragment These components are used as features in analysis algorithms. Contextual information about a URL such as where it is embedded (ex. emails, files, network protocols), header, path, location, and origin information, as well as information about the content returned from the URL request, may be incorporated into an analytic for URL analysis. For example, if a URL indicates a .pdf file but an executable is actually returned, the combination of these two pieces of information indicates suspicious activity. Additional techniques include: * Extracting features of a URL such as domain name length, ratio of consecutive consonants, percentage of digits in a domain, and number of vowels. Values for each feature are combined to develop a score for the URL. * Determining the probability of a character occurring in the URL given the preceding two characters. For example, for google.com, the probability of a 'g' occurring at the beginning of a word, the probability of an 'o' occurring after a "g, the probability of an o" occurring after a 'g' and "o, and so forth. A dictionary or a list of known good domains is used to determine probability. Probabilities are multiplied to develop a score for the URL. URL analysis may trigger follow-on analytics such as **File Analysis** ## Considerations * Volume of URLs being analyzed, combined with the speed at which they are analyzed * Fidelity of analysis technique at detecting brand new URLs versus analyzing URLs of established domains
kb-reference: Reference - Method and Apparatus for Detecting Malicious Websites - Endgame Inc
kb-reference: Reference - Method and system for detecting restricted content associated with retrieved content - Sophos Ltd
subclass of: Restriction
  on property: analyzes
  some values from: URL
subclass of: Identifier Analysis

Unix Link
type: Class
definition: A Unix link is a file link in a Unix file system.
subclass of: File System Link

Unsupervised Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-UL
definition: Unsupervised learning creates relationships with unlabeled data without the input of a human or other outside actor. Uses only input data.
kb-abstract: ## References Unsupervised learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Unsupervised_learning).
subclass of: Machine Learning

User Geolocation Logon Pattern Analysis
type: Class
type: NamedIndividual
analyzes: NetworkTraffic
d3fend-id: D3-UGLPA
definition: Monitoring geolocation data of user logon attempts and comparing it to a baseline user behavior profile to identify anomalies in logon location.
kb-article: ## How it works Geolocation data for each user logon attempt is collected and used to create a baseline user behavior profile. Current geolocation logon data is then compared against the user behavior profile. Logon activity that deviates from normal patterns and can help in identifying situations that may be indicative of a remote attacker using stolen credentials. For example: * logons from locations that are different from where a user usually logs in * logons from a location in which an enterprise has no users located * logon that is not physically possible given the elapsed time since a logon from another location. ## Considerations * Potential for false positives from logon anomalies that are not associated with malicious activity. * Attackers may not differentiate their logon behavior enough to trigger an alert.
kb-reference: Reference - Method and Apparatus for Network Fraud Detection and Remediation Through Analytics - Idaptive LLC
kb-reference: Reference - System, method, and computer program product for detecting and assessing security risks in a network - Exabeam Inc
subclass of: Restriction
  on property: analyzes
  some values from: NetworkTraffic
subclass of: UserBehaviorAnalysis

User Session Init Config Analysis
type: Class
type: NamedIndividual
analyzes: User Init Configuration File
d3fend-id: D3-USICA
definition: Analyzing modifications to user session config files such as .bashrc or .bash_profile.
kb-reference: Reference - CAR-2020-09-002: Component Object Model Hijacking - MITRE
kb-reference: Reference - CAR-2020-11-011: Registry Edit from Screensaver
kb-reference: Reference - Identification and extraction of key forensics indicators of compromise using subject-specific filesystem views
kb-reference: Reference - Registry Key Security and Access Rights
synonym: User Startup Config Analysis
subclass of: Restriction
  on property: analyzes
  some values from: User Init Configuration File
subclass of: OperatingSystemMonitoring

User to User Message
type: Class
type: NamedIndividual
definition: Personal message, private message (PM), direct message (DM), or personal chat (PC) is a private form of messaging between different members on a given platform. It is only seen and accessible by the users participating in the message.
has-recipient: UserAccount
has-sender: UserAccount
may-contain: Email
subclass of: Restriction
  on property: may-contain
  some values from: Email
subclass of: Restriction
  on property: has-sender
  some values from: UserAccount
subclass of: Restriction
  on property: has-recipient
  some values from: UserAccount
subclass of: DigitalInformationBearer
alternative label: Personal Message
alternative label: Private Message

Virtual Address
type: Class
type: NamedIndividual
definition: A virtual address in memory is a pointer or marker for a memory space that an operating system allows a process to use. The virtual address points to a location in primary storage that a process can use independently of other processes.
synonym: Logical Address
subclass of: Memory Address

Virtualization Software
type: Class
type: NamedIndividual
definition: Virtualization software allows a single host computer to create and run one or more virtual environments. Virtualization software is most often used to emulate a complete computer system in order to allow a guest operating system to be run, for example allowing Linux to run as a guest on top of a PC that is natively running a Microsoft Windows operating system (or the inverse, running Windows as a guest on Linux).
subclass of: ServiceApplication

Web File Resource
type: Class
type: NamedIndividual
addressed-by: URL
definition: A web file resource is a file resource identified by a Uniform Resource Identifier (URI) and made available from one host to another host via a web protocol and across a network or networks.
subclass of: Restriction
  on property: addressed-by
  some values from: URL
subclass of: Network File Resource
subclass of: Web Resource

Web Server
type: Class
type: NamedIndividual
definition: A web server is server software, or hardware dedicated to running this software, that can satisfy client requests on the World Wide Web. A web server can, in general, contain one or more websites. A web server processes incoming network requests over HTTP and several other related protocols. While the major function is to serve content, a full implementation of HTTP also includes ways of receiving content from clients. This feature is used for submitting web forms, including uploading of files.
subclass of: Server

Windows NtAllocateVirtualMemory
type: Class
type: NamedIndividual
subclass of: OS API Allocate Memory

Windows NtCreateThreadEx
type: Class
type: NamedIndividual
subclass of: OS API Create Thread

assesses
type: ObjectProperty
domain: Defensive Technique Claim
range: Defensive Technique Assessment
sub property of: d3fend-catalog-object-property

claims
type: ObjectProperty
sub property of: d3fend-catalog-object-property

contained-by
type: ObjectProperty
type: TransitiveProperty
sub property of: associated-with
sub property of: may-be-contained-by
inverse of: contains

d3fend-kb-object-property
type: ObjectProperty
definition: x d3fend-kb-object-property y: The object y is a d3fend knowledge base object property. These properties allow the linkage of knowledge and information supporting and illustrating the d3fend model.
sub property of: d3fend-object-property

disables
type: ObjectProperty
definition: x disables y: The technique or agent x makes an entity y unable to perform its actions or capabilities.
sub property of: evicts
sub property of: may-disable
sub property of: modifies

has-member
type: ObjectProperty
sub property of: d3fend-catalog-object-property
inverse of: member-of

implements
type: ObjectProperty
domain: Capability Implementation
sub property of: d3fend-catalog-object-property

isolates
type: ObjectProperty
definition: x isolates y: The technique or agent x sets digital artifact y apart from other digital artifacts, sequestering y.
sub property of: associated-with
sub property of: d3fend-tactical-verb-property

member-of
type: ObjectProperty
sub property of: d3fend-catalog-object-property

process-data-property
type: DatatypeProperty
definition: x process-data-property y: The process x has the data property y.
sub property of: d3fend-artifact-data-property

terminates
type: ObjectProperty
definition: x terminates y: The technique x brings to an end or halt to some activity y.
synonym: aborts
sub property of: associated-with
sub property of: evicts

Application Configuration Database
type: Class
type: NamedIndividual
contains: Application Configuration Database Record
definition: A database used to hold application configuration data.
subclass of: Restriction
  on property: contains
  some values from: Application Configuration Database Record
subclass of: Configuration Database

Application Configuration File
type: Class
type: NamedIndividual
contains: ApplicationConfiguration
definition: A file containing Information used to configure the parameters and initial settings for an application.. A plist file is an example of this type of file for macOS. Usually text-based.
subclass of: Restriction
  on property: contains
  some values from: ApplicationConfiguration
subclass of: Configuration File

Broadcast Domain Isolation
type: Class
type: NamedIndividual
d3fend-id: D3-BDI
definition: Broadcast isolation restricts the number of computers a host can contact on their LAN.
filters: Local Area Network Traffic
kb-article: ## How it works Software Defined Networking, or other network encapsulation technologies intercept host broadcast traffic then route it to a specified destination per a configured policy. This can be implemented within hypervisors, networking hardware (WAPs, switches, routers), or virutal hardware. ## Considerations This technique is highly dependent on network infrastructure and networking requirements.
kb-reference: Reference - Private virtual local area network isolation - Cisco Technology Inc
synonym: Network Segmentation
subclass of: Restriction
  on property: filters
  some values from: Local Area Network Traffic
subclass of: Network Isolation

Insufficient Technical Documentation
type: Class
cwe-id: CWE-1059
subclass of: CWE-710

Irrelevant Code
type: Class
cwe-id: CWE-1164
subclass of: CWE-710

Inefficient CPU Computation
type: Class
cwe-id: CWE-1176
subclass of: CWE-405

Improper Neutralization of Trailing Special Elements
type: Class
cwe-id: CWE-162
subclass of: CWE-138

Encoding Error
type: Class
cwe-id: CWE-172
subclass of: Improper Neutralization

Observable Discrepancy
type: Class
cwe-id: CWE-203
subclass of: Exposure of Sensitive Information to an Unauthorized Actor

Sensitive Information in Resource Not Removed Before Reuse
type: Class
cwe-id: CWE-226
subclass of: Improper Removal of Sensitive Information Before Storage or Transfer
subclass of: Incomplete Cleanup

Improper Certificate Validation
type: Class
cwe-id: CWE-295
subclass of: Improper Authentication

Improper Resource Shutdown or Release
type: Class
cwe-id: CWE-404
subclass of: CWE-664

Improper Link Resolution Before File Access ('Link Following')
type: Class
cwe-id: CWE-59
subclass of: Use of Incorrectly-Resolved Name or Reference

Function Call with Incorrectly Specified Arguments
type: Class
cwe-id: CWE-628
subclass of: CWE-573

External Control of Critical State Data
type: Class
cwe-id: CWE-642
subclass of: CWE-668

Improper Synchronization
type: Class
cwe-id: CWE-662
subclass of: CWE-664
subclass of: CWE-691

Operation on Resource in Wrong Phase of Lifetime
type: Class
cwe-id: CWE-666
subclass of: CWE-664

Incorrect Resource Transfer Between Spheres
type: Class
cwe-id: CWE-669
subclass of: CWE-664

Operation on a Resource after Expiration or Release
type: Class
cwe-id: CWE-672
subclass of: Operation on Resource in Wrong Phase of Lifetime

Multiple Operations on Resource in Single-Operation Context
type: Class
cwe-id: CWE-675
subclass of: CWE-573

Incorrect Conversion between Numeric Types
type: Class
cwe-id: CWE-681
subclass of: Incorrect Type Conversion or Cast

Incorrect Authorization
type: Class
cwe-id: CWE-863
subclass of: Improper Authorization

Improper Control of Dynamically-Managed Code Resources
type: Class
cwe-id: CWE-913
subclass of: CWE-664

Capability Feature
type: Class
definition: A distinguishing characteristic of a capability (e.g., performance, portability, or functionality).
subclass of: D3FEND Catalog Thing

Cloud Configuration
type: Class
type: NamedIndividual
definition: Information used to configure the services, parameters, and initial settings for a virtual server instance running in a cloud service..
subclass of: ConfigurationResource
alternative label: Cloud Configuration Information

Configuration File
type: Class
definition: A file containing Information used to configure the parameters and initial settings for some computer programs. They are used for user applications, server processes and operating system settings.
subclass of: File
alternative label: Settings File

Copy Token
type: SystemCall
type: Class
type: NamedIndividual
copies: AccessToken
subclass of: Restriction
  on property: copies
  some values from: AccessToken
subclass of: SystemCall

Correlation
type: Class
type: NamedIndividual
d3fend-id: D3A-COR
definition: Correlation is the degree to which two or more quantities are linearly associated.
kb-article: Wolfram MathWorld. (n.d.). Correlation. [Link](https://mathworld.wolfram.com/Correlation.html)
subclass of: Descriptive Statistics

Credential Eviction
type: Class
type: NamedIndividual
d3fend-id: D3-CE
definition: Credential Eviction techniques disable or remove compromised credentials from a computer network.
enables: Evict
kb-reference: Reference - Account monitoring - Forescout Technologies
subclass of: Restriction
  on property: enables
  some values from: Evict
subclass of: DefensiveTechnique

DNS Denylisting
type: Class
type: NamedIndividual
blocks: DNS Network Traffic
d3fend-id: D3-DNSDL
definition: Blocking DNS Network Traffic based on criteria such as IP address, domain name, or DNS query type.
kb-article: ## How it works Rules are implemented that filter DNS queries using criteria such as: - Client subnet - Type of network protocol used in query - Fully qualified domain name (FQDN) of record in the query - DNS Server IP address that received the DNS request - Type of DNS record being queried - Time of day the query is received - Size of the response For example, a DNS policy can be created for blocking DNS queries for FQDNs that have been identified as unauthorized. ## Considerations - Implementation considerations for DNS filtering policies to avoid over-blocking or under-blocking domains. - Continuous maintenance of unauthorized domain lists is needed to keep up to date with possible site content changes. - File sharing or content delivery networks may require other filtering techniques that are more fine-grained (URL blocking). - Access to malicious websites or other network resources directly by IP instead of by DNS record, or after alteration of local DNS hosts file, may not result in DNS network traffic.
kb-reference: Reference - Use DNS Policy for Applying Filters on DNS Queries
synonym: DNS Blacklisting
subclass of: Restriction
  on property: blocks
  some values from: DNS Network Traffic
subclass of: Network Isolation

Database Query
type: Class
type: NamedIndividual
definition: A specific query expressed in SQL, SPARQL, or similar language against a database.
subclass of: Command

Decoy File
type: Class
type: NamedIndividual
d3fend-id: D3-DF
definition: A file created for the purposes of deceiving an adversary.
kb-article: ## How it works The decoy file is made available as a local or network resource. Accesses to the file may be monitored. The files may be configurations, documents, executables, or other file types. ## Considerations Properties of the file such as cryptographic checksums, file creation date, file modified date, file size, file owner etc may be modified to improve the credibility of the file. ## Example * A CSV file with decoy user credentials is placed on a system. The system or network is then monitored to detect any accesses to the decoy files.
kb-reference: Reference - Open source intelligence deceptions - Illusive Networks Ltd
kb-reference: Reference - Supply chain cyber-deception - Cymmetria, Inc.
kb-reference: Reference - System and a method for identifying the presence of malware and ransomware using mini-traps set at network endpoints - Fidelis Cybersecurity Solutions Inc
kb-reference: Reference - System and methods thereof for preventing ransomware from encrypting data elements stored in a memory of a computer-based system - Palo Alto Networks Inc
spoofs: File
subclass of: Restriction
  on property: spoofs
  some values from: File
subclass of: Decoy Object

Developer Application
type: Class
definition: An application used to develop computer software including applications used for software construction, analysis, testing, packaging, or management.
subclass of: User Application

Document
type: Class
definition: A document is a written, drawn, presented or recorded representation of thoughts.
subclass of: Information Content Entity

File Transfer Network Traffic
type: Class
type: NamedIndividual
definition: File transfer network traffic is network traffic related to file transfers between network nodes..This includes only network traffic conforming to standard file transfer protocols, not custom transfer protocols.
subclass of: NetworkTraffic

Identifier Reputation Analysis
type: Class
type: NamedIndividual
d3fend-id: D3-IRA
definition: Analyzing the reputation of an identifier.
kb-reference: Reference - Finding phishing sites
subclass of: Identifier Analysis

Message Analysis
type: Class
type: NamedIndividual
d3fend-id: D3-MA
definition: Analyzing email or instant message content to detect unauthorized activity.
enables: Detect
kb-article: ## Technique Overview Email and messaging are frequently used to deliver malicious content to targets. These enterprise capabilities are used to deliver software exploits or social engineering tricks. If the recipient of a message trusts the sender, attackers can avoid escalating suspicion. Emails and messages are also complex data structures. They contain files and links, and complex data encodings which vary region to region. Thus the defensive techniques used to analyze emails and messages are highly varied ranging from deep content analysis and execution to social network graph-style analytics to analyze trust or risk.
synonym: Electronic Message Analysis
synonym: Email Or Messaging Analysis
subclass of: Restriction
  on property: enables
  some values from: Detect
subclass of: DefensiveTechnique

Network Node Inventory
type: Class
type: NamedIndividual
d3fend-id: D3-NNI
definition: Network node inventorying identifies and records all the network nodes (hosts, routers, switches, firewalls, etc.) in the organization's architecture.
inventories: NetworkNode
kb-article: ## How it works Administrators collect information on network nodes in their architecture using a variety of administrative and management tools that query network devices and nodes for information. In some cases, where such queries are not supported or provide specific information of interest, an administrator may also collect this information through network enumeration methods to include host discovery and scanning for active ports and services. ## Considerations * Scanning and probing techniques using mapping tools can result in side effects to information technology (IT) and operational technology (OT) systems. * An adversary conducting network enumeration may engage in activities that parallel normal network node inventorying activities, but would require escalating to admin privileges for most of the operations requiting administrative tools ## Examples * Link-layer discovery * Link-layer Discovery Protocol (LLDP) * Cisco Discovery Protocol (CDP) * Application-layer discovery * Simple Network Management Protocol (SNMP) collects MIB information * Web-based Enterprise Management (WBEM) collects CIM information * Windows Management Instrumentation (WMI) * Windows Management Infrastructure (MI)
kb-reference: Reference - IEEE Standard for Local and Metropolitan Area Networks - Station and Media Access Control Connectivity Discovery
kb-reference: Reference - Qualys Network Passive Sensor Getting Started Guide
kb-reference: Reference - An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks
kb-reference: Reference - Web-Based Enterprise Management
kb-reference: Reference - Windows Management Infrastructure (MI)
kb-reference: Reference - Windows Management Instrumentation (WMI)
synonym: System Discovery
synonym: System Inventorying
subclass of: Restriction
  on property: inventories
  some values from: NetworkNode
subclass of: Asset Inventory

Network Resource Access
type: Class
type: NamedIndividual
accesses: NetworkResource
accesses: Resource
definition: Ephemeral digital artifact comprising a request of a network resource and any response from that network resource.
subclass of: Restriction
  on property: accesses
  some values from: Resource
subclass of: Restriction
  on property: accesses
  some values from: NetworkResource
subclass of: Resource Access

Network Service
type: Class
definition: In computer networking, a network service is an application running at the network application layer and above, that provides data storage, manipulation, presentation, communication or other capability which is often implemented using a client-server or peer-to-peer architecture based on application layer network protocols. Clients and servers will often have a user interface, and sometimes other hardware associated with it.
subclass of: Service Application Process

Network Traffic Filtering
type: Class
type: NamedIndividual
d3fend-id: D3-NTF
definition: Restricting network traffic originating from any location.
filters: NetworkTraffic
kb-reference: Reference - Active firewall system and methodology - McAfee LLC
kb-reference: Reference - Automatically generating rules for connection security - Microsoft
kb-reference: Reference - FWTK - Firewall Toolkit
kb-reference: Reference - Firewall for interent access - Secure Computing LLC
kb-reference: Reference - Firewall for processing a connectionless network packet - National Security Agency
kb-reference: Reference - Firewall for processing connection-oriented and connectionless datagrams over a connection-oriented network - National Security Agency
kb-reference: Reference - Firewalls that filter based upon protocol commands - Intel Corp
kb-reference: Reference - Method for controlling computer network security - Checkpoint Software Technologies Ltd
kb-reference: Reference - Network firewall with proxy - Secure Computing LLC
subclass of: Restriction
  on property: filters
  some values from: NetworkTraffic
subclass of: Network Isolation

OS API Delete File
type: Class
type: NamedIndividual
invokes: Delete File
subclass of: Restriction
  on property: invokes
  some values from: Delete File
subclass of: OSAPISystemFunction

OS API Read File
type: Class
type: NamedIndividual
invokes: Read File
subclass of: Restriction
  on property: invokes
  some values from: Read File
subclass of: OSAPISystemFunction

OS API Write File
type: Class
type: NamedIndividual
invokes: Write File
subclass of: Restriction
  on property: invokes
  some values from: Write File
subclass of: OSAPISystemFunction

Object File
type: Class
type: NamedIndividual
definition: An object file is a file that contains relocatable machine code.
subclass of: File

Personal Computer
type: Class
definition: A personal computer (PC) is a multi-purpose computer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or technician. Unlike large, costly minicomputers and mainframes, time-sharing by many people at the same time is not used with personal computers. PCs have in practice become powerful enough that they may be shared by multiple users at any given time, though this is not common practice nor the primary purpose of a PC.
subclass of: Client Computer

Physical Location
type: Class
type: NamedIndividual
definition: The terms location [here, a physical location] and place in geography are used to identify a point or an area on the Earth's surface or elsewhere. The term location generally implies a higher degree of certainty than place, which often indicates an entity with an ambiguous boundary, relying more on human or social attributes of place identity and sense of place than on geometry. The distinction between space and place is considered a central concern of geography, and has been addressed by scholars such as Yi-Fu Tuan and John Agnew.
subclass of: D3FENDCore

Reference - Method and Apparatus for Network Fraud Detection and Remediation Through Analytics - Idaptive LLC
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20190081968A1/en
kb-abstract: A system and method for assessing the identity fraud risk of an entity's (a user's, computer process's, or device's) behavior within a computer network and then to take appropriate action. The system uses real-time machine learning for its assessment. It records the entity's log-in behavior (conditions at log-in) and behavior once logged in to create an entity profile that helps identify behavior patterns. The system compares new entity behavior with the entity profile to determine a risk score and a confidence level for the behavior. If the risk score and confidence level indicate a credible identity fraud risk at log-in, the system can require more factors of authentication before log-in succeeds. If the system detects risky behavior after log-in, it can take remedial action such as ending the entity's session, curtailing the entity's privileges, or notifying a human administrator.
kb-author: Yanlin Wang; Weizhi Li
kb-mitre-analysis: This patent describes determining a confidence score to detect anomalies in user activity based on comparing a user's behavior profile with current user activity events. The following types of events are used to develop a user entity profile: * logon and logoff times and locations * starting or ending applications * reading or writing files * changing an entity 's authorization * monitoring network traffic User events that deviate from the entity profile over a certain threshold trigger a remedial action.
kb-organization: Idaptive LLC
kb-reference-of: Authentication Event Thresholding
kb-reference-of: Authorization Event Thresholding
kb-reference-of: Resource Access Pattern Analysis
kb-reference-of: Session Duration Analysis
kb-reference-of: User Geolocation Logon Pattern Analysis
kb-reference-title: Method and Apparatus for Network Fraud Detection and Remediation Through Analytics

Reference - System, method, and computer program product for detecting and assessing security risks in a network - Exabeam Inc
type: PatentReference
type: NamedIndividual
has-link: https://patents.google.com/patent/US20190034641A1
kb-abstract: The present disclosure is directed to a system, method, and computer program for detecting and assessing security risks in an enterprise's computer network. A behavior model is built for a user in the network based on the user's interactions with the network, wherein a behavior model for a user indicates client device(s), server(s), and resources used by the user. The user's behavior during a period of time is compared to the user's behavior model. A risk assessment is calculated for the period of time based at least in part on the comparison between the user's behavior and the user's behavior model, wherein any one of certain anomalies between the user's behavior and the user's behavior model increase the risk assessment.
kb-author: Sylvain Gil; Domingo Mihovilovic; Nir Polak; Magnus Stensmo; Sing Yip
kb-mitre-analysis: This patent describes calculating a risk score to detect anomalies in user activity based on comparing a user's current session with a user behavior model. The user behavior model is comprised of a number of histograms including: * client devices from which the user logs in * servers accessed * data accessed * applications accessed * session duration * logon time of day * logon day of week * geo - location of logon origination The system has an initial training period with x number of days (e. g., 90 days) in which session data is recorded in behavior models before behavior analysis begins.The histograms are then used to determine anomalies between current session activity and a user's behavior model. Values for a histogram category are along one axis and the number of times the value is received for the category is along another axis. If a data point value associated with the current user session is over an anomaly threshold, an alert is generated.
kb-organization: Exabeam Inc
kb-reference-of: Authentication Event Thresholding
kb-reference-of: Authorization Event Thresholding
kb-reference-of: Resource Access Pattern Analysis
kb-reference-of: Session Duration Analysis
kb-reference-of: User Geolocation Logon Pattern Analysis
kb-reference-title: System, method, and computer program product for detecting and assessing security risks in a network

Reference - Unified Architecture Framework (UAF)
type: SpecificationReference
type: NamedIndividual
has-link: https://www.omg.org/spec/UAF/
kb-abstract: UAF is an OMG standard that assists in development of architectural descriptions in commercial industry firms, federal government agencies and defense organizations. UAF has a variety of use cases from Enterprise and Mission architecting, to System of Systems (SoS) and Cyber-physical Systems engineering, as well as being an enabler for Digital Transformation efforts and for Department of Defense Architecture Framework (DoDAF) and NATO Architecture Framework (NAF) modeling. Architectural Descriptions in UAF are aligned with ISO/IEC/IEEE 42010:2011, Systems and software engineering -- Architecture description.
kb-organization: OMG
kb-reference-of: Data Exchange Mapping
kb-reference-of: Operational Activity Mapping
kb-reference-of: Operational Dependency Mapping
kb-reference-of: Organization Mapping
kb-reference-of: Service Dependency Mapping
kb-reference-of: System Dependency Mapping
kb-reference-title: Unified Architecture Framework (UAF)

Reference - Use DNS Policy for Applying Filters on DNS Queries
type: UserManualReference
type: NamedIndividual
has-link: https://docs.microsoft.com/en-us/windows-server/networking/dns/deploy/apply-filters-on-dns-queries
kb-organization: Microsoft
kb-reference-title: Use DNS Policy for Applying Filters on DNS Queries

Regression Analysis
type: Class
type: NamedIndividual
d3fend-id: D3A-RA
definition: Regression analysis is a set of statistical processes for estimating the relationships between a dependent variable (often called the 'outcome' or 'response' variable, or a 'label' in machine learning parlance) and one or more independent variables (often called 'predictors', 'covariates', 'explanatory variables' or 'features').
kb-article: ## References Wikipedia. (n.d.). Regression analysis. [Link](https://en.wikipedia.org/wiki/Regression_analysis)
subclass of: Statistical Method

Semi-Supervised Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-SSL
definition: Semi-supervised learning is a branch of machine learning that combines a small amount of labeled data with a large amount of unlabeled data during training.
kb-article: ## References Semi-Supervised Learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Semi-Supervised_Learning).
subclass of: Machine Learning

Sender MTA Reputation Analysis
type: Class
type: NamedIndividual
analyzes: Email
d3fend-id: D3-SMRA
definition: Characterizing the reputation of mail transfer agents (MTA) to determine the security risk in emails.
kb-article: ## How it works The sender message transfer agent (MTA) trust rating can be considered an indicator of the level of security risk and/or a trust level associated with sender MTAs in an email header. The features considered in determining the trust rating may include: * Length of time MTA has interacted with the enterprise * Number of sender domains sending emails from the MTA * Number of recipients in the enterprise the MTA sends emails to * Number of emails received from this MTA * Number of email replies received from this MTA For example, higher values for the length of time an MTA has interacted with the enterprise, or number of emails received from an MTA can result in a higher trust rating. The trust rating categorizes the sender MTA as unrated, neutral, trusted, suspicious, or malicious. ## Considerations Legitimate emails from a sender MTA may receive a lower trust rating over time if the sender's domain gets spoofed and is used to send unauthorized emails.
kb-reference: Reference - Systems and methods for detecting and/or handling targeted attacks in the email channel - Graphus Inc
subclass of: Restriction
  on property: analyzes
  some values from: Email
subclass of: Message Analysis

Sender Reputation Analysis
type: Class
type: NamedIndividual
analyzes: Email
d3fend-id: D3-SRA
definition: Ascertaining sender reputation based on information associated with a message (e.g. email/instant messaging).
kb-article: ## How it works Sender trust rating can be considered an indicator of the level of security risk and/or a trust level associated with a sender. The features considered in determining the trust rating include: * Length of time sender has sent emails to the enterprise * Number of recipients in the enterprise the sender interacts with * Sender vs. enterprise originated message ratio * Sender messages opened vs. not-opened ratio * Number of emails received from this sender * Number of emails replied to this sender * Number of emails from this sender not opened * Number of emails from this sender not opened that contain an attachment * Number of emails from this sender not opened that contain a URL * Number of emails sent to this sender * Number of email replies received from this sender. Higher values for the number of recipients the sender has interacted with or the number of emails received from the sender, for example, results in a higher trust rating. The trust rating can categorize the sender as unrated, neutral, trusted, suspicious, or malicious. ## Considerations Legitimate emails from a sender may receive a lower trust rating over time if the sender's domain gets spoofed and is used to send unauthorized emails.
kb-reference: Reference - Systems and methods for detecting and/or handling targeted attacks in the email channel - Graphus Inc
subclass of: Restriction
  on property: analyzes
  some values from: Email
subclass of: Message Analysis

Service Application Process
type: Class
type: NamedIndividual
subclass of: Application Process

Session Duration Analysis
type: Class
type: NamedIndividual
analyzes: Authentication
analyzes: Authorization
d3fend-id: D3-SDA
definition: Analyzing the duration of user sessions in order to detect unauthorized activity.
kb-article: ## How it works Detecting unauthorized user sessions by comparing the duration of a user logon session with a baseline behavior model. The behavior model comprises historical user session duration times. Abnormalities between session duration and the behavior model may indicate suspicious activity. ## Considerations * Potential for false positives from anomalies that are not associated with malicious activity. * Attackers may not differentiate their session duration enough to trigger an alert.
kb-reference: Reference - Method and Apparatus for Network Fraud Detection and Remediation Through Analytics - Idaptive LLC
kb-reference: Reference - System, method, and computer program product for detecting and assessing security risks in a network - Exabeam Inc
subclass of: Restriction
  on property: analyzes
  some values from: Authorization
subclass of: Restriction
  on property: analyzes
  some values from: Authentication
subclass of: UserBehaviorAnalysis

System Dependency Mapping
type: Class
type: NamedIndividual
d3fend-id: D3-SYSDM
definition: System dependency mapping identifies and models the dependencies of system components on each other to carry out their function.
kb-article: ## How it works The organization collects and models architectural information about the software, hardware, and products and maps the dependencies between systems, including each system's internal components and dependencies. ## Considerations * Data exchanges identified in the network mapping efforts usually indicate such dependencies, but may not be part of the intended design. * Architectural design artifacts and SMEs may need to be consulted to determine if dependencies are intended or otherwise essential. * System depedency mapping can identify internal dependencies of standard and pre-built systems that should be incorporated into a complete system dependency model. * System dependencies for critical systems--those supporting critical organizational activities--should be prioritized for supply chain risk analysis. * System dependencies should identify the integral components of a given named system and their structure to form a system. * System dependencies with a given system may be fixed by a particular product's configuration, and leveraging external knowledge bases about dependencies available (e.g., from package managers) is essential.
kb-reference: Reference - Catia UAF Plugin
kb-reference: Reference - Software vulnerability graph database
kb-reference: Reference - Unified Architecture Framework (UAF)
maps: System Dependency
subclass of: Restriction
  on property: maps
  some values from: System Dependency
subclass of: System Mapping

System Init Configuration
type: Class
type: NamedIndividual
definition: System initialization configuration information is configuration information used to configure the services, parameters, and initial settings for an operating system at startup.
subclass of: Operating System Configuration Component
alternative label: Autoruns

System Mapping
type: Class
type: NamedIndividual
d3fend-id: D3-SYSM
definition: System mapping encompasses the techniques to identify the organization's systems, how they are configured and decomposed into subsystems and components, how they are dependent on one another, and where they are physically located.
display-order: 2
enables: Model
subclass of: Restriction
  on property: enables
  some values from: Model
subclass of: DefensiveTechnique

Boot or Logon Initialization Scripts
type: Class
attack-id: T1037
definition: Adversaries may use scripts automatically executed at boot or logon initialization to establish persistence.(Citation: Mandiant APT29 Eye Spy Email Nov 22)(Citation: Anomali Rocke March 2019) Initialization scripts can be used to perform administrative functions, which may often execute other programs or send information to an internal logging server. These scripts can vary based on operating system and whether applied locally or remotely.
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique

Access Token Manipulation
type: Class
attack-id: T1134
definition: Adversaries may modify access tokens to operate under a different user or system security context to perform actions and bypass access controls. Windows uses access tokens to determine the ownership of a running process. A user can manipulate access tokens to make a running process appear as though it is the child of a different process or belongs to someone other than the user that started the process. When this occurs, the process also takes on the security context associated with the new token.
subclass of: DefenseEvasionTechnique
subclass of: PrivilegeEscalationTechnique

Server Software Component
type: Class
attack-id: T1505
definition: Adversaries may abuse legitimate extensible development features of servers to establish persistent access to systems. Enterprise server applications may include features that allow developers to write and install software or scripts to extend the functionality of the main application. Adversaries may install malicious components to extend and abuse server applications.(Citation: volexity_0day_sophos_FW)
subclass of: PersistenceTechnique

Pre-OS Boot
type: Class
attack-id: T1542
definition: Adversaries may abuse Pre-OS Boot mechanisms as a way to establish persistence on a system. During the booting process of a computer, firmware and various startup services are loaded before the operating system. These programs control flow of execution before the operating system takes control.(Citation: Wikipedia Booting)
subclass of: DefenseEvasionTechnique
subclass of: PersistenceTechnique

Create or Modify System Process
type: Class
attack-id: T1543
definition: Adversaries may create or modify system-level processes to repeatedly execute malicious payloads as part of persistence. When operating systems boot up, they can start processes that perform background system functions. On Windows and Linux, these system processes are referred to as services.(Citation: TechNet Services) On macOS, launchd processes known as [Launch Daemon](https://attack.mitre.org/techniques/T1543/004) and [Launch Agent](https://attack.mitre.org/techniques/T1543/001) are run to finish system initialization and load user specific parameters.(Citation: AppleDocs Launch Agent Daemons)
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique

Modify Cloud Compute Infrastructure
type: Class
attack-id: T1578
definition: An adversary may attempt to modify a cloud account's compute service infrastructure to evade defenses. A modification to the compute service infrastructure can include the creation, deletion, or modification of one or more components such as compute instances, virtual machines, and snapshots.
subclass of: DefenseEvasionTechnique

Search Open Technical Databases
type: Class
attack-id: T1596
definition: Adversaries may search freely available technical databases for information about victims that can be used during targeting. Information about victims may be available in online databases and repositories, such as registrations of domains/certificates as well as public collections of network data/artifacts gathered from traffic and/or scans.(Citation: WHOIS)(Citation: DNS Dumpster)(Citation: Circl Passive DNS)(Citation: Medium SSL Cert)(Citation: SSLShopper Lookup)(Citation: DigitalShadows CDN)(Citation: Shodan)
subclass of: Reconnaissance Technique

Time Series Analysis
type: Class
type: NamedIndividual
d3fend-id: D3A-TSA
definition: Time series analysis comprises methods for analyzing time series data in order to extract meaningful statistics and other characteristics of the data.
kb-article: ## References Wikipedia. (n.d.). Time series. [Link](https://en.wikipedia.org/wiki/Time_series)
subclass of: Statistical Method

attack-may-be-countered-by
type: ObjectProperty
sub property of: may-be-tactically-associated-with

d3fend-kb-data-property
type: DatatypeProperty
definition: x d3fend-kb-data-property y: The d3fend knowledge base object x has a data property y; e.g., a string capturing a particular aspect or section of a knowledge base article.
sub property of: d3fend-data-property

d3fend-process-object-property
type: ObjectProperty
sub property of: d3fend-object-property

d3fend-tactical-verb-property
type: ObjectProperty
domain: DefensiveTechnique
range: Artifact
sub property of: d3fend-object-property

may-counter-attack
type: ObjectProperty
sub property of: may-be-tactically-associated-with

may-transfer
type: ObjectProperty
definition: x may-transfer y: They entity x might send the thing y; that is, 'x transfers y' may be true.
sub property of: may-be-associated-with

verifies
type: ObjectProperty
definition: x verifies y: A technique x confirms the truth of a digital artifact y.
sub property of: analyzes
sub property of: associated-with

Active Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-AL
definition: Active learning aims to improve learning efficiency by allowing the learning algorithm to select which data to learn from.
kb-article: ## How it works Traditional supervised learning often requires a large number of labeled instances, which can be costly or time-consuming to obtain. Active learning addresses this labeling bottleneck by asking an oracle (e.g., a human annotator) to label selected unlabeled instances. The goal is to achieve high accuracy with minimal labeling effort. ## Considerations Active learning is particularly useful in scenarios where data is abundant but labeled instances are scarce or expensive. Examples include speech recognition, information extraction, and document classification. ## References - Wikipedia article on Active Learning (machine learning) [Link](https://en.wikipedia.org/wiki/Active_learning_(machine_learning)) - Settles, B. (2009). Active Learning Literature Survey. [Link](https://burrsettles.com/pub/settles.activelearning.pdf)
subclass of: Machine Learning

Analytical Purpose
type: Class
subclass of: Goal

Asset Vulnerability Enumeration
type: Class
type: NamedIndividual
d3fend-id: D3-AVE
definition: Asset vulnerability enumeration enriches inventory items with knowledge identifying their vulnerabilities.
evaluates: Physical Artifact
evaluates: Software
identifies: Vulnerability
kb-reference: Reference - Automated computer vulnerability resolution system
kb-reference: Reference - Security vulnerability information aggregation
kb-reference: Reference - System and method for vulnerability risk analysis
subclass of: Restriction
  on property: evaluates
  some values from: Software
subclass of: Restriction
  on property: evaluates
  some values from: Physical Artifact
subclass of: Restriction
  on property: identifies
  some values from: Vulnerability
subclass of: Asset Inventory

Authentication Cache Invalidation
type: Class
type: NamedIndividual
d3fend-id: D3-ANCI
definition: Removing tokens or credentials from an authentication cache to prevent further user associated account accesses.
deletes: Credential
kb-article: ## How it works Applications can locally cache user authentication credentials for certain server connections. An application may attempt to use the cached credential for a connection. If the cached credentials exist then the user will not be typically prompted for new credentials. ## Considerations Are these cached credentials only on the local host? Can they be persisted to the remote server? ## Examples Windows Credential Management API
kb-reference: Reference - Secure caching of server credentials - Dell Products LP
kb-reference: Reference - System and method for providing an actively invalidated client-side network resource cache - IMVU
subclass of: Restriction
  on property: deletes
  some values from: Credential
subclass of: Credential Eviction

Boot Loader
type: Class
type: NamedIndividual
definition: A bootloader is software that is responsible for booting a computer. When a computer is turned off, its software‍-‌including operating systems, application code, and data‍-‌remains stored on non-volatile memory. When the computer is powered on, it typically does not have an operating system or its loader in random-access memory (RAM). The computer first executes a relatively small program stored in read-only memory (ROM, and later EEPROM, NOR flash) along with some needed data, to initialize RAM (especially on x86 systems) to access the nonvolatile device (usually block device, eg NAND flash) or devices from which the operating system programs and data can be loaded into RAM.
subclass of: Software
alternative label: Bootloader

Improper Neutralization of Delimiters
type: Class
cwe-id: CWE-140
subclass of: CWE-138

Uncontrolled Resource Consumption
type: Class
cwe-id: CWE-400
subclass of: CWE-664

Insufficiently Protected Credentials
type: Class
cwe-id: CWE-522
subclass of: CWE-1390
subclass of: CWE-668

Always-Incorrect Control Flow Implementation
type: Class
cwe-id: CWE-670
subclass of: CWE-691

Incorrect Behavior Order
type: Class
cwe-id: CWE-696
subclass of: CWE-691

Incorrect Permission Assignment for Critical Resource
type: Class
cwe-id: CWE-732
subclass of: Improper Authorization
subclass of: CWE-668

Certificate
type: Class
type: NamedIndividual
contains: Identifier
contains: Public Key
definition: In cryptography, a public key certificate, also known as a digital certificate or identity certificate, is an electronic document used to prove the ownership of a public key. The certificate includes information about the key, information about the identity of its owner (called the subject), and the digital signature of an entity that has verified the certificate's contents (called the issuer). If the signature is valid, and the software examining the certificate trusts the issuer, then it can use that key to communicate securely with the certificate's subject. In email encryption, code signing, and e-signature systems, a certificate's subject is typically a person or organization. However, in Transport Layer Security (TLS) a certificate's subject is typically a computer or other device.
subclass of: Restriction
  on property: contains
  some values from: Public Key
subclass of: Restriction
  on property: contains
  some values from: Identifier
subclass of: DigitalInformationBearer
alternative label: Public Key Certificate

Certificate Pinning
type: Class
type: NamedIndividual
authenticates: Public Key
d3fend-id: D3-CP
definition: Persisting either a server's X.509 certificate or their public key and comparing that to server's presented identity to allow for greater client confidence in the remote server's identity for SSL connections.
kb-article: ## How it works Pinning allows for a trusted copy of a certificate or public key to be associated with a server and thus reducing the likelihood of frequently visited sites being subjected to man-in-the-middle attacks. Certificates or public keys can be pinned after a trusted connection has been established or the pinning can be preloaded in an application, which is the preferred method for mobile applications. Pinning can take the form of certificate pinning or public key pinning. ## Forms of Pinning * Certificate Pinning (CP) allows for the client to verify the X.509 certificate with a preloaded certificate. Typically, this is involves storing a hash of the certificate and using the stored hash for comparison to the hash of the certificate submitted during the SSL handshake. * Public Key Pinning (PKP) requires the extraction of a public key from server's certificate. The stored public key is compared to the server's presented public key. A public key is expected to rotate less frequently than an X.509 certificate and is generally favored over certificate pinning. An extension of PKP is Subject Public Key Information Pinning (SPKI) includes public key pinning plus additional information for SSL connections. The additional information can include preferred algorithms. ## Considerations * With pinned certificates whenever a server updates its certificate, the pinned certificates will also need to be updated * With pinned public keys the extracted key may be subject to key refresh policies but much less frequently * Servers can become unavailable if pinned objects are set and not updated with the rotated identities. This may require a pinning strategy to be developed. * The application of this technique within web browser applications has been [deprecated](https://developer.mozilla.org/en-US/docs/Web/HTTP/Public_Key_Pinning) by popular web browser developers. They now favor certificate analysis via public certificate transparency logs, and the EXPECT-CT HTTP header.
kb-reference: Reference - Certificate and Public Key Pinning
kb-reference: Reference - End-to-end certificate pinning
kb-reference: Reference - Public Key Pinning Extension for HTTP
subclass of: Restriction
  on property: authenticates
  some values from: Public Key
subclass of: CredentialHardening

Classification
type: Class
type: NamedIndividual
d3fend-id: D3A-CLA
definition: Classification uses an algorithm to accurately assign test data into specific categories.
kb-article: ## How it works Classification recognizes specific entities within the dataset and attempts to draw some conclusions on how those entities should be labeled or defined. Common classification algorithms are linear classifiers, support vector machines (SVM), decision trees, k-nearest neighbor, and random forest, which are described in more detail below. ## Considerations: There are many different types of classification algorithms for modeling classification predictive modeling problems. There is no single theory on how to map algorithms onto problem types; instead, it is generally recommended that a practitioner use controlled experiments and discover which algorithm and algorithm configuration results in the best performance for a given classification task. ## Key Test Considerations - **Machine Learning**: - **Verify the dataset quality**: Check the data to make sure it is free of errors. Quantify the degree of missing values, outliers, and noise in the data collection. If the data quality is low, it may be difficult or impossible to create models and systems with the desired performance. - **Verify development datasets are representative** of expected operational environment and data collection means. Compare distributions of dataset features and labels with exploratory data analysis and assess the difference in tests on training data and tests on evaluation data (where the evaluation data must be drawn from a representative dataset.) - **Use software libraries**: and tools built for ML where possible, so that the underlying code is verified by prior use.** - **Diagnose model errors with domain SMEs**: Have problem domain SMEs investigate model errors for conditions for which the model may underperform and suggest refinements. - **Classification**: - **Use Standard Classification Performance Measures**: Not all of the following may be necessary, but should be considered for both verification (developmental test) and operational test stages use: - **Accuracy**: The…
subclass of: Supervised Learning

Network Agent
type: Class
type: NamedIndividual
definition: A network agent is software installed on a network node or device that transmits information back to a collector agent or management system. Kinds of network agents include SNMP Agent, IPMI agents, WBEM agents, and many proprietary agents capturing network monitoring and management information.
synonym: Exporter
subclass of: Software

Command
type: Class
type: NamedIndividual
definition: In computing, a command is a directive to a computer program acting as an interpreter of some kind, in order to perform a specific task. Most commonly a command is either a directive to some kind of command-line interface, such as a shell, or an event in a graphical user interface triggered by the user selecting an option in a menu.
subclass of: Digital Event
subclass of: Digital Information

Container Image
type: Class
type: NamedIndividual
definition: A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings. Container images become containers at runtime and in the case of Docker containers - images become containers when they run on Docker Engine. Available for both Linux and Windows-based applications, containerized software will always run the same, regardless of the infrastructure. Containers isolate software from its environment and ensure that it works uniformly despite differences for instance between development and staging.
subclass of: File
subclass of: Software Package

D3FEND Catalog Thing
type: Class
subclass of: D3FEND KB Thing
alternative label: D3FEND Vendor Registry Thing

Decoy Network Resource
type: Class
type: NamedIndividual
d3fend-id: D3-DNR
definition: Deploying a network resource for the purposes of deceiving an adversary.
kb-article: ## How it works Decoy network resources are deployed to web application servers, network file shares, or other network based sharing services. A "honeypot" may serve a variety of decoy network resources. ## Considerations * Developing a deployment and placement strategy for the decoy network resource. * Personnel responsible for creation of decoy networks should consider the potential for resource exhaustion through denial of service attacks. ## Examples * Honeypots are typically used to mimic a known system with fake vulnerabilities. This may attract attackers to the honeypot. * Decoy accounts are also used to scan for attempted logins. The decoy accounts can provide security analysts with the attacker's potential intents and strategies. * Tarpits are used to monitor unallocated IP space for unauthorized network activity.
kb-reference: Reference - Automatically generating network resource groups and assigning customized decoy policies thereto - Illusive Networks Ltd
kb-reference: Reference - Deception-Based Responses to Security Attacks - Crowdstrike Inc
kb-reference: Reference - Dynamic selection and generation of a virtual clone for detonation of suspicious content within a honey network - Palo Alto Networks Inc
kb-reference: Reference - System and method for identifying the presence of malware using mini-traps set at network endpoints - Fidelis Cybersecurity Solutions Inc
spoofs: NetworkResource
subclass of: Restriction
  on property: spoofs
  some values from: NetworkResource
subclass of: Decoy Object

Digital Event
type: Class
subclass of: Event

Evict
type: DefensiveTactic
type: Class
type: NamedIndividual
definition: The eviction tactic is used to remove an adversary from a computer network.
display-order: 4
display-priority: 0
subclass of: DefensiveTactic

File System Link
type: Class
type: NamedIndividual
definition: A file system link associates a name with a file on a file system. Most generally, this may be a direct reference (a hard link) or an indirect one (a soft link).
subclass of: DigitalInformationBearer

Get Running Processes
type: Class
type: NamedIndividual
enumerates: Process
subclass of: Restriction
  on property: enumerates
  some values from: Process
subclass of: SystemCall

Get System Time
type: Class
type: NamedIndividual
definition: A system call that gets the system time. For POSIX.1 systems, time() invokes a call to get the system time.
subclass of: SystemCall

Group Policy
type: Class
type: NamedIndividual
definition: Group Policy is a feature of the Microsoft Windows NT family of operating systems that controls the working environment of user accounts and computer accounts. Group Policy provides the centralized management and configuration of operating systems, applications, and users' settings in an Active Directory environment. A version of Group Policy called Local Group Policy ("LGPO" or "LocalGPO") also allows Group Policy Object management on standalone and non-domain computers.
subclass of: AccessControlConfiguration

Homogenous Transfer Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-HTL
definition: In homogeneous transfer learning, the feature spaces of the source and target domains is of the same dimension (Ds = Dt) while the data of both domains is represented by the same attributes (Xs = Xt) and labels (Ys = Yt). Thus, homogeneous transfer learning aims to bridge the gap in the data distributions experienced during cross-domain transfer.
kb-article: ## References Khalil, K., Asgher, U., & Ayaz, Y. (2022). Novel fNIRS study on homogeneous symmetric feature-based transfer learning for brain-computer interface. Scientific Reports, 12, 3198. [Link](https://www.nature.com/articles/s41598-022-06805-4).
subclass of: Transfer Learning

Image Code Segment
type: Class
type: NamedIndividual
contains: Subroutine
definition: An image code segment, also known as a text segment or simply as text, is a portion of an object file that contains executable instructions. The term "segment" comes from the memory segment, which is a historical approach to memory management that has been succeeded by paging. When a program is stored in an object file, the code segment is a part of this file; when the loader places a program into memory so that it may be executed, various memory regions are allocated (in particular, as pages), corresponding to both the segments in the object files and to segments only needed at run time. For example, the code segment of an object file is loaded into a corresponding code segment in memory.
subclass of: Restriction
  on property: contains
  some values from: Subroutine
subclass of: Image Segment

Information Content Entity
type: Class
subclass of: Restriction
  on property: archived-at
  some values from: anyURI
subclass of: D3FEND Catalog Thing

Intranet Network
type: Class
type: NamedIndividual
definition: An intranet is a private network accessible only to an organization's staff or delegates. Generally a wide range of information and services from the organization's internal IT systems are available that would not be available to the public from the Internet. A company-wide intranet can constitute an important focal point of internal communication and collaboration, and provide a single starting point to access internal and external resources. In its simplest form an intranet is established with the technologies for local area networks (LANs) and wide area networks (WANs).
subclass of: Network

Job Scheduler Software
type: Class
type: NamedIndividual
creates: Scheduled Job
definition: A job scheduler software is operating system software that when run executes scheduled tasks (time-scheduling in the sense of wall clock time; not operating system scheduling of processes for multitasking). Processes running such software are task scheduler processes. In Windows, Scheduled Tasks are created and managed by the Task Scheduler. In Unix-like OSes, the `cron` utitility serves a similar role.
modifies: Job Schedule
modifies: Scheduled Job
synonym: Task Scheduler Software
subclass of: Restriction
  on property: modifies
  some values from: Scheduled Job
subclass of: Restriction
  on property: modifies
  some values from: Job Schedule
subclass of: Restriction
  on property: creates
  some values from: Scheduled Job
subclass of: System Service Software

Kerberos Ticket
type: Class
type: NamedIndividual
definition: An access ticket/token issued by a Kerberos system.
subclass of: AccessToken

Local User Account
type: Class
type: NamedIndividual
definition: A user account on a given host is a local user account for that specific host.
subclass of: UserAccount

Logical Link
type: Class
type: NamedIndividual
subclass of: Link

Mail Server
type: Class
type: NamedIndividual
definition: Within the Internet email system, a message transfer agent or mail transfer agent (MTA) or mail relay is software that transfers electronic mail messages from one computer to another using SMTP. The terms mail server, mail exchanger, and MX host are also used in some contexts. Messages exchanged across networks are passed between mail servers, including any attached data files (such as images, multimedia or documents). These servers also often keep mailboxes for email. Access to this email by end users is typically either via webmail or an email client.
runs: Message Transfer Agent
subclass of: Restriction
  on property: runs
  some values from: Message Transfer Agent
subclass of: Server
alternative label: Email Server Resource
alternative label: MTA
alternative label: MX Host
alternative label: Mail Exchanger
alternative label: Mail transfer agent
alternative label: Message transfer agent

Network File Share Resource
type: Class
type: NamedIndividual
definition: A shared file resource, or network file share, is a computer file made available from one host to other hosts on a computer network. Network sharing is made possible by inter-process communication over the network. It includes both files and directories.
subclass of: NetworkResource

Network Mapping
type: Class
type: NamedIndividual
d3fend-id: D3-NM
definition: Network mapping encompasses the techniques to identify and model the physical layer, network layer, and data exchange layers of the organization's network and their physical location, and determine allowed pathways through that network.
display-order: 3
enables: Model
subclass of: Restriction
  on property: enables
  some values from: Model
subclass of: DefensiveTechnique

Network Session
type: Class
type: NamedIndividual
definition: A network session is a temporary and interactive information interchange between two or more devices communicating over a network. A session is established at a certain point in time, and then 'torn down' - brought to an end - at some later point. An established communication session may involve more than one message in each direction. A session is typically stateful, meaning that at least one of the communicating parties needs to hold current state information and save information about the session history in order to be able to communicate, as opposed to stateless communication, where the communication consists of independent requests with responses. Network sessions may be established and implemented as part of protocols and services at the application, session, or transport layers of the OSI model.
produces: NetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: NetworkTraffic
subclass of: Session

OS API Create Thread
type: Class
type: NamedIndividual
invokes: Create Thread
subclass of: Restriction
  on property: invokes
  some values from: Create Thread
subclass of: OSAPISystemFunction

OS API Open File
type: Class
type: NamedIndividual
invokes: Open File
subclass of: Restriction
  on property: invokes
  some values from: Open File
subclass of: OSAPISystemFunction

Object Eviction
type: Class
type: NamedIndividual
d3fend-id: D3-OE
definition: Terminate or remove an object from a host machine. This is the broadest class for object eviction.
enables: Evict
subclass of: Restriction
  on property: enables
  some values from: Evict
subclass of: DefensiveTechnique

Organization
type: Class
type: NamedIndividual
subclass of: Restriction
  on property: has-member
  some values from: Person
subclass of: Non-Person Entity

Outbound Internet Encrypted Web Traffic
type: Class
type: NamedIndividual
definition: Outbound internet encrypted web traffic is network traffic using a standard web protocol on an outgoing connection initiated from a host within a network to a host outside the network.
subclass of: OutboundInternetEncryptedTraffic
subclass of: Outbound Internet Web Traffic

Outbound Network Traffic
type: Class
type: NamedIndividual
definition: Outbound traffic is network traffic originating from a host of interest (client), to another host (server).
subclass of: NetworkTraffic

Partition
type: Class
type: NamedIndividual
definition: A partition is a region on secondary storage device created so that the region can be managed by itself; separate from any other regions (partitions) on that secondary storage device. Creating partitions is typically the first step of preparing a newly installed storage device, before any file system is created. The device stores the information about the partitions' locations and sizes in an area known as the partition table that the operating system reads before any other part of the disk. Each partition then appears to the operating system as a distinct "logical" storage device that uses part of the actual device. System administrators use a program called a partition editor to create, resize, delete, and manipulate the partitions. Partitioning allows the use of different filesystems to be installed for different kinds of files. Separating user data from system data can prevent the system partition from becoming full and rendering the system unusable. Partitioning can also make backing up easier. [Definition adapted as generalization from definition of disk partitioning and distinct from in-memory partitions.]
subclass of: DigitalInformationBearer
alternative label: Disk Partition
alternative label: Disk Slice

Password File
type: Class
type: NamedIndividual
definition: Simple form of password database held in a single file (e.g., /etc/password)
subclass of: File
subclass of: Password Database

Pipe
type: Class
type: NamedIndividual
definition: In Unix-like computer operating systems, a pipeline is a mechanism for inter-process communication using message passing. In the strictest sense, a pipe is a single segment of a pipeline, allowing one process to pass information forward to another. Network pipes allow processes on different hosts to interact.
subclass of: Interprocess Communication
alternative label: Pipeline

Primary Storage
type: Class
type: NamedIndividual
contains: Page Frame
contains: ProcessSegment
definition: Primary memory of a computer is memory that is wired directly to the processor, consisting of RAM and possibly ROM. These terms are used in contrast to mass storage devices and cache memory (although we may note that when a program accesses main memory, it is often actually interacting with a cache).
subclass of: Restriction
  on property: contains
  some values from: Page Frame
subclass of: Restriction
  on property: contains
  some values from: ProcessSegment
subclass of: HardwareDevice
subclass of: Storage

Process Eviction
type: Class
type: NamedIndividual
d3fend-id: D3-PE
definition: Process eviction techniques terminate or remove running process.
enables: Evict
kb-reference: Reference - Malware detection using local computational models - Crowdstrike Inc
subclass of: Restriction
  on property: enables
  some values from: Evict
subclass of: DefensiveTechnique

Process Segment Execution Prevention
type: Class
type: NamedIndividual
d3fend-id: D3-PSEP
definition: Preventing execution of any address in a memory region other than the code segment.
kb-article: ## How it works During execution of a process, the instruction pointer register should only point to addresses in a code segment (also called the .text segment), as this is the sole segment which should contain program code. When this technique detects an attempt to execute something that has been designated as non-executable, other techniques such as those in **Process Eviction** might be invoked, such as **Process Termination** to end the current process, or **Executable Blacklisting** to blacklist the potentially vulnerable or malfunctioning executable. ### Software-based implementations The software-based implementation in Windows XP SP2 might not check that every time the instruction pointer is changed, and does not check on each jump or return. Before calling an exception handler, Windows XP SP2 software-enforced DEP checks whether the exception handler is located in a memory region marked as executable. If the program was also built with SafeSEH, this implementation also checks before changing control to the exception handler whether it is a registered exception handler in the program's file on disk. ### Hardware-based implementations The NX (No Execute) or XD (Execute Disable) bit on the processor specifies whether a certain part of memory is executable. Early implementations set this bit by the memory segment, while modern implementations which are built on the flat memory model often store this bit in each entry of the page table, to control execution by the page. ## Considerations Non-hardware process data segment execution prevention is more susceptible to being able to be turned off for a page of memory. Different implementations of this defense have been in place since the 1980s, but implementation stalled when larger 16-bit programs began stuffing code in the segments usually reserved for data. Many modern programs follow the best practice of separation of code and data, are able to run under this defense. ROP or ret2libc/return-to-function attacks co…
kb-reference: Reference - Mitigate threats by using Windows 10 security features: Data Execution Prevention - Microsoft
kb-reference: Reference - What is NX/XD feature?
neutralizes: ProcessSegment
synonym: Execute Disable
synonym: No Execute
subclass of: Restriction
  on property: neutralizes
  some values from: ProcessSegment
subclass of: Application Hardening

Processor Register
type: Class
type: NamedIndividual
contained-by: Central Processing Unit
definition: A processor register is a quickly accessible location available to a computer's processor. Registers usually consist of a small amount of fast storage, although some registers have specific hardware functions, and may be read-only or write-only.
subclass of: Restriction
  on property: contained-by
  some values from: Central Processing Unit
subclass of: Primary Storage

RPC Network Traffic
type: Class
type: NamedIndividual
definition: RPC network traffic is network traffic related to remote procedure calls between network nodes..This includes only network traffic conforming to a standard RPC protocol; not custom protocols.
subclass of: NetworkTraffic

Raw Memory Access Function
type: Class
type: NamedIndividual
accesses: MemoryBlock
definition: A function which accesses raw memory, usually using memory addresses.
subclass of: Restriction
  on property: accesses
  some values from: MemoryBlock
subclass of: Subroutine

Record
type: Class
type: NamedIndividual
definition: In computer science, a record (also called struct or compound data) is a basic data structure. A record is a collection of fields, possibly of different data types, typically in fixed number and sequence . The fields of a record may also be called members, particularly in object-oriented programming. Fields may also be called elements, though these risk confusion with the elements of a collection. A tuple may or may not be considered a record, and vice versa, depending on conventions and the specific programming language.
subclass of: DigitalInformationBearer

Reference - Catia UAF Plugin
type: InternetArticleReference
type: NamedIndividual
has-link: https://www.3ds.com/products-services/catia/products/no-magic/addons/uaf-plugin/
kb-abstract: MagicDraw offers the most robust standards compliant [Unified Architecture Framework (UAF)], DoDAF 2.0, MODAF 1.2, NAF 3, and NAF 4 via a UAF standardized solution. And what's more, No Magic fully supports all architectural framework products ensuring you achieve project results. No Magic also leads the industry in usability and interoprability, ensuring that you avoid unnecessary cost, schedule and performance risk.
kb-organization: Dassault Systemes
kb-reference-of: Data Exchange Mapping
kb-reference-of: Operational Activity Mapping
kb-reference-of: Operational Dependency Mapping
kb-reference-of: Organization Mapping
kb-reference-of: Service Dependency Mapping
kb-reference-of: System Dependency Mapping
kb-reference-title: Catia UAF Plugin

Regression Analysis Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-RAL
definition: Regression is used to understand the relationship between dependent and independent variables which is then used to make projections, such as for sales revenue for a given business.
kb-article: ## References Supervised Learning. IBM. [Link](https://www.ibm.com/topics/supervised-learning).
subclass of: Supervised Learning

Restore Object
type: Class
type: NamedIndividual
d3fend-id: D3-RO
definition: Restoring an object for an entity to access. This is the broadest class for object restoral.
enables: Restore
subclass of: Restriction
  on property: enables
  some values from: Restore
subclass of: DefensiveTechnique

Session Cookie
type: Class
type: NamedIndividual
definition: A session cookie, also known as an in-memory cookie, transient cookie or non-persistent cookie, exists only in temporary memory while the user navigates the website. Web browsers normally delete session cookies when the user closes the browser. Unlike other cookies, session cookies do not have an expiration date assigned to them, which is how the browser knows to treat them as session cookies.
subclass of: Credential
alternative label: In-memory Cookie
alternative label: Non-persistent Cookie
alternative label: Transient Cookie
alternative label: Web Session Cookie

Set System Config Value
type: Class
type: NamedIndividual
modifies: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: modifies
  some values from: SystemConfigurationDatabaseRecord
subclass of: System Config System Call

Statistical Method
type: Class
type: NamedIndividual
d3fend-id: D3A-SM
definition: Building methods using the mathematical study of the likelihood and probability of events occurring based on known information and inferred by taking a limited number of samples.
kb-article: ## References Wolfram MathWorld. (n.d.). Statistics. [Link](https://mathworld.wolfram.com/Statistics.html)
subclass of: Analytic Technique

System Configuration Init Database Record
type: Class
type: NamedIndividual
definition: A database record holding information used to configure the services, parameters, and initial settings for an operating system at startup.
subclass of: SystemConfigurationDatabaseRecord
subclass of: System Configuration Init Resource
subclass of: System Init Configuration
alternative label: System Configuration Startup Database Record

System Firmware
type: Class
type: NamedIndividual
definition: Firmware that is installed on a computer's main board which manages the initial boot process. It can also continue to run or function after the operating system boots.
subclass of: Firmware
alternative label: BIOS Firmware
alternative label: UEFI Firmware

Account Manipulation
type: Class
type: NamedIndividual
attack-id: T1098
definition: Adversaries may manipulate accounts to maintain and/or elevate access to victim systems. Account manipulation may consist of any action that preserves or modifies adversary access to a compromised account, such as modifying credentials or permission groups.(Citation: FireEye SMOKEDHAM June 2021) These actions could also include account activity designed to subvert security policies, such as performing iterative password updates to bypass password duration policies and preserve the life of compromised credentials.
modifies: UserAccount
subclass of: Restriction
  on property: modifies
  some values from: UserAccount
subclass of: PersistenceTechnique

Create Account
type: Class
type: NamedIndividual
attack-id: T1136
creates: UserAccount
definition: Adversaries may create an account to maintain access to victim systems.(Citation: Symantec WastedLocker June 2020) With a sufficient level of access, creating such accounts may be used to establish secondary credentialed access that do not require persistent remote access tools to be deployed on the system.
subclass of: Restriction
  on property: creates
  some values from: UserAccount
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique

Office Application Startup
type: Class
attack-id: T1137
definition: Adversaries may leverage Microsoft Office-based applications for persistence between startups. Microsoft Office is a fairly common application suite on Windows-based operating systems within an enterprise network. There are multiple mechanisms that can be used with Office for persistence when an Office-based application is started; this can include the use of Office Template Macros and add-ins.
subclass of: PersistenceTechnique

Abuse Elevation Control Mechanism
type: Class
attack-id: T1548
definition: Adversaries may circumvent mechanisms designed to control elevate privileges to gain higher-level permissions. Most modern systems contain native elevation control mechanisms that are intended to limit privileges that a user can perform on a machine. Authorization has to be granted to specific users in order to perform tasks that can be considered of higher risk.(Citation: TechNet How UAC Works)(Citation: sudo man page 2018) An adversary can perform several methods to take advantage of built-in control mechanisms in order to escalate privileges on a system.(Citation: OSX Keydnap malware)(Citation: Fortinet Fareit)
subclass of: DefenseEvasionTechnique
subclass of: PrivilegeEscalationTechnique

Subvert Trust Controls
type: Class
attack-id: T1553
definition: Adversaries may undermine security controls that will either warn users of untrusted activity or prevent execution of untrusted programs. Operating systems and security products may contain mechanisms to identify programs or websites as possessing some level of trust. Examples of such features would include a program being allowed to run because it is signed by a valid code signing certificate, a program prompting the user with a warning because it has an attribute set from being downloaded from the Internet, or getting an indication that you are about to connect to an untrusted site.
subclass of: DefenseEvasionTechnique

Credentials from Password Stores
type: Class
type: NamedIndividual
accesses: Password Store
attack-id: T1555
definition: Adversaries may search for common password storage locations to obtain user credentials.(Citation: F-Secure The Dukes) Passwords are stored in several places on a system, depending on the operating system or application holding the credentials. There are also specific applications and services that store passwords to make them easier for users to manage and maintain, such as password managers and cloud secrets vaults. Once credentials are obtained, they can be used to perform lateral movement and access restricted information.
may-access: Database File
subclass of: Restriction
  on property: may-access
  some values from: Database File
subclass of: Restriction
  on property: accesses
  some values from: Password Store
subclass of: CredentialAccessTechnique

Gather Victim Network Information
type: Class
attack-id: T1590
definition: Adversaries may gather information about the victim's networks that can be used during targeting. Information about networks may include a variety of details, including administrative data (ex: IP ranges, domain names, etc.) as well as specifics regarding its topology and operations.
subclass of: Reconnaissance Technique

Stage Capabilities
type: Class
attack-id: T1608
definition: Adversaries may upload, install, or otherwise set up capabilities that can be used during targeting. To support their operations, an adversary may need to take capabilities they developed ([Develop Capabilities](https://attack.mitre.org/techniques/T1587)) or obtained ([Obtain Capabilities](https://attack.mitre.org/techniques/T1588)) and stage them on infrastructure under their control. These capabilities may be staged on infrastructure that was previously purchased/rented by the adversary ([Acquire Infrastructure](https://attack.mitre.org/techniques/T1583)) or was otherwise compromised by them ([Compromise Infrastructure](https://attack.mitre.org/techniques/T1584)). Capabilities may also be staged on web services, such as GitHub or Pastebin, or on Platform-as-a-Service (PaaS) offerings that enable users to easily provision applications.(Citation: Volexity Ocean Lotus November 2020)(Citation: Dragos Heroku Watering Hole)(Citation: Malwarebytes Heroku Skimmers)(Citation: Netskope GCP Redirection)(Citation: Netskope Cloud Phishing)
subclass of: Resource Development Technique

Transfer Agent Authentication
type: Class
type: NamedIndividual
d3fend-id: D3-TAAN
definition: Validating that server components of a messaging infrastructure are authorized to send a particular message.
kb-article: ## How it works Transfer Agent Authentication can be accomplished in different ways for depending on the protocol. In Email, Sender Policy Framework (SPF), Domain Key Identified Email (DKIM) or Domain-based Message Authentication Reporting and Conformance (DMARC) are used to validate sender domain ownership. ### SPF SPF protocol allows for mail domain owners to specify the mail servers they use when sending email. SPF requires the use of SPF records published in the Domain Name System (DNS). The records record the authorized IPs for email senders. SPF uses the return-path address for domain IP identification. Email that is forwarded may cause the return-path validation problems. ### DKIM DKIM also uses a record entry in DNS for authentication but does not rely on the simple return-path for validation. A signature header is added to email and encryption is used for security. This adds an additional layer of complexity and requires that DKIM servers be configured identified cryptographic signatures. The additional complexity results in a validation process that can survive complex routing of emails. ### DMARC DMARC is an email policy and authentication protocol that seeks to ensure that the "From" field of emails is not spoofed. DMARC makes use of both SPF records and DKIM published key validation. DMARC also has a decision policy framework, contained in a DMARC record, for handling of rejected email. The DMARC framework also updates DMARC domains with authentication statues for allowed senders of that domain. ## Considerations - Additional work is required to ensure that all SPF, DKIM and DMARC records are current and up to date. - Maintenance of DKIM signing keys is needed. - Using SPF without DKIM and DMARC verifies the Return-Path domain however does not prevent spoofing of the displayed From: address. - Parts of an email that are not signed or verified by email authentication methods, such as the message body or the header To: and Subject: fields, can be altered …
kb-reference: Reference - RFC 6376: DomainKeys Identified Mail (DKIM) Signatures - IETF
kb-reference: Reference - RFC 7208: Sender Policy Framework (SPF) for Authorizing Use of Domains in Email - IETF
kb-reference: Reference - RFC 7489: Domain-based Message Authentication, Reporting, and Conformance (DMARC) - IETF
subclass of: Message Hardening

User Action
type: Class
type: NamedIndividual
definition: An action performed by a user. Executing commands, granting permissions, and accessing resources are examples of user actions.
subclass of: Digital Event
subclass of: DigitalInformationBearer

User Application
type: Class
definition: A user application is executed for that an individual user on a user's personal computer or remotely by means of virtualization. This is in contrast to service applications or enterprise software.
subclass of: Application

User Data Transfer Analysis
type: Class
type: NamedIndividual
analyzes: Resource Access
d3fend-id: D3-UDTA
definition: Analyzing the amount of data transferred by a user.
kb-article: ## How it works Unusual data transfer activity may indicate unauthorized activity. Data transfers can be analyzed by collecting network traffic or application logs. ## Considerations * There is a potential for false positives from anomalies that are not associated with unauthorized activity. * Attackers that move low and slow may not differentiate their data transfer behavior enough for an alert to trigger.
kb-reference: Reference - System and method thereof for identifying and responding to security incidents based on preemptive forensics - Palo Alto Networks Inc
kb-reference: Reference - System for implementing threat detection using threat and risk assessment of asset-actor interactions - VECTRA NETWORKS Inc
subclass of: Restriction
  on property: analyzes
  some values from: Resource Access
subclass of: UserBehaviorAnalysis

User Init Configuration File
type: Class
type: NamedIndividual
definition: A user initialization configuration file is a file containing the information necessary to configure that part of a user's environment which is common to all applications and actions. User configurations may be overridden by more specific configuration information (such as that found in a application configuration file.)
subclass of: Configuration File
subclass of: User Logon Init Resource
alternative label: User Configuration File

User Logon Init Resource
type: Class
type: NamedIndividual
definition: A user logon initialization resource contains information used to configure a user's environment when a user logs into a system.
subclass of: Local Resource

User Startup Script File
type: Class
type: NamedIndividual
definition: A user startup script file is a shortcut file that is executed when a user logs in and starts a session on the host. These indicate applications the user wants started at login. For Windows, these are typically found in the user's startup directory.
subclass of: ExecutableScript
subclass of: User Logon Init Resource

Variability
type: Class
type: NamedIndividual
d3fend-id: D3A-VAR
definition: Dispersion (also called variability, scatter, or spread) is the extent to which a distribution is stretched or squeezed. A measure of statistical dispersion is a nonnegative real number that is zero if all the data are the same and increases as the data become more diverse.
kb-article: ## References Wikipedia. (n.d.). Statistical dispersion. [Link](https://en.wikipedia.org/wiki/Statistical_dispersion)
subclass of: Descriptive Statistics

Volume
type: Class
type: NamedIndividual
definition: In the context of computer operating systems, a volume or logical drive is a single accessible storage area with a single file system, typically (though not necessarily) resident on a single partition of a hard disk. Although a volume might be different from a physical disk drive, it can still be accessed with an operating system's logical interface. However, a volume differs from a partition.
subclass of: DigitalInformationBearer
alternative label: Drive Volume
alternative label: Logical Drive

Web Network Traffic
type: Class
type: NamedIndividual
definition: Web network traffic is network traffic that uses a standard web protocol.
subclass of: NetworkTraffic

Web Session Activity Analysis
type: Class
type: NamedIndividual
analyzes: Web Resource Access
d3fend-id: D3-WSAA
definition: Monitoring changes in user web session behavior by comparing current web session activity to a baseline behavior profile or a catalog of predetermined malicious behavior.
kb-article: ## How it works User web session data is collected over a period of time to create a user behavior profile. Data collected includes clicks made on a website, average time between clicks, filling out web forms, order in which pages are viewed, and downloading files. Current user web session behavior is then compared against the use behavior profile to identify anomalies and a likelihood that the current user web session is malicious. Current user web session behavior can also be compared to predetermined known malicious behavior profiles that are developed through analysis of malware in run time at a threat research facility. ## Considerations * Potential for false positives from anomalies that are not associated with malicious activity. * Attackers may not differentiate their web session activity enough to trigger an alert.
kb-reference: Reference - Host intrusion prevention system using software and user behavior analysis - Sophos Ltd
kb-reference: Reference - System and Method for Detection of a Change in Behavior in the Use of a Website Through Vector Velocity Analysis - Silver Tail Systems
kb-reference: Reference - System and Method for Network Security Including Detection of Attacks Through Partner Websites - EMC IP Holding Co LLC
kb-reference: Reference - System and method thereof for identifying and responding to security incidents based on preemptive forensics - Palo Alto Networks Inc
subclass of: Restriction
  on property: analyzes
  some values from: Web Resource Access
subclass of: UserBehaviorAnalysis

Windows NtProtectVirtualMemory
type: Class
type: NamedIndividual
subclass of: OS API Allocate Memory

copies
type: ObjectProperty
definition: x copies y: An technique or agent x reproduces or makes and exact copy of some digital artifact y.
sub property of: creates

counters
type: ObjectProperty
sub property of: d3fend-catalog-object-property
sub property of: may-counter

d3fend-data-property
type: DatatypeProperty
sub property of: topDataProperty

evaluates
type: ObjectProperty
sub property of: associated-with
sub property of: may-evaluate

evicts
type: ObjectProperty
sub property of: counters
sub property of: d3fend-tactical-verb-property
sub property of: may-evict

manages
type: ObjectProperty
definition: x manages y: The technique or agent x watches and directs the use of a digital artifact y.
sub property of: associated-with
alternative label: oversees
alternative label: supervises

runs
type: ObjectProperty
definition: x runs y: To carry out a process or program y, as on a computer or a machine x; where y may be a large software assembly or a specific module or instruction. Examples: "run a new program on the Mac"; "the computer runs the application software".
sub property of: associated-with
sub property of: may-run

Administrative Network Traffic
type: Class
type: NamedIndividual
definition: Administrative network traffic is network traffic related to the remote administration or control of hosts or devices through a standard remote administrative protocol. Remote shells, terminals, RDP, and VNC are examples of these protocols, which are typically only used by administrators.
subclass of: NetworkTraffic

Artifact
type: Class
definition: Artifact
definition: A man-made object taken as a whole.
subclass of: D3FENDCore

Asset Inventory
type: Class
type: NamedIndividual
d3fend-id: D3-AI
definition: Asset inventorying identifies and records the organization's assets and enriches each inventory item with knowledge about their vulnerabilities.
display-order: 1
enables: Model
synonym: Asset Discovery
synonym: Asset Inventorying
subclass of: Restriction
  on property: enables
  some values from: Model
subclass of: DefensiveTechnique

Improper Use of Validation Framework
type: Class
cwe-id: CWE-1173
subclass of: Improper Input Validation

Information Loss or Omission
type: Class
cwe-id: CWE-221
subclass of: CWE-664

Cleartext Storage of Sensitive Information
type: Class
cwe-id: CWE-312
subclass of: Missing Encryption of Sensitive Data
subclass of: Insecure Storage of Sensitive Information

Interpretation Conflict
type: Class
cwe-id: CWE-436
subclass of: Improper Interaction Between Multiple Correctly-Behaving Entities

Externally Controlled Reference to a Resource in Another Sphere
type: Class
cwe-id: CWE-610
subclass of: CWE-664

Incorrect Provision of Specified Functionality
type: Class
cwe-id: CWE-684
subclass of: CWE-710

Use of Low-Level Functionality
type: Class
cwe-id: CWE-695
subclass of: CWE-573

Improper Check for Unusual or Exceptional Conditions
type: Class
cwe-id: CWE-754
subclass of: CWE-703

Central Tendency
type: Class
type: NamedIndividual
d3fend-id: D3A-CT
definition: A measure of central tendency ) is a summary measure that attempts to describe a whole set of data with a single value that represents the middle or centre of its distribution.
kb-article: ## References Australian Bureau of Statistics. (n.d.). Measures of Central Tendency. [Link](https://www.abs.gov.au/statistics/understanding-statistics/statistical-terms-and-concepts/measures-central-tendency) Wikipedia. (n.d.). Central tendency. [Link](https://en.wikipedia.org/wiki/Central_tendency)
subclass of: Descriptive Statistics

Computer Network Node
type: Class
definition: A network node running on a computer platform.
subclass of: Computer Platform
subclass of: NetworkNode

Database Query String Analysis
type: Class
type: NamedIndividual
analyzes: Database Query
d3fend-id: D3-DQSA
definition: Analyzing database queries to detect [SQL Injection](https://capec.mitre.org/data/definitions/66.html).
kb-article: ## How it works Some implementations use software hooks to intercept function calls related to database query operations. Other implementations might intercept or collect network traffic. The database query string is then extracted and analyzed with various methods, for example: * Detecting specific administrative SQL commands * Anomalous sequences of commands when compared to a statistical baseline. * Anomalous commands for a given user role. ## Considerations Some capabilities sanitize queries before permitting them to be transmitted to the database. This incurs risks such altering data in an undesired way or breaking application functionality.
kb-reference: Reference - System and method for internet security - Cylance Inc
subclass of: Restriction
  on property: analyzes
  some values from: Database Query
subclass of: ProcessAnalysis

Decoy Environment
type: Class
type: NamedIndividual
d3fend-id: D3-DE
definition: A Decoy Environment comprises hosts and networks for the purposes of deceiving an attacker.
enables: Deceive
kb-article: ## Technique Overview Systems in a decoy environment are typically configured so that some detectable means of communication does not have any legitimate business purpose. Any communication via these means should be logged and analyzed to find potential indicators of compromise for a possible past or future attack against other systems.
manages: Decoy Artifact
synonym: Honeypot
subclass of: Restriction
  on property: manages
  some values from: Decoy Artifact
subclass of: Restriction
  on property: enables
  some values from: Deceive
subclass of: DefensiveTechnique

Endpoint Sensor
type: Class
type: NamedIndividual
definition: A sensor application installed on a endpoint (platform) to collect information on platform components.
subclass of: Cyber Sensor

IO Port Restriction
type: Class
type: NamedIndividual
d3fend-id: D3-IOPR
definition: Limiting access to computer input/output (IO) ports to restrict unauthorized devices.
filters: Input Device
filters: Removable Media Device
kb-article: ## How It works Software-based restriction uses agent software installed on a computer system. The agent software monitors all IO port system traffic. The agent software is configurable to limit the use of certain devices connected to IO ports. The restriction software can also be configured to limit the access to files and applications on external storage devices connected to IO ports. Hardware-based restriction can also be employed to limit access to IO ports. For example, a hardware USB filter device that is placed between the host system and the external devices can filter IO port connections based on configurable rules. When new devices are connected to the USB filter the type of device is determined. Using an allow list a connection determination is made for the device. Some implementations detect when a device is connected in order to authorize the connection against a list of approved devices, in some cases by device type. For example, if the device is determined to be a storage device, then the contained files and executables are examined to more accurately identify the device type. Types of restrictions that may be applied: - Device connection - Device command filtering - Device file system read or write restrictions ## Considerations * Agent software will need to be installed on host systems * Configurations for allow/deny for devices and files will need to be maintained
kb-reference: Reference - Computer motherboard having peripheral security functions
kb-reference: Reference - Method and system for controlling communication ports
kb-reference: Reference - USB filter for hub malicious code prevention system
subclass of: Restriction
  on property: filters
  some values from: Removable Media Device
subclass of: Restriction
  on property: filters
  some values from: Input Device
subclass of: Execution Isolation

Identifier Analysis
type: Class
type: NamedIndividual
d3fend-id: D3-ID
definition: Analyzing identifier artifacts such as IP address, domain names, or URL(I)s.
enables: Detect
subclass of: Restriction
  on property: enables
  some values from: Detect
subclass of: DefensiveTechnique

Inbound Session Volume Analysis
type: Class
type: NamedIndividual
analyzes: InboundInternetNetworkTraffic
d3fend-id: D3-ISVA
definition: Analyzing inbound network session or connection attempt volume.
kb-article: ## How it works Network appliances are configured to alert on certain packets that typically are involved in DoS attacks. Typical packets include ICMP packets and SYN requests that are commonly used to flood networks. A sampling period is used to define a time window in which collected counts of the identified packets can be measured. If the collected number of packets exceeds a predefined limit then an alert is generated. ## Considerations Scalability as volume of attacks increase; single servers may not have the memory and storage resources to handle high volumes of network traffic.
kb-reference: Reference - Detecting DDoS Attack Using Snort
kb-reference: Reference - Identifying a denial-of-service attack in a cloud-based proxy service - Cloudfare Inc.
kb-reference: Reference - Method and system for UDP flood attack detection - Riorey LLC
kb-reference: Reference - Protecting against distributed denial of service attacks - Cisco Technology Inc.
kb-reference: Reference - Protecting against distributed network flood attacks - Juniper Networks Inc.
subclass of: Restriction
  on property: analyzes
  some values from: InboundInternetNetworkTraffic
subclass of: NetworkTrafficAnalysis

OS API Allocate Memory
type: Class
type: NamedIndividual
invokes: Allocate Memory
subclass of: Restriction
  on property: invokes
  some values from: Allocate Memory
subclass of: OSAPISystemFunction

OS API Create Process
type: Class
type: NamedIndividual
invokes: CreateProcess
subclass of: Restriction
  on property: invokes
  some values from: CreateProcess
subclass of: OSAPISystemFunction

Operating System Configuration Component
type: Class
type: NamedIndividual
definition: An component of the overall information necessary for the configuration of an operating system.
subclass of: Operating System Configuration
alternative label: Operating System Configuration Information
alternative label: System Configuration

Operational Activity Mapping
type: Class
type: NamedIndividual
d3fend-id: D3-OAM
definition: Operational activity mapping identifies activities of the organization and the organization's suborganizations, groups, roles, and individuals that carry out the activities and then establishes the dependencies of the activities on the systems and people that perform those activities.
enables: Model
kb-reference: Reference - Catia UAF Plugin
synonym: Mission Mapping
subclass of: Restriction
  on property: enables
  some values from: Model
subclass of: DefensiveTechnique

Operational Dependency Mapping
type: Class
type: NamedIndividual
d3fend-id: D3-ODM
definition: Operational dependency mapping identifies and models the dependencies of the organization's activities on each other and on the organization's performers (people, systems, and services.) This may include modeling the higher- and lower-level activities of an organization forming a hierarchy, or layering, of the dependencies in an organization's activities.
kb-reference: Reference - Catia UAF Plugin
kb-reference: Reference - Cyber Command System (CYCS)
kb-reference: Reference - Dagger Fact Sheet
kb-reference: Reference - Dagger: Modeling and visualization for mission impact situational awareness
kb-reference: Reference - Mission Dependency Modeling for Cyber Situational Awareness
kb-reference: Reference - Unified Architecture Framework (UAF)
maps: Dependency
maps: Organizational Activity
subclass of: Restriction
  on property: maps
  some values from: Organizational Activity
subclass of: Restriction
  on property: maps
  some values from: Dependency
subclass of: Operational Activity Mapping

Operational Risk Assessment
type: Class
type: NamedIndividual
d3fend-id: D3-ORA
definition: Operational risk assessment identifies and models the vulnerabilities of, and risks to, an organization's activities individually and as a whole.
evaluates: Organization
identifies: Vulnerability
kb-reference: Reference - NIST RMF Quick Start Guide - Assess Step - Frequently Asked Questions (FAQ)
kb-reference: Reference - NIST Special Publication 800-160 Volume 1 - System Security Engineering
kb-reference: Reference - NIST Special Publication 800-37 Revision 2 - Risk Management Framework for Information Systems and Organizations
kb-reference: Reference - NIST Special Publication 800-53A Revision 5 - Assessing Security and Privacy Controls in Information Systems and Organizations
kb-reference: Reference - NISTIR 8011 Volume 1 - Automation Support for Security Control Assessments
synonym: Mission Risk Assessment
subclass of: Restriction
  on property: identifies
  some values from: Vulnerability
subclass of: Restriction
  on property: evaluates
  some values from: Organization
subclass of: Operational Activity Mapping

Peripheral Firmware
type: Class
type: NamedIndividual
definition: Firmware that is installed on computer peripheral devices.
subclass of: Firmware

Process Code Segment Verification
type: Class
type: NamedIndividual
d3fend-id: D3-PCSV
definition: Comparing the "text" or "code" memory segments to a source of truth.
kb-article: ## How it works A process code segment is an executable portion of computer memory allocated to a particular process. Process Code Segment Verification implements verification to compare a process code segment to some expected value. ### Verification logic Verification can occur during application startup, or continuously during execution. The logic which verifies the process code may be separate in a third-party process, embedded in the application itself at compile time, or dynamically linked at runtime. ### System of record Examples of systems of record: * On-disk application binary files or checksums * Remotely stored binary data or checksums * Embedded binary data or checksums ### Post Verification Actions If the verification function determines a process code segment may have been altered, a capability may invoke Eviction techniques as **Process Termination** to end the current process, or **Executable Blacklisting** to prevent the executable from launching in the future. ## Considerations ### False positives False positives commonly occur in the case that the layout of code in the process segment is legitimately modified: * Operating system features or third-party security software may modify the layout of process code, for example in the defensive technique **Segment Address Offset Randomization**, or in the case that a module is rebased. In both of these cases, the alteration occurs before the code is fully loaded into memory, and it would be possible to avoid the false positive by securely feeding this constant offset and any relocation data into the verification logic. * Process code segments may be written to modify themselves or other process code segments; however, this goes against widely-accepted current practices in software development. ### False negatives False negatives can occur via alteration of the verification logic or source of truth, or insufficient verification logic. * Verification techniques which are executed only locally may be defeate…
kb-reference: Reference - Anti-tamper system with self-adjusting guards - ARXAN TECHNOLOGIES Inc
kb-reference: Reference - Guards for application in software tamperproofing - Purdue Research Foundation
kb-reference: Reference - System and method for detecting malware injected into memory of a computing device - Endgame Inc
kb-reference: Reference - System and method for validating in-memory integrity of executable files to identify malicious activity - Endgame Inc
kb-reference: Reference - Tamper proof mutating software - ARXAN TECHNOLOGIES Inc
kb-reference: Reference - Threat detection through the accumulated detection of threat characteristics - Sophos Ltd
verifies: ProcessCodeSegment
subclass of: Restriction
  on property: verifies
  some values from: ProcessCodeSegment
subclass of: ProcessAnalysis

Secondary Storage
type: Class
type: NamedIndividual
definition: Secondary memory (storage, hard disk) is the computer component holding information that does not need to be accessed quickly and that needs to be retained long-term.
subclass of: HardwareDevice
subclass of: Storage

Symbolic Link
type: Class
type: NamedIndividual
addresses: File
definition: A symbolic link (also symlink or soft link) is a term for any file that contains a reference to another file or directory in the form of an absolute or relative path and that affects pathname resolution.
subclass of: Restriction
  on property: addresses
  some values from: File
subclass of: File
subclass of: File System Link
alternative label: Soft Link
alternative label: Softlink
alternative label: Symlink

System Call Filtering
type: Class
type: NamedIndividual
d3fend-id: D3-SCF
definition: Configuring a kernel to use an allow or deny list to filter kernel api calls.
filters: SystemCall
kb-reference: Reference - Overview of the seccomp sandbox
subclass of: Restriction
  on property: filters
  some values from: SystemCall
subclass of: Kernel-based Process Isolation

System File Analysis
type: Class
type: NamedIndividual
analyzes: OperatingSystemFile
d3fend-id: D3-SFA
definition: Monitoring system files such as authentication databases, configuration files, system logs, and system executables for modification or tampering.
kb-article: ## How it works This technique ensures the integrity of system owned file resources. System files can impact the behavior below the user level. ## Considerations * Need to manage the size of log file analysis. * False positives are a concern with this technique and filtering will need to be given additional thought. * A baseline or snapshot of file checksums should be established for future comparison.
kb-reference: Reference - CAR-2019-07-001: Access Permission Modification - MITRE
kb-reference: Reference - CAR-2013-01-002: Autorun Differences - MITRE
kb-reference: Reference - CAR-2016-04-002: User Activity from Clearing Event Logs - MITRE
subclass of: Restriction
  on property: analyzes
  some values from: OperatingSystemFile
subclass of: OperatingSystemMonitoring

System Service Software
type: Class
type: NamedIndividual
contains: OperatingSystemFile
definition: Software services provided as part of the operating system, typically accessed through system calls.
subclass of: Restriction
  on property: contains
  some values from: OperatingSystemFile
subclass of: Software

Scheduled Task/Job
type: Class
type: NamedIndividual
attack-id: T1053
definition: The sub-techniques of this are specific software implementations of scheduling capabilities
executes: Scheduled Job
invokes: CreateProcess
modifies: Job Schedule
subclass of: Restriction
  on property: invokes
  some values from: CreateProcess
subclass of: Restriction
  on property: modifies
  some values from: Job Schedule
subclass of: Restriction
  on property: executes
  some values from: Scheduled Job
subclass of: ExecutionTechnique
subclass of: PersistenceTechnique
subclass of: PrivilegeEscalationTechnique

Obtain Capabilities
type: Class
attack-id: T1588
definition: Adversaries may buy and/or steal capabilities that can be used during targeting. Rather than developing their own capabilities in-house, adversaries may purchase, freely download, or steal them. Activities may include the acquisition of malware, software (including licenses), exploits, certificates, and information relating to vulnerabilities. Adversaries may obtain capabilities to support their operations throughout numerous phases of the adversary lifecycle.
subclass of: Resource Development Technique

User Init Script
type: Class
type: NamedIndividual
definition: A script used to initialize and configure elements of the user's applications and user environment.
subclass of: ExecutableScript
subclass of: Init Script
subclass of: User Logon Init Resource

addresses
type: ObjectProperty
definition: x addresses y: Relates a pointer x to a digital artifact y located in the address space to which x points. The address space is part of some digital store, whether it be in memory, an image, or a persistent storage device.
domain: Identifier
range: Resource
sub property of: associated-with
alternative label: points-to

blocks
type: ObjectProperty
definition: x blocks y: The entity x blocks off the use of digital artifact y by reference to a block or allow list (or both.)
sub property of: counters
sub property of: filters

date
type: DatatypeProperty
definition: A point or period of time associated with an event in the lifecycle of the resource.
range: dateTime
sub property of: d3fend-data-property

inventories
type: ObjectProperty
sub property of: associated-with

may-add
type: ObjectProperty
definition: x may-add y: They entity x may add the thing y; that is, 'x adds y' may be true.
sub property of: may-be-associated-with

may-be-weakness-of
type: ObjectProperty
domain: Weakness
range: Artifact
sub property of: may-be-associated-with
inverse of: may-have-weakness

Application Configuration Hardening
type: Class
type: NamedIndividual
d3fend-id: D3-ACH
definition: Modifying an application's configuration to reduce its attack surface.
hardens: ApplicationConfiguration
kb-article: ## How it works Application configuration settings can be configured to limit the permissions on an application or disable certain vulnerable application features. Hardening an application's configuration involves analyzing not only the application but also the environment in which the application is run in for potential vulnerabilities.
kb-reference: Reference - Windows 10 STIG
subclass of: Restriction
  on property: hardens
  some values from: ApplicationConfiguration
subclass of: Application Hardening

Archive File
type: Class
type: NamedIndividual
definition: An archive file is a file that is composed of one or more computer files along with metadata. Archive files are used to collect multiple data files together into a single file for easier portability and storage, or simply to compress files to use less storage space. Archive files often store directory structures, error detection and correction information, arbitrary comments, and sometimes use built-in encryption.
subclass of: File

Authentication Log
type: Class
type: NamedIndividual
definition: A log of authentication events.
records: Authentication
subclass of: Restriction
  on property: records
  some values from: Authentication
subclass of: Log

Authorization Event Thresholding
type: Class
type: NamedIndividual
analyzes: Authorization
date created: 2020-08-05T00:00:00
d3fend-id: D3-AZET
definition: Collecting authorization events, creating a baseline user profile, and determining whether authorization events are consistent with the baseline profile.
kb-article: ## How it works Authorization event data is collected to create a baseline user profile. Authorization events that deviate from the baseline and exceed a static or dynamic threshold are identified for further action. Authorization events can include successful and failed authorization attempts as well as events related to permissions including viewing, editing, deleting, creating files, databases etc. ## Considerations Depending on the complexity of the data considered, outliers may not be obvious to a human analyst reviewing events in simplistic analytic views. If malicious activity is not statistically different from benign activity, an alert threshold will not be met.
kb-reference: Reference - Method and Apparatus for Network Fraud Detection and Remediation Through Analytics - Idaptive LLC
kb-reference: Reference - CAR-2013-09-003: SMB Session Setups - MITRE
kb-reference: Reference - System, method, and computer program product for detecting and assessing security risks in a network - Exabeam Inc
kb-reference: Reference - CAR-2013-02-012: User Logged in to Multiple Hosts - MITRE
subclass of: Restriction
  on property: analyzes
  some values from: Authorization
subclass of: UserBehaviorAnalysis

Insufficient Encapsulation
type: Class
cwe-id: CWE-1061
subclass of: CWE-710

Improper Privilege Management
type: Class
cwe-id: CWE-269
subclass of: CWE-284

Use of Insufficiently Random Values
type: Class
cwe-id: CWE-330
subclass of: CWE-693

Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
type: Class
type: NamedIndividual
cwe-id: CWE-362
weakness-of: Shared Resource Access Function
subclass of: Restriction
  on property: weakness-of
  some values from: Shared Resource Access Function
subclass of: CWE-691

Files or Directories Accessible to External Parties
type: Class
cwe-id: CWE-552
subclass of: Improper Authorization
subclass of: CWE-668

Incorrect Control Flow Scoping
type: Class
cwe-id: CWE-705
subclass of: CWE-691

Use of Incorrectly-Resolved Name or Reference
type: Class
cwe-id: CWE-706
subclass of: CWE-664

Reliance on Undefined, Unspecified, or Implementation-Defined Behavior
type: Class
cwe-id: CWE-758
subclass of: CWE-710

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
type: Class
type: NamedIndividual
cwe-id: CWE-79
weakness-of: UserInputFunction
subclass of: Restriction
  on property: weakness-of
  some values from: UserInputFunction
subclass of: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')

Cluster Analysis
type: Class
type: NamedIndividual
d3fend-id: D3A-CA
definition: Cluster analysis or clustering is the task of grouping a set of objects in such a way that objects in the same group (called a cluster) are more similar (in some sense) to each other than to those in other groups (clusters).
kb-article: ## References Cluster analysis. (n.d.). Wikipedia. [Link](https://en.wikipedia.org/wiki/Cluster_analysis)
subclass of: Unsupervised Learning

Create File
type: Class
type: NamedIndividual
creates: File
definition: System call to create a new file on a file system. Some operating systems implement this functionality as part of their d3f:OpenFile system call.
subclass of: Restriction
  on property: creates
  some values from: File
subclass of: SystemCall

DNS Lookup
type: Class
type: NamedIndividual
definition: A Domain Name System (DNS) lookup is a record returned from a DNS resolver after querying a DNS name server. Typically considered an A or AAAA record, where a domain name is resolved to an IPv4 or IPv6 address, respectively.
subclass of: Digital Event
subclass of: DigitalInformationBearer

DNS Traffic Analysis
type: Class
type: NamedIndividual
analyzes: OutboundInternetDNSLookupTraffic
d3fend-id: D3-DNSTA
definition: Analysis of domain name metadata, including name and DNS records, to determine whether the domain is likely to resolve to an undesirable host.
kb-article: ## How it works This technique can be accomplished in a number of ways. * One example analytic determines whether or not a domain name was generated with an algorithm. Domain generation algorithms (DGAs) are sometimes used to create a domain name automatically that will resolve to C2 infrastructure, without directly coding the domains in question into the malicious code. * Another method analyzes information about domains that have been visited, including whether a domain name is longer than a common length, if a dynamic DNS domain was visited, if a fast-flux domain was visited, and if a recently created domain was visited. These factors are used to develop a score and if that score is over a certain threshold, an alert is generated. * Collected malware samples can be executed in a virtual environment to identify network domains that are connected to during execution. The network domains are then generated into signatures to identity bad domains for other hosts. This technique does not check for content hosted at the domain. ## Considerations * DNS produces a large amount of traffic which can be resource-intensive to analyze in real time. * If a server is compromised, for example, as part of a watering hole attack, but the DNS information pointing to that server is not altered, this technique would not catch such an incident.
kb-reference: Reference - Heuristic botnet detection - Palo Alto Networks Inc
kb-reference: Reference - Method and system for detecting algorithm-generated domains - VECTRA NETWORKS Inc
kb-reference: Reference - Predicting Domain Generation Algorithms with Long Short-Term Memory Networks
kb-reference: Reference - Sinkholing bad network domains by registering the bad network domains on the internet - Palo Alto Networks Inc
may-contain: DNS Lookup
synonym: Domain Name Analysis
subclass of: Restriction
  on property: may-contain
  some values from: DNS Lookup
subclass of: Restriction
  on property: analyzes
  some values from: OutboundInternetDNSLookupTraffic
subclass of: NetworkTrafficAnalysis

Dependency
type: Class
type: NamedIndividual
definition: A dependency is the relationship of relying on or being controlled by someone or something else. This class reifies dependencies that correspond to the object property depends-on.
dependent: D3FENDCore
provider: D3FENDCore
subclass of: Restriction
  on property: provider
  some values from: D3FENDCore
subclass of: Restriction
  on property: dependent
  some values from: D3FENDCore
subclass of: DigitalInformationBearer

Ensemble Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-EL
definition: In statistics and machine learning, ensemble methods use multiple learning algorithms to obtain better predictive performance than could be obtained from any of the constituent learning algorithms alone
kb-article: ## References Ensemble learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Ensemble_learning).
subclass of: Machine Learning

Harden
type: DefensiveTactic
type: Class
type: NamedIndividual
definition: The harden tactic is used to increase the opportunity cost of computer network exploitation. Hardening differs from Detection in that it generally is conducted before a system is online and operational.
display-order: 0
display-priority: 0
subclass of: DefensiveTactic

Hardware Component Inventory
type: Class
type: NamedIndividual
d3fend-id: D3-HCI
definition: Hardware component inventorying identifies and records the hardware items in the organization's architecture.
inventories: HardwareDevice
kb-article: ## How it works Administrators collect information on hardware devices such as peripherals, NICs, processors, and memory devices that are components of the computers in their architecture using a variety of administrative and management tools that query for this information. In some cases, where such queries are not supported or provide specific information of interest, an administrator may also collect this information through remote adminstration tools and system commands, either manually or using scripts. ## Considerations * Scanning and probing techniques using mapping tools can result in side effects to information technology (IT) and operational technology (OT) systems. * An adversary conducting network enumeration may engage in activities that parallel normal hardware inventorying activities, but would require escalating to admin privileges for most of the operations requiting administrative tools ## Examples * Bus discovery * Admin-scripted PCI Bus inventory using ssh and pciutils * Application-layer discovery * Simple Network Management Protocol (SNMP) collects MIB information * Web-based Enterprise Management (WBEM) collects CIM information * Windows Management Instrumentation (WMI) * Windows Management Infrastructure (MI)
kb-reference: Reference - Advanced device matching system
synonym: Hardware Component Discovery
synonym: Hardware Component Inventorying
subclass of: Restriction
  on property: inventories
  some values from: HardwareDevice
subclass of: Asset Inventory

IPC Traffic Analysis
type: Class
type: NamedIndividual
analyzes: Intranet IPC Network Traffic
d3fend-id: D3-IPCTA
definition: Analyzing standard inter process communication (IPC) protocols to detect deviations from normal protocol activity.
kb-article: ## How it works Inter process communication enables applications or threads to share data. This can involve one or more computers. Monitoring IPC in your environment can reveal abnormal or malicious activity. IPC can occur within a single computer or between multiple computers remotely through network protocols. Thus there are multiple ways to collect and monitor these exchanges between processes. A network protocol analyzer may monitor and parse SMB network traffic to record system activity. A host based monitoring agent may monitor IPC activity contained within a single host to look for deviations from standard usages. ### Examples * SMB * Zeromq * Java RMI API ## Considerations * IPC can generate substantial amounts of data, and it may not be feasible to collect all of it. * IPC may occur over loopback interfaces or direct memory access granted by the operating system.
kb-reference: Reference - CAR-2015-04-001: Remotely Scheduled Tasks via AT - MITRE
kb-reference: Reference - CAR-2013-05-005: SMB Copy and Execution - MITRE
kb-reference: Reference - CAR-2013-01-003: SMB Events Monitoring - MITRE
kb-reference: Reference - CAR-2013-09-003: SMB Session Setups - MITRE
kb-reference: Reference - CAR-2014-03-001: SMB Write Request - NamedPipes - MITRE
kb-reference: Reference - CAR-2013-05-003: SMB Write Request - MITRE
kb-reference: Reference - Security System with Methodology for Interprocess Communication Control - Check Point Software Tech Inc
synonym: IPC Analysis
subclass of: Restriction
  on property: analyzes
  some values from: Intranet IPC Network Traffic
subclass of: NetworkTrafficAnalysis

Input Device
type: Class
type: NamedIndividual
definition: In computing, an input device is a piece of equipment used to provide data and control signals to an information processing system such as a computer or information appliance. Examples of input devices include keyboards, mouse, scanners, digital cameras, joysticks, and microphones. Input devices can be categorized based on:
subclass of: HardwareDevice
subclass of: Local Resource

Kernel-based Process Isolation
type: Class
type: NamedIndividual
d3fend-id: D3-KBPI
definition: Using kernel-level capabilities to isolate processes.
kb-reference: Reference - Overview of the seccomp sandbox
subclass of: Execution Isolation

Local Resource
type: Class
type: NamedIndividual
definition: In computing, a system resource, or simply resource, is any physical or virtual component of limited availability within a computer system. Every device connected to a computer system is a resource. Every internal system component is a resource. Virtual system resources include files (concretely file handles), network connections (concretely network sockets), and memory areas. Managing resources is referred to as resource management, and includes both preventing resource leaks (releasing a resource when a process has finished using it) and dealing with resource contention (when multiple processes wish to access a limited resource).
subclass of: Resource
alternative label: System Resource

Log
type: Class
type: NamedIndividual
definition: A record of events in the order of their occurrence.
subclass of: D3FENDCore
subclass of: DigitalInformationBearer
alternative label: Chronology

Machine Learning
type: Class
type: NamedIndividual
d3fend-id: D3A-ML
definition: Machine learning techniques are computational methods that combine statistics, probability, and optimization to make accurate predictions and/or improve performance.
kb-article: ## References Machine learning." Wikipedia. [Link](https://en.wikipedia.org/wiki/Machine_learning).
subclass of: Analytic Technique

Model
type: DefensiveTactic
type: Class
type: NamedIndividual
definition: The model tactic is used to apply security engineering, vulnerability, threat, and risk analyses to digital systems. This is accomplished by creating and maintaining a common understanding of the systems being defended, the operations on those systems, actors using the systems, and the relationships and interactions between these elements.
display-order: -1
display-priority: 1
subclass of: DefensiveTactic

Network
type: Class
type: NamedIndividual
definition: A network is a group of computers that use a set of common communication protocols over digital interconnections for the purpose of sharing resources located on or provided by the network nodes. The interconnections between nodes are formed from a broad spectrum of telecommunication network technologies, based on physically wired, optical, and wireless radio-frequency methods that may be arranged in a variety of network topologies.
subclass of: DigitalInformationBearer
alternative label: Computer Network

Operating System Process
type: Class
type: NamedIndividual
definition: An operating system process, or system process, is a process running to perform operating system functions.
subclass of: Process
alternative label: System Process

Partition Table
type: Class
type: NamedIndividual
addresses: Partition
definition: A partition is a fixed-size subset of a storage device which is treated as a unit by the operating system. A partition table is a table maintained on the storage device by the operating system describing the partitions on that device. The terms partition table and partition map are most commonly associated with the MBR partition table of a Master Boot Record (MBR) in IBM PC compatibles, but it may be used generically to refer to other "formats" that divide a disk drive into partitions, such as: GUID Partition Table (GPT), Apple partition map (APM), or BSD disklabel.
may-contain: Boot Record
subclass of: Restriction
  on property: addresses
  some values from: Partition
subclass of: Restriction
  on property: may-contain
  some values from: Boot Record
subclass of: DigitalInformationBearer

Process Termination
type: Class
type: NamedIndividual
d3fend-id: D3-PT
definition: Terminating a running application process on a computer system.
kb-article: ## How it works Processes are managed by the operating system kernel. Different operating system kernels manage the creation and termination of processes in a different manner, and expose this functionality via the kernel API. A running process might be terminated to mitigate its immediate effects if it is exhibiting anomalous, unauthorized, or malicious behavior; such as after detecting anomalous behavior via Administrative Network Activity Analysis, after a failed check from Stack Frame Canary Validation, or after System Call Analysis finds an attempt to execute an unauthorized system call. ### Proprietary technology Security software might use proprietary technology to terminate processes, instead of the system-provided functions. Further research may provide specific detail on such methods used. ### System-provided functions #### Windows tools In Windows, `ExitProcess()` is used to send a signal to a process to request it to exit, and `TerminateProcess()` is used to force a process to exit. The `taskkill` executable available in the cmd shell is used to kill a process, with the `/F` switch forcing termination as with `TerminateProcess()`. In PowerShell, `Stop-Process` is used, which is aliased by default to `spps` and `kill`. Processes started in the Windows Subsystem for Linux (WSL) environment may be terminated there with the `kill` command. In some cases, existing drivers can also be leveraged to kill processes. #### Unix/Linux tools In Unix-like systems, all process termination requests are handled using signals. The `kill` function takes the Process ID and signal to send, and is accessible with the `kill` command. Some shells have a `kill` builtin function which is separate than the `kill` binary, which can also kill background jobs in the shell and additionally perform the function faster, and can run from an existing instance of the shell if the process table is full. The signal SIGTERM specifies that the process to terminate may invoke a handler that it …
kb-reference: Reference - Instant process termination tool to recover control of an information handling system - Dell Products LP
kb-reference: Reference - Malware detection using local computational models - Crowdstrike Inc
terminates: Process
subclass of: Restriction
  on property: terminates
  some values from: Process
subclass of: Process Eviction

Resource Development Technique
type: Class
type: NamedIndividual
enables: Resource Development
subclass of: Restriction
  on property: enables
  some values from: Resource Development
subclass of: ATTACKEnterpriseTechnique
subclass of: OffensiveTechnique

Storage
type: Class
type: NamedIndividual
definition: Computer data storage, often called storage or memory, is a technology consisting of computer components and recording media used to retain digital data. It is a core function and fundamental component of computers. In the Von Neumann architecture, the CPU consists of two main parts: The control unit and the arithmetic / logic unit (ALU). The former controls the flow of data between the CPU and memory, while the latter performs arithmetic and logical operations on data.
may-contain: File System
synonym: Computer data storage
synonym: Storage
subclass of: Restriction
  on property: may-contain
  some values from: File System
subclass of: DigitalInformationBearer

Symbolic AI
type: Class
type: NamedIndividual
d3fend-id: D3A-SR
definition: Symbolic artificial intelligence is the term for the collection of all methods in artificial intelligence that are based on high-level symbolic (human-readable) representations of problems, logic, and search.
kb-article: ## How it works Symbolic artificial intelligence is used in tools such as logic programming, production rules, semantic nets and frames, and it developed applications such as knowledge-based systems (in particular, expert systems), symbolic mathematics, automated theorem provers, ontologies, the semantic web, and automated planning and scheduling systems. The Symbolic AI paradigm led to seminal ideas in search, symbolic programming languages, agents, multi-agent systems, the semantic web, and the strengths and limitations of formal knowledge and reasoning systems. ## References 1. Symbolic artifical intelligence. (2023, May 23). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)
synonym: Symbolic Artificial Intelligence
subclass of: Symbolic Logic

OS Credential Dumping
type: Class
attack-id: T1003
definition: Adversaries may attempt to dump credentials to obtain account login and credential material, normally in the form of a hash or a clear text password. Credentials can be obtained from OS caches, memory, or structures.(Citation: Brining MimiKatz to Unix) Credentials can then be used to perform [Lateral Movement](https://attack.mitre.org/tactics/TA0008) and access restricted information.
subclass of: CredentialAccessTechnique

Remote Services
type: Class
type: NamedIndividual
attack-id: T1021
definition: Adversaries may use [Valid Accounts](https://attack.mitre.org/techniques/T1078) to log into a service that accepts remote connections, such as telnet, SSH, and VNC. The adversary may then perform actions as the logged-on user.
produces: IntranetNetworkTraffic
subclass of: Restriction
  on property: produces
  some values from: IntranetNetworkTraffic
subclass of: LateralMovementTechnique

Unsecured Credentials
type: Class
type: NamedIndividual
accesses: Credential
attack-id: T1552
definition: Adversaries may search compromised systems to find and obtain insecurely stored credentials. These credentials can be stored and/or misplaced in many locations on a system, including plaintext files (e.g. [Bash History](https://attack.mitre.org/techniques/T1552/003)), operating system or application-specific repositories (e.g. [Credentials in Registry](https://attack.mitre.org/techniques/T1552/002)), or other specialized files/artifacts (e.g. [Private Keys](https://attack.mitre.org/techniques/T1552/004)).(Citation: Brining MimiKatz to Unix)
subclass of: Restriction
  on property: accesses
  some values from: Credential
subclass of: CredentialAccessTechnique

Acquire Infrastructure
type: Class
attack-id: T1583
definition: Adversaries may buy, lease, rent, or obtain infrastructure that can be used during targeting. A wide variety of infrastructure exists for hosting and orchestrating adversary operations. Infrastructure solutions include physical or cloud servers, domains, and third-party web services.(Citation: TrendmicroHideoutsLease) Some infrastructure providers offer free trial periods, enabling infrastructure acquisition at limited to no cost.(Citation: Free Trial PurpleUrchin) Additionally, botnets are available for rent or purchase.
subclass of: Resource Development Technique

Compromise Infrastructure
type: Class
attack-id: T1584
definition: Adversaries may compromise third-party infrastructure that can be used during targeting. Infrastructure solutions include physical or cloud servers, domains, network devices, and third-party web and DNS services. Instead of buying, leasing, or renting infrastructure an adversary may compromise infrastructure and use it during other phases of the adversary lifecycle.(Citation: Mandiant APT1)(Citation: ICANNDomainNameHijacking)(Citation: Talos DNSpionage Nov 2018)(Citation: FireEye EPS Awakens Part 2) Additionally, adversaries may compromise numerous machines to form a botnet they can leverage.
subclass of: Resource Development Technique

User
type: Class
type: NamedIndividual
definition: A user is a person [or agent] who uses a computer or network service. Users generally use a system or a software product without the technical expertise required to fully understand it. Power users use advanced features of programs, though they are not necessarily capable of computer programming and system administration. A user often has a user account and is identified to the system by a username (or user name). Other terms for username include login name, screenname (or screen name), nickname (or nick) and handle, which is derived from the identical Citizen's Band radio term. Some software products provide services to other systems and have no direct end users.
has-account: UserAccount
restricted-by: Access Control List
subclass of: Restriction
  on property: has-account
  some values from: UserAccount
subclass of: Restriction
  on property: restricted-by
  some values from: Access Control List
subclass of: DigitalInformationBearer

semantic-relation
type: ObjectProperty
sub property of: associated-with

spoofs
type: ObjectProperty
definition: x spoofs y: The technique x creates a fake instance of a digital artifact y; that is, y is a decoy, fake, or counterfeit.
sub property of: associated-with
sub property of: deceives-with

Agent
type: Class
type: NamedIndividual
subclass of: D3FENDCore

Authentication Event Thresholding
type: Class
type: NamedIndividual
analyzes: Authentication
date created: 2020-08-05T00:00:00
d3fend-id: D3-ANET
definition: Collecting authentication events, creating a baseline user profile, and determining whether authentication events are consistent with the baseline profile.
kb-article: ## How it works Authentication event data is collected (logon information such as device id, time of day, day of week, geo-location, etc.) to create an activity baseline. Then, a threshold is determined either through a manually specified configuration, or a statistical analysis of deviations in historical data. New authentication events are evaluated to determine if a threshold is exceeded. Thresholds can be static or dynamic. ### Actions As a result of the analysis, actions taken could include: * [Account Locking](/technique/d3f:AccountLocking) * Raising an alert ### Example data sources * Directory server logs * VPN Server logs * IDAM Capability logs * NAC logs * Authentication client logs * Kerberos network traffic * LDAP network traffic ## Considerations This technique covers statistical outliers. Though depending on the complexity or dimensionality of the data considered, outliers may not be obvious to a human analyst reviewing events in simplistic analytic views. If the malicious activity is not statistically different from benign activity, an alert threshold will not be met.
kb-reference: Reference - Method and Apparatus for Network Fraud Detection and Remediation Through Analytics - Idaptive LLC
kb-reference: Reference - CAR-2013-02-008: Simultaneous Logins on a Host - MITRE
kb-reference: Reference - System, method, and computer program product for detecting and assessing security risks in a network - Exabeam Inc
kb-reference: Reference - CAR-2013-02-012: User Logged in to Multiple Hosts - MITRE
kb-reference: Reference - CAR-2013-10-001: User Login Activity Monitoring - MITRE
subclass of: Restriction
  on property: analyzes
  some values from: Authentication
subclass of: UserBehaviorAnalysis

Improper Input Validation
type: Class
type: NamedIndividual
cwe-id: CWE-20
weakness-of: UserInputFunction
subclass of: Restriction
  on property: weakness-of
  some values from: UserInputFunction
subclass of: Improper Neutralization

Incorrect Comparison
type: Class
cwe-id: CWE-697
subclass of: Weakness

Improper Neutralization
type: Class
cwe-id: CWE-707
subclass of: Weakness

Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')
type: Class
cwe-id: CWE-74
subclass of: Improper Neutralization

Improper Restriction of Communication Channel to Intended Endpoints
type: Class
cwe-id: CWE-923
subclass of: CWE-284

Database
type: Class
type: NamedIndividual
definition: A database is an organized collection of data, generally stored and accessed electronically from a computer system. Where databases are more complex they are often developed using formal design and modeling techniques.
subclass of: DigitalInformationBearer

Domain User Account
type: Class
type: NamedIndividual
definition: A domain user account in Microsoft Windows (2000) defines that user's access to a logical group of network objects (computers, users, devices) that share the same Active Directory databases; that is, a user's access to a domain.
subclass of: UserAccount

Dynamic Analysis
type: Class
type: NamedIndividual
analyzes: DocumentFile
analyzes: ExecutableFile
d3fend-id: D3-DA
definition: Executing or opening a file in a synthetic "sandbox" environment to determine if the file is a malicious program or if the file exploits another program such as a document reader.
kb-article: ## How it works Analyzing the interaction of a piece of code with a system while the code is being executed in a controlled environment such as a sandbox, virtual machine, or simulator. This exposes the natural behavior of the piece of code without requiring the code to be disassembled. ## Considerations * Malware often detects a fake environment, then changes its behavior accordingly. For example, it could detect that the system clock is being sped up in an effort to get it to execute commands that it would normally only execute at a later time, or that the hardware manufacturer of the machine is a virtualization provider. * Malware can attempt to determine if it is being debugged, and change its behavior accordingly. * For maximum fidelity, the simulated and real environments should be as similar as possible because the malware could perform differently in different environments. * Sometimes the malware behavior is triggered only under certain conditions (on a specific system date, after a certain time, or after it is sent a specific command) and can't be detected through a short execution in a virtual environment. ## Implementations * [Cuckoo Sandbox](https://cuckoosandbox.org)
kb-reference: Reference - Malware analysis system - Palo Alto Networks Inc
kb-reference: Reference - Use of an application controller to monitor and control software file and application environments - Sophos Ltd
synonym: Malware Detonation
synonym: Malware Sandbox
subclass of: Restriction
  on property: analyzes
  some values from: DocumentFile
subclass of: Restriction
  on property: analyzes
  some values from: ExecutableFile
subclass of: FileAnalysis

Encrypted Credential
type: Class
type: NamedIndividual
definition: A credential that is encrypted.
subclass of: Credential

Hardware Driver
type: Class
type: NamedIndividual
definition: In computing, a device driver (commonly referred to simply as a driver) is a computer program that operates or controls a particular type of device that is attached to a computer. A driver provides a software interface to hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details of the hardware being used. A driver communicates with the device through the computer bus or communications subsystem to which the hardware connects. When a calling program invokes a routine in the driver, the driver issues commands to the device. Once the device sends data back to the driver, the driver may invoke routines in the original calling program. Drivers are hardware dependent and operating-system-specific. They usually provide the interrupt handling required for any necessary asynchronous time-dependent hardware interface.
drives: HardwareDevice
subclass of: Restriction
  on property: drives
  some values from: HardwareDevice
subclass of: DigitalInformationBearer
alternative label: Device Driver

One-time Password
type: Class
type: NamedIndividual
authenticates: UserAccount
d3fend-id: D3-OTP
definition: A one-time password is valid for only one user authentication.
kb-article: ## How it works When a user initiates authentication, they are asked for a one-time password, often in addition to other credentials such as a traditional password or smart card. The one-time password may be from a list provided in advance, sent via a channel such as SMS or HTTPS to an app, or a generated token. In the case of a physical token which generates one-time passwords incrementally based on time elapsed, that token device need not be connected to the internet. In different implementations, an administrator of the system, or a user with additional verification, can adjust for clock skew between the token and the verification system as needed. ## Considerations ### Compromise of delivery channel - SIM Swapping - Secure token visual compromise - Insecure delivery channel ### Compromise of delivery device Physical loss of One-time Password device. ### Compromise of long-term backup codes These are often provided in the form of a downloadable document with a regular name, which can be searched for in the case that the user forgets where they put them. This digital file or printed document could be stolen. Additionally, after the code file is printed, it could be recovered from the system printer spool unless the spooler cache is cleared.
kb-reference: Reference - RFC 2289 - A One-Time Password System
synonym: OTP
use-limits: Password
subclass of: Restriction
  on property: authenticates
  some values from: UserAccount
subclass of: Restriction
  on property: use-limits
  some values from: Password
subclass of: CredentialHardening

Pointer
type: Class
type: NamedIndividual
definition: In computer science, a pointer is a programming language object, whose value refers to (or "points to") another value stored elsewhere in the computer memory using its memory address. A pointer references a location in memory, and obtaining the value stored at that location is known as dereferencing the pointer. As an analogy, a page number in a book's index could be considered a pointer to the corresponding page; dereferencing such a pointer would be done by flipping to the page with the given page number.
subclass of: Digital Information

Pointer Authentication
type: Class
type: NamedIndividual
authenticates: Pointer
d3fend-id: D3-PAN
definition: Comparing the cryptographic hash or derivative of a pointer's value to an expected value.
kb-article: ## How It Works Pointer Authentication (frequently referred to as PAC, although the technique is properly Pointer Authentication) is a security feature to provide protection against attackers with memory read/write access. A Pointer Authentication Code (PAC) is a cryptographic hash or derivative computed on the value of a pointer and some additional context information which can then provide a cryptographically strong guarantee about the likelihood that a pointer has been tampered with by an attacker. Although pointers are 64 bits, most systems have a substantially smaller virtual address space, leaving unused bits in pointers that can store the value of the PAC, this can be done to reduce memory space requirements. One implementation is in ARMv8.3-A. A PAC is computed over the 64-bit pointer value and a 64-bit context value. Instructions are introduced to deal with pointers: one category to compute and insert the PAC into a pointer, another category to verify the pointer and invalidate the pointer if the PAC does not check, and a third category to remove the pointer and restore the original value without verifying. The ARM standard specifies a cryptographic algorithm called QARMA-64 (designed by Qualcomm) to compute the signature, although this algorithm is not required. The architecture provides for five secret 128-bit Pointer Authentication keys: two for instruction pointers, two for data pointers, and a general key for signing larger blocks of data. ## Considerations In the ARM implementation, the mechanisms above for manipulating PACS are provided, but it is up to the code developer to manage the keys for the cryptographic algorithm. A known potential limitation of PACs concerns signing gadgets. Under certain circumstances PACs can be bypassed by forcing the system to run a signing gadget which will allow the signing of arbitrary pointers to occur.
kb-reference: Reference - Pointer Authentication on ARMv8.3
kb-reference: Reference - Pointer Authentication Project Zero
subclass of: Restriction
  on property: authenticates
  some values from: Pointer
subclass of: Application Hardening

RPC Traffic Analysis
type: Class
type: NamedIndividual
analyzes: RPC Network Traffic
d3fend-id: D3-RTA
definition: Monitoring the activity of remote procedure calls in communication traffic to establish standard protocol operations and potential attacker activities.
kb-article: ## How it works A remote procedure call (RPC) enables one computer to execute a specific function on another computer, as if it were a local application process. There are numerous RPC specifications and implementations. RPC capabilities can be abused by attackers in order to achieve a variety of tactical objectives including execution, persistence, initial access, and more. RPC proxies may be used to collect and store RPC traffic. RPCs can occur over network sockets or named pipes. Analytics look for unauthorized behavior such as: * Processes being launched or scheduled remotely * System configurations being changed remotely * Unauthorized file read activity Example RPC Protocols: * DCE/RPC * CORBA * Open Network Computing Remote Procedure Call * D-Bus * XML-RPC * JSON-RPC * SOAP * Apache Thrift ## Considerations * RPC is widely used in enterprise environments, and significant data filtering may be required in large environments to enable analytic processing. * RPC traffic may occur over a pipe, or within a host over loopback interface, thus making network collection difficult.
kb-reference: Reference - CAR-2014-05-001: RPC Activity - MITRE
kb-reference: Reference - CAR-2014-11-007: Remote Windows Management Instrumentation (WMI) over RPC - MITRE
kb-reference: Reference - CAR-2016-03-002: Create Remote Process via WMIC - MITRE
kb-reference: Reference - RPC call interception - Crowdstrike Inc
kb-reference: Reference - CAR-2014-03-005: Remotely Launched Executables via Services - MITRE
kb-reference: Reference - CAR-2014-12-001: Remotely Launched Executables via WMI - MITRE
kb-reference: Reference - CAR-2015-04-002: Remotely Scheduled Tasks via Schtasks - MITRE
kb-reference: Reference - CAR-2014-03-001: SMB Write Request - NamedPipes - MITRE
synonym: RPC Protocol Analysis
subclass of: Restriction
  on property: analyzes
  some values from: RPC Network Traffic
subclass of: NetworkTrafficAnalysis

Resource Access Pattern Analysis
type: Class
type: NamedIndividual
analyzes: Authentication
analyzes: Authorization
d3fend-id: D3-RAPA
definition: Analyzing the resources accessed by a user to identify unauthorized activity.
kb-article: ## How it works This technique analyzes a user's resource accesses by comparing the user's recent activity against a baseline activity model. Major differences between the current activity and the baseline model might indicate unauthorized activity if they are severe enough. ## Considerations * Potential for false positives from anomalies that are not associated with malicious activity. * Attackers that move low and slow may not differentiate their resource access activity behavior enough to trigger an alert.
kb-reference: Reference - Host intrusion prevention system using software and user behavior analysis - Sophos Ltd
kb-reference: Reference - Method and Apparatus for Network Fraud Detection and Remediation Through Analytics - Idaptive LLC
kb-reference: Reference - Modeling user access to computer resources - Daedalus Group LLC (formerly IBM)
kb-reference: Reference - System, method, and computer program product for detecting and assessing security risks in a network - Exabeam Inc
kb-reference: Reference - System and method thereof for identifying and responding to security incidents based on preemptive forensics - Palo Alto Networks Inc
subclass of: Restriction
  on property: analyzes
  some values from: Authorization
subclass of: Restriction
  on property: analyzes
  some values from: Authentication
subclass of: UserBehaviorAnalysis

System Daemon Monitoring
type: Class
type: NamedIndividual
d3fend-id: D3-SDM
definition: Tracking changes to the state or configuration of critical system level processes.
kb-article: ## How it works Attackers may manipulate system settings or services to disable system logging or monitoring of security tools and events. Firewall and antivirus services are popular targets for attackers. Disabling system logs will also allow an attacker's actions to go unnoticed. Analysis of logs, registries, and process monitoring help defenders locate signs of tampering. Two possible approaches are to monitor hardened system services or to monitor registry updates for modifications to security settings.
kb-reference: Reference - Host intrusion prevention system using software and user behavior analysis - Sophos Ltd
kb-reference: Reference - Method using kernel mode assistance for the detection and removal of threats which are actively preventing detection and removal from a running system - Symantec Corporation
kb-reference: Reference - CAR-2016-04-003: User Activity from Stopping Windows Defensive Services - MITRE
monitors: Operating System Process
subclass of: Restriction
  on property: monitors
  some values from: Operating System Process
subclass of: OperatingSystemMonitoring

Masquerading
type: Class
attack-id: T1036
definition: Adversaries may attempt to manipulate features of their artifacts to make them appear legitimate or benign to users and/or security tools. Masquerading occurs when the name or location of an object, legitimate or malicious, is manipulated or abused for the sake of evading defenses and observation. This may include manipulating file metadata, tricking users into misidentifying the file type, and giving legitimate task or service names.
subclass of: DefenseEvasionTechnique

Indicator Removal
type: Class
attack-id: T1070
definition: Adversaries may delete or modify artifacts generated within systems to remove evidence of their presence or hinder defenses. Various artifacts may be created by an adversary or something that can be attributed to an adversary’s actions. Typically these artifacts are used as defensive indicators related to monitored events, such as strings from downloaded files, logs that are generated from user actions, and other data analyzed by defenders. Location, format, and type of artifact (such as command or login history) are often specific to each platform.
subclass of: DefenseEvasionTechnique

Modify Authentication Process
type: Class
type: NamedIndividual
attack-id: T1556
definition: Adversaries may modify authentication mechanisms and processes to access user credentials or enable otherwise unwarranted access to accounts. The authentication process is handled by mechanisms, such as the Local Security Authentication Server (LSASS) process and the Security Accounts Manager (SAM) on Windows, pluggable authentication modules (PAM) on Unix-based systems, and authorization plugins on MacOS systems, responsible for gathering, storing, and validating credentials. By modifying an authentication process, an adversary may be able to authenticate to a service or system without using [Valid Accounts](https://attack.mitre.org/techniques/T1078).
modifies: AuthenticationService
subclass of: Restriction
  on property: modifies
  some values from: AuthenticationService
subclass of: CredentialAccessTechnique
subclass of: DefenseEvasionTechnique

d3fend-annotation
type: AnnotationProperty
definition: x d3fend-annotation y: The d3fend object x has the annotation y.
sub property of: versionInfo

filters
type: ObjectProperty
definition: x filters y: An technique or agent x removes some specified set of of entities from the content of a digital artifact y, by passing an artifact's content through a filter. A filter is a device that removes something from whatever passes through it.
sub property of: associated-with
sub property of: isolates

identifies
type: ObjectProperty
sub property of: associated-with

restores
type: ObjectProperty
sub property of: associated-with

uses
type: ObjectProperty
definition: x uses y: An entity x puts into service a resource or implement y; makes y work or employ for a particular purpose or for its inherent or natural purpose.
sub property of: associated-with

Boot Sector
type: Class
type: NamedIndividual
definition: A boot record [boot sector] is the sector of a persistent data storage device (e.g., hard disk, floppy disk, optical disc, etc.) which contains machine code to be loaded into random-access memory (RAM) and then executed by a computer system's built-in firmware (e.g., the BIOS, Das U-Boot, etc.).
subclass of: Boot Record

Insufficient Adherence to Expected Conventions
type: Class
cwe-id: CWE-1076
subclass of: CWE-710

Improper Authorization
type: Class
cwe-id: CWE-285
subclass of: CWE-284

Improper Initialization
type: Class
cwe-id: CWE-665
subclass of: CWE-664

Improper Handling of Exceptional Conditions
type: Class
cwe-id: CWE-755
subclass of: CWE-703

Capability Implementation
type: Class
subclass of: Restriction
  on property: version
  some values from: string
subclass of: Restriction
  on property: features
  some values from: Capability Feature
subclass of: Restriction
  on property: assessed-by
  some values from: Capability Assessment
subclass of: Restriction
  on property: operating-system
  some values from: string
subclass of: D3FEND Catalog Thing

Decoy Object
type: Class
type: NamedIndividual
d3fend-id: D3-DO
definition: A Decoy Object is created and deployed for the purposes of deceiving attackers.
enables: Deceive
kb-article: ## Technique Overview Decoy objects are typically configured with detectable means of communication but do not have any legitimate business purpose. Any communication via or to these objects should be logged and analyzed to find potential indicators of compromise for a possible past or future attack against other systems.
synonym: Lure
subclass of: Restriction
  on property: enables
  some values from: Deceive
subclass of: DefensiveTechnique

Domain Name
type: Class
type: NamedIndividual
definition: A domain name is an identification string that defines a realm of administrative autonomy, authority or control within the Internet. Domain names are formed by the rules and procedures of the Domain Name System (DNS). Any name registered in the DNS is a domain name.Domain names are used in various networking contexts and application-specific naming and addressing purposes. In general, a domain name represents an Internet Protocol (IP) resource, such as a personal computer used to access the Internet, a server computer hosting a web site, or the web site itself or any other service communicated via the Internet. In 2015, 294 million domain names had been registered.
identifies: IP Address
subclass of: Restriction
  on property: identifies
  some values from: IP Address
subclass of: Identifier

Host
type: Class
type: NamedIndividual
contains: Application
definition: A host is a computer or other device, typically connected to a computer network. A network host may offer information resources, services, and applications to users or other nodes on the network. A network host is a network node that is assigned a network layer host address. Network hosts that participate in applications that use the client-server model of computing, are classified as server or client systems. Network hosts may also function as nodes in peer-to-peer applications, in which all nodes share and consume resources in an equipotent manner.
subclass of: Restriction
  on property: contains
  some values from: Application
subclass of: Computer Network Node
alternative label: Network Host

Job Schedule
type: Class
type: NamedIndividual
contains: Scheduled Job
definition: A job schedule contains specification of tasks to be executed at particular times or time intervals. The schedule is a plan that enacted by a task scheduling process. In Windows, the schedule can be accessed at 'C:\Windows\System32\Tasks' or in the registry. In Linux, the schedule is located at '/etc/crontab'
modified-by: Job Scheduler Software
synonym: Task Schedule
subclass of: Restriction
  on property: contains
  some values from: Scheduled Job
subclass of: Restriction
  on property: modified-by
  some values from: Job Scheduler Software
subclass of: Digital Information

Kernel Module
type: Class
type: NamedIndividual
definition: A loadable kernel module (LKM) is an object file that contains code to extend the running kernel, or so-called base kernel, of an operating system. LKMs are typically used to add support for new hardware (as device drivers) and/or filesystems, or for adding system calls. When the functionality provided by a LKM is no longer required, it can be unloaded in order to free memory and other resources. Most current Unix-like systems and Microsoft Windows support loadable kernel modules, although they might use a different name for them, such as kernel loadable module (kld) in FreeBSD, kernel extension (kext) in macOS,[1] kernel extension module in AIX, kernel-mode driver in Windows NT[2] and downloadable kernel module (DKM) in VxWorks. They are also known as kernel loadable modules (or KLM), and simply as kernel modules (KMOD).
subclass of: Object File
alternative label: LKM
alternative label: Loadable Kernel Module

OS API Create File
type: Class
type: NamedIndividual
invokes: Create File
subclass of: Restriction
  on property: invokes
  some values from: Create File
subclass of: OSAPISystemFunction

Reconnaissance Technique
type: Class
type: NamedIndividual
enables: Reconnaissance
subclass of: Restriction
  on property: enables
  some values from: Reconnaissance
subclass of: ATTACKEnterpriseTechnique
subclass of: OffensiveTechnique

Removable Media Device
type: Class
type: NamedIndividual
definition: A removable media device is a hardware device used for computer storage and that is designed to be inserted and removed from the system. It is distinct from other removable media in that all the hardware required to read the data are built into the device. So USB flash drives and external hard drives are removable media devices, whereas tapes and disks are not, as they require additional hardware to perform read/write operations.
subclass of: HardwareDevice

System Call Analysis
type: Class
type: NamedIndividual
analyzes: SystemCall
d3fend-id: D3-SCA
definition: Analyzing system calls to determine whether a process is exhibiting unauthorized behavior.
kb-article: ## How it works System calls are APIs between a user application and the operating system [1]. By analyzing a process's use of these APIs, it is, in some cases, possible to ascertain whether a program is exhibiting unauthorized behavior, including trying to escalate its privileges. ### Gathering System Calls A common method to capture system calls is to use kernel APIs to hook [2] a process's system call invocations. The Linux system call `ptrace` tracks other system calls in a process and allows their alteration; this is made use of by GDB. `strace` utilizes `ptrace` and will print to stdout each system call invoked. Other applications record this data in local or remote databases. The log entry for each system call, which may reference additional information such as the date and time, and the process tree for the process which made the system call, is relayed, in real time or post-facto, to an analysis module which consults a catalog or model to determine whether the distribution matches a known-good or known-bad pattern. ### Analysis System calls are analyzed with a variety of methods. Some analytics look for specific sequences of instructions, others may apply statistical methods to identify abnormal behavior. Sequences of instructions can be abstracted into conceptually higher order user activities, for example: * An attacker executes many system calls in a short period of time, with several sequences which could be used to escalate privileges. * Getting the contents from a URL, writing to a new file, and then executing the same file. * A ransomware program which either uses a loop or creates many threads to: read a specified file, encrypt its contents, create an output file with a similar name to the original file, and delete the unencrypted original. ## Considerations * Duplicative or extraneous system calls may be added to malware to defeat analytics. * Malware could replace API hooking instructions to allow system calls to be made without being monitored. *…
kb-reference: Reference - CAR-2020-05-001: MiniDump of LSASS - MITRE
kb-reference: Reference - CAR-2021-05-011: Create Remote Thread into LSASS - MITRE
kb-reference: Reference - CAR-2019-08-001: Credential Dumping via Windows Task Manager - MITRE
kb-reference: Reference - CAR-2013-10-002: DLL Injection via Load Library - MITRE
kb-reference: Reference - Hardware-assisted system and method for detecting and analyzing system calls made to an operting system kernel - Endgame Inc
kb-reference: Reference - Malware detection in event loops - Crowdstrike Inc
subclass of: Restriction
  on property: analyzes
  some values from: SystemCall
subclass of: ProcessAnalysis

Command and Scripting Interpreter
type: Class
type: NamedIndividual
attack-id: T1059
definition: Adversaries may abuse command and script interpreters to execute commands, scripts, or binaries. These interfaces and languages provide ways of interacting with computer systems and are a common feature across many different platforms. Most systems come with some built-in command-line interface and scripting capabilities, for example, macOS and Linux distributions include some flavor of [Unix Shell](https://attack.mitre.org/techniques/T1059/004) while Windows installations include the [Windows Command Shell](https://attack.mitre.org/techniques/T1059/003) and [PowerShell](https://attack.mitre.org/techniques/T1059/001).
executes: ExecutableScript
subclass of: Restriction
  on property: executes
  some values from: ExecutableScript
subclass of: ExecutionTechnique

Windows Registry Key
type: Class
type: NamedIndividual
definition: Windows Registry Keys are container objects similar to folders that contain subkeys and/or data entries called values. A key can be a 'Registry Hive' when it is root key of a logical group of keys, subkeys, and values that has a set of supporting files loaded into memory when the operating system is started or a user logs in.
may-contain: Windows Registry Value
subclass of: Restriction
  on property: may-contain
  some values from: Windows Registry Key
subclass of: Restriction
  on property: may-contain
  some values from: Windows Registry Value
subclass of: Restriction
  on property: windows-registry-key
  some values from: string
subclass of: SystemConfigurationDatabaseRecord

hardens
type: ObjectProperty
sub property of: counters
sub property of: d3fend-tactical-verb-property

loads
type: ObjectProperty
definition: x loads y: The technique or process x transfers a software from a storage y to a computer's memory for subsequent execution.
sub property of: associated-with

may-produce
type: ObjectProperty
definition: x may-produce y: They entity x may produce the thing y; that is, 'x produces y' may be true.
sub property of: may-be-associated-with

Application Hardening
type: Class
type: NamedIndividual
d3fend-id: D3-AH
definition: Application Hardening makes an executable application more resilient to a class of exploits which either introduce new code or execute unwanted existing code. These techniques may be applied at compile-time or on an application binary.
enables: Harden
kb-article: ## Technique Overview Exploits may, for example, rely on knowledge of addresses in a process's memory, they may alter memory contents, and they may cause a program to use instructions in a way that they were not intended. By, for example, including code that dynamically changes the memory address of data or code on each run, introducing logic to validating the memory contents before certain potentially dangerous flows are executed, or monitoring a program for unusual sequence of instructions, this makes it harder for an attacker to craft a working exploit.
synonym: Process Hardening
subclass of: Restriction
  on property: enables
  some values from: Harden
subclass of: DefensiveTechnique

Exposure of Sensitive Information to an Unauthorized Actor
type: Class
cwe-id: CWE-200
subclass of: CWE-668

Violation of Secure Design Principles
type: Class
cwe-id: CWE-657
subclass of: CWE-710

Improper Locking
type: Class
cwe-id: CWE-667
subclass of: Improper Synchronization

Incorrect Calculation
type: Class
cwe-id: CWE-682
subclass of: Weakness

Digital Artifact
type: Class
type: NamedIndividual
definition: An information-bearing artifact (object) that is, or is encoded to be used with, a digital computer system. This concept is broad to include the literal instances of an artifact, or an implicit summarization of changes to or properties of other artifacts.
display-baseurl: /dao/artifact/
synonym: Digital Asset
subclass of: Artifact

Digital Information
type: Class
subclass of: Digital Artifact

Execution Isolation
type: Class
type: NamedIndividual
d3fend-id: D3-EI
definition: Execution Isolation techniques prevent application processes from accessing non-essential system resources, such as memory, devices, or files.
enables: Isolate
subclass of: Restriction
  on property: enables
  some values from: Isolate
subclass of: DefensiveTechnique

Exfiltration Technique
type: Class
type: NamedIndividual
enables: Exfiltration
subclass of: Restriction
  on property: enables
  some values from: Exfiltration
subclass of: ATTACKEnterpriseTechnique
subclass of: OffensiveTechnique

Get System Config Value
type: Class
type: NamedIndividual
reads: SystemConfigurationDatabaseRecord
subclass of: Restriction
  on property: reads
  some values from: SystemConfigurationDatabaseRecord
subclass of: System Config System Call

Identifier
type: Class
type: NamedIndividual
definition: An identifier is a name that identifies (that is, labels the identity of) either a unique object or a unique class of objects, where the "object" or class may be an idea, physical [countable] object (or class thereof), or physical [noncountable] substance (or class thereof). The abbreviation ID often refers to identity, identification (the process of identifying), or an identifier (that is, an instance of identification). An identifier may be a word, number, letter, symbol, or any combination of those.
subclass of: Digital Information
alternative label: ID

Network Isolation
type: Class
type: NamedIndividual
d3fend-id: D3-NI
definition: Network Isolation techniques prevent network hosts from accessing non-essential system network resources.
enables: Isolate
subclass of: Restriction
  on property: enables
  some values from: Isolate
subclass of: DefensiveTechnique

Outbound Internet Web Traffic
type: Class
type: NamedIndividual
definition: Outbound internet web traffic is network traffic that is: (a) on an outgoing connection initiated from a host within a network to a host outside the network, and (b) using a standard web protocol.
may-contain: URL
subclass of: Restriction
  on property: may-contain
  some values from: URL
subclass of: OutboundInternetNetworkTraffic
subclass of: Web Network Traffic

Password
type: Class
type: NamedIndividual
definition: A password, sometimes called a passcode, is a memorized secret, typically a string of characters, usually used to confirm the identity of a user. Using the terminology of the NIST Digital Identity Guidelines, the secret is memorized by a party called the claimant while the party verifying the identity of the claimant is called the verifier. When the claimant successfully demonstrates knowledge of the password to the verifier through an established authentication protocol, the verifier is able to infer the claimant's identity.
subclass of: Credential
alternative label: Passcode

Remote Terminal Session Detection
type: Class
type: NamedIndividual
analyzes: NetworkTraffic
d3fend-id: D3-RTSD
definition: Detection of an unauthorized remote live terminal console session by examining network traffic to a network host.
kb-article: ## How it works An external attacker takes remote control of a host inside a company or organization's network and manually directs offensive techniques. Nonstandard terminal sessions and abnormal behaviors are analyzed in this technique. Abnormal behavior detection includes analysis of user input patterns in the real-time session, keyboard output and packet inspection. ### Network Traffic Inspection Network traffic from internal hosts is the main concern and focus for the traffic inspection. The network traffic is collected into inspection groups. The groups of traffic are assembled into distinct pair flows (outbound/inbound) and the pair flows are further divided into sessions. Only sessions originated inside of the network are considered for the inspection. Traffic inspection includes analysis to determine if a human is involved in the session exchanges. Time-based statistics are captured for each session being analyzed by the detection engine. ### Algorithm Analysis Description Analysis algorithms look for patterns in the network traffic captured from the session data. A detection engine groups the session traffic data, between the hosts, into rapid exchange instances. Analysis of rapid exchange traffic patterns can lead to the discovery of abnormal behavior which is indicative of a compromised internal host. The analysis algorithms look for patterns in the traffic which correlate to known activity (e.g., relay attacks, bot activity, bitcoin mining). Some metrics used during inspection include the following. * Number of rapid-exchange instances * Time interval between packets * Fixed cadence of traffic * Rhythm and direction of the initiation of instances * Volume of data flowing from internal to external controlling host * Data transfer characteristics * Variability in length of silent periods ## Considerations * Full packet capture is required which can be process intensive to analyze * Attackers that move low and slow may blend in with existing traffic result…
kb-reference: Reference - Method and system for detecting external control of compromised hosts - VECTRA NETWORKS Inc
kb-reference: Reference - CAR-2013-07-002: RDP Connection Detection - MITRE
kb-reference: Reference - CAR-2016-04-005: Remote Desktop Logon - MITRE
subclass of: Restriction
  on property: analyzes
  some values from: NetworkTraffic
subclass of: NetworkTrafficAnalysis

Scheduled Job
type: Class
type: NamedIndividual
contained-by: Job Schedule
created-by: Job Scheduler Software
definition: A task scheduler process is an operating system process that executes scheduled tasks (time-scheduling in the sense of wall clock time; not operating system scheduling of processes for multitasking).
modified-by: Job Scheduler Software
synonym: Scheduled Task
synonym: Task Scheduler Process
subclass of: Restriction
  on property: modified-by
  some values from: Job Scheduler Software
subclass of: Restriction
  on property: contained-by
  some values from: Job Schedule
subclass of: Restriction
  on property: created-by
  some values from: Job Scheduler Software
subclass of: Operating System Process

Impair Defenses
type: Class
attack-id: T1562
definition: Adversaries may maliciously modify components of a victim environment in order to hinder or disable defensive mechanisms. This not only involves impairing preventative defenses, such as firewalls and anti-virus, but also detection capabilities that defenders can use to audit activity and identify malicious behavior. This may also span both native defenses as well as supplemental capabilities installed by users and administrators.
subclass of: DefenseEvasionTechnique

adds
type: ObjectProperty
definition: x adds y: The subject x adds a data object y, such as a file, to some other digital artifact, such as a directory. Examples include an agent or technique adding a record to a database. or a domain entry to a DNS server.
sub property of: associated-with
sub property of: may-add