CN105068925A - 软件安全缺陷发现系统 - Google Patents

软件安全缺陷发现系统 Download PDF

Info

Publication number
CN105068925A
CN105068925A CN201510456810.2A CN201510456810A CN105068925A CN 105068925 A CN105068925 A CN 105068925A CN 201510456810 A CN201510456810 A CN 201510456810A CN 105068925 A CN105068925 A CN 105068925A
Authority
CN
China
Prior art keywords
defect
testing
software
module
static analysis
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.)
Granted
Application number
CN201510456810.2A
Other languages
English (en)
Other versions
CN105068925B (zh
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 Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN201510456810.2A priority Critical patent/CN105068925B/zh
Publication of CN105068925A publication Critical patent/CN105068925A/zh
Application granted granted Critical
Publication of CN105068925B publication Critical patent/CN105068925B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种软件安全缺陷发现系统。使用本发明能够对待测软件进行静态分析、行为监测、模糊测试和渗透测试,测试方式完善,能够较完善、准确地发现软件的安全缺陷,且提高了检测速度。本发明首先进行静态分析,将其获得的安全缺陷数据按照设定的数据库格式存入缺陷数据库,然后采用行为监控模块、模糊测试模块和渗透测试模块分别对静态分析模块获得的安全缺陷进行检测,同时也对待测软件进行常规的检测,将导致系统行为异常或出现安全问题的系统调用序列、模糊测试用例或渗透测试用例名存入缺陷数据库中。本发明能够实现完整且强大的缺陷检测流程,检测流程自动化,能够减少安全缺陷测试人员的使用难度。

Description

软件安全缺陷发现系统
技术领域
本发明涉及软件安全测试技术领域,具体涉及一种软件安全缺陷发现系统。
背景技术
目前软件安全缺陷检测技术种类繁多且分散,主要的检测方法有静态分析、行为监控、模糊测试和渗透测试4类,但上述4类检测方法对软件的检测方式方法完全不一样。例如,利用静态分析检测软件的安全缺陷,通常是针对软件的源代码而言,也有一些工具能够将Java、.NET程序的可执行文件反编译后进行静态分析。目前的静态分析安全缺陷检测工具均是针对于一些主流的编程语言,且不同的编程语言都有其对应的静态分析工具。比如针对C/C++的有CppCheck、Antic,针对Java的有FindBugs、Jlint、PMD等,还有针对PHP的PHPLint以及针对JavaScript的JavaScriptLint。
行为监控是对正在运行中的软件进行监控,记录软件运行时所有的底层系统调用。行为监控分为两个阶段:训练和匹配。训练阶段需要反复多次运行软件,并记录下软件运行时的系统调用序列,提取出其中的序列段形成知识库,序列段是由多个序列组成,代表软件运行中的一次操作,比如打开文件操作。知识库是可以在将来被反复多次利用的,训练次数越多,样本越全,知识库中序列段越精确。然后在实际测试软件的时候,监控本次软件的系统调用序列提取出序列段,并与知识库中序列段相匹配,未能成功匹配的序列段就可能产生安全隐患。
模糊测试的核心思想是自动或半自动的生成随机数据输入到一个程序中,并监视程序异常,如崩溃,断言失败,以发现可能的诸如内存泄漏之类的程序错误。针对使用固定的协议或输入内容格式固定的软件,模糊测试通过随机生成的测试数据能够很有效的对软件可信数据的边界进行测试,进而发现那些正常使用时不容易探查到的安全缺陷。
渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。
首先,由于上述检测方法通常都是各自独立存在的,比如静态分析有很多相关的工具,多数编程语言都有一种对应的测试工具。这就造成了想要对软件进行安全缺陷检测的学习成本很大,对一个多语言混杂的大型项目来说,需要精通各种测试工具才能实现比较完整的安全缺陷检测,这也造成了在实际软件开发的过程中,很少对安全缺陷进行测试。
其次,现有的缺陷检测工具生成的缺陷报告难懂且格式不统一,即使对一个软件项目进行了较为完整的安全缺陷检测,想要快速、简单地读其各类报告也将非常困难,并且由于缺陷报告分散也不便于对软件安全缺陷有一个整体的了解。
再次,现在的缺陷检测通常只提供检测与查看功能,缺陷报告仍需手写,费时费力。
现有的比较完善的安全缺陷发现系统非常少,目前虽然《软件安全漏洞检测装置和方法》(中国发明专利申请,公布号:CN102541729A,公布日2012.7.4)提供了模糊测试和渗透测试的缺陷检测功能,并且配套有相应的缺陷管理功能来查看缺陷,但对于实际应用时检测软件安全而言,一两种检测方法得到的检测结果比较片面,不足以反应出软件整体安全状况,检测结果仍不完善。
发明内容
有鉴于此,本发明提供了一种软件安全缺陷发现系统,能够对待测软件进行静态分析、行为监测、模糊测试和渗透测试,测试方式完善,能够较完善、准确地发现软件的安全缺陷,且提高了检测速度。
本发明的软件安全缺陷发现系统,包括静态测试模块、行为监控模块、模糊测试模块、渗透测试模块、行为监控知识库和缺陷数据库;其中,静态测试模块、行为监控模块、模糊测试模块、渗透测试模块分别与缺陷数据库连接,行为监控模块、模糊测试模块、渗透测试模块分别与静态测试模块连接,行为监控知识库与行为监测模块连接;
其中,静态分析模块内包括若干个静态分析插件,每一个静态分析插件分别对应着一个特定编程语言;静态分析模块在系统对被测软件的源代码目录进行递归扫描并获取源代码目录下所有文件后,根据文件名后缀将文件分类并过滤掉静态分析模块中静态分析插件不能检测的文件,然后针对各类型的源代码文件,选择对应的静态分析插件进行安全检测,得到安全缺陷数据;将安全缺陷数据按照设定的缺陷数据库格式进行格式化处理后存入缺陷数据库;
行为监控模块针对由静态分析模块获得的安全缺陷,对输入的待测软件进行行为监控,同时,也对待测软件进行其他的常规的行为监控,得到系统调用序列,并与行为监控知识库中的参考系统调用序列相匹配;将系统行为异常的系统调用序列存入缺陷数据库中;
模糊测试模块针对由静态分析模块获得的安全缺陷,对待测软件进行模糊测试,同时,也对待测软件进行其他的常规的模糊测试,将能够造成被测软件出现安全问题的模糊测试用例存入缺陷数据库中;
渗透测试模块针对由静态分析模块获得的安全缺陷,对待测软件进行渗透测试,同时,也对待测软件进行其他的常规的渗透测试;其中,利用一台Linux服务器运行metasploit软件对待测软件进行渗透测试;将能够造成被测软件出现安全问题的渗透测试用例名存入缺陷数据库中;其中,Linux服务器监听来自待测软件所在系统的请求,当监听到待测软件所在系统发送的待测软件及其所在系统的信息后,调用metasploit完成对待测软件所在系统端口和服务的扫描,得到输出结果后,发送给待测软件所在系统。
进一步地,所述缺陷数据库格式如下表所示:
字段名 字段类型 字段含义
Plugin String 安全缺陷测试插件名
File String 被测程序(文件)路径
Severity Number 缺陷严重程度
Severify_desc String 与severity对应的缺陷严重程度的具体解释
Message String 缺陷描述信息
Source_type String 被测程序类型
Source_context String 缺陷上下文信息
Line_number Number 对源代码而言缺陷产生的行号
Custom String 自定义关于该条缺陷记录的说明
Time Date 缺陷记录生成时间
进一步地,对静态分析插件中的静态分析规则进行规则扩展,扩展方法如下:采用“name”确定规则名;采用“file_type=A,B,…”指定本规则生效所针对的源代码文件编码类型为A,B,…;采用“grep=/\.C\(/i”表示调用规则C进行匹配;采用“category”表示本规则的分类;采用“category_link”链接到缺陷详情相关网址;采用“severity”表示安全缺陷严重程度;采用“description”对缺陷进行描述。
进一步地,建立渗透知识库,将Linux服务器下metasploit针对不同平台下、不同版本的目标软件生成的渗透测试用例存入渗透知识库中,渗透检测模块直接调用渗透知识库中的渗透测试用例去攻击被测软件,进行渗透测试。
有益效果:
(1)本发明的软件安全缺陷发现系统,能够将静态分析、行为监测、模糊测试和渗透测试四种缺陷检测方法融入系统中,让系统有一个完整且强大的缺陷检测流程,并且对生成的大量繁杂的安全缺陷检测结果数据进行处理,使其数据格式统一,查看方便。同时,检测流程自动化,能够减少安全缺陷测试人员的使用难度。
(2)本发明的静态分析模块能够适用于多种编程语言,且使用方便,需要选择待测软件使用的编程语言和输入项目路径,便可自动进行静态分析,生成缺陷数据,并且实现了缺陷数据的格式统一,使得查看、管理缺陷更加容易。
(3)本发明对静态分析检测的安全缺陷静态分析规则进行补充,扩大、完善了单个静态分析插件的检测范围,使得不需要再单独调用其他静态分析插件进行检测,提高了检测效率。
附图说明
图1为本发明系统组成结构示意图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供了一种软件安全缺陷发现系统(以下简称系统),如图1所示,包括行为静态测试模块、行为监控模块、模糊测试模块、渗透测试模块、知识库和缺陷数据库;其中,知识库包括行为监控知识库和渗透知识库,其中行为监控知识库用于存储行为监控模块进行软件训练产生的序列调用序列段,作为参考调用序列,渗透知识库用于存储用于渗透测试的渗透测试用例;缺陷数据库用于存储经整理、格式化后的缺陷数据。
对待测软件的安全检测由监控模块、模糊测试模块、渗透测试模块、静态测试模块完成。其中,首先采用静态分析模块对待测软件进行静态安全检测,利用静态分析得到的静态安全缺陷结果,再使用渗透测试模块和模糊测试模块进行有针对性的安全检测,进一步确认静态分析出的可能导致安全缺陷的地方确实会引发安全缺陷。在渗透和模糊测试的过程中,也可以同时对软件进行行为监控,通过匹配序列来弥补渗透测试和模糊测试的不足,因为测试程序时通常需要将程序测崩溃才算安全缺陷,而有时安全缺陷并不会导致程序崩溃,实现原理靠的是对易引起安全问题的系统调用序列进行保护,类似杀毒软件,当被测程序运行过程中出现了容易引发安全问题的操作,则匹配到相应的系统调用序列段并记录下来。
针对安全检测中各模块详述如下。
(1)静态分析模块
静态分析模块内包括若干个静态分析插件,每一个静态分析插件分别对着一个特定编程语言。在检测准备阶段如果指定了源代码的编程语言,系统会从静态分析模块中直接调用相应的静态分析插件来对源代码进行安全缺陷检测;否则系统会通过源代码文件的后缀名判断需要调用的插件。由于被测的源程序可能混杂多种编程语言,如果按代码文件在文件夹下的排列顺序依次对每个代码文件调用相应的插件去检测,效率将会十分低下。而对于每个插件的调用,实际上是单独启用了一个进程,而Windows下进程非常占用资源,同时进程启动速度慢影响检测速度。
因此在本系统中采取的策略是,先对被测软件的源代码目录进行递归扫描,获取该目录下所有文件(包括子目录)。然后按文件名后缀将文件分类,并过滤掉那些不能被静态分析模块检测的如txt、exe等文件类型。对于每种类型的源代码文件,选择对应的静态分析插件进行检测:对于支持目录递归检测的静态分析插件,直接调用该插件对整个项目进行递归的静态分析安全检测;对不支持的情况,则依次对单个源代码文件进行检测。
在每一次调用插件对源代码进行安全检测后,将会得到安全缺陷数据的中间结果,然后对中间结果按照设定的缺陷数据库格式进行格式化处理,得到最终结果并存入缺陷数据库。
其中,缺陷数据库的格式如表1所示。该格式将不同插件得到的检测结果中一些共有的安全缺陷的相关信息(比如所有的静态分析缺陷检测结果都有行号、缺陷严重程度信息)提取出来,并且对于没有对应上下文信息的,通过行号定位到发生安全缺陷的代码片段,获取其上下文信息保存起来。该格式保留了静态分析安全缺陷的相关信息,通过这些信息,可以实现复现原安全缺陷的作用,从而帮助安全检测人员调试修复、缺陷。
表1缺陷数据库的格式说明
字段名 字段类型 字段含义
Plugin String 安全缺陷测试插件名
File String 被测程序(文件)路径
Severity Number 缺陷严重程度
Severify_desc String 与severity对应的缺陷严重程度的具体解释
Message String 缺陷描述信息
Source_type String 被测程序类型
Source_context String 缺陷上下文信息
Line_number Number 对源代码而言缺陷产生的行号
Custom String 自定义关于该条缺陷记录的说明
Time Date 缺陷记录生成时间
其中,表1中的severity和severity_desc,即缺陷严重程度的分级,如表2所示。
表2缺陷严重程度分级
对于采用目前现有的静态分析插件检测不到的安全缺陷,本发明提供了一套自定义规则的接口,补充完成静态分析检测。目前由于最简单的静态分析可以直接用字符串的匹配来实现,通过一些简单的规则来匹配出需要的信息,类似于Linux下Grep工具提供的功能,本发明参照Grep提供一种规则扩展机制,通过写一些简单的正则匹配,来完成对静态分析中某些安全缺陷静态分析规则的补充。例如JavascriptLint插件中没有querySelector的规则,本发明对JavascriptLint进行规则扩展,扩展方法如下表所示,从而使得JavascriptLint插件能够实现对querySelector的检测。其中,file_type指定该规则对于什么样类型的源代码文件生效;severity表示缺陷严重程度,用数字表示;description表示检测到出错后给出的警告;最重要的是grep字段,指定一个正则表达式来匹配源代码中的文本。这样一个简单的静态分析规则就添加好了,虽然他并未利用到抽象语法数、符号分析等,只是简单的正则匹配,但是配合已有的各种静态分析插件,已经能够满足绝大多数情况了。
利于系统静态分析规则扩展机制补充对querySelector方法的检测如下,当系统初始化时,会自动扫描在扩展规则目录下所有的规则,并通过file_type将其分类,因此querySelector被分类为js和html。等到实际检测时,如果源代码为html或者js,那么首先调用其对应的静态分析检测插件,其次调用所有html或者js的扩展规则,querySelector规则也就得以调用,调用时其grep字段会用来对整个html或js文件做全文的正则匹配,匹配成功即导致静态分析缺陷。
(2)行为监控模块
行为监控模块对待测软件进行行为监控,得到系统调用序列,并与行为监控知识库中的参考系统调用序列相匹配,匹配成功则说明系统行为正常,如果不成功则说明系统行为异常;同时,针对由静态分析模块获得的安全缺陷进行重点检测,将系统行为异常的系统调用序列存入缺陷数据库中。
本发明中行为监控技术的核心是获取当前软件运行时产生的系统调用,然后通过序列匹配算法来检测可疑的软件异常行为。主要分为两个阶段,第一个阶段为样本采集及训练阶段,在这个阶段中,系统需要多次对运行着的程序进行采样,每一次采样为记录程序正常运行时的系统调用序列。然后对采集到的系统调用序列进行动态行为建模,每一次的行为比如打开文件操作在系统调用序列中反应为一段连续的系统调用序列,称为一个序列段,行为建模将总结出这样的序列段存入知识库。
第二个阶段为最终的实际检测阶段。在这个阶段中首先需要做的是运行需要检测的软件并记录其系统调用信息并生成系统调用行为序列段。然后跟第一个阶段生成的知识库中序列段相匹配,不能匹配的则试做异常行为序列段,可能产生安全危害。
(3)模糊测试模块
采用模糊测试模块对待测软件进行模糊测试,同时,针对由静态分析模块获得的安全缺陷进行重点检测,将能够造成被测软件出现安全问题的模糊测试用例存入缺陷数据库中。
针对常用网络协议如http、ftp、smtp和常见的文本格式,对每一种协议或文本格式,按照其输入的数据的格式特点,构造随机输入字符串,对报文中有因为依赖其他字段需要计算才能得到值的字段比如checksum字段,检测到后自动计算后填入。
然后再根据每个协议的特点,系统自动控制其会话的流程,比如smtp协议中,会话中mailfrom请求需要等待邮件服务器响应成功后,才能继续发送rcptto请求,这些数据发送的流程控制就是本系统预先已经设定好了的。
通过输入数据的生成和会话流程控制,就可以测试网络协议和文本格式了,但是有时候安全缺陷会使得被测程序崩溃掉而无法继续进行测试,因此,本系统还会在后台监控被测程序的运行进程,如果被测程序崩溃掉,则系统自动重启程序继续进行测试。
(4)渗透测试模块
渗透测试模块利用一台Linux服务器运行metasploit对待测软件进行渗透测试;同时,针对由静态分析模块获得的安全缺陷进行重点检测,将能够造成被测软件出现安全问题的渗透测试用例名存入缺陷数据库中。
本专利利用metasploit来辅助进行渗透测试,metasploit是一个渗透测试框架,它的操作方式十分繁琐复杂,用户在使用时需要大量的人机交互,因此不能够直接集成进系统中进行自动化操作。对于端口和服务的扫描,本系统将在远程运行一台Linux服务器上,并且在Linux服务器上监听来自待测软件所在本系统的请求。在安全检测时将被测软件及其所在系统的相关信息发送给Linux服务器,然后在Linux中调用metasploit来完成对目标系统端口和服务的扫描,得到输出结果后,再发送返回给本系统。
对于metasploit原本利用漏洞对程序攻击的功能,由于条件限制,不能做到集成进系统实现自动化操作,要是完全利用metasploit,必须在远程Linux服务器端手动按步骤操作metasploit才能完成一次渗透测试,这跟本系统想要自动化安全检测流程的初衷不符合。因此本系统采取提前手动维护一个渗透缺陷库的方法,利用metasploit针对不同平台下、不同版本的目标软件生成渗透测试用例,然后在Windows中保存并直接利用这些渗透测试用例去攻击被测软件。举例来说,对于xxx版本的Word程序,首先人工操作利用metasploit对其进行渗透,metasploit会利用其漏洞库生成一个特殊的Word文档文件,如果用xxx版本的Word打开这个文件会造成Word崩溃。系统要做的就是将这个特殊的Word文件存入到系统的数据库中,包括对应的Word程序版本号等。下次对Word程序进行测试时,本系统通过Word版本号就匹配到了这个特殊的Word文件作为测试用例,用Word打开看其是否异常,完成渗透测试。
本发明提供了四种不同的安全检测方法:静态分析、行为监控、模糊测试和渗透测试,是一套较为完整的软件安全检测流程,并且,静态分析模块能够支持多种编程语言,且缺陷数据格式统一,查看方便,因此本专利的缺陷检测的功能更完整、易用性更好。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种软件安全缺陷发现系统,其特征在于,包括静态测试模块、行为监控模块、模糊测试模块、渗透测试模块、行为监控知识库和缺陷数据库;其中,静态测试模块、行为监控模块、模糊测试模块、渗透测试模块分别与缺陷数据库连接,行为监控模块、模糊测试模块、渗透测试模块分别与静态测试模块连接,行为监控知识库与行为监测模块连接;
其中,静态分析模块内包括若干个静态分析插件,每一个静态分析插件分别对应着一个特定编程语言;静态分析模块在系统对被测软件的源代码目录进行递归扫描并获取源代码目录下所有文件后,根据文件名后缀将文件分类并过滤掉静态分析模块中静态分析插件不能检测的文件,然后针对各类型的源代码文件,选择对应的静态分析插件进行安全检测,得到安全缺陷数据;将安全缺陷数据按照设定的缺陷数据库格式进行格式化处理后存入缺陷数据库;
行为监控模块针对由静态分析模块获得的安全缺陷,对输入的待测软件进行行为监控,同时,也对待测软件进行其他的常规的行为监控,得到系统调用序列,并与行为监控知识库中的参考系统调用序列相匹配;将系统行为异常的系统调用序列存入缺陷数据库中;
模糊测试模块针对由静态分析模块获得的安全缺陷,对待测软件进行模糊测试,同时,也对待测软件进行其他的常规的模糊测试,将能够造成被测软件出现安全问题的模糊测试用例存入缺陷数据库中;
渗透测试模块针对由静态分析模块获得的安全缺陷,对待测软件进行渗透测试,同时,也对待测软件进行其他的常规的渗透测试;其中,利用一台Linux服务器运行metasploit软件对待测软件进行渗透测试;将能够造成被测软件出现安全问题的渗透测试用例名存入缺陷数据库中;其中,Linux服务器监听来自待测软件所在系统的请求,当监听到待测软件所在系统发送的待测软件及其所在系统的信息后,调用metasploit完成对待测软件所在系统端口和服务的扫描,得到输出结果后,发送给待测软件所在系统。
2.如权利要求1所述的软件安全缺陷发现系统,其特征在于,所述缺陷数据库格式如下表所示:
字段名 字段类型 字段含义 Plugin String 安全缺陷测试插件名 File String 被测程序(文件)路径 Severity Number 缺陷严重程度 Severify_desc String 与severity对应的缺陷严重程度的具体解释 Message String 缺陷描述信息 Source_type String 被测程序类型 Source_context String 缺陷上下文信息 Line_number Number 对源代码而言缺陷产生的行号 Custom String 自定义关于该条缺陷记录的说明 Time Date 缺陷记录生成时间 。
3.如权利要求1所述的软件安全缺陷发现系统,其特征在于,对静态分析插件中的静态分析规则进行规则扩展,扩展方法如下:采用“name”确定规则名;采用“file_type=A,B,…”指定本规则生效所针对的源代码文件编码类型为A,B,…;采用“grep=∧.C\(/i”表示调用规则C进行匹配;采用“category”表示本规则的分类;采用“category_link”链接到缺陷详情相关网址;采用“severity”表示安全缺陷严重程度;采用“description”对缺陷进行描述。
4.如权利要求1所述的软件安全缺陷发现系统,其特征在于,建立渗透知识库,将Linux服务器下metasploit针对不同平台下、不同版本的目标软件生成的渗透测试用例存入渗透知识库中,渗透检测模块直接调用渗透知识库中的渗透测试用例去攻击被测软件,进行渗透测试。
CN201510456810.2A 2015-07-29 2015-07-29 软件安全缺陷发现系统 Active CN105068925B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510456810.2A CN105068925B (zh) 2015-07-29 2015-07-29 软件安全缺陷发现系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510456810.2A CN105068925B (zh) 2015-07-29 2015-07-29 软件安全缺陷发现系统

Publications (2)

Publication Number Publication Date
CN105068925A true CN105068925A (zh) 2015-11-18
CN105068925B CN105068925B (zh) 2017-09-01

Family

ID=54498302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510456810.2A Active CN105068925B (zh) 2015-07-29 2015-07-29 软件安全缺陷发现系统

Country Status (1)

Country Link
CN (1) CN105068925B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105608381A (zh) * 2015-12-18 2016-05-25 北京奇虎科技有限公司 应用的测试方法和系统
CN106055980A (zh) * 2016-05-30 2016-10-26 南京邮电大学 一种基于规则的JavaScript安全性检测方法
CN106201889A (zh) * 2016-07-15 2016-12-07 国云科技股份有限公司 一种检查程序代码编写规范的系统及其实现方法
CN106201890A (zh) * 2016-07-18 2016-12-07 腾讯科技(深圳)有限公司 一种应用的性能优化方法及服务器
CN106372511A (zh) * 2016-08-24 2017-02-01 北京奇虎测腾安全技术有限公司 一种源代码检测系统及方法
CN106919501A (zh) * 2015-12-25 2017-07-04 北京计算机技术及应用研究所 基于缺陷模式的静态分析方法和工具
CN107045477A (zh) * 2016-12-30 2017-08-15 上海富聪金融信息服务有限公司 一种可进行多维度检测的质量评估平台
CN107346391A (zh) * 2016-05-06 2017-11-14 阿里巴巴集团控股有限公司 一种生成概念验证数据的方法及系统
CN107632931A (zh) * 2017-09-08 2018-01-26 中国农业银行股份有限公司 一种软件缺陷描述的规范化系统及方法
CN108182359A (zh) * 2017-12-29 2018-06-19 中国信息通信研究院 一种测试可信环境下api安全性的方法、装置及存储介质
CN109471634A (zh) * 2018-08-28 2019-03-15 上海思立微电子科技有限公司 源代码格式的检查方法及设备
CN110704068A (zh) * 2019-10-18 2020-01-17 安徽中科国创高可信软件有限公司 基于数据库进行跨文件协同程序分析的处理方法及系统
CN110889115A (zh) * 2019-11-07 2020-03-17 国家计算机网络与信息安全管理中心 恶意推送行为检测方法及装置
CN111026660A (zh) * 2019-12-05 2020-04-17 国网浙江省电力有限公司电力科学研究院 一种基于专家系统知识库的渗透测试方法
CN112001484A (zh) * 2020-08-22 2020-11-27 哈尔滨工业大学 一种基于多任务深度学习的安全缺陷报告预测方法
CN113157584A (zh) * 2021-04-28 2021-07-23 杭州孝道科技有限公司 一种基于HttpClient的模糊测试方法
CN114205153A (zh) * 2021-12-12 2022-03-18 中国电子科技集团公司第十五研究所 一种面向复杂防御机制的自适应渗透测试方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242279A (zh) * 2008-03-07 2008-08-13 北京邮电大学 用于web系统的自动化渗透性测试系统和方法
CN101902367A (zh) * 2009-05-31 2010-12-01 西门子(中国)有限公司 一种产生测试用例的方法及装置
US20120095750A1 (en) * 2010-10-14 2012-04-19 Microsoft Corporation Parsing observable collections

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242279A (zh) * 2008-03-07 2008-08-13 北京邮电大学 用于web系统的自动化渗透性测试系统和方法
CN101902367A (zh) * 2009-05-31 2010-12-01 西门子(中国)有限公司 一种产生测试用例的方法及装置
US20120095750A1 (en) * 2010-10-14 2012-04-19 Microsoft Corporation Parsing observable collections

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105608381A (zh) * 2015-12-18 2016-05-25 北京奇虎科技有限公司 应用的测试方法和系统
CN106919501A (zh) * 2015-12-25 2017-07-04 北京计算机技术及应用研究所 基于缺陷模式的静态分析方法和工具
CN107346391A (zh) * 2016-05-06 2017-11-14 阿里巴巴集团控股有限公司 一种生成概念验证数据的方法及系统
CN106055980B (zh) * 2016-05-30 2018-12-11 南京邮电大学 一种基于规则的JavaScript安全性检测方法
CN106055980A (zh) * 2016-05-30 2016-10-26 南京邮电大学 一种基于规则的JavaScript安全性检测方法
CN106201889A (zh) * 2016-07-15 2016-12-07 国云科技股份有限公司 一种检查程序代码编写规范的系统及其实现方法
CN106201890A (zh) * 2016-07-18 2016-12-07 腾讯科技(深圳)有限公司 一种应用的性能优化方法及服务器
CN106201890B (zh) * 2016-07-18 2018-05-22 腾讯科技(深圳)有限公司 一种应用的性能优化方法及服务器
CN106372511A (zh) * 2016-08-24 2017-02-01 北京奇虎测腾安全技术有限公司 一种源代码检测系统及方法
CN107045477A (zh) * 2016-12-30 2017-08-15 上海富聪金融信息服务有限公司 一种可进行多维度检测的质量评估平台
CN107632931A (zh) * 2017-09-08 2018-01-26 中国农业银行股份有限公司 一种软件缺陷描述的规范化系统及方法
CN108182359A (zh) * 2017-12-29 2018-06-19 中国信息通信研究院 一种测试可信环境下api安全性的方法、装置及存储介质
CN108182359B (zh) * 2017-12-29 2020-04-24 中国信息通信研究院 一种测试可信环境下api安全性的方法、装置及存储介质
CN109471634A (zh) * 2018-08-28 2019-03-15 上海思立微电子科技有限公司 源代码格式的检查方法及设备
CN109471634B (zh) * 2018-08-28 2021-11-16 上海思立微电子科技有限公司 源代码格式的检查方法及设备
CN110704068A (zh) * 2019-10-18 2020-01-17 安徽中科国创高可信软件有限公司 基于数据库进行跨文件协同程序分析的处理方法及系统
CN110889115A (zh) * 2019-11-07 2020-03-17 国家计算机网络与信息安全管理中心 恶意推送行为检测方法及装置
CN111026660A (zh) * 2019-12-05 2020-04-17 国网浙江省电力有限公司电力科学研究院 一种基于专家系统知识库的渗透测试方法
CN111026660B (zh) * 2019-12-05 2023-07-07 国网浙江省电力有限公司电力科学研究院 一种基于专家系统知识库的渗透测试方法
CN112001484A (zh) * 2020-08-22 2020-11-27 哈尔滨工业大学 一种基于多任务深度学习的安全缺陷报告预测方法
CN113157584A (zh) * 2021-04-28 2021-07-23 杭州孝道科技有限公司 一种基于HttpClient的模糊测试方法
CN114205153A (zh) * 2021-12-12 2022-03-18 中国电子科技集团公司第十五研究所 一种面向复杂防御机制的自适应渗透测试方法

Also Published As

Publication number Publication date
CN105068925B (zh) 2017-09-01

Similar Documents

Publication Publication Date Title
CN105068925A (zh) 软件安全缺陷发现系统
CN112182588B (zh) 基于威胁情报的操作系统漏洞分析检测方法及系统
CN109684847B (zh) 脚本漏洞的自动修复方法、装置、设备及存储介质
CN105069355A (zh) webshell变形的静态检测方法和装置
US11074162B2 (en) System and a method for automated script generation for application testing
CN110955893A (zh) 一种恶意文件威胁分析平台及恶意文件威胁分析方法
CN103942497A (zh) 一种取证式网站漏洞扫描方法和系统
CN104751056A (zh) 一种基于攻击库的漏洞验证系统与方法
CN109104421B (zh) 一种网站内容篡改检测方法、装置、设备及可读存储介质
CN110765459A (zh) 一种恶意脚本检测方法、装置和存储介质
CN106778264A (zh) 一种移动客户端的应用程序分析方法及分析系统
KR101696694B1 (ko) 역추적을 이용한 소스 코드 취약점 분석 방법 및 장치
CN116346456A (zh) 业务逻辑漏洞攻击检测模型训练方法及装置
Bandara et al. Fix that Fix Commit: A real-world remediation analysis of JavaScript projects
CN105653455B (zh) 一种程序漏洞的检测方法及检测系统
CN110414241A (zh) 隐私策略检测方法、装置、计算机设备及存储介质
CN113220588A (zh) 一种数据处理的自动化测试方法、装置、设备及存储介质
CN111625448B (zh) 协议包生成方法、装置、设备及存储介质
CN116248393A (zh) 一种内网数据传输漏洞扫描装置及系统
CN109446079A (zh) 一种基于ast突变的浏览器模糊测试方法
CN116016270A (zh) 一种交换机测试管理方法、装置、电子设备和存储介质
CN115391230A (zh) 一种测试脚本生成、渗透测试方法、装置、设备及介质
CN114116471A (zh) 一种自动化代码扫描方法、系统、电子设备与存储介质
CN113342632A (zh) 仿真数据自动化处理方法、装置、电子设备及存储介质
CN111934949A (zh) 一种基于数据库注入测试的安全测试系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant