Android 10で強化されたセキュリティ対策について、ユーザーが知っておくべきこと

このほどグーグルが公開した最新OS「Android 10」。「ジェスチャー ナビゲーション」などの新機能が話題になっているが、セキュリティ対策とデータの保護も地味ながら大きくアップデートされている。データの制御や保護から暗号化など、その改良のポイントを解説しよう。

 

2019/09/30 https://wired.jp/2019/09/28/android-10-security-features/

 

 

グーグルは長年にわたり、ユーザーのデータを巡るプライヴァシーの問題に取り組むと同時に、組織の安定を脅かすような社内問題にも対処してきた。それだけでなく、Androidセキュリティとプライヴァシーを継続的に向上させてきてもいる。同社が手がけるモバイルOS「Android」には25億ものユーザーがいるだけに、決して簡単なことではない。

このため最新版OSとなる「Android 10」では、データ保護およびプライヴァシーの機能について、これまで以上に焦点が当てられている。

データに関する大きな制御権をユーザーに

ついに名称からスイーツの名が外れたAndroid 10では、プライヴァシーとセキュリティの新しいツールに外見上の華やかさはない。むしろ開発チームは、絶大な効果をもたらす技術的な変更とアップグレードに多大な労力を費やしてきた。また今回の改良点は、暗号化から設定項目の整理、アプリを隔離する方法にいたるまで、システム内の膨大な数のコンポーネントにわたっている。

「セキュリティとプライヴァシーの強化は、Android 10に限った新機能ではありません」と、Androidのプロダクトマネージャーであるシャーメイン・ドゥシルヴァは説明する。「それでも今回のリリース計画を立てているとき、製品が成熟するにつれて、どうしてもこの分野にフォーカスすべきだと考えるようになったのです」

真っ先に気づくことは、Android 10がデータに関する大きな制御権をユーザーに与えようとしていることだ。AndroidはオープンソースのモバイルOSであるため、ユーザーインターフェースや機能についての要件はほとんどなく、携帯電話メーカーが自由に実装できる。

これに対してAndroid 10では、どのAndroid端末であっても、「設定」画面の「プライバシー」と「位置情報」が同じ場所になるように全メーカーに義務づけた。これでどのAndroid 10端末でも、見たこともないメニュー画面を探し回らなくても、同じ場所でこうした項目を必ず見つけることができる。

 

Android 10では、例えばユーザーの位置情報にアクセスするような場合にアプリがアクセス許可をリクエストしたり、ユーザーの選択を何度も確認したりすることも要件として追加された。また、新たに導入されたジオフェンス機能(ある地域に設定した仮想の境界線やフェンス)では、位置情報の追跡機能のオン・オフを切り替えるだけでなく、画面上にアプリが表示されている場合のみジオフェンス機能をオンにするように選択できる。

「デバイスID」を巡る課題

さらにAndroid 10では、端末のシリアルナンバーやID番号のような変更不能な「デバイスID」にアプリがアクセスする機能にも制限を設けた。このためアプリの開発者は変更不能なIDではなく、ユーザーがリセットできるIDを使ってユーザーを“追跡”することになった。

結果として、デジタルフィンガープリント[編註:データの整合性を確認する際に使用されるハッシュ値]に不正アクセスされたときや、ユーザーがデジタル上の自身の全記録を削除したいなどの場合に、必要な手段がユーザーに与えられることになる。これはターゲットを絞った広告を打つためにユーザーを追跡している実態が知られるようになったことから、特に重要といえる。

とはいえ業界においては、ユーザーが変更できない端末IDを収集することの脅威について、10年近くも議論されてきた。Androidには変更可能な「広告ID」があり、アップルのiOSにも同様の「広告掲載ID(IDFA)」が用意されている。アップルは2013年、広告主にIDFAのみ使用するように義務づけ、グーグルは2014年に独自の「グーグル広告ID(AAID)」の使用を広告主に義務づけた。

いまやこうした対策は、広告以外の分野にも広まっている。アプリ開発者はAndroid 10によって、比較的持続性のあるIDの選択肢がもてるようになった。例えばユーザーは、あるアプリで販促品をもらってからそのアプリを削除し、再びインストールして瞬時に同じ販促品をもらうことはできない。

 

だが目標は、開発者にはユーザーを追跡できるようにし、ユーザーにはある程度のコントロールをもてるようにしてバランスをとることだ。「追跡されたくない場合、ユーザーがIDをリセットできるようにしたかったのです」と、Androidプロダクトマネージャーのドゥシルヴァは言う。

バランスをとったAndroid

Android 10における多くの変更は、できる限り柔軟性を備えたオープンなプラットフォームづくりと、一定のセキュリティとプライヴァシー要件を守る姿勢との緊張感を物語っている。ドゥシルヴァは変更可能なIDへの移行において、デヴァイスメーカーとソフト開発者との大がかりな協力関係を要したことを強調している。

同様にAndroid 10は、バックグラウンドで実行中のアプリがユーザーへの通知のために前面に表示される機能についても、新たな制約を設けた。例えば目覚まし時計アプリの開発者は、ユーザーにアラームが鳴ったことを通知するオプションはそのまま使えるが、ユーザーが何か別のことをしている最中に画面全体を使うことはできなくなる。

これは中断されること、特に予期せず驚かされることのないようにするのが目的だ。だが、こうした変更はソフトの開発者にしてみれば、オープンソースに根ざしたAndroidをむしばむものだと感じられる可能性もある。

