[发明专利]二进制程序循环写内存安全漏洞的检测方法无效
申请号: | 201210138459.9 | 申请日: | 2012-05-08 |
公开(公告)号: | CN102708054A | 公开(公告)日: | 2012-10-03 |
发明(设计)人: | 吴世忠;郭涛;郝永乐;崔宝江;梁晓兵 | 申请(专利权)人: | 中国信息安全测评中心;北京邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100089 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 二进制 程序 循环 内存 安全漏洞 检测 方法 | ||
1.一种二进制程序循环写内存安全漏洞的检测方法,其特征在于,包括:
步骤1、获取与二进制程序中潜在安全漏洞相关的二进制程序的循环结构摘要信息;
步骤2、根据所述循环结构摘要信息,生成测试数据;
步骤3、根据所述测试数据对二进制程序进行循环写内存安全漏洞的检测。
2.根据权利要求1所述的方法,其特征在于,所述步骤1包括:
从二进制程序控制流图中最内部的循环结构开始,依次向外展开,分别对有内存写操作的循环结构生成单循环结构的摘要信息,所述单循环结构的摘要信息包括:循环结构的起始地址、循环结构的结束地址、控制循环体的循环次数的变量、循环写内存的缓冲区变量、所述缓冲区的数据的来源变量、输入文件中的关键字节相对于输入文件的文件头的偏移地址;
获取单循环结构的摘要信息的集合,所述单循环结构的摘要信息的集合就是二进制程序的循环结构摘要信息。
3.根据权利要求2所述的方法,其特征在于,该方法还包括:
步骤11、对所述二进制程序的循环结构进行识别;
步骤12、对二进制程序进行动态数据结构重构。
4.根据权利要求3所述的方法,其特征在于,所述生成单循环结构的摘要信息具体包括:
根据循环结构识别结果和动态数据结构重构结果,生成单循环结构的摘要信息。
5.根据权利要求4所述的方法,其特征在于,对所述二进制程序的循环结构进行识别具体包括:
步骤111、初始化一个回边链表和一个循环结构链表,所述回边链表和所述循环结构链表的初始值均为空;
步骤112、查找所述二进制程序控制流图中的所有回边,将查找到的回边集合保存在所述回边链表中;
步骤113、顺序遍历保存了回边集合的回边链表,得到一条回边,将所述回边记为NodeBB->NodeSB,将NodeSB标记为“已访问过”,以NodeBB为起点,在所述二进制程序控制流图中作反向的深度遍历;
步骤114、将反向的深度遍历经过的节点、NodeBB、和NodeSB作为一个循环结构添加到所述循环结构链表中;
步骤115、判断对回边链表的遍历是否到达回边链表尾,如果是,则完成循环结构的识别,否则,返回步骤113。
6.根据权利要求5所述的方法,其特征在于,对二进制程序进行动态数据结构重构具体包括:
步骤121、记录输入文件读入内存的起始位置和读入的字节数,将读入内存的字节标记为数据污染源,将所述输入文件读入内存的起始位置作为动态数据结构重构的起始点;
步骤122、定义一个记录污染数据传递的链表pTaintList,所述pTaintList的初始值为空;
从所述起始点处开始解析所述二进制程序的汇编指令,解析的过程如下:
步骤123、抽取当前的汇编指令的类型INSTYPE,如果当前的汇编指令是危险函数调用类型的指令,则执行步骤124,如果当前的汇编指令不是危险函数调用类型的指令,则执行步骤125;
步骤124、抽取当前的汇编指令调用的危险函数的参数,得到一个所述危险函数的参数列表,获取所述危险函数的参数列表中参数变量的三元数组信息,并查找所述pTaintList中是否包含所述参数变量的参数值,如果是,则输出所述危险函数调用地址、所述危险函数的参数列表,和所述参数列表相关联的输入文件中的关键字节相对于输入文件的文件头的偏移地址等相关信息,然后跳转到下一条汇编指令,返回步骤123继续执行,如果不是,则跳转到下一条汇编指令,返回步骤3继续执行;
步骤125、判断当前的汇编指令的操作数的变量值是否被污染:如果变量值被污染,更新目的操作数的污染状态信息,并把更新后的污染状态信息添加到所述pTaintList中,跳转到下一条汇编指令,返回步骤123继续执行;如果变量值没有被污染,跳转到下一条汇编指令,返回步骤123继续执行;
步骤126、如果程序正常退出,数据结构动态重构结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国信息安全测评中心;北京邮电大学,未经中国信息安全测评中心;北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210138459.9/1.html,转载请声明来源钻瓜专利网。