一种网络安全漏洞的检测方法及装置制造方法及图纸

技术编号:12101070 阅读:65 留言:0更新日期:2015-09-23 19:09
本发明专利技术适用于网络技术领域,提供了一种网络安全漏洞的检测方法及装置,包括:解析应用程序安装包,获取所述应用程序的源代码;根据预存储在漏洞代码库中的漏洞代码的行数,将所述应用程序的源代码与预存储的每段所述漏洞代码进行逐一比对,所述漏洞代码包括满足预设漏洞规则的代码;根据比对结果判断所述应用程序的源代码中是否存在与任一所述漏洞代码匹配的代码段;若所述应用程序的源代码中存在与任一所述漏洞代码匹配的代码段,则确定所述应用程序存在网络安全漏洞。在本发明专利技术中,在后台自动地完成对应用程序的网络安全漏洞检测的整个检测过程,无需再额外人工地配置检测环境或者监听检测数据,大大地提高了网络安全漏洞检测的检测效率。

【技术实现步骤摘要】

本专利技术属于网络
,尤其涉及一种网络安全漏洞的检测方法及装置
技术介绍
随着移动互联网的迅速发展,运行于移动操作系统之上的应用程序几乎都需要与 服务器之间进行不同程度的网络通信,且网络通信的相关数据可能涉及到了用户隐私,因 此,出于对用户个人信息安全的考虑,通常会在交易支付、即时通信等相关应用程序中使用 更为安全的超文本传输安全协议(Hyper Text Transfer Protocol Secure,HTTPS),来保障 用户的隐私数据不被非法截获。 HTTPS 是超文件传输协议(Hyper Text Transfer Protocol,HTTP)和安全套接层 / 传输层安全(Secure Sockets Layer/Transport Layer Security,SSL/TLS)的结合,其 提供加密通信及对服务器身份的鉴定,通过数字证书来判断与应用程序进行网络通信的服 务器是否可信。然而,在实际开发过程中,由于开发者对相关系统接口的使用不规范,很多 时候忽略了对服务器提供的数字证书有效性的检测,从而导致应用程序中存在网络安全漏 洞,引发了 HTTPS加密通信过程中用户隐私数据的泄漏。 目前,对于应用程序中HTTPS安全漏洞的检测只能通过人工审计的方式来进行, 且必须要额外建立网络抓包环境,通过设置代理来监听网络数据包的截获情况,导致检测 过程效率低下。
技术实现思路
本专利技术实施例的目的在于提供一种网络安全漏洞的检测方法,解决目前的网络安 全漏洞检测方法检测效率低下的问题。 本专利技术实施例是这样实现的,一种网络安全漏洞的检测方法,包括: 解析应用程序安装包,获取所述应用程序的源代码; 根据预存储在漏洞代码库中的漏洞代码的行数,将所述应用程序的源代码与预存 储的每段所述漏洞代码进行逐一比对,所述漏洞代码包括满足预设漏洞规则的代码; 根据比对结果判断所述应用程序的源代码中是否存在与任一所述漏洞代码匹配 的代码段; 若所述应用程序的源代码中存在与任一所述漏洞代码匹配的代码段,则确定所述 应用程序存在网络安全漏洞。 本专利技术实施例的另一目的在于提供一种网络安全漏洞的检测装置,包括: 获取单元,用于解析应用程序安装包,获取所述应用程序的源代码; 匹配单元,用于根据预存储在漏洞代码库中的漏洞代码的行数,将所述应用程序 的源代码与预存储的每段所述漏洞代码进行逐一比对,所述漏洞代码包括满足预设漏洞规 则的代码; 判断单元,用于根据比对结果判断所述应用程序的源代码中是否存在与任一所述 漏洞代码匹配的代码段; 确定单元,用于若所述应用程序的源代码中存在与任一所述漏洞代码匹配的代码 段,则确定所述应用程序存在网络安全漏洞。 在本专利技术实施例中,对应用程序的安装包进行反编译,将由此得到的应用程序的 源代码与预先建立的漏洞代码库中的漏洞代码进行一一比对,从而在后台自动地完成对该 应用程序的网络安全漏洞检测的整个检测过程,无需再额外人工地配置检测环境或者监听 检测数据,大大地提高了网络安全漏洞检测的检测效率。【附图说明】 图1是本专利技术实施例提供的网络安全漏洞的检测方法的实现流程图; 图2是本专利技术实施例提供的网络安全漏洞的检测方法S101的具体实现流程图; 图3是本专利技术实施例提供的网络安全漏洞的检测方法S102的具体实现流程图; 图4是本专利技术实施例提供的网络安全漏洞的检测方法S102的实现流程示意图; 图5是本专利技术实施例提供的网络安全漏洞的检测装置的结构框图; 图6是本专利技术实施例提供的网络安全漏洞的检测装置的硬件结构框图。【具体实施方式】 为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并 不用于限定本专利技术。 在本专利技术实施例中,对应用程序的安装包进行反编译,将由此得到的应用程序的 源代码与预先建立的漏洞代码库中的漏洞代码进行一一匹配,从而在后台自动地完成对该 应用程序的网络安全漏洞检测的整个检测过程,无需再额外人工地配置检测环境或者监听 检测数据,大大地提高了网络安全漏洞检测的检测效率。 需要说明的是,接下来均以对Android系统之下的应用程序进行安全漏洞检测为 例,对本专利技术实施例提供的网络安全漏洞的检测方法及装置进行阐述,容易想到的是,对基 于其他操作系统之下的应用程序也可采用相同的实现原理来进行网络安全漏洞的检测(包 括对安装包的反编译、对可能存在网络安全漏洞的代码的特征归纳以及反编译得到的源代 码与归纳出的漏洞规则的匹配逻辑),在此不一一赘述。 图1示出了本专利技术实施例提供的网络安全漏洞的检测方法,详述如下: 在S101中,解析应用程序安装包,获取所述应用程序的源代码。在本专利技术实施例中,可以通过逆向工程(Reverse Engineering),也叫反向工程, 基于应用程序软件的安装包,以反汇编的方式去推断其数据结构、体系结构和程序设计信 息,从而获取到该应用程序的源代码。对于Android系统的APK格式安装包来说,通过逆向 工程对其进行解析,主要包括了如图2所示的相关步骤: 在S201中,解压缩所述应用程序的安装包,获取到其中的可执行文件。 对于Android系统的应用程序安装包来说,其通常是被打包成应用程序包文件 (applicationpackagefile)的形式,即APK安装包,对于以压缩文件形式存在的APK安 装包,需要先按照正常的解压缩处理流程,对其进行解压缩,以得到Android系统规定的安 装包中所必须具备的安装文件,其中,包括了应用程序被编译的代码所在的可执行文件(即classes,dex文件)。由于Android系统是一个基于Java的开发环境,因此,在S201中获取 到的classes,dex文件,即是Java文件编译后再通过dx工具打包而成的。 在S202中,将所述可执行文件转换为Java归档文件。 使用反编译工具(例如deX2jar),可以将可执行文件转换为Java归档文件,其中, Java归档文件(JavaArchive)即.jar文件,其允许将许多文件组合成一个压缩文件,不仅 用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可像编译器和Java虚拟 机这样的工具直接使用。对于Android系统来说,上述转换过程是将classes,dex文件转 换为classes_dex2jar.jar文件的过程。 在S203中,解压缩所述Java归档文件,得到Java类文件的集合。 在S204中,批量反编译所述Java类文件的集合,得到Java源文件的集合。 在得到Java类文件的集合之后,可以通过各种Java反编译工具(例如windows平 台使用的JAD工具),对Java类文件的集合进行批量反编译,以反编译成Java源文件的集 合,由此便实现了对应用程序源代码的获取。 在S102中,根据预存储在漏洞代码库中的漏洞代码的行数,将所述应用程序的源 代码与预存储的每段所述漏洞代码进行逐一比对,所述漏洞代码包括满足预设漏洞规则的 代码。 在本实施例中,执行S102之前,需要预先建立漏洞代码库,并在该漏洞代码库中 预存储满足预设漏洞规则的漏洞代码。 对于Androi本文档来自技高网...
一种网络安全漏洞的检测方法及装置

【技术保护点】
一种网络安全漏洞的检测方法,其特征在于,包括:解析应用程序安装包,获取所述应用程序的源代码;根据预存储在漏洞代码库中的漏洞代码的行数,将所述应用程序的源代码与预存储的每段所述漏洞代码进行逐一比对,所述漏洞代码包括满足预设漏洞规则的代码;根据比对结果判断所述应用程序的源代码中是否存在与任一所述漏洞代码匹配的代码段;若所述应用程序的源代码中存在与任一所述漏洞代码匹配的代码段,则确定所述应用程序存在网络安全漏洞。

【技术特征摘要】

【专利技术属性】
技术研发人员:王金锭李杰谭晓光王岳
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1