星载微机软件抗seu加固技术研究

上传人:E**** 文档编号:118207248 上传时间:2019-12-11 格式:PDF 页数:13 大小:487.38KB
返回 下载 相关 举报
星载微机软件抗seu加固技术研究_第1页
第1页 / 共13页
星载微机软件抗seu加固技术研究_第2页
第2页 / 共13页
星载微机软件抗seu加固技术研究_第3页
第3页 / 共13页
星载微机软件抗seu加固技术研究_第4页
第4页 / 共13页
星载微机软件抗seu加固技术研究_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《星载微机软件抗seu加固技术研究》由会员分享,可在线阅读,更多相关《星载微机软件抗seu加固技术研究(13页珍藏版)》请在金锄头文库上搜索。

1、星载微机软件抗S E U 加固技术 研究 周彦平杨生胜 ( 航天工业总公 司五院五一0 所 张英顾克伟 兰州市9 4 信箱 7 3 0 0 0 0 ) 摘 要 本文从分析微机芯片8 0 0 8 6 和8 0 3 1 0 内 部结构入手, 进行了空间 单 粒子效应引起的故障分析,井提出了 软件应采用的加固对策。 关键 词:单粒子效 应星载微机软件加固 概述 对星载微机软件抗S E U 加固技术 研究 主要以S O C 8 6 C P U 和S R A M , E E P R O M 及8 0 0 3 1 为 主,针对故障特点和造成的影响进行了 故障分类和加固对策分析,这一部分内 容 实际 _ L

2、 是软件加固的 可行性和 基本 方法分析,对8 0 C 8 6 系统我们 主要分为以 下几类: a数据出错; b程序流程出错 c . 程序错位; d . 死循环与停机:; e外围电路及端口 出 错等。 对8 0 C 3 1 系统在上述荃 础上还考虑了f工作方式出错: 9 并行 1 / 0 端口出 错 和串行口出 错。针对上述错误进行了 软件加固 对策分析,提出了解决问题的办法和 途径。 2 、 研究内容及 结果 2 . 1 8 0 0 8 6 微机系统硬件结 构与软件加固可行性 研究 8 0 0 8 6微机系统是一种标准的 1 6 位总线式计算机,由8 0 C 8 6 C P U , 1 /

3、0 处理芯片 8 O C 8 9 、 时钟发生器 8 2 0 8 4 、 总线 仲截 器 8 2 0 8 9、中 断控制器 8 2 0 5 9 , R A M , R O M等 组 成, 对它的内部结 构这里 不作详 细介绍。 2 . 1 . 1 S O C 8 6 微 机 的 单 粒 子 故 障 分 析 在空间高能 质子 和重粒子的作 用下, 8 0 0 8 6 微机系统主要产生单粒子翻 转( S i n g l e E v e n t U p s e t , S E U )和单粒子门锁 ( S i n g l e E v e n t L a t c h u p , S E L ) 等效 应

4、。 这里 主要讨 论S E U 故障。 一般来说微机中的 8 0 C 8 6 C P U , S R A M , E E P R O M , 8 0 0 8 9 , 8 0 C 8 4 , 8 2 0 8 9 , 8 2 0 5 9等 都有可能出现翻转, 另外,外围的中小规模电路也有可能出现翻转, 对外围的 小几 率翻转一般采用硬件的方式解决。而 8 2 0 8 4 , 8 2 0 8 9 , 8 0 0 8 9 , 8 2 0 5 9等 芯片的 翻转总 可以等 效到8 0 0 8 6 , S R A M , E E P R O M 和 1 / 0 系统中 去, 软件处理方法是一样的。 所以,

5、 这里只 讨论上述四个部 位的翻 转情形. 2 . 1 . 2 C P U 的 单粒子故障分 析 2 2 0 周彦平 杨生胜 张英 等:星载徽机软件抗 S E U加固技术研究 、 2 . 1 . 2 . 1 B I U 中翻转分析 a . 段寄存器组翻转这种翻转容易造成程序代码段( 构成取指地址) 出错 ( C S ) ,或当 前数 据地址出 错,即 运算 变量出错( U S ) ,或堆栈指针出错( S S ) , 或附加地址段出错( E S ) ;一 般出 现地址的大 跨度跳跃,造成数据区的改变 引 起程序流程错误 或运算结果错 误。 b . 内部 暂存器翻转 这部 分翻转对用户不透明,但可

