Windows vs Mac Security
sdhorne writes "There is a good technical discussion over at InfoWorld on the merits of launchd and what is lacking in a comparable Windows secure solution. It is a throw back to the UNIX vs Windows security discussion that has been hashed out for many years." From the article: "it always traces back to Microsoft's untenable policy of maintaining gaps in Windows security to avoid competing with 3rd party vendors and certified partners. Apple's taking a different approach: What users need is in the box: Anti-virus, anti-spam, encryption, image backup and restore, offsite safe storage through .Mac, and launchd. Pretty soon any debate with Microsoft over security can be ended in one round when Apple stands up, says 'launchd', and sits back down."
Pretty soon any debate with Microsoft over security can be ended in one round when Apple stands up, says 'launchd', and sits back down."
It seemed pretty wello written. That said, I which he would have said a little more about launchd, at least enough to explain why it gives OSX an advantage. It would have also been nice to have had some kind of side-by side comparing Windows and OSX, like how the windows System pseudo-user trumps the admin user, and how there is not way to trump the OSX root user.
Why this can't happen under OS X:
I don't know if I'd go that far. OSX isn't 100% immune - it just has more common sense.
"We are all geniuses when we dream"
- E.M. Cioran
"Pretty soon any debate with Microsoft over security can be ended in one round when Apple stands up, says 'launchd', and sits back down"
I would have though "(almost) no viruses" would have done the trick since OSX came out...
Or, we don't effectively force everyone to run as super user all the time - if you prefer
*''I can't believe it's not a hyperlink.''
Apple's taking a different approach: What users need is in the box: Anti-virus, anti-spam, encryption, image backup and restore, offsite safe storage through.
Don't you think that if Microsoft offered this that everyone would cry monopoly? Actually, I've seen other people on Slashdot cry this before at the announcement of Microsoft's OneCare program, which isn't even bundled with the OS!
It always traces back to Microsoft's untenable policy of maintaining gaps in Windows security to avoid competing with 3rd party vendors and certified partners
So if they bundled everything you list (anti-virus, anti-spam, encryption, etc.) into the operating system, you don't think they'd be accused of illegally leveraging their monopoly advantage? Just look what happened when they integrated a web browser into the OS a few years ago.
The most rabid believers in American Exceptionalism are the exact same people whose policies are destroying it.
I wonder if they would have been slapped with an antitrust lawsuit if they incorporated antivirus in the OS. It certainly would of had a big impact on the antivirus companies.
Maybe with apple incorporating it they have the green light to go ahead with it.
Please sign petition to restore sanity to our banking system!!!
http://financialpetition.org/
I'm no network admin, but all I know is since I switched to Mac I have no Norton or Symantec software running and there's no signs of threats anywhere. boxlight
If you don't count a trojan as a virus, then you don't need an anti-virus if your OS is secure. Apple can work on securing its OS or on an anti-trojan, but any effort spent on an anti-virus is wasted.
Good artical, however I think the point is realtivly mute. It is true that currently OSX by default is less stupid then windows. However, I think it is truely the end user that decides how vulnerable a system is by what they do with that, OS independent, I could have a XP, OSX, and lets say Mandrake box, and they could all be equaly vulnerable depending on what I have done with them. With a straight base install, I would say windows would be at the bottom of the list, however, after you install a few firewalls on that box, put it behind a router(includes it's version of cheap firewall) it becaomes safer.
:)
So, I don't think out of box security has much importance as whether or not the person using it does. If you browse less then reputable sites you will get attacked, and no mater how good your secruity is some will slip through. So the key is, don't connect your box to the NET
Conceptually, I agree that LaunchD is a really slick idea and I really hope Linux and the BSDs take a good hard look at this code and the possibility of adopting it. That said, it is not a security panacea by any means, just one more clean, sensible implementation that leaves less room for a vulnerability. The thing that makes me hesitate to laud this feature, however, is the implementation. Apple has a lot of smart people working for them and a lot of old school UNIX geeks to whom secure programming is as natural as breathing. They also have a lot of coders and managers who realize that OS X is not a primarily security minded OS. Sure, it is better than Windows and on par with a desktop Linux distro, but it isn't a locked down OpenBSD install or a super secure Linux distro. They don't focus their efforts on security and it shows sometimes when they introduce new code. LaunchD replaces a number of time tested bits of code and while it is (IMHO) a much cleaner, nicer design I haven't a clue about how well written and tested it is, especially from a security perspective. I'd feel a lot better about claiming it as a security feature if I knew some white hats had pounded on it for a while and exposed anything Apple did not bother to think of. I'd feel a lot better if the OSS community in general jumped on it and adopted it, thus helping with this security testing and adding more eyes.
I like LaunchD. I like OS X as a desktop. Lets just not get carried away here with random claims about security. OS X is inherently more secure than Windows, but that really isn't saying a lot. I'm not willing to just assume LaunchD is secure in and of itself, let alone that it will play a big part in securing the OS as a whole.
"...it always traces back to Microsoft's untenable policy of maintaining gaps in Windows security to avoid competing with 3rd party vendors and certified partners."
Since when has this been a "policy"?
With the DOD recommending that folks update their Windows PC's in the interest of National security, I don't think the same Government would launch an anti-trust campaign against Microsoft for including security tools in-the-box. If that were the case, Windows Vista with its built-in anti virus/anti-phishing/anti-spam/encryption/backup and a slew of other tools would be in real trouble and would ship late...
Oh wait...
In any case, I reckon the reason MS did not do security work until recently was simple economics. Folks bought the software anyway, so there was no incentive to spend up to 20% more on engineering costs with little return on investment. As security becomes a more mainstream topic, consumers and businesses are taking notice. Many corporations, including Microsoft, realize that there is money to be made in security.
maintaining gaps in Windows security to avoid competing with 3rd party vendors
Whoever dreamed up this rationalization is gifted.
The holes are there by design. As in security wasn't a part of the overall design. I would argue that it still isn't.
Like all the versions that have come before, "It's more secure" for about a week after launch and then I'm back to cleaning out infected PC's. This works out great for me because it's my job. Personally, the people that take my advice to switch -always- thank me later for making a switch.
http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
Mac OS X's Dock is not meant to be a task manager: it's mean to be a collection of one-click shortcuts to your most commonly used applications, folders, and documents. That it also shows running applications to also easily switch between them is just a bonus, and does not make it into a task manager. If you want to see a list of running threads and processes, (force) quit processes, and graphs of CPU, Memory, and Disk usage, as well as Disk and Network activity, use Activity Monitor (/Applications/Utilities). It's all about the right tool for the right job.
You're dead-on with the performance issues of XNU, though.
[..]say that as the Mac gains a larger market share, the number of viruses available for it will grow. I think this is of little consequence.[..] The permissions system means that a common virus could damage a user's home directory, but the system for the most part would remain unaffected, including other users [..] and most of all the fact that users don't run as administrators, all of these reasons make it much less likely that viruses could be as damaging as on Windows
I think this is thinking too much from the perspective of old-school "format c:" destructive virusses.
Today's malware isn't purely destructive anymore; in fact, little incentive exists to create a virus that merely destroys stuff.
Today we're seeing worms that are used to send spam or perform DDOS attacks, and ransomware that encrypts your files and will only unlock them after you pay up.
Access to a user's home directory is perfectly adequate for ransomware. Access to networkresources is sufficient to turn your computer into a zombie. Privileged system access is not the holy grail; access to specific resources are.
User-based security offers no protection against this. Instead people often install programs to limit access to, for example, network resources - a software firewall that will inspect a process to see if it's legit before letting it use the network. Likewise we will need a security subsystem that prevent programs to write to files not created by them. For example; firefox should be able to upload a word document (read permissions) perhaps, but surely only word or openoffice should be permitted to (over)write it.
This is more along the lines of capabilities, but it could be grafted onto user-based security systems (just run processes as different users and give those users permissions only to write to their own files and/or read from their own directories, with some exceptions (e.g. the filemanager)).
Todays programs are so flexible and scriptable, not to mention just plain big and unverifiable, let alone complex and exploitable, that simply saying 'these programs have been deemed safe by an administrator, so they can access all your files if you run them' is no longer an adequate means of making sure applications stay within bounds. We really need to make programs stay on their own turf. Not just files; how about that registry? Why the hell should every program be able to read all of it, and write almost all of it, even keys that belong to a different program?
It's not just windows; MacOS lacks such stuff at the moment too (though it will undoubtedly be much easier to integrate into it than into Windows). Really only SE Linux is set up to handle this sort of thing.
SCO employee? Check out the bounty
The permissions system means that a common virus could damage a user's home directory, but the system for the most part would remain unaffected, including other users.
I've never quite understood how this made people feel any safer. The data that I care about is all in my home directory, or in another directory, accessible (read/write) by my user. Viruses who gain control of your system without you knowing of it is probably more dangerous, but "it can only delete files in the user's home directory" is not a very good argument.
In reality, this is not an important distinction for home users. I don't know about you, but I don't care a whole lot about by system, I can re-install everything without too much trouble. Replacing years of digital family photograghs, financial records, etc. in my home directory? Impossible. This is why I backup my home directly regularly, but don't bother with the system.
When you lose something irreplaceable, you don't mourn for the thing you lost, you mourn for yourself. - Harpo Marx
What I thought was interesting in the article was how many of his complaints were probably due not to bad design per se, but to poor practices -- things like documentation, structural transparency, consistent use of system policies, etc.
What struck me is that there are definitely seeming flaws in Windows that make it insecure as-is, but that it doesn't have to be this way; Microsoft has chosen and continues to choose to operate in such a way that exacerbates rather than minimizes the effect of many of the inherent weaknesses of the platform. A similarly designed system, managed and documented differently, would probably be less problematic.
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
Windows systems have been, are, and probably will be getting hacked - a lot - on all levels in the forseeable future, they talk up security but there is still the current (well publicized) vulnerabilities.
Other systems (Mac/Linux) aren't having such major issues - they tout security, and are blasted because 'they are obscure'. There is a lot of 'talk' of possible vulnerabilities, and there are speculations there may be vulnerabilities. But they are STILL more secure now and have a good track record.
What part of this would make me trust Windows more?"Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
Your argument can be easily demonstrated to be false. In particular: Apache is currently (and has been for a while) the most popular web server on the market. It has something approaching 70-80% market share. However it does not suffer from 70-80% of the vulnerabilities and exploits that are out there. What web server *does* suffer from 70-80% of the exploits? Microsoft IIS. For some reason, it's more exploited despite having significantly less market share. Thus: arguing that Microsoft's problem is simply one of exposure is a totally bogus argument.
Mac is not dramatically more secure through launchd...
It is simple really. Six years into OS X, growing market share, and no viruses in the wild.
First principle. No ports open by default. Macs ship with a closed box. Plug it into the Internet, wait, and your machine will never get infected simply because it is not listening on any port, and no attacker has any foothold to get into the box. Over the years Windows has shipped with a wide variety of open ports, whether they be for netbios, smbd, messenger, IIS (on NT), or others. Many of these have been launching pads for viruses and worms.
Second principle. Design the OS from the ground up to support privilege descalation. That is, make it so that every action on the machine is executed with User privileges or less, unless you really need more privilege. Launchd is a part of this. On Windows, you still have ActiveX with escalatable privilege, and people get infected from web surfing or opening email.
That is really all it takes. Make it so a user cannot compromise the OS trivially, and there are no open ports, and you made a box as secure as a Mac. Once you start opening ports, you need to know what you are doing or you will be 0wn3d by some script kiddy. Make it secure by default, and force the user to take positive action to do anything that is a potential security problem (like installing executables from random places on the internet).
IMO, this is a tired argument, especially considering what many modern worms actually do. I say this as a Unix systems administrator, so I'm not defending Windows inherent lack of security as a Windows user. I'm more trying to kill an argument from lazy Unix admins that just doesn't make much sense when considering the latest trends in malware. The reason why malware is so scary is that there is a real commercial interest in using remote computer resources on a massive level. It can be spam zombies, or a spyware'd box with amazon commission redirects. Even massive ddos'es can be staged from owned user accounts. All that's necessary is a socket. The fact is that the user versus superuser argument completely ignores modern trends. It's also a convenient argument for Mac users who love to spout how their systems are Unix and therefore impervious to attack (and they're actually not Unix, but this is really just a trademark issue and little more). I'll explain my position on security a little further below.
First of all, how many Windows desktops in the workplace actually have more than one user? What about MacOS desktops? I'd bet that it's actually a pretty small number. Own the user account, and you control most of what that system is used for.
Modern malware tends to only require a user account anyway. Need to create a spam zombie? Why would you need to root a box when a regular user acccount can spew email all day long (unless /usr/bin/sendmail is executable by root only, but nobody does that)? Further, as things utilities like sudo become commonplace, one can run a keystroke logger in the userland shell to own the user account and thus the box. Need to create an IRC bot? Why would one need a superuser-level account in order to do this? Furthermore, even without sudo access, if one really wants to own a box, a userland account is a great way to evaluate and expolit a box to escalate priveleges. Many of these are things that can be done with a simple trojan -- even a shell script can begin the process. A user just needs to be tricked into using this. After working in an office with many basic users, this is really easy to do -- regardless of the system.
Many of the anti-Windows arguments come from default permissions which can easily be closed by most admins (even those who are only partially competent). No system is better than the person (or people) running it. A perfect example is the author of the article. He took a Windows system and just dropped it on the public internet, then acted surprised that his system was rooted. I wouldn't do that with any of my Unix systems. Was there any reason why his 'Server' service was accepting traffic from the public internet? Why wasn't it firewalled at the border *and* on the system? Could I call a Mac inherently insecure if a user configures their system with plaintext auth (an FTP server, let's say) and passwords are sniffed from another owned box on the LAN?
Further, you haven't really addressed the most basic issue of social engineering. Are Mac users somehow more savvy and less click-happy? In my experience, OsX machines have a great way to install applications in kernel space. Just type your password, and the system automagically runs sudo and installs the app as root. The Windows run-as doesn't always work quite as well. Basic users aren't as vigilant as seasoned admins. They'll do or type anything that an installer tells them in order to get that cool fishie screensaver that their coworker in the next c
-Turkey
I'm sure OS X is more secure then windows but give me a real unix operating system,os x is so hacked up and different it doesent even feel like a real unix operating system.You cant even mount ext2/3 in os x,whats up with that?