Les requêtes indésirables
5 min.
Ma chère et tendre Sophie aime installer de nombreux jeux et applications gratuites depuis le magasin d’applications de Google. Mais j’ai remarqué que sa tablette avait de nombreux accès réseaux, alors qu’elle n’était pas utilisée.
Synchronisations des mails, contacts, calendriers, tweets, … OK tout ça est voulu, mais une fois tous ces services désactivés, il reste encore quelques étranges requêtes.
Ces requêtes sont régulières, environ toutes les 5 minutes pour les plus fréquentes !
Les requêtes indésirables
Non seulement elle effectuent des connexions à internet, mais ces requêtes fournissent de nombreuses informations : Android 4.4.2, Tablette Lenovo A7600-F, « id 2d4c8203-eab8-0000-0000-0000000000000 » (modifié pour cet article), …
GET http://soma.smaato.net/oapi/reqAd.jsp?pub=923871640&adspace=65835007&format=ALL&formatstrict=true&dimension=LEADER&dimensionstrict=true&width=720&height=90&coppa=0&modifyRM=true&beacon=true&connection=wifi&osversion=4.4.2&devicemodel=Lenovo+A7600-F&devicebrand=Lenovo&screenwidth=800&screenheight=1232&devicetype=1&lang=fr-FR&osname=android&portrait=true&mraidver=2&googleadid=2d4c8203-eab8-0000-0000-000000000000&googlednt=0&response=XML&client=sdkandroid_4-3-1&apiver=413
GET http://a.applovin.com/2.0/ad?model=Lenovo+A7600-F&etf=686&dx=800&dy=1232&accept=custom_size,launch_app,video&api_did=10badd1d70a249426d&locale=fr_FR&network=wifi&revision=A7600-F&preloading=true&ntr=wifi&carrier=&ntf=wifi&os=4.4.2&platform=android&sdk_version=5.4.1&format=json&sdk_key=Ra31GHTlRgcB-un7sTCEz902duzU6iyXI_ZTG2Ihkwthoeqd71t4At7pm5HsoEO4DydU-xAhr2OdhDGpE7uP__&size=INTER&si=1&li=313&etr=10&vz=4a1faf71cfe596fe&brand=Lenovo&require=VIDEOA&idfa=2d4c8203-eab8-0000-0000-000000000000&vx=572f4ea557dbb90d,a2162e12e40c0fa4,5bcd4f6255d73a6e,c075a1feaa1ca1f0,9381ecc60869b23e,8bbc51796fafceca,dbaa3bed93b35bdc,1424cab848c2f673,01dbffefbce67863,37ae944d6c4e62a6,9e32756554c350bb,9288a1ee0425a14b,4765a681f2131c0a,a1657ccd543f12e6,b367cba9336eb1d4,58622486551cea8a,52f4a248e0123881,57848752abe75b81,9cc7be0484285278,bb5146f4bd7ecc21,e24ee4c4927dadb2,397bdb297cf39979,c938df92dbecc6cc,394714342a1ef71d,8c07b6d56e1d5bd8,f50a8be38b538117,29c7f5290d6213bb,7885dd0579fe7ab2,7f10fa3eb26775fc,975db2daf78b030c,100e2a29cb501ab2,52ef6f43ad7f76ac,ee0003482af9a89e,bab3ef1e554e85c6,4a1faf71cfe596fe,59473f5e54063610,40fde38e052500e1,de32c90df7fef9c0,32c9bbd48cfd7adc,c39bfd1b68f408f8,f5c584c01ff177ce,47b5a0492c9852fe,e8cd97209b6b1942,f51159cf92cf2de7,d8c0379f4b21041d,367f8eb1a8464d7b,f413cec2e58b9cf3,d2c19d96087e5414,059f22d7cdbe1c33,b40f9bbe3d6e4e57,972781e16b471ea8,773e140b2a64017c,be7391bb21f513fa,1a2df2329accad53,de587a5ee30732b7,0690e7997c09027d,1711009c6f4a27e2,aa80fb912985d36e,febbc860d4d7a2fc,a5350555f3829167,26409ebb8c64515d,1f0b50d5b44ab6b2,fc991f708b270f04,42a7dd7816a225ec,60c3b8a3158c449f,0ede5da05521c37a,16568adb3f980bfc,9c40104f66412490,dbca1157358a2895,eec390d1aa173f03,7de8736fbac195c9,a4d6da97ffc3f575,99a889b5026405e9,2dfd84944fbb2dba,cfd45ff4682b4404,729a7aaa4e4ae212,7d718e8507e24d66,254e018e3de81b50,38ae3410b197d32c,b7e0f401593ddae4,1dca1b8fb04c2566,69b82ccaca3b3805,9526038686bbb04e,3bdcf23ec696a49c,cf83ca895e299969,dc68b09334c2ef78,86b9d37d0a7d1cec,a3ec731b2126ac00,6dc4ad08c5aa7224,41655ee2c8ceeff9,9add20b7b6164ab2,dc88085c6113cab4,844f693e9fab4caf,2bf5b1f5c88af849,26030578874a59c5,de3629d55b0023c7,c132f41dc09821b4,94f8c2a776db8d4d
GET http://ads.mopub.com/m/ad?v=6&id=66cc877d82914e559ab9bf8992320bf1&nv=3.1.0&dn=Lenovo%2CLenovo%20A7600-F%2CA7600-F&udid=ifa%3A2d4c8203-eab8-0000-0000-000000000000&z=%2B0100&o=p&sc_a=1.0&mr=1&ct=2&av=1.0.10&android_perms_ext_storage=1
POST http://223.202.19.39/reaper/server/report2 - ORIGINAL_DST/223.202.19.39
C’est cette dernière qui revient le plus régulièrement. Examinons là :
- Où ? En Chine : Beijing Blue I.T Technologies Co.,Ltd.
- Quoi ? Rien, finalement ! Le POST ne contient aucune donnée…
Interceptions
Bon et bien tout ce que ça mérite, c’est d’être bloquée, hop :
iptables -A OUTPUT -d 223.202.19.39 -j DROP
Mais je ne vais pas utiliser le pare-feu pour bloquer toutes ces requêtes. Pour le reste, et les requêtes futurs, je vais utiliser un blocage au niveau du serveur DNS local. Tant qu’à faire, autant en profiter pour bloquer la publicité avec le reste des indésirables.
Ma passerelle internet utilise dnsmasq pour le DHCP et le DNS sur le réseau local.
Il existe des listes de noms d’hôtes où sont hébergés les services de publicités et autres trackings :
- http://adaway.org/hosts.txt
- http://winhelp2002.mvps.org/hosts.txt
- http://hosts-file.net/ad_servers.txt
- http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext
- http://sysctl.org/cameleon/hosts
- http://www.malwaredomainlist.com/hostslist/hosts.txt
- http://securemecca.com/Downloads/hosts.txt
- http://www.hostsfile.org/Downloads/hosts.txt
- http://someonewhocares.org/hosts/hosts
- http://adblock.gjtech.net/?format=hostfile
Il en existe certainement d’autres…
Ces listes sont au format « hosts », c’est à dire associant une IP à un nom de domaine. Dans ces cas, l’IP est toujours 127.0.0.1, c’est à dire l’ordinateur lui-même. En donnant le contenu de ces listes à dnsmasq, il va la parcourir avant d’effectuer une requête DNS. Si le nom de domaine correspond à l’un d’eux, il va chercher le fichier sur localhost (127.0.0.1). Il suffit donc de faire tourner un serveur web sur cette machine (pour éviter le délai de “timeout”).
Petit script pour faire l’ensemble de l’opération :
#!/bin/bash wget "http://adaway.org/hosts.txt" -O /tmp/adaway-hosts wget "http://adblock.gjtech.net/?format=hostfile" -O /tmp/adblock-hosts wget "http://hosts-file.net/ad_servers.txt" -O /tmp/hostsfile-hosts wget "http://www.malwaredomainlist.com/hostslist/hosts.txt" -O /tmp/malwaredomainlist-hosts wget "http://securemecca.com/Downloads/hosts.txt" -O /tmp/securemecca-hosts wget "http://someonewhocares.org/hosts/hosts" -O /tmp/someonewhocares-hosts wget "http://sysctl.org/cameleon/hosts" -O /tmp/sysctl-hosts wget "http://winhelp2002.mvps.org/hosts.txt" -O /tmp/winhelp2002-hosts wget "http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext" -O /tmp/yoyo-hosts cat /tmp/adaway-hosts /tmp/adblock-hosts /tmp/hostsfile-hosts /tmp/malwaredomainlist-hosts /tmp/securemecca-hosts /tmp/someonewhocares-hosts /tmp/sysctl-hosts /tmp/winhelp2002-hosts /tmp/yoyo-hosts | grep ^127.0.0.1 | grep -v ^$ | sort | uniq > /etc/bad-hosts
Puis dans la configuration de dnsmasq, ajouter :
addn-hosts=/etc/bad-hosts