Google I/O 2019 開発者カンファレンス中に、Google は Android Q のモジュールを介してセキュリティ アップデートを高速化する取り組みである Project Mainline を発表しました。
Android バージョンの断片化は、Google が解決すべき最大の課題の 1 つです。 Google Pixel スマートフォンは、Pixel と AOSP エンジニア、他の多くのスマートフォンは、古い OS バージョンまたは古いセキュリティ パッチを実行しているため、エクスプロイトに対して脆弱です レベル。 Gartner の最新レポートによると、Android 9 Pie は非常に安全な OS ですが、 わずか約10% のスマートフォンがリリースされています。
Google は、次のような取り組みを通じてバージョンの断片化に取り組んでいます。 プロジェクト・トレブル、Android の大幅な再設計により、Android OS フレームワーク コンポーネントとベンダー HAL コンポーネントが分離されました。 拡張 Linux カーネル LTS, 必須のセキュリティパッチアップデート 2年間、そして Android エンタープライズ推奨. Google I/O 2019 で、同社はセキュリティ アップデートを高速化する最新の取り組みである Project Mainline for Android Q を発表しました。
プロジェクトのメインライン: Google Play を通じて Android Q システム モジュールを更新する
過去数か月間、私たちは「」と呼ばれるものを追跡してきました。頂点「AOSPでは。 アペックスとか アンドロイドポニーエクスプレス、APK に似た新しいパッケージ タイプです。 ただし、APEX は Android アプリケーションを収容する代わりに、ネイティブ ライブラリまたはクラス ライブラリを収容します。 Android アプリ、ハードウェア抽象化レイヤー (HAL)、および Android によって呼び出すことができるプリコンパイル済みコード ランタイム (ART)。 APK と同様に、APEX パッケージは、Android の従来のパッケージ インストール方法である Google Play ストア/パッケージ マネージャーまたは ADB を介してユーザーに提供できます。
APEX モジュールは、APK ベースのモジュールよりも起動プロセスのかなり早い段階で使用でき、セキュリティを強化するために dm-verity と Android Verified Boot によってサポートされています。 APEX パッケージにペイロード イメージをマウントするには Linux カーネルのループ ドライバーが必要なため、デバイスには Linux カーネル バージョン 4.9 以降が必要です。 APEX パッケージを管理するには、Android Q で導入された新しい APEX デーモンが必要です。 Linux カーネル 4.4 を搭載した Android Q にアップグレードするデバイスが APEX (Google Pixel 3 など) をサポートすることは可能ですが、OEM が機能するには追加のパッチをマージする必要があります。 ほとんどの場合、Android Q で起動されるデバイスのみが Project Mainline をサポートします。
GNU/Linux ディストリビューションは長い間、完全なシステム アップデートに関係なくシステム コンポーネントをアップデートできましたが、Android ではコンポーネントをアップデートするには常にシステム アップデートが必要でした。 Google は、dpkg や rpm などの従来の Linux パッケージ管理システムを使用してこれらのパッケージを配布しないことを選択しました。これは、これらのシステムでは dm-verity を使用してインストール後のパッケージが保護されないためです。
デバイス メーカーがアップデートを展開するには長い時間がかかるため、多くのデバイスではシステム コンポーネントが数日、数週間、場合によっては数か月にわたって古いままになっている可能性があります。 これらのコンポーネントを APEX パッケージとして配布することで、Google は OEM がシステム アップデートを展開するまでの長い待ち時間を回避できます。
ただし、Google はすべてのシステム コンポーネントを完全に制御しているわけではありません。 同社は OEM パートナーと協力して、一連のシステム アプリ (APK として) とシステム コンポーネント (APEX として) を選択しました。 パッケージ)をモジュール化して、以下で起動するデバイスを使用するすべてのユーザーのセキュリティ、プライバシー、一貫性を向上させることができます。 アンドロイドQ. Google は、最初のシステム コンポーネントのセットをどのようにして思いついたのかを正確には明らかにしていませんが、 Android Q を搭載して起動するデバイス上のシステム コンポーネントのリストを提供していただきました。 グーグル:
- 安全: メディア コーデック、メディア フレームワーク コンポーネント、DNS リゾルバー、Conscrypt
- プライバシー: ドキュメント UI、パーミッション コントローラー、ExtServices
- 一貫性: タイムゾーン データ、ANGLE (開発者オプトイン)、モジュール メタデータ、ネットワーク コンポーネント、キャプティブ ポータル ログイン、ネットワーク許可設定
Conscrypt、Java セキュリティ ライブラリ、および「最近パッチされた脆弱性の 40% 近くを占めている」メディア コンポーネントを即時更新することで、Android デバイスの安全性が高まります。 Permission Controller を更新すると、プライバシーが向上します。 タイムゾーン データを標準化すると、国がタイムゾーンの変更を決定するたびに、世界中の Android デバイスが同じ認識を保つのに役立ちます。 さらに、ゲーム開発者は、 角度.
Google はこれらのシステム コンポーネントから始めていますが、将来の Android リリースではさらに多くのコンポーネントを追加する可能性があります。 これら 13 のコンポーネントのうち、Conscrypt、タイムゾーン データ、メディア コーデック、メディア フレームワーク コンポーネントは APEX パッケージとして提供されます。 他の 9 つのコンポーネントはシステム APK です。 APEX と APK はどちらも Google Play 経由で配信できますが、APEX パッケージを更新すると 再起動が必要になります. Google は、これがどのように行われるかについての UI フローをまだ共有していませんが、デバイスが Android Q で起動し始めたら、Project Mainline と APEX パッケージについてさらに詳しい情報が得られる可能性があります。