[发明专利]检测恶意代码样本的网络行为的方法及系统有效
申请号: | 201010107195.1 | 申请日: | 2010-02-05 |
公开(公告)号: | CN101841523A | 公开(公告)日: | 2010-09-22 |
发明(设计)人: | 郝志宇;崔翔;王彦明;吴志刚 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F21/00;G06F11/36 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国;梁挥 |
地址: | 100080 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检测 恶意代码 样本 网络 行为 方法 系统 | ||
技术领域
本发明涉及网络安全领域,尤其涉及检测恶意代码样本的网络行为的方法及系统。
背景技术
现阶段恶意代码样本形态不断进化,从而形成各种新型的攻击方式,为攻击者提供了更加隐蔽、灵活且高效的攻击机制,恶意代码样本正步入快速发展期,对因特网安全已造成严重威胁,因此得到了社会各界的广泛关注。通过技术手段,实现大量未知恶意代码样本的合理分析,是安全界非常关注的。
现阶段对恶意代码样本获取的常见方法是借助蜜罐系统、交换来源等等收集试验样本;并且同时借助sandbox、wmware运行样本,然后记录样本行为动作。由于样本数量巨大,现有技术中采用的方法包括:(1)减少样本运行时间;(2)减少样本数目,抽样分析;(3)增大样本运行成本。
采用方法(1)由于运行时间短会导致样本某种行为未触发,而收集到的信息过少或者未收集到信息;采用方法(2)会导致遗弃大量有价值的样本;采用方法(3)导致资源开销非常多。
发明内容
为解决上述问题,本发明提供了检测恶意代码样本的网络行为的方法及系统,通过对恶意代码样本的网络行为追踪获得恶意代码样本的行为数据,从而减少分析资源成本,降低计算开销。
本发明公开了一种检测恶意代码样本的网络行为的方法,包括:
步骤1,获取恶意代码样本,并存储所述恶意代码样本;
步骤2,将所述恶意代码样本输入虚拟机,运行所述恶意代码样本,获得所述恶意代码样本的网络数据;
步骤3,解析所述恶意代码样本的网络数据获得关键信息数据,依据所述关键信息数据中的命令进行连接,并追踪所述连接之后的行为;
步骤4,输出追踪结果。
所述步骤1进一步为,
步骤21,使用网络爬虫获得urls列表,如果urls列表为exe列表,则所述urls列表中的文件为待存储的恶意代码样本;
步骤22,将所述恶意代码样本存储到数据库。
所述步骤21还包括,
步骤31,如果urls列表不为exe列表,则将所述urls列表输入蜜罐系统;
步骤32,如果蜜罐系统的返回结果为exe文件,则所述exe文件为待存储的恶意代码样本。
所述步骤22之后还包括:
步骤41,通过恶意代码样本交互获得恶意代码样本,将所述恶意代码样本存储到数据库。
所述步骤2进一步为,
步骤51,访问所述数据库,获取恶意代码样本,将恶意代码样本输入虚拟机中;
步骤52,虚拟机运行所述恶意代码样本,记录网络数据,对所述记录持续预设时长。
所述步骤3进一步为,
步骤61,按网络数据包的格式解析所述恶意代码样本的网络数据,获得关键信息数据;
步骤62,读取所述关键信息数据中的命令,组成命令表,依据命令表中连接相关命令和命令参数进行连接,如果连接成功,则执行步骤63,如果连接失败,则将此次未成功连接记录加入追踪结果,执行步骤4;
步骤63,对命令表中命令的行为进行追踪,将结果加入追踪结果中。
所述步骤62进一步为,
步骤71,读取所述关键信息数据中的命令,组成命令表;
步骤72,根据命令表中连接相关命令以及命令参数中的IP地址和TCP端口进行连接;
步骤73,如果连接成功,则执行所述步骤63;如果所述连接未成功,则判断尝试连接次数是否超过预设次数,如果超过,则连接失败,将此次未成功连接记录加入追踪结果,执行所述步骤4;如果没有超过,执行所述步骤72。
所述步骤3开始执行时还包括,开始对追踪时间计时;
所述步骤73中连接失败,将此次未成功连接记录加入追踪结果,执行步骤4进一步为,
步骤81,判断追踪时间是否超过预设时长,如果是,则将此次未成功连接记录加入追踪结果,执行所述步骤4;否则,等待预设等待时长后,执行步骤72。
所述步骤3开始执行时还包括,开始对追踪时间计时;
所述步骤63进一步为,
步骤91,如果所述命令列表中命令已被顺序获取完成,则执行步骤94;否则,按顺序从命令列表中获取命令,执行步骤92;
步骤92,对获取的命令进行判断,
如果获取的命令为连接命令,则判断连接后是否有接收行为发生,如果有,则执行步骤93,否则,执行步骤91;
如果获取的命令为发送命令,则按原始数据时间间隔发送相同数据,如果存在接收行为,则执行步骤93,如果不存在接收行为,则执行步骤91;
如果获取的命令为关闭命令,则结束追踪,执行步骤94;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010107195.1/2.html,转载请声明来源钻瓜专利网。