Five Reasons To Ignore John Gruber’s OS X Security Punditry
Thomas Ptacek | November 20th, 2006 | Filed Under: Apple, Industry Punditry, Malware, Uncategorized
i.
Gruber Hides Behind Reporters and Pundits
Today’s Daring Fireball post has two objectives:
To tar eWeek Security pundit Larry Setzer, and the trade press in general, as biased, lazy, and incompetent when it comes to Mac security.
To claim that Mac security is better than Windows security.
We can get behind one of those objectives. But Gruber isn’t going to let us do that: instead, he borrows support for his defensible argument to shore up a weak argument. This isn’t a new idea; it’s straight out of the Mac zealot playbook, and it’s the same tactic Gruber used during the Mac wireless debacle when he hid behind Brian Krebs’ reporting to throw a smoke screen over OS X kernel wireless vulnerabilities.
Here’s an example from today’s article. Seltzer’s article claims that a recently released Symantec report on OS X security “revealed a collection of vulnerabilities and potential attacks that rivaled any major operating system”, and “in fact things are getting worse.” Instead of arguing that Seltzer doesn’t (and can’t) support that argument with facts, which would be boring, Gruber plays to his base: “nowhere in the report does it indicate that the ‘collection’ as a whole rivals that of any other operating system.”
But that’s an equally indefensible argument! Seltzer himself names operating systems that are in positions comparable to OS X: Linux and Solaris. Gruber’s M.O. is simple and he counts on his audience not to notice it: when a pundit or reporter overreaches, Daring Fireball leaps on the opportunity to claim that the opposite argument is true. It almost never is.
ii.
Gruber Conflates Malware Incidents With Vulnerabilities
Count on Daring Fireball to ask the hard questions: “[…] given that Mac OS X has about 6 percent total market share in the U.S. and something like 2 or 3 percent worldwide, how come Mac OS X’s share of actual security exploits — not just potential vulnerabilities but actual malicious spyware, viruses, worms, adware, etc. — is effectively zero percent? That’s the real question.”
No it isn’t. Want an easy way to debunk that argument? Here you go: MacOS 9 sees a tiny fraction of the malware Windows does. But nobody seriously argues that OS 9, which doesn’t even have a secure VM system, is more secure than Windows XP.
Want another? Solaris. Been around for over a decade. Hundred of published vulnerabilities. How much malware?
Here’s another easy way to debunk the argument: Windows Vista. Has Microsoft “retaken the lead” in OS security? I can defend that argument a lot better than Gruber can defend his.
But I don’t have to, because malware is obviously weakly correlated to OS security. How do we explain that?
6% Market Share Doesn’t Mean 6% Malware Share
Malware authors will target the one platform with critical mass, because there’s no indication that there’s a “peak oil” scenario for Windows vulnerabilities that will ever make Mac malware pay off better. Malware authoring effort doesn’t divide proportionally to OS share.
The Underground Hasn’t Ramped Up Yet
The Win32 API is over a decade old and is well understood by attackers. The MacOS X APIs are not. There is a lag between the publication of the OS and security researchers, and a lag between research results and malware authorship.
Enterprises Set The Course For Security Research
Research efforts focus on Windows, Linux, and Solaris, because that’s where the enterprise dollars are. Malware authors feed on research results, so even their ideal victims are home users, their supply chain is tied to businesses.
Viruses Don’t Exploit OS Flaws
A huge percentage of malware infections have nothing to do with OS vulnerabilities. For the vast class of infections that arise from user complicity, there is no evidence that the MacOS X design is better.
There Are Existence Proofs To The Contrary
Researchers like Tom Ferris, KF, H.D. Moore, and Matasano do find MacOS X vulnerabilities, and there is MacOS X malware, including very viable rootkits.
Gruber retorts, “[but] if Mac OS X is protected because it’s not primarily used as a server OS, then how do you explain Windows’s non-server security problems?”. Easy: exploits developed for Windows servers translate to desktop Windows.
Gruber retorts, “If there’s one firm conclusion to be drawn from the MacBook Wi-Fi hack fiasco in August, it’s that you can get a hell of a lot more attention for a Mac OS X exploit […]”. Where are the ego attackers? I don’t know; what evidence does Gruber have to support the argument that a significant portion of Windows infections are ego attacks?
iii.
Gruber Jazz-Hands Mac Security
Count on Daring Fireball for ArsTechnica-caliber technical analysis: “The explanation that makes sense is the obvious one: that Mac OS X really is more secure and better designed. Not that it’s totally secure. Not that it’s perfectly designed. Not that it is utterly impervious to attack because it’s protected by magic leprechauns. Just that it’s better.”
If Gruber wants to claim that magic leprechauns have nothing to do with MacOS X security, Daring Fireball should stop appealing to those magic leprechauns. To date, Gruber hasn’t defended a single argument in favor of the MacOS X security architecture. What he has instead are articles of faith.
Article 1: The MacOS X Privilege Model Makes Malware Outbreaks Harder.
No it doesn’t. Here’s why:
Most Macs are single-user machines. On most single-user machines, that one user has “Administrator” privilege. “Administrator” is functionally equivalent to root, even without knowing the user’s password, and that equivalence is baked into the current architecture.
The idea that malware needs “admin” to propagate is a myth. On almost all single-user machines, the ability to run code with that user’s privileges is game-over: I have all the meaningful data on the machine, I can backdoor the machine, and I can talk to the network.
The OS privilege model doesn’t mean anything if the OS is vulnerable to privilege escalation attacks. MacOS X has been. For example, Matasano discovered that malware can use the Mach Exception Port feature to load arbitrary code into SUID-root binaries, deterministically seizing superuser creds on an infected machine.
Article 2: MacOS X Code Is Better Designed Than Windows Code.
No it isn’t. For example:
(a) Microsoft pioneered the Secure Development Lifecycle. (b) Microsoft delayed a critical operating system release to scrub integer overflows out of the codebase. (c) Microsoft invented the Threat Modeling methodology. (d) Microsoft Visual C builds executables that resist memory corruption. (e) Virtually every line of Windows Vista has been audited by third parties.
Does this mean Microsoft is perfect, or that MacOS X has bad code? No, but where are the Apple counterclaims? Here’s a question for Daring Fireball: without arguing that Apple somehow employs “better” OS developers than Microsoft, honestly guess which OS team puts more effort into code security, and estimate by how much.
Article 3: OS Security Features Don’t Matter.
They can’t, because if they did, Windows Vista has left MacOS X in the dust. For instance:
Over the objections of the whole industry, Microsoft has locked their kernel. At Black Hat, Matasano demoed malicious MacOS X kernel code that transparently virtualizes the whole operating system out from under itself.
The standard Microsoft libc heap is tripwired so that malicious pointer overwrites abort the program instead of handing control over to attackers.
The Microsoft C runtime guards activation records on the stack, so that overruns in stack variables don’t allow attackers to overwrite return addresses. The Win32 runtime also defends its exception handlers. How resilient is the (vastly more complex) Objective C “Cocoa” runtime against the same attacks?
On supported platforms, Microsoft takes advantage of CPU “no-execute” memory protection. Apple’s current support for the same chip features is bypassable.
Win32 has first-class support for managed code (C# and the CLR), which sandboxes programs and provides a fine-grained privilege model within individual programs. Apple just deprecated Java; their high-level development platform has no runtime security.
The Win32 address space is randomized, so that exploits with hardcoded addresses (read: virtually all exploits) have a negligable chance of succeeding. Despite the fact that this is technology pioneered by BSD, MacOS X does not have address space randomization.
None of these technologies require end-users to purchase anything. They’re built into the operating system and the runtime libraries. Most of them are enabled by default. They address the same code flaws that MacOS X faces; why doesn’t Apple have them?
iv.
Gruber Holds Grudges.
The Daring Fireball wears its emotions on its sleeve. In several years of covering MacOS X security, Gruber has only once validated security findings against MacOS X. In order to downplay Mac threats, Gruber has claimed:
That “to his eyes”, Tom Ferris’ Safari bugs are “all just ways to make an application crash”, not ways for attackers to corrupt the program runtime and upload malicious code.
That security consultant Rodney Thayer is quoted by the AP only because he has long black hair and a beard.
That the 10.3 “malicious URLs can execute arbitrary code” debacle was “a vulnerability, not an exploit”.
That the logistical hardship of shipping a fix to those problems outside of a major OS update was an adequate defense for shipping an OS update Apple knew was vulnerable to attack.
That as of September “the only Mac user anyone can find who’s suffered from Mac-specific malware is one single dipshit who double-clicked a trojan horse”.
That “there are all sorts of ways that Windows executes software that don’t have equivalents on MacOS X”, such as the “labyrinthine” Windows registry.
In today’s post, Daring Fireball can’t just let the new Symantec report slide; it’s only “mostly” fair, because it cites Maynor and Ellch’s wireless flaws. Leaving aside the fact that the particulars of the Black Hat wireless debacle are still totally unresolved, Apple has already confirmed vulnerabilities in the wireless drivers of every Mac portable; the MOKB Broadcom wireless vulnerability apparently even crashes pre-patch Powerbooks.
But that’s all meaningless, because in Gruber’s worldview, who Apple credits with security findings is more important than what vulnerabilities are actually present in the platform. Presumably Gruber will cry foul when someone publishes a weaponized exploit for those problems; after all, who cares about operating system security while Dave Maynor is still walking the streets?
v.
Gruber Isn’t Qualified To Make These Arguments
Matasano babbles endlessly about operating system security because we deal with it for a living. I very, very rarely blog about Mac HIG inconsistencies, or try to discern how the classic Aqua skin “feels” about the ascendence of New Brushed Metal. I’m comfortable leaving that to the experts, like Gruber.
But Gruber’s not content to do the same. So, despite having never published a single finding, despite having no scholar or citeseer hits on any security topic, despite having no discernable shipping C code in his work history, despite having never worked in security, and despite never sourcing anybody with any of those attributes in his articles about security, we’re meant to take his opinions about operating system security at face value.
This would be a low argument to make, but it’s the Mac zealots who are picking the fight, not the Windows people. As far as I can tell, there’s no “counter-meme” among Windows users that MacOS X is less secure than Windows, even though as of 2007 that may very well be the case.
The sad thing is, Gruber isn’t even doing Apple any favors here. There’s a perfectly reasonable argument to make about how resistant MacOS X is to malware. I’m an Apple user. It’s true! I don’t need antivirus! I never get rootkitted! I need fewer security patches! But I know why this is: attackers care less about me than about my grandpa’s Windows login and his bank accounts, which they can get with almost zero effort. Irrelevance is a meaningful security feature. As long as MacOS X has it, why can’t Gruber be happy with it? Why does he have to make stuff up?


Add New Comment
Viewing 50 Comments
Thanks. Your comment is awaiting approval by a moderator.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Add New Comment
Trackbacks