Esistono differenze tecniche che rendono Linux meno vulnerabile ai virus rispetto a Windows?

123

Cosa rende Linux così diverso da Windows in termini di esigenze anti-virus?

La mia domanda non è se dovrei ottenere un anti-virus per il mio Linux . Capisco perfettamente perché un AV è importante.

Vorrei capire se ci sono differenze (tecniche) concettuali che rendono Linux meno vulnerabile di Windows (confrontando ad esempio Ubuntu 14 e Windows 7).

    
posta Community 05.08.2015 - 20:59
fonte

8 risposte

110

Ci sono diversi motivi per cui Windows è così pesantemente gonfiato con prodotti anti-virus. (Sto indicando esperienze fuori campo (OOTB)).

Gli utenti Windows sono, per impostazione predefinita, amministratori locali, quindi qualsiasi ingegneria sociale eseguita su Windows può solitamente portare a un'esecuzione di software. La moderna Linux ha utenti configurati come utenti locali con privilegi bassi. Richiede la tua password per elevare il privilegio.

Windows ha cercato di semplificare il maggior numero possibile di cose, inclusa la sicurezza, e ripensando alla sua cronologia il loro macello ( Windows Vista chiunque ?) dei controlli di sicurezza hanno lasciato intorpiditi i loro falsi positivi sul software. Il proverbiale "Vuoi installare questo software? Vuoi veramente installare questo software?" portare a solo click-through o disabilitare UAC .

Repository software contro installazioni standalone:

Linux ha avuto archivi software per sempre e fornisce un buon meccanismo per l'installazione del software. Questi sono solitamente firmati, approvati, software protetto da aziende con budget per la sicurezza che seguono standard di sicurezza. (Conosco le violazioni dei repository in passato, ma generalmente è buono). Gli utenti di Windows sono abituati a prelevare fonti da qualsiasi luogo e installare sul loro sistema, senza firma o meno.

Gli utenti hanno generalmente mentalità diverse:

Windows è una piattaforma multiuso per tutti gli utenti. In genere cerca di risolvere i problemi di tutti e, così facendo, OOTB non protegge l'utente come dovrebbe. Questo è il motivo per cui Microsoft spinge così duramente per costringere ogni pezzo di software a essere firmato da un "firmatario fidato". C'è un sacco di dibattito su questo, ma generalmente dal punto di vista della sicurezza questo è intelligente; Microsoft ha semplicemente un record che lascia la fiducia a desiderare.

Gli utenti Linux sono generalmente tecnici e i sistemi sono in genere sistemi server. Ecco perché il software solitamente include le chiavi GPG e / o SHA / MD5 hash per il confronto, in quanto questi sono da un punto di vista dell'amministratore di Linux, i processi di fatto per l'installazione di software. Conosco molti utenti Linux che ignorano questo, ma non ho ancora visto un amministratore di Windows nemmeno pensarci.

Quindi va oltre la quota di mercato.

Espansione:

Tratterò alcune cose dai commenti (che hanno punti validi).

Repositories:

Da una esperienza di OOTB le moderne distribuzioni Linux hanno pacchetti pre-firmati che servono di più per identificare che un pacchetto funziona con la distribuzione, ma dimostra anche un metodo sicuro per la verifica.

Sono stati discussi altri sistemi di gestione dei pacchetti come pip e npm che sono indipendenti dalle distribuzioni stesse e sono server che installano pacchetti specifici per il loro particolare linguaggio di programmazione. Si può sostenere che non esiste un modo intrinseco per la verifica su questi sistemi. Questo è fondamentale perché Linux ha una filosofia di programmi che fa una cosa specifica e la fa bene. Questo è in genere il motivo per cui vengono utilizzati più strumenti come l'utilizzo di GPG o PGP per l'integrità.

Download di script

