基于主动技术的恶意代码捕获方法

文档序号:6548653阅读:164来源:国知局
基于主动技术的恶意代码捕获方法
【专利摘要】一种基于主动技术的恶意代码捕获方法,随机选择一个URL进行下载,如果同一页面标签内同时出现“width”及“height”二个关键词的属性值都小于10,则记为可疑URL,按照URL抽样率对下载的URL页面中的URL进行抽样选择,同时采用浏览器对可疑URL进行访问,监控浏览器的运行,如果有代码下载,同时发现系统文件发生变化、注册表项发生创建和修改变化或者下载的代码运行访问网络等三种情况的一种发生,则将该代码为恶意代码,同时记录该恶意代码所处网页中的所有URL。本发明采用不等概率的分段抽样方法实现采样到尽可能多的恶意代码样本的网页,同时通过网络爬虫的恶意URL网页进行引导,实现一个自主启发式的主动获取恶意代码的过程。
【专利说明】基于主动技术的恶意代码捕获方法
【技术领域】
[0001]本发明涉及网络安全测量【技术领域】,特别是一种基于主动技术的恶意代码捕获方法。
【背景技术】
[0002]互联网的出现极大的改变了人们的生活方式和工作习惯,给人们带来了各方面的便利,同时由于互联网的开放性、脆弱性,使得互联网的安全问题得到日益重视。而恶意代码已经成为网络安全最为严重的安全威胁之一,通过网络下载和浏览器进行传播成为了恶意代码的主要传播方式。这类恶意代码借助于客户端应用的漏洞和被动式触发来感染目标主机,具有制作简捷、传播速度快、变种形式多样、破坏力强等特点。与服务器端蜜罐系统不同,恶意代码的泛滥已经严重威胁信息系统的安全,影响了互联网正常有序的发展。
[0003]目前,蜜罐技术在互联网安全威胁检测上得到了广泛的应用,已经成为了主流的恶意代码捕获技术。蜜罐技术本质上是一种对攻击方法进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而对攻击行为进行捕获和分析,了解攻击攻击方使用的攻击和方法。根据蜜罐系统与攻击者的交互程度可以把蜜罐技术划分为低交互蜜罐技术和高交互蜜罐技术。低交互蜜罐一般采用模拟或仿真网络服务的方式,提供有限的交互,所以低交互式蜜罐的部署和维护比较简单,也相对安全。DTK、Honeyd, Nepenthes都属于低交互蜜罐。高交互蜜罐采用真实的操作系统搭建,具有良好的诱骗性和扩展性,能够和攻击者进行充分的交互,可以获得大量的信息,但是风险性也很高。HoneyBow在高交互蜜罐系统上直接构建、通过文件系统实时监控和文件列表交叉对比的方法捕获恶意感染高交互式蜜罐的恶意代码样本。HoneyBow使用了真实的存有安全漏洞的服务对恶意代码进行诱骗,所捕获的代码会更全面,而且能够捕获未知恶意样本。Argos蜜罐则基于Qemu构建,Qemu是一个x86仿真器,能够对真是的Guest操作系统实施指令操作和监控,利用扩展动态污点分析技术对运行时刻的网络数据进行分析,自动化的提取出网络攻击特征。
[0004]为了高效准确的发现恶意代码,基于恶意代码的传播特点,结合网络爬虫和客户端蜜罐的技术,本发明设计并实现了一个基于主动技术的恶意代码捕获系统。该系统通过网络爬虫来搜索互联网资源,并结合主题相关性分析和恶意网页特征码匹配来获取可疑的恶意URL数据源,利用高交互式客户端蜜罐内的客户端引擎自动化启动IE浏览器,访问可疑的URL地址,诱导目标网站的恶意代码对客户端系统进行攻击,通过监控恶意网页下载行为来捕获恶意代码。蜜罐捕获系统对部署的环境有很高的要求,通常需要部署在公共网络中,需要消耗很多资源。

【发明内容】

