Samsung, LG e MediaTek estão entre as empresas afetadas.
Um aspecto crucial da segurança do smartphone Android é o processo de assinatura do aplicativo. É essencialmente uma forma de garantir que todas as atualizações de aplicativos sejam provenientes do desenvolvedor original, pois a chave usada para assinar os aplicativos deve sempre ser mantida em sigilo. Vários desses certificados de plataforma de empresas como Samsung, MediaTek, LG e Revoview parecem ter vazado e, pior ainda, foram usados para assinar malware. Isso foi divulgado por meio da Android Partner Vulnerability Initiative (APVI) e se aplica apenas a atualizações de aplicativos, não OTAs.
Ao vazar chaves de assinatura, um invasor poderia, em teoria, assinar um aplicativo malicioso com uma chave de assinatura e distribuí-lo como uma "atualização" para um aplicativo no telefone de alguém. Tudo o que uma pessoa precisaria fazer era carregar uma atualização de um site de terceiros, o que, para os entusiastas, é uma experiência bastante comum. Nesse caso, o usuário estaria dando, sem saber, nível de sistema operacional Android de acesso a malware, pois esses aplicativos maliciosos podem fazer uso do UID compartilhado do Android e da interface com o sistema "android" processo.
"Um certificado de plataforma é o certificado de assinatura do aplicativo usado para assinar o aplicativo "android" na imagem do sistema. O aplicativo "android" é executado com um ID de usuário altamente privilegiado - android.uid.system - e possui permissões do sistema, incluindo permissões para acessar dados do usuário. Qualquer outro aplicativo assinado com o mesmo certificado pode declarar que deseja executar com o mesmo usuário id, dando-lhe o mesmo nível de acesso ao sistema operacional Android", explica o repórter da APVI. Esses certificados são específicos do fornecedor, pois o certificado em um dispositivo Samsung será diferente do certificado em um dispositivo LG, mesmo que sejam usados para assinar o aplicativo "android".
Essas amostras de malware foram descobertas por Łukasz Siewierski, um engenheiro reverso do Google. Siewierski compartilhou hashes SHA256 de cada uma das amostras de malware e seus certificados de assinatura, e pudemos visualizar essas amostras no VirusTotal. Não está claro onde essas amostras foram encontradas e se foram distribuídas anteriormente na Google Play Store, sites de compartilhamento de APK como o APKMirror ou em outro lugar. A lista de nomes de pacotes de malware assinados com esses certificados de plataforma está abaixo. Atualização: o Google diz que esse malware não foi detectado na Google Play Store.
- com.vantage.ectronic.cornmuni
- com.russian.signato.renewis
- com.sledsdffsjkh. Procurar
- com.android.power
- com.management.propaganda
- com.sec.android.musicplayer
- com.houla.quicken
- com.attd.da
- com.arlo.fappx
- com.metasploit.stage
No relatório, afirma-se que "todas as partes afetadas foram informadas das descobertas e tomaram medidas de remediação para minimizar o impacto do usuário." No entanto, pelo menos no caso da Samsung, parece que esses certificados ainda estão em usar. Pesquisando no APKMirror pois seu certificado vazado mostra atualizações até hoje sendo distribuídas com essas chaves de assinatura vazadas.
O mais preocupante é que uma das amostras de malware assinadas com o certificado da Samsung foi enviada pela primeira vez em 2016. Não está claro se os certificados da Samsung estão em mãos maliciosas há seis anos. Ainda menos claro neste momento é como esses certificados foram divulgados na natureza e se já houve algum dano causado como resultado. As pessoas carregam atualizações de aplicativos o tempo todo e contam com o sistema de assinatura de certificados para garantir que essas atualizações de aplicativos sejam legítimas.
Quanto ao que as empresas podem fazer, o melhor caminho a seguir é uma rotação de chaves. O Esquema de assinatura de APK do Android v3 oferece suporte nativo à rotação de chaves, e os desenvolvedores podem atualizar do Signing Scheme v2 para v3.
A ação sugerida pelo repórter no APVI é que "Todas as partes afetadas devem alternar o certificado da plataforma, substituindo-o por um novo conjunto de chaves públicas e privadas. Além disso, eles devem conduzir uma investigação interna para encontrar a causa raiz do problema e tomar medidas para evitar que o incidente aconteça no futuro."
"Também recomendamos minimizar o número de aplicativos assinados com o certificado da plataforma, pois isso reduzir significativamente o custo de rotação das chaves da plataforma caso um incidente semelhante ocorra no futuro", conclui.
Quando entramos em contato com a Samsung, recebemos a seguinte resposta de um porta-voz da empresa.
A Samsung leva a sério a segurança dos dispositivos Galaxy. Emitimos patches de segurança desde 2016 ao tomarmos conhecimento do problema e não houve incidentes de segurança conhecidos relacionados a essa possível vulnerabilidade. Sempre recomendamos que os usuários mantenham seus dispositivos atualizados com as atualizações de software mais recentes.
A resposta acima parece confirmar que a empresa sabe sobre esse certificado vazado desde 2016, embora afirme que não houve incidentes de segurança conhecidos em relação à vulnerabilidade. No entanto, não está claro o que mais foi feito para fechar essa vulnerabilidade e, dado que o malware foi submetido pela primeira vez ao VirusTotal em 2016, parece que está definitivamente disponível em algum lugar.
Entramos em contato com a MediaTek e o Google para comentar e iremos atualizá-lo quando recebermos uma resposta.
ATUALIZAÇÃO: 2022/12/02 12:45 EST POR ADAM CONWAY
Google responde
Google nos deu a seguinte declaração.
Os parceiros OEM prontamente implementaram medidas de mitigação assim que relatamos o principal comprometimento. Os usuários finais serão protegidos por mitigações de usuário implementadas por parceiros OEM. O Google implementou amplas detecções para o malware no Build Test Suite, que verifica as imagens do sistema. O Google Play Protect também detecta o malware. Não há indicação de que esse malware esteja ou tenha estado na Google Play Store. Como sempre, aconselhamos os usuários a garantir que estejam executando a versão mais recente do Android.