Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1109/ASE56229.2023.00058acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
research-article

Mitigating Persistence of Open-Source Vulnerabilities in Maven Ecosystem

Published: 26 September 2024 Publication History

Abstract

Vulnerabilities from third-party libraries (TPLs) have been unveiled to threaten the Maven ecosystem in the long term. Despite patches being released promptly after vulnerabilities are disclosed, the libraries and applications in the community still use the vulnerable versions, which makes the vulnerabilities persistent in the Maven ecosystem (e.g., the notorious Log4Shell still greatly influences the Maven ecosystem nowadays from 2021). Both academic and industrial researchers have proposed user-oriented standards and solutions to address vulnerabilities, while such solutions fail to tackle the ecosystem-wide persistent vulnerabilities because it requires a collective effort from the community to timely adopt patches without introducing breaking issues.
To seek an ecosystem-wide solution, we first carried out an empirical study to examine the prevalence of persistent vulnerabilities in the Maven ecosystem. Then, we identified affected libraries for alerts by implementing an algorithm monitoring downstream dependents of vulnerabilities based on an up-to-date dependency graph. Based on them, we further quantitatively revealed that patches blocked by upstream libraries caused the persistence of vulnerabilities. After reviewing the drawbacks of existing countermeasures, to address them, we proposed a solution for range restoration (Ranger) to automatically restore the compatible and secure version ranges of dependencies for downstream dependents. The automatic restoration requires no manual effort from the community, and the code-centric compatibility assurance ensures smooth upgrades to patched versions. Moreover, Ranger along with the ecosystem monitoring can timely alert developers of blocking libraries and suggest flexible version ranges to rapidly unblock patch versions. By evaluation, Ranger could restore 75.64% of ranges which automatically remediated 90.32% of vulnerable downstream projects.

References

[1]
"Log4j Remote Code Execution," https://www.netskope.com/blog/cve-2021-44832-new-vulnerability-found-in-apache-log4j, 2021.
[2]
"Google Open-source Insight," https://blog.deps.dev/, 2023.
[3]
"Log4j Vulnerability News," https://www.securityweek.com/one-year-later-log4shell-remediation-slow-painful-slog/, 2023.
[4]
"Log4j Vulnerability News," https://thenewstack.io/one-year-of-log4j, 2022.
[5]
"Log4j Vulnerability News," https://securityintelligence.com/articles/log4j-vulnerability-changed-oss-cybersecurity/, 2023.
[6]
"Log4j Vulnerability News," https://asia.nikkei.com/Spotlight/Datawatch/Cyberattacks-on-Japan-soar-as-hackers-target-vulnerabilities, 2023.
[7]
"Log4j Vulnerability News," https://www.cybersecuritydive.com/news/cves-rise-2023--struggle-to-patch/641955/, 2023.
[8]
"National vulnerability database," https://nvd.nist.gov/, 2023.
[9]
Y. Wu, Z. Yu, M. Wen, Q. Li, D. Zhou, and H. Jin, "Understanding the threats of upstream vulnerabilities to downstream projects in the maven ecosystem," in 45th International Conference on Software Engineering, 2023, pp. 1--12.
[10]
Q. Li, J. Song, D. Tan, H. Wang, and J. Liu, "Pdgraph: a large-scale empirical study on project dependency of security vulnerabilities," in 2021 51st Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN). IEEE, 2021, pp. 161--173.
[11]
I. Pashchenko, D.-L. Vu, and F. Massacci, "A qualitative study of dependency management and its security implications," in Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security, 2020, pp. 1513--1531.
[12]
A. M. Mir, M. Keshani, and S. Proksch, "On the effect of transitivity and granularity on vulnerability propagation in the maven ecosystem," arXiv preprint arXiv:2301.07972, 2023.
[13]
C. Soto-Valero, A. Benelallam, N. Harrand, O. Barais, and B. Baudry, "The emergence of software diversity in maven central," in 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR). IEEE, 2019, pp. 333--343.
[14]
A. Benelallam, N. Harrand, C. Soto-Valero, B. Baudry, and O. Barais, "The maven dependency graph: a temporal graph-based representation of maven central," in 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR). IEEE, 2019, pp. 344--348.
[15]
D. Du, X. Ren, Y. Wu, J. Chen, W. Ye, J. Sun, X. Xi, Q. Gao, and S. Zhang, "Refining traceability links between vulnerability and software component in a vulnerability knowledge graph," in International Conference on Web Engineering. Springer, 2018, pp. 33--49.
[16]
Y. Wang, P. Sun, L. Pei, Y. Yu, C. Xu, S.-C. Cheung, H. Yu, and Z. Zhu, "Plumber: Boosting the propagation of vulnerability fixes in the npm ecosystem," IEEE Transactions on Software Engineering, 2023.
[17]
N. Imtiaz, A. Khanom, and L. Williams, "Open or sneaky? fast or slow? light or heavy?: Investigating security releases of open source packages," IEEE Transactions on Software Engineering, 2023.
[18]
I. Pashchenko, H. Plate, S. E. Ponta, A. Sabetta, and F. Massacci, "Vulnerable open source dependencies: Counting those that matter," in Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, 2018, pp. 1--10.
[19]
"Home - open source security foundation," https://openssf.org/, 2023, (Accessed on 02/12/2023).
[20]
"ossf/wg-best-practices-os-developers: The best practices for oss developers working group is dedicated to raising awareness and education of secure code best practices for open source developers." https://github.com/ossf/wg-best-practices-os-developers, 2023, (Accessed on 02/12/2023).
[21]
"Openssf scorecard," https://securityscorecards.dev/\#what-is-openssf-scorecard, 2023, (Accessed on 02/14/2023).
[22]
S. Raemaekers, A. Van Deursen, and J. Visser, "Semantic versioning versus breaking changes: A study of the Maven repository," in 2014 IEEE 14th International Working Conference on Source Code Analysis and Manipulation. IEEE, 2014, pp. 215--224.
[23]
S. Raemaekers, A. van Deursen, and J. Visser, "Semantic versioning and impact of breaking changes in the Maven repository," Journal of Systems and Software, vol. 129, pp. 140--158, 2017.
[24]
P. Lam, J. Dietrich, and D. J. Pearce, "Putting the semantics into semantic versioning," in Proceedings of the 2020 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, 2020, pp. 157--179.
[25]
A. Decan and T. Mens, "What do package dependencies tell us about semantic versioning?" IEEE Transactions on Software Engineering, vol. 47, no. 6, pp. 1226--1240, 2019.
[26]
J. Dietrich, D. Pearce, J. Stringer, A. Tahir, and K. Blincoe, "Dependency versioning in the wild," in 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR). IEEE, 2019, pp. 349--359.
[27]
C. Liu, S. Chen, L. Fan, B. Chen, Y. Liu, and X. Peng, "Demystifying the vulnerability propagation and its evolution via dependency trees in the npm ecosystem," in Proceedings of the 44th International Conference on Software Engineering, 2022, pp. 672--684.
[28]
"Semantic Versioning," https://semver.org, 2021.
[29]
"Maven Version ranges," https://maven.apache.org/enforcer/enforcer-rules/versionRanges.html, 2023.
[30]
"Maven Soft Version Constraint," https://maven.apache.org/enforcer/enforcer-rules/versionRanges.html, 2023.
[31]
"Maven repositories," https://mvnrepository.com/, 2023.
[32]
"Github Security Advisory," https://github.com/advisories, 2023.
[33]
"Google Open-source Database," https://docs.deps.dev/bigquery/v1, 2023.
[34]
"Snyk Vulnerability Database," https://security.snyk.io/, 2023.
[35]
"Data set," https://sites.google.com/view/ase23maven, 2023.
[36]
A. Schroter, A. Schröter, N. Bettenburg, and R. Premraj, "Do stack traces help developers fix bugs?" in 2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010). IEEE, 2010, pp. 118--121.
[37]
"Gradle Dependency Constraint," https://docs.gradle.org/current/userguide/dependency_constraints.html, 2023.
[38]
"Ivy Dependency Override," https://ant.apache.org/ivy/history/2.3.0/ivyfile/dependencies.html, 2023.
[39]
"Maven Versions," https://maven.apache.org/pom.html, 2023.
[40]
"Oracle Java Compatibility Documentation," https://www.oracle.com/java/technologies/javase/8-compatibility-guide.html, 2023.
[41]
"revapi," https://revapi.org/revapi-site/main/index.html, 2021.
[42]
"japi-compliance-checker," https://lvc.github.io/japi-compliance-checker/, 2019.
[43]
L. Zhang, C. Liu, Z. Xu, S. Chen, L. Fan, B. Chen, and Y. Liu, "Has my release disobeyed semantic versioning? static detection based on semantic differencing," in Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering, ser. ASE '22. New York, NY, USA: Association for Computing Machinery, 2023. [Online].
[44]
"Soot spark," https://www.sable.mcgill.ca/soot/doc/soot/options/SparkOptions.html, 2023.
[45]
L. Ochoa, T. Degueule, J.-R. Falleri, and J. Vinju, "Breaking bad? semantic versioning and impact of breaking changes in Maven central," arXiv preprint arXiv:2110.07889, 2021.
[46]
"Caret Ranges," https://docs.npmjs.com/cli/v6/using-npm/semver#caret-ranges-123-025-004, 2023.
[47]
L. Zhang, C. Liu, Z. Xu, S. Chen, L. Fan, L. Zhao, J. Wu, and Y. Liu, "Compatible remediation on vulnerabilities from third-party libraries for java projects," in Proceedings of the 45th International Conference on Software Engineering, ser. ICSE '23. IEEE Press, 2023, p. 2540--2552. [Online].
[48]
"Software Composition Analysis," https://snyk.io/series/open-source-security/software-composition-analysis-sca/, 2023.
[49]
R. G. Kula, D. M. German, T. Ishio, and K. Inoue, "Trusting a library: A study of the latency to adopt the latest maven release," in 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER). IEEE, 2015, pp. 520--524.
[50]
R. G. Kulaa, C. De Rooverb, D. M. Germanc, T. Ishiob, and K. Inouea, "Modeling library dependencies and updates in large super repository universes."
[51]
R. G. Kula, C. De Roover, D. German, T. Ishio, and K. Inoue, "Visualizing the evolution of systems and their library dependencies," in 2014 Second IEEE Working Conference on Software Visualization. IEEE, 2014, pp. 127--136.
[52]
F. Massacci and I. Pashchenko, "Technical leverage in a software ecosystem: Development opportunities and security risks," in 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE). IEEE, 2021, pp. 1386--1397.
[53]
D. Mitropoulos, V. Karakoidas, P. Louridas, G. Gousios, and D. Spinellis, "Dismal code: Studying the evolution of security bugs," in LASER 2013 (LASER 2013), 2013, pp. 37--48.
[54]
S. S. Alqahtani, E. E. Eghan, and J. Rilling, "Sv-af---a security vulnerability analysis framework," in 2016 IEEE 27th International Symposium on Software Reliability Engineering (ISSRE). IEEE, 2016, pp. 219--229.
[55]
L. Zhao, S. Chen, Z. Xu, C. Liu, L. Zhang, J. Wu, J. Sun, and Y. Liu, "Software composition analysis for vulnerability detection: An empirical study on Java projects," in Proceedings of the 2023 31th acm sigsoft international symposium on foundations of software engineering, 2023.
[56]
X. Zhan, L. Fan, S. Chen, F. We, T. Liu, X. Luo, and Y. Liu, "Atvhunter: Reliable version detection of third-party libraries for vulnerability identification in Android applications," in 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE). IEEE, 2021, pp. 1695--1707.
[57]
X. Zhan, T. Liu, L. Fan, L. Li, S. Chen, X. Luo, and Y. Liu, "Research on third-party libraries in Android apps: A taxonomy and systematic literature review," IEEE Transactions on Software Engineering, 2021.
[58]
J. Wu, Z. Xu, W. Tang, L. Zhang, Y. Wu, C. Liu, K. Sun, L. Zhao, and Y. Liu, "Ossfp: Precise and scalable c/c++ third-party library detection using fingerprinting functions," in 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE). IEEE, 2023, pp. 270--282.
[59]
Y. Wang, M. Wen, Z. Liu, R. Wu, R. Wang, B. Yang, H. Yu, Z. Zhu, and S.-C. Cheung, "Do the dependency conflicts in my project matter?" in Proceedings of the 2018 26th ACM joint meeting on european software engineering conference and symposium on the foundations of software engineering, 2018, pp. 319--330.