cURL | sh è stato menzionato e non è affatto diverso dal fare clic su un .exe dopo aver scaricato il file. Per sottolineare, cURL è uno strumento CLI per il trasferimento dei dati. Può fare l'autenticazione, ma non esegue la verifica in modo specifico.

UAC vs sudo

Infine, ecco alcune cose su queste due funzionalità di sicurezza.

UAC è un processo di approvazione per l'installazione di software non attendibile. Un utente con diritti di amministratore locale semplici ottiene un sì o un no (il comportamento può essere modificato, ma non è predefinito). Sto ancora cercando di vedere se questo comportamento è cambiato su Windows 8+, ma non ho visto nulla su di esso.

Sudo è un sistema di elevazione delle autorizzazioni a grana fine. Di default è essenzialmente la stessa cosa di UAC, ma ha più possibilità di essere configurato per limitare l'accessibilità.

    
risposta data 05.08.2015 - 22:01
fonte
42

La ragione di questo tende ad essere storica. Non c'è motivo per cui un moderno desktop Linux dovrebbe essere particolarmente più resistente ai malware rispetto a un moderno desktop di Windows.

Tuttavia ci sono stati molti più virus per Windows che Linux tra gli utenti desktop, che dipende da fattori come il numero di utenti delle rispettive piattaforme e anche debolezze storiche nella piattaforma Windows come l'esecuzione come amministratore in ogni momento.

Quindi, dal punto di vista del mercato, la ragione è che ci sono più clienti per il software antivirus Windows che per il software antivirus Linux, quindi di conseguenza un numero maggiore di venditori entrerà in quel mercato.

    
risposta data 05.08.2015 - 21:13
fonte
29

Penso che il fattore più cruciale per l'infezione da virus del sistema Windows desktop sia, sicuramente, la cultura e la disciplina della distribuzione e dell'installazione del software.

Mentre l'utente Linux medio apre il gestore pacchetti e ottiene il pacchetto software del fornitore (e non lascia il repository ufficiale per trovare software nel 90% dei casi), l'utente medio (non IT) di Windows apre il browser scheda e Google per "installa 7-zip" o anche "installa archiviatore di file", e molto spesso naviga accidentalmente in un sito Web contenente malware, che è appositamente predisposto e ottimizzato per catturare questo tipo di utenti.

Ogni principiante amministratore di Windows ti parlerà di un sacco di storie su "ZipViewer.exe" e "ArchiveUnpacker.exe", che sono stati trovati nella macchina infetta e sono stati scaricati dall'utente. Ovviamente, l'utente esperto digita "7-zip.org" nella barra degli indirizzi e scarica il pacchetto di installazione dal sito Web attendibile, ma questo ci indica semplicemente il fatto: l'assenza di repository centrale per il software Windows e l'obbligo di solo per ricordare l'elenco dei siti Web attendibili si crea ancora la più grande vulnerabilità mai conosciuta nella cronologia di Windows.

Conosco la notevole quantità di persone, che non installano affatto software antivirus solo perché sanno dove trovare il software originale e come configurare un normale backup dei dati.

    
risposta data 06.08.2015 - 11:30
fonte
15

Nella monocoltura di Windows

Ogni malware Windows funzionante può causare un'infezione epidemica. Ci sono centinaia di milioni di caselle Win 8.1 nel mondo e su molte di esse, ad es. Acrobat Reader è stato installato. È una monocultura.

Linux d'altra parte è meno una monocultura. Ci sono molti diversi visualizzatori di PDF: Evince, Okular, mupdf, xpdf ... Ci sono molti gestori di finestre: Gnome, KDE, i3, lxde ... Ci sono molte diverse distribuzioni.

Quindi, se sei in grado di infettare un assaggio di Linux, questo non funzionerà necessariamente su altre installazioni.

Il software Linux di solito è open source. Se desideri diventare uno sviluppatore di un software, devi tenerlo a lungo per ottenere l'accesso in scrittura a git / svn / cvs di un progetto in esecuzione. Non è possibile offrire solo i binari a una distribuzione, è necessario offrire il codice sorgente e se non viene compilato dall'origine, il software non è disponibile. Quindi è difficile distribuire malware.

