一种工业控制系统中恶意程序的识别方法、装置及设备与流程

文档序号:22256767发布日期:2020-09-18 13:48阅读:119来源:国知局
一种工业控制系统中恶意程序的识别方法、装置及设备与流程

本申请涉及计算机技术领域,特别涉及一种工业控制系统中恶意程序的识别方法、装置、设备及可读存储介质。



背景技术:

工业控制系统网络中有很多资产,由于工业控制系统高可用性的要求,通常无法在这些资产上安装更新补丁,因此这些资产会存在大量漏洞,导致恶意程序可能对工业控制系统造成破环,一旦被破坏,不但带来财产损失也会造成安全事故。因此,识别工业控制系统中的恶意程序显得非常必要。

目前,工业控制系统中的恶意程序的识别方案主要包括以下两种:

一是使用白名单技术,通过管控进程白名单的方式来防止恶意程序的运行。这种方案的缺点是系统一般有大量的进程,无法对每个进程都百分百了解,因此可能会造成恶意程序被当成白名单而被放行。此外,这种方案同时也无法识别进程伪造,而且白名单的整理也给运维人员带来了巨大的工作压力;

二是基于黑名单的病毒特征库的技术,该方案的缺点在于无法对未知病毒进行识别。

可见,如何提供一种工业控制系统的恶意程序识别方案,提供识别可靠性,是亟待本领域技术人员解决的问题。



技术实现要素:

本申请的目的是提供一种工业控制系统中恶意程序的识别方法、装置、设备及可读存储介质,用以解决目前的恶意程序识别方案的可靠性较低的问题。其具体方案如下:

第一方面,本申请提供了一种工业控制系统中恶意程序的识别方法,包括:

在工业控制系统的应用平台运行待检测程序,监测所述待检测程序对所述应用平台或工控应用的操作行为;

对所述操作行为进行分析,若所述操作行为中存在异常操作行为,则判定所述待检测程序为恶意程序。

优选的,在所述在工业控制系统的应用平台运行待检测程序,监测所述待检测程序对所述应用平台或工控应用的操作行为之前,还包括:

构建虚拟化的工业控制系统的应用平台,并在所述应用平台构建工控应用。

优选的,所述对所述操作行为进行分析,包括:

判断所述操作行为是否包括对操作系统的危害行为,得到第一判断结果;

判断所述操作行为是否包括对所述工控应用的嗅探行为,得到第二判断结果;

判断所述操作行为是否包括对所述工控应用的危害行为,得到第三判断结果;

判断所述操作行为是否包括对所述工控系统之间通讯过程的危害行为,得到第四判断结果;

若所述第一判断结果、所述第二判断结果、所述第三判断结果和所述第四判断结果中的任意一个判断结果为是,则判定所述操作行为包括异常操作行为。

优选的,所述工控应用包括:操作站应用、工程师站应用、控制器应用。

优选的,所述判断所述操作行为是否包括对操作系统的危害行为,包括:

根据注册表或进程列表,判断所述操作行为是否包括对操作系统的危害行为,其中所述对操作系统的危害行为包括自我复制行为和文件删除行为。

优选的,在所述对所述操作行为进行分析,若所述操作行为中存在异常操作行为,则判定所述待检测程序为恶意程序之后,还包括:

生成所述待检测程序为恶意程序的提示信息,并对所述恶意程序进行隔离。

优选的,所述监测所述待检测程序对所述应用平台或工控应用的操作行为,包括:

判断所述待检测程序是否有释放子程序的操作行为;

若是,则分别监测所述待检测程序和子程序对所述应用平台或工控应用的操作行为;

若否,则监测所述待检测程序对所述应用平台或工控应用的操作行为。

第二方面,本申请提供了一种工业控制系统中恶意程序的识别装置,包括:

行为监测模块:用于在工业控制系统的应用平台运行待检测程序,监测所述待检测程序对所述应用平台或工控应用的操作行为;

行为分析模块:用于对所述操作行为进行分析,若所述操作行为中存在异常操作行为,则判定所述待检测程序为恶意程序。

第三方面,本申请提供了一种工业控制系统中恶意程序的识别设备,包括:

存储器:用于存储计算机程序;

