基于树同构的软件安装包分类方法及系统的制作方法

xiaoxiao2021-2-28  236

基于树同构的软件安装包分类方法及系统的制作方法
【专利说明】基于树同构的软件安装包分类方法及系统
[0001]
技术领域
[0002]本发明涉及网络安全领域,特别涉及一种基于树同构的软件安装包分类方法及系统。
【背景技术】
[0003]目前IA32架构下的Windows平台软件安装包的分类方法,大多是基于安装包制作工具在其生成的安装包中保留下来的特征信息来进行分类的。对于没有保留特征信息的安装包制作工具,普通的分类器很难对其进行分类;而对于同一个安装包制作工具导出的不同语言的软件安装包,普通的分类器会将其分到多个类别中,使得分类结果并不准确合理。

【发明内容】

[0004]针对上述的分类缺陷,本发明提出一种基于树同构的软件安装包分类方法,能够解决安装包中无特征信息或不同语言导致分类差别的问题。
[0005]—种基于树同构的软件安装包分类方法,包括:
获取软件安装包;
分析所述软件安装包是否为合法的PE格式,如果是,则继续检测,否则丢弃所述安装包;
获取PE格式中的资源节段数据;
将所述资源节段数据,形成树形结构;
将所述树形结构与树形结构库中的树结构进行对比,若相似度超过预设值,则所述软件安装包为树形结构库中的树形结构对应的软件类别,否则所述软件安装包为新类别。
[0006]所述的方法中,所述资源节段数据包括:程序外观信息、字符串信息及光标信息。
[0007]—种基于树同构的软件安装包分类系统,包括:
获取模块,用于获取软件安装包;
分析模块,用于分析所述软件安装包是否为合法的PE格式,如果是,则继续检测,否则丢弃所述安装包;获取PE格式中的资源节段数据;将所述资源节段数据,形成树形结构;匹配模块,用于将所述树形结构与树形结构库中的树结构进行对比,若相似度超过预设值,则所述软件安装包为树形结构库中的树形结构对应的软件类别,否则所述软件安装包为新类别。
[0008]所述的系统中,所述资源节段数据包括:程序外观信息、字符串信息及光标信息。
[0009]本发明的优势在于,IA32架构下的Windows平台的安装包程序文件属于PE格式,其中程序的外观信息、字符串信息、光标信息等信息都以资源的形式保存在PE文件中,形成一棵资源树。本发明按照资源树的结构对安装包程序进行分类,结构相同或类似的资源树所属的安装包程序划分为同一类别,可以实现对软件安装包更加合理分类的效果。
[0010]本发明提出了一种基于树同构的软件安装包分类方法及系统,主要通过获取PE格式安装包的资源节信息,并将其形成树形结构,将所述的树形结构与树形结构库中的树结构进行依次对比,如果相似度超过预设值,则所述安装包与树形结构库中的树结构对应的软件属于同一分类。通过本发明的方法,能够实现对没有特征信息的安装包进行分类,使得分类更加合理。
【附图说明】
[0011]为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0012]图1为本发明一种基于树同构的软件安装包分类方法实施例流程图;
图2为本发明一种基于树同构的软件安装包分类系统实施例结构示意图。
【具体实施方式】
[0013]为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
[0014]针对上述的分类缺陷,本发明提出一种基于树同构的软件安装包分类方法,能够解决安装包中无特征信息或不同语言导致分类差别的问题。
[0015]—种基于树同构的软件安装包分类方法,如图1所示,包括:
5101:获取软件安装包;
5102:分析所述软件安装包是否为合法的PE格式,如果是,则继续检测执行S103,否则丢弃所述安装包;
5103:获取PE格式中的资源节段数据;
5104:将所述资源节段数据,形成树形结构;
5105:将所述树形结构与树形结构库中的树结构进行对比,判断相似度超过预设值,如果是,则所述软件安装包为树形结构库中的树形结构对应的软件类别,否则所述软件安装包为新类别。
[0016]所述的方法中,所述资源节段数据包括:程序外观信息、字符串信息及光标信息。
[0017]将所述树形结构与树形结构库中的树结构进行对比,判断相似度超过预设值的具体方法可为:采用树结构的最小表示法,为树的每层节点赋予一个测度,然后将每层的节点按照测度从小到大排序,两棵树的每层节点都完成基于测度的排序后得到序列化的结果,然后求得两棵树的测度序列化结果的最长公共子序列。最长公共子序列与两个树形结构相似度的百分比较高的,即为两个树形结构的相似度。当然还可以使用其他树形结构的比较方法,但本实施例所采用的方法比较较为准确。
[0018]—种基于树同构的软件安装包分类系统,如图2所示,包括:
获取模块201,用于获取软件安装包;
分析模块202,用于分析所述软件安装包是否为合法的PE格式,如果是,则继续检测,否则丢弃所述安装包;获取PE格式中的资源节段数据;将所述资源节段数据,形成树形结构;
匹配模块203,用于将所述树形结构与树形结构库中的树结构进行对比,若相似度超过预设值,则所述软件安装包为树形结构库中的树形结构对应的软件类别,否则所述软件安装包为新类别。
[0019]所述的系统中,所述资源节段数据包括:程序外观信息、字符串信息及光标信息。
[0020]本发明的优势在于,IA32架构下的Windows平台的安装包程序文件属于PE格式,其中程序的外观信息、字符串信息、光标信息等信息都以资源的形式保存在PE文件中,形成一棵资源树。本发明按照资源树的结构对安装包程序进行分类,结构相同或类似的资源树所属的安装包程序划分为同一类别,可以实现对软件安装包更加合理分类的效果。
[0021]本发明提出了一种基于树同构的软件安装包分类方法及系统,主要通过获取PE格式安装包的资源节信息,并将其形成树形结构,将所述的树形结构与树形结构库中的树结构进行依次对比,如果相似度超过预设值,则所述安装包与树形结构库中的树结构对应的软件属于同一分类。通过本发明的方法,能够实现对没有特征信息的安装包进行分类,使得分类更加合理。
[0022]通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0023]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0024]本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0025]虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
【主权项】
1.一种基于树同构的软件安装包分类方法,其特征在于,包括: 获取软件安装包; 分析所述软件安装包是否为合法的PE格式,如果是,则继续检测,否则丢弃所述安装包; 获取PE格式中的资源节段数据; 将所述资源节段数据,形成树形结构; 将所述树形结构与树形结构库中的树结构进行对比,若相似度超过预设值,则所述软件安装包为树形结构库中的树形结构对应的软件类别,否则所述软件安装包为新类别。2.如权利要求1所述的方法,其特征在于,所述资源节段数据包括:程序外观信息、字符串信息及光标信息。3.—种基于树同构的软件安装包分类系统,其特征在于,包括: 获取模块,用于获取软件安装包;分析模块,用于分析所述软件安装包是否为合法的PE格式,如果是,则继续检测,否则丢弃所述安装包;获取PE格式中的资源节段数据;将所述资源节段数据,形成树形结构;匹配模块,用于将所述树形结构与树形结构库中的树结构进行对比,若相似度超过预设值,则所述软件安装包为树形结构库中的树形结构对应的软件类别,否则所述软件安装包为新类别。4.如权利要求3所述的系统,其特征在于,所述资源节段数据包括:程序外观信息、字符串信息及光标信息。
【专利摘要】本发明提出了一种基于树同构的软件安装包分类方法及系统,主要通过获取PE格式安装包的资源节信息,并将其形成树形结构,将所述的树形结构与树形结构库中的树结构进行依次对比,如果相似度超过预设值,则所述安装包与树形结构库中的树结构对应的软件属于同一分类。通过本发明的方法,能够实现对没有特征信息的安装包进行分类,使得分类更加合理。
【IPC分类】G06F17/30, G06F9/44
【公开号】CN105488084
【申请号】CN201410813440
【发明人】刘爽, 童志明, 张栗伟
【申请人】哈尔滨安天科技股份有限公司
【公开日】2016年4月13日
【申请日】2014年12月24日

最新回复(0)