I am learning the prime+probe algorithm in side channel attacks. But I am puzzled. Its steps are:
prime: fill each cache set with its own data delay: trigger the victim to access probe: Detect whether the data in each cache set is still there. If not, it means that the victim's data is in this cache set. If it is, it means that the data accessed by the victim is not in this cache set. Thus knowing the location of the victim's data.
I'm curious, during the execution of the program, there are many variables, such as i, j, and k for loops. Wouldn't these variables be written to the cache? Evict his data?
How to avoid these problems when using prime probe in spectre?