识别程序漏洞的方法、装置、存储介质和电子设备制造方法及图纸

技术编号:20118590 阅读:27 留言:0更新日期:2019-01-16 12:12
本发明专利技术揭示了一种识别程序漏洞的方法,用于对基于客户端和服务器架构的程序进行漏洞检测,所述方法包括:根据所述客户端发送的上行数据和所述服务器发送的下行数据,确定存在对应关系并符合测试对象条件的上行协议和下行协议;将与所述上行协议关联的测试数据传送至所述客户端执行;以及基于来自所述服务器的与所述下行协议关联的返回数据确定是否存在漏洞。本方案基于确定出存在对应关系的上行协议和下行协议,通过发送测试数据给客户端执行,并对服务器的响应进行分析,能够自动执行程序漏洞的检测识别,提高了测试效率。

Methods, devices, storage media and electronic devices for identifying program vulnerabilities

The invention discloses a method for identifying program vulnerabilities for vulnerability detection of programs based on client and server architectures. The method includes: ascertaining an upstream protocol and downstream protocol with corresponding relationship and meeting test object conditions according to the upstream data sent by the client and downstream data sent by the server; and associating the upstream protocol with the upstream protocol. The test data is transmitted to the client for execution, and the vulnerability is determined based on the return data associated with the downlink protocol from the server. Based on ascertaining the corresponding upstream and downstream protocols, this scheme can automatically detect and identify program vulnerabilities by sending test data to the client and analyzing the response of the server, thus improving the testing efficiency.

【技术实现步骤摘要】
识别程序漏洞的方法、装置、存储介质和电子设备
本专利技术涉及计算机
,特别涉及一种识别程序漏洞的方法和装置、计算机可读存储介质以及电子设备。
技术介绍
随着互联网技术特别是移动网络的飞速发展,越来越多的软件服务提供方采用服务器配合客户端的形式来提供服务。以社交软件为例,用户与客户端程序交互中产生的一些重要数据(例如鉴权、支付等信息),都需要发送给服务器端进行后续处理。又以游戏软件为例,用户在客户端程序的一些关键操作(例如登陆、内购等),都由服务器端进行相应处理后反馈给客户端。客户端服务器(CS,Client-Server)架构的程序在出现漏洞时,由于会影响到服务器的安全,乃至会影响所有用户的信息安全和使用体验,因此其与仅在单机运行的程序相比,程序漏洞的识别显得尤为重要。目前对于CS架构程序的漏洞测试,完全依赖人工分析风险,通过手动构造测试数据由客户端发送至服务器端,进而基于观察客户端和服务器的表现,来判断是否存在相应的漏洞。这种漏洞识别手段的成功率,完全依赖于测试人员的技能和经验,因此可靠性难以保证,漏洞挖掘的效率、广度和深度都比较低。
技术实现思路
为了解决相关技术中完全依赖测试人员手动操作识别程序漏洞的问题,本专利技术提供了一种识别程序漏洞的方法和装置、计算机可读存储介质以及电子设备。根据本专利技术的实施例,提供一种识别程序漏洞的方法,用于对基于客户端和服务器架构的程序进行漏洞检测,所述方法包括:根据所述客户端发送的上行数据和所述服务器发送的下行数据,确定存在对应关系并符合测试对象条件的上行协议和下行协议;将与所述上行协议关联的测试数据传送至所述客户端执行;以及基于来自所述服务器的与所述下行协议关联的返回数据确定是否存在漏洞。根据本专利技术的实施例,提供一种识别程序漏洞的装置,用于对基于客户端和服务器架构的程序进行漏洞检测,包括:绑定模块,用于根据所述客户端发送的上行数据和所述服务器发送的下行数据,确定存在对应关系并符合测试对象条件的上行协议和下行协议;测试模块,用于将与所述上行协议关联的测试数据传送至所述客户端执行;以及确定模块,用于基于来自所述服务器的与所述下行协议关联的返回数据确定是否存在漏洞。根据本专利技术的实施例,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的识别程序漏洞的方法。根据本专利技术的实施例,提供一种电子设备,包括:处理器;以及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的识别程序漏洞的方法。本专利技术的实施例提供的识别程序漏洞的方案,基于确定出存在对应关系的上行协议和下行协议,通过发送测试数据给客户端执行,并对服务器的响应进行分析,能够自动执行程序漏洞的检测识别,提高了测试效率。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本专利技术。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并于说明书一起用于解释本专利技术的原理。图1示出了可以应用本专利技术实施例识别程序漏洞的方法或装置的示例性系统架构的示意图。图2示出了适于用来实现本专利技术实施例的电子设备的计算机系统的结构示意图。图3是根据一示例性实施例示出的一种识别程序漏洞的方法的流程图。图4是根据另一示例性实施例示出的一种识别程序漏洞的方法的流程图。图5是根据再一示例性实施例示出的一种识别程序漏洞的方法的流程图。图6是根据一示例性实施例示出的一种识别程序漏洞的装置的框图。图7是根据另一示例性实施例示出的一种识别程序漏洞的装置的框图。图8示出了可以应用本专利技术实施例的识别程序漏洞的方法或装置的另一示例性系统架构的示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本专利技术将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本专利技术的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本专利技术的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本专利技术的各方面。附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。图1示出了可以应用本专利技术实施例的识别程序漏洞的方法或装置的示例性系统架构100的示意图。如图1所示,系统架构100可以包括终端设备101、102、103中的一种或多种,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机和台式计算机等等。服务器105可以是提供各种服务的服务器。例如,在终端设备103(也可以是终端设备101或102)和服务器105上分别安装基于本专利技术提供的安装包后,就可对终端设备103上安装的基于CS架构的程序进行漏洞检测。服务器105根据终端设备103上客户端发送的上行数据和服务器(与上述客户端对应的服务器,而非此处的服务器105,图中未示出)发送的下行数据,确定存在对应关系并符合测试对象条件的上行协议和下行协议;将与上行协议关联的测试数据传送至终端设备103上的客户端执行;最后基于来自上述服务器的与下行协议关联的返回数据确定是否存在漏洞。在一些实施例中,本专利技术实施例所提供的识别程序漏洞的方法一般由服务器105执行,相应地,识别程序漏洞的装置一般设置于服务器105中。在另一些实施例中,某些终端可以具有与服务器相似的功能从而执行本方法。因此,本专利技术实施例所提供的识别程序漏洞的方法不限定在服务器端执行。图2示出了适于用来实现本专利技术实施例的电子设备的计算机系统的结构示意图。需要说明的是,图2示出的电子设备的计算机系统200仅是一个示例,不应对本专利技术实施例的功能和使用范围带来任何限制。如图2所示,计算机系统200包括中央处理单元(CPU)201,其可以根据存储在只读存储器(ROM)202中的程序或者从存储部分208加载到随机访问存储器(RAM)203中的程序而执行各种适当的动作和处理。在RAM本文档来自技高网...

