CON-MVX:一种基于容器技术的多变体执行系统.pdf
《CON-MVX:一种基于容器技术的多变体执行系统.pdf》由会员分享,可在线阅读,更多相关《CON-MVX:一种基于容器技术的多变体执行系统.pdf(12页珍藏版)》请在咨信网上搜索。
1、第 9 卷 第 2 期 信 息 安 全 学 报 Vol.9 No.2 2024 年 3 月 Journal of Cyber Security March 2024 通讯作者:张铮,博士,副教授,Email:。本课题得到国家自然科学基金资金项目(No.61521003);国家重点研发计划基金资助项目(No.2018YFB0804003)资助。收稿日期:2022-04-26;修改日期:2022-09-30;定稿日期:2023-11-01 CON-MVX:一种基于容器技术的多变体执行系统 刘子敬1,张 铮1,席睿成1,喆朱鹏1,邬江兴2 1数字工程与先进计算国家重点实验室 郑州 中国 450001
2、 2国家数字交换系统工程技术研究中心 郑州 中国 450002 摘要 多变体执行是一种网络安全防御技术,其利用软件多样性生成等价异构的执行体,将程序输入分发至多个执行体并行执行,通过监控和比较执行体的状态来达到攻击检测的目的。相较于传统的补丁式被动防御技术,多变体执行不依赖于具体的攻击威胁特征进行分析,而是通过构建系统的内生安全能力来对大多数已知、甚至未知的漏洞做出有效防御。近年来,多变体执行技术在不断改进和完善,但是误报问题是制约其发展的主要因素。本文针对多变体执行产生误报的原因进行了详细分析,并在此基础上提出利用容器技术实现多变体执行系统在解决误报问题上的优势。为提升多变体执行技术的可用性
3、,本文设计并实现了一种基于容器技术的多变体执行系统 CON-MVX,有效解决传统多变体执行系统的误报问题。CON-MVX 利用多个经过运行时随机化技术构建的异构容器作为执行体,使用可重构的模块化组件和独立的容器管理工具对容器执行体进行编排管理,建立进程间监控器 CGMon,在内核层级实现对多个执行体的输入同步和输出裁决。同时,为满足与客户端良好交互性,建立中继端口策略,保证系统运行状态的正常反馈。实验结果表明,CON-MVX 在保证安全能力的前提下,能有效降低多变体执行系统的误报率,在双冗余度执行条件下使用 SPEC CPU 2006 测试集测试时,系统带来的平均额外性能损耗不超过 15%。关
4、键词 多变体执行;容器技术;软件漏洞;安全能力 中图法分类号 TP393 DOI 号 10.19363/J10-1380/tn.2024.03.04 CON-MVX:A Multi-Variant Execution System Based on Container Technology LIU Zijing1,ZHANG Zheng1,XI Ruicheng1,ZHU Pengzhe1,WU Jiangxing2 1 State Key Laboratory of Mathematical Engineering and Advanced Computing,Zhengzhou 45000
5、1,China 2 National Digital Switching System Engineering&Technological R&D Center,Zhengzhou 450002,China Abstract Multi-variant execution(MVX)is a network security defense technology.It uses software diversity to generate equivalent heterogeneous variants,distributes input to several variants for par
6、allel execution,and achieves the purpose of attack detection by monitoring and comparing the states of variants.Compared with traditional patch-type passive defense technology,MVX does not depend on analysis of specific attack threat characteristics,but can effectively defend against most known or e
7、ven unknown vulnerabilities by establishing the endogenous security capability of the system.In recent years,the MVX technology has been improved and perfected a lot,but the false positive problem is the main factor re-stricting its development.We analyze the causes of the false positive problem of
8、MVX technology in detail,on this basis,we propose the advantages of using container technology to build MVX system in solving the false positive problem.To improve the availability of MVX,we design and implement a container-based MVX system which is called CON-MVX to effectively address the false po
9、sitive problem of traditional MVX systems.CON-MVX uses multiple heterogeneous con-tainers constructed by runtime randomization as variants,uses reconfigurable modular components and independent con-tainer management tools to arrange and manage container variants,establishes the cross-process monitor
10、 which is called CGMon to synchronize the input and verdict the output of several variants at the kernel level.At the same time,a trunk port policy is established to ensure the normal feedback of the system running state in order to meet the favorable interac-tivity with the client.The experimental
11、results show that CON-MVX can effectively reduce the false positive rate of the MVX system under the premise of ensuring the security capability,and the average extra performance loss of the system is less than 15%in our test with SPEC CPU 2006 under the dual redundancy execution condition.Key words
12、 multi-variant execution;container technology;software vulnerability;security capability 48 Journal of Cyber Security 信息安全学报,2024 年 3 月,第 9 卷,第 2 期 1 引言 互联网是一个复杂的动态环境1,随着信息技术的进步和程序代码量级的提升,软件产品的功能越来越复杂,从软件安全与其复杂性关系的角度来看,不可避免的会产生诸多漏洞,本地环境下漏洞带来的威胁是可以控制的,但是在信息高速传播和网络全球化的背景下,软件产品的供应链不断拉长,使得漏洞在网络环境中得以迅速传播
13、,给软件供应链带来安全威胁,甚至会造成供应链断裂,带来较为严重的后果。其中,软件同质化是加剧供应链风险程度的重要因素2-3,开源代码框架的使用继承给开发者带来便利的同时,极大的降低了攻击者利用漏洞进行破坏的门槛,使得漏洞后门可以被利用到相似环境的目标系统中,扩大了网络安全的受威胁范围。为解决软件同质化带来的安全威胁,研究者从软件多样化的角度对攻击手段进行缓解,限制攻击的传播途径4。但是由于存在软件“熵”空间的限制,使得仅仅依靠多样化无法实现对软件的全方位保护5-6。近年来,研究者在软件多样化思想的基础上,提出了一种基于异构冗余思想的多变体执行防御技术,有效地解决了仅依靠软件多样化带来的局限性,
14、为网络空间安全提供一种全新的主动防御手段7。多变体执行技术使用软件多样化技术构建功能等价、结构互异的执行体集合,在程序运行时为每个执行体赋予相同的输入,设置同步分发器保证多个执行体的输入同步,利用监控器监视每个执行体的输出行为并检测其输出结果的区别,通过裁决输出结果,就可以发现程序执行过程中存在的异常行为,进而达到安全防御的目的8。然而,现有的多变体执行架构依然存在许多不完善的方面,裁决误报是导致多变体执行架构可用性降低的主要因素。裁决误报问题产生的主要原因是系统监控器会把不需要参与裁决的变量被动地容纳到裁决过程中,导致正常的输入在多个执行体并行执行的过程中产生不一致的结果,进而引起监控器的裁
15、决误判,将正常的输入判定为攻击异常,严重影响了多变体执行系统的可用性。为解决多变体执行技术中存在的误报问题,本文基于容器技术设计实现一种新型的多变体执行系统 CON-MVX。CON-MVX 利用自定义容器编排工具管理多个异构容器执行体;利用容器命名空间隔离机制,实现对多个执行体系统资源的隔离,为执行体创建独立的运行环境,避免非必要的裁决因素对系统监控裁决的影响;通过构建内核层级的监控器,实现多个相互隔离的执行体之间的资源同步和输出裁决。实验证明,CON-MVX 在保证多变体执行系统安全防御能力的同时,能够有效降低误报率,极大地提升了多变体执行技术的可用性。本文的主要创新点有:1)本文首次通过容
16、器技术构建多变体执行系统,利用容器的资源隔离属性,降低系统误报率,提升了多变体执行的可用性;2)本文提出多异构容器执行体构建模型,为多个异构容器创建统一的管理环境,对攻击者展现为无法预知内部结构的黑盒容器组,保证多变体执行系统的安全性;3)本文基于 Linux 内核加载模块设计实现多变体执行进 程间监控 器(Container Group Monitor,CGMon)。CGMon 建立在内核态,能够有效实现对多个命名空间相隔离的执行体系统调用的监控和资源同步。文章结构安排如下:第 1 章为全文的引言部分;第 2 章介绍背景知识和研究现状,并对误报问题进行分析解决;第 3 章提出系统威胁模型;第
17、 4 章提出系统设计方案;第 5 章阐述系统实现方案;第 6 章对原型系统进行全面的实验评估;第 7 章通过分析系统局限性对未来工作进行展望;第 8 章对全文进行总结。2 背景及现状分析 2.1 背景知识 控制流劫持是一种常见的攻击手段,攻击者通常利用缓冲区溢出等类型的软件漏洞,非法篡改进程中的控制数据,从而改变进程的控制流程并执行特定恶意代码,达到攻击目的9。控制流劫持攻击的实例包括代码注入、代码重用、面向返回的编程(ROP)、面向跳转的编程(JOP)和面向调用的编程(COP)等。针对控制流劫持的防御措施已经得到了广泛的研究,其中包括程序运行前静态分析检测10-12,数据执行保护13,内存地
18、址空间布局随机化14-17,控制流完整性等技术18-20。虽然这些防御手段能够降低成本和性能开销,对特定的漏洞实施有效防御,但是只能防御有限类别的漏洞或特定的攻击方式,无法高效抑制层出不穷的 0-day 漏洞。攻击技术和防御技术始终在此消彼长,不断演进,防御技术也由传统的被动防御发展到新型的主动防御。多变体执行技术是主动防御在软件层级应用的典型代表8。Cox 等人于 2006 年首次提出多变刘子敬 等:CON-MVX:一种基于容器技术的多变体执行系统 49 体执行架构用于解决软件安全问题7。作为一种主动防御方式,多变体执行使用软件多样性技术生成执行体集合,将程序输入分发至多个功能相同、结构互异
19、的执行体并行执行,设置裁决点,通过比较发现执行体状态的不一致来检测攻击。攻击者必须在不触发裁决检测的情况下同时对多变体执行架构中所有变体实施攻击才能达到攻击的目的,极大增加了攻击的难度。多变体执行技术利用的软件多样性技术,通过对冗余异构执行体的监控裁决能够有效防御基于控制流劫持的攻击手段,同时,较传统防御手段在面临未知威胁时的适用性更强,更具有普适性7,21。程序运行时随机化技术为网络空间安全提供了新的技术手段和发展方向,其在空间维度上产生结构差别的特性能够有效的阻隔攻击链的相关性,为多变体执行技术中异构执行体的建立提供了有效支撑8。执行体的输出裁决技术是多变体执行技术的核心内容之一,在进行多
20、变体执行系统监控时采用的方法主要有:在单一副本程序或从执行体中进行监控,通过内存缓冲区读取主执行体的输出结果进行裁决判定,本文称这种方式为进程内监控(In-process monitoring,IPM),IPM 主要通过建立共享内存缓冲区,向其中写入主执行体的输出数据,从执行体在锁步执行的前提下,读取缓冲区数据,并在系统调用层级进行比较裁决22。但是这种监控手段存在一定的安全隐患,无法确保攻击者是否对从变体共享内存缓冲区进行数据篡改,监控器的执行容易受到干扰甚至破坏。另一种监控手段是建立独立于执行体进程的监控器进程,本文称这种方式为进程间监控(Cross-process monitoring,
21、CPM),CPM 的监控的粒度通常在系统调用层级,通常在用户态采用ptrace调试工具对系统调用进行拦截处理,通过程序在系统调用之前暂停副本,检查它们的参数是否相等来进行裁决判定。2.2 研究现状 多变体执行技术虽然具有较传统防御技术更高的适用性,但是仍然存在一定的局限,其中,误报问题是制约多变体执行技术发展的主要瓶颈。在不具备攻击输入的条件下,多个执行体并行执行时出现不一致的程序状态转换或输出结果,监控器将正常执行识别为攻击行为,称为多变体执行过程中的误报问题。近年来,解决多变体执行的误报问题始终是研究重点。2015 年 Hosek 等人22提出的 VARAN 多变体执行系统,通过减小共享环
22、形缓冲区大小的方 式来降低系统调用的判断次数,以此来解决误报,但是会给系统性能带来较大影响,同时,由于其未能对敏感与非敏感系统调用进行区分,使得在进行监控器裁决时,仍然容易出现误报,给攻击者带来更多的利用机会。2016 年 Volckaert 等人23提出的ReMon 监控器框架,针对监控器 IP-MON 进行系统调用裁决策略的改造,但是依然无法避免程序本身与操作系统底层过多的资源交换带来的误报问题。该类基于系统内核的多变体执行架构在处理执行体裁决粒度问题上仍然面临困难,在进行系统调用处理过程时仍然存在较多的误报,监控器的执行容易受到多个执行体进程间通信的影响,导致系统攻击面扩大,安全性能降低
23、。2020 年,弗吉尼亚理工大学团队提出分布式的多变体执行框架 HeterSec24,通过多个硬件的指令集架构的异构性提高应用程序安全性。HeterSec 使保护进程能够利用多样化指令集作为动态防御的附加层,通过多个编译器和内核扩展构建起安全执行环境,主从执行体通过InfiniBand连接通信。这样虽然能够降低系统误报率,但是多个异构芯片之间的通信给性能带来了较大的损失,而且部署成本较高,应用场景较为狭窄。2021 年,潘传幸等人25基于拟态防御原理提出面向进程控制流劫持的防御系统 Mimicbox,能够有效防御基于绝大部分基于已知类型二进制漏洞的控制流劫持攻击,但是依然存在冗余进程之间内生的
24、不一致属性导致的误报问题。2.3 误报原因分析 现有的多变体执行技术以进程为冗余执行的主体,在多个执行体进程并行执行过程中,将部分进程之间相关联的对象,如进程内部随机数变量、进程外部由操作系统管理的进程号(PID)和文件描述符等被动地纳入到了多变体执行的裁决过程中,由这些合法的不一致因素产生的正常不一致输出被监控器误判为异常,从而产生误报。为更清晰地解释误报问题产生的原因,本文根据图 1 实例进行分析,执行体1 和执行体 2 分别向操作系统请求 PID,作为 libc 库随机数种子。PID 是单一进程在整个系统空间下的唯一认证,所以不存在两个相同 PID 的进程。在传统多变体执行系统中,由于执
25、行体是通过多次 fork()调用完成创建的,不存在父子进程关系,所以系统PID号必然不一致,导致生成的随机数也不同,在后续使用随机数,如 HTTPS 协议交换随机数等应用场景时输出产生不一致,监控器将正常随机数读取误报为攻击行为。50 Journal of Cyber Security 信息安全学报,2024 年 3 月,第 9 卷,第 2 期 图 1 多变体执行误报问题 Figure 1 Multi-variant execution false positive prob-lem 2.4 误报问题解决方法 解决误报问题的关键在于为执行体创建独立的运行环境,消除多变体执行中合法的不一致因素给
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CON MVX 一种 基于 容器 技术 多变 执行 系统
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。