[发明专利]隐私保护移动恶意软件检测方法、系统、存储介质及应用有效
申请号: | 202010078081.2 | 申请日: | 2020-02-02 |
公开(公告)号: | CN111368297B | 公开(公告)日: | 2023-02-28 |
发明(设计)人: | 魏文涛;闫峥;王静雯 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 西安长和专利代理有限公司 61227 | 代理人: | 黄伟洪 |
地址: | 710071 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 隐私 保护 移动 恶意 软件 检测 方法 系统 存储 介质 应用 | ||
1.一种隐私保护移动恶意软件检测方法,其特征在于,所述隐私保护移动恶意软件检测方法包括以下步骤:
第一步,在特征训练阶段,恶意软件检测服务提供商MDSP的半可信部分在模拟器中运行收集到的已知恶意软件和良性软件,分析处理运行时数据得到恶意特征集MS和正常特征集NS;使用哈希函数集Hm和Hn中的哈希函数得到恶意特征和正常特征的哈希值,生成恶意特征Bloom过滤器MBF和正常特征Bloom过滤器NBF,再通过特征及特征的哈希值对应的权值生成恶意特征的Sketch数据结构MalSketch和正常特征的Sketch数据结构NorSketch;
第二步,移动设备运行未知属性软件并收集其运行时数据;使用仅由移动设备本身和目标Enclave共享的密钥来加密运行时数据;将加密的运行时数据发送到MDSP;
第三步,MDSP将半可信部分的Bloom过滤器,Sketch和接收的待检测加密数据加载到可信部分,即Enclave;Enclave解密并删除冗余数据;按照相应的算法提取一系列特征;分别使用MBF和NBF筛选无用的特征后分别查询MalSketch和NorSketch中的权值进行累加;通过将权值的总和与阈值进行比较,确定检测的软件是恶意软件还是良性软件;
第四步,如果有新确认的恶意软件和良性软件,则需要更新MS和NS;MDSP的半可信部分首先接收移动设备上传的Android应用程序包apk文件,执行相应的特征提取过程得到一系列新的特征,对于更新的特征和新添加的特征,直接进行MS和NS的更新和添加;对于需要删除的旧特征,MDSP直接从MS和NS中将其删除;
所述隐私保护移动恶意软件检测方法Bloom过滤器和Sketch的生成在特征训练阶段,目标是构造两个分别包含恶意特征和良性特征的Bloom过滤器以及两个分别包含恶意特征和良性特征的Sketch数据结构;在MDSP的半可信部分中收集恶意软件和良性应用程序的示例应用程序,收集这些实例应用程序的运行时数据以生成恶意特征集MS和良性特征集NS;MDSP将恶意特征通过调用相应的哈希函数插入到MBF中;对于恶意特征中的权值,都保留四位小数;将每个权值乘以10000,调用相应的哈希函数将特征及其权值插入到MalSketch中;同样,对于良性特征,MDSP使用同样的方法将它们插入NBF中并生成NorSketch;
进一步包括:输入:K={k1,k2,...,kn}{i=1,...,n),即将插入到Bloom过滤器和Sketch中权重为vi的元素ki,Bloom过滤器的hash函数HBF,HBF的数量:lBF,Sketch的hash函数HSketch,HSketch的数量:lSketch;
初始化:根据误报率和特征数量生成空的Bloom过滤器和空的Sketch;
For ki(i=1,...,n)do
计算
得到h1(ki),h2(ki),...,hh(ki)在Bloom过滤器中的位置;
相应位置的值加1;
计算
得到在Sketch中的位置;
相应位置的值加vi;
结束
输出:Bloom过滤器和Sketch;
所述隐私保护移动恶意软件检测方法应用程序检测,当检测未知应用程序时,移动设备使用动态方法来收集一组系统调用作为应用程序的运行时数据,并通过kd对其进行加密,kd由其自身生成并由kcomm加密;然后,移动设备将加密的数据senc(syscall,kd)和senc(kd,kcomm)发送到MDSP的半可信部分;MDSP将它们加载到相应的Enclave;通过kcomm和kd获得未处理的系统调用后,Enclave处理原始系统调用以获取一系列特征,每个特征中包含其权值;Enclave首先通过MBF过滤掉无关的恶意特征,通过MalSketch获取恶意特征对应的权值并累加得到QM;使用相同的过滤特征和查询权值的方法来获得良性特征对应权值的累加结果QN,将QM和QN分别与Tm和Tn进行比较后,获得检测结果,Enclave使用kcomm加密检测结果并反馈给用户;
Bloom快速判断,权值查询,权值累加进一步包括:
输入:K={k1,k2,...,kn}{i=1,...,n),待查询元素ki,Bloom过滤器的hash函数HBF,HBF的数量:lBF,Sketch的hash函数HSketch,HSketch的数量:lSketch;
输入:K={k1,k2,...,kn}(i=1,...,n),待查询元素ki,Bloom过滤器的hash函数HBF,HBF的数量:lBF,Sketch的hash函数HShetch,HSketch的数量:lSketch;
初始化:加载Bloom过滤器和Sketch;
For ki(i=1,...,n)do
计算
得到在Bloom过滤器中的位置;
If所有位置的值都是1
计算
得到在Sketch中的位置;
得到所有位置中的最小值wi;
End if
If有一个位置的值为0,表示该特征不在权值表中,返回空;
结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010078081.2/1.html,转载请声明来源钻瓜专利网。