Skip to main content

A Semantic Notion of Secure Information-Flow

  • Conference paper
  • First Online:
Security and Privacy (ISEA-ISAP 2019)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 939))

Included in the following conference series:

  • 671 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    Typically illustrated by the guidance that one should not place in a public location a value arrived at using confidential information.

  2. 2.

    In this paper, we shall confine to the notion of non-interference that is widely used for security analysis of programs and do not discuss the vast amount of work related to the decentralized label model [16], its variations (cf. an early survey [21]) and its applications.

  3. 3.

    That is, PC is never reset.

References

  1. 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

  2. Barthe, G., D’Argenio, P.R., Rezk, T.: Secure information flow by self-composition. In: 17th IEEE CSFW, pp. 100–114 (2004)

    Google Scholar 

  3. 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

    Chapter  Google Scholar 

  4. Denning, D.E.: A lattice model of secure information flow. Commun. ACM 19(5), 236–243 (1976)

    Article  MathSciNet  MATH  Google Scholar 

  5. Denning, D.E.: Cryptography and Data Security. Addison-Wesley, Boston (1982)

    MATH  Google Scholar 

  6. Denning, D.E., Denning, P.J.: Certification of programs for secure information flow. Commun. ACM 20(7), 504–513 (1977)

    Article  MATH  Google Scholar 

  7. Fenton, J.S.: Memoryless subsystems. Comput. J. 17(2), 143–147 (1974)

    Article  MathSciNet  MATH  Google Scholar 

  8. Goguen, J.A., Meseguer, J.: Security policies and security models. In: IEEE S&P, pp. 11–20 (1982)

    Google Scholar 

  9. Goguen, J.A., Meseguer, J.: Unwinding and inference control. In: IEEE S&P, pp. 75–87 (1984)

    Google Scholar 

  10. Hicks, B., King, D., McDaniel, P.: Jifclipse: development tools for security-typed languages. In: Proceedings of PLAS, pp. 1–10 (2007)

    Google Scholar 

  11. Krohn, M.N., et al.: Information flow control for standard OS abstractions. In: Proceedings of the 21st ACM SOSP, pp. 321–334 (2007)

    Google Scholar 

  12. Mantel, H., Sands, D., Sudbrock, H.: Assumptions and guarantees for compositional noninterference. In: 24th IEEE CSF, pp. 218–232 (2011)

    Google Scholar 

  13. McCullough, D.: Noninterference and the composability of security properties. In: IEEE S&P, pp. 177–186 (1988)

    Google Scholar 

  14. McLean, J.: Security models and information flow. In: IEEE S&P, pp. 180–189 (1990)

    Google Scholar 

  15. Muller, S., Chong, S.: Towards a practical secure concurrent language. In: 27th ACM OOPSLA, pp. 57–74 (2012)

    Article  Google Scholar 

  16. Myers, A.C., Liskov, B.: Protecting privacy using the decentralized label model. ACM Trans. Softw. Eng. Methodol. 9(4), 410–442 (2000)

    Article  Google Scholar 

  17. 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

  18. 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

    Article  Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. Sabelfeld, A., Myers, A.C.: Language-based information-flow security. IEEE J. Sel. Areas Commun. 21(1), 5–19 (2003)

    Article  Google Scholar 

  22. 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)

    Google Scholar 

  23. 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)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to N. V. Narendra Kumar .

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

$$\begin{aligned} \exists q_1,q_2\in \mathcal {Q}, L\in \mathcal {L} \big [(q_1\cong _L q_2) \wedge (\mathcal {S}(q_1,c)\not \cong _L \mathcal {S}(q_2,c))\big ] \end{aligned}$$
(1)

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 ]\).

$$\begin{aligned}&(\sigma _l=(v'',r)) \wedge (\sigma _i=(v',u)) \wedge l<i \Rightarrow (v'',v')\in \text {IF}(q_1,c) \end{aligned}$$
(2)
$$\begin{aligned}&[(\lambda (v')\leqslant L) \wedge (\lambda (v'')\not \leqslant {L})] \Rightarrow (\lambda (v'')\not \leqslant {\lambda (v')}) \end{aligned}$$
(3)

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.

$$\begin{aligned}&(q_1^{i-1}\cong _L q_2^{i-1}) \wedge (q_1^{n_1}=\mathcal {S}(q_1,c)\not \cong _L\mathcal {S}(q_2,c)=q_2^{n_2}) \Rightarrow \exists v''\in V, i< k\le n_2\big [(\lambda (v'') \leqslant \nonumber \\&L) \wedge (\text {ASeq}(q_2,c)_k=(v'',u))] \end{aligned}$$
(4)
$$\begin{aligned}&\text {ASeq}(q_2,c)_i=(v',r) \wedge \text {ASeq}(q_2,c)_k=(v'',u) \wedge i<k \Rightarrow (v',v'')\in \text {IF}(q_2,c) \end{aligned}$$
(5)
$$\begin{aligned}&[(\lambda (v')\not \leqslant L) \wedge (\lambda (v'')\leqslant L)] \Rightarrow (\lambda (v')\not \leqslant \lambda (v'')) \end{aligned}$$
(6)

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

Reprints and permissions

Copyright information

© 2019 Springer Nature Singapore Pte Ltd.

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics