Domenica, Dicembre 16, 2018
   
Text Size

Articoli

I permessi delle App: la volpe a guardia del pollaio? Ecco gli esempi

di Lorenzo Brunetti

A seguito della pubblicazione dell’articolo I permessi delle App: la volpe a guardia del pollaio?, alcuni lettori hanno espresso curiosità e posto domande in merito all’argomento, chiedendo se fosse possibile fare qualche esempio esplicativo e comprensibile anche a coloro che non fossero sviluppatori software o esperti del settore. Lo scopo di questo secondo testo è rispondere a tali richieste, utilizzando esempi quoditidiani, App di cui gli utenti si servono tutti i giorni. La scelta potrà essere random, ossia casuale.

I semplici esempi riportati di seguito possono essere analizzati anche solo per comparazione. Per comodità e facilità di comprensione, saranno analizzate alcune App definendole come “normali” ed “arricchite”, ovviamente tutte prese dallo Store ufficiale. Le App cosiddette “arricchite” sono le più comuni. Gli schemi di seguito illustrano le caratteristiche delle App

App “normale”:

Text Editor

Permissions

  1. android.permission.WRITE_EXTERNAL_STORAGE

  2. android.permission.READ_EXTERNAL_STORAGE

Trackers: Nill

App “arricchita”:

Text Editor

Permissions

  1. android.permission.ACCESS_NETWORK_STATE

  2. android.permission.INTERNET

  3. android.permission.WAKE_LOCK

  4. android.permission.WRITE_EXTERNAL_STORAGE

  5. com.byteexperts.texteditor.permission.C2D_MESSAGE

  6. com.google.android.c2dm.permission.RECEIVE

Trackers:

Google Ads, Google Analytics, Google DoubleClick, Google Firebase Analytics

App “normale”:

Calculator

permissions: Nill

Trackers: Nill

App “arricchita”:

Calculator

permissions:

  1. android.permission.ACCESS_NETWORK_STATE

  2. android.permission.INTERNET

  3. android.permission.WAKE_LOCK

Trackers: Nill (Si presume usi già Google Analitycs)

Poniamoci delle semplici domande: perché un semplice editor di testi o una calcolatrice deve poter andare su internet?

I tracker servono per la telemetria delle App e per la profilazione degli utenti, ovvero per fornire un feedback su uso delle app, modello di smartphone, release della App installata, fascia di età e sesso di utilizzo, area geografica, percentuale di uso dei ogni schermata della App, utenti attivi, statistiche su possibili Ads visibili dentro la App o non riconducili immediatamente alla stessa App, Feedback automatici ed istantanei su campagne politiche o di marketing. Essi funzionano in maniera molto simile ai tracker presenti su ogni pagina web (di cui un esempio è fornito al presente link). Usare i tracker pefino su un text editor può sembrare e un po' eccessivo, ma gli esempi che seguono possono far intuire che per i produttori di devices e di software non è così.

App “normale”:

Calendario

Permissions

  1. android.permission.RECEIVE_BOOT_COMPLETED

  2. android.permission.WRITE_EXTERNAL_STORAGE

  3. android.permission.READ_CONTACTS

  4. android.permission.VIBRATE

  5. android.permission.READ_CALENDAR

  6. android.permission.WRITE_CALENDAR

  7. android.permission.WAKE_LOCK

  8. android.permission.READ_EXTERNAL_STORAGE

Trackers: Nill

App “arricchita”:

Calendar

