It is increasingly suggested to identify Software Vulnerabilities (SVs) in code commits to give early warnings about potential security risks. However, there is a lack of effort to assess vulnerability-contributing commits right after they are detected to provide timely information about the exploitability, impact and severity of SVs. Such information is important to plan and prioritize the mitigation for the identified SVs. We propose a novel Deep multi-task learning model, DeepCVA, to automate seven Commit-level Vulnerability Assessment tasks simultaneously based on Common Vulnerability Scoring System (CVSS) metrics. We conduct large-scale experiments on 1,229 vulnerability-contributing commits containing 542 different SVs in 246 real-world software projects to evaluate the effectiveness and efficiency of our model. We show that DeepCVA is the best-performing model with 38% to 59.8% higher Matthews Correlation Coefficient than many supervised and unsupervised baseline models. DeepCVA also requires 6.3 times less training and validation time than seven cumulative assessment models, leading to significantly less model maintenance cost as well. Overall, DeepCVA presents the first effective and efficient solution to automatically assess SVs early in software systems.
翻译:在代码中越来越多地建议查明软件脆弱性,承诺对潜在安全风险发出预警,但缺乏对脆弱性促成者在发现后承诺及时提供关于SV的可利用性、影响和严重程度的信息的评估。这种信息对于规划和优先减轻已查明SV的可利用性、影响和严重程度非常重要。我们提议了一个新型的深多任务学习模式,即深任务学习模式,即深任务VA,以根据共同脆弱度分辨系统(CVSS)的衡量标准,同时使七个层次的脆弱性评估任务自动化。我们对1 229个脆弱性促成者进行大规模实验,承诺在246个现实世界软件项目中包含542个不同的SV,以评价我们模型的效力和效率。我们表明,DeepCVA是最佳的模型,比许多受监管和未受监督的基线模型高38%至59.8%。DeepCVA还需要比7个累积评估模型少6.3倍的培训和验证时间,导致模型维护成本大大降低。总体而言,深 CVA提出在软件系统中自动评估SV的早期系统自动评估第一种有效和高效的解决办法。