发明内容
为解决上述现有技术的缺陷,本发明实施例提供一种一种流量白名单基线的自动生成方法和系统,为了解决工控环境中随着数据量和协议种类增多而越发复杂的白名单基线生成问题,本发明提出了一种适用于工控环境的灵活的快速的高度可控的白名单基线自动识别的方法。
本发明可以由用户或专业人员参与指定协议的哪些特征可以加入到自动生成基线计算中去。
本发明一个实施例提供了一种自动生成流量白名单的方法,其特征在于,包括以下步骤:
S1:根据接收的新建基线生成器指令,新建基线生成器;
S2:根据接收的通信协议选择指令,所述基线生成器与所选择的通信协议进行关联;
S4:根据接收的协议字段选择指令,所述基线生成器将所述通信协议与所述通信协议的一个或多个字段名进行关联;
S5:根据筛选参数,对报文进行所述协议字段的筛选;
S6:基于所述一个或多个字段和会话中所述报文的五元组信息进行聚合;
S7:根据所述聚合得到的取值,生成与所述一个或多个字段关联的取值范围;
S8:根据所述字段与其所述取值范围生成白名单策略。
本申请还提供了一种自动生成流量白名单的系统,包括:
新建模块,根据接收的新建基线生成器指令,新建基线生成器;
第一关联模块,根据接收的通信协议选择指令,所述基线生成器与所选择的通信协议进行关联;
第二关联模块,根据接收的协议字段选择指令,所述基线生成器将所述通信协议与所述通信协议的一个或多个字段名进行关联;
筛选模块,根据筛选参数,对报文进行所述协议字段的筛选;
聚合模块,基于所述一个或多个字段和会话中所述报文的五元组信息进行聚合;
取值范围生成模块,根据所述聚合得到的取值,生成与所述一个或多个字段关联的取值范围;
白名单生成模块,根据所述字段与其所述取值范围生成白名单策略。
此外,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述自动生成流量白名单的方法的步骤。
此外,本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述自动生成流量白名单的方法的步骤。
具体实施方式
为了使本发明的目的、技术方案以及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
在下述介绍中,术语“第一”、“第二”仅用于描述的目的,而不能理解为暗示其相对重要性。
下述介绍提供了本发明的多个实施例,不同实施例之间可以替换或者合并组合,因此本发明也可认为包含所记载的相同和/或不同实施例的所有可能组合。因而,如果一个实施例包含特征A、B、C,另一个实施例包含特征B、D,那么本发明也应视为包括含有A、B、C、D的一个或多个所有其他可能的组合的实施例,尽管该实施例可能并未在以下内容中有明确的文字记载。
本发明涉及的是解决工控环境中随着数据量和协议种类增多而越发复杂的白名单基线生成问题。
适用于工控环境的灵活的快速的高度可控的白名单基线自动识别的方法。
图1示出了本发明第一实施例的一种自动生成流量白名单的方法的流程示意图。结合附图1所示流程图,该方法包括:
S1:根据接收的新建基线生成器指令,新建基线生成器。
新建基线生成器指令也可以由系统在初始建立时,由服务器发送新建基线生成器指令,生成基线生成器。
新建基线生成器需要指定一个唯一的基线生成器名字,同时选取该基线生成器所属的通讯协议,选中协议后,该协议支持的字段名就会出现在协议字段框中以供自定义选择。一个基线生成器至少要选择一个协议字段。
即,专业用户只需在界面上进行协议详细配置即可实现针对该协议的深度解析和规则匹配,操作灵活,且保证了用户私有协议的隐私性和安全性。
S2:根据接收的通信协议选择指令,所述基线生成器与所选择的通信协议进行关联。
S3:根据接收的协议字段选择指令,所述基线生成器将所述通信协议与所述通信协议的一个或多个字段名进行关联;
该步骤用于指定,对哪些协议及其哪些字段可以实现基线自动生成。
因此,每个基线生成器可以包含一个协议的一个或多个字段;每个协议及其每个字段也可以对应多个不同的基线生成器。
协议字段是底层协议解析引擎确定的,引擎在做协议解析的时候就把协议及其字段的命名和含义确定下来。
S4:根据筛选参数,对报文进行所述协议字段的筛选。
筛选可以是在建立白名单之前由人工进行筛选;也可以是根据已经建立的审计日志进行筛选,所述筛选参数数范围可以是,协议解析引擎标识,时间范围,协议名称等。
优选地,系统可以包含黑名单告警和关键事件告警,以进一步确保白名单建立的正确性。
S5:基于所述一个或多个字段和该会话的五元组信息进行聚合。
将筛选出的报文与其所属的协议关联的基线生成器配置的协议特征来进行聚合。
S6:根据所述聚合得到的取值,生成与所述一个或多个字段关联的取值范围。
通过将字段与其取值范围相关联,从而建立规则。
S7:根据所述字段与其所述取值范围生成白名单策略。
在以上步骤基础上,结合报文的五元组信息,最终生成可应用的白名单策略,作为正常通讯的白名单基线并应用到设备中。
在该方法中的优选实施例中,除了可以自定义的策略和规则设置,还提供了基于内置基线的白名单策略自学习功能,可以通过设定指定设备,协议,时间段和数据源智能学习生成符合标准的监控策略功能。自学习的过程例如:
划定一段时间的数据为正常数据;
基于标本数据提取特征值生成基线策略和规则(即白名单);
基于所述基线策略和规则对与正常数据特征值不符的数据产生告警。
在该实施例的方法中,优选地,每个基线生成器拥有独立的激活(已激活)/禁止(未激活)状态,同一个协议多个已激活的基线生成器之间是或的关系。
本实施例考虑到,便于支持自定义基线生成器,即自己创建新的基线生成器。
在本实施例描述的过程中,将着重描述与实施例1不同之处,相同的部分将不再赘述。
在步骤S1~S3中,所述接收的指令,来自输入设备。
在使用过程中,为了便于用户新建基线生成器指令可以来自用户输入设备,即由用户通过键盘、鼠标等,通过点击例如“基线生成器”按钮而启动新建指令(参见附图5)。基线生成器系统预置了一部分典型的,同还支持自定义基线生成器,即自己创建新的基线生成器。
在客户端,如图3所示,新建基线生成器需要指定一个唯一的基线生成器名字,同时选取该基线生成器所属的通讯协议,选中协议后,该协议支持的字段名就会出现在协议字段框中以供自定义选择。一个基线生成器至少要选择一个协议字段。
该优选实施例可以由用户或专业人员参与指定协议的哪些特征可以加入到自动生成基线计算中去。针对工业控制系统上线运行一段时间来的网络数据进行网络行为进行智能分析、自主学习,自动创建白名单策略。可以持续监视网络流量,自动识别合规数据。
本发明还提供了一种自动生成流量白名单的系统。
如图2所示,一种自动生成流量白名单的系统,包括:
新建模块,根据接收的新建基线生成器指令,新建基线生成器;
第一关联模块,根据接收的通信协议选择指令,所述基线生成器与所选择的通信协议进行关联;
第二关联模块,根据接收的协议字段选择指令,所述基线生成器将所述通信协议与所述通信协议的一个或多个字段名进行关联;
筛选模块,根据筛选参数,对报文进行所述协议字段的筛选;
聚合模块,基于所述一个或多个字段和会话中所述报文的五元组信息进行聚合;
取值范围生成模块,根据所述聚合得到的取值,生成与所述一个或多个字段关联的取值范围;
白名单生成模块,根据所述字段与其所述取值范围生成白名单策略。
优选地,所述白名单生成模块中,可以根据相应指令激活或禁止所述基线生成器。
优选地,所述新建模块、第一关联模块和第二关联模块中,所述接收的指令,来自输入设备,以便解决工控环境中随着数据量和协议种类增多而越发复杂的白名单基线生成问题。因此,本优选施例提出了一种适用于工控环境的白名单基线自动识别的方法,更加灵活的快速的高度可控。
基线生成器用于指定“基线自动生成”功能中,对哪些协议的哪些字段可以实现基线自动生成。每个协议可以对应多个基线生成器,每个基线生成器可以包含该该协议的多个字段。每个基线生成器拥有独立的激活(已激活)/禁止(未激活)状态,同一个协议多个已激活的基线生成器之间是或的关系。
本公开又一实施例提供的人机交互装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述任一项自动生成流量白名单的方法的步骤。
在本公开的一个实施例中,如图3所示,人机交互装置80包括存储器801和处理器802。人机交互装置80中的各组件通过总线系统和/或其它形式的连接机构(未示出)互连。
存储器801用于存储非暂时性计算机可读指令。具体地,存储器801可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
处理器802可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制人机交互装置80中的其它组件以执行期望的功能。在本公开的一个实施例中,处理器802用于运行存储器801中存储的计算机可读指令,使得人机交互装置80执行上述上述自动生成流量白名单的的方法。人机交互装置与上述自动生成流量白名单的的方法描述的实施例相同,在此将省略其重复描述。
如图4所示,本申请又一实施例提供的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述自动生成流量白名单的任一项方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、静态随机访问存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。在本公开的一个实施例中,计算机可读存储介质900其上存储有非暂时性计算机可读指令901。当非暂时性计算机可读指令901由处理器运行时,执行参照上述描述的根据本公开实施例的自动生成流量白名单的方法。
在本公开中,术语“安装”、“相连”、“连接”、“固定”等术语均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;“相连”可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
本发明特别适用于电力、石化、轨道交通、烟草、煤炭、钢铁及先进制造等各个行业的工业控制系统的业务场景的异常行为检测,本发明的自动生成流量白名单的方法和系统可以融入针对不同行业的业务安全告警。
以上提供了本发明的多个实施例,本领域技术人员可以理解,不同实施例之间可以替换或者合并组合,因此本发明也可认为包含所记载的相同和/或不同实施例的所有可能组合。
本说明书中的“模块”和“单元”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是FPGA(Field-Programmable GateArray,现场可编程门阵列)、IC(Integrated Circuit,集成电路)等。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述用于授权管理控制请求的方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。
本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行程序时实现用于自动生成流量白名单的方法的步骤。在本发明实施例中,处理器为计算机系统的控制中心,可以是实体机的处理器,也可以是虚拟机的处理器。
以上介绍仅为本发明的优选实施例而已,并非对本发明作任何实质和形式上的限制。虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,对于本领域的技术人员来说,在不脱离本发明技术方案范围内,可以利用上述揭示的技术内容作出各种更改和变化的等效实施例。但凡未脱离本发明的精神和原则,依据本发明的技术实质对以上实施例所作的任何简单修改、等同替换、改进等,均应包含在本发明的保护范围之内。