オルタナティブ・ブログ > 一般システムエンジニアの刻苦勉励 >

身の周りのおもしろおかしい事を探す日々。ITを中心に。

アップデータによるシェアウェアの不正使用

»

アプリケーションの不具合やセキュリティホールをアップデータやパッチなどによりバージョンアップして回避するという仕組がありますが、それを悪用して有償のアプリケーションを無償で使用してしまうという手法があるようです。何も新しい話ではなさそうですし自分が見つけたものでもないのですが、知らない人のために紹介いたします。

有償ソフトウェアの入手と使用の形態は、大雑把に言って2種類あります。CD-ROMや入金者のみがダウンロードできるサイトから入手する場合と、だれでも自由に入手できるソフトウェアです。特に後者の場合、誰もが入手して誰もがタダ使いされては儲かりませんので、シリアルと呼ばれるパスワードのようなものを入力する事でアプリケーションが使用可能になるという仕組を使います。

このシリアルというのは、お金を払った人しか通知されない仕組になっています。そうすることでアプリケーションそのものを不正に入手してもシリアルが入手できなければそのアプリケーションを利用できません。お金を払った人だけがシリアルを知り、シリアルを知った人だけがアプリケーションを利用する、というのがシリアルの特徴です。ただし、シリアルといのはただの文字列を打ち込むだけですので、シリアルが共有されてしまうという問題があります。それに対抗すべく、ドングルと言われるハードウェアを使用する方法もあります。

全体を配布してしまうアプリケーション

シリアルとのはWindowsやOfficeでも使われています。Windowsのセットアップ時にxuios-xwrer-josl3-sjflk-sfjl4のような文字列を入力したような覚えがあるという方もおられることでしょう。このようにアプリケーションが持つ固有の合言葉であるシリアルを入力しない限り、Windowsを使用することはできません。

この方法はダウンロード販売と相性が良いです。まず、インターネットからアプリケーションすべてを配布してしまうのですが、その際に機能制限を加えた「体験版」として配布します。体験版に対してシリアルを入力する事によりアプリケーションの全体を利用することができるようにしておけば、購入者に対してメールか何かでシリアルを通知するだけの手間で販売が完了します。

もしこれが体験版は体験版、製品の完全版は完全版というように2つのパッケージを作って販売していたとすると大変です。体験版を使って購入を希望した人は「欲しい」と思っても完全版を購入しにいかねばならないか、差分をダウンロードしなくてはなりません。それでは商機を逸してしまうかもしれません。そうしないために、体験版のダウンロードは自由、ただしシリアルを入力しない限り完全版にはならない、という販売形態はよく見られるものになっています。

前置きが長くなりましたが、この体験版に対して製品購入者向けのアップデータを不正適用することでシリアルを知らなくても完全版と同等の製品を手に入れることができてしまうケースがあるようです。

アップデータによる制限解除

アプリケーションの作り方はケースバイケースですが、ひとつのパターンとして「シリアルを入力するまでは体験版のファイルの一部が変形した状態になっており、シリアルを入力すると本来の形に戻る」というような方法があります。変形した状態の副作用というのは、例えば印刷系のソフトであれば印刷物に「これは体験版で作成されました」という文言が強制的に差し込まれるですとか、音声系のソフトであれば30秒以上のファイルを編集できない、というような制限になります。

ところが、アップデータに含まれるファイルが本来の形であった場合、そのアップデータを適用すると体験版が完全版に生まれ変わってしまいます。当然、誰もがそのような事ができる状態でアップデータが配布されることはありません。アップデータの適用時に、体験版のままかどうかを判断するようになっていたり、シリアルを入力しないとバージョンアップが始まらないようになっていたりします。

しかしながら、体験版のアプリケーションと比べてアップデータそのものに対する不正コピー対策は甘くなりがちです。せっかくガチガチに固めて不正利用できないように対策した体験版アプリケーションでも、少し細工したアップデータにより一発で完全版になってしまう、という事例もあるようです。

体験版の機能制限の仕組は、自分が開発して熟知したアプリケーションの内部的な処理に手を加えることで実現されます。ですのでやりたい放題です。ところがインストール・バージョンアップの仕組はWindowsのルールに従うことになります。自分でゼロから作るのも大変ですので、既存の「インストーラ作成プログラム」を使ってアップデータが作成されるということも少なくありません。あるインストーラ作成プログラムで作成したアップデータには、どのような形態で差分ファイルが折りたたまれているかを知ることができれば、自由に差分ファイルを取り出すことも可能です。そのようにしてアップデータから必要そうなファイルを取り出して体験版に適用すれば、そのまま完全版になってしまうというアプリケーションがあるようです。

なお、古い話になってしまいますがSQLslammerが猛威を奮った背景は、不正使用者が多くてパッチの適用率が低かったことであったと言われます。不正利用には開発者の懐が潤わないだけでなく、セキュリティ面でのサポートもおろそかになりがちになってしまうという側面もあります。そのセキュリティ面でのサポートのために一生懸命作ったパッチ自体がまた不正利用に使われてしまうというのも凄まじい話です。

自分はそもそも違法コピーを前提としていないような特定のお客様向けに書き下ろしたプログラムの開発者ですので、このようなシリアルの仕組や体験版の機能制限の仕組の事情はよくわかりません。しかしながらアップデータについてはよく利用します。効果的に防ぐ方法なんて思い浮かびませんが、きっと既にたくさんの対策方法も編み出されているんでしょうね。

個人的にはこういったイタチごっこがITの進歩の一部分を担っているという現実も無視できないように感じます。

Comment(0)