一、摘要及引言
CoToRu(Code-To-Rule):以PLC逻辑程序的代码为输入,自动生成IDS规则的工具链。如下图所示,CoToRu由两个组件构成——State Transition Table Generator(状态转化表生成器)和 Rules Generator(规则生成器)。
State Transition Table Generator:将PLC code转化为state transition table(状态转化表)。状态转化表 的每一行是一个(key,next state)的二元组,描述了PLC变量的更新逻辑。
Rules Generator:以State Transition Table、Deployment configurTation和PLC timing profile为输入,自动生成可被Zeek直接使用的入侵检测规则。
二、文献回顾
作者在这一节介绍了现有的入侵检测系统,主要分为两类——基于网络的入侵检测系统(分为协议相关、协议无关两种)和基于运行情况的入侵检测系统(使用机器学习或从对物理过程的了解程度出发)。
三、问题描述
作者在这一节讨论了CoToRu适用的攻击场景以及设计目标。
适用场景:检测被攻击者控制的PLC的恶意行为。
四、CoToRu:A Tool Chain For IDS Rule Generation
作者在这一节介绍了CoToRu生成IDS Rules的过程。
(一)生成状态转移表
输入:ST code
符号化执行树(Symbolic Execution Tree):使用PLC code生成符号化执行树
状态转移表(state Transition Table):使用符号化执行树生成状态转移表
(二)生成IDS规则
建立PLC变量和网络消息的映射:根据通信协议建立PLC变量和网络消息之间的映射关系
五、实验与评估
作者在一个电网实验台上对CoToRu的性能进行了测试,并与传统的IDS做了比较。实验结果显示,本文提出的方法的精确率达到了100%且引入的延时为sub-millisecond级。