tsuyoshin’s Tech Blog

https://qrunch.net/@tsuyoshin から移転してきました。

【Android】Project Mainline(Google Play システムアップデート)を調べてみる

f:id:tsuyo-shin:20210201165556p:plainf:id:tsuyo-shin:20210201165701p:plain
左:設定→セキュリティ画面、右:Google Playシステムアップデート画面
Android 10 から導入された Project Mainline(Google Play システムアップデート)。
従来からある システムアップデート の違いは下記の通り。

  • 端末メーカーではなく Google がアップデートを配信する
    →メーカーによるセキュリティ格差が少なくなる

  • 特定のモジュールのみアップデートされる
    →OSのバージョンアップは出来ない
    →全ての脆弱性をアップデートできる訳ではない

端末メーカーが配信する システムアップデート には到底及ばないが、ある程度のセキュリティは確保できる。

では具体的にアップデート対象となるモジュールは何か。
Android のサイトに具体的なモジュールが掲載されている。
下記表はサイトより転載したもの。

Type にある APEX は、Android 10 より導入されたファイルフォーマット。
詳細はここに記載されている。
Project Mainline のために用意したものではないかと思う。

Module name Package name Type Release introduced
adbd com.google.android.adbd APEX Android 11
Runtime com.android.runtime.release.apex APEX Android 10
Captive Portal Login com.android.captiveportallogin APK Android 10
CellBroadcast com.google.android.cellbroadcast APEX Android 11
Conscrypt com.android.conscrypt APEX Android 10
DNS Resolver com.android.resolv APEX Android 10
DocumentsUI com.android.documentsui APK Android 10
ExtServices com.android.ext.services APK (Android 10) APEX (Android 11) Android 10
IPsec/IKEv2 Library com.google.android.ipsec APEX Android 11
Media Codecs com.android.media.swcodec APEX Android 10
Media com.android.media APEX Android 10 (extractors, MediaSession API) , Android 11 (MediaParser API)
MediaProvider com.google.android.mediaprovider APEX Android 11
ModuleMetadata com.android.modulemetadata APK Android 10
Network Stack Permission Configuration com.android.networkstack.permissionconfig APK Android 10
Network Components com.android.networkstack APK Android 10
NNAPI Runtime com.google.android.neuralnetworks APK Android 11
PermissionController com.android.permissioncontroller APK Android 10
SDK Extensions com.android.sdkext APEX Android 11
Statsd com.google.android.os.statsd APEX Android 11
Telemetry Train Version Package com.google.mainline.telemetry APEX Android 11
Tethering com.google.android.tethering APK Android 11
Time Zone Data com.android.tzdata APEX Android 10
Wi-Fi com.google.android.wifi.apex APEX Android 11

システムアップデートとProject Mainline(Google Play システムアップデート)の具体的な違い

2020年11月のセキュリティアップデート内容で比較してみる。

システムアップデート
CVE References Type Severity Updated AOSP versions
CVE-2020-0409 A-156997193 EoP High 8.0, 8.1, 9, 10
  • Framework
CVE References Type Severity Updated AOSP versions
CVE-2020-0441 A-158304295 DoS Critical 8.0, 8.1, 9, 10, 11
CVE-2020-0442 A-147358092 DoS Critical 8.0, 8.1, 9, 10, 11
CVE-2020-0418 A-153879813 EoP High 10
CVE-2020-0439 A-140256621 [2] EoP High 8.0, 8.1, 9, 10, 11
CVE-2020-0454 A-161370134 [2] ID High 9
CVE-2020-0443 A-152410253 DoS High 8.0, 8.1, 9, 10, 11
  • Media Framework
CVE References Type Severity Updated AOSP versions
CVE-2020-0451 A-158762825 ID High 10, 11
RCE Critical 8.0, 8.1, 9
CVE-2020-0452 A-159625731 RCE High 8.0, 8.1, 9, 10, 11
CVE-2020-0438 A-161812320 EoP High 11
EoP Moderate 10
  • System
CVE References Type Severity Updated AOSP versions
CVE-2020-0449 A-162497143 RCE Critical 8.0, 8.1, 9, 10, 11
CVE-2020-12856 A-157038281 [2] [3] [4] EoP High 8.0, 8.1, 9, 10, 11
CVE-2020-0424 A-161362564 ID High 9, 10, 11
CVE-2020-0448 A-153995334 ID High 8.0, 8.1, 9, 10, 11
CVE-2020-0450 A-157650336 ID High 8.0, 8.1, 9, 10, 11
CVE-2020-0453 A-159060474 ID High 8.0, 8.1, 9
CVE-2020-0437 A-162741784 DoS High 8.0, 8.1, 9, 10, 11
Project Mainline(Google Play システムアップデート)

一方、Google Play システムアップデート での配信は下記脆弱性のみ

Component CVE
Permission Controller CVE-2020-0418
Media Codecs CVE-2020-0451
DNS Resolver CVE-2020-0424