基于文件的漏洞检测方法和装置制造方法及图纸

技术编号:15799227 阅读:420 留言:0更新日期:2017-07-11 13:21
本申请公开了一种基于文件的漏洞检测方法和装置。其中,该方法包括:获取待检测程序的程序文件,其中,程序文件包括多个子文件;提取每个子文件的文件特征信息,其中,文件特征信息用于记录对应子文件的文件特征;基于文件特征信息所记录的文件特征,确定子文件是否为可执行文件;在确定子文件为可执行文件的情况下,利用子文件对待检测程序进行漏洞扫描。通过本申请,解决了现有的漏洞扫描时不检测子dex文件,导致漏洞漏报的技术问题。

File based vulnerability detection method and device

The present application discloses a file based vulnerability detection method and device. Among them, the method includes: obtaining the detected program files, the program file includes a plurality of sub files; extracting feature information of each sub file, file the file feature information for file recording features corresponding sub files; file feature recorded file based on characteristic information, to determine whether the file is executable sub in determining the sub file; as the executable file of the case, to test procedures for vulnerability scanning using the sub file. Through the application, the invention solves the technical problems of not detecting the sub DEX files when the existing vulnerabilities are scanned, and leads to the omission of loopholes.

【技术实现步骤摘要】
基于文件的漏洞检测方法和装置
本申请涉及移动安全领域,具体而言,涉及一种基于文件的漏洞检测方法和装置。
技术介绍
随着Android插件化开发的流行,较为大型的应用设计通常都会使用插件化开发,即将一些功能通过子dex(dalvikvmexecutes的缩写,为一种用于Android的可执行程序)的方式集成进APK(AndroidPackage的缩写,即Android安装程序包)中。在运行APK时动态加载这些dex文件,以实现dex文件对应的功能。而标准的应用程序的APK只包含一个主dex文件,在对应用程序进行漏洞查找时,需反编译APK,并对反编译出的语句进行漏洞查找。现有技术中的漏洞扫描系统只检测APK中的主dex文件,并对其进行反编译,并不对APK中的子dex文件进行反编译,但是子dex文件中也可能有程序漏洞,无法扫描子dex文件也便无法扫描子dex文件中的漏洞,从而会漏掉APK中的某些漏洞。针对现有的漏洞扫描时不检测子dex文件,导致漏洞漏报的问题,目前尚未提出有效的解决方案。
技术实现思路
本申请实施例提供了一种基于文件的漏洞检测方法和装置,以至少解决现有的漏洞扫描时不检测子dex文件,导致漏洞漏报的问题。根据本申请实施例的一个方面,提供了一种基于文件的漏洞检测方法,该方法包括:获取待检测程序的程序文件,其中,程序文件包括多个子文件;提取每个子文件的文件特征信息,其中,文件特征信息用于记录对应子文件的文件特征;基于文件特征信息所记录的文件特征,确定子文件是否为可执行文件;在确定子文件为可执行文件的情况下,利用子文件对待检测程序进行漏洞扫描。根据本申请实施例的另一方面,还提供了一种基于文件的漏洞检测装置,该装置包括:获取模块,用于获取待检测程序的程序文件,其中,程序文件包括多个子文件;提取模块,用于提取每个子文件的文件特征信息,其中,文件特征信息用于记录对应子文件的文件特征;确定模块,用于基于文件特征信息所记录的文件特征,确定子文件是否为可执行文件;扫描模块,用于在确定子文件为可执行文件的情况下,利用子文件对待检测程序进行漏洞扫描。在本申请实施例中,基于待检测程序中每个子文件的文件特征,查找待检测程序的程序文件中的可执行文件(如dex文件),并利用确定的所有可执行文件,对待检测程序进行漏洞扫描。通过上述实施例,可以查找到待检测程序的程序文件中所有可执行文件,包括主可执行文件和子可执行文件,并对所有可执行文件进行漏洞查找,以实现对待检测程序中可能存在的漏洞的全面扫描,使漏洞查找的效果最大化,从而解决了现有的漏洞扫描时不检测子dex文件,导致漏洞漏报的问题。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是本申请实施例的一种基于文件的漏洞检测方法的计算机终端的结构框图;图2是根据本申请实施例的一种基于文件的漏洞检测方法的流程图;图3是根据本申请实施例的一种可选的基于文件的漏洞检测方法的流程图;图4是根据本申请实施例的另一种可选的基于文件的漏洞检测方法的流程图;图5是根据本申请实施例的一种基于文件的漏洞检测装置的示意图;图6是根据本申请实施例的一种可选的基于文件的漏洞检测装置的示意图;图7是根据本申请实施例的另一种可选的基于文件的漏洞检测装置的示意图;图8是根据本申请实施例的又一种可选的基于文件的漏洞检测装置的示意图;图9是根据本申请实施例的第四种可选的基于文件的漏洞检测装置的示意图;图10是根据本申请实施例的一种计算机终端的结构框图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请涉及到的名词解释如下:APK,英文名称AndroidPackage,即Android安装包;Dex,英文名称dalvikvmexecutes,一种用于Android的可执行程序;应用程序,是指运行于操作系统上的计算机程序。实施例1根据本申请实施例,还提供了一种基于文件的漏洞检测方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本申请实施例的一种基于文件的漏洞检测方法的计算机终端的结构框图。如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的基于文件的漏洞检测方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的反编译指令中寄存器的处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。在上述运行环境下,本申请提供了一种基于文件的漏洞检测方法本文档来自技高网
...
基于文件的漏洞检测方法和装置

