Les pièges d’une appli Android – myMail
Introduction
Que se cache-t-il vraiment derrière la dernière appli mobile à la mode ? Est-ce vraiment une killer app ? Sûrement, vu les notes sur le Google Play où l’App Store, mais alors, pourquoi est-elle gratuite ? Que gagnent-ils ? Qui se cache derrière cette app et est-elle sans reproche ?
Avec cet article, j’ai analysé 2 apps de gestion d’ e-mails en remplacement de votre appli native (Android ou iPhone). MyMail et CloudMagic. Je vais vous démontrer que si vous l’avez installée, vous avez certainement fait une belle bêtise, et sinon, vous éviter de l’installer !
Le Contexte
Installer une application mobile c’est très simple. Trop simple… Des utilitaires, des jeux ou encore des widgets. Souvent par effet de mode, ou “parce qu’elle est bien notée”. C’est rapide, 2 ou 3 tapotages plus loin, l’appli est sur notre smartphone.
Qu’on la garde ou qu’on la jette, l’appli est passée par votre smartphone, et le mal est peut-être déjà fait.
En effet, parmi les 2 ou 3 tapotages nécessaires, il y en a un, que bien des personnes ignorent rapidement pour passer à l’installation. Il s’agit des droits requis par l’application.
Parmi ces droits, certains sont anodins et d’autres sont loin de l’être.
Vous arrive-t-il de recevoir des SMS publicitaires, des appels en 0892 qui raccrochent au bout d’une sonnerie vous “invitant” ainsi à rappeler un n° surtaxé ? Ou encore de recevoir d’un coup, beaucoup de SPAM dans votre boite mail ? C’est peut-être l’un des effets de bord les plus utilisés par certaines applications. Mais ceux-ci ne sont peut-être pas les pires…
En effet, récupérer votre n° de téléphone est aisé pour une application, la question est : “Mais pourquoi ce fond d’écran de Justin Bieber a-t-il besoin de voir mon n° de téléphone ?”
Je ne vais pas m’étendre sur les autorisations, mais si vous voulez en savoir plus, cet article détaille très bien les autorisations à surveiller.
Sur ce blog “technique”, je voulais vous donner quelques pistes si vous vouliez savoir ce que fait ou ne fait pas une application.
Pister les requêtes réseaux
La première application que j’ai choisi de pister, est myMail. À l’heure où j’écris ces lignes, elle est plutôt très bien notée. Sur Google Play, elle a 4,4 étoiles sur 5 avec plus de 67000 votes et à peu après la même note sur l’App Store.
Le mieux pour savoir ce que fait réellement une application, est soit de la décompiler (on verra ça plus tard) soit de voir ce qu’elle fait vraiment.
Pour cela, je vous invite à installer l’émulateur Android et si votre PC le permet, n’hésitez pas à suivre les infos pour configurer l’accélération de la machine virtuelle, c’est vraiment plus rapide.
Une fois l’émulateur installé, lancer une VM avec par exemple :
$ANDROID_HOME/tools/emulator -avd Nexus5_intel_442 -qemu -m 2047 -enable-kvm
Puis installer l’application en question (ici, depuis son APK)
Vérifier les droits … hum, ça semble déjà louche
Plus que louche… non ?
Je configure ensuite mon compte (compte de test, sur un serveur mail Alinto de test)
et je lance Wireshark histoire de voir ce qui se passe par le réseau
Chez Alinto, on fait du mail, et le mail, c’est de l’IMAP ou du POP et du SMTP, mais pas du HTTP. Mais bon, admettons.
Les requêtes HTTPS vont vers l’IP “185.30.179.6”… Petite interrogation whois :
$ whois 185.30.179.6 % This is the RIPE Database query service. % The objects are in RPSL format. % % The RIPE Database is subject to Terms and Conditions. % See http://www.ripe.net/db/support/db-terms-conditions.pdf % Note: this output has been filtered. % To receive output for a database update, use the "-B" flag. % Information related to '185.30.176.0 - 185.30.179.255' % Abuse contact for '185.30.176.0 - 185.30.179.255' is 'abuse@corp.mail.ru' inetnum: 185.30.176.0 - 185.30.179.255 netname: NL-MRG-HOSTING-20130712 descr: MRG Hosting B.V. country: NL org: ORG-MHB1-RIPE admin-c: MAIL-RU tech-c: MAIL-RU status: ALLOCATED PA mnt-by: RIPE-NCC-HM-MNT mnt-lower: MNT-NETBRIDGE mnt-routes: MNT-NETBRIDGE source: RIPE # Filtered organisation: ORG-MHB1-RIPE org-name: MRG Hosting B.V. org-type: LIR address: MRG Hosting B.V. address: Pavel Zavyalov address: 47 Bldg 2, Leningradsky Ave. address: 125167 address: Moscow address: RUSSIAN FEDERATION phone: +74957256357 fax-no: +74957256359 abuse-c: MAIL-RU mnt-ref: MNT-NETBRIDGE mnt-ref: RIPE-NCC-HM-MNT mnt-by: RIPE-NCC-HM-MNT source: RIPE # Filtered role: MAIL.RU NOC address: Limited liability company Mail.Ru address: Leningradskiy prospect, 47, build 2 address: 125167 Moscow Russia phone: +7 495 7256357 fax-no: +7 495 7256359 remarks: ------------------------------------------ admin-c: VG659-RIPE admin-c: VT1525-RIPE tech-c: AKM-RIPE tech-c: DBF3-RIPE tech-c: IS13 remarks: ----------------------------------------- remarks: General questions: noc@corp.mail.ru remarks: Spam & Abuse: abuse@corp.mail.ru remarks: Search Abuse: search-abuse@corp.mail.ru remarks: Routing inquiries: ncc@corp.mail.ru remarks: Peering issues: ncc@corp.mail.ru remarks: ----------------------------------------- remarks: --------- A T T E N T I O N !!! --------- remarks: Please use abuse@corp.mail.ru e-mail remarks: address for spam and abuse complaints. remarks: Mails for other addresses will be ignored! remarks: ----------------------------------------- mnt-by: MNT-NETBRIDGE abuse-mailbox: abuse@corp.mail.ru nic-hdl: MAIL-RU source: RIPE # Filtered % Information related to '185.30.176.0/22AS60476' route: 185.30.176.0/22 descr: MY.COM origin: AS60476 mnt-by: MNT-NETBRIDGE source: RIPE # Filtered % This query was served by the RIPE Database Query Service version 1.76.1 (DB-4)
Tiens donc, en Russie… ben pourquoi pas ?
Pour finir la boucle, puisque j’ai mis un serveur de mail de test chez nous je lance un petit network grep pour m’assurer du fonctionnement :
# ngrep "" port 143 or port 25 or port 587 interface: eth0 (31.172.161.0/255.255.255.0) filter: ( port 143 or port 25 or port 587 ) and (ip or ip6) # T 31.172.161.82:143 -> 185.30.176.120:49668 [AP] * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN AUTH=CRAM-MD5] Dovecot ready... ## T 185.30.176.120:49668 -> 31.172.161.82:143 [AP] 1 LOGIN testmymail@next.alinto.org "*********".. ## T 31.172.161.82:143 -> 185.30.176.120:49668 [AP] 1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRE SYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE QUOTA ACL RIGHTS=texk] Logged in..
Je confirme ce que je pensais:
- L’application mobile envoi les informations à un serveur Web en HTTPS (c’est déjà ça)
- Un autre de ces serveurs-là, fait les requêtes en IMAP sur le serveur de messagerie. (En réalité, myMail fait de l’IMAPS mais je l’ai désactivé pour avoir une trace plus lisible).
- Le serveur (en Russie) analyse les mails et la boîte mail en général
- L’application mobile récupère les informations depuis le serveur Russe
Techniquement, ça a un sens, car faire du HTTP pour une app mobile, c’est plus facile et plus portable (iPhone/Android), par contre, ce qui me chagrine plus, c’est que je viens de donner à une boîte basée en Russie, toutes mes informations personnelles parmi lesquelles :
- Mon n°de téléphone,
- L’autorisation de lire et de modifier des tas d’informations personnelles
- Mon adresse e-mail
- et surtout mon MOT DE PASSE de messagerie ….
Ben oui, sinon, comment pourraient-ils se connecter en IMAP depuis un autre serveur ? hein ? (cf. le ngrep plus haut, et pour info, j’ai remplacé le mot de passe par “******” moi-même)
And, “last but not least”, les requêtes IMAP continuent d’arriver sur le serveur mail, après avoir désinstallé l’application mobile et avoir éteint mon émulateur Android … étrange non ?
Un autre exemple ?
J’ai choisi une autre application un peu au hasard, mais avec une bonne note quand même (4,5/5 pour 55000 votes). Il s’agit de CloudMagic.
Le fonctionnement est exactement basé sur le même principe, à l’exception que les requêtes passent par des serveurs du Cloud AWS d’Amazon.
J’ai aussi testé Blue Mail. Idem que CloudMagic, utilise Amazon et conserve vos identifiants.
SolMail, quant à lui fait vraiment de l’IMAP. Il ne conservent donc pas forcément vos identifiants, même si y a des communications avec leur serveurs, les mails ne transitent pas par eux.
Mais alors ? sont-elles toutes “véreuses” ?
En plus de l’application native d’Android, K9-Mail est un projet Open Source qui fait réellement de l’IMAP, je vous la conseille.
Conclusion
Nous venons de voir en quelques minutes les pièges d’une appli Android comme myMail. Certaines des applications mobiles les mieux notées, sont en réalité, des “pièges” à informations personnelles.
Je ne connais pas ces entreprises, mais ce que je sais, c’est que beaucoup d’informations personnelles (ou professionnelles) sont entre leurs mains. Certains d’entre nous “craignent” la puissance d’un Google où des multinationales américaines… Mais en utilisant une app comme myMail, grand nombre de personnes confient autant voir plus d’informations à d’autres entreprises, y compris des entreprises Russes.
Que font-elles de ces informations ? Je n’en sais rien. En tout cas, techniquement, je pense qu’elles ont toutes les billes en main pour faire ce qu’elles veulent.
Par exemple :
- Ils ont déjà une belle base d’utilisateurs et de données marketing (pour du mailing par exemple, entre 1 million et 5 millions de téléchargement, rien que sur Google Play)
- Marketing ciblé, puisque le contenu des mails est sur leurs serveurs, ils peuvent les analyser tranquillement…
- Ils peuvent également vous spammer en évitant votre antispam, en déposant le mail directement en IMAP !
- Ils connaissent pratiquement tout de votre vie, et peuvent agir en votre nom (cf. les autorisations)
- Ils ont toutes les billes pour de l’espionnage en tous genres, y compris espionnage industriel. J’espère que peu de personnes renseignent leurs boîtes mail professionnelles…
Voilà, si j’ai pu vous aider à ouvrir les yeux, je serais ravi. Et si par hasard, vous aviez installé une de ces applis, je vous conseille au minimum de changer de mot de passe, c’est un moindre mal et bien évidemment, de la désinstaller … hein 😉
Bonjour,
Vous parlez ici d’applications fonctionnant sous Android et j’imagine que le constat est le même pour Ios. Cependant, qu’en est-il de celles fonctionnant sous Blackberry OS 10 ? Le catalogue d’applications est bien moins fournis mais pour autant j’imagine qu’il y a également certaines règles de bonnes pratiques à respecter pour ne pas voir nos données personnelles utilisées de manière frauduleuse ?
J’ai démarré cette étude sur 2 apps disponibles sur Android et iPhone, car pour des raisons de portabilité de développement, il me paraissait logique qu’elles fassent du HTTP(S) et non de l’IMAP.
Cette problématique existe dés lors que l’on a une app disponible sur plus d’un environnement, et je dirais qu’à partir du moment ou une App n’est pas “native” à un terminal, ce risque grandit.
Je n’ai pas poussé sur tous les terminaux, néanmoins, une chose est sûre, c’est que si l’application a vos données et un accès à Internet (ça me semble évident), elle peut les utiliser à sa guise.
En d’autres termes, quelque soit l’application et le terminal utilisé, un risque existe.
Ce risque s’accentue si l’application est multi-terminal et d’autant plus, si elle est gratuite…
Pour ma part, si une seule bonne pratique doit subsister en ce qui concerne le mail, c’est ne n’utiliser que l’application native à votre terminal, ou un projet Open Source que l’on peut analyser.
Mode Barbu ON
Moi je dis, c’est la qu’est intéressant le rooting de téléphone.
Il n’y a pas si longtemps, il existait des applications permettant de gérer finement les permissions des applications installées, mais cela a vite été retiré des stores et carrément sur dans les OS via des mises à jour.
Depuis c’est un peu la course comme le cracking sur les consoles.
Les ROMs alternatives permettent de gérer cela simplement et de pouvoir par exemple pour Angry Bird supprimer la géolocalisation.
mode Barbu OFF
Oui, très cher Barbu 😉
Quand pourrons nous utiliser pleinement et sans contraintes les merveilles technologiques glissés dans nos poches ?
Les ROM alternatives libres, tout comme les OS alternatifs libres nous le permettent, heureusement qu’ils sont là !
Malheureusement mon cher Barbus, malgré le soin et les risques (le rootage n’est pas acquis) entrepris à te prémunir de la collectes de données sur ton téléphone trop intelligent, tes amis, tes contacts qui eux utilisent un Andro-phone et qui n’ont pas tes compétences sont contaminés et par affiliation, toi aussi.
Tes emails vont chez eux, ton numéro de tel est dans leur carnet d’adresse, tu seras sans doute présent sur les photos qu’ils auront stocké sur Flick ou Picasa.
Bien joué pour ton article, j’ai exactement eu le même comportement sur mymail. Merci iptable et changement mdp mail direct !
J’avais un doute sur bluemail et tu me le confirmes…
C’est vraiment abusé car 99% des gens n’y penseront même pas et ne mettront pas en doute l’application.
Dommage que google ne check rien (après ça serait compliqué de checker le fonctionnement de chaque appli).
Bonsoir,
Un autre point curieux/inquiétant :
Suite à cet article, je voulais changer de messagerie. Je change le mot de passe de mon compte hotmail… et reçois un e-mail de confirmation sur mon téléphone. J’ignore comment, pourquoi… mais l’application accède toujours à ma boîte mail alors que je viens d’en changer le mot de passe. Sur ordinateur le nouveau mot de passe est bien pris en compte, mais pas sur le téléphone. Je renouvelle l’expérience, idem. Sur mon smartphone sans avoir ressaisi le nouveau mot de passe je peux toujours recevoir et envoyer des e-mails !!
A voir si le serveur a toujours accès au compte pendant un certain temps… Et si périodiquement Windows force la fermeture de session…
Je ne comprends pas totalement comment cela est possible.
Faute à hotmail ? MyMail ? mais cela me déplaît fortement !
Ouf, 1 heure plus tard l’application ne peux plus s’y connecter. Un long délai tout de même, imputable à hotmail je pense…
Salut,
Ce que tu racontes est intéressant, mais tu oublies une chose : tes applis open source c’est bien, mais elles ne sont pas aussi belles que myMail.
C’est comme lorsqu’on compare LibreOffice (quelque soit la version) à Microsoft Office.
Et pour finir, je ne reçois actuellement pas plus de spams qu’avant.
Cordialement…
En effet, les applications Open Sources ne sont pas forcément toujours aussi “jolies” que les applications payantes.
Après l’alternative existe, et à chacun de faire ses choix.
Données “privées” vs Logiciel attrayant.
Je reconnais que ce n’est pas toujours évident de rester du bon côté de la force 😉
Bonjour,
Après une mise à jour de ma tablette Xperia Z2, il ne m’était plus possible d’envoyer de mail. Il y avait au niveau du paramétrage du compte (je suis chez Free), impossibilité de mettre port 25 en mode envoi, alors que sur mon smartphone ça marche. Le chiffre qui est accepté est “465” mais rien ne part.
Après des tentatives en utilisant un autre système de gestion des courriels: BlueMail, rien n’était envoyé. J’ai contacté Bouygues qui après quelques tâtonnements m’a proposé MyMail que je viens d’installer. Et là, je peux envoyer des courriels.
Et puis, voilà que je tombe sur votre articletout à fait pertinent.
Je viens vous demander conseil pour trouver une solution à ma problématique…
Au plaisir de vous lire,
Ella
Bonjour,
Je crois que chez free, dans votre espace abonné freebox, vous pouvez activer le SMTP authentifié. Il vous demandera peut être de changer de mot de passe pour un plus sécurisé. Après ça devrait fonctionner.
Bonjour, quelle application conseillez vous ?
Bonjour,
Merci pour cette info tout à fait pertinente, je viens d’installer bluemail c’est poubelle et changement de mot de passe. Je vais donc rester sur mon application native du téléphone.
Merci pour cet article, je vire typeApp (bluemail) et je retourne sur les appli natives. Avec divers comptes passe encore, mais je ne plaisante pas avec mes messageries !