Introduction to Hardware Vulnerability
The demand for computational speed is increasing day by day. So the processor manufacturing companies had to make revolutionary modifications to the traditional processors. They developed a Speculative execution. It modifies the processor in such a way that it does not need to wait for the results of previous instructions to executive the further instructions depending on it. The processor guesses the result and uses it for further execution. When the actual result is published, it verifies the values; if the values match, it proceeds, and if the values does not match, it discards the previous results and executes the procedure according to new values. This enabled manufacturers to break the speed barrier for traditional processors and increase the processor's speed about ten times. The main memory (RAM) is divided into two components the protected memory and the User memory. The protected memory is for confidential data that can only be accessed by the operating system. The confidential data contains passwords of the Wi-Fi network, the cryptographic key, and many more. The main memory is slow. This limits the processor speed of execution. This is eradicated by providing a separate memory Cache on the CPU itself. Whenever the CPU requires any data, it copies the data from the main memory to its cache and reads from there. On current processors, the split among the kernel and user processes is often achieved via a processor supervisor bit that controls access to a kernel memory page. The fundamental concept is that while entering kernel code, this bit can only be set, and when moving to user processes, it is cleared. Because of this hardware capability, operating systems can efficiently switch from the user process to the kernel by mapping the kernel into each process' address space. On June 1st, 2017, the Google research team for Project zero discovered two major security vulnerabilities in modern processors. The implementation of the Speculative execution was to blame for these flaws. The vulnerabilities were named Meltdown and Spectre. Side-channel attacks typically require precise are designed to solely leak information about the target application's secrets and have knowledge of the target application. A threat activist can use Meltdown to implement code on a susceptible processor to get a unload of the kernel address space, which includes any plotted physical memory.