[发明专利]一种通过静态方法产生API序列并用于启发式病毒查杀的方法在审
申请号: | 202110161996.4 | 申请日: | 2021-02-05 |
公开(公告)号: | CN113946821A | 公开(公告)日: | 2022-01-18 |
发明(设计)人: | 尚昭宁 | 申请(专利权)人: | 北京火绒网络科技有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京喆翙知识产权代理有限公司 11616 | 代理人: | 胡文强 |
地址: | 100012 北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通过 静态 方法 产生 api 序列 用于 启发式 病毒 | ||
1.一种通过静态方法产生API序列并用于启发式病毒查杀的方法,其特征在于,具体包括以下步骤:
步骤一:遍历待检出可执行文件导入的API,根据API所属动态库和API名称使用CRC32算法计算唯一标识,并将该数据与API函数VA地址相对应,基于红黑树结构整理出API序列;
步骤二:针对混淆后病毒样本中常用的API或API序列与待检出可执行文件导入的API序列进行比对,如果待检测样本中包含有相关引用,则进行统计计数;
步骤三:如果API序列中包括且不仅限于VirtualAlloc、PlaySoundA、PlaySoundW、_lopen、ReadFile、VirtualProtect、LoadLibraryA、GetProcAddress等API,则判断待检测样本可以通过单个API调用特征进行检出;
步骤四:如果待检测样本可以直接通过单个API调用特征进行检出,则检查引用API的地址附近若干的字节中所存放的二进制指令,是否为混淆代码常见的调用形式,如传入多个无效参数、在函数调用地址附近通过call寄存器的方式完成函数调用、是否是以指定形式调用指定类型API、以特殊方式传入参数,如果符合混淆代码常见的调用形式,则成功检出;
步骤五:如果待检测样本不能直接通过单个API调用特征进行检出,则通过遍历API信息表中的红黑树方式根据待检出可执行文件的API序列,进行加权分析、多条件组合分析等方式进行混淆代码检测,最终得出检测结果。
2.一种通过静态方法产生API序列并用于启发式病毒查杀的方法,其特征在于,所述步骤二中针对混淆后病毒样本中常用的API或API序列包括且不仅限于GetStartupInfoW、RegEnumKeyW、EnumSystemLocalesA、GetThreadContext。
3.一种通过静态方法产生API序列并用于启发式病毒查杀的方法,其特征在于,所述步骤五中包括且不仅限于对API序列中指定函数的引用位置、指定函数的引用次数、可执行文件入口节占整个镜像大小的比重、实际引用API的数量与未出现引用的API数量之比、镜像中是否存在有超大资源数据、引用指定API的代码内存页的个数信息,进行加权分析、多条件组合分析等方式进行混淆代码检测。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京火绒网络科技有限公司,未经北京火绒网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110161996.4/1.html,转载请声明来源钻瓜专利网。