Shared cache resources in multi-core processors are vulnerable to cache side-channel attacks. Recently proposed defenses have their own caveats: Randomization-based defenses are vulnerable to the evolving attack algorithms besides relying on weak cryptographic primitives, because they do not fundamentally address the root cause for cache side-channel attacks. Cache partitioning defenses, on the other hand, provide the strict resource partitioning and effectively block all side-channel threats. However, they usually rely on way-based partitioning which is not fine-grained and cannot scale to support a larger number of protection domains, e.g., in trusted execution environment (TEE) security architectures, besides degrading performance and often resulting in cache underutilization. To overcome the shortcomings of both approaches, we present a novel and flexible set-associative cache partitioning design for TEE architectures, called Chunked-Cache. Chunked-Cache enables an execution context to "carve" out an exclusive configurable chunk of the cache if the execution requires side-channel resilience. If side-channel resilience is not required, mainstream cache resources are freely utilized. Hence, our solution addresses the security-performance trade-off practically by enabling selective and on-demand utilization of side-channel-resilient caches, while providing well-grounded future-proof security guarantees. We show that Chunked-Cache provides side-channel-resilient cache utilization for sensitive code execution, with small hardware overhead, while incurring no performance overhead on the OS. We also show that it outperforms conventional way-based cache partitioning by 43%, while scaling significantly better to support a larger number of protection domains.
翻译:多个核心处理器中的共享缓冲资源容易隐藏侧通道袭击。最近提议的防御系统有其自己的警告:随机化防御除了依赖薄弱的加密原始系统之外,还容易受到不断变化的攻击算法的影响,因为它们没有从根本上解决缓冲侧通道袭击的根源。另一方面,缓冲分割防御系统提供严格的资源分割,有效地阻截所有侧通道威胁。然而,它们通常依赖基于路径的分割,这种分割不是精细的敏感度,无法支持更多的保护领域,例如,在可信赖的执行环境(TE)的安全架构中,随机化防御除了依赖薄弱的加密原始系统外,还容易受到不断变化的攻击算法,因为要克服这两种方法的缺陷,我们提出一个新的和灵活的固定的关联缓冲缓冲分割设计,即提供严格的资源分割,并有效地遏制常规缓冲威胁。如果执行需要侧屏蔽的备用部分,它们通常可以“隐藏”一个完全可配置的备用部分。如果需要侧屏蔽的缓冲支持,那么,如果不需要侧屏障安全架构,则会使用。如果不需要侧屏蔽环境的缓冲环境,主流的缓冲安全结构的缓冲安全结构的缓冲安全结构使用,那么,主流的缓冲缓冲的缓冲机制的缓冲机制的缓冲机制的缓冲机制的缓冲机制的缓冲机制的缓冲机制的缓冲机制的运行的运行的运行的运行的运行的运行的运行资源也能够大大推进的运行,同时提供更长的运行的运行的运行的运行的运行的运行的运行资源可以大大的运行的运行,同时提供更便利,而能资源能资源能资源可以持续使用。