In ordine di importanza:
- La gestione dei diritti in Linux è fatta a livello di processo. Cioè ogni programma può fare solo quello che l'account utente che lo avvia può fare. Non può nemmeno vedere altri file, non importa cambiarli.
- La maggior parte dei Linux sono dotati di una protezione extra su questo. Nel ramo RedHat e Suse si ottiene SE Linux - security enhanced. Questo limita ulteriormente ogni programma permettendo solo ai componenti hardware di essere visti solo da quel programma, e solo essere in grado di scrivere su quelli quando gli viene dato esplicitamente il permesso. Simile è l'AppArmour sul ramo Debian di Linuxes.
- Un utente su una macchina Linux ha solo accesso a livello utente. Solo in grado di scrivere i file nella loro cartella home. Possono vedere altri posti, e forse eseguire da altri posti, ma mai cambiare quelli. Le parti sensibili sono addirittura nascoste alla vista. Quindi nessun programma che eseguono può fare più di quanto quel particolare utente avrebbe potuto fare.
- Ogni file e directory in Linux ha livelli di accesso applicati ad esso. Sia quello che il proprietario/creatore del file può fare, sia quello che gli altri possono fare. Ci sono 3 suddivisioni, che danno 3 diritti ciascuna. Il proprietario, il gruppo a cui appartiene il proprietario e tutti gli altri. Ad ognuno di questi possono essere dati privilegi di lettura, scrittura ed esecuzione indipendenti l'uno dall'altro. Questi sono impostati automaticamente per tutti i programmi standard di Linux - consentendo agli utenti normali di eseguire programmi e leggere i file delle impostazioni, mentre impediscono qualsiasi modifica a file / cartelle che non hanno fatto loro stessi. Nascondendo anche cose che non dovrebbero nemmeno vedere - ad esempio i certificati di crittografia, le cartelle home di altri utenti, ecc. Non possono nemmeno vedere le cartelle in cui risiedono queste cose, non importa leggere i file effettivi, dimenticatevi di modificarli.
- I compiti amministrativi sono gestiti esclusivamente dall'utente root. Ad alcuni account utente possono essere dati i diritti per salire a un privilegio di utente root - attraverso cose come sudo (Super User do). Ma in ognuno di questi hanno bisogno di inserire una password prima che ciò possa accadere. Quindi nessun cambiamento a livello di sistema è possibile senza il consenso esplicito dell'utente.
- Tutto in Linux, e quasi tutti gli additivi sopra Linux sono open source. Cioè sono costantemente controllati e ricontrollati da più programmatori indipendenti. Se è stato fatto un errore viene trovato molto rapidamente. Se qualcuno ha fatto una backdoor (come se ci fosse un intero colabrodo dietro Windows) allora viene chiamato fuori e quel programma viene messo nella lista nera o sistemato subito. Nel closed source, solo l'azienda può fare questo, di solito non hanno le risorse o l'incentivo per farlo. Nel caso di Windows, Microsoft vuole davvero queste backdoor - leggete il loro EULA per capire perché (vogliono un modo per entrare nella vostra macchina, quindi devono lasciarle dentro, in realtà le fanno apposta, una volta che qualcuno le scopre rilasciano una "patch di sicurezza" per chiudere quella porta e aprirne un'altra).
- Linux (per default) esegue solo programmi specificamente progettati per esso. Nessun file EXE viene eseguito quando si fa doppio clic su di esso. Semplicemente non può farlo. Ci sono modi per farli eseguire, ad esempio usando Mono per eseguire gli EXE DotNet e Wine per eseguire i normali EXE di Windows. Ma entrambi sono installazioni extra ed entrambi funzionano ancora in una sandbox attraverso il livello utente e i controlli AppArmour di cui sopra. Quindi nessun virus specifico di Windows ha alcuna speranza di iniziare in una macchina Linux. Il meglio che può fare è rovinare la sandbox creata intorno al pacchetto Wine che sta eseguendo.
- Infine, anche se questo è spurio nel migliore dei casi, gli scrittori di virus/malware hanno un incentivo minore a creare tali programmi per Linux. Solo perché ci sono meno utenti desktop, e quelli che usano Linux tendono ad essere più esperti di computer. Quindi è sia più difficile che un obiettivo più piccolo per queste persone cattive.
Nota che l'ultimo è spurio, dal momento che non prende in considerazione altri posti dove Linux è effettivamente il più diffuso. Ad esempio, i server web sono per circa il 90% basati su Linux in questi giorni - indovinate su cosa girano i server di Quora. Se uno scrittore di malware potesse entrare in questo, arriverebbe a 1000 o milioni di informazioni di persone in una sola volta. Un incentivo molto più grande per colpire questi obiettivi che cercare di entrare nelle foto delle vacanze di un individuo. Eppure, ogni volta che accade una cosa del genere è una notizia estrema, dato che accade così poche volte, ogni volta nella storia di Linux anche a causa di amministratori di server che fanno qualcosa di stupido, non a causa di Linux. Sul lato Windows Server però, Oh mio! Che sparatoria da far west!
Nota la cosa dell'open source di cui sopra? Notate che ho detto "quasi tutti gli additivi"? Un esempio di questo è rappresentato dai telefoni Android. Parte del set di strumenti Android installato su tutti i telefoni è closed source. O da Google o dal produttore che fa quel telefono. Questi sono i punti deboli di Android. Il suo kernel (Linux) è in realtà sicuro come qualsiasi altro Linux. Ma a causa di queste cose closed source, ci sono stati alcuni incidenti, scoperti solo troppo tardi una volta che il telefono di qualcuno è stato infettato - nessuno avrebbe potuto controllare prima (a causa del closed source).
In realtà, come ulteriore esempio di quanto più sicure siano le cose grazie all'open source. I media tendevano a saltare su storie di qualche "vulnerabilità" in Linux, nel kernel. Roba come un bug che permetteva ad un programma eseguito da un utente di salire a super utente senza passare attraverso i controlli di sicurezza. Questo è successo davvero. Ma indovinate perché i media hanno fermato tutto questo? Perché hanno scoperto che nel momento in cui hanno avuto la possibilità di segnalarlo, scriverlo in un blog, o in un articolo di giornale - l'aggiornamento è già stato implementato per risolvere quel bug, giorno se non settimane prima ancora di sentirne parlare. E già quasi tutti i Linux sono stati patchati.
Prendete quelli con sistemi closed source, e non è strano vedere queste cose essere lasciate per giorni, settimane, anche anni prima che qualcuno faccia effettivamente qualcosa al riguardo. Non si vedono più spesso queste storie, non perché non accadano, ma perché i media hanno imparato che non è utile riportarle. In Linux sono sempre troppo tardi, e in Windows succede ogni giorno o due - quindi non sarebbe "sensazionale".