134月/110
バースマーク (Birthmark)
プログラムの実行に必要不可欠な情報を,プログラムの特徴として抽出し,プログラムを識別するための技術がこのバースマークです.主に盗用されたプログラムを発見するために用いられます.プログラムのどんな情報に注目するか,その情報をどう扱うかによってバースマークの種類が異なります.
バースマークは電子透かしと異なり,予め情報を埋め込んでおく必要はありません.そのため,新たに提案されたバースマークを過去に配布されたプログラムに対して適用することが可能である反面,バースマークが偶然に一致する可能性があるため,盗用であることを証明することは難しくなっています.もちろん,何十何百の種類のバースマークが偶然に一致することは稀であると考えられるので,多くの種類のバースマークを用いれば盗用であることを証明することもできると考えられます.
バースマークは以下のように定義されます.
p, qを与えられたプログラムとする.f(p)をpからある方法fにより抽出された特徴の集合とする.このとき,以下の条件を満たすとき,f(p)をpのバースマークであるという.
- f(p)はプログラムpのみから得られる.
- qがpのコピーならば,f(p)=f(q)である.
また,バースマークは以下の性質を満たすこと望まれます.
- 保存性
- pから任意の投下変換により得られたp\'に対してf(p)=f(p\')を満たす.
- 弁別性
- 同じ仕様を持つpとqに対し,それらが全く独立に実装された場合,f(p) != f(q)となる.
バースマークは具体的には以下のものが提案されています.
- 静的バースマーク
- 変数初期値,継承関係,メソッド呼び出し系列,依存クラス,k-gram,...
- 動的バースマーク
- API呼出系列,API呼出頻度,プログラムパス,実行系列の抽象化,...
参考文献
- Takesi Kakimoto, Akito Monden, Yasutaka Kamei, Haruaki Tamada, Masateru Tsunoda, and Ken-ichi Matsumoto," Using Software Birthmarks to Identify Similar Classes and Major Functionalities," In Proc. the 3rd International Workshop on Mining Software Repositories (MSR Mining Challenge 2006), pp.171--172, Shanghai, China, May 2006.
- 林 晃一郎, 楓 基靖, 真野 芳久, "特徴抽出と抽象化による動的バースマークの構成とその検証", 情報処理学会研究報告,コンピュータセキュリティ,No.2005-CSEC-031, pp.31--36, December 2005.
- 岡本 圭司, 玉田 春昭, 中村 匡秀, 門田 暁人, 松本 健一, "API呼び出しを用いた動的バースマーク," 電子情報通信学会論文誌, Vol.J89-D, No.8, pp.1751-1763, Aug. 2006.
- 古田 壮宏, 真野 芳久, 実行系列の抽象表現を利用した動的バースマーク, 電子情報通信学会論文誌 Vol.J88-D1, No.10, pp.1595--1599, October 2005.
- Haruaki Tamada, Masahide Nakamura, Akito Monden, Ken-ichi Matsumoto, "Java Birthmarks --Detecting the Software Theft--," Journal of IEICE Transactions on Information and Systems, Vol. E88-D, No. 9, pp. 2148--2158, Sept 2005.
- Ginger Myles and Christian Collberg, "k-gram based software birthmarks," ACM 2005 Symposium on Applied Computing, pp.314--318, March 2005.
- 岡本 圭司, 玉田 春昭, 中村 匡秀, 門田 暁人, 松本 健一, "ソフトウェア実行時のAPI呼び出し履歴に基づく動的バースマークの実験的評価", 第46回プログラミング・シンポジウム報告集, pp. 41--50, Jan 2005.
- 岡本 圭司, 玉田 春昭, 中村 匡秀, 門田 暁人, 松本 健一, "ソフトウェア実行時のAPI呼び出し履歴に基づく動的バースマークの提案," ソフトウェア工学の基礎XI, 日本ソフトウェア科学会 FOSE2004 (FOSE2004), pp.85--88, Nov 2004.
- Haruaki Tamada, Keiji Okamoto, Masahide Nakamura, Akito Monden, Ken-ichi Matsumoto, "Dynamic Software Birthmarks to Detect the Theft of Windows Applications," In Proc. International Symposium on Future Software Technology 2004 (ISFST 2004), CD-ROM, Xi\'an, China, 20-22 Oct 2004.
- Ginger Myles and Christian Collberg, "Detecting Software Theft via Whole Program Path Birthmarks," Information Security Conference, Sept. 2004.
- Haruaki Tamada, Masahide Nakamura, Akito Monden, and Ken-ichi Matsumoto, "Design and Evaluation of Birthmarks for Detecting Theft of Java Programs," In Proc. IASTED International Conference on Software Engineering (IASTED SE 2004), pp. 569--575, Innsbruck, Austria, 17-19 Feb 2004.
- 玉田 春昭,神崎 雄一郎,中村 匡秀,門田 暁人,松本 健一, "Java クラスファイルからプログラム指紋を抽出する方法の提案", 信学技報 情報セキュリティ研究会, Vol. ISEC2003-29, pp.127--133, Jul 2003.