A binary analysis approach to retrofit security in input parsing routines

Jayakrishna Menon, Christophe Hauser, Yan Shoshitaishvili, Stephen Schwab

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

In spite of numerous attempts to mitigate memory corruption vulnerabilities in low-level code over the years, those remain the most common vector of software exploitation today. A common cause of such vulnerabilities is the presence of errors in string manipulation, which are often found in input parsers, where the format of input data is verified and eventually converted into an internal program representation. This process, if done manually in an ad-hoc manner, is error prone and easily leads to unsafe and potentially exploitable behavior. While principled approaches to input validation exist, such as those based on parser generators (e.g., Lex [20] and Ragel [28]), these require a formalization of the input grammar, which is not always a straightforward process and tends to dissuade programmers. As a result, a large portion of input parsing routines as found in commodity software is still implemented in an ad-hoc way, causing numerous security issues. We propose to address this problem from a post-development perspective, by targeting software presenting security risks in opaque, closed-source environments where software components have already been deployed and integrated, and where re-implementation is not an option (e.g., as part of an embedded device's proprietary firmware). Our system is able to effectively detect vulnerability patterns in binary software and to retrofit security mechanisms preventing exploitation. In a semi-automated setting, it was able to discover an unknown security bug.

Original languageEnglish (US)
Title of host publicationProceedings - 2018 IEEE Symposium on Security and Privacy Workshops, SPW 2018
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages306-322
Number of pages17
ISBN (Print)9780769563497
DOIs
StatePublished - Aug 2 2018
Event2018 IEEE Symposium on Security and Privacy Workshops, SPW 2018 - San Francisco, United States
Duration: May 24 2018 → …

Other

Other2018 IEEE Symposium on Security and Privacy Workshops, SPW 2018
CountryUnited States
CitySan Francisco
Period5/24/18 → …

Fingerprint

Firmware
Data storage equipment

ASJC Scopus subject areas

  • Computer Networks and Communications
  • Software
  • Safety, Risk, Reliability and Quality

Cite this

Menon, J., Hauser, C., Shoshitaishvili, Y., & Schwab, S. (2018). A binary analysis approach to retrofit security in input parsing routines. In Proceedings - 2018 IEEE Symposium on Security and Privacy Workshops, SPW 2018 (pp. 306-322). [8424665] Institute of Electrical and Electronics Engineers Inc.. https://doi.org/10.1109/SPW.2018.00049

A binary analysis approach to retrofit security in input parsing routines. / Menon, Jayakrishna; Hauser, Christophe; Shoshitaishvili, Yan; Schwab, Stephen.

Proceedings - 2018 IEEE Symposium on Security and Privacy Workshops, SPW 2018. Institute of Electrical and Electronics Engineers Inc., 2018. p. 306-322 8424665.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Menon, J, Hauser, C, Shoshitaishvili, Y & Schwab, S 2018, A binary analysis approach to retrofit security in input parsing routines. in Proceedings - 2018 IEEE Symposium on Security and Privacy Workshops, SPW 2018., 8424665, Institute of Electrical and Electronics Engineers Inc., pp. 306-322, 2018 IEEE Symposium on Security and Privacy Workshops, SPW 2018, San Francisco, United States, 5/24/18. https://doi.org/10.1109/SPW.2018.00049
Menon J, Hauser C, Shoshitaishvili Y, Schwab S. A binary analysis approach to retrofit security in input parsing routines. In Proceedings - 2018 IEEE Symposium on Security and Privacy Workshops, SPW 2018. Institute of Electrical and Electronics Engineers Inc. 2018. p. 306-322. 8424665 https://doi.org/10.1109/SPW.2018.00049
Menon, Jayakrishna ; Hauser, Christophe ; Shoshitaishvili, Yan ; Schwab, Stephen. / A binary analysis approach to retrofit security in input parsing routines. Proceedings - 2018 IEEE Symposium on Security and Privacy Workshops, SPW 2018. Institute of Electrical and Electronics Engineers Inc., 2018. pp. 306-322
@inproceedings{70d2e78d19e9497490a44907fd44c86e,
title = "A binary analysis approach to retrofit security in input parsing routines",
abstract = "In spite of numerous attempts to mitigate memory corruption vulnerabilities in low-level code over the years, those remain the most common vector of software exploitation today. A common cause of such vulnerabilities is the presence of errors in string manipulation, which are often found in input parsers, where the format of input data is verified and eventually converted into an internal program representation. This process, if done manually in an ad-hoc manner, is error prone and easily leads to unsafe and potentially exploitable behavior. While principled approaches to input validation exist, such as those based on parser generators (e.g., Lex [20] and Ragel [28]), these require a formalization of the input grammar, which is not always a straightforward process and tends to dissuade programmers. As a result, a large portion of input parsing routines as found in commodity software is still implemented in an ad-hoc way, causing numerous security issues. We propose to address this problem from a post-development perspective, by targeting software presenting security risks in opaque, closed-source environments where software components have already been deployed and integrated, and where re-implementation is not an option (e.g., as part of an embedded device's proprietary firmware). Our system is able to effectively detect vulnerability patterns in binary software and to retrofit security mechanisms preventing exploitation. In a semi-automated setting, it was able to discover an unknown security bug.",
author = "Jayakrishna Menon and Christophe Hauser and Yan Shoshitaishvili and Stephen Schwab",
year = "2018",
month = "8",
day = "2",
doi = "10.1109/SPW.2018.00049",
language = "English (US)",
isbn = "9780769563497",
pages = "306--322",
booktitle = "Proceedings - 2018 IEEE Symposium on Security and Privacy Workshops, SPW 2018",
publisher = "Institute of Electrical and Electronics Engineers Inc.",

}

TY - GEN

T1 - A binary analysis approach to retrofit security in input parsing routines

AU - Menon, Jayakrishna

AU - Hauser, Christophe

AU - Shoshitaishvili, Yan

AU - Schwab, Stephen

PY - 2018/8/2

Y1 - 2018/8/2

N2 - In spite of numerous attempts to mitigate memory corruption vulnerabilities in low-level code over the years, those remain the most common vector of software exploitation today. A common cause of such vulnerabilities is the presence of errors in string manipulation, which are often found in input parsers, where the format of input data is verified and eventually converted into an internal program representation. This process, if done manually in an ad-hoc manner, is error prone and easily leads to unsafe and potentially exploitable behavior. While principled approaches to input validation exist, such as those based on parser generators (e.g., Lex [20] and Ragel [28]), these require a formalization of the input grammar, which is not always a straightforward process and tends to dissuade programmers. As a result, a large portion of input parsing routines as found in commodity software is still implemented in an ad-hoc way, causing numerous security issues. We propose to address this problem from a post-development perspective, by targeting software presenting security risks in opaque, closed-source environments where software components have already been deployed and integrated, and where re-implementation is not an option (e.g., as part of an embedded device's proprietary firmware). Our system is able to effectively detect vulnerability patterns in binary software and to retrofit security mechanisms preventing exploitation. In a semi-automated setting, it was able to discover an unknown security bug.

AB - In spite of numerous attempts to mitigate memory corruption vulnerabilities in low-level code over the years, those remain the most common vector of software exploitation today. A common cause of such vulnerabilities is the presence of errors in string manipulation, which are often found in input parsers, where the format of input data is verified and eventually converted into an internal program representation. This process, if done manually in an ad-hoc manner, is error prone and easily leads to unsafe and potentially exploitable behavior. While principled approaches to input validation exist, such as those based on parser generators (e.g., Lex [20] and Ragel [28]), these require a formalization of the input grammar, which is not always a straightforward process and tends to dissuade programmers. As a result, a large portion of input parsing routines as found in commodity software is still implemented in an ad-hoc way, causing numerous security issues. We propose to address this problem from a post-development perspective, by targeting software presenting security risks in opaque, closed-source environments where software components have already been deployed and integrated, and where re-implementation is not an option (e.g., as part of an embedded device's proprietary firmware). Our system is able to effectively detect vulnerability patterns in binary software and to retrofit security mechanisms preventing exploitation. In a semi-automated setting, it was able to discover an unknown security bug.

UR - http://www.scopus.com/inward/record.url?scp=85052203699&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85052203699&partnerID=8YFLogxK

U2 - 10.1109/SPW.2018.00049

DO - 10.1109/SPW.2018.00049

M3 - Conference contribution

SN - 9780769563497

SP - 306

EP - 322

BT - Proceedings - 2018 IEEE Symposium on Security and Privacy Workshops, SPW 2018

PB - Institute of Electrical and Electronics Engineers Inc.

ER -