Information-flow control on ARM and POWER multicore processors

被引:0
作者
Graeme Smith
Nicholas Coughlin
Toby Murray
机构
[1] Defence Science and Technology Group,School of Information Technology and Electrical Engineering
[2] The University of Queensland,School of Computing and Information Systems
[3] The University of Melbourne,undefined
来源
Formal Methods in System Design | 2021年 / 58卷
关键词
Information-flow security; Weak memory models; Non-blocking algorithms;
D O I
暂无
中图分类号
学科分类号
摘要
Weak memory models implemented on modern multicore processors are known to affect the correctness of concurrent code. They can also affect whether or not the concurrent code is secure. This is particularly the case in programs where the security levels of variables are value-dependent, i.e., depend on the values of other variables. In this paper, we illustrate how instruction reordering allowed by ARM and POWER multicore processors leads to vulnerabilities in such programs, and present a compositional, flow-sensitive information-flow logic which can be used to detect such vulnerabilities. The logic allows step-local reasoning (one instruction at a time) about a thread’s security by tracking information about dependencies between instructions which guarantee their order of occurrence. Program security can then be established from individual thread security using rely/guarantee reasoning. The logic has been proved sound with respect to existing operational semantics using Isabelle/HOL, and implemented in an automatic symbolic execution tool.
引用
收藏
页码:251 / 293
页数:42
相关论文
共 29 条
  • [1] Alglave J(2014)Herding cats: Modelling, simulation, testing, and data mining for weak memory ACM Trans Program Lang Syst 36 7:1-7:74
  • [2] Maranget L(2020)Formal verification of a constant-time preserving C compiler Proc ACM Program Lang (PACMPL) 4 7:1-7:30
  • [3] Tautschnig M(1981)Asynchronous distributed simulation via a sequence of parallel computations Commun ACM 24 198-206
  • [4] Barthe G(2011)An interview with Steve Furber Commun ACM 54 34-39
  • [5] Blazy S(1969)An axiomatic basis for computer programming Commun ACM 12 576-580
  • [6] Grégoire B(2003)Language-based information-flow security IEEE J Sel Areas Commun 21 5-19
  • [7] Hutin R(2010)x86-TSO: a rigorous and usable programmers model for x86 multiprocessors Commun ACM 53 89-97
  • [8] Laporte V(2019)The verified CakeML compiler backend J. Funct. Program. 29 e2-84
  • [9] Pichardie D(2007)Dynamic security labels and static information flow control Int. J. Inf. Sec. 6 67-undefined
  • [10] Trieu A(undefined)undefined undefined undefined undefined-undefined