[发明专利]一种shellcode的检测方法和装置在审
申请号: | 201710667103.7 | 申请日: | 2017-08-07 |
公开(公告)号: | CN107562618A | 公开(公告)日: | 2018-01-09 |
发明(设计)人: | 王占一 | 申请(专利权)人: | 北京奇安信科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京润泽恒知识产权代理有限公司11319 | 代理人: | 莎日娜 |
地址: | 100015 北京市朝阳区酒仙*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 shellcode 检测 方法 装置 | ||
技术领域
本申请涉及信息安全技术领域,特别是涉及一种shellcode的检测方法、一种shellcode的检测装置、一种shellcode样本库的生成方法和一种shellcode样本库的生成装置。
背景技术
Shellcode是指能够完成特殊任务的一段二进制代码,可以根据不同的任务调用或建立一个较高权限的shell(壳)。Shellcode是溢出程序和蠕虫病毒的核心,一般作为数据被发送给受攻击的服务器,通过把一段二进制代码送入没有打补丁、存在漏洞的主机并执行,就可以获得目标机器的控制权,进而实施黑客行为。但是,如果能够事先检测出shellcode的类型,就可以部署相应的防范手段,避免安全事件的发生。
在现有技术中,对shellcode的检测主要包括动态检测和静态检测两种方式。动态检测通过逐步执行代码,并检测上述代码是否存在异常来完成;而静态检测则是对已知的shellcode生成特征序列,然后将特征序列与待检测的代码的特征序列进行比较,从而确定待检测的代码是否为shellcode。
但是,动态检测对于一部分特殊的代码根本不起作用。例如,对于采用了反虚拟技术的shellcode根本无法通过动态检测的方式检出;其次,在执行动态检测时,为了提高效率往往会设定一个检测的有效时间,某些隐藏时间较长的行为代码也无法通过动态检测的方式检出。另一方面,如果采用静态检测,则必须由安全专家预先定义特征序列,一旦shellcode的特征发生变化,就需要重新投入人力物力去分析样本,时间和成本耗费巨大。
发明内容
鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述问题的一种shellcode的检测方法、一种shellcode的检测装置、一种shellcode样本库的生成方法和相应的一种shellcode样本库的生成装置。
根据本申请的一个方面,提供了一种shellcode的检测方法,包括:
获取待检测的shellcode的指令信息;
采用所述指令信息,生成所述待检测的shellcode的特征数据;
依据所述特征数据,分别计算所述待检测的shellcode与预置的shellcode样本库中的每个shellcode类别的相似度;
依据所述相似度,确定所述待检测的shellcode的类别。
可选地,所述获取待检测的shellcode的指令信息的步骤包括:
获取待检测的shellcode的文本信息,所述文本信息包括shellcode代码段;
提取所述shellcode代码段中的多个指令信息。
可选地,所述采用所述指令信息,生成所述待检测的shellcode的特征数据的步骤包括:
从所述多个指令信息中依次提取出预设长度的子指令信息;
统计每个子指令信息出现的次数;
采用所述出现的次数超过预设阈值的多个目标子指令信息,生成所述待检测的shellcode的特征数据。
可选地,所述采用所述出现的次数超过预设阈值的多个目标子指令信息,生成所述待检测的shellcode的特征数据的步骤包括:
计算所述多个目标子指令信息的出现总次数;
依据所述出现总次数,对所述多个目标子指令信息进行归一化处理,以生成所述待检测的shellcode的特征向量。
可选地,所述预置的shellcode样本库通过如下方式生成:
分别获取多个shellcode样本的指令信息;
采用所述指令信息,生成每个shellcode样本的特征数据;
依据所述特征数据,对所述多个shellcode样本进行聚类,以生成所述shellcode样本库。
可选地,所述分别获取多个shellcode样本的指令信息的步骤包括:
分别获取每个shellcode样本的文本信息,所述文本信息包括shellcode代码段;
提取所述shellcode代码段中的多个指令信息。
可选地,所述采用所述指令信息,生成每个shellcode样本的特征数据的步骤包括:
从所述多个指令信息中依次提取出预设长度的子指令信息;
统计每个子指令信息出现的次数;
采用所述出现的次数超过预设阈值的多个目标子指令信息,生成所述每个shellcode样本的特征数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇安信科技有限公司,未经北京奇安信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710667103.7/2.html,转载请声明来源钻瓜专利网。