「これはわたしたちが達成しようと努力した結果のバランスです。ソフトウェア開発者にはイノヴェイションを導入する自由を与えながら、ユーザーを守りたいのです」と、ドゥシルヴァは言う。「このバランスを達成するために何度も何度も議論を重ねました。必ずしもこれが正解だとは言えませんが、決定を下す際にこのふたつを念頭に置くことは忘れませんでした」

 

強化された暗号化処理

一方で最も重大な変更として、画面には見えない奥深くで行われたものがある。その代表例は、ウェブページの暗号化の処理方法だ。Android 10では、サポートするすべての接続タイプにおいて、新しい通信暗号化規格「TLS 1.3」を標準で有効にした。ウェブサイトを見ていて気づくようなことではないものの、新規格に対応したことで旧式の暗号化アルゴリズムの脆弱性を排除し、送信データの暗号化プロセスをよりセキュアで高速、かつ効率の高いものにした。

Android 10を搭載した新しいデヴァイスは、強力なプロセッサーを搭載しない低スペックなIoT端末でさえも、ストレージの暗号化が義務づけられた。どこまで実現可能なのかといえば、グーグルが2019年2月に発表したカスタム暗号化規格「Adiantum」のおかげで十分あるというのが答えだ。

Adiantumは、市場にある各種のAndroidデヴァイスをもっと強力に保護できる技術だ。Adiantumは、すでに確立して精査された暗号化技術に基づいているが、より効率的な手法で実装するため、あらゆるデヴァイスで実行できる。現時点で、旧ヴァージョンのAndroidを搭載した製品には暗号化の実装が推奨されているものの、義務づけられてはいない。

「Adiantumは当社にとって本当に大きな変化です。エコシステム全体を前進させる5年の進歩と言えるでしょう。それにロングテール効果もあります」と、Androidプラットフォームセキュリティを率いるルネ・マイアホーファーは言う。「Androidをリリースするたびに最初から構築することは不可能です。エコシステムは旧型のチップセット、旧型のコアで構築されていて、暗号化をサポートするために新型のプロセッサーを組み込んで改良することなどできません」

 

ファイルベースの暗号化の実装

さらなる暗号化の要件としてAndroid 10では、旧式の「ディスク全体の暗号化」ではなく「ファイルベースの暗号化」の実装を掲げている。もともと「Android 7 Nougat(ヌガー)」に導入されていたファイルベースの暗号化は、初期パスワードを入れなくても端末を起動して直にロック画面へと移行できる。つまり、電源を入れるとすぐに、アクセシビリティ機能やアラームを使えることを意味する。

ファイルベースの暗号化は、複数の人が共有するデヴァイスや、作業用プロファイルを使って仕事用のアプリやデータを個人用と切り分ける際に、セキュリティが向上する。これは端末が起動してロック画面になる際に、復号する必要がないからだ。その代わり、起動時にサインインしたユーザーに関するデータのみ復号することになる。現時点では移行期間中なので、端末に完全に採用されるには時間がかかるだろう。

ユーザーの端末からウェブに至るまでの一連のデータ暗号化に関する新機能に基づいて、Androidのチームは開発者向けに新たなセキュリティライブラリーをリリースした。このライブラリーは、グーグルの開発ツール「Android Jetpack」を通じてアプリに統合できるようになっている。最終的な目的は、セキュリティに関する幅広い専門知識がない開発者であっても、適切なセキュリティをアプリに実装できるようにすることにある。

「サンドボックス」による保護機能も

こうしたツールは、Android 10におけるほかの改良点と組み合わせると、アプリを隔離してサイロ化する「サンドボックス」による保護機能も強化できる。これはアプリからのデータの流出を防いだり、アプリが許可なくシステムへのアクセス権を獲得したりするのを防ぐものだ。

Android 10では、さらに“小型サンドボックス”も使えるように設計されている。相互運用性に問題があったり、バグのあるレガシーコードを実行している可能性があったりすると、システムプロセスやアプリのコンポーネントをひとつずつ完全隔離するのだ。

 

「バグ報奨金のプログラムを通して毎年のように報告される不具合を見てみると、その大半がメモリーの安全性に関連するものか、Bluetoothやカーネル、つまり、OSの中核となる重要な部分に関連するものです」と、Androidのセキュリティ機能担当のリードプロダクトマネージャーを務めるシャオウェン・シンは言う。「そこでわたしたちは、毎年のように追加する機能を強化しています。OS全体を強固にすることはできないので、こうしたプロセスを繰り返していくことになるのです」

全面刷新に合わせたセキュリティ強化の意味

Androidのセキュリティとプライヴァシーに関する10年以上にわたる進化は、このOSのセキュリティ態勢を無数の優れた手法によって抜本的に修正してきた。一方で、Androidのように高機能かつ多様性に富むプラットフォームだけに、対処すべき弱点や“外敵”に晒されるリスクといった問題が常につきまとう。

「グーグルがAndroidを強固にするための優れたセキュリティ対策を採っていることは確かです」と、モバイルセキュリティとマルウェアの研究者であるニコラオス・クリセイドスは言う。「それでもAndroidには、疑わしい広告開発ツールの使いすぎをチェックして制限をかける機能が欠けていると思います。それにGoogle Playストアには、疑わしいアプリをチェックする機能など多くの改善が求められています」

Android 10に施されたセキュリティとプライヴァシー対策の強化は、新機能「ジェスチャー ナビゲーション」のようなドラマティックなものではなく、あくまで従来機能の改良である。それでも今回のOSの刷新においてはは、特筆すべき重要な改善点だと言っていい。なにしろ、きちんと機能することを25億人ものユーザーが期待しているタイミングなのだから。