CN106897616A - 一种程序文件的处理方法及装置 - Google Patents

一种程序文件的处理方法及装置 Download PDF

Info

Publication number
CN106897616A
CN106897616A CN201510956497.9A CN201510956497A CN106897616A CN 106897616 A CN106897616 A CN 106897616A CN 201510956497 A CN201510956497 A CN 201510956497A CN 106897616 A CN106897616 A CN 106897616A
Authority
CN
China
Prior art keywords
matrix
program file
dependency graph
characteristic vector
functional dependency
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.)
Granted
Application number
CN201510956497.9A
Other languages
English (en)
Other versions
CN106897616B (zh
Inventor
林舒婕
杨宜
于涛
李璐鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201510956497.9A priority Critical patent/CN106897616B/zh
Publication of CN106897616A publication Critical patent/CN106897616A/zh
Application granted granted Critical
Publication of CN106897616B publication Critical patent/CN106897616B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了程序文件的处理方法及装置,应用于信息处理技术领域。在本实施例的程序文件处理方法中,先获取样本程序文件的函数依赖图,并根据函数依赖图所包括的多个节点中各个邻接节点之间的关系信息,获取函数依赖图的第一特征向量,最后可以将第一特征向量应用到待处理程序文件的聚类或分类处理中。这样如果将样本程序文件的函数依赖图的特征作为识别恶意程序文件的基准,可以应对恶意程序文件的更新和新出现的恶意程序文件;进一步为了减少程序文件的处理装置的计算量,且有利于后续应用中与待处理程序文件对比,本发明实施例中只是将样本程序文件的函数依赖图中所包括的邻接节点的关系特征作为聚类或分类应用的基准。

Description

一种程序文件的处理方法及装置
技术领域
本发明涉及信息处理技术领域,特别涉及一种程序文件的处理方法及装置。
背景技术
一般手机等的终端设备需要装载了程序后才能运行,实现各种功能,终端设备装载的程序主要包括系统程序和应用程序,但是如果这些程序遭到恶意者的攻击,会使得用户信息的丢失,因此,需要对终端设备接收的任意文件进行识别,识别出恶意文件,并进行相应处理。终端设备在识别恶意文件时,需要事先确定好恶意文件的样本文件的特征,然后将待识别文件的特征与样本文件的特征进行比较以确定恶意文件。
现有技术中,终端设备确定样本文件的特征时,一种方法是通过提取特征代码的技术来实现,但是,这种方法无法应对新病毒的和新变种,具有滞后性,无法识别未知的恶意文件。另一种方法是以行为为基准的提取方案,提取出程序行为特征,此方法分为白名单模型和黑名单模型,其中,黑名单模型是对恶意行为进行建模,此法和基于特征代码的技术一样,无法应对未知恶意文件;白名单模型是对合法行为进行建模,然而在实际应用中,合法行为占了较大比例,要对其进行充分的抽象具有极大的挑战,从而容易引起误报。
发明内容
本发明实施例提供一种程序文件的处理方法及装置,实现了将样本程序文件的函数依赖图的特征作为聚类或分类应用的基准。
本发明实施例提供一种程序文件的处理方法,包括:
获取样本程序文件的函数依赖图,所述函数依赖图中包括多个节点;
获取所述多个节点中各个邻接节点之间的关系信息;
根据所述关系信息获取所述函数依赖图的第一特征向量;
根据所述第一特征向量对待处理程序文件进行聚类或分类处理。
本发明实施例提供一种程序文件的处理装置,包括:
依赖图获取单元,用于获取样本程序文件的函数依赖图,所述函数依赖图中包括多个节点;
关系信息获取单元,用于获取所述依赖图获取单元获取的函数依赖图所包括的多个节点中各个邻接节点之间的关系信息;
特征获取单元,用于根据所述关系信息获取单元获取的关系信息获取所述函数依赖图的第一特征向量;
应用处理单元,用于根据所述特征获取单元获取的第一特征向量对待处理程序文件进行聚类或分类处理。
可见,在本实施例的程序文件处理方法中,主要是先获取样本程序文件的函数依赖图,并根据函数依赖图所包括的多个节点中各个邻接节点之间的关系信息,获取函数依赖图的第一特征向量,最后可以将第一特征向量应用到待处理程序文件的聚类或分类处理中。这样由于恶意程序文件一般都是通过调用相同的系统函数和相似的调用结构来达到相应的目的,这些恶意程序文件的函数依赖图具有相似性,即使恶意程序文件发生更新或有新的恶意程序文件出现,其函数依赖图也不会做大的改变,这样如果将样本程序文件的函数依赖图的特征即上述第一特征向量作为识别恶意程序文件的基准,可以应对恶意程序文件的更新和新出现的恶意程序文件;进一步地,由于一个程序文件的函数依赖图的特征较多,为了减少程序文件的处理装置的计算量,且有利于后续应用中与待处理程序文件对比,本发明实施例中只是将样本程序文件的函数依赖图中所包括的邻接节点的关系特征作为聚类或分类应用的基准。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种程序文件的处理方法的流程图;
图2是本发明实施例提供的另一种程序文件的处理方法的流程图;
图3是本发明实施例提供的另一种程序文件的处理方法的流程图;
图4是本发明实施例提供的一种程序文件的处理装置的结构示意图;
图5是本发明实施例提供的另一种程序文件的处理装置的结构示意图;
图6是本发明实施例提供的另一种程序文件的处理装置的结构示意图;
图7是本发明应用实施例中提供的程序文件的处理方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供一种程序文件的处理方法,主要是程序文件的处理装置所执行的方法,流程图如图1所示,包括:
步骤101,获取样本程序文件的函数依赖图,该函数依赖图中包括多个节点。函数依赖图是指程序中多个函数之间的依赖关系图,在程序执行过程中,如果函数a的定义中调用了函数b,那么函数a依赖函数b,则将函数a和b定义为两个节点,且两个节点在函数依赖图中用一个带箭头的实线连接a和b,由a指向b,表示节点a是节点b的父节点。。
由于每个程序文件都是通过一定的规则编译得到的,其中可以包括多个函数,及各个函数之间的依赖关系语句等,则本实施例中一个程序文件得到的函数依赖图中的一个节点可以表示一个函数。
步骤102,获取多个节点中各个邻接节点之间的关系信息,具体地,程序文件的处理装置在获取各个节点之间的关系信息时,可以通过关联矩阵,距离矩阵,邻接矩阵和拉普拉斯矩阵等来衡量,则本步骤中获取的关系信息可以包括矩阵的信息。
步骤103,根据步骤102获取的关系信息获取各个邻接节点之间的关系的特征,并将各个邻接节点之间的关系的特征作为函数依赖图的第一特征向量。由于上述步骤102获取的关系信息包括矩阵的信息,则本步骤中,直接计算矩阵的特征向量可以得到该第一特征向量。
步骤104,根据第一特征向量对待处理程序文件进行聚类或分类处理。具体地,程序文件的处理装置可以获取待处理程序文件的函数依赖图的第二特征向量,根据第一特征向量和第二特征向量的相似度确定待处理程序文件的类型,如果相似度较高,则确定待处理程序文件与样本程序文件的类型一致,否则不一致。其中,获取第二特征向量与上述步骤101到103中获取第一特征向量的方法类似,不同的是第二特征向量针对的是已知类型的样本程序文件,而第一特征向量针对的是未知类型的待处理程序文件。
可见,在本实施例的程序文件处理方法中,主要是先获取样本程序文件的函数依赖图,并根据函数依赖图所包括的多个节点中各个邻接节点之间的关系信息,获取函数依赖图的第一特征向量,最后可以将第一特征向量应用到待处理程序文件的聚类或分类处理中。这样由于恶意程序文件一般都是通过调用相同的系统函数和相似的调用结构来达到相应的目的,这些恶意程序文件的函数依赖图具有相似性,即使恶意程序文件发生更新或有新的恶意程序文件出现,其函数依赖图也不会做大的改变,这样如果将样本程序文件的函数依赖图的特征即上述第一特征向量作为识别恶意程序文件的基准,可以应对恶意程序文件的更新和新出现的恶意程序文件;进一步地,由于一个程序文件的函数依赖图的特征较多,为了减少程序文件的处理装置的计算量,且有利于后续应用中与待处理程序文件对比,本发明实施例中只是将样本程序文件的函数依赖图中所包括的邻接节点的关系特征作为聚类或分类应用的基准。
参考图2所示,在一个具体的实施例中,程序文件的处理装置在执行上述步骤102时,可以通过如下步骤1021和1022来实现,而在执行上述步骤103时,可以通过如下步骤1031来实现,具体地:
步骤1021,将函数依赖图转化为邻接矩阵,该邻接矩阵为n*n的矩阵,其中,n为函数依赖图所包括节点的节点数。
其中,邻接矩阵(Adjacency Matrix)表示函数依赖图中各个节点之间相邻关系的矩阵,假设G=(V,E)表示一个函数依赖图,其中V={v1,v2,…vn},V为节点集,E为边集,该函数依赖图G的邻接矩阵A(G)是一个n阶方阵,若函数依赖图中的节点i指向节点j,则A(G)(i,j)=1,否则为0。
步骤1022,根据邻接矩阵计算转移概率矩阵,将转移概率矩阵作为各个邻接节点之间的关系信息,或将对转移概率矩阵进行至少一次处理后得到的矩阵作为各个邻接节点之间的关系信息。其中,转移概率矩阵中的转移概率是根据函数依赖图中节点的出度信息和各个节点之间的调用关系计算得到的各个节点之间的转移概率,该转移概率体现了类依赖关系的调用概率。
步骤1031,获取转移概率矩阵对应的特征向量作为第一特征向量,或获取对转移概率矩阵进行至少一次处理后得到的矩阵对应的特征向量作为第一特征向量。
需要说明的是,上述对转移概率矩阵进行的至少一次处理可以包括对转移概率矩阵做拉普拉斯变换得到拉普拉斯矩阵,其中,拉普拉斯矩阵(Laplacian Matrix)也叫做导纳矩阵、基尔霍夫矩阵或离散拉普拉斯算子,主要应用在图论中,作为一个图的矩阵表示。
参考图3所示,在另一个具体的实施例中,程序文件的处理装置在执行上述步骤103时,是通过如下步骤1032到1034来实现,具体地:
步骤1032,获取转移概率矩阵对应的特征向量,或获取对转移概率矩阵进行至少一次处理后得到的矩阵对应的特征向量。
步骤1033,按照步骤1032中获取的特征向量对应的特征值,取k个特征值较高的特征向量,具体地,可以按照特征值从大到小对步骤1032中获取的特征向量进行排序,然后取前k个特征向量。
假设A是n阶方阵,如果数λ和n维非零列向量x使关系式Ax=λx成立,那么数λ称为矩阵A特征值,非零向量x称为A的对应于特征值λ的特征向量。
步骤1034,获取k个特征向量中每m个特征向量之间的数学计算值作为第一特征向量,这里m为大于或等于2,且小于k的自然数。这里的数学计算值可以是m个特征向量的任意数据运算后得到的值,比如相加或相乘等。
如果程序文件的处理装置将获取的k个特征向量中每两个特征向量的余弦夹角作为第一特征向量,既可以表达各个邻接节点的连接关系,且可以针对不同的函数依赖图得到相同维度的特征向量,有利于对比。
可见,本实施例中,程序文件的处理装置在获取了函数依赖图中各个邻接节点之间的关系信息对应的特征向量后,为了便于在后续聚类或分类处理中与待处理程序文件进行对比,还需要对这些特征向量做统一量化处理,即统一提取出k个特征向量后,再经过一定的数学计算最终得到第一特征向量。
本发明实施例还提供一种程序文件的处理装置,其结构示意图如图4所示,具体可以包括:
依赖图获取单元10,用于获取样本程序文件的函数依赖图,所述函数依赖图中包括多个节点;
关系信息获取单元11,用于获取所述依赖图获取单元10获取的函数依赖图所包括的多个节点中各个邻接节点之间的关系信息;
特征获取单元12,用于根据所述关系信息获取单元11获取的关系信息获取所述各个邻接节点之间的关系的特征作为函数依赖图的第一特征向量;
应用处理单元13,用于根据所述特征获取单元12获取的第一特征向量对待处理程序文件进行聚类或分类处理。具体地,所述应用处理单元13主要获取所述待处理程序文件的函数依赖图的第二特征向量,根据所述第一特征向量和第二特征向量的相似度确定所述待处理程序文件的类型。其中,该应用处理单元13
在本实施例的程序文件处理装置中,主要是依赖图获取单元10先获取样本程序文件的函数依赖图,并特征获取单元12根据函数依赖图所包括的多个节点中各个邻接节点之间的关系信息,获取函数依赖图的第一特征向量,最后应用处理单元13可以将第一特征向量应用到待处理程序文件的聚类或分类处理中。这样如果将样本程序文件的函数依赖图的特征即上述第一特征向量作为识别恶意程序文件的基准,可以应对恶意程序文件的更新和新出现的恶意程序文件;进一步地,由于一个程序文件的函数依赖图的特征较多,为了减少程序文件的处理装置的计算量,且有利于后续应用中与待处理程序文件对比,本发明实施例中只是将样本程序文件的函数依赖图中所包括的邻接节点的关系特征作为聚类或分类应用的基准。
参考图5所示,在一个具体的实施例中,程序文件的处理装置中所包括的关系信息获取单元11具体可以通过转化单元111和计算单元112来实现,其中:
转化单元111,用于将所述依赖图获取单元10获取的函数依赖图转化为邻接矩阵,所述邻接矩阵为n*n的矩阵,所述n为所述函数依赖图所包括节点的节点数;
计算单元112,用于根据所述转化单元111转化得到的邻接矩阵计算转移概率矩阵,将所述转移概率矩阵作为所述各个邻接节点之间的关系信息,或将对所述转移概率矩阵进行至少一次处理后得到的矩阵作为所述各个邻接节点之间的关系信息。其中,所述计算单元112对所述转移概率矩阵进行的至少一次处理包括:对所述转移概率矩阵做拉普拉斯变换得到拉普拉斯矩阵。
本实施例中,当计算单元112计算得到个邻接节点之间的关系信息后,特征获取单元12可以具体用于获取所述转移概率矩阵对应的特征向量作为所述第一特征向量,或获取对所述转移概率矩阵进行至少一次处理后得到的矩阵对应的特征向量作为所述第一特征向量。
为了便于在后续应用处理单元13在聚类或分类处理中与待处理程序文件进行对比,在另一个具体实施例中,当计算单元112计算得到个邻接节点之间的关系信息后,特征获取单元12,具体用于获取所述转移概率矩阵对应的特征向量,或获取对所述转移概率矩阵进行至少一次处理后得到的矩阵对应的特征向量;按照所述获取的特征向量对应的特征值,取k个特征值较高的特征向量;获取所述k个特征向量中每m个特征向量之间的数学计算值作为所述第一特征向量,所述m为大于或等于2,且小于所述k的自然数。具体地,所述m为2,所述数学计算值为2个特征向量之间的余弦夹角。
本发明实施例还提供一种程序文件的处理装置,其结构示意图如图6所示,该程序文件的处理装置可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对程序文件的处理装置中的一系列指令操作。更进一步地,中央处理器30可以设置为与存储介质22通信,在程序文件的处理装置上执行存储介质22中的一系列指令操作。
程序文件的处理装置还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,一个或一个以上输入输出接口25,和/或,一个或一个以上操作系统223,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述方法实施例中所述的由程序文件的处理装置所执行的步骤可以基于该图6所示的程序文件的处理装置的结构。
以下以一个具体的应用实例来说明本发明实施例的方法,本实施例中主要是针对安卓系统的程序文件所执行的方法,具体地:
(1)参考图7所示,按照如下步骤获取安卓程序的样本文件对应的特征向量:
步骤201,将安卓(Android Package,APK)程序的样本文件,后续简称APK文件进行解压,然后经过反编译处理为可阅读形式,最后构建该APK文件的函数依赖图G。
这里APK文件是安卓操作系统上的应用程序安装文件格式,安卓应用程序的代码必须先进行编译,然后被打包成为安卓系统所能识别的文件才可以被运行,这种文件格式即为APK格式。
步骤202,将函数依赖图G转化为邻接矩阵A(G),A(G)为n*n的矩阵,n为函数依赖图所包括节点的节点数。
步骤203,根据邻接矩阵A(G)计算转移概率矩阵D(G)。
步骤204,对转移概率矩阵L(G)做拉普拉斯变换得到拉普拉斯矩阵L(G)。
步骤205,计算拉普拉斯矩阵L(G)的特征值(λ12,…λm)以及特征值所对应的特征向量(μ12,…μh)。
步骤206,将步骤205特征向量按照对应特征值从大到小排序,取前k个特征向量(μ12,…μk)。
步骤207,计算k个特征向量中每两个特征向量之间的余弦夹角得到第一特征向量ν,其中:
ν=(C(μ12),C(μ13),…C(μ1k),C(μ23),…C(μ2k),…C(μk-1k))
(2)根据上述得到的第一特征向量对待处理的程序文件进行聚类或分类,具体地,可以按照如上步骤201到207的方法得到待处理的程序文件对应的第二特征向量,然后将第一特征向量和第二特征向量进行比较。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器RAM)、磁盘或光盘等。
以上对本发明实施例所提供的程序文件的处理方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种程序文件的处理方法,其特征在于,包括:
获取样本程序文件的函数依赖图,所述函数依赖图中包括多个节点;
获取所述多个节点中各个邻接节点之间的关系信息;
根据所述关系信息获取所述函数依赖图的第一特征向量;
根据所述第一特征向量对待处理程序文件进行聚类或分类处理。
2.如权利要求1所述的方法,其特征在于,所述获取所述多个节点中各个邻接节点之间的关系信息,具体包括:
将所述函数依赖图转化为邻接矩阵,所述邻接矩阵为n*n的矩阵,所述n为所述函数依赖图所包括节点的节点数;
根据所述邻接矩阵计算转移概率矩阵,将所述转移概率矩阵作为所述各个邻接节点之间的关系信息,或将对所述转移概率矩阵进行至少一次处理后得到的矩阵作为所述各个邻接节点之间的关系信息。
3.如权利要求2所述的方法,其特征在于,所述根据所述关系信息获取所述函数依赖图的第一特征向量,具体包括:
获取所述转移概率矩阵对应的特征向量作为所述第一特征向量,或获取对所述转移概率矩阵进行至少一次处理后得到的矩阵对应的特征向量作为所述第一特征向量。
4.如权利要求2所述的方法,其特征在于,所述根据所述关系信息获取所述函数依赖图的第一特征向量,具体包括:
获取所述转移概率矩阵对应的特征向量,或获取对所述转移概率矩阵进行至少一次处理后得到的矩阵对应的特征向量;
按照所述获取的特征向量对应的特征值,取k个特征值较高的特征向量;
获取所述k个特征向量中每m个特征向量之间的数学计算值作为所述第一特征向量,所述m为大于或等于2,且小于所述k的自然数。
5.如权利要求4所述的方法,其特征在于,所述m为2,所述数学计算值为2个特征向量之间的余弦夹角。
6.如权利要求3至5任一项所述的方法,其特征在于,所述对所述转移概率矩阵进行的至少一次处理包括:对所述转移概率矩阵做拉普拉斯变换得到拉普拉斯矩阵。
7.如权利要求1至5任一项所述的方法,其特征在于,所述根据所述第一特征向量对待处理程序文件进行聚类或分类处理,具体包括:
获取所述待处理程序文件的函数依赖图的第二特征向量,根据所述第一特征向量和第二特征向量的相似度确定所述待处理程序文件的类型。
8.一种程序文件的处理装置,其特征在于,包括:
依赖图获取单元,用于获取样本程序文件的函数依赖图,所述函数依赖图中包括多个节点;
关系信息获取单元,用于获取所述依赖图获取单元获取的函数依赖图所包括的多个节点中各个邻接节点之间的关系信息;
特征获取单元,用于根据所述关系信息获取单元获取的关系信息获取所述函数依赖图的第一特征向量;
应用处理单元,用于根据所述特征获取单元获取的第一特征向量对待处理程序文件进行聚类或分类处理。
9.如权利要求8所述的装置,其特征在于,所述关系信息获取单元,具体包括:
转化单元,用于将所述函数依赖图转化为邻接矩阵,所述邻接矩阵为n*n的矩阵,所述n为所述函数依赖图所包括节点的节点数;
计算单元,用于根据所述转化单元转化得到的邻接矩阵计算转移概率矩阵,将所述转移概率矩阵作为所述各个邻接节点之间的关系信息,或将对所述转移概率矩阵进行至少一次处理后得到的矩阵作为所述各个邻接节点之间的关系信息。
10.如权利要求9所述的装置,其特征在于,所述特征获取单元,具体用于获取所述转移概率矩阵对应的特征向量作为所述第一特征向量,或获取对所述转移概率矩阵进行至少一次处理后得到的矩阵对应的特征向量作为所述第一特征向量。
11.如权利要求9所述的装置,其特征在于,
所述特征获取单元,具体用于获取所述转移概率矩阵对应的特征向量,或获取对所述转移概率矩阵进行至少一次处理后得到的矩阵对应的特征向量;按照所述获取的特征向量对应的特征值,取k个特征值较高的特征向量;获取所述k个特征向量中每m个特征向量之间的数学计算值作为所述第一特征向量,所述m为大于或等于2,且小于所述k的自然数。
12.如权利要求11所述的装置,其特征在于,所述m为2,所述数学计算值为2个特征向量之间的余弦夹角。
13.如权利要求10至12任一项所述的装置,其特征在于,所述计算单元对所述转移概率矩阵进行的至少一次处理包括:对所述转移概率矩阵做拉普拉斯变换得到拉普拉斯矩阵。
14.如权利要求8至12任一项所述的装置,其特征在于,
所述应用处理单元,具体用于获取所述待处理程序文件的函数依赖图的第二特征向量,根据所述第一特征向量和第二特征向量的相似度确定所述待处理程序文件的类型。
CN201510956497.9A 2015-12-17 2015-12-17 一种程序文件的处理方法及装置 Active CN106897616B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510956497.9A CN106897616B (zh) 2015-12-17 2015-12-17 一种程序文件的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510956497.9A CN106897616B (zh) 2015-12-17 2015-12-17 一种程序文件的处理方法及装置

