Skip to main content

2019 | OriginalPaper | Buchkapitel

JRIF: Reactive Information Flow Control for Java

verfasst von : Elisavet Kozyri, Owen Arden, Andrew C. Myers, Fred B. Schneider

Erschienen in: Foundations of Security, Protocols, and Equational Reasoning

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

A reactive information flow (RIF) automaton for a value v specifies (i) restrictions on uses for v and (ii) the RIF automaton for any value that might be derived from v. RIF automata thus specify how transforming a value alters restrictions for the result. As labels, RIF automata are both expressive and intuitive vehicles for describing allowed information flows. JRIF is a dialect of Java that uses RIF automata for specifying information flow control policies. The implementation of JRIF involved replacing the information flow type system of the Jif language by a RIF-based type system. JRIF demonstrates (i) the practicality and utility of RIF automata, and (ii) the ease with which an existing information flow control system can be modified to support the expressive power of RIF automata.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
Reclassifiers that do not trigger a transition between states (i.e., self-transitions) need not be specified explicitly, thereby permitting compact representation of \(\delta \), as we illustrate in Sect. 3.
 
2
This example thus addresses only a subset of information flow policies that a conference system needs to satisfy [15].
 
3
This example is inspired by TruDocs [32].
 
4
For clarity, the syntax presented in this section simplifies the syntax actually used in our JRIF implementation.
 
5
We focus only on confidentiality for this example.
 
6
\(\mathcal {R}(\langle Q,\varSigma ,\delta ,q_0, Prins \rangle )\triangleq Prins (q_0)\).
 
7
\(\mathcal {T}(\langle Q,\varSigma ,\delta ,q_0, Prins \rangle ,\textsf {\textit{F}})\triangleq \langle Q,\varSigma ,\delta ,\delta ^*(q_0,\textsf {\textit{F}}), Prins \rangle \). Here \(\delta ^*\) is the transitive closure of \(\delta \): \(\delta ^*(q_0,\textsf {\textit{F}}' \mathsf {f_{}})\triangleq \delta (\delta ^*(q_0,\textsf {\textit{F}}'), \mathsf {f_{}})\) and \(\delta ^*(q_0,\epsilon )\triangleq q_0\), where \(\epsilon \) denotes the empty sequence.
 
8
The product of two c-automata \(\lambda _c=\langle Q,\varSigma ,\delta ,q_0, Prins \rangle \) and \(\lambda _c'=\langle Q',\varSigma ',\delta ',q_0', Prins '\rangle \) is defined to be \( \lambda _c\sqcup _c\lambda _c'\triangleq \langle Q\times Q',\varSigma \cup \varSigma ',\delta _\times ,\langle q_0,q_0' \rangle , Prins _\times \rangle \) where \(\delta _\times \) and \( Prins _\times \) are defined for \(\langle q,q' \rangle \in Q\times Q'\) as: \( \delta _\times (\langle q,q' \rangle , \mathsf {f_{}})\triangleq \langle \delta (q, \mathsf {f_{}}),\delta '(q', \mathsf {f_{}}) \rangle , \) and \( Prins _\times (\langle q,q' \rangle )\triangleq Prins (q)\cap Prins '(q'). \) The definition for the product of two i-automata is the same with the only difference being the definition of \( Prins _\times \), where instead of intersection we take the union of sets. RIF automata form a lattice.
 
9
Label checking rules for Java features already exist in Jif. Their core component is a call to a decision algorithm for the restrictiveness relation. So, we were able to support JRIF labels simply by substituting Jif’s decision algorithm with JRIF’s decision algorithm for JRIF label restrictiveness.
 
10
Classic labels can be simulated by one-state RIF automata.
 
11
Source code for this shared calendar implementation in JRIF can be found on JRIF’s web page [17].
 
12
The source code for JRIF can be found on JRIF’s web page [17].
 
