首页> 中国专利> 一种威胁处置方法及框架

一种威胁处置方法及框架

摘要

本发明涉及网络安全技术领域,尤其涉及一种威胁处置方法及框架、电子设备、计算机可读存储介质,该方法包括:读取脚本文件,并对脚本文件中的文本进行逐行扫描;根据扫描结果,进行词法分析与语法分析,生成抽象语法树;根据抽象语法树,按照语法规则将所有动作与预定义的原语进行匹配,生成执行流;根据执行流进行执行,对发现的原语进行API安全校验并调用对应的各威胁处置模块执行相应动作,完成威胁处置。本发明提供的威胁处置方法及框架专为病毒威胁处置设计,不受平台、架构、系统限制,能够进行流程编排,安全可控,学习成本低,且简单易用。

著录项

  • 公开/公告号CN112989345A

    专利类型发明专利

  • 公开/公告日2021-06-18

    原文格式PDF

  • 申请/专利权人 北京安天网络安全技术有限公司;

    申请/专利号CN202110284629.3

  • 发明设计人 张雷;徐翰隆;肖新光;

    申请日2021-03-17

  • 分类号G06F21/56(20130101);G06F21/57(20130101);G06F8/41(20180101);G06F8/658(20180101);H04L29/06(20060101);

  • 代理机构11609 北京格允知识产权代理有限公司;

  • 代理人张莉瑜

  • 地址 100195 北京市海淀区玉泉山闵庄路3号清华科技园·玉泉慧谷1号楼地上一层西侧、二层(地上两侧)

  • 入库时间 2023-06-19 11:29:13

说明书

技术领域

本发明涉及网络安全技术领域,尤其涉及一种威胁处置方法及框架、电子设备、计算机可读存储介质。

背景技术

近年来,网络安全威胁事件日益增多,造成大量终端受到破坏性打击。根据不同的病毒威胁,各种终端安全产品目前仅能够检测出可识别病毒并清除病毒载体,但仍然存在大量残留在系统存量的无效或已破坏的文件(或系统环境),没有一套完整、灵活、可配的处置方案。现有的定制化专杀脚本通常仅为简单的文件删除、注册表删除等一系列基础动作,无法进行流程判定。而能够进行流程判定的方法又依赖第三方开源库,例如:内嵌lua,python等解释器。在安全软件中利用这些开源解释器,有被黑客利用的风险,因为这种独立功能模块可编程性过于强大,无法校验输入数据的合法性,往往会带来更大的风险。

因此,针对以上不足,需要提供一种不受平台、架构、系统限制,能够进行流程编排,且安全可控,学习成本低,简单易用,专为病毒威胁处置设计的一套威胁处置方法及框架。

发明内容

本发明的目的是针对上述至少一部分不足之处,提供一种基于脚本语言的且仅为处置病毒提供能力的专用威胁处置方法及框架。

为了实现上述目的,本发明提供了一种威胁处置方法,包括如下步骤:

读取脚本文件,并对脚本文件中的文本进行逐行扫描;

根据扫描结果,进行词法分析与语法分析,生成抽象语法树;

根据所述抽象语法树,按照语法规则将所有动作与预定义的原语进行匹配,生成执行流;根据所述执行流进行执行,对发现的原语进行API安全校验并调用对应的各威胁处置模块执行相应动作,完成威胁处置。

优选地,所述威胁处置方法中,预定义的原语至少包括文件处置、进程处置、注册表处置、计划任务处置、系统服务处置、系统组策略处置、补丁修复处置、网络管控处置、内核对象处置、hook处置、内存处置、Rookit处置和物理设备处置15种处置分类;

原语的名称以处置分类作为前缀,具体执行动作作为后缀,并使用短下划线连接。

优选地,进行词法分析时,采用词法分析器,所述词法分析器用于根据输入执行关键字分析、标识符分析、字面量分析和符号分析,得到词法分析结果,以及将词法分析结果生成令牌并投递;

进行语法分析时,采用语法分析器,所述语法分析器用于接收所述词法分析器投递的令牌,根据输入执行对象分析、表达式分析、函数分析和流程分析,得到语法分析结果,以及将语法分析结果生成抽象语法树。

