Almost all modern platforms, except a few embedded ones, utilize the same security principle --the division of execution environments by security levels and privileges; in this case, this means the ability to access certain resources. On Intel-based platforms, there are four security levels known as protection rings. These rings are numbered 0 through 3, where the greater the number, the less privileged the ring. Obviously, the code running at a less privileged level cannot access memory with a higher privilege level directly. We will shortly see how data is transferred between different privilege levels.
The following figure illustrates the concept of protection rings:
Here's a description of the different privileges of protection rings:
- Ring 0 is the most privileged level where all instructions are available and all hardware is accessible. This is the grey area...