(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202111628481.7 (22)申请日 2021.12.28 (71)申请人 杭州电子科技大 学 地址 310018 浙江省杭州市钱塘新区白杨 街道2号大街1 158号 (72)发明人 陈信 殷嘉铖 俞东进 俞海华  (51)Int.Cl. G06K 9/62(2022.01) G06F 21/56(2013.01) (54)发明名称 基于多特征的安卓 恶意软件家族聚类方法 (57)摘要 本发明提出了一种基于多特征的安卓恶意 软件家族聚类方法。 该方法首先抽取权 限特征、 API特征和操作码特征, 用于表示样本不同方面 的信息; 其次在预处理阶段过滤API特征和操作 码特征中冗余特征, 以减少后续计算时间并提高 聚类效果; 然后使用Jaccard系数计算样本之间 的权限特征、 API特征和操作 码特征的相似度, 同 时利用API序列信息计算API的序列相似度, 集成 所有相似度得到恶意软件之间的相似度; 最后, 通过设置相似度阈值构建恶意软件网络, 使用社 区发现中的InfoMap算法实现聚类。 通过本发明 方法能有效实现恶意软件的家族聚类, 对恶意软 件检测和原因分析有着非常重要的意 义。 权利要求书3页 说明书6页 附图1页 CN 114492586 A 2022.05.13 CN 114492586 A 1.一种基于多特 征的安卓 恶意软件家族聚类方法, 其特 征在于: 包括 一下步骤 步骤一: 给定m个Android应用恶意软件安装包集合A=(A1, A2,…Am), 对于每个恶意软 件安装包Ai(i=1 , 2,..., m) , 借助安卓分析工具Androguard获取其中的 AndroidManifest.xml文件和clas ses.dex文件; 步骤二: 从AndroidManifest.xml文件中抽取权限信息, 从classes.dex文件中抽取API 序列信息以及操作码序列信息; 每个恶意软件可以表示为Ai=(apkId, permission, APISequence, opcode), 其中apkId表示恶意软件安装包的编号, permission表示权限集合 信息, APISequence表示API序列信息, opcode表示操作码序列信息; 步骤三: 对permission和APISequence进行过滤: 根据官方文档定义 的权限列表, 过滤 permission中第三方或自定义的权限; 通过识别API中的packageName, 过滤sequence中非 官方的API; 步骤四: 对opcode信息进行特征抽取: 利用模型抽取opcode中字节片段特征gram; 经过 步骤三和四的预处理后, 每个恶意软件包表示为Ai=<apkId, prePermission, preAPISequence, preOpcode>, i =1, 2…m; 步骤五: 将所有软件包中的prePermission表示成字袋形式, 创建集合 其中li表示第i软件包中的权限个数; 对于任意软件包Aa和Ab中 prePermis sion, 利用Jac card系数计算prePermis sion的相似度Simper(Aa, Ab), 公式为: 其中||表示集合中包含的权限的个数; 步骤六: 将所有软件包中的preOpcode也表示成字袋形式, 创建集合 其中di表示第i软件包中的操作码个数; 对于任意软件包Aa和Ab中 preOpcode, 利用Jac card系数计算软件 包中preOpcode的相似度Simop(Aa, Ab), 公式为: 步骤七: 对于软件包中的preAPISequence , 将所有的API组成序列集合 其中ti表示第i软件包中的操作码个数; 利用Jaccard系数计算 其语义相似度, 以及API的序列位置信息计算其序列相似度; 最 终综合这两种相似度得到任 意软件包Aa和Ab的preAPISequence相似度Simapi(Aa, Ab); 步骤八: 将三种不同类型的相似度进行集成, 计算软件包之间的最终相似度; 给定任意 两个软件 包Aa和Ab, 最终相似度Sim(Aa, Ab)定义为: 步骤九: 软件包聚类: 利用InfoMap 方法对软件包进行聚类; 通过InfoMap 方法将所有恶 意软件划分为c类。 2.根据权利要求1所述的一种基于多特征的安卓恶意软件家族聚类方法, 其特征在于: 所述步骤四包括以下步骤:权 利 要 求 书 1/3 页 2 CN 114492586 A 2子步骤4‑1、 在给定恶意安卓软件样本集A=(A1, A2,…Am), 抽取所有软件包的操作码的 n‑gram(n=5)特征, 构建集 合Ω={o1, o2, ..., os}, s为所有5 ‑gram操作码的数量; 子步骤4‑2、 计算Ω中每个ok(k=1, 2, ...s)在安卓恶意软件样本集A中出现的频率, 记 作P(M)={p(o1, A), p(o2, A), ..., p(os, A)}, 计算公式如下: 其中count(ok, A)表示在样本集A中包 含ok的样本数量; 子步骤4‑3、 对所有的ok按照概率从大到小进行排序, 选 择其前K%(K=1)个5 ‑gram操作 码作为关键操作码特 征列表。 3.根据权利要求1所述的一种基于多特征的安卓恶意软件家族聚类方法, 其特征在于: 所述步骤七包括以下步骤: 子步骤7‑1、 对于任意两个软件包Aa和Ab, 其包含的preAPISequence序列的语义Simsem (Aa, Ab)为: 子步骤7‑2、 假设One(Apia, Apib)表示Apia和Apib中都出现且仅出现一 次的API的集合, Pf(Apia, Apib)表示One(Apia, Apib)的单词在Apia中的位置序号构成的向量, Ps(Apia, Apib) 表示Pf(Apia, Apib)中各分量对 应单词在Apib中的序列排序生成的向量, Re(Apia, Apib)表示 Ps(Aa, Ab)各个相邻分量的逆序数; 则序列相似度Simord(APISa, APISb)为: 子步骤7‑3、 最终得到Aa和Ab中preAPISequenc相似度Simapi(Aa, Ab)= λ1×Simsem(Aa, Ab)+ λ2×Simord(Aa, Ab), 其中λ1=0.7, λ2=0.3。 4.根据权利要求1所述的一种基于多特征的安卓恶意软件家族聚类方法, 其特征在于: 所述步骤九包括以下步骤: 子步骤9‑1、 初始化, 将每 个软件包Ai当作独立的社区; 子步骤9‑2、 将节点之 间的相似度Sim(Ai, Aj)作为转移 概率, 记为 同时, 为了避免 随机游走进入孤立区域, 引入了穿越概率τ( τ是一个超参数, 且0<τ<1); 于是Aj的下一步 转移概率为 其中c为类的个数; 子步骤9 ‑3、 将 定义为优化目标, 其中 是是随机游走 过程中“离开类Gk”事件发生的概 率, 且 H(Q)表示社区之间运动熵, 且 权 利 要 求 书 2/3 页 3 CN 114492586 A 3

.PDF文档 专利 基于多特征的安卓恶意软件家族聚类方法

安全报告 > 其他 > 文档预览
中文文档 11 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于多特征的安卓恶意软件家族聚类方法 第 1 页 专利 基于多特征的安卓恶意软件家族聚类方法 第 2 页 专利 基于多特征的安卓恶意软件家族聚类方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常2024-03-19 00:19:45上传分享
给文档打分
您好可以输入 255 个字符
网站域名是多少( 答案:github5.com )
评论列表
  • 暂时还没有评论,期待您的金玉良言
热门文档
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。