公开/公告号CN105740706A
专利类型发明专利
公开/公告日2016-07-06
原文格式PDF
申请/专利权人 哈尔滨安天科技股份有限公司;
申请/专利号CN201510985230.2
申请日2015-12-25
分类号G06F21/56(20130101);
代理机构
代理人
地址 150028 黑龙江省哈尔滨市开发区南岗集中区红旗大街162号506室
入库时间 2023-06-19 00:02:20
法律状态公告日
法律状态信息
法律状态
2019-09-20
专利权质押合同登记的生效 IPC(主分类):G06F21/56 登记号:Y2019230000002 登记生效日:20190828 出质人:哈尔滨安天科技集团股份有限公司 质权人:龙江银行股份有限公司哈尔滨利民支行 发明名称:基于API名称和立即数的启发式样本检测方法及系统 授权公告日:20190507 申请日:20151225
专利权质押合同登记的生效、变更及注销
2019-07-09
专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F21/56 变更前: 变更后: 申请日:20151225
专利权人的姓名或者名称、地址的变更
2019-05-07
授权
授权
2017-04-26
实质审查的生效 IPC(主分类):G06F21/56 申请日:20151225
实质审查的生效
2016-07-06
公开
公开
技术领域
本发明涉及网络安全技术领域,特别涉及一种基于API名称和立即数的启发式样本检测方法及系统。
背景技术
传统的恶意代码检测方式是在深度分析机器指令后,根据指令序列进行相关特征的提取。这种检测方式的原理是同一个病毒家族总是会有若干段相同的指令序列,但不足在于,指令序列必须经过大量人工分析后才能得到,有时候在恶意代码有意隐藏的情况下,如将API调用中使用的API名称进行散列变换,甚至得不到期望的相同指令序列,则无法对恶意代码进行有效的检测。
发明内容
本发明提出了一种基于API名称和立即数的启发式样本检测方法及系统,通过对API名称进行散列计算与待检测样本的立即数匹配,能够快速发现存在隐藏自身API调用的恶意代码样本。
一种基于API名称和立即数的启发式样本检测方法,包括:
获取系统文件的全部导出函数名称,并计算各导出函数名称的散列值;
将所有导出函数名称的散列值形成散列匹配库;
遍历待检测样本的全部指令中所包含的立即数;
将所述立即数与散列匹配库中的散列值匹配,并计算匹配成功的立即数个数;
判断所述匹配成功的立即数个数是否超过阈值,如果是,则所述待检测样本为恶意文件,否则所述待检测样本为普通文件。
一种基于API名称和立即数的启发式样本检测系统,包括:
散列计算模块,用于获取系统文件的全部导出函数名称,并计算各导出函数名称的散列值;
散列匹配库模块,用于将所有导出函数名称的散列值形成散列匹配库;
遍历模块,用于遍历待检测样本的全部指令中所包含的立即数;
匹配模块,用于将所述立即数与散列匹配库中的散列值匹配,并计算匹配成功的立即数个数;
判断模块,用于判断所述匹配成功的立即数个数是否超过阈值,如果是,则所述待检测样本为恶意文件,否则所述待检测样本为普通文件。
本发明的优势在于,利用一些恶意代码为了隐藏自身躲避检测,会将API的名称进行散列计算,并在指令中使用该数值作为指令的立即数来进行API的隐式调用的行为,通过将系统API名称计算散列值,并与待检测样本的立即数匹配进行检测,能够快速准确发现存在隐藏自身API调用的恶意代码样本。
本发明提出一种基于API名称和立即数的启发式样本检测方法及系统,包括:获取系统文件的全部导出函数名称,并计算各导出函数名称的散列值;将所有导出函数名称的散列值形成散列匹配库;遍历待检测样本的全部指令中所包含的立即数;将所述立即数与散列匹配库中的散列值匹配,并计算匹配成功的立即数个数;判断所述匹配成功的立即数个数是否超过阈值,如果是,则所述待检测样本为恶意文件,否则所述待检测样本为普通文件。本发明通过对API名称进行散列计算与待检测样本的立即数匹配,能够快速发现存在隐藏自身API调用的恶意代码样本。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种基于API名称和立即数的启发式样本检测方法流程图;
图2为一种基于API名称和立即数的启发式样本检测系统结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
本发明提出了一种基于API名称和立即数的启发式样本检测方法及系统,通过对API名称进行散列计算与待检测样本的立即数匹配,能够快速发现存在隐藏自身API调用的恶意代码样本。
一种基于API名称和立即数的启发式样本检测方法,如图1所示,包括:
S101:获取系统文件的全部导出函数名称,并计算各导出函数名称的散列值;
S102:将所有导出函数名称的散列值形成散列匹配库;
S103:遍历待检测样本的全部指令中所包含的立即数;
S104:将所述立即数与散列匹配库中的散列值匹配,并计算匹配成功的立即数个数;
S105:判断所述匹配成功的立即数个数是否超过阈值,如果是,则所述待检测样本为恶意文件,否则所述待检测样本为普通文件。
一种基于API名称和立即数的启发式样本检测系统,如图2所示,包括:
散列计算模块201,用于获取系统文件的全部导出函数名称,并计算各导出函数名称的散列值;
散列匹配库模块202,用于将所有导出函数名称的散列值形成散列匹配库;
遍历模块203,用于遍历待检测样本的全部指令中所包含的立即数;
匹配模块204,用于将所述立即数与散列匹配库中的散列值匹配,并计算匹配成功的立即数个数;
判断模块205,用于判断所述匹配成功的立即数个数是否超过阈值,如果是,则所述待检测样本为恶意文件,否则所述待检测样本为普通文件。
本发明的优势在于,利用一些恶意代码为了隐藏自身躲避检测,会将API的名称进行散列计算,并在指令中使用该数值作为指令的立即数来进行API的隐式调用的行为,通过将系统API名称计算散列值,并与待检测样本的立即数匹配进行检测,能够快速准确发现存在隐藏自身API调用的恶意代码样本。
本发明提出一种基于API名称和立即数的启发式样本检测方法及系统,包括:获取系统文件的全部导出函数名称,并计算各导出函数名称的散列值;将所有导出函数名称的散列值形成散列匹配库;遍历待检测样本的全部指令中所包含的立即数;将所述立即数与散列匹配库中的散列值匹配,并计算匹配成功的立即数个数;判断所述匹配成功的立即数个数是否超过阈值,如果是,则所述待检测样本为恶意文件,否则所述待检测样本为普通文件。本发明通过对API名称进行散列计算与待检测样本的立即数匹配,能够快速发现存在隐藏自身API调用的恶意代码样本。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
机译: 更新API检测系统,更新API检测设备,更新API检测方法,更新API检测程序
机译: 更新API检测系统,更新API检测设备,更新API检测方法和更新API检测程序
机译: 姓名号码验证为注册人提供了注册名称和国际银行帐号(IBAN)的机会。然后,用户(第三方)可以检查名称和IBAN的组合是否实际上属于一起。该系统具有从支付系统到银行或其他来源的技术链接选项(API,应用程序编程接口),从而可以通过分析每个成功完成的SEPA交易(银行支付)来检查相关IBAN的标识。