Refining Traceability Links Between Vulnerability and Software Component in a Vulnerability Knowledge Graph.

Dongdong Du,Xingzhang Ren,Yupeng Wu,Jien Chen,Wei Ye,Jinan Sun,Xiangyu Xi,Qing Gao,Shikun Zhang
DOI: https://doi.org/10.1007/978-3-319-91662-0_3
2018-01-01
Abstract:Software vulnerabilities and their corresponding software components information are usually stored in different locations with different representations. Building accurate traceability links between them to form a unified knowledge graph can be very helpful for vulnerability spreading analysis, component dependency management, and relationship inference. In this paper, we first propose a software vulnerability knowledge graph model which integrates CVE (Common Vulnerabilities and Exposures) information, Java Component metadata in Maven repository and project collaboration data on Github. To construct the knowledge graph, we then propose two ontology matching approaches. The first one links Maven project and Github project in a URL text-matching way. The second one introduces random forests algorithm to link CVE project version and Maven project version based on 16 well-defined features. Experimental results show that matching between CVE project version and Maven project version are highly promising with an accuracy rate as high as 99.8%. The traceability links between vulnerabilities and software components can be more accurate based on our approach.
What problem does this paper attempt to address?