Skip to content

Latest commit

 

History

History
134 lines (99 loc) · 9.68 KB

assets.md

File metadata and controls

134 lines (99 loc) · 9.68 KB

List of General OTA Assets (not Uptane specific)

ASSET_01. Firmware and Software Images

  • Description: The actual firmware or software files being transmitted via OTA updates.
  • Importance: Ensuring the integrity and authenticity of these files is critical to prevent malicious software from being installed on devices.

ASSET_02. Update Server

  • Description: The server from which OTA updates are downloaded.
  • Importance: It must be secure to prevent unauthorized access and ensure that only trusted updates are served.

ASSET_03. Device Authentication Credentials

  • Description: Certificates, keys, or tokens used by the embedded device to authenticate itself to the update server.
  • Importance: Protecting these credentials is crucial to prevent impersonation attacks.

ASSET_04. Update Authentication Credentials

  • Description: Certificates or cryptographic keys used to sign firmware or software updates.
  • Importance: Compromising these credentials could allow an attacker to push malicious updates.

ASSET_05. Communication Channels

  • Description: The network connection (e.g., Wi-Fi, cellular, Ethernet) used for transmitting OTA updates.
  • Importance: Securing this channel is necessary to protect against data interception and man-in-the-middle attacks.

ASSET_06. Update Client Software

  • Description: The component on the embedded device responsible for managing and applying OTA updates.
  • Importance: Ensuring the integrity of this software is crucial as it orchestrates the entire update process.

ASSET_07. Backup and Recovery Mechanism

  • Description: Systems in place to back up the current firmware and allow for recovery in case of a failed update.
  • Importance: These mechanisms are vital for maintaining device operability and preventing bricking.

ASSET_08. Update Metadata

  • Description: Information about the update, such as version number, release notes, and cryptographic hashes.
  • Importance: Integrity of this data ensures that the correct and untampered update is applied.

ASSET_09. Device Configuration Data

  • Description: Configuration settings stored on the device that may be affected by OTA updates.
  • Importance: Protecting this data ensures that device functionality and user settings are not compromised during updates.

ASSET_10. User Data

  • Description: Any personal or sensitive data stored on the embedded device.
  • Importance: Ensuring this data remains confidential and unaltered during OTA updates is essential to user privacy.

ASSET_11. Logging and Monitoring Systems

  • Description: Logs that track OTA update activities and other security events.
  • Importance: Protecting these systems is important for detecting and responding to potential security incidents.

ASSET_12. Third-party Libraries and Dependencies

  • Description: External software components included in the OTA update.
  • Importance: Ensuring these libraries are secure and up-to-date helps protect against vulnerabilities.

ASSET_13. Cryptographic Keys for Secure Boot

  • Description: Keys used for verifying the authenticity of the device's bootloader and firmware.
  • Importance: Protecting these keys ensures the device can only boot trusted firmware, securing the device from tampering.

ASSET_14. Update Rollout Mechanism

  • Description: System used to manage and control the distribution of OTA updates (e.g., staged rollouts).
  • Importance: Ensuring this mechanism is secure prevents unauthorized parties from manipulating update deployment.

ASSET_15. Rollback Mechanism

  • Description: The ability to revert to a previous version of the firmware if an update causes issues.
  • Importance: Protecting this mechanism ensures that rollback cannot be exploited to revert to a vulnerable firmware version.

ASSET_16. Image distributor

  • Description: Software responsible for distributing firmware updates from the update server to the appropriate ECUs in the vehicle.
  • Importance: If located on a gateway or network-facing ECU, it could be tampered with to alter the distribution process.

Uptane Specific Assets

Uptane is a framework specifically designed to enhance the security of over-the-air (OTA) updates for automotive and other embedded systems. It provides mechanisms to protect against various attacks, such as those targeting the update process itself or the servers involved in distributing updates. Here are additional assets related to Uptane that should be included in your security threat model:

