{"id":1094340,"date":"2024-11-12T09:00:00","date_gmt":"2024-11-12T17:00:00","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?p=1094340"},"modified":"2024-11-11T09:06:46","modified_gmt":"2024-11-11T17:06:46","slug":"preventing-side-channels-in-the-cloud","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/research\/blog\/preventing-side-channels-in-the-cloud\/","title":{"rendered":"Preventing side-channels in the cloud"},"content":{"rendered":"\n
\"Icons<\/figure>\n\n\n\n

Cloud computing delivers scalable and cost-effective compute resources to a wide range of customers. The ability for cloud providers to share components of the hardware stack across customers, or tenants, is essential for running efficient cloud systems. For example, modern central processing units (CPUs) pack hundreds of physical hardware threads sharing terabytes of dynamic random-access memory (DRAM), which can be flexibly assigned to many independent virtual machines (VMs).<\/p>\n\n\n\n

Preventing tenants from snooping on others who share the same hardware requires security mechanisms. Microsoft Azure (opens in new tab)<\/span><\/a> provides strong protection via comprehensive architectural isolation through access control mechanisms implemented across the cloud platform, including the hardware and the hypervisor. Confidential computing (opens in new tab)<\/span><\/a> powered by trusted execution environments further hardens architectural isolation via hardware memory encryption to protect tenants even against privileged attackers. <\/p>\n\n\n\n

A changing threat landscape<\/h2>\n\n\n\n

Even with perfect architectural isolation, sharing micro<\/em>architectural resources, such as CPU caches and DRAM row buffers, can leak small amounts of information, because interference (due to sharing) leads to variations in the latency of memory accesses. This gives rise to so-called microarchitectural side-channel attacks<\/em> where a malicious tenant can learn information about another tenant, in the worst case: their cryptographic keys.<\/p>\n\n\n\n

Microsoft Azure protects tenants and critical infrastructure against currently practical side-channel attacks. For example, side-channels in on-core resources (e.g., buffers, predictors, private caches) are comprehensively (opens in new tab)<\/span><\/a> mitigated by Hyper-V HyperClear (opens in new tab)<\/span><\/a> via core scheduling, microarchitectural flushing and scrubbing, and virtual-processor address space isolation; and our cryptographic libraries are carefully hardened to prevent any secrets from being leaked via microarchitectural side-channels. <\/p>\n\n\n\n

However, the threat landscape is changing. First, side-channel attacks are becoming increasingly sophisticated: For example, recent academic research (opens in new tab)<\/span><\/a> has shown that even cache-coherence directories can be exploited to leak information across cores. Second, future CPUs are likely to employ increasingly sophisticated microarchitectural optimizations, which are prone to new kinds of attacks: For example, the recently introduced data-dependent prefetchers have already been found to leak information (opens in new tab)<\/span><\/a>.<\/p>\n\n\n\n

\n\t