Visible to the public OCTOPOCS: Automatic Verification of Propagated Vulnerable Code Using Reformed Proofs of Concept

TitleOCTOPOCS: Automatic Verification of Propagated Vulnerable Code Using Reformed Proofs of Concept
Publication TypeConference Paper
Year of Publication2021
AuthorsKwon, Seongkyeong, Woo, Seunghoon, Seong, Gangmo, Lee, Heejo
Conference Name2021 51st Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)
KeywordsC++ languages, composability, Computer crashes, Ecosystems, Metrics, Proofs-of-Concept, pubcrawl, Software, symbolic execution, taint analysis, Vulnerability Propagation
AbstractAddressing 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.
DOI10.1109/DSN48987.2021.00032
Citation Keykwon_octopocs_2021