处理器:用于执行所述计算机程序,以实现如上所述的工业控制系统中恶意程序的识别方法的步骤。

第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的工业控制系统中恶意程序的识别方法的步骤。

本申请所提供的一种工业控制系统中恶意程序的识别方法,包括:在工业控制系统的应用平台运行待检测程序,监测待检测程序对应用平台或工控应用的操作行为;对操作行为进行分析,若操作行为中存在异常操作行为,则判定待检测程序为恶意程序。可见,该方法能够监测待检测程序在工业控制系统环境下的操作行为,通过场景行为分析方法判断待检测程序的操作行为中是否包含异常操作行为,并在包含时判定该程序为异常程序,避免了基于白名单或基于黑名单识别恶意程序带来的可靠性较低问题,提升了工业控制系统的安全性。

此外,本申请还提供了一种工业控制系统中恶意程序的识别装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。

附图说明

为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请所提供的一种工业控制系统中恶意程序的识别方法实施例一的实现流程图图一;

图2为本申请所提供的一种工业控制系统中恶意程序的识别方法实施例一的虚拟工控场景示意图;

图3为本申请所提供的一种工业控制系统中恶意程序的识别方法实施例一的实现流程图图二;

图4为本申请所提供的一种工业控制系统中恶意程序的识别方法实施例二的实现流程图图一;

图5为本申请所提供的一种工业控制系统中恶意程序的识别方法实施例二的实现流程图图二;

图6为本申请所提供的一种工业控制系统中恶意程序的识别装置实施例的功能框图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

目前,工业控制系统中对于恶意程序的识别通常采用两种手段,一种为基于白名单的进程管控技术,另一种为基于黑名单的病毒特征库的技术。然而,基于白名单的进程管控技术无法检测程序仿冒,基于黑名单的特征库无法检测未知病毒的威胁,对于传统网络中的沙箱行为分析技术又无法应用到工业控制系统中来。导致目前的恶意程序识别方案的可靠性均较低,无法满足工业控制系统的安全需求。

针对该问题,本申请提供了一种工业控制系统中恶意程序的识别方法、装置、设备及可读存储介质,利用场景行为分析方法分析程序的操作行为,识别程序的异常操作行为,从而实现对恶意程序的鉴定,显著提升了恶意程序识别效率。

下面对本申请提供的一种工业控制系统中恶意程序的识别方法实施例一进行介绍,参见图1,实施例一包括:

s101、在工业控制系统的应用平台运行待检测程序,监测所述待检测程序对所述应用平台或工控应用的操作行为;

s102、对所述操作行为进行分析,若所述操作行为中存在异常操作行为,则判定所述待检测程序为恶意程序。

工业控制系统是指通过计算机、自动化、电子、电气等技术手段,使工厂生产和制造过程更加数字化、精确化和智能化的控制系统。工业控制系统网络中有很多资产,例如工程师站、操作站、服务器、控制器(dcs、plc)、交换机、网络安全设备等。

恶意程序(恶意软件)是指代在计算机系统上执行恶意任务的病毒、蠕虫和特洛伊木马。恶意程序通常是指带有攻击意图所编写的一段程序。这些威胁可以分成两个类别:需要宿主程序的威胁和彼此独立的威胁。前者基本上是不能独立于某个实际的应用程序、实用程序或系统程序的程序片段;后者是可以被操作系统调度和运行的自包含程序。常见恶意程序主要包括:陷门、逻辑炸弹、特洛伊木马、蠕虫、细菌、病毒等。恶意程序破坏了工业控制系统的资产,给工业控制系统的安全带来巨大威胁,因而识别工业控制系统中的恶意程序,特别是针对工业控制系统网络的专有病毒(如震网、火焰病毒)有着重大的意义。

具体的,以上恶意程序识别过程可以在虚拟化的工业控制系统环境中实现。首先,利用虚拟化技术构建虚拟化工业控制系统的应用平台,在平台中构建虚拟化的系统组件,构建相关工控应用,对工业控制系统的功能进行仿真模拟。然后,在虚拟化的工业控制系统环境中运行待检测程序,由预先设置的行为分析程序监测待检测程序的运行,对待检测程序的操作行为进行分析,并输出判断结果。

