Security Policy Enforcement in Application Environments Using Distributed Script-Based Control Structures
Total Page:16
File Type:pdf, Size:1020Kb
University of Plymouth PEARL https://pearl.plymouth.ac.uk 04 University of Plymouth Research Theses 01 Research Theses Main Collection 2007 SECURITY POLICY ENFORCEMENT IN APPLICATION ENVIRONMENTS USING DISTRIBUTED SCRIPT-BASED CONTROL STRUCTURES FISCHER-HELLMANN, KLAUS-PETER http://hdl.handle.net/10026.1/1655 University of Plymouth All content in PEARL is protected by copyright law. Author manuscripts are made available in accordance with publisher policies. Please cite only the published version using the details provided on the item record or document. In the absence of an open licence (e.g. Creative Commons), permissions for further reuse of content should be sought from the publisher or author. SECURITY POLICY ENFORCEMENT IN APPLICATION ENVIRONMENTS USING DISTRIBUTED SCRIPT-BASED CONTROL STRUCTURES by KLAUS-PETER FISCHER-HELLMANN A thesis submitted to the University of Plymouth in partial fulfilment for the degree of DOCTOR OF PHILOSOPHY School of Computing, Communications and Electronics Faculty of Technology In collaboration with Darmstadt Node of the NRG Network at University of Applied Sciences Darmstadt September 2007 University of Plymouth Library Abstract Security Policy Enforcement in Application Environments Using Distributed Script-Based Control Structures Klaus-Peter Fischer-Hellmann Dipl.-Math. Business processes involving several partners in different organisations impose deman• ding requirements on procedures for specification, execution and maintenance. A framework referred to as business process management (BPM) has evolved for this pur• pose over the last ten years. Other approaches, such as service-oriented architecture (SOA) or the concept of virtual organisations (VOs), assist in the definition of architec• tures and procedures for modelling and execution of so-called collaborative business processes (CBPs). Methods for the specification of business processes play a central role in this context, and, several standards have emerged for this purpose. Among these, Web Services Business Process Execution Language (WS-BPEL, usually abbreviated BPEL) has evolved to become the de facto standard for business process definition. As such, this language has been selected as the foundation for the research in this thesis. Having a broadly accepted standard would principally allow the specification of business processes in a platform-independent manner, including the capability to specify them at one location and have them executed at others (possibly spread across different organisations). Though technically feasible, this approach has significant security implications, particularly on the side that is to execute a process. The research project focused upon these security issues arising when business processes are specified and executed in a distributed manner. The central goal has been the development of methods to cope with the security issues arising when BPEL as a standard is deployed in such a way exploiting the significant aspect of a standard to be platform-independent The research devised novel methods for specifying security policies in such a manner that the assessment of compliance with these policies is greatly facilitated such that the assessment becomes suited to be performed automatically. An analysis of the security- relevant semantics of BPEL as a specification language was conducted that resulted in the identification of so-called security-relevant semantic patterns. Based on these results, methods to specify security policy-implied restrictions in terms of such semantic patterns and to assess the compliance of BPEL scripts with these policies have been developed. These methods are particularly suited for assessment of remotely defined BPEL scripts since they allow for pre-execution enforcement of local security policies thereby mitigating or even removing the security implications involved in distributed definition and execution of business processes. As initially envisaged, these methods are comparatively easy to apply, as they are based on technologies customary for practitioners in this field. The viability of the methods proposed for automatic compliance assessment has been proven via a prototypic implementation of the essential functionality required for proof-of-concept. Contents List of Figures ix List of Tables xi List of XML Snippets xii List of Abbreviations and Acronyms xiii Acknowledgements xvii Author's Declaration xix 1 Introduction I 1.1 Aims and Objectives 4 1.2 Thesis Structure 6 2 Cross-Organisational Deployment of Business Processes 9 2.1 Extended Use of Business Process Definition Languages in CBP Scenarios .... 11 2.2 Motivating Example of Cross-Organisational Business Process 13 2.2.1 Description of Business Process Example 14 2.2.2 Security Policy-Induced Restrictions in Cross-Organisational Business Process Execution 17 2.3 Security Issues Related to Cross-Organisational Deployment of CBP 19 ii 2.4 Restriction of Research to WS-BPEL without Loss of Generality 22 2.5 Summary 25 Approaches to Specification and Enforcement of Security Policies 27 3.1 Specification of Security Aspects for Web Services 29 3.1.1 Web Service Security (WS-Security) 31 3.1.2 WS-SecurityPolicy 32 3.1.3 WS-Trust 32 3.1.4 Web Services Policy Framework (WS-PoIicy) 33 3.1.5 Security Assertion Markup Language (SAML) 33 3.1.6 extensible Access Control Markup Language (XACML) 34 3.2 Role-Based Access Control for Web Services and Business Processes 35 3.3 Relation of Programs and Programming Languages with Security Policies 38 3.4 Verification of Consistency between Program Code and Security Policies 43 3.5 Security Policy Enforcement via Code Instrumentation and Runtime Monitoring 45 3.6 Summary 48 Analysis of Security-Relevant Semantics of BPEL 52 4.1 Scope of Analysis 52 4.1.1 Search for Security-Relevant Building Blocks of BPEL Semantics 55 iii 4.1.2 Trade-Off Between Policy Strictness and Functional Richness 56 4.1.3 Need for Information Flow Analysis in Policy Compliance Assessment.... 58 4.1.4 Approach to Dispensability of Security Classification System 59 4.1.5 Risks of Policy Violations of Remotely Defined Business Processes 62 4.2 Overview of BPEL Semantics 63 4.2.1 General Structure of BPEL Scripts 66 4.2.2 Primitive and Structured Activities in Normal Process Flow 68 4.2.3 Additional Flow Control and Structuring Elements 70 4.2.4 Special Activities for Fault Handling 72 4.2.5 Concept of Multiple Instantiation in BPEL 73 4.2.6 Extensibility of BPEL and Problems for Compliance Assessment Involved 73 4.3 Classification of Security Policy-Derived Restrictions for WS Invocation 75 4.4 Security Analysis of Semantic Patterns of BPEL 82 4.4.1 Definition of Semantic Patterns of BPEL 82 4.4.2 Results of Security Analysis of Semantic Patterns 83 4.5 Considerations with Respect to Separation of Duty Constraints 92 4.6 Summary 94 IV 5 Specification of Security Policy for Compliance Assessment of CBPs 96 5.1 Redefinition of Security Policy in Terms of Security-Relevant Semantic Patterns 99 5.2 Security Policy Statement 100 5.2.1 Security Policy Statement Template 101 5.2.2 Internal Web Service Restriction Statement 105 5.2.3 External Web Service Restriction Statement 109 5.3 Approach to Reduce Complexity of Security Policy Statements 112 5.4 Coping with Dynamic Aspects in Static Compliance Analysis 114 5.5 Summary 118 6 Security Policy Compliance Assessment for BPEL Scripts 120 6.1 Procedure of Compliance Assessment 120 6.1.1 Prerequisites for Compliance Assessment 121 6.1.2 Analysis of Declaration Part in BPEL Script 122 6.1.3 Checking BPEL Script for Security-Relevant Semantic Patterns 123 6.1.4 Example of Covert Channel Establishment in BPEL Script 124 6.1.5 Information Flow Analysis in Parallel Flows 126 6.2 Workflows in Distributed Definition and Execution of CBPs 128 6.3 Delegation of Security Policy Compliance Assessment 132 V 6.3.1 Domain-Internal Delegation of Compliance Assessment 133 6.3.2 Domain-External Delegation of Compliance Assessment 134 6.4 Summary 137 7 Proof of Concept by Research Prototype 139 7.1 Scope of Research Prototype 139 7.2 Machine-Readable Format of Security Policy Statement 147 7.2.1 Rationale for Definition of XML Schema in Current Form 148 7.2.2 Annotated SPS Schema in Condensed Notation 149 7.3 Architecture of Research Prototype 154 7.4 Functionality of Research Prototype at a Glance 156 7.4.1 Conversion of SPS into Internal Representation 157 7.4.2 Conversion of Variable Declarations into Internal Representation 158 7.4.3 Combined Forward/Backward Information Flow Analysis 158 7.4.4 Handling of Parallel Flows in Information Flow Analysis 161 7.4.5 Implementation of Covert Channel Prevention 162 7.5 Evaluation of Research Prototype 163 7.6 Summary 167 VI 8 Examining the Wider Applicability of the Results 170 8.1 Motivation for Remote Definition of Grid Processes 171 8.2 Approaches to Specification of Grid Service Security 177 8.3 Security-Relevant Semantic Patterns in BPEL-Based Grid Processes 179 8.4 Rewriting Security Policies to Support Pre-Execution Security Policy Assessment 184 8.5 Delegation of Security Assessment 189 8.6 Summary 192 9 Conclusions and Directions of Further Research 194 9.1 Achievements of the Research 194 9.2 Limitations of the Research 197 9.3 Directions of Further Research 201 Appendices 203 A. 1. Published Papers 203 A.2. XML Schema for Security Policy Statement 206 A.3. Outline of Sophisticated Covert Channel Prevention for Activity validate 211 A.4. Java Code of Research Prototype 213 A.5. Examples of BPEL Scripts Used for Validation of