A Unified Meta-Model for Software Security Vulnerability Analysis Sultan Saud Alqahtani a Thesis in the Depar
Total Page:16
File Type:pdf, Size:1020Kb
Enhancing Trust –A Unified Meta-Model for Software Security Vulnerability Analysis Sultan Saud Alqahtani A Thesis In the Department of Computer Science and Software Engineering Presented in Partial Fulfillment of the Requirements For the Degree of Doctor of Philosophy (Software Engineering) at Concordia University Montreal, Quebec, Canada July 2018 © Sultan Saud Alqahtani, 2018 CONCORDIA UNIVERSITY School of Graduate Studies This is to certify that the thesis prepared By: Sultan Saud Alqahtani Entitled: Enhancing Trust – A Unified Meta-Model for Software Security Vulnerability Analysis and submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy (Computer Science) complies with the regulations of this University and meets the accepted standards with respect to originality and quality. Signed by the final examining committee: _______________________________________________________ Chair Dr. Rolf Wüthrich _______________________________________________________ External Examiner Dr. Ettore Merlo _______________________________________________________ Examiner Dr. Wahab Hamou-Lhadj _______________________________________________________ Examiner Dr. Todd Eavis _______________________________________________________ Examiner Dr. Nikolaos Tsantalis _______________________________________________________ Supervisor Dr. Juergen Rilling Approved by ____________________________________________________________ Dr. Volker Haarslev, Graduate Program Director 30 August 2018 ____________________________________________________________ Dr. Amir Asif, Dean Faculty of Engineering and Computer Science ii Abstract Enhancing Trust – A Unified Meta-Model for Software Security Vulnerability Analysis Sultan Saud Alqahtani, Ph.D. Concordia University, 2018 Over the last decade, a globalization of the software industry has taken place which has facilitated the sharing and reuse of code across existing project boundaries. At the same time, such global reuse also introduces new challenges to the Software Engineering community, with not only code implementation being shared across systems but also any vulnerabilities it is exposed to as well. Hence, vulnerabilities found in APIs no longer affect only individual projects but instead might spread across projects and even global software ecosystem borders. Tracing such vulnerabilities on a global scale becomes an inherently difficult task, with many of the resources required for the analysis not only growing at unprecedented rates but also being spread across heterogeneous resources. Software developers are struggling to identify and locate the required data to take full advantage of these resources. The Semantic Web and its supporting technology stack have been widely promoted to model, integrate, and support interoperability among heterogeneous data sources. This dissertation introduces four major contributions to address these challenges: (1) It provides a literature review of the use of software vulnerabilities databases (SVDBs) in the Software Engineering community. (2) Based on findings from this literature review, we present SEVONT, a Semantic Web based modeling approach to support a formal and semi-automated approach for unifying vulnerability information resources. SEVONT introduces a multi-layer knowledge model which not only provides a unified knowledge representation, but also captures software vulnerability information at different abstract levels to allow for seamless integration, analysis, and reuse of the modeled knowledge. The modeling approach takes advantage of Formal Concept Analysis (FCA) to guide knowledge engineers in identifying reusable knowledge concepts and modeling them. (3) A Security Vulnerability Analysis Framework (SV- AF) is introduced, which is an instantiation of the SEVONT knowledge model to support iii evidence-based vulnerability detection. The framework integrates vulnerability ontologies (and data) with existing Software Engineering ontologies allowing for the use of Semantic Web reasoning services to trace and assess the impact of security vulnerabilities across project boundaries. Several case studies are presented to illustrate the applicability and flexibility of our modelling approach, demonstrating that the presented knowledge modeling approach cannot only unify heterogeneous vulnerability data sources but also enables new types of vulnerability analysis. iv DEDICATION To my father’s mother (my grandmother Naffla bint Saad) of blessed memory, who passed away 40 days before the oral defense of this thesis. Without her sacrifices, my life as a PhD student would not have been a reality. Unfortunately, she never got to see me become the first “Dr.” in my family. I hope that she can see me now and that I have her admiration as she has mine. May her memories be only for a blessing. To my parents for their endless love, support, and encouragement. v ACKNOWLEDGEMENTS First and foremost, all praises to Allah for blessing, protecting, and guiding me throughout my studies. I could never have accomplished this without my faith. This thesis is dedicated to my grandmother of blessed memory, whom I wish to formally acknowledge here. My grandmother Nafla bint Saad, the matriarch of our family, passed away 40 days before I completed the oral examination for this thesis. For many months, my grandma put up with my exceptional stress and busyness as this thesis winded down and she saw much less of me than usual. Although she was not always skilled at hiding her disappointment when I was too busy to visit, she took great pride in knowing that soon I would be done with my doctorate. Grandma, I’m done. I would like to express my sincere gratitude to my supervisor Prof. Juergen Rilling for his continuous support, patience, motivation, and immense knowledge. His unique personality as a supervisor and friend is the main reason behind the success of this research. The research objectives would not have been achieved without the professional and experienced guidance and support of my supervisor. I also extend my thanks to members of the examining committee including Dr. Wahab Hamou-Lhadj, Dr. Todd Eavis, Dr. Nikolaos Tsantalis, and Dr. Ettore Merlo (External) for critically evaluating my thesis and providing me with invaluable comments at different stages of my research. My gratitude also goes to Ambient Software Evolution Group members at Concordia University: Rabe Abdalkareem, Mostafa Erfani, Ellis Emmanuel Eghan, SayedHassan Khatoonabadi, Chris Forbes, Parisa Moslehi, and Yasaman Sarlati. Special thanks go to the incredible Ellis Emmanuel Eghan for his help as well as his time spent working on our first project (Semantic Global Problem Scanner – SEGPS). Through numerous emails and Skype conferences, I have been lucky to have a colleague like Ellis who has the ability to tackle big problems and make them easy to solve. I am forever thankful to my brothers and colleagues Hamad BinSalleeh and Feras Aljumah, whose friendship made this journey and my stay in Canada truly memorable. I would also like to acknowledge the financial support from the Government of Saudi Arabia under the scholarship of Imam Mohammed Bin Saud University, which enabled me to undertake my PhD studies. Last but certainly never least, I take this opportunity to express my deepest gratitude to my first teachers (my dear mother and my father), my brothers, and my sisters for their unconditional vi love, prayers, and support. Without them, this journey would not have been possible, and to them I dedicate this milestone. vii Table of Contents List of Figures .............................................................................................................................. xii List of Tables .............................................................................................................................. xiv List of Acronyms ........................................................................................................................ xvi 1 Introduction ........................................................................................................................... 1 1.1 Problem Statement ........................................................................................................................ 2 1.2 Thesis Contributions ..................................................................................................................... 4 1.3 Related Publications ...................................................................................................................... 6 1.4 Thesis Organization ...................................................................................................................... 7 2 Background ............................................................................................................................ 8 2.1 The Semantic Web and Ontologies in a Nutshell ......................................................................... 8 2.2 Ontologies in Software Engineering ........................................................................................... 12 2.3 Formal Concept Analysis (FCA) ................................................................................................ 13 2.4 Vulnerabilities Databases ............................................................................................................ 15 2.5 Vulnerabilities Detection Techniques ......................................................................................... 16 2.6 Chapter