Objective: Compromise an application deployed and managed using Habitat by exploiting Habitat-specific weaknesses.
Attack Goal: Compromise Application using Habitat [ROOT NODE]
├── OR
│ ├── 1.3. Supervisor Misconfiguration Exploitation [HIGH-RISK PATH] [CRITICAL NODE]
│ │ ├── AND
│ │ │ ├── 1.3.1. Identify Misconfigured Supervisor (e.g., insecure API access, weak authentication)
│ │ │ ├── 1.3.2. Leverage Misconfiguration for Unauthorized Access/Control
│ ├── 2. Exploit Habitat Package Supply Chain
│ │ ├── OR
│ │ │ ├── 2.1. Compromise Habitat Builder [CRITICAL NODE]
│ │ │ │ ├── AND
│ │ │ │ │ ├── 2.1.1. Gain Access to Habitat Builder Infrastructure
│ │ │ │ │ ├── 2.1.2. Inject Malicious Package into Builder
│ │ │ │ │ ├── 2.1.3. Application pulls and deploys Malicious Package
│ │ │ ├── 2.3. Exploit Vulnerable Package Dependencies [HIGH-RISK PATH] [CRITICAL NODE]
│ │ │ │ ├── AND
│ │ │ │ │ ├── 2.3.1. Identify Vulnerable Dependencies in Habitat Packages
│ │ │ │ │ ├── 2.3.2. Exploit Vulnerability in Deployed Application via Dependency
│ ├── 3. Exploit Habitat Configuration Management
│ │ ├── OR
│ │ │ ├── 3.2. Insecure Configuration Storage/Transmission [HIGH-RISK PATH] [CRITICAL NODE]
│ │ │ │ ├── AND
│ │ │ │ │ ├── 3.2.1. Identify Insecure Storage or Transmission of Configuration (e.g., unencrypted storage, insecure channels)
│ │ │ │ │ ├── 3.2.2. Intercept or Access Configuration Data
│ │ │ │ │ ├── 3.2.3. Extract Sensitive Information or Modify Configuration for Malicious Purposes
│ │ │ ├── 3.3. Exposed Secrets in Habitat Configuration [HIGH-RISK PATH] [CRITICAL NODE]
│ │ │ │ ├── AND
│ │ │ │ │ ├── 3.3.1. Secrets are Stored Directly in Habitat Configuration (e.g., plain text passwords, API keys)
│ │ │ │ │ ├── 3.3.2. Access Habitat Configuration (e.g., via Supervisor API, file system access)
│ │ │ │ │ ├── 3.3.3. Extract and Abuse Exposed Secrets
│ ├── 6. Exploit Habitat Deployment Environment Misconfigurations
│ │ ├── OR
│ │ │ ├── 6.1. Insecure Supervisor Deployment [HIGH-RISK PATH] [CRITICAL NODE]
│ │ │ │ ├── AND
│ │ │ │ │ ├── 6.1.1. Supervisor Deployed with Weak Security Settings (e.g., exposed API, default credentials)
│ │ │ │ │ ├── 6.1.2. Exploit Weak Security Settings for Unauthorized Access/Control
│ │ │ ├── 6.2. Containerization/Orchestration Misconfigurations (if applicable) [CRITICAL NODE]
│ │ │ │ ├── AND
│ │ │ │ │ ├── 6.2.1. Identify Misconfigurations in Container Runtime or Orchestration Platform (e.g., Docker, Kubernetes) used with Habitat
│ │ │ │ │ ├── 6.2.2. Leverage Misconfigurations for Container Escape or Infrastructure Access
│ │ │ │ │ ├── 6.2.3. Compromise Application or Underlying Infrastructure
Attack Vector: Exploiting improperly configured Habitat Supervisors.
- Breakdown:
-
1.3.1. Identify Misconfigured Supervisor:
- Description: Attacker scans for and identifies Supervisors deployed with weak security settings. This could include:
- Exposed Supervisor API without proper authentication or authorization.
- Usage of default or weak credentials for Supervisor access.
- Insecure communication protocols (e.g., unencrypted HTTP instead of HTTPS).
- Likelihood: Medium to High (Misconfigurations are common, especially in initial deployments or rapid setups).
- Impact: Medium to High (Unauthorized access to Supervisor control plane, potentially leading to control over managed services).
- Mitigation:
- Follow Habitat's security best practices for Supervisor configuration.
- Enforce strong authentication and authorization for Supervisor API access.
- Disable or restrict access to the Supervisor API from untrusted networks.
- Use HTTPS for all Supervisor API communication.
- Regularly audit Supervisor configurations for security weaknesses.
- Description: Attacker scans for and identifies Supervisors deployed with weak security settings. This could include:
-
1.3.2. Leverage Misconfiguration for Unauthorized Access/Control:
- Description: Once a misconfigured Supervisor is identified, the attacker leverages the misconfiguration to gain unauthorized access or control. This could involve:
- Using default credentials to log in to the Supervisor API.
- Exploiting API vulnerabilities due to lack of authorization checks.
- Manipulating Supervisor settings or service deployments through the exposed API.
- Likelihood: High (If misconfiguration exists, exploitation is usually straightforward).
- Impact: Medium to High (Unauthorized access to Supervisor, potential control over application deployment and management).
- Mitigation:
- Secure Supervisor API access as described in 1.3.1 mitigation.
- Implement robust authorization controls within the Supervisor API.
- Monitor Supervisor API access logs for suspicious activity.
- Description: Once a misconfigured Supervisor is identified, the attacker leverages the misconfiguration to gain unauthorized access or control. This could involve:
-
Attack Vector: Exploiting known vulnerabilities in dependencies included within Habitat packages.
- Breakdown:
-
2.3.1. Identify Vulnerable Dependencies in Habitat Packages:
- Description: Attacker identifies Habitat packages that include vulnerable dependencies. This can be done through:
- Using vulnerability scanners to analyze package manifests and dependencies.
- Checking public vulnerability databases for known vulnerabilities in common libraries and software components.
- Analyzing package code for potential vulnerabilities in dependencies.
- Likelihood: Medium to High (Vulnerable dependencies are common in software projects, especially if dependency management is not rigorous).
- Impact: Medium to High (Application compromise through exploitation of dependency vulnerability).
- Mitigation:
- Implement Software Composition Analysis (SCA) tools to automatically scan Habitat packages and their dependencies for vulnerabilities.
- Establish a process for regularly updating package dependencies to the latest secure versions.
- Monitor security advisories and vulnerability databases for newly discovered vulnerabilities in dependencies.
- Use dependency pinning or locking to ensure consistent and controlled dependency versions.
- Description: Attacker identifies Habitat packages that include vulnerable dependencies. This can be done through:
-
2.3.2. Exploit Vulnerability in Deployed Application via Dependency:
- Description: Once a vulnerable dependency is identified in a deployed application, the attacker exploits the vulnerability to compromise the application. This could involve:
- Using publicly available exploits for known vulnerabilities.
- Crafting custom exploits to target specific vulnerabilities.
- Leveraging the vulnerability to gain remote code execution, data access, or other forms of compromise.
- Likelihood: Medium (Exploiting known vulnerabilities is often feasible if systems are not promptly patched).
- Impact: Medium to High (Application compromise, potential data breach).
- Mitigation:
- Address vulnerable dependencies identified in 2.3.1 mitigation.
- Implement vulnerability management processes to quickly patch or mitigate identified vulnerabilities.
- Use intrusion detection and prevention systems to detect and block exploit attempts.
- Regularly penetration test applications to identify exploitable vulnerabilities.
- Description: Once a vulnerable dependency is identified in a deployed application, the attacker exploits the vulnerability to compromise the application. This could involve:
-
Attack Tree Path: 3.2. Insecure Configuration Storage/Transmission [HIGH-RISK PATH] [CRITICAL NODE]:
Attack Vector: Exploiting insecure practices in storing and transmitting Habitat configuration data.
- Breakdown:
-
3.2.1. Identify Insecure Storage or Transmission of Configuration:
- Description: Attacker identifies that Habitat configuration is stored or transmitted insecurely. This could include:
- Configuration files stored in plain text without encryption on accessible file systems.
- Configuration data transmitted over unencrypted channels (e.g., HTTP).
- Lack of access controls on configuration storage locations.
- Likelihood: Medium to High (Insecure practices are common, especially in development environments or quick deployments).
- Impact: Medium (Exposure of sensitive configuration data, potentially including secrets).
- Mitigation:
- Encrypt sensitive configuration data at rest and in transit.
- Store configuration files in secure locations with appropriate access controls (e.g., restricted file system permissions).
- Use HTTPS or other secure protocols for transmitting configuration data to Supervisors.
- Regularly audit configuration storage and transmission practices for security weaknesses.
- Description: Attacker identifies that Habitat configuration is stored or transmitted insecurely. This could include:
-
3.2.2. Intercept or Access Configuration Data:
- Description: Attacker intercepts configuration data during transmission or gains unauthorized access to configuration storage locations. This could involve:
- Network sniffing to intercept unencrypted configuration data.
- Exploiting file system vulnerabilities or misconfigurations to access configuration files.
- Using compromised credentials to access configuration storage.
- Likelihood: High (If insecure storage/transmission exists, access/interception is likely).
- Impact: N/A (Step towards data exposure).
- Mitigation:
- Secure configuration storage and transmission as described in 3.2.1 mitigation.
- Implement network segmentation to limit exposure of configuration traffic.
- Monitor access to configuration storage locations for unauthorized activity.
- Description: Attacker intercepts configuration data during transmission or gains unauthorized access to configuration storage locations. This could involve:
-
3.2.3. Extract Sensitive Information or Modify Configuration for Malicious Purposes:
- Description: Once configuration data is accessed, the attacker extracts sensitive information (e.g., secrets, credentials) or modifies the configuration for malicious purposes. This could include:
- Stealing credentials to gain unauthorized access to other systems.
- Modifying application settings to inject backdoors or malicious code.
- Disrupting application functionality by altering configuration parameters.
- Likelihood: High (If configuration data is accessed, extraction/modification is likely).
- Impact: Medium to High (Credential theft, application compromise, data breach, service disruption).
- Mitigation:
- Secure configuration data and access as described in 3.2.1 and 3.2.2 mitigations.
- Implement secrets management solutions to avoid storing secrets directly in configuration files.
- Monitor configuration changes for unauthorized modifications.
- Description: Once configuration data is accessed, the attacker extracts sensitive information (e.g., secrets, credentials) or modifies the configuration for malicious purposes. This could include:
-
Attack Vector: Secrets (e.g., passwords, API keys) are directly embedded in Habitat configuration files.
- Breakdown:
-
3.3.1. Secrets are Stored Directly in Habitat Configuration:
- Description: Developers or operators mistakenly store sensitive secrets directly within Habitat configuration files, often in plain text. This is a common anti-pattern.
- Likelihood: Medium to High (Common mistake, especially in development or quick setups, or due to lack of security awareness).
- Impact: Medium to High (Exposure of sensitive credentials, leading to unauthorized access).
- Mitigation:
- Never store secrets directly in configuration files.
- Use dedicated secrets management solutions (e.g., HashiCorp Vault, Kubernetes Secrets) to store and manage secrets securely.
- Utilize environment variables to pass secrets to applications at runtime, instead of embedding them in configuration.
- Implement code reviews and security audits to identify and remove any hardcoded secrets.
-
3.3.2. Access Habitat Configuration:
- Description: Attacker gains access to Habitat configuration files where secrets are stored. This could be through:
- Exploiting Supervisor API vulnerabilities or misconfigurations.
- Gaining unauthorized file system access to Supervisor hosts.
- Compromising accounts with access to configuration repositories.
- Likelihood: Medium to High (Depending on Supervisor API security, file system permissions, and access control practices).
- Impact: N/A (Step towards secret exposure).
- Mitigation:
- Secure Supervisor API and file system access as described in previous sections.
- Implement robust access controls for configuration repositories.
- Encrypt configuration data at rest.
- Description: Attacker gains access to Habitat configuration files where secrets are stored. This could be through:
-
3.3.3. Extract and Abuse Exposed Secrets:
- Description: Once configuration files are accessed, the attacker extracts the exposed secrets and abuses them to gain unauthorized access to other systems or resources.
- Likelihood: High (If secrets are exposed and accessible, abuse is likely).
- Impact: Medium to High (Unauthorized access to critical systems, data breaches, depending on the nature of the exposed secrets).
- Mitigation:
- Prevent secrets from being stored in configuration files as described in 3.3.1 mitigation.
- If secrets are accidentally exposed, immediately revoke and rotate them.
- Implement monitoring and alerting for suspicious account usage and API access that might indicate compromised credentials.
-
Attack Tree Path: 6.1. Insecure Supervisor Deployment [HIGH-RISK PATH] [CRITICAL NODE]:
Attack Vector: Deploying Habitat Supervisors with weak security configurations in the deployment environment.
- Breakdown:
-
6.1.1. Supervisor Deployed with Weak Security Settings:
- Description: Supervisors are deployed with insecure default settings or misconfigurations in the deployment environment. This could include:
- Exposing the Supervisor API to public networks without proper authentication.
- Using default or weak credentials for Supervisor access.
- Running Supervisors with excessive privileges.
- Lack of network segmentation or firewall rules to restrict access to Supervisors.
- Likelihood: Medium to High (Misconfigurations are common, especially in initial deployments or when security best practices are not followed).
- Impact: Medium to High (Unauthorized access to Supervisor control plane, potential control over managed services and the underlying host).
- Mitigation:
- Follow security best practices for deploying Habitat Supervisors in the target environment.
- Harden Supervisor deployments by disabling unnecessary features and services.
- Apply the principle of least privilege when configuring Supervisor permissions.
- Implement network segmentation and firewall rules to restrict access to Supervisors to only authorized entities.
- Regularly audit Supervisor deployments for security misconfigurations.
- Description: Supervisors are deployed with insecure default settings or misconfigurations in the deployment environment. This could include:
-
6.1.2. Exploit Weak Security Settings for Unauthorized Access/Control:
- Description: Attacker exploits the weak security settings of a deployed Supervisor to gain unauthorized access and control. This could involve:
- Using default credentials to access the Supervisor API.
- Exploiting exposed API endpoints without authentication.
- Leveraging excessive Supervisor privileges to escalate to host system access.
- Likelihood: High (If weak settings exist, exploitation is usually straightforward).
- Impact: Medium to High (Unauthorized access to Supervisor, potential control over application deployment, management, and potentially the underlying host).
- Mitigation:
- Secure Supervisor deployments as described in 6.1.1 mitigation.
- Implement intrusion detection and prevention systems to detect and block exploit attempts.
- Monitor Supervisor logs for suspicious activity and unauthorized access attempts.
- Description: Attacker exploits the weak security settings of a deployed Supervisor to gain unauthorized access and control. This could involve:
-