In che modo Linux non è soggetto a virus, malware e cose del genere?


71

In che modo Linux è protetto dai virus?


Questa domanda era una domanda super utente della settimana .
Leggi la voce del blog per maggiori dettagli o contribuisci tu stesso al blog



1
Penso che intendi cracker. Vedi: cs.utah.edu/~elb/folklore/afs-paper/node9.html Hacker è un termine non specifico.
jnewman,

1
Per Linux molti software sono open source, quindi se lo scrittore di virus va con open source, la community aiuterà a riparare questa bella mente. E se lo scrittore desidera scegliere il modo proprietario di una fonte stretta, dovrebbe etichettare il programma come "software dannoso proprietario".
Kaykay,

Penso che abbia qualcosa a che fare con la struttura dei file in Windows e simili che rendono i suscettibili ai virus poiché la maggior parte dei virus attacca la struttura di un file e il registro e simili. tuttavia in Linux il sistema di archiviazione e la struttura tutti insieme sono molto più stabili e non possono essere manipolati con la stessa facilità. Una volta ho sentito parlare di un virus Trojan semplicemente seduto su un desktop Linux che non faceva nulla in quanto non poteva attaccare alcun file ...
ThunderToes,

Risposte:


104

Beh, in realtà non è ... è solo meno soggetto agli hacker che sviluppano virus che prendono di mira i sistemi Linux. I computer di livello consumer di solito funzionano su Windows e quindi, quando si rivolgono a un vasto pubblico, Windows è la strada da percorrere.

Non fraintendere Linux e virus, ci sono sicuramente i virus Linux.

Alcune distro hanno livelli di protezione aggiuntivi come SELinux (Vedi qui ) in Ubuntu per esempio. Quindi c'è il firewall predefinito e il fatto che i file alieni non abbiano automaticamente il permesso di essere eseguiti. È necessario concedere un'autorizzazione specifica per l'esecuzione prima che sia possibile eseguire. (Vedi qui )

Poi ci sono molti altri fattori che rendono Linux un posto difficile per i virus, di solito gli utenti non root sui sistemi Linux non hanno a disposizione pochi file eseguibili che consentirebbero ai virus di rimanere inosservati e propagarsi. Alcuni programmi richiedono solo che tu sia loggato come root (o usando sudo) prima di eseguirlo o per accedere / modificare directory diverse da casa tua. È molto più difficile sviluppare un virus vitale che si diffonderebbe così come lo sarebbe in Windows.

AGGIORNARE:

Come menzionato di seguito, la maggior parte delle macchine che eseguono Linux sono server gestiti da persone che sanno qualcosa o due su ciò che stanno facendo. Le persone che usano Linux per uso desktop di solito scelgono e sanno anche cosa stanno facendo. Quasi tutti gli analfabeti di computer eseguono Windows e quindi è molto più facile infettare quei computer. " Ehi, questa macchina mi dice che ho un virus e devo acquistare questo programma antivirus chiamato 'FAKETrojanHunter' per sbarazzartene ... Va bene, facciamolo! "

Poiché nessuna distribuzione / installazione Linux è di per sé uguale, è più difficile sviluppare malware che li infetti nel modo più efficiente possibile. Inoltre, quasi tutto il software eseguito su Linux è Open Source, rendendo il malware molto più facilmente rilevabile poiché la sua fonte è aperta al pubblico.


47
+1 perthere definitely ARE Linux viruses
Sathyajith Bhat

13
Ricorda che la maggior parte (beh, molti ...) dei server eseguono Linux, quindi esiste un'enorme base di installazione che vale la pena attaccare. La maggior parte di questi server non esegue antivirus e non presenta problemi. Ci sono exploit nei pacchetti, ma in genere non consentono l'esecuzione arbitraria di codice remoto.
Rich Bradshaw,

