節約情報 HT-03A IS01,03,05 SH-10B Galaxy etc WiFi環境 開発ノウハウ 参考情報
トップページ > 開発ノウハウ > Androidアプリ企画ノウハウ。パーミッションで「トロイの木馬」でないことを証明する

開発ノウハウ

Androidアプリ企画ノウハウ。パーミッションで「トロイの木馬」でないことを証明する

Androidアプリでは、電話機能やセンサー機能、インターネット接続機能を使うことができます。

「使える」ということは、「有用」な使い方をされるとともに「悪用」される可能性もあるということです。

コンピュータの世界では、一見有用な動きをすると見せかけて、実は裏で悪いことやることを「トロイの木馬」といいます。

それがウィルスなら「トロイの木馬ウイルス」、アプリなら「トロイの木馬」アプリとなります。

ウイルスは悪者の代名詞ですが、悪いのはウイルスだけに限りません。
アプリにも悪いやつがいるかも、いや、一定具合で悪いアプリが存在します。(統計上から考えてもです)

ようやくニュースにちらほら出てきましたが、Androidアプリで裏で勝手にSMSメールを送信するアプリがあるとのことです。

日本国内ではSMSメールは同じキャリアしか送れないから大丈夫!?

いいえ、大丈夫ではありません。「国際SMS」というキーワードで検索してみましょう。

日本国内ではキャリア間でSMSは現在送ることはできません。例えば、ドコモからソフトバンクに直接SMSメールは送信できません。

と一般的に説明されています。
(もうすぐ規制撤廃されるかもという話もありますが)

しかし、これには裏技があるようです。

国際SMSメールを送る方法で送信代金は高くなりますが、ドコモからソフトバンクにSMSメールを送ることができるようです。

ここで、SMSメールを例示した理由ですが、

SMSメールは送信するのに料金がかかります。
つまり、利用者が意図したSMS送信であれば問題ないのですが、意図しないSMS送信の場合、そのSMS送信に料金がかかったとすると、利用者に直接的な金銭的損害が生じます。

つまり、あるとき、携帯電話代金を見たら、SMS送信料がかかってる!という話です。

もし、国際SMSメールをばんばん送信してたら、1ヶ月で大変な額の請求がくるという怖い話です。

問題の重要性を説明したかったのですが、これでイメージできるでしょうか。


さて、話は変わりますが、Androidアプリ製作者の方なら、AndroidManifest.xmlというファイルの存在を必ず知っていると思います。(知らなければモグリです)

このファイルで、Androidアプリが使える権限を記述します。

例えば、電話を掛けるアプリであれば、
android.permission.CALL_PHONE
というパーミッション(権限)を記述します。
記述していないと、アプリが動いたときにセキュリティ例外でアプリ落ちますので、確実に記述されることになります。

今後、アプリ製作をする際に、このパーミッションで何を使うかを意識する必要があります。

例えば、SMSメールを送信するトロイの木馬の場合、android.permission.SEND_SMSというパーミッションを記述する必要があります。

そしてこの記述したパーミッションは、アプリをインストールする際に、利用者にこれらの権限を使用するアプリだが、インストールしてよいか、と必ず聞かれます。

そのため、Androidアプリ製作者は、どのパーミッションを使うかを十分に検討する必要があります。

例えば「何でも出来ます」アプリの場合、いくつもパーミッションを使う必要があるので、インストールの際、ずらーっと、パーミッションが表示されます。

例えば・・・

電話掛けれる、SMSメール送信できる、インターネットアクセスできる、電話帳にアクセスできる、これらのパーミッションを使う、シンプルメモアプリ(汗)


悪いことは何もやってなくても、怖すぎてインストールできません。

ニュースで出てきたSMS送信するトロイの木馬の場合、音楽プレーヤーを装っていたとのことです。

うちのアプリは大丈夫だといくら伝えても、アプリのソースプログラムを見ることはできないので、利用者はパーミッションなどから客観的に厳しく判断すると思われます。

いくら良い、優れたアプリでも「トロイの木馬」を疑われるとインストールしてもらえなくなります。

どのパーミッションを使うかは、アプリの企画段階から十分に検討しましょう。