CN104021084A - 一种Java源代码缺陷检测方法及装置 - Google Patents

一种Java源代码缺陷检测方法及装置 Download PDF

Info

Publication number
CN104021084A
CN104021084A CN201410277241.0A CN201410277241A CN104021084A CN 104021084 A CN104021084 A CN 104021084A CN 201410277241 A CN201410277241 A CN 201410277241A CN 104021084 A CN104021084 A CN 104021084A
Authority
CN
China
Prior art keywords
analysis
java source
stain
source program
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410277241.0A
Other languages
English (en)
Inventor
韩丽芳
崔宝江
侯婷婷
刘楠
高昆仑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING HUAXIA INFOSEC TECHNOLOGY Ltd
State Grid Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
State Grid Jiangsu Electric Power Co Ltd
Original Assignee
BEIJING HUAXIA INFOSEC TECHNOLOGY Ltd
State Grid Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
State Grid Jiangsu Electric Power Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING HUAXIA INFOSEC TECHNOLOGY Ltd, State Grid Corp of China SGCC, China Electric Power Research Institute Co Ltd CEPRI, State Grid Jiangsu Electric Power Co Ltd filed Critical BEIJING HUAXIA INFOSEC TECHNOLOGY Ltd
Priority to CN201410277241.0A priority Critical patent/CN104021084A/zh
Publication of CN104021084A publication Critical patent/CN104021084A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种Java源代码缺陷检测方法及装置,所述方法首先对Java源程序字节码进行静态分析,生成函数调用图;根据所述函数调用图生成保存有所述Java源程序基本信息的关系数据库;根据预先建立的漏洞模式,以关系数据库查询的方式对所述Java源程序进行指针别名分析和污点分析;根据污点分析的结果,产生缺陷报告。该方法及装置能够全面而准确地检测Java源代码的安全缺陷,同时减少程序运算量,提高检测性能。

Description

