|
ABSTRACT
Type systems for secure information flow are useful for efficiently checking that programs have secure information flow. They are, however, conservative, so that they often reject safe programs as ill-typed. Accordingly, users have to check whether the rejected programs indeed have insecure flows. To remedy this problem, we propose a method for automatically finding a counterexample of secure information flow (input states that actually lead to leakage of secret information). Our method is a novel combination of type-based analysis and model checking; Suspicious execution paths (that may cause insecure information flow) are first found by using the result of a type-based information flow analysis, and then a model checker is used to check whether the paths are indeed unsafe. We have formalized and implemented the method. The result of preliminary experiments shows that our method can often find counterexamples faster than a method using a model checker alone.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
 |
2
|
Jeremy Condit , Matthew Harren , Scott McPeak , George C. Necula , Westley Weimer, CCured in the real world, Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, June 09-11, 2003, San Diego, California, USA
|
| |
3
|
J. A. Goguen and J. Meseguer. Security policies and security models. In IEEE Symposium on Security and Privacy, pages 11--20, 1982.
|
 |
4
|
|
 |
5
|
Thomas A. Henzinger , Ranjit Jhala , Rupak Majumdar , Grégoire Sutre, Lazy abstraction, Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.58-70, January 16-18, 2002, Portland, Oregon
|
 |
6
|
|
| |
7
|
|
| |
8
|
|
 |
9
|
|
| |
10
|
A. C. Myers, N. Nystrom, L. Zheng, and S. Zdancewic. Jif: Java information flow. http://www.cs.cornell.edu/jif, July 2001.
|
| |
11
|
|
 |
12
|
|
| |
13
|
Y. Oiwa, S. Tatsurou, S. Eijiro, and Y. Akinori. Fail-safe ANSI-C compiler: An approach to making C programs secure: Progress report. In In International Symposium on Software Security, number 2609 in LNCS, pages 133--153. Springer-Verlag, 2002.
|
 |
14
|
|
 |
15
|
|
| |
16
|
V. Simonet. Flow Caml in a nutshell. In G. Hutton, editor, Proceedings of the first APPSEM-II workshop, pages 152--165, Nottingham, United Kingdom, March 2003.
|
 |
17
|
|
| |
18
|
T. Terauchi and A. Aiken. Secure information flow as a safety problem. In In Proceedings of the 12th International Static Analysis Symposium, September 2005.
|
| |
19
|
H. Unno, N. Kobayashi, and A. Yonezawa. Combining type-based analysis and model checking for finding counterexamples against non-interference Full version, February 2006. Available from http://web.yl.is.s.u-tokyo.ac.jp/~uhiro/.
|
| |
20
|
|
| |
21
|
|
|