1.本发明涉及工业控制技术领域,具体为一种基于工业控制协议的安全基线核查系统及方法。
背景技术:2.安全基线是指信息系统上要达到最基本的安全要求所需要满足的约定规则。对安全基线进行核查能够帮助降低信息系统由于安全控制不足而引起的安全问题。但是随着信息系统的快速发展,信息系统上的参数配置越来越复杂,很容易容易出现参数错配,从而影响信息系统的安全问题,因为对安全基线预先进行核查十分重要。
3.现有技术中,安全基线的核查项内容基本保持不变,无法满足对日益复杂的参数配置的检测。
技术实现要素:4.本发明的目的在于提供一种基于工业控制协议的安全基线核查系统及方法,以解决上述背景技术中提出的问题。
5.为了解决上述技术问题,本发明提供如下技术方案:一种基于工业控制协议的安全基线核查系统,所述核查系统包括解析模块、核查模板获取模块、核查初检模块和运行监测模块,所述解析模块在接收到待检测数据包后,根据待检测数据包所对应的工业控制协议对待检测数据包进行解析,得到待检测数据,所述核查模板获取模块从安全基线数据库中获取与待检测数据的类型相对应的基线核查模板,所述基线核查模板中包括若干基线检查项及其相应的参数阈值,所述基线检查项包括初始基线检查项和扩充基线检查项,所述初始基线检查项的个数大于等于1个,所述核查初检模块根据基线核查模板的基线检查项对待检测数据进行检测,如果待检测数据中存在某个基线检查项的参数超出基线核查模板中的参数阈值波动范围,那么该基线检查项初检存疑,传输报警信息;否则,该基线检查项初检通过,在待检测数据中所有的基线检查项初检均通过,初步判定待检测数据安全,令所述运行监测模块监测待检测数据后续的运行情况,并据此判断是否更新基线核查模板和运行监测模块。
6.进一步的,所述运行监测模块包括监测项提取模块、监测占比计算模块和平均值比较模块,所述监测项提取模块在待检测数据后续的运行过程中出错,从待检测数据中提取出错的数据项为监测项,那么该监测项的监测指数p加一,并获取待检测数据运行开始到出错时的时间间隔为该监测项的参照时长,其中,各个数据项的监测指数的初始值为0;所述监测占比计算模块计算待检测数据某个监测项的监测占比q=p/z,其中,z为待检测数据运行过的总次数,并在某个监测项的监测占比q大于监测阈值时,令平均值比较模块获取该监测项的所有参照时长的平均值,如果平均值大于等于警惕阈值,那么将该监测项作为扩充基线检查项,更新基线核查模板。
7.进一步的,所述核查系统还包括检测顺序排序模块,所述检测顺序排序模块包括
总顺序排序模块、分顺序选取模块、第一分顺序排序模块和第二分顺序排序模块,所述总顺序排序模块用于在对待检测数据进行检测时,按照先初始基线检查项后扩充基线检查项的顺序进行检测,所述分顺序选取模块用于获取当前扩充基线检查项的个数,在扩充基线检查项的个数小于等于个数阈值,令第一分顺序排序模块工作,在扩充基线检查项对的个数大于个数阈值,令第二分顺序排序模块工作,所述第一分顺序排序模块按照各个检查项成为扩充基线检查项的先后顺序进行检测,所述第二分顺序模块根据各个扩充基线检查项的综合评估值按照从小到大的顺序排序得到检测顺序,所述检测顺序即为各个对扩充基线检查项的检测顺序。
8.进一步的,所述检测顺序排序模块还包括综合评估值获取模块,所述综合评估值获取模块包括通过指数计算模块、时间指数计算模块和综合评估值计算模块,所述通过指数计算模块采集对待检测数据的各个扩充基线检查项的检测次数cz以及初检通过的次数cx,那么某个扩充基线检查项的通过指数e=cx/cz,所述时间指数计算模块采集各个基线检查项最近一次被检测为存疑与当前的时间间隔时长,对各个间隔时长进行归一化处理,得到各个基线检查项的时间指数f=(t
‑
tmin)/(tmax
‑
tmin),其中,tmin为各个基线检查项最近一次被检测为存疑与当前的时间间隔时长中的最小值,tmax为各个基线检查项最近一次被检测为存疑与当前的时间间隔时长中的最大值,所述综合评估值计算模块根据通过指数和时间指数计算综合评估值j=0.55*e+0.45*f。
9.一种基于工业控制协议的安全基线核查方法,在接收到待检测数据包后,根据待检测数据包所对应的工业控制协议对待检测数据包进行解析,得到待检测数据;
10.从安全基线数据库中获取与待检测数据的类型相对应的基线核查模板,所述基线核查模板中包括若干基线检查项及其相应的参数阈值,所述基线检查项包括初始基线检查项和扩充基线检查项,所述初始基线检查项的个数大于等于1个;
11.根据基线核查模板的基线检查项对待检测数据进行检测,如果待检测数据中存在某个基线检查项的参数超出基线核查模板中的参数阈值波动范围,那么该基线检查项初检存疑,传输报警信息;否则,该基线检查项初检通过,
12.如果待检测数据中所有的基线检查项初检均通过,初步判定待检测数据安全,监测待检测数据后续的运行情况,并据此判断是否更新基线核查模板。
13.进一步的,所述监测待检测数据后续的运行情况包括:
14.如果待检测数据后续的运行过程中出错,从待检测数据中提取出错的数据项为监测项,那么该监测项的监测指数p加一,并获取待检测数据运行开始到出错时的时间间隔为该监测项的参照时长,其中,各个数据项的监测指数的初始值为0;
15.计算待检测数据某个监测项的监测占比q=p/z,其中,z为待检测数据运行过的总次数,
16.当某个监测项的监测占比q大于监测阈值时,获取该监测项的所有参照时长的平均值,如果平均值大于等于警惕阈值,那么将该监测项作为扩充基线检查项,更新基线核查模板。
17.进一步的,所述根据基线核查模板的基线检查项对待检测数据进行检测包括:
18.对待检测数据进行检测时,按照先初始基线检查项后扩充基线检查项的顺序进行检测;
19.其中,对扩充基线检查项的检测顺序包括:
20.获取当前扩充基线检查项的个数,如果扩充基线检查项的个数小于等于个数阈值,那么按照各个检查项成为扩充基线检查项的先后顺序进行检测;
21.如果扩充基线检查项对的个数大于个数阈值,那么获取各个扩充基线检查项的综合评估值,将综合评估值按照从小到大的顺序排序得到检测顺序,所述检测顺序即为各个对扩充基线检查项的检测顺序。
22.进一步的,所述获取各个扩充基线检查项的综合评估值包括:
23.采集对待检测数据的各个扩充基线检查项的检测次数cz以及初检通过的次数cx,那么某个扩充基线检查项的通过指数e=cx/cz;
24.采集各个基线检查项最近一次被检测为存疑与当前的时间间隔时长,对各个间隔时长进行归一化处理,得到各个基线检查项的时间指数f=(t
‑
tmin)/(tmax
‑
tmin),其中,tmin为各个基线检查项最近一次被检测为存疑与当前的时间间隔时长中的最小值,tmax为各个基线检查项最近一次被检测为存疑与当前的时间间隔时长中的最大值;
25.那么某个扩充基线检查项的综合评估值j=0.55*e+0.45*f。
26.与现有技术相比,本发明所达到的有益效果是:本发明通过对待检测数据包后续运行过程中的出错情况进行监测来判断是否要增加基线检查项,判断是否要更新基线核查模板,从而提高了安全基线核查过程中的灵活性,提高了后续待检测数据运行过程中的安全性和稳定性。
附图说明
27.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
28.图1是本发明基于工业控制协议的安全基线核查系统的模块示意图。
具体实施方式
29.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
30.请参阅图1,本发明提供技术方案:一种基于工业控制协议的安全基线核查系统,所述核查系统包括解析模块、核查模板获取模块、核查初检模块和运行监测模块,所述解析模块在接收到待检测数据包后,根据待检测数据包所对应的工业控制协议对待检测数据包进行解析,得到待检测数据,所述核查模板获取模块从安全基线数据库中获取与待检测数据的类型相对应的基线核查模板,所述基线核查模板中包括若干基线检查项及其相应的参数阈值,所述基线检查项包括初始基线检查项和扩充基线检查项,所述初始基线检查项的个数大于等于1个,所述核查初检模块根据基线核查模板的基线检查项对待检测数据进行检测,如果待检测数据中存在某个基线检查项的参数超出基线核查模板中的参数阈值波动范围,那么该基线检查项初检存疑,传输报警信息;否则,该基线检查项初检通过,在待检测数据中所有的基线检查项初检均通过,初步判定待检测数据安全,令所述运行监测模块监
测待检测数据后续的运行情况,并据此判断是否更新基线核查模板和运行监测模块。
31.所述运行监测模块包括监测项提取模块、监测占比计算模块和平均值比较模块,所述监测项提取模块在待检测数据后续的运行过程中出错,从待检测数据中提取出错的数据项为监测项,那么该监测项的监测指数p加一,并获取待检测数据运行开始到出错时的时间间隔为该监测项的参照时长,其中,各个数据项的监测指数的初始值为0;所述监测占比计算模块计算待检测数据某个监测项的监测占比q=p/z,其中,z为待检测数据运行过的总次数,并在某个监测项的监测占比q大于监测阈值时,令平均值比较模块获取该监测项的所有参照时长的平均值,如果平均值大于等于警惕阈值,那么将该监测项作为扩充基线检查项,更新基线核查模板。
32.所述核查系统还包括检测顺序排序模块,所述检测顺序排序模块包括总顺序排序模块、分顺序选取模块、第一分顺序排序模块和第二分顺序排序模块,所述总顺序排序模块用于在对待检测数据进行检测时,按照先初始基线检查项后扩充基线检查项的顺序进行检测,所述分顺序选取模块用于获取当前扩充基线检查项的个数,在扩充基线检查项的个数小于等于个数阈值,令第一分顺序排序模块工作,在扩充基线检查项对的个数大于个数阈值,令第二分顺序排序模块工作,所述第一分顺序排序模块按照各个检查项成为扩充基线检查项的先后顺序进行检测,所述第二分顺序模块根据各个扩充基线检查项的综合评估值按照从小到大的顺序排序得到检测顺序,所述检测顺序即为各个对扩充基线检查项的检测顺序。
33.所述检测顺序排序模块还包括综合评估值获取模块,所述综合评估值获取模块包括通过指数计算模块、时间指数计算模块和综合评估值计算模块,所述通过指数计算模块采集对待检测数据的各个扩充基线检查项的检测次数cz以及初检通过的次数cx,那么某个扩充基线检查项的通过指数e=cx/cz,所述时间指数计算模块采集各个基线检查项最近一次被检测为存疑与当前的时间间隔时长,对各个间隔时长进行归一化处理,得到各个基线检查项的时间指数f=(t
‑
tmin)/(tmax
‑
tmin),其中,tmin为各个基线检查项最近一次被检测为存疑与当前的时间间隔时长中的最小值,tmax为各个基线检查项最近一次被检测为存疑与当前的时间间隔时长中的最大值,所述综合评估值计算模块根据通过指数和时间指数计算综合评估值j=0.55*e+0.45*f。
34.一种基于工业控制协议的安全基线核查方法,所述核查方法包括以下步骤:
35.在接收到待检测数据包后,根据待检测数据包所对应的工业控制协议对待检测数据包进行解析,得到待检测数据;
36.从安全基线数据库中获取与待检测数据的类型相对应的基线核查模板,所述基线核查模板中包括若干基线检查项及其相应的参数阈值,所述基线检查项包括初始基线检查项和扩充基线检查项,所述初始基线检查项的个数大于等于1个;初始基线检查项中的检查项内容是预先设定好的,扩充基线检查项的检查项是随着某一个类型的待检测数据不断运行之后慢慢扩充的,因此,扩充基线检查项的初始个数可以为0个,
37.根据基线核查模板的基线检查项对待检测数据进行检测,如果待检测数据中存在某个基线检查项的参数超出基线核查模板中的参数阈值波动范围,那么该基线检查项初检存疑,传输报警信息;如果待检测数据中某个基线检查项的参数位于基线核查模板中的参数阈值波动范围内,该基线检查项初检通过;如果待检测数据中出现基线检查项初检存疑
的情况,将初检存疑的信息返回给传输待检测数据包,令他进行重传;
38.如果待检测数据中所有的基线检查项初检均通过,初步判定待检测数据安全,监测待检测数据后续的运行情况,并据此判断是否更新基线核查模板。通过对待检测数据后续的运行情况,来判断是否更新基线核查模板,从而增加了安全基线核查的灵活性;
39.所述监测待检测数据后续的运行情况包括:
40.如果待检测数据后续的运行过程中出错,从待检测数据中提取出错的数据项为监测项,那么该监测项的监测指数p加一,并获取待检测数据运行开始到出错时的时间间隔为该监测项的参照时长,其中,各个数据项的监测指数的初始值为0;
41.计算待检测数据某个监测项的监测占比q=p/z,其中,z为待检测数据运行过的总次数,
42.当某个监测项的监测占比q大于监测阈值时,获取该监测项的所有参照时长的平均值,如果平均值大于等于警惕阈值,那么将该监测项作为扩充基线检查项,更新基线核查模板。如果说某一个数据项在待检测数据运行了很长一段时间后才发现出错,此时待检测数据之前的运行过程全都报废无用,从而导致系统工作效率较低的情况,因此在这种情况下,将该数据项作为安全基线的核查项,提前进行检测判断是否存在问题,从而能够减少在运行较长一段后才出现待检测数据出错的情况,提高系统运行待检测数据的工作效率;
43.所述根据基线核查模板的基线检查项对待检测数据进行检测包括:
44.对待检测数据进行检测时,按照先初始基线检查项后扩充基线检查项的顺序进行检测;
45.其中,对扩充基线检查项的检测顺序包括:
46.获取当前扩充基线检查项的个数,如果扩充基线检查项的个数小于等于个数阈值,那么按照各个检查项成为扩充基线检查项的先后顺序进行检测;
47.如果扩充基线检查项对的个数大于个数阈值,那么获取各个扩充基线检查项的综合评估值,将综合评估值按照从小到大的顺序排序得到检测顺序,所述检测顺序即为各个对扩充基线检查项的检测顺序。
48.所述获取各个扩充基线检查项的综合评估值包括:
49.采集对待检测数据的各个扩充基线检查项的检测次数cz以及初检通过的次数cx,那么某个扩充基线检查项的通过指数e=cx/cz;各个扩充基线检查项多对应的检测次数cz不一定是相同的,根据扩充基线检查项的实际检测次数来确定;
50.采集各个基线检查项最近一次被检测为存疑与当前的时间间隔时长,对各个间隔时长进行归一化处理,得到各个基线检查项的时间指数f=(t
‑
tmin)/(tmax
‑
tmin),其中,tmin为各个基线检查项最近一次被检测为存疑与当前的时间间隔时长中的最小值,tmax为各个基线检查项最近一次被检测为存疑与当前的时间间隔时长中的最大值,t为相应的基线检查项最近一次被检测为存疑与当前的时间间隔时长;
51.那么某个扩充基线检查项的综合评估值j=0.55*e+0.45*f。初始基线检查项中的各个检查项没有固定的检测顺序,扩充基线检查项中的各个检查项是具有一定的顺序的,对扩充基线检查项中的检查项进行排序,能够提高安全基线核查的效率;当某个扩充基线检查项初检通过的次数越少,最近一次被检测为存疑与当前的时间间隔时长越短,说明当该扩充基线在检测顺序靠前的情况下,被检测出存疑的概率越高,从而缩短得出基线检查
结果的时间,提高安全基线核查的效率。
52.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
53.最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。