Data flow analysis of embedded program expressions

  • Authors:
  • Christopher Doble;Colin J. Fidge;Diane Corney

  • Affiliations:
  • Queensland University of Technology, Brisbane;Queensland University of Technology, Brisbane;Queensland University of Technology, Brisbane

  • Venue:
  • AISC '12 Proceedings of the Tenth Australasian Information Security Conference - Volume 125
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Data flow analysis techniques can be used to help assess threats to data confidentiality and integrity in security-critical program code. However, a fundamental weakness of static analysis techniques is that they overestimate the ways in which data may propagate at run time. Discounting large numbers of these false-positive data flow paths wastes an information security evaluator's time and effort. Here we show how to automatically eliminate some false-positive data flow paths by precisely modelling how classified data is blocked by certain expressions in embedded C code. We present a library of detailed data flow models of individual expression elements and an algorithm for introducing these components into conventional data flow graphs. The resulting models can be used to accurately trace byte-level or even bit-level data flow through expressions that are normally treated as atomic. This allows us to identify expressions that safely downgrade their classified inputs and thereby eliminate false-positive data flow paths from the security evaluation process. To validate the approach we have implemented and tested it in an existing data flow analysis toolkit.