説明

不正使用ソフトウェア検出システム、不正使用ソフトウェア検出方法及び不正使用ソフトウェア検出プログラム

【課題】アクティベーションに関する情報に基づいて、より正確に不正使用ソフトウェアを検出する。
【解決手段】管理サーバが、ネットワーク上に流出しているアクティベーション情報に基づいて検出用パターンファイルを作成し、作成した検出用パターンファイルをアクティベーション情報格納領域に登録する。端末が、管理サーバから検出用パターンファイルを取得し、端末自身に格納されているアクティベーション対象情報の内容が、取得した検出用パターンファイルに含まれている初期データと異なっているか否かを判別する。判別の結果、初期データと異なっていた場合は検出用パターンファイルに関連する或るソフトウェアについて不正使用の可能性があると判断し、ソフトウェア不正使用可能性情報を作成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は不正使用ソフトウェアの検出に関し、より詳細には、流出したアクティベーション情報の使用有無の判別に関する。
【背景技術】
【0002】
一般的な技術では、コンピュータにインストールしている不正使用ソフトウェアを検出する場合、インストール済みソフトウェアを検出し、ソフトウェア名称を表示し、保有しているソフトウェアライセンスの情報と照合する。これにより検出したソフトウェアが不正使用されているか否か判断することが可能となる。
【0003】
しかし、ソフトウェアには、シェアウェアのような不特定多数の種類が存在する。また、インストール後、一定の試用期間が認められているソフトウェアの場合、検出したソフトウェア名称と保有しているソフトウェアライセンスの情報と照合するだけでは不正使用の判断ができないという問題があった。
【0004】
このような、不正使用ソフトウェアの検出に関する技術の一例が特許文献1に記載されている。
【0005】
特許文献1では、ソフトウェアの著作権や使用許諾権を遵守、管理することを目的としたソフトウェアのインストール、使用判定を行う方法として、コンピュータの使用前、使用中、使用後の各時点において、実行形式ファイルを検出しファイル情報を取得し、判定に用いる方法が提案されている。この特許文献1に記載の方法ではユーザによるコンピュータの使用前と使用後の実行形式ファイルの有無の差異により新規インストールの有無を判定する。またログファイルの内容差異によりソフトウェアの使用、未使用を判定する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−235773号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述したように、特許文献1に記載の方法を用いることによりインストール有無差に基づいて判定をすることが可能となる。
【0008】
しかしながら、インストール有無差のみでは有償ソフトウェアかどうかの判別が難しく、正確にソフトウェアの著作権や使用許諾権違反を判断することはできなかった。加えて実行形式ファイルのみの検知が対象であった。また、ソフトウェアの著作権や使用許諾権違反の観点からは検知する必要がない、無償ソフトウェアも検知してしまうという弊害もあった。更に、ログファイルの内容差異による使用判断でも、有償ソフトウェアの試用期間の判断ができない、ログを出力しないソフトウェアの検知ができない、逆に検知しなくてよい無償ソフトウェアも同様に検知するという弊害もあった。
【0009】
そこで、本発明は、アクティベーションに関する情報に基づいて、より正確に不正使用ソフトウェアを検出することが可能な、不正使用ソフトウェア検出システム、不正使用ソフトウェア検出方法及び不正使用ソフトウェア検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の第1の観点によれば、ネットワークに接続された管理サーバと、前記管理サーバに接続された端末と、を有する不正使用ソフトウェア検出システムにおいて、前記管理サーバが、或るソフトウェアに関連するファイルであって、アクティベーションの前後で変更される情報が格納されている領域を示すアクティベーション対象情報と、前記アクティベーション対象情報の領域内のアクティベーション前の値である初期データと、を少なくとも含むファイルである検出用パターンファイルを格納するアクティベーション情報格納領域と、前記ネットワーク上に流出しているアクティベーション情報を取得し、当該アクティベーション情報に基づいて前記検出用パターンファイルを作成し、当該作成した検出用パターンファイルを前記アクティベーション情報格納領域に登録するアクティベーション情報登録手段と、を備え、前記端末が、前記管理サーバから前記検出用パターンファイルを取得し、当該端末自身に格納されている前記アクティベーション対象情報の内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別するアクティベーション判別手段と、前記判別の結果、前記初期データと異なっていた場合は前記検出用パターンファイルに関連する前記或るソフトウェアについて不正使用の可能性があると判断し、当該端末を特定するための情報、当該或るソフトウェアを特定するための情報、及び、前記初期データと異なっていた前記アクティベーション対象情報の内容、を少なくとも含んだソフトウェア不正使用可能性情報を作成するアクティベーション登録手段と、を備えることを特徴とする不正使用ソフトウェア検出システム が提供される。
【0011】
本発明の第2の観点によれば、ネットワークに接続された管理サーバに接続された不正使用ソフトウェア検出端末において、前記管理サーバが前記ネットワーク上に流出しているアクティベーション情報に基づいて作成した、或るソフトウェアに関連するファイルであって、アクティベーションの前後で変更される情報が格納されている領域を示すアクティベーション対象情報と、前記アクティベーション対象情報の領域内のアクティベーション前の値である初期データと、を少なくとも含むファイルである検出用パターンファイルを取得し、当該端末自身に格納されている前記アクティベーション対象情報の内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別するアクティベーション判別手段と、前記判別の結果、前記初期データと異なっていた場合は前記検出用パターンファイルに関連する前記或るソフトウェアについて不正使用の可能性があると判断し、当該端末を特定するための情報、当該或るソフトウェアを特定するための情報、及び、前記初期データと異なっていた前記アクティベーション対象情報の内容、を少なくとも含んだソフトウェア不正使用可能性情報を作成するアクティベーション登録手段と、を備えることを特徴とする不正使用ソフトウェア検出端末が提供される。
【0012】
本発明の第3の観点によれば、ネットワークに接続された管理サーバと、前記管理サーバに接続された端末と、を有する不正使用ソフトウェア検出方法において、前記管理サーバが、或るソフトウェアに関連するファイルであって、アクティベーションの前後で変更される情報が格納されている領域を示すアクティベーション対象情報と、前記アクティベーション対象情報の領域内のアクティベーション前の値である初期データと、を少なくとも含むファイルである検出用パターンファイルを格納するアクティベーション情報格納領域を用意するステップと、前記管理サーバが、前記ネットワーク上に流出しているアクティベーション情報を取得し、当該アクティベーション情報に基づいて前記検出用パターンファイルを作成し、当該作成した検出用パターンファイルを前記アクティベーション情報格納領域に登録するアクティベーション情報登録ステップと、前記端末が、前記管理サーバから前記検出用パターンファイルを取得し、当該端末自身に格納されている前記アクティベーション対象情報の内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別するアクティベーション判別ステップと、前記端末が、前記判別の結果、前記初期データと異なっていた場合は前記検出用パターンファイルに関連する前記或るソフトウェアについて不正使用の可能性があると判断し、当該端末を特定するための情報、当該或るソフトウェアを特定するための情報、及び、前記初期データと異なっていた前記アクティベーション対象情報の内容、を少なくとも含んだソフトウェア不正使用可能性情報を作成するアクティベーション登録ステップと、を備えることを特徴とする不正使用ソフトウェア検出方法が提供される。
【0013】
本発明の第4の観点によれば、ネットワークに接続された管理サーバに接続された端末に組み込まれる不正使用ソフトウェア検出プログラムにおいて、前記管理サーバが前記ネットワーク上に流出しているアクティベーション情報に基づいて作成した、或るソフトウェアに関連するファイルであって、アクティベーションの前後で変更される情報が格納されている領域を示すアクティベーション対象情報と、前記アクティベーション対象情報の領域内のアクティベーション前の値である初期データと、を少なくとも含むファイルである検出用パターンファイルを取得し、当該端末自身に格納されている前記アクティベーション対象情報の内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別するアクティベーション判別手段と、前記判別の結果、前記初期データと異なっていた場合は前記検出用パターンファイルに関連する前記或るソフトウェアについて不正使用の可能性があると判断し、当該端末を特定するための情報、当該或るソフトウェアを特定するための情報、及び、前記初期データと異なっていた前記アクティベーション対象情報の内容、を少なくとも含んだソフトウェア不正使用可能性情報を作成するアクティベーション登録手段と、を備える端末が提供される。
【発明の効果】
【0014】
本発明によれば、流出しているアクティべーション情報と、コンピュータに格納されているアクティベーション情報を照合することから、アクティベーションに関する情報に基づいて、より正確に不正使用ソフトウェアを検出することが可能となる。
【図面の簡単な説明】
【0015】
【図1】本発明の実施形態の基本的構成を表す図である。
【図2】本発明の実施形態におけるアクティベーション情報登録部の基本的動作について示すフローチャートである。
【図3】本発明の実施形態におけるソフトウェアアクティベーション情報の具体例を示す図である。
【図4】本発明の実施形態におけるバイナリアクティベーション情報の具体例を示す図である。
【図5】本発明の実施形態におけるテキストアクティベーション情報の具体例を示す図である。
【図6】本発明の実施形態におけるレジストリアクティベーション情報の具体例を示す図である。
【図7】本発明の実施形態におけるアクティベーション判別/登録部の基本的動作について示すフローチャート(1/4)である。
【図8】本発明の実施形態におけるアクティベーション判別/登録部の基本的動作について示すフローチャート(2/4)である。
【図9】本発明の実施形態におけるアクティベーション判別/登録部の基本的動作について示すフローチャート(3/4)である。
【図10】本発明の実施形態におけるアクティベーション判別/登録部の基本的動作について示すフローチャート(4/4)である。
【図11】本発明の実施形態におけるソフトウェア不正使用可能性情報の具体例を示す図である。
【発明を実施するための形態】
【0016】
まず、本発明の実施形態の概略を説明する。本発明の実施形態は、概略、不正使用ソフトウェア検出において、コンピュータにインストールしている不正使用ソフトウェアを検出する場合に、流出したアクティベーション情報の使用有無を判別する機構を使用することにより、不正使用の可能性のあるソフトウェアを使用しているコンピュータの検出ができるというものである。
【0017】
次に、本発明の実施形態について図面を用いて詳細に説明する。
【0018】
図1は、本発明の実施形態である不正使用ソフトウェア検出システムの構成例を示すブロック図である。図1を参照すると本実施形態は、クライアント端末100、管理サーバ200及びインターネットサーバ300を有している。また、クライアント端末100と、管理サーバ200はネットワーク400を介して接続されている。更に、管理サーバ200と、インターネットサーバ300はインターネット500を介して接続されている。なお、ネットワーク400は具体的にどのような接続方式に準拠したネットワークであってもよい。例えば、LAN(Local Area Network)により実現されてもよいし、公衆回線網を利用した通信により実現されてもよい。また、インターネット500も、インターネット以外のネットワークにより実現されてもよい。加えて、ネットワーク400及びインターネット500は有線接続により実現されてもよいが、その一部又は全部が無線接続により実現されてもよい。
【0019】
クライアント端末100は、ユーザにより使用されるコンピュータである。クライアント端末100はどのような機器により実現されてもよく、例えばPC(Personal computer)により実現される。また、クライアント端末100は、アクティベーション判別/登録部101、バイナリアクティベーション情報格納領域102、テキストアクティベーション情報格納領域103、レジストリアクティベーション情報格納領域104及びファイル/レジストリ情報格納領域105を有する。
【0020】
アクティベーション判別/登録部101は、クライアント端末100が有する各領域から情報を読み込み、判別を行う。具体的には調査対象コンピュータであるクライアント端末100の全ファイル、全レジストリ情報と、各アクティベーション情報格納領域に格納されているファイル名/レジストリキーが一致するか判定を行う。一致した場合、アクティベーション対象アドレス/ファイル項目、レジストリキーの内容がアクティベーション前初期情報と異なっているか判別する。異なっていた場合は、アクティベーション実施の可能性ありと判断し、サーバのソフトウェア不正使用可能性情報格納領域205にコンピュータ名、コンピュータIPアドレス、アクティベーション識別(バイナリ、テキスト、レジストリ)、ソフトウェア名称、ソフトウェアバージョン、ソフトウェアファイル名/レジストリキー、アクティベーション対象情報、アクティベーション前初期データ、アクティベーション領域検出データ(差異検出情報)を格納する。
【0021】
バイナリアクティベーション情報格納領域102、テキストアクティベーション情報格納領域103及びレジストリアクティベーション情報格納領域104は管理サーバ200より送られてきた検出用パターンファイルを格納するための領域である。
【0022】
また、ファイル/レジストリ情報格納領域105は、クライアント端末100の全ファイル情報/全レジストリ情報を格納するための領域である。
【0023】
管理サーバ200は、クライアント端末100の管理者により用いられるサーバである。管理サーバ200は、アクティベーション情報登録部201、バイナリアクティベーション情報格納領域202、テキストアクティベーション情報格納領域203、レジストリアクティベーション情報格納領域204、ソフトウェア不正使用可能性情報格納領域205及び出力部206を有する。
【0024】
アクティベーション情報登録部201は、インターネットサーバ300により実現されるインターネット上のソフトウェアアクティベーション情報掲載Webサイトのソフトウェアアクティベーション情報を元に検出用パターンファイルを作成する。具体的にはアクティベーション後データを除く情報を、バイナリ情報、テキスト情報、レジストリ情報毎に分別することにより検出用パターンファイルを作成する。また、アクティベーション情報登録部201は、作成した検出用パターンファイルの複製を、クライアント端末100に送付する。なお、上記のソフトウェアアクティベーション情報掲載Webサイトのソフトウェアアクティベーション情報は、不正に流出してしまっているソフトウェアアクティベーション情報であるものとする。
【0025】
バイナリアクティベーション情報格納領域202、テキストアクティベーション情報格納領域203及びレジストリアクティベーション情報格納領域204はアクティベーション情報登録部201が作成した検出用パターンファイルを格納するための領域である。
【0026】
また、ソフトウェア不正使用可能性情報格納領域205は、アクティベーション判別/登録部101の判別結果を格納するための領域である。
【0027】
出力部206は、アクティベーション判別/登録部101の判別結果を管理者に提示する。具体的にはディスプレイに表示する、又は紙媒体に印刷する、等することにより提示をする。管理者は出力された情報を不正使用の調査に利用することができる。
【0028】
インターネットサーバ300は、Webサイトの管理者が用いるサーバである。インターネットサーバ300は、インターネット上のソフトウェアアクティベーション情報掲載Webサイトを実現する。また、インターネットサーバ300は、ソフトウェアアクティベーション情報を格納するための領域であるソフトウェアアクティベーション情報格納領域301を有している。ここで、ソフトウェアアクティベーション情報とは、ソフトウェア(有償のもの)を使用可能にするための情報である。アクティベーション用情報としては例えば、アクティベーション識別(バイナリ、テキスト、レジストリといった区別をする)ソフトウェア名、ソフトウェアバージョン、ソフトウェアファイル名(アクティベーション格納ファイル名/レジストリキー)、アクティベーション対象情報(バイナリアドレス、ファイル項目、レジストリキー)、アクティベーション前初期データ、アクティベーション後データといった情報を用いる。
【0029】
なお、上述した各領域はクライアント端末100、管理サーバ200及びインターネットサーバ300がそれぞれ有する記憶装置により実現される。この記憶装置は、例えばHDD(Hard disk drive)やFlash SSD(Solid State Drive)により実現される。また、クライアント端末100及び管理サーバ200がそれぞれ有する記憶装置には、予め管理者により検出プログラムがインストールされている。そして、これらの検出プログラムを、クライアント端末100及び管理サーバ200が有する中央演算処理装置(CPU:Central Processing Unit)が読み込み演算処理を行うことにより、アクティベーション判別/登録部101及びアクティベーション情報登録部201は実現される。
【0030】
次に、本実施形態の動作について説明する。図2及び図7乃至図10は、本実施形態のデータ処理を示すフローチャートである。また、図3乃至図6及び図11は、各種情報を蓄積しておくテーブルの構成の具体例を表したものである。これらの図を参照して本実施形態の判断条件、項目内容を説明する。
【0031】
図2は、アクティベーション情報登録部201の動作を説明するフローチャートである。なお、図2に示す動作を説明するにあたり図1、図3乃至図5を参照する。
【0032】
まず、アクティベーション情報登録部201は、インターネット500を介してソフトウェアアクティベーション情報格納領域301からソフトウェアアクティベーション情報を読み出す(ステップS11)。ソフトウェアアクティベーション情報には、図3に示すアクティベーション識別601〜アクティベーション後初期データ607が含まれている。
【0033】
アクティベーションの識別情報がバイナリであれば(ステップS12においてYes)、バイナリアクティベーション情報書き出しを行う(ステップS13)。具体的には、図4に示すソフトウェア名701〜アクティベーション前初期データ705までの情報をバイナリアクティベーション情報格納領域202に書き出す。
【0034】
一方(ステップS12においてNo)、アクティベーションの識別情報がテキストであれば(ステップS14においてYes)、テキストアクティベーション情報書き出しを行う(ステップS15)。具体的には、図5に示すソフトウェア名801〜アクティベーション前初期データ805までの情報をテキストアクティベーション情報格納領域203に書き出す。
【0035】
他方、(ステップS14においてNo)、アクティベーションの識別情報がレジストリであれば(ステップS16においてYes)、レジストリアクティベーション情報書き出しを行う(ステップS17)。具体的には、図6に示すソフトウェア名901〜アクティベーション前初期データ905までの情報をレジストリアクティベーション情報格納領域204に書き出す。
【0036】
その後、インターネットを介してソフトウェアアクティベーション情報格納領域301から全てのソフトウェアアクティベーション情報を読み出すまで動作を継続する(ステップS18においてNo)。そして、全てのデータを読み終えると動作を終了する(ステップS18においてYes)。
【0037】
図3は、ソフトウェアアクティベーション情報600の具体例を示す図である。ソフトウェアアクティベーション情報600は、ソフトウェアアクティベーション情報格納領域301に格納される。また、ソフトウェアアクティベーション情報600は、インターネット上に存在するソフトウェア(有償)のアクティベーション情報を登録しているテーブルである。
【0038】
ソフトウェアアクティベーション情報600は、アクティベーション識別601、ソフトウェア名602、ソフトウェアバージョン603、ソフトウェアファイル名/レジストリキー名604、アクティベーション対象情報605、アクティベーション前初期データ606、アクティベーション後初期データ607を有する。
【0039】
アクティベーション識別601は、アクティベーション情報の形式がバイナリ、テキスト、レジストリの何れであるかを識別するための情報である。ソフトウェア名602及び
ソフトウェアバージョン603はそれぞれ、ソフトウェアの名称とそのバージョンを示す。
【0040】
ソフトウェアファイル名/レジストリキー名604は、ソフトウェアの具体的なファイル名若しくはレジストリキー名である。
【0041】
アクティベーション対象情報605は、バイナリでは書き換え対象の16進アドレス、テキストではファイル内の項目名、レジストリではレジストリキーの項目名、により表現される。アクティベーション前初期データ606は、アクティベーションされる前の値である。また、アクティベーション後初期データ607は、ソフトウェアがアクティベーション登録(無期限使用可等の状態)された状態の値である。
【0042】
図4は、バイナリアクティベーション情報700の具体例を示す図である。バイナリアクティベーション情報700は、バイナリアクティベーション情報格納領域102及びバイナリアクティベーション情報格納領域202に格納される。また、バイナリアクティベーション情報700は、ソフトウェアアクティベーション情報600からバイナリアクティベーションに関する情報を抽出したテーブルである。バイナリアクティベーション情報700は、ソフトウェア名701、ソフトウェアバージョン702、ソフトウェアファイル名703、アクティベーション対象情報704、アクティベーション前初期データ705を有する。
【0043】
図5は、テキストアクティベーション情報800の具体例を示す図である。テキストアクティベーション情報800は、テキストアクティベーション情報格納領域103及びテキストアクティベーション情報格納領域203に格納される。また、テキストアクティベーション情報800は、ソフトウェアアクティベーション情報600からテキストアクティベーションに関する情報を抽出したテーブルである。テキストアクティベーション情報800は、ソフトウェア名801、ソフトウェアバージョン802、ソフトウェアファイル名803、アクティベーション対象情報804、アクティベーション前初期データ805を有する。
【0044】
図6は、レジストリアクティベーション情報900の具体例を示す図である。レジストリアクティベーション情報900は、レジストリアクティベーション情報格納領域104及びレジストリアクティベーション情報格納領域204に格納される。また、レジストリアクティベーション情報900は、ソフトウェアアクティベーション情報600からレジストリアクティベーションに関する情報を抽出したテーブルである。レジストリアクティベーション情報900は、ソフトウェア名901、ソフトウェアバージョン902、レジストリキー名903、アクティベーション対象情報904、アクティベーション前初期データ905を有する。
【0045】
図7は、アクティベーション判別/登録部101の動作全体を示すフローチャートである。アクティベーション判別/登録部101の動作は3つの処理に大きく分類できる。具体的には、バイナリアクティベーション情報照合処理(ステップS21:詳細は図8に示す)、テキストアクティベーション情報照合処理(ステップS22:詳細は図9に示す)、レジストリアクティベーション情報照合処理(ステップS23:詳細は図10に示す)の3つである。続いて図8乃至図10を参照して各ステップの詳細について説明する。
【0046】
図8は、図7中のバイナリアクティベーション情報照合処理(ステップS21)の動作をフローチャートに基づいて説明している。
【0047】
アクティベーション判別/登録部101は、ファイル/レジストリ情報格納領域105からファイル情報としてファイル名を読み出す(ステップS21−1)。
【0048】
ソフトウェアファイル名が図4のソフトウェアファイル名703(SOFT−A.EXE、SOFT−B.DLL)と一致しているか照合する(ステップS21−2)。一致した場合は(ステップS21−2においてYes)、バイナリモードでファイルを開き(ステップS21−3)、図4のアクティベーション対象情報704(16進の193F、6BB6)の領域の内容を図4のアクティベーション前初期データ705(00、00)と照合する(ステップS21−4)。異なっていた場合は(ステップS21−4においてYes)、不正アクティベーションの可能性ありとみなし、ソフトウェア不正使用可能性情報格納領域205に図11の検出コンピュータ名1001〜アクティベーション領域検出データ1009までの情報を書き込む(ステップS21−5)。
【0049】
その後、コンピュータ上の全てのファイル情報を読み出すまで動作を継続する(ステップS21−2においてNo、ステップS21−4においてNo、ステップS21−6においてNo)。そして、全てのファイル情報を読み終えると動作を終了する(ステップS21−6においてYes)。
【0050】
図9は、図7中のテキストアクティベーション情報照合処理(ステップS22)の動作をフローチャートに基づいて説明している。
【0051】
アクティベーション判別/登録部101は、ファイル/レジストリ情報格納領域105からファイル情報としてファイル名を読み出す(ステップS22−1)。
【0052】
ファイル名が図5のソフトウェアファイル名801(SOFT−C.INI)と一致しているか照合する(ステップS22−2)。一致した場合は(ステップS22−2においてYes)、テキストモードでファイルを開き(ステップS22−3)、図5のアクティベーション対象情報804(項目名Licensekey)の領域の内容を図5のアクティベーション前初期データ805(00000−00000)と照合する(ステップS22−4)。異なっていた場合は(ステップS22−4においてYes)、不正アクティベーションの可能性ありとみなし、ソフトウェア不正使用可能性情報格納領域205に図11の検出コンピュータ名1001〜アクティベーション領域検出データ1009までの情報を書き込む(ステップS22−5)。
【0053】
その後、コンピュータ上の全てのファイル情報を読み出すまで動作を継続する(ステップS22−2においてNo、ステップS22−4においてNo、ステップS22−6においてNo)。そして、全てのファイル情報を読み終えると動作を終了する(ステップS22−6においてYes)。
【0054】
図10は、図7中のレジストリアクティベーション情報照合処理(ステップS23)の動作をフローチャートに基づいて説明している。
【0055】
アクティベーション判別/登録部101は、ファイル/レジストリ情報格納領域105からレジストリ情報を読み出す(ステップS23−1)。
【0056】
レジストリキー名が図6のレジストリキー名903(HKEY_LOCAL_MACHINE¥SOFTWARE¥SOFT−D¥1.0.0¥KEY)と一致しているか照合する(ステップS23−2)。一致した場合は(ステップS23−2においてYes)、図6のアクティベーション対象情報904(項目名REG_DWARD)の領域の内容を図6のアクティベーション前初期データ905(00000000)と照合する(ステップS23−3)。異なっていた場合は不正アクティベーションの可能性ありとみなし、ソフトウェア不正使用可能性情報格納領域205に図11の検出コンピュータ名1001〜アクティベーション領域検出データ1009までの情報を書き込む(ステップS23−4)。
【0057】
その後、コンピュータ上の全てのファイル情報を読み出すまで動作を継続する(ステップS23−2においてNo、ステップS23−5においてNo)。そして、全てのファイル情報を読み終えると動作を終了する(ステップS23−5においてYes)。
【0058】
図11は、ソフトウェア不正使用可能性情報1000の具体例を示す図である。ソフトウェア不正使用可能性情報1000は、ソフトウェア不正使用可能性情報格納領域205
に格納される。また、ソフトウェア不正使用可能性情報1000は、ソフトウェア不正アクティベーションを実施した可能性のあるコンピュータ情報を抽出したテーブルである。ソフトウェア不正使用可能性情報1000は、検出コンピュータ名1001、IPアドレス1002、アクティベーション識別1003、ソフトウェア名1004、ソフトウェアバージョン1005、ソフトウェアファイル名/レジストリキー名1006、アクティベーション対象情報1007、アクティベーション前初期データ1008、アクティベーション領域検出データ1009を有する。なお、本実施形態においては、検出コンピュータ名1001における「computer A」は、クライアント端末100に相当する。
【0059】
また、ソフトウェア不正使用可能性情報1000は出力部206から出力される。
【0060】
管理者は出力部206から出力された情報を不正使用の調査に利用することができる。そして、検出したソフトウェアを購入していない場合は、管理者が検出したコンピュータ利用者に確認し対応することでソフトウェアの不正使用を防ぐことができる。
【0061】
上述の実施形態では、バイナリアクティベーション、テキストアクティベーション、レジストリアクティベーションを例に取って説明をした。もっとも、本実施形態で取得するインターネット上のソフトウェアアクティベーション情報格納領域301の情報を継続的に収集すれば、実施例に記載したバイナリアクティベーション、テキストアクティベーション、レジストリアクティベーション以外の別のアクティベーション手法となった場合でも検出プログラムを修正することにより容易に対応可能である。
【0062】
また、上述の実施形態では、保有ライセンスソフトウェア以外の不特定多数の不正アクティベーションを実行(ライセンス未購入)している不正使用の可能性があるソフトウェアが検出できる。これにより、ライセンス違反に伴う訴訟等莫大な損害を受けるリスクを管理者が未然に把握し、対応することで最小限にとどめることができる。
【0063】
更に、上記実施形態では、検出プログラムが、記憶装置に予め記憶されているものとして説明した。しかし、装置の全部又は一部として動作させ、あるいは、上述の処理を実行させるためのプログラムを、フレキシブルディスク、CD−ROM(Compact Disc Read-Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto Optical Disk(Disc))BD(Blu-ray Disc)等のコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【0064】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波にプログラムを重畳させて、コンピュータにダウンロード等してプログラムを実行してもよい。
【0065】
なお、本発明の実施形態である、クライアント端末100、管理サーバ200及びインターネットサーバ300は、ハードウェアにより実現することもできるが、コンピュータをそのクライアント端末100、管理サーバ200及びインターネットサーバ300として機能させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【0066】
また、本発明の実施形態による不正使用ソフトウェア検出方法は、ハードウェアにより実現することもできるが、コンピュータにその方法を実行させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【0067】
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【0068】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0069】
(付記1) ネットワークに接続された管理サーバと、前記管理サーバに接続された端末と、を有する不正使用ソフトウェア検出システムにおいて、
前記管理サーバが、
或るソフトウェアに関連するファイルであって、アクティベーションの前後で変更される情報が格納されている領域を示すアクティベーション対象情報と、前記アクティベーション対象情報の領域内のアクティベーション前の値である初期データと、を少なくとも含むファイルである検出用パターンファイルを格納するアクティベーション情報格納領域と、
前記ネットワーク上に流出しているアクティベーション情報を取得し、当該アクティベーション情報に基づいて前記検出用パターンファイルを作成し、当該作成した検出用パターンファイルを前記アクティベーション情報格納領域に登録するアクティベーション情報登録手段と、を備え、
前記端末が、
前記管理サーバから前記検出用パターンファイルを取得し、当該端末自身に格納されている前記アクティベーション対象情報の内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別するアクティベーション判別手段と、
前記判別の結果、前記初期データと異なっていた場合は前記検出用パターンファイルに関連する前記或るソフトウェアについて不正使用の可能性があると判断し、当該端末を特定するための情報、当該或るソフトウェアを特定するための情報、及び、前記初期データと異なっていた前記アクティベーション対象情報の内容、を少なくとも含んだソフトウェア不正使用可能性情報を作成するアクティベーション登録手段と、
を備えることを特徴とする不正使用ソフトウェア検出システム。
【0070】
(付記2) 前記端末が備えている前記アクティベーション判別手段は、
当該端末自身に格納されている全てのファイルのファイル名を検索し、前記検出用パターンファイルに含まれているファイル名と一致するファイルが存在した場合、当該ファイルの形式に応じて、バイナリモード又はテキストモードで当該ファイルを開き、当該開いたファイルの前記アクティベーション対象情報の内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別することを特徴とする付記1に記載の不正使用ソフトウェア検出システム。
【0071】
(付記3) 前記端末が備えている前記アクティベーション判別手段は、
当該端末自身に格納されている全てのレジストリキー名を検索し、前記検出用パターンファイルに含まれているレジストリキー名と一致するレジストリキーが存在した場合、当該レジストリキーの内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別することを特徴とする付記1又は2に記載の不正使用ソフトウェア検出システム。
【0072】
(付記4) 前記管理サーバは、
前記アクティベーション登録手段が前記作成したソフトウェア不正使用可能性情報を格納するソフトウェア不正使用可能性情報格納領域と、
前記ソフトウェア不正使用可能性情報格納領域に格納されているソフトウェア不正使用可能性情報を外部に出力する出力手段と、
を更に備えていることを特徴とする付記1乃至3の何れか1に記載の不正使用ソフトウェア検出システム。
【0073】
(付記5) ネットワークに接続された管理サーバに接続された不正使用ソフトウェア検出端末において、
前記管理サーバが前記ネットワーク上に流出しているアクティベーション情報に基づいて作成した、或るソフトウェアに関連するファイルであって、アクティベーションの前後で変更される情報が格納されている領域を示すアクティベーション対象情報と、前記アクティベーション対象情報の領域内のアクティベーション前の値である初期データと、を少なくとも含むファイルである検出用パターンファイルを取得し、当該端末自身に格納されている前記アクティベーション対象情報の内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別するアクティベーション判別手段と、
前記判別の結果、前記初期データと異なっていた場合は前記検出用パターンファイルに関連する前記或るソフトウェアについて不正使用の可能性があると判断し、当該端末を特定するための情報、当該或るソフトウェアを特定するための情報、及び、前記初期データと異なっていた前記アクティベーション対象情報の内容、を少なくとも含んだソフトウェア不正使用可能性情報を作成するアクティベーション登録手段と、
を備えることを特徴とする不正使用ソフトウェア検出端末。
【0074】
(付記6) ネットワークに接続された管理サーバと、前記管理サーバに接続された端末と、を有する不正使用ソフトウェア検出方法において、
前記管理サーバが、或るソフトウェアに関連するファイルであって、アクティベーションの前後で変更される情報が格納されている領域を示すアクティベーション対象情報と、前記アクティベーション対象情報の領域内のアクティベーション前の値である初期データと、を少なくとも含むファイルである検出用パターンファイルを格納するアクティベーション情報格納領域を用意するステップと、
前記管理サーバが、前記ネットワーク上に流出しているアクティベーション情報を取得し、当該アクティベーション情報に基づいて前記検出用パターンファイルを作成し、当該作成した検出用パターンファイルを前記アクティベーション情報格納領域に登録するアクティベーション情報登録ステップと、
前記端末が、前記管理サーバから前記検出用パターンファイルを取得し、当該端末自身に格納されている前記アクティベーション対象情報の内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別するアクティベーション判別ステップと、
前記端末が、前記判別の結果、前記初期データと異なっていた場合は前記検出用パターンファイルに関連する前記或るソフトウェアについて不正使用の可能性があると判断し、当該端末を特定するための情報、当該或るソフトウェアを特定するための情報、及び、前記初期データと異なっていた前記アクティベーション対象情報の内容、を少なくとも含んだソフトウェア不正使用可能性情報を作成するアクティベーション登録ステップと、
を備えることを特徴とする不正使用ソフトウェア検出方法。
【0075】
(付記7) 前記端末が備えている前記アクティベーション判別ステップは、
当該端末自身に格納されている全てのファイルのファイル名を検索し、前記検出用パターンファイルに含まれているファイル名と一致するファイルが存在した場合、当該ファイルの形式に応じて、バイナリモード又はテキストモードで当該ファイルを開き、当該開いたファイルの前記アクティベーション対象情報の内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別することを特徴とする付記6に記載の不正使用ソフトウェア検出方法。
【0076】
(付記8) 前記端末が備えている前記アクティベーション判別ステップは、
当該端末自身に格納されている全てのレジストリキー名を検索し、前記検出用パターンファイルに含まれているレジストリキー名と一致するレジストリキーが存在した場合、当該レジストリキーの内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別することを特徴とする付記6又は7に記載の不正使用ソフトウェア検出方法。
【0077】
(付記9) 前記管理サーバが、前記アクティベーション登録ステップが前記作成したソフトウェア不正使用可能性情報を格納するソフトウェア不正使用可能性情報格納領域を用意するステップと、
前記管理サーバが、前記ソフトウェア不正使用可能性情報格納領域に格納されているソフトウェア不正使用可能性情報を外部に出力する出力ステップと、
を更に備えていることを特徴とする付記6乃至8の何れか1に記載の不正使用ソフトウェア検出方法。
【0078】
(付記10) ネットワークに接続された管理サーバに接続された端末に組み込まれる不正使用ソフトウェア検出プログラムにおいて、
前記管理サーバが前記ネットワーク上に流出しているアクティベーション情報に基づいて作成した、或るソフトウェアに関連するファイルであって、アクティベーションの前後で変更される情報が格納されている領域を示すアクティベーション対象情報と、前記アクティベーション対象情報の領域内のアクティベーション前の値である初期データと、を少なくとも含むファイルである検出用パターンファイルを取得し、当該端末自身に格納されている前記アクティベーション対象情報の内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別するアクティベーション判別手段と、
前記判別の結果、前記初期データと異なっていた場合は前記検出用パターンファイルに関連する前記或るソフトウェアについて不正使用の可能性があると判断し、当該端末を特定するための情報、当該或るソフトウェアを特定するための情報、及び、前記初期データと異なっていた前記アクティベーション対象情報の内容、を少なくとも含んだソフトウェア不正使用可能性情報を作成するアクティベーション登録手段と、
を備える端末としてコンピュータを機能させることを特徴とする不正使用ソフトウェア検出プログラム。
【産業上の利用可能性】
【0079】
本発明は、例えば、企業でのコンピュータソフトウェア資産管理における有償ソフトウェアの不正使用検知、防止に好適である。
【符号の説明】
【0080】
100 クライアント端末
101 アクティベーション判別/登録部
102 バイナリアクティベーション情報格納領域
103 テキストアクティベーション情報格納領域
104 レジストリアクティベーション情報格納領域
105 ファイル/レジストリ情報格納領域
200 管理サーバ
201 アクティベーション情報登録部
202 バイナリアクティベーション情報格納領域
203 テキストアクティベーション情報格納領域
204 レジストリアクティベーション情報格納領域
205 ソフトウェア不正使用可能性情報格納領域
300 インターネットサーバ
301 ソフトウェアアクティベーション情報格納領域
400 ネットワーク
500 インターネット
600 ソフトウェアアクティベーション情報
601 アクティベーション識別
602 ソフトウェア名
603 ソフトウェアバージョン
604 ソフトウェアファイル名/レジストリキー名
605 アクティベーション対象情報
606 アクティベーション前初期データ
607 アクティベーション後初期データ
700 バイナリアクティベーション情報
701 ソフトウェア名
702 ソフトウェアバージョン
703 ソフトウェアファイル名
704 アクティベーション対象情報
705 アクティベーション前初期データ
800 テキストアクティベーション情報
801 ソフトウェア名
802 ソフトウェアバージョン
803 ソフトウェアファイル名
804 アクティベーション対象情報
805 アクティベーション前初期データ
900 レジストリアクティベーション情報
901 ソフトウェア名
902 ソフトウェアバージョン
903 レジストリキー名
904 アクティベーション対象情報
905 アクティベーション前初期データ
1000 ソフトウェア不正使用可能性情報
1001 検出コンピュータ名
1002 IPアドレス
1003 アクティベーション識別
1004 ソフトウェア名
1005 ソフトウェアバージョン
1006 ソフトウェアファイル名/レジストリキー名
1007 アクティベーション対象情報
1008 アクティベーション前初期データ
1009 アクティベーション領域検出データ

