iPhone, Android等のスマートフォン向けアプリ開発などの話題を中心に、時事ネタなどを気の向くままに書いています。
Home
 

Androidアプリの改造ツールの詳細と手口について(違法コピー天国の現状報告)

Androidアプリ市場は既に「違法コピー天国」である事に関して、多くの開発者の方に興味を持って頂けた様で何よりです。
良い機会なので、今回はAndroidアプリ市場が既に「違法コピー天国」(または改造天国)である事実をご理解頂く為に、認証回避ツールの手口などを公開したいと思います。
アプリを守る為には敵を知らないと始まりませんから。

最終的にAndroid開発者サイトに記載のあるLVL(License Verification Library)実装方法だけでは如何に危険なのかをご理解頂くのが目的です。
今回取り上げる様な悪質で巧妙な改竄ツールの対策はこちら
※LVLはGoogle Playで使用されるライセンス認証ライブラリです。ただし、主に有料アプリのみで、オプション扱いになっています。

なお、私どもはできるだけ多くの開発者の方にAndroidアプリ市場の酷い現状を知って頂き、早急にカモにされない為の対策をする様にと啓蒙活動を行っています。
決して悪用を幇助する様な事はしていませんので、勘違いなさらぬ様お願いします。
参照: 電子書籍「Androidアプリ開発者のための不正使用対策」

ちなみに、先に取り上げた身勝手な不正使用狙いキーワード集は以下の通りです。


- 今までと現状 -

以前のGoogle Play(旧Android Market)は24時間キャンセル可能でした。そして、Androidアプリのライセンス認証に使用するLVLは有料アプリ販売開始後しばらくしてから登場した為、その時には既に「違法コピー天国」と化していました。

デベロッパーコンソールでコピープロテクトを設定していても、安心はできません。それは通常端末にのみ有効であり、root化された端末には無意味だからです。
この頃はAndroidのユーザー数が少なかった事だけが救いでしょうか。

その後、LVLが登場して「違法コピー天国」が改善されるかと思いましたが、それは甘い期待に終わりました。
なぜならば、LVLを回避するツールが現れ、簡単にLVLを回避して使用する事ができる様になってしまったからです。

一部の改竄ツールは「神ツール」として崇められていますが、この名前からどれだけの事をするのかはすぐに想像が付くかと思います。

以前から「ソースを解析してLVL処理部分を~する」という改竄方法がある事は色々な所で言われていましたが、この回避方法はソースを解析したり、リパッケージングできる位のスキルが必要でした。その為、ごく一部の人達が半分自慢目的で行っていた部分があるかと思います。

しかし、今回取り上げる様な改竄ツールの場合は、ツールの使い方を覚えればほんの数秒でLVLを回避できてしまいます!
大した知識も必要ありません。ProGuradなどでの難読化も無意味です。
余りに簡単に認証処理を回避できる為、驚きと共に恐怖感を感じると思います。
後はアプリファイルをどうにかして手に入れれば良いだけです。これだけ簡単だとカジュアルな不正使用狙いの人達が飛び付く事は明らかです。

Google Playにはキャンセル可能時間があります。そして、困った事にこのキャンセル可能時間を悪用してバックアップした後すぐにキャンセルする「バックアップ&キャンセル」でアプリファイルを盗み出して入手する事が可能となっています。
諸悪の根源と言っても良い位かも知れません。

海外の人が1、2分でキャンセルする事が多いのは、「バックアップ&キャンセル」でアプリファイルを盗み出す事が主な目的と考えています。海外の場合は検索すれば日本語で検索する以上に違法コピー情報が大量に出て来ますので、アプリファイルの不正入手方法や使い方までを簡単に知る事ができるはずです。

ブラックリストが必要であるとは思いますが、Googleには期待できないですね。キャンセル自体無くして欲しいのですけれどね。