如图2所示,上述工控应用具体可以包括:操作站应用、工程师站应用、控制器应用,此外,还包括预先设置的行为分析应用。

其中,操作站应用包含人机界面组件、版本信息,具备与控制器应用按照工控协议进行通讯的功能、与工程师站应用进行通讯的功能、接收工程师站应用的下载请求等,功能等同实际的工控系统操作站;工程师站应用包含人机界面组件、版本信息,具备工程组态功能(包含控制组态、流程图组态、系统组态)、与控制器应用按照工控协议通讯功能、与操作站站应用通讯功能等,功能等同实际的工控系统工程师站;控制器应用包含版本信息,具备与操作站应用按照工控协议进行通讯的功能、与工程师站应用按照工控协议进行通讯的功能、接收工程师站应用的下载请求,功能等同实际的控制器;行为分析应用用于对未知程序的运行进行监视记录(包含日志记录、关键行为截图录屏),并分析程序执行的行为进行判断是否为恶意或无恶意,输出判断结果和记录。

在实际应用中,在得到待检测程序的判断结果之后,可以作进一步处理。例如,当判定待检测程序为恶意程序之后,对其进行隔离;当判定待检测程序为正常程序之后,对其进行放行。

综上,如图3所示,本实施例的工业控制系统中恶意程序的识别方法包括:未知程序(文件)进入工业控制场景;对未知程序进行场景行为分析;判定行为分析结果,如行为分析结果为行为异常,则判定为恶意程序,输出行为判定信息,并隔离该程序;如行为分析结果为行为正常,则判定为正常程序,输出行为判定信息,并放行该程序。

本实施例所提供一种工业控制系统中恶意程序的识别方法,包括:在工业控制系统的应用平台运行待检测程序,监测待检测程序对应用平台或工控应用的操作行为;对操作行为进行分析,若操作行为中存在异常操作行为,则判定待检测程序为恶意程序。可见,该方法能够监测待检测程序在工业控制系统环境下的操作行为,通过场景行为分析方法判断待检测程序的操作行为中是否包含异常操作行为,并在包含时判定该程序为异常程序,避免了基于白名单或基于黑名单识别恶意程序带来的可靠性较低问题,提升了工业控制系统的安全性。

下面开始详细介绍本申请提供的一种工业控制系统中恶意程序的识别方法实施例二,实施例二基于前述实施例一实现,并在实施例一的基础上进行了一定程度上的拓展。

具体的,实施例二考虑到恶意程序可以分成进行复制工作和不进行复制工作的两种类型。前者是由程序片段(病毒)或者由独立程序(蠕虫、细菌)组成,在执行时可以在同一个系统或其它系统中产生一个或多个以后被激活的副本;后者是在宿主程序调用时被激活起来完成一个特定功能的程序片段。因此,实施例二通过检测程序释放子程序的操作行为,能够同时实现对这两种类型的恶意程序的识别。

此外,实施例二还具体说明了如何实现对待检测程序的行为分析。

参见图4,实施例二具体包括:

s401、构建虚拟化的工业控制系统的应用平台,并在所述应用平台构建工控应用,其中所述工控应用包括操作站应用、工程师站应用、控制器应用;

s402、在工业控制系统的应用平台运行待检测程序,判断所述待检测程序是否有释放子程序的操作行为;若是进入s403,否则进入s404;

s403、重复捕获子程序的操作,直至程序不再释放子程序;分别监测所述待检测程序和子程序对所述应用平台或工控应用的操作行为;

具体的,本实施例检测未知程序是否有释放程序的行为,如有,记录释放的程序,并继续判断该程序是否还有释放程序的行为,如有,重复释放程序检测操作,直至不再有释放程序的行为。

s404、监测所述待检测程序对所述应用平台或工控应用的操作行为;

s405、对所述操作行为进行分析,若所述操作行为中存在异常操作行为,则判定所述待检测程序为恶意程序;

s406、生成所述待检测程序为恶意程序的提示信息,并对所述恶意程序进行隔离。

在实际应用中,如图5所示,上述对所述操作行为进行分析的过程具体包括:

s501、判断所述操作行为是否包括对操作系统的危害行为,得到第一判断结果;

