著录项信息
专利名称 | 一种大规模恶意网页检测方法及系统 |
申请号 | CN200910092887.0 | 申请日期 | 2009-09-15 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2010-04-07 | 公开/公告号 | CN101692267A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | 暂无 | IPC分类号 | 暂无查看分类表>
|
申请人 | 北京大学 | 申请人地址 | 北京市海淀区颐和园路5号北京大学
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京大学 | 当前权利人 | 北京大学 |
发明人 | 梁知音;龚晓锐;韦韬;宋程昱;武新逢;韩心慧;诸葛建伟;邹维 |
代理机构 | 北京君尚知识产权代理事务所(普通合伙) | 代理人 | 邵可声 |
摘要
本发明公开了一种大规模恶意网页检测方法及系统,采用三层并行架构和分层控制保障方法:第一层,并行部署若干检测服务器通过网络互接,构建检测服务器机群,在某一检测服务器上设置待分析任务集;第二层,在各个检测服务器内并行部署多个分析节点,部署节点簇监控模块,监控分析节点的运行情况;第三层,在各个分析节点内部构建并行沙箱环境实现待分析任务并行化检测中。本发明的架构保证了各检测服务器之间以及各分析节点间的互相独立和自我维护,物理主机和节点数目的动态扩充不会影响系统的整体运行,单个分析节点的失效也不会影响系统整体的功能;在同一个节点内可同时多路并行检测多个任务,提高了系统分析效率。
1.一种大规模恶意网页检测方法,其步骤包括:
1)将若干检测服务器通过网络互接,在某一检测服务器上设置待分析任务集;
2)在各个检测服务器内部署节点自动分发模块,利用虚拟主机实现分析节点分发,并行部署多个分析节点,同一服务器内的所有节点构成一个节点簇,部署节点簇监控模块,通过访问分析节点内部文件的方式监控分析节点的运行情况,对节点簇内所有节点状态进行监控,如果节点运行不正常,则调用脚本程序重置分析节点;
3)分析节点通过内部网络连接待分析任务集获取待分析任务,实现任务的分布式调度,分析节点内部部署蜜罐环境和挂马网页检测模块,构建并行沙箱环境实现待分析任务并行化检测;由检测状态监控模块监控挂马网页检测模块的运行,检测结果保存在服务器上的分析结果数据库中;所述挂马网页检测模块包括:
任务调度模块:在分析节点内运行任务调度程序,获取待分析任务集;
并行沙箱控制模块:构建并行沙箱程序,捕获浏览器在访问待分析任务集后所产生的系统行为信息;
日志解析和挂马网页判断模块:浏览器访问待分析任务集后,对访问过程中记录下来的系统行为信息进行分析,判定是否为挂马网页行为。
2.如权利要求1所述的方法,其特征在于,所述待分析任务集通过网页爬虫或其他方式收集到。
3.如权利要求1所述的方法,其特征在于,所述节点自动分发模块通过网络获取分析节点的初始镜像,利用虚拟机程序提供的API接口编写的虚拟机复制脚本,自动在每台物理主机上部署多个分析节点。
4.如权利要求1所述的方法,其特征在于,所述节点簇监控模块应用虚拟机程序所提供的API接口,读取各个分析节点内部部署的检测状态监控模块记录的挂马网页检测模块运行状态信息,实现对分析节点的状态监控,当获取状态日志文件失败,或状态日志文件提示分析节点中部署的挂马网页检测模块失效,则调用脚本程序重置分析节点。
5.如权利要求1所述的方法,其特征在于,在分析节点内部部署蜜罐环境包括:
选择含有易被网页木马利用的漏洞的操作系统和浏览器版本的安装盘来安装操作系统环境;
选择特定版本的常被网页木马利用的浏览器插件软件安装;
安装挂马网页检测模块的自动更新程序。
6.如权利要求1所述的方法,其特征在于,所述任务调度模块的任务调度方法包括以下步骤:
6.1.读取配置信息;
6.2.加载系统行为监控驱动程序;
6.3.获取待分析任务集成功,则获取一个空置的沙箱,创建新的系统行为日志文件记录访问待分析任务集期间系统的行为;
6.4.启动浏览器访问待分析任务集中的网页链接,系统监控程序记录沙箱内的系统资源的访问信息;
6.5.调用日志解析和挂马网页判断模块,解析日志文件并判断该网页链接是否挂马网页。
7.如权利要求1所述的方法,其特征在于,日志解析和挂马网页判断模块判断网页链接是否为挂马网页的方法包括以下步骤:
7.1.从配置文件中读取新建进程的白名单、可执行文件的后缀名名单、系统启动文件名单和控制系统启动的注册表项及其变量名单;
7.2.从API调用的参数列表中获取创建进程名,若进程名不在白名单内,即判断该网页为挂马网页;
7.3.从API调用的参数列表获取创建文件名,若文件名后缀包含在可执行文件名后缀名单内,即判断该网页为挂马网页;
7.4.从API调用的参数列表获取修改文件路径,若系统启动文件名包含在系统启动文件路径中,即判断该网页为挂马网页;
7.5.从API调用的参数列表获取创建或修改的注册表项和变量名,若注册表项和变量名包含在控制系统启动的注册表项/变量名单中,即判断该网页为挂马网页。
8.一种大规模恶意网页检测系统,其特征在于,采用三层并行架构:
第一层,包括并行部署的若干检测服务器,设置在某一检测服务器上的待分析任务集,所述检测服务器通过网络互接,形成检测服务器机群;
第二层,在各个检测服务器内包括节点自动分发模块,由节点构成的节点簇,节点簇监控模块,所述节点自动分发模块利用虚拟主机实现分析节点分发,并行部署多个分析节点;
所述节点簇监控模块通过访问分析节点内部文件的方式监控分析节点的运行情况,对节点簇内所有节点状态进行监控,如果节点运行不正常,则调用脚本程序重置分析节点;
第三层,分析节点内包括蜜罐环境和挂马网页检测模块、检测状态监控模块,所述分析节点通过内部网络连接待分析任务集,用于获取待分析任务,实现任务的分布式调度,挂马网页检测模块构建并行沙箱环境实现待分析任务并行化检测;由检测状态监控模块监控挂马网页检测模块的运行,检测结果保存在服务器上的分析结果数据库中。
9.如权利要求8所述的系统,其特征在于,所述并行部署的检测服务器机群的规模随分析规模扩大的需求而动态扩展。
10.如权利要求8所述的系统,其特征在于,所述待分析任务集是由集中存储于数据库或文件中的网页链接构成。
一种大规模恶意网页检测方法及系统\n技术领域\n[0001] 本发明属于计算机安全领域,提出一种大规模恶意网页检测方法及系统,采用三层并行架构和分层监控保障的策略,联合使用虚拟主机技术和并行沙盒技术,构建大规模持续运行的自动化分析环境,动态检测网页中包含的网络木马威胁。\n背景技术\n[0002] 目前互联网已经成了传播恶意程序的重要途径。根据中国互联网络信息中心(CNNIC)2008年1月发布的《中国互联网络发展状况统计报告》,我国网民人数已超过2亿,网民在日常生活中对万维网的依赖将越来越强。同时,我国互联网资源也在迅猛增长,域名、网站、网页的年增长率都超过60%。然而,近两年基于互联网的安全问题却层出不穷,并有逐渐加剧之势。2007年网民电脑感染恶意代码的比率高达90.8%,接近一半的网民有个人信息、账号被盗或被修改的经历。\n[0003] 据统计,2008年1月至10月,全国约有8100多万台电脑(包含企业用户)曾经被病毒感染,其中通过网页挂马方式被感染的超过90%。近两年来,木马病毒已经成为恶意代码发展的主要方向,从2007、2008两年来反病毒厂商截获的新增病毒样本数来看,木马病毒的比例都占到60%以上。通过在网页上挂马,利用浏览器及其插件的漏洞,获得执行权限,进而劫持浏览器,植入木马病毒,是当前木马病毒传播的主要途径。\n[0004] 传统的网页木马检测技术通常依靠基于静态特征的方法对网页中包含的恶意代码进行扫描和识别[参见专利:基于统计特征的网页恶意脚本检测方法,专利号ZL200610152531.8,北京理工大学]。但网页木马编写者往往使用了“免杀”技术,利用页面混淆和加密等各种方法躲避反病毒软件的检测。因此,仅仅给出某个网页文档中包含网页木马的告警信息是不充分的。\n[0005] 针对浏览挂马网页会对系统造成恶意侵害的行为特点,研究领域提出了基于客户端蜜罐技术思路的动态行为检测方法,该方法依据网页木马对蜜罐环境的“损害结果”进行判定,对混淆机制免疫、能够检测新出现网页木马,被作为监测网页木马所普遍应用的新型技术。在部署上,传统的高交互蜜罐常依赖虚拟主机程序(如VMWare,QEMU等)来构建沙箱,沙箱又叫沙盒,用于为一些来源不可信、具备破坏力或无法判定程序意图的程序提供试验环境。通常,这种技术被计算机技术人员广泛使用,尤其是计算机反病毒行业,沙箱是一个观察计算机病毒的重要环境。沙盒中的所有改动对操作系统不会造成损失。通过传统方式部署,一个虚拟主机节点内进行实现一个沙箱环境,同一时期仅能运行单个任务,分析效率较低,且未提供明确的保障措施保证系统的持续运行。[参见:基于客户端蜜罐的恶意网页检测系统的设计与实现,孙晓妍、王洋、祝跃飞、武东英,计算机应用,2007年第27(7)卷;All Your iFRAMEs Point to Us,Niels Provos Panayiotis MavrommatisMoheeb Abu Rajab Fabian Monrose,17th USENIX Security Symposium]\n发明内容\n[0006] 本发明为提高分析效率,提出一种三层并行架构的恶意网页检测方法及系统,通过分层控制来保障系统的持续运行。所述系统提供了高效自动化分析环境,可持续运行、动态检测网页中的网络木马威胁。\n[0007] 本发明的技术方案概述如下:\n[0008] 一种大规模恶意网页检测方法,其步骤包括:\n[0009] 1)将若干检测服务器通过网络互接,在某一检测服务器上设置待分析任务集;\n[0010] 2)在各个检测服务器内部署节点自动分发模块,利用虚拟主机实现分析节点分发,并行部署多个分析节点,同一服务器内的所有节点构成一个节点簇,部署节点簇监控模块,通过访问分析节点内部文件的方式监控分析节点的运行情况,对节点簇内所有节点状态进行监控,如果节点运行不正常,则调用脚本程序重置分析节点;\n[0011] 3)分析节点通过内部网络连接待分析任务集获取待分析任务,实现任务的分布式调度,分析节点内部部署蜜罐环境和挂马网页检测模块,构建并行沙箱环境实现待分析任务并行化检测;由检测状态监控模块监控挂马网页检测模块的运行,检测结果保存在服务器上的分析结果数据库中。\n[0012] 所述待分析任务集通过网页爬虫或其他方式收集到。\n[0013] 所述节点分发模块通过网络获取分析节点的初始镜像,利用虚拟机程序提供的API接口编写的虚拟机复制脚本,自动在每台物理主机上部署多个分析节点。\n[0014] 所述节点簇监控模块应用虚拟机程序所提供的API接口,读取各个分析节点内部部署的检测状态监控模块记录的挂马网页检测模块运行状态信息,实现对分析节点的状态监控,当获取状态日志文件失败,或状态日志文件提示分析节点中部署的挂马网页检测模块失效,则调用脚本程序重置分析节点。\n[0015] 在分析节点内部部署的蜜罐环境包括:\n[0016] 选择含有易被网页木马利用的漏洞的操作系统和浏览器版本的安装盘来安装操作系统环境;\n[0017] 选择安装特定版本的常被网页木马利用的浏览器插件软件;\n[0018] 安装挂马网页检测模块的自动更新程序。\n[0019] 在分析节点内部部署的挂马网页检测模块包括:\n[0020] 任务调度模块:在分析节点内运行任务调度程序,获取待分析任务集;\n[0021] 并行沙箱控制模块:构建并行沙箱程序,捕获浏览器在访问待分析任务集后所产生的系统行为信息;\n[0022] 日志解析和挂马网页判断模块:浏览器访问待分析任务集后,对访问过程中记录下来的系统行为信息进行分析,判定是否为挂马网页行为。\n[0023] 所述任务调度模块的任务调度方法包括以下步骤:\n[0024] 1.读取配置信息;\n[0025] 2.加载系统行为监控驱动程序;\n[0026] 3.获取待分析任务集成功,则获取一个空置的沙箱,创建新的系统行为日志文件记录访问待分析任务集期间系统的行为;\n[0027] 4.启动浏览器访问待分析任务集中的网页链接,系统监控程序记录沙箱内的系统资源的访问信息;\n[0028] 5.调用日志解析和挂马网页判断模块解析日志文件,并判断该网页链接是否挂马网页。\n[0029] 所述解析日志文件判断网页链接是否为挂马网页的方法包括以下步骤:\n[0030] 1.从配置文件中读取新建进程的白名单、可执行文件的后缀名名单、系统启动文件名单和控制系统启动的注册表项及其变量名单;\n[0031] 2.从API调用的参数列表中获取创建进程名,若进程名不在白名单内,即判断该网页为挂马网页;\n[0032] 3.从API调用的参数列表获取创建文件名,若文件名后缀包含在可执行文件名后缀名单内,即判断该网页为挂马网页;\n[0033] 4.从API调用的参数列表获取修改文件路径,若系统启动文件名包含在系统启动文件路径中,即判断该网页为挂马网页;\n[0034] 5.从API调用的参数列表获取创建或修改的注册表项和变量名,若注册表项和变量名包含在控制系统启动的注册表项/变量名单中,即判断该网页为挂马网页。\n[0035] 一种大规模恶意网页检测系统,其特征在于,采用三层并行架构:\n[0036] 第一层,并行部署若干检测服务器通过网络互接,构建检测服务器机群,在某一检测服务器上设置待分析任务集;\n[0037] 第二层,各个检测服务器内部署有节点自动分发模块,所述节点自动分发模块利用虚拟主机实现分析节点分发,并行部署多个分析节点;同一检测服务器内的所有节点构成一个节点簇,部署有节点簇监控模块,所述节点簇监控模块通过访问分析节点内部文件的方式监控分析节点的运行情况,对节点簇内所有节点状态进行监控,如果节点运行不正常,则调用脚本程序重置分析节点;\n[0038] 第三层,分析节点通过内部网络连接待分析任务集获取待分析任务,实现任务的分布式调度,分析节点内部署了蜜罐环境和挂马网页检测模块,构建并行沙箱环境实现待分析任务并行化检测;由检测状态监控模块监控挂马网页检测模块的运行,检测结果保存在服务器上的分析结果数据库中。\n[0039] 所述并行部署的服务器群的规模随分析规模扩大的需求的动态扩展。\n[0040] 所述待分析任务集是由集中存储于数据库或文件中的网页链接构成。\n[0041] 与现有技术相比,本发明的有益效果是:\n[0042] 1)本发明提供的三层并行架构中的第一层,并行的物理主机(服务器)独立进行自我管理,可根据系统需要动态增加物理主机的数量;任务调度位于并行架构中的第二层,通过分布在分析节点上的任务调度模块连接数据库申请任务,实现了分布式的任务调度,可根据物理主机的性能修改每台主机上的节点数配置;这种架构保证了各物理主机之间以及各分析节点间的互相独立和自我维护,物理主机和节点数目的动态扩充不会影响系统的整体运行,单个分析节点的失效也不会影响系统整体的功能;\n[0043] 2)本发明提出的分层监控保障策略,以节点簇为单位进行节点运行状态的实时监测可有效监管分析节点的运行状态,当分析节点出现异常时,监控程序利用虚拟主机程序提供的API可方便的重置分析节点的状态,保障整个分析环境的持续稳定运行;节点自动分发策略可实现节点运行环境的高效更新;挂马网页检测程序自动更新策略,可方便的实现挂马网页检测程序的更新;在分析节点层实现并行沙箱的调度控制,在同一个节点内可同时多路并行检测多个URL,比传统的单任务的动态网马检测系统分析效率更高;\n[0044] 3)本发明的分析环境是针对网页挂马经常利用到的漏洞精心部署的高交互蜜罐环境,与受害Web用户的系统配置类似,在这样的环境中动态运行浏览器访问指定的网页链接,可更有效触发恶意网页中包含的恶意行为,可有效检测杀毒软件不能检测出的经过加密处理的恶意网页;本发明提出的网页挂马的判断的依据,根据沙箱内进程创建进程、下载可执行文件系统、修改启动和文件和注册表启动项等行为判断网页是否挂马,标准明确,误报率低,可有效识别恶意网页。\n附图说明\n[0045] 图1是大规模部署恶意网页检测系统的结构示意图\n[0046] 图2是单个物理主机的架构示意图\n[0047] 图3是分析节点内挂马网页检测模块的架构示意图\n[0048] 图4是挂马网页检测程序中的任务调度流程示意图\n[0049] 图5是节点簇监控程序的流程示意图\n[0050] 图6是恶意网页检测系统中挂马判断的流程示意图\n具体实施方式\n[0051] 本发明综合使用虚拟主机技术和恶意代码分析领域中基于Copy on write思想的轻量级沙箱技术[参见:A Feather-weight Virtual Machine for Windows Applications,YangYu,Fanglu Guo,Susanta Nanda,Lap-chung Lam,Tzi-cker Chiueh,Proceedings of the2nd international conference on Virtual execution environments],下面结合附图和具体实施方式对本发明作进一步详细描述:\n[0052] 本发明中定义的“任务集”是由集中存储于数据库中的待检测URL构成;\n[0053] 本发明定义“分析节点簇”为单台物理主机(检测服务器)内部署的若干分析节点的集合,每台物理主机(检测服务器)上部署的所有分析节点构成一个分析节点簇。每个分析节点簇所能包含的节点数量规模与该服务器的硬件性能相关,可进行动态配置。\n[0054] 本发明定义的“分析节点”是指安装部署了特定的蜜罐环境的分析机,利用虚拟主机构建分析节点,可以方便的进行分析机的状态重置等维护;在分析节点内部署的挂马网页检测程序,实现分析任务的调度和网页挂马的判定。\n[0055] 本发明定义的“并行沙箱”是指在分析节点内部,由挂马网页检测程序控制调度的,通过内核级API HOOKING技术实现的受控执行环境。通过对沙箱内访问的资源进行名字空间重定向,可实现沙箱与沙箱之间,沙箱与系统之间的相互隔离,保障沙箱内部运行的进程不会对系统造成危害,也不会影响系统内部其他并行的沙箱的行为;\n[0056] 本发明定义“节点簇自动分发模块”是指为提高节点分发效率,而部署在物理主机上的节点簇自动分配程序,该程序利用虚拟机软件提供的API和配置文件中的设定信息,自动获取分析节点的系统镜像并进行拷贝分发。\n[0057] 本发明定义“节点簇监控模块”是指为了保障分析节点正常运行,而部署在物理主机上的节点簇监管程序,该程序利用虚拟机软件提供的API,实时监控分析节点内部的状态日志文件,当获取状态日志文件失败,或状态日志文件提示分析节点中部署的挂马网页检测程序失效,则通过预先定义好的策略调用脚本程序重置分析节点,保障分析节点的持续运行。\n[0058] 本发明的系统整体架构可参见附图1,主要包括以下部分:\n[0059] 1)待分析URL数据库(任务集):待分析URL数据库内存储通过网页爬虫或通过其他方法收集到的待检测的Web页面链接地址,这些URL是本系统中的任务源,将提供给挂马网页检测服务器群分析;\n[0060] 2)挂马网页检测服务器群:挂马检测服务器群由一个或多个物理主机(分析节点簇)构成,这些物理主机(分析节点簇间)相互独立,各自管理自己内部的分析节点。各分析节点,即部署了特定的蜜罐环境,并安装了挂马网页检测程序的虚拟分析主机,通过内部网络与待分析URL数据库相连,分别获取URL任务集进行检测;\n[0061] 3)分析结果数据库:通过挂马网页检测程序深度分析后验证的挂马网页,会记录下分析时间和分析结果并保存在挂马网页数据库中,该数据将用于挂马网页的追踪分析和为上网用户提供网页安全度的参考信息。\n[0062] 本发明中的单个检测服务器的架构可参见附图2,也就是一个独立的分析节点簇,其部署中主要包括以下部分:\n[0063] 1)节点自动分发模块:由于系统中可能会需要部署多个(几百个甚至上千个)分析服务器,要有效的在服务器中部署分析节点,要求系统提供自动高效的节点分发策略。本系统通过在物理主机中部署分析节点分发模块来实现这一要求,分析节点分发模块通过网络获取分析节点的初始镜像,再利用虚拟机程序提供的API接口编写的虚拟机复制脚本,自动在每台服务上部署多个分析节点,并自动生成虚拟机重启脚本程序;按照脚本设定进行分发,设定的信息主要包括:镜像名生成规则,镜像数量,要设置的snapshot名等,对于相同配置的服务器,这些信息是相同的。\n[0064] 2)节点簇监控模块:在物理主机的Host OS内部署分析节点簇监控模块,应用虚拟机程序所提供的API接口,读取分析节点内部部署的检测状态监控模块记录的检测程序运行状态信息,实现对分析节点的状态监控,当节点出现异常时(获取状态日志文件失败,或状态日志文件提示分析节点中部署的挂马网页检测程序失效),调用由节点分发模块自动生成的重启脚本来重启分析节点,保障节点的持续运行。\n[0065] 3)分析节点及其重置脚本:分析节点是指安装部署了特定的蜜罐环境的虚拟分析机,利用虚拟主机构建分析节点,可以方便通过API对其进行监控,必要时可通过重置脚本对其进行状态重置等维护;\n[0066] 本发明中的单个分析节点配置,主要包括以下内容\n[0067] 1)分析节点蜜罐环境的部署:\n[0068] a)操作系统和浏览器的选择:选择目前主流的,含有易被网马利用的漏洞的操作系统和浏览器版本的安装盘来安装操作系统环境,并保持操作系统和浏览器的稳定性;\n[0069] 常见漏洞软件的选择:安装特定版本的常被网马利用的浏览器插件软件,关闭这些软件的自动更新选项,保持系统版本的稳定性;\n[0070] b)挂马网页检测程序的自动更新:由于需要进行大规模部署,程序更新的过程也相应的需要自动化进行。本发明提供的自动更新的方法是,当系统重启时,通过自动更新程序来获取最新的分析软件,实现挂马网页检测程序的自动更新;\n[0071] 2)挂马网页检测模块的架构可参见附图3,主要包括以下内容:\n[0072] a)任务调度模块:在分析节点内运行任务调度程序,通过检测任务调度接口连接待分析URL数据库获取要分析的网页链接,并通过检测任务调度接口将分析结果存入分析结果数据库;\n[0073] b)并行沙箱控制模块:在客户端蜜罐中部署基于内核级API Hooking技术构建并行沙箱程序Hook沙箱内进程对内存、进程、文件系统、注册表的行为,捕获浏览器在访问URL后所产生的系统行为。\n[0074] c)日志解析和挂马判断模块:当浏览器访问URL后,需要访问过程中记录下来的系统行为信息进行分析,判定这些行为是否为挂马网页所特有的行为。如创建异常的新进程、没有得到用户许可即下载可执行文件、修改启动文件或注册表的启动表项等情况,即可判断该URL所指向的页面挂马。\n[0075] d)检测程序状态监控模块:检测状态监控模块用于监控挂马网页检测程序运行正常,则设置监测文件内容为“ok”,当挂马网页检测程序发现错误时,则置该文件内容为“error”。\n[0076] 根据发明内容中的技术方法,我们实施了一个大规模的网马检测分析环境,结合附图说明我们的具体的实施方式如下:\n[0077] 1)检测服务器层的实施策略:\n[0078] a)分析节点簇的部署:目前我们的系统实施中采用64位服务器构建分析节点簇,每个服务器中部署8个虚拟主机分析节点,形成一个分析节点簇,每个节点内部署10个并行沙箱,单台服务器可同时进行80个URL的并行分析;\n[0079] b)分析节点的分发:当需要更新分析节点的环境时,可通过远程控制启动运行分析节点分发模块,通过ftp获取分析节点的初始镜像,再利用虚拟机程序提供的API接口编写的虚拟机复制脚本,自动在每台服务上拷贝多个分析节点和生成快照,然后生成虚拟机启动脚本程序;\n[0080] 2)分析节点簇的监控流程可参见图5,具体监控方法如下:\n[0081] a)启动节点簇监控模块\n[0082] b)读取节点簇配置文件信息,包括各节点虚拟文件的存储路径、检测时间间隔、重置时需要读取的快照镜像名等;\n[0083] c)循环访问每个分析节点\n[0084] c1、若虚拟主机未运行,则无法读取监测日志文件,此时可认为该分析节点异常,重置分析节点;\n[0085] c2、读取网页挂马分析程序监测日志文件,若该检测文件不存在,则可认为是挂马网页检测程序出现异常,重置分析节点;\n[0086] c3、读取网页挂马分析程序监测日志文件内容,若文件内容为“ok”,则认为分析机状态正常,若文件内容为“error”,则认为网页挂马分析程序状态异常,重置分析节点;\n[0087] d)当检测完最后一个分析机后睡眠等待一段时间,在我们的实现过程中,设置等待时间为5分钟,之后重复c的轮询检查过程。\n[0088] 3)分析节点的实施策略:\n[0089] a)操作系统和浏览器选择目前挂马网页主要的目标操作系统Windows XP SP2版本,浏览器采用IE 6.0.2900.2180.xpsp_sp2_rtm.040803-2158.版本,这样的系统配置会包含常被网马利用的MS06014漏洞;\n[0090] b)安装特定版本的常被网马利用的浏览器插件软件,包括:Adobe Flash Player,RealPlayer等,关闭这些软件的自动更新选项,保持软件版本的稳定性;\n[0091] c)设置分析节点的网络配置为DHCP动态获取IP;\n[0092] d)在此系统中预先安装编译好的自动更新程序,该程序的快捷方式添加系统启动栏中,当系统重启时,便自动运行自动更新程序,从服务器上获取挂马网页检测程序的最新版本。\n[0093] 4)挂马网页检测程序任务调度流程可参见附图4,主要包括以下步骤:\n[0094] a)启动挂马网页检测程序;\n[0095] b)读取配置信息,包括:启用并行沙箱的个数(这里设定10)、任务源数据库服务器的配置、单个任务运行的时间(这里设定为5分钟),等信息;\n[0096] c)加载系统行为监控驱动程序;\n[0097] d)访问数据库获取URL,如成功,则获取一个空置的沙箱,创建新的系统行为日志文件记录访问该URL期间,系统的行为;\n[0098] e)启动浏览器访问待分析链接,系统监控程序会hook系统API,记录沙箱内的进程、文件、注册表等系统资源的访问信息;\n[0099] f)当单个任务运行的时间达到配置设定的时间时,停止沙箱,关闭日志文件;\n[0100] g)解析日志文件并判断该URL是否挂马;\n[0101] 5)解析日志文件并判断该URL是否挂马的流程可参见附图6,实施策略如下:\n[0102] a)从配置文件中读取新建进程的白名单、可执行文件的后缀名名单、系统启动文件名单、控制系统启动的注册表项及其变量名单;\n[0103] b)访问并探测日志文件是否存在,如文件不存在或文件大小异常,则判定此次分析失败,解析过程退出;否则继续;\n[0104] c)读取文件行,获取api信息和api调用参数列表,判断API所属类型,若API函数为进程创建函数,转向步骤d;若API函数为创建文件函数,转向步骤e;若API函数为修改文件函数,转向步骤f;若API函数为新建/修改注册表项函数,转向步骤g;\n[0105] d)从API调用的参数列表中获取创建进程名,判断进程名是否在白名单,若不在白名单内,即判断该网页挂马;\n[0106] e)从API调用的参数列表获取创建文件名,判断该文件名后缀是否包含在配置文件提供的可执行文件名后缀中,若包含在该名单内,即判断该网页挂马;\n[0107] f)从API调用的参数列表获取修改文件路径,判断该文件名是否包含在配置文件提供的系统启动文件路径中,若包含在该名单内,即判断该网页挂马;\n[0108] g)从API调用的参数列表获取创建/修改的注册表项和变量名,判断该注册表项和变量名是否包含在配置文件提供的控制系统启动的注册表项/变量名单中,若包含在该名单内,即判断该网页挂马。\n[0109] 如上所述,本发明利用高交互蜜罐主机技术和并行沙箱技术,针对网页木马的行为特点,提出一种构建大规模恶意网页检测系统的方法。目前,本发明中的方法已被应用于北京大学信息安全工程中心挂马网页检测平台,已持续运行数月,检测出上万个恶意网页,很好的实现了本发明的目的。本发明具有很好的实用性和推广应用前景。\n[0110] 尽管为说明发明目的公开了具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
法律信息
- 2019-09-03
未缴年费专利权终止
IPC(主分类): G06F 21/22
专利号: ZL 200910092887.0
申请日: 2009.09.15
授权公告日: 2011.09.07
- 2011-09-07
- 2010-05-26
实质审查的生效
IPC(主分类): G06F 21/22
专利申请号: 200910092887.0
申请日: 2009.09.15
- 2010-04-07
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2009-08-26
|
2009-04-03
| | |
2
| |
2007-02-28
|
2006-09-28
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |