Python Fuzzing for Trustworthy Machine Learning Frameworks

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Yegorov, Ilya, Kobrin, Eli, Parygina, Darya, Vishnyakov, Alexey, Fedotov, Andrey
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866929644747358208
author Yegorov, Ilya
Kobrin, Eli
Parygina, Darya
Vishnyakov, Alexey
Fedotov, Andrey
author_facet Yegorov, Ilya
Kobrin, Eli
Parygina, Darya
Vishnyakov, Alexey
Fedotov, Andrey
contents Ensuring the security and reliability of machine learning frameworks is crucial for building trustworthy AI-based systems. Fuzzing, a popular technique in secure software development lifecycle (SSDLC), can be used to develop secure and robust software. Popular machine learning frameworks such as PyTorch and TensorFlow are complex and written in multiple programming languages including C/C++ and Python. We propose a dynamic analysis pipeline for Python projects using the Sydr-Fuzz toolset. Our pipeline includes fuzzing, corpus minimization, crash triaging, and coverage collection. Crash triaging and severity estimation are important steps to ensure that the most critical vulnerabilities are addressed promptly. Furthermore, the proposed pipeline is integrated in GitLab CI. To identify the most vulnerable parts of the machine learning frameworks, we analyze their potential attack surfaces and develop fuzz targets for PyTorch, TensorFlow, and related projects such as h5py. Applying our dynamic analysis pipeline to these targets, we were able to discover 3 new bugs and propose fixes for them.
format Preprint
id arxiv_https___arxiv_org_abs_2403_12723
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Python Fuzzing for Trustworthy Machine Learning Frameworks
Yegorov, Ilya
Kobrin, Eli
Parygina, Darya
Vishnyakov, Alexey
Fedotov, Andrey
Cryptography and Security
Artificial Intelligence
Software Engineering
Ensuring the security and reliability of machine learning frameworks is crucial for building trustworthy AI-based systems. Fuzzing, a popular technique in secure software development lifecycle (SSDLC), can be used to develop secure and robust software. Popular machine learning frameworks such as PyTorch and TensorFlow are complex and written in multiple programming languages including C/C++ and Python. We propose a dynamic analysis pipeline for Python projects using the Sydr-Fuzz toolset. Our pipeline includes fuzzing, corpus minimization, crash triaging, and coverage collection. Crash triaging and severity estimation are important steps to ensure that the most critical vulnerabilities are addressed promptly. Furthermore, the proposed pipeline is integrated in GitLab CI. To identify the most vulnerable parts of the machine learning frameworks, we analyze their potential attack surfaces and develop fuzz targets for PyTorch, TensorFlow, and related projects such as h5py. Applying our dynamic analysis pipeline to these targets, we were able to discover 3 new bugs and propose fixes for them.
title Python Fuzzing for Trustworthy Machine Learning Frameworks
topic Cryptography and Security
Artificial Intelligence
Software Engineering
url https://arxiv.org/abs/2403.12723