Security vulnerability verification through contract-based assertion monitoring at runtime

In this dissertation we seek to identify ways in which the systems development life cycle (SDLC) can be augmented with improved software engineering practices to measurably address security concerns that have arisen relating to security vulnerability defects in software. By proposing a general model...

Full description

Bibliographic Details
Main Author: Hoole, Alexander M.
Other Authors: Traore, Issa
Format: Others
Language:English
en
Published: 2018
Subjects:
Online Access:https://dspace.library.uvic.ca//handle/1828/8952
id ndltd-uvic.ca-oai-dspace.library.uvic.ca-1828-8952
record_format oai_dc
spelling ndltd-uvic.ca-oai-dspace.library.uvic.ca-1828-89522018-01-09T17:09:03Z Security vulnerability verification through contract-based assertion monitoring at runtime Hoole, Alexander M. Traore, Issa Security and protection Quality assurance Testing tools Metrics/measurement Evaluation strategy Security Runtime monitoring Static analysis In this dissertation we seek to identify ways in which the systems development life cycle (SDLC) can be augmented with improved software engineering practices to measurably address security concerns that have arisen relating to security vulnerability defects in software. By proposing a general model for identifying potential vulnerabilities (weaknesses) and using runtime monitoring for verifying their reachability and exploitability during development and testing reduces security risk in delivered products. We propose a form of contract for our monitoring framework that is used to specify the environmental and system security conditions necessary for the generation of probes that monitor security assertions during runtime to verify suspected vulnerabilities. Our assertion-based security monitoring framework, based on contracts and probes, known as the Contract-Based Security Assertion Monitoring Framework (CB_SAMF) can be employed for verifying and reacting to suspected vulnerabilities in the application and kernel layers of the Linux operating system. Our methodology for integrating CB_SAMF into SDLC during development and testing to verify suspected vulnerabilities reduces the human effort by allowing developers to focus on fixing verified vulnerabilities. Metrics intended for the weighting, prioritizing, establishing confidence, and detectability of potential vulnerability categories are also introduced. These metrics and weighting approaches identify deficiencies in security assurance programs/products and also help focus resources towards a class of suspected vulnerabilities, or a detection method, which may presently be outside of the requirements and priorities of the system. Our empirical evaluation demonstrates the effectiveness of using contracts to verify exploitability of suspected vulnerabilities across five input validation related vulnerability types, combining our contracts with existing static analysis detection mechanisms, and measurably improving security assurance processes/products used in an enhanced SDLC. As a result of this evaluation we introduced two new security assurance test suites, through collaborations with the National Institute of Standards and Technology (NIST), replacing existing test suites. The new and revised test cases provide numerous improvements to consistency, accuracy, and preciseness along with enhanced test case metadata to aid researchers using the Software Assurance Reference Dataset (SARD). Graduate 2018-01-08T15:46:15Z 2018-01-08T15:46:15Z 2017 2018-01-08 Thesis https://dspace.library.uvic.ca//handle/1828/8952 English en Available to the World Wide Web application/pdf
collection NDLTD
language English
en
format Others
sources NDLTD
topic Security and protection
Quality assurance
Testing tools
Metrics/measurement
Evaluation strategy
Security
Runtime monitoring
Static analysis
spellingShingle Security and protection
Quality assurance
Testing tools
Metrics/measurement
Evaluation strategy
Security
Runtime monitoring
Static analysis
Hoole, Alexander M.
Security vulnerability verification through contract-based assertion monitoring at runtime
description In this dissertation we seek to identify ways in which the systems development life cycle (SDLC) can be augmented with improved software engineering practices to measurably address security concerns that have arisen relating to security vulnerability defects in software. By proposing a general model for identifying potential vulnerabilities (weaknesses) and using runtime monitoring for verifying their reachability and exploitability during development and testing reduces security risk in delivered products. We propose a form of contract for our monitoring framework that is used to specify the environmental and system security conditions necessary for the generation of probes that monitor security assertions during runtime to verify suspected vulnerabilities. Our assertion-based security monitoring framework, based on contracts and probes, known as the Contract-Based Security Assertion Monitoring Framework (CB_SAMF) can be employed for verifying and reacting to suspected vulnerabilities in the application and kernel layers of the Linux operating system. Our methodology for integrating CB_SAMF into SDLC during development and testing to verify suspected vulnerabilities reduces the human effort by allowing developers to focus on fixing verified vulnerabilities. Metrics intended for the weighting, prioritizing, establishing confidence, and detectability of potential vulnerability categories are also introduced. These metrics and weighting approaches identify deficiencies in security assurance programs/products and also help focus resources towards a class of suspected vulnerabilities, or a detection method, which may presently be outside of the requirements and priorities of the system. Our empirical evaluation demonstrates the effectiveness of using contracts to verify exploitability of suspected vulnerabilities across five input validation related vulnerability types, combining our contracts with existing static analysis detection mechanisms, and measurably improving security assurance processes/products used in an enhanced SDLC. As a result of this evaluation we introduced two new security assurance test suites, through collaborations with the National Institute of Standards and Technology (NIST), replacing existing test suites. The new and revised test cases provide numerous improvements to consistency, accuracy, and preciseness along with enhanced test case metadata to aid researchers using the Software Assurance Reference Dataset (SARD). === Graduate
author2 Traore, Issa
author_facet Traore, Issa
Hoole, Alexander M.
author Hoole, Alexander M.
author_sort Hoole, Alexander M.
title Security vulnerability verification through contract-based assertion monitoring at runtime
title_short Security vulnerability verification through contract-based assertion monitoring at runtime
title_full Security vulnerability verification through contract-based assertion monitoring at runtime
title_fullStr Security vulnerability verification through contract-based assertion monitoring at runtime
title_full_unstemmed Security vulnerability verification through contract-based assertion monitoring at runtime
title_sort security vulnerability verification through contract-based assertion monitoring at runtime
publishDate 2018
url https://dspace.library.uvic.ca//handle/1828/8952
work_keys_str_mv AT hoolealexanderm securityvulnerabilityverificationthroughcontractbasedassertionmonitoringatruntime
_version_ 1718603421373693952