Cited By

View all
  • (2024)Magneto: A Step-Wise Approach to Exploit Vulnerabilities in Dependent Libraries via LLM-Empowered Directed FuzzingProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695531(1633-1644)Online publication date: 27-Oct-2024
  • (2024)Does the Vulnerability Threaten Our Projects? Automated Vulnerable API Detection for Third-Party LibrariesIEEE Transactions on Software Engineering10.1109/TSE.2024.345496050:11(2906-2920)Online publication date: 1-Nov-2024
  • (2023)Who is the Real Hero? Measuring Developer Contribution via Multi-Dimensional Data IntegrationProceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE56229.2023.00102(825-836)Online publication date: 11-Nov-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ASE '23: Proceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering
November 2023
2161 pages
ISBN:9798350329964

Sponsors

In-Cooperation

  • University of Luxembourg: University of Luxembourg
  • IEEE CS

Publisher

IEEE Press

Publication History

Published: 26 September 2024

Check for updates

Author Tags

  1. open-source software
  2. software security
  3. java

Qualifiers

  • Research-article

Conference

ASE '23
Sponsor:

Acceptance Rates

Overall Acceptance Rate 82 of 337 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)0
Reflects downloads up to 11 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Magneto: A Step-Wise Approach to Exploit Vulnerabilities in Dependent Libraries via LLM-Empowered Directed FuzzingProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695531(1633-1644)Online publication date: 27-Oct-2024
  • (2024)Does the Vulnerability Threaten Our Projects? Automated Vulnerable API Detection for Third-Party LibrariesIEEE Transactions on Software Engineering10.1109/TSE.2024.345496050:11(2906-2920)Online publication date: 1-Nov-2024
  • (2023)Who is the Real Hero? Measuring Developer Contribution via Multi-Dimensional Data IntegrationProceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE56229.2023.00102(825-836)Online publication date: 11-Nov-2023
  • (undefined)Research Directions in Software Supply Chain SecurityACM Transactions on Software Engineering and Methodology10.1145/3714464

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media