Analyzing Impacts on Software Enhancement Caused by Security Design Alternatives with Patterns
T. Okubo, H. Kaiya, Nobukazu Yoshioka
{"title":"Analyzing Impacts on Software Enhancement Caused by Security Design Alternatives with Patterns","authors":"T. Okubo, H. Kaiya, Nobukazu Yoshioka","doi":"10.4018/IJSSE.2012010103","DOIUrl":null,"url":null,"abstract":"Unlike functional implementations, it is difficult to analyze the impact on security of software enhancements. One of the difficulties is identifying the range of effects on existing software from new security threats, and the other is developing proper countermeasures. The authors propose an analysis method that uses two kinds of security patterns: security requirements patterns for identifying threats and security design patterns for identifying countermeasures at an action class level. With these two patterns and the conventional traceability methodology, developers can estimate and compare the amount of modifications needed for multiple security countermeasures. DOI: 10.4018/jsse.2012010103 38 International Journal of Secure Software Engineering, 3(1), 37-61, January-March 2012 Copyright © 2012, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited. the existing software effectively to enable the security without comprehensive knowledge about security. We cannot assume that all engineers have the knowledge in practice. Therefore, current secure development lifecycle methods are problematic for accomplishing software enhancements. It is important to estimate modification costs at the requirements stage of software enhancements for two main reasons. First, we need to consider changes in security requirements at this stage. We should avoid unnecessary countermeasures because security degrades other non-functional requirements such as development costs, performance, and usability. Additionally, we have to develop all important countermeasures. We should therefore identify major threats at the requirements stage to develop appropriate countermeasures. Second, we need to analyze the impact of identifying two or more countermeasures against a threat on the existing software. Security development involves costs that must be limited. This is why we need to estimate costs to choose a suitable security solution at the requirements stage. It is difficult to estimate what impact there will be on security without comprehensive knowledge about security, because it is hard to identify vulnerability of existing software to be modified and to grasp the effect on it without the knowledge. In addition, security concerns traverse the functionalities of existing software. There are two types of impact: horizontal impact on artifacts at the same stage and vertical impact on artifacts at a later stage. For example, suppose that we add credit card information to the user profiles of a Web shopping service to allow users to pay bills with their credit cards. As credit card information is an important asset, we need to consider a new threat, e.g., the risk of theft. It is hard to find where is vulnerability, such as vulnerability of a web protocol, to realize threats without knowledge. This threat impacts one or more functions in using user profiles, such as shopping carts, item recommendations, and edit profiles. In other words, if we have identified a new asset in existing software, we might consider adding new security countermeasures to some functions. This is an example of horizontal impact at the requirements stage. However, we need to modify the affected functions to implement security countermeasures, which have vertical impact on the code. Security codes are spread out over existing software and the impact depends on security architecture. Therefore, we need comprehensive knowledge about security to estimate the vertical impact. This paper proposes a method of analyzing the impact of security on purposes of software enhancement. The method consists of two techniques: analysis of horizontal impact using an extended misuse case, which was described in our previous work (Okubo, Taguchi, & Yoshioka, 2009), and a combination of new security patterns and a traditional technique of traceability as a means of analyzing vertical impact on security. Security knowledge is encapsulated in security patterns. As the patterns bridge the gap between security requirements and design and a traceability tool can find the impact on the code (semi-)automatically, we can determine the impact on code when security requirements change without comprehensive knowledge about security. Our research makes two major contributions. We first propose a new process of analyzing the impact of security based on our previous work. We then propose new security patterns including requirements level patterns and design level patterns to bridge the gap between requirements and design. Although these basic ideas have been proposed in Okubo, Kaiya, and Yoshioka (2011), the previous work does not include the detail of patterns and the evaluation was preliminary. This paper illustrates complete pattern description with examples and deep evaluation and the discussion about our method. This paper is organized as follows. The next section describes related work and security issues with software enhancements. We then describe our new method of integrating security patterns and impact analysis. The following sec23 more pages are available in the full version of this document, which may be purchased using the \"Add to Cart\" button on the product's webpage: www.igi-global.com/article/analyzing-impacts-softwareenhancement-caused/64194?camid=4v1 This title is available in InfoSci-Journals, InfoSci-Journal Disciplines Computer Science, Security, and Information Technology, InfoSci-Computer Systems and Software Engineering eJournal Collection, InfoSci-Knowledge Discovery, Information Management, and Storage eJournal Collection, InfoSci-Physical Sciences, Biological Sciences, and Engineering eJournal Collection, InfoSci-Surveillance, Security, and Defense eJournal Collection. Recommend this product to your librarian: www.igi-global.com/e-resources/libraryrecommendation/?id=2","PeriodicalId":89158,"journal":{"name":"International journal of secure software engineering","volume":"48 1","pages":"37-61"},"PeriodicalIF":0.0000,"publicationDate":"2012-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International journal of secure software engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4018/IJSSE.2012010103","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6
Abstract
Unlike functional implementations, it is difficult to analyze the impact on security of software enhancements. One of the difficulties is identifying the range of effects on existing software from new security threats, and the other is developing proper countermeasures. The authors propose an analysis method that uses two kinds of security patterns: security requirements patterns for identifying threats and security design patterns for identifying countermeasures at an action class level. With these two patterns and the conventional traceability methodology, developers can estimate and compare the amount of modifications needed for multiple security countermeasures. DOI: 10.4018/jsse.2012010103 38 International Journal of Secure Software Engineering, 3(1), 37-61, January-March 2012 Copyright © 2012, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited. the existing software effectively to enable the security without comprehensive knowledge about security. We cannot assume that all engineers have the knowledge in practice. Therefore, current secure development lifecycle methods are problematic for accomplishing software enhancements. It is important to estimate modification costs at the requirements stage of software enhancements for two main reasons. First, we need to consider changes in security requirements at this stage. We should avoid unnecessary countermeasures because security degrades other non-functional requirements such as development costs, performance, and usability. Additionally, we have to develop all important countermeasures. We should therefore identify major threats at the requirements stage to develop appropriate countermeasures. Second, we need to analyze the impact of identifying two or more countermeasures against a threat on the existing software. Security development involves costs that must be limited. This is why we need to estimate costs to choose a suitable security solution at the requirements stage. It is difficult to estimate what impact there will be on security without comprehensive knowledge about security, because it is hard to identify vulnerability of existing software to be modified and to grasp the effect on it without the knowledge. In addition, security concerns traverse the functionalities of existing software. There are two types of impact: horizontal impact on artifacts at the same stage and vertical impact on artifacts at a later stage. For example, suppose that we add credit card information to the user profiles of a Web shopping service to allow users to pay bills with their credit cards. As credit card information is an important asset, we need to consider a new threat, e.g., the risk of theft. It is hard to find where is vulnerability, such as vulnerability of a web protocol, to realize threats without knowledge. This threat impacts one or more functions in using user profiles, such as shopping carts, item recommendations, and edit profiles. In other words, if we have identified a new asset in existing software, we might consider adding new security countermeasures to some functions. This is an example of horizontal impact at the requirements stage. However, we need to modify the affected functions to implement security countermeasures, which have vertical impact on the code. Security codes are spread out over existing software and the impact depends on security architecture. Therefore, we need comprehensive knowledge about security to estimate the vertical impact. This paper proposes a method of analyzing the impact of security on purposes of software enhancement. The method consists of two techniques: analysis of horizontal impact using an extended misuse case, which was described in our previous work (Okubo, Taguchi, & Yoshioka, 2009), and a combination of new security patterns and a traditional technique of traceability as a means of analyzing vertical impact on security. Security knowledge is encapsulated in security patterns. As the patterns bridge the gap between security requirements and design and a traceability tool can find the impact on the code (semi-)automatically, we can determine the impact on code when security requirements change without comprehensive knowledge about security. Our research makes two major contributions. We first propose a new process of analyzing the impact of security based on our previous work. We then propose new security patterns including requirements level patterns and design level patterns to bridge the gap between requirements and design. Although these basic ideas have been proposed in Okubo, Kaiya, and Yoshioka (2011), the previous work does not include the detail of patterns and the evaluation was preliminary. This paper illustrates complete pattern description with examples and deep evaluation and the discussion about our method. This paper is organized as follows. The next section describes related work and security issues with software enhancements. We then describe our new method of integrating security patterns and impact analysis. The following sec23 more pages are available in the full version of this document, which may be purchased using the "Add to Cart" button on the product's webpage: www.igi-global.com/article/analyzing-impacts-softwareenhancement-caused/64194?camid=4v1 This title is available in InfoSci-Journals, InfoSci-Journal Disciplines Computer Science, Security, and Information Technology, InfoSci-Computer Systems and Software Engineering eJournal Collection, InfoSci-Knowledge Discovery, Information Management, and Storage eJournal Collection, InfoSci-Physical Sciences, Biological Sciences, and Engineering eJournal Collection, InfoSci-Surveillance, Security, and Defense eJournal Collection. Recommend this product to your librarian: www.igi-global.com/e-resources/libraryrecommendation/?id=2
用模式分析安全设计替代方案对软件增强的影响
与功能实现不同,很难分析软件增强对安全性的影响。其中一个困难是确定新的安全威胁对现有软件的影响范围,另一个困难是制定适当的对策。作者提出了一种使用两种安全模式的分析方法:用于识别威胁的安全需求模式和用于在操作类级别识别对策的安全设计模式。使用这两种模式和传统的可跟踪性方法,开发人员可以估计和比较多种安全对策所需的修改量。DOI: 10.4018 / jsse。2012010103 38国际安全软件工程学报,3(1),37-61,jan - march 2012版权所有©2012,IGI Global。未经IGI Global书面许可,禁止以印刷或电子形式复制或分发。现有的软件有效地实现了安全,没有全面的安全知识。我们不能假定所有的工程师在实践中都具备这些知识。因此,当前的安全开发生命周期方法对于完成软件增强是有问题的。在软件增强的需求阶段估计修改成本是很重要的,主要有两个原因。首先,我们需要在这个阶段考虑安全性需求的变化。我们应该避免不必要的对策,因为安全性会降低其他非功能需求,如开发成本、性能和可用性。此外,我们必须制定所有重要的对策。因此,我们应该在需求阶段确定主要威胁,以制定适当的对策。其次,我们需要分析识别针对现有软件威胁的两种或更多对策的影响。安全开发涉及的成本必须得到限制。这就是为什么我们需要估算成本,以便在需求阶段选择合适的安全解决方案。如果没有全面的安全知识,就很难估计对安全的影响,因为没有这些知识,就很难识别现有软件需要修改的漏洞,也很难掌握对其的影响。此外,安全性考虑遍历现有软件的功能。影响有两种类型:同一阶段对工件的水平影响和后期对工件的垂直影响。例如,假设我们将信用卡信息添加到Web购物服务的用户配置文件中,以允许用户使用信用卡支付账单。由于信用卡信息是一项重要的资产,我们需要考虑新的威胁,例如被盗的风险。在不知情的情况下,很难发现漏洞的位置,例如web协议的漏洞,从而实现威胁。这种威胁会影响使用用户配置文件的一个或多个功能,例如购物车、项目推荐和编辑配置文件。换句话说,如果我们在现有软件中确定了一个新的资产,我们可能会考虑为某些功能添加新的安全对策。这是需求阶段横向影响的一个例子。然而,我们需要修改受影响的函数来实现对代码有垂直影响的安全对策。安全代码分布在现有软件上,其影响取决于安全架构。因此,我们需要全面的安全知识来估计垂直影响。本文提出了一种分析安全性对软件增强影响的方法。该方法包括两种技术:使用扩展的误用案例分析水平影响,这在我们之前的工作中描述过(Okubo, Taguchi, & Yoshioka, 2009),以及将新的安全模式和传统的可追溯性技术相结合,作为分析对安全的垂直影响的手段。安全知识封装在安全模式中。由于模式弥合了安全需求和设计之间的差距,并且跟踪工具可以(半)自动地发现对代码的影响,因此当安全需求发生变化时,我们可以在没有全面的安全性知识的情况下确定对代码的影响。我们的研究有两个主要贡献。我们首先在之前工作的基础上提出了一种分析安全影响的新过程。然后我们提出新的安全模式,包括需求级模式和设计级模式,以弥合需求和设计之间的差距。虽然Okubo, Kaiya, and Yoshioka(2011)已经提出了这些基本观点,但之前的工作并没有包括模式的细节,并且评估是初步的。本文以实例说明了完整的模式描述,并对我们的方法进行了深入的评价和讨论。本文组织如下。
本文章由计算机程序翻译,如有差异,请以英文原文为准。