liu.seSearch for publications in DiVA
Change search
Link to record
Permanent link

Direct link
Ardi, Shanai
Publications (10 of 10) Show all publications
Ardi, S. (2021). Vulnerability and Risk Analysis Methods and Application in Large Scale Development of Secure Systems. (Doctoral dissertation). Linköping: Linköping University Electronic Press
Open this publication in new window or tab >>Vulnerability and Risk Analysis Methods and Application in Large Scale Development of Secure Systems
2021 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Since software products are heavily used in today’s connected society, design and implementation of such software products to make them resilient to security threats become crucial.

This thesis addresses some of the challenges faced by software vendors when developing secure software. The approach is to reduce the risk of introducing security weaknesses to software products by providing solutions that support software developers during the software lifecycle.  Software developers are usually not security experts. However, there are methods and tools, such as the ones introduced in this thesis, that can help developers build more secure software.

The research is performed with a design science approach, where the risk reducing method is the artifact that is iteratively developed.  Chronologically, the research is divided into two parts. The first part provides security models as a means of developing a detailed understanding of the extent of potential security issues and their respective security mitigation activities. The purpose is to lower the risk of introducing vulnerabilities to the software during its lifecycle. This is facilitated by the Sustainable Software Security Process (S3P), which is a structured and generally applicable process aimed at minimizing the effort of using security models during all phases of the software development process. S3P achieves this in three steps. The first step uses a semi-formal modeling approach and identifies causes of known vulnerabilities in terms of defects and weaknesses in development activities that may introduce the vulnerability in the code. The second step identifies measures that if in place would address the causes and eliminate the underlying vulnerability and support selection of the most suitable measures. The final step ensures that the selected measures are adopted into the development process to reduce the risk of having similar vulnerabilities in the future.

Collaborative tools can be used in this process to ensure that software developers who are not security experts benefit from application of the S3P process and its components. For this thesis, proof-of-concept versions of collaboration tools were developed to support the three steps of the S3P.

We present the results of our empirical evaluations on all three steps of S3P using various methods such as surveys, case studies and asking for expert opinion to verify that the method is fully understandable and easy to perform and is perceived by developers to provide value for software security.

The last contribution of the first part of research deals with improving product security during requirements engineering through integration of parts of S3P into Common Criteria (CC) and in this way to improve the accuracy of CC through systematically identifying the security objectives and proposing solutions to meet those objectives using S3P. The review and validation by an industrial partner leading in the CC area demonstrate improved accuracy of CC.

Based on the findings in the first part of the research, the second part focuses on early phases of software development and vulnerability causes originating from requirements engineering. We study the challenges associated with introducing a specific security activity, i.e., Security Risk Assessment (SRA), into the requirements engineering process in a large-scale software development context. Specific attention is given to the possibility of bridging the gap between developers and security experts when using SRA and examines the pros and cons of organizing personnel working with SRA in a centralized, distributed, or semi-distributed unit. As the journey of changing the way of working in a large corporation takes time and involves many factors, it was natural to perform a longitudinal case study - all the way from pilot studies to full-scale, regular use.

The results of the case study clarify that introduction of a specific security activity to the development process must be evolved over time in order to achieve the desired results. The present design of the SRA method shows that it is worthwhile to work with risk assessment in the requirements phase with all types of requirements, even at a low level of abstraction. The method aligns well with a decentralized, agile development method with many teams working on the same product. During the study, we observed an increase in security awareness among the developers in the subject company. However, it was also observed that involvement of security experts to ensure acceptable quality of the risk assessment and to identify all risks cannot be totally eliminated.

Place, publisher, year, edition, pages
Linköping: Linköping University Electronic Press, 2021. p. 54
Series
Linköping Studies in Science and Technology. Dissertations, ISSN 0345-7524 ; 2108
National Category
Software Engineering
Identifiers
urn:nbn:se:liu:diva-171575 (URN)10.3384/diss.diva-171575 (DOI)9789179297442 (ISBN)
Public defence
2021-02-08, Ada Lovelace, B-Building, Campus Valla, Linköping, 10:15 (English)
Opponent
Supervisors
Note

Funding agencies: National Graduate School of Computer Science in Sweden (CUGS) and the European Community’s Seventh Framework Program (FP7/2007-2013, grant agreement no 215995).

