The aggressive performance optimizations in modern microprocessors can result in security vulnerabilities. For example, timing-based attacks in processor caches can steal secret keys or break randomization. So far, finding cache-timing vulnerabilities is mostly performed by human experts, which is inefficient and laborious. There is a need for automatic tools that can explore vulnerabilities given that unreported vulnerabilities leave the systems at risk. In this paper, we propose AutoCAT, an automated exploration framework that finds cache timing-channel attack sequences using reinforcement learning (RL). Specifically, AutoCAT formulates the cache timing-channel attack as a guessing game between an attack program and a victim program holding a secret. This guessing game can thus be solved via modern deep RL techniques. AutoCAT can explore attacks in various cache configurations without knowing design details and under different attack and victim program configurations. AutoCAT can also find attacks to bypass certain detection and defense mechanisms. In particular, AutoCAT discovered StealthyStreamline, a new attack that is able to bypass performance counter-based detection and has up to a 71% higher information leakage rate than the state-of-the-art LRU-based attacks on real processors. AutoCAT is the first of its kind in using RL for crafting microarchitectural timing-channel attack sequences and can accelerate cache timing-channel exploration for secure microprocessor designs.
翻译:现代微处理器中的激进性性能优化可能导致安全脆弱性。 例如, 处理器缓存中基于时间的攻击可以窃取秘密密钥或打破随机化。 到目前为止, 找到缓存弱点的大多是由人类专家完成的, 效率低且劳累。 需要自动工具来探索脆弱性, 因为未报告的脆弱情况使系统处于危险之中。 在本文中, 我们提议 AutCAT( AutoCAT), 这是一个自动探索框架, 利用强化学习来发现缓存时道攻击序列( RL ) 。 具体地说, AutoCAT( AutoCAT) 将缓存定时道攻击作为攻击程序与掌握秘密的受害者程序之间的猜想游戏。 因此, 这个猜想游戏可以通过现代的深入RL 技术来解决。 AutoCAT可以在没有设计细节的情况下, 在不同的攻击和受害者程序配置下, 探索各种弱点。 AutoCAT( AutoCAT) 也能找到绕过某些探测和防御机制的攻击。 特别是, AutoCAT 发现了一种新的攻击, 能够绕过基于性反表现的检测, 和高达71%的信息泄漏率信息泄漏率, 以通过现代的机械式的快速追踪器的快速追踪系统, 。