一种工控主机的程序协议白名单联动方法及装置与流程

文档序号:17697386发布日期:2019-05-17 21:43阅读:234来源:国知局
一种工控主机的程序协议白名单联动方法及装置与流程
本发明涉及工控技术和网络安全领域,具体涉及一种工控主机的程序协议白名单联动方法及装置。
背景技术
:与传统的网络信息安全相比,工控系统安全有其独特之处。工控系统初始采用的一般都是专用系统,其操作系统、通信协议也与一般的系统有很大差别,相较于开放的互联网环境,工控系统则比较独立,工业控制系统设计之初也是为了完成各种实时控制功能,并没有考虑到安全防护的问题。但随着计算机和网络技术的发展,尤其是信息化与工业化的深度融合,工控系统通过网络互联使自己暴露在互联网上,从而导致系统本身很容易遭到来自企业管理网或互联网的病毒、木马、黑客的攻击,并且将会导致工控系统所控制的关键基础设施、重要系统等存在巨大的安全风险和隐患。技术实现要素:有鉴于此,本发明实施例提供了一种工控主机的程序协议白名单联动方法及装置,在工控网络中把工控安全和信息安全相结合,把工控白名单技术和指定工控协议分析相结合,通过程序白名单、程序联网行为的协议分析和自建协议过滤过程,解决工控领域的安全问题。根据第一方面,本发明实施例提供了一种工控主机的程序协议白名单联动方法,包括:检测是否有程序运行;如果有程序运行,判断程序是否属于预设的程序白名单中;如果程序属于预设的程序白名单,进一步检测程序是否存在联网行为;如果程序存在联网行为,判断程序是否与预设的协议白名单模板匹配;如果程序与预设的协议白名单模板匹配,则执行程序。可选地,如果程序不属于预设的程序白名单,则禁止程序运行。可选地,如果程序与预设的协议白名单模板不匹配,则拦截程序的联网行为。可选地,通过以下步骤构建预设的协议白名单模板:将预设的程序白名单中的所有文件按照所调用的程序进程进行归类;通过根据运行环境中可运行的程序构建的程序白名单协议库,对程序进程执行的协议进行匹配;将匹配后的程序进程及协议进行封装,生成协议白名单模板。可选地,构建预设的协议白名单模板的过程,还包括:标记程序白名单中没有匹配到程序白名单协议库中的协议的文件,并将所标记的文件移出程序白名单。可选地,该工控主机的程序协议白名单联动方法还包括:对所禁止的程序进行报警提示。可选地,该工控主机的程序协议白名单联动方法还包括:对所拦截的程序联网行为进行报警提示。根据第二方面,本发明实施例提供了一种工控主机的程序协议白名单联动装置,包括:第一检测模块,用于检测是否有程序运行;第一判断模块,用于如果有程序运行,判断程序是否属于预设的程序白名单中;第二监测模块,用于如果程序属于预设的程序白名单,进一步检测程序是否存在联网行为;第二判断模块,用于如果程序存在联网行为,判断程序是否与预设的协议白名单模板匹配;执行模块,用于如果程序与预设的协议白名单模板匹配,则执行程序。根据第三方面,本发明实施例提供了一种控制器,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器执行上述任意实施例的工控主机的程序协议白名单联动方法。根据第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行上述任意实施例的工控主机的程序协议白名单联动方法。本发明实施例提供了一种工控主机的程序协议白名单联动方法及装置,将程序白名单和协议白名单模板相结合,可以对操作系统的重要文件进行强保护,抵御0day恶意软件、病毒软件和有针对性的攻击,同时协议白名单模板可以有效拦截工控主机非法的网络行为,从而保护主机和网络系统安全,可以提高用户工作效率,在第一时间将工作置于保护系统中,省下处理不良程序所需的资源和黑名单方法无法防止的有效性问题,并且使系统可以保持最佳性能运作。附图说明为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了本发明实施例工控主机的程序协议白名单联动方法示意图;图2示出了本发明实施例协议白名单模板生成过程流程图;图3示出了本发明实施例程序运行过程流程图;图4示出了本发明实施例工控主机的程序协议白名单联动装置的结构框图;图5是示出了本发明实施例控制器结构示意图;具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供了一种工控主机的程序协议白名单联动方法,该方法可具体应用于工控主机中,如图1所示,该方法包括:s101.检测是否有程序运行;在本实施例中,工控客户端向工控主机发送服务请求,工控主机检测工控客户端是否有程序运行。s102.如果有程序运行,判断程序是否属于预设的程序白名单中;具体的,工控主机扫描本机上所有的应用程序,创建程序白名单,程序白名单包括进程路径、文件的hash值(或散列算法,又称哈希函数),此hash值可通过对可执行文件的计算获得。s103.如果程序属于预设的程序白名单,进一步检测程序是否存在联网行为;在本实施例中,工控主机中包括联网检测模块,联网检测模块可以检测该程序是否有联网行为。s104.如果程序存在联网行为,判断程序是否与预设的协议白名单模板匹配;在本实施例中,工控主机中包括协议匹配模块,协议匹配模块可以对属于预设的程序白名单中的运行的程序,进行协议白名单模板匹配。在本实施例中,通过以下步骤构建预设的协议白名单模板:将预设的程序白名单中的所有文件按照所调用的程序进程进行归类;通过根据运行环境中可运行的程序构建的程序白名单协议库,对程序进程执行的协议进行匹配;将匹配后的程序进程及协议进行封装,生成协议白名单模板。协议白名单模板生成流程图如图2所示。具体的,工控主机中包括程序进程查找模块、进程与协议匹配模块和协议白名单模板生成模块。程序进程查找模块把程序白名单中的所有文件归类,程序白名单所扫描出来的都是pe文件等,同路径或类似标识可以判断为同一进程或同一进程调用,文件集为某个程序进程的执行集,即某个文件集都属于某个程序进程的调用。进程与协议匹配模块通过程序白名单协议库,对某个进程执行某种协议进行匹配。协议白名单模板生成模块对某个或某类进程所执行的某种协议进行封装,并生成协议白名单模板。具体的,上述的运行环境可为实验室构造运行环境,在此环境下,根据关键的工控应用程序,创建第二程序白名单,第二程序白名单如表1所示,分析第二程序白名单中的各个程序采用的协议规范,建立如表2所示的应用协议知识库,根据第二程序白名单和应用协议知识库,建立如表3所示的程序白名单协议库。表1表2表3程序标志协议标志winccs7step7s7unitypromodbusslogixopcda、opcua……在可选地实施例中,构建预设的协议白名单模板的过程,还包括:标记程序白名单中没有匹配到程序白名单协议库中的协议的文件,并将所标记的文件移出程序白名单。在可选地实施例中,在标记程序白名单中没有匹配到程序白名单协议库中的协议的文件之后,还包括:自行定义协议匹配该文件,创建协议模板,并将该协议模板加入到协议白名单模板或者加入到程序白名单协议库中,并且创建自学习过程。自行定义协议因为不同主机所涉及到的软件不同,所被执行的协议不同,因此不需要把所有协议都应用到系统中去,从而程序白名单协议库和协议白名单模板中的协议不一定适用所有的主机,需要根据不同的主机自定义某些协议。如果想加强自定义协议的安全特性,则可以定义工控应用策略,定义特定服务器与客户端,保证完全白的环境,使服务器与客户端是多对多的关系。定义工控应用服务器结果如表4所示,定义工控用户客户端如表5所示。表4表5s105.如果程序与预设的协议白名单模板匹配,则执行程序。本发明实施例提供了一种工控主机的程序协议白名单联动方法,将程序白名单和协议白名单模板相结合,可以对操作系统的重要文件进行强保护,抵御0day恶意软件、病毒软件和有针对性的攻击,同时协议白名单模板可以有效拦截工控主机非法的网络行为,从而保护主机和网络系统安全,可以提高用户工作效率,在第一时间将工作置于保护系统中,省下处理不良程序所需的资源和黑名单方法无法防止的有效性问题,并且使系统可以保持最佳性能运作。在可选地实施例中,如果程序不属于预设的程序白名单,则禁止程序运行。具体的,工控主机中包括过滤模块,可以通过过滤模块拦截不属于程序白名单的程序。在可选地实施例中,如果程序与预设的协议白名单模板不匹配,则拦截程序的联网行为。具体的,工控主机中包括过滤模块,过滤模块可以对在程序白名单中但是不匹配协议白名单模板的程序的联网行为进行拦截。在可选的实施例中,工控主机的程序协议白名单联动方法还包括:对所禁止的程序进行报警提示,或对所拦截的程序联网行为进行报警提示。具体的,工控主机中包括联动模块,联动模块可以对所禁止的程序和所拦截的程序联网行为进行报警提示。在具体的实施例中,程序运行过程如图3所示,当一个程序运行时,首先检查程序白名单库文件,如果程序不属于该程序白名单库文件,则直接禁止该程序的执行。如果程序属于该程序白名单库文件,则进一步检测该程序是否需要联网,如果此程序不需要联网,则允许程序执行;如果此程序需要联网,则查看该程序对应的协议是否在协议白名单模板中,如果该程序对应的协议存在于该协议白名单模板中,则允许该程序执行,如果该程序对应的协议不存在于该协议白名单模板中,则禁止该程序运行、并进行报警或联动。根据第二方面,本发明实施例提供了一种工控主机的程序协议白名单联动装置,如图4所示,包括:第一检测模块41,用于检测是否有程序运行;第一判断模块42,用于如果有程序运行,判断程序是否属于预设的程序白名单中;第二检测模块43,用于如果程序属于预设的程序白名单,进一步检测程序是否存在联网行为;第二判断模块44,用于如果程序存在联网行为,判断程序是否与预设的协议白名单模板匹配;执行模块45,用于如果程序与预设的协议白名单模板匹配,则执行程序。具体的实施方式详见上述实施例中工控主机的程序协议白名单联动方法的描述。本发明实施例还提供了一种控制器,该控制器包括一个或多个处理器51以及存储器52,图5中以一个处理器51为例。控制器还可以包括:输入装置53和输出装置54。处理器51、存储器52、输入装置53和输出装置54可以通过总线或者其他方式连接,图5中以通过总线连接为例。处理器51可以为中央处理器(centralprocessingunit,cpu)。处理器51还可以为其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。存储器52作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的工控主机的程序协议白名单联动方法对应的程序指令/模块。处理器51通过运行存储在存储器52中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例工控主机的程序协议白名单联动方法。存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据用户终端操作的处理装置的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至图像检测、处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。输入装置53可接收输入的数字或字符信息,以及产生与用户终端的处理装置的用户设置以及功能控制有关的键信号输入。输出装置54可包括显示屏等显示设备。一个或者多个模块存储在存储器52中,当被一个或者多个处理器51执行时,执行如图1所示的方法。本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储计算机指令,计算机指令用于使计算机执行如上述实施例中任意一项描述的工控主机的程序协议白名单联动方法。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等;存储介质还可以包括上述种类的存储器的组合。虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1