公开/公告号CN107302530A
专利类型发明专利
公开/公告日2017-10-27
原文格式PDF
申请/专利权人 北京天地和兴科技有限公司;
申请/专利号CN201710456322.0
申请日2017-06-16
分类号H04L29/06(20060101);G06F21/56(20130101);
代理机构
代理人
地址 100193 北京市海淀区东北旺路8号中关村软件园8号楼华夏科技大厦三层316
入库时间 2023-06-19 03:38:37
法律状态公告日
法律状态信息
法律状态
2020-05-22
授权
授权
2017-11-24
实质审查的生效 IPC(主分类):H04L29/06 申请日:20170616
实质审查的生效
2017-10-27
公开
公开
技术领域
本发明涉及网络安全技术领域,尤其是一种基于白名单的工控系统攻击检测装置及其检测方法。
背景技术
传统的攻击检测方法主要依赖模式特征库,通过将网络攻击行为、攻击脚本的特征提取出来,在系统中通过正则表达式等模糊匹配方式去判别,通过识别攻击特征来辨别攻击行为和攻击载体。
之后又产生了通用的依据白名单进行恶意程序检测的方法。通过收集单一程序的特征和行为建立白名单。将白名单集中存储于服务器中,后续程序执行时进行白名单比对,如果特征值一致将允许程序执行。
现有技术方案的缺点:
公开的工控系统漏洞库、工控病毒特征库中特征数量少,且基于已知特征的传统攻击检测方法,特征库的生成与更新往往滞后。工控网络攻击方法属于信息战的武器,基本上有效的攻击方法极少公开披露,特征库缺少维护更新。
通用白名单的恶意程序检测方法收集的是单一程序的特征和行为,其实现技术简单但其白名单库条数巨大、执行效率低、系统整体延时长,无法满足工控网络实时性要求。
通用白名单的恶意程序检测方法缺乏对系统整体级别的判断,对于系统允许的操作缺乏有效的访问控制。
总体说,现有方案是针对传统IT信息安全的攻击检测系统和方法,不满足工控攻击检测需要。
发明内容
本发明要解决的技术问题是提供一种基于白名单的工控系统攻击检测装置及其检测方法,能够解决现有技术的不足,有效解决了基于程序构建的白名单库庞大、结构复杂等问题,同时有效提高了工控攻击检测命中率和工控系统白名单安全性。
为解决上述技术问题,本发明所采取的技术方案如下。
一种基于白名单的工控系统攻击检测装置,包括:工控系统检测终端和白名单存储终端;其中,
工控系统检测终端包括,
工控系统白名单特征模块,用于与白名单存储终端通信,以及白名单的生产、写入、读出和匹配操作;
工控系统攻击预警模块,用于监控宿主机上工控系统关系白名单的变更,实时对变更进行攻击预警;
工控系统保护模块,用于监控宿主机上工控系统资源白名单的变更,实时对变更进行攻击预警;
白名单存储终端包括,
安全芯片模块,用于存储加密算法;
存储私密区模块,使用安全芯片模块内置加密算法对敏感信息加密并存储;
存储访问模块,用于实现安全芯片模块和存储私密区模块与工控系统检测终端的通信。
作为优选,所述工控系统检测终端和白名单存储终端分别部署在不同的独立设备中。
作为优选,所述工控系统检测终端部署在操作员站和/或工程师站和/或上位机和/或服务器中。
作为优选,所述白名单存储终端部署在工控主机和/或磁盘阵列中。
一种上述的基于白名单的工控系统攻击检测装置的检测方法,包括以下步骤:
A、工控系统运行信息被工控系统攻击预警模块拦截;若工控系统攻击预警模块判断工控系统被恶意代码植入或篡改,则转入步骤B1,否则转入步骤B2;
B1、工控系统攻击预警模块将运行工控系统信息提交给工控系统白名单特征模块;
C1、工控系统白名单特征模块根据攻击检测基线构建运行工控系统的工控系统关系摘要值;
D1、工控系统白名单特征模块调用存储访问模块,并输入运行工控系统的工控系统关系摘要值;
E1、存储访问模块获取存储私密区模块保存的白名单数据,提交给安全芯片模块解密;
F1、由于恶意代码植入、恶意代码篡改、文件增加、文件删除会导致关系摘要值变更,存储访问模块判断运行工控系统的工控系统关系摘要值和白名单库中的摘要值的关系;
G1、存储访问模块将判断关系传递给工控系统白名单特征模块;
H1、工控系统白名单特征模块将判断结果传递给工控系统攻击预警模块;
I1、判读结果为一致时,工控系统攻击预警模块记录运行日志;判断结果为不一致和不存在时,工控系统攻击预警模块报警,并记录运行日志;
J1、运行工控系统正常执行,结束检测;
B2、工控系统攻击预警模块将运行工控系统信息提交工控系统保护模块;
C2、工控系统保护模块将运行工控系统信息提交工控系统白名单特征模块;
D2、工控系统白名单特征模块根据攻击检测基线计算运行工控系统信息的工控系统资源摘要值;
E2、工控系统白名单特征模块调用存储访问模块,并输入运行工控系统的工控系统资源摘要值;
F2、存储访问模块获取存储私密区模块保存的白名单数据,提交给安全芯片模块解密;
G2、由于配置信息修改、植入陌生资源、工控系统操作的变化、工控系统非法访问会导致资源摘要值变更,存储访问模块判断运行工控系统的工控系统资源摘要值和白名单库中的摘要值的关系;
H2、存储访问模块将判断关系传递给工控系统白名单特征模块;
I2、工控系统白名单特征模块将判断结果传递给工控系统保护模块;
J2、工控系统保护模块将判断结果传递给工控系统攻击预警模块;
K2、判读结果为一致时,工控系统攻击预警模块记录运行日志;判断结果为不一致或不存在时,工控系统攻击预警模块报警,并记录运行日志;
L2、运行工控系统正常执行,结束检测。
作为优选,攻击检测基线的建立过程为,
1)、工控系统白名单特征模块获取工控主机安装的全部工控系统名单;
2)、扫描工控系统安装目录,获取目录下的全部可执行文件名单;
3)、通过分析可执行文件的依赖关系,获取可执行文件调用的关系树;
4)、关系树的根节点是被分析的文件名,树上节点包括被分析的可执行文件、依赖的动态链接库、依赖的静态库、依赖的可执行脚本和依赖的可执行组件;
5)、通过摘要算法获取可执行文件的摘要值,算法的输入为关系树;
6)、将可执行文件的摘要值临时存储在工控系统关系摘要链表内;
7)、通过摘要算法获取工控系统关系摘要值,算法的输入为工控系统摘要链表;
8)、将工控系统关系摘要值通过存储访问模块写入白名单存储终端加密存储;
9)、通过分析可执行文件的资源文件,获取可执行文件调用的资源,资源类型包括文本文件、数据库文件、配置文件、二进制文件、XML文件,并将调用的资源名和内容写入工控系统资源集合;
10)、对工控系统资源集进行去重;
11)、通过摘要算法获取工控系统资源摘要值,算法的输入为工控系统资源集;
12)、将工控系统资源摘要值通过存储访问模块写入白名单存储终端加密存储。
采用上述技术方案所带来的有益效果在于:
1、本发明技术已完整的工控系统为构建单位,完成工控系统白名单的构建。避免了基于程序的白名单条目多和不同存储位置白名单冲突等问题。
2、本发明技术将白名单的构建纳入到工控系统的当前环境中。有效解决了程序在某些环境中属于异常操作的检测问题。
3、本发明技术将工控系统的配置信息、资源信息纳入白名单管理范畴。有效解决了执行误操作的检测问题。
4、本发明技术将白名单保存在独立的加密设备中,且白名单的判断操作不出独立的加密设备,有效的提高了攻击检测系统的安全性。
附图说明
图1是本发明一个具体实施方式的系统原理图。
图2是本发明一个具体实施方式中攻击检测基线建立过程的流程图。
具体实施方式
参照图1-2,本发明一个具体实施方式包括工控系统检测终端1和白名单存储终端2;其中,
工控系统检测终端1包括,
工控系统白名单特征模块11,用于与白名单存储终端通信,以及白名单的生产、写入、读出和匹配操作;
工控系统攻击预警模块12,用于监控宿主机上工控系统关系白名单的变更,实时对变更进行攻击预警;
工控系统保护模块13,用于监控宿主机上工控系统资源白名单的变更,实时对变更进行攻击预警;
白名单存储终端2包括,
安全芯片模块21,用于存储加密算法;
存储私密区模块22,使用安全芯片模块内置加密算法对敏感信息加密并存储;
存储访问模块23,用于实现安全芯片模块21和存储私密区模块22与工控系统检测终端1的通信。
所述工控系统检测终端1部署在操作员站中。
所述白名单存储终端2部署在工控主机中。
一种上述的基于白名单的工控系统攻击检测装置的检测方法,包括以下步骤:
A、工控系统运行信息被工控系统攻击预警模块12拦截;若工控系统攻击预警模块23判断工控系统被恶意代码植入或篡改,则转入步骤B1,否则转入步骤B2;
B1、工控系统攻击预警模块12将运行工控系统信息提交给工控系统白名单特征模块11;
C1、工控系统白名单特征模块11根据攻击检测基线构建运行工控系统的工控系统关系摘要值;
D1、工控系统白名单特征模块11调用存储访问模块23,并输入运行工控系统的工控系统关系摘要值;
E1、存储访问模块23获取存储私密区模块22保存的白名单数据,提交给安全芯片模块21解密;
F1、由于恶意代码植入、恶意代码篡改、文件增加、文件删除会导致关系摘要值变更,存储访问模块23判断运行工控系统的工控系统关系摘要值和白名单库中的摘要值的关系;
G1、存储访问模块23将判断关系传递给工控系统白名单特征模块11;
H1、工控系统白名单特征模块11将判断结果传递给工控系统攻击预警模块12;
I1、判读结果为一致时,工控系统攻击预警模块12记录运行日志;判断结果为不一致和不存在时,工控系统攻击预警模块12报警,并记录运行日志;
J1、运行工控系统正常执行,结束检测;
B2、工控系统攻击预警模块12将运行工控系统信息提交工控系统保护模块13;
C2、工控系统保护模块13将运行工控系统信息提交工控系统白名单特征模块11;
D2、工控系统白名单特征模块11根据攻击检测基线计算运行工控系统信息的工控系统资源摘要值;
E2、工控系统白名单特征模块11调用存储访问模块23,并输入运行工控系统的工控系统资源摘要值;
F2、存储访问模块23获取存储私密区模块22保存的白名单数据,提交给安全芯片模块21解密;
G2、由于配置信息修改、植入陌生资源、工控系统操作的变化、工控系统非法访问会导致资源摘要值变更,存储访问模块23判断运行工控系统的工控系统资源摘要值和白名单库中的摘要值的关系;
H2、存储访问模块23将判断关系传递给工控系统白名单特征模块11;
I2、工控系统白名单特征模块11将判断结果传递给工控系统保护模块13;
J2、工控系统保护模块13将判断结果传递给工控系统攻击预警模块12;
K2、判读结果为一致时,工控系统攻击预警模块12记录运行日志;判断结果为不一致或不存在时,工控系统攻击预警模块12报警,并记录运行日志;
L2、运行工控系统正常执行,结束检测。
攻击检测基线的建立过程为,
1)、工控系统白名单特征模块11获取工控主机安装的全部工控系统名单;
2)、扫描工控系统安装目录,获取目录下的全部可执行文件名单;
3)、通过分析可执行文件的依赖关系,获取可执行文件调用的关系树;
4)、关系树的根节点是被分析的文件名,树上节点包括被分析的可执行文件、依赖的动态链接库、依赖的静态库、依赖的可执行脚本和依赖的可执行组件;
5)、通过摘要算法获取可执行文件的摘要值,算法的输入为关系树;
6)、将可执行文件的摘要值临时存储在工控系统关系摘要链表内;
7)、通过摘要算法获取工控系统关系摘要值,算法的输入为工控系统摘要链表;
8)、将工控系统关系摘要值通过存储访问模块23写入白名单存储终端2加密存储;
9)、通过分析可执行文件的资源文件,获取可执行文件调用的资源,资源类型包括文本文件、数据库文件、配置文件、二进制文件、XML文件,并将调用的资源名和内容写入工控系统资源集合;
10)、对工控系统资源集进行去重;
11)、通过摘要算法获取工控系统资源摘要值,算法的输入为工控系统资源集;
12)、将工控系统资源摘要值通过存储访问模块23写入白名单存储终端2加密存储。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
机译: 基于非标准协议白名单的工控系统异常检测方法及装置
机译: 基于同质加密和智能网格系统的智能网格系统攻击检测方法
机译: 一种基于新的基于盐酸的化合物,使用相同的试剂选择锌离子或乙酸根离子的方法,检测方法和检测装置