[Am-info] MS Security flaw

Eric M. Hopper hopper@omnifarious.org
08 Aug 2002 10:29:21 -0500


On Thu, 2002-08-08 at 08:56, John J. Urbaniak wrote:
> Well, his description of WM_TIMER, where if you pass a second parameter
> which translates into a memory address and the system jumps to that address
> and executes code, is most interesting to me.

I actually consider this a horrible example of coding.  It completely
breaks the abstraction layer between the application and the OS.  It's
totally wrong.

Sadly, it's very typical of how things are done in a Microsoft
environment.  After learning this about the API in Windows 3.1, I was
sure that they're OSes would always be horribly buggy and crash prone. 
By extension, that means they're also full of security holes.

> I suspect this kind of coding lies at the heart of Microsoft's ability to
> arbitrarily break non-MS apps, and to make MS apps perform better.
> 
> I suspect Microsoft makes extensive use of this capability in its own
> apps.  I suspect they have secret files of code which perform better than
> the APIs they document for other developers.  They obtain the addresses of
> this code and pass the address using variables like this second parameter.
> 
> One of the greatest features of Java, IMO, was the elimination of
> pointers.  But Microsoft includes pointers in C#.  I had wondered why they
> were so insistent on including pointers.
> 
> I suspect this is the reason.

Perhaps it is.  I actually am quite fond of pointers myself.  But, they
don't really belong in C# or Java.

Have fun (if at all possible),
-- 
The best we can hope for concerning the people at large is that they
be properly armed.  -- Alexander Hamilton
-- Eric Hopper (hopper@omnifarious.org 
http://www.omnifarious.org/~hopper) --