Full Disclosure mailing list archives

Comment on Microsoft's leaked memos, and the unofficial end of Microsoft 'Trustworthy Computing'


From: "Dinis Cruz" <dinis () ddplus net>
Date: Thu, 17 Nov 2005 16:54:59 -0500

[item originally posted yesterday at my Owasp .Net blog (http://owasp.net/blogs/dinis_cruz/archive/2005/11/17/92.aspx) 
note the comments about Sony's Rootkit case]

The current Microsoft CTO (Ray Ozzie) and Bill Gates published two 'leaked' memos last week (you can read Bill Gates 
memo here, and Ray's memo here, published by hypercamp ) which generated some interresting comments:  

Leaked Memos Point to a "Disrupted" Microsoft  

Robert Cringely thinks that they were leaked on purpose - I agree, nobody writes internal memos like this  

Mini-Microsoft hits again a hard analysis with A Disruptive Defrag for Microsoft - note in the comments that some 
Microsofties are starting to lose the patience with Mini (if only they knew who Mini-Microsoft is, read Everybody has 
their theories, but Mini-MSFT is... for a post saying what I had thought before but didn't want to be the first to 
post: Mini-Microsoft is probably somebody quite important on Microsoft, if not BG himself)    

Now, I did read the memos, and have to say that they show a good strategy in focusing on Services and highlight the 
fact that Microsoft has realized that they massive release and development cycles have to be replaced by simpler, 
effective, practical and secure services.

Talking about security, as news.com noted here (Gates memo: No mention of "trustworthy computing"), one area that there 
is barely any comment in these memos is security.

First let's analyze Ray's mention of Security in his memo:

"....In 2000, in the waning days of the dot com bubble, we yet again reflected on our strategy and refined our 
direction.  After taking a more deliberative look at the internet and its implications for software, we came to the 
conclusion that the internet would go beyond browsing and should support programmability on a global scale.  We 
observed that certain aspects of our most fundamental platform - the tools and services that developers use when 
building their software - would not likely satisfy the emerging security and interoperability requirements of the 
internet.  So we embarked upon .NET, a transformative new generation of the platform and tools built around managed 
code, the XML format and web services programming model..."

Humm, I wonder if anybody has told Ray that 99% of .Net applications currently deployed have been created for Full 
Trust environments (which is insecure by default, insecure by design and insecure in deployment). I guess that he also 
doesn't know that most code that Microsoft produces today is still unmanaged and that the security advantages of the 
.Net framework can only exist in a Partial Trusted world (see my post What are the 'Real World' security advantages of 
the .Net Framework and the JVM? and Gunnar Peterson's excellent follow-up .Net and Java "faith-based" security)

"... Complexity kills.  It sucks the life out of developers, it makes products difficult to plan, build and test, it 
introduces security challenges, and it causes end-user and administrator frustration.  Moving forward, within all parts 
of the organization, each of us should ask "What's different?", and explore and embrace techniques to reduce 
complexity...."

Here, I completely agree, but I wonder then why is not Microsoft giving us SIMPLER and LESS COMPLEX products? I want a 
simpler Windows 2000, 2003 and XP (one without the stuff that I don't need), I want a simpler .Net Framework (one 
without the stuff that is not needed to execute the relevant application), I want a simper IE (one with less privileges 
and able to handle malicious code).

The main case today for security issues is complexity, and only by fully understanding an issue and all its connections 
and interdependencies, can one secure it. This is what worries me about Vista, I see a lot of new 'Security Feature's 
where I would prefer to see more 'Secure Features' for Windows 2000, 2003 and XP (remember that XP SP2 was only 
successfully from a security point of view, because it didn't introduce any major new functionality (I have made some 
more comments about Vista here Security in Longhorn: Focus on Least Privilege))

And now lets look in Bill Gates memo for references about security:

....

none, zero.

Not one mention of Security.

Does this means that for Microsoft the Security problems are all under control and their job is done?

The problem is that Microsoft might have solved quite successfully one category of security vulnerabilities (namely the 
high number of buffer overflows) but is not paying enough attention for the next wave of attacks and security 
vulnerabilities.

As the Sony Root kit issue has shown (which I blogged about here:  Sony's DRM rootkit, Follow up on Sony, Sony stops 
rookit production, ActiveX contains vulnerabilities and 'doing a sony' and Sony ActiveX massive vulnerabilites, CDs 
recall and 'Where were the AntiVirus?'), the next wave of attacks will be caused by malicious code executed inside the 
computer.

Let me say this very clearly: Our computer systems MUST be able to SECURELY EXECUTE MALICIOUS CODE!

This is why I have been talking for two year now about the Security Vulnerabilities in Full Trust Asp.Net (see An 
'Asp.Net' accident waiting to happen, Microsoft must deliver 'secure environments' not tools to write 'secure code', My 
experience with the MSRC (Microsoft Security Response Center), Some comments to Misleading and False Information in: 
'What ASP.NET Programmers Should Know About Application Domains' , Microsoft's David Treadwell 'almost' admits the 
problem , Some comments about 'The Six Dumbest Ideas in Computer Security', and my Owasp Presentations:  OWASP AppSec 
2005 UK Presentation  and AppSec2004-Dinis_Cruz-Full_Trust_Asp.Net_Security_Issues.ppt).

The only solution for the next wave of malicious code is to be able to execute them in secure run-time environments 
(i.e. Sandboxes) which will take a huge amount of work, re-engineering and commitment (the new tools in VS 2005 will 
help). 

But this will not happen until Microsoft acknowledges the problem and says loud and clear in 
(http://www.microsoft.com/security): Full Trust .Net is a massive security issue and everybody needs to create 
applications (web and windows based) that execute in partially trusted environments (here is where Microsoft is today 
on this issue: Current Microsoft info about CAS and Full Trust ).

And lets not forget that the CLR has not been audited by an independent team of security consultants (i.e one without 
an NDA signed with Microsoft that limited what they could publish). During my Rooting the CLR research I did a quick 
research of past JVM vulnerabilities and how they relate to the CLR, and, was able to quickly find a Possible Type 
Confusion issue in .Net 1.1 (only works in Full Trust). Given the fact that SQL Server 2005 is now 100% dependent on 
the integrity of the CLR and BCL, isn't it about time that an independent security audit is performed?

Microsoft should learn from the current Sony DRM mess and prepare itself for the next wave of exploits (just talking 
about the good guys, given the current windows security model, without using a partially trusted environment what 
choices do DRM makers have but to patch the kernel (for example: how can you protect a PDF file from being printed or 
copied if you don't  enforce it at either kernel level or System Process?)) 

And if Microsoft is not able to make this move, I hope that the Java camp does it.

I also have very high hopes in the Mono project since this (securely executing malicous/untrusted code) could be Mono's 
killer-application (i.e. the one that makes everybody use it). Here are some links to Mono and Mono's CAS:
   http://www.mono-project.com (main mono website site)CAS - where we standCode Access Security in MonoMono CAS 
WikiMono Security Manager Part I - Using CAS permissions  

Hope somebody is listening
  Dinis Cruz
 Owasp .Net Project
 www.owasp.net


_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/

Current thread: