@techreport{oai:ipsj.ixsq.nii.ac.jp:02002156, author = {三嶋,亮大 and 葛野,弘樹 and 矢野,智彦 and 瀧田,愼 and 白石,善明}, issue = {8}, month = {May}, note = {近年,情報機器で用いられるソフトウェアに対し,多数の脆弱性が報告されている.ソフトウェアセキュリティの確保には,報告された脆弱性の種別を特定し,情報機器への影響を把握が重要となるが,専門家による脆弱性の手動分類が行われており,自動分類が必要とされている.既存研究では,Open Web Application Security Project(OWASP)Top 10に基づいた脆弱性の自動分類が行われた.しかし,OWASP Top 10はWebアプリケーションの脆弱性分類指標であり,脆弱性の種類をリスト化したCommonWeakness Enumeration(CWE)での分類は行えない.本研究では,主要なオープンソースソフトウェア(OSS)で利用されているC/C++言語の脆弱性分類を行うために,CWEに対応した脆弱性分類システムを提案する.CWEによる分類を行うことで,C/C++言語で記述されたソフトウェアに対する脆弱性の把握を容易にする.提案する脆弱性分類システムでは,CodeBERTを用いる.CodeBERTはC/C++言語を未学習であり,両言語の脆弱性に対応するため,C/C++言語の事前学習とファインチューニングを行う.また,脆弱性データセットにおけるCWE種別であるCWE-ID毎の件数を均衡させるために重み付きクロスエントロピー損失を適用する.提案する脆弱性分類システムでは,CSS2023,Big-Vul,ならびにCVEfixesをデータセットとして利用する.評価にて,C/C++言語のソフトウェア,およびLinuxカーネルに対する脆弱性分類精度の評価を行い.提案する脆弱性分類システムは95種類のCWE-IDに対して66.48%の脆弱性分類精度を示した.また,Linuxカーネルの60種類のCWE-IDに対してTop-1分類精度が84.46%,Top-3分類精度が91.85%となり,実用的な脆弱性分類精度を示した.}, title = {CodeBERTを用いた脆弱性分類システムの提案と評価}, year = {2025} }