36、基于最弱前置条件的程序健壮性分析

基于最弱前置条件的程序健壮性分析

1. 相对健壮性与分散式健壮性

在某些观点下,相对健壮性是比分散式健壮性更通用的概念。一旦确定了主体对,数据的安全级别也就随之确定。我们用 $C_{p→q}$ 表示机密性级别,用 $I_{p←q}$ 表示完整性级别。例如,对于每个变量 $x$,如果主体 $p$ 认为攻击者 $q$ 可以修改 $x$,则 $I_{p←q}(x) = L$;否则 $I_{p←q}(x) = H$。

给定一个程序和以 DLM 方式制定的安全策略,我们可以计算每对主体 $p$、$q$ 的读者和写入者集合,并使用命题 3 检查每对主体的健壮性。由此得到 DLM 中相对健壮性的如下推广:
- 命题 4 :设 $P = P_2; [•]; P_1$ 是一个程序(其中 $P_1$ 无空洞),$\varPhi = Wlp(P_1, \varPhi_0)$。若 $\bigcap_{x: I_{p←q}(x) = L} FV(\varPhi) = \varnothing$,则 $P$ 相对于主体 $p$、$q$ 满足分散式健壮性。
- 证明 :对于给定的主体对 $(p, q)$,我们计算分散式健壮性所需的读者和写入者集合,从而对程序数据进行关于机密性和完整性的静态标记。由于命题假设保证了 $\varPhi$ 中出现的自由低完整性变量不会被主动攻击利用,应用引理 1,且此情况对所有可能的主体对都成立,所以该命题成立。

这种特征非常适合客户端 Web 语言,如 JavaScript,它可以防止注入攻击或动态加载的第三方代码。例如,一个接受不同来源广告的网页,我们可以分析其 DOM 树,将每个属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值