Home
Come rubare caramelle

04 Dicembre 2014

Come rubare caramelle

di

Il software chiede permessi di utilizzo che a volte sono sacrosanti e altre volte aprono la porta a un malintenzionato.

App di tutti i tipi: giochi, educative, utility, per lo sport, per la produzione, per lo svago e pure per evitare di mettere piede sul ricordino del cane del vicino. Ogni app ha una logica e relativi requisiti funzionali alla propria missione.
Chi sviluppa applicazioni per i nostri amati dispositivi portatili conosce bene cosa può e cosa non può pretendere da essi. Ad esempio, un dispositivo iOS potrebbe avere un sensore GPS e quindi capace di tracciare la posizione dell’utente; un Android potrebbe avere una scheda SD sulla quale leggere e scrivere dati; un Windows Phone potrebbe avere una telecamera frontale con cui costruire una libreria di fantastici autoscatti. Potrebbe, potrebbe, potrebbe. Ci sono limitazioni fisiche prima di tutto; infatti non tutti i dispositivi hanno le medesime possibilità operative. Anche avendole, non sarebbe giusto consentire allo sviluppatore Mr. Nessuno di accedere senza ritegno alle informazioni riguardanti la mia posizione, di operare sulla memoria SD oppure di scattare foto senza permesso, eccetera.
Il confine tra quanto possibile e quanto consentito è lasciato al giudizio dell’utente, ma il primo passo spetta al programmatore dell’applicazione. Per utilizzare una qualsiasi funzione sensibile (o potenzialmente minacciosa) nei confronti dell’utilizzatore deve, infatti, esplicitarne la volontà nei modi documentati da Apple/Google/Microsoft.
Possiamo quindi affermare con una certa risolutezza che non è tecnicamente possibile aggirare questo controllo, ovvero che le funzionalità critiche devono essere richieste e concesse dall’utente per poter essere utilizzate dal programma. Detto ciò arriviamo ora alla nota dolente: i gruppi di permessi, o Permission Group.

Fidarsi del meccanico

Il discorso andrebbe trattato localmente per i diversi ecosistemi e famiglie di dispositivi. Infatti le politiche applicate sono qualitativamente diverse e, soprattutto, suscettibili al variare dei sistemi operativi nel tempo. Tuttavia è possibile generalizzare su un punto: esprimere una richiesta di utilizzo per una determinata feature in termini di Permission Group è come consegnare le chiavi della vostra automobile al meccanico. È innegabile il fatto che le chiavi non sono sempre strettamente necessarie per completare il lavoro, ma è altrettanto vero che sono richieste per operazioni contestuali, quali ad esempio avviare e spostare il veicolo. Il punto fondamentale: vi state fidando del meccanico e siete particolarmente certi che, sparisse quel lettore MP3 dimenticato nel portaoggetti, sapreste subito chi accusare.
Per le applicazioni è indicativamente la stessa cosa: la libertà di accedere alla scheda SD per operazioni di lettura/scrittura consente al codice autorizzato di accedere a tutti i dati contenuti nella memoria estraibile, ivi inclusi quelli che altre applicazioni potrebbero aver salvato in quella posizione. Vi state quindi fidando dell’autore di quell’applicazione – al pari del meccanico dell’auto – anche se, in realtà, è già prassi rara fare caso anche solo al nome dello sviluppatore.
Sintetizziamo affermando che lo spazio di manovra utile alla semplificazione per l’utente finale è sempre pronto per essere sfruttato in modo malevolo da chi ha i modi, i mezzi e la volontà di farlo. Per tranquillizzare il lettore asseriamo che le applicazioni largamente conosciute e sotto la lente dell’attenzione pubblica difficilmente possono permettersi di abusare di qualche libertà extra in quanto, per il produttore, perdere la faccia sarebbe un danno grave.

Una torcia che scotta

Dobbiamo invece prestare più attenzione quando ci avventuriamo nello store alla ricerca di qualcosa di nuovo, di quella utility occasionale o di quella applicazione che ci incuriosisce (attenzione al virale!). Facciamo un esempio pratico: possediamo un nuovo smartphone Android munito di fotocamera posteriore con flash a LED ad alta intensità. È notte, siamo all’aperto in zona poco illuminata e, sfilando il cellulare dalla tasca, una cascata di monetine lo precede. Una pioggia metallica si nasconde nell’asfalto. Superato l’apice di noia ci rendiamo conto di non avere ancora installato alcuna app torcia sul nuovo smartphone. Prontamente siamo sul Play Store con la chiave di ricerca torch/torcia: ne troviamo più di dieci, non sappiamo quale scegliere ma ci serve una risposta veloce. Tanto fanno tutte più o meno le stessa cosa. Ci affidiamo al ranking ed al feedback positivo dei primi tre risultati. Premi lì, schiaccia sì, e scarichiamo. Abbiamo appena installato un’applicazione che fa da torcia, ma chissà a quale scopo fa richiesta di:

  • accedere al registro telefonate,
  • accedere in lettura ed in scrittura alla scheda SD,
  • accedere alla cronologia del dispositivo,
  • accedere alla rete in modo completo,
  • ricevere dati da Internet,
  • recuperare l’elenco delle applicazioni in esecuzione.

Permessi alle app

Una applicazione molto zelante, oltre il suo scopo, suscita sospetti.


È solo uno degli esempi più classici. Provate a confrontare la descrizione di alcune utility con le autorizzazioni richieste per il funzionamento; successivamente vi invito a misurare col metro della correttezza e trasparenza verso l’utente finale. Farsi qualche domanda in anticipo, in questi casi, è sempre buona prassi.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.