Android ha un'app di sandboxing sufficiente?

11

In un domanda precedente in InfoSec , Ho chiesto come determinare la sicurezza di un'app per Android sideloaded che richiede i permessi di root.

Ora vorrei porre una domanda correlata, ma diversa: è importante verificare la sicurezza di un'app Android che non richiede i permessi di root e non lo farà avere accesso ai dati?

Se l'accesso ai dati è disabilitato per l'app (tramite un firewall con permessi di root), importa anche se l'app è "cattiva" in qualche modo? È possibile utilizzare AppOps o XPrivacy per impedire l'accesso ai contatti e al calendario e la possibilità di effettuare / ricevere chiamate telefoniche o SMS / MMS. Quindi che danno può fare un'app che non ha accesso ai dati (e ha le sue restrizioni limitate da AppOps o XPrivacy)?

Un altro modo per porre questa domanda è: Android KitKat e versioni successive hanno sandboxing predefinito sufficiente a impedire al malware di fare del male (supponendo che tu possa bloccare l'accesso ai dati da / all'app tramite un firewall e utilizzare qualcosa come AppOps / XPrivacy per bloccare le autorizzazioni di contatti, calendario, chiamate telefoniche e SMS / MMS)?

    
posta RockPaperLizard 08.03.2015 - 06:24
fonte

2 risposte

10

Ogni versione di Android è incrementalmente più strong su questo fronte rispetto alla precedente, e Lolipop certamente spinge l'applicazione sandboxing un passo più in là rispetto a Kitkat, in particolare per quanto riguarda l'isolamento inter-app.

Le app di "firewall" di terze parti su Android sono probabilmente un po 'esagerate e, a mio parere, il livello di protezione che possono offrire senza il rooting è un po' discutibile. Android offre un certo livello di controllo dei dispositivi tramite l' API di gestione dei dispositivi , ma è in gran parte una politica roba, non controllo a grana fine su interni di app.

Se il tuo dispositivo è rootato, tutte le scommesse sono praticamente esaurite e tu sei da solo. Il sandboxing non può più essere applicato in modo ragionevole e spetta a te controllare manualmente l'esecuzione. Buona fortuna.

Per i dispositivi non rootati, le autorizzazioni delle app sono controllate dal set di autorizzazioni concesso all'installazione. E quel set di autorizzazioni viene applicato. Se un'app è dannosa e gli è stata concessa l'autorizzazione per l'invio di messaggi SMS, sarà in grado di inviare messaggi SMS in modo malevolo. Se non gli è stato concesso tale permesso, non può farlo.

AppOps consentiva di aggiornare queste autorizzazioni in fase di runtime, ma secondo uno sviluppatore non si intendeva che fosse una funzionalità supportata per gli utenti generici. Il motivo è che rompe cose . E una funzionalità che rompe tutto è, per definizione, non supportata.

Questa non è la fine della storia, però. Il modello dei permessi è qualcosa a cui il team di Android sta facendo attenzione a molto. Hanno bisogno di una soluzione che (A) non interrompa tutte le app, (b) offra all'utente un controllo significativo e (c) sia utilizzabile dai clienti con le competenze tecniche di un gerbillo. Questo non è così semplice come sembra, ma aspettatevi un'attenzione continua e progressi su questo fronte in futuro.

    
risposta data 08.03.2015 - 07:42
fonte
5

Does Android KitKat and later have sufficient default sandboxing to prevent malware from doing any harm

Quanto è lungo un pezzo di spago? Garantire la riservatezza non è l'unico obiettivo della sicurezza delle informazioni, se l'App dovesse eseguire un servizio in background che consumasse costantemente una CPU significativa con l'obiettivo di scaricare la batteria sarebbe una minaccia?

Is it important to check the safety of an Android app that does not require root permissions and will not have data access?

Oltre ai privilegi concessi alle app per impostazione predefinita, quali risorse specifiche a cui una app può o meno rappresentare una minaccia dipendono in gran parte da come viene applicato il sistema di permessi Android. Ricorda che i titoli e le descrizioni di permessi Android non sempre trasmettono in modo completo o inequivocabile l'accesso che concede .

Ad esempio, penso che l'attuale finestra di dialogo relativa alle autorizzazioni del Play Store visualizzi qualcosa come "Utilizza uno o più dei seguenti: SMS, MMS. Potrebbero essere applicati addebiti." per l'accesso agli SMS, che non dà necessariamente l'impressione di poter leggere gli SMS.

Pertanto, anche se dovessi leggere e applicare selettivamente ogni autorizzazione individualmente, potresti comunque ottenere un accesso che non avevi previsto.

Inoltre, le app Android hanno accesso a un numero significativo di autorizzazioni per impostazione predefinita o senza approvazione esplicita. Ad esempio, credo che Play Store al momento non mostri l'accesso a Internet sul suo dialogo di accettazione delle autorizzazioni.

Entrambi questi esempi sono specifici delle app installate tramite il Play Store, ma sono sicuro che ci sono esempi che non dipendono dal Play Store. Inoltre, anche se controlli le autorizzazioni dopo aver installato un'app tramite il Play Store e revocato alcune app, c'è ancora una finestra in cui l'app potrebbe essere una minaccia.

If data access is disabled for the app (via a firewall)

Infine, non escluderei gli attacchi ai canali laterali. Un'app dannosa può utilizzare IPC per trasferire informazioni a un'altra app che poi la espone a Internet . L'esempio più semplice sarebbe l'App che costruisce un Intento per aprire un URL in un browser, e quell'URL potrebbe naturalmente contenere informazioni sensibili. Sfortunatamente la finestra di selezione del selettore dell'app Android (in cui selezionare il browser) non mostra l'URL per verificare la presenza di informazioni riservate prima dell'apertura. A quel punto potrebbe essere troppo tardi.

TLDR; Android ha un strong sand-boxing rispetto a un OS desktop tradizionale, ma non è una scusa per essere negligente. Dovresti comunque considerare il software di terze parti come una minaccia e valutarlo di conseguenza, affidarti alla sandbox per avere un ulteriore livello di sicurezza nel caso in cui gli altri controlli falliscano.

    
risposta data 08.03.2015 - 07:52
fonte

Leggi altre domande sui tag