=Paper=
{{Paper
|id=Vol-2978/ds-paper87
|storemode=property
|title=Architectural Access Control Policy Refinement and Verification under Uncertainty (short paper)
|pdfUrl=https://ceur-ws.org/Vol-2978/ds-paper87.pdf
|volume=Vol-2978
|authors=Sebastian Hahner
|dblpUrl=https://dblp.org/rec/conf/ecsa/Hahner21
}}
==Architectural Access Control Policy Refinement and Verification under Uncertainty (short paper)==
Architectural Access Control Policy Refinement and Verification under Uncertainty Sebastian Hahner KASTEL – Institute of Information Security and Dependability, Karlsruhe Institute of Technology (KIT), Germany Abstract In our connected world, confidentiality is a central quality requirement. A commonly used mechanism to meet confidentiality requirements is access control. However, access control policies are usually not defined on the architectural abstraction level and are imprecise during design time due to the high degree of uncertainty. This impedes early considerations of confidentiality as implied by "Privacy by Design". We propose an approach to refine and verify access control policies while handling uncertainty that fills the gap between high-level confidentiality requirements and low-level access control. Keywords Software Architecture, Access Control, Uncertainty, Confidentiality 1. Introduction In today’s world, a lot of data is measured, collected, and exchanged, e.g., in the context of social media, online shopping, smart home, or the Internet of Things (IoT). Here, confidentiality demands that “information is not made available or disclosed to unauthorized individuals, entities, or processes” [1]. As implied by “Privacy by Design”, confidentiality requirements should be considered early in system design [2], e.g., by minimizing data collection and applying access control. Access control policies can be used to declare fine-grained rules on whether requests to data and resources should be accepted or rejected [3]. However, the information required to define and verify precise policies is limited at design time. We identify the following problems: First, policies are enforced using access control systems—a low-level security mechanism [3]—and are usually not defined in architectural abstraction (P1). Second, real-world confidentiality requirements are complex [3] and too abstract to make clear assumptions about confidentiality during design time (P2). This can result in over-estimations that restrict functionality by denying legitimate access [4]. Last, the high degree of uncertainty impedes early refinement and verification of policies (P3). The impact of uncertainty on software architectures has already been discussed in related work [5, 6]. Uncertainty-aware access control has been proposed to incorporate trust in access decisions [7, 8]. Also, policy refinement has been discussed to close the gap between definition and verification [9, 10]. To the best of our knowledge, none of these refinement approaches do consider uncertainty and its impact on confidentiality. Additionally, architectural uncertainty is more often discussed in the context of performance, cost, or reliability analyses [11]. ECSA’21: 15th European Conference on Software Architecture, September 13–17, 2021, Växjö, Sweden " sebastian.hahner@kit.edu (S. Hahner) © 2021 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings http://ceur-ws.org ISSN 1613-0073 CEUR Workshop Proceedings (CEUR-WS.org) Our vision to tackle these limitations is to consider uncertainty in definition, refinement, and verification of access control policies. We propose architecture-level modeling and refinement of policies and the adaptation of existing confidentiality analyses. Based on this vision and the problems (P1 – P3) stated above, we define the following research questions: RQ1 How to treat uncertainty on different abstraction levels and in varying context regarding its impact on confidentiality? RQ2 How to refine high-level confidentiality requirements based on architectural modeling? RQ3 How to verify refined policies against system architectures while considering uncertainty? The benefits of this approach include a more precise impact assessment of uncertainty on access control policies. Based on the extended modeling, we aim for early feedback on confidentiality. After summarizing related work in Section 2, we propose our approach in Section 3 and discuss the planned evaluation in Section 4. Section 5 concludes this paper. 2. Related Work We group related work in three categories: Handling uncertainty in architectural modeling, uncertainty-aware access control, and policy refinement. We consider our approach to be in between these categories because they all lack either the architectural abstraction, the explicit treatment of uncertainty, or the refinement of confidentiality requirements. Uncertainty-aware modeling approaches consider uncertainty as first-class entity in software architectures. Noppen et al. [5] discuss design decisions under imperfect information by explicitly modeling uncertain aspects of the architecture based on fuzzy techniques and design trees. Esfahani et al. [6] present GuideArch, an approach to explore the architectural solution space under uncertainty. This shall enable software architects to identify critical design decisions. Although these approaches consider uncertainty and fuzziness on architectural abstraction level, they do not consider confidentiality or other privacy-related quality properties. In contrast, uncertainty-aware access control directly considers imperfect information in modeling access decisions. Bures et al. [7] propose situational patterns to cope with uncertainty in highly dynamic environments like Industry 4.0. Hengartner and Zhong [8] present an access control model for distributed systems that incorporates trust by explicitly specifying remaining uncertainty in access decisions. The common gap of uncertainty-aware approaches to model access control is the lack of refinement of high-level confidentiality requirements whose abstraction is also a source of uncertainty. To guide software architects from high-level requirements to low-level policies, access control policy refinement techniques have been proposed. Su et al. [9] discuss the automated decompo- sition of policies based on the resource hierarchy in distributed applications. He and Antón [10] present and approach to define and refine access control policies by analyzing the specification of requirements and the system’s database design. Unfortunately, these approaches do not explicitly consider any kind of uncertainty. ? «uses» Database System B getPersonalData() Online Store ? «deploy» «implements» Database System A storeInternal() ? storeExternal() «deploy» «deploy» ? «deploy» Shop Server Database Server (European) (Non-European) Figure 1: An example of a software architecture with different sources of uncertainty (denoted by “?”) 3. Proposed Approach for Architectural Policy Analysis Our approach is based on existing classifications of uncertainty that define the dimensions nature, level, and location [12]. The nature describes whether the uncertainty originates due to lack of information (i.e., epistemic) or inherent variability (i.e., aleatory). The level states how much is known about the uncertain influence. The location describes where the uncertainty occurs, e.g., in context, model structure, or input. Regarding software architectures, the sources system structure, system behavior and system environment have also been proposed [7]. Figure 1 shows different sources of uncertainty based on an exemplary software architecture that consists of multiple components, deployment locations as well as a modeled system behavior. Here, epistemic uncertainty occurs by the lack of information on architectural design decisions such as component or deployment choices. Additionally, the runtime behavior is a source of uncertainty, especially regarding imprecise access control policies in complex systems [3]. The environment and system input are sources of aleatory uncertainty, e.g., caused by imperfect sensor information or unexpected user behavior. Although this example is far from being comprehensive, it illustrates that uncertainty—even only regarding known unknowns—is wide- ranging but can be precisely described, e.g., by using and extending existing taxonomies. Our approach includes architecture-level modeling, refinement, and verification of access control policies for business information systems. Based on design-time specification of un- certainty in architectural models, architects shall be able to estimate the impact of uncer- tainty on confidentiality, to iteratively refine high-level confidentiality requirements and verify uncertainty-afflicted access control policies [13]. This addresses the problems of abstraction (P1), over-estimation (P2) and uncertainty (P3). Our approach provides the following contributions: C1 A metamodel for architecture-level access control policies under uncertainty. C2 An uncertainty impact analysis of architectural design decisions on confidentiality. C3 An uncertainty-aware, design-time access control policy refinement process. C4 Policy verification based on adapting existing architecture-level confidentiality analyses. To close the gap between high-level confidentiality requirements and low-level policy enforce- ment, we envision a continuous method that includes definition, refinement, and verification. We plan to expand the architecture description language Palladio [14] with means to express un- certainty in the architectural model and in policies (C1). This shall enable architects to describe confidentiality requirements in a structured way [10]. Based on characterizing different types of uncertainty and analyzing their propagation through the architecture, we aim to support architects with impact analysis capabilities to identify crucial design decisions for confidentiality early (C2). A refinement process resolves known uncertainty based on the modeled architecture and yields refined policies with higher precision and defined assumptions (C3). To ensure the validity of such refined polices (C4), they can be modeled, e.g., as constraints for existing architectural data flow analyses [15]. Note, that this process is iterative and thus can also be used to verify already refined policies against changes in requirements, system, or environment. 4. Planned Evaluation We plan to evaluate our approach by using a Goal-Question-Metric-plan [16] with the goals: G1 Evaluate the expressiveness of the architecture-level modeling of policies and uncertainty. G2 Evaluate the accuracy of the uncertainty impact analysis for confidentiality. G3 Evaluate the correctness of the uncertainty-aware access control policy refinement. G4 Evaluate the accuracy of the verification of access control policies under uncertainty. Regarding goal G1, we ask whether our metamodel can express different access control policy models and real-world software architectures under uncertainty. To evaluate goal G2, we plan to track the propagation and thus the impact of uncertainty in these architectures. Regarding goal G3, we evaluate the correctness by conducting a formal proof, e.g., by formalizing the system and its policies using a suitable formalism [15] and verifying the implication between coarse and refined policies. For goal G4, we evaluate the accuracy of the verification, e.g., by reusing already defined scenarios [17] and measuring precision and recall. The biggest threat to validity of the planed evaluation is the existence of case studies which are important for external validity. We try to complement the case study-based evaluation whenever possible, e.g., by conducting a formal correctness proof in goal G3. Still, we rely on case studies with at least an architecture description and defined confidentiality requirements. A viable example is the German open-source contact tracing app Corona-Warn-App [18] that handles sensitive data and provides comprehensive public documentation. Another approach could be extracting failure causes from public data breaches and derive simplified scenarios. 5. Conclusion We proposed our approach for uncertainty-aware policy refinement and verification. So far, we collected first results regarding architectural uncertainty and the refinement process. More comprehensive insights on the relation of uncertainty and confidentiality have yet to be gained. Acknowledgments This work was supported by funding of the Helmholtz Association (HGF) through the Compe- tence Center for Applied Security Technology (KASTEL) (46.23). References [1] ISO, ISO/IEC 27000:2018(E) Information technology – Security techniques – Information security management systems – Overview and vocabulary, Standard, 2018. [2] P. Schaar, Privacy by design, Identity in the Information Society 3 (2010) 267–274. Springer. [3] P. Samarati, S. de Vimercati, Access Control: Policies, Models, and Mechanisms, in: Foundations of Security Analysis and Design, Springer, 2001, pp. 137–196. [4] J. Juerjens, Principles for secure systems design, PhD Thesis, University of Oxford, 2002. [5] Noppen, J., et al., Software development with imperfect information, Soft computing 12 (2008) 3–28. Springer. [6] N. Esfahani, et al., GuideArch: Guiding the exploration of architectural solution space under uncertainty, in: ICSE, 2013, pp. 43–52. [7] T. Bures, et al., Capturing Dynamicity and Uncertainty in Security and Trust via Situational Patterns, in: Leveraging Applications of Formal Methods, Verification and Validation: Engineering Principles, Springer, 2020, pp. 295–310. [8] U. Hengartner, G. Zhong, Distributed, Uncertainty-Aware Access Control for Pervasive Computing, in: PerComW, 2007, pp. 241–246. [9] Linying Su, et al., Automated decomposition of access control policies, in: POLICY, 2005, pp. 3–13. [10] Q. He, A. I. Antón, Requirements-based Access Control Analysis and Policy Specification (ReCAPS), Information and Software Technology 51 (2009) 993–1009. [11] D. Sobhy, et al., Evaluation of Software Architectures under Uncertainty: A Systematic Literature Review, ACM Transactions on Software Engineering and Methodology (2021). [12] D. Perez-Palacin, R. Mirandola, Uncertainties in the modeling of self-adaptive systems, in: ICPE, 2014, pp. 3–14. [13] S. Hahner, Dealing with Uncertainty in Architectural Confidentiality Analysis, in: Pro- ceedings of the Software Engineering 2021 Satellite Events, 2021, pp. 1–6. [14] R. H. Reussner, et al., Modeling and Simulating Software Architectures: The Palladio Approach, The MIT Press, 2016. [15] S. Hahner, et al., Modeling Data Flow Constraints for Design-Time Confidentiality Analy- ses, in: ICSA-C, 2021, pp. 15–21. [16] V. R. Basili, D. M. Weiss, A Methodology for Collecting Valid Software Engineering Data, IEEE Transactions on Software Engineering SE-10 (1984) 728–738. [17] S. Seifermann, et al., Data-driven software architecture for analyzing confidentiality, in: ICSA, 2019, p. 1–10. [18] Robert Koch Institute, et al., Corona-Warn-App Open-Source Project Website, 2020. URL: https://www.coronawarn.app/en/, accessed 7/29/2021.