[论文解读] Developing Theoretical Foundations for Runtime Enforcement
本文为使用高度表达性的逻辑——递归的 Hennessy-Milner 逻辑(µHML)自动合成运行时强制监控器奠定了理论基础。它识别出 µHML 公式的一个子集,该子集可被强制执行,从而实现自动生成正确性保证的监控器,通过抑制机制确保安全属性,且具有正确性和确定性的形式化保证。
The ubiquitous reliance on software systems increases the need for ensuring that systems behave correctly and are well protected against security risks. Runtime enforcement is a dynamic analysis technique that utilizes software monitors to check the runtime behaviour of a software system with respect to a correctness specification. Whenever the runtime behaviour of the monitored system is about to deviate from the specification (either due to a programming bug or a security hijack attack), the monitors apply enforcement techniques to prevent this deviation. Current Runtime Enforcement techniques require that the correctness specification defines the behaviour of the enforcement monitor itself. This burdens the specifier with not only having to define property that needs to be enforced, but also with having to specify how this should be enforced at runtime; we thus relieve the specifier from this burden by resorting to a highly expressive logic. Using a logic we allow the specifier to define the correctness specification as a logic formula from which we can automatically synthesise the appropriate enforcement monitor. Highly expressive logics can, however, permit for defining a wide variety of formulae, some of which cannot actually be enforced correctly at runtime. We thus study the enforceability of Hennessy Milner Logic with Recursion for which we identify a subset that allows for defining enforceable formulae. This allows us to define a synthesis function that translates enforceable formulae into enforcement monitors. As our monitors are meant to ensure the correct behaviour of the monitored system, it is imperative that they work correctly themselves. We thus study formal definitions that allow us to ensure that our enforcement monitors behave correctly.
研究动机与目标
- 通过从正确性属性自动合成监控器,减轻规范作者手动设计强制监控器的负担。
- 识别出递归 Hennessy-Milner 逻辑(µHML)中可保证运行时强制性的子集。
- 形式化验证所生成的强制监控器是否具有确定性且正确强制执行安全属性。
- 为基于逻辑的规范提供可靠且透明的强制机制的理论基础。
- 将系统属性的规范与强制机制分离,实现模块化且正确性保证的强制机制。
提出的方法
- 使用基于逻辑的规范语言(µHML)表达正确性属性,抽象出强制实现的细节。
- 引入一种归一化过程,将任意符号 HML 公式转换为一种标准形式(sHMLnf),以支持有效的监控器合成。
- 采用合成函数,通过符号事件处理和基于状态的监控,将可强制执行的公式映射为确定性强制监控器。
- 应用双演化博弈刻画方法,形式化验证监控器的正确性和可强制性。
- 建立强可强制性的形式化定义,包括正确性与透明性,确保监控器不会干扰正确执行。
- 使用不动点语义和标记转移系统建模系统与监控器的行为,支持对运行时行为的形式化推理。
实验结果
研究问题
- RQ1µHML 中哪些公式在运行时可被强制执行,我们如何形式化刻画这一子集?
- RQ2如何从给定的可强制执行逻辑公式自动合成一个确定性强制监控器?
- RQ3可以提供哪些形式化保证,以确保所生成的监控器既正确又透明?
- RQ4如何将强制机制与属性规范解耦,以提升模块化与正确性?
- RQ5哪些逻辑和结构约束可确保监控器自身行为正确,且不会引入意外副作用?
主要发现
- 本文识别出 µHML 的一个句法子集,其可被强制执行,从而实现从逻辑规范自动合成监控器。
- 开发了一种归一化过程,保留语义的同时将公式转换为适合监控器合成的标准形式。
- 所生成的强制监控器被形式化证明为具有确定性,确保在所有执行轨迹下行为可预测。
- 监控器被证明是正确的:它们从不允许违反指定的安全属性。
- 监控器具有透明性:它们不会干扰正确的系统行为,保留所有有效执行。
- 该框架为将属性规范与强制逻辑分离提供了形式化基础,支持正确性保证的合成强制机制。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。