论文标题
DMVX:在分布式设置中安全有效的多变量执行
dMVX: Secure and Efficient Multi-Variant Execution in a Distributed Setting
论文作者
论文摘要
多变量执行(MVX)系统扩大了软件多样性技术的有效性。关键想法是在锁定下运行多个多元化的程序变体,同时为它们提供相同的输入并监视其差异的运行时间行为。因此,对手必须同时妥协所有程序变体以成功安装攻击。最近的工作提出了分布式的异构MVX系统,该系统利用不同的ABI和ISA来进一步提高程序变体之间的多样性。但是,由于MVX系统的操作耗时,现有的分布式MVX系统设计具有高性能开销。本文介绍了DMVX,这是一种新型混合分布式MVX设计,该设计结合了新技术,可在分布式设置中大大减少MVX系统的开销。我们的关键见解是,我们可以明智地减少使用昂贵网络传输的MVX操作。首先,我们可以限制对不关键安全的系统调用的监视。其次,我们观察到,在许多情况下,我们还可以安全地缓存或避免使用I/O相关系统调用所需的复制操作。我们的评估表明,对于现实的服务器基准,DMVX将性能降解从50%降低到3.1%。
Multi-variant execution (MVX) systems amplify the effectiveness of software diversity techniques. The key idea is to run multiple diversified program variants in lockstep while providing them with the same input and monitoring their run-time behavior for divergences. Thus, adversaries have to compromise all program variants simultaneously to mount an attack successfully. Recent work proposed distributed, heterogeneous MVX systems that leverage different ABIs and ISAs to increase the diversity between program variants further. However, existing distributed MVX system designs suffer from high performance overhead due to time-consuming network transactions for the MVX system's operations. This paper presents dMVX, a novel hybrid distributed MVX design, which incorporates new techniques that significantly reduce the overhead of MVX systems in a distributed setting. Our key insight is that we can intelligently reduce the MVX operations that use expensive network transfers. First, we can limit the monitoring of system calls that are not security-critical. Second, we observe that, in many circumstances, we can also safely cache or avoid replication operations needed for I/O related system calls. Our evaluation shows that dMVX reduces the performance degradation from over 50% to 3.1% for realistic server benchmarks.