From the course: CISSP Cert Prep (2021): 3 Security Architecture and Engineering

Memory protection

From the course: CISSP Cert Prep (2021): 3 Security Architecture and Engineering

Start my 1-month free trial

Memory protection

- [Instructor] Memory is an important shared resource on a computer system. 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 and gain access to sensitive information or make unauthorized changes to the code supporting an application. As you prepare for the exam you should be familiar with the different types of memory. Now, there are two major categories 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 the provides primitive instructions to a computer system or the firmware that controls embedded devices. Now there are several different types of ROM including technology that does allow 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 these 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 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 and one other memory issue that 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's no longer needed. These requests may add 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 that error in the first place.

Contents