可编程逻辑控制器(PLC)在工业控制系统(ICS)中负责执行核心控制逻辑。随着 PLC 功能增强,其运行时环境越来越多地同时运行多个应用程序,这些程序共享对 PLC 变量的访问。然而,现有 ICS 防御机制主要关注变量值是否超出预期边界,以此检测恶意更新,并未考虑执行更新的应用程序身份。这种缺口导致恶意应用程序可以在正常范围内修改变量,从而逐步将物理过程推向不安全状态。即便此类操作被检测到,运营者也难以定位责任应用,因为 PLC 记录中不关联变量更新与具体应用。针对这一问题,本文提出 MARS(Multi-Application Runtime Security)框架,实现应用级授权与变量操作的归属。MARS 方法包括:首先在隔离的虚拟 PLC(vPLC)环境中对每个应用程序进行行为刻画,生成应用特有的变量访问策略;运行期间,利用影子 vPLC 模拟生产 PLC 的变量状态,通过比对生产 PLC 与影子 vPLC 的更新记录,将生产 PLC 上的每次变量更新归属到具体应用程序,而无需对生产控制器进行插桩;同时,MARS 还能检测仅在生产 PLC 上发生、影子 vPLC 无对应更新的操作,从而识别绕过模拟的攻击。作者在制造、化工和水处理三类 ICS 测试平台上评估了 MARS,模拟攻击由未授权应用在正常边界内操作变量。结果显示,MARS 能有效检测此类操作,并准确识别责任应用。论文核心贡献包括:提出应用级变量操作授权与归属的自动化框架;设计基于 vPLC 的隔离与影子机制,兼顾真实性与零插桩;实验验证了跨领域 ICS 场景的适用性。适合 ICS 安全研究员、PLC 安全工程师、工业控制系统蓝队成员阅读。
💡 推荐理由: 首次将 PLC 变量操作的应用身份纳入安全模型,解决传统边界检测盲区,可帮助工控蓝队精准定位恶意应用,提升对复杂多应用 PLC 环境的可见性与响应能力。
🎯 建议动作: 研究跟进