一种Java源代码缺陷检测方法及装置
技术领域
本发明涉及源代码静态分析技术领域,尤其涉及一种Java源代码缺陷检测方法及装置。
背景技术
源代码的静态安全检测是指在不运行代码的前提下,分析程序的语法、语义、控制流等信息,验证代码是否满足安全性。目前, 静态分析主要有类型推断、数据流分析和约束分析3种方法:
1)类型推断方法:类型推断是一个处理过程, 其目的是保证每个操作都是针对一组数目正确, 类型合适的对象进行, 以保证操作的有效性。类型推断可以检查类型错误, 选择合适的操作,根据情况确定必要的类型转换。
2)数据流分析方法:数据流分析是一项编译时使用的技术, 它能从程序代码中收集程序的语义信息并通过代数的方法在编译时确定变量的定义和使用,数据流分析被用于解决编译优化、程序验证、调试、测试、并行、向量化和串行编程环境等问题。数据流分析是通过对变量构造定义一引用对来实现的。
3)约束分析方法将程序分析过程分为约束产生和约束求解两个阶段, 前者利用约束产生规则建立变量类型或分析状态之间的约束系统, 后者对这些约束系统进行求解。约束系统可以分为等式约束、 集合约束和混合。
上述现有技术中的三种方法都是通过解释程序的抽象语义, 建立程序属性的数学模型, 再通过求解这个数学模型, 确定程序的属性。相比较而言, 约束分析具有最强的检测能力和最慢的检测速度, 适合进行软件的安全检测;数据流分析具有较强和较快的检测速度, 适合检查需要考虑控制流信息而且变量属性之间的操作十分简单的静态分析问题;类型推断则具有最弱的检测能力和最快的检测速度, 适合检查属性域有限而且与控制流无关的安全属性。但上述三种方法均无法全面准确的检测出Java源代码的安全缺陷,检测性能无法得到提高。
发明内容
本发明的目的是提供一种Java源代码缺陷检测方法及装置,能够全面而准确地检测Java源代码的安全缺陷,同时减少程序运算量,提高检测性能。
一种Java源代码缺陷检测方法,所述方法包括:
对Java源程序字节码进行静态分析,生成函数调用图;
根据所述函数调用图生成保存有所述Java源程序基本信息的关系数据库;
根据预先建立的漏洞模式,以关系数据库查询的方式对所述Java源程序进行指针别名分析和污点分析;
根据污点分析的结果,产生缺陷报告。
所述以关系数据库查询的方式对所述Java源程序进行指针别名分析,具体包括:
获得每个函数调用图以及函数依赖分析生成的函数调用序列;
以main函数为入口,根据函数调用持续迭代计算每个过程的指针信息;
根据所述函数调用序列分别计算每个语句对所述指针信息的影响;
其中,在此框架中过程内分析与过程间分析是并行的,当在过程内分析,遇到函数调用时,则进行过程间的分析;当在过程间分析,如果将调用者名字空间内的信息映射到被调用者名字空间中,则可进入过程间分析。
所述以关系数据库查询的方式对所述Java源程序进行污点分析,具体包括:
通过查询所述关系数据库,并与漏洞模式比对,找到将用户数据引入到所述Java源程序中的函数,并将其返回结果标记为污点数据;
记录所述污点数据在所述Java源程序中的传播;
通过查询所述关系数据库,并与漏洞模式比对,找到使所述污点数据执行的函数,并记录污点传播的过程。
一种Java源代码缺陷检测装置,所述装置包括:
程序识别模块,用于对Java源程序字节码进行静态分析,生成函数调用图,根据所述函数调用图生成保存有所述Java源程序基本信息的关系数据库; 
解释模块,用于对Java源程序安全漏洞描述进行解释;
静态数据流分析模块,用于根据预先建立的漏洞模式,以关系数据库查询的方式对所述Java源程序进行指针别名分析;
安全漏洞分析模块,以关系数据库查询的方式对所述Java源程序进行污点分析,根据污点分析的结果,产生缺陷报告。
所述解释模块进一步包括:
别名解释单元,用于使用形式化的描述语言对别名分析规则进行描述;
漏洞模式解释单元,用于使用形式化的语言完整描述SQL注入等漏洞。
所述安全漏洞分析模块进一步包括:
污点数据引入单元,用于通过查询所述关系数据库,并与漏洞模式比对,找到将用户数据引入到所述Java源程序中的函数,并将其返回结果标记为污点数据;
污点数据传播单元,用于记录所述污点数据在所述Java源程序中的传播;
污点数据执行单元,通过查询所述关系数据库,并与漏洞模式比对,找到使所述污点数据执行的函数,并记录污点传播的过程。
由上述本发明提供的技术方案可以看出,该方法及装置能够全面而准确地检测Java源代码的安全缺陷,同时减少程序运算量,提高检测性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例所提供Java源代码缺陷检测方法流程示意图;
图2为本发明实施例提供的对所述Java源程序进行指针别名分析的过程示意图;
图3为本发明实施例提供的对所述Java源程序进行污点分析的过程示意图;
图4为本发明实施例所提供Java源代码缺陷检测装置的结构示意图。
 
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明实施例所述检测方法及装置针对的是Java的字节码,用于检测Java源代码的未验证输入漏洞中的SQL注入漏洞和跨站脚本漏洞,并生成缺陷报告。下面将结合附图对本发明实施例作进一步地详细描述,如图1所示为本发明实施例所提供Java源代码缺陷检测方法流程示意图,所述方法包括:
步骤11:对Java源程序字节码进行静态分析,生成函数调用图;
步骤12:根据所述函数调用图生成保存有所述Java源程序基本信息的关系数据库;
步骤13:根据预先建立的漏洞模式,以关系数据库查询的方式对所述Java源程序进行指针别名分析和污点分析;
在该步骤中,本实施例提供了指针别名分析的方法,该方法全面而高效;此外本实施例还提供了污点分析的方法,全面而准确地分析了污点传播过程,减少了误报率和漏报率。
以关系数据库查询的方式对所述Java源程序进行指针别名分析的具体过程如图2所示,参考图2:
首先,在预处理阶段首先进行准备工作,即先获得每个函数调用图以及函数依赖分析生成的函数调用序列;
以main函数为入口,根据函数调用持续迭代计算每个过程的指针信息;
根据所述函数调用序列分别计算每个语句对所述指针信息的影响;
其中,在此框架中过程内分析与过程间分析是并行的,当在过程内分析,遇到函数调用时,则进行过程间的分析;当在过程间分析,如果将调用者名字空间内的信息映射(map)到被调用者名字空间中,则可进入过程间分析。
上述以关系数据库查询的方式对所述Java源程序进行污点分析的操作如图3所示,参考图3:
首先,通过查询所述关系数据库,并与漏洞模式比对,找到将用户数据引入到所述Java源程序中的函数,并将其返回结果标记为污点数据;
记录所述污点数据在所述Java源程序中的传播;
再通过查询所述关系数据库,并与漏洞模式比对,找到使所述污点数据执行的函数,并记录污点传播的过程。
另外,上述污点数据可以通过“普通操作”、“函数调用”、“函数返回”、“特殊函数调用及返回”四种方法在所述Java源程序中的传播,具体来说:
通过“普通操作”传播:普通操作既不是函数调用也不是函数返回。它不会产生污点数据,也不会使污点数据执行,但有可能传播或“杀死”污点数据。假设在状态为s∈Stmt,上下文为vc∈VC条件下,有普通操作x.fn=y.fm且m,n∈N,其表示对x进行n次域操作,对y进行m次域操作,那么规则为:1)当y.fm.fp为污点数据时,则将x.fn的相应域也标记为污点数据;2)如果y.fm的相应域不是污点数据,则将x.fn.fp去除。
通过“函数调用”传播:对于函数调用操作c.m(a0...an),那么规则为:1)如果调用函数的对象c为污点数据,则在被调用函数中将this标记为污点数据;2)如果调用函数的实参为污点数据,则将被调用函数形参标记为污点数据;3)当某个字段为静态字段并且为污点数据时,在调用函数中将其标记为污点数据。
通过“函数返回”传播:对于函数调用操作p=c.m(a0...an),那么规则为:1)如果被调用上下文中this为污点数据,则将调用上下文中c标记为污点数据;2)如果被调用函数形参为污点数据,那么将调用函数的实参标记为污点数据;3)当函数的参数既不是基本变量(如int,char等),也不是不可变的变量(如String)时,如果该参数被标记为污点数据,那么在调用者的上下文vc1中也将其标记为污点数据。
通过“特殊函数调用及返回”传播:我们将特殊函数分为三种类型:1)源类型:即我们定义的source(x)函数,该函数将污点数据引入到系统中;2)传播类型:即我们定义的PDerivation(v)和HDerivation(v)。其中PDerivation(v)是将污点数据从函数的参数传播的到函数的返回值(如String.append()函数)或者函数的参数(如String.getchars()函数)。而HDerivation(v)是将污点数据从该函数所属类的对象传播到函数的返回值(如String.toString()函数);3)sink类型:即我们定义的sink(v),该函数会将污点数据执行。
步骤14:根据污点分析的结果,产生缺陷报告。
通过上述步骤操作,对Java源程序字节码进行扫描,就可以发现Java源程序的安全缺陷。
基于上述的方法,本发明实施例还提供了一种Java源代码缺陷检测装置,如图4所示为本发明实施例所提供装置的结构示意图,所述装置包括:
程序识别模块,用于对Java源程序字节码进行静态分析,生成函数调用图,根据所述函数调用图生成保存有所述Java源程序基本信息的关系数据库;其中,后续的静态分析工作都会在这个中间表示形式的基础上进行; 
解释模块,用于对Java源程序安全漏洞描述进行解释;该解释模块作为接口,很好的连接起了安全漏洞自身本质的分析和实际安全漏洞的分析两个部分;
静态数据流分析模块,用于根据预先建立的漏洞模式,以关系数据库查询的方式对所述Java源程序进行指针别名分析;该模块基于程序的抽象表示形式,进行漏洞检测所需程序静态信息的收集,其中很重要的一部份是别名信息的收集;
安全漏洞分析模块,以关系数据库查询的方式对所述Java源程序进行污点分析,根据污点分析的结果,产生缺陷报告。
其中,所述解释模块进一步包括:
别名解释单元,用于使用形式化的描述语言对别名分析规则进行描述;别名解释单元解释这些行为描述,进而进行漏洞分析;
漏洞模式解释单元,用于使用形式化的语言完整描述SQL注入等漏洞;漏洞模式解释单元解释这些行为描述,进而进行漏洞分析。
所述安全漏洞分析模块进一步包括:
污点数据引入单元,用于通过查询所述关系数据库,并与漏洞模式比对,找到将用户数据引入到所述Java源程序中的函数,并将其返回结果标记为污点数据;
污点数据传播单元,用于记录所述污点数据在所述Java源程序中的传播;
污点数据执行单元,通过查询所述关系数据库,并与漏洞模式比对,找到使所述污点数据执行的函数,并记录污点传播的过程。
综上所述,本发明实施例所提供的方法及装置可以有效地检测Java源代码中存在的安全缺陷,与其他静态分析方式相比,通过漏洞模式匹配的方法全面跟踪污点数据的引入及其在不同上下文中的传播过程,检测结果更加全面而准确;同时通过前向别名分析,减少了程序运算量,提高了检测性能。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (6)