【技术保护点】
一种基于文件的漏洞检测方法,其特征在于,包括:获取待检测程序的程序文件,其中,所述程序文件包括多个子文件;提取每个子文件的文件特征信息,其中,所述文件特征信息用于记录对应子文件的文件特征;基于所述文件特征信息所记录的文件特征,确定子文件是否为可执行文件;在确定所述子文件为可执行文件的情况下,利用所述子文件对所述待检测程序进行漏洞扫描。

【技术特征摘要】
1.一种基于文件的漏洞检测方法,其特征在于,包括:获取待检测程序的程序文件,其中,所述程序文件包括多个子文件;提取每个子文件的文件特征信息,其中,所述文件特征信息用于记录对应子文件的文件特征;基于所述文件特征信息所记录的文件特征,确定子文件是否为可执行文件;在确定所述子文件为可执行文件的情况下,利用所述子文件对所述待检测程序进行漏洞扫描。2.根据权利要求1所述的方法,其特征在于,提取每个子文件的文件特征信息包括:按照预设方式打开每个子文件,并从打开的子文件的预定位置读取所述文件特征信息。3.根据权利要求2所述的方法,其特征在于,所述预设方式包括二进制打开方式,预定位置包括打开的子文件的前N个字节,其中,所述N为自然数,所述可执行文件为终端操作系统的可执行文件。4.根据权利要求2所述的方法,其特征在于,基于所述文件特征信息所记录的文件特征,确定子文件是否为可执行文件包括:依次按照每个子文件的文件特征与预定特征进行匹配;若当前匹配的子文件的文件特征与所述预定特征一致,则确定所述当前匹配的子文件为所述可执行文件。5.根据权利要求4所述的方法,其特征在于,在依次按照每个子文件的文件特征与预定特征进行匹配之后,所述方法还包括:若当前匹配的子文件的文件特征与所述预定特征不一致,则判断所述当前匹配的子文件的文件特征是否与压缩文件的文件特征一致;若所述当前匹配的子文件的文件特征与压缩文件的文件特征一致,则判断出所述当前匹配的子文件为压缩文件,并重新提取每个子文件的文件特征信息。6.根据权利要求1至5中任意一项所述的方法,其特征在于,获取待检测程序的程序文件包括:获取待检测程序的安装程序包;对所述安装程序包进行解压缩,得到所述程序文件。7.根据权利要求1至5中任意一项所述的方法,其特征在于,利用所述子文件对所述待检测程序进行漏洞扫描包括:对所述子文件进行反编译,得到反编译语句;利用所述反编译语句对所述待检测程序进行漏洞扫描。8.一种基于文件的漏洞检测装置,其特征在于,包括:获取模...

【专利技术属性】
技术研发人员:陈晋福
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1