[0005]本发明提供一种基于主动技术的恶意代码捕获方法。
[0006]本发明采用如下技术方案: 一种基于主动技术的恶意代码捕获方法,其特征在于:
步骤一:设置种子URL,设置未下载URL列表,设置已下载URL列表,设置下载恶意代码总数,设置恶意代码数据库,设置URL抽样率,设置已下载恶意代码数,已下载恶意代码数初始值为O,进入步骤二 ;
步骤二:将种子URL加入到未下载URL列表中,进入步骤三;
步骤三:如果未下载URL列表中为空,退出方法;否则从未下载URL列表中随机选择一个URL进行下载,进入步骤四;
步骤四:在未下载URL列表中删除所选URL,同时将所选URL加入到已经下载URL列表中,进行步骤五;
步骤五:对下载的URL页面进行分析,如果同一页面标签内同时出现“width”及“height”二个关键词且width和height属性值都小于10,则记为可疑URL,进入步骤六,否则回到步骤三;
步骤六:按照URL抽样率对下载的URL页面中的URL进行抽样,被抽样中的URL如果不在已下载URL列表和未下载URL列表中,则加入到未下载URL列表中,进入步骤七;
步骤七:采用浏览器对可疑URL进行访问,监控浏览器的运行,如果有代码下载,则进入步骤八,否则回到步骤三;
步骤八:如果发现系统文件发生了增加、删除或修改变化,进入步骤十一,否则进入步骤九;
步骤九:如果发现注册表项发生创建和修改变化,进入步骤十一,否则进入步骤十;步骤十:利用winpcap系统库抓取系统所产生的网络报文,如果下载的代码运行访问网络,进入步骤十一,否则回到步骤三;
步骤十一:将下载的代码上传到恶意代码数据库中,取出可疑URL网页中的所有URL,在已下载URL列表和未下载URL列表中分别查找可疑URL网页中的各个URL,将未记录于已下载URL列表和未下载URL列表中的可疑URL网页中的URL加入到未下载URL列表中,已下载恶意代码数增加1,如果已下载恶意代码数大于等于下载恶意代码总数,方法结束,退出方法;否则回到步骤三。
[0007]与现有技术相比,本发明具有如下优点及有效效果:
(I)传统的网络爬虫目标是获取更多的网页,而本发明的目的是为了能够获取具有恶意代码的网页,以便从这些含有恶意代码的网页中提取恶意代码,本发明采用不等概率的分段抽样方法,对非可疑网页中的URL全部丢弃,可疑的网页中的URL进行随机抽样,对于确定的恶意网页中的URL进行全部采样的方法,因此在资源可控制的条件下,实现采样到尽可能多的恶意代码样本的网页。
[0008](2)传统获取恶意代码的方法是通过蜜罐,蜜罐方法是一种被动的方法,通过蜜罐被动地等待攻击者对蜜罐的攻击,从而获取攻击的恶意代码,这样使得获取攻击所需要的资源多,需要消耗更长的时间,本发明将网络爬虫和客户端蜜罐技术相结合,利用网络爬虫获取可疑URL网页,然后根据利用浏览器蜜罐主动来捕获恶意代码,主要针对浏览器客户端可能存在的安全漏洞,通过网络爬虫的恶意URL网页进行引导,主动地启动浏览器客户端软件去寻找可能的攻击性行为并分析,实现恶意代码的获取,同时根据主动识别的恶意代码网页又去指导网络爬虫下载更多的可疑URL网页,通过网络爬虫和客户端蜜罐相互学习的过程,实现一个自主启发式的主动获取被攻击的过程,可以在较短时间内和有限资源消耗条件下,获取更多、更广泛的恶意代码。
【专利附图】

