本发明专利技术涉及一种Windows下智能化主动防御系统和方法。所述系统包括主动防御子系统和机器学习子系统。主动防御子系统利用内核Hook过滤驱动等方式,进行程序关键行为的监视和过滤;恶意程序清除功能依靠一些常见的Anti Rootkit手段,通过获取到最高的系统权限,对恶意程序进行有效的清除;机器学习子系统还包括机器学习引擎和沙盒,用于实现自我学习、恶意行为智能化判定的功能。本发明专利技术所述系统和方法能够智能化地自动识别恶意行为,无需过多人工判断,可以有效地减少人工操作,无论是对于专业的病毒分析人员还是普通用户,都减轻了使用的负担。并且在使用的过程中可以自动地提高准确率,实现了无需升级越用越准确的目标。
【技术实现步骤摘要】
一种Windows下智能化主动防御系统及方法
本专利技术针对于恶意软件的防范,提出了一种新的系统和方法,目的在于改进现有的恶意软件防范技术,增加防御的自动化和智能化,有效地识别恶意行为并进行良好的清除。
技术介绍
当今互联网技术迅速发展,应用也越来越广泛,遍布整个社会的各个行业各个方面。同时,互联网的安全形势十分严峻,不容忽视。各种恶意程序泛滥,造成的数据泄露与网络欺诈数不胜数,使公民个人和国家财产受到了巨大的损失。然而,整个安全行业对于恶意程序的处理策略整体还较为落后,没有跟上形势的发展,主要的技术还处于查杀病毒这一种被动的传统方法。虽然已不仅是简单地依赖于特征码的识别,也采用了主动防御等技术,但仍然过分依赖于人的作用。特征码需要病毒分析人员去提取,十分耗费脑力和时间,一个工作日不过处理三、五十个样本,而且现在的恶意程序很多采用了变形等保护技术,使得特征码难以提取,且结果远不如行为分析准确;主动防御系统监测到程序的敏感行为,最终还需报告给用户,由用户做决断,用户又缺乏相关的知识和技术,而且误报的几率也比较高,将决断的责任又推给了用户。总之,对于防范恶意程序的行为还是需要不断地投入人力,难以做到一劳永逸,没有发挥出计算机的自主学习能力。
技术实现思路
针对当前的主动防御系统的依赖人工决断的缺陷,本专利技术提供一种Windows下智能化主动防御系统及方法,既符合主动防御系统的功能等要求,还提高了主动防御的智能化和准确率,使其可以自主准确地判断恶意程序的存在并有效地清除,而且可以在使用的过程中不断提高系统的识别能力。为实现上述目的,本专利技术采用如下技术方案。一种Windows下智能化主动防御系统,包括:主动防御子系统,机器学习子系统。主动防御子系统,用于监测系统中程序的关键行为;机器学习子系统,用于实现自我学习、恶意行为智能化判定的功能。主动防御子系统具有恶意程序监视和恶意程序清除两部分功能。主动防御子系统利用内核Hook过滤驱动等方式,进行程序关键行为的监视和过滤。恶意程序清除功能依靠一些常见的AntiRootkit手段,通过获取到最高的系统权限,对恶意程序进行有效的清除。机器学习子系统包括:机器学习引擎,沙盒(Sandbox)。其中,机器学习引擎,是机器学习子系统的核心,用于进行恶意行为的自我学习和智能化判定,通过主动防御系统生成的行为状态序列,交给机器学习引擎进行以学习到的知识进行判定,并可以人工进行结果的检验和校正。Sandbox主要是创建一个虚拟化的执行环境,用于生成初始的调用状态序列以便于机器学习引擎进行训练。也是通过一些内核挂钩和过滤驱动,但不仅需要进行监视程序行为,为了保证对真实的系统不产生影响,还需要对一些程序的关键行为重定向到可控制的存储区,在程序结束后可进行清除。应用所述系统进行防御的方法,包括以下内容:首先,系统实现主动防御系统的主要功能,利用多种手段实现对Windows下应用程序行为的监控,例如进程创建,磁盘读写,网络访问及注册表修改等。采用比较可靠的内核Hook技术,对SSDT(SystemServicesDescriptorTable,系统服务描述符表)、ShadowSSDT等关键内核结构进行挂钩;对于I/O等外部设备利用过滤设备对象进行附加,从而加入相关的监控和记录代码,可以获取到程序的系统调用行为和外部设备使用行为,并将其行为整理为相关的马尔科夫状态序列。对于已识别到的恶意程序,将其彻底清除,包括终止相关进程、清除其创建的相关文件、恢复其修改的注册表数据;对于采用了Rootkit等自我保护手段的顽固恶意程序,还需要获取系统的高级权限破除程序的自我保护彻底将其清除。其次,为了实现智能化的主动防御,准确地自动识别出程序的异常恶意行为,需要采用机器学习的理论,设计并实现一个机器学习引擎,并且需要实现一个Sandbox系统为机器学习引擎产生初始的训练数据。机器学习算法采用状态迁移模型,基于马尔科夫链理论,比较符合程序的指令执行过程化的特点。通过对机器学习引擎进行初始化的训练,使其具有初步的判断能力,然后可以与主动防御系统相结合,并由主动防御系统提供程序的行为状态序列交由机器学习引擎,判断程序是否存在恶意的目的。在此过程中,同时是在对机器学习引擎不断地进行训练,以主动防御系统代替了Sandbox的作用,实现了自我的反馈优化升级。与现有技术相比,本专利技术具有以下明显优势:本专利技术所述系统和方法能够智能化地自动识别恶意行为,无需过多人工判断,可以有效地减少人工操作,无论是对于专业的病毒分析人员还是普通用户,都减轻了使用的负担。并且在使用的过程中可以自动地提高准确率,实现了无需升级越用越准确的目标。附图说明图1为本专利技术所涉及系统设计结构图;图2为本专利技术所涉及系统部署结构图。具体实施方式下面结合附图与实例对本专利技术做进一步说明。本系统的具体的框架结构图如图1所示。总体上可以分为两个方向:一是主动防御系统;另一是机器学习子系统。针对传统的主动防御系统,本系统做了以下的优化处理,以适应新的要求:在监控程序的具体行为的基础上,完成对程序的关键行为状态的跟踪记录和抽象化描述,将生成的数据输入到经过训练的机器学习引擎,为与机器学习子系统交互留下数据接口。从机器学习子系统得到分析的结果,并根据结果自动地采取所需要的相应措施,一切均是静默的执行,无需用户的参与,无需用户承担判断的责任。总而言之,升级了传统的主动防御系统起到的监测报告然后再依赖于人的处理这一流程,留出了与机器学习子系统交互的通道,代替了人的作用,实现了整个过程的自动化。机器学习子系统,是整个体系的核心,与主动防御子系统进行着密切的交互,并不断地进行着自我学习。本专利技术所涉及系统部署结构图如图2所示。本系统部署在一个局域网或广域网环境中,需要部署好一台服务器,并需要客户机能够连接到服务器上,另外需要部署一台后台控制机,只需与服务器相连接,不与客户机直接连接。应用本系统进行防御的方法包括以下步骤:步骤1,首先在服务器上部署整个机器学习引擎核心,并将服务器为中心与客户机和后台控制机连接。步骤2,在后台控制器上部署Sandbox模块,并建立黑名单与白名单列表库,并将已知的系统文件MD5值写入白名单,将常见的恶意程序的MD5值写入黑名单。步骤3,在Sandbox中运行1000个左右的样本,将产生的结果报告传输到机器学习引擎核心服务器,作为初始输入。根据机器学习的结果与已知的样本性质进行对比,将不一致的强制写入黑白名单中,进行人工校准,保证训练的准确性。步骤4,完成初始化训练后,可以在每个客户机上部署主动防御系统,部署完毕即可随系统而启动。步骤5,在部署的客户机上由主动防御系统进行实时监控,对于当前内存中存在的所有可执行代码文件的MD5值上传至后台控制器中。对于白名单中存在的文件直接放过,对于黑名单中存在的文件直接进行清除。步骤6,将存在未知可执行文件的进程的状态序列报告上传至机器学习引擎服务器,由机器学习引擎进行智能判断。如果属于正常状态转至步骤7,存在异常行为转至步骤8。步骤7,将状态正常的信息反馈给主动防御系统,系统放过该进程所有行为,并将未知文件上传至后台控制器中的隔离区。步骤8,将异常的信息反馈给客户机,由主动防御系统定位发生异常行为的可执行文件,本文档来自技高网...
【技术保护点】
一种Windows下智能化主动防御系统,其特征在于包括主动防御子系统和机器学习子系统;主动防御子系统用于监测系统中程序的关键行为;机器学习子系统用于实现自我学习、恶意行为智能化判定的功能;主动防御子系统具有恶意程序监视和恶意程序清除功能;主动防御子系统利用内核Hook过滤驱动等方式,进行程序关键行为的监视和过滤;恶意程序清除功能依靠一些常见的Anti Rootkit手段,通过获取到最高的系统权限,对恶意程序进行有效的清除;机器学习子系统还包括机器学习引擎和沙盒Sandbox;其中,机器学习引擎,是机器学习子系统的核心,用于进行恶意行为的自我学习和智能化判定,通过主动防御系统生成的行为状态序列,交给机器学习引擎进行以学习到的知识进行判定,并可以人工进行结果的检验和校正;Sandbox主要是创建一个虚拟化的执行环境,用于生成初始的调用状态序列以便于机器学习引擎进行训练;也是通过一些内核挂钩和过滤驱动,但不仅需要进行监视程序行为,为了保证对真实的系统不产生影响,还需要对一些程序的关键行为重定向到可控制的存储区,在程序结束后可进行清除。
【技术特征摘要】
1.一种Windows下智能化主动防御系统,其特征在于包括主动防御子系统和机器学习子系统;主动防御子系统用于监测系统中程序的关键行为;机器学习子系统用于实现自我学习、恶意行为智能化判定的功能;主动防御子系统具有恶意程序监视和恶意程序清除功能;主动防御子系统利用内核Hook、过滤驱动方式,进行程序关键行为的监视和过滤;恶意程序清除功能依靠一些常见的AntiRootkit手段,通过获取到最高的系统权限,对恶意程序进行有效的清除;机器学习子系统还包括机器学习引擎和沙盒Sandbox;其中,机器学习引擎,是机器学习子系统的核心,用于进行恶意行为的自我学习和智能化判定,通过主动防御系统生成的行为状态序列,交给机器学习引擎,进行以学习到的知识进行判定,并可以人工进行结果的检验和校正;Sandbox主要是创建一个虚拟化的执行环境,用于生成初始的调用状态序列以便于机器学习引擎进行训练;通过一些内核挂钩和过滤驱动,但不仅需要进行监视程序行为,为了保证对真实的系统不产生影响,还需要对一些程序的关键行为重定向到可控制的存储区,在程序结束后可进行清除;应用智能化主动防御系统进行防御的方法,包括以下步骤:步骤1,首先在服务器上部署整个机器学习引擎核心,并将服务器为中心与客户机和后台控制器连接;步骤2,在后台控制器上部署Sandbox模块,并建立黑名单与白名单列表库,并将已知...
【专利技术属性】
技术研发人员:何泾沙,张跃骞,张伊璇,
申请(专利权)人:北京工业大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。