24 votes

Quelles sont les données synchronisées d'Android qui sont cryptées ?

Avec la sortie de la plug-in firesheep pour firefox il est devenu trivial que la navigation sur les sites Web sur les réseaux Wi-Fi ouverts soit détournée par des auditeurs tiers.

Android offre une option pratique de synchronisation automatique. Cependant, je crains que mes données ne soient synchronisées automatiquement lorsque je suis connecté à un réseau Wi-Fi ouvert dans un café ou un centre commercial.

Toutes les données qu'Android synchronise automatiquement sont-elles cryptées en utilisant le protocole SSL ou un mécanisme de cryptage similaire ? Les données synchronisées automatiquement sont-elles non cryptées et transmises en clair pour que tout le monde puisse les écouter ?

Mise à jour : TOTALEMENT INSÉCURISÉ !!!! Voir ci-dessous !!!!

0 votes

Le magazine allemand Heise consacre un excellent article à cette question. Il est en allemand, mais vous pouvez utiliser un service de traduction. lien : heise

0 votes

Il semble que, finalement, Google prenne soin des données de ses utilisateurs : uni-ulm.de/in/mi/mitarbeiter/koenings/catching-authtokens.html

13voto

IceHeat Points 1930

Note : je réponds à ma propre question car personne ne le savait.

J'ai effectué une capture de paquets après avoir sélectionné Menu -> Comptes & Sync -> Auto-sync (également accessible via le widget "Power Control"). Qu'ai-je découvert ?

A mon horreur (les requêtes http du téléphone sont affichées ci-dessous) :

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

Mon contacts y calendrier sont transmises non crypté ! Je ne synchronise pas actuellement gmail donc je ne pourrais pas dire si cela est non crypté non plus.

Ainsi que l'application boursière (qui doit être un service car je n'ai pas le widget affiché ou l'application active) :

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>

Complètement demande non cryptée de cotations boursières : imaginez, vous pourriez vous asseoir dans un Starbucks du centre financier de votre ville et renifler par paquets les cotations qui sont importantes pour tous les utilisateurs de smartphones autour de vous

D'autres éléments qui n'ont pas été chiffrés :

  • demande http vers htc.accuweather.com
  • temps demande à time-nw.nist.gov:13 (n'utilise même pas NTP)

A propos de la seulement les données qui sont cryptées sur mon téléphone sont les comptes de messagerie que j'ai configurés avec l'application K-9 (parce que tous mes comptes de messagerie utilisent le protocole SSL - et heureusement les comptes gmail sont, par défaut, SSL ; et yahoo ! mail prend en charge imap en utilisant SSL aussi). Mais il semble aucun des données synchronisées automatiquement à partir du téléphone prêt à l'emploi sont cryptées.

C'est sur un HTC Desire Z avec Froyo 2.2 installé. Leçon : n'utilisez pas le téléphone sur un réseau sans fil ouvert sans tunnel VPN crypté. ! !!

Note, capture de paquets réalisée à l'aide de tshark sur l'interface ppp0 d'un nœud virtuel fonctionnant sous Debian connecté à un téléphone Android via OpenSwan (IPSEC) xl2tpd (L2TP).

1 votes

C'est inquiétant. Je ne vois pas de cookies aller et venir, sont-ils envoyés en clair aussi ?

0 votes

El auth= contenait ce qui semblait être similaire à un cookie, je l'ai supprimé avant de le poster ici par sécurité, cependant.

2 votes

Ce problème est-il toujours d'actualité sous Android 2.3.1 ?

4voto

dgw Points 384

Résultats obtenus sur un LG Optimus V (VM670), Android 2.2.1, stock, rooté, acheté en mars 2011.

A ce jour, les seules requêtes non cryptées que j'ai pu trouver dans un pcap pris lors d'une resynchronisation complète sont les suivantes :

Albums Web 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

C'est tout.

Picasa est le seul service que j'ai pu trouver synchronisé en clair. Facebook a demandé quelques images de profil (mais n'a pas transmis d'informations sur le compte) ; Skype a demandé des publicités ; et TooYoou a récupéré une nouvelle image de bannière. Aucun de ces services n'est vraiment lié à la synchronisation.

Il semble donc que la sécurité de la synchronisation de Google ait été considérablement renforcée. Désactiver la synchronisation des albums Web Picasa et toutes vos données Google devraient être synchronisées sous forme cryptée.

Marché

Cela m'a un peu dérangé :

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

Le retour est un 302 Moved Temporarily qui pointe vers une URL de téléchargement très complexe :

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

Le gestionnaire de téléchargement d'Android se retourne et demande l'emplacement du téléchargement, en transmettant l'adresse de l'utilisateur. MarketDA cookie à nouveau.

Je ne sais pas si la façon dont Market télécharge les APKs présente un danger pour la sécurité. Le pire que je puisse imaginer est que les téléchargements d'APK non cryptés ouvrent la possibilité d'une interception et d'un remplacement par un paquet malveillant, mais je suis sûr qu'Android a des contrôles de signature pour empêcher cela.

0 votes

Je suis heureux que, depuis ma découverte initiale, d'autres personnes prennent le problème au sérieux. Je vous remercie ! J'avais l'impression d'être seul dans le désert lorsque j'ai posté la question/réponse initiale. En fait, je n'ai pas refait de tests depuis le premier message et je me suis contenté de pratiques plus sûres, mais je suis heureux que d'autres personnes s'intéressent à cette question.

1 votes

Les gens me regardent parfois bizarrement parce que je parle de sécurité comme si c'était normal. Et trois jours après avoir posté ce message, j'ai profité d'un Cyber Monday pour acheter un nouveau Motorola Triumph. Des problèmes de service client ont retardé son arrivée jusqu'à mercredi dernier, mais j'ai rapidement découvert qu'il avait de gros problèmes avec les réseaux sécurisés par EAP. Mon université utilise l'EAP. Je suis donc content de m'être penché sur la question. D'autres informations sont à venir, car je n'ai pas encore testé Currents ;)

0 votes

Je veux seulement vous encourager - vous avez l'air d'une bonne personne qui se soucie suffisamment de la sécurité.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X