Python Fuzzing for Trustworthy Machine Learning Frameworks

要約

信頼できる AI ベースのシステムを構築するには、機械学習フレームワークのセキュリティと信頼性を確保することが重要です。
ファジングは、セキュア ソフトウェア開発ライフサイクル (SSDLC) で一般的な手法であり、安全で堅牢なソフトウェアを開発するために使用できます。
PyTorch や TensorFlow などの一般的な機械学習フレームワークは複雑で、C/C++ や Python などの複数のプログラミング言語で書かれています。
Sydr-Fuzz ツールセットを使用した Python プロジェクトの動的分析パイプラインを提案します。
私たちのパイプラインには、ファジング、コーパスの最小化、クラッシュのトリアージ、およびカバレッジの収集が含まれます。
クラッシュのトリアージと重大度の推定は、最も重大な脆弱性に迅速に対処するための重要な手順です。
さらに、提案されたパイプラインは GitLab CI に統合されています。
機械学習フレームワークの最も脆弱な部分を特定するために、私たちはその潜在的な攻撃対象領域を分析し、PyTorch、TensorFlow、および h5py などの関連プロジェクトのファズ ターゲットを開発します。
これらのターゲットに動的分析パイプラインを適用したところ、3 つの新しいバグを発見し、修正を提案することができました。

要約(オリジナル)

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.

arxiv情報

著者 Ilya Yegorov,Eli Kobrin,Darya Parygina,Alexey Vishnyakov,Andrey Fedotov
発行日 2024-03-19 13:41:11+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.CR, cs.SE パーマリンク