Perché le autorizzazioni Android sono concesse in gruppi?

11

La documentazione di Android su Gruppi di autorizzazioni afferma che

If an app requests a dangerous permission listed in its manifest, and the app already has another dangerous permission in the same permission group, the system immediately grants the permission without any interaction with the user. For example, if an app had previously requested and been granted the READ_CONTACTS permission, and it then requests WRITE_CONTACTS, the system immediately grants that permission.

Non è questo un rischio per la sicurezza? Leggere i contatti in modo che l'app mi permetta di condividere qualcosa con gli amici è meno rischioso che modificare i contatti esistenti, che possono essere usati maliziosamente, ad esempio, per cambiare l'indirizzo email di ogni contatto in qualcosa che assomiglia all'email originale, ma che in realtà porta all'account dell'attaccante, che può continuare a inoltrare lo scambio di e-mail, all'insaputa di entrambe le parti.

La documentazione enfatizza il punto più sotto:

Once again, the system just tells the user what permission groups the app needs, not the individual permissions

Il PHONE gruppo include CALL_PHONE e anche READ_CALL_LOG .

Ancora una volta, un'app di tipo Yelp dovrebbe essere in grado di chiamare un'azienda, oppure un'app di ordinazione può legittimamente effettuare una chiamata al corriere, ma ciò significa che l'app può anche leggere in silenzio i registri delle chiamate dell'utente e inviarli a qualunque adware è incluso in esso, poiché INTERNET è un normale permesso che non richiede il consenso dell'utente. I registri delle chiamate su determinati numeri possono essere usati come base per ricattare l'utente o (probabilmente più comunemente) possono servire come informazioni preziose per gli inserzionisti per capire il profilo demografico dell'utente e il social network.

Vari rapporti hanno mostrato che un Scaglionante numero di app phone home con dati che l'utente non si aspettava. Perché allora i permessi di Android sono così grossolani?

La comodità dell'utente (ovvero non disturbare troppo l'utente, nel sistema di permessi di runtime di Android M) sembra una ragione debole. Le app legittime senza un motivo per leggere il registro delle chiamate, non chiedono il permesso, quindi tutte le scelte di seguito richiederanno all'utente una sola volta, ma avranno risultati di sicurezza diversi:

  1. "Può questa app effettuare una telefonata" (autorizzazione individuale)
  2. "Questa app può accedere al telefono, reindirizzare le chiamate in uscita (!), e leggi l'elenco dei tuoi contatti "(permesso di gruppo corrente con parole precise, ma inutilmente spaventoso dato che la maggior parte delle app effettuerà solo chiamate)
  3. "Consenti a [questa app] di effettuare e gestire chiamate telefoniche" (dicitura per il permesso di gruppo in Android M, inutilmente vago)

Lo stesso per CALENDARIO - il permesso di sola scrittura per creare eventi è relativamente innocuo , ma leggere gli eventi privati dell'utente molto meno. Ecc.

Ci sono buoni motivi per cui le autorizzazioni non devono essere più granulari?

    
posta Dan Dascalescu 31.12.2015 - 04:35
fonte

1 risposta

1

Non vogliono spaventare gli utenti dall'usare app - se un'app deve usare l'abilità phonecall probabilmente avrà bisogno di più permessi per l'uso regolare (ottenere troppe richieste di permessi da un'app riguarderà gli utenti). Quindi, per compensare, inseriscono le autorizzazioni nei gruppi .

Ciò influenza anche l'usabilità del sistema operativo: l'UX complessivo è migliore con meno richieste di autorizzazione: Se osservi ciò che è scritto in developer.android.com sulla spiegazione dei permessi:

Keep in mind that you don't want to overwhelm the user with explanations; if you provide too many explanations, the user might find the app frustrating and remove it.

In parafrasi: non vogliono sopraffare l'utente con richieste di permessi - e inoltre influenza la capacità del sistema operativo di spiegare la rischiosità dell'autorizzazione all'utente: "contatto di accesso" invece di leggere / scrivere contatti e ottenere account. Non tutti gli utenti capiranno cosa è SIP - ma tutti sanno cos'è una telefonata.

    
risposta data 01.01.2016 - 19:13
fonte

Leggi altre domande sui tag