È vero che i sistemi operativi basati su Linux non hanno bisogno di software antivirus (contro Windows), se sì, perché?

Tra le risposte che ho visto finora, sono d'accordo e mi piacerebbe scrivere "basta vedere la risposta di xyz", ma mi è stato chiesto di rispondere quindi ecco la mia risposta.

Windows ha bisogno di un pacchetto software antivirus così come di pacchetti anti-malware e anti-spyware a causa del suo design e il ragionamento dietro il suo design. Penso che gli altri intervistati abbiano spiegato perché Linux non ha bisogno di software antivirus, anti-malware e anti-spyware, quindi voglio spiegare perché Windows ha bisogno di tutto questo software prima di dettagliare le differenze.

Siamo chiari: la facilità d'uso è in una relazione inversa con la sicurezza. Questo è (in parte) il motivo per cui Windows è così insicuro (emotivamente, oltre che dal punto di vista della sicurezza). Cerca di essere tutto per tutti. Al contrario, FreeBSD, una variante Unix-like, derivata da Unix commerciale, è estremamente sicura -- ed estremamente difficile da usare, specialmente se paragonata a Windows.

Ma FreeBSD, come i suoi fratelli OpenBSD, NetBSD, Dragonfly BSD, Pfsense, FreeNAS, TrueOS, Ghost BSD, e altri sono estremamente sicuri. Menziono i BSD perché sto andando da qualche parte alla destra di Linux, giusto per mettere Linux nel contesto, come se fosse il cugino leggermente meno sicuro di BSD, GNU/Linux.

Con le eccezioni (forse controverse) di macOS e Android, i sistemi operativi originariamente derivati da Unix commerciale sono rinomati per la loro stabilità, robustezza e sicurezza. Ma perché?

La risposta a questa domanda sta nella storia di Unix. Quando Unix è stato sviluppato, è stato sviluppato per funzionare su computer mainframe (nelle università); i computer avevano come caratteristica chiave il fatto che dovevano essere in grado di fornire accesso a molti utenti contemporaneamente. Né si voleva che uno di questi utenti fosse in grado di accedere agli account e ai file di altre persone, o ai dati sensibili che l'università poteva scegliere di memorizzare su quello stesso computer. Quindi la sicurezza era ed è fondamentale.

Ora, vediamo davanti a noi un sistema operativo che deve permettere a più utenti di usare più programmi e accedere a più file, ma senza compromettere la sicurezza contro intrusioni indesiderate. Accesso facile? Non negli anni '70, quando la maggior parte degli utenti non universitari erano studenti di informatica, di matematica e professori e ricercatori scientifici. La facilità d'uso era lontana dall'essere una parte significativa dell'interfaccia utente del sistema operativo.

Come ha scritto Michael W. Lucas, autore di diversi libri sui BSD FOSS (cioè FreeBSD ecc., le versioni Free and Open Source Software di Unix commerciale), "Unix non si adatta a te. Tu ti adatti a Unix".

Unix e tutti i suoi sistemi operativi figli provengono da una tradizione e da un ambiente tecnico universitario. Ci si aspetta che gli studenti siano abbastanza intelligenti e capaci di navigare in un'interfaccia a riga di comando molto user-UNfriendly con abilità e un livello molto alto di sofisticazione. L'informatica non dovrebbe consistere nel coccolare le persone; si tratta di imparare i computer e sviluppare nuove tecnologie.

E mentre è vero che i vari figli di 'nix si sono mossi verso la facilità d'uso, la sicurezza rimane fondamentale.

Windows è stato costruito con la facilità d'uso come base, e sfortunatamente la sicurezza rimane una priorità di recupero, un po' un ripensamento. Microsoft ha lavorato molto duramente per cambiare questa percezione, che la sicurezza non è una priorità così grande come la facilità d'uso, ma è una battaglia in salita per loro.

Windows è per il giocatore, l'impiegato d'ufficio, la nonna che controlla la sua posta elettronica, il bambino che impara abilità educative e fa giochi educativi, così come il ricercatore, l'ingegnere del software, e così via. Il problema è che non si può essere tutto per tutti e aspettarsi di essere esperti in tutte queste funzioni.

