CN101841523A - 检测恶意代码样本的网络行为的方法及系统 - Google Patents
检测恶意代码样本的网络行为的方法及系统 Download PDFInfo
- Publication number
- CN101841523A CN101841523A CN201010107195A CN201010107195A CN101841523A CN 101841523 A CN101841523 A CN 101841523A CN 201010107195 A CN201010107195 A CN 201010107195A CN 201010107195 A CN201010107195 A CN 201010107195A CN 101841523 A CN101841523 A CN 101841523A
- Authority
- CN
- China
- Prior art keywords
- malicious code
- code sample
- module
- result
- order
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及检测恶意代码样本的网络行为的方法及系统,方法包括:步骤1,获取恶意代码样本,并存储所述恶意代码样本;步骤2,将所述恶意代码样本输入虚拟机,运行所述恶意代码样本,获得所述恶意代码样本的网络数据;步骤3,解析所述恶意代码样本的网络数据获得关键信息数据,依据所述关键信息数据中的命令进行连接,并追踪所述连接之后的行为;步骤4,输出追踪结果。本发明能够通过对恶意代码样本的网络行为追踪获得恶意代码样本的行为数据,从而减少分析资源成本,降低计算开销。
Description
技术领域
本发明涉及网络安全领域,尤其涉及检测恶意代码样本的网络行为的方法及系统。
背景技术
现阶段恶意代码样本形态不断进化,从而形成各种新型的攻击方式,为攻击者提供了更加隐蔽、灵活且高效的攻击机制,恶意代码样本正步入快速发展期,对因特网安全已造成严重威胁,因此得到了社会各界的广泛关注。通过技术手段,实现大量未知恶意代码样本的合理分析,是安全界非常关注的。
现阶段对恶意代码样本获取的常见方法是借助蜜罐系统、交换来源等等收集试验样本;并且同时借助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;
步骤93,判断接收的结果数据同所述网络数据是否一致,如果不一致,则将结果数据加入追踪结果中;判断完成后,执行步骤91;
步骤94,判断进行追踪的时间是否超过预设时长,如果是,则执行步骤4;否则,等待预设等待时长后,执行步骤62。
本发明还公开了一种检测恶意代码样本的网络行为的系统,包括:
恶意代码样本获取模块,用于获取恶意代码样本,并存储所述恶意代码样本;
恶意代码样本分析模块,用于将所述恶意代码样本输入虚拟机,运行所述恶意代码样本,获得所述恶意代码样本的网络数据;
恶意代码样本追踪模块,用于解析所述恶意代码样本的网络数据获得关键信息数据,依据所述关键信息数据中的命令进行连接,并追踪所述连接之后的行为;
追踪结果输出模块,用于输出追踪结果。
所述恶意代码样本获取模块进一步用于使用网络爬虫获得urls列表,如果urls列表为exe列表,则所述urls列表中的文件为待存储的恶意代码样本;将所述恶意代码样本存储到数据库。
所述恶意代码样本获取模块还用于如果urls列表不为exe列表,则将所述urls列表输入蜜罐系统;如果蜜罐系统的返回结果为exe文件,则所述exe文件为待存储的恶意代码样本,将所述恶意代码样本存储到数据库。
所述恶意代码样本获取模块还用于通过恶意代码样本交互获得恶意代码样本,将所述恶意代码样本存储到数据库。
所述恶意代码样本分析模块进一步用于访问所述数据库,获取恶意代码样本,将恶意代码样本输入虚拟机中;使虚拟机运行所述恶意代码样本,记录网络数据,对所述记录持续预设时长。
所述恶意代码样本追踪模块进一步包括:
关键信息数据获得模块,用于按网络数据包的格式解析所述恶意代码样本的网络数据,获得关键信息数据;
连接建立模块,用于读取所述关键信息数据中的命令,组成命令表,依据命令表中连接相关命令和命令参数进行连接,如果连接成功,则运行行为追踪模块,如果连接失败,则将此次未成功连接记录加入追踪结果,并运行所述追踪结果输出模块;
行为追踪模块,用于对命令表中命令的行为进行追踪,将结果加入追踪结果中。
所述连接建立模块进一步用于读取所述关键信息数据中的命令,组成命令表;根据命令表中连接相关命令以及命令参数中的IP地址和TCP端口进行连接;如果连接成功,则运行所述行为追踪模块;如果所述连接未成功,则判断尝试连接次数是否超过预设次数,如果超过,则连接失败,将此次未成功连接记录加入追踪结果,运行所述追踪结果输出模块;如果没有超过,则重新进行连接。
所述恶意代码样本追踪模块还包括计时模块,用于在所述恶意代码样本追踪模块开始启动时,对追踪时间开始计时;
所述连接建立模块在连接失败后,将此次未成功连接记录加入追踪结果,运行所述追踪结果输出模块时进一步用于通过所述计时模块判断追踪时间是否超过预设时长,如果是,则将此次未成功连接记录加入追踪结果,运行所述追踪结果输出模块;否则,等待预设等待时长后,重新进行连接。
所述恶意代码样本追踪模块还包括计时模块,用于在所述恶意代码样本追踪模块开始启动时,对追踪时间开始计时;
所述行为追踪模块进一步包括:
命令获取模块,用于判断如果所述命令列表中命令已被顺序获取完成,则运行超时判断模块;否则,按顺序从命令列表中获取命令,运行命令判断模块;
命令判断模块,用于对获取的命令进行判断,
如果获取的命令为连接命令,则判断连接后是否有接收行为发生,如果有,则运行结果分析模块,否则,运行命令获取模块;
如果获取的命令为发送命令,则按原始数据时间间隔发送相同数据,如果存在接收行为,则运行结果分析模块,如果不存在接收行为,则运行命令获取模块;
如果获取的命令为关闭命令,则结束追踪,运行超时判断模块;
结果分析模块,用于判断接收的结果数据同所述网络数据是否一致,如果不一致,则将结果数据加入追踪结果中;判断完成后,运行命令获取模块;
超时判断模块,用于通过所述计时模块判断追踪时间是否超过预设时长,如果是,则运行追踪结果输出模块;否则,等待预设等待时长后,运行所述连接建立模块。
本发明的有益效果在于,通过本发明能够自动获取恶意代码样本、分析代码恶意样本、并模拟追踪恶意代码样本;通过网络模拟继续追踪恶意代码样本,能够降低计算开销;并能够完整的恶意代码样本获取与模拟追踪过程;本发明中恶意样本获取方法多元化,能够保证恶意样本的数量充足。
附图说明
图1是本发明检测恶意代码样本的网络行为的方法的流程图;
图2是本发明获取恶意代码样本过程的实施例的流程图;
图3是本发明对行为追踪过程的实施例的流程图;
图4是本发明检测恶意代码样本的网络行为的系统的结构图;
图5是本发明系统中恶意代码样本追踪模块的结构图。
具体实施方式
下面结合附图,对本发明做进一步的详细描述。
一种检测恶意代码样本的网络行为的方法如图1所示。
步骤S100,获取恶意代码样本,并存储所述恶意代码样本。
所述步骤S100具体实施方式一
步骤S110,使用网络爬虫(spider)获得urls列表,如果urls列表为exe列表,则所述urls列表中的文件为待存储的恶意代码样本。
步骤S120,将恶意代码样本存储到数据库。
所述步骤S100具体实施方式二
步骤S110’,使用网络爬虫(spider)获得urls列表,如果urls列表为exe列表,则所述urls列表中的文件为待存储的恶意代码样本;如果urls列表不为exe列表,则将所述urls列表输入蜜罐系统;如果蜜罐系统的返回结果中具有exe文件,则所述exe文件为待存储的恶意代码样本。
步骤S120’,将恶意代码样本存储到数据库。
所述步骤S100具体实施方式三
在具体实施方式一或具体实施方式二的基础上还包括如下步骤。
步骤S130,通过恶意代码样本交互获得恶意代码样本,将所述恶意代码样本存储到数据库。
所述步骤S100的实施例的流程如图2所示。
步骤S101,通过网页爬虫从公开的恶意代码样本信息网站获取恶意样本的urls列表;如果urls列表是exe列表,则urls列表中的文件为待存储的恶意代码样本,执行步骤S103;否则,执行步骤S102。
步骤S102,将urls列表存储到对应的日期目录下的文件urls.txt中,访问对应的日期目录中文件urls.txt,将文件urls.txt输入蜜罐系统(capture-hpc)中,对每个urls列表中的url进行分析,如果蜜罐系统返回结果中具有exe文件,则exe文件为待存储的恶意代码样本,转到步骤S103;否则继续分析下一个url直到urls.txt中的url被分析完毕。
步骤S103,在数据库中查询待存储的恶意代码样本的MD5值,如果存在,则访问计数加1,否则,将待存储的恶意代码样本插入数据库,标记该恶意代码样本的MD5值,并标记该恶意代码样本状态flag为0。
步骤S104,在步骤S102中文件urls.txt分析完毕后,主程序等待一段预设时间后,执行步骤S101。
步骤S105,通过同领域交换样本、恶意代码样本运行等途径获取待存储的恶意代码样本,执行步骤S103。
步骤S200,将恶意代码样本输入虚拟机,运行所述恶意代码样本,获得所述恶意代码样本的网络数据。
所述步骤S200具体实施方式如下。
步骤S210,访问所述数据库,获取恶意代码样本,将恶意代码样本输入虚拟机中。
步骤S220,虚拟机运行恶意代码样本,记录网络数据,对所述记录持续预设时长。
实施例
步骤S201,按照时间降序访问数据库,如果被访问的恶意代码样本的状态flag为0,下载恶意代码样本;并分别输入到虚拟机中。
数据库中恶意代码样本按时间降序排序排列,最新存储的恶意代码样本排列在最前面。
步骤S202,当获得恶意代码样本后,自动实现hook.dll与恶意代码样本的挂接,如果挂接后发生网络行为,则记录网络行为,并持续计时20分钟,执行步骤S201;否则,等待10分钟后,如果恶意代码样本产生了网络行为数据,则开始记录,并记时20分钟;否则直接执行步骤S201。
步骤S203,将获得的恶意代码样本的网络行为数据存入数据库中对应的恶意代码样本的记录中,通过MD5保证一一对应关系,并修改恶意代码样本的状态flag为1。
步骤S300,解析所述恶意代码样本的网络数据获得关键信息数据,依据所述关键信息数据中的命令进行连接,并追踪所述连接之后的行为。
所述步骤S300的具体实施方式一
步骤S310,按网络数据包的格式解析所述恶意代码样本的网络数据,获得关键信息数据。
步骤S320,读取所述关键信息数据中的命令,组成命令表,依据命令表中连接相关命令和命令参数进行连接,如果连接成功,则执行步骤S330;如果连接失败,则将此次未成功连接记录加入追踪结果,执行步骤S400。
步骤S330,对命令表中命令的行为进行追踪,将结果加入追踪结果中。
以应用TCP/IP协议的计算机网络为例,具体实施方式一中步骤S320进一步包括如下步骤。
步骤S321,读取所述关键信息数据中的命令,组成命令表。
步骤S322,根据命令表中连接相关命令以及命令参数中的IP地址和TCP端口进行连接。
步骤S323,如果连接成功,则执行所述步骤S330;如果连接未成功,则判断尝试连接次数是否超过预设次数,如果超过,则连接失败,将此次未成功连接记录加入追踪结果,执行步骤S400,否则,执行步骤S322。
所述步骤S300的具体实施方式二
步骤310’,开始对追踪时间计时。
步骤S320’,按网络数据包的格式解析所述恶意代码样本的网络数据,获得关键信息数据。
步骤S330’,读取所述关键信息数据中的命令,组成命令表,依据命令表中连接相关命令和命令参数进行连接,如果连接成功,则执行步骤S340’;如果连接失败,则判断追踪时间是否超过预设时长,如果是,则将此次未成功连接记录加入追踪结果,执行步骤S400;否则,等待预设等待时长后,执行步骤S330’。
步骤S340’,对命令表中命令的行为进行追踪,将结果加入追踪结果中。
具体实施方式一中对命令表中命令的行为进行追踪,将结果加入追踪结果中的步骤的具体实施方式如下。
步骤S331,如果所述命令列表中命令已被顺序获取完成,则执行步骤S334;否则,按顺序从命令列表中获取命令,执行步骤S332。
步骤S332,对获取的命令进行判断;
如果获取的命令为连接命令,则判断连接后是否有接收行为发生,如果有,则执行步骤S333,否则,执行步骤S331;
如果获取的命令为发送命令,则按原始数据时间间隔发送相同的配置数据,如果存在接收行为,则执行步骤S333,如果不存在接收行为,则执行步骤S331;
如果获取的命令为关闭命令,则结束本次追踪,执行步骤S334。
步骤S333,判断接收的结果数据同记录的网络数据是否一致,如果不一致,则将结果数据加入追踪结果中;判断完成后,执行步骤S331。
步骤S334,判断追踪时间是否超过预设时长,如果是,则以记录的结果数据作为追踪结果,执行步骤S400;否则,等待预设等待时长后,执行步骤S320。
追踪时间从执行步骤S300起开始计时。
具体实施方式二中,对命令表中命令的行为进行追踪,将结果加入追踪结果中的步骤如下。
步骤S331’,如果所述命令列表中命令已被顺序获取完成,则执行步骤S334’;否则,按顺序从命令列表中获取命令,执行步骤S332’。
步骤S332’,对获取的命令进行判断;
如果获取的命令为连接命令,则判断连接后是否有接收行为发生,如果有,则执行步骤S333’,否则,执行步骤S331’;
如果获取的命令为发送命令,则按原始数据时间间隔发送相同的配置数据,如果存在接收行为,则执行步骤S333’,如果不存在接收行为,则执行步骤S331’;
如果获取的命令为关闭命令,则结束本次追踪,执行步骤S334’。
步骤S333’,判断接收的结果数据同记录的网络数据是否一致,如果不一致,则将结果数据加入追踪结果中;判断完成后,执行步骤S331’。
步骤S334’,判断追踪时间是否超过预设时长,如果是,则以记录的结果数据作为追踪结果,执行步骤S400;否则,等待预设等待时长后,执行步骤S330’。
步骤S300的实施例。
步骤S3001,按照时间降序访问数据库中状态flag为1的恶意代码样本,对追踪时间开始计时。
恶意代码样本在数据库中按时间降序排序。
步骤S3002,下载恶意代码样本的网络数据,按照网络数据包的格式,解析网络数据包,提取关键信息数据。
步骤S3003,将关键信息数据,按照原有样本的访问顺序存入数据表中,并通过md5唯一来区分大量数据。
步骤S3004,从数据表中顺序读取关键信息数据中命令,及其命令参数,组成命令列表。
步骤S3005,根据命令表中连接命令(connect命令)以及命令参数中IP地址、TCP端口尝试连接服务器,如果连接成功,继续步骤S3006;否则等待5分钟,然后继续尝试连接,尝试3次未成功,则结束本次追踪过程,执行步骤S3009。
步骤S3006,如果对所述命令列表中命令顺序获取完成,则执行步骤S3009;否则,循环访问命令列表(cmdlist),获取命令,执行步骤S3007。
步骤S3007,对获取的命令进行判断,
如果获得的命令为connect命令,判断该connect命令之后是否有recv或者recvfrom行为发生,如果有,则执行步骤S3008,否则,执行步骤S3006。
如果获得的命令为send、sendto命令,按照原始数据时间间隔发送原始数据,判断是否有recv或recvfrom行为发生,如果有,则转到步骤S3008,否则,执行步骤S3006。
如果获得的命令为close命令(关闭命令),结束本次恶意代码样本模拟追踪,执行步骤S3009。
步骤S3008,通过调用recv或recvfrom的参数NewBuffer,获得结果数据;通过参数oldBuffer获得前述网络数据,判断网络数据与结果数据是否一致,如果一致,对应的发送命令计数标记加1,否则,通过NewBuffer记录结果数据;判断完成后,执行步骤S3006。
步骤S3009,判断追踪时间是否大于等于24小时,如果是,则执行步骤S400;否则等待3小时后,执行步骤S3005。
步骤S400,输出追踪结果。
追踪结果在网络安全中被应用。例如,假设网管发现最近局域网中出现了大量的某种恶意代码,则可查看本系统,如果存储恶意代码样本的数据库中存在这种恶意代码样本,则网管可通过查看这个恶意代码样本追踪结果,获知该恶意代码在较长时间段内会产生怎样的网络行为,从而判断其可能产生的危害,比如是否会对局域网及其内部的关键主机产生消耗带宽资源的类DDoS攻击等等。
假设研究人员发现了一种新的恶意代码,则可以提交存储恶意代码样本的数据库,从而发现其在较长时间内可能产生的网络行为,以及这些网络行为可能对网络或感染主机造成的危害。
本发明的检测恶意代码样本的网络行为的系统如图4所示,包括:恶意代码样本获取模块100、恶意代码样本分析模块200、恶意代码样本追踪模块300、以及追踪结果输出模块400。
恶意代码样本获取模块100,用于获取恶意代码样本,并存储所述恶意代码样本。
恶意代码样本分析模块200,用于将所述恶意代码样本输入虚拟机,运行所述恶意代码样本,获得所述恶意代码样本的网络数据。
恶意代码样本追踪模块300,用于解析所述恶意代码样本的网络数据获得关键信息数据,依据所述关键信息数据中的命令进行连接,并追踪所述连接之后的行为。
追踪结果输出模块400,用于输出追踪结果。
进一步较佳的技术方案,恶意代码样本获取模块100进一步用于使用网络爬虫获得urls列表,如果urls列表为exe列表,则所述urls列表中的文件为待存储的恶意代码样本;将所述恶意代码样本存储到数据库。
进一步较佳的技术方案,恶意代码样本获取模块100还用于如果urls列表不为exe列表,则将所述urls列表输入蜜罐系统;如果蜜罐系统的返回结果为exe文件,则所述exe文件为待存储的恶意代码样本,将所述恶意代码样本存储到数据库。
进一步较佳的技术方案,恶意代码样本获取模块100还用于通过恶意代码样本交互获得恶意代码样本,将所述恶意代码样本存储到数据库。
进一步较佳的技术方案,恶意代码样本分析模块200进一步用于访问所述数据库,获取恶意代码样本,将恶意代码样本输入虚拟机中;使虚拟机运行所述恶意代码样本,记录网络数据,对所述记录持续预设时长。
进一步较佳的技术方案,恶意代码样本追踪模块300结构如图5所示,进一步包括:关键信息数据获得模块310、连接建立模块320、以及行为追踪模块330。
关键信息数据获得模块310,用于按网络数据包的格式解析所述恶意代码样本的网络数据,获得关键信息数据。
连接建立模块320,用于读取所述关键信息数据中的命令,组成命令表,依据命令表中连接相关命令和命令参数进行连接,如果连接成功,则运行行为追踪模块330,如果连接失败,则将此次未成功连接记录加入追踪结果,并运行追踪结果输出模块400。
行为追踪模块330,用于对命令表中命令的行为进行追踪,将结果加入追踪结果中。
进一步较佳的技术方案,连接建立模块320进一步用于读取所述关键信息数据中的命令,组成命令表;根据命令表中连接相关命令以及命令参数中的IP地址和TCP端口进行连接;如果连接成功,则运行所述行为追踪模块330;如果所述连接未成功,则判断尝试连接次数是否超过预设次数,如果超过,则连接失败,将此次未成功连接记录加入追踪结果,运行所述追踪结果输出模块400;如果没有超过,则重新进行连接。
进一步较佳的技术方案,恶意代码样本追踪模块300还包括计时模块340,用于在恶意代码样本追踪模块300开始启动时,对追踪时间开始计时;
连接建立模块320在连接失败后,将此次未成功连接记录加入追踪结果,运行追踪结果输出模块400时进一步用于通过计时模块340判断追踪时间是否超过预设时长,如果是,则将此次未成功连接记录加入追踪结果,运行所述追踪结果输出模块400;否则,等待预设等待时长后,重新进行连接。
进一步较佳的技术方案,行为追踪模块330进一步包括:
命令获取模块,用于判断如果所述命令列表中命令已被顺序获取完成,则运行超时判断模块;否则,按顺序从命令列表中获取命令,运行命令判断模块。
命令判断模块,用于对获取的命令进行判断,
如果获取的命令为连接命令,则判断连接后是否有接收行为发生,如果有,则运行结果分析模块,否则,运行命令获取模块;
如果获取的命令为发送命令,则按原始数据时间间隔发送相同数据,如果存在接收行为,则运行结果分析模块,如果不存在接收行为,则运行命令获取模块;
如果获取的命令为关闭命令,则结束追踪,运行超时判断模块。
结果分析模块,用于判断接收的结果数据同所述网络数据是否一致,如果不一致,则将结果数据加入追踪结果中;判断完成后,运行命令获取模块。
超时判断模块,用于通过计时模块340判断进行的追踪时间是否超过预设时长,如果是,则运行追踪结果输出模块400;否则,等待预设等待时长后,运行连接建立模块320。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。
Claims (18)
1.一种检测恶意代码样本的网络行为的方法,其特征在于,包括:
步骤1,获取恶意代码样本,并存储所述恶意代码样本;
步骤2,将所述恶意代码样本输入虚拟机,运行所述恶意代码样本,获得所述恶意代码样本的网络数据;
步骤3,解析所述恶意代码样本的网络数据获得关键信息数据,依据所述关键信息数据中的命令进行连接,并追踪所述连接之后的行为;
步骤4,输出追踪结果。
2.如权利要求1所述的检测恶意代码样本的网络行为的方法,其特征在于,
所述步骤1进一步为,
步骤21,使用网络爬虫获得urls列表,如果urls列表为exe列表,则所述urls列表中的文件为待存储的恶意代码样本;
步骤22,将所述恶意代码样本存储到数据库。
3.如权利要求2所述的检测恶意代码样本的网络行为的方法,其特征在于,
所述步骤21还包括,
步骤31,如果urls列表不为exe列表,则将所述urls列表输入蜜罐系统;
步骤32,如果蜜罐系统的返回结果为exe文件,则所述exe文件为待存储的恶意代码样本。
4.如权利要求2所述的检测恶意代码样本的网络行为的方法,其特征在于,
所述步骤22之后还包括:
步骤41,通过恶意代码样本交互获得恶意代码样本,将所述恶意代码样本存储到数据库。
5.如权利要求1所述的检测恶意代码样本的网络行为的方法,其特征在于,
所述步骤2进一步为,
步骤51,访问所述数据库,获取恶意代码样本,将恶意代码样本输入虚拟机中;
步骤52,虚拟机运行所述恶意代码样本,记录网络数据,对所述记录持续预设时长。
6.如权利要求1所述的检测恶意代码样本的网络行为的方法,其特征在于,
所述步骤3进一步为,
步骤61,按网络数据包的格式解析所述恶意代码样本的网络数据,获得关键信息数据;
步骤62,读取所述关键信息数据中的命令,组成命令表,依据命令表中连接相关命令和命令参数进行连接,如果连接成功,则执行步骤63,如果连接失败,则将此次未成功连接记录加入追踪结果,执行步骤4;
步骤63,对命令表中命令的行为进行追踪,将结果加入追踪结果中。
7.如权利要求6所述的检测恶意代码样本的网络行为的方法,其特征在于,
所述步骤62进一步为,
步骤71,读取所述关键信息数据中的命令,组成命令表;
步骤72,根据命令表中连接相关命令以及命令参数中的IP地址和TCP端口进行连接;
步骤73,如果连接成功,则执行所述步骤63;如果所述连接未成功,则判断尝试连接次数是否超过预设次数,如果超过,则连接失败,将此次未成功连接记录加入追踪结果,执行所述步骤4;如果没有超过,执行所述步骤72。
8.如权利要求7所述的检测恶意代码样本的网络行为的方法,其特征在于,
所述步骤3开始执行时还包括,开始对追踪时间计时;
所述步骤73中连接失败,将此次未成功连接记录加入追踪结果,执行步骤4进一步为,
步骤81,判断追踪时间是否超过预设时长,如果是,则将此次未成功连接记录加入追踪结果,执行所述步骤4;否则,等待预设等待时长后,执行步骤72。
9.如权利要求6所述的检测恶意代码样本的网络行为的方法,其特征在于,
所述步骤3开始执行时还包括,开始对追踪时间计时;
所述步骤63进一步为,
步骤91,如果所述命令列表中命令已被顺序获取完成,则执行步骤94;否则,按顺序从命令列表中获取命令,执行步骤92;
步骤92,对获取的命令进行判断,
如果获取的命令为连接命令,则判断连接后是否有接收行为发生,如果有,则执行步骤93,否则,执行步骤91;
如果获取的命令为发送命令,则按原始数据时间间隔发送相同数据,如果存在接收行为,则执行步骤93,如果不存在接收行为,则执行步骤91;
如果获取的命令为关闭命令,则结束追踪,执行步骤94;
步骤93,判断接收的结果数据同所述网络数据是否一致,如果不一致,则将结果数据加入追踪结果中;判断完成后,执行步骤91;
步骤94,判断进行追踪的时间是否超过预设时长,如果是,则执行步骤4;否则,等待预设等待时长后,执行步骤62。
10.一种检测恶意代码样本的网络行为的系统,其特征在于,包括:
恶意代码样本获取模块,用于获取恶意代码样本,并存储所述恶意代码样本;
恶意代码样本分析模块,用于将所述恶意代码样本输入虚拟机,运行所述恶意代码样本,获得所述恶意代码样本的网络数据;
恶意代码样本追踪模块,用于解析所述恶意代码样本的网络数据获得关键信息数据,依据所述关键信息数据中的命令进行连接,并追踪所述连接之后的行为;
追踪结果输出模块,用于输出追踪结果。
11.如权利要求10所述的检测恶意代码样本的网络行为的系统,其特征在于,
所述恶意代码样本获取模块进一步用于使用网络爬虫获得urls列表,如果urls列表为exe列表,则所述urls列表中的文件为待存储的恶意代码样本;将所述恶意代码样本存储到数据库。
12.如权利要求11所述的检测恶意代码样本的网络行为的系统,其特征在于,
所述恶意代码样本获取模块还用于如果urls列表不为exe列表,则将所述urls列表输入蜜罐系统;如果蜜罐系统的返回结果为exe文件,则所述exe文件为待存储的恶意代码样本,将所述恶意代码样本存储到数据库。
13.如权利要求11所述的检测恶意代码样本的网络行为的系统,其特征在于,
所述恶意代码样本获取模块还用于通过恶意代码样本交互获得恶意代码样本,将所述恶意代码样本存储到数据库。
14.如权利要求10所述的检测恶意代码样本的网络行为的系统,其特征在于,
所述恶意代码样本分析模块进一步用于访问所述数据库,获取恶意代码样本,将恶意代码样本输入虚拟机中;使虚拟机运行所述恶意代码样本,记录网络数据,对所述记录持续预设时长。
15.如权利要求10所述的检测恶意代码样本的网络行为的系统,其特征在于,
所述恶意代码样本追踪模块进一步包括:
关键信息数据获得模块,用于按网络数据包的格式解析所述恶意代码样本的网络数据,获得关键信息数据;
连接建立模块,用于读取所述关键信息数据中的命令,组成命令表,依据命令表中连接相关命令和命令参数进行连接,如果连接成功,则运行行为追踪模块,如果连接失败,则将此次未成功连接记录加入追踪结果,并运行所述追踪结果输出模块;
行为追踪模块,用于对命令表中命令的行为进行追踪,将结果加入追踪结果中。
16.如权利要求15所述的检测恶意代码样本的网络行为的系统,其特征在于,
所述连接建立模块进一步用于读取所述关键信息数据中的命令,组成命令表;根据命令表中连接相关命令以及命令参数中的IP地址和TCP端口进行连接;如果连接成功,则运行所述行为追踪模块;如果所述连接未成功,则判断尝试连接次数是否超过预设次数,如果超过,则连接失败,将此次未成功连接记录加入追踪结果,运行所述追踪结果输出模块;如果没有超过,则重新进行连接。
17.如权利要求16所述的检测恶意代码样本的网络行为的系统,其特征在于,
所述恶意代码样本追踪模块还包括计时模块,用于在所述恶意代码样本追踪模块开始启动时,对追踪时间开始计时;
所述连接建立模块在连接失败后,将此次未成功连接记录加入追踪结果,运行所述追踪结果输出模块时进一步用于通过所述计时模块判断追踪时间是否超过预设时长,如果是,则将此次未成功连接记录加入追踪结果,运行所述追踪结果输出模块;否则,等待预设等待时长后,重新进行连接。
18.如权利要求15所述的检测恶意代码样本的网络行为的系统,其特征在于,
所述恶意代码样本追踪模块还包括计时模块,用于在所述恶意代码样本追踪模块开始启动时,对追踪时间开始计时;
所述行为追踪模块进一步包括:
命令获取模块,用于判断如果所述命令列表中命令已被顺序获取完成,则运行超时判断模块;否则,按顺序从命令列表中获取命令,运行命令判断模块;
命令判断模块,用于对获取的命令进行判断,
如果获取的命令为连接命令,则判断连接后是否有接收行为发生,如果有,则运行结果分析模块,否则,运行命令获取模块;
如果获取的命令为发送命令,则按原始数据时间间隔发送相同数据,如果存在接收行为,则运行结果分析模块,如果不存在接收行为,则运行命令获取模块;
如果获取的命令为关闭命令,则结束追踪,运行超时判断模块;
结果分析模块,用于判断接收的结果数据同所述网络数据是否一致,如果不一致,则将结果数据加入追踪结果中;判断完成后,运行命令获取模块;
超时判断模块,用于通过所述计时模块判断追踪时间是否超过预设时长,如果是,则运行追踪结果输出模块;否则,等待预设等待时长后,运行所述连接建立模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101071951A CN101841523B (zh) | 2010-02-05 | 2010-02-05 | 检测恶意代码样本的网络行为的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101071951A CN101841523B (zh) | 2010-02-05 | 2010-02-05 | 检测恶意代码样本的网络行为的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101841523A true CN101841523A (zh) | 2010-09-22 |
CN101841523B CN101841523B (zh) | 2013-05-22 |
Family
ID=42744648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101071951A Expired - Fee Related CN101841523B (zh) | 2010-02-05 | 2010-02-05 | 检测恶意代码样本的网络行为的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101841523B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101959193A (zh) * | 2010-09-26 | 2011-01-26 | 宇龙计算机通信科技(深圳)有限公司 | 一种信息安全检测方法及移动终端 |
CN102122331A (zh) * | 2011-01-24 | 2011-07-13 | 中国人民解放军国防科学技术大学 | 一种构造“In-VM”恶意代码检测架构的方法 |
CN102291397A (zh) * | 2011-08-04 | 2011-12-21 | 中国科学院计算技术研究所 | 一种僵尸网络追踪方法 |
CN102833240A (zh) * | 2012-08-17 | 2012-12-19 | 中国科学院信息工程研究所 | 一种恶意代码捕获方法及系统 |
CN102968591A (zh) * | 2012-11-21 | 2013-03-13 | 中国人民解放军国防科学技术大学 | 基于行为片段共享的恶意软件特征聚类分析方法及系统 |
CN103902903A (zh) * | 2013-11-12 | 2014-07-02 | 国家计算机网络与信息安全管理中心 | 基于动态沙箱环境的恶意代码分析方法及系统 |
CN103916365A (zh) * | 2012-12-31 | 2014-07-09 | 西门子公司 | 导出和验证恶意代码的网络行为特征的方法和装置 |
CN104714831A (zh) * | 2015-03-31 | 2015-06-17 | 北京奇虎科技有限公司 | 一种检测虚拟机中的寄生进程的方法和装置 |
CN105656872A (zh) * | 2015-07-17 | 2016-06-08 | 哈尔滨安天科技股份有限公司 | 一种基于骨干网的攻击者追踪方法及系统 |
CN105814577A (zh) * | 2013-12-27 | 2016-07-27 | 迈克菲公司 | 隔离表现网络活动的可执行文件 |
CN106961414A (zh) * | 2016-01-12 | 2017-07-18 | 阿里巴巴集团控股有限公司 | 一种基于蜜罐的数据处理方法、装置及系统 |
CN107526965A (zh) * | 2011-05-24 | 2017-12-29 | 帕洛阿尔托网络公司 | 恶意软件分析系统 |
CN109257389A (zh) * | 2018-11-23 | 2019-01-22 | 北京金山云网络技术有限公司 | 一种攻击处理方法、装置及电子设备 |
CN109428857A (zh) * | 2017-08-23 | 2019-03-05 | 腾讯科技(深圳)有限公司 | 一种恶意探测行为的检测方法和装置 |
CN110381041A (zh) * | 2019-06-28 | 2019-10-25 | 奇安信科技集团股份有限公司 | 分布式拒绝服务攻击态势检测方法及装置 |
CN112866244A (zh) * | 2021-01-15 | 2021-05-28 | 中国电子科技集团公司第十五研究所 | 基于虚拟网络环境的网络流量沙箱检测方法 |
CN114629714A (zh) * | 2022-03-29 | 2022-06-14 | 济南大学 | 蜜罐和沙箱相互增强的恶意程序行为处理方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1235108C (zh) * | 2004-03-29 | 2006-01-04 | 四川大学 | 一种计算机病毒检测和识别方法 |
CN101350822B (zh) * | 2008-09-08 | 2011-06-15 | 南开大学 | 一种Internet恶意代码的发现和追踪方法 |
-
2010
- 2010-02-05 CN CN2010101071951A patent/CN101841523B/zh not_active Expired - Fee Related
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101959193A (zh) * | 2010-09-26 | 2011-01-26 | 宇龙计算机通信科技(深圳)有限公司 | 一种信息安全检测方法及移动终端 |
CN102122331A (zh) * | 2011-01-24 | 2011-07-13 | 中国人民解放军国防科学技术大学 | 一种构造“In-VM”恶意代码检测架构的方法 |
CN102122331B (zh) * | 2011-01-24 | 2014-04-30 | 中国人民解放军国防科学技术大学 | 一种构造“In-VM”恶意代码检测架构的方法 |
CN107526965A (zh) * | 2011-05-24 | 2017-12-29 | 帕洛阿尔托网络公司 | 恶意软件分析系统 |
CN102291397A (zh) * | 2011-08-04 | 2011-12-21 | 中国科学院计算技术研究所 | 一种僵尸网络追踪方法 |
CN102833240B (zh) * | 2012-08-17 | 2016-02-03 | 中国科学院信息工程研究所 | 一种恶意代码捕获方法及系统 |
CN102833240A (zh) * | 2012-08-17 | 2012-12-19 | 中国科学院信息工程研究所 | 一种恶意代码捕获方法及系统 |
CN102968591A (zh) * | 2012-11-21 | 2013-03-13 | 中国人民解放军国防科学技术大学 | 基于行为片段共享的恶意软件特征聚类分析方法及系统 |
CN102968591B (zh) * | 2012-11-21 | 2015-02-25 | 中国人民解放军国防科学技术大学 | 基于行为片段共享的恶意软件特征聚类分析方法及系统 |
CN103916365A (zh) * | 2012-12-31 | 2014-07-09 | 西门子公司 | 导出和验证恶意代码的网络行为特征的方法和装置 |
CN103902903A (zh) * | 2013-11-12 | 2014-07-02 | 国家计算机网络与信息安全管理中心 | 基于动态沙箱环境的恶意代码分析方法及系统 |
US10599846B2 (en) | 2013-12-27 | 2020-03-24 | Mcafee, Llc | Segregating executable files exhibiting network activity |
CN105814577A (zh) * | 2013-12-27 | 2016-07-27 | 迈克菲公司 | 隔离表现网络活动的可执行文件 |
US10083300B2 (en) | 2013-12-27 | 2018-09-25 | Mcafee, Llc | Segregating executable files exhibiting network activity |
CN105814577B (zh) * | 2013-12-27 | 2020-07-14 | 迈克菲有限责任公司 | 隔离表现网络活动的可执行文件 |
CN104714831B (zh) * | 2015-03-31 | 2018-04-17 | 北京奇虎科技有限公司 | 一种检测虚拟机中的寄生进程的方法和装置 |
CN104714831A (zh) * | 2015-03-31 | 2015-06-17 | 北京奇虎科技有限公司 | 一种检测虚拟机中的寄生进程的方法和装置 |
CN105656872A (zh) * | 2015-07-17 | 2016-06-08 | 哈尔滨安天科技股份有限公司 | 一种基于骨干网的攻击者追踪方法及系统 |
CN106961414A (zh) * | 2016-01-12 | 2017-07-18 | 阿里巴巴集团控股有限公司 | 一种基于蜜罐的数据处理方法、装置及系统 |
CN109428857A (zh) * | 2017-08-23 | 2019-03-05 | 腾讯科技(深圳)有限公司 | 一种恶意探测行为的检测方法和装置 |
CN109428857B (zh) * | 2017-08-23 | 2021-01-05 | 腾讯科技(深圳)有限公司 | 一种恶意探测行为的检测方法和装置 |
CN109257389A (zh) * | 2018-11-23 | 2019-01-22 | 北京金山云网络技术有限公司 | 一种攻击处理方法、装置及电子设备 |
CN109257389B (zh) * | 2018-11-23 | 2021-09-17 | 北京金山云网络技术有限公司 | 一种攻击处理方法、装置及电子设备 |
CN110381041A (zh) * | 2019-06-28 | 2019-10-25 | 奇安信科技集团股份有限公司 | 分布式拒绝服务攻击态势检测方法及装置 |
CN110381041B (zh) * | 2019-06-28 | 2021-12-14 | 奇安信科技集团股份有限公司 | 分布式拒绝服务攻击态势检测方法及装置 |
CN112866244A (zh) * | 2021-01-15 | 2021-05-28 | 中国电子科技集团公司第十五研究所 | 基于虚拟网络环境的网络流量沙箱检测方法 |
CN112866244B (zh) * | 2021-01-15 | 2021-09-07 | 中国电子科技集团公司第十五研究所 | 基于虚拟网络环境的网络流量沙箱检测方法 |
CN114629714A (zh) * | 2022-03-29 | 2022-06-14 | 济南大学 | 蜜罐和沙箱相互增强的恶意程序行为处理方法及系统 |
CN114629714B (zh) * | 2022-03-29 | 2023-08-04 | 济南大学 | 蜜罐和沙箱相互增强的恶意程序行为处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101841523B (zh) | 2013-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101841523B (zh) | 检测恶意代码样本的网络行为的方法及系统 | |
CN102314561B (zh) | 基于api hook的恶意代码自动分析方法和系统 | |
CN103023710B (zh) | 一种安全测试系统和方法 | |
JP5134684B2 (ja) | ウェブページ構造分析を通したウェブサイトの情報把握方法 | |
CN103186740B (zh) | 一种Android恶意软件的自动化检测方法 | |
CN101964025B (zh) | Xss检测方法和设备 | |
CN101388911B (zh) | 网络应用程序离线数据采集方法 | |
CN111901192B (zh) | 一种页面访问数据的统计方法及装置 | |
CN101562618A (zh) | 一种检测网马的方法及装置 | |
CN104598380A (zh) | 一种基于控件的自动化测试方法及系统 | |
CN103888490A (zh) | 一种全自动的web客户端人机识别的方法 | |
CN104461513B (zh) | 一种生成表单界面的方法及装置 | |
CN101340434A (zh) | 网站恶意内容检测与认证方法及系统 | |
CN105512044A (zh) | 用于关键字驱动测试的对象库的更新方法及系统 | |
CN104601573A (zh) | 一种Android平台URL访问结果验证方法及装置 | |
WO2012120658A1 (ja) | ウェブ操作記録・再現方法および装置 | |
CN103455600A (zh) | 一种视频url抓取方法、装置及服务器设备 | |
CN105808417A (zh) | 自动化测试方法及代理服务器 | |
CN111859076B (zh) | 数据爬取方法、装置、计算机设备及计算机可读存储介质 | |
CN105187393B (zh) | 一种移动终端恶意软件网络行为重构方法及其系统 | |
CN112818201A (zh) | 一种网络数据采集方法、装置、计算机设备及存储介质 | |
CN103324673A (zh) | 一种互联网用户行为数据的采集方法 | |
JP2011043924A (ja) | Web行動履歴取得システム、Web行動履歴取得方法、ゲートウェイ装置、及びプログラム | |
CN102035847A (zh) | 用户访问行为处理方法、系统和客户端 | |
CN101517574B (zh) | 互联网上使用访问/搜索应用自动搜索非法内容的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190201 Address after: Room 1103, Building B2, 700 Yishan Road, Xuhui District, Shanghai, 2003 Patentee after: SHANGHAI YINGLIAN INFORMATION TECHNOLOGY CO.,LTD. Address before: 100080 No. 6 South Road, Zhongguancun Academy of Sciences, Beijing, Haidian District Patentee before: Institute of Computing Technology, Chinese Academy of Sciences |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130522 Termination date: 20220205 |
|
CF01 | Termination of patent right due to non-payment of annual fee |