Threat Model
Last updated
Last updated
Since we are working with Intel SGX, the same threat model of SGX does apply Threat Model. The threat model is designed from the perspective of a cloud customer. A potential cloud customer could be a company that wants to outsource it's applications to the cloud to benefit from cost savings. The cloud customer wants the deployed applications to be confidentially, as if they would be deployed locally on it's network and protected from possible threats as insiders or outsiders.
The cloud customer trusts the running code inside a TEE. In addition, the cloud customer does trust itself and is allowed to know every secret e.g. of the deployed application. Furthermore, it trusts Intel and the Intel CPU.
An adversary may have access to any Kubernetes node in the cluster through the hypervisor. By controlling the virtual machine on which the Kubernetes control plane is running, an adversary is granted administration access for the Kubernetes cluster. This allows an attacker to schedule and unschedule any pods, including enclaves of the enclave author, read and manipulate Kubernetes secrets and configurations of Kubernetes resources. Since Knative uses CRD's, Knative's resources are included here. These capabilities are not prevented, but will result at most in a DoS attack as explained later on.
Confidentiality: An attacker may intercept and read messages being sent, potentially gaining access to sensitive information. Additionally, an attacker may also access stored files on a hard-drive to read secrets.
Tampering: An attacker may modify or corrupt data-in-transit and at-rest, potentially compromising the integrity of the data.
Impersonation: An attacker may pose as a legitimate enclave or pod and participate in the communication, potentially gaining access to secrets, when talking to a KMS, or to sensitive information, when talking to a client. Precisely because the attacker is able to launch legitimate enclaves, this is a serious threat.
Key compromise: An attacker may gain access to key material, potentially allowing the attacker to break confidentiality, integrity, authenticity and authorization.
Denial of Service: An attacker may attempt to disrupt the communication by overwhelming the communication channel with traffic, potentially preventing legitimate group members from participating in the communication. Furthermore, an attacker is able to delete files on a storage device.
MIM (Man in the Middle) attack: An attacker may intercept and modify the communication between two parties, potentially compromising the confidentiality and integrity of the communication.
Redirecting traffic: An attacker could redirect traffic to different destinations by, for example, modifying ARP tables.
The figure shows the threat model of the software stack running on a Kubernetes node in a cloud environment. The Kubernetes node is a virtual machine, which is typical for a cloud environment and protects the cloud providers system from potential malicious software. It is a similar threat model, as of Gramine, only bringing it into the context of Knative. The complete software stack, except the enclave itself, the queue-proxy and the activator is distrusted. Because the activator does not have to be deployed on the same node, it is abstracted here, but the activator also needs to be trusted aarunning in an enclave.