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...
Main Author: | |
---|---|
Other Authors: | |
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 |