CN113987507B 堆内存漏洞检测方法、装置、存储介质及电子设备 (中国工商银行股份有限公司)_第1页
CN113987507B 堆内存漏洞检测方法、装置、存储介质及电子设备 (中国工商银行股份有限公司)_第2页
CN113987507B 堆内存漏洞检测方法、装置、存储介质及电子设备 (中国工商银行股份有限公司)_第3页
CN113987507B 堆内存漏洞检测方法、装置、存储介质及电子设备 (中国工商银行股份有限公司)_第4页
CN113987507B 堆内存漏洞检测方法、装置、存储介质及电子设备 (中国工商银行股份有限公司)_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2通过二进制插桩模块获取目标二进制程序中的目标调用函数,其中若所述匹配结果表示所述目标调用函数属于风险的内存操作函数时,确定在根据所述目标调用函数的类型,执行所述目标调若所述目标调用函数的类型为所述堆分配函数的类型时,根据所通过所述执行结果判断所述目标调用函数的堆内存空间是否分配成功,若所述若所述堆内存空间的申请次数为第一预设值,通过所述堆分配述堆分配函数的程序执行结果确定堆内存的若所述堆内存空间的申请次数大于第一预设值,判断堆内存空间若所述目标调用函数的类型为所述堆分配函数的类型时,通过根据所述函数参数计算所述目标调用函数分配若所述目标调用函数的类型为所述堆释放函数的类型时,通过所根据所述堆释放函数的函数参数获取待释放的堆内存地址,判断所地址是否与所述堆内存的使用日志中已经分配的堆块首地址存若所述待释放的堆内存地址与所述堆内存的使用日志中已经分配的堆块首地址存在若所述目标调用函数的类型为所述堆内存读取函数的类型时,根据所述堆内存读取函数的函数参数以及所述堆内存读取函数的程序执行结果确定3通过所述目标信息判断所述目标二进制程序是否存在读堆内若所述读内存的地址为释放的堆内存地址,触发异常报警并终止若所述目标调用函数的类型为所述堆内存写入函数的类型时,根据所述堆内存写入函数的函数参数以及所述堆内存写入函数的程序执行结果确定根据所述写内存的地址判断所述堆内存写入函数是否为堆内存初始在所述目标二进制程序存在读堆内存数据的情况下,判断放状态或者判断所述写内存的地址的堆内存是若所述写内存的地址为释放状态或者所述写内存的地址的堆第一获取单元,用于通过二进制插桩模块获取目标二进制第一匹配单元,用于将所述目标调用函数的函数名与风险函第一确定单元,用于若所述匹配结果表示所述目标调用第一执行单元,用于根据所述目标调用函数的类型,执行所4一个或多个处理器实现权利要求1至6中任5领域内存安全方向的研究重点。常见的堆内存破坏漏洞包括堆缓冲区溢出漏洞、Double用的堆管理机制源于ptmalloc。该机制通过系统调用函数brk()/mmap()在程序第一次向操作系统申请内存时分配大片内存进行管理。Ptmalloc有三种最基本的数据结构,其中为三种类型:AllocatedChunk(已分配的堆)、FreeChunk(被释放的堆)、TopChunk(顶于堆内存破坏漏洞的输入实例通常只破坏堆块元数据而不会直接控制指令指针寄存器的[0006](2)基于污点分析的方法主要是分析程序中标记为污点的数据在执行过程中是否解决方案。6数至少包括目标调用函数的函数名;将目标调用函数的函数名与风险函数模型进行匹配,78洞的检测效率较低的问题。通过二进制插桩模块获取目标二进制程序中的目标调用函数,9[0033]图4是根据本申请实施例提供的堆内存漏洞检测方法的内存读取操作检测流程[0034]图5是根据本申请实施例提供的堆内存漏洞检测方法的内存写入操作检测流程员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范插入分析例程(对应于本申请中的目标接口)用以获取函数参数,根据函数参数(申请分配[0056]具体的,图2是根据本申请实施例提供的堆内存漏洞检测方法的堆分配操作检测请分配的堆内存)计算实际分配的堆内存大小,在堆分配函数调用之后插入分析例程获取堆内存空间是否是空闲的以及未分配堆内存空间,若不是空闲的以及未分配堆内存空间,数是否为calloc()函数(对应于本申请中的目标函数),若当前堆分配函数为calloc()函[0058]具体的,图3是根据本申请实施例提供的堆内存漏洞检测方法的堆释放操作检测[0060]具体的,图4是根据本申请实施例提供的堆内存漏洞检测方法的内存读取操作检[0062]具体的,图5是根据本申请实施例提供的堆内存漏洞检测方法的内存写入操作检漏洞利用攻击检测模块主要依据检测策略和维护的内存使用日志检测非法堆内存访问操[0072]第一确定单元703,用于若匹配结果表示目标调用函数属于风险的内存操作函数漏洞的检测效率较低的问题。通过二进制插桩模块获取目标二进制程序中的目标调用函接口获取堆内存读取函数的函数参数以及堆内存读取函数的程序执行结果;第二确定模接口获取堆内存写入函数的函数参数以及堆内存写入函数的程序执行结果;第三确定模设值,通过堆分配函数的函数参数以及堆分配函数的程序执行结果确定堆内存的使用日始化有如下方法步骤的程序:通过二进制插桩模块获取目标二进制程序中的目标调用函调用函数的类型为堆分配函数的类型时,根据程序的目标接口获取堆分配函数的执行结调用函数的类型为堆释放函数的类型时,通过程序的目标接口获取堆释放函数的函数参现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定[0106]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论