¿Qué datos sincronizados de Android están encriptados?


24

Con el lanzamiento del complemento firesheep para firefox, se ha vuelto trivial que la navegación de sitios web en redes Wi-Fi abiertas sea secuestrada por oyentes de terceros.

Android ofrece la conveniente opción de sincronización automática. Sin embargo, me temo que mis datos pueden sincronizarse automáticamente mientras estoy conectado a una red Wi-Fi abierta mientras estoy en la cafetería o centro comercial local.

¿Todos los datos de la sincronización automática de Android están encriptados utilizando SSL o un mecanismo de encriptación similar? ¿Hay algún dato de sincronización automática sin cifrar y transmitido de forma clara para que todos lo escuchen?

Actualización : COMPLETAMENTE INSEGURO !!!! ¡¡¡¡Vea abajo!!!!


La revista German Heise tiene un gran artículo sobre esa pregunta. Está solo en alemán, pero podría usar un servicio de traducción. enlace: heise
NES

Parece que, finalmente, Google se encargará de los datos de sus usuarios: uni-ulm.de/in/mi/mitarbeiter/koenings/catching-authtokens.html
Eduardo

Respuestas:


13

Nota: respondiendo mi propia pregunta como nadie lo sabía.

Hice una captura de paquetes después de seleccionar Menú -> Cuentas y sincronización -> Sincronización automática (también accesible a través del widget "Control de energía"). ¿Qué descubrí?

Para mi horror (solicitudes http del teléfono que se muestran a continuación):

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

y

GET /proxy/contacts/groups/myaccount@gmail.com/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

¡Mis contactos y mi calendario se transmiten sin cifrar ! Actualmente no sincronizo gmail, así que tampoco podría decir si eso no está cifrado.

También la aplicación del mercado de valores (que debe ser un servicio porque no tengo el widget visualizado o la aplicación activa):

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>

Solicitud de cotizaciones de acciones completamente sin cifrar: solo piense, podría sentarse en Starbucks en el centro financiero de su ciudad y analizar qué cotizaciones eran importantes para todos los usuarios de teléfonos inteligentes que lo rodean.

Otros elementos que no fueron encriptados:

  • solicitud http para htc.accuweather.com
  • solicitud de tiempo para time-nw.nist.gov:13(ni siquiera usa NTP)

Los únicos datos que están encriptados en mi teléfono son las cuentas de correo que configuré con la aplicación K-9 (porque todas mis cuentas de correo usan SSL, y afortunadamente las cuentas de gmail son, por defecto, SSL; y yahoo! Mail admite el uso de imap usando SSL también). Pero parece que ninguno de los datos de sincronización automática del teléfono listo para usar está encriptado.

Esto está en un HTC Desire Z con Froyo 2.2 instalado. Lección: ¡no use el teléfono en una red inalámbrica abierta sin un túnel VPN cifrado !

Tenga en cuenta que la captura de paquetes se realiza utilizando tshark en la interfaz ppp0 en el nodo virtual que ejecuta Debian conectado a un teléfono Android a través de OpenSwan (IPSEC) xl2tpd (L2TP).


1
Eso es preocupante No puedo ver ninguna cookie pasando de aquí para allá, ¿también se envían de forma transparente?
GAThrawn

La auth=cadena contenía lo que parecía ser similar a una galleta, sin embargo lo he borrado antes de publicar aquí para la seguridad,.
PP.

2
¿Sigue siendo un problema actual en Android 2.3.1?
meinzlein

Creo que puedes configurar Android 4 para usar siempre una conexión VPN.
intuido el

4

Resultados capturados en un LG Optimus V (VM670), Android 2.2.1, stock, rooteado, comprado en marzo de 2011.

A partir de hoy, las únicas solicitudes sin cifrar que pude encontrar en un pcap tomado durante una resincronización completa fueron:

Álbumes web de 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

Eso es.

Picasa fue el único servicio que pude encontrar sincronizado sin cifrar. Facebook solicitó un par de imágenes de perfil (pero no pasó ninguna información de cuenta); Skype solicitó anuncios; y TooYoou tomó una nueva imagen de banner. Ninguno de los relacionados con la sincronización, en realidad.

Por lo tanto, parece que la seguridad de sincronización de Google se ha reforzado bastante. Desactiva la sincronización de Álbumes web de Picasa y todos tus datos de Google deben sincronizarse en forma cifrada.

Mercado

Esto me molestó un poco:

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

El regreso de esto es un 302 movido temporalmente que apunta a una URL de descarga altamente compleja:

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

El administrador de descargas de Android gira y solicita esa ubicación de descarga, pasando la MarketDAcookie nuevamente.

No sé si existe algún peligro para la seguridad de cómo Market descarga APK. Lo peor que puedo imaginar es que las descargas de APK sin cifrar abren la posibilidad de intercepción y reemplazo con un paquete malicioso, pero estoy seguro de que Android tiene comprobaciones de firmas para evitar eso.


Me alegra que desde mi descubrimiento inicial, otros estén tomando esto en serio ahora. ¡Gracias! Sentí que estaba solo en el desierto cuando publiqué la pregunta / respuesta inicial. En realidad, no he vuelto a realizar ninguna prueba desde la publicación original y he mantenido prácticas más seguras, pero me alegro de que otros estén siguiendo esto.
PP.

1
A veces la gente me mira graciosamente porque digo la seguridad como si fuera normal. Y tres días después de publicar esto, compré un acuerdo de Cyber ​​Monday en un nuevo Motorola Triumph. Los problemas de servicio al cliente retrasaron su llegada hasta el miércoles pasado, pero rápidamente descubrí que tiene problemas importantes con las redes protegidas por EAP. Mi universidad usa EAP. Así que me alegro de haber investigado esto. Es posible que vengan más, ya que aún no he probado las corrientes. ;)
dgw

Solo quiero alentarte: suena como una buena persona que se preocupa lo suficiente por la seguridad.
PP.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.