[发明专利]内存数据损坏攻击的监测方法和装置在审
申请号: | 202210253761.2 | 申请日: | 2022-03-15 |
公开(公告)号: | CN114707143A | 公开(公告)日: | 2022-07-05 |
发明(设计)人: | 陈李维;聂晓帆;张元瞳;魏浩来;史岗;孟丹 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F21/54 | 分类号: | G06F21/54;G06F8/41;G06F8/75 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 任少瑞 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 数据 损坏 攻击 监测 方法 装置 | ||
本发明提供一种内存数据损坏攻击的监测方法和装置,方法包括:对内存数据进行静态分析得到关键数据;在所述内存数据的内存读指令、函数调用指令和函数返回指令前插入标签检查指令,在所述内存数据的内存写指令前插入设置标签的指令,得到所述内存数据的可执行文件;执行所述可执行文件,根据所述关键数据的内存读指令、函数调用指令和函数返回指令的标签检查指令进行标签检查。本发明通过在内存数据中锁定关键数据,缩减保护数据量,提出了基于关键数据的数据流完整性防御机制,在程序运行时,更加高效地监测内存数据损坏攻击。
技术领域
本发明涉及计算机技术领域,尤其涉及一种内存数据损坏攻击的监测方法和装置。
背景技术
C/C++语言编写的程序,会存在各种内存漏洞。内存漏洞是指程序员在软件编写的过程中,对内存的操作有时间或空间上的失误,产生使得程序可能做出违反程序本身设计的行为的安全问题。攻击者通过触发这些漏洞,泄露或修改内存数据,进而实施各种攻击,产生严重的危害。
常见攻击包括面向返回的编程(Return-oriented programming,ROP)攻击、面向跳转的编程(Jump-oriented programming,JOP)攻击和面向数据的编程(Data-orientedprogramming,DOP)攻击等。ROP攻击者将一系列配件的地址先放入栈中,CPU运行到Return时,会取出第一个地址并跳转到这个配件开始执行,当第一个配件执行结束时,结尾的Return指令会取出第二个地址并跳转到第二个配件开始执行,如此循环,构造出任意恶意行为。JOP攻击是以jump为结尾的代码片段作为配件,并以jump作为不同配件之间的连接。通过栈溢出控制栈上的数据,然后利用pop指令,将栈上的数据弹出到通用寄存器中。通过修改内存数据,利用load指令,将内存数据存入通用寄存器中。DOP攻击通过内存漏洞修改参与运算的数据变量,例如库函数参数,循环参数,条件分支参数等,在不改变控制流的情况下完成恶意攻击。
这些攻击的关键点是在运行时损坏内存数据,对其进行任意读写。目前常采用数据流完整性(Data Flow Integrity,DFI)机制作为主流的技术,通过在运行时保护内存数据,发现程序的异常行为,阻止此类攻击。然而,DFI机制因保护所有内存数据,采用一种过近似的分析过程得到数据的合法写集合。其会存在冗余信息,精确度难易保证,削弱了安全性。在程序运行时,由于标签检查机制的设计,会带来极大的内存开销以及性能损耗。
发明内容
本发明提供一种内存数据损坏攻击的监测方法,用以解决现有技术中安全性不足和性能开销巨大的缺陷,实现对内存数据损坏攻击的高效监测。
本发明提供一种内存数据损坏攻击的监测方法,包括:
对内存数据进行静态分析得到关键数据;
在所述内存数据的内存读指令、函数调用指令和函数返回指令前插入标签检查指令,在所述内存数据的内存写指令前插入设置标签的指令,得到所述内存数据的可执行文件;
执行所述可执行文件,根据所述关键数据的内存读指令、函数调用指令和函数返回指令的标签检查指令进行标签检查。
根据本发明提供的一种内存数据损坏攻击的监测方法,所述对内存数据进行静态分析得到关键数据,包括:
对所述内存数据进行数据流分析得到初始关键数据;
对所述初始关键数据进行控制流分析和指针分析得到精确关键数据,所述精确关键数据包括所述初始关键数据的控制流信息以及指针指向信息;
根据所述初始关键数据和所述精确关键数据的数据依赖关系进行关键数据传播分析得到所述关键数据。
根据本发明提供的一种内存数据损坏攻击的监测方法,所述初始关键数据包括三类,分别为:
进行过运算操作的指针和易受攻击函数的参数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210253761.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置