研究概要 |
本研究は,ソフトウェア変更が,その安全性(脆弱性)の増減にどのような影響を与えるのかを,ソースコード解析技術に基づき明らかにすることを目的としている.平成21年度は,大きく3つの研究を実施した. 1.ソースコード変更として,その手順が明確なリファクタリングを取り上げ,リファクタリングによる脆弱性の混入を評価する手法の検討を進めた.まず,アクセス修飾子の変化と情報フローの概念を組み合わせた評価基準に基づくリファクタリング支援ツールの構築を前年度から継続し,実際のソフトウェア開発環境において利用できるようにした.このツールは,統合開発環境Eclipseのプラグインとして動作し,2つのリファクタリング操作(Pull Up MethodとPush Down Method)に対する脆弱性の混入を検出し,開発者に警告する.さらに,このツールを用いて,現実のアプリケーションに対する評価実験を行い,その有効性と改良点を検討した. 2.アクセス修飾子の変化と情報フローに基づく評価基準を,ソースコード中の機密性違反の検出に応用し,アスペクト指向プログラミング言語のポイントカットとして,機密性違反を宣言的に記述できる手法を提案した.さらに,この手法を,AspectJのコンパイラとして実現した.提案するポイントカットをプログラム記述に導入することで,ソースコード変更と脆弱性混入の検出を切り離してソフトウェアを設計できる可能性があることを見つけた. 3.ソフトウェア変更と脆弱性の混入との関係を明確にするという観点から,ソースコードの変更履歴を細粒度で記録するツールの構築をさらに進め,実際のコード変更と脆弱性との関係を抽出する手法や形式化する手法を検討した.
|