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的表征向量,单词节点的属性为单词的表征向量。