Androidのスマートフォンを買ったことのある人は、立ち上げた途端に、頼んだ覚えのないごみがすでにロードされているのを、きっと見つけたことがあるだろう。これらの、最初からインストールされているアプリは、おおむね不細工で削除も面倒で、めったにアップデートされず、しかもセキュリティホールだらけのことが多い。
セキュリティ企業のKryptowire(クリプトワイヤー)は、大量のAndroidデバイスを自動的にスキャンしてセキュリティの欠陥の兆候を見つけるツールを作り、国土安全保障省の助成事業で29社のスマートフォンを調べた。多くの人が名前すら知らなかったメーカーがほとんどだが、中にはAsus(エイスース)、Samsung(サムスン)、 ソニーなどの有名ブランドもある。
Kryptowireは、ありとあらゆる種類の脆弱性を見つけた。ほかのアプリのインストールを強制するアプリもあれば、ユーザーを騙してオーディオを録音したり、システムの設定を黙って変えるのもある。事前にインストールされているアプリがないと動かない悪者アプリなどは、いわば特定のサプライチェーンを悪用しているアプリだ。また、ユーザーが何かのアプリをインストールした途端に悪事を働く悪者アプリもある。
Kryptowireが見つけたすべての脆弱性のリストがここにある。タイプ別メーカー別に分類されている。同社は全部で146の脆弱性を見つけた。
Wired誌の指摘によると、この最初からロード/インストールされているアプリの悪質性を、Googleもよく知っている。2018年に同社が立ち上げたBuild Test Suite(BTS)という一連のテストは、パートナーのOEMが必ずそれに合格しなければならない。BTSはデバイスのファームウェアをスキャンして、予めインストールされているアプリに隠れているセキュリティの問題を探す。そして悪者アプリにはPotentially Harmful Applications(PHA、有害の可能性のあるアプリケーション)の烙印を押す。Googleは2018年のAndroidセキュリティレポートにこう書いている:
OEMは彼らの新しい、またはアップデートしたビルドイメージをBTSにアップロードする。するとBTSは一連のテストを行なって、そのシステムイメージにセキュリティの問題を探す。これらのセキュリティテストの一つは、システムイメージに最初からインストールされるPHAがないかスキャンする。ビルドにPHAを見つけたら、OEMと協働して矯正を行い、PHAをビルドから削除してユーザーの手に渡るようにする。
最初の1年でBTSは、242のビルドから、エコシステムへのPHAの侵入を阻止した。
BTSが問題を見つけたときにはいつでも、OEMパートナーと協働して矯正行為を行い、そのアプリケーションがいかにしてビルドに含まれたのかを探る。このチームワークにより、エコシステムに対する意図的な脅威を見つけて抑止することが可能になっている。
でも、たった1つの自動化システムがすべてを捕らえることはできない。問題がこっそり忍び込んできたときには対応するフィックスやパッチはまだないことが多い。長期的なサポートがおろそかになりがちな、ローエンドのマシンでは特にそうだ。上記のレポートに対するGoogleのコメントを求めたら、こんな談話をくれた:
弊社と協力して責任ある態度でこのような問題の修復と公開を行っている研究者たちの仕事に感謝する。