ASSET_17. Director Repository

  • Description: The server responsible for signing and distributing update metadata that directs devices to the appropriate update files.
  • Importance: Protecting this repository is critical, as it ensures that devices only receive authorized updates and prevents attackers from distributing malicious updates.

ASSET_18. Image Repository

  • Description: The server that stores the actual update files (firmware, software images) and associated metadata.
  • Importance: Securing this repository ensures that the stored update files cannot be tampered with or replaced by unauthorized parties.

ASSET_19. Root Metadata

  • Description: Metadata that contains the top-level cryptographic keys and policies for the Uptane system, including roles and their public keys.
  • Importance: This metadata is foundational for the entire update security infrastructure; compromising it could undermine the trust model of the OTA system.

ASSET_20. Targets Metadata

  • Description: Metadata that specifies which images (updates) are available and the conditions under which they should be installed.
  • Importance: Protecting this metadata ensures that only authorized and vetted updates are installed on the devices.

ASSET_21. Snapshot Metadata

  • Description: Metadata that provides a cryptographic hash of the latest metadata files to ensure the consistency of the update.
  • Importance: This ensures that an attacker cannot replay old, potentially vulnerable updates or metadata.

ASSET_22. Timestamp Metadata

  • Description: Metadata that provides a cryptographic hash and timestamp of the latest snapshot metadata, ensuring freshness and preventing rollback attacks.
  • Importance: Protecting this metadata prevents attackers from tricking devices into accepting stale or outdated updates.

ASSET_23. Delegation Metadata

  • Description: Metadata that allows a primary role to delegate responsibilities (such as signing images) to other roles.
  • Importance: Ensures that only authorized parties can sign and approve updates, which helps in managing large fleets of devices.

ASSET_24. Compromise-Resilient Keys

  • Description: Cryptographic keys with shorter lifespans or that are used for specific purposes to limit damage in case of compromise.
  • Importance: Using such keys reduces the risk associated with key compromise and ensures that a single compromised key does not affect the entire system.

ASSET_25. ECU (Electronic Control Unit) Manifest

  • Description: A manifest generated by each ECU, reporting its current software version and any issues encountered.
  • Importance: Securing these manifests is vital for accurate reporting and decision-making during updates.

ASSET_26. Vehicle Version Manifest

  • Description: A collection of manifests from all ECUs in a vehicle, providing a comprehensive overview of the vehicle’s current state.
  • Importance: Ensuring the integrity and authenticity of this manifest is crucial for making informed decisions about updates and identifying discrepancies.

ASSET_27. Uptane Primary ECU

  • Description: The main control unit in the vehicle that manages communication with the Uptane repositories and coordinates updates for secondary ECUs.
  • Importance: The primary ECU acts as a gateway for updates and must be secure to prevent unauthorized updates from being distributed to secondary ECUs.

ASSET_28. Uptane Secondary ECU

  • Description: ECUs that receive updates from the primary ECU; they perform specific functions within the vehicle.
  • Importance: Securing secondary ECUs ensures that attackers cannot exploit vulnerabilities in less critical systems to compromise more critical systems.

ASSET_29. Time Servers

  • Description: Servers that provide accurate time information to ensure the timeliness of updates and prevent rollback attacks.
  • Importance: Ensuring the reliability and security of time servers is crucial to prevent outdated or malicious updates.

ASSET_30. Revocation Mechanisms

  • Description: Systems in place to revoke compromised keys or permissions for roles within the Uptane framework.
  • Importance: Effective revocation mechanisms ensure that compromised elements can be quickly neutralized, maintaining the integrity of the update process.

ASSET_31. Key Storage and Management

  • Description: The infrastructure and practices for securely storing and managing cryptographic keys used in the Uptane system.
  • Importance: Protecting key storage is critical to prevent unauthorized access and key compromise.

ASSET_32. Vehicle-to-Server Communication Protocols

  • Description: The protocols and methods used to communicate between vehicles and Uptane repositories.
  • Importance: Ensuring secure and encrypted communication protocols prevents interception and tampering with update data.