[发明专利]数据挖掘方法、数据处理方法和系统有效
| 申请号: | 201810671898.3 | 申请日: | 2018-06-26 |
| 公开(公告)号: | CN110647457B | 公开(公告)日: | 2023-03-28 |
| 发明(设计)人: | 胡晓明 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/52;G06F21/57 |
| 代理公司: | 北京博浩百睿知识产权代理有限责任公司 11134 | 代理人: | 褚敏;宋子良 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据 挖掘 方法 数据处理 系统 | ||
本发明公开了一种数据挖掘方法、数据处理方法和系统。其中,该方法包括:从预先获取的待分析文件、待分析函数名称和参数列表中提取经过初始化感染源后的待挖掘的汇编指令字符串;获取汇编指令字符串中的感染记录;依据感染记录生成漏洞报告。本发明解决了使用程序外部可控的输入参数,表达程序的任意执行流中任何时刻或任何阶段的任何变量,并以此为基础准确发现堆栈溢出类漏洞的技术问题。
技术领域
本发明涉及互联网技术应用领域,具体而言,涉及一种数据挖掘方法、数据处理方法和系统。
背景技术
在进行程序黑盒漏洞挖掘的过程中,多数情况下无法获取到待挖掘程序的源代码,只能获取到程序的可执行二进制文件;某些少数情况下,由于执行环境等原因,甚至无法运行程序以进行动态分析和测试。需要对程序的二进制文件进行反汇编,即,把目标代码转为汇编代码的过程,也可以说是把机器语言转换为汇编语言代码、低级转高级的过程,静态分析程序执行过程,但由于汇编代码量大、可读性极差,导致静态分析效率低下。此时需要一个工具,能够使用程序外部可控的输入参数表达程序的任意执行流中任何时刻或任何阶段的任何变量,用于分析和漏洞挖掘等工作。
相关技术中首先为整个程序代码构建函数调用图(Call Graph,简称CG),在函数调用图中,节点表示函数,边表示函数间的调用关系。根据预设的全局分析调度策略,对CG中的每个节点(对应一个函数)进行过程内分析,最终给出CG每种可行的调用序列的分析结果。然后,对待分析的单个过程代码对象构建控制流图(Control Flow Graph,简称CFG)。在CFG上从入口节点开始模拟执行,在遇到分支节点时,使用约束求解器判定哪条分支可行,并根据预先设计的路径调度策略实现对该过程所有路径的遍历分析,最后输出每条可执行路径的分析结果。
但是相关技术中由于对每一个分支条件语句都可能会使当前的路径再分支出一条新的路径,而这是“指数级”增长的,将会导致路径状态空间的爆炸问题;由于符号执行是路径敏感的分析方法,因此一般为每条路径都会创建一个专属的虚拟机模型,以保证路径之间的相互独立性。该模型的准确程度将直接影响静态分析结果的精度。由于编程语言中使用的复杂数据结构和复杂操作语句具有较高的灵活性,使得它们的建模变得十分困难,这会直接导致最终对结果的判断的准确性。
针对上述由于现有技术中无法解决使用程序外部可控的输入参数,表达程序的任意执行流中任何时刻或任何阶段的任何变量,并以此为基础准确发现堆栈溢出类漏洞的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据挖掘方法、数据处理方法和系统,以至少解决使用程序外部可控的输入参数,表达程序的任意执行流中任何时刻或任何阶段的任何变量,并以此为基础准确发现堆栈溢出类漏洞的技术问题。
根据本发明实施例的一个方面,提供了一种数据挖掘系统,包括:待分析文件译码器、模拟器、判断模块、指令译码器、存储管理器和感染管理器,其中,待分析文件译码器,用于解析待分析文件,得到待分析文件中的内容;指令译码器,用于根据得到待分析文件中内容和预先获取的待分析函数名称和参数列表,并在对待分析函数名称和参数列表进行初始化感染源的情况下,从待分析函数名称和参数列表中获取的偏移中提取汇编指令字符串;模拟器,用于调用指令译码器解析汇编指令字符串,并对汇编指令字符串进行模拟,判断汇编指令字符串是否涉及内存操作,在判断结果为是的情况下,调用存储管理器进行内存操作,并记录感染内存和寄存器,生成感染记录;感染管理器,用于解析感染记录,得到内存中的变量,并通过判断模块判断变量是否存在堆栈溢出类漏洞,在判断结果为是的情况下,生成漏洞报告。
可选的,数据挖掘系统还包括:漏洞管理器,其中,漏洞管理器,用于在生成漏洞报告之前,在判断结果为是的情况下,根据漏洞信息对漏洞进行评级,得到评级结果。
进一步地,可选的,模拟器,还用于在得到评级结果之后,检查程序是否运行结束,在检查结果为是的情况下,由主线程记录评级结果,并生成漏洞报告;在检查结果为否的情况下,继续根据待分析函数名称和参数列表中提取的汇编指令字符串进行模拟判断。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810671898.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





