Side-channel attacks are a security exploit that take advantage of information leakage. They use measurement and analysis of physical parameters to reverse engineer and extract secrets from a system. Power analysis attacks in particular, collect a set of power traces from a computing device and use statistical techniques to correlate this information with the attacked application data and source code. Counter measures like just-in-time compilation, random code injection and instruction descheduling obfuscate the execution of instructions to reduce the security risk. Unfortunately, due to the randomness and excess instructions executed by these solutions, they introduce large overheads in performance, power and area. In this work we propose a scheduling algorithm that dynamically reorders instructions in an out-of-order processor to provide obfuscated execution and mitigate power analysis attacks with little-to-no effect on the performance, power or area of the processor. We exploit the time between operand availability of critical instructions (slack) to create high-performance random schedules without requiring additional instructions or static prescheduling. Further, we perform an extended security analysis using different attacks. We highlight the dangers of using incorrect adversarial assumptions, which can often lead to a false sense of security. In that regard, our advanced security metric demonstrates improvements of 34$\times$, while our basic security evaluation shows results up to 261$\times$. Moreover, our system achieves performance within 96% on average, of the baseline unprotected processor.
翻译:侧气道攻击是一种安全利用,它利用信息泄漏来利用信息泄漏;它们使用物理参数的测量和分析来逆向工程师和从系统中提取秘密;特别是,动力分析攻击,从计算机设备中收集一套动力痕迹,使用统计技术将这种信息与被攻击的应用数据和源代码联系起来;对应措施,如即时编译、随机代码注入和指示,淡化执行指令的混乱,以减少安全风险;不幸的是,由于这些解决方案的随机性和超常指令,它们引入了绩效、权力和地区方面的巨额管理。在这项工作中,我们提出了一个动态重订指令的算法,在一个超秩序处理器中动态重订指令,以提供令人困惑的执行和减轻权力分析攻击,对处理器的性能、权力或领域几乎没有任何影响。我们利用在提供关键指令(黑色)之间的时间来创建高性能随机计划,而无需额外的指示或静态的预排期。此外,我们用不同的攻击来进行扩大安全分析。我们强调使用不正确的以美元为基准的对价进行指令的危险,同时显示我们的平均安全性评估。