📍 動的バースマークの事前抽出
🗣 研究概要
盗用の疑いのあるプログラムを発見するために,プログラムの特徴を抽出・比較し類似度を算出するバースマーク手法が提案されている. バースマーク手法では,プログラム中の着目する特徴ごとに異なる手法が提案されている. 本稿では特にプログラムの実行時情報を扱う動的バースマークに着目する. 動的バースマークの抽出は,入力の準備とプログラムの実行が必要であることから,一般に抽出コストが高い. そこで本稿では,プログラムの単体テストを入力として扱い,また,アスペクト指向を利用し動的バースマーク抽出の自動化を目指す. これによりプログラム理解を省略でき,バースマーク処理全体に要する時間の大幅な削減が期待できる.
評価実験では,提案手法を用いて抽出した動的バースマークの保存性,弁別性を評価した. 異なるアーティファクト同士の比較結果は非常に低い類似度を示し(最大0.026,平均0.004), 同一アーティファクトの最新から2つのバージョン同士の比較結果は高い類似度となり(最大0.999,平均0.852),提案手法は保存性・弁別性を持つと言える. 次に提案手法,従来手法で抽出した動的バースマーク同士を比較した(実験2). 比較結果は異なるアーティファクト同士の比較では最大 0.039,平均 0.013,同一アーティファクト同士では最大 0.629,平均 0.235といずれも低い類似度であった. ただし,異なるアーティファクト同士の類似度は同一アーティファクトの結果結果に比べ,より顕著に低いため提案手法は有効であると考える. 最後に,ProGuardとyGuardを用いて提案手法の攻撃耐性を評価した. 実験2の結果との相関係数は0.834 (ProGuard),0.999 (yGuard)と非常に強い結果を示した($p<0.0001$).
(横井 昂典, 玉田 春昭, “単体テストコードとアスペクト指向を用いた動的バースマークの抽出コストの削減”, 情報処理学会論文誌, Vol. 60, No. 7, pp. 1247–1259, July, 2019. 概要より)