论文部分内容阅读
工业控制系统(ICS,Industrial Control Systems)的网络物理安全问题正在变得日趋严重,不管是从网络信息安全还是从物理数据完整性的角度,ICS所面临的安全风险和入侵威胁都在不断增加,而且伴随着工业安全事故的数量逐年增加,相应带来的破坏和灾难也越发严重。所以,ICS的网络信息安全和数据安全已经成为越来越需要全面和深入研究的关键领域。正是在这种背景下,为了检测对ICS中最核心的PLC控制系统的入侵威胁,我们需要建立安全系统和国家关键基础设施安全的综合防御系统,本文针对PLC控制系统网络物理安全的入侵类型、控制器本身及其与物理设备交互数据的脆弱性特点,在研究和设计攻击和入侵检测方法的方面主要做了以下工作:1.构造了基于故障检测机制错误序列注入(FSI,False Sequences Injection)攻击,其可以避开现有的系统故障检测机制,通过感染和篡改PLC的输入信号迫使其执行误操作并破坏控制系统的关键设备。首先我们对PLC控制器和物理设备之间交换的信号或堆栈数据进行采集;利用输入和输出向量数据库,然后我们辨识出与故障检测的建模方法类似的无故障的离散事件模型;我们搜索所有的不可被故障机制检测的虚假序列的集合,并且通过获得适当长度的恶意序列对受控制的传感器采集的输入信号进行篡改实施攻击。通过与类故障攻击和假数据注入攻击的对比实验仿真表明我们的方法能够对部署故障检测的控制系统造成一定的破坏性威胁并证明构造的攻击的有效性。2.设计了基于异常数据的入侵检测机制,其针对控制系统中控制器接收来自本地和远程输入信号的完整性和安全性而设计,并且考虑到错误序列注入攻击序列构造特性设计了有效的FSI检测算法。与攻击建模类似,首先采样数据库,辨识出能够高度复现待检测系统的无故障离散事件模型;然后针对不同异常数据注入攻击的特点,分为两个阶段设计异常数据检测算法。第一阶段将监测的控制器输入信号与模型的预期输出残差对比判断是否数据异常;第二阶段对隐蔽的错误序列注入攻击设计额外FSI检测算法来防御此类型的攻击;并对检测存在异常的数据分析判断,定位到具体攻击源并给出相应的应对措施。最后通过与类故障攻击检测和FDI攻击检测的对比实验仿真表明我们的检测在面临FSI攻击威胁时能起到很好的检测和隔离保护作用。3.设计基于规范的入侵检测设计,其针对可编程控制器本身控制程序和指令的保护并使其免受恶意代码注入而设计,只有经过验证合法的程序和指令才能从操作系统或控制服务器上传到指定的可编程控制器设备中。首先将PLC代码(IL code)格式化整理并通过IL2bool IL算法转换为中间语言;并将布尔逻辑指令表代码通过模板实例化(Template Instantiate)过程被迭代地执行转化,将通用模板代码实例化为验证工具Nu SMV输入程序;然后我们通过将得到的形式化代码模型(Nu SMV code)输入到验证工具Nu SMV逐个地检查我们的安全规范,每个布尔规范表示有限状态机中的安全属性是否为真,如果存在任何可达的路径其属性为假,则会给出相应的反例并证明存在安全违规不能上传到PLC设备中。最后通过与SABOT和HOMER模型的对比实验仿真表明,相比SABOT和HOMER模型,我们的模型验证对控制系统面临恶意代码注入的攻击可以在更短时间内更精确的检测攻击来保护系统。