6、 等效到其 它寄 存器出错。 c . 指令指针 C P和指针加法器出 错一 般造成取址地址出 错,由于 它是段寄存 器和位移量指针寄存器相加的结果。所以 也可等效为段寄存器或位移量指针 寄存器I P 出 错,一 般造成程序流 程错误. d , 指令队列缓冲器出 错可等效为指令出 错, 一般分操作码出错或操作数出 错, 可等效为程序存储器或数 据存储器出 错. 后果是执行了非法程序。 由于B I U 是负责C P U 与存储器之间的 信息传递, 所以 不透明部分出 错总可以 等效为C P U 透明部分存储器出错,这样便于软件加固技术的处理。 11 . 2 . 2 E l l 中的翻转分 析 a

7、. 运算器 A L U出错造成运算结果出错,这一部分是不透明的出错结果可等 效到透明部分中去。 b . 通用寄存器出 错这一部 分出 错一般造成数据错误、运算结果 错误、程序 流程错误 ( 寻址错) 、 输入 输出 错误和误 操作等。这 里特别要指出 的是S P 堆栈指针、 B P 基数指针、 S P , D I 两个变址寄存 器出 错最易造成程 序流程错误; A %出 错影 响 面最大, D X 出错也易 造成 地址错误。 c标志寄 存器 P S W出 错易 造成比 较判断错误,引起流成 错误和误操作。 这一 部分的出 错和B I U 中 段寄存器的出 错一般都可 造成较为 严重的影响。 2

8、 . 1 . 2 . 3 S R A M中 的翻转一般可分 为存储矩阵中的 翻转, I / 0电路的翻转和 地址译码 阵列的翻转这里分别加以 讨论。 a . 存储阵列中 的翻转 依翻转处数据内容不同造成的影响也不同, 一般造成数据出错, 程序流向出错 ( 标志、判据出 错) 和误操作 ( 操作量出 错) 。 b . I / 0 电路 翻转出 错 可造成或等效为存储阵列中的读写 错误后果与上 面相同,写操作也可等 效为C P U 中出错. c . 地址译码阵列翻转出错 可等效为存储阵列中出 错, 这一部 分的 错误比 较直观,可以 直接认为是存储阵 歹 J 出错或 C P U出错。 2 . 1

9、. 2 . 4 R O M中的翻转分析 类似于S H A M中的 情形, 只不过 工 / 0电 路出 错仅表 现为读出 错误,这里 不再 详细 讨论。 2 21 二气 舀 盔出 舀皓舀 诵叙 轰 畜治 奋 益 后殊 一 未 2 周彦平 杨生胜 张英等: 星载微机软件 伉S E U 加固 技术研究 2 . 1 . 2 . 5 输入输出 与中断出 错 这一部分出错的 翻转仍然发生在C P U 和R A M , R O M中, 但由于 问题特殊, 所以 列 为专题讨论。 愉入输出错误 由于非法出 现 I N , O U T 指令或 I N , O U T 指令的 操作数,A X , D X寄存器故障

10、可产 生此类问题. 另外, 程序流程错误、中 断错误或非法进行 D R A操作也易引 起此类问 题, 这类错误一 般易 造成严重的影响。 b中断 错误 这一类错误一 般有如下几种模式: 非法执行内部中 断I N T n ,一 般是由于 程序流程错误或指 令错误造成的. 翻转造成 I N T R 被非法屏蔽, 不再响应中断。 翻转使中断失 量表被破坏, 响应错 误的中 断服务程 序. 这些错 误造成的 影响一般是非常严重的。 洲 2 . 1 . 3 故p In 分类和软件加固 对策分 析 2 . 1 . 3 . 1 故障分类 根 据上述单 粒子 翻转发生的位置 和造成的 故障情形,可以分为以下几

