题名 一种基于风险代码抽取的控制流保护方法
1
作者
李勇钢
钟叶青
郑伊健
林果园
鲍宇
机构
中国矿业大学计算机学院信息安全系
香港中文大学(深圳)数据科学学院
出处
《计算机学报》
EI
CAS
CSCD
北大核心
2024年第6期1372-1392,共21页
基金
“中央高校基本科研业务费专项资金”(2023QN1078)资助.
文摘
代码复用攻击是控制流安全面临的主要威胁之一.虽然地址分布随机化能够缓解该攻击,但它们很容易被代码探测技术绕过.相比之下,控制流完整性方法具有更好的保护效果.但是,现有的方法要么依赖于源码分析,要么采用无差别跟踪的方式追踪所有的控制流转移.前者无法摆脱对源码的依赖性,后者则会引入巨大的运行时开销.针对上述问题,本文提出一种新的控制流保护方法MCE(Micro Code Extraction).MCE的保护目标是源码不可用的闭源对象.与现有的方法相比,MCE并不会盲目地追踪所有的控制流转移活动.它实时地检测代码探测活动,并仅将被探测的代码作为保护目标.之后,MCE抽取具有潜在风险的代码片段,以进一步缩小目标对象的大小.最后,所有跳转到风险代码中的控制流都会被追踪和检测,以保护它的合法性.实验和分析表明,MCE对代码探测和代码复用攻击具有良好的保护效果,并在一般场景下仅对CPU引入2%的开销.
关键词
代码探测
代码复用攻击
控制流劫持
代码抽取
内存访问控制
Keywords
code probes
code reuse attack s
control flow hijacking
code extraction
memory access control
分类号
TP309
[自动化与计算机技术—计算机系统结构]
题名 基于软硬件结合的控制流完整性保护技术
2
作者
梁浩
何本伟
王庆丰
程国振
马海龙
机构
信息工程大学
出处
《网络与信息安全学报》
2024年第5期107-118,共12页
基金
国家自然科学基金(62002383)。
文摘
针对影子栈难以兼顾安全性和性能,软件实现的前向CFI(control-flow integrity)技术性能开销过大、难以进行实际部署,提出基于软硬件结合的CFI(control-flow integrity based on the combination of software and hardware,SHCFI)技术。通过二进制重写器对程序反编译,生成中间语言,并判断转移指令类型。对于后向控制流的保护,提出基于返回地址加密的平行影子栈方案,使用随机数对栈上的返回地址进行异或加密,将加密结果备份到原始栈固定偏移处的影子栈中,在函数返回时对影子栈中的地址异或解密,将解密结果作为实际的返回地址。对于前向控制流的保护,使用硬件ENDBRANCH状态机指令标记间接转移指令的目标地址,在运行时对目标地址进行合法性检查,以降低性能开销。实验结果表明,SHCFI加固后的程序能够有效地防御代码重用攻击,且具有良好的运行开销。
关键词
软件多样化
控制流完整性
软硬件结合
代码重用攻击
Keywords
software diversity
control-flow integrity
combination of software and hardware
code -reuse attack
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
题名 面向二进制代码的细粒度软件多样化方法
3
作者
何本伟
郭云飞
梁浩
王庆丰
机构
信息工程大学信息技术研究所
出处
《计算机工程》
CSCD
北大核心
2024年第1期138-144,共7页
基金
国家自然科学基金(62002383)
国家重点研发计划(2021YFB1006200,2021YFB1006201)。
文摘
现有软件多样化方法大多需要源代码,基于编译器生成变体二进制,而对二进制代码直接进行转换时由于缺乏调试信息导致难以正确逆向,且易造成高额的性能开销。为此,提出一种面向二进制代码的细粒度软件多样化方法。通过静态二进制重写技术以函数块为单位进行重排序,随机化函数在代码段中的原始位置,同时使程序的内存片段gadgets位置发生改变,使得攻击者对程序的先验知识失效,以防御大规模代码重用攻击。为了进一步提高攻击者破解难度,对基本块内的指令进行依赖性分析,实现基本块内指令随机化,同时使得随机化后基本块的原始语义不变。性能测试结果表明,函数重排序对gadgets存活率的影响大于基本块内指令重排序,两者同时使用时程序的gadgets平均存活率为5.71%;模糊哈希算法Tlsh比较结果显示,该方法能够有效躲避同源性检测;使用工具Bindiff进行测试的结果表明,多样化后基本块内指令重排序的异构度大于函数重排序,且在基准测试集SPEC CPU2006上函数重排序和指令重排序同时使用时平均运行开销仅为3.1%,具有良好的实用性。
关键词
软件多样化
代码重用攻击
二进制重写
代码随机化
数据依赖性
Keywords
software diversification
code -reuse attack s
binary rewriting
code randomization
data dependency
分类号
TP391
[自动化与计算机技术—计算机应用技术]
题名 代码复用攻防技术演化综述
4
作者
詹静
陈鹏
张茜
李永震
赵勇
机构
北京工业大学信息学部
可信计算北京市重点实验室
出处
《北京工业大学学报》
CAS
CSCD
北大核心
2024年第5期632-650,共19页
基金
国家重点研发计划资助项目(2016YFB0800204)。
文摘
当前代码复用攻击研究多从一种或多种代码复用攻击或防御技术角度进行现状和趋势分析,对影响攻防的关键特征及技术覆盖不全面,对攻防技术对抗演化发展规律分析较少。为解决上述问题,从经典代码复用攻击——返回导向编程(return-oriented programming,ROP)攻击的生命周期入手,归纳影响此类攻击成功与否的关键特征,基于时间线和这些特征,综合衡量安全和性能因素,给出了代码复用攻防技术的发展规律。
关键词
程序安全
代码复用攻击
攻防技术演化
指令结构特征
地址随机化
运行代码特征
Keywords
program security
code reuse attack
attack and defense technology evolution
instruction structure characteristics
address randomization
runtime code characteristics
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
题名 基于gadget特征分析的软件多样性评估方法
5
作者
谢根琳
程国振
王亚文
王庆丰
机构
信息工程大学
出处
《网络与信息安全学报》
2023年第3期161-173,共13页
基金
国家重点研发计划(2021YFB1006200,2021YFB1006201)
国家自然科学基金(62072467)。
文摘
软件多样性能够有效提升系统弹性和安全性,广泛应用于软件分发、操作系统等场景,但现有软件多样性评估方法普遍基于常规代码特征进行度量且较为单一,难以准确反映软件多样性带来的安全增益。针对此问题,以ROP(return-oriented programming)攻击视角出发,通过分析软件多样性对代码重用攻击过程中各阶段的影响,提出了一种综合gadget质量、实用性和分布指标的软件多样性评估方法,通过度量软件多样性对构建gadget攻击链的难度、攻击者潜在可获得的计算能力和攻击者在不同变体中搜索gadget成本的影响程度对其进行安全性评估。利用不同粒度的多样化技术进行实验,结果表明,所提方法能够准确全面地反映软件多样性带来的安全增益,细粒度的多样化技术能使软件中大量的gadget重定位/修改/移除,增加攻击软件变体的成本,但部分多样化技术会导致不同程度的软件膨胀等问题。最后,依据不同度量指标下得到的结果对现有软件多样化技术的优势与不足进行分析和讨论。
关键词
软件多样性
代码重用攻击
gadget特征
安全增益
Keywords
software diversity
code reuse attack
gadget feature
security gain
分类号
TP309
[自动化与计算机技术—计算机系统结构]
题名 基于二进制重写的软件多样化方法
6
作者
何本伟
郭云飞
王亚文
王庆丰
扈红超
机构
信息工程大学
出处
《网络与信息安全学报》
2023年第2期94-103,共10页
基金
国家重点研发计划(2021YFB1006200,2021YFB1006201)
国家自然科学基金(62072467)。
文摘
软件多样化是应对代码重用攻击的有效方法,但现有软件多样化技术大多基于源代码实现,相比二进制文件,程序源代码并不容易获得。二进制文件难以做到精准拆卸、区分代码指针和数据常量,使得对二进制文件的多样化转换有限,难以产生足够高的随机化熵,容易被攻击者暴力破解。针对此问题,提出一种面向二进制文件的软件多样化方法,指令偏移随机化,该方法基于静态二进制重写技术在程序指令前以一定概率插入不同字节长度的无操作(NOP)指令,不仅能够减少程序中非预期的gadget数量,还使原指令地址发生随机偏移,打乱程序原有的内存布局,增加了代码重用攻击的成本。同时,针对所提方法设计了基于“热”代码的优化策略,通过动态插桩获得二进制文件中基本块的执行次数,以此调整每个基本块中NOP指令的插入概率,在执行频率更高的基本块中插入更少的NOP指令,可以保证较低性能开销的同时产生更高的随机化熵。实验部分使用SPEC基准测试程序,从性能开销、gadget存活率、文件大小等角度对优化后的方法进行实例测试,结果表明:当插入概率为15%时效果最好,程序中gadget平均存活率趋于稳定且小于1.49%,增加攻击者重复利用相同gadget攻击链攻击难度的同时,该安全性下仅额外增加了4.1%的运行开销和7.7%的文件膨胀率。
关键词
软件多样化
二进制重写
NOP指令插入
代码重用攻击
Keywords
software diversity
binary rewriting
NOP insertion
code -reuse attack
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
题名 基于运行特征监控的代码复用攻击防御
被引量:4
7
作者
张贵民
李清宝
张平
程三军
机构
解放军信息工程大学
数学工程与先进计算国家重点实验室
信息保障技术重点实验室
河南省人民检察院
出处
《软件学报》
EI
CSCD
北大核心
2019年第11期3518-3534,共17页
基金
国家社会科学基金(15AJG012)
核高基国家科技重大专项(2013JH00103)
信息保障技术重点实验室开放基金(KJ-15-107)~~
文摘
针对代码复用的攻击与防御已成为网络安全领域研究的热点,但当前的防御方法普遍存在防御类型单一、易被绕过等问题.为此,提出一种基于运行特征监控的代码复用攻击防御方法RCMon.该方法在分析代码复用攻击实现原理的基础上定义了描述程序正常运行过程的运行特征模型RCMod,并提出了验证程序当前运行状态是否满足RCMod约束规则的安全验证自动机模型.实现中,通过直接向目标程序中植入监控代码,使程序运行到监控节点时自动陷入,并由Hypervisor实现运行特征库的构建和安全验证.实验结果表明,RCMon能够有效地防御已知的绝大部分代码复用攻击,平均性能开销约为22%.
关键词
代码复用攻击
运行特征
系统调用
插桩
Keywords
code reuse attack (cra )
running characteristics
system call
instrumentation
分类号
TP309
[自动化与计算机技术—计算机系统结构]
题名 面向Linux的内核级代码复用攻击检测技术
被引量:8
8
作者
陈志锋
李清宝
张平
王烨
机构
解放军信息工程大学
数学工程与先进计算国家重点实验室
出处
《软件学报》
EI
CSCD
北大核心
2017年第7期1732-1745,共14页
基金
"核高基"国家科技重大专项(2013JH00103)
国家高技术研究发展计划(863)(2009AA01Z434)~~
文摘
近年来,代码复用攻击与防御成为安全领域研究的热点.内核级代码复用攻击使用内核自身代码绕过传统的防御机制.现有的代码复用攻击检测与防御方法多面向应用层代码复用攻击,忽略了内核级代码复用攻击.为有效检测内核级代码复用攻击,提出了一种基于细粒度控制流完整性(CFI)的检测方法.首先根据代码复用攻击原理和正常程序控制流构建CFI约束规则,然后提出了基于状态机和CFI约束规则的检测模型.在此基础上,基于编译器,辅助实现CFI标签指令插桩,并在Hypervisor中实现CFI约束规则验证,提高了检测方法的安全性.实验结果表明,该方法能够有效检测内核级代码复用攻击,并且性能开销不超过60%.
关键词
代码复用攻击
内核
控制流完整性
插桩
约束规则
Keywords
code reuse attack
kernel
control flow integrity
instrumentation
constraint rule
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
题名 运行时代码随机化防御代码复用攻击
被引量:5
9
作者
张贵民
李清宝
曾光裕
赵宇韬
机构
解放军信息工程大学
数学工程与先进计算国家重点实验室
出处
《软件学报》
EI
CSCD
北大核心
2019年第9期2772-2790,共19页
基金
国家社会科学基金(15AJG012)
国家“核高基”科技重大专项(2013JH00103)~~
文摘
代码复用攻击日趋复杂,传统的代码随机化方法已无法提供足够的防护.为此,提出一种基于运行时代码随机化的代码复用攻击防御方法 LCR.该方法在目标程序正常运行时,实时监控攻击者企图获取或利用 gadgets 的行为,当发现监控的行为发生时,立即触发对代码进行函数块级的随机化变换,使攻击者最终获取或利用的 gadgets信息失效,从而阻止代码复用攻击的实现.设计实现了 LCR原型系统,并对提出的方法进行了测试.结果表明: LCR能够有效防御基于直接或间接内存泄漏等实现的代码复用攻击,且在 SPEC CPU2006 上的平均开销低于 5%.
关键词
代码随机化
代码复用攻击
内存泄漏
Keywords
code randomization
code reuse attack
memory disclosure
分类号
TP309
[自动化与计算机技术—计算机系统结构]
题名 基于代码防泄漏的代码复用攻击防御技术
被引量:5
10
作者
王烨
李清宝
曾光裕
陈志锋
机构
解放军信息工程大学
数学工程与先进计算国家重点实验室(解放军信息工程大学)
出处
《计算机研究与发展》
EI
CSCD
北大核心
2016年第10期2277-2287,共11页
基金
国家社会科学基金项目(15AGJ012)
"核高基"国家科技重大专项基金项目(2013JH00103)~~
文摘
随着地址空间布局随机化被广泛部署于操作系统上,传统的代码复用攻击受到了较好的抑制.但新型的代码复用攻击能通过信息泄露分析程序的内存布局而绕过地址空间布局随机化(address space layout randomization,ASLR),对程序安全造成了严重威胁.通过分析传统代码复用攻击和新型代码复用攻击的攻击本质,提出一种基于代码防泄漏的代码复用攻击防御方法 VXnR,并在Bitvisor虚拟化平台上实现了VXnR,该方法通过将目标进程的代码页设置可执行不可读(Execute-no-Read,XnR),使代码可以被处理器正常执行,但在读操作时根据被读物理页面的存储内容对读操作进行访问控制,从而阻止攻击者利用信息泄露漏洞恶意读进程代码页的方法搜索gadgets,实验结果表明:该方法既能防御传统的代码复用攻击,还能够防御新型的代码复用攻击,且性能开销在52.1%以内.
关键词
地址空间布局随机化
代码复用攻击
程序安全
信息泄露
虚拟化
Keywords
address space layout randomization (ASLR)
code reuse attack
program security
information leaks
virtualization
分类号
TP303
[自动化与计算机技术—计算机系统结构]
TP309
[自动化与计算机技术—计算机系统结构]
题名 利用返回地址保护机制防御代码复用类攻击
被引量:2
11
作者
陈林博
江建慧
张丹青
机构
同济大学软件学院
出处
《计算机科学》
CSCD
北大核心
2013年第9期93-98,102,共7页
文摘
尽管现有多种防御方法和技术,但是针对软件系统和网络的攻击仍然是难以防范的威胁。在引入只读/写和地址空间随机化排列方法后,现代操作系统能有效地应对恶意代码注入类型的攻击。但是攻击者可以利用程序中已经存在的代码,将其组装成具有图灵完全计算功能的连续的代码块,用以绕过已有的防御机制。针对代码复用类攻击防御方法的局限性,提出了一种利用返回地址实时保护机制的防御方法,以有效防御代码复用类攻击,特别是ROP攻击。在程序运行时,通过对其栈中返回地址值的加密保护和实时检测,防止所有的以0xC3字符(即ret指令)结尾的短序列代码段的连续执行。该方法不需要源代码和调试信息,能完全防御ROP攻击,并且其性能开销也具有明显的优势。
关键词
代码复用类攻击
ROP攻击
返回地址保护
二进制代码动态翻译
Keywords
code reuse attack s, Return-oriented programming attack s, Return address protection, Binary dynamic trans-lation
分类号
TP303.08
[自动化与计算机技术—计算机系统结构]
题名 用多密钥加密方法防御面向返回编程的攻击
被引量:1
12
作者
陈林博
江建慧
张丹青
机构
同济大学软件学院
出处
《高技术通讯》
CAS
CSCD
北大核心
2014年第4期355-364,共10页
基金
863计划(2007AA01Z142)资助项目
文摘
针对面向返回编程(ROP)攻击的特性,提出了一种利用多密钥加密函数返回地址值防ROP攻击的方法。这种方法通过密钥指定位以及密钥迷惑位的巧妙设置,防止密钥在泄露情况下攻击者实施有效攻击的可能。利用二进制代码动态翻译工具PIN开发了原型系统,在实现时,为了避免攻击者攻击原型系统而直接访问密钥,引入了诱饵密钥,在增加攻击难度的同时降低了可信计算基。其有效性分析和实验结果表明,在不需要其他信息(如源码、调试信息等)条件下,多密钥加密防御方法能在适当的性能开销下,有效防御ROP攻击,并且其误报率极低。
关键词
代码复用类攻击
返回编程(ROP)攻击
多密钥加密保护
密钥迷惑位
诱饵密钥
Keywords
code reuse attack s
return-oriented programming (ROP) attack s
multi-key protection
obfuscated bits
cheating keys
分类号
TN918.4
[电子电信—通信与信息系统]
题名 基于诱捕的软件异常检测综述
被引量:2
13
作者
傅建明
刘畅
解梦飞
罗陈可
机构
空天信息安全与可信计算教育部重点实验室
武汉大学国家网络安全学院
出处
《网络与信息安全学报》
2022年第1期15-29,共15页
基金
国家自然科学基金(61972297,62172308,62172144)。
文摘
高级持续威胁(APT,advanced persistent threats)会使用漏洞实现攻击代码的自动加载和攻击行为的隐藏,并通过复用代码攻击绕过堆栈的不可执行限制,这是网络安全的重要威胁。传统的控制流完整性和地址随机化技术虽然有效抑制了APT的步伐,但软件的复杂性和攻击演化使软件仍存在被攻击的时间窗口。为此,以资源为诱饵的诱捕防御是确保网络安全的必要补充。诱捕机制包含诱饵设计和攻击检测两部分,通过感知与诱饵的交互行为,推断可能的未授权访问或者恶意攻击。针对文件、数据、代码3种诱饵类型,设计诱饵的自动构造方案并进行部署,从真实性、可检测性、诱惑性等方面对诱饵的有效程度进行度量。基于诱捕防御的勒索软件检测注重诱饵文件的部署位置,在漏洞检测领域,通过注入诱饵代码来检测代码复用攻击。介绍了在APT攻击各个阶段实施诱捕防御的相关研究工作,从诱饵类型、诱饵生成、诱饵部署、诱饵度量方面刻画了诱捕防御的机理;同时,剖析了诱捕防御在勒索软件检测、漏洞检测、Web安全方面的应用。针对现有的勒索软件检测研究在诱饵文件设计与部署方面的不足,提出了用于检测勒索软件的诱饵动态更新方法。讨论了诱捕防御面临的挑战,希望诱捕防御可以为发现未知攻击、溯源攻击意图提供理论和技术支持。
关键词
高级持续威胁
代码复用攻击
控制流完整性
地址随机化
诱捕防御
Keywords
advanced persistent threat
code reuse attack
control flow integrity
address randomization
deception defense
分类号
TP393
[自动化与计算机技术—计算机应用技术]
题名 基于可执行内存不可读属性的防代码重用技术
被引量:1
14
作者
杨超
王清贤
魏强
机构
信息工程大学
数学工程与先进计算国家重点实验室
出处
《信息工程大学学报》
2016年第1期59-64,共6页
基金
国家863计划资助项目(2012AA012902)
文摘
为了防止代码重用攻击,经典的方法是通过代码随机化或者重构,使其地址无法被准确定位。然而,通过内存泄露攻击可以实时读取可执行内存,实现利用代码的动态构建。深入分析了内存泄露攻击的本质特征,提出了基于可执行内存不可读属性的防代码重用技术。该技术将可执行内存的属性设置为不可读,在保证程序正常执行的前提下,防止代码被作为数据读取。由于当前Intel x86和ARM处理器不支持内存"可执行但不可读"(XnR)的属性,通过软件模拟实现了XnR的功能。基于Linux平台的测试结果显示,XnR带来的额外开销只有2.2%,具有良好的可行性和实用性。
关键词
代码重用攻击
内存泄露攻击
可执行但不可读
软件模拟
Keywords
code reuse attack
memory disclosure attack
executable but not readable
software emulation
分类号
TP311.56
[自动化与计算机技术—计算机软件与理论]
题名 基于指令校验的软硬件协同代码重用攻击防护方法
被引量:1
15
作者
吕雅帅
机构
中国人民解放军装备学院国防科技重点实验室
出处
《电子学报》
EI
CAS
CSCD
北大核心
2016年第10期2403-2409,共7页
基金
国家自然科学基金(No.61202129)
文摘
面向x86处理器的代码重用攻击难于防护的一个重要原因是,在x86程序代码中存在大量合法但非编程者预期要执行的指令.这些在代码中大量存在的非预期指令可被用于构造实现CRA的组件.先前研究均采用软件方法解决非预期指令问题,运行开销大且应用受限.本文的主要贡献之一是提出了一种低开销的软硬件协同方法来解决x86的非预期指令问题.实验表明,本文的实现方法仅给应用程序带来了-0.093%~2.993%的额外运行开销.此外,本文还提出采用硬件实现的控制流锁定作为一项补充技术.通过同时采用两个技术,可以极大降低x86平台遭受代码重用攻击的风险.
关键词
代码重用攻击
非预期指令
指令校验
Keywords
code -reuse attack
unintended instruction
instruction verification
分类号
TP303
[自动化与计算机技术—计算机系统结构]
题名 一种基于实时代码装卸载的代码重用攻击防御方法
被引量:2
16
作者
侯尚文
黄建军
梁彬
游伟
石文昌
机构
中国人民大学信息学院
出处
《计算机科学》
CSCD
北大核心
2022年第10期279-284,共6页
基金
国家自然科学基金(U1836209)。
文摘
近年来,代码重用攻击(Code Reuse Attack)已经成为针对二进制程序的一种主流攻击方式。以ROP为代表的代码重用攻击,利用内存空间中存在的指令片段,构建出能实现特定功能的指令序列,达成了恶意目标。文中根据代码重用攻击的基本原理,提出了基于实时装卸载函数代码的防御方法,通过动态装卸载的方式裁剪代码空间,从而达到缩小攻击面以防御代码重用的目的。首先,以静态分析的方式获取受保护程序依赖库的函数信息;以替换库的形式使用这些信息;其次,在Linux动态装载器中引入实时装载函数的操作及自动触发和还原的装卸载流程,为了减小频繁卸载导致的高额开销,设计了随机化批量卸载机制;最后,在真实环境中开展实验,验证了该方案防御代码重用攻击的有效性,展示了随机卸载策略的意义。
关键词
代码重用攻击
实时代码装卸载
面向返回编程
动态链接库
随机卸载
Keywords
code reuse attack
Real-time code loading and unloading
Return oriented programming
Dynamic link library
Randomized unloading
分类号
TP309.5
[自动化与计算机技术—计算机系统结构]
题名 代码重用攻击与防御机制综述
被引量:9
17
作者
柳童
史岗
孟丹
机构
中国科学院信息工程研究所
中国科学院大学
出处
《信息安全学报》
2016年第2期15-27,共13页
文摘
由于C与C++等计算机程序中广泛存在的漏洞,攻击者可以通过这些漏洞读取或篡改内存中的数据,改变计算机程序原有的执行状态达到破坏的目的。为此研究者进行了不懈地努力并采取了一些卓有成效的保护机制,例如数据不可执行与内存布局随机化,这些防御机制对于早期的代码注入攻击起到了极好的防御效果,然而计算机系统的安全性依然不容乐观。攻击者在无法通过向内存中注入自己的代码并执行的方式完成攻击后,开始利用内存中原有的代码,通过控制它们执行的顺序来达到自己的目的,这种攻击方式称为代码重用攻击,它具有极大的威胁性,能够绕过多种现行的安全措施,并成为攻击者的主流攻击方式。为此,研究界针对代码重用攻击的研究也逐渐增多。本文简述了代码重用攻击的起源,攻击实现的方式,系统化地总结了现有的防御机制并对这些防御机制进行了评价。对代码重用攻击的根本原因进行了简要的分析,并提出了一种新的防御机制设计思路。
关键词
计算机系统安全
内存攻击
代码重用攻击
Keywords
computer system security
memory security
code -reuse attack
分类号
TP309
[自动化与计算机技术—计算机系统结构]
题名 基于硬件的代码复用攻击防御机制综述
被引量:1
18
作者
张军
侯锐
詹志远
张立新
陈明宇
孟丹
机构
中国科学院计算技术研究所
中国科学院信息工程研究所
中国科学院大学
出处
《高技术通讯》
EI
CAS
北大核心
2018年第4期299-312,共14页
基金
863计划(2015AA0153032)
国家重点研发计划(2016YFB1000400)
+1 种基金
中国科学院前沿科学重点研究项目(QYZDB-SSW-JSC010)
国家自然科学基金优秀青年科学基金(61522212)资助项目
文摘
给出了代码复用攻击挟持控制流的过程,介绍了代码复用攻击防御机制研究现状。重点论述了基于硬件的防御机制,包括基于硬件的存储安全、代码指针完整性、攻击特征检查、控制流完整性、数据执行保护与隔离技术。讨论了基于硬件的防御机制存在的问题、优势及硬件与软件的关系。展望了基于硬件的代码复用攻击防御机制的发展方向:基于硬件的代码指针完整性有望成为防止控制流挟持攻击的有效手段,针对非控制数据的攻击与防御有可能成为新的研究热点,支持可配置的硬件防御架构是硬件防御的重要趋势之一。
关键词
控制流挟持
存储错误
代码复用攻击
存储安全
代码指针完整性
控制流完整性(CFI)
数据执行保护(DEP)
隔离技术
Keywords
control-flow hijacking
memory errors
code reuse attack s
memory safety
code pointer integri-ty
control-flow integrity (CFI)
data execution prevention (DEP)
isolation technology
分类号
TP309
[自动化与计算机技术—计算机系统结构]
题名 一种基于表达式树的gadget语义分析技术
被引量:4
19
作者
蒋楚
王永杰
机构
国防科技大学电子对抗学院
出处
《计算机工程》
CAS
CSCD
北大核心
2021年第1期109-116,共8页
基金
国家部委基金。
文摘
代码重用攻击的实施过程较为繁杂,通常需要一些工具辅助人工来完成gadget序列的构建,但现有的自动化构建工具效率较低。在分析Ropper、angrop和BOPC等典型开源gadget工具语义分析内容的基础上,总结gadget语义分析应包含的要素,提出一种基于表达式树的gadget语义分析方法。通过表达式树变体描述寄存器和内存读写的表达式信息,提高gadget语义分析的效率。实现一个gadget搜索与语义分析工具SemExpr,针对现有gadget工具难以进行对比分析的问题,设计能对多种gadget工具进行效率和效能分析的实验系统gadgetAnalysis。基于该系统进行实验,结果表明,SemExpr工具能够权衡效率和效能,取得较好的语义分析效果。
关键词
代码重用攻击
gadget序列自动化构建
语义分析
语义摘要
gadget工具
Keywords
code reuse attack (cra )
automated gadget sequence generation
semantic analysis
semantic summary
gadget tool
分类号
TP391
[自动化与计算机技术—计算机应用技术]
题名 面向RISC处理器的控制流认证方案
20
作者
李扬
戴紫彬
李军伟
机构
信息工程大学
出处
《计算机工程》
CAS
CSCD
北大核心
2019年第12期134-140,146,共8页
基金
国家高技术研究发展计划
文摘
为使RISC处理器平台具备检测代码重用攻击的能力,将控制流完整性机制与可信计算中的动态远程证明协议相结合,提出面向RISC处理器的硬件辅助控制流认证方案。以开源RISC处理器为基础,扩展与处理器紧耦合的硬件监控单元,同时给出控制流认证方案的证明协议,设计用于跟踪执行路径的硬件编码方法以实现信息压缩。实验结果表明,与C-FLAT方案相比,该方案传输延时小且资源消耗少,能够保证RISC处理器控制流的可信安全。
关键词
代码重用攻击
控制流完整性机制
远程证明
硬件
安全处理器
Keywords
code reuse attack
Control Flow Integrity(CFI)mechanism
remote attestation
hardware
security processor
分类号
TP309
[自动化与计算机技术—计算机系统结构]