← 返回列表

一种恶意代码检测系统

申请号: CN202311599310.5
申请人: 中华人民共和国新疆出入境边防检查总站(新疆维吾尔自治区公安厅边境管理总队)
更新日期: 2026-03-09

专利详细信息

项目 内容
专利名称 一种恶意代码检测系统
专利类型 发明申请
申请号 CN202311599310.5
申请日 2023/11/28
公告号 CN117574370A
公开日 2024/2/20
IPC主分类号 G06F21/56
权利人 中华人民共和国新疆出入境边防检查总站(新疆维吾尔自治区公安厅边境管理总队)
发明人 皮锋; 陈鹏; 王欣; 田生伟; 裴新军; 农卫涛; 王晓炜; 龚军超; 马丽娟
地址 新疆维吾尔自治区乌鲁木齐市天山区团结路1535号

摘要文本

中华人民共和国新疆出入境边防检查总站(新疆维吾尔自治区公安厅边境管理总队)取得“一种透气窗帘布”专利技术,本发明提供一个恶意代码检测系统,包括:反编译模块,用于根据待检测应用程序获得清单文件和源代码;调用子图分析模块,用于根据源代码,提取调用子图特征集合;组件分析模块,用于根据清单文件,提取组件特征集合;特征融合模块,用于将调用子图特征集合和组件特征集合融合成适用于深度学习模型的特征矩阵;恶意软件检测模块,用于根据特征矩阵,通过基于类敏感机制的双向独立循环神经网络进行检测,得到恶意软件检测结果。本发明在基于调用子图特征来分析程序运行逻辑与提取程序语义信息的基础上,融合分析恶意软件组件相关信息,实现更高精度的物联网恶意应用检测精度,提高物联网系统的安全性。

专利主权项内容

1.一种恶意代码检测系统,其特征在于,包括:反编译模块,用于根据待检测应用程序获得清单文件和源代码;调用子图分析模块,用于根据源代码,提取调用子图特征集合;调用子图分析模块包括程序调用图生成模块、敏感API特征生成模块;程序调用图生成模块根据输入的源代码构建程序调用图FCG,并使用Pscout工具提取所有敏感API节点,FCG表示为G={V,E},由一组节点和一组边组成;V中的每个节点表示应用程序中的一个函数,其中包括敏感API,敏感API集合为/>E中的每个边表示调用方和被调用方之间的调用关系;敏感API特征生成模块根据FCG分析并提取敏感函数调用子图特征集合,包括:使用TF-IDF方法为敏感API集合中每个敏感API分配不同的恶意程度值,得到敏感API恶意程度集合其中,第i个敏感API/>的恶意程度为:其中,Q表示训练集中所有良性软件的数量,R表示训练集中所有恶意软件的数量,表示训练集中调用/>的良性软件数量,/>表示训练集中调用/>的恶意软件数量;FCG对应一个敏感函数调用子图集合/>其中,一个敏感函数调用子图/>由一个敏感API及其相邻节点u,…,u组成,通过距离函数/>控制敏感函数调用子图/>的大小,其中,k为自定义的控制参数,用于定义敏感函数调用子图包含/>的邻居节点数量;计算敏感函数调用子图特征集合totaltotal1k组件分析模块,用于根据清单文件,提取组件特征集合;组件分析模块从清单文件中提取多个类别的组件特征,包括:活动组件特征,服务组件特征,内容提供者组件特征,广播接收机组件特征;提取活动组件特征包括:从清单文件中查询活动标签信息activity,将清单文件中所有包含活动标签信息的名称作为活动组件特征T={t,…,t},其中,t表示某一个活动,活动在应用程序中负责呈现用户界面;1nT提取服务组件特征包括:从清单文件中查询服务标签信息service,将清单文件中所有包含服务标签信息的名称作为服务组件特征R={r,…,r},其中,r表示某一个服务,服务在应用程序中负责后台处理;1nR提取内容提供者组件特征包括:从清单文件中查询内容提供者标签信息ContentProvider,将清单文件中所有包含内容提供者标签信息的名称作为内容提供者组件特征P={p,…,p},其中,p表示某一个内容提供者,内容提供者在应用程序中负责结构化数据的共享;1nP提取广播接收机组件特征包括:从清单文件中查询广播接收机标签信息activity,将清单文件中所有包含广播接收机标签信息的名称作为广播接收机组件特征C={c,…,c},其中,c表示某一个广播接收机,广播接收机在应用程序中负责提供接收信息的能力;1nC根据多个组件特征构建组件特征集合COM={T,C,P,R};特征融合模块,用于将调用子图特征集合和组件特征集合融合成适用于深度学习模型的特征矩阵;恶意软件检测模块,用于根据特征矩阵,通过基于类敏感机制的双向独立循环神经网络进行检测,得到恶意软件检测结果;恶意软件检测模块中的基于类敏感机制的双向独立循环神经网络包括:双向独立循环神经网络层、全连接网络层、Sigmoid函数输出层;双向独立循环神经网络层同时从先前和未来两个方向对输入的特征矩阵进行信息抽取后再拼接;全连接网络层处理来自双向独立循环神经网络的输出;Sigmoid函数输出层通过一个sigmoid函数处理全连接网络层的输出。 百度搜索马 克 数 据 网