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...

Full description

Bibliographic Details
Main Author: Bueno Dominguez, Jordi
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