勿論、わざわざ「バックアップ&キャンセル」で(購入取引時に)名前を出さなくてもアプリファイルが落ちている場合もあるかも知れません。そして、それを期待して検索している人は大量にいます。
例えば、上場企業、大学、地方自治体等のネットワークを使って調べている人も存在する様な状態です。完全にモラルハザードですし、既に違法コピーに味をしめて取り憑かれている常習犯である事が容易に想像できます。
※偽名で「バックアップ&キャンセル」をしても登録カード情報やキャリア課金情報等からすぐに犯人を特定出来ると考えています。悪い事はせぬ様願います。

この様に、何らかの方法でアプリファイルを入手した後、ツールで改竄すれば有料アプリを無料化できる訳です。
悪用を避ける為、敢えて詳しいツール名の明言を避けますが、ここまで簡単にアプリファイルを入手でき、認証回避の改竄が出来るのですから「違法コピー天国」にならない訳がありません。
今までの歴史を見ても音楽、映画、ゲーム等色々あったかと思います。LVL登場以前のAndroidアプリ市場も同様ですね。

Androidアプリの場合は、既にカモリストの様なものもありますし、海外のサイトでは認証回避の改造をしたアプリファイルを配布している所まであります。勿論違法ファイルです。

国内の有名アプリ(1500円)に関しては、ダウンロードカウンタが3000を越えていましたので、これがもし本物であった場合はかなりの被害額となるかと思います。
ウイルス入りの偽物を配布している可能性もあるかも知れません。欲に駆られた人は騙されやすいですから。自業自得かも知れませんがね。

どちらにしてもアプリ開発者としては嬉しくない事実です。勝手に配布されていたり、名前が使われている訳ですから。
しかし、日本でしか使われないアプリが3000ダウンロードというのはそれだけ日本国内、または日本人が違法コピーをしている事を表しているかと思います。

このままこれらの事実を知らない開発者と購入者だけでAndroidアプリ市場が成り立つとは思えません。その為、多くの開発者にこの現実を知って頂きたいと考えています。

root化に関しては、ドコモがVideoストアでroot端末を蹴る様にした途端に「root videoストア 回避」といった検索キーワードで調べる人が大量に出て来ました。それだけ端末のroot化が一般的になっているのだと判断できます。
そしてroot化するとアプリファイルの入手が容易になります。これが何を意味しているのかはもうご理解頂けるかと思います。

 

- LVLの問題点 -

今回はライセンス認証回避の手口を説明するのが主な目的ですが、先にLVLの問題点に関しても触れて置いた方が良いかと思います。

LVLには以下の問題があると考えています。
なお、悪用を避ける為、敢えて詳細はここでは触れません。詳細はこちらを参照して下さい。

  1. オプション扱いの為、開発者が実装する/しないを選択できる。
    勿論、実装していない場合は即カモにされます。
  2. 保存値を幾ら暗号化して保存してもそれはただのXMLファイルである。
    Android全般に言えますが、SharedPreferencesで保存した値はXMLファイルとして保存されます。つまり、保存値は簡単にコピーできます。

 

- 改竄ツールの種類 -

改竄ツールには以下の様な種類が存在します。

  1. PC上で改竄するツール
  2. root化された端末内で改竄するツール

Android端末のスペックが上がるに連れ、端末内だけで改竄が完了してしまう、という嫌な現実が出て来ています。
最近では端末メーカーがroot化を許可していて、簡単にroot化出来る端末も出て来ています。その為、アプリ開発者は更なる対策をする事が求められています。

ある改竄ツール名で検索すると70万件ヒットします。勿論、色々な条件がありますので、一概には言えませんが、大量に出回っていると判断しています。

 

- 改竄ツールの改竄内容 -

Androidアプリ用の改竄ツールの改竄内容は、以下の様に様々あります。

  1. ライセンス認証を回避する様に改竄する。
  2. パーミッション設定を削除する。(広告削除)
  3. 特定の広告ライブラリを使えない様に改竄する(広告削除)
  4. お試し版の制限機能を解除し、有料版と同じ様に使える様に改竄する。

