软件漏洞防御方法研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:adamadama
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机与互联网技术的深入发展,信息安全问题日益复杂化。应用程序规模迅速扩大,程序漏洞数量随之增加,针对程序漏洞的利用攻击威胁居高不下,现有漏洞防范手段在复杂多变的威胁下显得尤为不足。近年来,新安全机制在操作系统中广泛实施,有效缓解了传统的漏洞利用攻击。然而,漏洞攻击手段正在不断更新换代,对漏洞目标的攻击愈加巧妙和精准,攻击实施过程日益复杂,攻击所带来的后果愈发严重,这些变化为信息安全带来了严重的挑战。  针对上述问题与挑战,本文围绕软件漏洞安全问题展开研究,从软件漏洞利用自动化生成、软件漏洞利用攻击自动化检测以及面向漏洞利用的程序安全加固方法三方面进行深入分析并提出解决方案,取得了如下研究成果:  1)提出了一种软件漏洞多样性利用代码自动化生成方法。本方法仅依靠漏洞二进制程序和使其触发崩溃的异常输入,利用动态污点分析方法跟踪程序执行流程。在发现程序控制流转移发生异常时,在污点内存区域中部署攻击代码和所需的跳转链,构造攻击路径,使程序执行流能够通过跳转链成功转移至攻击代码。我们构造程序执行至控制流劫持点所需满足的路径约束条件,同时将内存和程序输入之间数据依赖关系转换为约束表达式,最终利用求解器自动化地求解出利用样本。本文提出了部署攻击代码和构造多样性跳转链的方法,能够构造出多种攻击路径,从而最终构造出多样性的利用样本。所生成的多样性、高质量的样本,有助于分析人员系统地评估漏洞危害,提出有效的防御方案。  2)提出了一种基于异常控制流识别的软件漏洞利用攻击自动检测方法。本方法通过对目标程序的静态分析和动态执行监测,构建完整的安全执行轮廓,限定控制流转移的合法目标,在函数调用、函数返回和间接跳转等控制流转移时,检查目标地址的合法性,将异常控制流转移判定为漏洞攻击,捕获完整的攻击步骤。我们实现了原型系统,并对多个实际漏洞攻击样本进行实验评估。实验结果表明,该方法能够准确检测到漏洞利用攻击,并具备良好的运行效率。  3)提出了一种细粒度的基于控制流完整性校验的软件安全加固方法。本方法提出了“二进制代码岛”的概念,将二进制程序划分为若干个代码岛,实现细粒度的控制流转移约束。本方法通过复制部分程序代码和静态分析,将二进制程序划分为多个互斥的代码岛,将二进制程序中所有的控制流指令归类为“代码岛内转移”指令和“代码岛间”的转移指令,并为这两种类型的控制流指令分别实施不同的转移约束条件。与已有方法相比,本方法更为严格地限定了间接控制流转移的合法目标,显著提高控制流转移的防护效果。  4)提出了两个量化评估指标,用于评估基于控制流完整性对二进制程序进行安全加固的效果。基于控制流完整性对二进制程序加固,能够有效地防范控制流劫持利用攻击。本文提出两个量化评估指标,从对控制流转移的约束粒度和构造控制流劫持利用难度等不同方面,对二进制程序中控制流转移的安全加固效果进行评估。这些评估指标对软件漏洞防御和安全分析具有重要的指导作用。
其他文献
传统的主存储器DRAM由于制造工艺的束缚,其集成度已经很难再攀新高。另外,DRAM又受限于能耗高等问题,给计算机系统带来了巨大的挑战。新型存储器PCM(phase change memory,相变存储
近些年来,家庭网络技术迅猛发展,多种家庭网络技术共存。由于不同家庭网络技术之间存在广泛的异构性,致使不同家庭网络的设备无法互操作。本文围绕异构家庭网络互操作问题进行了
频繁模式挖掘是许多数据挖掘问题的核心任务,并有广泛的应用。人们对数据隐私和信息安全的关注,往往限制和阻碍正常的挖掘任务。如何在基于隐私和安全考虑的环境中,很好地实施频
随着企业信息化应用的深入,大型企业产生需要将各部门的遗留系统集成为企业应用。EAI技术的出现就是用来解决企业内部的应用程序和商业过程的集成问题。由于各部门的遗留系统
为了更迅速地响应市场需求,从而获得最大的商业价值,软件开发组织需要进行快速的迭代开发,并频繁发布产品。这种轻量级的敏捷过程强调人、过程和工具之间需要进行频繁交互。这导
2015年度,我国A股市场频频出现暴跌踩踏场面,其惨烈程度超过1997年的香港金融风暴。作为套期保值和投机做空的主要工具,以股指期货合约、ETF基金为代表的金融衍生品交易,成为股市
高性能计算是世界各国竞相发展的高科技技术,而集群系统是高性能计算技术的主流方向。人类对计算机性能的要求是无穷无尽的,在诸如网上电子商务,预测模型的模拟,DNA计算,数据
随着时空数据库和智能交通系统的发展,如何解决最小代价路径的查找问题,逐渐成为热点。在道路网络的应用当中,用户真正感兴趣的,一方面是行驶时间最小的路径(最快路径),而这会随着
随着软件技术在各个领域应用的不断拓宽和加深,以及软件技术本身的不断发展,软件的数量、规模与复杂性也在不断的增长。特别是在网络环境下,“软件即服务”逐渐从概念转化为现实
随着网络的快速发展,网络信息呈指数级增长。搜索引擎已经成为人们从网络中获取信息的重要工具之一。依据用户输入的查询,当前主流的搜索引擎通常采用关键词匹配机制进行检索并