1.一种Java源代码缺陷检测方法,其特征在于,所述方法包括:
对Java源程序字节码进行静态分析,生成函数调用图;
根据所述函数调用图生成保存有所述Java源程序基本信息的关系数据库;
根据预先建立的漏洞模式,以关系数据库查询的方式对所述Java源程序进行指针别名分析和污点分析;
根据污点分析的结果,产生缺陷报告。
2.根据权利要求1所述Java源代码缺陷检测方法,其特征在于,所述以关系数据库查询的方式对所述Java源程序进行指针别名分析,具体包括:
获得每个函数调用图以及函数依赖分析生成的函数调用序列;
以main函数为入口,根据函数调用持续迭代计算每个过程的指针信息;
根据所述函数调用序列分别计算每个语句对所述指针信息的影响;
其中,在此框架中过程内分析与过程间分析是并行的,当在过程内分析,遇到函数调用时,则进行过程间的分析;当在过程间分析,如果将调用者名字空间内的信息映射到被调用者名字空间中,则可进入过程间分析。
3.根据权利要求1所述Java源代码缺陷检测方法,其特征在于,所述以关系数据库查询的方式对所述Java源程序进行污点分析,具体包括:
通过查询所述关系数据库,并与漏洞模式比对,找到将用户数据引入到所述Java源程序中的函数,并将其返回结果标记为污点数据;
记录所述污点数据在所述Java源程序中的传播;
通过查询所述关系数据库,并与漏洞模式比对,找到使所述污点数据执行的函数,并记录污点传播的过程。
4.一种Java源代码缺陷检测装置,其特征在于,所述装置包括:
程序识别模块,用于对Java源程序字节码进行静态分析,生成函数调用图,根据所述函数调用图生成保存有所述Java源程序基本信息的关系数据库; 
解释模块,用于对Java源程序安全漏洞描述进行解释;
静态数据流分析模块,用于根据预先建立的漏洞模式,以关系数据库查询的方式对所述Java源程序进行指针别名分析;
安全漏洞分析模块,以关系数据库查询的方式对所述Java源程序进行污点分析,根据污点分析的结果,产生缺陷报告。
5.根据权利要求4所述Java源代码缺陷检测装置,其特征在于,所述解释模块进一步包括:
别名解释单元,用于使用形式化的描述语言对别名分析规则进行描述;
漏洞模式解释单元,用于使用形式化的语言完整描述SQL注入等漏洞。
6.根据权利要求4所述Java源代码缺陷检测装置,其特征在于,所述安全漏洞分析模块进一步包括:
污点数据引入单元,用于通过查询所述关系数据库,并与漏洞模式比对,找到将用户数据引入到所述Java源程序中的函数,并将其返回结果标记为污点数据;
污点数据传播单元,用于记录所述污点数据在所述Java源程序中的传播;
污点数据执行单元,通过查询所述关系数据库,并与漏洞模式比对,找到使所述污点数据执行的函数,并记录污点传播的过程。
CN201410277241.0A 2014-06-19 2014-06-19 一种Java源代码缺陷检测方法及装置 Pending CN104021084A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410277241.0A CN104021084A (zh) 2014-06-19 2014-06-19 一种Java源代码缺陷检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410277241.0A CN104021084A (zh) 2014-06-19 2014-06-19 一种Java源代码缺陷检测方法及装置

