Repository logo
 

Detecting non-secure memory deallocation with CBMC

dc.contributor.authorSingh, Mohit K., author
dc.contributor.authorPrabhu, Vinayak, advisor
dc.contributor.authorRay, Indrajit, advisor
dc.contributor.authorGhosh, Sudipto, committee member
dc.contributor.authorRay, Indrakshi, committee member
dc.contributor.authorSimske, Steve, committee member
dc.date.accessioned2022-01-07T11:28:28Z
dc.date.available2022-01-07T11:28:28Z
dc.date.issued2021
dc.description.abstractScrubbing sensitive data before releasing memory is a widely recommended but often ignored programming practice for developing secure software. Consequently, sensitive data such as cryptographic keys, passwords, and personal data, can remain in memory indefinitely, thereby increasing the risk of exposure to hackers who can retrieve the data using memory dumps or exploit vulnerabilities such as Heartbleed and Etherleak. We propose an approach for detecting a specific memory safety bug called Improper Clearing of Heap Memory Before Release, referred to as Common Weakness Enumeration 244. The CWE-244 bug in a program allows the leakage of confidential information when a variable is not wiped before heap memory is freed. Our approach uses the CBMC model checker to detect this weakness and is based on instrumenting the program using (1) global variable declarations that track and monitor the state of the program variables relevant for CWE-244, and (2) assertions that help CBMC to detect unscrubbed memory. We develop a tool, SecMD-Checker, implementing our instrumentation based algorithm, and we provide experimental validation on the Juliet Test Suite that the tool is able to detect all the CWE-244 instances present in the test suite. The proposed approach has the potential to work with other model checkers and can be extended for detecting other weaknesses that require variable tracking and monitoring, such as CWE-226, CWE-319, and CWE-1239.
dc.format.mediumborn digital
dc.format.mediummasters theses
dc.identifierSingh_colostate_0053N_16834.pdf
dc.identifier.urihttps://hdl.handle.net/10217/234155
dc.languageEnglish
dc.language.isoeng
dc.publisherColorado State University. Libraries
dc.relation.ispartof2020-
dc.rightsCopyright and other restrictions may apply. User is responsible for compliance with all applicable laws. For information about copyright law, please see https://libguides.colostate.edu/copyright.
dc.titleDetecting non-secure memory deallocation with CBMC
dc.typeText
dcterms.rights.dplaThis Item is protected by copyright and/or related rights (https://rightsstatements.org/vocab/InC/1.0/). You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s).
thesis.degree.disciplineComputer Science
thesis.degree.grantorColorado State University
thesis.degree.levelMasters
thesis.degree.nameMaster of Science (M.S.)

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Singh_colostate_0053N_16834.pdf
Size:
914.5 KB
Format:
Adobe Portable Document Format