发明名称 一种结合指针分析的软件安全漏洞动态检测方法
摘要 本发明涉及一种软件安全漏洞动态检测方法,特别涉及一种结合指针分析的软件安全漏洞动态检测方法,属于信息安全技术领域。本发明首先识别出待检测程序中的不安全指针,然后将其表示成为胖指针,再通过运行待检测程序,不断地查看胖指针中包含的指针状态信息找到待检测程序存在的漏洞。该方法能够同时检测多种漏洞,如缓冲区溢出漏洞和悬浮指针漏洞等,同时降低系统资源的消耗。
申请公布号 CN101833631A 申请公布日期 2010.09.15
申请号 CN201010110545.X 申请日期 2010.02.09
申请人 北京理工大学 发明人 胡昌振;王崑声;曲洋;马锐;薛静锋
分类号 G06F21/22(2006.01)I 主分类号 G06F21/22(2006.01)I
代理机构 北京理工大学专利中心 11120 代理人 付雷杰
主权项 一种结合指针分析的软件安全漏洞动态检测方法,其特征在于:其具体操作步骤如下:步骤一、进行指针预处理,得到全部指针的指向集通过基于流非敏感、上下文非敏感的指针分析方法对待检测程序中的指针进行静态分析,得到全部指针的指向集;并将一个标记符号加入到参与地址运算的指针的指向集中;步骤二、从指针指向集中识别出不安全的指针依次对步骤一获得的指针指向集的内容进行判断,识别出不安全的指针,当出现以下四种情况,及判断其为不安全指针:①当一个指针的指向集中包含步骤一所述的标记符号时,则认为该指针为不安全指针;②当一个指针指向了一个存放在堆栈中的变量,即该指针指向变量的生命周期短于指向该指针的变量时,认为该指针为不安全指针;③当发现赋值操作符左边的表达式中出现对该指针进行取内容的运算时,则认为该指针为不安全指针;④当出现对指针进行释放或者删除的情况时,则认为该指针为不安全指针;步骤三、将步骤二中得到的不安全指针表示成为胖指针;步骤四、通过对步骤三得到的胖指针中的两个附加指针的检测,判断待检测程序中是否有缓冲区溢出漏洞和悬浮指针漏洞。
地址 100081 北京市海淀区中关村南大街5号