Publications (1)

Publication Number Publication Date
CN104021084A true CN104021084A (zh) 2014-09-03

Family

ID=51437849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410277241.0A Pending CN104021084A (zh) 2014-06-19 2014-06-19 一种Java源代码缺陷检测方法及装置

Country Status (1)

Country Link
CN (1) CN104021084A (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503917A (zh) * 2015-01-04 2015-04-08 牟永敏 基于数据流函数调用路径的变更影响域分析方法及系统
CN104978527A (zh) * 2015-07-30 2015-10-14 深圳数字电视国家工程实验室股份有限公司 一种计算程序切片的方法及装置
CN105589904A (zh) * 2014-12-11 2016-05-18 中国银联股份有限公司 基于字节码比对的影响性回溯分析方法以及回溯分析装置
CN106033516A (zh) * 2015-03-18 2016-10-19 中国移动通信集团陕西有限公司 一种检测终端源代码安全的方法、装置及系统
CN106294156A (zh) * 2016-08-11 2017-01-04 北京邮电大学 一种静态代码缺陷检测分析方法及装置
CN106778254A (zh) * 2016-11-24 2017-05-31 四川无声信息技术有限公司 隐私泄露检测方法及系统
CN107239395A (zh) * 2016-03-29 2017-10-10 阿里巴巴集团控股有限公司 一种源代码中无效函数的查找方法和设备
CN110197072A (zh) * 2018-06-04 2019-09-03 腾讯科技(深圳)有限公司 软件安全漏洞的发掘方法及系统、存储介质和计算机设备
CN110765455A (zh) * 2018-09-04 2020-02-07 哈尔滨安天科技集团股份有限公司 基于属性域异常调用的恶意文档检测方法、装置及系统
CN111666218A (zh) * 2020-06-08 2020-09-15 北京字节跳动网络技术有限公司 代码审计方法、装置、电子设备及介质
CN112199292A (zh) * 2020-10-19 2021-01-08 湖南泛联新安信息科技有限公司 一种基于规则定义的Java污点分析方法
CN112579152A (zh) * 2019-09-30 2021-03-30 南京大学 一种面向Python语言的文档缺陷检测方法
CN113076235A (zh) * 2021-04-09 2021-07-06 中山大学 一种基于状态融合的时序异常检测方法
CN113138913A (zh) * 2020-01-17 2021-07-20 深信服科技股份有限公司 Java代码注入检测方法、装置、设备及存储介质
CN113609481A (zh) * 2021-06-02 2021-11-05 西安四叶草信息技术有限公司 基于字节码的php污点分析方法及装置
CN114626068A (zh) * 2022-02-24 2022-06-14 南开大学 基于java函数调用序列的高精度第三方库漏洞模块检测方法
WO2023024714A1 (en) * 2021-08-24 2023-03-02 Xfusion Digital Technologies Co., Ltd. Static analysis method, apparatus, and device, and computer-readable storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101482847A (zh) * 2009-01-19 2009-07-15 北京邮电大学 一种基于安全漏洞缺陷模式的检测方法
CN101814053A (zh) * 2010-03-29 2010-08-25 中国人民解放军信息工程大学 一种基于功能模型的二进制代码漏洞发现方法
CN102023923A (zh) * 2010-12-28 2011-04-20 北京邮电大学 一种基于别名分析技术的软件测试方法
CN102129538A (zh) * 2011-03-04 2011-07-20 北京邮电大学 传感器网络源代码缓冲区溢出漏洞检测系统和方法
CN102622536A (zh) * 2011-01-26 2012-08-01 中国科学院软件研究所 一种恶意代码捕获方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101482847A (zh) * 2009-01-19 2009-07-15 北京邮电大学 一种基于安全漏洞缺陷模式的检测方法
CN101814053A (zh) * 2010-03-29 2010-08-25 中国人民解放军信息工程大学 一种基于功能模型的二进制代码漏洞发现方法
CN102023923A (zh) * 2010-12-28 2011-04-20 北京邮电大学 一种基于别名分析技术的软件测试方法
CN102622536A (zh) * 2011-01-26 2012-08-01 中国科学院软件研究所 一种恶意代码捕获方法
CN102129538A (zh) * 2011-03-04 2011-07-20 北京邮电大学 传感器网络源代码缓冲区溢出漏洞检测系统和方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
V.B ENJAMIN LIVSHITS,ET AL.: "Finding Security Vulnerabilities in Java Applications with Static Analysis", 《PROCEEDINGS OF THE 14TH CONFERENCE ON USENIX SECURITY SYMPOSIUM》 *
唐鹏飞.: "考虑指针别名的静态分析技术研究", 《中国优秀硕士学位论文全文数据库》 *
梁北海.: "基于污点分析的Java Web程序脆弱性检测方法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
葛小凯,等.: "基于关系数据库的静态分析研究", 《现代计算机》 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105589904A (zh) * 2014-12-11 2016-05-18 中国银联股份有限公司 基于字节码比对的影响性回溯分析方法以及回溯分析装置
CN105589904B (zh) * 2014-12-11 2018-11-27 中国银联股份有限公司 基于字节码比对的影响性回溯分析方法以及回溯分析装置
CN104503917B (zh) * 2015-01-04 2017-07-07 牟永敏 基于数据流函数调用路径的变更影响域分析方法及系统
CN104503917A (zh) * 2015-01-04 2015-04-08 牟永敏 基于数据流函数调用路径的变更影响域分析方法及系统
CN106033516A (zh) * 2015-03-18 2016-10-19 中国移动通信集团陕西有限公司 一种检测终端源代码安全的方法、装置及系统
CN104978527B (zh) * 2015-07-30 2017-12-08 深圳数字电视国家工程实验室股份有限公司 一种计算程序切片的方法及装置
CN104978527A (zh) * 2015-07-30 2015-10-14 深圳数字电视国家工程实验室股份有限公司 一种计算程序切片的方法及装置
CN107239395A (zh) * 2016-03-29 2017-10-10 阿里巴巴集团控股有限公司 一种源代码中无效函数的查找方法和设备
CN107239395B (zh) * 2016-03-29 2020-06-02 阿里巴巴集团控股有限公司 一种源代码中无效函数的查找方法和设备
CN106294156A (zh) * 2016-08-11 2017-01-04 北京邮电大学 一种静态代码缺陷检测分析方法及装置
CN106294156B (zh) * 2016-08-11 2018-12-07 北京邮电大学 一种静态代码缺陷检测分析方法及装置
CN106778254A (zh) * 2016-11-24 2017-05-31 四川无声信息技术有限公司 隐私泄露检测方法及系统
CN106778254B (zh) * 2016-11-24 2020-05-01 四川无声信息技术有限公司 隐私泄露检测方法及系统
CN110197072B (zh) * 2018-06-04 2023-03-21 腾讯科技(深圳)有限公司 软件安全漏洞的发掘方法及系统、存储介质和计算机设备
CN110197072A (zh) * 2018-06-04 2019-09-03 腾讯科技(深圳)有限公司 软件安全漏洞的发掘方法及系统、存储介质和计算机设备
CN110765455A (zh) * 2018-09-04 2020-02-07 哈尔滨安天科技集团股份有限公司 基于属性域异常调用的恶意文档检测方法、装置及系统
CN112579152A (zh) * 2019-09-30 2021-03-30 南京大学 一种面向Python语言的文档缺陷检测方法
CN113138913A (zh) * 2020-01-17 2021-07-20 深信服科技股份有限公司 Java代码注入检测方法、装置、设备及存储介质
CN111666218A (zh) * 2020-06-08 2020-09-15 北京字节跳动网络技术有限公司 代码审计方法、装置、电子设备及介质
CN112199292A (zh) * 2020-10-19 2021-01-08 湖南泛联新安信息科技有限公司 一种基于规则定义的Java污点分析方法
CN113076235A (zh) * 2021-04-09 2021-07-06 中山大学 一种基于状态融合的时序异常检测方法
CN113076235B (zh) * 2021-04-09 2022-10-18 中山大学 一种基于状态融合的时序异常检测方法
CN113609481A (zh) * 2021-06-02 2021-11-05 西安四叶草信息技术有限公司 基于字节码的php污点分析方法及装置
CN113609481B (zh) * 2021-06-02 2024-01-30 西安四叶草信息技术有限公司 基于字节码的php污点分析方法及装置
WO2023024714A1 (en) * 2021-08-24 2023-03-02 Xfusion Digital Technologies Co., Ltd. Static analysis method, apparatus, and device, and computer-readable storage medium
CN114626068A (zh) * 2022-02-24 2022-06-14 南开大学 基于java函数调用序列的高精度第三方库漏洞模块检测方法
CN114626068B (zh) * 2022-02-24 2024-06-07 南开大学 基于java函数调用序列的高精度第三方库漏洞模块检测方法

Similar Documents

Publication Publication Date Title
CN104021084A (zh) 一种Java源代码缺陷检测方法及装置
Schäfer et al. An empirical evaluation of using large language models for automated unit test generation
CN107273751B (zh) 基于多模式匹配的安全漏洞在线发现方法
CN104899147B (zh) 一种面向安全检查的代码静态分析方法
CN105787367B (zh) 一种软件更新的补丁安全性检测方法及系统
CN101714118B (zh) 一种二进制代码缓冲区溢出漏洞的检测器及其检测方法
CN103577324B (zh) 移动应用中隐私信息泄露的静态检测方法
Arzt et al. Using targeted symbolic execution for reducing false-positives in dataflow analysis
CN112131122B (zh) 一种源代码缺陷检测工具误报评估方法及装置
Kim et al. Software vulnerability detection methodology combined with static and dynamic analysis
CN111859380A (zh) Android App漏洞的零误报检测方法
CN114911711A (zh) 一种代码缺陷分析方法、装置、电子设备及存储介质
Yan et al. Widget-sensitive and back-stack-aware GUI exploration for testing android apps
CN116738436B (zh) 一种漏洞可达性分析方法、系统、计算机设备和处理器
CN113836023A (zh) 一种基于体系结构交叉检查的编译器安全性测试方法
CN105630678A (zh) 一种智能电能表软件的可靠性检测仪及其检测方法
Harzevili et al. Automatic Static Vulnerability Detection for Machine Learning Libraries: Are We There Yet?
Ortin et al. Cnerator: A Python application for the controlled stochastic generation of standard C source code
CN111832028A (zh) 代码审计方法和装置、电子设备、及介质
Nashaat et al. Detecting security vulnerabilities in object-oriented php programs
Araki et al. A Systematic Review of Concolic Testing with Aplication of Test Criteria.
Xu et al. Memory leak detection based on memory state transition graph
CN114691197A (zh) 代码分析方法、装置、电子设备和存储介质
CN114297664A (zh) 一种基于Gradle的开源组件漏洞检测方法
Puhan et al. Program crash analysis based on taint analysis

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140903