Effective blame for information-flow violations

  • Authors:
  • Dave King;Trent Jaeger;Somesh Jha;Sanjit A. Seshia

  • Affiliations:
  • The Pennyslvania State University, University Park, PA;The Pennyslvania State University, University Park, PA;University of Wisconsin, Madison, WI;University of California, Berkeley, CA

  • Venue:
  • Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Programs trusted with secure information should not release that information in ways contrary to system policy. However, when a program contains an illegal flow of information, current information-flow reporting techniques are inadequate for determining the cause of the error. Reasoning about information-flow errors can be difficult, as the flows involved can be quite subtle. We present a general model for information-flow blame that can explain the source of such security errors in code. This model is implemented by changing the information-flow verification procedure to: (1) generate supplementary information to reveal otherwise hidden program dependencies; (2) modify the constraint solver to construct a blame dependency graph; and (3) develop an explanation procedure that returns a complete and minimal error report. Our experiments show that information-flow errors can generally be explained and resolved by viewing only a small fraction of the total code.