Come implementare una migliore sicurezza in Linux?

4

Sto solo studiando la sicurezza e il controllo della piattaforma Linux rispetto ad Android.

In Android sembra esserci un enorme sviluppo per quanto riguarda la sicurezza: le applicazioni devono richiedere le autorizzazioni di sistema e, se l'utente concede tale autorizzazione, il sistema consente a tale applicazione di essere eseguita con i privilegi concessi.

Non è così su vanilla Linux. Le applicazioni possono accedere a tutto ciò che vogliono, anche se non concedono loro di modificare i file, ma comunque. Gli utenti semplicemente non sanno come funzionano le applicazioni e quali informazioni - informazioni sensibili - prendono e cosa fanno con tali informazioni (caricarle in un database e venderle a terze parti).

Quindi di cosa si tratta?

Immagino che il kernel di Linux debba essere modificato in modo che accetti i token di accesso per applicazione o qualcosa di simile.

Windows ha almeno un qualche tipo di sistema di sicurezza con il suo firewall incorporato e il servizio di autorità locale. (Conosco poco su Windows.)

    
posta Nathaniel Bennett 21.04.2013 - 23:22
fonte

3 risposte

11

Gli obiettivi della sicurezza Android sono diversi da quelli tradizionali con i sistemi operativi desktop come Linux o Windows.

Fino a poco tempo fa, tutti i sistemi presumevano che l'amministratore e l'utente conoscessero e si fidassero delle applicazioni che installano. O se non ci si può aspettare che l'utente sappia, hanno bisogno dell'amministratore, presumibilmente più esperto, di farlo per loro. La sicurezza è assicurata principalmente dal fatto che gli utenti non possono leggere o danneggiare i dati altrui o impedirsi reciprocamente di lavorare. Questo è ancora il caso di Linux e Windows in modalità desktop.

Per i telefoni cellulari il caso è diverso. I telefoni cellulari sono monoutente, ma non hanno l'amministratore e dovrebbero essere utilizzati da utenti non esperti di tecnologia. Quindi la sicurezza del telefono cellulare (e del tablet) dovrebbe fornire all'utente un livello di protezione contro le applicazioni dannose, specialmente ora che i negozi di applicazioni forniscono migliaia di applicazioni.

La tradizionale sicurezza di isolare gli utenti è ben compresa dopo oltre 30 anni di esperienza. È anche ben compreso come riutilizzare i meccanismi di sicurezza per separare i servizi sul server per limitare i danni che si possono ottenere sfruttando bug in uno di essi. I meccanismi per questo scopo sono stati notevolmente migliorati nel tempo portando a SELinux molto potente e flessibile, ma richiede comunque un amministratore di sistema esperto da configurare.

D'altra parte proteggere gli utenti contro i cavalli di Troia (le applicazioni dannose che hanno ingannato nell'installazione) è nuovo, in gran parte inesplorato e ancora gravemente carente. Il problema principale è che se (giustamente) non ti aspetti che l'utente sia in grado di giudicare se l'applicazione è affidabile, non puoi davvero aspettarti che sappiano quali sono le autorizzazioni che stanno confermando e quali sono le implicazioni nel concederle per l'applicazione sono. Apple e Microsoft aggirano questo problema controllando a fondo il contenuto dei loro negozi di applicazioni, ma questo ha i suoi problemi (è sorprendente che nessun ufficio anti-trust l'abbia ancora proibito), Google lo ha ignorato fino a poco tempo fa e ha implementato qualche forma di monitoraggio ora. Va inoltre notato che il sistema di autorizzazione esiste almeno da Symbian.

Va notato che il sistema di sicurezza Android utilizza gli stessi meccanismi sottostanti di quello per Linux desktop. La differenza sta nel modo in cui è impostata, non nel modo in cui funziona.

    
risposta data 22.04.2013 - 09:13
fonte
4

La sicurezza di Android è quasi una barzelletta. Considera l'autorizzazione "leggi stato e identità del telefono", utilizzata quasi sempre dalle app per inviare i dettagli del telefono agli inserzionisti in modo che possano indirizzare gli annunci a te (e guadagnare un piccolo guadagno dal produttore dell'app). L'app ha davvero bisogno di accedere a tutti i tuoi dati sensibili al telefono solo per ottenere un ID unico da te? Apparentemente così!

Poi c'è il modo in cui vengono utilizzate le autorizzazioni, al momento c'è stato un po 'di malware sull'App Store in cui un'app legittima ha richiesto qualche autorizzazione e successivamente ha aggiornato l'app per aggiungere malware che ha sfruttato tale autorizzazione - e no- uno notato come il permesso è stato già concesso.

Penso che il modello di sicurezza di Android, il che significa che devi dare il permesso a varie impostazioni in anticipo, e in modi così grossolani, significa che nessuno guarda veramente a ciò che le app richiedono, devi accettare tutto autorizzazioni di sicurezza per utilizzare l'app.

Direi che tutti gli utenti non sanno come funzionano le app Android: una volta fornita l'accesso a una rete e a un file di app, è possibile inviare tutti i file a una terza parte senza doverti dare l'autorizzazione, hai un'app di gestione file sul tuo telefono che già è stata data queste autorizzazioni, vero?

Non puoi costruire sicurezza in modo da fermare tutte le cose cattive senza interrompere anche tutte le cose buone - la sicurezza riguarda più le autorizzazioni in fase di esecuzione e le app limitano l'accesso alle parti del sistema che non dovrebbe avere accesso a. Ora la sicurezza di Linux si basa principalmente sulla sicurezza del filesystem in quanto impedisce a 1 app in esecuzione dell'utente di accedere ai file di un altro utente (come sistema multiutente, questo è importante, e anche per un sistema a utente singolo, non si vuole un ladro app dall'accesso a file di sistema 'root' sensibili).

BTW, Linux ha iptables - un firewall "integrato", e se il sistema di sicurezza standard non è abbastanza buono, puoi impostare SELinux, che è stato progettato dalla NSA.

    
risposta data 22.04.2013 - 01:01
fonte
0

C'è un progetto SELinux che consente di mettere a punto le interazioni tra i processi (e il filesystem). Il sistema di permessi è un po 'più flessibile di Android al costo di una maggiore complessità. Altre possibilità sono, tra l'altro, TOMOYO Linux e AppArmor . Ci sono distribuzioni desktop che le hanno abilitate di default come Fedora .

Tuttavia, suppongo che su Linux le applicazioni siano affidabili e che la protezione sia fatta piuttosto per:

  • Riduci al minimo l'effetto delle falle di sicurezza (ad esempio per impedire che il processo di Apache dirottato provochi problemi con PostgreSQL)
  • Non consentire all'utente di uscire dai suoi confini e accedere ai dati di altri utenti

È in qualche modo giustificato dal fatto che la maggior parte delle applicazioni sono open source e ben note quindi è probabile che tale codice venga scoperto.

    
risposta data 22.04.2013 - 08:13
fonte

Leggi altre domande sui tag