Chapter 7

SECURE MEMORY MANAGEMENT AND TRUSTED EXECUTION TECHNOLOGY

In this chapter we discuss two separate but somewhat related topics—secure memory management and Intel's trusted execution technology (formerly called LaGrande).

THE NEED FOR SECURE MEMORY MANAGEMENT

Secure memory management became an item of increased attention when buffer overflows were used to gain access to secure information or otherwise compromise the security of a system or application. Moreover, it became apparent that poor memory-management techniques by developers were leaving encryption keys and passwords in volatile memory after use, creating additional paths for attacks.

Two technology factors have also contributed to the increased need for secure memory management. First, the increase of multitasking has increased the importance of proper isolation of memory between applications. Second, the use of the Internet to propagate viruses and Trojan-horse programs provided an easy attack path that could be exploited at arbitrary distances and at any time of day or night.

In this chapter, we examine the nature of memory-management attack paths and methods to close them.

BUFFER OVERFLOWS

Applications reside in memory during operation. Poorly written software can inadvertently include code that attempts to store data beyond the boundaries assigned to the buffer. The result is that the program will overwrite data in adjacent memory locations, causing incorrect results or a crash. Such undesirable behavior can ...

Get Hardware-based Computer Security Techniques to Defeat Hackers: From Biometrics to Quantum Cryptography now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.