Title | OCTOPOCS: Automatic Verification of Propagated Vulnerable Code Using Reformed Proofs of Concept |
Publication Type | Conference Paper |
Year of Publication | 2021 |
Authors | Kwon, Seongkyeong, Woo, Seunghoon, Seong, Gangmo, Lee, Heejo |
Conference Name | 2021 51st Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN) |
Keywords | C++ languages, composability, Computer crashes, Ecosystems, Metrics, Proofs-of-Concept, pubcrawl, Software, symbolic execution, taint analysis, Vulnerability Propagation |
Abstract | Addressing vulnerability propagation has become a major issue in software ecosystems. Existing approaches hold the promise of detecting widespread vulnerabilities but cannot be applied to verify effectively whether propagated vulnerable code still poses threats. We present OCTOPOCS, which uses a reformed Proof-of-Concept (PoC), to verify whether a vulnerability is propagated. Using context-aware taint analysis, OCTOPOCS extracts crash primitives (the parts used in the shared code area between the original vulnerable software and propagated software) from the original PoC. OCTOPOCS then utilizes directed symbolic execution to generate guiding inputs that direct the execution of the propagated software from the entry point to the shared code area. Thereafter, OCTOPOCS creates a new PoC by combining crash primitives and guiding inputs. It finally verifies the propagated vulnerability using the created PoC. We evaluated OCTOPOCS with 15 real-world C and C++ vulnerable software pairs, with results showing that OCTOPOCS successfully verified 14 propagated vulnerabilities. |
DOI | 10.1109/DSN48987.2021.00032 |
Citation Key | kwon_octopocs_2021 |