Industry


Ads by TechWords

See your link here


Preston Gralla's picture
Preston Gralla

Seeing Through Windows

Four things Apple can learn from Microsoft about security

Yesterday, both Apple and Microsoft issued whopper security patches. The way they were handled shows that Apple has a lot to learn from Microsoft about security. Here are the four most important ones.

Patch it faster

As this latest patch shows, Apple is very slow at fixing security problems with Mac OS X. Two of the security problems were big ones, uncovered in March at the "Pwn2Own" annual hacking contest sponsored by 3Com's TippingPoint. Waiting two months to fix the problems is simply too long. On March 27, Mozilla fixed the security problem found with Firefox. And it turns out that the version of Internet Explorer 8 hacked at the conference wasn't final, and the final version of IE 8 wasn't vulnerable.

The Apple patch fixed a total of 67 bugs. The Microsoft one fixed only 14. The reason? Microsoft issues these patches regularly, so they're out the door as quickly as possible. Apple waits far longer, and issues them in a bigger batch.

According to Computerworld, many of the patches were related to Open Source applications or components integrated with Mac OS X, such as Apache Web server and the WebKit browser rendering engine. Andrew Storms, director of security operations at nCircle Network Security, said that he had seen patches for those security holes issued for Linux nearly half a year ago in December. Yet Apple waited until May to fix them.

Storms also said that Apple should follow the way that Microsoft issues patches more frequently. Here's what he told Computerworld about Apple waiting longer than Microsoft to issue patches:

"Microsoft, which historically has had the view of producing the less-secure operating system, puts out one bulletin today, with 14 vulnerabilities. And Apple comes out with [an update with] 67 bugs, It's a 'I coulda had a V8' moment, where you slap your forehead. It's like history changed in front of my eyes."

Be transparent

Microsoft assigns a threat ranking to security bugs. So does Oracle. Apple doesn't. One of the most important tools in the fight for computer safety is knowledge. As long as Apple refuses to embrace that, it won't be helping as much as it should to keep its users safe. It should follow the lead of Microsoft and other companies, and start ranking security bugs.

Offer enterprise security tools

Computerworld notes that Storms complained about "the lack of business-grade management tools and the paucity of information that Apple provides about the bugs and the ensuing patches." He told the newspaper that because of that:

"Macs really still aren't an enterprise tool, even though Apple's marketing likes to say that they are, and that they're used in enterprises."

Take security seriously

For a long time, there's been a myth that Macs are invulnerable to hacks, Trojans, and other dangers. That's certainly not the case. Recently, for example, a Trojan was found to infect Macs and created a botnet. In addition, several security researchers have said that Macs are less secure than Windows or Linux.

Apple likes to use the myth of Mac invulnerability as a selling point, which is why it doesn't take security as seriously as it should. It's time for Apple to follow the lead of Microsoft, and finally focus more seriously on security.

What People Are Saying

Sadley....

Sadley, regardless of whether or not Preston is a Microsoft fanboy or on its payroll, the fact of the matter is that the Windows operating systems are still the best for the bulk of America, since all they want is a cheap simple computer.

The average computer user and family want a cheap (knocks Apple out) and simple (knocks Linux out) computer. The initial cost of an Apple computer is higher than a Windows computers so most people just go with Windows.

Most normal computer users associate command line with hackers, techs, and the phrase"OMG I COULD DESTROY MY COMPUTER WITH THIS ACCIDENTALLY". And you have to use this to do many things on Linux, ex. install anything. Most users just want a next button.

... and where did Microsoft learn it's security lesson?

Microsoft's approach to security issues might now be close to what we want to see from a vendor, but it took a lot of time and effort to get them to that point. One doesn't have to look too far back to see Microsoft policy regarding software flaws that is driven by PR and marketing thinking.

That it took repeated public embarrasment with full-disclosure reporting of flaws to get transparency from Microsoft is really a pretty sad statement of Microsoft's approach to the issue. It reminded me of the fight to get seatbelts as standard equipment in cars.

Apple's current position is much like the one Microsoft attempted to take before the critics, customer base and an unending parade of flaws made it clear what had to be done by Microsoft.

Apple might be able to proceed on their current path regarding patching transparency depending on the frequency of exploited flaws. As long as the exploit rate is low, they probably have free reign.

To avoid eventual egg on their face though, the malware related "I'm a Mac, I'm a PC" ads should go now.

nuke_you and benfrank, you just don't get it...

...judging by the quality and content of your posts, you guys really don't have much to say, do you? Outside of personally attacking Mr. Gralla, did you comment otherwise on the content of the article? No, didn't think so...

Funny how you didn't comment on my earlier post, where I called out the ENTIRE industry on the quality of their work...guess you can't call me a MS boy, huh?

Having been around this industry for probably far longer than you two have been on this planet, I can state that Mr. Gralla has called out Microsoft on numerous occasions in his books (have you ever read any of them?) and his columns in REAL print media. But hey, it's cool to perform a "hit 'n' run" post on his blog, right?

Also, if you hadn't noticed, Preston's blog is about Windows and Microsoft products; it's not about OSX or Linux. And, sorry to say, he makes many valid points. You fanbois are so hung up on your man Steve Jobs (who you guys seem to think is the Second Coming) or your beloved, "holier than thou" Linux community that you fail to see anything about your OSes in a critical light. Too bad!

