SSLDoc: Automatically diagnosing incorrect SSL API usages in C programs

1Citations
Citations of this article
5Readers
Mendeley users who have this article in their library.

Abstract

Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols provide a reliable communication channel between applications over the Internet. Implementations of these protocols (e.g., OpenSSL and GnuTLS) publish wellformat documentation and examples online to guide the usage of SSL/TLS APIs. However, incorrect usages have caused many severe vulnerabilities (e.g., privilege escalation, denial of service, man-in-the-middle attack, etc.) in recent years. In this paper, we introduce SSLDoc to diagnose incorrect SSL API usages in real-world C programs automatically. The key insight behind SSLDoc is a constraint-directed static analysis technique powered by domain-specific usage patterns that we learn from real-world vulnerabilities and bug-fix-related patches. We have instantiated SSLDoc for OpenSSL APIs and applied it to large-scale open-source programs. SSLDoc found 45 previously unknown security-sensitive bugs in OpenSSL implementation and applications in Ubuntu. We created and submitted issues for all of them. Up to now, 35 have been confirmed by the corresponding development communities and 27 have been fixed in master branch.

Cite

CITATION STYLE

APA

Gu, Z., Wu, J., Li, C., Zhou, M., & Gu, M. (2019). SSLDoc: Automatically diagnosing incorrect SSL API usages in C programs. In Proceedings of the International Conference on Software Engineering and Knowledge Engineering, SEKE (Vol. 2019-July, pp. 707–712). Knowledge Systems Institute Graduate School. https://doi.org/10.18293/SEKE2019-006

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free