Microsoft Security - Six Years Later

June 30th, 2008

On January 15, 2002, Bill Gates sent email to every full-time employee at Microsoft, in which he describes the company’s new strategy emphasizing security in its products. In the email Gates referred to the new philosophy as “Trustworthy Computing” and called it the “highest priority”.

The Computerworld posting Microsoft Can’t Claim Victory in Security Battle picks up the story.

As Gates officially retires from his job at Microsoft, he leaves behind a company that by most accounts is doing better on security. But fully convincing users of that is an elusive goal. And increasing competition from Web 2.0 and software-as-a-service (SaaS) vendors is posing new challenges for the security development model implemented after Gates wrote his memo.

There is general agreement that bugs are inevitable and that Microsoft’s massive user base makes it a big target for attackers. But the steady drumbeat of patch releases has tarnished the company’s efforts to improve its security standing, …

The original blog posting “Trustworthy Computing” - Yea, Right, Sure
was posted soon after the “Trustworthy Computing” memo hit the Web. It has been updated since.

Yea, right, sure, Bill. Sending Microsoft coders off to security and reliability coding school is going to make thing all better real soon. If you believe that, I have a bridge to sell you. Anyone sent off to training comes back knowing some new buzzwords and maybe even understanding a couple new concepts.

I applaud the effort, but it takes a very long time to break old coding habits and internalize new ones, no matter what the punishments and rewards are. No one comes back cleansed of old habits. I’m reminded of the limerick that you can train a dog but you can’t make it think.

I think the problem facing Microsoft is systemic. In my opinion, poorly designed code and poor coding practices may be at the heart of the Microsoft security and stability epidemic. Detecting and eradicating them may be impossible.

If it could be done, the effort may cost many times that of developing and testing the product line in the first place. Automated tools will help pick off the very low hanging fruit, but won’t get anywhere near the really nasty problems that seem to exist throughout Microsoft’s product line.

Bill Gates seems to have made choices about security and reliability early on. There’s no practical way to rectify them now, except maybe by starting from scratch.

Even starting over with Vista won’t fix the problem. The real culprit may be Microsoft’s corporate culture created by Bill Gates. Getting a culture’s head straight is a very difficult, if not an impossible task.

In my opinion, the fundamental problem facing Microsoft isn’t a technology one but a human one. I don’t think any amount of training or engineering will fix it.

Besides corporate culture, I don’t think starting over is a likely option for Microsoft, as I discussed in the Obese Windows blog posting.

Microsoft security issues are getting better. I don’t foresee them improving to the state of common contemporary operating systems such as Mac OS X, Linux, Solaris, HP/UX, AIX, Free BSD, Open BSD, etc…

I also don’t expect seeing the company culture change radically. Bill Gates may have left the building but he is still Chairman of the Board and the company’s largest share holder.

…John

Obese Windows

June 28th, 2008
ZZ34F8C3BC.jpg

(credit: The New York Times)

Microsoft Windows has put on a lot of weight over the years says The New York Times posting by Randall Stross, Windows Could Use a Rush of Fresh Air.

Beginning as a thin veneer for older software code, it has become an obese monolith built on an ancient frame. Adding features, plugging security holes, fixing bugs, fixing the fixes that never worked properly, all while maintaining compatibility with older software and hardware — is there anything Windows doesn’t try to do?

Painfully visible are the inherent design deficiencies of a foundation that was never intended to support such weight. Windows seems to move an inch for every time that Mac OS X or Linux laps it.

The best solution to the multiple woes of Windows is starting over. Completely. Now.

The posting goes on to say

In some crucial ways, however, Microsoft would enjoy advantages in developing its own “Windows OS X,” as we might call it, that Apple did not: the power of today’s quad-core machines and sophisticated virtualization software would allow older software applications and hardware peripherals to be used indefinitely with little or no performance penalty, making a clean start far easier for customers to accept.

A MONOLITHIC operating system like Windows perpetuates an obsolete design. We don’t need to load up our machines with bloated layers we won’t use.

Thank you Randall Stross for summing up the state of Windows. Unfortunately, as long as cash flow keeps Microsoft in the black, I don’t think Microsoft will deviate from the Windows core.

I don’t think Microsoft has designed an operating system from scratch, except for a research exercises that produced “Singularity.” DOS was purchased from Seattle Computer Company, 16-bit Windows had DOS at the core, and 32-bit Windows NT and its siblings, were derived from the Digital Equipment Corporation VMS and RSX-11 operating systems.

