(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210425749.5 (22)申请日 2022.04.21 (71)申请人 浙江工业大 学 地址 310014 浙江省杭州市下城区潮王路 18号 (72)发明人 吕明琪 何功勋 朱添田 陈铁明  (74)专利代理 机构 杭州求是专利事务所有限公 司 33200 专利代理师 忻明年 (51)Int.Cl. G06F 21/56(2013.01) G06F 40/284(2020.01) G06F 40/289(2020.01) G06F 40/30(2020.01) (54)发明名称 一种基于API语义 解析的恶意软件检测方法 (57)摘要 本发明公开了一种基于API语义解析的恶意 软件检测方法, 包括基于API调用序列样本学习 得到每个API的表征向量, 将API名称分词为单词 并计算得到每个单词的表征向量; 基于API名称 和单词集合构建 以API和单词作为节点的API图 谱, 采用图卷积神经网络更新所有节 点的表征向 量; 获取API调用序列样本, 基于API图谱中各API 节点的表征向量将API调用序列 样本转化为表征 向量序列 样本, 利用标注后的表征向量序列 样本 训练LSTM网络得到识别模型; 对于待识别的实时 API调用序列, 利用API图谱转化为实时表征向量 序列, 将实时表征向量序列输入识别模型得到恶 意软件检测结果。 本发明有效提高对恶意软件的 检测能力。 权利要求书1页 说明书4页 附图2页 CN 114996700 A 2022.09.02 CN 114996700 A 1.一种基于API语义解析的恶意软件检测方法, 其特征在于, 所述基于API语义解析的 恶意软件检测方法, 包括: 步骤1、 基于API调用序列样本学习得到每个API的表征向量, 将API名称分词为单词集 合, 计算得到单词集 合中每个单词的表征向量; 步骤2、 基于API名称和单词集合构建以API和单词作为节点的API图谱, 采用图卷积神 经网络更新API图谱中API节点和单词节点的表征向量; 步骤3、 获取API调用序列样本, 基于API图谱中各API节点的表征向量将API调用序列样 本转化为表征向量序列样本, 利用标注后的表征向量序列样本训练LSTM网络得到识别模 型; 步骤4、 对于待识别的实时API调用序列, 利用所述API图谱转化为实时表征向量序列, 将实时表征向量序列输入所述识别模型 得到恶意软件检测结果。 2.如权利要求1所述的基于API语义解析的恶意软件检测方法, 其特征在于, 所述基于 API调用序列学习得到每 个API的表征向量, 包括: 对每个API设定一个唯一的标识符; 根据API调用序列得到对应的标识符序列, 组合若干标识符序列形成标识符序列集 合; 采用word2vec对标识符序列集 合进行学习, 得到每 个API的表征向量。 3.如权利 要求1所述的基于API语义解析的恶意软件检测方法, 其特征在于, 所述将API 名称分词为单词集 合, 包括: 基于骆驼命名法对每 个API名称进行分词; 将分词得到的所有单词进行汇总去重得到单词集 合。 4.如权利要求1所述的基于API语义解析的恶意软件检测方法, 其特征在于, 所述计算 得到单词集 合中每个单词的表征向量, 包括: 对所述单词集合中的已知英文单词采用预训练的word2vec英文单词词向量作为表征 向量, 对所述单词集 合中的未知单词则随机初始化表征向量。 5.如权利 要求1所述的基于API语义解析的恶意软件检测方法, 其特征在于, 所述API图 谱构建为图谱AG=(V,E,A), 其中V为节点集合, 包含所有API和单词; E为边集合, 包含所有 API与单词的关联, 包含在API名称中的单词与该API之间存在一条边; A为属性集合, API节 点的属性 为API的表征向量, 单词节点的属性 为单词的表征向量。权 利 要 求 书 1/1 页 2 CN 114996700 A 2一种基于API语 义解析的恶意软件检测方 法 技术领域 [0001]本发明属于机器学习与信息安全技术领域, 具体涉及一种基于API语义解析的恶 意软件检测方法。 背景技术 [0002]恶意软件指任何用于损害计算机、 服务器或计算机网络 的软件。 恶意软件包括病 毒、 蠕虫、 木马、 勒索软件等多种形式。 恶意软件是威胁个人、 企业、 国家信息安全的一个严 重问题。 与传统的网络威胁相比, 恶意软件具有变种多、 更新快、 隐蔽性高等特点。 因此, 如 何有效地检测恶意软件, 是信息安全领域的一个重要的研究主题。 [0003]现有的恶意软件检测方法主要分为静态检测和动 态检测两大类。 静态检测通过对 软件代码的特征和文件的结构进 行分析来实现检测。 静态检测的优势在于不需要实际运行 软件, 因此检测的代 价较小。 然而, 软件打包、 代码混淆等技术可以轻易 躲避静态检测。 动态 检测通过在沙箱(Sandbox)环 境中实际运行软件, 并通过分析其行为来 实现检测。 动态检测 的优势在于不受软件打包、 代码混淆等扰动的影响。 [0004]API调用是软件动态运行过程中最重要的行为, 因此分析AP I调用序列是实现恶意 软件动态检测的重要手段。 API调用序列分析的主要 方法包括序列模式挖掘(如最长公共子 序列挖掘)、 依赖图分析(如路径分析)、 时序模型(如LSTM)。 然而, 现有基于API调用序列分 析的恶意软件检测方法存在以下不足: 现有方法将API看成一个独立的个体, 仅考虑API调 用的顺序规律, 忽略了API本身内部的语义(一个API的名称往往由多个有意义的单词构成, 如CreateThrea d、 WriteProc essMemory, 这些单词能大致描 述API行为的潜在作用)。 忽略这 些语义会造成如下问题: 1)作用类似的两个API会被看成完全不同, 使 得检测模型的泛化能 力大大降低。 2)检测模型 无法处理未知的API。 发明内容 [0005]本发明的目的在于提供一种基于API语义解析的恶意软件检测方法, 提高恶意软 件检测能力。 [0006]为实现上述目的, 本发明所采取的技 术方案为: [0007]一种基于AP I语义解析的恶意软件检测方法, 所述基于AP I语义解析的恶意软件检 测方法, 包括: [0008]步骤1、 基于API调用序列样本学习得到每个API的表征向量, 将API名称分词为单 词集合, 计算得到单词集 合中每个单词的表征向量; [0009]步骤2、 基于API名称和单词集合构建以API和单词作为节点的API图谱, 采用图卷 积神经网络更新API图谱中API节点和单词节点的表征向量; [0010]步骤3、 获取API调用序列样本, 基于API图谱中各API节点的表 征向量将API调用序 列样本转化为表征向量序列样 本, 利用标注后的表征向量序列样 本训练LSTM网络得到识别 模型;说 明 书 1/4 页 3 CN 114996700 A 3

.PDF文档 专利 一种基于API语义解析的恶意软件检测方法

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