Agent Authentication
Agent authentication is the process of verifying the identities of agents to ensure they are authorized and trustworthy participants within a system.
MITRE D3FEND™ Learning Center
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.
Top-level technique families
These techniques sit directly beneath the Defensive Technique root and organize the more specific techniques in this tactic.
Agent authentication is the process of verifying the identities of agents to ensure they are authorized and trustworthy participants within a system.
5 direct child techniques →D3-AHApplication 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.
8 direct child techniques →D3-CHCredential Hardening techniques modify system or network properties in order to protect system or network/domain credentials.
4 direct child techniques →D3-MHThe application of security controls to user-to-user and system-to-system communications so messages remain confidential, unaltered, and verifiable while resisting injection, replay, and tampering.
3 direct child techniques →D3-PHHardening 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
10 direct child techniques →D3-SCHHardening source code with the intention of making it more difficult to exploit and less error prone.
8 direct child techniques →Complete tactic directory
Agent authentication is the process of verifying the identities of agents to ensure they are authorized and trustworthy participants within a system.
Modifying an application's configuration to reduce its attack surface.
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.
Using biological measures in order to authenticate a user.
Cryptographically authenticating the bootloader software before system boot.
Applies cryptographic primitives to individual bus frames to verify the sender's identity and ensure the integrity of the data payload.
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.
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.
Requiring a digital certificate in order to authenticate a user.
Changing the default password means replacing the factory-set credentials with a strong, unique password before the device is deployed, preventing unauthorized access.
Enforcing legal control flow transfers during application process execution.
Credential Hardening techniques modify system or network properties in order to protect system or network/domain credentials.
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.
The systematic removal of hard-coded credentials from source code to prevent accidental exposure and unauthorized access.
Removing unreachable or "dead code" from compiled source code.
Limiting access to a computing device which is not required through or from a non-organization-controlled network.
Encrypting a hard disk partition to prevent cleartext access to a file system.
Validation of variable state in the context of the domain application.
Ensuring the integrity of drivers loaded during initialization of the operating system.
The application of physical and material-level design measures to electronic systems, components, or facilities to reduce their susceptibility to damage or disruption from electromagnetic threats.
Validates that a referenced exception handler pointer is a valid exception handler.
Encrypting a file using a cryptographic key.
Physical methods of preventing data from being written to computer storage.
Ensuring that an integer is within a valid range.
Ensuring that a pointer accurately references the beginning of a designated memory block.
Authenticating the sender of a message and ensuring message integrity.
Encrypting a message body using a cryptographic key.
The application of security controls to user-to-user and system-to-system communications so messages remain confidential, unaltered, and verifiable while resisting injection, replay, and tampering.
Requiring proof of two or more pieces of evidence in order to authenticate a user.
Checking if a pointer is NULL.
A one-time password is valid for only one user authentication.
Validation of variable state in the context of the control logic of the operational application.
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.
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.
Physical changes to a computer enclosure which reduce the ability for agents or the environment to affect the contained computer system.
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
Comparing the cryptographic hash or derivative of a pointer's value to an expected value.
Ensuring that a pointer variable has the required properties for use.
Preventing execution of any address in a memory region other than the code segment.
Radiation hardening is the process of making electronic components and circuits resistant to damage or malfunction caused by high levels of ionizing radiation.
Invalidating all pointers that reference a specific memory block, ensuring that the block cannot be accessed or modified after deallocation.
Adding physical barriers to a platform to prevent undesired radio interference.
Randomizing the base (start) address of one or more segments of memory during the initialization of a process.
Replacing old software on a computer system component.
Hardening source code with the intention of making it more difficult to exploit and less error prone.
Comparing a value stored in a stack frame with a known good value in order to prevent or detect a memory segment overwrite.
Modifying system configuration to increase password strength.
Restricting system configuration modifications to a specific user or group of users.
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.
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.
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).
Validating that server components of a messaging infrastructure are authorized to send a particular message.
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.
Setting variables to a known value before use.
Ensuring that a variable has the correct type.
Try a shorter term or clear the filters.