CONVUL: An Effective Tool for Detecting Concurrency Vulnerabilities
Title | CONVUL: An Effective Tool for Detecting Concurrency Vulnerabilities |
Publication Type | Conference Paper |
Year of Publication | 2019 |
Authors | Meng, Ruijie, Zhu, Biyun, Yun, Hao, Li, Haicheng, Cai, Yan, Yang, Zijiang |
Conference Name | 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE) |
Date Published | Nov. 2019 |
Publisher | IEEE |
ISBN Number | 978-1-7281-2508-4 |
Keywords | Clocks, composability, Concurrency, concurrency control, concurrency vulnerability detection, Concurrent computing, CONVUL, CPS, cyber physical systems, Instruction sets, Instruments, Metrics, multi-threading, multithreaded execution nondeterminism, program diagnostics, pubcrawl, resilience, Resiliency, Runtime, security, security of data, Synchronization, Tools, vulnerabilities |
Abstract | Concurrency vulnerabilities are extremely harmful and can be frequently exploited to launch severe attacks. Due to the non-determinism of multithreaded executions, it is very difficult to detect them. Recently, data race detectors and techniques based on maximal casual model have been applied to detect concurrency vulnerabilities. However, the former are ineffective and the latter report many false negatives. In this paper, we present CONVUL, an effective tool for concurrency vulnerability detection. CONVUL is based on exchangeable events, and adopts novel algorithms to detect three major kinds of concurrency vulnerabilities. In our experiments, CONVUL detected 9 of 10 known vulnerabilities, while other tools only detected at most 2 out of these 10 vulnerabilities. The 10 vulnerabilities are available at https://github.com/mryancai/ConVul. |
URL | https://ieeexplore.ieee.org/document/8952233 |
DOI | 10.1109/ASE.2019.00125 |
Citation Key | meng_convul_2019 |
- multi-threading
- vulnerabilities
- tools
- Synchronization
- security of data
- security
- Runtime
- Resiliency
- resilience
- pubcrawl
- program diagnostics
- multithreaded execution nondeterminism
- Clocks
- Metrics
- Instruments
- Instruction sets
- cyber physical systems
- CPS
- CONVUL
- Concurrent computing
- concurrency vulnerability detection
- concurrency control
- Concurrency
- composability