Update 17:30: ho modificato il precedente titolo “Postepay e quel vizietto di contattare server di terze parti” in quanto, finche’ non si fa dello sniffing, non e’ possibile sapere a chi e’ destinato il traffico. Il bello e’ che lo avevo scritto anche nei commenti, ma mi era sfuggito il titolo ed e’ rimasto cosi’ quando l’ho pubblicato ^_^ Ribadisco, ho rimosso l’app perche’ effettuava delle chiamate in background pur non essendo stata avviata e senza un motivo apparente. Grazie ai ragazzi di 01tribe per avermi fatto notare la svista.
———————–
Stavo facendo un po’ sano di debug di una mia app Android quando,casualmente, mi cade l’occhio su queste stringhe nella shell con l’output di adb logcat:
D/dalvikvm(27834): GC_CONCURRENT freed 429K, 6% free 8894K/9412K, paused 26ms+47ms, total 115ms D/kM (27834): =============================== RESPONSE START ================================ D/kM (27834): <?xml version="1.0" encoding="UTF-8" standalone="yes"?> D/kM (27834): <ns2:context-response xmlns:ns2="http://moni.01tribe.com/context"> D/kM (27834): <ns2:response-header> D/kM (27834): <ns2:status> D/kM (27834): <ns2:status-code>999</ns2:status-code> D/kM (27834): <ns2:status-description>Non e' stato possibile verificare la disponibilita' dei servizi</ns2:status-description> D/kM (27834): </ns2:status> D/kM (27834): <ns2:trace-id>791654851</ns2:trace-id> D/kM (27834): </ns2:response-header> D/kM (27834): <ns2:body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="PivotOutAppCheck"/> D/kM (27834): </ns2:context-response> D/kM (27834): ================================ RESPONSE END ================================ I/System.out(27834): <?xml version="1.0" encoding="UTF-8" standalone="yes"?> I/System.out(27834): <ns2:context-response xmlns:ns2="http://www.01tribe.com/context"> I/System.out(27834): <ns2:response-header> I/System.out(27834): <ns2:status> I/System.out(27834): <ns2:status-code>999</ns2:status-code> I/System.out(27834): <ns2:status-description>Non e' stato possibile verificare la disponibilita' dei servizi</ns2:status-description> I/System.out(27834): </ns2:status> I/System.out(27834): <ns2:trace-id>791654851</ns2:trace-id> I/System.out(27834): </ns2:response-header> I/System.out(27834): <ns2:body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="PivotOutAppCheck"/> I/System.out(27834): </ns2:context-response> D/EXPIRED (27834): <?xml version="1.0" encoding="UTF-8" standalone="yes"?> D/EXPIRED (27834): <ns2:context-response xmlns:ns2="http://www.01tribe.com/context"> D/EXPIRED (27834): <ns2:response-header> D/EXPIRED (27834): <ns2:status> D/EXPIRED (27834): <ns2:status-code>999</ns2:status-code> D/EXPIRED (27834): <ns2:status-description>Non e' stato possibile verificare la disponibilita' dei servizi</ns2:status-description> D/EXPIRED (27834): </ns2:status> D/EXPIRED (27834): <ns2:trace-id>791654851</ns2:trace-id> D/EXPIRED (27834): </ns2:response-header> D/EXPIRED (27834): <ns2:body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="PivotOutAppCheck"/> D/EXPIRED (27834): </ns2:context-response> D/fB (27834): Siamo spiacenti. Non è stato possibile effettuare l'operazione richiesta. Si prega di riprovare più tardi |
Mmmm, insospettito da un messaggio del genere, inizio a chiedermi cosa possa averlo generato e, scorrendo il log, trovo poco sopra quest’altro messaggio:
D/kM (27834): +++++++++++++++++++++++++++++++ REQUEST START +++++++++++++++++++++++++++++++ D/kM (27834):<?xml version="1.0" encoding="UTF-8"?> <context:context-request xmlns:context="http://www.01tribe.com/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <context:request-header> <context:trace-id>791654851</context:trace-id> <context:channel>mobile</context:channel> <context:workflow-name>appCheckPublicWorkflow</context:workflow-name> <context:action-name>ActionAppCheck</context:action-name> <context:user-agent>Android</context:user-agent> <context:language-code>it</context:language-code> <context:country-code>IT</context:country-code> </context:request-header> <context:body> <PivotInAppCheck> <appName>postepay</appName> <appVersion>1.2.3</appVersion> </PivotInAppCheck> </context:body> </context:context-request> D/kM (27834): ++++++++++++++++++++++++++++++++ REQUEST END ++++++++++++++++++++++++++++++++ |
E scopro che l’artefice di tutto questo e’ l’applicazione Postepay, realizzata da 01tribe.
Ora, de gustibus, ma a me app che mandano richieste in background a servizi senza dirmi niente, senza essere in esecuzione e che richiedono permessi anche un po’ sospetti (tipo Phone calls, Your social information) anche se poi vengono tutti usati legittimamente dentro l’app, a me queste app mi provocano una reazione immediata: disinstallazione.
Certo, potrei controllare con uno sniffer il traffico realmente scambiato (ammesso di riuscire a riprodurre questa situazione) e verificare che sia innocuo per la mia privacy, ma in questo momento ho altro da fare, quindi bye bye Postepay, io ho installato la tua app, non capisco perche’ devi contattare server di un sito di cui non so niente in background. E per fare cosa poi?


Dopo un paio d’anni quasi di glorioso servizio (prima come smarthphone principale e poi come device di test per lo sviluppo), proprio non riuscivo a contemplare l’idea di mandare in pensione il mio glorioso Nexus One. Cosi’, dopo qualche sperimentazione, ho scoperto che posso ancora reimpiagarlo con successo come torrent client domestico, centralizzando su di esso (quasi) tutto il download. Di materiale legale, ovviamente!


