Memory is an important shared resource on a computer system. Computer systems run many different applications at the same time, and each of these applications needs access to memory to store its own code and working data. Strong security controls must be in place to protect the contents of memory so that unauthorized applications can’t access portions of memory assigned to other applications.
- [Narrator] Memory is an important shared resource on a computer system. Computer systems run many different applications at the same time, and each of these applications needs access to memory to store its own code and its working data. Strong security controls must be in place to protect the contents of memory so that unauthorized applications can't access portions of memory assigned to other applications and gain access to sensitive information or make unauthorized changes to the code supporting an application.
As you prepare for the CISSP exam you should be familiar with the different types of memory. There are two majority categories of memory, read-only memory, or ROM, and random access memory, or RAM. ROM has contents that are written permanently or semi-permanently to the physical memory chip. This might include the low-level BIOS that provides primitive instructions to a computer system or the firmware that controls embedded devices. There are several different types of ROM, including technology that allows ROM to be erased and overwritten to perform upgrades.
RAM is the shared memory used by all of the applications on a computer system. Those applications can read or write the memory that is assigned to them, and the contents of RAM are typically lost when the computer is turned off. RAM is shared among many different applications and it's the operating system's responsibility to enforce access restrictions. The operating system must perform an important function called memory management. Essentially, memory management means that the operating system must keep track of which processes own which portions of memory.
The operating system tracks and manages assignments, fulfilling requests from applications for more memory, and releasing memory that is no longer needed by an application, freeing it up for other uses. In addition to managing memory assignments, the operating system is also responsible for memory protection. This means that it must enforce access rules, making sure that processes don't access portions of memory that don't belong to them. Unauthorized requests may be innocent in nature, resulting from bugs in applications, or they may be more malicious attempts to undermine memory security.
When a memory access violation occurs, the application receives an error known as a segmentation fault. This error type simply means that a request violated the access control rules trying to access a memory segment that was not assigned to that application. One other memory issue you should be aware of is an error condition known as a memory leak. Memory leaks occur when applications request memory from the operating system and don't fully release that memory when it is no longer needed.
These requests may pile up over time, slowly or quickly taking over all of the available memory on a system, denying other applications access to needed memory and grinding system functions to a halt. A reboot may correct a memory leak temporarily but the real fix requires modifying the application code to avoid the memory leak in the first place.
Find the companion study books at the Sybex test prep site and review the complete CISSP Body of Knowledge at https://www.isc2.org/cissp-domains/default.aspx. You can also join Mike's free study group at certmike.com.
- Understanding security design principles and models
- Cloud computing and virtualization
- Hardware security
- Client and server vulnerabilities
- Web security vulnerabilities
- Securing mobile devices and smart devices
- Understanding encryption
- Symmetric and asymmetric cryptography
- Key management and public key infrastructure
- Physical security