Intel SGX is known to be vulnerable to a class of practical attacks exploiting memory access pattern side-channels, notably page-fault attacks and cache timing attacks. A promising hardening scheme is to wrap applications in hardware transactions, enabled by Intel TSX, that return control to the software upon unexpected cache misses and interruptions so that the existing side-channel attacks exploiting these micro-architectural events can be detected and mitigated. However, existing hardening schemes scale only to small-data computation, with a typical working set smaller than one or few times (e.g., $8$ times) of a CPU data cache. This work tackles the data scalability and performance efficiency of security hardening schemes of Intel SGX enclaves against memory-access pattern side channels. The key insight is that the size of TSX transactions in the target computation is critical, both performance- and security-wise. Unlike the existing designs, this work dynamically partitions target computations to enlarge transactions while avoiding aborts, leading to lower performance overhead and improved side-channel security. We materialize the dynamic partitioning scheme and build a C++ library to monitor and model cache utilization at runtime. We further build a data analytical system using the library and implement various external oblivious algorithms. Performance evaluation shows that our work can effectively increase transaction size and reduce the execution time by up to two orders of magnitude compared with the state-of-the-art solutions.
翻译:众所周知,由于利用内存访问模式侧通道,特别是页形断层攻击和缓冲时间攻击,现有加固计划很容易受到一系列实际攻击,利用内存访问侧通道,特别是页形断层攻击和缓冲时间攻击。一个大有希望的加固计划是,在Intel TSX 促成的硬件交易中,在意外缓冲漏和中断时,将控制重新回到软件,以便利用这些微型建筑事件的现有侧通道攻击能够被检测和减轻。然而,现有加固计划的规模仅限于小数据计算,而典型的工作设置小于或少次(例如8美元)的CPU数据缓存(例如8倍)的工作设置。这项工作将Intel SGX飞地的安全加固计划的数据可扩缩和性能效率与内存访问模式侧通道连接。关键的是,在目标计算中,利用这些微型建筑系统交易的规模至关重要,既表现又安全。与现有设计不同,这项工作的动态隔断目标计算目标计算旨在扩大交易的计算,同时避免中断,导致业绩顶部下降,侧安全改进。我们用动态隔断断系统比较了数据系统。我们使用平缓冲分析系统,用C+分析系统,可以进一步进行升级的运行。