【附图说明】
[0009]为了更清楚地说明本发明实施实例的技术方案,下面将对实施实例或现有技术描述中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施实例。
[0010]图1:基于主动技术的恶意代码捕获方法功能流程图。
[0011]图2:基于主动技术的恶意代码捕获方法步骤示意图。
【具体实施方式】
[0012]下面将结合本发明实施实例中的附图,对本发明实施实例中的技术方案进行清楚、完整地描述,当然所描述的实施实例仅仅是本发明一部分实施实例,而不是全部的实施实例。
[0013]实施实例I
一种基于主动技术的恶意代码捕获方法:
步骤一:设置种子URL,设置未下载URL列表,设置已下载URL列表,设置下载恶意代码总数,设置恶意代码数据库,设置URL抽样率,设置已下载恶意代码数,已下载恶意代码数初始值为O,进入步骤二 ;
步骤二:将种子URL加入到未下载URL列表中,进入步骤三;
步骤三:如果未下载URL列表中为空,退出方法;否则从未下载URL列表中随机选择一个URL进行下载,进入步骤四;
步骤四:在未下载URL列表中删除所选URL,同时将所选URL加入到已经下载URL列表中,进行步骤五;
步骤五:对下载的URL页面进行分析,如果同一页面标签内同时出现“width”及“height”二个关键词且width和height属性值都小于10,则记为可疑URL,进入步骤六,否则回到步骤三;
步骤六:按照URL抽样率对下载的URL页面中的URL进行抽样,被抽样中的URL如果不在已下载URL列表和未下载URL列表中,则加入到未下载URL列表中,进入步骤七;
步骤七:采用浏览器对可疑URL进行访问,监控浏览器的运行,如果有代码下载,则进入步骤八,否则回到步骤三;
步骤八:如果发现系统文件发生了增加、删除或修改变化,进入步骤十一,否则进入步骤九;
步骤九:如果发现注册表项发生创建和修改变化,进入步骤十一,否则进入步骤十;步骤十:利用winpcap系统库抓取系统所产生的网络报文,如果下载的代码运行访问网络,进入步骤十一,否则回到步骤三;
步骤十一:将下载的代码上传到恶意代码数据库中,取出可疑URL网页中的所有URL,在已下载URL列表和未下载URL列表中分别查找可疑URL网页中的各个URL,将未记录于已下载URL列表和未下载URL列表中的可疑URL网页中的URL加入到未下载URL列表中,已下载恶意代码数增加1,如果已下载恶意代码数大于等于下载恶意代码总数,方法结束,退出方法;否则回到步骤三。
[0014]发现系统文件发生了增力口、删除或修改变化的方法如下:使用FindFirstChangeNotification函数创建一个改变通知对象,通过FindFirstChangeNotification函数监视IE的临时文件夹、Windows系统目录下的system32文件夹的变化,当一个符合过滤条件的改变发生时,一个在通知句柄上的等待函数返回。
[0015]发现注册表项发生创建和修改变化的方法如下:利用API函数RegNotifyChangeKeyValue监控注册表的变化情况。
[0016]实施实例2
一种基于主动技术的恶意代码捕获方法,
步骤一(I):设置种子URL www.abc.com、www.bed.com,设置未下载URL列表,设置已下载URL列表,设置下载恶意代码总数3,设置恶意代码数据库,设置URL抽样率1/10,设置已下载恶意代码数0,已下载恶意代码数初始值为0,进入步骤二(2);
步骤二(2):将种子URL www.abc.com、www.bed.com加入到未下载URL列表中,进入步骤三(3);
步骤三(3):从未下载URL列表中随机选择一个URL www.abc.com进行下载,进入步骤四⑷;
步骤四(4):在未下载URL列表中删除所选URL www.abc.com ,同时将所选URL www.abc.com加入到已经下载URL列表中,进行步骤五(5);
步骤五(5):对下载的www.abc.com页面进行分析,同一页面标签内同时出现“width”及“height”二个关键词且width和height属性值都等于O,小于10,记www.abc.com为可疑URL,进入步骤六(6);
步骤六(6):按照URL抽样率1/10对下载的www.abc.com页面中的URL进行抽样,被抽样中的URL有www.bca.com,这I个URL不在已下载URL列表和未下载URL列表中,则www.bca.com加入到未下载URL列表中,进入步骤七(7);
步骤七(7):采用浏览器对可疑www.abc.com进行访问,监控浏览器的运行,有代码
a.exe下载,则进入步骤八(8);
步骤八(8):发现系统文件发生了增加、删除或修改变化,进入步骤十一(9);
步骤十一(9):将下载的代码a.exe上传到恶意代码数据库中,取出可疑URL网页中的所有 www.bca.com、www.abc.com、www.bed.com、www.cab.com、www.cba.com,在已下载 URL列表和未下载URL列表中分别查找可疑URL网页中的各个URL,将未记录于已下载URL列表和未下载URL列表中的可疑URL网页中的www.cab.com、www.cba.com加入到未下载URL列表中,已下载恶意代码数增加1,已下载恶意代码数为I小于下载恶意代码总数3,回到步骤三(10)。
[0017]步骤三(10):从未下载URL列表中随机选择一个www.bed.com进行下载,进入步骤四(11);
步骤四(11):在未下载URL列表中删除所选WWW.bed.com,同时将所选www.bed.com加入到已经下载URL列表中,进行步骤五(12);
步骤五(12):对下载的URL页面进行分析,如果同一页面标签内同时出现“width”及“height” 二个关键词且width和height属性值都大于10,回到步骤三(13);
步骤三(13):从未下载URL列表中随机选择一个www.cab.com进行下载,进入步骤四
(14);
步骤四(14):在未下载URL列表中删除所选www.cab.com,同时将所选www.cab.com加入到已经下载URL列表中,进行步骤五(15);
步骤五(15):对下载的www.cab.com页面进行分析,如果同一页面标签内同时出现“width”及“height”二个关键词且width和height属性值为O,都小于10,则记www.cab.com为可疑URL,进入步骤六(16);
步骤六(16):按照URL抽样率1/10对下载的www.cab.com页面中的URL进行抽样,被抽样中的www.abc.com在已下载URL列表中,www.abc.com不加入到未下载URL列表中,进入步骤七(17);
步骤七(17):采用浏览器对可疑www.cab.com进行访问,监控浏览器的运行,有代码
b.exe下载,则进入步骤八(18);
步骤八(18):没有发现系统文件发生了增加、删除或修改变化,进入步骤九(19); 步骤九(19):发现注册表项发生创建和修改变化,进入步骤十一(20);
步骤^--(20):将下载的代码b.exe上传到恶意代码数据库中,取出可疑www.cab.com
网页中的所有 URL www.abc.com、www.acb.com、www.bed.com、www.cab.com、www.cba.com,在已下载URL列表和未下载URL列表中分别查找可疑URL网页中的各个URL,将未记录于已下载URL列表和未下载URL列表中的可疑URL网页中的www.acb.com加入到未下载URL列表中,已下载恶意代码数增加1,已下载恶意代码数2小于下载恶意代码总数3,回到步骤三
(21);
步骤三(21):从未下载URL列表中随机选择一个www.cba.com进行下载,进入步骤四
(22);
步骤四(22):在未下载URL列表中删除所选www.cba.com,同时将所选www.cba.com加入到已经下载URL列表中,进行步骤五(23);
步骤五(23):对下载的www.cba.com页面进行分析,如果同一页面标签内同时出现“width”及“height” 二个关键词且width和height属性值都小于10,记为可疑URL,进入步骤六(24);
步骤六(24):按照URL抽样率对下载的www.cba.com页面中的URL进行抽样,被抽样中的www.acbd.com不在已下载URL列表和未下载URL列表中,贝[I加入www.acbd.com到未下载URL列表中,进入步骤七(25);
步骤七(25):采用浏览器对可疑www.cba.com进行访问,监控浏览器的运行,没有代码下载,回到步骤三(26);
步骤三(26):从未下载URL列表中随机选择一个www.acb.com进行下载,进入步骤四
(27);
步骤四(27):在未 下载URL列表中删除所选www.acb.com,同时将所选www.acb.com加入到已经下载URL列表中,进行步骤五(28);
步骤五(28):对下载的www.acb.com页面进行分析,如果同一页面标签内同时出现“width”及“height” 二个关键词且width和height属性值都小于10,记为可疑URL,进入步骤六(29);
步骤六(29):按照URL抽样率对下载的www.acb.com页面中的URL进行抽样,被抽样中的www.acbd.com在已下载URL列表和未下载URL列表中,则不加入www.acbd.com到未下载URL列表中,进入步骤七(30);
步骤七(30):采用浏览器对可疑棚.acb.com进行访问,监控浏览器的运行,有代码下载e.txt,则进入步骤八(31);
步骤八(31):没有发现系统文件发生了增加、删除或修改变化,进入步骤九(32); 步骤九(32):没有发现注册表项发生创建和修改变化,进入步骤十(33);
步骤十(33):利用winpcap系统库抓取系统所产生的网络报文,下载的代码没有需要访问网络,回到步骤三(34 );
步骤三(34):从未下载URL列表中随机选择一个URL www.acbd.com进行下载,进入步骤四(35);
步骤四(35):在未下载URL列表中删除所选www.acbd.com,同时将所选www.acbd.com加入到已经下载URL列表中,进行步骤五(36);
步骤五(36 ):对下载的www.acbd.com页面进行分析,同一页面标签内同时出现“width”及“height” 二个关键词且width和height属性值都小于10,记为可疑URL,进入步骤六(37);
步骤六(37):按照URL抽样率1/10对下载的URL页面中的URL进行抽样,被抽样中的www.acb.com在已下载URL列表中,贝U不加入到未下载URL列表中,进入步骤七(38);
步骤七(38):采用浏览器对可疑www.acbd.com进行访问,监控浏览器的运行,有代码下载d.exe,则进入步骤八(39);
步骤八(39):没有发现系统文件发生了增加、删除或修改变化,进入步骤九(40); 步骤九(40):没有发现注册表项发生创建和修改变化,进入步骤十(41);
步骤十(41):利用winpcap系统库抓取系统所产生的网络报文,下载的代码运行访问网络,进入步骤十一(42);
步骤十一(42):将下载的代码d.exe上传到恶意代码数据库中,取出可疑URL网页中的所有URL,在已下载URL列表和未下载URL列表中分别查找可疑URL网页中的各个URLjf未记录于已下载URL列表和未下载URL列表中的可疑URL网页中的URL加入到未下载URL列表中,已下载恶意代码数增加1,如果已下载恶意代码数3等于下载恶意代码总数3,方法结束,
输出结果为恶意代码:
a.exe
b.exe
d.exe
退出方法。
【权利要求】
1.一种基于主动技术的恶意代码捕获方法,其特征在于: 步骤一:设置种子URL,设置未下载URL列表,设置已下载URL列表,设置下载恶意代码总数,设置恶意代码数据库,设置URL抽样率,设置已下载恶意代码数,已下载恶意代码数初始值为O,进入步骤二 ; 步骤二:将种子URL加入到未下载URL列表中,进入步骤三; 步骤三:如果未下载URL列表中为空,退出方法;否则从未下载URL列表中随机选择一个URL进行下载,进入步骤四; 步骤四:在未下载URL列表中删除所选URL,同时将所选URL加入到已经下载URL列表中,进行步骤五; 步骤五:对下载的URL页面进行分析,如果同一页面标签内同时出现“width”及“height”二个关键词且width和height属性值都小于10,则记为可疑URL,进入步骤六,否则回到步骤三; 步骤六:按照URL抽样率对下载的URL页面中的URL进行抽样,被抽样中的URL如果不在已下载URL列表和未下载URL列表中,则加入到未下载URL列表中,进入步骤七; 步骤七:采用浏览器对可疑URL进行访问,监控浏览器的运行,如果有代码下载,则进入步骤八,否则回到步骤三; 步骤八:如果发现系统文件发生了增加、删除或修改变化,进入步骤十一,否则进入步骤九; 步骤九:如果发现注册表项发生创建和修改变化,进入步骤十一,否则进入步骤十; 步骤十:利用winpcap系统库抓取系统所产生的网络报文,如果下载的代码运行访问网络,进入步骤十一,否则回到步骤三; 步骤十一:将下载的代码上传到恶意代码数据库中,取出可疑URL网页中的所有URL,在已下载URL列表和未下载URL列表中分别查找可疑URL网页中的各个URL,将未记录于已下载URL列表和未下载URL列表中的可疑URL网页中的URL加入到未下载URL列表中,已下载恶意代码数增加1,如果已下载恶意代码数大于等于下载恶意代码总数,方法结束,退出方法;否则回到步骤三。
2.根据权利要求1所述的基于主动技术的恶意代码捕获方法,其特征在于,发现系统文件发生了增加、删除或修改变化的方法如下:使用FindFirstChangeNotification函数创建一个改变通知对象,通过FindFirstChangeNotification函数监视IE的临时文件夹、Windows系统目录下的system32文件夹的变化,当一个符合过滤条件的改变发生时,一个在通知句柄上的等待函数返回。
3.根据权利要求1所述的基于主动技术的恶意代码捕获方法,其特征在于,发现注册表项发生创建和修改变化的方法如下:利用API函数RegNotifyChangeKeyValue监控注册表的变化情况。
【文档编号】G06F17/30GK104008339SQ201410245192
【公开日】2014年8月27日 申请日期:2014年6月5日 优先权日:2014年6月5日
【发明者】程光 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1