Android向けの公式アプリストアであるGoogle Playでは、Playアプリ署名を利用することで配布されているアプリやアップデートが安全なものであることを保証します。このアプリ署名鍵は本来非公開であるべきものなのですが、AndroidデバイスのOEMメーカーが使用するアプリ署名鍵が大量に流出し、マルウェアの署名に利用されていたことが明らかになっています。

100 - Platform certificates used to sign malware - apvi

https://bugs.chromium.org/p/apvi/issues/detail?id=100

Android OEM key leak means sideloaded "updates" could be hiding serious malware

https://www.xda-developers.com/android-oem-key-leak-samsung-lg-mediatek/

Samsung’s Android app-signing key has leaked, is being used to sign malware | Ars Technica

https://arstechnica.com/gadgets/2022/12/samsungs-android-app-signing-key-has-leaked-is-being-used-to-sign-malware/

Androidでは、アプリをアップデートする際に、端末にインストールされている古いバージョンのアプリと、アップデート予定のデータが同じアプリ開発者から提供されたものであることを証明するために、アプリ署名鍵が使用されます。これにより、悪意のあるアプリに端末が乗っ取られることを防ぐことが可能となるため、このPlayアプリ署名はAndroidにとって重要なセキュリティ機能のひとつです。そのため、もしも開発者の持つアプリ署名鍵が流出してしまえば、誰でも端末に悪意のあるアプリをアップデートとしてインストールさせることが可能となってしまう危険性があります。

Androidでは、Google Playからダウンロードしたアプリだけでなく、Googleの純正アプリや端末を製造したメーカー謹製のアプリなどもインストールされています。ユーザーが独自にインストールしたアプリには厳密な権限と制御が課せられますが、あらかじめインストールされているアプリは強力な権限を有しており、通常のGoogle Playの制限対象にはならないとArs Technicaは指摘しています。そのため、Ars Technicaは「ユーザーが独自にインストールする必要があるサードパーティーアプリの開発者がアプリ署名鍵を紛失することは悪いことですが、あらかじめ端末にインストールされているデバイスメーカーがアプリ署名鍵を紛失することは非常に悪いことです」と述べました。



GoogleのAndroidセキュリティチームの一員であるŁukasz Siewierski氏がAndroid Partner Vulnerability Initiative(APVI)に投稿した内容によると、一部のアプリ署名鍵が流出しており、マルウェアをインストールするために悪用されているとのこと。アプリ署名鍵を利用すると、アプリは高度な特権を持つユーザーIDで実行され、ユーザーデータへのアクセス許可を含むシステムへのアクセス権限を取得することができます。そのため、流出したアプリ署名鍵でマルウェアを署名すれば、同じユーザーIDを実行することで端末への高度なアクセス権限を取得することが可能になるとのこと。

流出したアプリ署名鍵は、APKMirrorやVirusTotalといったサイトに入力すると、どのメーカーに割り当てられたものかを確認することが可能。これによると、アプリ署名鍵を流出させたのはSamsungやLG、MediaTek、Revoview、SzrocoといったOEMメーカーであるとわかります。

特に多くのアプリ署名鍵を流出していたのがSamsungです。Samsungから流出したアプリ署名鍵は、Samsung PayやBixbyといったSamsungが開発した自社製アプリに使用されているもので、APKMirrorでの検索結果によればこのアプリ署名鍵を利用しているアプリの数はかなり膨大。

また、APKMirrorの創設者であるArtem Russakovskii氏は、Samsungから流出したアプリ署名鍵を利用したマルウェアが2016年時点で存在していたと指摘しており、署名鍵の流出がかなり前から起きていた可能性を指摘しています。





これに対して、Samsungは「Samsungは、Galaxy端末のセキュリティを真剣に考えています。2016年以降、この問題が認識されてからセキュリティパッチを発行しており、この潜在的な脆弱性に関する既知のセキュリティインシデントはありません。最新のソフトウェア更新プログラムを使用して、デバイスを最新の状態に保つことを常にお勧めします」という声明をXDA Developers経由で出しています。これに対して、XDA Developersは「Samsungは脆弱性に関する既知のセキュリティインシデントはないと主張しており、2016年以降、同社がこの漏えいしたアプリ署名鍵を把握していたことを認めているようです。ただし、この脆弱性にどういった対処を行ったかは明らかではなく、流出したアプリ署名鍵を用いたマルウェアが2016年にVirusTotalに最初に提出されたことを考えると、間違いなくどこかで出回っているように思われます」と指摘しました。

なお、Siewierski氏が流出しているアプリ署名鍵をどこで発見したのかは不明ですが、Googleは「流出が確認されたアプリ署名鍵を利用したマルウェアはGoogle Play上では検出されなかった」とコメントしています。

また、Siewierski氏は「影響を受けたすべての関係者に調査結果を通知し、ユーザーへの影響を最小限に抑えるための修復措置を講じました」と述べ、適切な対処を行った上でアプリ署名鍵の流出について発表したとしています。

なお、XDA Developersは「現時点ではこれらの署名鍵がどのように流通しているのか、また、その結果として何らかの損害が発生しているのかについては明確ではありません」と言及。その上で、企業側ができる最善の対処法としてAPK署名スキームv3のAPKキーローテーションを採用することを挙げています。