jhae2.718 said:
Mac OS X and other Unix-like operating systems (e.g. Linux, BSD--OS X is based off of FreeBSD) use permissions systems such that it is very difficult to run code without authorization.
UNIX was developed for users to share machines-- big powerhouse computers in the 70's where users were all using the machine at once. So UNIX had to ensure that there were safeguards in place, since otherwise, an individual user could do something wrong and crash the system, or hog system resources away from other users.
Windows (really DOS to start) was developed for personal computers. People were expected to be the only users of the system, so if they crashed their own computer, or hogged resources, it wasn't a big deal-- they'd be doing it to themselves alone.
jhae2.718 said:
Part of this comes from the fact that users on Unix-like OSes default to being standard user accounts, and must sudo/su to root. Windows still defaults to having users run as administrators, which means that if malicious code is run it has access to the whole system and can pretty much do everything.
I've always blamed it on permissioning (as you point out), the file registry (shared "global" resource), and the fact that Windows/DOS supposedly let's (or used to let) the programs write directly to the device drivers, bypassing the operating system (supposedly done to increase performance-- remember all those games in the 90's that would ask you what type of sound card and video capabilities you had?) Couple that with the fact that Windows has always tried to make software backwards-compatible, and you're in for a tangled nightmare.
But while that's always been my assumption as to what has made Windows vulnerable, I don't really know. Do those issues still affect Windows machines now? Now they've got multiple users, and I don't know if they allow direct access to device drivers. And I have no idea what (if anything?) is in place to protect the registry.
AlephZero said:
Until recently Macs had such a low market share that there wasn't much point in virus writers bothering with them. After all, the reason people rob banks is because that's where the money is, not because they are the easiest places to rob.
I dunno-- I found that people didn't really write viruses with the *intent* to write viruses. They typically did it because they would find loopholes, and were curious to see in what ways they could abuse them. Profit wasn't usually a motivation, but an afterthought. "Woah! It looks like I can usurp control of people's hard-drives! ... Wait a minute ... I can scan it for credit card numbers, and report them back to myself!"
Essentially, Macs had a low market share among *hackers*-- so hackers weren't typically playing with them, and as a result, weren't finding loopholes in the code. Hackers are often the type to experiment and tinker with their computers, which Macs historically didn't let you do. Plus, they've been pretty pricey.
DaveE