检测未知程序及其释放程序是否有对工控操作系统的危害行为(如自我复制、内存溢出、删除文件等),如有,判定为恶意程序记录并输出判断结果。该过程主要基于以下任意一项检测技术实现:注册表、进程列表、关键文件变化情况、程序运行截图。

s502、判断所述操作行为是否包括对所述工控应用的嗅探行为,得到第二判断结果;

检测未知程序及释放程序是否有对操作站应用的嗅探行为,如有,判定为恶意程序记录并输出结果。检测未知程序及释放程序是否有对工程师站应用的嗅探行为,如有,判定为恶意程序记录并输出结果。检测未知程序及释放程序是否有对控制站应用的嗅探行为,如有,判定为恶意程序记录并输出结果。

该过程主要基于以下任意一项检测技术实现:场景流量分析;程序向场景中的操作站发送数据包,请求操作站应用文件列表或应用文件版本信息;程序运行截图。

s503、判断所述操作行为是否包括对所述工控应用的危害行为,得到第三判断结果;

检测未知程序及释放程序是否有危害操作站应用软件行为,如删除、修改、复制操作站人机界面程序、造成人机界面故障等,如有,判定为恶意程序记录并输出结果。

检测未知程序及释放程序是否有危害工程师站站应用软件行为,如删除、修改、复制工程师站程序;删除、修改、复制组态文件;对操作站下载程序;对控制器下载或上传程序等,如有,判定为恶意程序记录并输出结果。

该过程主要基于以下任意一项检测技术实现:场景流量分析;程序向场景中的工程师站发送数据包,请求获取工程师站权限或删除、修改、复制工程师站文件指令;程序运行截图。

s504、判断所述操作行为是否包括对所述工控系统之间通讯过程的危害行为,得到第四判断结果;

检测未知程序及释放程序是否有危害工控协议通讯行为,如拦截、修改通讯数据包;给控制器、操作站、工程师站发送数据包等,如有,判定为恶意程序记录并输出结果。

该过程主要基于以下任意一项检测技术实现:场景流量分析;文件向场景中的工程师站、操作站或控制器发送工控协议数据包;程序运行截图。

s505、若所述第一判断结果、所述第二判断结果、所述第三判断结果和所述第四判断结果中的任意一个判断结果为是,则判定所述操作行为包括异常操作行为。

可见,本实施例提供的一种工业控制系统中恶意程序的识别方法,该方法能够通过构建工控系统的应用场景,捕获恶意程序的异常行为来实现对恶意程序的识别,不占用工业控制系统网络资源。避免了基于白名单或基于黑名单识别恶意程序带来的可靠性较低问题,提升了工业控制系统的安全性。

下面对本申请实施例提供的一种工业控制系统中恶意程序的识别装置进行介绍,下文描述的一种工业控制系统中恶意程序的识别装置与上文描述的一种工业控制系统中恶意程序的识别方法可相互对应参照。

如图6所示,本实施例的工业控制系统中恶意程序的识别装置,包括:

行为监测模块601:用于在工业控制系统的应用平台运行待检测程序,监测所述待检测程序对所述应用平台或工控应用的操作行为;

行为分析模块602:用于对所述操作行为进行分析,若所述操作行为中存在异常操作行为,则判定所述待检测程序为恶意程序。

本实施例的工业控制系统中恶意程序的识别装置用于实现前述的工业控制系统中恶意程序的识别方法,因此该装置中的具体实施方式可见前文中的工业控制系统中恶意程序的识别方法的实施例部分,例如,行为监测模块601、行为分析模块602,分别用于实现上述工业控制系统中恶意程序的识别方法中步骤s101,s102。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。

另外,由于本实施例的工业控制系统中恶意程序的识别装置用于实现前述的工业控制系统中恶意程序的识别方法,因此其作用与上述方法的作用相对应,这里不再赘述。

此外,本申请还提供了一种工业控制系统中恶意程序的识别设备,包括:

存储器:用于存储计算机程序;

处理器:用于执行所述计算机程序,以实现如上文所述的工业控制系统中恶意程序的识别方法的步骤。

最后,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的工业控制系统中恶意程序的识别方法的步骤。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1