.NETly News
Lots of .NET stories in the news today and yesterday; it's a total coincidence that Microsoft started a huge marketing push on Wednesday, including the occasional Doubleclick ad running on Slashdot. BrendanL79 writes: "Peter Wright at Salon.com contributes to public awareness of Microsoft's .NET with this exuberant piece. The praise borders on sycophancy ("Gutenberg ... Babbage ... now Gates") with no apparent tongue in his cheek. Comments?" Reader vw writes: "Active State has just released Visual Perl 1.2, Visual Python 1.2, and Visual XSLT 1.2 as plugins for Microsoft's Visual Studio .NET. Wonder how long it will take for a Mono hack." Numerous readers pointed to several stories about a buffer overflow problem in Visual Studio .NET which was supposed to be immune to buffer overflows - but it had passed Microsoft's stringent new security audit.
.NET is many things and many people are confused by what .NET exactly refers too. In the context of this story .NET is refering to the compilers, and libraries that make up Visual Studio.NET.
VB.NET, & C# are both geared toward using the CLR and .NET Framework. Visual C++.NET can use the CLR and .NET Framework but, unlike VB, you can work with Visual C++ like you could in previous versions and ignore the CLR and .NET Framework.
So what is the security error reported? This is the detail as reported by Cigital.
The protection afforded by the new feature allows developers to continue to use vulnerable string functions such as strcpy() as usual and still be "protected" against some forms of stack smashing. The new feature is closely based on an invention of Crispin Cowan's called StackGuard and is meant to be used when creating standard native code (not the new .NET intermediate language, referred to as "managed code").
This is a problem with Microsoft's Version 7 C++ compiler not with the CLR and .NET Framework.
No, you're thinking of Slate.
The compiler itself is not written in .Net. It's a C++ app. How about getting some facts before extrapolating that all new Microsoft apps are written using the .Net framework?
It's not actually a _compiler_ overflow.
Instead, it's a subversion of the "buffer overflow protection" that's built-in to the compiler. The most startling piece of this technical review is that the Microsoft "Overflow Protection" in the compiler appears to be a port of StackGuard. The reviewers point out that an examination of the binary output reveals that the compiled code is nearly identical to the StackGuard output.
Just to clarify:
.NET component so that it can be used in any .NET application.
Visual Perl and Visual Python are development environments for Perl and Python for people that are using Visual Studio.
PerlNET takes any Perl code and wraps it up as a
If there is enough interest in a PythonNET, we will build that.
-- Dick
From the summary (yes, it was written by Michael, not the submitters): Numerous readers pointed to several stories about a buffer overflow problem in Visual Studio .NET which was supposed to be immune to buffer overflows - but it had passed Microsoft's stringent new security audit.
Where to begin with this mess of falsehoods?
On a side note, since this only affects unmanaged code, it's not really related to the .NET/CLR stuff.
The parts could be made accurately enough at the time - there are issues with the accuracy, in that all the components needed hand tweaking to get them to work properly together (And would even with today's manufacturing tolerances - because the errors cascade) which means the machine's parts aren't interchangeable (which was one of Babbage's goals) and that the thing needs debugging - you need to run some stuff though it knowing the right answer and tweak it until the answer it gives matches.
/frightening/ amount. ISTR it was of the order of 15,000 pounds, at a time when building a steam locomotive and delivering it to the US was all of 700. [Mentioned in the science museum display].
The reasons Babbage never developed a prototype are different from different sources. He spent a LOT of the money he was given for the analytical engine designing the (more general purpose) difference engine.
Eventually the government got fed up of giving him money - he'd burned through a
In addition he fell out with his leading craftsman who he accused of padding the contract, and spent quite a lot building workshops and so on at his house in order to develop things on-site.
The analytical engine was definitely acheivable at the time. The difference engine more doubtably so. But while the technology was willing, the project management was missing. Something the IT industry still hasn't learned...
http://msdn.microsoft.com/library/default.asp?url= /library/en-us/cpguide/html/cpovrintroductiontonet frameworksdk.asp
The Simplest Way to Define .NET by Sanjay Parthasarathy, Vice President, Platform Strategy, Microsoft Corp.
Perl.NET is a wrapper generator. You decorate your Perl code a bit, and their tool generates a C# wrapper that can invoke the code, which is compiled into an assembly.
.NET, but it's not compiled into IL.
This lets you use Perl code from