Available from: 2020-12-14 Created: 2020-11-23 Last updated: 2020-12-17Bibliographically approved
Shahmehri, N., Mammar, A., Montes De Oca, E., Byers, D., Cavalli, A., Ardi, S. & Jimenez, W. (2012). An advanced approach for modeling and detecting software vulnerabilities. Information and Software Technology, 54(9), 997-1013
Open this publication in new window or tab >>An advanced approach for modeling and detecting software vulnerabilities
Show others...
2012 (English)In: Information and Software Technology, ISSN 0950-5849, E-ISSN 1873-6025, Vol. 54, no 9, p. 997-1013Article in journal (Refereed) Published
Abstract [en]

Context: Passive testing is a technique in which traces collected from the execution of a system under testare examined for evidence of flaws in the system.

Objective: In this paper we present a method for detecting the presence of security vulnerabilities bydetecting evidence of their causes in execution traces. This is a new approach to security vulnerabilitydetection.

Method: Our method uses formal models of vulnerability causes, known as security goal models and vulnerabilitydetection conditions (VDCs). The former are used to identify the causes of vulnerabilities andmodel their dependencies, and the latter to give a formal interpretation that is suitable for vulnerabilitydetection using passive testing techniques. We have implemented modeling tools for security goal modelsand vulnerability detection conditions, as well as TestInv-Code, a tool that checks execution traces ofcompiled programs for evidence of VDCs.

Results: We present the full definitions of security goal models and vulnerability detection conditions, aswell as structured methods for creating both. We describe the design and implementation of TestInv-Code. Finally we show results obtained from running TestInv-Code to detect typical vulnerabilities in severalopen source projects. By testing versions with known vulnerabilities, we can quantify the effectivenessof the approach.

Conclusion: Although the current implementation has some limitations, passive testing for vulnerabilitydetection works well, and using models as the basis for testing ensures that users of the testing tool caneasily extend it to handle new vulnerabilities.

Place, publisher, year, edition, pages
Elsevier, 2012
Keywords
Automatic testing; Dynamic analysis; Secure software engineering; Security modelling; Software security
National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-78641 (URN)10.1016/j.infsof.2012.03.004 (DOI)000306631700006 ()
Projects
SHIELDSFault-Tolerant and Secure Automotive Embedded Systems
Available from: 2012-06-15 Created: 2012-06-15 Last updated: 2018-07-17
Ardi, S. & Shahmehri, N. (2009). A post-mortem incident modeling method. In: 2009 International Conference on Availability, Reliability and Security (ARES),  Vol. 1-2: . Paper presented at 4th International Conference on Availability, Reliability and Security (ARES 2009), 16-19 March 2009, Fukuoka, Japan (pp. 1018-1023). IEEE
Open this publication in new window or tab >>A post-mortem incident modeling method
2009 (English)In: 2009 International Conference on Availability, Reliability and Security (ARES),  Vol. 1-2, IEEE , 2009, p. 1018-1023Conference paper, Published paper (Refereed)
Abstract [en]

Incident post-mortem analysis after recovery from incidents is recommended by most incident response experts. An analysis of why and how an incident happened is crucial for determining appropriate countermeasures to prevent the recurrence of the incident. Currently, there is a lack of structured methods for such an analysis, which would identify the causes of a security incident. In this paper, we present a structured method to perform the post-mortem analysis and to model the causes of an incident visually in a graph structure. This method is an extension of our earlier work on modeling software vulnerabilities. The goal of modeling incidents is to develop an understanding of what could have caused the security incident and how its recurrence can be prevented in the future. The method presented in this paper is intended to be used during the post-mortem analysis of incidents by incident response teams.

Place, publisher, year, edition, pages
IEEE, 2009
Keywords
Incident response, incident cause graph, incident modeling, post-mortem analysis
National Category
Computer Sciences
Identifiers
urn:nbn:se:liu:diva-43575 (URN)10.1109/ARES.2009.108 (DOI)000270612000157 ()74252 (Local ID)978-1-4244-3572-2 (ISBN)e-978-0-7695-3564-7 (ISBN)74252 (Archive number)74252 (OAI)
Conference
4th International Conference on Availability, Reliability and Security (ARES 2009), 16-19 March 2009, Fukuoka, Japan
Available from: 2009-10-10 Created: 2009-10-10 Last updated: 2018-01-12
Meland, P. H., Ardi, S., Jensen, J., Rios, E., Sanchez, T., Shahmehri, N. & Tøndel, I. A. (2009). An architectural foundation for security model sharing and reuse. In: ARES Workshop on Secure Software Engineering,2009: . Paper presented at ARES Workshop on Secure Software Engineering,2009 (pp. 823-828). IEEE Computer Society Press
Open this publication in new window or tab >>An architectural foundation for security model sharing and reuse
Show others...
2009 (English)In: ARES Workshop on Secure Software Engineering,2009, IEEE Computer Society Press , 2009, p. 823-828Conference paper, Published paper (Refereed)
Abstract [en]

