Il motivo principale per cui Windows è meno sicuro di Linux è l'abitudine dell'utente. Quando chiedi agli utenti di Windows come installano i programmi, molti scaricheranno felicemente file eseguibili casuali da Internet ed eseguirli come utenti privilegiati. In Linux, la maggior parte guarderebbe prima al gestore di pacchetti e solo agli eseguibili precompilati come ultima risorsa. Si noti che nella maggior parte delle distro Linux, il gestore pacchetti è controllato dal responsabile della distribuzione, non solo chiunque può registrare un account e quindi pubblicare un pacchetto. Si noti che, sebbene superficialmente simili, questo modello di sicurezza è diverso dal modello di App Store in cui chiunque può registrarsi e pagare una tassa per pubblicare nel negozio o gestori di pacchetti non preparati come npm o pypi, dove chiunque può registrarsi per un nome di pacchetto in quello che è essenzialmente il primo come primo servito.
Tutte le funzionalità di sicurezza nel mondo non possono aiutare quando l'utente stesso compromette la sicurezza del sistema.
Windows binary files carry a digital signature from their developer so that it cannot be modified without breaking the signature. One can configure Windows to only run code signed from trusted developers which is enforced all the way down from secure boot
La firma digitale, come implementata in Windows, è abbastanza inutile per quanto riguarda la sicurezza. È abbastanza facile ottenere un certificato di firma del codice. Tutto ciò che la firma digitale di Windows impone davvero è che l'eseguibile è stato firmato da qualcuno la cui identità può essere verificata. Il problema è che chiunque può chiedere a qualsiasi codice di firma CA di rilasciare un certificato, in quanto il compito principale della CA è semplicemente controllare l'identità del richiedente e non molto altro. Questa verifica dell'identità consente agli utenti di stabilire chi ha pubblicato il software, ma la maggior parte degli utenti non controlla la casella di avviso sull'identità del publisher quando ha installato il software, né potrebbe aspettarsi la maggior parte degli utenti per sapere quale dovrebbe essere il nome corretto per ogni software installare, quindi basta fare clic su OK.
Inoltre, per gli utenti più criminosi, uno "sviluppatore" potrebbe persino provare a ottenere certificati di firma del codice da una CA utilizzando identità falsificata o rubata, in modo che la firma non possa essere ricondotta a loro. Mentre il processo CA dovrebbe rendere questo abbastanza difficile, questo non è impossibile, date le giuste circostanze.
In confronto, nelle maggiori distro Linux, tali verifiche dell'identità sono fatte dal maintainer del pacchetto, che ha molta esperienza con queste procedure, piuttosto che dagli utenti finali. Tutte le principali distribuzioni Linux hanno requisiti e procedure di packaging che assicurano in modo efficace che il software installato dal gestore pacchetti sia privo di software dannoso.
Inoltre, ciò che manca nel modello eseguibile firmato di Windows è che la CA non controlla se il codice del pacchetto è open source (la maggior parte delle distribuzioni Linux consente solo il software open source nel repository o consente solo un software closed source molto limitato ), se lo sviluppatore è competente e il software maturo (la maggior parte delle distro Linux consente solo il software consolidato nel repository), o se il processo di download e di build sono sicuri (molte distribuzioni compileranno il pacchetto usando la propria build farm, quindi non fare affidamento su opaque binary dallo sviluppatore), o se c'è un processo di download affidabile dallo sviluppatore (molte distribuzioni Linux hanno requisiti su come il codice sorgente dovrebbe essere scaricato dalla build farm, questo potrebbe comportare che lo sviluppatore abbia firmato GPG sulle versioni del codice sorgente o per richiedere il sito HTTPS / SSH dal sito di download).
So then why is it that people still hold the believe that Linux is more 'secure'?
Anche se non sono d'accordo sul fatto che Windows non sia troppo indietro in termini di sicurezza tecnica, la cultura dell'utente non è molto cambiata, e IMO questa è la più grande trappola di sicurezza di Windows.
Si noti che nel mondo Linux, c'è stato qualche tempo fa una cattiva tendenza di alcuni importanti produttori di software a incoraggiare un curl getblah.com | sudo sh
come procedura di installazione semplice. Questa è fortunatamente solo una tendenza fugace in quanto gli utenti più esperti hanno gridato male e la maggior parte della gente ora capisce che questa è una pessima idea, tanto cattiva quanto il download casuale di Windows da Internet.