Robert Scoble points us to a long post by Chris Brumme, one of the architects of Microsoft’s .Net platform. The majority of this post is about starting up and shutting down future versions of Windows, which is boring stuff.
The bottom of the post talks about security and the recent problems with security, and this is where it gets interesting.
Scoble has posted in the past about how Microsoft employees have been called to help man the phones to support customers who’ve been attacked by the various exploits. I have many friends (at least 5 here in Japan) who’ve lost all their data and had to reinstall all their apps. This is a really, really big deal and I think it will get worse before it gets better.
The important take away for me from Brumme’s post is that there is a sea-change happening at Redmond and while I do think it will take a lot more time for us to see it, things are really changing and Microsoft is really starting to work differently. Looking at how the ship dates for Longhorn (the next version of Windows) have been pushed back significantly is the most obvious reaction.
To read about the tumult and internal gyrations of a company of this size and stature in crisis is actually pretty interesting for those of us who work in large organizations that are in crisis themselves.
p.s. Reading about comments from the 1980′s in the current codebase of Windows was funny ;)
GotDotNet Blogs – Chris Brumme

Rambling Security Addendum
Finally, an off-topic note as I close down:
I havenÌt blogged in about a month. ThatÌs because I spent over 2 weeks (including weekends) on loan from the CLR team to the DCOM team. If youÌve watched the tech news at all during the last month, you can guess why. ItÌs security.
From outside the company, itÌs easy to see all these public mistakes and take a very frustrated attitude. ÏWhen will Microsoft take security seriously and clean up their act?Ó I certainly understand that frustration. And none of you want to hear me whine about how itÌs unfair.
The company performed a much publicized and hugely expensive security push. Tons of bugs were filed and fixed. More importantly, the attitude of developers, PMs, testers and management was fundamentally changed. Nobody on our team discusses new features without considering security issues, like building threat models. Security penetration testing is a fundamental part of a test plan.
Microsoft has made some pretty strong claims about the improved security of our products as a result of these changes. And then the DCOM issues come to light.
Unfortunately, itÌs still going to be a long time before all our code is as clean as it needs to be.
Some of the code we reviewed in the DCOM stack had comments about DGROUP consolidation (remember that precious 64KB segment prior to 32-bit flat mode?) and OS/2 2.0 changes. Some of these source files contain comments from the Î80s. I thought that Win95 was ancient!
IÌve only been at Microsoft for 6 years. But IÌve been watching this company closely for a lot longer, first as a customer at Xerox and then for over a decade as a competitor at Borland and Oracle. For the greatest part of MicrosoftÌs history, the development teams have been focused on enabling as many scenarios as possible for their customers. ItÌs only been for the last few years that weÌve all realized that many scenarios should never be enabled. And many of the remainder should be disabled by default and require an explicit action to opt in.
One way you can see this change in the companyÌs attitude is how we ship products. The default installation is increasingly impoverished. It takes an explicit act to enable fundamental goodies, like IIS.
Another hard piece of evidence that shows the companyÌs change is the level of resource that it is throwing at the problem. Microsoft has been aggressively hiring security experts. Many are in a new Security Business Unit, and the rest are sprinkled through the product groups. Not surprisingly, the CLR has its own security development, PM, test and penetration teams.
I certainly wasnÌt the only senior resource sucked away from his normal duties because of the DCOM alerts. Various folks from the Developer Division and Windows were handed over for an extended period. One of the other CLR architects was called back from vacation for this purpose.
We all know that Microsoft will remain a prime target for hacking. ThereÌs a reason that everyone attacks Microsoft rather than Apple or Novell. This just means that we have to do a lot better.
Unfortunately, this stuff is still way too difficult. ItÌs a simple fact that only a small percentage of developers can write thread-safe free-threaded code. And they can only do it part of the time. The state of the art for writing 100% secure code requires that same sort of super-human attention to detail. And a hacker only needs to find a single exploitable vulnerability.
I do think that managed code can avoid many of the security pitfalls waiting in unmanaged code. Buffer overruns are far less likely. Our strong-name binding can guarantee that you call who you think you are calling. Verifiable type safety and automatic lifetime management eliminate a large number of vulnerabilities that can often be used to mount security attacks. Consideration of the entire managed stack makes simple luring attacks less likely. Automatic flow of stack evidence prevents simple asynchronous luring attacks from succeeding. And so on.
But itÌs still way too hard. Looking forwards, a couple of points are clear:
1) We need to focus harder on the goal that managed applications are secure, right out of the box. This means aggressively chasing the weaknesses of our present system, like the fact that locally installed assemblies by default run with FullTrust throughout their execution. It also means static and dynamic tools to check for security holes.
2) No matter what we do, hackers will find weak spots and attack them. The very best we can hope for is that we can make those attacks rarer and less effective.
IÌll add managed security to my list for future articles.