When you two publish a bunch of well-written books, or become respected columnists, feel free to come back here and make intelligent posts, instead of inane drivel...now run along now, and Google those words for their meanings!

I don't get it?

I've worked in many data centers over the years and still haven't come across one that uses Windows for anything other than application servers. Every enterprise system we run is on AIX or Solaris. Maybe when Microsoft can produce something that isn't bloated and doesn't require a reboot every other day then their fanboys can start talking about other OSes.

LOL!Thanks mike, I needed a laugh

I've been around a plenty long time, doing system and network administration and desktop support in mixed networks. You know, out there in the real world. I suppose that Apple could learn from Microsoft how to build an enormous, expensive instrastructure devoted to continually patching and propping up an unfixably leaky mess, and support a whole raft of parasites in the process, ie anti-malware vendors.

I rather think Apple should learn from someone who knows how to build a sound product in the first place, and who shares a similar Unix-type architecture.

Is Preston Gralla Microsoft's boy or what?

How much does M$ pay you?

Desperate MS fanboy

Preston, it's a good thing that your desperate efforts to spin every last little thing into a pro-Microsoft, anti-everyone else screed are so transparent, because I'd hate to think that anyone would ever believe you. Shame on your for wasting a priceless opportunity to present useful, accurate, helpful information.

The bigger question is WHY these flaws exist in the first place!

Folks, we have to ask ourselves not WHO or WHAT, but rather WHY software vendors of all stripes (OS, apps, games, etc.) allow their products to go out the door "as is". I have several possible reasons for this...please note that this disease afflicts virtually ALL vendors, so please, no MS/Apple/open-source flames...they're ALL guilty.

Way back in the text-based, printed format or monochrome days, OSes and applications tended run flawlessly. Patches? That was something you sewed onto a shirt...Leaks? That was what the roof did...Security holes? Did someone cut through the fence? You get the point...I personally think that back in the COBOL, FORTRAN, and assembly language days, programmers were far more dedicated to absolutely, positively making certain that their programs worked PERFECTLY. Excuses and shortcuts were not acceptable.

Yet, here we are, 30 years later, and for all our supposed intelligence, we as an industry cannot produce a flawless product; weekly or monthly patches are an accepted evil...why? Here's my thoughts...

---Is it complexity of the app, or the number of lines of code? Sorry, I'm not buying this...there are dozens of text and GUI-based tools for programmers to use. "Back in the day", I worked on many a COBOL program where the customer would request, for example, an additional field. It was imperative that you checked ALL of your subroutine pointers, complex and looped as they may have been. Failure to do so, and an unhappy customer resulted in a pink slip.

---Is the "ease" with which vendors can patch their products, thanks to high-speed connections? Again, years ago, patching or updating software required a visit from the vendor, or sending media on tape or floppies...not very efficient, and certainly not cost-effective.

---Is it pressure from management or Wall Street upon software vendors?

---Is it because our colleges and tech schools are not teaching our IT people properly? Do they not teach them how to debug?

---And now, my favorite: Is it society as a whole and its attitude? By that, I mean that we seem to be accepting of mediocre work, and not just in the computing field...for example, look at a house being build these days; the builder uses flakeboard and other crappy materials, and while the house looks great NOW, 10 years down the road, floors squeak, walls shift, and numerous other problems crop up. Yet, 100 year old houses stand tall and proud, thanks to quality materials and true craftsmanship. Have we strayed so far from these ideals that it has afflicted EVERY aspect of our lives?

Of course, there's also the "blame game". Application vendors are quick to blame the OS vendor, and vice-versa. Also, heavens forbid we actually tell someone they made a mistake; oh my, that might hurt their precious feelings! I came up with the perfect saying for this: "People don't make mistakes; they're simply acting in a diverse manner." Yeah, that's it, let's use society's favorite buzzword, diversity!

Until such time as software vendors and their programmers devote themselves to producing a top-notch product, and doing the job the RIGHT way the FIRST time, patches will continue to be a way of life.

Size of Codebase

In the old days a programmer was doing well to put out 10 lines of correct code per day. Now, they do hundreds. The GNU/Linux project commits 1000 lines per day. With the much larger volume, bugs have more places to hide. I remember using a FORTRAN compiler that fit in a few hundred punched cards. Now there are 100 MB applications. The possibility of bugs goes up with the square of the number of lines of code, unless you chop things up very nicely into smaller modules.

MacOS is a huge layer on top of BSD UNIX. The UNIX part is very modular and neat but the GUI is where things get complicated. Adding the next feature requires linkages all over, creating more avenues for malware to operate. That other OS is king in that department. They tie everything to everything, calling it "better integration" meaning less security. GNU/Linux is still very modular. One package often has very little to do with another. Linkages are only there if necessary, not at the whim of a salesman.

The problem is testing. There is no way to properly test these large systems if you are one or a few guys hacking code. That is why there are these huge beta tests. You can test each module all you want but there still can be unintended consequences resulting from linking them together. Considering the size of the codebases used today, programmers are doing very well. Can they improve? Yes. Can quality control keep up with productivity? Maybe not.

Because

In case you haven't noticed, but we are all human, even programmers, we all make mistakes, nobody is perfect. If you have done any programming at all you would understand how it could happen. A programmer can put out a lot of code one day, then go back and look at it a week or two later and it might as well been written by somebody else.