优选地,根据所述执行流进行执行,对发现的原语进行API安全校验并调用对应的各威胁处置模块执行相应动作时,包括:

执行所述执行流;

发现条件表达式判定,则执行条件表达式判定;

发现原语,则将原语与各所述威胁处置模块匹配;

匹配后执行相应的API安全校验;

校验成功后执行原语,并将参数传递到对应API中,调用对应的所述威胁处置模块执行相应动作;

在API执行完毕后,回收API返回数据;

继续所述执行流,至完成威胁处置。

优选地,所述威胁处置方法中,至少包括:病毒清除模块、环境清除模块、病毒免疫模块、环境修复模块、系统加固模块、补丁修复模块、网络管控模块和服务管控模块8种威胁处置模块。

本发明还提供了一种威胁处置框架,包括:输入器、解释器和执行器;其中,

所述输入器用于读取脚本文件,并对脚本文件中的文本进行逐行扫描;

所述解释器用于根据扫描结果,进行词法分析与语法分析,生成抽象语法树;

所述执行器包括多个威胁处置模块,所述执行器用于根据所述抽象语法树,按照语法规则将所有动作与预定义的原语进行匹配,生成执行流,以及根据执行流进行执行,对发现的原语进行API安全校验并调用对应的各威胁处置模块执行相应动作,完成威胁处置。

优选地,预定义的原语至少包括文件处置、进程处置、注册表处置、计划任务处置、系统服务处置、系统组策略处置、补丁修复处置、网络管控处置、内核对象处置、hook处置、内存处置、Rookit处置和物理设备处置15种处置分类;

原语的名称以处置分类作为前缀,具体执行动作作为后缀,并使用短下划线连接。

优选地,所述解释器包括词法分析器和语法分析器;

其中,所述词法分析器用于根据输入执行关键字分析、标识符分析、字面量分析和符号分析,得到词法分析结果,以及将词法分析结果生成令牌并投递;

所述语法分析器用于接收所述词法分析器投递的令牌,根据输入执行对象分析、表达式分析、函数分析和流程分析,得到语法分析结果,以及将语法分析结果生成抽象语法树。

本发明还提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述威胁处置方法的步骤。

本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述威胁处置方法的步骤。

本发明的上述技术方案具有如下优点:本发明提供了一种威胁处置方法及框架,本发明基于脚本语言实现,在得到用于处置的脚本文件后,根据脚本文件进行解释和执行,达到处置病毒/威胁的效果,不仅能够删除病毒实体文件,还能够阻断病毒横向传播,封禁病毒网络请求,以及对病毒感染的环境进行清除,也能够修复系统被更改的配置,对系统进行加固,修复系统漏洞。本发明专为威胁处置设计,执行的任何API(ApplicationProgramming Interface,应用程序接口)都会有相关安全校验机制,所有的处置动作都安全可控,可以屏蔽掉可能被黑客利用的相关能力,保证整个处置机制的安全性。

附图说明

图1是本发明实施例中一种威胁处置方法的步骤图;

图2是本发明实施例中一种威胁处置方法的流程示意图;

图3是本发明实施例中一种生成抽象语法树的流程示意图;

图4是本发明实施例中一种进行动作执行的流程示意图;

图5是本发明实施例中一种威胁处置框架的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1至图4所示,本发明实施例提供的一种威胁处置方法,包括如下步骤:

步骤101、读取脚本文件,并对脚本文件中的文本进行逐行扫描;

步骤102、根据扫描结果,进行词法分析与语法分析,生成抽象语法树;

步骤103、根据步骤102得到的抽象语法树,按照语法规则,将脚本中描述的所有动作与预定义的原语进行匹配,生成执行流;根据执行流进行执行,对发现的原语进行API安全校验,并调用对应的各威胁处置模块执行相应动作,完成威胁处置。

本发明提供的威胁处置方法针对处置脚本,对脚本文件进行逐行读取,并进行词法和语法分析,将处置脚本中的描述性语言生成抽象语法树,根据抽象语法树,按照语法规则明确执行流程,进行原语所对应的API调用。本发明通过使用脚本的方式动态地进行解释和执行去处置威胁的方法,能够有效、快速、完整地针对威胁进行合理处置,脚本的设计简单易用且拥有针对性,能够对已知病毒做到百分百的处置能力,而针对未知病毒,则可通过逆向分析后,快速产生处置方案,迅速针对大量终端进行下发处置;同时,通过API安全校验,本发明所有处置动作都安全可控,保证了整个处置机制的安全性,降低了黑客攻击风险。