Publications (2)

Publication Number Publication Date
CN106897616A true CN106897616A (zh) 2017-06-27
CN106897616B CN106897616B (zh) 2021-07-16

Family

ID=59188494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510956497.9A Active CN106897616B (zh) 2015-12-17 2015-12-17 一种程序文件的处理方法及装置

Country Status (1)

Country Link
CN (1) CN106897616B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108470126A (zh) * 2018-03-19 2018-08-31 腾讯科技(深圳)有限公司 数据处理方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034042A (zh) * 2010-12-13 2011-04-27 四川大学 基于函数调用关系图特征的恶意代码检测新方法
CN104021346A (zh) * 2014-06-06 2014-09-03 东南大学 基于程序流程图的Android恶意软件检测方法
CN104933360A (zh) * 2015-05-21 2015-09-23 中国科学院信息工程研究所 基于程序依赖图的Android平台仿冒应用检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034042A (zh) * 2010-12-13 2011-04-27 四川大学 基于函数调用关系图特征的恶意代码检测新方法
CN104021346A (zh) * 2014-06-06 2014-09-03 东南大学 基于程序流程图的Android恶意软件检测方法
CN104933360A (zh) * 2015-05-21 2015-09-23 中国科学院信息工程研究所 基于程序依赖图的Android平台仿冒应用检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
孔万增等: "基于本征间隙与正交特征向量的自动谱聚类", 《电子学报》 *
颜克文: "基于图特征向量的Android程序相似性检测算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108470126A (zh) * 2018-03-19 2018-08-31 腾讯科技(深圳)有限公司 数据处理方法、装置及存储介质
CN108470126B (zh) * 2018-03-19 2020-05-01 腾讯科技(深圳)有限公司 数据处理方法、装置及存储介质