Permissions:

  1. android.permission.ACCESS_COARSE_LOCATION

  2. android.permission.ACCESS_COARSE_UPDATES

  3. android.permission.ACCESS_FINE_LOCATION

  4. android.permission.ACCESS_NETWORK_STATE

  5. android.permission.ACCESS_WIFI_STATE

  6. android.permission.AUTHENTICATE_ACCOUNTS

  7. android.permission.BLUETOOTH

  8. android.permission.BROADCAST_PACKAGE_ADDED

  9. android.permission.BROADCAST_PACKAGE_CHANGED

  10. android.permission.BROADCAST_PACKAGE_INSTALL

  11. android.permission.BROADCAST_PACKAGE_REPLACED

  12. android.permission.CALL_PHONE

  13. android.permission.CAMERA

  14. android.permission.CHANGE_CONFIGURATION

  15. android.permission.CHANGE_NETWORK_STATE

  16. android.permission.CHANGE_WIFI_STATE

  17. android.permission.DISABLE_KEYGUARD

  18. android.permission.DOWNLOAD_WITHOUT_NOTIFICATION

  19. android.permission.FLASHLIGHT

  20. android.permission.GET_ACCOUNTS

  21. android.permission.GET_ACCOUNTS_PRIVILEGED

  22. android.permission.GET_TASKS

  23. android.permission.INTERNET

  24. android.permission.MANAGE_DOCUMENTS

  25. android.permission.MOUNT_UNMOUNT_FILESYSTEMS

  26. android.permission.READ_CALENDAR

  27. android.permission.READ_CONTACTS

  28. android.permission.READ_EXTERNAL_STORAGE

  29. android.permission.READ_LOGS

  30. android.permission.READ_PHONE_SINTERNETWIFI_STATE

  31. android.permission.READ_PHONE_STATE

  32. android.permission.READ_SETTINGS

  33. android.permission.RECEIVE_BOOT_COMPLETED

  34. android.permission.RECORD_AUDIO

  35. android.permission.RESTART_PACKAGES

  36. android.permission.RUN_INSTRUMENTATION

  37. android.permission.SET_WALLPAPER

  38. android.permission.SYSTEM_ALERT_WINDOW

  39. android.permission.VIBRATE

  40. android.permission.WAKE_LOCK

  41. android.permission.WRITE_CALENDAR

  42. android.permission.WRITE_EXTERNAL_STORAGE

  43. android.permission.WRITE_SETTINGS

  44. android.permission.WRITE_SYNC_SETTINGS

  45. com.android.launcher.permission.INSTALL_SHORTCUT

  46. com.android.launcher.permission.READ_SETTINGS

  47. com.android.launcher.permission.UNINSTALL_SHORTCUT

  48. com.android.launcher.permission.WRITE_SETTINGS

  49. com.meizu.c2dm.permission.RECEIVE

  50. com.meizu.flyme.push.permission.RECEIVE

  51. com.youloft.calendar2.permission.C2D_MESSAGE

  52. com.youloft.calendar2.permission.MIPUSH_RECEIVE

  53. com.youloft.calendar2.push.permission.MESSAGE

Trackers:

Baidu Mobile Ads, Facebook Ads, Umeng Analytics, WeChat Location

Una app come quella descritta sopra, il calendario, ha accesso a quasi tutte le funzioni dello smartphone, ma tra i trackers non sono “schedati nemici” tra aziende o Stati, ossia non servono permessi particolari, quelli elencati in colore rosso che si vedono, per esempio, nella app riportata sotto.

 

Per la App normale basta ricompilare i sorgenti software senza i permessi in rosso.

Tecnicamente è molto semplice, ma……....

App “arricchita”:

Fitbit

  1. android.permission.ACCESS_COARSE_LOCATION

  2. android.permission.ACCESS_FINE_LOCATION

  3. android.permission.ACCESS_NETWORK_STATE

  4. android.permission.ANSWER_PHONE_CALLS

  5. android.permission.BLUETOOT

  6. android.permission.BLUETOOTH_ADMIN

  7. android.permission.CALL_PHONE

  8. android.permission.CAMERA

  9. android.permission.GET_ACCOUNTS

  10. android.permission.INTERNET

  11. android.permission.NFC

  12. android.permission.READ_CONTACTS

  13. android.permission.READ_EXTERNAL_STORAGE

  14. android.permission.READ_PHONE_STATE

  15. android.permission.RECEIVE_BOOT_COMPLETED

  16. android.permission.RECEIVE_SMS

  17. android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND

  18. android.permission.REQUEST_INSTALL_PACKAGES

  19. android.permission.SEND_SMS

  20. android.permission.USE_FINGERPRINT

  21. android.permission.VIBRATE

  22. android.permission.WAKE_LOCK

  23. android.permission.WRITE_EXTERNAL_STORAGE

  24. com.fitbit.FitbitMobile.permission.C2D_MESSA

  25. com.google.android.c2dm.permission.RECEIVE

  26. com.google.android.providers.gsf.permission.READ_GSERVICE

