Speculative execution is a technique used by modern processors with out of order architecture to speed up performances, where the processor may execute some tasks ahead of time before it is known whether these tasks are actually needed. When the tasks are really required the speed up is achieved since the work is already completed, and the delay that would have been incurred by doing the task after it is known that it is needed, is prevented. However, in cases the tasks are not needed after all, most changes made by the work that was done is reverted and the results are ignored. The traditional ways to immune the system against such attacks are very costly and are of static nature, so cannot be changed if new type of attack is found.
The technology suggested, is based on a system and a method for protecting a speculative execution processor from side channel attacks without compromising performances.
- The unique microarchitecture can help both performance and security
- Easy to implement
- Affect only selective execution paths
- Can be controlled by microcode and so dynamically be modified
Applications and Opportunities
- Applicable of any current and future processor