Within the field of software security we have yet to find efficient ways on how to learn from past mistakes and in- tegrate security as a natural part of software development. This situation can be improved by using an online reposi- tory, the SHIELDS SVRS, that facilitates fast and easy inter- change of security artefacts between security experts, soft- ware developers and their assisting tools. Such security artefacts are embedded in or represented as security mod- els containing the needed information to detect, remove and prevent vulnerabilities in software, independent of the ap- plied development process. The purpose of this paper is to explain the main reference architecture description of the repository and the more general tool stereotypes that can communicate with it.

Place, publisher, year, edition, pages
IEEE Computer Society Press, 2009
Keywords
Security Modeling, model sharing, software security
National Category
Computer Sciences
Identifiers
urn:nbn:se:liu:diva-43573 (URN)10.1109/ARES.2009.110 (DOI)74250 (Local ID)978-1-4244-3572-2 (ISBN)978-0-7695-3564-7 (ISBN)74250 (Archive number)74250 (OAI)
Conference
ARES Workshop on Secure Software Engineering,2009
Available from: 2009-10-10 Created: 2009-10-10 Last updated: 2021-02-10
Ardi, S. & Shahmehri, N. (2009). Introducing Vulnerability Awareness to Common Criteria's Security Targets. In: The Fourth International Conference on Software Engineering Advances, Portugal: . Paper presented at The Fourth International Conference on Software Engineering Advances (pp. 419-424). IEEE Computer Society
Open this publication in new window or tab >>Introducing Vulnerability Awareness to Common Criteria's Security Targets
2009 (English)In: The Fourth International Conference on Software Engineering Advances, Portugal, IEEE Computer Society , 2009, p. 419-424Conference paper, Published paper (Refereed)
Abstract [en]

Security of software systems has become one of the biggest concerns in our everyday life, since software systems are increasingly used by individuals, companies and governments. One way to help software system consumers gain assurance about the security measures of software products is to evaluate and certify these products with standard evaluation processes. The Common Criteria (ISO/IEC 15408) evaluation scheme is a standard that is widely used by software vendors. This process does not include information about already known vulnerabilities, their attack data and lessons learned from them. This has resulted in criticisms concerning the accuracy of this evaluation scheme since it might not address the areas in which actual vulnerabilities might occur.

In this paper, we present a methodology that introduces information about threats from vulnerabilities to Common Criteria documents. Our methodology improves the accuracy of the Common Criteria by providing information about known vulnerabilities in Common Criteria’s security target. Our methodology also provides documentation about how to fulfill certain security requirements, which can reduce the time for evaluation of the products.

 

Place, publisher, year, edition, pages
IEEE Computer Society, 2009
Keywords
Common Criteria, Security target, vulnerability modeling, vulnerability cause mitigation, vulnerability cause graph, security activity graph
National Category
Computer Sciences
Identifiers
urn:nbn:se:liu:diva-19813 (URN)10.1109/ICSEA.2009.67 (DOI)978-0-7695-3777-1 (ISBN)978-1-4244-4779-4 (ISBN)
Conference
The Fourth International Conference on Software Engineering Advances
Available from: 2009-08-10 Created: 2009-08-10 Last updated: 2020-11-24
Ardi, S. (2008). A Model and Implementation of a Security plug-in for the Software Life Cycle. (Licentiate dissertation). Institutionen för datavetenskap
Open this publication in new window or tab >>A Model and Implementation of a Security plug-in for the Software Life Cycle
2008 (English)Licentiate thesis, monograph (Other academic)
Abstract [en]

Currently, security is frequently considered late in software life cycle. It is often bolted on late in development, or even during deployment or maintenance, through activities such as add-on security software and penetration-and-patch maintenance. Even if software developers aim to incorporate security into their products from the beginning of the software life cycle, they face an exhaustive amount of ad hoc unstructured information without any practical guidance on how and why this information should be used and what the costs and benefits of using it are. This is due to a lack of structured methods.

