Finding vulnerabilities using automatic test generation
Software bugs are still present in modern software, and they are a major concern for every user, specially security related bugs. Classical approaches for bug detection fall short to uncover some of them, as it has been proved on several occasions when a hidden bug has been used to compromise the se...
Main Author: | |
---|---|
Format: | Others |
Language: | English |
Published: |
Uppsala universitet, Institutionen för informationsteknologi
2014
|
Online Access: | http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-229586 |
id |
ndltd-UPSALLA1-oai-DiVA.org-uu-229586 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-UPSALLA1-oai-DiVA.org-uu-2295862014-11-05T05:08:27ZFinding vulnerabilities using automatic test generationengBueno Dominguez, JordiUppsala universitet, Institutionen för informationsteknologi2014Software bugs are still present in modern software, and they are a major concern for every user, specially security related bugs. Classical approaches for bug detection fall short to uncover some of them, as it has been proved on several occasions when a hidden bug has been used to compromise the security of many systems. In this report an approach for automatic bug detection is presented and analysed. Using KLEE, a tool that can explore all the possible paths in a piece of code, bugs can be discovered. As an example for bug detection in a security software, the Heartbleed bug that affected the OpenSSL library is analysed. The behaviour of this bug is explained here, and KLEE is used to expose this bug. If this worked, it would be useful for developers in order to prevent dangerous bugs from staying undetected. The results show that the tool is not ready to be used in real software due to its limitations. However, despite the difficulties these limitations pose, KLEE proves to be useful in a controlled scenario. As long as the software is kept simple, the tool can be used toeffectively execute all the code. With some improvements, it could be a major step for a future without bugs. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-229586IT ; 14 044application/pdfinfo:eu-repo/semantics/openAccess |
collection |
NDLTD |
language |
English |
format |
Others
|
sources |
NDLTD |
description |
Software bugs are still present in modern software, and they are a major concern for every user, specially security related bugs. Classical approaches for bug detection fall short to uncover some of them, as it has been proved on several occasions when a hidden bug has been used to compromise the security of many systems. In this report an approach for automatic bug detection is presented and analysed. Using KLEE, a tool that can explore all the possible paths in a piece of code, bugs can be discovered. As an example for bug detection in a security software, the Heartbleed bug that affected the OpenSSL library is analysed. The behaviour of this bug is explained here, and KLEE is used to expose this bug. If this worked, it would be useful for developers in order to prevent dangerous bugs from staying undetected. The results show that the tool is not ready to be used in real software due to its limitations. However, despite the difficulties these limitations pose, KLEE proves to be useful in a controlled scenario. As long as the software is kept simple, the tool can be used toeffectively execute all the code. With some improvements, it could be a major step for a future without bugs. |
author |
Bueno Dominguez, Jordi |
spellingShingle |
Bueno Dominguez, Jordi Finding vulnerabilities using automatic test generation |
author_facet |
Bueno Dominguez, Jordi |
author_sort |
Bueno Dominguez, Jordi |
title |
Finding vulnerabilities using automatic test generation |
title_short |
Finding vulnerabilities using automatic test generation |
title_full |
Finding vulnerabilities using automatic test generation |
title_fullStr |
Finding vulnerabilities using automatic test generation |
title_full_unstemmed |
Finding vulnerabilities using automatic test generation |
title_sort |
finding vulnerabilities using automatic test generation |
publisher |
Uppsala universitet, Institutionen för informationsteknologi |
publishDate |
2014 |
url |
http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-229586 |
work_keys_str_mv |
AT buenodominguezjordi findingvulnerabilitiesusingautomatictestgeneration |
_version_ |
1716719606888923136 |