Quello che ho scritto qui è una supposizione, non mi occupo di sicurezza del software.

    
risposta data 07.08.2015 - 14:50
fonte
14

Ci sono alcune buone risposte qui. Volevo solo aggiungere un paio di punti.

C'è una componente storica nell'argomento che Linux è meno vulnerabile di Windows. Alcune delle basi per questo suggerimento non sono così valide quando si fa riferimento a implementazioni moderne di Windows come in precedenza.

Forse la più grande differenza era originariamente dovuta alle differenze nell'architettura. I sistemi basati su * nix hanno tradizionalmente una netta separazione tra spazio utente e kernel. Questa separazione ha limitato quali processi gestiti dall'utente potevano accedere / modificare. Le prime finestre non avevano una separazione così chiara, il che significava che cose come il codice utente che influenzava il codice di basso livello oi driver erano più possibili. Le versioni successive di Windows hanno lavorato per una separazione simile tra sistema e spazio utente. Ad esempio, una volta, era possibile che i processi dello spazio utente influissero negativamente su servizi di basso livello, come il sottosistema video, a causa del codice malevolo eseguito dall'utente o del codice di livello utente appena codificato. A tale riguardo, questa separazione tra sistema e spazio utente ha il vantaggio di ridurre l'esposizione al codice malevolo e al codice bug che potrebbe rendere il sistema meno stabile.

Come menzionato da altri, Windows consentiva anche che l'account utente fosse anche un account di amministratore di sistema. Sarebbe come avere un account utente Linux eseguito con privilegi di root, essenzialmente permettendo ai processi di bypassare qualsiasi protezione fornita dalla separazione di utenti e sistema.

Penso che sia anche utile distinguere tra virus e malware. Un modo per vedere questo è pensare ai virus come auto-popolosi: i virus possono spostarsi da un sistema all'altro senza l'interazione / input dell'utente. Il malware, invece, richiede all'utente di eseguire alcune azioni, ad esempio aprire un allegato, installare un aggiornamento, visitare un sito Web con un exploit drive-by ecc. Mentre i virus sono ancora un problema, la vera minaccia in questi giorni è da malware. Poiché il malware richiede l'interazione dell'utente, la vera minaccia è ora più sull'ingegneria sociale e meno sulla piattaforma tecnica. A questo livello, sia windows che linux sono potenzialmente simili in quanto entrambi i sistemi sono sempre più simili (ad un livello di concetto astratto) in architettura: user e system space. È possibile sviluppare malware per entrambi i sistemi e la misura in cui tale malware funzionerà è simile (supponendo che la pratica moderna di Windows di non includere il proprio account utente implicitamente includa i privilegi di amministratore).

Ciò significa che, in generale, la vera differenza è dovuta principalmente alla quota di mercato. Poiché Linux ha una quota di mercato molto più piccola, il potenziale pool di vittime è più piccolo. Se stai per sviluppare malware, andrai per il più grande mercato possibile - questo significa Windows. Tuttavia, stiamo iniziando a vedere malware per Linux ed è probabile che se la quota di mercato del desktop Linux dovesse aumentare, vedremmo aumentare i problemi di malware per Linux. Il punto è che l'ingegneria sociale è ora la chiave per la distribuzione di malware e le piattaforme sono meno rilevanti. È anche probabile che vedremo più malware su Linux se vedremo anche un aumento del malware basato su tecnologia che è multipiattaforma (ad esempio javascript).