5
In realtà, Linux non è più sicuro contro gli attacchi di virus di Windows per la stragrande maggioranza degli exploit. Alcune classi, Linux migliora (ad esempio, i file eseguibili inviati via e-mail sono più difficili da infettare gli utenti .. ma non impossibile). Gli stessi vettori di attacco funzionano per Linux (overflow del buffer nei programmi che accedono principalmente a Internet). E stupido ... ehm, intendo dire che gli utenti inesperti hanno la stessa probabilità di prendere le misure extra per rendere eseguibile un allegato e-mail se è qualcosa che vogliono (foto di nudie, salvaschermo carino, ecc.)
Erik Funkenbusch

4
@Rich: certo. Ci sono anche molti server Windows. Tuttavia, i server sono in genere gestiti da persone con un indizio su computer e sicurezza, e quindi sono molto più difficili da attaccare. Ci sono molti computer gestiti da persone che non capiscono i computer. La stragrande maggioranza di questi sono Microsoft Windows, il resto è principalmente Mac OSX e Linux non è quasi lì, poiché quasi tutti gli utenti Linux personali lo eseguono perché comprendono i computer e hanno scelto Linux.
David Thornley,

4
@ Jase21: non capisco come si possa dire che Linux abbia "migliori pratiche di codifica" a meno che tu non abbia lavorato su entrambe le piattaforme e abbia visto il codice sorgente per entrambe le piattaforme. @BloodPhilia: +1 per la risposta qui che punta più direttamente alla radice del problema piuttosto che alla tromba FUD.
Billy ONeal,

37

Uno dei motivi sono i privilegi dell'utente.

I sistemi GNU / Linux sono sistemi simili a Unix e ciò significa che sono costruiti per essere sistemi multiutente da zero. Ciò significa che esiste una forte separazione delle responsabilità tra gli utenti. Di conseguenza, un utente normale non può effettivamente danneggiare il sistema perché non ha bisogno dei privilegi. Mentre ci sono account limitati ora disponibili anche su sistemi Windows, su sistemi GNU / Linux è naturalmente previsto che l'utente utilizzi un account limitato per l'uso quotidiano e mantenga l'account root solo per modificare le impostazioni (alcune distribuzioni di default non consentono nemmeno gli utenti devono accedere come root perché esistono altri meccanismi più sicuri per utilizzare l'account root per modificare le impostazioni).

D'altra parte molti utenti Windows sono stati cresciuti nell'era di Windows 9x o quell'era ha avuto una grande influenza su di loro. Allora solo l'account utente era amministratore e tutto era permesso a quell'utente. Ancora oggi su sistemi Windows che discendono da Windows NT multiutente, è spesso richiesto (o almeno previsto) per l'utente di utilizzare account con privilegi di amministratore e l'uso di account limitati è piuttosto basso tra gli utenti domestici.


4
+1 per menzionare i permessi - sudo è mio amico.
Thomas O,

6
Puoi ottenere la stessa protezione su Windows eseguendo come utente limitato e elevando tramite UAC quando richiesto. Sto solo dicendo. :)
badp

2
Controllo dell'account utente è fastidioso e, per quanto ne so, molti utenti lo disattivano. Poi di nuovo uso Ubuntu, quindi forse sono di parte.
Thomas O,

@Thomas O Questo è quello a cui stavo puntando quando ho scritto la mia risposta. Su Windows UAC è fastidioso e spesso sono richiesti privilegi elevati. Su GNU / Linux non sono richiesti privilegi elevati così spesso. Anche su molte distribuzioni è più semplice modificare le impostazioni utente perché "memorizzeranno" la password per qualche tempo, mentre il prompt UAC mostrerà ogni azione.
AndrejaKo

5
@Thomas - ciò che Hello71 sta dicendo è che UAC funziona in un desktop protetto e non è consentito interagire con il desktop degli utenti interattivi, quindi qualsiasi app in esecuzione lì non può "spostare il mouse" e fare clic su di esso. Sembra che l'UAC sia spesso frainteso in questo modo da persone che non ne sanno nulla.
Erik Funkenbusch,

22

Un vantaggio che Linux ha su Windows è che per poter eseguire il file, è necessario impostare specificamente le sue autorizzazioni.

