29、增强处理器抗故障注入鲁棒性的技术解析

增强处理器抗故障注入鲁棒性的技术解析

1. 软件元数据

元数据包含描述程序控制流图(CFG)的信息,这些信息被组织成一个个元数据块,每个元数据块描绘一个基本块(BB)的执行行为。对于32位架构,图3展示了这些元数据块中存储的信息以及它们在内存中的格式。

每个基本块的元数据包含以下内容:
- 该基本块结束时可访问的有效目标地址列表。
- 根据基本块的指令计算得到的签名。
- 基本块中存在的指令数量以及本部分描述的其他信息。

每个元数据块包含多个条目,每个条目类型由最高两位(MSB)标识,有以下四种类型:
- StartBB :作为头信息,描述当前基本块的类型和内容。Func位用于标记函数的入口基本块。NInstr字段存储基本块的指令数量。两个Int标志位用于标记中断例程的开始或结束。EndType标志用两位编码,表示基本块结束时的控制转移类型,有None、Call、Return三种类型。VD标志指示元数据中是否存在ValidDest条目。
- ValidDest :用于存储基本块结束时允许到达/执行的一个有效目标地址,对应于CFG中的一个允许边。Addr存储目标的绝对地址,右移两位。
- Empty :当没有ValidDest要存储或所有ValidDest已在先前条目中存储时使用,也用于使元数据的大小与基本块的指令数量匹配,以保持内存对齐一致。
- EndBB :标记基本块的结束,还包含对基本块所有指令计算得到的哈希签名。EndBB头和NInstr用于确定基本块的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值