Finding Error Handling Bugs in OpenSSL Using Coccinelle
- 1 January 2010
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 191-196
- https://doi.org/10.1109/edcc.2010.31
Abstract
OpenSSL is a library providing various functionalities relating to secure network communication. Detecting and fixing bugs in OpenSSL code is thus essential, particularly when such bugs can lead to malicious attacks. In previous work, we have proposed a methodology for finding API usage protocols in Linux kernel code using the program matching and transformation engine Coccinelle. In this work, we report on our experience in applying this methodology to OpenSSL, focusing on API usage protocols related to error handling. We have detected over 30 bugs in a recent OpenSSL snapshot, and in many cases it was possible to correct the bugs automatically. Our patches correcting these bugs have been accepted by the OpenSSL developers. This work furthermore confirms the applicability of our methodology to user-level code.Keywords
This publication has 7 references indexed in Scilit:
- Tracking code patterns over multiple software versions with HerodotosPublished by Association for Computing Machinery (ACM) ,2010
- WYSIWIB: A declarative approach to finding API protocols and bugs in Linux codePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2009
- Documenting and automating collateral evolutions in linux device driversPublished by Association for Computing Machinery (ACM) ,2008
- Static error detection using semantic inconsistency inferencePublished by Association for Computing Machinery (ACM) ,2007
- Static specification inference using predicate miningPublished by Association for Computing Machinery (ACM) ,2007
- PR-MinerPublished by Association for Computing Machinery (ACM) ,2005
- Bugs as deviant behaviorPublished by Association for Computing Machinery (ACM) ,2001