The ecosystem of open source software (OSS) has been growing considerably in size. In addition, code clones - code fragments that are copied and pasted within or between software systems - are also proliferating. Although code cloning may expedite the process of software development, it often critically affects the security of software because vulnerabilities and bugs can easily be propagated through code clones. These vulnerable code clones are increasing in conjunction with the growth of OSS, potentially contaminating many systems. Although researchers have attempted to detect code clones for decades, most of these attempts fail to scale to the size of the ever-growing OSS code base. The lack of scalability prevents software developers from readily managing code clones and associated vulnerabilities. Moreover, most existing clone detection techniques focus overly on merely detecting clones and this impairs their ability to accurately find 'vulnerable' clones. In this paper, we propose VUDDY, an approach for the scalable detection of vulnerable code clones, which is capable of detecting security vulnerabilities in large software programs efficiently and accurately. Its extreme scalability is achieved by leveraging function-level granularity and a length-filtering technique that reduces the number of signature comparisons. This efficient design enables VUDDY to preprocess a billion lines of code in 14 hour and 17 minutes, after which it requires a few seconds to identify code clones. In addition, we designed a security-aware abstraction technique that renders VUDDY resilient to common modifications in cloned code, while preserving the vulnerable conditions even after the abstraction is applied. This extends the scope of VUDDY to identifying variants of known vulnerabilities, with high accuracy. In this study, we describe its principles and evaluate its efficacy and effectiveness by comparing it with existing mechanisms and presenting the vulnerabilities it detected. VUDDY outperformed four state-of-the-art code clone detection techniques in terms of both scalability and accuracy, and proved its effectiveness by detecting zero-day vulnerabilities in widely used software systems, such as Apache HTTPD and Ubuntu OS Distribution.
|Title of host publication
|2017 IEEE Symposium on Security and Privacy, SP 2017 - Proceedings
|Institute of Electrical and Electronics Engineers Inc.
|Number of pages
|Published - 2017 Jun 23
|2017 IEEE Symposium on Security and Privacy, SP 2017 - San Jose, United States
Duration: 2017 May 22 → 2017 May 24
|Proceedings - IEEE Symposium on Security and Privacy
|2017 IEEE Symposium on Security and Privacy, SP 2017
|17/5/22 → 17/5/24
Bibliographical notePublisher Copyright:
© 2017 IEEE.
- Code clone
- Software vulnerability
- Vulnerability detection
ASJC Scopus subject areas
- Safety, Risk, Reliability and Quality
- Computer Networks and Communications