Microsoft developers develope the patches using managed code in one of many 
languages including 
 C# based on the CLR (Common Language Runtime) model in the .NET Platform
in Visual Studio.NET. The languages all share a common unified set of class 
libraries that can be encoded
into IL (Intermediate Language). A runtime-aware compiler compiles the IL into 
native executable code within a managed execution environment that ensures type 
safety, array bound and index checking, exception handling, and garbage 
collection.   

Using managed code tends to be secure becuase managed code can't be reversed 
engineered so easily unlike that
of p-code becuase the managed code is obuscated (encrypted). Programmers can 
avoid the many mistakes that they make in using unmanged code like incorrect 
type casting, out of bound errors and not deleting unused objects correctly 
from memory by not using Object.delete() method template (garbage cleanup).

This managed code use in Microsoft .Net Framework allows developers using 
Managed code to spend much less
time in worrying about non-logical issues and focus on the managed code 
security methods and best practices using fewer lines of code with .NET 
Framework than they ever could using the method that mainframe and assembly 
programmers used over 30 years ago.

 

Marc Sims
Data Technician I
Prince George's Community College


>>> [EMAIL PROTECTED] Friday, January 06, 2006 >>>
Sorry to have to disagree somewhat

Microsoft need to code and assemble their executable modules in a properly
secure manner

Most of the current software is written as sub-modules which are then
assembled into an executable set for distribution,
but that distributable file then contains intermixed blocks of code data and
workingspace buffers
Then when loaded into memory, a similar process happens

What is needed is for the technique used 30 years ago in mainframes to be
adopted.
modules created in at least 4 distinct sections, and those sections handled
differently by the OS program loader, and the CPU

Part 1 - code, and constants loaded into memory, and cannot be changed
Part 2 - working control data loaded into memory and can only be changed by
the code
Part 3 - inter-program communication areas for passing on data and API
requests  - code will not be executed from this area
Part 4 - buffer and storage areas - allocated by the OS - code will not be
executed from this area

Each sub-module's parts will be assembled into 4 separate parts in any
distributable dll, com, exe etc
The 4 (or more) sections are managed separately by the hardware
and only the stuff in the Part 1 can be processed as instructions
And only the OS loader can put stuff into a memory area designated as a Part
1 zone

NO BUFFER Exploits possible

JimB

--
                ----------------------------------------
To unsubscribe, mailto: [EMAIL PROTECTED]
Is your picture included in the Official Win-Home List Members Profiles Page?
 http://www.besteffort.com/winhome/Profiles.html
If not, write to: [EMAIL PROTECTED]

Reply via email to