Compression algorithms are widely used as they save memory without losing data. However, elimination of redundant symbols and sequences in data leads to a compression side channel. So far, compression attacks have only focused on the compression-ratio side channel, i.e., the size of compressed data,and largely targeted HTTP traffic and website content. In this paper, we present the first memory compression attacks exploiting timing side channels in compression algorithms, targeting a broad set of applications using compression. Our work systematically analyzes different compression algorithms and demonstrates timing leakage in each. We present Comprezzor,an evolutionary fuzzer which finds memory layouts that lead to amplified latency differences for decompression and therefore enable remote attacks. We demonstrate a remote covert channel exploiting small local timing differences transmitting on average 643.25 bit/h over 14 hops over the internet. We also demonstrate memory compression attacks that can leak secrets bytewise as well as in dictionary attacks in three different case studies. First, we show that an attacker can disclose secrets co-located and compressed with attacker data in PHP applications using Memcached. Second, we present an attack that leaks database records from PostgreSQL, managed by a Python-Flask application, over the internet. Third, we demonstrate an attack that leaks secrets from transparently compressed pages with ZRAM,the memory compression module in Linux. We conclude that memory-compression attacks are a practical threat.
翻译:压缩算法被广泛用于保存记忆而不丢失数据。 但是, 消除数据中的冗余符号和序列导致压缩侧通道。 到目前为止, 压缩攻击只集中在压缩- 鼠侧通道上, 即压缩数据的大小, 并且主要针对 HTTP 的流量和网站内容。 在本文中, 我们展示了第一次利用压缩算法中的计时侧道利用时道进行记忆压缩袭击, 利用压缩进行广泛应用。 我们的工作系统地分析不同的压缩算法, 并显示每个应用中的时间流失。 我们展示了Comprelzzor, 一种进化式的模糊器, 发现记忆布局, 导致放大压抑压的悬浮差异, 从而允许远程攻击。 我们展示了一个远程隐蔽频道, 利用当地微小的计时差, 平均 643.25 位/ h 在互联网上传送 14 。 我们还展示了在三个不同案例研究的字典攻击中可以以字典中泄漏机密的记忆压缩攻击。 我们展示了攻击者可以披露秘密并压缩 PHP 应用程序中使用MCF 。 第二, 我们通过 Cribliclical Clical StalS