About | Buy Stuff | Industry Watch | Learning Curve | Products | Search | Twitter
Home » Learning Curve

Apple Security

They're unaware of the threats lurking outside.


Fact: security awareness on OS X is lax and that's the fatal flaw the 'enemies' (such as Microsoft, the Enderles, and Thurrott) are waiting to exploit. For make no mistake: if anything serious were ever to happen to OS X, they'd be on it like bugs to honey. Which is why it's more important than ever to adjust and correct the way OS X users - and the OS X vendor - think.

The 'evolution' of OS X suffers from a fatal flaw of its own - call it the Ian Malcolm Syndrome if you will. A great technology is placed conveniently in the hand of its new owner who has no appreciation for its deeper merit and sets about trying to 'improve' it, all the while the result is actually the opposite.

Much of this is historically easy to explain. Both developers and users on the classic 'Mac' platform were accustomed, over a period of about fourteen years, to regarding the computer as a standalone marvel running cooperative multitasking (and getting increasingly crash prone). The code wasn't written today for contingencies of tomorrow - it was written simply to get the product out the door today with no thought of any tomorrows. As time went on this lack of planning and foresight began to wreak havoc on the underpinnings.

The fact that the Finder team could in 1999 conclude that the product's code base was beyond help or repair is testimony to this flaw in thinking being prevalent.

Unix is a product of perhaps more security vetting than any other operating system ever. Much of the code used today in the more common releases is open source and has been so for a long time. Reviews of this code occur all the time. While Unix did have 'holes' in its early years, the basic design was sound and the holes were plugged. And the reason Unix is a good bet is that it has the design in place: when a hole is discovered, the system has the requisite architecture to take care of the hole - something totally lacking on Windows or 'MacOS'.

Not that legacy 'Mac' users understood this of course. Wisdom in Unix and in server operating system thinking doesn't come easy. As Dennis Ritchie once quipped, Unix is actually simple to understand - it's just that you have to be a genius to see the simplicity. It takes time, and above all it takes an open and receptive mind.

There seems to have been a dearth of open receptive minds in and around Cupertino. Strangely this phenomenon was not in such abundance in Redwood City. But once the 'merger' was a fait accompli one started to see things happen.

You can't take a square peg and force it into a round hole. When you take a system architecture that's been around thirty years and been vetted so extensively you do not introduce new concepts until you fully understand the underlying architecture and test your concepts regressively. Changes to basic system architecture must not occur overnight - hasten by walking slowly, as the Swedes would say. It's the only way to make progress. Insights are necessary, but insights come to one - they can't be summoned to appear at the snap of the fingers. You don't change the basic system - ever. You make changes incrementally but without undermining the basic model of the system.

OS X has been called a 'hodgepodge' by Anandtech and they're right: it's the unholy (and unsolicited and unwelcome) marriage of two divergent technologies that are way more diametrically opposed than perhaps any two others anywhere else. Elements of Unix are found in Windows and in other systems, but with few exceptions Apple's old 'MacOS' is totally at odds with it.

Had the engineers in Cupertino not chosen to make a 'Mac' version of OPENSTEP this of course would never have been an issue. OPENSTEP is a standard that by definition can run on mostly anyone's operating system kernel.

OPENSTEP is just a blazing space age GUI (and development environment). It runs rings around comparable platforms such as Windows, GNOME, and KDE. None of those latter platforms can come close to matching OPENSTEP even today and there's no way there'll have been chances tomorrow. OPENSTEP is architecturally different from the ground up and were the purveyors of Windows, GNOME, and KDE to have second thoughts (and they often do) they can accomplish little more than piecemeal improvements - and those are of their very nature finite and futile. To make things really better they'd have to gut their entire platform and start all over again - preferably with OPENSTEP.

OPENSTEP doesn't have a security model but the underlying operating system does - or should. If exploits are possible in OPENSTEP running on Windows NT it's because Windows NT has holes - and not OPENSTEP. Likewise it's the 'underpinnings' of OS X which are important in the security context - and not the 'Cocoa layer'. And the 'underpinnings' of OS X are FreeBSD Unix - or at least they're supposed to be.

Apple run something called 'Darwin' - an offshoot from the FreeBSD tree. Right there warning lights should go off. For anytime the FreeBSD team have to adjust their code, the Apple hackers can't just take the new fixed code and incorporate it - no, they have to cross check continually with their own code to see where the two branches diverge, analyse the code updates from the FreeBSD team, see if they can inject the new code and changes into their tree - they have to do the same long testing job all over again. Not only is this wasteful in terms of money and human resources, it's also prone to error. There's always going to be a rush on to take the new code and get it built in as soon as possible and there is therefore a very tangible risk essential issues will be missed or overlooked.

So the question becomes why Apple want to branch off from FreeBSD in the first place. For if FreeBSD supplied the underpinnings, Apple could even help with that work - in a true 'open source' climate - and the results might be even better than now (and they're already pretty good). Instead we have one basic team divided into two groups each working on their own code. It's nonsense. But Apple do it. Why?

The marketing department at Apple would be able to answer that. And the head of the marketing department, whether in title or not, is the CEO. Catering to legacy 'Mac' users has been a top priority since 1997. Apple could have released OS X as a build of OPENSTEP as early as 1997 and kept the old 'MacOS' line alive for a while - but they did not. They tried instead to blend the one together with the other.

Kind of like blending nitro and glycerin with an egg beater.

As accomplished system engineers were saying as far back as 1997, anything that goes wrong with OS X is going to ultimately be found to be caused by reintroduction of 'MacOS' ideas that have no place in the new operating system.

And retrofitting things like this when the underlying system kernel does not allow them is not easy - in fact it's probably impossible, for the underlying system kernel is built to be smarter than to fall for such ruses. Thus the underlying system kernel itself must be changed to accommodate these features - and security and system stability go straight out the window.

It makes no sense to do things like this, as Ian Malcolm might say, but that's exactly what Apple have been doing. And their attitude to their system and the overall value of security has been pervasive in their Lilliputian market share. Third party vendors have been doing some of the dumbest things for years.

Third party apps often ask for an admin password because they're going to do things they shouldn't do - but they don't want to keep nagging for this password on each startup, so what do they do? They store the password in plain text in their own preferences file is what - or at best give it the old 'base64' one-two makeover. It's been child's play for years to mine through any user area for admin passwords. Opener did it back in 2003 and it's undoubtedly going on all the time today.

OS X users enable remote root login and then wonder why they're hacked. There's at least one major university in the US where this was (and perhaps still is) a real epidemic - systems and entire networks are getting owned left and right.

People regularly download software they cannot claim they trust and just run it with no thought for the consequences. Yes, it's 'only' a computer - but listen to them wail if something goes wrong. They're living in their rose (pink) coloured world and are totally unaware of the threats lurking outside in the dark.

And the worst of those threats is hopefully not the desultory accidental exploit that turns into a major worm outbreak and a headline on the front page of websites and newspapers everywhere - the worst is how Bill Gates, Steve Ballmer, and Rob Enderle will capitalise on it.

About | ACP | Buy | Forum | Industry Watch | Learning Curve | Search | Twitter | Xnews
Copyright © Rixstep. All rights reserved.