【特許請求の範囲】
【請求項1】
ネットワークに接続された管理サーバと、前記管理サーバに接続された端末と、を有する不正使用ソフトウェア検出システムにおいて、
前記管理サーバが、
或るソフトウェアに関連するファイルであって、アクティベーションの前後で変更される情報が格納されている領域を示すアクティベーション対象情報と、前記アクティベーション対象情報の領域内のアクティベーション前の値である初期データと、を少なくとも含むファイルである検出用パターンファイルを格納するアクティベーション情報格納領域と、
前記ネットワーク上に流出しているアクティベーション情報を取得し、当該アクティベーション情報に基づいて前記検出用パターンファイルを作成し、当該作成した検出用パターンファイルを前記アクティベーション情報格納領域に登録するアクティベーション情報登録手段と、を備え、
前記端末が、
前記管理サーバから前記検出用パターンファイルを取得し、当該端末自身に格納されている前記アクティベーション対象情報の内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別するアクティベーション判別手段と、
前記判別の結果、前記初期データと異なっていた場合は前記検出用パターンファイルに関連する前記或るソフトウェアについて不正使用の可能性があると判断し、当該端末を特定するための情報、当該或るソフトウェアを特定するための情報、及び、前記初期データと異なっていた前記アクティベーション対象情報の内容、を少なくとも含んだソフトウェア不正使用可能性情報を作成するアクティベーション登録手段と、
を備えることを特徴とする不正使用ソフトウェア検出システム。
【請求項2】
前記端末が備えている前記アクティベーション判別手段は、
当該端末自身に格納されている全てのファイルのファイル名を検索し、前記検出用パターンファイルに含まれているファイル名と一致するファイルが存在した場合、当該ファイルの形式に応じて、バイナリモード又はテキストモードで当該ファイルを開き、当該開いたファイルの前記アクティベーション対象情報の内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別することを特徴とする請求項1に記載の不正使用ソフトウェア検出システム。
【請求項3】
前記端末が備えている前記アクティベーション判別手段は、
当該端末自身に格納されている全てのレジストリキー名を検索し、前記検出用パターンファイルに含まれているレジストリキー名と一致するレジストリキーが存在した場合、当該レジストリキーの内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別することを特徴とする請求項1又は2に記載の不正使用ソフトウェア検出システム。
【請求項4】
前記管理サーバは、
前記アクティベーション登録手段が前記作成したソフトウェア不正使用可能性情報を格納するソフトウェア不正使用可能性情報格納領域と、
前記ソフトウェア不正使用可能性情報格納領域に格納されているソフトウェア不正使用可能性情報を外部に出力する出力手段と、
を更に備えていることを特徴とする請求項1乃至3の何れか1項に記載の不正使用ソフトウェア検出システム。
【請求項5】
ネットワークに接続された管理サーバに接続された不正使用ソフトウェア検出端末において、
前記管理サーバが前記ネットワーク上に流出しているアクティベーション情報に基づいて作成した、或るソフトウェアに関連するファイルであって、アクティベーションの前後で変更される情報が格納されている領域を示すアクティベーション対象情報と、前記アクティベーション対象情報の領域内のアクティベーション前の値である初期データと、を少なくとも含むファイルである検出用パターンファイルを取得し、当該端末自身に格納されている前記アクティベーション対象情報の内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別するアクティベーション判別手段と、
前記判別の結果、前記初期データと異なっていた場合は前記検出用パターンファイルに関連する前記或るソフトウェアについて不正使用の可能性があると判断し、当該端末を特定するための情報、当該或るソフトウェアを特定するための情報、及び、前記初期データと異なっていた前記アクティベーション対象情報の内容、を少なくとも含んだソフトウェア不正使用可能性情報を作成するアクティベーション登録手段と、
を備えることを特徴とする不正使用ソフトウェア検出端末。
【請求項6】
ネットワークに接続された管理サーバと、前記管理サーバに接続された端末と、を有する不正使用ソフトウェア検出方法において、
前記管理サーバが、或るソフトウェアに関連するファイルであって、アクティベーションの前後で変更される情報が格納されている領域を示すアクティベーション対象情報と、前記アクティベーション対象情報の領域内のアクティベーション前の値である初期データと、を少なくとも含むファイルである検出用パターンファイルを格納するアクティベーション情報格納領域を用意するステップと、
前記管理サーバが、前記ネットワーク上に流出しているアクティベーション情報を取得し、当該アクティベーション情報に基づいて前記検出用パターンファイルを作成し、当該作成した検出用パターンファイルを前記アクティベーション情報格納領域に登録するアクティベーション情報登録ステップと、
前記端末が、前記管理サーバから前記検出用パターンファイルを取得し、当該端末自身に格納されている前記アクティベーション対象情報の内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別するアクティベーション判別ステップと、
前記端末が、前記判別の結果、前記初期データと異なっていた場合は前記検出用パターンファイルに関連する前記或るソフトウェアについて不正使用の可能性があると判断し、当該端末を特定するための情報、当該或るソフトウェアを特定するための情報、及び、前記初期データと異なっていた前記アクティベーション対象情報の内容、を少なくとも含んだソフトウェア不正使用可能性情報を作成するアクティベーション登録ステップと、
を備えることを特徴とする不正使用ソフトウェア検出方法。
【請求項7】
前記端末が備えている前記アクティベーション判別ステップは、
当該端末自身に格納されている全てのファイルのファイル名を検索し、前記検出用パターンファイルに含まれているファイル名と一致するファイルが存在した場合、当該ファイルの形式に応じて、バイナリモード又はテキストモードで当該ファイルを開き、当該開いたファイルの前記アクティベーション対象情報の内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別することを特徴とする請求項6に記載の不正使用ソフトウェア検出方法。
【請求項8】
前記端末が備えている前記アクティベーション判別ステップは、
当該端末自身に格納されている全てのレジストリキー名を検索し、前記検出用パターンファイルに含まれているレジストリキー名と一致するレジストリキーが存在した場合、当該レジストリキーの内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別することを特徴とする請求項6又は7に記載の不正使用ソフトウェア検出方法。
【請求項9】
前記管理サーバが、前記アクティベーション登録ステップが前記作成したソフトウェア不正使用可能性情報を格納するソフトウェア不正使用可能性情報格納領域を用意するステップと、
前記管理サーバが、前記ソフトウェア不正使用可能性情報格納領域に格納されているソフトウェア不正使用可能性情報を外部に出力する出力ステップと、
を更に備えていることを特徴とする請求項6乃至8の何れか1項に記載の不正使用ソフトウェア検出方法。
【請求項10】
ネットワークに接続された管理サーバに接続された端末に組み込まれる不正使用ソフトウェア検出プログラムにおいて、
前記管理サーバが前記ネットワーク上に流出しているアクティベーション情報に基づいて作成した、或るソフトウェアに関連するファイルであって、アクティベーションの前後で変更される情報が格納されている領域を示すアクティベーション対象情報と、前記アクティベーション対象情報の領域内のアクティベーション前の値である初期データと、を少なくとも含むファイルである検出用パターンファイルを取得し、当該端末自身に格納されている前記アクティベーション対象情報の内容が、前記取得した検出用パターンファイルに含まれている前記初期データと異なっているか否かを判別するアクティベーション判別手段と、
前記判別の結果、前記初期データと異なっていた場合は前記検出用パターンファイルに関連する前記或るソフトウェアについて不正使用の可能性があると判断し、当該端末を特定するための情報、当該或るソフトウェアを特定するための情報、及び、前記初期データと異なっていた前記アクティベーション対象情報の内容、を少なくとも含んだソフトウェア不正使用可能性情報を作成するアクティベーション登録手段と、
を備える端末としてコンピュータを機能させることを特徴とする不正使用ソフトウェア検出プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate