SEJan 24, 2020

Learning to Catch Security Patches

arXiv:2001.09148v119 citations
AI Analysis

This work addresses the critical issue of timely vulnerability patching for software maintainers and users, representing a strong specific gain in automating security monitoring.

The paper tackles the problem of identifying security patches in code repositories, which often go unnoticed as silent fixes, by proposing a Co-Training-based approach that achieves over 90% precision and over 80% recall in detecting these patches.

Timely patching is paramount to safeguard users and maintainers against dire consequences of malicious attacks. In practice, patching is prioritized following the nature of the code change that is committed in the code repository. When such a change is labeled as being security-relevant, i.e., as fixing a vulnerability, maintainers rapidly spread the change and users are notified about the need to update to a new version of the library or of the application. Unfortunately, oftentimes, some security-relevant changes go unnoticed as they represent silent fixes of vulnerabilities. In this paper, we propose a Co-Training-based approach to catch security patches as part of an automatic monitoring service of code repositories. Leveraging different classes of features, we empirically show that such automation is feasible and can yield a precision of over 90% in identifying security patches, with an unprecedented recall of over 80%. Beyond such a benchmarking with ground truth data which demonstrates an improvement over the state-of-the-art, we confirmed that our approach can help catch security patches that were not reported as such.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes