摘要
工业控制系统(IndustrialControlSystem,ICS)广泛应用于核电、化工、水利等国家重要基础设施的连接、监测和控制,一旦遭受攻击,将对国家财产、生态环境乃至人民生命安全产生危害。随着工业控制系统与IT技术的不断融合,其逐渐暴露在新型威胁之下,受到网络攻击的可能性不断加大,因此加强对工业控制系统安全技术的研究具有重要意义。 入侵检测是工业控制系统安全防御中的关键一环,通过对系统中关键数据的收集分析,实时检测出系统内外的异常行为并采取相应的保护措施,可有效地增强系统的攻击检测及预警能力。但由于工业控制系统与传统IT系统具有较大差异,单纯运用传统的入侵检测技术难以完全满足工业控制系统的安全防护需求。因此,有必要针对工业控制系统的安全需求特性和脆弱性,设计合理的检测方法,以提高工控系统的入侵检测率,降低系统的漏报率和误报率,本文的主要工作如下: (1)针对现场层的安全需求,提出采用基于Modbus功能码分类深度检测的白名单防护方法。此方法计算复杂度不高,对ModbusTcp数据报文实现从网络层到应用层的全面检测,并针对功能码及其相应的数据格式特征进行白名单规则配置,拦截非法数据包。该防护方法可以解析报文的应用层数据内容,支持对功能码及对应操作对象的地址范围、数量及写入数值等字段的阈值进行限定。并对白名单规则进行分类管理,针对不同类别规则配置相应的存储管理策略,以提高规则的查询匹配效率,在保证工控系统通讯实时性的同时提高系统的安全防护性能。最后通过实验验证该方法的有效性。 (2)针对过程监控层的安全需求,提出一种基于单类支持向量机(OneClassSupportVectorMachine,OCSVM)的入侵检测算法。首先基于工业数据的体量大、维度高、关联性和非线性强等特性,将Fisher-score引入核主成分分析算法中,综合考虑样本的类别信息和总信息量对数据集进行特征提取;其次采用分层协同免疫粒子群算法(HierarchicalCollaborativeImmuneParticleSwarmOptimization,HCIPSO)对OCSVM的参数进行寻优,解决了粒子群易陷入局部收敛的问题,增强了算法的综合性能;最后基于优化后的OCSVM算法构建入侵检测模型,并进行对比实验验证。结果表明,相比于其他算法,本文方法的训练时间短、学习能力和泛化能力强、准确率高、误报率和漏报率相对较低,能够较好的满足工控系统对入侵检测的需求,有一定的实用价值。