主权项 |
一种软件安全缺陷发现系统,其特征在于,包括静态测试模块、行为监控模块、模糊测试模块、渗透测试模块、行为监控知识库和缺陷数据库;其中,静态测试模块、行为监控模块、模糊测试模块、渗透测试模块分别与缺陷数据库连接,行为监控模块、模糊测试模块、渗透测试模块分别与静态测试模块连接,行为监控知识库与行为监测模块连接;其中,静态分析模块内包括若干个静态分析插件,每一个静态分析插件分别对应着一个特定编程语言;静态分析模块在系统对被测软件的源代码目录进行递归扫描并获取源代码目录下所有文件后,根据文件名后缀将文件分类并过滤掉静态分析模块中静态分析插件不能检测的文件,然后针对各类型的源代码文件,选择对应的静态分析插件进行安全检测,得到安全缺陷数据;将安全缺陷数据按照设定的缺陷数据库格式进行格式化处理后存入缺陷数据库;行为监控模块针对由静态分析模块获得的安全缺陷,对输入的待测软件进行行为监控,同时,也对待测软件进行其他的常规的行为监控,得到系统调用序列,并与行为监控知识库中的参考系统调用序列相匹配;将系统行为异常的系统调用序列存入缺陷数据库中;模糊测试模块针对由静态分析模块获得的安全缺陷,对待测软件进行模糊测试,同时,也对待测软件进行其他的常规的模糊测试,将能够造成被测软件出现安全问题的模糊测试用例存入缺陷数据库中;渗透测试模块针对由静态分析模块获得的安全缺陷,对待测软件进行渗透测试,同时,也对待测软件进行其他的常规的渗透测试;其中,利用一台Linux服务器运行metasploit软件对待测软件进行渗透测试;将能够造成被测软件出现安全问题的渗透测试用例名存入缺陷数据库中;其中,Linux服务器监听来自待测软件所在系统的请求,当监听到待测软件所在系统发送的待测软件及其所在 系统的信息后,调用metasploit完成对待测软件所在系统端口和服务的扫描,得到输出结果后,发送给待测软件所在系统。 |