Literatur
3.
Zurück zum Zitat Bell, E.D., LaPadula, J.L.: Secure computer systems: mathematical foundations (1973) Bell, E.D., LaPadula, J.L.: Secure computer systems: mathematical foundations (1973)
8.
Zurück zum Zitat Denning, D.E.R.: Secure information flow in computer systems. Ph.D. thesis, West Lafayette, IN, USA (1975) Denning, D.E.R.: Secure information flow in computer systems. Ph.D. thesis, West Lafayette, IN, USA (1975)
10.
Zurück zum Zitat Elnikety, E., Garg, D., Druschel, P.: SHAI: enforcing data-specific policies with near-zero runtime overhead. Technical report, Max Planck Institute for Software Systems, Saarland Informatics Campus, Germany, January 2018 Elnikety, E., Garg, D., Druschel, P.: SHAI: enforcing data-specific policies with near-zero runtime overhead. Technical report, Max Planck Institute for Software Systems, Saarland Informatics Campus, Germany, January 2018
11.
Zurück zum Zitat Goguen, J.A., Meseguer, J.: Security policies and security models. In: IEEE Symposium on Security and Privacy, pp. 11–20 (1982) Goguen, J.A., Meseguer, J.: Security policies and security models. In: IEEE Symposium on Security and Privacy, pp. 11–20 (1982)
13.
Zurück zum Zitat Hicks, B., King, D., McDaniel, P., Hicks, M.: Trusted declassification: high-level policy for a security-typed language. In: Proceedings of the 2006 Workshop on Programming Languages and Analysis for Security, PLAS 2006, pp. 65–74. ACM, New York (2006). https://doi.org/10.1145/1134744.1134757 Hicks, B., King, D., McDaniel, P., Hicks, M.: Trusted declassification: high-level policy for a security-typed language. In: Proceedings of the 2006 Workshop on Programming Languages and Analysis for Security, PLAS 2006, pp. 65–74. ACM, New York (2006). https://​doi.​org/​10.​1145/​1134744.​1134757
14.
Zurück zum Zitat Johnson, A., Waye, L., Moore, S., Chong, S.: Exploring and enforcing security guarantees via program dependence graphs. In: Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2015, pp. 291–302. ACM, New York (2015). https://doi.org/10.1145/2737924.2737957 Johnson, A., Waye, L., Moore, S., Chong, S.: Exploring and enforcing security guarantees via program dependence graphs. In: Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2015, pp. 291–302. ACM, New York (2015). https://​doi.​org/​10.​1145/​2737924.​2737957
16.
Zurück zum Zitat Kozyri, E.: Enhancing expressiveness of information flow labels: reclassification and permissiveness. Ph.D. thesis, Ithaca, NY, USA (2018) Kozyri, E.: Enhancing expressiveness of information flow labels: reclassification and permissiveness. Ph.D. thesis, Ithaca, NY, USA (2018)
19.
20.
Zurück zum Zitat Li, P., Zdancewic, S.: Practical information-flow control in web-based information systems. In: Proceedings of the 18th IEEE Workshop on Computer Security Foundations, CSFW 2005, pp. 2–15. IEEE Computer Society, Washington, DC (2005). https://doi.org/10.1109/CSFW.2005.23 Li, P., Zdancewic, S.: Practical information-flow control in web-based information systems. In: Proceedings of the 18th IEEE Workshop on Computer Security Foundations, CSFW 2005, pp. 2–15. IEEE Computer Society, Washington, DC (2005). https://​doi.​org/​10.​1109/​CSFW.​2005.​23
22.
25.
Zurück zum Zitat Rocha, B., Bandhakavi, S., den Hartog, J., Winsborough, W., Etalle, S.: Towards static flow-based declassification for legacy and untrusted programs. In: IEEE Symposium on Security and Privacy, pp. 93–108 (2010). https://doi.org/10.1109/SP.2010.14 Rocha, B., Bandhakavi, S., den Hartog, J., Winsborough, W., Etalle, S.: Towards static flow-based declassification for legacy and untrusted programs. In: IEEE Symposium on Security and Privacy, pp. 93–108 (2010). https://​doi.​org/​10.​1109/​SP.​2010.​14
27.
Zurück zum Zitat Roy, I., Porter, D.E., Bond, M.D., McKinley, K.S., Witchel, E.: Laminar: practical fine-grained decentralized information flow control. In: Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2009, pp. 63–74. ACM, New York (2009). https://doi.org/10.1145/1542476.1542484 Roy, I., Porter, D.E., Bond, M.D., McKinley, K.S., Witchel, E.: Laminar: practical fine-grained decentralized information flow control. In: Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2009, pp. 63–74. ACM, New York (2009). https://​doi.​org/​10.​1145/​1542476.​1542484
28.
Zurück zum Zitat Rushby, J.: Noninterference, transitivity and channel-control security policies. Technical report (1992) Rushby, J.: Noninterference, transitivity and channel-control security policies. Technical report (1992)
Metadaten
Titel
JRIF: Reactive Information Flow Control for Java
verfasst von
Elisavet Kozyri
Owen Arden
Andrew C. Myers
Fred B. Schneider
Copyright-Jahr
2019
DOI
https://doi.org/10.1007/978-3-030-19052-1_7