Abstract
It is highly desirable to have a safety property characterizing a general notion of secure information flow that succinctly captures the underpinnings of language-based security for general purpose programming languages. Such a notion must necessarily consider both implicit and explicit flows, and the need to provide labeled outputs. The notion must also embed access control and information-flow control considering that the program output is usually a set of multilevel labeled outputs. Finally, it must be based on a notion of security violations, as the latter plays a vital role in compositionality of security properties. The widely used notion of non-interference does not meet many of these criteria, and its use has crippled the progress of secure programming systems and operating systems. A notion of security that takes the desired criteria into account is proposed, and its advantages in comparison with non-interference and other related notions is established. We further relate our notion to the early works of Fenton and Denning to highlight its succinctness in defining language-based security, and also with that of Boudol’s notion of secure information flow as a safety property. An added advantage of our approach compared to Boudol’s approach is that it generalizes to non-deterministic systems and systems with rich constructs such as exceptions etc.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Typically illustrated by the guidance that one should not place in a public location a value arrived at using confidential information.
- 2.
- 3.
That is, PC is never reset.
References
Askarov, A., Myers, A.C.: Attacker control and impact for confidentiality and integrity. Log. Methods Comput. Sci. 7(3) (2011). https://doi.org/10.2168/LMCS-7(3:17)2011
Barthe, G., D’Argenio, P.R., Rezk, T.: Secure information flow by self-composition. In: 17th IEEE CSFW, pp. 100–114 (2004)
Boudol, G.: Secure information flow as a safety property. In: Degano, P., Guttman, J., Martinelli, F. (eds.) FAST 2008. LNCS, vol. 5491, pp. 20–34. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-01465-9_2
Denning, D.E.: A lattice model of secure information flow. Commun. ACM 19(5), 236–243 (1976)
Denning, D.E.: Cryptography and Data Security. Addison-Wesley, Boston (1982)
Denning, D.E., Denning, P.J.: Certification of programs for secure information flow. Commun. ACM 20(7), 504–513 (1977)
Fenton, J.S.: Memoryless subsystems. Comput. J. 17(2), 143–147 (1974)
Goguen, J.A., Meseguer, J.: Security policies and security models. In: IEEE S&P, pp. 11–20 (1982)
Goguen, J.A., Meseguer, J.: Unwinding and inference control. In: IEEE S&P, pp. 75–87 (1984)
Hicks, B., King, D., McDaniel, P.: Jifclipse: development tools for security-typed languages. In: Proceedings of PLAS, pp. 1–10 (2007)
Krohn, M.N., et al.: Information flow control for standard OS abstractions. In: Proceedings of the 21st ACM SOSP, pp. 321–334 (2007)
Mantel, H., Sands, D., Sudbrock, H.: Assumptions and guarantees for compositional noninterference. In: 24th IEEE CSF, pp. 218–232 (2011)
McCullough, D.: Noninterference and the composability of security properties. In: IEEE S&P, pp. 177–186 (1988)
McLean, J.: Security models and information flow. In: IEEE S&P, pp. 180–189 (1990)
Muller, S., Chong, S.: Towards a practical secure concurrent language. In: 27th ACM OOPSLA, pp. 57–74 (2012)
Myers, A.C., Liskov, B.: Protecting privacy using the decentralized label model. ACM Trans. Softw. Eng. Methodol. 9(4), 410–442 (2000)
Myers, A.C., Zheng, L., Zdancewic, S., Chong, S., Nystrom, N.: Jif 3.0: Java information flow, July 2006. http://www.cs.cornell.edu/jif
Porter, D.E., Bond, M.D., Roy, I., McKinley, K.S., Witchel, E.: Practical fine-grained information flow control using laminar. ACM Trans. Program. Lang. Syst. 37(1), 4:1–4:51 (2014). https://doi.org/10.1145/2638548
Roy, I., Porter, D.E., Bond, M.D., McKinley, K.S., Witchel, E.: Laminar: practical fine-grained decentralized information flow control. In: Proceedings of ACM PLDI, pp. 63–74 (2009)
Ryan, P., McLean, J.D., Millen, J.K., Gligor, V.D.: Non-interference: who needs it? In: 14th IEEE CSFW 2014, pp. 237–238 (2001)
Sabelfeld, A., Myers, A.C.: Language-based information-flow security. IEEE J. Sel. Areas Commun. 21(1), 5–19 (2003)
Stefan, D., Russo, A., Mitchell, J.C., Mazières, D.: Flexible dynamic information flow control in the presence of exceptions. CoRR abs/1207.1457 (2012)
Volpano, D.M., Irvine, C.E., Smith, G.: A sound type system for secure flow analysis. J. Comput. Secur. 4(2/3), 167–188 (1996)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendix
Appendix
Proof
We prove this by proving its contrapositive, i.e., by proving that if c is not non-interfering, then it is not IF-Secure.
c is not non-interfering if
Without loss of generality, let \(q_1\), \(q_2\), and L be such that they satisfy (1). We now consider a case-by-case analysis.
Case(i): \(\text {ASeq}(q_1,c)=\text {ASeq}(q_2,c)\).
Let \(\sigma =\text {ASeq}(q_1,c)\), and \(|\sigma |=n\). For \(0\le i\le n\), and \(j\in \{1,2\}\), let \(q_j^i\) denote the values of variables after the \(i^{th}\) intermediate step in the execution of \(\mathcal {S}(q_j,c)\), where \(q_j^0=q_j\), and \(q_j^n=\mathcal {S}(q_j,c)\). From the hypothesis, we have \(q_1^0\cong _L q_2^0\) and \(q_1^n\not \cong _L q_2^n\). Let \(1\le i\le n\) be the integer such that \([\forall 0\le k< i\) \((q_1^k\cong _L q_2^k)]\) \(\wedge \) \((q_1^i\not \cong _L q_2^i)\). This means that \(\sigma _i=(v',u)\) for some variable \(v'\) with \(\lambda (v')\leqslant L\), and that \(v'\) has been updated with different values at the \(i^{th}\) step in the two executions. Since the machine and its commands are deterministic, and since \([\forall 0\le k< i\) \((q_1^k\cong _L q_2^k)]\), this is possible only if \(\exists v''\in V, 1\le l< i\) \(\big [(\lambda (v'')\not \leqslant L)\) \(\wedge \) \((\sigma _l=(v'',r))\) \(\wedge \) \((q_1^l(v'')\ne q_2^l(v''))\) \(\wedge \) \([\forall l< m< i\) \((\sigma _m\ne (v'',r))]\big ]\).
From (2), and (3) we can immediately conclude that c is not IF-Secure.
Case(ii): \(\text {ASeq}(q_1,c)\ne \text {ASeq}(q_2,c)\).
Note that because of the deterministic nature of the computing machine \(\mathcal {C}\), it cannot diverge without accessing any inputs i.e., \(\text {ASeq}(q_1,c)_1=\text {ASeq}(q_2,c)_1\). Let \(|\text {ASeq}(q_1,c)|=n_1\), \(|\text {ASeq}(q_2,c)|=n_2\), and without loss of generality \(n_1\le n_2\). Let \(1\le i\le n_1\) be such that \(\big [\forall 1\le j\le i\) \((\text {ASeq}(q_1,c)_j=\text {ASeq}(q_2,c)_j)\) \(\wedge \) \((\text {ASeq}(q_1,c)_{i+1}\ne \text {ASeq}(q_2,c)_{i+1})\big ]\). Further note that due to the deterministic nature of c, the point of divergence can only occur because of a new information learnt i.e., \(\text {ASeq}(q_1,c)_i=\text {ASeq}(q_2,c)_i=(v',r)\) for some \(v'\in V\). Let \(\sigma \) denote the longest common prefix of the sequences \(\text {ASeq}(q_1,c)\) and \(\text {ASeq}(q_2,c)\) i.e., \(\sigma \) is the subsequence of \(\text {ASeq}(q_1,c)\) consisting of its first i elements. For \(j\in \{1,2\}\), and \(0\le i\le n_j\), let \(q_j^i\) denote the values of variables after the \(i^{th}\) intermediate step in the execution of \(\mathcal {S}(q_j,c)\), where \(q_j^0=q_j\), and \(q_j^{n_j}=\mathcal {S}(q_j,c)\).
Here, we further subdivide the proof into two cases.
Case(ii-A): \(q_1^{i-1}\cong _L q_2^{i-1}\)
In this case, only a variable \(v'\in V\) such that \(\lambda (v')\not \leqslant L\) can satisfy \(q_1^{i-1}(v')\ne q_2^{i-1}(v')\), which is a necessity for the paths to diverge.
From (4), (5) and (6) we can immediately conclude that c is not IF-Secure.
Case(ii-B): \(q_1^{i-1}\not \cong _L q_2^{i-1}\)
This case is similar to Case(i). \(\square \)
Rights and permissions
Copyright information
© 2019 Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Narendra Kumar, N.V., Shyamasundar, R.K. (2019). A Semantic Notion of Secure Information-Flow. In: Nandi, S., Jinwala, D., Singh, V., Laxmi, V., Gaur, M., Faruki, P. (eds) Security and Privacy. ISEA-ISAP 2019. Communications in Computer and Information Science, vol 939. Springer, Singapore. https://doi.org/10.1007/978-981-13-7561-3_3
Download citation
DOI: https://doi.org/10.1007/978-981-13-7561-3_3
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-13-7560-6
Online ISBN: 978-981-13-7561-3
eBook Packages: Computer ScienceComputer Science (R0)