The other day I wrote a post about Mac OS and it quietly suggesting that people install anti-virus software. I want to bring up this link shown to me by my friend JC. In short, Apple has removed the knowledge-base article suggesting Mac OS users install anti-virus software. The reason that they removed this is that “The Mac is designed with built-in technologies that provide protection against malicious software and security threats right out of the box.”
Joseph brought up a great question, why are Operating Systems built on a *nix kernel more secure against malicious software than Windows. I think there are some fundamental reasons why this is true. First, Unix/Linux OS are actually multi user. Yep, I would contend that even though Windows can have ‘multiple’ users, it is not actually a multi user operating system. Let me explain. Unless you actually have a SysAdmin that is going to change it, Windows by default will let anyone look at, write to, and execute any file regardless of who’s file it is (Windows files don’t actually have ‘owners’). So, who cares that it isn’t a multi user system? Well, instead of having programs that are restricted to specific services based on which user it is actually running under any program can do anything and has access to any service.
With any file having access to anything it brings up the second point. Unix style systems keep the operating system separate from the other programs. Windows does not protect itself in any way. It will let any program install and even change vital system dll’s within the Windows32 folder. Further more it will do this with no verification that this is actually being run by someone with proper authority.
Now any system could be compromised depending on what software is run. It is important to know and trust where software is coming from. Most Linux/Unix software comes from online repositories that are verified by GPG key. If someone has changed the repository the package management system will throw up a warning. Furthermore the majority of software that is not received from an online repository will give an md5 sum to verify that the package hasn’t been tampered with. By way of contrast Windows updates, and software for windows received off the internet has no verification method whatsoever.
I’m sure that more experience will lend to more reasons for greater system strength. If anyone has further thoughts on this I would love to hear it.