易用和安全,从来都是一对矛盾,过分考虑方便用户操作,就很容易带来系统隐患。
向上兼容也会带来系统的复杂性,复杂的系统漏洞一定多。对微软来说,它的每一个版本,都需要考虑向下兼容,比如Win95是32位与16位并存。
任何人造的东西,都有漏洞,越是流行的东西,其漏洞越容易被利用。没有绝对安全的系统。iOS并非开放系统,但仍然有漏洞可被利用。
系统设计的思路,也会带来安全问题。微软从一开始目标就是一个消费产品,其早期的操作系统甚至不区分管理员账户和用户账户。
 
应该来说封闭性越强安全性越好。像你从来没有在iOS或者PS3上看到病毒,即便微软自家出的的XB360上也没有(以上情况有例外就是你自己刷机了),手机有病毒的也是Android的。
如果你写过移动程序会发现在Android上其实是一件蛮痛苦的事情,版本分裂加上google很不友好的开发者体验,但是造成这一切的原因就是Google想把Android打造成一个相对定制化和可移植化更强的系统,相比较与iOS。但是iOS开发者体验就非常好,写程序的流畅感是Android平台做不到的,可是开发者也经常抱怨很多功能不实用第三方SDK就实现不了,如果使用了苹果又要封杀你。所以当系统越把底层的功能交给开发者,其实这个系统的风险越大。也就是其实微软如果想做安全能力绝对是有的,但是出于更强的可定制性没有去做。有些系统刷机或者越狱后出现问题就是刷机或者越狱程序打开了底层的部分权限,使得开发者可以更深层次实现某些功能,但是用户也面临更多风险。
另外还有一个原因就是,这个世界不存在没有漏洞的程序。即便一个100行的程序如果没有考虑全面还会出现各种问题,更别提windows这种超过5000万行的代码了。
还有就是大部分病毒或者木马的开发者多是出于利益原因才去做的,大量人从事这方面,让本来就比较脆弱的程序更加脆弱了。
其实现在做的比较好的是mac,unix框架并不是一个安全性非常强的,但是mac用一个很小的细节就杜绝了病毒。我Mac osX 上要感染的话,这个病毒必须被用户输入用户名和密码授权一下。这个和windows的UAC和杀毒软件巨大的区别是,mac系统其实是一个封闭的框架,默认一切外来物至少涉及到内部就是“不可信”的,所以在这类底层程序启动的时候回去要求授权,但是windows下默认的是所有的硬盘程序都是“可信”的,所以只有程序进入硬盘时才会去授权。不过mac也不是没有问题,像很多用户手贱开了远程共享,结果密码还是很弱智的那种。另外mac下也有病毒,而且技术其实不是很难,我曾经见过一个病毒是第一次安装的时候匿名成一个其他软件去安装,然后检索硬盘上最近的app,把自己写入这个程序的尾端,然后在程序的头部写入一个指针指向病毒,这样当用户每次运行这个程序的时候就会先执行病毒。所以没有绝对安全的。