要約
ソフトウェアの脆弱性は、静的分析、浸透テスト、およびファジングによって一般的に検出されます。
また、作成された入力でセキュリティに敏感な動作を刺激するユニットテスト(いわゆる脆弱性監視テスト)を実行することで見つけることができます。
このようなテストの開発は困難で時間がかかります。
したがって、自動化されたデータ駆動型アプローチは、開発者がより早く脆弱性を傍受するのに役立つ可能性があります。
ただし、このようなアプローチのトレーニングと検証には、多くのデータが必要であり、現在は不足しています。
このペーパーでは、Javaリポジトリから脆弱性装備テストのインスタンスを収集するための深い学習ベースのアプローチであるVutecoを紹介します。
Vutecoは、2つのタスクを実行します。(1)テストケースがセキュリティ関連であるかどうかを判断する「検索」タスク、および(2)テストケースを目撃している正確な脆弱性に関連付ける「一致」タスク。
Vutecoは、VUL4Jで検証済みのテストケースで完全な精度と0.83 F0.5スコアを達成し、244のオープンソースJavaプロジェクトから145(70%)の正しいセキュリティ関連のテストケースを返し、完全な精度と0.83 F0.5スコアを達成しました。
マッチングタスクに対して十分に良好なパフォーマンスを示しているにもかかわらず、つまり0.86精度と0.68 F0.5スコア – Vutecoは、野生で有効な一致を取得できませんでした。
それにもかかわらず、私たちは、ほぼすべての試合で、間違った脆弱性と一致しているにもかかわらず、テストケースは依然としてセキュリティ関連であることを観察しました。
最終的に、Vutecoは、適切な脆弱性とのマッチングはまだ解決されていませんが、脆弱性を意見のテストの見つけるのに役立ちます。
得られた調査結果は、この問題に関する将来の研究のために足がかりの石を産みました。
要約(オリジナル)
Software vulnerabilities are commonly detected via static analysis, penetration testing, and fuzzing. They can also be found by running unit tests – so-called vulnerability-witnessing tests – that stimulate the security-sensitive behavior with crafted inputs. Developing such tests is difficult and time-consuming; thus, automated data-driven approaches could help developers intercept vulnerabilities earlier. However, training and validating such approaches require a lot of data, which is currently scarce. This paper introduces VUTECO, a deep learning-based approach for collecting instances of vulnerability-witnessing tests from Java repositories. VUTECO carries out two tasks: (1) the ‘Finding’ task to determine whether a test case is security-related, and (2) the ‘Matching’ task to relate a test case to the exact vulnerability it is witnessing. VUTECO successfully addresses the Finding task, achieving perfect precision and 0.83 F0.5 score on validated test cases in VUL4J and returning 102 out of 145 (70%) correct security-related test cases from 244 open-source Java projects. Despite showing sufficiently good performance for the Matching task – i.e., 0.86 precision and 0.68 F0.5 score – VUTECO failed to retrieve any valid match in the wild. Nevertheless, we observed that in almost all of the matches, the test case was still security-related despite being matched to the wrong vulnerability. In the end, VUTECO can help find vulnerability-witnessing tests, though the matching with the right vulnerability is yet to be solved; the findings obtained lay the stepping stone for future research on the matter.
arxiv情報
著者 | Emanuele Iannone,Quang-Cuong Bui,Riccardo Scandariato |
発行日 | 2025-02-05 17:02:42+00:00 |
arxivサイト | arxiv_id(pdf) |
提供元, 利用サービス
arxiv.jp, Google