Tooplox

Cosa sono le Accessibility Service API di Android, e perché Google vuole limitarle per la sicurezza degli utenti

Iscriviti per ricevere una notifica ogni volta che pubblichiamo un articolo che non puoi davvero perderti! Disturbiamo poco, informiamo molto.

Ha suscitato scandalo e sgomento la decisione, da parte di Mountain View, di negare l’accesso alle Accessibility Service API di Android a tutte le applicazioni che non se ne servono per i propositi inizialmente intesi: aiutare gli utenti in possesso di disabilità fisiche che non riuscirebbero altrimenti ad interfacciarsi con gli smartphone.

È quasi inutile ricordare che quasi la totalità delle applicazioni che oggi si servono delle Accessibility Service API di Android operano al di fuori del campo puramente assistenziale che l’azienda sviluppatrice aveva inizialmente previsto potessero servire; il destino riservato ad app come Greenify, ButtonMapper, Cerberus, LastPass e molte altre ancora è incerto.

Ma perchè le Accessibilities Service API di Android sono così importanti, e perchè Google ha deciso improvvisamente di chiudere i boccaporti del proprio store? Siete pronti per scoprirlo?

Che cosa sono le Accessibility Service API di Android

Sconosciute ai più, le Accessibility Service API di Android sono in realtà molto utilizzate da una grande quantità di applicazioni attualmente presenti sul Play Store, e tutte se ne servono per scopi completamente differenti da quelli originariamente intesi da Google.

Come controllare le app a cui avete concesso il permesso

Queste API sono state infatti ideate per aiutare ipovedenti, mutilati e tutti quegli utenti in possesso di disabilità fisiche e sensoriali ad accedere normalmente – per quanto possibile – alle applicazioni del proprio smartphone; le app che ne fanno uso rientrano all’interno di una particolare classe chiamata “Servizi per l’Accessibilità”, o anche “Accessibility Services”. Gli sviluppatori che provvedono a mettere l’app che ne fa uso in ascolto per il richiamo ad una specifica azione o evento devono chiedere l’accesso ad un permesso in particolare, l’android.permission.BIND_ACCESSIBILITY_SERVICE. Una volta ottenuto saranno in grado di rispondere e reagire ad una vasta gamma di condizioni, come la pressione di un qualsiasi pulsante fisico del device o anche l’apparizione sullo schermo di un particolare elemento dell’interfaccia.

Questa catena di azioni-reazioni vi avrà probabilmente ricordato l’app Tasker – ma non solo: LastPass, Greenify, ButtonMapper (che abbiamo conosciuto anche in una nostra Piccola Guida) sono tutti esempi di applicazioni che usano illegittimamente questo permesso per scopi legittimi. E tutto ciò è accaduto per anni con l’implicita connivenza di Google: queste app non sono infatti distribuite su market di terze parti come XDA Labs, APK Mirror o F-Droid, ma direttamente su Google Play.

Questa tolleranza da parte di Google si spiega facilmente: da una parte, queste app  provvedono a risolvere un limite del sistema operativo in attesa o in sostituzione di futuri aggiornamenti; ad esempio, l’impossibilità da parte di tutte le versioni inferiori ad Android Oreo di riempire automaticamente il campo delle password da parte di app delegate a tale funzione (come, per l’appunto, LastPass) viene supplita da un uso improprio delle Accessibility Service API di Android. Esulando dal piano pratico, si tratta inoltre di una corretta applicazione del principio caratteristico di Googlecome scriveva ieri il nostro Direttore, la libertà di scelta è fondamentale perché gli utenti Android possano definirsi tali.

Come tutti gli esperimenti di auto-regolamentazione, però, c’è stato qualcuno che ha tentato di approfittarsene.


L’accessibilità dei malware

Il vero problema che la liberalità di Google nell’uso delle Accessibilty Service API ha fatto sorgere vede coinvolti sia gli scarsi controlli effettuati da Android all’interno del Play Store, sia l’ingenuità che spinge gli utenti a garantire ad app provenienti dall’esterno del market ufficiale di Android i permessi di accessibilità.

