[发明专利]一种基于动态污点分析的内存分析方法及装置有效
申请号: | 201911152291.5 | 申请日: | 2019-11-20 |
公开(公告)号: | CN110941552B | 公开(公告)日: | 2023-07-07 |
发明(设计)人: | 田志宏;孙起;鲁辉;黄冬秋;杨佳庚;金成杰;何陆潇涵;张鑫国;孙彦斌;苏申 | 申请(专利权)人: | 广州大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郭浩辉;麦小婵 |
地址: | 510006 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 动态 污点 分析 内存 方法 装置 | ||
本发明公开了一种基于动态污点分析的内存分析方法、装置、终端设备及可读存储介质,所述方法包括:将预设的输入函数指定为污染源,以将所述输入函数读入的数据标记为污染,并通过一个set对象记录被污染的地址;对所有的内存操作指令插桩以进行内存操作检查,并根据源操作数的污染情况对目的操作数进行标记处理;对ret指令插桩以进行栈顶内存检查,并根据当前栈顶内存的污染情况进行栈溢出检测。本发明能够在无源码的情况下分析程序,检测内存溢出问题,从而提取生成漏洞利用所需的关键信息。
技术领域
本发明涉及计算机技术领域,尤其是涉及一种基于动态污点分析的内存分析方法、装置、终端设备及可读存储介质。
背景技术
由于程序数量的飞速增长,人工程序测试已经很难满足程序测试的需要。为了应对这个问题,一些自动化的程序测试方案相继被提出。根据程序是否真实执行,自动化的程序测试方案被划分为静态分析和动态分析。在不运行程序代码的方式下,静态分析通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行扫描验证代码是否满足规范性、安全性、可靠性、可维护性等指标。而程序动态分析是指随着程序的运行,获取程序在执行过程中的信息,包括寄存器信息,内存信息等,以探索程序可能存在的漏洞。另一方面,模糊测试技术近年来取得了飞快的发展,它能够有效地产生能使程序崩溃的输入。这些崩溃是否会对程序的正常运行产生很大的影响,还需要大量人力去评估。如何基于模糊测试得到的崩溃输入进行程序动态分析,并评估该崩溃是否为高风险的漏洞,是一个很有意义的挑战。
要获得程序运行时的内存信息,一种最常规的操作就是进行代码插桩,通过插桩代码的执行,来获得当时的程序现场信息。现有一些技术,例如addresssanitizer就通过程序编译时插桩来获取与内存相关的信息。另一种方式就是使用类似pin,qemu来模拟程序执行过程,在模拟的过程中进行插桩分析。
在插桩的基础上,就可以对程序进行污点分析,现有的污点分析包括三个步骤:定义污染源,定义污染槽和跟踪污染传播。其中,污染源是你要跟踪的数据的程序位置。例如,系统调用,函数入口或某个内存操作指令都有可能是污染源。污染槽是指程序中的一些位置,你想检查这些位置的某些数据有没有受到污染。例如,为了检查程序控制流是否受到输入的影响,你可能会检查间接调用,间接跳转和return指令处下一条执行指令的位置是否受到输入的污染。污染传播是对污染源在程序中传播指定的规则。例如,如果mov的源操作数被污染,目的操作数也将被标记成污染。如此,受污染的数据将从污染源一路传播到污染槽。
对于现有技术的内存分析方案,依赖于程序源代码,无法对难以获取源码的程序进行分析。
发明内容
本发明实施例所要解决的技术问题在于,提供一种基于动态污点分析的内存分析方法、装置、终端设备及可读存储介质,能够在无源码的情况下分析程序,检测内存溢出问题,进而能够提取生成漏洞利用所需的关键信息。
为了解决上述技术问题,本发明实施例提供了一种基于动态污点分析的内存分析方法,包括:
将预设的输入函数指定为污染源,以将所述输入函数读入的数据标记为污染,并通过一个set对象记录被污染的地址;
对所有的内存操作指令插桩以进行内存操作检查,并根据源操作数的污染情况对目的操作数进行标记处理;
对ret指令插桩以进行栈顶内存检查,并根据当前栈顶内存的污染情况进行栈溢出检测。
进一步地,所述对所有的内存操作指令插桩以进行内存操作检查,并根据源操作数的污染情况对目的操作数进行标记处理,具体为:
对所有的内存操作指令插桩以进行内存操作检查,判断所述源操作数是否被污染;
若是,则将所述目的操作数标记为污染;
若否,则净化所述目的操作数的污染。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州大学,未经广州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911152291.5/2.html,转载请声明来源钻瓜专利网。