Ciò significa che il trucco con doppia estensione (ad esempio " brittany_spears_naked.jpg.exe ") non funzionerà perché l'utente dovrà renderlo eseguibile prima che li infetti - e speriamo che pensino che sia strano che un'immagine debba essere eseguibile.


14
Linux non utilizza affatto estensioni di file.
AndrejaKo

9
Tecnicamente non lo fa, ma gnome e kde li useranno per determinare se qualcosa è, ad esempio, un'immagine o un file musicale e lo passano al programma appropriato.
Richard,

6
In effetti, né GNOME né KDE né altri ambienti desktop supporranno che un file possa essere eseguito correttamente in base a un'estensione di file.
Ryan Thompson,

Un file non può essere eseguito senza le autorizzazioni. Ciò significherebbe che il tuo gestore di file dovrebbe modificare le autorizzazioni per tentare persino di eseguirlo.
Thomas O

1
In realtà, intendevo dire che gli ambienti desktop Linux non avvieranno un file desktop a meno che il file desktop stesso non sia contrassegnato come eseguibile. Quindi non puoi semplicemente scaricare un file .desktop che lo contiene Exec=rm -rf /ed eseguirlo accidentalmente senza prima contrassegnare il file desktop come eseguibile.
Ryan Thompson,

19

Linux è protetto, ma non invulnerabile.

Contrasto Linux / Unix con Windows ad alto livello, dal punto di vista della sicurezza:

  • Il kernel di Linux (in cui le autorizzazioni di sistema vengono esaminate e applicate) è molto più piccolo dell'equivalente di Windows. Più piccolo significa più semplice; più semplice significa più facile da esaminare, con meno interazioni impreviste del sistema. "Più piccolo" e "più semplice" sono buone cose nell'analisi della sicurezza. Il kernel di Windows continua a crescere a un ritmo elevato.

  • Gli utenti Linux tendono a funzionare a livelli di autorizzazione inferiori rispetto a Windows, rendendo più difficile influenzare l'intero sistema.

  • Linux è iniziato con un modello di sicurezza semplice, flessibile. Windows ha iniziato con i requisiti per la compatibilità all'indietro con i sistemi che non avevano un modello di sicurezza.

  • Linux ha sempre avuto funzioni (ad es. chroot(2)) Per facilitare i compiti dei programmatori attenti alla sicurezza.

Niente di tutto ciò rende Linux invulnerabile al malware. Significa che attaccare un host Linux correttamente configurato è ancora più difficile che attaccare un host Windows correttamente configurato.


11
1. In realtà, Windows NT è iniziato come competizione per OS / 2. Tutto funziona al di sopra del modello di sicurezza DACL, che è più flessibile delle autorizzazioni POSIX. 2. La maggior parte degli argomenti qui riportati si applicano all'era Win9x dei sistemi operativi, non per Windows NT. 3. In realtà, la linea principale di Linux è cresciuta molto più rapidamente rispetto al kernel di Windows. L'unica cosa aggiuntiva che il kernel NT fa è fornire il sottosistema Windowing, che comunque non è vicino al codice di sicurezza. 4. L'affermazione che la dimensione ha un effetto sulla sicurezza si applica solo al codice di sicurezza. L'aggiunta btrfsa Linux non lo rende meno sicuro.
Billy ONeal,

13

La risposta alla tua domanda dipende da ciò che consideri un "virus".

Se usi la definizione corretta di un virus, vale a dire un codice che modifica un eseguibile esistente, allora il motivo per cui Linux non è soggetto a virus è perché non è un meccanismo praticabile per diffondere codice maligno su Linux. Il motivo è che raramente gli eseguibili Linux vengono trasferiti direttamente da un computer a un altro. Invece, i programmi vengono trasferiti utilizzando un software di gestione dei pacchetti o distribuendo il codice sorgente. Il fatto che la maggior parte dei software Linux sia disponibile gratuitamente dalla fonte significa che le persone non hanno quasi nessuna intenzione di copiare i programmi da un computer all'altro.