Realisticamente, la maggior parte degli utenti di computer hanno la filosofia del "non mi interessa come funziona, voglio solo che funzioni". Non hanno bisogno o vogliono avere a che fare con un'interfaccia a riga di comando imperscrutabile e incredibilmente complicata (anche il DOS era troppo per la maggior parte delle persone). Microsoft è nel business di vendere software per fare soldi. Per fare soldi, devi dare alla gente quello che vuole, quindi la facilità d'uso è fondamentale e la sicurezza è meno importante -- finché i clienti non si lamentano, ovviamente.

Altre persone hanno dettagliato le ragioni per cui le cose stanno così, ma penso che dovrei rivedere velocemente le differenze.

  1. Windows cerca di "limitare al minimo" gli utenti; Linux (e qui sto per includere automaticamente i vari OS 'nix, ma senza menzionarli ogni volta, per salvare l'indice che sto consumando fino a diventare un dannato moncherino su questo smartphone) è molto avaro con l'accesso degli utenti, assumendo un alto grado di (giustificabile) paranoia e quindi dando l'accesso solo su una base "as-need".
  2. In Linux, niente, e intendo *niente* viene fatto senza che Root (noto anche come Superuser) ne sia a conoscenza e abbia il permesso; in Windows, l'account Administrator può o non può sapere, e può o non può dare il permesso per certe azioni o attività. In *teoria* l'account Amministratore dovrebbe avere l'ultima parola e la conoscenza finale di tutte le attività nel sistema, e quasi sempre lo fa, ma in pratica non è sempre così. Questo perché ci sono due account SOPRA l'account Amministratore, il super-amministratore, e uno così nascosto (stranamente, proprio in bella vista) che non ne avevo mai sentito parlare prima che qualcuno su Quora mi avesse chiesto, tra gli altri, di farlo. (EDIT: quell'account si chiama SYSTEM, e sì, si nasconde in bella vista, se si controlla Task Manager e si guarda ai processi [aggiunto 06:30 PST, 29-01-2019]). Per favore, superfan di Windows, non datemi addosso, protestando su quanto ho torto. Con tutto il dovuto rispetto, voi gente non vincete mai questi argomenti se non sommergendomi di tonnellate di informazioni per lo più irrilevanti e/o sbagliate. Spesso è molto più irrilevante che impreciso, in un rapporto di 80/20 o 90/10 (modifica aggiunta 06:30 PST, 29-01-2019).
  3. Internet & TCP/IP: Linux mantiene le porte aperte in una modalità di ascolto passivo; in Windows, queste porte sono tenute in modalità di ascolto attivo, agendo effettivamente come finestre aperte al piano terra in un edificio altrimenti sicuro. Così le porte in Linux appaiono 'chiuse', mentre le porte in Windows appaiono 'aperte'.
  4. Linux non suddivide processi e thread in parti, prese da una parte di un file, come fa Windows. In Linux, è tutto o niente; non solo tutto in Linux è un file, ma il file completo è messo in RAM. E poiché i file di Linux sono piccoli, questo crea pochi problemi in termini di sovraffollamento della RAM, a meno che non ci sia semplicemente poca RAM, che è un problema per qualsiasi sistema operativo/computer. Più RAM c'è, meglio è in qualsiasi sistema operativo.
  5. Molti spyware sono scritti e progettati per cercare un drive C:. Poiché Linux non ha un drive C:, non può essere attaccato in questo modo.
  6. Il kernel di Linux è monolitico, il che significa che non è suddiviso in pezzi ed è quindi più difficile da attaccare. Non impossibile, solo più difficile. Il kernel di Windows non è monolitico, a proposito. Ma in sua difesa, e lo dico sia letteralmente che figurativamente, Microsoft ha costruito anelli difensivi intorno al kernel, riducendo la probabilità di attacchi. Intendiamoci, i sistemi operativi 'nix hanno avuto anelli fin dall'inizio, quindi Windows è ora dove i 'nix erano quarant'anni fa (gli anelli non sono una difesa di sicurezza significativa; dal punto di vista della difesa, gli anelli in Linux sono più come segnali di avvertimento, ad esempio, "Attenti ai cani", o qualcosa del genere; un deterrente, ma non molto di una difesa).

Questo è tutto ciò che posso pensare per ora. La linea di fondo è questa: Windows enfatizza il dare all'utente ciò che vuole, cioè una grande esperienza. Linux dà agli utenti ciò di cui *hanno bisogno*, cioè, le protezioni paranoiche come priorità assoluta, e le "buone esperienze" dello spazio utente come una sorta di ritardatario; e dato che Linux dà agli utenti una scelta di 25+ ambienti desktop rispetto all'unico ambiente desktop di Windows, direi che Linux ha battuto Windows anche in termini di esperienza utente positiva. Cheeky me.

Grazie per il A2A

Modifica aggiunta 29-01-2019 alle 06:27 PST: Jesse Pollard è stato abbastanza buono da correggere alcuni dei miei errori più lievi (è stato abbastanza buono da lasciare gli errori doozy da soli, (whew!). Comunque, ecco alcune delle sue modifiche/commenti:

" è stato sviluppato per funzionare su computer mainframe (nelle università);"

No - è stato sviluppato dai Bell Labs per funzionare su un avanzo di PDP-7, poi portato a un PDP-11 (entrambi minicomputer).

È stato progettato sulla base di buone pratiche e principi presi dal sistema più sicuro all'epoca: Multics. Fu poi portato su un mainframe GE.

Nelle università, crebbe in base ai computer dell'università... quindi PDP-11, e poi al VAX.

"Gli anelli non sono una difesa di sicurezza significativa; dal punto di vista della difesa, gli anelli in Linux sono più come segnali di avvertimento, ad es, "Attenti ai cani", o qualcosa del genere; un deterrente, ma non molto di una difesa"

JP commenta che "No. Gli anelli sono dove gli utenti sono bloccati dal passaggio"; per quanto mi riguarda, è ancora una difesa, anche se non forte.

Paul ha commentato che "Su Windows, i normali account di amministratore, Administrator stesso, SYSTEM e TrustedInstaller hanno tutti la possibilità di regolare i permessi su qualsiasi cosa sul sistema senza avere effettivamente i permessi in anticipo (come il proprietario di un file in Unix), ma obbediscono ancora ai permessi e alle ACL già impostate. Beh, in realtà questi utenti hanno un permesso Take Ownership che non può essere sovrascritto senza modifiche effettive nelle strutture degli utenti stessi - è possibile dare questa cosa ad altri gruppi o rimuoverla da quelli preesistenti, anche se la rimozione potrebbe essere un cambiamento di rottura". Poi ha aggiunto che "Tutti gli utenti amministratori, quando vengono elevati, hanno il massimo potere possibile. La ragione per cui solo alcuni utenti amministratori possono fare certe cose è dovuta alla configurazione, ma gli altri amministratori possono sempre sovrascriverla. // Windows ... il gruppo Administrators così come molti altri account privilegiati come i già citati SYSTEM e TrustedInstaller hanno capacità abbastanza significative per fare qualsiasi cosa, sia direttamente che indirettamente. Come ad esempio il caricamento di driver o la MODIFICA delle capacità consentite per gruppo."

A mio avviso, questo supporta la mia dichiarazione che un account superiore a super-amministratore può fare modifiche

Modifica, aggiunta il 31-01-2019 20:00 PST: Giusto per essere chiari, ecco come appare un "minicomputer" del 1964, modello PDP-7:

main-qimg-ae318c1ec1e2dd4f91504e2110d4b023.webp

E ecco come appare il "minicomputer", modello PDP-11:

main-qimg-8b53179463b1447fe4418424ecac6458

Quindi, in realtà, chiamarli "mini" per gli standard di oggi, non è proprio così mini; giusto per essere tutti allo stesso livello di comprensione dei commenti di Jesse Pollard.