APP下载

软件动态防御技术研究综述

2017-09-30田楠蒲江

网络空间安全 2017年9期

田楠++蒲江

摘 要:软件动态防御技术是指通过动态更改软件自身及其执行环境,改变软件同质化现象,减少攻击者利用软件漏洞造成大规模攻击的一种技术手段。论文综述了目前常见的软件动态防御技术,包括地址空间随机化技术、指令集随机化技术和多变体执行技术等,介绍了各技术手段的研究现状和技术原理,分析了针对各类攻击的效能和存在的不足,最后对各种技术手段进行总结,并对软件动态防御技术的发展提出展望。

关键词:软件漏洞;软件动态防御;技术原理

中图分类号:TP311.5 文献标识码:A

1 引言

在信息安全攻防对抗中,软件始终处于重要位置。由于软件漏洞不可避免,导致软件防御相对于攻击存在严重的不对等性,而软件的同质化现象更加剧了这一不利局面。现有的主流防护技术仍以静态的、被动的防护为主,难以应对日新月异、快速变化的攻击技术。

软件动态防御作为一种新兴的安全理念,其主要思想是以密码技术、编译技术、动态运行时技术等为基础,对程序代码在控制结构、代码布局、执行时内存布局以及执行文件的组织结构等多层面进行随机性、多样性和动态性的处理,增加攻击者发现漏洞、利用漏洞的成本,有效抵御针对代码缺陷的外部代码攻击。

软件动态防御技术可以应用于软件生命周期的各个阶段。在编译与链接阶段,主要通过修改编译器实现动态化,通过添加、变换和去除现有指令,产生具有相同運行效果的程序变体。……

登录APP查看全文