In this thesis we present a model for secure software development and implementation of a security plug-in that deploys this model in software life cycle. The model is a structured unified process, named S3P (Sustainable Software Security Process) and is designed to be easily adaptable to any software development process. S3P provides the formalism required to identify the causes of vulnerabilities and the mitigation techniques that address these causes to prevent vulnerabilities. We present a prototype of the security plug-in implemented for the OpenUP/Basic development process in Eclipse Process Framework. We also present the results of the evaluation of this plug-in. The work in this thesis is a first step towards a general framework for introducing security into the software life cycle and to support software process improvements to prevent recurrence of software vulnerabilities.

Place, publisher, year, edition, pages
Institutionen för datavetenskap, 2008. p. 101
Series
Linköping Studies in Science and Technology. Thesis, ISSN 0280-7971 ; 1353
Keywords
Software security, Vulnerability modeling, Plug-in, Software development process, Software life cycle
National Category
Computer Sciences
Identifiers
urn:nbn:se:liu:diva-11108 (URN)LiU-TEK-LIC-2008:11 (Local ID)9789173939560 (ISBN)LiU-TEK-LIC-2008:11 (Archive number)LiU-TEK-LIC-2008:11 (OAI)
Presentation
2008-03-18, Visionen, Hus B, Campus Valla, Linköpings universitet, Linköping, 10:15 (English)
Opponent
Supervisors
Note

Report code: LiU-Tek-Lic-2008:11.

Available from: 2008-02-25 Created: 2008-02-25 Last updated: 2020-08-14Bibliographically approved
Ardi, S. & Shahmehri, N. (2008). Integrating a security plug-in with the OpenUP/Basic development process. In: Third International Conference on Availability, Reliability and Security, 2008: . Paper presented at Third International Conference on Availability, Reliability and Security (ARES 2008), 4-7 March 2008, Barcelona, Spain (pp. 284-291). IEEE Computer Society
Open this publication in new window or tab >>Integrating a security plug-in with the OpenUP/Basic development process
2008 (English)In: Third International Conference on Availability, Reliability and Security, 2008, IEEE Computer Society, 2008, p. 284-291Conference paper, Published paper (Refereed)
Abstract [en]

In this paper we present a security plug-in for the OpenUP/Basic development process. Our security plug-in is based on a structured unified process for secure software development, named S3P (sustainable software security process). This process provides the formalism required to identify the causes of vulnerabilities and the mitigation techniques that prevent these vulnerabilities. We also present the results of an expert evaluation of the security plug-in. The lessons learned from development of the plug-in and the results of the evaluation will be used when adapting S3P to other software development processes.

