一种服务器端软件的安全测试方法和系统与流程

文档序号:26905960发布日期:2021-10-09 13:58阅读:89来源:国知局
一种服务器端软件的安全测试方法和系统与流程

1.本发明涉及软件安全测试技术领域,具体而言,涉及一种服务器端软件的安全测试方法和系统。


背景技术:

2.软件安全性测试是检验软件中已存在的软件安全措施是否有效的测试,是保证系统安全性的重要手段。随着软件应用领域的日益广泛,及在重要领域如航空、核工业、医疗等的软件事故的发生,软件安全问题也越来越受到重视。软件安全性测试可以分为安全功能测试和安全漏洞测试两个方面。安全功能测试是在软件的需求分析阶段就定制软件的安全功能需求,明确软件的安全功能,在软件的验收阶段测试软件的相关功能实现与否。软件主要的安全性功能需求包括数据的私密性和完整性、访问控制、安全管理等。安全漏洞是指软件系统中存在的可被恶意代码或外来攻击利用的缺陷,目前的代码审查工具就是针对此类测试。目前国内进行的软件安全性测试,基本上都是通过使用工具进行基础的扫描,可检测的漏洞范围受限,与本行业的安全规则适用性限制,检测结果的效率和准确率参差不齐。


技术实现要素:

3.为了克服上述问题或者至少部分地解决上述问题,本发明实施例提供一种服务器端软件的安全测试方法和系统。
4.本发明的实施例是这样实现的:
5.第一方面,本发明实施例提供一种服务器端软件的安全测试方法,包括:
6.采用黑盒测试目标软件的功能模块是否有效,生成功能验证报告;
7.使用漏洞扫描器自动检测远程或本地主机中目标软件的安全性弱点的程序,生成漏洞扫描报告;
8.模拟攻击目标软件,生成模拟攻击报告;
9.根据功能验证报告、漏洞扫描报告和模拟攻击报告评估目标软件的安全性。
10.基于第一方面,在本发明的一些实施例中,上述模拟攻击目标软件包括:
11.冒充成具有特权的实体攻击目标软件。
12.基于第一方面,在本发明的一些实施例中,上述冒充成具有特权的实体攻击目标软件的方法包括以下的一种或多种方法:
13.截获鉴别序列,在一个有效的鉴别序列使用过一次后再次对目标软件进行使用;
14.识别搭载目标软件的主机,获取基于netbios、telnet或nfs服务的可利用的用户帐号,并猜测出口令,以对搭载目标软件的主机进行控制;
15.编写恶意程序来进一步打开安全缺口,然后将恶意程序放在缓冲区有效载荷末尾,当发生缓冲区溢出时,返回指针指向恶意程序,执行恶意指令,就可以得到系统的控制权。
16.基于第一方面,在本发明的一些实施例中,上述模拟攻击目标软件还包括:
17.dns服务器与其他名称服务器交换信息的时候加入不正确得信息导致非授权后果。
18.基于第一方面,在本发明的一些实施例中,上述模拟攻击目标软件还包括:
19.将产生畸形的、声称自己的尺寸超过icmp上限的包,导致tcp/ip堆栈崩溃,致使接受方宕机。
20.基于第一方面,在本发明的一些实施例中,上述功能模块包括:
21.用户管理模块、权限管理模块、加密模块、认证模块中的一种或多种。
22.基于第一方面,在本发明的一些实施例中,上述漏洞扫描器包括主机漏洞扫描器和网络漏洞扫描器,上述主机漏洞扫描器用于在本地主机运行检测目标软件的安全性弱点的第一程序;上述网络漏洞扫描器用于基于网络远程检测目标软件的安全性弱点的第二程序。
23.第二方面,本发明实施例提供一种服务器端软件的安全测试系统,包括:
24.功能验证模块,用于采用黑盒测试目标软件的功能模块是否有效,生成功能验证报告;
25.漏洞扫描模块,用于使用漏洞扫描器自动检测远程或本地主机中目标软件的安全性弱点的程序,生成漏洞扫描报告;
26.模拟攻击模块,用于模拟攻击目标软件,生成模拟攻击报告;
27.评估模块,用于根据功能验证报告、漏洞扫描报告和模拟攻击报告评估目标软件的安全性。
28.第三方面,本发明实施例提供一种电子设备,包括:
29.至少一个处理器、至少一个存储器和数据总线;其中:上述处理器与上述存储器通过上述数据总线完成相互间的通信;上述存储器存储有可被上述处理器执行的程序指令,上述处理器调用上述程序指令以执行上述的方法。
30.第四方面,本发明实施例提供一种非暂态计算机可读存储介质,上述非暂态计算机可读存储介质存储计算机程序,上述计算机程序使上述计算机执行如上述的方法。
31.本发明实施例至少具有如下优点或有益效果:
32.采用黑盒测试目标软件的功能模块是否有效,生成功能验证报告;功能验证是采用软件测试当中的黑盒测试方法,对涉及目标软件安全的模块进行测试,如:用户管理模块,权限管理模块,加密系统,认证系统等进行测试,主要验证上述模块是否有效,具体方法可使用黑盒测试方法。使用漏洞扫描器自动检测远程或本地主机中目标软件的安全性弱点的程序,生成漏洞扫描报告;通过使用漏洞扫描器,系统管理员能够发现所维护软件产品存在的安全漏洞,从而在软件产品中做到“有的放矢”,及时修补漏洞。安全漏洞扫描是可以用于日常安全防护,同时可以作为对软件产品或进行测试的手段,可以在安全漏洞造成严重危害前,发现漏洞并加以防范。模拟攻击目标软件,生成模拟攻击报告;以模拟攻击来验证软件或信息系统的安全防护能力。根据功能验证报告、漏洞扫描报告和模拟攻击报告评估目标软件的安全性。提高了检测效率以及准确率。
附图说明
33.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附
图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
34.图1为本发明一种服务器端软件的安全测试方法一实施例的流程图;
35.图2为本发明一种服务器端软件的安全测试系统一实施例的结构框图;
36.图3为本发明一种电子设备的结构示意图。
37.图标:1、功能验证模块;2、漏洞扫描模块;3、模拟攻击模块;4、评估模块;5、处理器;6、存储器;7、数据总线。
具体实施方式
38.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
39.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
40.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
41.在本技术所提供的实施例中,应该理解到,所揭露的系统,也可以通过其它的方式实现。系统实施例仅仅是示意性的,例如,附图中的框图显示了根据本技术的多个实施例的系统和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
42.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
43.功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备,可以是个人计算机,服务器,或者网络设备等,执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