Se per "virus" intendi "worm" - un programma che si replica su Internet, Linux non è affatto immune da quell'attacco. In effetti, il worm Internet originale, " Morris Worm ", replicato usando Sendmail, un programma che viene ancora preinstallato su molti sistemi Linux. Quasi tutti gli attacchi riusciti contro macchine Linux colpiscono applicazioni vulnerabili rivolte a Internet, come un server di posta o un'applicazione web.

Infine, se ti riferisci al codice dannoso in generale, di solito un "cavallo di Troia", ciò che protegge Linux è principalmente la cultura. Linux è un sistema operativo usato di rado, che limita già il suo valore come target. Ma quando si aggiunge a ciò il fatto che gli utenti Linux sono spesso eccezionalmente esperti e attenti alla sicurezza, riduce ulteriormente la probabilità di un attacco riuscito. Se, ad esempio, il tuo piano di attacco si basa sul convincere un utente a scaricare ed eseguire un programma per infettarsi, è molto meno probabile che tu convinca l'utente medio di Linux a farlo rispetto al tuo utente medio di Windows. Pertanto, gli autori di malware che scelgono una piattaforma come target, scelgono l'obiettivo ovviamente più fruttuoso.


12

Linux ha una community geek altamente dedicata che lavora per questo, anche se alcuni malware sono scritti, c'è sempre una soluzione.


5
Se le aziende antivirus mettono gli occhi su questa piattaforma, è possibile utilizzare lo stesso gruppo di smanettoni per lavorare allo sviluppo di virus. Dopotutto, l'industria dei virus e dell'antivirus è mossa dal denaro e non da REAL crackers / hacker people.
Mahesh,

@Mahesh Ahh, sapevo che ci sarebbe stata una teoria della cospirazione qui. (Non dire che non è vero, solo chiamandolo come è.)
jnewman,

1
@Josh, LOL. Forse ti sentirai così come una teoria della cospirazione, ma le persone che lavorano per catcom, ePC e molte altre società di antivirus ti daranno un'idea migliore. ;)
Mahesh,

12

Ci sono molti aspetti che contribuiscono a questo:

  1. Ambiente eterogeneo
    • Esistono molti gusti diversi e molte configurazioni diverse;
    • Anche nella stessa distribuzione, la gamma di diverse possibilità è enorme;
    • Ogni distribuzione fornisce più kernel, supporta patch extra;
    • Ogni grande azienda di solito presenta il proprio sapore del kernel.
  2. Approccio agli utenti e storia di una forte applicazione dei diritti
    • Linux è naturalmente all'avanguardia in questo settore grazie alla lunghissima storia di sviluppo orientato al server.
  3. I virus sono inefficaci
    • Linux è il sistema più installato al mondo, ma non ci sono molti PC / desktop con Linux;
    • gli attacchi ai server sono molto più efficienti se diretti;
    • gli attacchi ai sistemi embedded (router, televisori, ecc.) di solito non valgono la pena a causa della funzionalità del sistema limitata.
  4. L'attenzione attuale dei creatori di virus non si basa sull'ecosistema Linux
    • I creatori scelgono ciò che è più semplice.
  5. I virus sono molto più difficili da nascondere in Linux
    • Linux è un sistema aperto che espone tutte le informazioni, non è così facile nascondere qualcosa.
  6. Open Source
    • Sebbene Microsoft possa affermare il contrario, avere migliaia di revisori per ogni riga di codice e ancora più persone in grado di correggere un difetto di sicurezza in pochi secondi influisce sicuramente positivamente sulla qualità del codice e sulla sicurezza.

3
"Linux è il sistema più installato al mondo"?
GeneQ,

@GeneQ Naturalmente, quale altro sistema sarebbe? OK, in tutta onestà, non sto prendendo in considerazione quei sistemi operativi super specifici che vengono utilizzati per i chip incorporati prodotti in serie (sì, alcuni vengono con un sistema operativo reale).
Let_Me_Be

2
Questo è di fatto errato. La maggior parte dei chip integrati non esegue alcuna forma di sistema operativo. I sistemi operativi POSIX sono comuni per i server e per alcuni tipi di telefoni cellulari, ma non per cose come automobili e televisori, da dove provengono le statistiche sbalorditive dei piccoli computer molto più comuni rispetto ai computer desktop.
Billy ONeal,