Place, publisher, year, edition, pages
IEEE Computer Society, 2008
Keywords
Security plug-in, Software development process, Software security
National Category
Computer Sciences
Identifiers
urn:nbn:se:liu:diva-39935 (URN)10.1109/ARES.2008.132 (DOI)000256665200038 ()51775 (Local ID)978-0-7695-3102-1 (ISBN)51775 (Archive number)51775 (OAI)
Conference
Third International Conference on Availability, Reliability and Security (ARES 2008), 4-7 March 2008, Barcelona, Spain
Available from: 2009-10-10 Created: 2009-10-10 Last updated: 2020-11-24
Ardi, S., Byers, D., Meland, P. H., Tøndel, I. A. & Shahmehri, N. (2007). How can the developer benefit from security modeling?. In: The Second International Conference on Availability, Reliability and Security (ARES'07): . Paper presented at Second International Conference on Availability, Reliability and Security (ARES 2007), 10-13 April, 2007 Vienna, Austria (pp. 1017-1025). IEEE Computer Society
Open this publication in new window or tab >>How can the developer benefit from security modeling?
Show others...
2007 (English)In: The Second International Conference on Availability, Reliability and Security (ARES'07), IEEE Computer Society, 2007, p. 1017-1025Conference paper, Published paper (Refereed)
Abstract [en]

Security has become a necessary part of nearly every software development project, as the overall risk from malicious users is constantly increasing, due to increased consequences of failure, security threats and exposure to threats. There are few projects today where software security can be ignored. Despite this, security is still rarely taken into account throughout the entire software lifecycle; security is often an afterthought, bolted on late in development, with little thought to what threats and exposures exist. Little thought is given to maintaining security in the face of evolving threats and exposures. Software developers are usually not security experts. However, there are methods and tools available today that can help developers build more secure software. Security modeling, modeling of e.g., threats and vulnerabilities, is one such method that, when integrated in the software development process, can help developers prevent security problems in software. We discuss these issues, and present how modeling tools, vulnerability repositories and development tools can be connected to provide support for secure software development

Place, publisher, year, edition, pages
IEEE Computer Society, 2007
Keywords
Software Security, Software Development Process, Security Modeling
National Category
Computer Sciences
Identifiers
urn:nbn:se:liu:diva-37698 (URN)10.1109/ARES.2007.96 (DOI)37625 (Local ID)978-0-7695-2775-8 (ISBN)0-7695-2775-2 (ISBN)37625 (Archive number)37625 (OAI)
Conference
Second International Conference on Availability, Reliability and Security (ARES 2007), 10-13 April, 2007 Vienna, Austria
Available from: 2009-10-10 Created: 2009-10-10 Last updated: 2021-02-10
Byers, D., Ardi, S., Shahmehri, N. & Duma, C. (2006). Modeling Software Vulnerabilities with Vulnerability Cause Graphs. In: 2006 22nd IEEE International Conference on Software Maintenance: . Paper presented at International Conference on Software Maintenance,2006 (pp. 411-422). IEEE
Open this publication in new window or tab >>Modeling Software Vulnerabilities with Vulnerability Cause Graphs
2006 (English)In: 2006 22nd IEEE International Conference on Software Maintenance, IEEE, 2006, p. 411-422Conference paper, Published paper (Refereed)
Abstract [en]

When vulnerabilities are discovered in software, which often happens after deployment, they must be addressed as part of ongoing software maintenance. A mature software development organization should analyze vulnerabilities in order to determine how they, and similar vulnerabilities, can be prevented in the future. In this paper we present a structured method for analyzing and documenting the causes of software vulnerabilities. Applied during software maintenance, the method generates the information needed for improving the software development process, to prevent similar vulnerabilities in future releases. Our approach is based on vulnerability cause graphs, a structured representation of causes of software vulnerabilities

Place, publisher, year, edition, pages
IEEE, 2006
Series
International Conference on Software Maintenance, ISSN 1063-6773
Keywords
Software Security, Vulnerability Modeling
National Category
Computer Sciences
Identifiers
urn:nbn:se:liu:diva-34284 (URN)10.1109/ICSM.2006.40 (DOI)21258 (Local ID)0-7695-2354-4 (ISBN)21258 (Archive number)21258 (OAI)
Conference
International Conference on Software Maintenance,2006
Available from: 2009-10-10 Created: 2009-10-10 Last updated: 2021-02-10
Ardi, S., Byers, D. & Shahmehri, N. (2006). Towards a Structured Unified Process for Software Security. In: SESS '06: Proceedings of the 2006 international workshop on Software engineering for secure systems: . Paper presented at ICSE Workshop on Software Engineering for Secure Systems,2006 (pp. 3-10). ACM
Open this publication in new window or tab >>Towards a Structured Unified Process for Software Security
2006 (English)In: SESS '06: Proceedings of the 2006 international workshop on Software engineering for secure systems, ACM , 2006, p. 3-10Conference paper, Published paper (Refereed)
Abstract [en]

Security is often an afterthought when developing software, and is often bolted on late in development or even during deployment or maintenance, through activities such as penetration testing, add-on security software and penetrate-and patch maintenance. We believe that security needs to be built in to the software from the beginning, and that security activities need to take place throughout the software lifecycle. Accomplishing this effectively and efficiently requires structured approach combining a detailed understanding on what causes vulnerabilities, and how specific activities combine to prevent them.In this paper we introduce key elements of the approach we are taking: vulnerability cause graphs, which encode information about vulnerability causes, and security activity graphs, which encode information about security activities. We discuss how these can be applied to design software development processes (or changes to processes) that eliminate software vulnerabilities.

Place, publisher, year, edition, pages
ACM, 2006
Keywords
Software Security, Software Development Process
National Category
Computer Sciences
Identifiers
urn:nbn:se:liu:diva-34277 (URN)10.1145/1137627.1137630 (DOI)21251 (Local ID)978-1-59593-411-6 (ISBN)21251 (Archive number)21251 (OAI)
Conference
ICSE Workshop on Software Engineering for Secure Systems,2006
Available from: 2009-10-10 Created: 2009-10-10 Last updated: 2021-02-10
Organisations

Search in DiVA

Show all publications