In realtà è un po 'preoccupante che ci sia una strong convinzione che Linux sia immune da virus e malware. Questa convinzione tende a far sì che le persone sentano di non doversi preoccupare delle normali best practice per proteggersi, ovvero non fare clic su email doddgy, aprire allegati sospetti, installare software da fonti sconosciute o non attendibili ecc. Le persone suggeriranno che Linux è più sicuro perché gran parte il software è open source ed è possibile ispezionare la fonte per vedere se è dannoso o meno. Questo è un po 'fuorviante. In primo luogo, è davvero molto difficile ispezionare il software per garantire che sia OK - questo richiede una notevole competenza tecnica e familiarità con il linguaggio utilizzato. L'altro problema è che molti supporteranno che qualcun altro l'abbia fatto, il che potrebbe non essere il caso. Considera il numero di librerie e applicazioni importanti che hanno avuto falle di sicurezza significative che non sono state identificate da un po 'di tempo, ad esempio openssl, libc e ghost ecc.

In questo momento, Linux è meno vulnerabile principalmente perché rappresenta un segmento di utenti così piccolo sul mercato. Se il mercato cresce o se i concorrenti migliorano la loro sicurezza, punta a dove il malware diventa difficile da implementare, potremmo vedere un aumento delle minacce per Linux. Le minacce dipendono sempre più dall'ingegneria sociale per fornire il loro carico utile. In una certa misura, stiamo probabilmente raggiungendo il limite di protezione tecnica possibile nei sistemi moderni. Il componente più vulnerabile in questi giorni è l'utente. Ciò significa che la tecnologia di base sta diventando meno pertinente e ciò su cui realmente dobbiamo concentrarci è l'educazione e la consapevolezza degli utenti.

    
risposta data 07.08.2015 - 01:27
fonte
4

Confrontare Windows e Linux è come confrontare strutturalmente mele e arance. La configurazione svolge un ruolo più importante nella protezione rispetto a qualsiasi architettura OS specifica e passa dalla sicurezza fisica fino alla manutenzione e alla manutenzione. Tutte le implementazioni di sicurezza possono essere rimosse in tutti i sistemi operativi e gli angoli possono essere tagliati in termini di manutenzione e sicurezza in relazione a come un utente gestisce la propria macchina. Pertanto, tutti i sistemi operativi condividono lo stesso livello di rischio in termini di installazione del malware, poiché tale rischio è ampiamente influenzato dall'utente.

Virus, malware, trojan, ecc. sulla maggior parte delle piattaforme possono essere installati da qualcuno che ha privilegi sufficienti. Se quella persona ha privilegi sufficienti per consentire all'applicazione di aumentare le proprie autorizzazioni, l'applicazione potrebbe essere estremamente difficile da eliminare. Se un utente viene eseguito come "Amministratore" su Windows o Linux, ad esempio hanno la possibilità di consentire l'installazione di qualcosa di malevolo se non stanno attento. Se quell'utente installa inavvertitamente qualcosa che non intendeva, può potenzialmente prendere il controllo della propria macchina, nascondersi nel sistema operativo e renderlo molto difficile da rimuovere, a volte anche richiedere un aggiornamento del firmware in caso di qualcosa come un EFI iniezione su un Mac.

L'antivirus è come un sistema di sicurezza quando si ha una serratura. Se si pensa alla serratura della porta come la sicurezza del sistema operativo integrata, si eviterà che alcune cose accadano senza che l'utente faccia qualcosa come lasciare la porta sbloccata. Perché esiste, può scoraggiare un potenziale aggressore a causa della sua esistenza. Le serrature delle porte mantengono onesta la gente onesta. Un sistema di sicurezza, come il software antivirus, avvisa l'utente di una possibile intrusione. Se l'utente riconosce l'avviso e interrompe un'intrusione nel tempo, allora il furto o l'effrazione possono essere vanificati. Se l'utente non ha un sistema di sicurezza in atto, può solo esaminare le conseguenze di un effrazione se le protezioni integrate del sistema operativo (o una serratura della porta) vengono superate.

Detto questo, non tutti i sistemi di sicurezza catturano tutti i problemi, e non tutti i motori antivirus catturano tutti i virus, ma se hai qualcosa che valga da proteggere, vale la pena proteggerli correttamente.

