análise demográfica do google play - elevenpaths.com · a evolução das ameaças de segurança...

35
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

Upload: truongkhue

Post on 09-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

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

[email protected] 413

[email protected] 111

[email protected] 86

[email protected] 74

[email protected] 51

[email protected] 45

[email protected] 31

[email protected] 28

[email protected] 26

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

[email protected] 7

[email protected] 6

[email protected] 4

[email protected] 3

[email protected] 3

[email protected] 3

[email protected] 3

[email protected] 3

[email protected] 3

[email protected] 7

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

[email protected] 879

[email protected] 673

[email protected] 587

[email protected] 544

[email protected] 521

[email protected] 510

[email protected] 492

[email protected] 440

[email protected] 416

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