Computer Systems
  Home arrow Computer Systems arrow Page 2 - NX and You
Dev Hardware Forums 
Computer Cases  
Computer Processors  
Computer Systems  
Digital Cameras  
Flat Panels  
Gaming  
Hardware Guides  
Hardware News  
Input Devices  
Memory  
Mobile Devices  
Motherboards  
Networking Hardware  
Opinions  
PC Cooling  
PC Speakers  
Peripherals  
Power Supply Units  
Software  
Sound Cards  
Storage Devices  
Tech Interviews  
User Experiences  
Video Cards  
Mobile Linux 
APP Generation ROI 
IBM® developerWorks 
Weekly Newsletter
 
Developer Updates  
Free Website Content 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us Get Paid 
Request Media Kit
Contact Us 
Site Map 
Privacy Policy 
Support 
 USERNAME
 
 PASSWORD
 
 
  >>> SIGN UP!  
  Lost Password? 
COMPUTER SYSTEMS

NX and You
By: Quantum Skyline
  • Search For More Articles!
  • Disclaimer
  • Author Terms
  • Rating: 2 stars2 stars2 stars2 stars2 stars / 5
    2004-11-29

    Table of Contents:
  • NX and You
  • How NX works
  • If you have it all, what do you get?
  • What to do if you have problems

  • Rate this Article: Poor Best 
      ADD THIS ARTICLE TO:
      Del.ici.ous Digg
      Blink Simpy
      Google Spurl
      Y! MyWeb Furl
    Email Me Similar Content When Posted
    Add Developer Shed Article Feed To Your Site
    Email Article To Friend
    Print Version Of Article
    PDF Version Of Article
     
     
    ADVERTISEMENT


    NX and You - How NX works


    (Page 2 of 4 )

    With all this discussion on NX, we should go into the details of how it works. If, as Intel and Microsoft would want it, you were basing purchasing decisions on this, you ought to know exactly what you're buying into, and why Microsoft thinks it is such a great thing.

    Some of the most recent viruses that have been extremely destructive to corporations, such as Blaster and Slammer, operate because of something called a buffer overflow. Simply put, buffer overflows happen when a program tries to allocate memory and then uses more than it was supposed to. For example, a program could have a small subroutine that pops up a dialog box with a space to type in a username and set aside 8 bytes for it, but not force the user to only type in 8 characters. In order for the processor to run the subroutine, it needs to bookmark where it was so that it can pick up where it left off. That bookmark is saved before the 8 bytes are allocated. 

    If the user typed in 9 characters, the ninth byte is written into memory, possibly overwriting other data. When a buffer overflow exploit is done, the data that is overwritten is the bookmark. The address that is pointed to by the bookmark can be anywhere in memory - in the program's executable code or data. Worm writers use this to change the address to point to its own code, forcing the operating system to think its executing the program when its actually executing the worm. 

    Operating systems know what areas of memory have code and what areas have data for a particular program. These areas are called pages. When the overwritten bookmark points to a data page, most operating systems continue to execute the code that they were pointed to. If an operating system knows that a page is supposed to contain data and has an NX supporting processor, the operating system marks the page to say that the page has no executable code. That way, if the operating system tells the processor to execute code from a data page, the processor can check for the mark placed by the operating system and tell the operating system that something is wrong and refuse. In Windows, these messages usually result in the monitor having a blue background, white text and a general feeling of death.

    In essence, worms can be stopped at the hardware level because the worm's code won't be executed.  Keep in mind that, theoretically, if a worm injects its code into a page marked for executable data (possible, but not terribly likely), the operating system and the processor won't know better and happily allow the spread of the worm. If the processor doesn't support NX, Microsoft's DEP almost does nothing for you - there is a very limited software NX 'implementation' in XP SP2 - which is why I said that for most people, it has no benefit.

    The limited software NX implementation in Windows XP SP2's s does provide some protection.  Microsoft says that SP2 allows Microsoft to improve the security of core libraries and executables, and this is enabled by default on all computers capable of installing SP2. This, along with the fact that Microsoft used a new stack-checking compiler on the core as well, and the probability of Windows core getting corrupted drops significantly.

    More Computer Systems Articles
    More By Quantum Skyline


     

    COMPUTER SYSTEMS ARTICLES

    - HP TouchSmart 300-1200 and HP Pavilion p6210y
    - Asus G60VX-RBBX05 and HP Pavilion dv7-3085dx
    - Acer Aspire One 532h-2326 and Toshiba Satell...
    - HP Pavilion Elite E9220y and Dell Inspiron i...
    - Gateway DX 4300-11 and Maingear Shift
    - Gateway DX4822-01 and Gateway One ZX4800-02
    - HP Pavilion dv6-1375dx and Sony Vaio VGN-NW2...
    - HP Pavilion dv4-2045dx and Toshiba Satellite...
    - Dell Inspiron i545s-1476N and Sony Vaio L117...
    - Asus UL50AG-RBBBK05 Laptop
    - Alienware M15x Laptop
    - Sony Vaio VGN-NW240F and HP Envy 15-1050nr L...
    - The Asus K60IJ-RBLX05 and the Dell Inspiron ...
    - The HP Pavilion Slimline 5220y and the Dell ...
    - Toshiba Satellite E105-S1802 and Asus K60IJ-...






    © 2003-2010 by Developer Shed. All rights reserved. DS Cluster 8 Hosted by Hostway
    For more Enterprise Application Development news, visit eWeek