Tool-Supported Dataflow Analysis of a Security-Critical Embedded Device

Defence organisations perform information security evaluations to confirm that electronic communications devices are safe to use in security--critical situations. Such evaluations include tracing all possible dataflow paths through the device, but this process is tedious and error--prone, so automated reachability analysis tools are needed to make security evaluations faster and more accurate. Previous research has produced a tool, Sifa, for dataflow analysis of basic digital circuitry, but it cannot analyse dataflow through microprocessors embedded within the circuit since this depends on the software they run. We have developed a static analysis tool that produces Sifa-compatible dataflow graphs from embedded microcontroller programs written in C. In this paper we present a case study which shows how this new capability supports combined hardware and software dataflow analyses of a security-critical communications device.

[1]  Colin J. Fidge,et al.  Integrating hardware and software information flow analyses , 2009, LCTES '09.

[2]  Andrew C. Myers,et al.  Language-based information-flow security , 2003, IEEE J. Sel. Areas Commun..

[3]  Cristina Cifuentes,et al.  User-Input Dependence Analysis via Graph Reachability , 2008, 2008 Eighth IEEE International Working Conference on Source Code Analysis and Manipulation.

[4]  J. Meseguer,et al.  Security Policies and Security Models , 1982, 1982 IEEE Symposium on Security and Privacy.

[5]  M. Duarte,et al.  An intelligent circuit analysis module to analyze student queries in the universal virtual laboratory , 2005, Proceedings Frontiers in Education 35th Annual Conference.

[6]  Luke Wildman,et al.  SIFA: A Tool for Evaluation of High-Grade Security Devices , 2005, ACISP.

[7]  Mark N. Wegman,et al.  An efficient method of computing static single assignment form , 1989, POPL '89.

[8]  Arthur B. Maccabe,et al.  The program dependence web: a representation supporting control-, data-, and demand-driven interpretation of imperative languages , 1990, PLDI '90.

[9]  Luke Wildman,et al.  A Combined Approach for Information Flow Analysis in Fault Tolerant Hardware , 2007, 12th IEEE International Conference on Engineering Complex Computer Systems (ICECCS 2007).