Abstract
Before starting a rigorous security analysis of a given software system, the most likely outcome is often already clear, namely that the system is not entirely secure. Modifying a program such that it passes the analysis is a difficult problem and usually left entirely to the programmer. In this article, we show that and how unification can be used to compute such program transformations. This opens a new perspective on the problem of correcting insecure programs. We also demonstrate that integrating our approach into an existing transforming type system can improve the precision of the analysis and the quality of the resulting programs.
Similar content being viewed by others
References
Agat, J.: Transforming out timing leaks. In: Proceedings of the 27th ACM Symposium on Principles of Programming Languages, pp. 40–53 (2000)
Barthe, G., Rezk, T., Warnier, M.: Preventing timing leaks through transactional branching instructions. In: Proceedings of 3rd Workshop on Quantitative Aspects of Programming Languages (QAPL’05). ENTCS, (2005)
Baader, F., Snyder, W.: Unification theory. In: Robinson, A., Voronkov, A. (eds.), Handbook of Automated Reasoning, vol. I, chap. 8, pp. 445–532. Elsevier Science, Amsterdam (2001)
Dam, M.: Decidability and proof systems for language-based noninterference relations. In: Proceedings of the 33rd ACM Symposium on Principles of Programming Languages, pp. 67–78 (2006)
Denning D.E. (1982). Cryptography and Data Security. Addison-Wesley, New York
Hedin D. and Sands D. (2005). Timing aware information flow security for a javacard-like bytecode. Electr. Notes Theor. Comput. Sci. 141(1): 163–182
Herold A. and Siekmann J. (1987). Unification in Abelian semigroups. J. Autom. Reason. 3: 247–283
Köpf, B., Mantel, H.: Eliminating implicit information leaks by transformational typing and unification. In: Proceedings of FAST’05: 3rd International Workshop on Formal Aspects in Security and Trust. LNCS, vol. 3866, pp. 47–62. Springer, Heidelberg (2006)
Mantel, H., Sands, D.: Controlled declassification based on intransitive noninterference. In: Proceedings of the 2nd ASIAN Symposium on Programming Languages and Systems, APLAS 2004. LNCS, vol. 3303, pp. 129–145, Taipei, Taiwan, 4–6 November 2004. Springer, Heidelberg (2004)
McLean, J.D.: A general theory of composition for trace sets closed under selective interleaving functions. In: Proceedings of the IEEE Symposium on Research in Security and Privacy, pp. 79–93, Oakland, CA, USA (1994)
Sabelfeld, A.: The impact of synchronisation on secure information flow in concurrent programs. In: Proceedings of Andrei Ershov 4th International Conference on Perspectives of System Informatics. vol. 2244, pp. 225–239 (2001)
Sabelfeld A. and Myers A.C. (2003). Language-based information-flow security. IEEE J. Selected Areas in Communication 21(1): 5–19
Sabelfeld, A., Sands, D.: A per model of secure information flow in sequential programs. In: Proceedings of the 8th European Symposium on Programming, LNCS, pp. 50–59 (1999)
Sabelfeld, A., Sands, D.: Probabilistic noninterference for multi-threaded programs. In: Proceedings of the 13th IEEE Computer Security Foundations Workshop, pp. 200–215, Cambridge, UK (2000)
Schneider B.F. (2000). Enforceable security policies. ACM Trans. Inf. Syst. Secur. 3(1): 30–50
Volpano, D., Smith, G.: Probabilistic noninterference in a concurrent language. In: Proceedings of the 11th IEEE Computer Security Foundations Workshop, pp. 34–43, Rockport, Massachusetts (1998)
Author information
Authors and Affiliations
Corresponding author
Additional information
This is an extended version of the article [8] that appeared in Third International Workshop, FAST 2005, Revised Selected Papers, LNCS 3866, Springer-Verlag, 2006.
The second author gratefully acknowledges support by the German Research Foundation (DFG).
Rights and permissions
About this article
Cite this article
Köpf, B., Mantel, H. Transformational typing and unification for automatically correcting insecure programs. Int. J. Inf. Secur. 6, 107–131 (2007). https://doi.org/10.1007/s10207-007-0016-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10207-007-0016-z