5

Penso che il fatto che Linux esegua principalmente software open source sia un grande vantaggio qui. È molto più difficile per qualcuno fare cose dannose sul proprio sistema quando chiunque può leggere il codice.

Se installi solo software dai repository di pacchetti ufficiali delle tue distribuzioni Linux, probabilmente sei molto più sicuro di quanto sei sotto Windows dove devi scaricare eseguibili casuali e programmi di installazione dal Web per ottenere il tuo software.

Esistono ovviamente altri modi in cui le persone potrebbero ottenere codice dannoso da eseguire sul proprio sistema, ma penso che questo punto meriti di essere menzionato comunque.


2
Solo perché il software è open source non lo rende intrinsecamente sicuro. L'open source può aiutare a determinare se un progetto è sicuro o meno, ma l'open source non fa nulla per causare sicurezza da solo.
Billy ONeal,

+1 Sì, certo, il software non può essere sicuro solo perché è open source, ma avere molte persone in grado di controllare il codice aiuta sicuramente. D'altro canto, direi che il software proprietario è intrinsecamente insicuro perché è facile per uno sviluppatore includere malware nel proprio software senza la conoscenza dell'utente.
Jacob Stanley,

5

Il motivo principale è che i fanatici di Linux non creano obiettivi ricchi.

Il crimine organizzato si rivolge alle persone che acquistano un sistema più semplice con un desktop e tutte le loro applicazioni già installate e ben note. E attualmente la stragrande maggioranza di queste persone utilizza Windows, il che rende Windows un obiettivo molto più redditizio.

Se ci fossero tanti soldi da guadagnare seguendo Linux, sono sicuro che il grande sforzo che sta generando oggi migliaia di nuove varianti di virus e siti Web fittizi al giorno avrebbe presto messo in ginocchio Linux. E con Linux come open-source, gli hacker non avrebbero nemmeno bisogno di decompilare nulla.

Per ogni programmatore intelligente ce n'è uno più intelligente, solo che uno è un pirata ...


3
Non sono d'accordo con questo. Negli anni '90, Windows aveva un'enorme differenza nel numero di virus sul Mac, ma non c'erano ancora soldi da guadagnare dai virus. Questo può esistere, ma come motivo principale non è valido.
Rich Homolka,

@Rich Homolka: secondo le statistiche, Windows non ha oggi vulnerabilità più conosciute rispetto ad altri sistemi operativi. L'unica differenza che è logicamente rimasta è quindi il fatto che gli hacker non si stanno concentrando su di esso.
harrymc,

2
Vedo il tuo punto Harry, ma non sono d'accordo con la tua conclusione. La cosa spaventosa dei (primi) virus di Outlook è che Outlook ha funzionato esattamente come lo aveva progettato Microsoft. Non c'era "vulnerabilità" nel senso normale di quel termine. Il design era semplicemente un efficiente propagatore di virus.
Rich Homolka,

1
@Rich Homolka: hai ragione riguardo al passato e puoi anche elencare ActiveX, BHO, Web DAV e altre stupidità di Microsoft. Tuttavia, uno sforzo di alcuni anni ha migliorato molto la situazione oggi fino a rendere la sicurezza paragonabile a Linux. La maggior parte degli attacchi oggi è orientata al browser e richiede patch in tutti i principali browser. I nuovi attacchi ai router sono in realtà exploit Linux.
harrymc,

5
  • sistema operativo multiutente e multitasking
  • costruito per vivere nel mondo della rete (nessuna porta RFC spalancata per comodità)
  • non esiste ActiveX (bel vettore per la contaminazione)
  • c'è anche una buona separazione del codice dai dati dai file di configurazione
  • tutte le applicazioni e i programmi del sistema operativo sono aggiornati grazie a un repository centrale
  • nessun incentivo a visitare siti sconosciuti e scaricare software da lì
  • gli aggiornamenti si verificano quando c'è un problema da correggere, non "giovedì nero"
  • l'estensione del file non significa nulla per il sistema operativo
  • Nessun pasticcio nascosto, come il registro
  • grazie alla separazione dei privilegi - anche se ottieni "qualcosa", è molto difficile sopravvivere a un riavvio (come da definizioni per un virus)

