安全漏洞检测方法和装置的制造方法_5

文档序号:9524114阅读:来源:国知局
第一应用的应用安装包中解析出的文件中既包含字符串“ SecureRandom”又包含字符串“/dev/random”,而且不存在仅包含字符串“SecureRandom”且未包含字符串“/dev/random”的文件,则可以检测出第一应用不存在安全漏洞。在另一方面,若存在包含字符串“SecureRandom”的匹配文件,且该匹配文件未包含字符串“/dev/random”或“/dev/urandom”,则可以检测出第一应用存在安全漏洞。由此可见,在本发明实施例中,上述修复安全漏洞的指令可以包括加强随机数生成指令,第二匹配信息可以包括字符串“dev/urandom,,或者 “/dev/random,,。
[0108]除此之外,在本发明实施例中,第二获取单元404中所描述的从应用安装包中获取上述一个或多个文件的具体方式可以有多种,一般地,作为一种可选的方式,在本发明实施例中,上述第二获取单元404可以包括:
[0109]1)解压缩模块,用于从应用安装包中解压缩出类文件集;
[0110]2)获取模块,用于对类文件集进行反编译并获取一个或多个编译文件;
[0111]3)第三输出模块,用于将一个或多个编译文件作为一个或多个文件,和/或,在一个或多个编译文件中获取一个或多个文件。
[0112]例如,在一个实施例中,应用安装包可以是安卓安装包APK包,从中解压缩得到的类文件集可以包括多个类文件,或者说class类型文件。更具体地,对于解压缩操作和类文件集的获取来说,作为一种可行的方式,在本发明实施例中,上述解压缩模块可以包括:
[0113]1)第一解压缩子模块,用于从APK包中解压缩出classes, dex文件;
[0114]2)转换子模块,用于将classes, dex文件转换为jar类型文件,其中,jar类型文件表示Java归档文件;
[0115]3)第二解压缩子模块,用于从转换出的jar类型文件中解压缩出一个或多个类文件并形成类文件集。
[0116]通过上述实施例,对本发明技术方案进行了描述,然而应当理解的是,上述实施例仅用于对本发明技术方案的理解,并不会对本发明构成限定。例如,上述实施例中具体以安卓系统下的APK包为例对根据本发明实施例提供的安全漏洞检测装置的各模块进行了具体描述,然而这并非是本发明唯一的实施方式,其还可以利用相似的处理模块实施于10S系统下的IPA包或其他现行或未来的可行的应用安装包,并基于对应用安装包的匹配分析来判断对应的第一应用是否存在安全漏洞,本发明对此不作限定。
[0117]实施例3
[0118]根据本发明实施例,还提供了一种用于存储如实施例1中所描述的获取方法的进程实体的存储介质,如图5所示,该存储介质被设置为存储用于执行以下步骤的程序代码:
[0119]S502:获取第一应用的应用安装包和第一匹配信息,其中,应用安装包用于安装第一应用,第一匹配信息用于指示在运行第二应用时所执行的存在安全漏洞的指令;
[0120]S504:从应用安装包中获取记录有运行第一应用时所需执行的指令的一个或多个文件;
[0121]S506:判断一个或多个文件中是否存在包含第一匹配信息的匹配文件;
[0122]S508:若存在匹配文件,则检测出第一应用存在安全漏洞。
[0123]可选地,在本实施例中,上述存储介质可以位于如图2所示的后台服务器204上,具体地,该存储介质可以设置在一台网络设备上,也可以分功能地设置在多台网络设备上。
[0124]可选地,在本实施例中,处理器可以根据存储介质中存储的用于执行步骤S506的代码执行以下操作:S22、判断一个或多个文件中的每个文件中的每一行记录是否包括一个或多个第一匹配信息中的任意一个匹配信息;其中,
[0125]处理器还可以根据存储介质中存储的用于执行步骤S508的代码执行以下操作:S24、若每一行记录中存在任意一行记录包含任意一个匹配信息,则检测出第一应用存在安全漏洞,并输出包含任意一个匹配信息的文件的文件名和/或任意一行的行号。
[0126]可选地,在本实施例中,处理器可以根据存储介质中存储的用于执行步骤S508的代码执行以下操作:S26、若该每一行记录中存在该任意一行记录包含该任意一个匹配信息,则查找与该任意一个匹配信息对应的缺陷描述信息,其中,缺陷描述信息用于描述在执行由任意一个匹配信息指示的指令时所存在的安全漏洞;其中,
[0127]处理器还可以根据存储介质中存储的用于执行步骤S24的代码执行以下操作:S28、将查找到的缺陷描述信息标记为与文件名和/或行号对应,并输出文件名和/或行号以及对应的缺陷描述信息。
[0128]可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:S30、若存在匹配文件,则判断匹配文件是否包含第二匹配信息,其中,第二匹配信息用于指示在运行第二应用时执行的修复安全漏洞的指令;其中,
[0129]处理器还可以根据存储介质中存储的用于执行步骤S508的代码执行以下操作:S32、若匹配文件未包含第二匹配信息,则检测出第一应用存在安全漏洞。
[0130]可选地,在本实施例中,处理器还可以根据存储介质中存储的用于执行步骤S504的代码执行以下操作:S34、从应用安装包中解压缩出类文件集;S36、对类文件集进行反编译并获取一个或多个编译文件;S38、将一个或多个编译文件作为一个或多个文件,和/或,在一个或多个编译文件中获取一个或多个文件。
[0131]可选地,在本实施例中,处理器还可以根据存储介质中存储的用于执行步骤S34的代码执行以下操作:S40、从APK包中解压缩出classes, dex文件;S42、将classes, dex文件转换为jar类型文件,其中,jar类型文件表示Java归档文件;S44、从转换出的jar类型文件中解压缩出一个或多个类文件并形成类文件集。
[0132]可选地,在本实施例中,上述安全漏洞可以包括随机数漏洞;和/或,上述存在安全漏洞的指令可以包括伪随机数生成指令;和/或,上述修复上述安全漏洞的指令可以包括加强随机数生成指令;和/或,上述第一匹配信息包括字符串“SecureRandom.setSeed”和/或字符串“SecureRandom” ;和/或,上述第二匹配信息包括字符串“/dev/urandom”和/ 或字符串 “/dev/random”。
[0133]可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
[0134]上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
[0135]实施例4
[0136]根据本发明实施例,还提供了一种用于实施如实施例1中所描述的获取方法的服务器,如图6所示,该服务器包括:
[0137]1)处理器602,用于获取第一应用的应用安装包和第一匹配信息,其中,应用安装包用于安装第一应用,第一匹配信息用于指示在运行第二应用时所执行的存在安全漏洞的指令;其中,
[0138]所述处理器还用于从应用安装包中获取记录有运行第一应用时所需执行的指令的一个或多个文件;其中,
[0139]所述处理器还用于判断一个或多个文件中是否存在包含第一匹配信息的匹配文件;其中,
[0140]所述处理器还用于在判断出存在匹配文件时,检测出第一应用存在安全漏洞。
[0141]可选地,在本实施例中,根据本发明实施例提供的服务器可以是如图2所示的后台服务器204。具体地,后台服务器204可以用于提供数据安全相关的各类服务,具体地,可以用于提供应用安全漏洞的检测服务。更具体地,在本发明实施例中,上述后台服务器204可以表示用于提供对应服务的服务器应用,也可以表示安装并运行有这些服务器应用的计算机或计算机系统,本发明对此不作限定。
[0142]可选地,在本实施例中,上述处理器602可以被设置为执行以下操作:S46、判断一个或多个文件中的每个文件中的每一行记录是否包括一个或多个第一匹配信息中的任意一个匹配信息;其中,
[0143]处理器还可以被设置为执行以下操作:S48、若每一行记录中存在任意一行记录包含任意一个匹配信息,则检测出第一应用存在安全漏洞,并输出包含任意一个匹配信息的文件的文件名和/或任意一行的行号。
[0144]可选地,在本实施例中,上述处理器602可以被设置为执行以下操作:S50、若该每一行记录中存在该任意一行记录包含该任意一个匹配信息,则查找与该任意一个匹配信息对应的缺陷描述信息,其中,缺陷描述信息用于描述在执行由任意一个匹配信息指示的指令时所存在的安全漏洞;其中,
[0145]处理器还可以被设置为执行以下操作:S52、将查找到的缺陷描述信息标记为与文件名和/或行号对应,并输出文件名和/或行号以及对应的缺陷描述信息。
[0146]可选地,在本实施例中,上述处理器602可以被设置为执行以下操作:S54、若存在匹配文件,则判断匹配文件是否包含第二匹配信息,其中,第二匹配信息用于指示在运行第二应用时执行的修复安全漏洞的指令;其中,
[0147]处理器还可以被设置为执行以下操作:S56、若匹配文件未包含第二匹配信息,则检测出第一应用存在安全漏洞。
[0148]可选地,在本实施例中,上述处理器602可以被设置为执行以下操作:S58、从应用安装包中解压缩出类文件集;S60、对类文件集进行反编译并获取一个或多个编译文件;S62、将一个或多个编译文件作为一个或多个文件,和/或,在一个或多个
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1