Linux può in alcune varietà richiedere una manutenzione significativamente maggiore in termini di installazione. Non è facile da usare per tutti ed è creato da persone che non lavorano per una grande azienda (escludendo Red Hat ) . Finestre, può essere più semplice per configurare e mantenere fuori dalla scatola, tuttavia l'utente in entrambi i casi può aiutare a rendere un sistema operativo inutile in termini di difesa.

La quantità di malware in un dato mercato in un dato momento non influisce sulla sicurezza futura di un determinato sistema operativo. Se vengono applicate tutte le patch software, l'utente è aggiornato con le vulnerabilità note, a condizione che le parti responsabili della manutenzione del software siano aggiornate. Ci saranno comunque sempre più attacchi zero-day e attacchi su vulnerabilità non divulgate dove non esistono patch.

    
risposta data 06.08.2015 - 04:34
fonte
4

Un problema fondamentale con la scusa di Windows per un modello di sicurezza - probabilmente il più grande - è che l'unico modo in cui un utente può consentire ai programmi di fare determinate cose che qualsiasi programma installabile potrebbe dover fare è concedere il programma autorità illimitata per fare qualsiasi cosa e tutto ciò che vuole. Se fosse possibile per Windows dire ad es. "Questo programma vorrebbe aggiungere una cartella denominata" FredMagic123 "al menu di avvio di ogni utente e aggiungere icone ad esso, ti piacerebbe lasciarlo fare?", E se facendo clic su "Sì" si concederebbe al programma l'autorità per farlo ma nessun altro privilegio elevato, quindi gli utenti potrebbero determinare quando i programmi cercavano il permesso di fare cose che non avevano una ragione legittima per fare.

Per peggiorare le cose, Windows rende difficile l'avvio dei programmi con le normali autorizzazioni e quindi richiede autorizzazioni elevate successivamente. Pertanto, se un programma di installazione vorrà essere in grado di installare un programma in modo tale da essere accessibile a tutti gli utenti, spesso avrà bisogno di richiedere autorizzazioni elevate prima di poter fare qualsiasi altra cosa. Di conseguenza, piuttosto che consentire l'installazione di un programma per un utente locale senza bisogno di autorizzazioni elevate e richiedere solo autorizzazioni speciali durante l'installazione per l'utilizzo a livello di sistema, il normale comportamento è che i programmi di installazione richiedano autorizzazioni amministrative complete per fare qualsiasi cosa, anche se in un'installazione tipica nessuna delle loro azioni richiederebbe alcuna autorizzazione elevata.

    
risposta data 08.08.2015 - 00:58
fonte
4

Inseriamo dei buchi in alcune risposte qui.

Linux has fewer viruses because it lacks market share.

false . Sebbene Linux abbia meno di una quota di mercato nei desktop, ha una quota maggiore di installazioni di server. È molto più probabile che i server vengano ricercati come obiettivi specifici anziché obiettivi di opportunità.

Modern operating systems are all basically equally secure if correctly configured and administered.

false . Windows contiene un sacco di codice legacy che è stato scritto senza problemi di sicurezza per mantenere la compatibilità. Linux era molto più attento alla sicurezza nella sua progettazione iniziale e ha avuto più progetti di sicurezza puri che hanno solo migliorato le cose. Sebbene Windows sia molto migliore di quello che era, ha ancora margini di miglioramento.

E giusto per essere sinceri, sfatiamo un altro mito: "Linux da solo è abbastanza buono per la sicurezza". I maggiori punti deboli in tutti i sistemi operativi sono

  1. Password deboli
  2. Misconfiguration

Al momento la rete bot più allarmante è composta interamente da router basati su linux con password predefinite e amministrazione remota abilitata.

    
risposta data 01.09.2015 - 09:20
fonte

Leggi altre domande sui tag