CN110309382B - 基于多维特征的移动应用同源性边聚类方法 - Google Patents
基于多维特征的移动应用同源性边聚类方法 Download PDFInfo
- Publication number
- CN110309382B CN110309382B CN201910520989.1A CN201910520989A CN110309382B CN 110309382 B CN110309382 B CN 110309382B CN 201910520989 A CN201910520989 A CN 201910520989A CN 110309382 B CN110309382 B CN 110309382B
- Authority
- CN
- China
- Prior art keywords
- apk
- edge
- edges
- core
- software
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于多维特征的移动应用同源性边聚类方法,步骤如下:构建以移动应用软件关系图,移动应用软件作为关系图的顶点,由移动应用软件的不同特征比较算法得出软件之间的n种多维特征相似性分数作为关系图的边,形成“边”集合;设置相似分数阈值和有效分数个数阈值,过滤出“有效边”集合;计算“有效边”两两之间的距离;设置邻域半径,找出所有“有效边”的邻域;设置邻域密度阈值,找出所有“核心边”,形成“核心边对象”集合;从“核心边对象”集合中任一“核心边”开始遍历,将其所有密度可达的“有效边”聚成簇,最后得到软件同源家族分类情况。本发明有效克服以往基于单一距离的聚类,更公平地将软件进行同源家族分类。
Description
技术领域
本发明涉及软件聚类技术领域,具体涉及一种基于多维特征的移动应用同源性边聚类方法。
背景技术
随着手机软件的快速发展,移动应用软件的数量日益增长,恶意应用数量也随之增加,安全***每天截获的恶意软件数以千万计,软件分析工作量也非常大。将软件进行同源家族分类,将同源家族的特征提取出来进行分析,可以大大减少软件分析样本的数量,减轻分析工作人员工作量。因此,目前亟待提出一种基于多维特征的移动应用同源性边聚类方法。
发明内容
本发明的目的是为了解决现有技术中的上述问题,提供一种基于多维特征的移动应用同源性边聚类方法。
本发明的目的可以通过采取如下技术方案达到:
一种基于多维特征的移动应用同源性边聚类方法,所述的聚类方法包括以下步骤:
S1、构建以移动应用软件关系图,移动应用软件作为关系图的顶点,由移动应用软件的不同特征比较算法得出软件之间的n种多维特征相似性分数作为关系图的边,形成“边”集合Edge;
S2、设置相似分数阈值μ=(μ1,μ2,μ3……μn)和有效分数个数阈值α,过滤出“有效边”集合VaildEdge;
S3、计算“有效边”两两之间的距离;
S4、设置邻域半径r,找出所有“有效边”的邻域;
S5、设置邻域密度阈值minPts,找出所有“核心边”,形成“核心边对象”集合;
S6、从“核心边对象”集合中任一“核心边”开始遍历,将其所有密度可达的“有效边”聚成簇,直到所有“核心边”被访问过为止,根据聚成的簇结果最后得到软件同源家族分类情况。
进一步地,所述的“边”集合Edge如下:
Edge={(apk1,apk2):(s112,s212,s312,……,sn12),
(apk1,apk3):(s113,s213,s313,……,sn13),
……
(apki,apkj):(s1ij,s2ij,s3ij,……,snij),
……
(apkm,apkm-1):(s1m(m-1),s2m(m-1),s3m(m-1),……,snm(m-1))};
其中m表示数据集中移动软件个数,(apki,apkj)表示移动软件数据集中第i个和第j个移动软件之间的“边”,snij表示第n种软件相似性算法计算第i、j个软件的相似性分数,i=1,2,……,m,j=1,2,……,m。
进一步地,所述的步骤S2过程如下:
将(apki,apkj)上的分数(s1ij,s2ij,s3ij……snij)与相似分数阈值(μ1,μ2,μ3……μn)比较,即s1ij与μ1,s2ij与μ2……snij与μn比较,当(apki,apkj)上的分数(s1ij,s2ij,s3ij……snij)有不少于α个分数大于对应相似分数阈值μ时,那么“边”(apki,apkj)为“有效边”;按照上述方法找到所有“有效边”,形成集合VaildEdge:
进一步地,所述的步骤S3过程如下:
计算“有效边”两两之间的距离,采用“有效边”(apki,apkj)与(apkx,apky)距离公式distance:
其中“有效边”(apkx,apky)表示“有效边”集合中,除(apki,apkj)以外的其他“有效边”,s1ij,s2ij,……,snij表示第1,2,……,n种软件相似性算法计算第i、j个软件的相似性分数,s1xy,s2xy,……,snxy表示第1,2,……,n种软件相似性算法计算第x、y个软件的相似性分数。
进一步地,所述的步骤S4过程如下:
遍历“有效边”集合中的每条“有效边”(apki,apkj),i,j=1,2……m,找到除有效边(apki,apkj)本身外,所有与(apki,apkj)的距离distance不大于r,且与(apki,apkj)有共同节点的“有效边”,纳入(apki,apkj)的邻域,得到有效边邻域Neib(apki,apkj);
Neib(apki,apkj)={(apkx,apky)|distance((apki,apkj),(apkx,apky))≤r,
CommonNode((apki,apkj),(apkx,apky))=1,
(apki,apkj)∈VaildEdge,(apkx,apky)∈VaildEdge};
进一步地,所述的步骤S5过程如下:
遍历所有“有效边”(apki,apkj),i,j=1,2……m,计算每条“有效边”的邻域密度,即邻域内样本个数|Neib(apki,apkj)|,当满足|Neib(apki,apkj)|≥minPts时,则(apki,apkj)为“核心边”,得到“核心边”集合CoreEdge:CoreEdge={(apki,apkj)||Neib(apki,apkj)|≥minPts,(apki,apkj)∈VaildEdge}。
进一步地,所述的步骤S6过程如下:
从CoreEdge中任取一“核心边”edgecore=(apki,apkj),标记为“已访问”,遍历“核心边”edgecore邻域中所有“有效边”样本edgei(i≠core),并判断edgei是否为“核心边”,如果是,则按上述遍历edgecore邻域的方式继续遍历edgei的邻域,最后将所有遍历过的“边”标记为“已访问”,将所有“已访问”的“边”聚成第一个簇;再从未遍历过的“核心边”中再任取一“核心边”edgecore,重复上述操作,聚成第k个簇,k=2,3……直到CoreEdge中的所有“核心边”都被遍历过为止,根据聚成的簇结果最后得到软件同源家族分类情况。
本发明相对于现有技术具有如下的优点及效果:
本发明通过软件样本集的不同特征比较,获取软件之间的多维特征相似性分数,作为移动软件之间的关系边,再过滤出“有效边”作为聚类对象,根据邻域半径r,找到所有边的邻域,其中一条边邻域内所有的边在该边邻域半径r内,并且与该边有共同节点;根据邻域密度阈值MinPts找出所有核心边对象,从“核心边对象”集合中任一“核心边”开始遍历,将其所有密度可达的“有效边”聚成类簇,直到所有“核心边”被访问过为止,根据聚成的簇结果最后得到软件同源家族分类情况。本发明有效克服以往基于单一距离的聚类,更公平地将软件进行同源家族分类。
附图说明
图1是本发明公开的基于多维特征的移动应用同源性边聚类方法的流程图;
图2是本发明实施例中形成边集合和有效边集合的示意图;
图3是本发明实施例中边对象的邻域判断示意图;
图4是本发明实施例中核心边形成示意图,以虚线为例,判断该虚线是否为核心边。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本实施例公开了一种基于多维特征的移动应用同源性边聚类方法,包括以下步骤,
第一步、构建以移动应用软件关系图,移动应用软件作为关系图的顶点,由移动应用软件的不同特征比较算法得出软件之间的n种多维特征相似性分数作为关系图的边,形成“边”集合Edge;
其中,第一步中,获取“边”集合Edge,具体为,获取数据集中移动软件两两之间的n种相似性分数结果,形成“边”集合Edge,将每条边的多种相似性分数集中起来,作为边特征,如附图2:
Edge={(apk1,apk2):(s112,s212,s312,……,sn12),
(apk1,apk3):(s113,s213,s313,……,sn13),
……
(apki,apkj):(s1ij,s2ij,s3ij,……,snij),
……
(apkm,apkm-1):(s1m(m-1),s2m(m-1),s3m(m-1),……,snm(m-1))};
其中m表示数据集中移动软件个数,(apki,apkj)表示移动软件数据集中第i个和第j个移动软件之间的“边”,(s1ij,s2ij,s3ij……snij)即边的多维特征,snij表示第n种软件相似性算法计算第i、j个软件的相似性分数,i=1,2,……,m,j=1,2,……,m。
第二步、设置相似分数阈值μ=(μ1,μ2,μ3……μn)和有效分数个数阈值α,过滤出“有效边”集合VaildEdge;
其中,第二步中,获取“有效边”集合VaildEdge,具体为,设置相似分数阈值μ=(μ1,μ2,μ3……μn)和有效分数个数阈值α,过滤出“有效边”集合VaildEdge,将(apki,apkj)上的分数(s1ij,s2ij,s3ij……snij)与相似分数阈值(μ1,μ2,μ3……μn)比较,即s1ij与μ1,s2ij与μ2……snij与μn比较,当(apki,apkj)上的分数(s1ij,s2ij,s3ij……snij)有不少于α个分数大于对应相似分数阈值μ时,那么“边”(apki,apkj)为“有效边”;按照上述方法找到所有“有效边”,形成集合VaildEdge:
第三步、计算“有效边”两两之间的距离;
其中,第三步中,计算“有效边”两两之间的距离,具体为,以边特征的欧式距离作为边的距离,(apki,apkj)与(apkx,apky)距离公式distance:
其中“有效边”(apkx,apky)表示“有效边”集合中,除(apki,apkj)以外的其他“有效边”。s1ij,s2ij,……,snij表示第1,2,……,n种软件相似性算法计算第i、j个软件的相似性分数,s1xy,s2xy,……,snxy表示第1,2,……,n种软件相似性算法计算第x、y个软件的相似性分数。
第四步、设置邻域半径r,找出所有“有效边”的邻域;
其中,第四步中,遍历“有效边”集合中的每条“有效边”(apki,apkj),i,j=1,2……m,找到除有效边(apki,apkj)本身外,所有与(apki,apkj)的距离distance不大于r,且与(apki,apkj)有共同节点的“有效边”,纳入(apki,apkj)的邻域,得到有效边邻域Neib(apki,apkj);
Neib(apki,apkj)={(apkx,apky)|distance((apki,apkj),(apkx,apky))≤r,
CommonNode((apki,apkj),(apkx,apky))=1,
(apki,apkj)∈VaildEdge,(apkx,apky)∈VaildEdge};
第五步、设置邻域密度阈值minPts,找出所有“核心边”,形成“核心边对象”集合;
其中,第五步中,设置邻域密度阈值minPts,找出所有“核心边”,形成“核心边对象”集合,具体为,设置邻域密度阈值minPts,找出所有“核心边”,形成“核心边对象”集合,遍历所有“有效边”(apki,apkj),i,j=1,2……m,计算每条“有效边”的邻域密度,即邻域内样本个数|Neib(apki,apkj)|,当满足|Neib(apki,apkj)|≥minPts时,则(apki,apkj)为“核心边”,如附图4中,虚线代表某边,假设minPts=3,该边的邻域中有3条边,即该虚线代表的边为核心边,得到“核心边”集合CoreEdge:
CoreEdge={(apki,apkj)||Neib(apki,apkj)|≥minPts,(apki,apkj)∈VaildEdge}。
第六步、从“核心边对象”集合中任一“核心边”开始遍历,将其所有密度可达的“有效边”聚成簇,直到所有“核心边”被访问过为止。
其中,第六步中,从“核心边对象”集合中任一“核心边”开始遍历,将其所有密度可达的“有效边”聚成簇,直到所有“核心边”被访问过为止,具体为,从CoreEdge中任取一“核心边”edgecore=(apki,apkj),标记为“已访问”,遍历“核心边”edgecore邻域中所有“有效边”样本edgei(i≠core),并判断edgei是否为“核心边”,如果是,则按上述遍历edgecore邻域的方式继续遍历edgei的邻域,最后将所有遍历过的“边”标记为“已访问”,将所有“已访问”的“边”聚成第一个簇;再从未遍历过的“核心边”中再任取一“核心边”edgecore,重复上述操作,聚成第k个簇,k=2,3……直到CoreEdge中的所有“核心边”都被遍历过为止,根据聚成的簇结果最后得到软件同源家族分类情况。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (7)
1.一种基于多维特征的移动应用同源性边聚类方法,其特征在于,所述的聚类方法包括以下步骤:
S1、构建以移动应用软件关系图,移动应用软件作为关系图的顶点,由移动应用软件的不同特征比较算法得出软件之间的n种多维特征相似性分数作为关系图的边,形成“边”集合Edge;
S2、设置相似分数阈值μ=(μ1,μ2,μ3……μn)和有效分数个数阈值α,过滤出“有效边”集合VaildEdge;
S3、计算“有效边”两两之间的距离;
S4、设置邻域半径r,找出所有“有效边”的邻域;
S5、设置邻域密度阈值minPts,找出所有“核心边”,形成“核心边对象”集合;
S6、从“核心边对象”集合中任一“核心边”开始遍历,将其所有密度可达的“有效边”聚成簇,直到所有“核心边”被访问过为止,根据聚成的簇结果最后得到软件同源家族分类情况。
2.根据权利要求1所述的基于多维特征的移动应用同源性边聚类方法,其特征在于,所述的“边”集合Edge如下:
Edge={(apk1,apk2):(s112,s212,s312,……,sn12),
(apk1,apk3):(s113,s213,s313,……,sn13),
……
(apki,apkj):(s1ij,s2ij,s3ij,……,snij),
……
(apkm,apkm-1):(s1m(m-1),s2m(m-1),s3m(m-1),……,snm(m-1))};
其中m表示数据集中移动软件个数,(apki,apkj)表示移动软件数据集中第i个和第j个移动软件之间的“边”,snij表示第n种软件相似性算法计算第i、j个软件的相似性分数,i=1,2,……,m,j=1,2,……,m。
5.根据权利要求3所述的基于多维特征的移动应用同源性边聚类方法,其特征在于,所述的步骤S4过程如下:
遍历“有效边”集合中的每条“有效边”(apki,apkj),i,j=1,2……m,找到除有效边(apki,apkj)本身外,所有与(apki,apkj)的距离distance不大于r,且与(apki,apkj)有共同节点的“有效边”,纳入(apki,apkj)的邻域,得到有效边邻域Neib(apki,apkj);
Neib(apki,apkj)={(apkx,apky)|distance((apki,apkj),(apkx,apky))≤r,
CommonNode((apki,apkj),(apkx,apky))=1,
(apki,apkj)∈VaildEdge,(apkx,apky)∈VaildEdge};
6.根据权利要求3所述的基于多维特征的移动应用同源性边聚类方法,其特征在于,所述的步骤S5过程如下:
遍历所有“有效边”(apki,apkj),i,j=1,2……m,计算每条“有效边”的邻域密度,即邻域内样本个数|Neib(apki,apkj)|,当满足|Neib(apki,apkj)|≥minPts时,则(apki,apkj)为“核心边”,得到“核心边”集合CoreEdge:CoreEdge={(apki,apkj)||Neib(apki,apkj)|≥minPts,(apki,apkj)∈VaildEdge}。
7.根据权利要求3所述的基于多维特征的移动应用同源性边聚类方法,其特征在于,所述的步骤S6过程如下:
从CoreEdge中任取一“核心边”edgecore=(apki,apkj),标记为“已访问”,遍历“核心边”edgecore邻域中所有“有效边”样本edgei(i≠core),并判断edgei是否为“核心边”,如果是,则按上述遍历edgecore邻域的方式继续遍历edgei的邻域,最后将所有遍历过的“边”标记为“已访问”,将所有“已访问”的“边”聚成第一个簇;再从未遍历过的“核心边”中再任取一“核心边”edgecore,重复上述操作,聚成第k个簇,k=2,3……直到CoreEdge中的所有“核心边”都被遍历过为止,根据聚成的簇结果最后得到软件同源家族分类情况。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910520989.1A CN110309382B (zh) | 2019-06-17 | 2019-06-17 | 基于多维特征的移动应用同源性边聚类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910520989.1A CN110309382B (zh) | 2019-06-17 | 2019-06-17 | 基于多维特征的移动应用同源性边聚类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110309382A CN110309382A (zh) | 2019-10-08 |
CN110309382B true CN110309382B (zh) | 2021-05-28 |
Family
ID=68076005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910520989.1A Active CN110309382B (zh) | 2019-06-17 | 2019-06-17 | 基于多维特征的移动应用同源性边聚类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110309382B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104090967A (zh) * | 2014-07-16 | 2014-10-08 | 北京智谷睿拓技术服务有限公司 | 应用程序推荐方法及推荐装置 |
CN104769585A (zh) * | 2012-10-09 | 2015-07-08 | 邓白氏公司 | 递归地遍历因特网和其他源以识别、收集、管理、评判和鉴定企业身份及相关数据的***和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180358125A1 (en) * | 2017-06-13 | 2018-12-13 | Alexander Bagaev | Systems and methods for identifying cancer treatments from normalized biomarker scores |
US10733212B2 (en) * | 2017-10-16 | 2020-08-04 | Salesforce.Com, Inc. | Entity identifier clustering based on context scores |
-
2019
- 2019-06-17 CN CN201910520989.1A patent/CN110309382B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104769585A (zh) * | 2012-10-09 | 2015-07-08 | 邓白氏公司 | 递归地遍历因特网和其他源以识别、收集、管理、评判和鉴定企业身份及相关数据的***和方法 |
CN104090967A (zh) * | 2014-07-16 | 2014-10-08 | 北京智谷睿拓技术服务有限公司 | 应用程序推荐方法及推荐装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110309382A (zh) | 2019-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101710334B (zh) | 基于图像哈希的大规模图像库检索方法 | |
CN106570178B (zh) | 一种基于图聚类的高维文本数据特征选择方法 | |
CN109981625B (zh) | 一种基于在线层次聚类的日志模板抽取方法 | |
WO2016049975A1 (zh) | 一种基于集聚系数的自适应聚类方法及*** | |
CN111522968B (zh) | 知识图谱融合方法及装置 | |
JP2006338313A (ja) | 類似画像検索方法,類似画像検索システム,類似画像検索プログラム及び記録媒体 | |
GB2467767A (en) | Methods of identifying imaging devices and classifying images | |
CN114168608B (zh) | 一种用于更新知识图谱的数据处理*** | |
WO2014177050A1 (zh) | 对文档进行聚类的方法和装置 | |
CN111701247A (zh) | 用于确定统一账号的方法和设备 | |
CN111178196B (zh) | 一种细胞分类的方法、装置及设备 | |
CN116226103A (zh) | 一种基于FPGrowth算法进行政务数据质量检测的方法 | |
WO2017095413A1 (en) | Incremental automatic update of ranked neighbor lists based on k-th nearest neighbors | |
Maddumala | A Weight Based Feature Extraction Model on Multifaceted Multimedia Bigdata Using Convolutional Neural Network. | |
CN108388869B (zh) | 一种基于多重流形的手写数据分类方法及*** | |
CN110309382B (zh) | 基于多维特征的移动应用同源性边聚类方法 | |
CN113537324A (zh) | 基于薄几何平面样条插值的户型空间匹配方法及装置 | |
WO2017065795A1 (en) | Incremental update of a neighbor graph via an orthogonal transform based indexing | |
CN109992960B (zh) | 一种伪造参数检测方法、装置、电子设备及存储介质 | |
CN115292303A (zh) | 数据处理方法及装置 | |
CN113850811B (zh) | 基于多尺度聚类和掩码打分的三维点云实例分割方法 | |
CN113808144A (zh) | 基于直方图拟合的密度峰值聚类土壤图像阴影检测方法 | |
CN113408579A (zh) | 一种基于用户画像的内部威胁预警方法 | |
CN113448994A (zh) | 一种基于核心集的连续遗憾率最小化查询方法 | |
CN116721354B (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 |