CN104899509B - 文件样本属性的确定方法及装置 - Google Patents
文件样本属性的确定方法及装置 Download PDFInfo
- Publication number
- CN104899509B CN104899509B CN201410075212.6A CN201410075212A CN104899509B CN 104899509 B CN104899509 B CN 104899509B CN 201410075212 A CN201410075212 A CN 201410075212A CN 104899509 B CN104899509 B CN 104899509B
- Authority
- CN
- China
- Prior art keywords
- sample
- information
- type
- sample type
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提出一种文件样本属性的确定方法及装置,其中,文件样本属性的确定方法包括:获得当前文件样本和所有已知样本类型信息,其中,每一个已知样本类型信息中均包含对应样本类型的属性和判定信息;以及从已知样本类型中选择一个样本类型作为当前样本类型,根据当前样本类型的判定信息从当前文件样本中提取关键信息,将所提取的关键信息与判定信息进行比较,根据比较结果确定当前文件样本的属性。本发明实施例的文件样本属性的确定方法及装置,通过获得已知样本类型的信息,根据一已知样本类型的判定信息提取当前样本的关键信息,并将所提取的关键信息与对应的判定信息进行比较,并根据比较结果获得属性,减少了大量的重复工作,大大地提高了样本属性的确定效率。
Description
技术领域
本发明涉及移动安全技术领域,尤其涉及一种文件样本属性的确定方法及装置。
背景技术
由谷歌(Google)公司和开放手机联盟开发的安卓(Android)系统是一种基于Linux的自由及开放源代码的操作系统,其主要应用于移动设备例如智能手机和平板电脑上。
信息摘要算法第五版(Message Digest Algorithm,MD5)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。
MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。因此,可以使用文件MD5作为区分文件样本的条件。
另外,还可以使用文件内容区分样本,由于MD5签名(sign MD5)可以描述内容相同的安卓安装包(Android Package,APK)文件,因此,可以做到一个sign MD5对应文件内容相同的多个不同文件,故比文件MD5覆盖广。
但是,由于sign MD5过于精确,只能描述内容相同的APK文件,而源文件只要稍加改动,比如向APK中增添无用文件,其sign MD5特征就会改变。因此,基于sign MD5区分相似文件样本属性工作量大。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种提高文件样本属性的确定效率的文件样本属性的确定方法及装置。
根据本发明第一方面实施例提出了一种文件样本属性的确定方法,包括:获得当前文件样本和所有已知样本类型信息,其中,每一个已知样本类型信息中均包含对应样本类型的属性和判定信息;以及从已知样本类型中选择一个样本类型作为当前样本类型,根据当前样本类型的判定信息从所述当前文件样本中提取关键信息,将所提取的关键信息与所述判定信息进行比较,根据比较结果确定所述当前文件样本的属性。
本发明实施例的文件样本属性的确定方法,通过获得已知样本类型的信息,根据一已知样本类型的判定信息提取当前样本的关键信息,并将所提取的关键信息与对应的判定信息进行比较,并根据比较结果获得属性,减少了大量的重复工作,大大地提高了样本属性的确定效率。
本发明第二方面实施例提出了一种文件样本属性的确定装置,包括:获得模块,用于获得当前文件样本和所有已知样本类型信息,其中,每一个已知样本类型信息中均包含对应样本类型的属性和判定信息;以及确定模块,用于从已知样本类型中选择一个样本类型作为当前样本类型,根据当前样本类型的判定信息从所述当前文件样本中提取关键信息,将所提取的关键信息与所述判定信息进行比较,根据比较结果确定所述当前文件样本的属性。
本发明实施例的文件样本属性的确定装置,通过获得模块获得所有已知样本类型信息,通过确定模块提取当前样本的关键信息,并将所提取的关键信息与对应的判定信息进行比较,并根据比较结果获得属性,减少了大量的重复工作,大大地提高了样本属性的确定效率。
本发明第三方面实施例提出了一种移动终端,该移动终端包括壳体、处理器、存储器、电路板和电源电路,其中,所述电路板安置在所述壳体围成的空间内部,所述处理器和所述存储器设置在所述电路板上;所述电源电路,用于为所述移动终端的各个电路或器件供电;所述存储器用于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行以下步骤:获得当前文件样本和所有已知样本类型信息,其中,每一个已知样本类型信息中均包含对应样本类型的属性和判定信息;以及从已知样本类型中选择一个样本类型作为当前样本类型,根据当前样本类型的判定信息从上述当前文件样本中提取关键信息,将所提取的关键信息与上述判定信息进行比较,根据比较结果确定上述当前文件样本的属性。
本发明实施例的移动终端,通过获得已知样本类型的信息,根据一已知样本类型的判定信息提取当前样本的关键信息,并将所提取的关键信息与对应的判定信息进行比较,并根据比较结果获得属性,减少了大量的重复工作,大大地提高了样本属性的确定效率。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1是根据本发明一个实施例的文件样本属性的确定方法的流程图;
图2是根据本发明一个实施例的获得已知样本类型信息的流程图;
图3是根据本发明另一个实施例的文件样本属性的确定方法的流程图;
图4是根据本发明一个实施例的服务(service)类的启动位置的字节码信息的示意图;
图5是根据本发明一个实施例的文件样本属性的确定装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
下面参考附图描述本发明实施例的文件样本属性的确定方法及装置。
图1是根据本发明一个实施例的文件样本属性的确定方法的流程图。如图1所示,该文件样本属性的确定方法包括:
S101,获得当前文件样本和所有已知样本类型信息,其中,每一个已知样本类型信息中均包含对应样本类型的属性和判定信息。
在该实施例中,获得所有已知样本类型信息的过程如图2所示,可以包括:
S1011,获取文件样本的多个关键信息。
其中,关键信息为从APK文件提取一项或者几项特征信息,然后去掉与行为不相干的信息后的特征信息,正是因为关键信息中去掉了与行为不相干的信息,因此,可以通过关键信息的组合来来确认一类相似样本。假定,在该实施例中可以获取以下关键信息:
1、安卓应用样本APK中的可扩展标记语言(XML)的描述文件(manifest)中的包(package)信息;2、manifest文件中的服务(service)信息,其中service信息包含service名称、对应类以及其他属性中的一种或者几种;3、manifest文件中的接收器(receiver)信息,其中,receiver信息包含receiver事件、对应接收器所在类以及其他属性中的一种或者几种;4、manifest文件中的控件容器(activity)信息,其中,控件容器信息包含activity名称、对应类以及其他属性中的一种或者几种;5、manifest文件中的权限(permission)信息;6、安卓应用样本APK中的可执行文件(dex)中的头信息(dexheader)信息,其中,dexheader信息含dex文件结构的每个区块偏移和尺寸中的一种或者几种;7、该dex文件中的数据(datamap)信息,其中,datamap信息含dex文件数据区域结构的每个区块属性、偏移和尺寸中的一种或者几种;8、dex文件的对应manifest文件中的service类入口操作码(OpCode)信息,其中,该操作码信息包含操作码、操作数、寄存器和指令序列中的一种或者几种;9、dex文件的对应manifest文件中的receiver类入口OpCode信息,其中,该操作码信息包含操作码、操作数、寄存器和指令序列中的一种或者几种;10、dex文件的对应manifest文件中的activity类入口OpCode信息,其中,该操作码信息包含操作码、操作数、寄存器和指令序列中的一种或者几种;11、dex文件中的字符串信息;12、dex文件中的所有类名;13、dex文件中的所有包名信息;14、APK中的lib(安卓系统的一个系统目录)目录下的所有so(安卓系统的一种系统文件)文件名信息;15、APK中的assets(安卓系统的一个系统目录)目录下的所有文件名信息;16、APK中的res/raw(安卓系统的一个系统目录)目录下的所有文件名信息;以及17、APK中的证书信息,其中,证书信息含证书公钥、颁发者和使用者等信息中的一种或者几种。
当然,上述关键信息仅为示例,可根据需要进行调整。
另外,为了在后续操作中可以对获取到的关键信息进行有效比对,需要先将获取到的关键信息转换成统一的格式,因此,可以采用预定格式例如二进制、十六进制或哈希值等格式对获取到的关键信息进行记录。
采用上述通过关键信息而不是所有特征信息来区分样本的方式,可以将一些相似的样本比如重打包、重新编译导致文件微小变化的样本自动归为一类,减少重复工作。
S1012,分别从多个关键信息中选取部分关键信息的组合作为不同样本类型的判定信息,分别使用判定信息对文件样本进行分类,将与对应样本类型的判定信息内容完全一致的文件样本作为同一类型的样本。
在该实施例中,可以从上述17条关键信息中选取6条信息例如第2、3、4、8、9、10条信息作为某一样本类型的判定信息即判定依据,对比这6条信息的内容,可以对文件样本进行分类。当然,还可以从上述17条关键信息中选择2条关键信息或8条关键信息作为判定依据。本领域的技术人员应该理解,此处的6条、2条和8条仅为示例,在实际应用中,可以根据需要选择判定信息。
S1013,获得每一个样本类型的属性。
在该实施例中,可以通过从每一个样本类型包含的所有样本中选取部分样本进行分析,将分析结果作为当前样本类型的属性。例如,可以从当前样本类型包含的100个样本中选取1个或2个样本进行分析,然后将分析结果作为当前样本类型的属性。当前样本类型的属性即为当前样本类型中所有样本的属性。这种仅需要分析某类样本中的少量样本即可确定当前样本类型属性的方式,可以大大提高确定样本属性的效率。
其中,样本类型的属性包括但不限于是不是病毒、是否有窃取隐私的风险、是否包含广告、是否恶意扣费等。
通过上述步骤S1011-1013可以获得已有的样本类型、对应样本类型的判定信息和属性。
S102,从已知样本类型中选择一个样本类型作为当前样本类型,根据当前样本类型的判定信息从当前文件样本中提取关键信息,将所提取的关键信息与判定信息进行比较,根据比较结果确定当前文件样本的属性。
其中,根据比较结果确定当前文件样本的属性的过程可以包括:
若所提取的关键信息与判定信息完全一致,则将当前文件样本归属于当前样本类型,且继承当前样本类型的属性;若所提取的关键信息与判定信息不完全一致,则继续重复从已知样本类型中选择一个样本类型作为当前样本类型的操作,直至当前文件样本归属于当前样本类型。若当前文件样本不归属于任何一个已知样本类型,则以当前文件样本的关键信息创建新的样本类型,并对当前文件样本进行属性分析,将分析出的属性作为新的样本类型的属性和将当前文件样本的关键信息作为新的样本类型的判定信息。此时,该新的样本类型也属于已知样本类型,因此,若出现属于该新的样本类型的样本,则可以归为该新的样本类型,且可以继承其属性。
例如,假设已知的样本类型为样本类型1、样本类型2、样本类型3、样本类型4,根据样本类型1的判定信息从当前文件样本提取关键信息1,将关键信息1与样本类型1的判定信息进行比较,发现二者内容不完全一致,则从已知样本类型中提取一个样本类型,假设为样本类型2,并根据样本类型2的判定信息从当前文件样本提取关键信息2,将关键信息2与样本类型2的判定信息进行比较,若二者内容完全一致,则确定当前文件样本属于样本类型2,若二者内容不完全一致,则再次从已知样本类型中提取一个样本类型,假设为样本类型3,则根据样本类型3的判定信息从当前文件样本提取关键信息3,将关键信息3与样本类型3的判定信息进行比较,发现二者内容还不完全一致,则再次从已知样本类型中提取一个样本类型,假设为样本类型4,并根据样本类型4的判定信息从当前文件样本提取关键信息4,将关键信息4与样本类型4的判定信息进行比较,发现二者内容仍然不完全一致,则为当前文件样本创建一个新的类型,假定为样本类型5,并将关键信息4作为样本类型5的判定信息。
上述文件样本属性的确定方法实施例,通过获得已知样本类型的信息,根据一已知样本类型的判定信息提取当前样本的关键信息,并将所提取的关键信息与对应的判定信息进行比较,并根据比较结果获得属性,减少了大量的重复工作,大大地提高了样本属性的确定效率。
为了更详细地描述本发明的技术方案,下面以鉴定病毒为例进行描述,如图3所示,该过程包括:
S301,获取文件样本的多个关键信息。
在该实施例中,获取的多个关键信息可以与步骤S1011中获取的关键信息相同,此处不赘述。
S302,从获取的多个关键信息中选取部分关键信息的组合作为不同样本类型的判定信息,分别使用不同的判定信息对文件样本进行分类,将与对应样本类型的判定信息内容完全一致的文件样本作为同一类型的样本。
在该实施例中,假定选取第2、3、4、8、9、10条信息作为当前样本类型的判定信息,具体地,对于第8-10条信息可以选择dex文件的对应manifest文件中的service类入口OpCode信息、receiver类入口OpCode信息和activity类入口OpCode信息中的操作码的第一列信息(当然,可以为其他列信息)作为关键信息,例如,假设获取到service:com.TZhjDDWr.ShwIaLpO95958.
PushService.onStart:(Landroid/content/Intent;I)V的启动位置的字节码,取其操作码进行识别,如图4所示,调用虚方法(invoke-virtual)对应的操作码16进制表示为6e,返回结果对象(move-result-object)对应的字节码为0c,以此类推,获取到的关键信息可以表示为6e0c,表示方法包括但不限于原始数据表示、二进制表示、十六进制表示、操作名称表示、函数名称表示、甚至数据的哈希值表示等等。
当然,还可以采用其他关键信息的组合,每个组合对应一个分类。假定根据第一个关键信息的组合(即第2、3、4、8、9、10条信息)确定了样本类型A和样本类型B。
S303,获得每一个样本类型的属性。
在该实施例中,假设样本类型A中有100个文件样本,通过分析其中一个样本可以获得样本类型A的属性为病毒a,则这100个文件样本均可继承样本类型A的属性即病毒a;假设样本类型B中有1000个文件样本,通过分析其中一个样本可以获得样本类型B的属性为病毒b,则这1000个文件样本均可继承样本类型B的属性即病毒b。
S304,获得当前文件样本。
S305,从已知样本类型中选择样本类型A作为当前样本类型,根据样本类型A的判定信息从当前文件样本中提取关键信息。
S306,将所提取的关键信息与样本类型A的判定信息进行比较,若二者内容完全一致,则将当前文件样本归属于样本类型A,且当前文件样本继承样本类型A的属性,操作结束;若二者内容不完全一致,则继续从已知样本类型中选择样本类型B作为当前样本类型,并根据样本类型B的判定信息从当前文件样本中提取关键信息。
S307,将所提取的关键信息与样本类型B的判定信息进行比较,若二者内容完全一致,则将当前文件样本归属于样本类型B,且当前文件样本继承样本类型B的属性,操作结束;若二者内容不完全一致,则执行步骤S308。
S308,以当前文件样本的关键信息创建新的样本类型,并对当前文件样本进行属性分析,将分析出的属性作为新的样本类型的属性和将当前文件样本的关键信息作为新的样本类型的判定信息。
在该实施例中,当确定当前文件样本的关键信息不属于已知病毒分类即样本类型A和样本类型B,则创建一个新的样本类型C,且将从当前文件样本提取的关键信息作为样本类型C的判定信息;并对当前文件样本进行属性分析,将分析结果作为一个新的样本类型的属性,假设为病毒c;则当前文件样本以及后来与当前文件样本属于同一样本类型的样本均可判定为属于样本类型C,且其属性为病毒c。
上述文件样本属性的确定方法实施例,通过获得已知样本类型的信息,根据一已知样本类型的判定信息提取当前样本的关键信息,并将所提取的关键信息与对应的判定信息进行比较,并根据比较结果确定当前文件样本所属的样本类型,然后自动继承其所属样本类型的属性,无需重新分析,提高了病毒的查杀效率,增加了病毒的查杀效果。
为了实现上述实施例,本发明还提出一种文件样本属性的确定装置。
图5是根据本发明一个实施例的文件样本属性的确定装置的结构示意图。
如图5所示,该文件样本属性的确定装置包括:获得模块51和确定模块52。
其中,获得模块51用于获得当前文件样本和所有已知样本类型信息,每一个已知样本类型信息中均包含对应样本类型的属性和判定信息。
具体地,获得模块51可以包括获取单元511、归类单元512和获得单元513;其中,获取单元511用于获取文件样本的多个关键信息;归类单元512用于分别从上述多个关键信息中选取部分关键信息的组合作为不同样本类型的判定信息,分别使用上述判定信息对上述文件样本进行分类,将与对应样本类型的判定信息内容完全一致的文件样本作为同一类型的样本;获得单元513用于获得每一个样本类型的属性。该获得模块51获得样本类型信息的过程可参见图2,此处不赘述。
上述获得单元513可以通过从每一个样本类型包含的所有样本中选取部分样本进行分析,将分析结果作为当前样本类型的属性。这种仅需要分析某类样本中的少量样本即可确定当前样本类型属性的方式,可以大大提高确定样本属性的效率。
上述获取单元511具体包括:获取子单元5111和记录子单元5112,其中:获取子单元5111用于获取安装文件中包含的可执行文件中的头信息和数据信息以及上述可执行文件中的可扩展标记语言XML的描述文件中不同类入口的操作码信息中的一种或几种,不同类入口可以包括服务类入口、接收器类入口和控件容器类入口,操作码信息包括操作码、指令码和操作符中的一种或几种;记录子单元5112,用于将获取到的信息以预定格式进行记录。该预定格式可以为二进制、十六进制或哈希值等形式。
其中,确定模块52用于从已知样本类型中选择一个样本类型作为当前样本类型,根据当前样本类型的判定信息从上述当前文件样本中提取关键信息,将所提取的关键信息与上述判定信息进行比较,根据比较结果确定上述当前文件样本的属性。
具体地,上述确定模块52在所提取的关键信息与上述判定信息完全一致时,可以将上述当前文件样本归属于上述当前样本类型,且继承上述当前样本类型的属性;在所提取的关键信息与上述判定信息不完全一致时,则继续重复从已知样本类型中选择一个样本类型作为当前样本类型的操作,直至当前文件样本归属于当前样本类型。
另外,上述确定模块52还用于:若当前文件样本不归属于任何一个已知样本类型,则以上述当前文件样本的关键信息创建新的样本类型,并对上述当前文件样本进行属性分析,将分析出的属性作为上述新的样本类型的属性和将上述当前文件样本的关键信息作为上述新的样本类型的判定信息。
包含获得模块51和确定模块52的文件样本属性的确定装置确定样本属性的过程可参见图1和图3,此处不赘述。
上述文件样本属性的确定装置实施例,通过获得模块获得所有已知样本类型信息,通过确定模块将当前文件样本与一已知样本类型的判定信息进行比较,并根据比较结果获得属性,减少了大量的重复工作,大大地提高了样本属性的确定效率。
为了实现上述实施例,本发明还提出一种移动终端,该移动终端包括壳体、处理器、存储器、电路板和电源电路,其中,上述电路板安置在上述壳体围成的空间内部,上述处理器和上述存储器设置在上述电路板上;上述电源电路,用于为上述移动终端的各个电路或器件供电;上述存储器用于存储可执行程序代码;上述处理器通过读取上述存储器中存储的可执行程序代码来运行与上述可执行程序代码对应的程序,以用于执行以下步骤:
S101’,获得当前文件样本和所有已知样本类型信息,其中,每一个已知样本类型信息中均包含对应样本类型的属性和判定信息。
在该实施例中,获得所有已知样本类型信息的过程可以包括:
S1011’,获取文件样本的多个关键信息。
其中,关键信息为从APK文件提取一项或者几项特征信息,然后去掉与行为不相干的信息后的特征信息,正是因为关键信息中去掉了与行为不相干的信息,因此,可以通过关键信息的组合来来确认一类相似样本。假定,在该实施例中可以获取以下关键信息:
1、安卓应用样本APK中的可扩展标记语言(XML)的描述文件(manifest)中的包(package)信息;2、manifest文件中的服务(service)信息,其中service信息包含service名称、对应类以及其他属性中的一种或者几种;3、manifest文件中的接收器(receiver)信息,其中,receiver信息包含receiver事件、对应接收器所在类以及其他属性中的一种或者几种;4、manifest文件中的控件容器(activity)信息,其中,控件容器信息包含activity名称、对应类以及其他属性中的一种或者几种;5、manifest文件中的权限(permission)信息;6、安卓应用样本APK中的可执行文件(dex)中的头信息(dexheader)信息,其中,dexheader信息含dex文件结构的每个区块偏移和尺寸中的一种或者几种;7、该dex文件中的数据(datamap)信息,其中,datamap信息含dex文件数据区域结构的每个区块属性、偏移和尺寸中的一种或者几种;8、dex文件的对应manifest文件中的service类入口操作码(OpCode)信息,其中,该操作码信息包含操作码、操作数、寄存器和指令序列中的一种或者几种;9、dex文件的对应manifest文件中的receiver类入口OpCode信息,其中,该操作码信息包含操作码、操作数、寄存器和指令序列中的一种或者几种;10、dex文件的对应manifest文件中的activity类入口OpCode信息,其中,该操作码信息包含操作码、操作数、寄存器和指令序列中的一种或者几种;11、dex文件中的字符串信息;12、dex文件中的所有类名;13、dex文件中的所有包名信息;14、APK中的lib(安卓系统的一个系统目录)目录下的所有so(安卓系统的一种系统文件)文件名信息;15、APK中的assets(安卓系统的一个系统目录)目录下的所有文件名信息;16、APK中的res/raw(安卓系统的一个系统目录)目录下的所有文件名信息;以及17、APK中的证书信息,其中,证书信息含证书公钥、颁发者和使用者等信息中的一种或者几种。
当然,上述关键信息仅为示例,可根据需要进行调整。
另外,为了在后续操作中可以对获取到的关键信息进行有效比对,需要先将获取到的关键信息转换成统一的格式,因此,可以采用预定格式例如二进制、十六进制或哈希值等格式对获取到的关键信息进行记录。
采用上述通过关键信息而不是所有特征信息来区分样本的方式,可以将一些相似的样本比如重打包、重新编译导致文件微小变化的样本自动归为一类,减少重复工作。
S1012’,分别从多个关键信息中选取部分关键信息的组合作为不同样本类型的判定信息,分别使用判定信息对文件样本进行分类,将与对应样本类型的判定信息内容完全一致的文件样本作为同一类型的样本。
在该实施例中,可以从上述17条关键信息中选取6条信息例如第2、3、4、8、9、10条信息作为某一样本类型的判定信息即判定依据,对比这6条信息的内容,可以对文件样本进行分类。当然,还可以从上述17条关键信息中选择2条关键信息或8条关键信息作为判定依据。本领域的技术人员应该理解,此处的6条、2条和8条仅为示例,在实际应用中,可以根据需要选择判定信息。
S1013’,获得每一个样本类型的属性。
在该实施例中,可以通过从每一个样本类型包含的所有样本中选取部分样本进行分析,将分析结果作为当前样本类型的属性。例如,可以从当前样本类型包含的100个样本中选取1个或2个样本进行分析,然后将分析结果作为当前样本类型的属性。当前样本类型的属性即为当前样本类型中所有样本的属性。这种仅需要分析某类样本中的少量样本即可确定当前样本类型属性的方式,可以大大提高确定样本属性的效率。
其中,样本类型的属性包括但不限于是不是病毒、是否有窃取隐私的风险、是否包含广告、是否恶意扣费等。
通过上述步骤S1011’-1013’可以获得已有的样本类型、对应样本类型的判定信息和属性。
S102’,从已知样本类型中选择一个样本类型作为当前样本类型,根据当前样本类型的判定信息从当前文件样本中提取关键信息,将所提取的关键信息与判定信息进行比较,根据比较结果确定当前文件样本的属性。
其中,根据比较结果确定当前文件样本的属性的过程可以包括:
若所提取的关键信息与判定信息完全一致,则将当前文件样本归属于当前样本类型,且继承当前样本类型的属性;若所提取的关键信息与判定信息不完全一致,则继续重复从已知样本类型中选择一个样本类型作为当前样本类型的操作,直至当前文件样本归属于当前样本类型。若当前文件样本不归属于任何一个已知样本类型,则以当前文件样本的关键信息创建新的样本类型,并对当前文件样本进行属性分析,将分析出的属性作为新的样本类型的属性和将当前文件样本的关键信息作为新的样本类型的判定信息。此时,该新的样本类型也属于已知样本类型,因此,若出现属于该新的样本类型的样本,则可以归为该新的样本类型,且可以继承其属性。
例如,假设已知的样本类型为样本类型1、样本类型2、样本类型3、样本类型4,根据样本类型1的判定信息从当前文件样本提取关键信息1,将关键信息1与样本类型1的判定信息进行比较,发现二者内容不完全一致,则从已知样本类型中提取一个样本类型,假设为样本类型2,并根据样本类型2的判定信息从当前文件样本提取关键信息2,将关键信息2与样本类型2的判定信息进行比较,若二者内容完全一致,则确定当前文件样本属于样本类型2,若二者内容不完全一致,则再次从已知样本类型中提取一个样本类型,假设为样本类型3,则根据样本类型3的判定信息从当前文件样本提取关键信息3,将关键信息3与样本类型3的判定信息进行比较,发现二者内容还不完全一致,则再次从已知样本类型中提取一个样本类型,假设为样本类型4,并根据样本类型4的判定信息从当前文件样本提取关键信息4,将关键信息4与样本类型4的判定信息进行比较,发现二者内容仍然不完全一致,则为当前文件样本创建一个新的类型,假定为样本类型5,并将关键信息4作为样本类型5的判定信息。
上述移动终端实施例,通过获得已知样本类型的信息,根据一已知样本类型的判定信息提取当前样本的关键信息,并将所提取的关键信息与对应的判定信息进行比较,并根据比较结果获得属性,减少了大量的重复工作,大大地提高了样本属性的确定效率。
为了更详细地描述本发明的技术方案,下面以鉴定病毒为例进行描述,该处理器还用于执行以下步骤:
S301’,获取文件样本的多个关键信息。
在该实施例中,获取的多个关键信息可以与步骤S1011中获取的关键信息相同,此处不赘述。
S302’,从获取的多个关键信息中选取部分关键信息的组合作为不同样本类型的判定信息,分别使用不同的判定信息对文件样本进行分类,将与对应样本类型的判定信息内容完全一致的文件样本作为同一类型的样本。
在该实施例中,假定选取第2、3、4、8、9、10条信息作为当前样本类型的判定信息,具体地,对于第8-10条信息可以选择dex文件的对应manifest文件中的service类入口OpCode信息、receiver类入口OpCode信息和activity类入口OpCode信息中的操作码的第一列信息(当然,可以为其他列信息)作为关键信息,例如,假设获取到service:com.TZhjDDWr.ShwIaLpO95958.
PushService.onStart:(Landroid/content/Intent;I)V的启动位置的字节码,取其操作码进行识别,如图4所示,调用虚方法(invoke-virtual)对应的操作码16进制表示为6e,返回结果对象(move-result-object)对应的字节码为0c,以此类推,获取到的关键信息可以表示为6e0c,表示方法包括但不限于原始数据表示、二进制表示、十六进制表示、操作名称表示、函数名称表示、甚至数据的哈希值表示等等。
当然,还可以采用其他关键信息的组合,每个组合对应一个分类。假定根据第一个关键信息的组合(即第2、3、4、8、9、10条信息)确定了样本类型A和样本类型B。
S303’,获得每一个样本类型的属性。
在该实施例中,假设样本类型A中有100个文件样本,通过分析其中一个样本可以获得样本类型A的属性为病毒a,则这100个文件样本均可继承样本类型A的属性即病毒a;假设样本类型B中有1000个文件样本,通过分析其中一个样本可以获得样本类型B的属性为病毒b,则这1000个文件样本均可继承样本类型B的属性即病毒b。
S304’,获得当前文件样本。
S305’,从已知样本类型中选择样本类型A作为当前样本类型,根据样本类型A的判定信息从当前文件样本中提取关键信息。
S306’,将所提取的关键信息与样本类型A的判定信息进行比较,若二者内容完全一致,则将当前文件样本归属于样本类型A,且当前文件样本继承样本类型A的属性,操作结束;若二者内容不完全一致,则继续从已知样本类型中选择样本类型B作为当前样本类型,并根据样本类型B的判定信息从当前文件样本中提取关键信息。
S307’,将所提取的关键信息与样本类型B的判定信息进行比较,若二者内容完全一致,则将当前文件样本归属于样本类型B,且当前文件样本继承样本类型B的属性,操作结束;若二者内容不完全一致,则执行步骤S308’。
S308’,以当前文件样本的关键信息创建新的样本类型,并对当前文件样本进行属性分析,将分析出的属性作为新的样本类型的属性和将当前文件样本的关键信息作为新的样本类型的判定信息。
在该实施例中,当确定当前文件样本的关键信息不属于已知病毒分类即样本类型A和样本类型B,则创建一个新的样本类型C,且将当前文件样本的关键信息作为样本类型C的判定信息;并对当前文件样本进行属性分析,将分析结果作为一个新的样本类型的属性,假设为病毒c;则当前文件样本以及后来与当前文件样本属于同一样本类型的样本均可判定为属于样本类型C,且其属性为病毒c。
本发明实施例的移动终端,通过获得已知样本类型的信息,根据一已知样本类型的判定信息提取当前样本的关键信息,并将所提取的关键信息与对应的判定信息进行比较,并根据比较结果确定当前文件样本所属的样本类型,然后自动继承其所属样本类型的属性,无需重新分析,提高了病毒的查杀效率,增加了病毒的查杀效果。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (10)
1.一种文件样本属性的确定方法,其特征在于,包括:
获得当前文件样本和所有已知样本类型信息,其中,每一个已知样本类型信息中均包含对应样本类型的属性和判定信息,所述获得所有已知样本类型信息包括:获取文件样本的多个关键信息,其中,所述关键信息为从安卓安装包文件提取一项或者几项特征信息,然后去掉与行为不相干的信息后的特征信息;分别从所述多个关键信息中选取部分关键信息的组合作为不同样本类型的判定信息,分别使用所述判定信息对所述文件样本进行分类,将与对应样本类型的判定信息内容完全一致的文件样本作为同一类型的样本;以及从每一个样本类型包含的所有样本中选取部分样本进行分析,将分析结果作为当前样本类型的属性;以及
从已知样本类型中选择一个样本类型作为当前样本类型,根据当前样本类型的判定信息从所述当前文件样本中提取关键信息,将所提取的关键信息与所述判定信息进行比较,根据比较结果确定所述当前文件样本的属性;
所述根据比较结果确定所述当前文件样本的属性包括:若所提取的关键信息与所述判定信息完全一致,则将所述当前文件样本归属于所述当前样本类型,且继承所述当前样本类型的属性;若所提取的关键信息与所述判定信息不完全一致,则继续重复从已知样本类型中选择一个样本类型作为当前样本类型的操作,直至当前文件样本归属于当前样本类型;
若当前文件样本不归属于任何一个已知样本类型,则以所述当前文件样本的关键信息创建新的样本类型,并对所述当前文件样本进行属性分析,将分析出的属性作为所述新的样本类型的属性和将所述当前文件样本的关键信息作为所述新的样本类型的判定信息。
2.根据权利要求1所述的方法,其特征在于,所述获取文件样本的多个关键信息包括:
获取安装文件中包含的可执行文件中的头信息和数据信息以及所述可执行文件中的可扩展标记语言XML的描述文件中不同类入口的操作码信息中的一种或几种;
将获取到的信息以预定格式进行记录。
3.根据权利要求2所述的方法,其特征在于,所述不同类入口包括服务类入口、接收器类入口和控件容器类入口;所述操作码信息包括操作码、指令码和操作符中的一种或几种。
4.根据权利要求3所述的方法,其特征在于,所述获取不同类入口的操作码信息包括:
获得对应类入口的操作码的第一列信息。
5.根据权利要求3所述的方法,其特征在于,所述将获取到的信息以预定格式进行记录包括:
将获取到的信息以二进制、十六进制或哈希值形式进行记录。
6.一种文件样本属性的确定装置,其特征在于,包括:
获得模块,用于获得当前文件样本和所有已知样本类型信息,其中,每一个已知样本类型信息中均包含对应样本类型的属性和判定信息;
所述获得模块,包括:获取单元,用于获取文件样本的多个关键信息,其中,所述关键信息为从安卓安装包文件提取一项或者几项特征信息,然后去掉与行为不相干的信息后的特征信息;归类单元,用于分别从所述多个关键信息中选取部分关键信息的组合作为不同样本类型的判定信息,分别使用所述判定信息对所述文件样本进行分类,将与对应样本类型的判定信息内容完全一致的文件样本作为同一类型的样本;以及获得单元,用于从每一个样本类型包含的所有样本中选取部分样本进行分析,将分析结果作为当前样本类型的属性;以及
确定模块,用于从已知样本类型中选择一个样本类型作为当前样本类型,根据当前样本类型的判定信息从所述当前文件样本中提取关键信息,将所提取的关键信息与所述判定信息进行比较,根据比较结果确定所述当前文件样本的属性;
所述确定模块,具体用于:若所提取的关键信息与所述判定信息完全一致,则将所述当前文件样本归属于所述当前样本类型,且继承所述当前样本类型的属性;若所提取的关键信息与所述判定信息不完全一致,则继续重复从已知样本类型中选择一个样本类型作为当前样本类型的操作,直至当前文件样本归属于当前样本类型;
若当前文件样本不归属于任何一个已知样本类型,则以所述当前文件样本的关键信息创建新的样本类型,并对所述当前文件样本进行属性分析,将分析出的属性作为所述新的样本类型的属性和将所述当前文件样本的关键信息作为所述新的样本类型的判定信息。
7.根据权利要求6所述的装置,其特征在于,所述获取单元,包括:
获取子单元,用于获取安装文件中包含的可执行文件中的头信息和数据信息以及所述可执行文件中的可扩展标记语言XML的描述文件中不同类入口的操作码信息中的一种或几种;以及
记录子单元,用于将获取到的信息以预定格式进行记录。
8.根据权利要求7所述的装置,其特征在于,所述不同类入口包括服务类入口、接收器类入口和控件容器类入口;所述操作码信息包括操作码、指令码和操作符中的一种或几种。
9.根据权利要求8所述的装置,其特征在于,所述获取子单元,用于:
获得对应类入口的操作码的第一列信息。
10.根据权利要求8所述的装置,其特征在于,所述记录子单元,具体用于:
将获取到的信息以二进制、十六进制或哈希值形式进行记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410075212.6A CN104899509B (zh) | 2014-03-03 | 2014-03-03 | 文件样本属性的确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410075212.6A CN104899509B (zh) | 2014-03-03 | 2014-03-03 | 文件样本属性的确定方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104899509A CN104899509A (zh) | 2015-09-09 |
CN104899509B true CN104899509B (zh) | 2018-07-10 |
Family
ID=54032169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410075212.6A Active CN104899509B (zh) | 2014-03-03 | 2014-03-03 | 文件样本属性的确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104899509B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874279B (zh) * | 2015-12-11 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 生成应用类别标签的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101639880A (zh) * | 2008-07-31 | 2010-02-03 | 华为技术有限公司 | 一种文件检测方法和装置 |
CN102223405A (zh) * | 2011-06-08 | 2011-10-19 | Tcl集团股份有限公司 | 一种媒体类型分析的方法、系统及媒体服务器 |
CN102831338A (zh) * | 2012-06-28 | 2012-12-19 | 北京奇虎科技有限公司 | 一种Android应用程序的安全检测方法及系统 |
CN102867038A (zh) * | 2012-08-30 | 2013-01-09 | 北京奇虎科技有限公司 | 文件类型的确定方法和装置 |
EP2560120A2 (en) * | 2011-08-18 | 2013-02-20 | Verisign, Inc. | Systems and methods for identifying associations between malware samples |
CN102768717B (zh) * | 2012-06-29 | 2015-01-21 | 腾讯科技(深圳)有限公司 | 恶意文件检测的方法及装置 |
-
2014
- 2014-03-03 CN CN201410075212.6A patent/CN104899509B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101639880A (zh) * | 2008-07-31 | 2010-02-03 | 华为技术有限公司 | 一种文件检测方法和装置 |
CN102223405A (zh) * | 2011-06-08 | 2011-10-19 | Tcl集团股份有限公司 | 一种媒体类型分析的方法、系统及媒体服务器 |
EP2560120A2 (en) * | 2011-08-18 | 2013-02-20 | Verisign, Inc. | Systems and methods for identifying associations between malware samples |
CN102831338A (zh) * | 2012-06-28 | 2012-12-19 | 北京奇虎科技有限公司 | 一种Android应用程序的安全检测方法及系统 |
CN102768717B (zh) * | 2012-06-29 | 2015-01-21 | 腾讯科技(深圳)有限公司 | 恶意文件检测的方法及装置 |
CN102867038A (zh) * | 2012-08-30 | 2013-01-09 | 北京奇虎科技有限公司 | 文件类型的确定方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104899509A (zh) | 2015-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104079613B (zh) | 用于多租户间共享应用程序对象的方法和系统 | |
CN112416728A (zh) | 埋点数据获取方法、装置、客户端设备及可读存储介质 | |
US20100188197A1 (en) | Finding sensor data in an rfid network | |
US20140317158A1 (en) | File storage device and method for managing file system thereof | |
US20120311709A1 (en) | Automatic management system for group and mutant information of malicious codes | |
CN107742078A (zh) | 一种通用的dex自动脱壳方法与系统 | |
KR101582601B1 (ko) | 액티비티 문자열 분석에 의한 안드로이드 악성코드 검출 방법 | |
JP5106643B2 (ja) | Webページ改竄検知装置及びプログラム | |
CN110532165B (zh) | 应用程序安装包特性检测方法、装置、设备及存储介质 | |
US20110307488A1 (en) | Information processing apparatus, information processing method, and program | |
JP2018181350A (ja) | アプリケーションの保安性を評価する方法およびシステム | |
CN103716394B (zh) | 下载文件的管理方法及装置 | |
US20210157909A1 (en) | Sample data generation apparatus, sample data generation method, and computer readable medium | |
CN112394908A (zh) | 埋点页面自动生成的方法、装置、计算机设备及存储介质 | |
CN110381166A (zh) | 一种消息通知管理方法、装置及计算机可读存储介质 | |
CN103092653A (zh) | 一种在应用市场中提供官方应用程序的方法和装置 | |
CN106598866A (zh) | 一种基于smali中间语言的静态检测系统及方法 | |
CN103109264A (zh) | 创建配置文件模板 | |
CN111796809A (zh) | 接口文档生成方法、装置、电子设备及介质 | |
JP4103340B2 (ja) | デジタル署名表示装置 | |
CN112948418A (zh) | 动态查询方法、装置、设备及存储介质 | |
CN112329043A (zh) | 信息加密处理方法、装置、计算机设备及介质 | |
CN104899509B (zh) | 文件样本属性的确定方法及装置 | |
CN113139033B (zh) | 文本处理方法、装置、设备及存储介质 | |
CN102622621B (zh) | 提高射频识别系统安全性的通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20181207 Address after: 519030 Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Patentee after: Zhuhai Seal Interest Technology Co., Ltd. Address before: 519070, six level 601F, 10 main building, science and technology road, Tangjia Bay Town, Zhuhai, Guangdong. Patentee before: Zhuhai Juntian Electronic Technology Co.,Ltd. |