[发明专利]软件类型检测方法、装置、电子设备及存储介质有效
申请号: | 201911155434.8 | 申请日: | 2019-11-22 |
公开(公告)号: | CN111046385B | 公开(公告)日: | 2022-04-22 |
发明(设计)人: | 程堂全;张艳生;马骏 | 申请(专利权)人: | 北京达佳互联信息技术有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F8/74 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 王茹 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 类型 检测 方法 装置 电子设备 存储 介质 | ||
本公开关于一种软件类型检测方法、装置、电子设备及存储介质。该方法包括:对待检测软件进行反编译,得到表征所述待检测软件中函数调用关系的待检测函数调用链;计算所述待检测函数调用链与至少一个参考函数调用链的相似度,所述参考函数调用链表征已知类型的参考软件中的函数调用关系;根据计算得到的相似度确定所述待检测软件的类型。本公开的实施例提供的技术方案,通过对函数调用链进行比较,即使是针对新型的异常软件,也可以确定软件类型,即可以有效检测未知的恶意软件。
技术领域
本公开涉及计算机软件应用领域,尤其涉及软件类型检测方法、装置、电子设备及存储介质。
背景技术
目前需要对电子设备中的软件的类型进行检测,以发现电子设备中的恶意、攻击或异常等类型的软件,从而避免用户的电子设备受到攻击。
相关技术中,检测恶意软件的方式可以包括校验软件的MD5值,例如,预先计算已知恶意软件的MD5值,并存到已创建的特征库,然后计算待检测软件的MD5值,如果待检测软件的MD5值与特征库中的MD5值相同,则确定该待检测软件为恶意软件。
但是,针对新型的恶意软件,相关技术的方案需要预先通过其他方式检测出该恶意软件,然后计算该恶意软件的MD5值添加到特征库中,之后才能够基于特征库检测出该恶意软件,因此相关技术的方案无法有效检测未知的恶意软件。
发明内容
本公开提供一种软件类型检测方法、装置、电子设备及存储介质,以至少解决无法有效检测未知的恶意软件的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种软件类型检测方法,所述方法包括:
对待检测软件进行反编译,得到表征所述待检测软件中函数调用关系的待检测函数调用链;
计算所述待检测函数调用链与至少一个参考函数调用链的相似度,所述参考函数调用链表征已知类型的参考软件中的函数调用关系;
根据计算得到的相似度确定所述待检测软件的类型。
在一种可能实现方式中,所述对待检测软件进行反编译,得到表征所述待检测软件中函数调用关系的待检测函数调用链,包括:
对待检测软件进行反编译,得到所述待检测软件的代码中的函数;
从所述函数中提取表征函数调用关系的伪指令;
将所述伪指令存储到预设结构中的指定位置,得到所述待检测软件的待检测函数调用链。
在一种可能实现方式中,所述计算所述待检测函数调用链与所述参考函数调用链的相似度,包括:
根据函数调用链中的调用关系,将所述待检测函数调用链划分为至少2个待检测函数调用子链,以及将所述参考函数调用链划分为至少2个参考函数调用子链;
确定所述参考函数调用子链与所述待检测函数调用子链中,是否存在相同的函数调用子链;
若存在相同的函数调用子链,则根据参考函数调用子链的预设计算权重确定与之相同的待检测函数调用子链的计算权重;其中,相同的函数调用子链具有相同的计算权重;
基于所述计算权重,计算所述相同待检测函数调用子链与所述相同参考函数调用子链的加权和,得到所述待检测函数调用链与所述参考函数调用链的相似度。
在一种可能实现方式中,所述根据计算得到的相似度确定所述待检测软件的类型,包括:
针对任一所述参考函数调用链对应的软件类型:将基于所述待检测函数调用链与该类型的参考函数调用链的相似度,作为所述待检测函数调用链与该类型的总相似度;
基于各所述总相似度的数值大小,将总相似度的最大值对应的软件类型,确定为所述待检测软件的类型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京达佳互联信息技术有限公司,未经北京达佳互联信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911155434.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种控制方法及装置
- 下一篇:一种智能合约的执行方法、装置及设备