학술논문

Automated Extraction of Software Names from Vulnerability Reports using LSTM and Expert System
Document Type
Conference
Source
2022 IEEE 29th Annual Software Technology Conference (STC) STC Software Technology Conference (STC), 2022 IEEE 29th Annual. :125-134 Oct, 2022
Subject
Computing and Processing
Engineering Profession
Analytical models
Publishing
Software systems
Software
Natural language processing
Delays
Security
Common Product Enumeration
Common Vulnerability and Exposures
Natural Language Processing
Software Product Name Extraction
Software Vulnerability
Language
Abstract
Software vulnerabilities are closely monitored by the security community to timely address the security and privacy issues in software systems. Before a vulnerability is published by vulnerability management systems, it needs to be characterized to highlight its unique attributes, including affected software products and versions, to help security professionals prioritize their patches. Associating product names and versions with disclosed vulnerabilities may require a labor-intensive process that may delay their publication and fix, and thereby give attackers more time to exploit them. This work proposes a machine learning method to extract software product names and versions from unstructured CVE descriptions automatically. It uses Word2Vec and Char2Vec models to create context-aware features from CVE descriptions and uses these features to train a Named Entity Recognition (NER) model using bidirectional Long short-term memory (LSTM) networks. Based on the attributes of the product names and versions in previously published CVE descriptions, we created a set of Expert System (ES) rules to refine the predictions of the NER model and improve the performance of the developed method. Experiment results on real-life CVE examples indicate that using the trained NER model and the set of ES rules, software names and versions in unstructured CVE descriptions could be identified with F-Measure values above 0.95.