Abstract
This paper presents the enforcement of control flow policies for Java bytecode dedicated to open and constrained devices. On-device enforcement of security policies mostly relies on run-time monitoring or inline checking code, which is not appropriate for strongly constrained devices such as mobile phones and smart-cards. We present a proof-carrying code approach with on-device lightweight verification of control flow policies statically at loading-time. Our approach is suitable for evolving, open and constrained Java-based systems as it is compositional, to avoid re-verification of already verified bytecode upon loading of new bytecode, and it is regressive, to cleanly support bytecode unloading.
This work is supported by the EU-FET-IP-SECURECHANGE project.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aspinall, D., Gilmore, S., Hofmann, M., Sannella, D., Stark, I.: Mobile Resource Guarantees for Smart Devices. In: Barthe, G., Burdy, L., Huisman, M., Lanet, J.-L., Muntean, T. (eds.) CASSIS 2004. LNCS, vol. 3362, pp. 1–26. Springer, Heidelberg (2005)
Bielova, N., Dragoni, N., Massacci, F., Naliuka, K., Siahaan, I.: Matching in security-by-contract for mobile code. Journal of Logic and Algebraic Programming 78(5), 340–358 (2009)
Bielova, N., Massacci, F.: Do You Really Mean What You Actually Enforced? In: Degano, P., Guttman, J., Martinelli, F. (eds.) FAST 2008. LNCS, vol. 5491, pp. 287–301. Springer, Heidelberg (2009)
Colcombet, T., Fradet, P.: Enforcing trace properties by program transformation. In: POPL 2000, pp. 54–66 (2000)
Enck, W., Gilbert, P., Chun, B.-G., Cox, L.P., Jung, J., McDaniel, P.D.: TaintDroid: An information-flow tracking system for realtime privacy monitoring on smartphones. In: OSDI 2010. USENIX Association (2010)
Fong, P.W.L.: Access control by tracking shallow execution history. In: IEEE S&P 2004, pp. 43–55 (2004)
Gurov, D., Huisman, M., Sprenger, C.: Compositional verification of sequential programs with procedures. Information and Computation 206(7), 840–868 (2008)
Jensen, T.P., Le Métayer, D., Thorn, T.: Verification of control flow based security properties. In: IEEE S&P 1999, pp. 89–103 (1999)
Klein, G., Nipkow, T.: Verified lightweight bytecode verification. Concurrency and Computation: Practice and Experience 13(13), 1133–1151 (2001)
Ligatti, J., Bauer, L., Walker, D.: Enforcing Non-Safety Security Policies with Program Monitors. In: di Vimercati, S.de.C., Syverson, P.F., Gollmann, D. (eds.) ESORICS 2005. LNCS, vol. 3679, pp. 355–373. Springer, Heidelberg (2005)
Mizuno, M., Schmidt, D.A.: A security flow control algorithm and its denotational semantics correctness proof. Formal Aspects of Computing 4(6A), 727–754 (1992)
Myers, A.C.: JFlow: Practical mostly-static information flow control. In: POPL 1999, pp. 228–241 (1999)
Necula, G.C.: Proof-carrying code. In: POPL 1997, pp. 106–119 (1997)
Ongtang, M., McLaughlin, S.E., Enck, W., McDaniel, P.D.: Semantically rich application-centric security in Android. In: ACSAC 2009, pp. 340–349 (2009)
Pottier, F., Skalka, C., Smith, S.F.: A systematic approach to static access control. ACM TOPLAS 27(2), 344–382 (2005)
Schneider, F.B.: Enforceable security policies. ACM TISSEC 3(1), 30–50 (2000)
Sekar, R., Venkatakrishnan, V.N., Basu, S., Bhatkar, S., DuVarney, D.C.: Model-carrying code: a practical approach for safe execution of untrusted applications. In: SOSP 2003, pp. 15–28 (2003)
Talhi, C., Tawbi, N., Debbabi, M.: Execution monitoring enforcement for limited-memory systems. In: PST 2006, vol. 380, pp. 38:1–38:12 (2006)
Vanoverberghe, D., Piessens, F.: Supporting security monitor-aware development. In: SESS 2007, pp. 2–6 (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fontaine, A., Hym, S., Simplot-Ryl, I. (2012). Verifiable Control Flow Policies for Java Bytecode. In: Barthe, G., Datta, A., Etalle, S. (eds) Formal Aspects of Security and Trust. FAST 2011. Lecture Notes in Computer Science, vol 7140. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-29420-4_8
Download citation
DOI: https://doi.org/10.1007/978-3-642-29420-4_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-29419-8
Online ISBN: 978-3-642-29420-4
eBook Packages: Computer ScienceComputer Science (R0)