Come funzionerebbe il "firewall" per app iOS o Android per autorizzazioni estese (posizione, ecc.)?

2

Sono interessato a bloccare o segnalare l'utilizzo di autorizzazioni estese da parte di qualsiasi applicazione, indipendentemente dal fatto che vengano concessi tali diritti, ad esempio:

  • GPS / Posizione / Wifi
  • Dati del segnale radio
  • Telemetry

Il mio razionale è legato alla privacy di una persona. Ad esempio Facebook Messenger ha un'icona a livello di applicazione per disabilitare la segnalazione della posizione. Come posso forzare teoricamente l'app a non utilizzare più quella funzionalità a livello di SO? (sì, le impostazioni lo faranno, ma dove nello stack del sistema operativo funziona?)

La risposta a cui sono interessato farà riferimento ai dettagli del sistema operativo iOS e Android e non a un semplice interruttore di attivazione / disattivazione della sicurezza disponibile in Impostazioni.

Risposta di esempio

Prendendo il sistema operativo Windows come esempio, la maggior parte di questo sarebbe gestita nel kernel, e al suo interno, un sottosistema protetto che probabilmente non opera nell'anello privilegiato 0. Le API interessanti si troveranno nella libreria XXX (kernel. dll?)

  • Quale livello nel sistema operativo Android e iOS è più adatto per bloccare o controllare l'accesso ai permessi in fase di runtime?
posta random65537 28.05.2015 - 21:49
fonte

2 risposte

1

Posso parlare solo per Android, non ho idea di iOS.

Le autorizzazioni di concessione sono (per lo più) gestite nel framework, mentre il kernel di Linux e gli utenti Linux e Linux-Gruppi appropriati per ogni app assicurano che il framework non venga eluso. Le API interne interessanti si trovano principalmente in /frameworks/base all'interno di un normale albero dei sorgenti Android

In Android, il framework si occuperà di filtrare le richieste in fase di runtime, in base al modello di autorizzazione . Il processo è all'incirca come segue:

Se un'app utilizza l'API per eseguire alcune operazioni protette (come la lettura della posizione GPS corrente) il gestore (in questo caso, LocationManagerService ) controllerà se l'autorizzazione richiesta è stata disponibile per il contesto chiamante (approssimativamente : manifest dell'applicazione, che è stato confermato dall'utente durante l'installazione). In tal caso, eseguirà l'azione richiesta; in caso contrario, viene generata una SecurityException . I normali meccanismi del kernel di Linux impediscono alle app di accedere alle risorse senza l'utilizzo dell'API adatta (escludendo, ovviamente, app in esecuzione come root su un dispositivo rooted).

Puoi trovare un articolo di panoramica generale sulle funzionalità di sicurezza di Android nella home page della documentazione ufficiale . Tuttavia, non è legato alle autorizzazioni.

    
risposta data 27.09.2015 - 06:35
fonte
0

Non riesco a trovare un buon modo per filtrare le autorizzazioni sul mio iPhone, ma posso aiutarti per Android. Io uso due app sul mio tablet. il primo è DroidWall che uso per interrompere la connessione Internet per la maggior parte delle app,

Per limitare le autorizzazioni delle app, l'app migliore per me è XPrivacy . Quando scarichi l'app mostra solo le autorizzazioni 1-3-10 per consentire l'accesso, ma la cosa reale è che queste app accedono a centinaia di autorizzazioni.

Alcune app non funzionano se blocchi alcune delle autorizzazioni (come la posizione), ma XPrivacy ha una funzione "per mentire" sulla tua posizione. Quindi l'app funzionerà ma penserà che tu sia altrove.

    
risposta data 29.05.2015 - 18:03
fonte

Leggi altre domande sui tag