Quais dados sincronizados com o Android são criptografados?

24

Com o lançamento do plug-in firesheep para o firefox , tornou-se trivial que a navegação em sites em redes Wi-Fi abertas fosse invadida por ouvintes de terceiros.

O Android oferece a conveniente opção de sincronização automática. No entanto, receio que meus dados possam ser sincronizados automaticamente enquanto estiver conectado a uma rede Wi-Fi aberta enquanto estiver na cafeteria ou shopping local.

Todos os dados são sincronizados automaticamente com o Android criptografados usando SSL ou um mecanismo de criptografia semelhante? Os dados de sincronização automática não são criptografados e transmitidos de forma clara para que todos possam ouvir?

Atualização : COMPLETAMENTE INSEGURO !!!! Ver abaixo!!!!

PP.
fonte
A revista alemã Heise tem um ótimo artigo sobre essa questão. É apenas em alemão, mas você pode usar um Serviço de Tradução. link: heise
NES
Ao que parece, finalmente, o Google vai cuidar de seus dados de usuários: uni-ulm.de/in/mi/mitarbeiter/koenings/catching-authtokens.html
Eduardo

Respostas:

13

Nota: respondendo minha própria pergunta como ninguém sabia.

Fiz uma captura de pacotes depois de selecionar Menu -> Contas e sincronização -> Sincronização automática (também acessível pelo widget "Controle de energia"). O que eu descobri?

Para meu horror (pedidos de http do telefone exibidos abaixo):

GET /proxy/calendar/feeds/myaccount%40gmail.com HTTP/1.1
Accept-Encoding: gzip
Authorization: GoogleLogin auth=_hidden_
Host: android.clients.google.com
Connection: Keep-Alive
User-Agent: Android-GData-Calendar/1.4 (vision FRF91); gzip

e

GET /proxy/contacts/groups/[email protected]/base2_property-android?showdeleted=true&orderby=lastmodified&updated-min=2010-12-01T08%3A49%3A00.561Z&sortorder=ascending&max-results=10000&requirealldeleted=true HTTP/1.1
Accept-Encoding: gzip
Authorization: GoogleLogin auth=_hidden_
GData-Version: 3.0
Host: android.clients.google.com
Connection: Keep-Alive
User-Agent: Android-GData-Contacts/1.3 (vision FRF91); gzip

Meus contatos e calendário estão sendo transmitidos sem criptografia ! No momento, não sincronizo o gmail, então não sei dizer se isso não está criptografado.

Também o aplicativo do mercado de ações (que deve ser um serviço porque não tenho o widget exibido ou o aplicativo ativo):

POST /dgw?imei=TEST&apptype=finance&src=HTC01 HTTP/1.1
User-Agent: curl/7.19.0 (i586-pc-mingw32msvc) libcurl/7.19.0 zlib/1.2.3
Content-Type: text/xml
Content-Length: 338
Host: api.htc.go.yahoo.com
Connection: Keep-Alive
Expect: 100-Continue

<?xml version="1.0" encoding="UTF-8"?>
<request devtype="HTC_Model" deployver="HTCFinanceWidget 0.1" app="HTCFinanceWidget" appver="0.1.0" api="finance" apiver="1.0.1" acknotification="0000">
<query id="0" timestamp="0" type="getquotes">
<list><symbol>VOD.L</symbol><symbol>BARC.L</symbol></list></query>
</request>

Pedido completamente não criptografado de cotações de ações: pense, você pode sentar-se na Starbucks no centro financeiro da sua cidade e cheirar pacotes que cotações são importantes para todos os usuários de smartphones ao seu redor.

Outros itens que não foram criptografados:

  • solicitação http para htc.accuweather.com
  • solicitação de tempo para time-nw.nist.gov:13(nem usa NTP)

Os únicos dados criptografados no meu telefone são as contas de email que eu configurei com o aplicativo K-9 (porque todas as minhas contas de email usam SSL - e felizmente as contas do Gmail são, por padrão, SSL; e o yahoo! Mail suporta o imap usando SSL também). Mas parece que nenhum dos dados de sincronização automática do telefone pronto para o uso está criptografado.

Este é um HTC Desire Z com o Froyo 2.2 instalado. Lição: não use o telefone na rede sem fio aberta sem o tunelamento criptografado da VPN !!!

