字节码安全验证:理论、实践与展望
1. 安全闭包与安全策略
安全闭包是通过归纳定义的。所有初始状态都包含在 safeP Π 中。如果一个状态 (p,σ,e) 在 safeP Π 中,并且满足位置 p 处的安全公式和注释(如果有的话),那么每个满足位置 p' 处安全公式和注释的后继状态 (p',σ',e') 也在 safeP Π 中。
断言语言有三个用途:
- 提供指定机器状态的方法,从而对程序进行注释。
- 用于表达验证条件。
- 用于指定安全策略。
我们的 PCC 框架期望安全策略以函数 safeF:: jbc-prog ⇒ pos ⇒ expr 的形式给出,该函数为给定程序 Π 中的每个位置 p 定义一个安全公式。在我们的例子中,实例化的安全策略禁止算术溢出,即 IAdd 的结果不能超过 MAXINT (Java 的最高 32 位整数 ⌞2147483647⌟ )。
safeF Π p = (if cmd Π p = Some IAdd
then St 0 ⌞+⌟St 1 ⌞⩽⌟MAXINT
else ⌞True⌟)
超级会员免费看
订阅专栏 解锁全文
1002

被折叠的 条评论
为什么被折叠?