Trackers:

Facebook Analytics, Facebook Login, Facebook Places, Facebook Share, Google CrashLyticsGoogle Firebase Analytics, HockeyApp, MixPanel

Una App come questa, molto utile perfino in campo sanitario, dovrebbe essere trattata con cautela, visto che utilizza parametri biometrici. Il suo uso scriteriato o indebito può creare scenari inusuali e inattesi, come ad esempio quello in cui è possibile rivelare l’esistenza di basi e obiettivi militari sensibili tramite il semplice tracciamento di percorsi di allenamento o altre attività compiute da particolari utenti (soldati, ufficiali e simili), come riportato in un articolo del Guardian, ecco il link.

Ulteriori esempi possono essere trovati negli Store, ma quelli presentati sono sufficienti per comprendere un concetto importante: alla domanda iniziale posta dai lettori, ossia se gli esempi possano illustrare meglio la questione dei permessi delle App, non è possibile, di fatto rispondere semplicemente con esempi. Tali esempi possono solo dare l’idea del potenziale di alcune app, ma non esauriscono l’argomento. Anzi, forse fanno sorgere ulteriori quesiti.

I lettori stessi sono dunque invitati farsi alcune domande, che dovrebbero essere, in linea di principio, le seguenti:

- Perchè un banale Text editor deve aver accesso a internet ed a tutta la memoria?

- Perchè a volte mi sembrano così “farcite”di permessi che assomigliano a Spyware?

- Mentre i permessi hanno un loro senso dal punto di vista tecnico, i Trackers non servono al funzionamento della App, quindi perchè ce ne sono di così tante forme? Perchè non li posso bloccare?

- Se tecnicamente basta ricompilare una App, quanti ostacoli ci sono nel mezzo?

- Perchè nelle belle pubblicità non spiegano mai questi argomenti?

- Le App gratuite quanto, alla fine, vengono a costare agli utenti?

- Siamo contenti che i nostri dati siano il solo modello di Business?

- Siamo disposti ad avere un servizio da clienti e non da prodotti, ovvero siamo disposti a pagare 288 euro per anno per una vera casella di posta elettronica.?

Uno dei lettori citati si è qualificato come insegnante di filosofia e, in aggiunta alle precedenti domande, ha chiesto:

Dal punto di vista etico, come si spiega la differenza tra Spyware e Ads-Spyware?

Al momento, visto quanto detto sopra, è difficile dare una risposta.

Una ulteriore domanda, forse ancor più provocatoria, è la seguente: per chi si occupa di cybersecurity, perché parlare del concetto pubblicità anziché di sicurezza?

Una risposta può essere, questa volta, fornita da un articolo apparso su “Amnesty International Pakistan: Human rights under surveillance” e presente al seguente link APPENDIX B: ANALYSIS OF THE ANDROID SPYWARE, di cui qui si riporta un estratto

 

...”The Android malware used by this attacker is capable of collecting a large amount of

information from compromised devices. The following are some of the supported features:

  1. # Read a list of installed applications.

  2. # Collect metadata about the device, network and SIM card.

  3. # Retrieve all sent and received SMS messages.

  4. # Retrieve contact lists.

  5. # Extract saved photos, videos and audio.

  6. # Retrieve GPS location data.

  7. # Record phone calls.

  8. # Record audio when an SMS-based trigger is received.

We have not seen this actor using exploits to elevate privileges on the target devices. Instead they rely on users accepting a large number of permissions when installing the malicious application, providing the spyware extensive access to stored data and information on the status of the device...”

Il significato ultimo di questo articolo di Amnesty International è che, se una App malevola viene infarcita di permessi, è possibile ottenere così tanti meta-dati, che non c’è più nemmeno bisogno di sforzarsi per ottenere i permessi di amministratore, cosicchè Privacy e Security risulteranno concetti affini, gemelli, anche se spesso questa realtà viene negata, per non dire mistificata.

 

Visitatori Online

Abbiamo 174 visitatori e nessun utente online