用形式化验证检测可编程逻辑控制器中的隐藏恶意代码,能发现复杂触发条件。
Detecting Ladder Logic Bombs in IEC 61131-3 PLC Programs using ESBMC-PLC+: A Formal Verification Approach with Trigger Synthesis
- 将梯形图炸弹检测转为形式验证问题,通过函数块建模暴露隐藏逻辑
- 在公开数据集上100%检出30个炸弹并还原所有触发条件
- 可识别动态计算、多轮触发等高级隐蔽手段,适合工业控制系统安全研究
梯形图炸弹(LLB)是嵌入在可编程逻辑控制器(PLC)程序中的恶意控制逻辑,长期处于休眠状态,待触发后操纵执行器、伪造传感器读数或阻断操作权限。我们发现真实恶意代码常隐藏于功能块内部,而现有梯形图验证工具会将其从中间表示中丢弃,导致炸弹无法被探测。为此提出ESBMC-LLB,基于ESBMC-PLC+构建验证引擎,增加函数块逻辑暴露层,将炸弹检测转化为形式验证问题:扫描监视器可发现非终止性攻击,输出线路可将执行器伪造视为安全违规。通过k-归纳实现跨所有扫描的无界证明,约束模型检测器返回反例即为触发条件——这是传统签名、异常和CFG分诊检测所不具备的能力。在Iacobelli 2024公开数据集上,该方法成功检测全部30个炸弹并恢复每个触发条件;还可识别适应性触发(计算型、隐式算术、多扫描),避开CFG分诊检测。首次对PLC-Defuser的SWaT语料库进行语义模型检查评估:我们的扩展使完整语料库可解析,在v1.0.0版本中检测到149/150个炸弹(99%),零误报,并恢复每个触发条件;但在含非线性非终止炸弹的后续版本中,检测率降至49%,因SMT求解器超时。结论表明语义模型检查与CFG分诊互补:前者提供无界证明、抗适应性触发能力,支持布尔/整数及线性模拟逻辑;后者可处理非线性模拟非终止,二者适用场景需明确区分。
原文摘要 · Abstract (English)
A Ladder Logic Bomb (LLB) is malicious control logic in a Programmable Logic Controller (PLC) program that lies dormant until a trigger activates a payload to manipulate actuators, forge sensor readings, or deny operator control. We observe that real malicious logic hides inside function-block bodies, which existing ladder-diagram verifiers drop from their intermediate representation (IR), making bombs invisible to provers. We present ESBMC-LLB, which uses ESBMC-PLC+ as its verification engine and adds a modeling layer that exposes function-block logic and recasts bomb detection as a formal verification problem: a scan-watchdog exposes non-termination payloads, and output wiring exposes actuator-forgery payloads as safety violations. k-induction gives an unbounded proof of bomb-absence across all scans, and the bounded model checker returns a counterexample that is the trigger - guarantees that signature, anomaly, and CFG-triage detectors lack. On the public Iacobelli 2024 dataset, ESBMC-LLB detects all 30 bombs and recovers every trigger; it also detects adaptive triggers (computed, opaque-arithmetic, multi-scan) that evade CFG-triage. We also report the first semantic model-checker evaluation on PLC-Defuser's SWaT corpus: our analog extension makes the full corpus parseable; on v1.0.0, it detects 149/150 bombs (99%) with zero false positives, recovering each trigger; on a later version with nonlinear non-termination bombs, detection drops to 49% as the SMT solver times out. We conclude that semantic model checking and CFG-triage are complementary - the former gives unbounded proofs, adaptive-trigger robustness, and handles Boolean/integer and linear analog logic; the latter leads to nonlinear analog non-termination, and we delineate where each wins.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。