首页 | 本学科首页   官方微博 | 高级检索  
     

编译支持的多线程程序多变体执行方法
引用本文:朱鹏喆.编译支持的多线程程序多变体执行方法[J].计算机应用研究,2023,40(5).
作者姓名:朱鹏喆
作者单位:信息工程大学 网络与空间安全学院;网络通信与安全紫金山实验室
摘    要:多变体执行(multi-variant execution,MVX)是目前最流行的主动防御技术之一。理想情况下,当未受到攻击时,多变体执行架构提供正常的程序功能。但不幸的是,当多线程程序在多变体执行架构下运行时,由于各个程序变体中共享资源操作的线程执行顺序不一致,不同变体将会产生状态不一致,从而产生攻击误报,该问题导致了多线程程序难以以多变体执行方式运行。基于多变体执行环境,提出了一种编译支持的多线程程序对共享资源操作的同步编译模型,该模型以共享资源操作为同步点,分析确定多线程程序中对共享资源的操作时机和操作方式,保证各程序变体在运行时多线程对共享资源操作的一致性,从而消除了由此而引起的攻击误报。以LLVM 12.0编译框架为基础,设计实现了基于该同步编译模型的原型系统,并对该原型系统进行了仿真实验测试。实验结果显示,经过原型系统处理的多线程程序在多变体执行架构中的误报率显著降低,表明该同步编译模型作为一种通用性的方法,可有效消除多线程程序在多变体执行架构下运行时的攻击误报,提高了多变体执行的可用性。

关 键 词:主动防御    编译器    多变体执行
收稿时间:2022/10/9 0:00:00
修稿时间:2023/4/10 0:00:00

compilation supported method of multi-threaded program running in MVX
Zhu Pengzhe.compilation supported method of multi-threaded program running in MVX[J].Application Research of Computers,2023,40(5).
Authors:Zhu Pengzhe
Affiliation:Cyber and Space Security College,Information Engineering University,Zhengzhou Henan; Purple Mountain Laboratories, Nanjing Jiangsu
Abstract:MVX is one of the most popular active defense technologies. Ideally, when not under attack, the MVX architecture provides normal program functions. Unfortunately, when a multi-threaded program runs in MVX architecture, because different program variants have inconsistent threads execution orders of shared resource operations, different variants will produce state inconsistency and trigger false attack alarm. This problem makes it difficult for multi-threaded programs to run in MVX architecture. This paper proposed a compiler-supported synchronous compilation model for shared resource operations in multi-threaded programs. This model took the shared resource operations as synchronization points, analyzed the timing and mode of shared resource operations in multi-threaded programs. The model ensured the consistency of multiple threads operating on shared resource in different variants at runtime, eliminating the false attack alarms. Based on LLVM 12.0 compilation framework, this paper designed and implemented a prototype system based on the synchronous compilation model, and conducted simulation experiments on the prototype. The experimental results show that, processed by prototype system, multi-threaded programs have significantly lower false positive rates in MVX architecture. This indicates that, as a universal method, the synchronous compilation model can effectively eliminate the false attack alarms of multi-threaded programs running in MVX architecture, improving the availability of MVX.
Keywords:active defense  compiler  multi-variant execution
点击此处可从《计算机应用研究》浏览原始摘要信息
点击此处可从《计算机应用研究》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号