Androidアプリを安全に使うには?

先日のセミナーで質問を受けた一つに、「このアプリを入れても大丈夫?」というものがありました。結論としては、「無闇に怖がる必要は無い、ただし。。」というところです。

 

アプリはどのように危険になるか?

素性のわからない、あるいは悪質とみなされている企業のアプリでも一律に危険になることはありません。基本的原理としてはこうです。「アプリに自分で手入力するもの、マイク・カメラ・位置情報・ネットワークアクセスを制限することにより、どんなアプリであっても悪さはできない」ことを覚えておいてください。アプリに入力するもの、アプリに与える権限が問題なのです。

例えば、一般のAndroidとは異なり、特にGrapheneOSでは、アプリがネットワークにアクセスできないように設定できます。すると、このアプリに何を手入力しようが、マイク・カメラ・位置情報の権限を与えようが、スパイすることはできなくなります。収集した情報を「本部」に報告できなくなるのです。

また逆に、ネットワークアクセス権限を与えても、マイク・アプリ・位置情報などの権限を一切与えず、手入力のみ行う場合は、あなたの入力した情報しか「本部」には報告できません。この状態で、「悪い」アプリができることと言えば、「これは銀行アプリです。口座番号とパスワードを入力してください」と騙すことぐらいでしょう。

このように、アプリは一律に悪質な行動ができるわけではなく、そのアプリの信頼度によってどの程度の権限を与えるかにかかってきます。

 

同じ企業からの複数アプリに注意

ただし、同じ企業が出している複数のアプリに注意してください。

例えば、Google Play Store、YouTube、Gmail、Google Mapのアプリを入れ、そのうちのどれか一つにログインすると、自動的にすべてにログインしまいます。

また、例えば、Amazonショッピングアプリ、Amazon Kindleなどを入れ、いずれかにログインすると、自動的にログインしてしまいます。

※実際にAmazonショッピングアプリを入れたところ、自動でログインされたことに驚きました。実際には、それ以前にKindleアプリを入れ、ログインしていたことを忘れていたのです。

ですから、例えば、Google Mapアプリを匿名で使いたい場合には、他のGoogleアプリにログインしないことが重要です。未だにGmailを使う必要がある場合には、アプリではなく、ブラウザで行うのが肝要です。

 

アプリの権限設定方法

アプリの権限設定方法は簡単です。

設定>アプリを開くと、最近使ったアプリが並んでいます。そこに無い場合には、「アプリをすべて表示」して選択します。以下はSignalというメッセージアプリの例です。

「権限」のところに与えられた権限がリストされているので、タップします。

ここで個別の権限を拒否できます。

個人的には、Signalでは音声通話のみで、ビデオ通話はしないので、カメラ権限は不要です。

 

クイック設定メニューを使ってスマフォ全体で権限を拒否する

個別のアプリに権限を与えていても、もしかしたら任意のタイミングでその権限を使うことがあるかもしれません。例えば、カメラ権限を与えられているアプリが、必要も無いのにカメラを使うなどです。

これをOSレベル、つまり、スマフォ全体で制御することができます。これにはクイック設定メニューを使います。スマフォの画面を上から下にスワイプし、もう一度スワイプします。

 

上の状態では、マイク、カメラ、位置情報をOFFにしています。アプリの個別の権限がどうであろうが、この状態では、アプリはマイク、カメラ、位置情報を使えなくなります。

※ボタンの配置を変更するには、右下の「鉛筆マーク」をタップすると編集モードになるので、ボタンを自由に配置できます。

そして、この状態で、アプリが例えばカメラを使おうとすると、それを許可するかどうかを聞いてきます。下の例は、通常のカメラアプリ(撮影アプリ)の例です。

つまり、この機能によって、たとえアプリに権限が与えられていても、不要な時には権限を使えません。また、もし何の理由も無い時に権限を使おうとすると、それが検出することができるので、アプリ側としては下手なことはできなくなります。

例えば、こちらの意図とは無関係にアプリがカメラを使おうとした場合には、それが通知されてしまい、不審な動作を行うアプリであることが明確になります。

ちなみに、このクイック設定メニューは、通常のAndroidにあるものですが、マイク・カメラの権限まで制御できるものはあまり無いようです。

 

アプリ自体の危険性

さて、前言を翻すようですが、アプリ自体が危険という場合もありえます。これについてはGoogleに都合の良いITジャーナリズムの一例で説明しましたが、一般のITジャーナリズムは正確な説明をしていません。

記事には明確な記述がありませんが、簡単に言えばおそらくこうでしょう。

  • Android自体に、本来はアプリが取得できないはずのスマフォ固有番号等を取得できてしまうバグがあった。
  • Baiduは、このバグを利用してスマフォ固有番号等を取得し、自社サーバに送りこんでいた。つまり、バグを知りながらAndroidの改良には協力せず、ユーザ情報取得のために密かに利用していた。
  • Googleは、Baiduの行為を知って、BaiduのアプリをPlay Storeから削除して配布できないようにした。

気になるところは、このバグがどうなったかです。この記事では、そもそもバグの存在を明示しておらず、当然ですが何の説明もありません。修正するつもりなのか、されたのかもです。

また、スマフォの固有番号を取得できたところで、住所・氏名などがわからなければ、ほとんど意味はないでしょう。せいぜい「同じ人物」と特定して広告を出すのが関の山です。

特にGrapheneOSについてですが、GrapheneOS開発者インタビュー抄訳にもありますが、こういったAndroid自体のバグについても、GrapheneOSは修正に貢献しており、ストックOSも含めてどこよりも早くセキュリティバグの修正が行われるとのことです。