skip to main content
10.1145/3422604.3425944acmconferencesArticle/Chapter ViewAbstractPublication PagescommConference Proceedingsconference-collections
research-article
Public Access

Solver-Aided Multi-Party Configuration

Published: 04 November 2020 Publication History

Abstract

Configuring a service mesh often involves multiple parties, each of whom is responsible for separate portions of the overall system. This can result in miscommunication, silent and sudden errors, or a failure to meet goals.
We identify two distinct modes of configuration that call for different solutions. We use synthesis algorithms to extract a set of properties---the envelope ---that each party needs the other to obey. Administrators can use the envelope to aid verification and synthesis or to support fault-localization and negotiation when goals conflict.
This paper introduces the problem, lays out the modes, presents algorithms for to each, and gives a prototype implementation. We use this to show the feasibility of the approach in the microservices access-control domain and raise new research questions.

References

[1]
R. Alur, R. Bodík, G. Juniwal, M. M. K. Martin, M. Raghothaman, S. A. Seshia, R. Singh, A. Solar-Lezama, E. Torlak, and A. Udupa. Syntax-guided synthesis. In Formal Methods in Computer-Aided Design, 2013.
[2]
G. Aschemann and R. Kehr. Towards a requirements-based information model for configuration management. In International Conference on Configurable Distributed Systems, pages 181--188, 1998.
[3]
R. Beckett and R. Mahajan. Putting network verification to good use. In Workshop on Hot Topics in Networks, 2019.
[4]
R. Beckett, R. Mahajan, T. Millstein, J. Padhye, and D. Walker. Don't mind the gap: Bridging network-wide objectives and device-level configurations. In Conference on Communications Architectures, Protocols and Applications (SIGCOMM), 2016.
[5]
R. Beckett, R. Mahajan, T. Millstein, J. Padhye, and D. Walker. Network configuration synthesis with abstract topologies. In Programming Language Design and Implementation (PLDI), 2017.
[6]
R. Birkner, D. Drachsler-Cohen, L. Vanbever, and M. Vechev. Config2Spec: Mining network specifications from network configurations. In Networked Systems Design and Implementation, 2020.
[7]
M. Bravetti, S. Giallorenzo, J. Mauro, I. Talevi, and G. Zavattaro. Optimal and automated deployment for microservices. In International Conference on Fundamental Approaches to Software Engineering, 2019.
[8]
M. Calder, M. Kolberg, E. H. Magill, and S. Reiff-Marganiec. Feature interaction: A critical review and considered forecast. Computer Networks, 41(1):115--141, Jan. 2003.
[9]
A. Cimatti, A. Griggio, S. Mover, and S. Tonetta. Parameter synthesis with IC3. In Formal Methods in Computer-Aided Design, 2013.
[10]
A. Cunha, N. Macedo, and T. Guimarães. Target oriented relational model finding. In International Conference on Fundamental Approaches to Software Engineering, pages 17--31. Springer, 2014.
[11]
N. Danas, T. Nelson, L. Harrison, S. Krishnamurthi, and D. J. Dougherty. User studies of principled model finder output. In Software Engineering and Formal Methods, 2017.
[12]
C. Diekmann, J. Naab, A. Korsten, and G. Carle. Agile network access control in the container age. IEEE Trans. Network and Service Management, 16(1):41--55, 2019.
[13]
C. Diekmann, S. Posselt, H. Niedermayer, H. Kinkelin, O. Hanka, and G. Carle. Verifying security policies using host attributes. In Formal Techniques for Distributed Objects, Components, and Systems, 2014.
[14]
A. El-Hassany, P. Tsankov, L. Vanbever, and M. T. Vechev. Network-wide configuration synthesis. In International Conference on Computer Aided Verification, 2017.
[15]
A. El-Hassany, P. Tsankov, L. Vanbever, and M. T. Vechev. NetComplete: Practical network-wide configuration synthesis with autocompletion. In Networked Systems Design and Implementation, 2018.
[16]
A. Felfernig, G. E. Friedrich, D. Jannach, and M. Zanker. Towards distributed configuration. In KI 2001: Advances in Artificial Intelligence, pages 198--212, Berlin, Heidelberg, 2001.
[17]
J. D. Guttman. Filtering postures: Local enforcement for global policies. In IEEE Symposium on Security and Privacy, pages 120--129, 1997.
[18]
A. Hubaux. Feature-based Configuration: Collaborative, Dependable, and Controlled. PhD thesis, University of Namur, Belgium, 2012.
[19]
Istio forum user bappr. Istio RBAC - 1.1.5 - K8S. https://discuss.istio.io/t/istio-rbac-v1-1-5-k8s/2543, 2019. Accessed June 11, 2020.
[20]
Istio forum user bappr. Istio RBAC requires mTLS? https://discuss.istio.io/t/istio-rbac-require-mtls/2797/2, 2019. Accessed June 11, 2020.
[21]
Istio forum user claudiobizzotto. Network Policy not taking effect. https://discuss.istio.io/t/networkpolicy-not-taking-effect/3341, 2019. Accessed June 11, 2020.
[22]
Istio forum user courcelm. Ingress gateway IP whitelist with AuthorizationPolicy. https://discuss.istio.io/t/ingress-gateway-ip-whitelist-with-authorizationpolicy/5558, 2020. Accessed June 11, 2020.
[23]
Istio forum user Fredrik. AuthorizationPolicy and namespaces. https://discuss.istio.io/t/authorizationpolicy-and-namespaces/5399, 2020. Accessed June 11, 2020.
[24]
Istio forum user jebinjeb. AuthorizationPolicy not allowing health endpoint. https://discuss.istio.io/t/authorizationpolicy-not-allowing-health-endpoint/6242, 2020. Accessed June 11, 2020.
[25]
Istio forum user magic. Multicluster control options for gateway. https://discuss.istio.io/t/multicluster-control-options-for-gateway/6064, 2020. Accessed June 11, 2020.
[26]
Istio forum user MarioPeck. Authentication policy origins JWT - internal vs public access. https://tinyurl.com/istio-mariopeck, 2020. Accessed June 11, 2020.
[27]
Istio forum user obelisk. Istio and kubernetes network policies. https://discuss.istio.io/t/istio-and-kubernetes-network-policies/4858, 2020. Accessed June 11, 2020.
[28]
Istio forum user Peter_Flanagan. RBAC returns either 403 or 302 for each route randomly. https://tinyurl.com/istio-peterf, 2019. Accessed June 11, 2020.
[29]
Istio forum user rlljorge. Restrict access by gateway/service using source ip. https://discuss.istio.io/t/restrict-access-by-gateway-service-using-source-ip/6588/3, 2020. Accessed June 11, 2020.
[30]
Istio forum user sethokayba. Openshift Istio ServiceEntry. https://discuss.istio.io/t/openshift-istio-serviceentry/4247, 2019. Accessed June 11, 2020.
[31]
Istio forum user Steven_O_brien. Application roles and RBAC. https://discuss.istio.io/t/applications-roles-and-rbac/4006, 2019. Accessed June 11, 2020.
[32]
Istio forum user y0zg. Jwt tokens propagation between multiple clusters. https://discuss.istio.io/t/jwt-tokens-propagation-between-multiple-clusters/6604, 2020. Accessed June 11, 2020.
[33]
Istio forum user yuzisun. RBAC denied for connection check. https://discuss.istio.io/t/rbac-denied-for-connection-check/3627, 2019. Accessed June 11, 2020.
[34]
D. Jackson. Software Abstractions: Logic, Language, and Analysis. MIT Press, 2 edition, 2012.
[35]
D. Jannach and M. Zanker. Modeling and solving distributed configuration problems: A CSP-based approach. IEEE Transactions on Knowledge and Data Engineering, 25(3):603--618, 2013.
[36]
S. Krishnamurthi and T. Nelson. The human in formal methods (invited talk). In International Symposium on Formal Methods (FM), 2019.
[37]
M. Mendonça, D. Cowan, W. Malyk, and T. Oliveira. Collaborative product configuration: Formalization and efficient algorithms for dependency analysis. Journal of Software, 3:69--82, 01 2008.
[38]
S. Narain, G. Levin, S. Malik, and V. Kaul. Declarative infrastructure configuration synthesis and debugging. J. Netw. Syst. Manage., 16(3), Sept. 2008.
[39]
T. Nelson, N. Danas, D. J. Dougherty, and S. Krishnamurthi. The power of "why" and "why not": Enriching scenario exploration with provenance. In Foundations of Software Engineering, 2017.
[40]
T. Nelson, N. Danas, T. Giannakopoulos, and S. Krishnamurthi. Synthesizing mutable configurations: Setting up systems for success. In Workshop on Software Engineering for Infrastructure and Configuration Code, 2019.
[41]
K. Newcomer. Securing a multi-tenant Kubernetes cluster. https://www.infoq.com/presentations/securing-kubernetes-cluster/, 2019. Accessed June 26, 2020.
[42]
Y. Permpoontanalarp and C. Rujimethabhas. A unified methodology for verification and synthesis of firewall configurations. In S. Qing, T. Okamoto, and J. Zhou, editors, Information and Communications Security, pages 328--339, Berlin, Heidelberg, 2001. Springer Berlin Heidelberg.
[43]
C. Prakash, J. Lee, Y. Turner, J.-M. Kang, A. Akella, S. Banerjee, C. Clark, Y. Ma, P. Sharma, and Y. Zhang. PGA: Using graphs to express and automatically reconcile network policies. In ACM Computer Communication Review, page 29--42, 2015.
[44]
M. Reitblatt, M. Canini, A. Guha, and N. Foster. FatTire: Declarative fault tolerance for software-defined networks. In Workshop on Hot Topics in Software Defined Networking, HotSDN '13, 2013.
[45]
S. Saha, S. Prabhu, and P. Madhusudan. NetGen: Synthesizing data-plane configurations for network policies. In Symposium on SDN Research (SOSR), 2015.
[46]
A. Solar-Lezama, L. Tancau, R. Bodik, S. Seshia, and V. Saraswat. Combinatorial sketching for finite programs. In Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2006.
[47]
R. Soulé, S. Basu, R. Kleinberg, E. G. Sirer, and N. Foster. Managing the network with Merlin. In Workshop on Hot Topics in Networks, 2013.
[48]
stack overflow forum user: Leonardo Carraro. Kubernetes Network Policy - Allow specific IP. https://stackoverflow.com/questions/53617527/kubernetes-network-policy-allow-specific-ip, 2018. Accessed June 11, 2020.
[49]
E. Torlak, F. S.-H. Chang, and D. Jackson. Finding minimal unsatisfiable cores of declarative specifications. In International Symposium on Formal Methods (FM), 2008.
[50]
E. Torlak and D. Jackson. Kodkod: A relational model finder. In International Conference on Tools and Algorithms for the Construction and Analysis of Systems, pages 632--647. Springer, 2007.
[51]
M. Turner. Walk-through: Debugging an RBAC problem in Istio (but without the swearing. https://tinyurl.com/kubecon-turner-k8s, 2019. Accessed June 11, 2020.
[52]
Y. Wang, C. Jiang, X. Qiu, and S. G. Rao. Learning network design objectives using a program synthesis approach. In Workshop on Hot Topics in Networks, 2019.
[53]
M. Yokoo, E. H. Durfee, T. Ishida, and K. Kuwabara. The distributed constraint satisfaction problem: formalization and algorithms. IEEE Transactions on Knowledge and Data Engineering, 10(5):673--685, 1998.
[54]
S. Zhang, A. Mahmoud, S. Malik, and S. Narain. Verification and Synthesis of Firewalls using SAT and QBF. IEEE International Conference on Network Protocols (ICNP), 2012.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
HotNets '20: Proceedings of the 19th ACM Workshop on Hot Topics in Networks
November 2020
228 pages
ISBN:9781450381451
DOI:10.1145/3422604
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 04 November 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. collaborative configuration
  2. configuration synthesis
  3. microservice architectures

Qualifiers

  • Research-article

Funding Sources

Conference

HotNets '20
Sponsor:

Acceptance Rates

Overall Acceptance Rate 110 of 460 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)48
  • Downloads (Last 6 weeks)8
Reflects downloads up to 14 Sep 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media