11、类问题: ( 1 数据出 错 寄 存器或缓冲器 中数据或片外存 储器中 数据因翻转出 现错误, 一般可分为三类: a . 符号 错误有符号数的符号是由 字节最高位的数值决定.即对一 个字来说, D 1 5 = 0 为正数, D 1 5 =1 为负 数, 当D 1 5 翻转 时就出 现了 符号出错,即变成相反数; b . 数值错误寄存器或存储器中 存放的数据因翻 转出 现数值 改变, 如 0 - - 1 . 1 -0 :一般来说0 - - 1 数值变化大,1 - - 0 数值变化小; c . 逻辑错误一般对正逻辑1 表示真 0表示假,对寄存起器和存储器数, 逻 辑值翻转造成的 结果是逻辑值完全

12、相反。 如果数 据作为标志或判据时,就容易引 起流程错误,若作为控制量时,就容易 造成控制出错或误动作。 ( 2 ) 程序流程出错 造成这种情况的该原因 很多, 典型典型的是以下 几种: a . 段寄存器位移指 针翻转造成程序的非正常 流向 ; b , 堆栈段寄存器和 堆栈指针翻转造成程 序返回错误; c . 标志寄存器中程 序状态字翻转造成比 较判断 错误而出现分支程 序走向出错; d . 指令码翻转或错 位造成非法执行 跳转指 令, 引起流程出 错; e . 非法进入其它 程序区, 或进入数 据区、 堆栈区但看作程 序来执 行; f . 非 法进行片外存 储空间未使用区 错误程序流程出 错

13、的后果一 般较为严重。 ( 3 ) 程序错位 由于寻址地址出 错或指针错误造成程序出 现操作数和操作码错位,一般指令格 2 2 2瓦 一_ , 产、. 、 s 由 透 周彦平 杨生胜 张英等: 星软微机软件 抗S E u加周技术研究 式 为: 操作码十 加操作数 1 + 加 操作数 2 ,错 位后指针指向 操作数,即把操作 数做为 操 作码来执行. 这种故障摸式的 后果一般是非 常难预料的. ( 4 ) 输入输出 错误 这类错误出 现有以 下儿种情 况: a . 程序流向 不正 常时错误地 执行了 输入输出 语句; b . 程序错位引 起的非法输入 输出 语句; c . 直接操作 数或A X

14、翻转引起的输入 输出值错误: d . 翻转造成输入输出设备 地址错误引起错误的输入输出: e . 非法中断引起的错误输入输出: f . 非法进行 D R A 操作。 上述错误可能产生重大影响, 有时甚至会出现致命故障. ( 5 冲断错误 中 断错误一 般有以 下几种情 况; a . 程序流程错误引起的非法内 部中断; b程序错位引 起的非法中断 语句; c执行I N T n 时n 值翻转造成中断 服务 程序错误: d , 翻转造成I N T R 等中 断被非法 屏蔽, 不再响 应中 断; e . 翻转使中 断失址表被破坏, 响应非法的 中断服务程序。 上述错误也 可能 造成巫大甚 至致命的影响

15、。 ( 6 ) 死循环与 停机 由于程序流向出 错或程序错位产生非法跳转指令及判断出错等,造成程 序的死 循环:若程序错位产生一个非法的停机指令则计算机将不再工作。这种情形造成的 影响最为严重. 2 . 1 . 3 . 2 软件加固对 策分析 根据上述不同类型的故障模式和产生的原因,采用不同的加固对策和软件处理 方 法, 是软件加固 的主要内容。 作为 概念研究, 我们仅从软 件设 计原则 上加以 讨论。 ( 劝 数据出错 对策 一般说来, 尽量减少使 用有符号数和布尔数,尤其是重要的程序判断比 较、输 入 输出及控制操作中尽可能不要使用。 如果必须使用时应采用三个布尔数或三个单 元存 放的字三取二判断后再操作。 此外, 也可采用对数值型数据进行值域分 析,滤 去突变值的方法。 ( 2 ) 程序流向 错误对策 一般来说采用模 块化程 序设计,每个模块进出采用发放检查 授权进入标志的方 法,可有效的减少程序流向错误, 这里对标志应分三个单 元存放并三取二查 验;出 现非法侵入时, 可安 标志发放模 块位置,设计出错处理程序。 对最小 系统的8 O C 8 6 系 统 应用软件和硬件将段寄存器值锁定。 对空白存储空间也 应进行地址锁定。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号