原语指由若干条指令组成的程序段,用来实现某个特定功能。为更好地实现调用,优选地,本发明提供的威胁处置方法中,预定义的原语至少包括文件处置、进程处置、注册表处置、计划任务处置、系统服务处置、系统组策略处置、补丁修复处置、网络管控处置、内核对象处置、hook处置、内存处置、Rookit处置和物理设备处置15种处置分类,不同处置分类的原语可实现不同动作,从而执行不同的威胁处置功能。

原语的名称以处置分类作为前缀,具体执行动作作为后缀,并使用短下划线,即“_”连接。例如,对于文件处置中的文件删除动作,相应原语名称为“File_Delete”,其中“File”表示该原语所属处置分类为文件处置,“Delete”表示该原语定义的具体执行动作为文件删除;对于补丁修复处置中的补丁修复动作,相应原语名称为“patch_fix”,其中“patch”表示该原语所属处置分类为补丁修复处置,“fix”表示表示该原语定义的具体执行动作为补丁修复。本发明针对威胁处置进行了归类和细化,并通过原语名称进行区分,原语的处置分类至少包括15种,具体的个数及功能,则可根据实际需要进行设计。

优选地,如图3所示,步骤102中进行词法分析时,采用词法分析器,词法分析器用于根据输入执行关键字分析、标识符分析、字面量分析和符号分析,得到词法分析结果,如图3中步骤301所示,以及将词法分析结果生成令牌(Token)并投递,如图3中步骤302所示;步骤102中进行语法分析时,采用语法分析器,语法分析器用于接收词法分析器投递的令牌(Token),根据输入执行对象分析、表达式分析、函数分析和流程分析,得到语法分析结果,如图3中步骤303所示,以及将语法分析结果生成抽象语法树,如图3中步骤304所示。抽象语法树对应机器可识别的执行语义,分析时,脚本文件中的每一段都需进行词法和语法分析,然后生成抽象语法树,分析完一段后,继续循环执行下一段,进行循环分析,直至文本内容都转换至抽象语法树。具体如何利用词法分析器实现关键字分析、标识符分析、字面量分析和符号分析,以及如何利用语法分析器实现对象分析、表达式分析、函数分析和流程分析可参考现有技术,在此不再进一步赘述。

步骤102优选利用解释器实现,解释器对整个脚本文件进行分解,分解成一个个单词,这些单词有且只有以下几类:标识符、保留字、运算符、常量数据和分界符。解释器包括词法分析器和语法分析器,词法分析器能够把脚本中的一个个字母解析成有效的单词/串,语法分析器则利用词法分析器的结果作为输入来分析是否符合语法规则,并进行语义分析,最后生成语法树。解释器可基于C++编写。

优选地,步骤103中,按照语法规则将所有动作与预定义的原语进行匹配时,先根据动作的执行主体确定处置分类,匹配原语的前缀,再根据具体执行动作匹配原语的后缀。

优选地,如图4所示,步骤103中,根据抽象语法树,按照语法规则将所有动作与预定义的原语进行匹配,生成执行流,通过步骤401和步骤402实现,步骤401中进行抽象语法树分析,步骤402中生成执行流;步骤103中,根据执行流进行执行,对发现的原语进行API安全校验并调用对应的各威胁处置模块执行相应动作时,具体包括如下步骤:

执行执行流;

发现条件表达式判定,则执行条件表达式判定,通过步骤403实现;

发现原语,则将原语与各威胁处置模块匹配,通过步骤404实现;

匹配后执行相应的API安全校验,通过步骤405进行判定,是则继续执行,否则结束;

校验成功后执行原语,并将参数传递到对应API中,调用对应的威胁处置模块执行相应的动作,通过步骤406实现;

在API执行完毕后,回收API返回数据,通过步骤407实现;

继续执行流至完成威胁处置。