Observe que a captura de pacotes obtida usando a interface tshark na ppp0 no nó virtual executando o Debian conectado ao telefone Android via OpenSwan (IPSEC) xl2tpd (L2TP).

PP.
fonte
11
Isso é preocupante. Não consigo ver nenhum cookie passando para lá e para cá, eles também estão sendo enviados?
precisa
A auth=string continha o que parecia ser semelhante a um cookie; no entanto, eu a excluí antes de postar aqui por segurança.
PP.
2
Ainda é um problema atual no Android 2.3.1?
meinzlein
Eu acredito que você pode configurar o Android 4 para sempre usar uma conexão VPN.
intuited
4

Resultados capturados em um LG Optimus V (VM670), Android 2.2.1, estoque, com raiz, adquirido em março de 2011.

Até hoje, as únicas solicitações não criptografadas que eu pude encontrar em um pcap obtidas durante uma ressincronização completa foram:

Álbuns da web do Picasa

GET /data/feed/api/user/<username>?imgmax=1024&max-results=1000&thumbsize=144u,1024u
    &visibility=visible&kind=album HTTP/1.1
GData-Version: 2
Accept-Encoding: gzip
Authorization: GoogleLogin auth=<snipped>
If-None-Match: <snipped; don't know if it's sensitive info>
Host: picasaweb.google.com
Connection: Keep-Alive
User-Agent: Cooliris-GData/1.0; gzip

É isso aí.

O Picasa foi o único serviço que pude encontrar sendo sincronizado sem criptografia. O Facebook solicitou algumas imagens de perfil (mas não passou nenhuma informação da conta); Anúncios solicitados pelo Skype; e TooYoou pegou uma nova imagem de banner. Na verdade, nenhum deles se refere à sincronização.

Portanto, parece que a segurança de sincronização do Google foi bastante reforçada. Desative a sincronização dos Álbuns da web do Picasa e todos os seus dados do Google deverão ser sincronizados de forma criptografada.

Mercado

Isso me incomodou um pouco:

GET /market/download/Download?userId=<snipped>&deviceId=<snipped>
    &downloadId=-4466427529916183822&assetId=2535581388071814327 HTTP/1.1
Cookie: MarketDA=<snipped>
Host: android.clients.google.com
Connection: Keep-Alive
User-Agent: AndroidDownloadManager

O retorno disso é um 302 Movido Temporariamente que aponta para um URL de download altamente complexo:

HTTP/1.1 302 Moved Temporarily
Cache-control: no-cache
Location: http://o-o.preferred.iad09g05.v5.lscache6.c.android.clients.google.com
          /market/GetBinary/com.wemobs.android.diskspace/1?expire=1322383029&ipbits=0
          &ip=0.0.0.0&sparams=expire,ipbits,ip,q:,oc:<snipped>
          &signature=<snipped>.<snipped>&key=am2
Pragma: no-cache
Content-Type: text/html; charset=UTF-8
Date: Fri, 25 Nov 2011 08:37:09 GMT
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE
Transfer-Encoding: chunked

O gerenciador de downloads do Android se vira e solicita o local do download, passando o MarketDAcookie novamente.

Não sei se há algum risco à segurança de como o Market baixa APKs. O pior que posso imaginar é que downloads de APK não criptografados abrem a possibilidade de interceptação e substituição por um pacote malicioso, mas tenho certeza que o Android tem verificações de assinatura para evitar isso.

dgw
fonte
Fico feliz que desde a minha descoberta inicial de que outros estão levando isso a sério agora. Obrigado! Eu senti que estava sozinho no deserto quando postei a pergunta / resposta inicial. Na verdade, eu não fiz novos testes desde a postagem original e mantive práticas mais seguras - mas estou feliz que os outros estejam acompanhando isso.
PP.
11
Às vezes, recebo olhares engraçados das pessoas porque falo sobre segurança como se fosse normal. E três dias depois de postar isso, comprei um acordo da Cyber ​​Monday em um novo Motorola Triumph. Os problemas de atendimento ao cliente atrasaram sua chegada até a última quarta-feira, mas rapidamente descobri que ele tem grandes problemas nas redes protegidas por EAP. Minha faculdade usa EAP. Então, estou feliz por ter investigado isso. Pode estar chegando mais, pois ainda não testei o Currents. ;)
dgw
Eu só quero encorajá-lo - pareça uma boa pessoa para se preocupar o suficiente com segurança.
PP.