一种检测主机名漏洞的方法、装置及设备制造方法及图纸

技术编号:19858577 阅读:23 留言:0更新日期:2018-12-22 11:56
本申请公开了一种检测主机名漏洞的方法,用以解决传统方法检测主机名漏洞效率不高的问题。方法包括:获取待测应用程序的反编译结果,获得SSLSession入参配置;若确定所述SSLSession入参配置中,没有对访问主机名进行安全性检验的配置信息,则确定所述待测试应用程序存在主机名漏洞。本申请还公开了一种检测主机名漏洞的装置及设备。

【技术实现步骤摘要】
一种检测主机名漏洞的方法、装置及设备
本申请涉及计算机软件
,尤其涉及一种检测主机名漏洞的方法、装置及设备。
技术介绍
由于安卓系统的开源性,使得恶意攻击者容易针对安卓系统下的应用进行攻击,其中,恶意攻击往往会采用伪造主机名的方式发起中间人攻击,以此窃取信息或进行破坏,因此对待上线应用进行主机名检验漏洞检测成为一个不可或缺的环节。现有技术的检验主机名漏洞,常常采用穷举攻击的方式,这种方式效率不高。因此,期望得到一种检测主机名漏洞的方法,以提高检测主机名漏洞的效率。
技术实现思路
本申请实施例的目的是提供一种检测主机名漏洞的方法,用以解决现有技术存在的主机名漏洞检测效率不高的问题。本申请实施例采用下述技术方案:第一方面,提出了一种检测主机名漏洞的方法,包括:获取待测应用程序的反编译结果,获得SSLSession入参配置;若确定所述SSLSession入参配置中,没有对访问主机名进行安全性检验的配置信息,则确定所述待测试应用程序存在主机名漏洞。第二方面,提出了一种检测装置,该装置包括:分析单元,用于获取待测应用程序的反编译结果,获得SSLSession入参配置;确定单元,若确定所述SSLSession入参配置中,没有对访问主机名进行安全性检验的配置信息,则确定所述待测试应用程序存在主机名漏洞。第三方面,提供了一种检测主机名漏洞的设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现检测主机名漏洞的方法的步骤。由以上本申请实施例提供的技术方案可见,本申请实施例方案至少具备如下一种技术效果:由于采用获取SSLSession入参配置,根据SSLSession入参配置判断是否存在主机名漏洞的检测方法,实现了有指向的检测主机名漏洞的技术效果,有效提高了检测主机名漏洞的速度,在保证检测效果的前提下提高了检测效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种检测主机名漏洞的方法具体流程示意图;图2为本申请实施例提供的一种检测主机名漏洞的装置的具体结构示意图;图3是本申请实施例提供的一种检测主机名漏洞的设备的具体结构示意图。具体实施方式为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。为解决现有技术中存在的检测主机名漏洞效率不高的问题,本申请实施例提供一种检测主机名漏洞的方法。该方法的具体实现流程示意图如图1所示,该方法的具体实现主要包括下述步骤:获取待测应用程序的反编译结果,获得SSLSession入参配置;反编译可以是将待测应用程序所包含的可执行文件转换为源代码的过程,通过上述过程,可以清晰的查看待测应用程序的源代码编写细节,进而为检测待测应用程序漏洞、改写带侧应用程序等步骤提供支持。SSLSession,即SecureSocketsLayerSession,可以用来描述在安全层面通信所使用的一系列的加密参数和秘钥,负责保存保障通信过程安全性和保密性的设置信息。SSLSession入参配置,可以用来校验与待测应用程序进行通信的信息类型、信息特征、数据范围、加密方式、主机名等参数,以保护待测应用程序免受恶意攻击。在获得待测应用程序SSLSession入参配置时,具体可以是通过反编译获得待测应用程序的smali代码,分析待测应用程序的smali代码,继承所述smali代码中的HostnameVerifier文件,遍历所述HostnameVerifier文件中的代码,获得SSLSession入参配置。例如,获得待测应用程序,通过apktool进行反编译,获取待测应用程序中的smali代码,分析待测应用程序的smali代码,通过.implementsLjavax/net/ssl/HostnameVerifier路径找到HostnameVerifier文件并进行继承,查看publicverifypublicverify(Ljava/lang/String;Ljavax/net/ssl/SSLSession;)Z,获得SSLSession入参配置。步骤12,若确定所述SSLSession入参配置中,没有对访问主机名进行安全性检验的配置信息,则确定所述待测试应用程序存在主机名漏洞。主机名可以用来区分网络中主机与主机之间的区别,并可以方便主机之间相互下进行访问,主机名往往由字符串、数字串或两者的组合构成,通过识别通信信息中所包含的主机名,可以知道该信息来自以哪台主机。例如,在某主机配置文件中,包含代码:/etc/hosts/192.168.1.195fujian。则“192.168.1.195”为该主机所在的IP地址,“fujian”为该主机的主机名。在一种实施方式中,所述安全性检验,包括下述至少一种:检验访问主机名前缀字符串;检验访问主机名后缀字符串;检验与访问主机名等效的其他类型主机名。例如,设置拒绝访问的主机名前缀字符串为:abc。获取待测应用程序的SSLSession入参配置,若主机名检验模块存在代码:startWith("abc")。则该待测应用程序不存在主机名漏洞,反之则存在漏洞。例如,设置拒绝访问的主机名后缀字符串为:abc。获取待测应用程序的SSLSession入参配置,若主机名检验模块存在代码:endWith("abc")。则该待测应用程序不存在主机名漏洞,反之则存在漏洞。例如,设置拒绝访问的主机名等效主机名为:abc。获取待测应用程序的SSLSession入参配置,若主机名检验模块存在代码:equals("abc")。则该待测应用程序不存在主机名漏洞,反之则存在漏洞。在本申请的一个或多个实施例中,在获取待测应用程序的反编译结果后,还可以根据所述反编译结果进行判断,若所述待测应用程序HostnameVerifier入参配置中,包含接受部分或全部主机名的配置信息,则确定所述待测试应用程序存在主机名漏洞。在一种实施方式中,接受部分或全部主机名的配置信息,具体包括:ALLOW_ALL_HOSTNAME_VERIFIER。例如,获取待测应用程序,进行反编译,获取源代码,查找关键字SSLSocketFactory;setHostnameVerifier,判断其参数是否为ALLOW_ALL_HOSTNAME_VERIFIER,若判断结果为是,则存在主机名漏洞。采用本申请实施例1提供的方法,由于采用获取SSLSession入参配置,根据SSLSession入参配置判断是否存在主机名漏洞的检测方法,实现了有指向的检测主机名漏洞的技术效果,有效提高了检测主机名漏洞的速度,在保证检测效果的前提下提高了检测效率。为解决现有技术中存在的检测主机名漏本文档来自技高网
...