步骤103优选利用执行器实现,执行器根据生成的抽象语法树进行逻辑上的业务流程判定和执行对应的动作。执行器可基于C++编写。

在一些优选的实施方式中,该威胁处置方法中可调用的威胁处置模块优选与预定义的原语的种类相对应,即可调用的威胁处置模块至少对应包括有文件处置模块、进程处置模块、注册表处置模块、计划任务处置模块、系统服务处置模块、系统组策略处置模块、补丁修复处置模块、网络管控处置模块、内核对象处置模块、hook处置模块、内存处置模块、Rookit处置模块和物理设备处置模块15种威胁处置模块,以便执行不同种类原语所对应的处置动作。

在另一些优选的实施方式中,为实现不同的病毒威胁处置功能,该威胁处置方法中,可调用的威胁处置模块至少包括:病毒清除模块、环境清除模块、病毒免疫模块、环境修复模块、系统加固模块、补丁修复模块、网络管控模块和服务管控模块8种威胁处置模块。通过执行不同的威胁处置模块,可实现病毒清除、环境清除、病毒免疫、环境修复、系统加固、补丁修复、网络管控及服务管控等不同功能。如需拓展处置功能,也可以通过增加威胁处置模块进行实现。

如图5所示,本发明还提供了一种威胁处置框架,包括输入器501、解释器502和执行器503。其中:

输入器501用于读取脚本文件,并对脚本文件中的文本进行逐行扫描。输入器501可参考现有技术,在此不再进一步赘述。

解释器502用于根据扫描结果,进行词法分析与语法分析,生成抽象语法树。

执行器503包括多个威胁处置模块,执行器用于根据抽象语法树,按照语法规则,将脚本中描述的所有动作与预定义的原语进行匹配,生成执行流,以及根据执行流进行执行,对发现的原语进行API安全校验并调用对应的各威胁处置模块执行相应动作,完成威胁处置。

本发明针对威胁处置进行了归类和细化,优选地,该威胁处置框架中,预定义的原语至少包括文件处置、进程处置、注册表处置、计划任务处置、系统服务处置、系统组策略处置、补丁修复处置、网络管控处置、内核对象处置、hook处置、内存处置、Rookit处置和物理设备处置15种处置分类。原语的名称以处置分类作为前缀,具体执行动作作为后缀,并使用短下划线连接。

优选地,解释器包括词法分析器和语法分析器;其中,词法分析器用于根据输入执行关键字分析、标识符分析、字面量分析和符号分析,得到词法分析结果,以及将词法分析结果生成令牌并投递;语法分析器用于接收词法分析器投递的令牌,根据输入执行对象分析、表达式分析、函数分析和流程分析,得到语法分析结果,以及将语法分析结果生成抽象语法树。

现代解释器一般用于实现的步骤包括:分析字符流,投递到词法分析器,语法分析器,进行语义分析,生成中间代码,经过代码优化生产目标代码,并编译成bytecode(字节码),然后投递执行。

而本发明设计的解析器,继承了现代解析器的词法、语法分析设计思想,依旧是通过逐行进行扫描,进行词法分析,生成Token,再将Token投递到语法分析器中,进行语义语法分析,通过循环分析的方式,将整个文本分析成抽象语法树。

优选地,执行器用于根据执行流进行执行,对发现的原语进行API安全校验并调用对应的各威胁处置模块执行相应动作时,包括如下步骤:

执行执行流;

发现条件表达式判定,则执行条件表达式判定;

发现原语,则将原语与各威胁处置模块匹配;

匹配后执行相应的API安全校验;

校验成功后执行原语,并将参数传递到对应API中,调用对应的威胁处置模块执行相应动作;

在API执行完毕后,回收API返回数据;

继续执行流,至完成威胁处置。

区别于常见的执行器,本发明所设计的执行器主要功能是分析抽象语法树,明确执行流程,将所有动作和预定原语进行匹配,生成执行流。执行器根据执行流进行执行,在执行的过程中,发现条件判定则执行条件判定,发现原语则执行API安全校验,校验成功后执行对应处置动作,并将参数传递到对应API中,当API执行完毕后,执行器负责回收返回数据,继续执行余下流程。