Writing an operating system and surviving in the market place, is an extremely difficult thing to do. Operating system programming is most likely the most difficult kind of programming there is, and it takes years to mature the code. Take Unix for an example.

Unix is approaching 40 years of age. It was designed to be portable, multi-tasking, and multi-user. The surviving siblings demonstrate that the design is still a winner.

Common contemporary operating systems, except Microsoft Windows, are derived from Unix. This includes Mac OS X, Linux, Solaris, HP/UX, AIX, Free BSD, Open BSD, etc…

Microsoft looks to be stuck with Windows until they eat crow and buy into the Unix universe. I think they would be committing a slow and painful suicide if they try to go it alone.

…John

Baby’s 60th

June 20th, 2008

Sixty years ago on June 21, 1948, the worlds first stored-program, digital computer was fired up at the University of Manchester.

ZZ7EC9F6A2.jpg

(Credit: silicon.com)

The silicon.com posting Celebrating 60 years of computing tells the story of how Colossus, nicknamed ‘Baby’, helped crack Nazi codes during World War II.

By today’s standards, Baby was an extremely primitive machine. In modern terms, the prototype Baby had a random access memory (RAM) of just 32 locations or ‘words’. Each word in the RAM consisted of 32 bits and a total of 1,024 bits of memory. According to university press officer Alex Waddington, the computing speed was 1.2 milliseconds per instruction, equivalent to a clock speed of slightly under 1kHz - more than two million times slower than a typical desktop processor today.

Waddington pointed out that an 80GB Apple iPod “is capable of storing 640 million times more information than the original Baby”.

Baby is one ancient computer this grey-beard hasn’t programmed.

…John

King of Speed - Fastest Supercomputer

June 9th, 2008

The Yahoo News posting Roadrunner is fastest computer by the Associated Press, describes the supercomputer.

342A799D-CCF9-4A1E-BDA6-35CA76E24A9D.jpg

(Credit: Associated Press)

A few of its impressive attributes are:

To put the computer’s speed in perspective, if every one of the 6 billion people on earth used a hand-held computer and worked 24 hours a day it would take them 46 years to do what the Roadrunner computer can do in a single day.

The interconnecting system occupies 6,000 square feet with 57 miles of fiber optics and weighs 500,000 pounds. Although made from commercial parts, the computer consists of 6,948 dual-core computer chips and 12,960 cell engines, and it has 80 terabytes of memory.

The cost: $100 million.

Turek said the computer in a two-hour test on May 25 achieved a “petaflop” speed of sustained performance, something no other computer had ever done. It did so again in several real applications involving classified nuclear weapons work this past weekend.

A “flop” is an acronym meaning floating-point-operations per second. One petaflop is 1,000 trillion operations per second. Only two years ago, there were no actual applications where a computer achieved 100 teraflops — a tenth of Roadrunner’s speed — said Turek, noting that the tenfold advancement came over a relatively short time.

Impressive!

…John

Happy 30th Birthday x86

June 5th, 2008

Believe it or not, the Intel x86 microprocessor architecture is celebrating its 30th birthday. The Computerworld posting Happy birthday, x86! An industry standard turns 30

AAEEACA9-2E34-4A29-8148-801EC471549B.jpg

Thirty years ago, on June 8, 1978, Intel Corp. introduced its first 16-bit microprocessor, the 8086, with a splashy ad heralding “the dawn of a new era.” Overblown? Sure, but also prophetic. While the 8086 was slow to take off, its underlying architecture — later referred to as x86 — would become one of technology’s most impressive success stories

“X86″ refers to the set of machine language instructions that certain microprocessors from Intel and a few other companies execute. It essentially defines the vocabulary and usage rules for the chip. X86 processors — from the 8086 through the 80186, 80286, 80386, 80486 and various Pentium models, right down to today’s multicore chips and processors for mobile applications — have over time incorporated a growing x86 instruction set, but each has offered backward compatibility with earlier members of the family.

This grey beard programmed Intel’s first microprocessor product, the 4-bit wonder 4004, then the 8-bit wonder the 8008, and then the 16-bit wonder 8086. I held off buying a PC until the 32-bit 80386 hit the market, because of the kludgy 8086 memory management scheme.

Read this article for details about how the x86 architecture became king of the silicon heap.

…John


The Internet Traffic Report monitors the flow of data around the world. Internet Storm Center Infocon Status