Questa domanda è stata ricavata dalle mie domande fuori tema qui: La centralizzazione riduce la probabilità ma aumenta il danno degli exploit?
Come prima, sospetto che possa essere eccessivamente astratto come una domanda. Ma le eccellenti risposte alla mia domanda precedente mi hanno dimostrato che avevo torto prima.
Uno dei principi della sicurezza sembra essere che se qualcosa è complicato, la probabilità di sfruttamento aumenta. Ad esempio, se un sistema operativo ha molti casi d'angolo con il sistema di autorizzazioni, sarà probabilmente più facile da bypassare. Se il codice implica la giocoleria di puntatori e scostamenti, sarà più probabile che sia sfruttabile tramite un buffer overflow rispetto a uno script Python.
La semplicità, tuttavia, implica l'omogeneità. Dopotutto, è più semplice proteggere meno SO, mantenere meno soluzioni antimalware e applicare un numero minore di applicazioni.
La diversità su un sito - come una varietà di sistemi operativi, pacchetti di sicurezza e applicazioni - è ovviamente meno semplice da mantenere, quindi è più probabile che affatichi gli amministratori di sistema e nascondano casi d'angolo. Tuttavia, è anche più probabile che la diversità impedisca la diffusione del malware a causa di incompatibilità ambientali e, in caso di esito negativo di un errore del sistema, lascerà gli altri sistemi intatti.
TL; DR: Sembra che la semplicità sia la chiave della sicurezza, in particolare della sicurezza attraverso la correttezza. Tuttavia, la diversità riduce l'impatto dei malware o dei guasti dipendenti dal sistema. Quale approccio puntano i siti di protezione sul caso medio? (Qualsiasi cosa sulla terra sarebbe un "caso medio" in questa situazione.)