Upload
truongkhue
View
214
Download
0
Embed Size (px)
Citation preview
1 de 35 www.elevenpaths.com
Análise Demográfica do Google Play 07/03/2016
Cyberthreats_ Telefónica
Análise Demográfica do Google Play
07/03/2016
2 de 35 www.elevenpaths.com
Análise Demográfica do Google Play 07/03/2016
Sobre os editores
Cyberthreats_ Telefónica
O principal objetivo do Serviço de ameaças Cyberthreats_ da Telefónica é a geração
de inteligência sob medida para as necessidades dos nossos clientes para combater
essas ameaças que possam surgir a partir do ambiente digital. O que diferencia a
Telefónica dos outros serviços de segurança tradicionais, é a capacidade de tentar
integrar, avaliar e transformar informações e dados brutos em conclusões e possíveis
cenários futuros.
Os três pilares sobre os quais repousa o serviço são:
Detecção
Análise e interpretação
Previsão e antecipação
ElevenPaths
Na ElevenPaths pensamos de forma diferente quando falamos de segurança. Liderados
por Chema Alonso, somos uma equipe de especialistas com a preocupação de
repensar a indústria e uma vasta experiência e conhecimento no setor da segurança.
Dedicamos toda nossa experiência e esforços para criar produtos inovadores para que
a vida digital seja mais segura para todos.
A evolução das ameaças de segurança na tecnologia está ficando mais rápida e
constante. Portanto, a partir de junho de 2013, nos tornamos como uma start-up
dentro da Telefónica para trabalhar de forma rápida e dinâmica, capaz de
transformar o conceito de segurança em antecipação de futuros problemas que
afetam a nossa identidade, privacidade e disponibilidade on-line.
Com sede na Espanha, estamos presentes também no Reino Unido, EUA, Brasil,
Argentina e Colômbia.
3 de 35 www.elevenpaths.com
Análise Demográfica do Google Play 07/03/2016
Resumo executivo
A seleção realizada no início de fevereiro de 2016, mostra que a Tacyt tinha analisado
um total de 3,365,527 aplicativos do Google Play Store, dos quais apenas 2.438.864
estavam disponíveis para download no mercado.
Em resposta ao endereço de e-mail usado por desenvolvedores no Google Play Store
(developerEmail), a ferramenta Tacyt tem informações de 678,328 desenvolvedores
diferentes. Cerca de 44% dos endereços de e-mail presentes no Google Play Store são
do domínio do "gmail.com".
A Google exige que os desenvolvedores assinem todos os aplicativos antes de serem
publicados no Google Play Store. Este certificado é usado para identificar o autor do
aplicativo. O número total de certificados diferentes encontrado pela Tacyt foi de
805.731. Embora a grande maioria dos certificados encontrados estão associados a um
único endereço, existem exceções. Inclusive foi encontrado um certificado
correspondente a mais de dez mil endereços de correio diferentes.
Compartilhar o mesmo certificado entre vários desenvolvedores não é uma prática
recomendada do ponto de vista da segurança, uma vez que poderia comprometer o
processo de atualização de aplicativos ou informações que eles manipulam. Dos
805,731 certificados (certificateFingerprint) conhecidos pela Tacyt, 761.389 estão
associados a um único endereço de e-mail para desenvolvedor (developerEmail), o
restante é usado por dois ou mais endereços de e-mail de desenvolvedor diferente
para assinar seus aplicativos. Inclusive foi encontrado um certificado que é usado por
10.240 contas de e-mail de desenvolvedores diferentes.
4 de 35 www.elevenpaths.com
Análise Demográfica do Google Play 07/03/2016
Tabela de conteúdos
SOBRE OS EDITORES 2
RESUMO EXECUTIVO 3
TABELA DE CONTEÚDOS 4
INTRODUÇÃO 5
INDICADORES DEMOGRÁFICOS BÁSICOS 6
ANÁLISE DA POPULAÇÃO 11
ANÁLISE DE CERTIFICADOS 21
EXEMPLOS DE INTER-RELAÇÕES ENTRE POPULAÇÃO 30
CONCLUSÕES 34
5 de 35 www.elevenpaths.com
Análise Demográfica do Google Play 07/03/2016
Introdução
Demografia, do grego demos (povo) e gráficos (linha) é definida como o estudo
estatístico de uma comunidade humana, com base em um determinado período de
tempo ou evolução.
A este respeito, o relatório tem como objetivo estudar a população de
desenvolvedores e aplicativos no Google Play Store no início de fevereiro de 2016,
para determinar seu tamanho, estrutura, evolução e características gerais de um
ponto de vista quantitativo.
Como fonte de informação foi utilizada o Tacyt, uma ferramenta inovadora de Cyber
Intelligence, que monitora, armazena, analisa, correlaciona e classifica milhões de
aplicativos móveis com tecnologia de big data, adicionando milhares de novos
aplicativos a cada dia1.
1 https://www.elevenpaths.com/es/tecnologia/tacyt/index.html
6 de 35 www.elevenpaths.com
Análise Demográfica do Google Play 07/03/2016
Indicadores demográficos básicos
Na Internet existem várias fontes de informação que fornecem um conjunto de
indicadores básicos com a evolução histórica do número de aplicativos disponíveis no
Google Play Store.
O portal "Statista" especializado em estatísticas indica que em novembro 2015 foram
1.800.000 aplicativos no Google Play Store2:
Figura 1. Número de apps no Google Play Store (Statista Dezembro de 2009 -
novembro 2015)
Diretório de aplicativos do Android, "AppBrain" também fornece informações sobre o
número de aplicativos disponíveis no Google Play Store, mais você pode encontrar
informações adicionais como o número mensal de novos aplicativos, as avaliações de
distribuição de aplicativos, downloads de aplicativos classificados de acordo com sua
2 http://www.statista.com/statistics/266210/number-of-available-applications-in-the-google-play-
store/
7 de 35 www.elevenpaths.com
Análise Demográfica do Google Play 07/03/2016
qualidade (baixa qualidade vs. regular), as categorias que estão incluídas, os
aplicativos mais populares, etc. 3
No início de fevereiro de 2016, "AppBrain" indica que havia cerca de 2 milhões de
aplicativos disponíveis no Google Play Store.
Figura 2. Número apps disponíveis no Google Play Store (AppBrain Stats Fev 2016).
Quase meio milhão a mais que o registrado um ano atrás:
Figura 3. Número apps no Google Play Store (AppBrain Stats Fev 2015 – Fev 2016)
3 http://www.appbrain.com/stats/number-of-android-apps
8 de 35 www.elevenpaths.com
Análise Demográfica do Google Play 07/03/2016
Finalmente, utilizando como fonte "App Annie" em meados de fevereiro, o número de
aplicativos disponíveis era de 2.344.3634 no Google Play Store:
Figura 4. Número apps disponíveis no Google Play Store (App Annie Stats Fev 2016).
Nesta fonte, ao contrário do AppBrain são fornecidas informações sobre o número de
desenvolvedores (publishers) e coloca-o em 618.048 distribuídos em mais de 100
países.
A fim de extrair informações mais completas sobre os desenvolvedores é preciso ir à
fonte Tacyt. Analisando as informações disponíveis sobre Tacyt associada ao Google
Play Store obtemos os seguintes dados:
Tabela I: Informações disponível o Tacyt do Google Play Store (Fevereiro de 2016)
O que você sabe da Tacyt do Google Play Store? Total
Número aplicativos conhecidos pela Tacyt 3.365.527
Número aplicativos diferentes (packageName) 2.316.838
Total aplicativos retirados (não disponíveis no Google Play) 926.663
Número de endereços de correio únicos associados com desenvolvedores
678.328
Número de nomes de várias desenvolvedor 539.468
Número de certificado exclusivo (certificateFingerprint) 805.731
Número de diferentes chaves públicas 805.624
Tópico chave: alta taxa de mortalidade de Apps
A amostragem realizada no início de fevereiro 2016 mostra que a Tacyt detém um
total de 3,365,527 aplicativos do Google Play Store, dos quais 2.316.838 são
aplicativos diferentes (packageName diferente).
4 https://www.appannie.com/search/?vertical=apps&market=google-play
9 de 35 www.elevenpaths.com
Análise Demográfica do Google Play 07/03/2016
Além disso a Tacyt armazenou cerca de um milhão de aplicativos que não estão mais
disponíveis para download no Google Play Store (ou porque o desenvolvedor atualizou
a versão do seu aplicativo e eliminou os anteriores, porque ele decidiu removê-lo ou
porque foi o Google Play que eliminou da loja).
Tópico chave: é difícil determinar o número exato de desenvolvedores
únicos
Em resposta ao e-mail com o desenvolvedor do Google Play Store (developerEmail), a
Tacyt tem informações de 678,328 desenvolvedores diferentes. Esta ordem de
grandeza coincide com o que relatava App Annie, podendo igualar a diferença entre
os números oferecidos por ambas as fontes para a frescura da informação, que é mais
elevada no caso da Tacyt.
Figura 5. Informações detalhadas disponíveis na Tacyt associada ao desenvolvedor de
exemplo
Centrando o foco em dados que a Tacyt oferece, é interessante deter-se na
comparação de alguns valores. Por exemplo, de acordo com o número de nomes de
desenvolvedor diferentes obtidos (developername) versus o número de certificados
usados para assinar aplicativos, você pode ser levantado a várias hipóteses:
Que um mesmo desenvolvedor pode estar usando vários endereços de e-mail.
Que pode ser identificado com vários nomes de desenvolvedor.
Você pode usar vários certificados diferentes para assinar os diversos
aplicativos que desenvolve
Ao longo deste relatório que irá demonstrar que esta é uma prática comum entre os
desenvolvedores, e pode mudar o nome, ou o certificado de e-mail, geralmente, para
tentar disfarçar ou diversificar a identidade sob a publicação. Infelizmente, as
informações que podem ser coletadas através de consulta direta ao Google Play é
impossível reconstruir a linha do tempo em que esta prática ocorre.
10 de 35 www.elevenpaths.com
Análise Demográfica do Google Play 07/03/2016
Figura 6.Informação na Tacyt associada ao certificado com o qual o aplicativo é
assinado
11 de 35 www.elevenpaths.com
Análise Demográfica do Google Play 07/03/2016
Análise da população
Analisando os 678,328 endereços de e-mail associados com os desenvolvedores que a
Tacyt encontrou no Google Play Store, é fácil determinar quais domínios e apelidos
mais comuns aparecem no developerEmail campo (apelido@domínio).
Tabela II: Top 10 dominios usados como e-mail de
desenvolvedor (Fevereiro de 2016)
Domínio de E-mail Nº E-mails
gmail.com 296.917
hotmail.com 8.883
yahoo.com 5.655
naver.com 4.258
googlemail.com 3.077
outlook.com 2.504
mail.ru 1.326
live.com 1.090
163.com 1.050
hanmail.net 902
Tabela III: Top 10 apelidos usados como e-mail de
desenvolvedor (Fevereiro de 2016)
Developer Email nickname Nº E-mails
info 66.430
support 35.141
contact 12.301
android 6.873
apps 6.103
contato 4.178
app 3.076
sales 2.826
webmaster 2.798
hello 2.654
Cerca de 44% dos endereços de e-mail presentes no Google Play Store são de domínio
do "gmail.com". No total, há mais de 286.000 domínios diferentes presentes no
developerEmail. Os mais comuns correspondem a provedores de e-mail gratuitos.
Enquanto os apelidos mais comuns são o nomes de suporte genéricos, informação ou
contato. Dentro dos 10 principais destaca a palavra "contato" em
Português/brasileiro. O resto tendem a chegar a um termo em Inglês.
Com base nos TLDs associados com domínios encontrados no e-mail, existem mais de
480 TLDs diferentes, quase 60% dos developerEmail usar um e-mail ".com"
12 de 35 www.elevenpaths.com
Análise Demográfica do Google Play 07/03/2016
Figura 7. Distribuição TLDs encontrados nos endereços de e-mail (developerEmail)
Com relação ao TLD ".com" mostram a seguir os domínios mais utilizados
frequentemente, bem como os apelidos mais comuns.
Tabela IV: Top 10 domínios ".es" usados como e-mail de desenvolvedor (Fevereiro de 2016)
Developer Email Domain Nº E-mails
yahoo.es 140
hotmail.es 89
outlook.es 38
juntadeandalucia.es 18
movistar.es 10
outlook.com 9
gmail.es 7
xunta.es 7
ivhusa.es 7
wke.es 7
rba.es 7
orange.es 7
chorrasoft.es 7
Tabela V: Top 10 apelidos usados como e-mail de desenvolvedor (Fevereiro de 2016)
Developer Email nickname Nº E-mails
info 1.012
contacto 101
soporte 95
apps 46
android 46
support 42
app 36
admin 36
hola 34
comercial 27
13 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
Há 2.941 domínios ".es" usados por 3.657 e-mail diferentes ".es" de diferentes
desenvolvedores.
A tabela a seguir mostra os nomes de desenvolvedor (developername) encontrados
mais comuns, de acordo com o número de aplicativos carregados. Os três primeiros
são nomes chineses (na tabela está a tradução usando o Google Translate):
Tabela VI: Top 10 nomes de desenvolvedor com mais aplicativos no Google Play (Fevereiro de 2016)
Developer Name Nº apps
천지인운세 (Tenchijin Horoscopes) 7.342
길선백 (Gilseon back) 7.102
학교기업 (School now) 6.083
Nobex Technologies 4.314
한겨레신문사 (Hankyoreh newspaper) 3.844
Subsplash Consulting 3.375
Shopgate GmbH 2.576
대구대앱창작터 (Daegu app from creation) 2.535
CrowdCompass by Cvent 2.333
MagazineCloner.com 2.170
Da mesma forma você também pode obter a classificação so desenvolvedor
(developerEmail) na Google Play Store, atendendo ao número total de aplicativos
carregados (tanto os que estão atualmente disponíveis, como os que não).
Tabela VII: Top 10 endereços de e-mail com mais aplicativos carregados para o Google Play (Fevereiro de 2016)
developerEmail Nº apps
[email protected] 12.706
[email protected] 4.315
[email protected] 3.445
[email protected] 3.153
[email protected] 2.670
[email protected] 2.554
[email protected] 2.534
[email protected] 2.140
[email protected] 2.112
14 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
developerEmail Nº apps
[email protected] 1.896 Nos dez endereços de e-mail principais estão associados a empresas envolvidas no
desenvolvimento de software: “Tobit.Software”, “CrowdCompass” e “The Church
App” entre outras.
Vamos nos concentrar agora em diante nos nomes de desenvolvedor (developername)
com os quais estão relacionados as contas de e-mail mais utilizadas.
O endereço de e-mail "[email protected]" está associada com 1.385 nomes
de vários desenvolvedores. Na maioria das vezes contem explicitamente a sequência
associada ao nome da empresa "Tobit.Software". Mas se descartar os nomes de
desenvolvedor em que "Tobit.Software" aparece, encontramos uma lista completa de
outras empresas e sociedades de responsabilidade limitada (GmbH) que têm confiado
o desenvolvimento de seu aplicativo móvel a "Tobit.Software". A detalhe da
informação aparece listado nas tabelas a seguir:
Tabela VIII: Top 10 "developername" associado ao endereço de e-mail "[email protected]"
Nome desenvolvedor Nº apps
Tobit.Software 834
Tobit Software AG 487
Tobit.Software GER1 413
Tobit.Software GER2 393
Tobit.Software GER3 354
Tobit.Software GER4 345
Tobit.Software GER5 307
Tobit.Software GER6 286
Tobit.Software GER7 266
Tobit.Software GER8 264
Tabela IX: "Developername" mais comumente associado a "[email protected]", não
aparece a cadeia "Tobit.Software"
Nome desenvolvedor Nº apps
APPJETZT - IT-Center Engels 53
Experten Service Point GmbH 52
plusO® 48
Buschkamp Consulting 48
Wellhausen & Marquardt Medien 47
Stolz Computertechnik GmbH 43
Mindtraffic GmbH Fred Posny 43
dunnet.de 35
Groth 34
Christian Süß 24
O endereço de e-mail "[email protected]" só usa dois nomes de
desenvolvedores diferentes, ambos relacionados a aplicativos móveis para
sintonização de estações de rádio.
15 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
Tabela X: Nomes de desenvolvedores por trás do e-mail “[email protected]”
Nome desenvolvedor utilizado Nº apps
Nobex Technologies 4.314
Rumsey Retro Radio AM 1580 1
Para “[email protected]” encontramos 11 nomes de desenvolvedor
diferentes
Tabela XI: Nomes de desenvolvedores por trás do e-mail "[email protected]"
Nome desenvolvedor utilizado Nº apps
CrowdCompass by Cvent 2.333
CrowdCompass Inc 1.083
Cvent - Portland 12
American Bar Association 7
Aetna Life Insurance Company 3
Aetna 2
Viewpoint Construction Software 1
Intel Corporation 1
CrowdTorch 1
Agilysys NV 1
Academy of Management 1
No caso de “[email protected]” apenas dois nomes de desenvolvedor
diferentes são usados.
Tabela XII: Nomes de desenvolvedores por trás do e-mail “[email protected]”
Nome desenvolvedor utilizado Nº apps
Andrey Sorokin 2.148
iniCall.com 1.005
Finalmente, para "[email protected]" novamente encontramos onze nomes de
desenvolvedor diferentes.
16 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
Tabela XIII: Nomes de desenvolvedores por trás do e-mail “[email protected]”
Nome desenvolvedor utilizado Nº apps
MagazineCloner.com 2.168
Pocketmags.com 399
KHL Group LLP 37
Pocketmags.com.au 33
Future Publishing Ltd 13
Newsquest Specialist Media Ltd 7
Key Publishing Limited 6
UTV Media plc 3
ILoveMagazines.com.au 2
Reader's Digest UK 1
mobile_apps_team 1
Tópico-chave: endereços de e-mail usados no Google Play Store não tem
que ser nominativos
Atrás de um determinado developerEmail pode ter um ou mais indivíduos ou empresas
de desenvolvimento de software que usam o mesmo e-mail para fazer upload ao
Google Play Store uma série de aplicativos que podem ser associados a serviços de
múltiplas e diversas empresas.
Analisando os diferentes nomes de desenvolvedor é possível determinar a carteira de
clientes de empresas dedicadas ao desenvolvimento de aplicativos. No caso de um
invasor encontrar uma vulnerabilidade em um desses aplicativos, ele poderia
facilmente listar o conjunto de aplicativos desenvolvidos pela mesma equipe e
também analisar se eles são vulneráveisou não.
Isso já aconteceu no passado, por exemplo AppsGeyser, um criador de aplicativos "a
golpe de clique" que desativou a verificação dos certificados SSL em seus aplicativos.
Um atacante na mesma rede local que um usuário que usa esses aplicativos, pode
injetar qualquer página ao navegar desde aplicativos afetados, ou ver e modificar
sites que devem ser protegidos5.
5 http://blog.elevenpaths.com/2014/12/5500-apps-potencialmente-vulnerables.html
17 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
Voltando ao topo do e-mail associado a desenvolvedores que mais fizeram uploads de
aplicativos no Google Play Store, podemos examinar o número de aplicativos únicos.
A tabela a seguir mostra como alguns desenvolvedores, por exemplo
"[email protected]" raramente atualizam aplicativos que sobem ao Google
Play Store, outros como "[email protected]" ou "[email protected]"
atualizaram uma média de três vezes a cada app subido.
Tabela XIV: Comparação de aplicativos enviados para o Google Play vs aplicativos exclusivos para o top 10 de endereços de e-mail com mais aplicativos no Google Play (Fevereiro de 2016)
developer Email Nº apps Nº apps únicas
[email protected] 12.706 8.235
[email protected] 4.315 1.951
[email protected] 3.445 2.291
[email protected] 3.153 1.044
[email protected] 2.670 680
[email protected] 2.554 1.171
[email protected] 2.534 1.455
[email protected] 2.140 1.549
[email protected] 2.112 678
[email protected] 1.896 1.886
Você também pode exibir informações sobre os aplicativos (packageName) que mais
atualizações tiveram desde 2014:
Tabela XV: Top 10 aplicativos com mais versões (Fevereiro de 2016)
Package name Nº versiones
com.dwdesign.tweetings 81
wp.wpbeta 61
com.komado.Odyssey.com.nifty.homepage2 59
com.mad.tihh.mixtapes 57
com.tavla5 55
com.ninefolders.hd3 54
com.borisov.strelokpro 52
com.vertumus.cryten 51
com.imo.android.imoimbeta 50
com.gau.go.launcherex 48
18 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
A Tacyt detectou 81 atualizações para o aplicativo "Tweetings for Twitter", o que
significa uma média de mais de quatro atualizações mensais.
Figura 8. Detalhe do app "Tweetings for Twitter" no Google Play Store
É com base no número de aplicativos únicos no Google Play Store, o top 10 de
developerEmail seria mostrado na tabela a seguir:
Tabela XVI: Top 10 endereços de e-mail com mais aplicativos carregados para o Google Play (Fevereiro de 2016)
developer Email Nº apps
[email protected] 8.235
[email protected] 2.291
[email protected] 1.951
[email protected] 1.886
[email protected] 1.665
[email protected] 1.615
[email protected] 1.549
[email protected] 1.525
[email protected] 1.455
[email protected] 1.423
Também é interessante ver quantos nomes de desenvolvedor (developerName)
diferentes há por trás de cada de desenvolvedor (developerEmail). A tabela a seguir
lista os endereços de e-mail usando um número maior de nomes de desenvolvedor
diferentes:
19 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
Tabela XVII: Top 10 developerEmail que usam mais nomes de desenvolvedor diferentes (Fevereiro de 2016)
Developer Email Nº developer Names
[email protected] 1.385
Pela mesma análise para os e-mails de desenvolvedores usando o TLD “.es”:
Tabela XVIII: Top 10 developerEmail (.es) que usam mais nomes de desenvolvedor diferentes (Fevereiro de 2016)
developerEmail Nº emails
20 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
A seguir aparecem os nomes de desenvolvedor utilizados pelos dois endereços de e-
mail que encabeçam a tabela abaixo:
Tabela XIX: Nomes de desenvolvedores por trás do e-mail “[email protected]”
Nome desenvolvedor utilizado Nº apps
Centro hospitalario Chuac 1
CIRUBUCA 1
Editorial 5150 1
Infolibre 1
itbook 1
Mikel Areitioaurtena 1
PressMatic 1
Tabela XX: Nomes de desenvolvedores por trás do e-mail “[email protected]”
Nome desenvolvedor utilizado Nº apps
Apps Divertidas 1
Colorea Valencia 1
Frases em Espanhol 1
Funny Smartphone Kids 1
Kid Games 1
Messages Apps 1
21 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
Análise de certificados
A Google exige que os desenvolvedores assinem todos os aplicativos antes de serem
publicados no Google Play Store. Este certificado é usado para identificar o autor do
aplicativo. Segundo a documentação oficial do Google6:
Assinando seus aplicativos.
O Android exige que todos os aplicativos sejam assinados digitalmente com um certificado
antes que possam ser instalados. O Android usa esse certificado para identificar o autor de um
aplicativo e o certificado não precisa ser assinado por uma autoridade de certificação. Os
aplicativos Android costumam usar certificados auto-assinados. O desenvolvedor do aplicativo
contém a chave privada do certificado.
…
Considerações de assinatura
…
Se você pretende disponibilizar atualizações para um aplicativo, certifique-se de que a chave
tem um período de validade que excede o tempo de vida esperado do app. Um período de
validade de 25 anos ou mais é recomendado. Quando o período de validade de teclas expira, os
usuários deixarão de ser capazes de atualizar facilmente para novas versões do seu aplicativo.
Os certificados não tem que ser gerados por uma autoridade de certificação, para que
possam ser assinados automaticamente. A Google indica que a validade do certificado
deve ser pelo menos 25 anos, pois é essencial para usar no processo de atualização de
aplicativos. É de responsabilidade do desenvolvedor manter a segurança da chave
privada.
Como mencionado anteriormente neste documento, a Tacyt é capaz de dissecar a
informação associada ao certificado que os desenvolvedor assina cada app do Google
Play Store, extraindo as entidades que foram mostradas na Figura 6.
O número total de chaves públicas encontrados no Google Play Store são 805.624,
com eles são gerados um total de 805,731 certificados diferentes (cada um desses
certificados tem um certificateFingerprint único).
6 http://developer.android.com/tools/publishing/app-signing.html
22 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
Encontradas apenas três chaves públicas que são usadas para gerar mais de um
certificado (certificateFingerprint):
Tabela XXI: Chaves públicas (primeiros caracteres do certificatePublicKey) que geram vários certificados
Chave Pública
Nº certificados diferentes
03818d003081890281810096f729949a260c7d02275ac68c93b53cbad4cb53… 101
0382010f003082010a028201010090b0b1ebbe3aa1bf4673aef5d8ee09139e… 7
03818d0030818902818100ad04a06c0815469c380d62afd6babe78720c5cdc… 2
Este comportamento em si representa uma singularidade no comportamento normal
dos usuários do sistema. A singularidade é meramente uma característica ou um
detalhe que distingue um elemento dos outros na mesma classe. A importância dessas
singularidades é o fato empírico que normalmente constituem evidência de que deve
investigar.
Tópico chave: singularidades são indicações para a realização de
investigações
o top 10 abaixo ambas as chaves públicas de acordo com o número de aplicativos
enviados para o Google Play Store e assinados com eles.
Tabela XXII: Top 10 certificatePublicKey (Fevereiro de 2016)
Chave pública utilizada no certificado Nº apps
03818d0030818902818100d6198c6f4685cfcd4435c0efe9f0... 52.129
0382010f003082010a02820101009bbc9e38e883c581fc67dc... 32.988
03818d0030818902818100938cd7ea321af0ef3272fd25d37a... 26.262
0382010f003082010a02820101009ff1622bc9ffc064949cdc... 16.865
03818d0030818902818100b5002784be33acb7a2c03af22989... 13.467
0382010f003082010a0282010100d818a34292de48821d38e7... 9.548
03818d0030818902818100940e7dcb09f198ef35ecae158418... 8.877
0382010f003082010a0282010100dbed9654b7fc556340c1ad... 7.392
03818d00308189028181008642b807daef2f28b8ef6badf474... 6.871
03818d0030818902818100a46d9cb660fc2abb60d6459c0e76... 5.255
23 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
Existe uma relação de dois sentidos entre as chaves públicas e certificados de os dois
quadros (cada chave pública da tabela acima é usada para gerar um e apenas um
certificado cuja impressão digital corresponde a uma mesma posição na tabela
mostrada abaixo).
Tabela XXIII: Top 10 certificateFingerprint (Fevereiro de 2016)
Pegada do certificado (certificateFingerprint) Nº apps
9EDF7FE12ED2A2472FB07DF1E398D1039B9D2F5D 52.129
E44763A669EAE706121C8FC5370094659A310C9B 32.988
29DEDC0E107145215ED6FDC479541F16D164DAAD 26.262
66994CA292C1A37EA9B827731B20CAFE2AB21792 16.865
943BC6E0827F09B050B02830685A76734E566168 13.467
F19AC1C0228C3C3DA455F32665A46A326A8509EB 9.548
813A3AD37D87AA36120DFEC64146C311DB5F4CA9 8.877
8256B772A412EB466DA13B70A50BC9AC94E80243 7.392
B457827C2896E05BBF7FDAA9F4F8A65ED8042CD1 6.871
5C5C56C63B87B3654184C7D0BC86A7205FB2BC1A 5.255
Uma boa prática será que cada desenvolvedor irá gerar um certificado único para
cada aplicativo para publicar no Google Play Store. Mas, vendo as tabelas acima
parece que isso não é assim (há muitos mais aplicativos que certificados).
Os certificados são um componente crítico de aplicativos de segurança que são
enviados ao Google Play Store7.
Considerações de assinatura
Você deve assinar todos seus aplicativos com o mesmo certificado durante todo o tempo de
vida esperado de seus aplicativos. Há várias razões para que você deva fazê-lo:
Atualização do App: Quando o sistema está instalando uma atualização de um
aplicativo, ele compara o(s) certificado(s) na nova versão com os da versão existente.
O sistema permite a atualização se os certificados corresponderem. Se você assinar a
nova versão com um certificado diferente, você deve atribuir um nome de pacote
diferente para o aplicativo, neste caso, o usuário instala a nova versão como um
aplicativo totalmente novo.
Modularidade do App: Permite que os aplicativos Android assinados pelo mesmo
certificado executem no mesmo processo, se os aplicativos assim o solicitarem, o
sistema trata-os como um único aplicativo. Desta forma, você pode implantar seu
7 http://developer.android.com/tools/publishing/app-signing.html
24 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
aplicativo em módulos, e os usuários podem atualizar cada um dos módulos de forma
independente.
Código / compartilhamento de dados através de permissões: O Android fornece a
execução de permissões baseado em assinaturas, então um aplicativo que pode expor a
funcionalidade para outro aplicativo que está assinado com um certificado
especificado. Ao assinar vários aplicativos com o mesmo certificado e usar permissões
verificações baseadas em assinatura, seus aplicativos podem compartilhar código e
dados de forma segura.
A imagem seguinte mostra a distribuição de impressão digital do certificado,
dependendo do número de aplicativos que registre:
Figura 9. Usando certificados para assinar um ou mais aplicativos
Na figura acima no eixo X está o número de aplicativos que compartilham o mesmo
certificado. O eixo Y é o número de certificados que atendem a essa condição.
Dos 2.316.838 aplicativos analisados únicas, apenas a 710.658 são assinados por um
certificado que não é usado para assinar qualquer outro aplicativo.
Há cinco certificateFingerprint usados para assinar cada um deles, mais de 10.000
aplicativos diferentes,
É fácil encontrar empresas que estão por trás desses certificados, a maioria fornece
serviços de desenvolvimento de aplicativos móveis:
25 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
Tabela XXIV: Top 10 certificateFingerprint - Empresa Relacionada
Pegada do certificado (certificateFingerprint) URL empresa
9EDF7FE12ED2A2472FB07DF1E398D1039B9D2F5D www.appsvolcano.com
E44763A669EAE706121C8FC5370094659A310C9B www.andromo.com
29DEDC0E107145215ED6FDC479541F16D164DAAD www.biznessapps.com
66994CA292C1A37EA9B827731B20CAFE2AB21792 www.como.com
943BC6E0827F09B050B02830685A76734E566168 -
F19AC1C0228C3C3DA455F32665A46A326A8509EB www.mobincube.com
813A3AD37D87AA36120DFEC64146C311DB5F4CA9 ibuildapp.com
8256B772A412EB466DA13B70A50BC9AC94E80243 timmystudios.com
B457827C2896E05BBF7FDAA9F4F8A65ED8042CD1 -
5C5C56C63B87B3654184C7D0BC86A7205FB2BC1A nobexradio.com
Outra abordagem interessante é saber se um único certificado pode ser
compartilhado por vários desenvolvedores. Na imagem seguinte mostra a do
certificateFingerprint dependendo do número de e-mails de desenvolvedor diferentes
(developerEmail) que o usam para assinar seus aplicativos:
Figura 10. Compartilhamento de certificados entre os desenvolvedores
(developerEmail)
26 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
Embora a grande maioria dos certificados encontrados estão associados a um único
endereço, existem exceções. Inclusive foi encontrado um certificado correspondente
a mais de dez mil endereços de correio diferentes.
A tabela a seguir lista os 10 melhores certificados (certificateFingenprint) que estão
sendo usados por outros tantos developerEmail.
Tabela XXV: Top certificado 10 Fingerprint associado a mais de um e-mail (Fevereiro de 2016)
Fingerprint e-mais
66994CA292C1A37EA9B827731B20CAFE2AB21792 10.420
29DEDC0E107145215ED6FDC479541F16D164DAAD 7.237
943BC6E0827F09B050B02830685A76734E566168 5.617
9EDF7FE12ED2A2472FB07DF1E398D1039B9D2F5D 5.361
813A3AD37D87AA36120DFEC64146C311DB5F4CA9 4.758
E44763A669EAE706121C8FC5370094659A310C9B 3.957
F19AC1C0228C3C3DA455F32665A46A326A8509EB 1.736
55A48E1A17A067C7FB22EFB3639558EAC0FC313F 1.452
766D3F4F4876B50894A4EF56FB375C188C15DF96 1.281
7BB234BADDA1FD2CBC65F74983798F9D2A33F556 1.057
Ameaça chave: é uma prática ruim para assinar aplicativos associados a
diferentes clientes ou serviços com o mesmo certificado
Embora uma empresa terceiriza o desenvolvimento de seus aplicativos móveis é
aconselhável verificar o certificado com o qual o pedido é assinado e gerenciar o
ipload do aplicativo para o Google Play Store. Pelo menos deveria exigir que o
certificado utilizado para assinar seu aplicativo não seja compartilhado com terceiros
que talvez a empresa não está interessada em se relacionar, ou, no pior caso, eles
podem acessar as informações que manipula.
Também podemos analisar quantos certificados estão associados a cada um dos
endereços encontrados no Google Play Store.
A próxima figura no eixo X é o número de certificados que estão associados a um
endereço de e-mail particular (developerEmail). O eixo Y é o número de endereços de
e-mail que atendem a essa condição.
27 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
Figura 11. Certificados associados a os endereços encontrados
Dos 678,328 endereços de e-mail conhecidos do Google Play Store, mais de três
quartos estão relacionados a um único certificado. No entanto, há também
curiosidades, como um e-mail (developerEmail) que utiliza mais de mil certificados
diferentes para assinar aplicativos que fazem upload para o Google Play Store.
Top 10 certificados DeveloperEmail mais utilizados mostrados abaixo:
Tabla XXVI: Top 10 de e-mail com mais certificateFingerprint (Fevereiro de 2016)
developerEmail certificateFingerprint
[email protected] 1.118
28 de 35
Análise Demográfica do Google Play 29/02/2016
www.elevenpaths.com
A Tacyt permite realizar todos os tipos de estatísticas com informações que disseca
cada um dos certificados, por exemplo abaixo o top 10 dos nomes usados pelo usuário
(Emissor Nome Comum) para gerar o certificado mostrado abaixo:
Tabela XXVII: Top 10 do nome comum do usuário que aparece no certificado (Fevereiro de 2016)
certificateIssuerCommonName apps
Andrew Vasiliu 52.129
Andromo App 32.988
Unknown 32.800
Andrew Gazdecki 26.262
Conduit Ltd. 16.865
www.appyet.com 15.329
Mobimento Mobile 9.548
Anton 8.967
TMe CEO 7.392
ron maor 5.255
Finalmente analisa a validade dos certificados encontrado, como discutido
anteriormente o Google recomenda um período não inferior a 25 anos de validade8:
Se você pretende disponibilizar atualizações para um aplicativo, certifique-se de que a chave
tem um período de validade que excede o tempo de vida esperado do app. Um período de
validade de 25 anos ou mais é recomendado. Quando o período de validade de teclas expira, os
usuários deixarão de ser capazes de atualizar facilmente para novas versões do seu aplicativo.
Se você pretende publicar seus aplicativos no Google Play, a chave que você usa para entrar
Esses aplicativos devem ter um período de validade que termina depois de 22 de outubro de
2033. A Google Play impõe esta exigência para garantir que os usuários possam atualizar
facilmente o app novas versões estiverem disponíveis.
A imagem a seguir é a distribuição dos prazos de validade encontrados nos
certificados analisados.
Um número significativo de certificados não cumpre a recomendação / exigência do
Google, tendo um período de menos de 25 anos de validade. Foram encontrados 140
certificados com uma validade de 1 ano.
8 http://developer.android.com/tools/publishing/app-signing.html
29 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
Figura 12. Distribuição dos prazos de validade encontrados nos certificados
A tabela a seguir mostra o top 10 de tempo de vida mais comum encontrados nos
certificados dissecados pela Tacyt:
Tabela XXVIII: Top 10 prazo de certificados mais comuns (Fevereiro de 2016)
Validade (Anos)
Nº certificados
25 597.405
27 348.051
50 317.467
30 190.940
28 167.215
100 166.800
999 78.699
99 55.491
55 46.678
1000 43.585
30 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
Exemplos de inter-relações entre população
Abaixo uma série de gráficos que mostra como é possível estabelecer relações entre
diferentes ciberidentidades do Google Play Store, porque eles compartilham certos
recursos (singularidades).
Se analisarmos as informações disponíveis na Tacyt do aplicativo "Codex Warframe
Mobile" 9:
Figura 13. Detalhe do aplicativo no Google Play Store
Temos o seguinte gráfico de relações:
Figura 14. Gráfico de relações entre ciberidentidades obtido com a Tacyt
9 https://play.google.com/store/apps/details?id=com.thewaypoint.twp_warframe&hl=en
31 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
A Tacyt baixou do Google Play Store 14 versões diferentes deste aplicativo, o código
para cada versão (versionCode) aparece na imagem acima com as bolas para setas
azuis que chegam e partem das setas verdes.
O nome do aplicativo no Google Play Store (packageName) é
"com.thewaypoint.twp_warframe" e está exibido na imagem acima a bola para as
datas verdes chegam e partem de uma única flecha negra à entidade associada o
certificado com que o aplicativo é assinado (certificateFingerprint). Todas as versões
foram assinadas com o mesmo certificado.
No entanto, se olharmos para o lado esquerdo da figura, podemos ver como o tempo,
o nome do desenvolvedor (developername: bolas desde as setas vermelhas) de
endereços de e-mail associados (developerEmail: bolas para setas vermelhas que
chegam e partem das setas azuis) mudam ao longo do tempo ao lançarem novas
versões do aplicativo:
O nome do desenvolvedor utilizado nas primeiras 13 versões foi "TheWayPoint"
e chegou a usar até quatro e-mails diferentes. Inicialmente um e-mail do Gmail
e, em seguida, três contas diferentes associadas ao domínio "thewaypoint.uk".
Na versão mais recente, o nome do desenvolvedor foi alterado para "cw1998" e
o e-mail associado ao desenvolvedor passou para "[email protected]".
Outro tipo de relacionamento é facilmente obtido a partir da participação de
certificados (certificateFingerprint) com vários desenvolvedores assinando seus
aplicativos.
A figura a seguir mostra os nomes dos desenvolvedores (developername) são a origem
das datas em vermelho que terminam no e-mail (developerEMail) utilizados pelo
desenvolvedor e dessas setas azuis emergentes apontam para a pegada do certificado
(certificateFingerprint) que têm usado para assinar aplicativos que estão no Google
Play Store.
32 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
Figura 15. As relações entre identidades virtuais usando os mesmos certificados
Finalmente, também é possível representar relações fracas entre ciberidentidades
usando singularidades como o período de validade com o qual gerou o certificado (no
caso mostrado abaixo 2.873 anos):
Figura 16. Relações fracas entre ciberidentidades de uma singularidade como o
período de validade do certificado usado para assinatura de aplicativos
33 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
Na figura acima os nomes dos desenvolvedores (developername) são a origem das
datas vermelho que terminam no e-mail (developerEMail) utilizado pelo
desenvolvedor. A partir destes endereços apontam datas em azul para marcar o
certificado (certificateFingerprint) que foram usados para assinar aplicativos enviados
para o Google Play Store. Finalmente a partir de cada certificateFingerprint sai uma
seta verde para a entidade associada com o período de validade do certificado, neste
caso 2873 anos.
34 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
Conclusões
A primeira conclusão a ser tirada deste relatório é a alta variabilidade do mercado de
aplicativos Google Play. Revendo os números ao longo dos meses que antecederam a
Tacyt pode dizer que a média diária de novos aplicativos é de 4.500 e manteve-se
praticamente inalterada.
Esta análise verificou o que é a tendência em termos de origem de desenvolvedores e
características associadas às alternativas utilizadas para identificar o sistema. A
margem de interesse estatístico que detém a informação mostrado na primeira parte
do documento (informação TLD presentes ou nomes de usuário), destina-se a destacar
o impacto que estas alternativas quando estão relacionados com o uso de certificados
digitais, a precisão da identificação de desenvolvedores. Na verdade, um possível fato
que pode explicar em parte as causas desta política de crescimento rápido e contínuo
é negligente na identificação de desenvolvedores de aplicativos que o Google Play
tem mantido desde a sua criação. Embora o uso de certificados digitais para a
assinatura de software deva identificar o indivíduo ou entidade que está por trás do
software em si, este relatório mostra com números que o Google Play facilita o abuso
deste conceito e isso pode levar a situações que a referida identificação é
comprometida.
Quando um desenvolvedor (developerEmail) assina seu aplicativo Android
(packageName), com certificado particular (certificateFingerprint) e faz upload no
Google Play Store, e não há como voltar atrás. Nem este aplicativo, nem suas
atualizações podem ser assinados com um certificado diferente dentro do ecossistema
do Google.
Os certificados são um componente crítico de aplicativos de segurança que são
enviados para o Google Play Store. Se um desenvolvedor deseja usar um certificado
diferente para assinar a atualização do seu aplicativo (por exemplo, porque perdeu o
certificado inicialmente utilizado), é necessário remover o aplicativo original e
publicar a atualização, como se fosse um novo aplicativo (com um packageName
diferente).
A pegada do certificado (certificateFingerprint) usada para assinar um aplicativo,
além de definir quem pode executar uma atualização do mesmo, também estabelece
uma relação de confiança com os aplicativos que foram assinados com o mesmo
certificado, estabelecendo com que os outros possam compartilhar dados durante a
execução.
35 de 35
Análise Demográfica do Google Play 07/03/2016
www.elevenpaths.com
O Android permite que aplicativos assinados com o mesmo certificado executados no
mesmo processo (desde que você também compartilhr o sharedUserID10), fazendo
assim com que o sistema trate-os como um único aplicativo (composto por vários
módulos). Também permite o compartilhamento de dados e funcionalidades de forma
segura entre os aplicativos (permissões de controle baseadas no certificado com o
qual os aplicativos são assinados)
A partir da análise, podemos identificar vários riscos de segurança causados pela má
gestão dos certificados feitas por alguns desenvolvedores no Google Play Store.
Foram identificados certificados (certificateFingerprint) que são compartilhados por
múltiplos desenvolvedores (geralmente associados com plataformas on-line que
facilitam o desenvolvimento de aplicativos). Mas também existem empresas
especializadas no desenvolvimento de aplicativos Android que usam o mesmo
certificado para assinar aplicativos associados a vários clientes.
Para o usuário final é muito difícil determinar se o certificado que assinou o
aplicativo que você está baixando é compartilhado por outros aplicativos, este deve
ser da responsabilidade dos desenvolvedores ou empresas que terceirizam o
desenvolvimento de seus aplicativos móveis a terceiros.
Finalmente, é também uma conclusão deste estudo que a gestão de certificados
digitais estrita pode facilitar a mutação de aplicativos. Isto implica que um
desenvolvedor de aplicativos pode mudar de uma versão para outra, sem garantia de
que está por trás do novo desenvolvimento. A Google não fornece qualquer
informação sobre essas mudanças para que o usuário não percebo o possível risco
incorrido ao fazer o download de um aplicativo. Este estudo mostrou como o uso de
fontes de dados, tais como Tacyt facilita a remoção de uma linha de tempo associada
a cada pedido ou cada desenvolvedor. Este exemplo ilustra as consequências de
gestão de certificado pela Google Play.
10 http://developer.android.com/guide/topics/manifest/manifest-element.html