Accessibility Service API di Android
Uno degli usi malevoli delle Accessibility Service API di Android

I casi sono più che documentati: alcuni vi hanno persino costruito attorno la propria carriera, o parte di essa. Tra questi personaggi rientra sicuramente Yanik Fratantonio, ingegnere italiano scopritore della vulnerabilità Cloack and Dagger, ma gli si possono affiancare a buon diritto anche gli esperti che hanno portato alla scoperta di quei malware che si servono delle Accessibility Service API di Android per installare spyware, keylogger ed altre tipologie di programmi maligni all’interno dei device infettati. E non si tratta nemmeno di una caratteristica propria delle app distribuite su market non ufficiali: ad ogni applicazione disponibile su Google Play non viene mai negato l’accesso alle API, di cui possono disporre di default senza che l’utente sia chiamato in causa.


Conseguenze

Dopo anni di sussulti, consulti e tanti insulti (ricevuti principalmente dagli utenti caduti vittima dei malware dell’accessibilità), Google ha deciso di procedere all’applicazione pratica di quella che sembrava essere l’unica opzione possibile per l’azienda: il blocco totale di ogni accesso alle Accessibility Service API di Android in casi alternativi a quelli originariamente considerati legittimi.

Come in molti altri episodi del genere, anche questa volta l’azienda ha deciso di lasciare alle app che hanno cavalcato questi anni di lassismo nei controlli trenta giorni di tempo per risolvere o eliminare l’uso delle Accessibilty Service API di Android, pena l’espulsione da Google Play. Gli sviluppatori, perlomeno ad un primo tempo, si sono trovati davanti ad un bivio: affidarsi a surrogati o sostituzioni oppure correre il rischio che l’azienda applichi le misure annunciate e minacciate.

La prima strada non è senza uscita: stando a quanto gli sviluppatori (preoccupati) di XDA puntualizzano, app come LastPass potranno accontentarsi dell’Autofill Framework ed attendere la lenta migrazione ad Android 8.0, Tasker invece potrebbe servirsi delle UsageStats API, mentre realtà come ButtonMapper non potrebbero fare altro che ritirarsi su porti più sicuri, come XDA o F-Droid.

Questo però prima che venisse puntualizzato, da parte del documento che regola l’uso delle Accessibility Service API di Android, che:

[bs-quote quote=” An accessibility service is an application that provides user interface enhancements to assist users with disabilities, or who may temporarily be unable to fully interact with a device. For example, users who are driving, taking care of a young child or attending a very loud party might need additional or alternative interface feedback.

” style=”style-15″ align=”center” author_name=”Android Developers Guide” author_link=”https://developer.android.com/guide/topics/ui/accessibility/services.html”][/bs-quote]

e che dunque porrebbe facili basi per un ricorso da parte degli sviluppatori colpiti dal provvedimento. Attendiamo prossimi sviluppi ma, nel frattempo, vi consigliamo di tenervi stretti l’APK delle app sopracitate, aspettando tempi migliori.

Quali sono gli indizi che possono tradire la presenza di un malware? Scoprili QUI, ne abbiamo trovati ben dieci!

Vorresti scrivere per AppElmo? Mettiti in gioco: stiamo cercando collaboratori! Scrivi a [email protected], e dai un’occhiata QUI per le modalità di contatto. Non essere timido!

Se non volete perdervi nè le prossime News nè gli altri articoli di AppElmo (e sappiamo che non volete), allora potete iscrivervi alla nostra newsletter inserendo il vostro indirizzo email nel form qui in basso (tranquilli, vi assicuriamo che non vi invieremo spazzatura o spam; in caso contrario, vi saremmo immensamente grati se ci segnalaste il problema).

Oppure potete seguirci sulla nostra pagina Facebook, sul nostro account Twitter, sulla nostra pagina Google Plus, sulla nostra rivista Flipboard e sul nostro canale Telegram oppure, in alternativa, potete sempre scaricare la nostra app da Google Play, cliccando QUI o sull’immagine nella sidebar! Grazie mille!

Commenti

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. AcceptRead More

//