Se tutti i computer utilizzano lo stesso sistema operativo, gli aggressori devono concentrarsi solo su un sistema operativo, non sarebbe sicuro?
Se tutti i computer utilizzano lo stesso sistema operativo, gli aggressori devono concentrarsi solo su un sistema operativo, non sarebbe sicuro?
Nel 2003, Dan Geer di @Stake ha pubblicato un documento fondamentale proprio su questo argomento: Cyber In security: The Cost of Monopoly. Sorprendentemente (dato che all'epoca era un impiegato di Microsoft), si presenta in pieno campo sostenendo che la diversità è vitale per la sicurezza (enfasi mia):
Indipendentemente dall'argomento: informatica contro elettricità generazione di energia contro difesa aerea: la sopravvivenza consiste nel prepararsi al fallimento in modo da sopravvivere. La sopravvivenza, sia come concetto che come misura, si basa su due pilastri: accantonamento replicato e rischio diversificato ....
... la ridondanza ha poca capacità di proteggersi dai guasti a cascata; avere più computer con le stesse vulnerabilità non può aiutare se un attacco può raggiungerli tutti. La protezione dai guasti a cascata è invece l'ambito della diversificazione del rischio, ovvero l'utilizzo di più di un tipo di computer o dispositivo, più di una marca di sistema operativo, il che a sua volta assicura che gli attacchi avranno una efficacia limitata. / strong> Questo principio fondamentale assicura che, come gli agricoltori che coltivano più di un raccolto, quelli di noi che dipendono dai computer non li vedranno fallire tutti quando la prossima rovina colpisce. Questo tipo di diversificazione è ampiamente accettato in quasi tutti i settori della società, dalla finanza all'agricoltura alle telecomunicazioni.
(Ha continuato concludendo che Microsoft era una minaccia nella misura in cui ha introdotto una monocultura; si è rivelata una mossa che limita la carriera per lui in Microsoft.)
Nei commenti, @Johnny suggerisce che questa è una risposta credenzialista. Sebbene abbia scelto di citare qui il documento ben scritto di un professionista rispettato, lo faccio perché rispecchia i miei oltre 20 anni di esperienza nel settore dei computer e della sicurezza. (Il che, diamine, sembra quasi una credenzialità secondaria. Ma sto solo dicendo che mi riferisco piuttosto che pappagallo).
Ad esempio, l'architettura a 3 livelli (web / app / db) è diventata un miglioramento ampiamente accettato in termini di sicurezza molto tempo fa, perché la separazione tra funzioni diverse ha contribuito a rafforzare la sicurezza. In questo senso, la mia esperienza è stata che esiste un compromesso tra il lavoro aggiuntivo per la configurazione di sistemi eterogenei (ad esempio, IIS con un backend MySQL-on-Linux) e l'ulteriore vantaggio della diversità quando gli attacchi ( o patch!) introducono interruzioni nello stack. E che mi sono pentito di aver avuto un problema più grande più volte di quanto mi sia pentito del lavoro extra :)
Epidemie sui campi vergini - o perché non stai segmentando le tue reti o perché stai usando le stesse password , o hai solo un provider [DNS / Hosting / Rete], o perché stai usando lo stesso sistema operativo ovunque, tutto finisce male.
Se tutti i sistemi sono uguali, è prevedibile cosa potrebbe andare storto e come risolvere e patchare. Diventa molto più facile mitigare i problemi che conosci. Ad esempio, se la rete è tutta Windows, gli amministratori devono solo essere consapevoli dei rischi di Windows e distribuire mitigazioni per un singolo tipo di sistema.
Se si mescolano i sistemi, gli amministratori devono proteggere quella combinazione a lo stesso livello di protezione. Introduci molte incognite e molta incertezza, il che aumenta i rischi. Sì, è possibile che alcuni sistemi siano più sicuri di altri, ma da una prospettiva olistica, più cose sono le stesse, più le protezioni possono essere più facili, economiche e affidabili.
Sistemi più diversi rendono più difficile la diffusione di un'infezione. *
Sistemi meno diversi rendono più difficile l'avvio di un'infezione. **
Quindi se il tuo errore scenario è che tutti i sistemi vengono infettati (ad esempio, se è necessario garantire il tempo di attività), l'utilizzo di più sistemi operativi può aiutare (se eseguito correttamente). Se il tuo scenario di errore è uno dei tuoi sistemi infetti (ad esempio, se sei uno studio legale con documenti sensibili), l'utilizzo di più sistemi danneggerà.
* Un unico difetto di sicurezza noto al l'autore dell'attacco può potenzialmente consentire di compromettere molte o la maggior parte delle macchine che eseguono lo stesso sistema operativo.
** Un singolo difetto di sicurezza, su qualsiasi sistema operativo, che è noto all'attaccante sarà sufficiente per consentire di compromettere una delle macchine con quel difetto.
Questa risposta ignora la possibilità di utilizzare diversi sistemi operativi per macchine con superfici di attacco intrinsecamente diverse (ad esempio server web Unix, router Cisco, workstation Windows), perché a quel punto la risposta diventa molto più complicata.
Come sottolinea schroeder, sarebbe molto più faticoso gestire la sicurezza di una rete di questo tipo.
Ma anche se la gestione di una rete diversificata non fosse un problema, gli esseri umani sono ancora l'anello debole di ogni sistema. Oggigiorno l'ingegneria sociale è molto efficace e qualcuno su una macchina Linux può essere indotto a rinunciare alle proprie credenziali di accesso con la stessa facilità con cui può farlo qualcuno su una macchina Windows.
E anche se tutti gli utenti sono esperti sulla sicurezza e non cadere mai in trucchi, la rete non sarebbe ancora pratica da usare. La maggior parte del software che gli utenti utilizzeranno per svolgere effettivamente il proprio lavoro probabilmente non è disponibile per più sistemi operativi.
E anche se tutto il software fosse multipiattaforma, non sarebbe comunque più sicuro . Gli hacker inizierebbero a scrivere malware multipiattaforma.
È fattibile, ma non ne vale la pena.
La replica e la diversificazione proteggono da diversi tipi di attacchi.
La replica è il fulcro di qualsiasi strategia utilizzata per proteggere l'azienda da interruzioni di corrente, incendi, acqua e altri rischi in cui una distribuzione di probabilità per l'evento di fallimenti possono essere dati. Questa conoscenza viene quindi utilizzata per determinare i modelli di distribuzione per ridurre al minimo il rischio.
Proteggersi da attacchi intenzionali è una preoccupazione completamente diversa. La replica può salvare un'azienda da attacchi intenzionali solo se le risorse replicate sono completamente inaccessibili agli aggressori. Una volta che gli aggressori hanno scoperto come compromettere un'istanza di un sistema, si deve presumere che anche tutte le istanze configurate in modo identico possano essere compromesse in qualsiasi momento.
La diversità costringe gli aggressori ad adattare la propria strategia a ciascun bersaglio. Naturalmente, se le differenze sono "banali" in una certa misura (1), l'adattamento potrebbe non richiedere molto sforzo. Poiché il termine "banale" dipende dalle capacità dell'aggressore, anche mettere troppa fiducia nella diversità come misura di sicurezza è rischioso.
(1) Debian e Ubuntu possono essere considerati troppo poco diversi l'uno dall'altro.
Dipende da cosa stai cercando di ottenere.
Avere un insieme diversificato di sistemi operativi nella tua rete renderà più difficile per un malintenzionato compromettere tutti i computer della tua rete . Ma ci sono pochissimi casi in cui questo è l'obiettivo di un aggressore.
Invece, gli aggressori di solito tentano di sabotare le tue operazioni disabilitando i servizi essenziali o tentano di rubare informazioni. In questi casi, potrebbe essere sufficiente compromettere un singolo sistema operativo su un singolo computer e avere più sistemi operativi diversi nella rete significa che un utente malintenzionato è libero di (e deve solo) trovare una vulnerabilità in uno solo di questi sistemi operativi. Quindi qui, la diversità rende effettivamente l'attacco molto più semplice (ad esempio, se i file importanti si trovano su una condivisione di rete accessibile da utenti di computer desktop Windows, Linux e MacOS, uno qualsiasi di questi sistemi può consentire all'autore dell'attacco di accedere a quei file) .
Come tante altre cose, dipende dal tuo modello di minaccia.
Un ecosistema diversificato fornisce a un aggressore più di una sfida e l'exploit che lo ha coinvolto non lo porterà su tutti gli altri sistemi .
D'altra parte, hai le conoscenze e le risorse per mantenere una rete diversificata costantemente aggiornata e sicura?
Se hai un sacco di finestre davvero buone esperti, ma non Linux, è probabile che l'introduzione di alcuni sistemi Linux solo per ottenere diversità riduca la tua sicurezza complessiva poiché non hai nessuno per configurare, rafforzare e mantenere correttamente quei sistemi e diventeranno un responsabilità.
È anche più facile automatizzare la distribuzione delle patch e la gestione della configurazione in un ambiente meno diversificato.
L'opinione generale, AFAIK, è che se puoi gestire una rete diversificata, dovresti farlo. Ma se ti mancano le competenze o le risorse, non farlo solo per farlo.
Il sistema operativo è al livello più alto del modello OSI di rete. Il livello 7 è il livello dell'applicazione. Avere un sistema operativo monopolistico rende più efficiente lo sfruttamento delle vulnerabilità di sicurezza, ma consente anche patch e risoluzioni di vulnerabilità di sicurezza più efficienti.
Rendendo più sicuri i protocolli di rete di livello inferiore e i loro dispositivi, ad esempio i router, possiamo compensare le vulnerabilità del sistema operativo nel livello dell'applicazione. La maggior parte delle intrusioni può essere prevenuta con un buon router firewall in grado di gestire la sicurezza a livello di sessione (livello 5), trasporto (livello 4) e rete (livello 3) del modello OSI prima ancora che il sistema operativo veda i pacchetti.
Per analogia, immagina se tutti avessero la stessa serratura: chiunque abbia la chiave potrebbe aprire ogni porta.
Nel mio lavoro, abbiamo due sistemi operativi principali. Molti conoscono un sistema operativo ma pochi conoscono l'altro. Il sistema operativo esperto sembra più incline a tentativi di hacking rispetto a quello meno conosciuto. L'indicazione è che più è noto il sistema, più è probabile la necessità di precauzioni.
Inoltre, altre arene hanno dimostrato che un monopolio genera compiacenza piuttosto che ingegnosità. Nella storia di Ma Bell, il prezzo piuttosto che la capacità era la forza trainante. Una volta sciolto (anche se un dolore), le aziende hanno rotto con l'innovazione. Penso che lo stesso valga per il sistema operativo di oggi.
Infine, alcuni sistemi operativi funzionano solo nei loro mercati. OS390 / 400 funziona alla grande per "Transazioni al secondo" mainframe veloci, ma non così bene per la nonna quando cerca nella sua raccolta di ricette. Il PC / DOS è ottimo per gli appassionati, ma non può davvero fare altro che agitare la nostalgia. Sebbene sia vero che alcuni sistemi operativi imitano l'uno dell'altro (specialmente nel mondo delle console di gioco), ognuno ha ancora il proprio parco giochi.
Spero che questo aiuti.
Oh, ho dimenticato di menzionare ... un singolo sistema operativo in tutta l'azienda è più facile da mantenere con patch e così via, ma rischia tutto. (Un virus potrebbe eliminare tutti i sistemi.) Considerando che più SO diversi sono più difficili da mantenere, ma separano o silos i rischi. Si applica l'adagio di "tutte le uova in un paniere".
Nel mio lavoro, devo fornire più livelli di ridondanza, dal fallimento minore alla ripresa del fumo. Un buon backup è uno specchio dei sistemi attuali: server e applicazioni replicati. Un backup ancora migliore è uno specchio dei sistemi attuali che funzionano esattamente come i sistemi attuali ma su diversi sistemi operativi e infrastrutture. Il miglior backup possibile sono i diversi sistemi operativi e un terzo backup basato su cloud. Ciò indica che la diversità è una preferenza rispetto alla semplicità.
È una questione di bilanciare le cose per adattarsi al meglio alla tua situazione.
Ci sono vantaggi da 1 per tutti i sistemi operativi: puoi sviluppare misure di sicurezza, impostazioni, patch e soluzioni identiche, ma lo svantaggio è che se uno è compromesso, gli aggressori possono ottenere il resto relativamente facilmente. Questo è valido per le vulnerabilità e non solo.
Se si dispone di molti sistemi operativi diversi, l'amministrazione, l'applicazione di patch e il mantenimento della compatibilità complessiva possono essere più difficili, ma se uno dei sistemi è compromesso, gli altri sistemi operativi lo faranno più sicuro rispetto al primo caso.
In entrambi i casi, hai bisogno di sicurezza e patch.
È importante anche quale sistema operativo sia. Se è facile essere mirati, è meglio se ne usi anche altri. Se è considerato abbastanza sicuro, va bene se è solo quello.
Vero.
Questo è simile al "singolo punto di errore", il fallimento qui è dovuto a un ambiente omogeneo.
Ma il livello di sicurezza in realtà dipende da molti fattori. Anche l'ambiente del sistema operativo omogeneo non è così omogeneo come immagini, ovvero hardware, versione del sistema operativo, versione dell'applicazione, ecc. Eterogenei.
Quindi la mitigazione consiste nell'isolare la minaccia. Ad esempio, un'organizzazione con molti computer utilizzerà il bridging o la VLAN per isolare la rete in base alla funzione operativa aziendale.
Renderebbe sicuramente più difficile il lavoro di un hacker compromettere completamente una rete una volta ottenuto l'accesso, se i computer hanno tutti sistemi operativi diversi. Tuttavia, se hanno già ottenuto l'accesso alla rete tramite un computer, il loro lavoro è già stato semplificato. È dubbio che tutti i sistemi operativi saranno ugualmente protetti contro un attacco, quindi ci sarà sempre l'anello più debole che può essere utilizzato per attaccare l'intera rete.
Devi anche considerare che compromettere l'intera rete non è ' t necessariamente l'obiettivo finale di un hacker. Se tutto quello che cercano sono dati, è più probabile che l'intrusione passi inosservata, perché l'IT spenderà più risorse solo per mantenere la sicurezza per tutti i diversi sistemi operativi.