Trust Trade-off Analysis for Security Requirements Engineering A paper by Eric S.K. Yu and Golnaz Elahi (2008) Analyzed by Jens van Langen Student number: 4203879 Utrecht University April 10th, 2014 Notice of Originality I declare that this paper is my own work and that information derived from published or unpublished work of others has been acknowledged in the text and has been explicitly referred to in the list of references. All citations are in the text between quotation marks (“ ”). I am fully aware that violation of these rules can have severe consequences for my study at Utrecht University. Signed: Name: Date: Place: Analyzing: Trust Trade-off Analysis for Security Requirements Engineering Reference paper: Golnaz Elahi & Eric S. K. Yu (2008), Trust Trade-off Analysis for Security Requirements Engineering, (RE 2009), 243-248 Introduction In their paper Elahi and Yu (2008) introduce a seven-step-method for analyzing trade-offs that trust relationships bring. The goal of this method is to make these trust trade-offs in such a way that it satisfies the requirements of several different stakeholders. The first six steps in this sevenstep-method are existing techniques the authors have adopted. Therefore, the main contribution of their paper is the last step. The seven steps according to the method are: 1. 2. 3. 4. 5. 6. 7. Identify Actors and Actors’ Dependencies. Model and Refine Actors’ Goals. Discover and Model Trust Relationships in the Dependency Chain. Recording Trust Rationale. Replace the Trustee Party with a Corresponding Malicious Party. Model and Analyze Vulnerabilities. Analyze the Trust Trade-offs. In step one the main actors, which can be users or (sub-) systems, and their dependencies are identified and expressed using i* Strategic Dependency (SD) models (Yu, 1995). i* is a graphical modeling framework, with a prescribed notation, used for requirements engineering. In step two of the method the SD models are extended to i* Strategic Rationale (SR) models (Yu, 1995), where goals are identified and refined to discover new dependency relationships among them. Step three is where trust, distrust and delegation of execution relationships between entities are modeled (Giorgini, Massacci, & Zannone, 2005). Step four involves getting rationale from stakeholders about the trust and distrust relationships. Essential rationales can be shown as an i* “belief” element in the SD and SR model. In step five the trusted parties are substituted with attackers. Therefore security extensions are adopted to alter the i* SD and SR models (Elahi & Yu, 2007). The purpose is to analyze how permissions and capabilities, which are given to the trustee, can have a negative impact the stakeholder’s goals. In step six the SD and SR models are extended with the notation proposed by Elahi, Yu and Zannone (2009) to analyze vulnerabilities that dependees pose to the system. Step seven involves the usage of goal model evaluation techniques by Chung, Nixon, Yu and Mylopoulos (1999) and Horkoff and Yu (2009) to graphically demonstrate the pros and cons of each alternative. Due to the difficulty of interpreting the results, Elahi and Yu propose a trust trade-off table. This table is used to systematically compare the impact alternative solutions have on the goals of the actors. The method by Elahi and Yu (2008) can be applied to the domain of security requirements engineering. The downside of this method is that the optimization only works for a single stakeholder (Elahi & Yu, 2008). The authors, Golnaz Elahi and Eric Yu, have both studied at the University of Toronto. Golnaz Elahi wrote the paper, which is analyzed here, under supervision of Eric Yu as a Ph.D. thesis. She is now employed at Deloitte as a IT security consultant. Eric Yu has also written a Ph.D. thesis where he introduced the -now famous- i* modeling framework (Yu, 1995). Currently he is a professor at the University of Toronto. Example The method by Elahi and Yu (2008) is best explained by giving an example. The goal of this example is to make a decision on what kind of server to use to provide webpages to a browser. The following elaborates on the alternative of using a webserver. Step one in every situation is: identify the actors and their dependencies. In this case the actors are the webserver and the browser. The webserver depends on a request from the browser before any action is taken. The browser depends on the server returning the requested webpage. The method opts to depict this information as an i* Strategic Dependency model. Step two is to model and refine the actors’ goals. In this example the webserver’s goal is to provide webpages to clients. This goal can be refined by using softgoals, resources and tasks as seen in figure 1. Step three involves discovering and modeling the trust relationships. The two actors in our example are connected to each other via a request and an answer relationship. Using the notation by Giorgini, Massacci and Zannone (2005), trust, distrust and delegation of execution modifiers can be applied to the relationships. Step four seeks to add rationales about the relationships as i* “belief” elements to the model as seen in figure 1. The template used to make SR models can be found in Appendix A. Figure 1: i* SR model for the example webserver and browser Step five is to replace the party trusted depended upon by a corresponding attacker and analyze how the trusted permissions can be abused by the attacker. This can be done by brainstorming. In the example the webserver can be substituted for a malicious server sending out wrong webpages or not answering requests. All vulnerabilities are modeled in the i* SR model using the notation from Elahi, Yu and Zannone (2010) in step six of the method. The final step, step seven, is to analyze all alternatives which have been elaborated using the preceding steps. Arguably the browser can also be replaced in the example, since the server trusts upon the browser to send a webpage request. The webpage request initiated by the browser can contain malicious code to crash the server or, perhaps even worse, be used to steal confidential data. The formulated alternatives and (soft)goals are mapped into a trust trade-off table. Each cell contains an indication of some sort to display the relative effects of the alternative on the (soft)goal. Process Deliverable Diagram The analyzed method can be depicted using a Process Deliverable Diagram (PDD). This metamodeling technique has been created by Weerd and Brinkkemper (2008). The seven activities of the method are on the left side of the PDD shown in figure 2. On the right side of the PDD are the deliverables that are produced by executing the (sub-)activities. Figure 2: Process Deliverable Diagram for the analyzed method Concepts On the right side of the PDD are the deliverables. These deliverables are also called concepts. A description of the concepts used can be found in the table below (table 1). Concept ACTOR ALTERNATIVE ATTACK ATTACKER DEPENDENCY NETWORK GOAL I* LINK I* STRATEGIC DEPENDENCY MODEL I* STRATEGIC RATIONALE MODEL MALICIOUS I* STRATEGIC RATIONALE MODEL COUNTERPART RELATIONSHIP RESOURCE SOFT GOAL SOLUTION TASK TOP GOAL Description An ACTOR is a user of the system. For instance an ACTOR can be a human, sub-system, software agent or service provider (Elahi & Yu, 2008). This is a possible solution to the security trade-off question in the form of a TRUST I* STRATEGIC RATIONALE MODEL. An ATTACK is a way to exploit a VULNERABILITY (Elahi & Yu, 2008). An ATTACKER replaces a dependee party in the MALICIOUS I* STRATEGIC RATIONALE MODEL COUNTERPART (Elahi & Yu, 2008). The DEPENDENCY NETWORK connects two ACTORS to each other so GOALS can be achieved, TASKS can be performed and RESOURCES can be furnished (Yu, 1995). This DEPENDENCY NETWORK can be expressed as an I* STRATEGIC DEPENDENCY MODEL. A GOAL is a condition or state of affairs in the world that the stakeholders would like to achieve. The goal can be achieved by any alternative (Regev & Wegmann, 2005) Links are used to model the positive impacts on satisfaction of (soft)goals (Elahi & Yu, 2008) The I* STRATEGIC DEPENDENCY MODEL provides an intentional description of a process in terms of a network of dependency relationships among ACTORS (Yu, 1995). The I* STRATEGIC RATIONALE MODEL provides an intentional description of processes in terms of process elements and the rationales behind them (Yu, 1995). This is the malicious counterpart to the I* STRATEGIC RATIONALE MODEL. Here the dependee actors are replaced by a corresponding malicious counterpart, also known as an ATTACKER (Elahi & Yu, 2008). This implies a connection of trust, distrust or delegation between two ACTORS. A RELATIONSHIP also represents either a permission or execution (Elahi & Yu, 2008). A RELATIONSHIP has a type: trust, distrust or delegation, a trusted: execution or permission, and a rationale: a statement explaining the relationship. A RESOURCE is the finished product of some deliberation-action process (Yu, 1995). A SOFT GOAL is a condition the ACTOR would like to achieve, but unlike a TOP GOAL it is not defined sharply and therefore it is subject to interpretation (Yu, 1995). The SOLUTION implies the ALTERNATIVE which best satisfies the risks and benefits of the dependencies (Elahi & Yu, 2008) A TASK specifies a particular way of doing something (Yu, 1995). A TOP GOAL is a condition the ACTOR would like to achieve. The criteria to achieve this are clearly defined (Yu, 1995) A generic I* STRATEGIC RATIONALE MODEL extended with the security notation introduced by Elahi and Yu (2007). A template to create this model can be found in Appendix A. TRUST I* STRATEGIC RATIONALE MODEL TRUST TRADEOFF TABLE VULNERABILITY A TRUST TRADE-OFF TABLE is a table in which costs and benefits of ALTERNATIVES can be listed and compared (Elahi & Yu, 2008). A VULNERABILITY is a weakness which can be exploited by an ATTACKER (Elahi & Yu, 2008). Table 1: A description of the concepts used in the PDD Activities On the left side of the PDD are the activities. A description of the activities used can be found in the table below (table 2). Activity Find an alternative to meet the requirements Identify Actors and Actors’ Dependencies Sub-activity Description An ALTERNATIVE needs to be found that meets the requirements of the stakeholders, which is represented by the GOALS. Identify the main actors The stakeholders and requirements analysts identify the main ACTORS involved in the system (Elahi & Yu, 2008). Model the main actors in a DEPENDENCY NETWORK. This can then be expressed as an I* STRATEGIC DEPENDCY MODEL (Elahi & Yu, 2008). Using the I* STRATEGIC DEPENDENCY MODEL to detect the TOP and SOFT GOALS for the ACTORS (Elahi & Yu, 2008). The top and soft goals can be refined into finer-grained (SOFT) GOALS, TASKS and RESOURCES. The I* LINKS are used to model the benefits of the dependencies (Elahi & Yu, 2008). The I* STRATEGIC DEPENDENCY MODELS can be extended to the I* STRATEGIC RATIONALE MODELS according to the steps defined by Yu (1995). Identify what kind of trust RELATIONSHIPS there are between the ACTORS (Elahi & Yu, 2008). Model the main actors Model and Refine Actors’ Goals Discover and Model Trust Relationships in the Dependency Chain Detect top goals and soft goals Refine top goals and soft goals Extend the i* SD models to i* SR models Identify the (dis)trust relationships Model the relationships Record the Trust Rationale Replace the Trustee Party with a Malicious Substitute a dependee with an attacker Extend the I* STRATEGIC DEPENDENCY MODEL by modeling the dis(trust) RELATIONSHIPS to form the TRUST I* STRATEGIC DEPENDENCY MODEL (Elahi & Yu, 2008). The rationale from stakeholders for (dis)trusting a party should be recorded and added to the RELATIONSHIPS (Elahi & Yu, 2008). One of the dependee parties should be replaced with an ATTACKER (Elahi & Yu, 2008). Party Model and Analyze Vulnerabilities Analyze the Trust Trade-offs Analyze how permissions can be abused Analyze and add vulnerabilities to the model Detect potential attacks Create a trust trade-off table Decide which alternative to use When replaced by an ATTACKER one should analyze how granted capabilities and permissions can be abused (Elahi & Yu, 2008). The VULNERABILITIES that the dependee parties bring to the system should be added to the model using the notation by Elahi, Yu and Zannone (2010). Brainstorming should take place to detect potential ATTACKS (Elahi & Yu, 2008). A TRUST TRADE-OFF TABLE should be created according to the method described by Elahi and Yu (2008). From the TRUST TRADE-OFF TABLE the SOLUTION should be picked which best meets the requirements of the stakeholders (Elahi & Yu, 2008). Table 2: A description of the activities used in the PDD Related literature The method that is elaborated upon in the analyzed paper, originated from the method that Liu, Yu and Mylopoulos (2003) proposed in their paper about security and privacy requirements analysis. Step five in the method by Elahi and Yu (2008) shows resemblance to the method by Liu et al. (2003). They also replaced the trusted party with an attacker to analyze the effects of vulnerabilities in relation to the goals. Moreover, the evaluation techniques proposed in step seven of the method are based on the paper by Horkhoff and Yu (2009) as well as Chung et al. (1999). Common development methodologies for requirements engineering (RE) have all adopted goaloriented and agent-oriented concepts. Giorgini, Massacci and Zannone (2005) review several of these software development methodologies and try to improve on them. They name i* and Tropos as the most prominent methods for RE. In their paper Regev and Wegmann (2005) also name Goal-oriented Requirements Language (GRL), Knowledge Acquisition in automated specification (KAOS), Cooperative Requirements Engineering with Scenarios (CREWS) and Goal-Based Requirements Analysis Method (GBRAM) as goal-oriented requirements engineering (GORE) methods and as alternatives. Also noteworthy is the method used by Elahi and Yu (2008) to identify the most beneficial tradeoff. This method is based on the even swaps method, which has been introduced by Hammond, Keeney and Raiffa (1998) as a rational way to make trade-offs for multi-criteria decisions. The even swaps method makes you to think about the value of one property in terms of another. This makes comparrison easy and trade-offs more tangible. Before engineering the method introduced in their paper, Elahi and Yu (2007) analyzed other existing trust trade-off methods. This can be viewed as preceding work to the analyzed paper. Elahi and Yu (2008) criticize the useability of the method in its current state, because it has not been tested extensively. Therefore no case studies have been found where this method has been applied. Only Elahi and Yu (2011) cite their paper for the modified even swaps method mentioned in step seven of the method. References Elahi, G., & Yu, E. (2007). A Goal Oriented Approach for Modeling and Analyzing Security Trade-Offs. In C. Parent, V. C. Storey, K.-D. Schewe, & B. Thalheim (Eds.), Proceedings of the 26th International Conference on Conceptual Modeling, Auckland, New Zealand, 375-390. Elahi, G., & Yu, E. (2008). Trust Trade-off Analysis for Security Requirements Engineering. Proceedings of the 17th IEEE International Conference on Requirements Engineering, Atlanta, Georgia, USA, 243-248. Elahi, G., & Yu, E. (2011). Requirements Trade-offs Analysis in the Absence of Quantitative Measures: A Heuristic Method. Proceedings of the 2011 ACM Symposium on Applied Computing, TaiChung, Taiwan, 651-658. Elahi, G., Yu, E., & Zannone, N. (2010). A Vulnerability-Centric Requirements Engineering Framework: Analyzing Security Attacks, Countermeasures, and Requirements Based on Vulnerabilities. Journal of Requirements Engineering , 15(1), 41-62. Giorgini, P., Massacci, F., & Zannone, N. (2005). Security and Trust Requirements Engineering. In A. Aldini, R. Gorrieri, & F. Martinelli (Eds.). Foundations of Security Analysis and Design III (pp. 237-272). Bertinoro, Italy: Springer Berlin Heidelberg. Hammond, J. S., Keeney, R. L., & Raiffa, H. (1998). Even Swaps: A Rational Method for Making Trade-offs. Harvard Business Review, 76(2), 137-152. Horkhoff, J., & Yu, E. (2009). A Qualitative, Interactive Evaluation Procedure for Goal- and Agent-Oriented Models. Proceedings of the 21st International Conference on Advanced Information Systems Engineering (CAiSE´09), Amsterdam, The Netherlands, 151-161. Liu, L., Yu, E., & Mylopoulos, J. (2003). Security and Privacy Requirements Analysis within a Social Setting. Proceedings of the 11th IEEE International Conference on Requirements Engineering, Monterey, California, USA, 151-161. Regev, G., & Wegmann, A. (2005). Where do goals come from: the underlying principles of goal-oriented requirements engineering. Proceedings of the 13th IEEE International Conference on Requirements Engineering, Paris, France, 353-362. Weerd, I. van de & Brinkkemper, S. (2008). Meta-modeling for situational analysis and design methods. In M.R. Syed & S.N. Syed (Eds.), Handbook of Research on Modern Systems Analysis and Design Technologies and Applications (pp. 38-58). Hershey: Idea Group Publishing. Yu, E. (1995). Modeling Strategic Relationships for Process Reengineering. Unpublished doctoral dissertation, University of Toronto, Ontario, Canada. Appendix A - Strategic Rationale template