Arrow Research search
Back to I&C

I&C 2007

Instruction-level security analysis for information flow in stack-based assembly languages

Journal Article journal-article Computer Science ยท Theoretical Computer Science

Abstract

We propose a method to analyze secure information flow in stack-based assembly languages, communicating with the external environment by means of input and output channels. The method computes for each instruction a security level for each memory variable and stack element. Instruction-level security analysis is flow-sensitive and hence is more precise than other analyses, such as standard security typing. Instruction-level security analysis is specified in the framework of abstract interpretation. We define concrete operational semantics which handles, in addition to execution aspects, the flow of information of the program. The basis of the approach is that each value is annotated by a security level and that the abstract domain is obtained from the concrete one by keeping the security levels and forgetting the actual values. Operand stack are abstracted as fixed-length stacks of security levels. An abstract state is a map from instructions to abstract machine configurations, where values are substituted by security levels. The abstract semantics consists of a set of abstract rules manipulating abstract states. The instruction-level security typing can be performed by an efficient fixpoint iteration algorithm, similar to that used by bytecode verification.

Authors

Keywords

  • Abstract interpretation
  • Flow-sensitive
  • Language-based security
  • Static analysis

Context

Venue
Information and Computation
Archive span
1987-2026
Indexed papers
3021
Paper id
1130141186700619813
v2026.09.13