Abstract
We propose a series of type systems for the information-flow security of assembly code. These systems extend previous work TAL C with some timing annotations and associated judgments and rules. By using different timing rules, these systems are applicable to different practical settings. In particular, they can be used to prevent illicit information flow through the termination and timing channels in sequential programs as well as the possibilistic and probabilistic channels in multi-threaded programs. We present the formal details of these as a generic type system TAL\(^+_{C}\) and prove its noninterference. TAL\(^+_{C}\) is designed as a core target language for certifying compilation. We illustrate its use with a formal scheme of type-preserving translation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Agat, J.: Transforming out timing leaks. In: Proc. 27th ACM Symposium on Principles of Programming Languages, Boston, MA, pp. 40–53 (January 2000)
Agat, J.: Type-based techniques for covert channel elimination and register allocation. PhD thesis, Chalmers Univ. of Technology & Gothenburg Univ. Gothenburg, Sweden (December 2000)
Ball, T.: What’s in a region? Or computing control dependence regions in near-linear time for reducible control flow. ACM Letters on Prog. Lang. & Syst. 2(1–4), 1–16 (1993)
Barthe, G., Basu, A., Rezk, T.: Security types preserving compilation. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 2–15. Springer, Heidelberg (2004)
Barthe, G., Naumann, D., Rezk, T.: Deriving an information flow checker and certifying compiler for Java. In: Proc. 2006 IEEE Symposium on Security and Privacy, Oakland, CA, pp. 230–242 (May 2006)
Barthe, G., Rezk, T., Russo, A., Sabelfeld, A.: Security of multithreaded programs by compilation. In: ESORICS 2007. LNCS, vol. 4734, Springer, Heidelberg (2007)
Crary, K., Weirich, S.: Resource bound certification. In: Proc. 27th ACM symposium on Principles of programming languages, Boston, MA, USA, pp. 184–198 (January 2000)
Hedin, D., Sands, D.: Timing aware information flow security for a JavaCard-like bytecode. In: Proc. 1st Workshop on Bytecode Semantics, Verification, Analysis and Transformation, Edinburgh, Scotland, UK, pp. 163–182 (April 2005)
Kobayashi, N., Shirane, K.: Type-based information flow analysis for low-level languages. In: 3rd Asian Workshop on Prog. Lang. & Syst. Shanghai, China, pp. 302–316 (November 2002)
Kozen, D.: Language-based security. In: Kutyłowski, M., Wierzbicki, T., Pacholski, L. (eds.) MFCS 1999. LNCS, vol. 1672, pp. 284–298. Springer, Heidelberg (1999)
Laud, P.: Semantics and program analysis of computationally secure information flow. In: Proc. 10th European Symposium on Programming, Genova, Italy, pp. 77–91 (April, 2001)
Medel, R., Compagnoni, A., Bonelli, E.: A typed assembly language for non-interference. In: Proc. 9th ICTCS, Siena, Italy, pp. 360–374 (October 2005)
Morrisett, G., Walker, D., Crary, K., Glew, N.: From system F to typed assembly language. ACM Transactions on Programming Languages and Systems 21(3), 527–568 (1999)
Myers, A.C., Liskov, B.: Complete, safe information flow with decentralized labels. In: Proc. IEEE Symposium on Security and Privacy, Oakland, CA, pp. 186–197 (May 1998)
Myers, A.C., et al.: Jif: Java + information flow (2001), http://www.cs.cornell.edu/jif/
Necula, G.C., Lee, P.: Safe, untrusted agents using proof-carrying code. In: Vigna, G. (ed.) Mobile Agents and Security. LNCS, vol. 1419, pp. 61–91. Springer, Heidelberg (1998)
Pierro, A.D., Hankin, C., Wiklicky, H.: Approximate non-interference. In: Proc. 15th CSFW, Cape Breton, NS, Canada, pp. 1–17 (June 2002)
Sabelfeld, A.: The impact of synchronisation on secure information flow in concurrent programs. In: Bjørner, D., Broy, M., Zamulin, A.V. (eds.) PSI 2001. LNCS, vol. 2244, pp. 227–241. Springer, Heidelberg (2001)
Sabelfeld, A., Myers, A.C.: Language-based information-flow security. IEEE Journal on Selected Areas in Communications 21(1), 5–19 (2003)
Sabelfeld, A., Sands, D.: Probabilistic noninterference for multi-thread programs. In: CSFW, Cambridge, England, pp. 200–214 (July 2000)
Schneider, F.B., Morrisett, G., Harper, R.: A language-based approach to security. In: Wilhelm, R. (ed.) Informatics. LNCS, vol. 2000, pp. 86–101. Springer, Heidelberg (2001)
Smith, G.: A new type system for secure information flow. In: CSFW, Cape Breton, NS, Canada, pp. 115–125 (2001)
Smith, G., Volpano, D.: Secure information flow in a multi-threaded imperative language. In: POPL, San Diego, CA, pp. 355–364 (January 1998)
Vanderwaart, J.C., Crary, K.: Automated and certified conformance to responsiveness policies. In: TLDI, Long Beach, CA, pp. 79–90 (January 2005)
Volpano, D., Smith, G.: Eliminating covert flows with minimum typings. In: CSFW, Rockport, MA, pp. 156–169 (June 1997)
Volpano, D., Smith, G.: A type-based approach to program security. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997, FASE 1997, and TAPSOFT 1997. LNCS, vol. 1214, pp. 607–621. Springer, Heidelberg (1997)
Volpano, D., Smith, G.: Probabilistic noninterference in a concurrent language. In: CSFW, Rockport, MA, pp. 34–43 (June 1998)
Xi, H., Harper, R.: A dependently typed assembly language. In: Proc. 6th ACM International Conference on Functional Programming, Florence, Italy, pp. 169–180 (September 2001)
Yu, D.: More typed assembly languages for confidentiality. Technical Report DCL-TR-2006-0021, DoCoMo USA Labs, San Jose, CA (September 2006), http://www.docomolabsresearchers-usa.com/~dyu/talcp-tr.pdf
Yu, D., Islam, N.: A typed assembly language for confidentiality. Technical Report DCL-TR-2005-0002, DoCoMo USA Labs, San Jose, CA (March 2005), http://www.docomolabsresearchers-usa.com/~dyu/talc-tr.pdf
Yu, D., Islam, N.: A typed assembly language for confidentiality. In: Sestoft, P. (ed.) ESOP 2006 and ETAPS 2006. LNCS, vol. 3924, pp. 162–179. Springer, Heidelberg (2006)
Zdancewic, S., Myers, A.C.: Robust declassification. In: CSFW, Cape Breton, NS, Canada, pp. 15–23 (June 2001)
Zdancewic, S., Myers, A.C.: Secure information flow via linear continuations. Higher-Order and Symbolic Computation 15(2–3), 209–234 (2002)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Yu, D. (2007). More Typed Assembly Languages for Confidentiality. In: Shao, Z. (eds) Programming Languages and Systems. APLAS 2007. Lecture Notes in Computer Science, vol 4807. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-76637-7_7
Download citation
DOI: https://doi.org/10.1007/978-3-540-76637-7_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-76636-0
Online ISBN: 978-3-540-76637-7
eBook Packages: Computer ScienceComputer Science (R0)