cafebabe.jp 日々のよしなしごとをのたまうブログ.

204月/110

Stigmata

StigmataはJavaの静的バースマークを統一的に扱うためのツールで http://stigmata.sourceforge.jp/ で公開されている.

バースマークは本ブログでも何度か取り上げているが,プログラムの実行に必要不可欠な部分をプログラムの特徴として抽出し,得られた情報を比較することでプログラムの類似性を計測する技術のことである.主に大量のプログラムの中から,盗用されたプログラムを見つけ出すために用いられる.そして,どのような特徴に着目するかにより,様々な種類のバースマークを抽出することができる.

電子透かしと異なり,実行に不可欠な情報を扱うため,予め情報を埋め込んでおく必要がなく,また,複数のバースマークを同時に使うことができるため,非常に簡易に用いることができる.

http://cafebabe.jp/categories/works/birthmarks

このようなバースマーク(のうち,静的解析により得られる静的バースマーク)をStigmataは統一的に扱おうとしており,現在,7種類の静的バースマークをクラスファイルから直接抽出することができる.そして,抽出されたバースマークを総当たりで比較することや,比較結果のフィルタリングすることが可能である.