onlymemory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
44.在本发明实施例的描述中,还需要说明的是,除非另有明确的规定和限定,若出现术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
45.实施例
46.请参照图1,第一方面,本发明实施例提供一种服务器端软件的安全测试方法,还方法应用于服务器端软件的安全测试系统,测试系统适用c/s构架,包括:
47.s1:采用黑盒测试目标软件的功能模块是否有效,生成功能验证报告;
48.该步骤中,判断目标软件的功能模块是否有效可以采用软件测试当中的黑盒测试方法,对涉及目标软件安全的模块进行测试,如:用户管理模块,权限管理模块,加密系统,认证系统等进行测试,主要验证上述模块是否有效,具体方法可使用黑盒测试方法。
49.s2:使用漏洞扫描器自动检测远程或本地主机中目标软件的安全性弱点的程序,生成漏洞扫描报告;
50.通过使用漏洞扫描器,系统管理员能够发现所维护软件产品存在的安全漏洞,从而在软件产品中做到“有的放矢”,及时修补漏洞。安全漏洞扫描是可以用于日常安全防护,同时可以作为对软件产品或进行测试的手段,可以在安全漏洞造成严重危害前,发现漏洞并加以防范。
51.具体的,上述漏洞扫描器包括主机漏洞扫描器和网络漏洞扫描器,上述主机漏洞扫描器用于在本地主机运行检测目标软件的安全性弱点的第一程序;上述网络漏洞扫描器用于基于网络远程检测目标软件的安全性弱点的第二程序;第一程序包括cops、tripewire、tiger自由软件,上述第二程序包括satan和iss internet scanner。
52.s3:模拟攻击目标软件,生成模拟攻击报告;
53.以模拟攻击来验证软件或信息系统的安全防护能力。
54.基于第一方面,在本发明的一些实施例中,上述模拟攻击目标软件包括:
55.冒充成具有特权的实体攻击目标软件。
56.冒充就是根据一个真的实体假装生成另一个相似的假的实体。冒充常与某些别的主动攻击形式一起使用,特别是消息的重演与篡改。例如,截获鉴别序列,并在一个有效的鉴别序列使用过一次后再次使用,从而以假乱真。又例如识别搭载目标软件的主机,获取基于netbios、telnet或nfs服务的可利用的用户帐号,并猜测出口令,以对搭载目标软件的主机进行控制。
57.模拟攻击目标软件还包括:
58.编写恶意程序来进一步打开安全缺口,然后将恶意程序放在缓冲区有效载荷末尾,当发生缓冲区溢出时,返回指针指向恶意程序,执行恶意指令,就可以得到系统的控制权。
59.由于在很多服务程序中大量的程序员使用类似于“strcpy(),strcat()”不进行有效位检查的函数,最终可能导致恶意用户编写一小段程序来进一步打开安全缺口,然后将该代码放在缓冲区有效载荷末尾,这样,当发生缓冲区溢出时,返回指针指向恶意代码,执行恶意指令,就可以得到系统的控制权。
60.基于第一方面,在本发明的一些实施例中,上述模拟攻击目标软件还包括:
61.dns服务器与其他名称服务器交换信息的时候加入不正确得信息导致非授权后果。需要说明的是,“授权”意指“授予权力”,包含两层意思:这里的权力是指进行某种活动的权力(例如访问数据);这样的权力被授予某个实体、代理人或进程。于是,授权行为就是履行被授予权力(未被撤销)的那些活动。
62.由于dns服务器与其他名称服务器交换信息的时候并不进行身份验证,这就使得黑客可以加入不正确得信息。
63.基于第一方面,在本发明的一些实施例中,上述模拟攻击目标软件还包括:
64.将产生畸形的、声称自己的尺寸超过icmp上限的包,导致tcp/ip堆栈崩溃,致使接受方宕机。
65.由于路由器对包的最大尺寸都有限制,许多操作系统对tcp/ip栈的实现在icmp包上都规定为64kb,并且在读取包的标题后,要根据该标题头里包含的信息来为有效载荷生成缓冲区。当产生畸形的、声称自己的尺寸超过icmp上限,也就是加载尺寸超过64k上限的包时,就会出现内存分配错误,导致tcp/ip堆栈崩溃,致使接受方宕机。
66.s4:根据功能验证报告、漏洞扫描报告和模拟攻击报告评估目标软件的安全性。
67.根据功能验证报告、漏洞扫描报告和模拟攻击报告综合评估目标软件的安全性
68.请参照图2,第二方面,本发明实施例提供一种服务器端软件的安全测试系统,上述测试系统适用c/s构架,测试时,使用电脑连接服务器,用web端去调用电子设备中的安全测试软件进行测试。上述测试系统包括:功能验证模块1,用于采用黑盒测试目标软件的功能模块是否有效,生成功能验证报告;漏洞扫描模块2,用于使用漏洞扫描器自动检测远程或本地主机中目标软件的安全性弱点的程序,生成漏洞扫描报告;模拟攻击模块3,用于模拟攻击目标软件,生成模拟攻击报告;评估模块4,用于根据功能验证报告、漏洞扫描报告和模拟攻击报告评估目标软件的安全性。
69.需要说明的是,该系统实施例的具体实施方案请参考上述方法实施例,在此不作过多阐述。
70.请参照图3,第三方面,本发明实施例提供一种电子设备,包括:
71.至少一个处理器5、至少一个存储器6和数据总线7;其中:上述处理器5与上述存储器6通过上述数据总线7完成相互间的通信;上述存储器6存储有可被上述处理器5执行的程序指令,上述处理器5调用上述程序指令以执行上述的方法。例如执行s1:采用黑盒测试目标软件的功能模块是否有效,生成功能验证报告;s2:使用漏洞扫描器自动检测远程或本地主机中目标软件的安全性弱点的程序,生成漏洞扫描报告;s3:模拟攻击目标软件,生成模拟攻击报告;s4:根据功能验证报告、漏洞扫描报告和模拟攻击报告评估目标软件的安全性。该电子设备可以是一台电脑,具有操作系统,可以安装测试软件,电脑连接服务器,用web端去调用电子设备中的安全测试软件进行测试。
72.第四方面,本发明实施例提供一种非暂态计算机可读存储介质,上述非暂态计算机可读存储介质存储计算机程序,上述计算机程序使上述计算机执行如上述的方法。例如执行s1:采用黑盒测试目标软件的功能模块是否有效,生成功能验证报告;s2:使用漏洞扫描器自动检测远程或本地主机中目标软件的安全性弱点的程序,生成漏洞扫描报告;s3:模拟攻击目标软件,生成模拟攻击报告;s4:根据功能验证报告、漏洞扫描报告和模拟攻击报
告评估目标软件的安全性。
73.综上,本发明的实施例提供一种服务器端软件的安全测试方法及系统,采用黑盒测试目标软件的功能模块是否有效,生成功能验证报告;功能验证是采用软件测试当中的黑盒测试方法,对涉及目标软件安全的模块进行测试,如:用户管理模块,权限管理模块,加密系统,认证系统等进行测试,主要验证上述模块是否有效,具体方法可使用黑盒测试方法。使用漏洞扫描器自动检测远程或本地主机中目标软件的安全性弱点的程序,生成漏洞扫描报告;通过使用漏洞扫描器,系统管理员能够发现所维护软件产品存在的安全漏洞,从而在软件产品中做到“有的放矢”,及时修补漏洞。安全漏洞扫描是可以用于日常安全防护,同时可以作为对软件产品或进行测试的手段,可以在安全漏洞造成严重危害前,发现漏洞并加以防范。模拟攻击目标软件,生成模拟攻击报告;以模拟攻击来验证软件或信息系统的安全防护能力。根据功能验证报告、漏洞扫描报告和模拟攻击报告评估目标软件的安全性。提高了检测效率以及准确率。
74.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
75.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其它的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1