【技术保护点】
1.一种识别程序漏洞的方法,用于对基于客户端和服务器架构的程序进行漏洞检测,其特征在于,所述方法包括:根据所述客户端发送的上行数据和所述服务器发送的下行数据,确定存在对应关系并符合测试对象条件的上行协议和下行协议;将与所述上行协议关联的测试数据传送至所述客户端执行;以及基于来自所述服务器的与所述下行协议关联的返回数据确定是否存在漏洞。

【技术特征摘要】
1.一种识别程序漏洞的方法,用于对基于客户端和服务器架构的程序进行漏洞检测,其特征在于,所述方法包括:根据所述客户端发送的上行数据和所述服务器发送的下行数据,确定存在对应关系并符合测试对象条件的上行协议和下行协议;将与所述上行协议关联的测试数据传送至所述客户端执行;以及基于来自所述服务器的与所述下行协议关联的返回数据确定是否存在漏洞。2.如权利要求1所述的方法,其特征在于,所述的确定存在对应关系并符合测试对象条件的上行协议和下行协议,包括:基于所述上行协议和所述下行协议的协议名称和时间戳中的至少一种,确定存在所述对应关系的上行协议和下行协议。3.如权利要求2所述的方法,其特征在于,所述的基于所述上行协议和所述下行协议的协议名称确定存在所述对应关系的上行协议和下行协议,包括:对所述协议名称进行分词和过滤处理,分别得到所述上行协议和所述下行协议的名称核心词;在所述上行协议的名称核心词与所述下行协议的名称核心词满足完全匹配、相似度高于阈值、加权后的相似度高于另一阈值中的至少一个条件时,确定所述上行协议和所述下行协议存在所述对应关系。4.如权利要求1所述的方法,其特征在于,所述的确定存在对应关系并符合测试对象条件的上行协议和下行协议,包括:基于所述上行协议和所述下行协议的协议名称和协议字段中的至少一种,确定符合所述测试对象条件的上行协议和下行协议。5.如权利要求4所述的方法,其特征在于,所述的基于所述上行协议和所述下行协议的协议名称确定符合所述测试对象条件的上行协议和下行协议,包括:对所述协议名称进行分词和过滤处理,分别得到所述上行协议和所述下行协议的名称核心词;在所述名称核心词满足包括来自第一关键词集合的任意关键词和包括来自第二关键词集合的多个关键词的组合中的至少一种条件时,确定所述上行协议和所述下行协议符合所述测试对象条件。6.如权利要求4所述的方法,其特征在于,所述的基于所述上行协议和所述下行协议的协议字段确定符合所述测试对象条件的上行协议和下行协议,包括:在所述协议字段的命名满足包括来自第一关键词集合的任意关键词和包括来自第二关键词集合的多个关键词的组合中的至少一种条件时,确定所述上行协议和所述下行协议符合所述测试对象条件。7.如权利要求1所述的方法,其特征在于,所述的基于来自所述服务器的与所述下行协议关联的返回数据确定是否存在漏洞,包括以下任意步骤:当所述返回数据不符合所述下行协议的数据结构时,则...

【专利技术属性】
技术研发人员:罗德志王枭王建行李建颖周洪斌魏学峰严明
申请(专利权)人:深圳市腾讯网络信息技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1