研究課題/領域番号 |
23K28065
|
補助金の研究課題番号 |
23H03375 (2023)
|
研究種目 |
基盤研究(B)
|
配分区分 | 基金 (2024) 補助金 (2023) |
応募区分 | 一般 |
審査区分 |
小区分60050:ソフトウェア関連
|
研究機関 | 南山大学 |
研究代表者 |
井上 克郎 南山大学, 理工学部, 教授 (20168438)
|
研究分担者 |
眞鍋 雄貴 (真鍋雄貴) 福知山公立大学, 情報学部, 講師 (20625339)
横森 励士 南山大学, 理工学部, 教授 (40379152)
KULA RAULA・GAIKOVINA 奈良先端科学技術大学院大学, 先端科学技術研究科, 准教授 (80749094)
神田 哲也 ノートルダム清心女子大学, 情報デザイン学部, 准教授 (90780726)
|
研究期間 (年度) |
2023-04-01 – 2027-03-31
|
研究課題ステータス |
交付 (2024年度)
|
配分額 *注記 |
18,590千円 (直接経費: 14,300千円、間接経費: 4,290千円)
2026年度: 4,550千円 (直接経費: 3,500千円、間接経費: 1,050千円)
2025年度: 4,550千円 (直接経費: 3,500千円、間接経費: 1,050千円)
2024年度: 4,550千円 (直接経費: 3,500千円、間接経費: 1,050千円)
2023年度: 4,940千円 (直接経費: 3,800千円、間接経費: 1,140千円)
|
キーワード | SPDX / SBOM / メタデータ / 依存解析 / ソフトウェアエコシステム / 依存関係分析 / Debian / 脆弱性 / 改竄検出 |
研究開始時の研究の概要 |
SPDXの枠組みを用いたメタデータを設計してエコシステムを表現し、その透明性、健全性、安全性等の分析やプロダクト再構成の自動化、効率化を行うために、メタデータを用いたエコシステムの分析基盤を開発する。これによりSPDXは単なるOSSライセンスの表記の手段から、エコシステム全体の分析やプロダクト再構成の情報のための記録場所となるとともに、プロダクトの特性や他のプロダクトとの関連などの情報も可読性の高い形式で表記するメタデータとなる。また、メタデータを効率的に生成する新たな手法を考案し、その評価も試みる。
|
研究実績の概要 |
近年、ソフトウェアエコシステムを構成するプロダクトの安全性や健全性を検証するために、ソフトウェア部品表(SBoM)と呼ばれるメタデータを用いることが推奨され、Linux Foundationが開発したSPDXがその一実現方法として普及が進んでいる。 本研究では、様々なプロダクトの特性や関連の情報を既存の、または拡張したSPDXのフィールドとして表記する方法を開発する。また、得られたSPDX表記からエコシステムモデルを作り、その安全性や健全性を効率的に分析する方法を確立する。 さらにSPDXの表記法や分析技術の普及を図り、分析情報付きのSPDX形式のメタデータが広く普及・流通することを目指す。 本年度はまずSPDXにパッケージの依存情報を保存するための手法を開発した。対象をLinuxのDebianに限定し、当該パッケージが依存しているパッケージ情報をDebianのControlファイルから推移的に取得し、SPDXのメタ情報に変換して保存する方法を開発した。依存関係が循環している場合でもハッシュ値に矛盾がないSPDXファイルに変換するために、関連する複数ファイルをまとめてハッシュ化する方法を開発した。実際にDebianのControlファイルからSPDXファイルを作成するシステムを試作し評価を行い、正しくSPDXファイルが生成できることを確かめた。 また、SPDXに書かれている依存情報を元にして、依存先のパッケージに脆弱性に関する問題がないかを定期的にチェックするシステムを開発した。このシステムによりソフトウェアに脆弱性を含むパッケージを利用していないか、不当に改竄されていないか、また破損していないかなどを定期的に検証を行うことができるようになった。 その他、ソフトウェアエコシステムの課題整理やコードクローン作者に関する実践的な分析などの研究を行った。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
当初目的とした、DebianのSPDXの生成ツールや脆弱性ツールの開発およびこれらの研究成果の発表は、予定通り行うことができた。 最近、SBoMは新しい版が公開され、その構成要素も変更が見られる。我々の研究に関する部分にも影響があるか、今後慎重に見極めていく必要があろう。
|
今後の研究の推進方策 |
SPDXの普及は進みつつあるようであるが、実際の開発者にとってはどのような課題があるかの調査を進め、その課題解決の方法を考えていく必要がある。そのための調査研究を進めていく。 このような課題の一つとして考えられるのがSPDXの読みにくさ、理解しづらさだと考えられる。そこでそれを解消するための一手段として、SPDXの要約方法を検討する。SPDXの仕様の変更や記述の自由さを考えると、機械学習を用いた柔軟な要約システムの構築が考えられる。このようなシステムの設計を行う。 SPDXは普及の兆しは見られるとはいえ、まだそのサンプルは多いとは言えない。そこで多数のソフトウェアパッケージを対象として、それらのSPDXを生成し、パッケージとそのSPDXの対のデータベースを構築して公開し、SPDXの研究の材料となるようにする。これを効率的に行うためには、SPDX生成ツールを活用して自動生成を行う。現在SPDX生成ツールは多数提案されているが、それらの違い、問題点、効率などを評価し、そのデータも公開を目指す。 その他、コードクローンの生成、更新の履歴を分析し、危険なコードクローンを認識するための手法を開発する。履歴分析のためにGitのコミット履歴を利用し、効果的な分析を行なえるようにする。
|