Assume an application developed in a PaaS public cloud environment. The application stores and processes some kind of sensitive data.
Encryption-at-rest seems clearly described already, and the option to manage keys outside the cloud which can help ensure nobody outside your organisation has access to your unencrypted data when stored in cloud.
Encryption-in-transit seems clearly described already. E.g. TLS encryption at Presentation-level would mean that the unencrypted data is not readable at the lower levels of the OSI-model during transit.
This leaves us with data-in-use. Cloud providers are increasingly vague on this, and there seems to be much misunderstanding on this aspect. The time data is logically stored in RAM and being processed by e.g. an application, to my understanding it is not encrypted. This is the part of Cloud encryption I do not fully understand how to explain, and I need your help.
Who can theoretically access the clear data at this point?
- Would container escape techniques allow an attacker to access other cloud-customers' data?
- Would a memory dump of the virtualisation-layers or the physical machine in a datacenter allow an attacker to access clear data?
- Are there other ways an attacker could move "below" the virtual application and access the information as it is being prcocessed?
To my old-school-hardware-brain (while this may be complicated by the many levels of abstraction involved), at some point the data must exist on some server somewhere in RAM. How is the data protected at that point? From attackers? From the cloud provider? From other customers?
Is this even a viable attack vector to be concerned about? Why? Why not?
Notes:
- "Confidential computing" initiatives is outside scope for this question, since it is not yet in use on a wider scale to my understanding.
- What I want to understand is: At what points in time is what information/data accessible to whom in a cloud infrastructure.
- I want to understand what is "possible" rather than what is "intended". Please correct, if my understanding is wrong.