コンピュータ理工学部 コンピュータサイエンス学科 玉田 春昭 助教

ソフトウェアの盗用防止から盗用発見へ
指紋一致がヒントで生まれたバースマーク概念

ソフトウェアの盗用は見つけることが困難。
防止から発見へ視点変換。指紋一致をヒントに生まれたバースマーク概念は、大量のソフトウェアの盗用検査を高速に行う。
いかに疑わしきを見つけるかが課題である。

コンピュータ理工学部 コンピュータサイエンス学科 玉田 春昭 助教

バースマークはソフトウェアの盗用発見を目的にしたもの。
盗用防止から視点を変えることで生まれた技術です。

ソフトウェア盗用の事例

 バースマークという、ソフトウェアの盗用を発見するための技術を研究しています。
 今まではソフトウェアの保護という観点で「いかに防ぐか」、「盗用をいかに証明するか」、が中心に研究されていました。身近な例を挙げましょう。暗号化により保護されているはずのDVD。現在では比較的容易に、誰にでもコピーできるのが実状です。次世代のHD DVDとBlu-ray Discは、さらに進んだ防御がされていますが既に破られてしまっています。ではどうやって、防御が破られるのか。これらのメディアが再生されるとき、プロテクトが解除されます。その無防備な状態を横取りされてしまえばプロテクトの意味はなくなってしまいます。専用機器であれば、エンドユーザが触れない箇所で処理ができるので、あまり問題になりませんでした。しかし、近年コンピュータでDVDを再生することも増えています。このとき、DVDはソフトウェアで再生されます。専用機器と比べソフトウェアは処理内容の観察や変更が非常に簡単です。そのため、DVDなどのメディアを保護するだけでは不十分で、その再生ソフトウェアを含めた保護が必要となります。
 今度は盗用の事例として、“ペアーPC”(Windows上で動作するMacエミュレータ)を挙げます。無料公開のソフトウェアを、開発者とは別の会社が自社製品のように売り出した例です。
 この“ペアーPC”は自由に使えるオープンソースであるため、誰でも見ることができますし、また書き換えも可能です。ライセンスにもよりますが、多くの場合、書き換えた部分は書き換えた人のものとなります。書き換えは「このソースを基にした」と明言(オープン)されていれば基本的には問題はありません。問題の大半は、それが明言されてないことです。書き換えの際、ソースをまるごと取り込み、少しだけ換えて、今度はオープンにせずクローズドのまま出される場合があります。この時、ソースコードがオープンになっているものと、なっていないものを比較するのは困難です。ソースコードからプログラムへの変換に、コンパイルが必要となるためです。コンパイルとは、翻訳のような作業です。翻訳者(コンパイラ)が違えば、同じ意味でもニュアンスや言い回しが変わってしまうように、ソフトウェアでも細部が違ってしまいます。そのため、プログラム同士を単純比較しても、全くの別物として認識されてしまいます。これは、私がインターネット公開している『ソフトウェアの盗用の事例』に詳しくありますので、ご参照ください(図1参照)。
 このように、盗用発見は非常に困難なのです。現代のようなネット社会では、世界中どこで盗用されるのかわかりません。そこで視点を換え、いかに盗用を発見するかに着目しました。これが私の第一の研究テーマです。

この研究は、異なるソフトウェアの特徴(バースマーク)を取り出して比較し、
バイナリレベルで比較できないかがきっかけです

 私は推理小説が好きなのですが、たとえば事件が起こった時、現場に指紋が残っていれば、それで犯人が判明します。指紋の合致は、丸くなっている所や分割している所、その特徴点がいくつ一致するかで検証します。これをソフトウェアに応用できないかと考えました。異なるソフトウェアの特徴点(バースマーク)を取り出し、比較することでプログラム(=バイナリ)レベルで比較できないかと思ったのがきっかけです(図2参照)。バースマークという概念は以前からありましたが、改めて定式化し、定義し直したことが評価されているようです。私も4種類のシンプルなバースマークを示しましたが、さまざまな国の研究者がそこから新たなバースマークを提案しています。
 盗用は違法行為であるという常識は世界的に広まってきており、日本では違法コピーはかなり少なくなってきています(2007年の違法コピー率が23%で下位から4位)。しかし、中・東欧、中南米、中東・アフリカ、アジアの一部ではいまだに多いのが現状です。これらのことは、BSA(Business Software Alliance)がレポートとして発表しています。BSAは、いかに盗用に問題があるかを啓蒙し、防ごうという団体で、世界中で起こったソフトウェア盗用率や被害額をまとめています(図3参照)。
 盗用は意図せずに行われてしまうこともあります。ソフトウェアのライセンス使用条件に対する無知や勉強不足によるものです。エプソンコーワ(現アヴァシス株式会社)ではGPL(GNU Public License; オープンソースライセンスの一つ)違反を知らずに行っていました。GPLでは、ソースコードを改変して公開するとき、ライセンスを変えることは認められていないので、変更した箇所を含むすべてのソースコードを公開する必要があります。エプソンコーワはGPLのソフトウェアを使っていたにもかかわらず、すべてのソースコードを公開していなかったため、問題となりました。ただし、発覚後、すぐにGPLに合致するようきちんと対応したので、オープンソース界からは素晴らしい対応だったと称賛されました。
 オープンソースを巡る問題は近年増加していますが、オープンソースを使うときに守らねばならない条項の理解が難しいこともあり、あまり浸透していないせいです。そのため、オープンソースソフトウェアを使わない方針をとっている企業もあり、オープンソース自体が組み込まれていないかを調査したいという要望もあります。そのような企業に、バースマークでの検査が可能であるという紹介をさせていただいたこともあります。

非常に高速で大量の盗用検査ができるバースマークを、
今後はソフトウェアの管理や保守に使えないかと考えています

 ソフトウェアの管理や保守に使えないかと、考えています。
 バースマークの目的は、いかに盗用らしきものを見つけるかということです。一方、ソフトウェア開発でソフトウェアの機能を拡張するとき、以前の開発で作った部品を持ってきて、少し改造してから新たな部品として用いる場合が少なくありません。似たような機能を持つ部品は一つの部品にまとめるのがソフトウェア開発のセオリーなのですが、色々なところに点在していると、どこに似た部品があるのかを見つけることが困難です。そこで、バースマークを使って見つけられないかと考えています。これは非常に高速で大量の盗用検査ができるという利点を活かしたもので、ソフトウェアの保守が容易になると思っています。
 私の研究はソフトウェアの盗用を防ぐことですが、「防ぐこと」と「破ること」は技術的には同じことです。この研究に携わる者の一人として、志を高く持つこと、そして技術だけでなく法律面からの整備も望んでいます。

PAGE TOP