根据执行器设计原理,本发明可设置各种威胁处置模块来实现多种威胁处置调用。在一些优选的实施方式中,该威胁处置框架中可调用的威胁处置模块优选与预定义的原语的种类相对应,即可调用的威胁处置模块至少对应包括有文件处置模块、进程处置模块、注册表处置模块、计划任务处置模块、系统服务处置模块、系统组策略处置模块、补丁修复处置模块、网络管控处置模块、内核对象处置模块、hook处置模块、内存处置模块、Rookit处置模块和物理设备处置模块15种威胁处置模块,以便执行不同种类原语所对应的处置动作。

在另一些优选的实施方式中,为实现不同的病毒威胁处置功能,该威胁处置框架中,可调用的威胁处置模块至少包括:病毒清除模块、环境清除模块、病毒免疫模块、环境修复模块、系统加固模块、补丁修复模块、网络管控模块和服务管控模块8种威胁处置模块。通过执行不同的威胁处置模块,可实现病毒清除、环境清除、病毒免疫、环境修复、系统加固、补丁修复、网络管控及服务管控等不同功能。如需拓展处置功能,也可以通过增加威胁处置模块进行实现。

具体地,例如针对AutoRun家族病毒,该病毒是一种通过U盘传播的病毒,利用windows系统的自动运行机制进行传播,感染该病毒会有如下各项恶意行为:

1:修改系统配置,勾选“隐藏已知文件类型的扩展名”;

2:修改注册表文件关联,将常规的文件打开,替换成病毒文件自身的文件进行打开;

3:遍历全盘,将所有可见的文件夹隐藏,并创建相同名称的可执行程序(病毒文件);

4:创建注册表启动项;

5:创建守护进程,对恶意程序进行守护。

6:监控USB外设插入,并感染USB大容量存储设备,将所有文件夹隐藏,创建同名文件,并再U盘中写入Autorun.inf进行autorun自动播放功能利用;

7:其家族部分版本,也存在利用rdp暴力破解进行传播的情况。

针对这种破坏系统环境的样本,常规的全盘查杀以及对文件的删除,无法使系统恢复如初,至少要执行以下各项动作:

1):恢复系统配置,并加固系统,禁止U盘autorun执行;

2):恢复全盘被系统隐藏的目录;

3):修复所有文件关联;

4):删除病毒创建的注册表;

5):结束所有已活跃的进程,并删除其文件;

6):删除系统所有存在隐藏目录且用相同文件名的文件。

正常的情况下,安全厂商会在发现病毒后,编写相应的专杀或者处置策略进行处置,而如果使用本发明提供的威胁处置框架,则只调用一个API如下脚本即可:

If(virusName in“Worm/Win32.AutoRun”){

Env_Clean_Autorun(virusName)

}

通过将上述常见病毒的清理方式所对应的各项动作预置到威胁处置模块中,即预先通过本发明提供的方法或框架,将具体所需各项动作与原语进行匹配,确定一组原语序列,威胁处置模块导出的API可以实现多种原语的内置执行。当通过脚本文件调用名称为Env_Clean_Autorun的API时,API首先会根据病毒名,遍历内部知识库,获取对应的原语序列,通过内置的原语序列确定执行流,通过执行流进行相应的动作处置。将动作处置完成后,就可以达到修复系统被破坏环境的目的。

综上,针对现有安全产品仅能检测出可识别病毒并清除病毒载体,但仍然存在大量残留在系统存量的无效或已破坏的系统环境(或文件)的问题,本发明提供了一套灵活可配的,跨平台、跨架构的威胁处置框架,该框架安全可控,执行的任何API都会有相关安全校验机制,与威胁处置相关的能力均不在框架中出现,可以屏蔽掉可能被黑客利用的相关能力,提高处置机制的安全性。基于该框架,不仅能够处理已知病毒威胁,还能够根据实际需要自定义任意病毒/威胁的处置方式,包括病毒清除,环境的清除,病毒免疫,环境的修复,系统加固,补丁修复,网络管控,服务管控等。

特别地,在本发明一些优选的实施方式中,还提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述威胁处置方法的步骤。

在本发明另一些优选的实施方式中,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施方式中所述威胁处置方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述威胁处置方法实施例的流程,在此不再重复说明。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号