-
题名基于指令校验的软硬件协同代码重用攻击防护方法
被引量:1
- 1
-
-
作者
吕雅帅
-
机构
中国人民解放军装备学院国防科技重点实验室
-
出处
《电子学报》
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
[自动化与计算机技术—计算机系统结构]
-
-
题名代码重用攻击与防御机制综述
被引量:10
- 2
-
-
作者
柳童
史岗
孟丹
-
机构
中国科学院信息工程研究所
中国科学院大学
-
出处
《信息安全学报》
2016年第2期15-27,共13页
-
文摘
由于C与C++等计算机程序中广泛存在的漏洞,攻击者可以通过这些漏洞读取或篡改内存中的数据,改变计算机程序原有的执行状态达到破坏的目的。为此研究者进行了不懈地努力并采取了一些卓有成效的保护机制,例如数据不可执行与内存布局随机化,这些防御机制对于早期的代码注入攻击起到了极好的防御效果,然而计算机系统的安全性依然不容乐观。攻击者在无法通过向内存中注入自己的代码并执行的方式完成攻击后,开始利用内存中原有的代码,通过控制它们执行的顺序来达到自己的目的,这种攻击方式称为代码重用攻击,它具有极大的威胁性,能够绕过多种现行的安全措施,并成为攻击者的主流攻击方式。为此,研究界针对代码重用攻击的研究也逐渐增多。本文简述了代码重用攻击的起源,攻击实现的方式,系统化地总结了现有的防御机制并对这些防御机制进行了评价。对代码重用攻击的根本原因进行了简要的分析,并提出了一种新的防御机制设计思路。
-
关键词
计算机系统安全
内存攻击
代码重用攻击
-
Keywords
computer system security
memory security
code-reuse attack
-
分类号
TP309
[自动化与计算机技术—计算机系统结构]
-
-
题名基于配件加权标记的代码重用攻击防御框架
- 3
-
-
作者
马梦雨
陈李维
史岗
孟丹
-
机构
中国科学院信息工程研究所
中国科学院大学网络空间安全学院
-
出处
《信息安全学报》
CSCD
2018年第5期75-91,共17页
-
基金
国家自然科学基金(No.61602469)
中国科学院信息工程研究所和信息安全国家重点实验室(No.Y7Z0411105)资助
-
文摘
代码重用攻击(Code Reuse Attack, CRA)目前已经成为主流的攻击方式,能够对抗多种防御机制,给计算机安全带来极大的威胁和挑战。本文提出一种基于配件加权标记(Gadget Weighted Tagging, GWT)的CRAs防御框架。首先, GWT找到代码空间中所有可能被CRAs利用的配件。其次, GWT为每个配件附加相应的权值标记,这些权值可以根据用户需求灵活地配置。最后,GWT在程序运行时监控配件的权值信息,从而检测和防御CRAs。另外,我们结合粗粒度CFI的思想,进一步提出GWT+CFI的设计框架,相比基础的GWT,GWT+CFI能够提高识别配件开端的精确性并减少可用配件的数量。我们基于软件和硬件模拟的方案实现GWT和GWT+CFI系统,结果表明其平均性能开销分别为2.31%和3.55%,且GWT理论上能够防御大多数CRAs,特别是使用自动化工具生成配件链的CRAs。
-
关键词
代码重用攻击
配件加权标记
控制流完整性
-
Keywords
code reuse attack
gadget weighted tagging
control flow integrity
-
分类号
TP309.2
[自动化与计算机技术—计算机系统结构]
-
-
题名基于可执行内存不可读属性的防代码重用技术
被引量:1
- 4
-
-
作者
杨超
王清贤
魏强
-
机构
信息工程大学
数学工程与先进计算国家重点实验室
-
出处
《信息工程大学学报》
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
[自动化与计算机技术—计算机软件与理论]
-