上記の様に開発者の稼ぎを無くす改竄はほぼ全てあると言っても過言では無いと思います。
アプリ内課金も当然狙われていると考えて置いた方が良いでしょう。保存値は簡単にコピーできますので。

ちなみに、プラグイン形式でどんどん拡張して改竄対象アプリを増やしている改竄ツールも存在します。悪質極まりないですね。
この様に恩を仇で返す行為を平気でやる世界が既に出来上がっています。

これらの改竄内容への対策はこちら

 

- 改竄ツールの手口 -

さて、次に認証回避の改竄ツールの手口を説明したいと思いますが、全てを公開すると大変危険な為、続きは何かの機会に触れたいと思います(笑)
一早く詳細を知りたい方は、こちらを読んでみて下さい。手口と対策を記載してあります。

流石にこれだけでは寂しいので、改竄手口のごく一部だけを挙げたいと思います。改竄手口の基本中の基本です。

  1. 必ずLicenseCheckerCallback#allowが呼び出される様に改竄される。
    必ずライセンス有りと誤認識する様に改竄されます。通信さえもしません。
  2. その他の巧妙な改竄手口はこちら

1番の改竄だけでLVLを無効化するには十分である事はご理解頂けるかと思います。
つまり、この1番の改竄だけでAndroid開発者サイトに記載のあるLVL実装方法に則って実装しただけの場合は即カモにされて無料化されてしまうという事です!

しかも、1番を含む改竄はツールで数秒で完了します!  Android開発者サイトに記載のあるLVL実装方法は既に安全ではありません!

この改竄で認証回避されてしまうかも!、と心当たりのある開発者(ほぼ全員だと思いますが)はすぐに対策をする様にして下さい!
対策はあります!

勿論、改竄ツールの中には対策がされる事を考慮して更なる巧妙な改竄をする場合があります。
今回は挙げていませんが、かなり複雑に改竄するツールもあり、謎解きの様になっています。
きちんとした知識と謎解きが出来ないとこの改竄ツールへの対策ができない状態です。本当に悪質なのです!

なお、きちんとした手口の情報を得ずに「にわか知識で」対策をした積もりになる事も危険ですのでご注意下さい。
「謎解き」と言っている通り、一筋縄では対策できないツールもあるのです。

 

- 今後 -

今後アプリファイルは端末IDを使って暗号化されます。つまり、他の端末に移動できない様にするのが目的だと思いますが、これも安心は出来ません。
なぜならば、暗号化されたアプリファイルをそのまま実行時に使用するとは思えない為、復号化された時に作成されるアプリファイルが狙われる事は明らかだからです。

加えて、暗号化に対応していない端末の場合は今まで通り暗号化はされません。つまり、暗号化に対応していない端末でダウンロードしたアプリファイルを使用すれば暗号化を回避して使う事が出来てしまうと考えています。

なお、暗号化されるのは有料アプリのみであり、無料アプリは相変わらず冷遇されたままです。
ちなみに、無料アプリはPCのブラウザなどからでも少しの知識があれば簡単にダウンロードできてしまう状態です。

この様な穴だらけですぐに回避方法を思い浮かぶ事ができる位の簡易的な暗号化はほとんど意味はないと考えています。廃止予定(でなかなか廃止できない)のコピープロテクトと同様に開発者に変な安心感を与えてしまう分罪深いと考えています。
その為、Googleが用意するアプリ保護策を過信せずにきちんと対策をする事をお勧めします。

しかし、Androidアプリはオープンな分、開発者に負担をかける環境ですね。
上記で挙げた以外にも広告削除などの不正使用対策はこちら

私どもでは不正使用対策等に関する勉強会、その他コンサルティングなどを承っています。

2012/08/21 This post was written by Categories: Android Tagged with:
No comments yet



コメントを残す

メールアドレスが公開されることはありません。


*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Top