【技术保护点】
1.一种检测主机名漏洞的方法,其特征在于,包括:获取待测应用程序的反编译结果,获得SSLSession入参配置;若确定所述SSLSession入参配置中,没有对访问主机名进行安全性检验的配置信息,则确定所述待测试应用程序存在主机名漏洞。

【技术特征摘要】
1.一种检测主机名漏洞的方法,其特征在于,包括:获取待测应用程序的反编译结果,获得SSLSession入参配置;若确定所述SSLSession入参配置中,没有对访问主机名进行安全性检验的配置信息,则确定所述待测试应用程序存在主机名漏洞。2.根据权利要求1所述的方法,其特征在于,获取待测应用程序的反编译结果后,所述方法还包括:根据所述反编译结果,若所述待测应用程序HostnameVerifier入参配置中,包含接受部分或全部主机名的配置信息,则确定所述待测试应用程序存在主机名漏洞。3.根据权利要求2所述的方法,其特征在于,接受部分或全部主机名的配置信息,具体包括:ALLOW_ALL_HOSTNAME_VERIFIER。4.根据权利要求1所述的方法,其特征在于,所述安全性检验,包括下述至少一种:检验访问主机名前缀字符串;检验访问主机名后缀字符串;检验与访问主机名等效的其他类型主机名。5.根据权利要求1所述的方法,其特征在于,获得SSLSession入参配置,具体包括:分析所述待测应用程序的smali代码,继承所述smali代码中的HostnameVerifier文件,遍历所述HostnameVerifier文件中的代...

【专利技术属性】
技术研发人员:阚志刚徐磊刘义张志勇张陈陈林凯陈彪
申请(专利权)人:北京梆梆安全科技有限公司
类型:发明
国别省市:北京,11

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

1