Also Published As

Publication number Publication date
CN106897616B (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
US11328171B2 (en) Image retrieval method and apparatus
US10474827B2 (en) Application recommendation method and application recommendation apparatus
CN105630800B (zh) 一种节点重要性排序的方法和系统
CN110009486B (zh) 一种欺诈检测的方法、系统、设备及计算机可读存储介质
Lin et al. A Reduction based Method for Coloring Very Large Graphs.
CN112005532B (zh) 用于对可执行文件进行分类的方法、系统和存储介质
CN108563952B (zh) 文件的病毒检测方法、装置及存储介质
CN111260220B (zh) 群控设备识别方法、装置、电子设备和存储介质
CN111314138B (zh) 有向网络的检测方法、计算机可读存储介质及相关设备
CN111461164B (zh) 样本数据集的扩容方法及模型的训练方法
CN111241544B (zh) 一种恶意程序识别方法、装置、电子设备及存储介质
Kraus et al. On sphere-regular graphs and the extremality of information-theoretic network measures
CN104392174A (zh) 应用程序动态行为的特征向量的生成方法及装置
CN112613040A (zh) 一种基于二进制程序的漏洞检测方法及相关设备
Biswas et al. On some exact distribution-free tests of independence between two random vectors of arbitrary dimensions
US11669727B2 (en) Information processing device, neural network design method, and recording medium
CN109492844B (zh) 业务策略的生成方法和装置
CN106897616A (zh) 一种程序文件的处理方法及装置
CN111667018B (zh) 一种对象聚类的方法、装置、计算机可读介质及电子设备
CN117390480A (zh) 一种信息提取方法、装置、设备及存储介质
JP7171478B2 (ja) 情報処理方法、及び情報処理システム
CN111222136B (zh) 恶意应用归类方法、装置、设备及计算机可读存储介质
CN110874387B (zh) 移动设备识别符共现关系稀疏图的构建方法及装置
CN107220702B (zh) 一种低计算能力处理设备的计算机视觉处理方法及装置
CN115544307A (zh) 基于关联矩阵的有向图数据特征提取与表达方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant