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送信するトロイの木馬の場合、音楽プレーヤーを装っていたとのことです。
うちのアプリは大丈夫だといくら伝えても、アプリのソースプログラムを見ることはできないので、利用者はパーミッションなどから客観的に厳しく判断すると思われます。
いくら良い、優れたアプリでも「トロイの木馬」を疑われるとインストールしてもらえなくなります。
どのパーミッションを使うかは、アプリの企画段階から十分に検討しましょう。