È banale fare in modo che un'applicazione, dannosa o meno, "sopravviva al riavvio" in Linux. Se si ottiene root è possibile inserire moduli, modificare il kernel e aggiungere o modificare uno script init. Diavolo, anche se qualcuno ha appena compromesso il tuo account utente, può semplicemente aggiungere qualcosa a ~ / .bashrc che verrebbe eseguito ogni volta che accedi.

è banale, ma hai detto "se", giusto? E buona fortuna con questo
jet

Hai detto 'anche se ottieni "qualcosa", (sic) è molto difficile sopravvivere a un riavvio', il che implica che lo hai già ottenuto. Quindi sei già fregato. Gioco finito.

sì, ad esempio il plug-in flash dirottato (Adobe chiunque) e sì, il gioco non è finito a meno che non si navighi come root
jet

3

C'è un numero crescente di persone che non sanno molto sui computer (o che sono migrati da Windows) a distribuzioni moderne come Ubuntu, LinuxMint o Fedora.

Leggeranno qualsiasi guida o guida e scaricheranno felicemente qualsiasi script o programma e lo eseguiranno come root o sudo. Questi possono essere facili bersagli di trojan. In effetti penso che la sicurezza del desktop sia difficile a meno che tu non limiti ciò che gli utenti possono fare con i loro computer.


2

Gli autori di malware vogliono un mercato di riferimento più ampio. Molte più persone usano Mac o Windows di quanto non facciano Linux. È come costruire un sito Web: vuoi assicurarti che funzioni nei principali browser prima di passare a quelli meno popolari.


Credo che @BloodPhilia abbia anche un punto eccellente, per quanto riguarda le diverse distribuzioni di Linux. Sarebbe molto difficile / dispendioso in termini di tempo sviluppare malware in grado di adattarsi efficacemente e diffondersi nelle diverse distro Linux.
Giosuè,

Linux è Linux. Stesso kernel, stesse librerie core. Il codice dannoso è indipendente dalla distribuzione. Trovare un modo per diffonderlo effettivamente potrebbe essere più difficile perché se un progetto viene compromesso e il codice dannoso aggiunto a un pacchetto che viene inviato agli utenti finali, ha effetto solo su quella distribuzione. Qualcosa di semplice come una bomba a forcella farà cadere la maggior parte delle distribuzioni Linux. perl -e 'while(1){fork();}'

2

Una cosa che penso che le persone ignorino sempre nei confronti di Linux / Windows sono gli utenti, chi sono e come pensano, agiscono e reagiscono. Potresti trovare interessante il documento Folk Models of Computer Security .

Linux non è (quasi) mai preinstallato. Come corollario, significa che (quasi) tutte le installazioni sono installate per scelta, da qualcuno che ha pensato abbastanza da scegliere Linux piuttosto che da qualcos'altro, e da qualcuno che almeno sa abbastanza per usare l'installer. Avere un filtro di conoscenza minima del computer prima di utilizzare il computer aiuta.

Al contrario, Windows è l'installazione predefinita sulla maggior parte dei computer acquistati. Puoi avere zero abilità e acquistare un computer Windows, collegarlo a Internet e non sapere nulla di virus, worm, trojan, ecc. E diventare uno zombi molto rapidamente.

Vorrei anche dire che non sto "incolpando la vittima". I computer sono macchine a stato infinito complicate. La sicurezza è difficile. Ma anche il design conta. Mac OS X non ha in realtà funzioni di sicurezza convincenti che lo rendono più sicuro di Windows. È anche preinstallato sui sistemi, il che significa che chiunque può acquistare un Mac lo farà funzionare indipendentemente dal proprio livello di abilità. Ma è stato progettato come un sistema, con un'idea di come l'utente pensa e interagirà con il sistema. Ciò non riduce le falle di sicurezza, ma la probabilità che un utente consenta loro di essere sfruttato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.