Preventing Forking, Cloning & Rollback Attacks
Forking, cloning, and rollback attacks threaten application security in TEEs like Intel SGX. Secretarium mitigates these risks.
The Problem of Forking, Cloning, and Rollback Attacks
In the realm of trusted execution environments (TEEs) like Intel SGX, applications face a variety of threats that can undermine their integrity and confidentiality. Among these threats, forking, cloning, and rollback attacks are particularly concerning. Forking attacks occur when an adversary manipulates an application's state by either reverting it to a previous version or by creating multiple instances of the application with divergent states. For instance, in a password manager application, an adversary could exploit forking to brute-force a password despite rate-limiting measures.
Cloning attacks involve the unauthorised replication of an application or its components, allowing adversaries to run multiple instances simultaneously. This can lead to various malicious activities, such as unauthorised access to sensitive data or manipulation of application logic. For example, an adversary could clone a secure enclave to gain unauthorised access to the data it processes, bypassing security measures intended to protect confidentiality.
Rollback attacks exploit the lack of state freshness guarantees, allowing adversaries to revert an application to a previous state, effectively nullifying any security measures that rely on state progression. This can be particularly damaging in applications where state continuity is critical, such as in financial transactions or authentication systems. Together, these attacks not only compromise the security of individual applications but also erode trust in the broader ecosystem of trusted execution environments. Understanding these distinctions is crucial for developing robust defences against such threats.
The Need for an External Root of Trust for State
To effectively counter forking, cloning, and rollback attacks, establishing an external root of trust for managing application state is crucial. The necessity arises from the inherent limitations of relying solely on internal application mechanisms or the underlying hardware for state management. Trusted execution environments (TEEs) like Intel SGX provide robust isolation and protection for application code and data during execution. However, they are not immune to attacks that exploit the broader system context, such as cloning or rollback attacks that manipulate the application's state across multiple instances or time.
Enclaves, which are isolated regions of memory within TEEs, are identified by unique identifiers such as MRENCLAVE and MRSIGNER. These identifiers ensure that enclaves can securely access sealed secrets and states when launched. However, when multiple enclaves with the same identifiers are launched on the same platform, they can access the same sealed data, leading to potential security vulnerabilities. This is because the sealing keys used to protect data at rest are tied to the enclave's identity, allowing any enclave with the same identity to unseal and access the data. This limitation highlights the need for an external root of trust to manage and validate the state across distributed systems securely.
An external root of trust, whether it's a decentralised system or another enclave on a different machine, addresses these limitations by providing a secure, verifiable reference point for state management. By leveraging cryptographic techniques and consensus protocols, these systems ensure that any changes to the application state are validated and agreed upon by multiple parties. This external validation makes it significantly more challenging for adversaries to execute forking, cloning, or rollback attacks without detection, thereby enhancing the overall security and trustworthiness of applications operating within trusted execution environments.
Secretarium Architecture as a Solution
Secretarium addresses the challenges posed by forking, cloning, and rollback attacks through its innovative architecture, which integrates trusted execution environments (TEEs) with distributed ledger technology (DLT). At the core of Secretarium's approach is the use of Intel SGX enclaves, providing secure environments for processing sensitive data. However, Secretarium's solution extends beyond merely utilising SGX by incorporating a Byzantine Fault Tolerant version of the Raft consensus algorithm (BFT-RAFT). This integration ensures that the state of applications is consistently replicated and validated across multiple nodes, creating a resilient and tamper-proof system.
The distributed ledger technology employed by Secretarium plays a pivotal role in preventing these attacks. By maintaining a consistent and immutable record of the application state across a network of nodes, the ledger ensures that any unauthorised modifications or discrepancies are promptly detected and addressed. This distributed approach eliminates single points of failure and enhances the system's robustness against adversarial actions. Furthermore, Secretarium's use of crypto-delegates ensures that the host system provides cryptographic proofs for any operations it performs on behalf of the enclaves, adding an additional layer of security and trust.
By combining these technologies, Secretarium provides a secure and trustworthy environment for applications, effectively mitigating the risks associated with forking, cloning, and rollback attacks. The architecture not only ensures the integrity and confidentiality of application states but also establishes a robust external root of trust, making it a comprehensive solution to the security challenges faced by trusted execution environments.
Get in touch
If you want to know more about our technology, please don't hesitate to schedule a free demo with our experts.
Read next
We actively engage in highly innovative projects. Explore our latest publications featuring our cutting-edge technology.