...
首页> 外文期刊>Information systems frontiers >Formal modelling and analysis of Bitflips in ARM assembly code
【24h】

Formal modelling and analysis of Bitflips in ARM assembly code

机译:ARM汇编代码中Bitflips的形式化建模和分析

获取原文
获取原文并翻译 | 示例
           

摘要

Bitflips, or single-event upsets (SEUs) as they are more formally known, may occur for instance when a high-energy particle such as a proton strikes a CPU and thereby corrupting the contents of an on-chip register, e.g., by randomly flipping one or more bits in that register. Such random changes in central registers may lead to critical failure in the execution of a program, which is especially problematic for safety- or security-critical applications. Even though SEUs are well studied in the literature, relatively little attention have been given to the formal modelling of SEUs and the application of formal methods to mitigate the consequences of SEUs. In this paper we develop a formal semantic framework for easy formal modelling of a large variety of SEUs in a core assembly language capturing the essential features of the ARM assembly language. Based on the semantic framework, we derive and formally prove correct a static analysis that enforces so-called blue/green separation in a given program. Static blue/green separation is a language-based fault detection technique relying on inlined replication of critical code. A program that has proper blue/green separation is shown to be fault-tolerant with respect SEUs in data registers. However, this technique requires specialised hardware support in order to achieve full coverage. We therefore use our semantic framework to further develop so-called gadgets, essentially small code fragments that emulate the behaviour of blue/green instructions in a safe manner. The gadgets allow us to achieve partial blue/green separation without specialised hardware support. Finally, we show how our semantic framework can be used to extract timed-automata models of ARM assembler code programs. We then apply statistical model checking to these timed-automata models enabling us to model, analyse, and quantify program behaviour in the presence of fault models that go well beyond data-flow SEUs, e.g., bitflips in program counters or in the code itself. We use this approach to provide evidence that our suggested program modifications, i.e., the use of gadgets, significantly decrease the probability of such faults going undetected.
机译:例如,当质子之类的高能粒子撞击CPU并由此例如通过随机破坏片上寄存器的内容时​​,可能会发生位翻转或更为正式的单事件翻转(SEU)。翻转该寄存器中的一位或多位。中央寄存器中的这种随机变化可能导致程序执行中的严重故障,这对于安全性或安全性至关重要的应用程序尤其有问题。尽管在文献中对SEU进行了充分的研究,但对SEU的形式化建模和减轻SEU后果的形式方法的应用却很少关注。在本文中,我们开发了一种形式语义框架,用于在核心汇编语言中轻松地对各种SEU进行正式建模,以捕获ARM汇编语言的基本功能。基于语义框架,我们导出并正式证明对静态分析的正确性,该静态分析在给定程序中强制执行所谓的蓝/绿分离。静态蓝/绿分离是一种基于语言的故障检测技术,依赖于关键代码的内联复制。对于数据寄存器中的SEU,具有正确的蓝/绿分隔的程序显示为容错的。但是,此技术需要专门的硬件支持才能实现全面覆盖。因此,我们使用语义框架来进一步开发所谓的小工具,即本质上小的代码片段,它们以安全的方式模拟蓝/绿指令的行为。这些小工具使我们无需专业的硬件支持即可实现部分蓝/绿分离。最后,我们说明如何使用语义框架提取ARM汇编代码程序的定时自动机模型。然后,我们将统计模型检查应用于这些定时自动机模型,使我们能够在存在远远超出数据流SEU(例如程序计数器或代码本身中的位翻转)的故障模型的情况下对程序行为进行建模,分析和量化。我们使用这种方法来提供证据,证明我们建议的程序修改(即使用小工具)会大大降低此类故障未被发现的可能性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号